Page 1 of 1

GSC DV Helper

Posted: Fri Nov 27, 2015 10:44 pm
by entrpntr
(***EDIT: See this post to download the most recent update.)

Coded this up last weekend to see if it was something I would want to use in Gold runs. It's derived from Yellow Helper since I wasn't looking to support strat charts or anything like that (just DVs and maybe other basic information).

Just posting screenshots right now until I hear back from DailyLeaf (if anyone knows of another way to contact him, please ask him to check his Twitch inbox ;) ). I'm not gonna put the binaries or source out there until I hear from him, but there's still plenty of code clean-up and room for other ideas to implement in the meantime, so I'm putting this out there now in case others have suggestions.

GSC is a little bit different from RBY because (1) you see your stats at every level, (2) there aren't any impossible DV combinations with the starter, (3) there is more variance in stat exp and regular exp due to spinners and killing wild encounters. So I changed around a few things to automatically track your experience and recalculate stats at level-ups (not sure if this is done in Red Helper, but it wasn't in Yellow Helper). Also had to deal with the Spc Atk/Def split that came in Gen 2 of course.

That said, this is what it looks like right now for Gold:

And here is what it looks like in a quick test run that died at Falkner:

I don't have undo buttons because there wasn't a simple way to work them in, but you should get all the feedback you need to figure out whether you screwed anything up.

In any event, it seems to be completely functional and has all the core functionality that I want for tracking things; if Gen 2 runners have any good ideas on how general usage could be improved, feel free to make a suggestion. Also note that I'm only supporting strats I use in Gold right now, and haven't thought of a good way to support Crystal strats or alternate Gold strats (e.g. I believe Underscore fights Mareeps/Hoppips sometimes) without duplicating the codebase, so I wouldn't mind hearing any ideas on that matter.

Main thing I'm looking for though is feedback on the way things are displayed, or other information runners would like to display in the UI (either for themselves or for their stream). For example, I was thinking of showing information such as extra experience (and/or experience to next level), total encounters, and spinners hit (something like what Underscore does). Please don't be shy in offering opinions about these things!

Thanks in advance for your thoughtful input.

Re: GSC DV Helper

Posted: Tue Feb 09, 2016 6:25 am
by k3v227
I've read this post a few times over the past few month or so and here's a little bit on what I think about this:

One very good attribute of the red helper is having pages (1 for DVs and 1 for strats). In the red route there isn't very much variation in stat exp so the display for that takes up a small fraction of the first page. With gen 2 speedruns there are different strats for killing certain encounters and, best of all, spinners <3. As displayed above, calculating stat exp takes up a large portion of the display and I think it would look more organized if there was a separate page for stat exp and spinners. Additionally this wouldn't take up all of the screen for people who have an emulator, stream chat, DV helper, and notes up while doing runs :P

To build on the previous remark, I think some more pages could be useful for a gen 2 DV helper. A page for strats/planning would be nice (calcium/carbos strats, which optional trainers to fight, x item shopping + when to use which x item + how many to use, a money calculator, etc.). Although this would be quite the task to implement it would be very effective at helping people learn the game better.

That's all I have for now, hopefully it's helpful :)

Re: GSC DV Helper

Posted: Thu Feb 11, 2016 2:09 am
by entrpntr
Thanks for the feedback, kev; glad there is some interest in the Helper program. Before responding, I do have some updates on the program's status.

I was able to get in touch with Dailyleaf, and he doesn't have issue with sharing and open-sourcing the program. I started updating the program in mid-January; at this point the only two users I am aware of are myself and HorouIchigo. Horou provided me a lot of initial feedback on reducing the size of the display, and the primary changes made since the OP have been removing things from the display that didn't add much value. With the most recent update, things have shrunk to roughly the size of RedHelper; here's a screenshot:


You usually know all your stats by L13, so I removed the fights that always occur when Toto is already L13+. The only edge case I am aware of is that with 730+ stat exp in speed at L13, you might still not be able to distinguish between 0/2 speed DV (for reference, Ralph + a wild Pidgey puts you at 728 in Gold). In this case, you can't know for sure until L18 (22 speed is 0 DV, 23 speed is 2 DV). I don't know if the same will apply for Crystal; I'm still looking for input on what would be needed for a Crystal version of this.

I put the link to current Gold DV Helper on discord a week or 2 ago; feel free to dig it up, or ask me privately if you really want to play with current version. If there are still issues with the size of the window, let me know.

RE: Feedback

Simply put, I do not have any plans to make this a prescriptive program. From what I've seen, pretty much every runner has unique strats/preferences for several different situations, so there really is no unified strat advice. Many runners have detailed notes that they've shared publicly, so those will be a better source for strats until there is a unified wisdom for these games. I think other tools might be better suited for helping with learning the finer details of Gold & Crystal (more on that at the bottom of the post).

Because of this, right now I'm just looking for the Helper Program to be a tool that tracks useful information to help decision-making during runs, but allows runners to use this information however they please. My goal is for the program to supplement notes by helping with the boring memorizations and tedious arithmetic/number tracking that otherwise arises during attempts. Originally I only set out to build a DV calculator, since tracking stat exp mentally and memorizing all the situations that change stats for specific DVs at specific levels were profoundly uninteresting exercises. Now that the DV part is pretty much complete, I am certainly looking to add functionality that would remove other needs for consulting lookup tables and/or fumbling with mental arithmetic.

For instance, from your suggestions, I'd be open to tracking things like extra money & extra experience, or providing information such as how far away from certain experience thresholds you currently are. Another idea is tooltips to show how much experience certain pokes provide and what the $$$ and total experience yield is for some trainers. I could also include number-crunching things like particularly important damage calculations (including impact of Calciums?) if you can convince me the information isn't better-suited for notes. Prescriptive stuff like shopping, X Item usage, and what to fight for experience won't be things I'll support, but I am definitely open to tracking/displaying any information that is needed to help with these decisions.

In sum, I think a second page that deals with non-DV information could prove useful. I can put more thought into it, and am open to more input on what information would be most useful to help with decision making during runs. I'm also open to ideas on how best to set up the user interface on the second page, though I may have to look at RedHelper for hints. Once I'm done identifying and implementing desired functionality, I'll open source it in case others want to add additional pages, such as those that support strat charts and the like.

Other Routing Tools

On a related note, I recognize that others may find routing these games unappealing or overwhelming due to technical knowledge that isn't very easily accessible. Despite efforts to the contrary, a good chunk of the knowledge base for these games still isn't readily available to more than a few Gen 2 runners.

I have been using a couple tools that do a lot of the heavy-lifting and number-crunching (damage calcs, experience tracking, happiness tracking, impact of DVs, etc.) to make the routing process more efficient and precise. As of now, the tools aren't well publicized and have invariably been in a tinkering state that probably isn't helpful to most people. I will be shoring things up the next couple of weeks to make them easier to use and better documented. Once these are in a good state, I'll post something to the forums (possibly merging everything into this thread).

Re: GSC DV Helper

Posted: Mon Feb 22, 2016 3:24 am
by entrpntr
One more preliminary update before I release version 1.0 and open source this. Main change since the last update is that there is now Crystal support.

Download link: ...

From some basic testing, this seemed to work without any issues. There was a lot of code cleanup behind the scenes, so there is a chance I introduced some bugs; if you use this and notice anything wrong, please let me know. As always, I'm looking for general feedback as well.

Latest Screenshot: (showing new Crystal support)


Re: GSC DV Helper

Posted: Sat Jun 25, 2016 2:16 am
by entrpntr
Overdue follow-up; I actually open-sourced this and uploaded the code to github back in April. I wanted to clean things up before updating this thread, but got immersed in another project for a while.

Anyway, I am formally releasing v1.0 (EDIT: <DEAD LINK>). The code can be found over at github at this link.

Functionality-wise, not much has changed, so there's no real need to update if you grabbed the previous version. The only feature added was for manually selecting DVs, which is not something most people will want to use. Most of the changes were behind the scenes; namely, a lot of refactoring and cleanup so that programmers who want to play around with it will have a much easier time.

I put several hooks in for features in future releases that I haven't implemented yet (things like Chikorita/Cyndaquil/other starters, damage calculation tools, and other routing functionality borrowed from RouteTwo). That said, I don't currently have any planned schedule for returning to active development of the program; if there are specific requests for functionality, I'll be happy to address those as quickly as possible.

Re: GSC DV Helper

Posted: Sun May 28, 2017 8:44 pm
by entrpntr
My dropbox links were killed, so future releases will be done through github (link). The first release I put up is a beta version of 1.2 (download link).

In the interim releases since my last post, support for multiple "pages" of trainers and wild pokes was added, as well as an evolution function for the starter pokemon. Additionally, configurations are done through JSON now, and are set up in a way that allows users to define their own routes for personal use (done by modifying the settings.json file for now). Users can define whatever trainers and wild pokes they wish to include in their route, as well as whatever main pokemon they will be using. I also added a very basic Entei configuration for the new Crystal route.