Pokémon Trading Card Game
(The horrendous tutorial is now slightly more than a third of the run; please skip it still. Go to 7:26 in the video)
What's happening, forum? It's only been a month since I finished my previous Pokemon TCG TAS, but... on the surface, it's 10 seconds slower than the old TAS. Now, that's just because of emulator inaccuracy, and doesn't matter whatsoever, but... It really bugged me, and the only way to improve my time was to start over. So I did!
The main reason for the improvement is that, with help from Aroymart and Mountebank regarding accuracy, I created a Lua script that simulates RNG/deck shuffling in order to easily quickly test every possible frame for what you need the opponent to have. This was especially a godsend for leader duels, and for testing different paths of duel order.
With this script in hand, and the experience I gained from the last TAS, I was able to cut out 3 deck edits, and fixed the routing mistakes and subpar Amy/Rick/Mitch luck, to end up saving 19 seconds.
You run the script once the decks are loaded, but before they're shuffled (so during the shuffle animation). It gives a lot of results you probably won't want to use, because it includes frames that could work if you reshuffle your hand (which is generally a pain to edit around). There's probably some false positives with the player reshuffles as well; I'd rather have to sort through unworkable frames, than have it leave out good ones!
Game objectives
- Does aim for fastest time, even as a secondary goal
- Heavy luck manipulation
- Still get put in Vault because it's impossible to follow what's going on, but hey, at least I pause the game three less times now
- Emulator used: BizHawk 1.11.4 (syncs on BizHawk 2.0)
Comparison
19 seconds saved is pretty significant, considering a large percentage of this game is non-input!
All of the duels after the Lightning Club are different hands and have different wait times, so the input is completely new past there. Overall, I think my wait times for duels were lower, aside from Murray in the Psychic Club.
Segment | Previous TAS | New TAS | Main reason |
---|
Intro | 27591 | 27591 (+0) | Literally no change |
Lightning | 6109 | 6238 (+129) | Longer edit #1 |
Grass 1 | 5443 | 5440 (-3) | No change |
Water | 6829 | 6468 (-361) | -1 edit, better Amy |
Ronald 1 | 1333 | 1300 (-33) | Better coin flip |
Science | 3939 | 3748 (-191) | -1 edit, better Rick |
Fire | 4114 | 3860 (-254) | -1 edit |
Rock | 3930 | 3757 (-173) | -1 trip |
Ronald 2 | 1308 | 1339 (+31) | Worse coin flip |
Psychic | 2632 | 2683 (+51) | No change (slow frame) |
Fighting | 2760 | 2379 (-381) | -1 edit, better Mitch |
Grass 2 | 2452 | 2727 (+275) | +1 edit (swapped with Fighting) |
Dome | 9219 | 9075 (-144) | Faster frames/menuing |
Total: -1101 frames
Deck edits
When I started the last TAS, I was expecting to do edits every few duels, so the first 2 edits only being used for 2 duels each didn't seem so bad. I generally took the first good frame I found for a duel, because they took a long time to find. This time, with Lua script in hand, being more open about club order, avoiding the few routing mistakes, and being very experienced on how to TAS this game, I was ready to maximize the re-use of PlusPowers and other cards and I hoped to go from 6 edits to just 4, particularly improving the early game, and hopefully save 10 seconds (deck edits take roughly 5 seconds each).
Deck Edit #0 - Jennifer, Nicholas
With the Lua script, I was quickly able to check all permutations of these first three Lightning Club duels, trying to find an order where I could quickly beat all 3 without an edit, and hopefully get a second PlusPower before the first edit. There was none. So, all 4 Lightning Club duels use the same frames as before.
Deck Edit #1 - Brandon, Isaac, Heather, Kristin, Brittany, Michael
To go from 6 edits to 4, I knew I needed to maximize how many duels each edit is for. There's 28 duels total, so each edit needs to be used for 7 on average. With this edit, I was at 8 duels done. Most of them are easier duels (leaders are generally harder), but it was still good pace.
I only have 1 PlusPower in the deck at this point (since I couldn't find better booster packs in edit #0), which makes it much harder to stretch the edit out for a long time. Luckily, since the Grass Club duels can be done in any order, I had a lot of options, and was able to find this order that works, reusing the same PlusPower to beat Brandon's Eevee, Brittany's Tangela and Michael's Mankey, plus a couple uses of the one Double Colorless Energy.
Deck Edit #2 - Sara, Amanda, Joshua, Amy, Ronald 1, Joseph, Rick, Jessica, Ken, Chris, Gene, Ronald 2, Murray, Mitch
Well, never mind 4 edits! Being able to so quickly check so many frames made it possible to make this edit work for practically the entire game! 14 duels in one edit... wow!
In my quest for minimizing deck edits, I decide to use Farfetch'd against Amy. Amy would take all 4 PlusPowers to beat with a 20 damage Pokemon, while using Farfetch'd only takes 2. Locking up all 4 PPs to one duel seemed like a much worse idea than taking the coin flip.
After the Water Club, I found a nice 2 Porygon frame for Rick, saving 3 PP uses over the previous TAS which settled for 1 Porygon. The Joseph fight also uses the same two PlusPowers I used against Amy; at this point, I had done 7 duels and only used 3 PlusPower slots.
I carried on through the Fire, Rock, Psychic and Fighting Club, checking as many permutations as I could to find frames that would work without an edit. Oddly, I use Machop and 2 PlusPowers against Gene instead of a Paras and DCE like I normally would; it's just what was available. The Murray took a little over a second to find, but he's the hardest leader to find a viable frame for. I use a Professor Oak and Item Finder against Mitch, but it was a necessity to go for 3 edits, and it's my only usage of them.
Deck Edit #3 - Nikki, Dome
The Dome is hardest, because you have no more variance in duel order to get different RNG, and you have few options in each duel, especially against Jack (who needs his Articuno, and a Ditto). My deck is also much weaker than it was in the previous TAS, since I've only done 2 edits instead of 5; most of the first half of the deck is useless filler, while with more edits, you'd have gotten rid of most of the filler by now.
It took a few different attempts, using different Mitch/Nikki frames, to find one where I can do a short edit to complete it. I spent hours trying to make other Domes work, but just didn't have the Machops/Staryus/Energy able to fall into place where I needed them, without removing 40 cards or something.
In this one, I only remove 13 cards, and the last 11 I add are all Trainers, which is fantastic. You want to minimize switching between card types as much as possible. In particular, adding Staryus and Machops is very slow, as Water/Fighting types are very far away from Trainer/Energy.
Possible improvements
Honestly... none? I took care of all the improvements from last time (better club routing, better Amy/Rick/Mitch frames, no additional enemy actions (Energy Removals, Bills, etc), more booster manipulation, one less usage of Computer Search and Item Finder each), and three edits is definitely the minimum number of deck edits without losing time, with Lightning+Grass being the only beginning that can make it happen. Plus, since I tried different club orders with my script, I can say with a relative amount of certainty that this is the best possible order to do the game.
The most I can think of is going first against Ronald 2 (~30 frames lost), slow Murray wait time (~30-60 lost), still two Farfetch'd usages (~45 each, but he's so useful) and one Item Finder usage (~60 lost). All of that added up is less than 5 seconds, and was all part of getting down to 3 deck edits; none of it is mistakes.
Conclusion
VBA is dead!
May as well use the same funny thumbnail (45973 this time):
Note for encoder (probably Spikestuff): Please don't use the Gambatte palette; it uses very weird colors (esp. for reds/oranges) and generally looks incorrect compared to console. (Vivid or VBA Accurate is AOK)