(Link to video)

Introduction

The categories for Generation I of Pokémon games have shifted towards being all about the glitches, and efforts to limit which glitches are allowed to show more actual gameplay have been largely ineffective (see the current any% publication). Since I feel partly responsible for this shortcoming, I'll try with this submission to fix it.
That said, creating this run took way longer than I anticipated or care to admit. The routing alone took months before even starting the first frame of the run, and small improvements came up constantly requiring to re-do parts of it. This is submission is the fifth complete start-to-finish attempt I created, the previous four I re-did because of obvious routing improvements I noticed along the way.

About the run

Goal choice

The goal of this run is to collect all 150 obtainable Pokemon in both versions and obtain the diploma. No glitches are allowed.

Why glitchless?

The main purpose of this submission is to show more of the actual gameplay and variety, which remain unexplored in other categories just because using glitches is faster. The whole dual GB setup wouldn't make any sense when allowing glitches, you'd be faster just not trading at all, and end up with a solo Catch 'Em All run. And history has shown that trying to limit the amount of glitches does not work, the games are too broken and you'll always find ways around it.

Why Coop Diploma?

First of all, I think it's just a fun category, and something most people have not seen as a category. The concept has been explored before, but there was no polished route developed yet, largely because the possibilities for how to go about things are so vast. I considered doing any% glitchless at first, but the route for this is mostly fixed and everyone has probably seen it. A TAS wouldn't add much to it.
In Coop Diploma, you get to do things you wouldn't do in other categories, like fishing, trading, gambling, etc. It shows off most of the things the game has to offer at some point during the run.
Also, I always wanted to explore the dual GB capabilities of BizHawk. There aren't too many dual GB TASes around, and Pokémon Red/Blue is a game that can actually benefit from these capabilities. Having to sync the games up in the middle of the run poses an extra routing challenge.

Emulator Choice/Rant

This run uses BizHawk's dual GB capabilities, and runs on BizHawk 1.7 and later. Due to how dual GB is implemented in BizHawk, it was unavoidable to use the new frame timing introduced in BizHawk 1.7. This frame timing can cause issues that have been discussed before, but being forced to use it gave me some more insight in which problems actually occur. The main issue arises when the joypad input is split between frames. The Gameboy polls the joypad in two stages with 4 bit each, one for the directional keys and one for the buttons. If they end up on different sides of the arbitrary frame boundary, weird things happen. You need to press your directional keys on a different frame than the buttons, even though they are used at the exact same time. In the worst case, multiple joypad polls happen on the same frame, so there is no input frame for you to do the inputs you want, and you need to wait frames until it fixes itself or work around it by using a different set of inputs that doesn't run into this problem.
That's enough of a rant over technical details, I'm happy to have the choice of frame timing at least in the single GB case.

The route

Instead of forcing you to read through the comments here and then match them with the corresponding point in the run, I've created an annotated encoding of the run that contains general information and optimization details, at the top of this submission text.
Big shoutouts to BizHawk at this point for making it easy to create recordings from your input files. The video was created entirely with tools that BizHawk provides without any editing in post. The bars and overlays are done using a lua script, and the subtitles are actual subtitles in the movie (I excluded them in the submitted file). The encoding is done with custom ffmpeg parameters to scale the video (to allow 720p60 playback on YouTube) and to mix the audio streams (hearing one game in each stereo channel is not the most pleasurable experience).

Used tools and resources

This movie, like all my previous movies, was not created in BizHawk, but in a piece of code I wrote to automatically run Gameboy emulation and create BizHawk-compatible movies. This has the advantage that you have full fine control over every CPU cycle, you can inspect the running Gameboy emulation arbitrarily and create automation to complete common tasks or overcome random events. The main disadvantages are that you need complete in-depth knowledge about the game's internals, including ROM addresses for different operations and interesting events, and that it takes a lot of time, likely more than it'll take when doing manual inputs in BizHawk.
You can find the code I used for this movie (and all previous movies) on GitHub, but be warned that this is not a polished or easy-to-use piece of software. It expects you to create a program that creates the run, with no option to do inputs manually while it's running.

Tools that made creating this run a whole lot easier:

Pokanalysis - Easy and convenient tool to look at maps and encounter tables. Its coordinate system for maps seems like such a small thing, but saves so much time counting squares when defining routes.
pokered - Disassembly of Pokémon Red and Blue. Invaluable for finding out the actual game mechanics and important ROM addresses. The whole approach would be infeasible without a disassembly.
BGB - Gameboy emulator with an awesome debugger. Lets you test out stuff very easily, find interesting RAM addresses and follow the disasssembly through actually running the game.
BizHawk - Supports dual GB emulation even though there's no real demand, just because it's cool to have it. Without this the run wouldn't be possible.

fsvgm777: Site parser mistakenly recognised it as NES, I changed it to the proper GB.
Noxxa: Judging.
Noxxa: This is really a quite amazing run. It takes routing to unparalleled levels, considering the way both runs have to interact with each other and have to sync up with each other on occasion. It is not just trading between the games out of necessity to fill the Pokédex in both games, but it is also taking into account what Pokémon would be faster to trade over instead of capture in both versions, while keeping the number of trades required even for both games. And having to determine which version to catch (or obtain in other ways) which Pokémon in if they are going to be traded over. And taking into account that one game has to reset for a third Eevee and one of the starter lines. The way the run is handling getting 300 Pokédex entries in total across both games is absolutely astounding, to say the least.
This run is also unique in another way, in that it is a completely glitchless Pokémon Red or Blue TAS, whereas all currently published Generation 1 TASes are very heavily glitched. This provides a nice contrast to those runs, as it shows off a lot of what the game has to offer that other runs never show. The eight gyms are challenged in a proper order, often skipped areas such as Rocket Hideout are entered and cleared correctly, rarely seen features such as trading with NPCs are shown off, and the run even features some slot machine action. This run also shows that the seemingly practically impossible goal of catching them all and getting the diploma without glitches is actually quite possible in a reasonable time frame with two games. Now, I think I have written enough words and paragraphs about this run. Accepting for Moons as a new category.
Spikestuff: Publishing.
Welp, time to "Phone a friend".

Skilled player (1019)
Joined: 7/24/2013
Posts: 175
Mr. Pwnage wrote:
In the third series of trades, wouldn't it be better for Red to send over a Wigglytuff instead of Pikachu? That would let Blue trim out the Wigglytuff encounter in Cerulean Cave, and let Red skip catching a second Pikachu at the Power Plant, since it still has the first one and can just evolve that instead.
You have a valid point, but there are some problems. Blue still needs to get a Pikachu somewhere, and since Blue doesn't visit the Powerplant and hasn't bought any Poké Balls when crossing Viridian Forest, that's not so easy. Blue would either need to buy some in Viridian (but then still need to visit the Mart in Pewter for Escape Ropes), or collect it in Viridian Forest, which is very much out of the way. And since this run ends up being bottlenecked by Blue and not Red, Trading the easy Wigglytuff encounter for Blue against an additional Pikachu encounter for Red made sense. That doesn't mean that this is strictly better, it just turned out to be better for this route.
Joined: 6/4/2009
Posts: 893
thanks for your answer, i didn't know you coulnd't evolve a pokemon after trading him. edit: i tought they where more than one file per save, now i understand the beginning....
Pokota
He/Him
Joined: 2/5/2014
Posts: 778
Twisted Eye wrote:
True, true. A slider would be neat for a viewer but that's clearly not possible with a youtube encode, and sliding back and forth in post-processing is probably more effort than possibly is necessary.
Really the only obstacle to such an alternate encode is the amount of raw time needed to script for it. If you can come up with some guidelines for when to fade between games (emphasize battles? avoid gambling noise? prefer new areas? stuff like that) I can get an avisynth script prepared.
Adventures in Lua When did I get a vest?
Techokami
He/Him
Joined: 6/23/2008
Posts: 160
Impressive. IMPRESSIVE! Yes vote! Might be GB TAS of the Year? Also, you never battled the trainers required for the Mew Glitch, so it's still possible to get Mew... but, glitchless run, I know.
Pokota
He/Him
Joined: 2/5/2014
Posts: 778
subtitle 500 130 322 324 FFFFFFFF This is a tool-assisted run of Pokemon
subtitle 500 110 337 324 FFFFFFFF Blue (on the left) and Red (on the right).
I presume the first number is the frame the subtitle appears on, and the 4-byte value is the color information (probably ARGB since the first byte never changes). Are the 2nd and 3rd numbers positioning, and the 4th duration?
Adventures in Lua When did I get a vest?
Joined: 3/3/2010
Posts: 87
Slight error in the subtitles:
subtitle 272650 115 322 336 FFFFAAAA In addition to knowing Teleport, Abra can subtitle 272650 110 337 336 FFFFAAAA conveniently also be traded for Lickitung.
You trade the Abra for a Mr. Mime, not Lickitung. The Lickitung trade comes later with a Slowbro.
Fortranm
He/Him
Editor, Experienced player (775)
Joined: 10/19/2013
Posts: 1114
Finally finished watching. Absolutely impressive. I have a few questions though. The subtitles mention that Abra is important for Red to skip getting Cut, but couldn't you just go through the tunnel after leaving Magikarp in Day Care? What's the difference other than having a chance to capture Diglett and Dugtrio? The subs also mention that Blue skips the abandoned Power Plant because it's too out of the way, but how is it more out of the way than the Seafoam Islands? Is it because there are too many Pokemon that have to be caught in Seafoam Islands so trading all of them is not worthy? The last one is about the emulator. Does the dual Gameboy mode of Bizhawk support only two games running at the same time? Is it possible to run, say, Yellow, Silver, and Crystal at the same time and trade between different games at different time?
Spikestuff
They/Them
Editor, Publisher, Expert player (2283)
Joined: 10/12/2011
Posts: 6336
Location: The land down under.
Fortranm wrote:
Does the dual Gameboy mode of Bizhawk support only two games running at the same time?
The maximum amount of games you can run on the Game Boy emulation is two different games, you are unable to play more than that, when you do put more than that it will only read the first to games you have listed and ignore the others.
WebNations/Sabih wrote:
+fsvgm777 never censoring anything.
Disables Comments and Ratings for the YouTube account. Something better for yourself and also others.
BigBoct
He/Him
Editor, Former player
Joined: 8/9/2007
Posts: 1692
Location: Tiffin/Republic, OH
I've been watching this run off and on for a day or two. Not done yet, but I can't imagine not voting Yes. One thing I'd like cleared up: Is there a single set of input for both games, or are they being played separately? I'm figuring it's the latter, but would like confirmation.
Previous Name: boct1584
Pokota
He/Him
Joined: 2/5/2014
Posts: 778
They are getting separate inputs, yes.
Adventures in Lua When did I get a vest?
Skilled player (1019)
Joined: 7/24/2013
Posts: 175
Pokota wrote:
subtitle 500 130 322 324 FFFFFFFF This is a tool-assisted run of Pokemon
subtitle 500 110 337 324 FFFFFFFF Blue (on the left) and Red (on the right).
I presume the first number is the frame the subtitle appears on, and the 4-byte value is the color information (probably ARGB since the first byte never changes). Are the 2nd and 3rd numbers positioning, and the 4th duration?
Yes, also see http://tasvideos.org/Bizhawk/BK2Format.html
evknucklehead wrote:
Slight error in the subtitles:
subtitle 272650 115 322 336 FFFFAAAA In addition to knowing Teleport, Abra can subtitle 272650 110 337 336 FFFFAAAA conveniently also be traded for Lickitung.
You trade the Abra for a Mr. Mime, not Lickitung. The Lickitung trade comes later with a Slowbro.
You're absolutely right, my bad.
Fortranm wrote:
The subtitles mention that Abra is important for Red to skip getting Cut, but couldn't you just go through the tunnel after leaving Magikarp in Day Care? What's the difference other than having a chance to capture Diglett and Dugtrio?
There are two mandatory trainers on Route 6 that are avoided by using Teleport. Also, it offers a convenient opportunity to trade for Mr. Mime.
Fortranm wrote:
The subs also mention that Blue skips the abandoned Power Plant because it's too out of the way, but how is it more out of the way than the Seafoam Islands? Is it because there are too many Pokemon that have to be caught in Seafoam Islands so trading all of them is not worthy?
Yes. In the Powerplant, Blue is only missing out on 4 Pokemon: Elektabuzz, Voltorb, Magnemite and Zapdos, whereas in Seafoam Islands there are 13. Trading them all is more work. Also Powerplant is actually objectively more out of the way than Seafoam Islands :)
Fortranm wrote:
The last one is about the emulator. Does the dual Gameboy mode of Bizhawk support only two games running at the same time? Is it possible to run, say, Yellow, Silver, and Crystal at the same time and trade between different games at different time?
I could actually create a run like this with more than 2 games with the tools I used, but you wouldn't be able to play back the result in BizHawk.
Joined: 10/23/2009
Posts: 545
Location: Where?
MrWint wrote:
I could actually create a run like this with more than 2 games with the tools I used, but you wouldn't be able to play back the result in BizHawk.
I'm curious. If 3 games (blue, green and red) were ran, each picking one different starter, would it save time since it avoids a reset and there is more players that can increase pokemons' EXP. On the other hand, there might be a lot more of trading...
Skilled player (1019)
Joined: 7/24/2013
Posts: 175
It will likely be faster. Note that the amount of trades each of the games has to do will not actually increase (ideally they do half of them with each of the other two games), and you save like half an hour from Red not needing to restart.
Pokota
He/Him
Joined: 2/5/2014
Posts: 778
But wouldn't you still get bottlenecked by whichever player goes for Mewtwo?
Adventures in Lua When did I get a vest?
Joined: 10/1/2013
Posts: 98
Location: My Basement
MrWint wrote:
It will likely be faster. Note that the amount of trades each of the games has to do will not actually increase (ideally they do half of them with each of the other two games), and you save like half an hour from Red not needing to restart.
This makes it sound like the goal is to collectively complete the Pokédex, but not necessarily a single game registering all 150. Is this what this submission does, or am I missing something?
Editor, Expert player (2001)
Joined: 8/25/2013
Posts: 1199
Fishaman P wrote:
This makes it sound like the goal is to collectively complete the Pokédex, but not necessarily a single game registering all 150. Is this what this submission does, or am I missing something?
The goal is to get the diploma. With 2 movies. You get it by getting all 150 Pokemon in one game, obviously excluding Mew because its a legendary. That's what the trading part was for, after all.
effort on the first draft means less effort on any draft thereafter - some loser
Fortranm
He/Him
Editor, Experienced player (775)
Joined: 10/19/2013
Posts: 1114
MrWint wrote:
Yes. In the Powerplant, Blue is only missing out on 4 Pokemon: Elektabuzz, Voltorb, Magnemite and Zapdos, whereas in Seafoam Islands there are 13. Trading them all is more work. Also Powerplant is actually objectively more out of the way than Seafoam Islands :)
I just realized I forgot the fact that you can't fly to the PC on Route 10 in Gen 1, duh. I thought going there is faster since FireRed R2 RTA uses Zapdos as the main battle Pokemon after getting Master Ball, and I surely remember the maze in Seafoam Islands takes quite some time. :P
Skilled player (1019)
Joined: 7/24/2013
Posts: 175
Fishaman P wrote:
MrWint wrote:
It will likely be faster. Note that the amount of trades each of the games has to do will not actually increase (ideally they do half of them with each of the other two games), and you save like half an hour from Red not needing to restart.
This makes it sound like the goal is to collectively complete the Pokédex, but not necessarily a single game registering all 150. Is this what this submission does, or am I missing something?
I think you are thinking about the trades the wrong way. Say for simplicity, each version needs 30 Pokémon traded to it that it won't catch itself. For two games, this would mean that they need to do 30 trades, which are beneficial for both sides. For 3 games, each of the three games can do 15 trades each with the other two games, and as long as they're all mutually beneficial, all of them complete their trades and their Pokédex, and still do only 30 trades each like before. The number of games is irrelevant, the number of necessary trades each game has to do is constant.
Joined: 11/28/2013
Posts: 8
Location: Edinburg, Texas
This has to be one of the most interesting runs I've seen in a long, LONG time. I can't even begin to imagine all the work that went into this. You're clearly a very dedicated TASer and this should be published ASAP.
Player (79)
Joined: 8/5/2007
Posts: 865
This is a very minor point, but I'm still curious. You comment that it saves time to approach trainers by up to 3 steps (7 if bicycling). Does this include the additional time it takes to step around them afterwards? I know it's standard procedure to approach trainers, but it just seems fishy to me that you'd want to walk up and back rather than wait for the exclamation mark to pop up, especially if they're already next to you.
BigBoct
He/Him
Editor, Former player
Joined: 8/9/2007
Posts: 1692
Location: Tiffin/Republic, OH
Here's another question from me. After the diplomas, how much more time would it take for both games to go fight the Elite 4 and plus Rival? I feel like doing that would provide a better ending point.
Previous Name: boct1584
Editor, Expert player (2312)
Joined: 5/15/2007
Posts: 3855
Location: Germany
boct1584 wrote:
Here's another question from me. After the diplomas, how much more time would it take for both games to go fight the Elite 4 and plus Rival? I feel like doing that would provide a better ending point.
Didn't watch, but I thought you need to fight rival to unlock Mewtwo. Is that not part of this run? Maybe what I have in mind is a Pokemon Yellow thing...
Masterjun
He/Him
Site Developer, Skilled player (1970)
Joined: 10/12/2010
Posts: 1179
Location: Germany
How is the re-record count calculated?
Warning: Might glitch to credits I will finish this ACE soon as possible (or will I?)
Skilled player (1019)
Joined: 7/24/2013
Posts: 175
Bobo the King wrote:
This is a very minor point, but I'm still curious. You comment that it saves time to approach trainers by up to 3 steps (7 if bicycling). Does this include the additional time it takes to step around them afterwards? I know it's standard procedure to approach trainers, but it just seems fishy to me that you'd want to walk up and back rather than wait for the exclamation mark to pop up, especially if they're already next to you.
It is the total number of additional steps compared to getting spotted, so the ones you need to trigger the fight plus the ones you need to get back on track afterwards. This does not however count the amount of steps the trainer needs to get to you after being spotted. Each step they need to take add two additional steps (4 on a bike) you can take (since npcs move half your speed; also being at point blank takes slightly longer than the rule of thumb would suggest iirc).
boct1584 wrote:
Here's another question from me. After the diplomas, how much more time would it take for both games to go fight the Elite 4 and plus Rival? I feel like doing that would provide a better ending point.
Fighting the Elite 4 would be surprisingly hard, since you don't have the PP to OHKO your way through like the first time, and there aren't too many available high level Pokémon to fight with. You could probably make it work by assembling some party with effective moves for both games, but the actual reason I didn't do it is that it would make an already long run even longer without really adding anything to it.
MUGG wrote:
boct1584 wrote:
Here's another question from me. After the diplomas, how much more time would it take for both games to go fight the Elite 4 and plus Rival? I feel like doing that would provide a better ending point.
Didn't watch, but I thought you need to fight rival to unlock Mewtwo. Is that not part of this run? Maybe what I have in mind is a Pokemon Yellow thing...
You're right. Only Blue fights the Elite 4 though, and then trades the Cerulean Cave encounters to Red later.
Masterjun wrote:
How is the re-record count calculated?
Great question! Defining what counts towards the re-records is not as obvious as it first seems. (Consider: if you scrap a whole section you did, do they count towards the rerecords? What if you majorly re-route? What if you start from the beginning? What if you are doing some testing purely for science? Where do you draw the line?) When generating the run, I used a pretty narrow definition of what counts. It counted every load of a savestate made in the same session as the savestate that ultimately became the final product. That means a whole lot of rerecords I did (including explorations, testing, and the many half-finished and discarded runs) are not counted. The two games were run and optimized separately, and their rerecords were summed to get the final result (which are ~150m for Blue and the rest for Red; Blue got some more optimization since it is the bottleneck).
ALAKTORN
He/Him
Player (99)
Joined: 10/19/2009
Posts: 2527
Location: Italy
MrWint wrote:
even longer without really adding anything to it.
Really? Beating the game isn’t important anymore? lol Since when do 100% runs not beat the last boss?