-?zcrEV: Hi Mom, I'm going out on a quest!
MOM: Sounds interesting. What are you going to do?
-?zcrEV: I'm going to become the world's strongest trainer and catch every single pokemon in this region.
MOM: OK, but be back for dinner.

Foreword

We're proud to present the final result of our work, a movie of the American version of one of the two games that launched one of the most successful franchises in the world. Pokémon Blue has a long tradition of glitch research and countless hacks of it have been made through the years. With all this background, it's one of the most traditional RPGs in tool-assistance, with several publications in TASVideos.org
This movie aims to obtain 151 pokémon registered in the Pokédex and complete the game using only "light" glitches (we'll elaborate better on this later in the submission). The purpose of this is to show many aspects of the game, as full completion runs are supposed to do, using a sufficiently precise definition of the goals to avoid being arbitrary. Regarding the abuse of programming errors, it's an unfortunate reality that a game starts spawning many categories when it achieves some TAS maturity, the goals we achieve are impossible to do without glitches, while exploiting the game's flaws to its fullest would completely kill the purpose of the movie and make it too similar to other existing publications.

SPOILERS AHEAD

Now, we may proceed to the tale of -?zcrEV, the boy who managed to complete the research of a renowned professor in around 200 minutes, doing things that apparently make no sense like constantly fleeing from trainer battles, importuning an old man to teach him to catch a Weedle when he already had over 100 species caught and throwing poke balls at bunches of garbage blocks. Witnesses appear to have seen him cycling over water and rooftops, but that's not confirmed. What is known, however, is that he bears no respect to guards and is constantly sneaking into areas of restricted access and is also accused of entering the prestigious Pokémon League having only six badges, while the required amount is eight. Nevertheless, he has the respect from Prof. Oak, who considers him a caring trainer, despite the fact that he only uses his lv100 pokemon (that got there by an unseen form of training) and his methods to obtain pokémon are less legit than those of Team Rocket (which he didn't even bother defeating) and lets most of his pokémon rot in a computer box shortly after forcing them to eat dozens of Rare Candies.
  • Aims for fastest completion of the game and relevant sidequests
  • Heavy glitch abuse
  • Heavy luck manipulation
  • Takes damage to save time
  • Uses death as a shortcut
  • Contains speed-entertainment tradeoffs
  • Uses VBA-rr v22
  • "100% completion"

Glitches and exploits

  • Trainer-Fly
Simply the most important and most useful glitch in the game, it's more known for allowing the player to catch Mew. Given the actual circumstances necessary for the bug to happen, one constantly wonders how the glitch was found. However, the name of its discoverer is, like Jack DeVries from IGN says, a mystery for the ages. There are references in the internet containing the description of the method to catch Mew since May 2002, but at the time, this was probably considered one more of the countless rumors that existed that made catching Mew possible, and it was unnoticed until it was posted in a GameFAQs board by TheScythe in April 2003. It shocked the pokemon community at the time. Shortly after, White Cat deduced enough of the glitch's mechanism, which allowed one to catch any pokemon in the game, in this aspect, this run is a little late, coming eight years after this challenge was proven possible. The implications of the Trainer-Fly glitch also allow a lot of shortcuts and sequence breaks.
To do it, walk in front of a trainer that can see you from the maximum distance possible, open the menu and use a warp move, like Fly, Dig, Teleport or Escape Rope. The trainer will notice you but you'll have warped before he has a chance to battle you. After this, your buttons are frozen and your actions are very limited, it's impossible to open the menu, for example. You can restore them by entering a trainer battle, letting the trainer walk at least one step to fight you (the game will lock up if you talk or walk directly in front of the trainer). When you return to the area you canceled the battle, your menu will open by itself and upon closing it, you'll face a wild pokemon whose ID will equal the special stat of the last pokemon you fought (or more precisely, its remainder by 256).
This happens because the game uses the same memory region to store the next battle you'll face and the stats of the last pokemon battle. When you return to a region where you used Trainer-Fly, the game will try to resume the canceled battle, even if the previous values were already overwritten with something else. The species is determined by the special stat of the last pokemon and the level by its Attack modifier, a number from 1 to 13 that it initially set to 7 and reduces when Growl is used and increased when Swords Dance is used.
During the making of this run, it was revealed to us by Potato Stomper that Trainer-Fly can be initiated a little earlier than in the current route by fainting from a wild encounter taken on the step that a trainer would be fought. We were already late in the movie when we took notice of this and it wasn't rigorously tested, but it seems that the extra time taken to do this variant of the glitch is likely too big to compensate for the benefits of an earlier Trainer-Fly.
Additionally, some legendary battles, like the Articuno one, seem to mess up Trainer-Fly. We found this out the hard way...
  • Old Man glitch
Trainer-Fly may be more useful, but this is certainly more famous, it was discovered by countless people shortly after the release of the games. It was fixed in the subsequent Pokémon Yellow. It works by talking to the Old Man who shows you how to catch a Weedle. After this event, the game replaces your name with Old Man and puts your original one in the list of pokemon wild encounters for the current area so that it can retrieve it. This is extremely crappy programming but it works because you talk to him in a city area and there's no tall grass in Viridian City. Besides, it's overwritten when you enter a route that has tall grass, so there shouldn't be a problem. However, they made a mistake in the east Cinnabar coast, there are encounters there but instead of looking at data for water routes, the game uses the data for tall grass. It's now easy to exploit this, talk to the Old Man, your name goes to wild data, fly to Cinnabar, you haven't passed through tall grass areas and your name is still there, get yourself an encounter at the coast and you can have a battle with a pokemon defined by your name. Most of the alphabet characters will generate Missingno., that's how this glitch pokemon was first found. Today, it's one of the most famous video game glitches.
To find which pokemon you'll encounter, it's sufficient to look at the IDs of your name's characters and know that the 1st character in the name doesn't matter (it's probably a sentinel in the list), the 3rd, 5th and 7th determine species and the 2nd, 4th and 6th determine levels. For implementation reason, the name contains twelve characters, although only eight are necessary, the unused ones will be filled with zeros, that give the glitch pokemon 'M.
  • Item duplication glitch
Directly related to the glitch above, when you encounter a glitch pokemon, like Missingno. or 'M, the item on your sixth slot will have more 128 copies of it, no one knows for sure why this happens. Players often use this to get more Master Balls. From a TAS perspective, however, every ball is a Master Ball, so we use this once to clone Pokéballs so that we don't need to get money to buy them and twice to clone Rare Candies, which we use to quickly level up our pokémon.
  • Experience underflow glitch
We don't know who originally discovered it to give credit, it was brought to TASers' attention by dfhuiwefhdasasasas, this allows us to destroy story battles easily. There are four formulas that control level-ups in this game. It's only important to know the one for fading growth pokémon, which is this one: E = 1.2L³ - 15L² + 100L - 140
Notice that for L=1, E=-53.8, the game truncates this to -54. Experience should never be negative but L1 pokémon aren't supposed to exist as well, so apparently no problem. However, with Trainer-Fly we can get a pokemon at level 1 by using Growl on the opponent six times to lower its Attack modifier to 1. The consequence is that the number containing experience will underflow, it'll contain the max experience it can hold minus 54. Since it's a 3-byte integer, that means over 16 million exp points, more than enough to surpass the L100 cap. However, the game will only check experience again when your pokemon gains experience, so the only caution necessary is to give it 53 points or less and the game will innocently give it an astounding L1-100 level up.
One should be careful to never let a pokemon at L0 or L1 in a box, as the game will freeze when it's withdrawn. We also found this out the hard way...
  • Pewter Skip glitch
Found by hanzou, this one releases us from the obligation to fight Brock, since his badge is not checked when going to the league with the walk through walls glitch. To perform it, cancel the conversation with the Pewter guard using B, this gives you time to open the menu and save the game. Reset, when the game reloads he'll walk away, thinking he already took you to Brock's gym. Now simply hold right and you'll progress to Mt. Moon.
  • Snorlax skip glitch
There's a moment in the game where the player is supposed to obtain a Poké Flute to wake up a Snorlax to gain access to Fuschia or take a long way through Rock Tunnel to arrive in Lavender. None of this happens here. Snazzypadgett from SDA reported that after performing Trainer-Fly, Snorlax had disappeared. Shortly after, many were able to reproduce this glitch and sequence break the game. It happens because Trainer-Fly is basically a simulation of a legendary battle. Every legendary battle is hard coded to eliminate the missable object at the first position of the list in the current area. This is done to prevent the player from repeating the fight, obviously, and assumes that the first missable object is the legendary pokemon, carefully put there by the programmers.
When you change areas, the list of missables is only updated if the new area has any missables on it. Now it's simple to use it to move Snorlax out of the way. First, enter the area of Snorlax and perform Trainer-Fly without ever walking through places with missables, enter the glitched battle. The game then will look at Snorlax data on the missable list and remove it so you can pass. One just needs to be careful to not get wild encounters, as they will cause the game to allocate much memory to start the battle, overwriting the list.
  • Cloning trick
A recurring trick in the pokemon series, present in the first, second and third generations. Often hidden by other bugs in 1st gen, and by the fact that the timing needs to be more exact. For a TASer, the timing presents no challenge whatsoever. The trick is to save the game and deposit a pokemon of the party in a PC box and do a box switch. The game will require you to save to do this. When it starts saving, however, it saves first the box configuration, so if you reset the game at the right point, your box will suffer alterations but your party won't. The consequence is that the pokémon deposited will be present in the box and in your party, thus being cloned. We use it to clone Eevee and Poliwhril.
  • Walk through walls glitch
Developed by hanzou, this is the most sequence breaking glitch in the run. It's a variation of the Glitch City bug, but much more useful. First, enter Safari Zone, try to leave it and say No when the clerk asks if you want to leave. Save and reset the game, when you try to leave the clerk will think you're trying to get in and ask if you want to enter. Say No again and leave it. Now, you're still under the 500 step counter, you just can't see it and will be called back by the P.A. when it runs out. The key here is to get ding-dong'ed mid-air, while you're jumping off a ledge. When you get called back, you can walk through walls. However, upon exiting the building, you'll lose that ability. The solution is to faint from poison inside there, you respawn at a Pokecenter and can walk though walls in the overworld. However, when you enter a house or face a trainer you lose that ability, so careful planning is needed.
We use this bug to visit Cinnabar before getting Surf, sneak into Sabrina's gym without beating the rockets at Silph, get inside Unknown Dungeon before beating the league and finally to get to Indigo Plateau having only six badges.
  • Luck Manipulation
The RNG in this game is a pain to manipulate because it uses a hardware register for entropy and it's nearly impossible to track its behavior, in order to do this run, we relied on some brute force Lua scripts. Annoyingly, there's a bug with VBA that will cause desyncs when a script loads a savestate, so even with the script in control, we had to do manual rerecords. Luck is extensively manipulated, from everything to critical hits, damage variation and, especially, random encounters. There are many instances where we need a certain special stat on a pokémon to use Trainer-Fly for another, so even their DVs (values that cause differentiation on the stats of Pokémon) needed to be manipulated at times. In other cases, it was required that we caught the pokémon at highest level of an area, to minimize Rare Candies. Often this caused the probability of them showing up to be 1/256, the overall rarest event manipulated here is the Tentacool encounter. An encounter on the first step in a water tile is 5/256, getting a L40 Tentacool is 1/256, and having the right DVs is 1/16, for a grand total of 5/1048576.
In order to manipulate it, we used some knowledge of RNG mechanics, like the "D-sum". Although the RNG behaves chaotically, the sum of the two bytes tends to steadily increase or steadily decrease, depending if you're on a battle or in the overworld, since the species and level of pokemon encountered is closely related to this sum, we can get some expectation on what we'll find by getting this value in the appropriate range.
The only other aspect worth mentioning is the annoying 3-step rule, that doesn't let a wild encounter happen unless you walk a minimum of three steps since the last battle.

Speed-Entertainment tradeoffs

  • Banning strong glitches
This game's poor programming allows for severe exploits. Practically any goal imposed could be achieved by using them, it would reduce a lot of the movie's length but would give little similarity to a high completion movie, so we chose to not use them. Those bugs generally involve using save corruption or the ZZAZZ glitch to explode the inventory counter, giving access to important parts of RAM. It's even possible to program in the game, because there's a way to force the game to call the function you want. One who knows GB opcodes could stuff a loop that overwrites pokedex addresses in RAM and force the game to call that function, for example. Given the impact on gameplay this has, it was banned here.
  • Avoiding the near-death sound
When your pokémon is in critical status (red health bar), a warning sound starts. When this warning is playing, the game doesn't play pokémon cries and battles go much faster. However, it's impossible to tolerate three hours with that noise on, so we didn't use it.
  • Route planning
This is a pretty extensive subject and one we spent a lot of time on. It's near impossible to verify the optimality of a route and small changes to it may introduce gains in time, adding this to the fact that this is the first submission for this category and there was a lot of groundwork to be done makes planning very hard.
The complicated part comes from the amazing amount of pokémon that need to be glitched in order to complete the pokedex, Trainer-Fly is the main tool we have for this and it requires fighting opponents with a given special stat, however some stats are very high, making it impossible to find in the wild. And even the ones that can be found are somewhat tricky to plan their order without screwing up your progression through the game.
To overcome this difficulty, we used a bot that took all pokemon data in the game from wild encounters and trainer battles and ran a simulation of their stats to find which pokémon they triggered, with this it was significantly easier to plan things out, we found a lot that could be glitched by careful manipulation of the DVs. However, the situation remained the same for pokemon with very high IDs. The standard mathod people use for this is to raise a pokemon until it has the necessary stats, let a Ditto transform into it and do the glitch. This, however, is slow, our alternative here is to carefully choose the protagonist's name so that it generates hard to get pokemon with the Old Man glitch. Here, ?z generates a L230 Oddish, which, with the right DVs can be used to glitch a Machamp, cr gives a L162 Squirtle that's used to glitch a Porygon and EV generates a L131 Alakazam that's used to glitch an Ekans.
There were other potential candidates for this glitching procedure, but the Old Man method is still very slow because we need to visit him every time we do the glitch, initially there were seven repetitions of this, using alternative methods to catch hard pokémon we saw that by visiting Unknown Dungeon we could reduce this and through the cloning trick, only three (the minimum) repetitions are required. We are very content with the final route, as it turned up efficient and interesting to watch.
We could flood the submission with the route details we discussed. Our PM box is filled with them, but since we don't want the submission text to be excessively long, we intend to release a subtitle Lua script to be played with the movie.

Special thanks

Everyone that contributed a little to the weird science that's glitching deserves recognition, the total time of this is much less than people at the time of Trainer-fly's discovery would expect. Also, during the making of this movie, many people expressed full support of this run, bumping the R/B thread when we were late with updates, or asking us on IRC about the progress. Most of this was done in a very busy period of our lives and we consider it a victory to have finished such a big project. A special mention goes to the japanese community, one of our WIPs was uploaded to nicovideo and, despite lasting almost an hour, hit more than 100000 views, that was the greatest encouragement we could ever hope for.
Those that offered direct help were:
  • primorial#soup - He attempted a "catch'em all" run much time ago, when most tricks here weren't available, his discontinued WIP was the only startup for a TAS that we had.
  • Thomaz - We discussed some ideas, he had gone really far on a real-time speedrun, but unfortunately had to cancel due to a deleted segment, he restarted it and is currently working on it, his progress can be seen in his Youtube channel. Good luck, man! We look forward to your run.
  • upokecenter.org - We used this site a lot to look up the data we needed in order to plan the run and execute luck manipulation.

Suggested screenshot

[dead link removed]

Nach: So this run annoyed me. I was in middle of a date with this cool lifeguard type, when I had to be interrupted to review and judge this run - which may explain the bias I'm about to elaborate on.
This run is long, repetitive, and a bit boring. For entertainment rating, it should get a 0.1 score. But it seems everyone in the discussion thread loved its strange technicalities so much that it somehow gets a perfect 10. So despite my personal feelings, I look at this from afar, and I sense an oncoming fight approaching if I reject it. I'm probably better off running away, growling about it a bit, then doing something random and pleasantly unexpected.
I guess I'm forced to admit that the route planning was quite thorough and well executed, to TAS precision, which is not something you see every day. I'd give it that, the run fits TASing like a pair of nice and comfy shorts. This run is also the only Pokemon TAS we've had that actually completes the objective that appears on the box, a nice touch. It also had nice shock value, like when you go to sleep in middle of the road, only to wake up elsewhere and finding yourself with some strangely named kid pelting you with whatever stone equivalent he has handy.
So even though this run is toxic, and you need an announcement in conjunction with it, I went into judging this run all thirsty, but for some reason I'm just not thirsty anymore. I guess I'll have to let it through.

Brandon: Publication underway.


1 2
8 9
TASVideoAgent
They/Them
Moderator
Joined: 8/3/2004
Posts: 15577
Location: 127.0.0.1
NitroGenesis
He/Him
Editor, Experienced player (556)
Joined: 12/24/2009
Posts: 1873
Oh, my God! I will HD encode that. Sorry, I can't resist.
YoungJ1997lol wrote:
Normally i would say Yes, but thennI thought "its not the same hack" so ill stick with meh.
Noxxa
They/Them
Moderator, Expert player (4124)
Joined: 8/14/2009
Posts: 4090
Location: The Netherlands
Woo, epic. Will watch now.
http://www.youtube.com/Noxxa <dwangoAC> This is a TAS (...). Not suitable for all audiences. May cause undesirable side-effects. May contain emulator abuse. Emulator may be abusive. This product contains glitches known to the state of California to cause egg defects. <Masterjun> I'm just a guy arranging bits in a sequence which could potentially amuse other people looking at these bits <adelikat> In Oregon Trail, I sacrificed my own family to save time. In Star trek, I killed helpless comrades in escape pods to save time. Here, I kill my allies to save time. I think I need help.
GoddessMaria
She/Her
Reviewer, Experienced player (867)
Joined: 5/29/2009
Posts: 518
Location: Hell...
Wow! At last, it is submitted! Will vote after watching.
Current projects: failing at life
Joined: 12/19/2010
Posts: 126
will vote after encode
live life
sgrunt
He/Him
Emulator Coder, Former player
Joined: 10/28/2007
Posts: 1360
Location: The dark horror in the back of your mind
I approve of the branch name. In other news, watching.
Player (246)
Joined: 8/6/2006
Posts: 784
Location: Connecticut, USA
Awww yeah! Also, this script was conceptualized in the main thread and p4wn3r cleaned it up. It's a display that shows current number of Pokemon caught, and I personally think it's awesome to use when watching the run:
Language: Lua

function popcount(x) local counter = 0 while x>0 do x = x - AND(x,-x) counter = counter + 1 end return counter end function showCaught() local startAddress = 0xD2F7 local caught = 0 for i=0,18 do caught = caught + popcount(memory.readbyte(startAddress+i)) end gui.text(140,130,caught) end gui.register(showCaught)
Warepire
He/Him
Editor
Joined: 3/2/2010
Posts: 2178
Location: A little to the left of nowhere (Sweden)
Will watch NitroGenesis HD encode, I am sure this will be awesome.
Emulator Coder
Joined: 3/9/2004
Posts: 4588
Location: In his lab studying psychology to find new ways to torture TASers and forumers
sgrunt wrote:
I approve of the branch name. In other news, watching.
Same here :D
Warning: Opinions expressed by Nach or others in this post do not necessarily reflect the views, opinions, or position of Nach himself on the matter(s) being discussed therein.
Joined: 10/20/2006
Posts: 1248
Voting no because this run would be easily improvalbe by picking Squirtle as your starter and its goals are way too arbitrary. Just kidding of course. I'm eagerly awaiting an encode. :D
Noxxa
They/Them
Moderator, Expert player (4124)
Joined: 8/14/2009
Posts: 4090
Location: The Netherlands
Finished watching. As expected, epic job. It was clear an amazing amount of planning went into making this. Screenshots:
http://www.youtube.com/Noxxa <dwangoAC> This is a TAS (...). Not suitable for all audiences. May cause undesirable side-effects. May contain emulator abuse. Emulator may be abusive. This product contains glitches known to the state of California to cause egg defects. <Masterjun> I'm just a guy arranging bits in a sequence which could potentially amuse other people looking at these bits <adelikat> In Oregon Trail, I sacrificed my own family to save time. In Star trek, I killed helpless comrades in escape pods to save time. Here, I kill my allies to save time. I think I need help.
Editor, Active player (297)
Joined: 3/8/2004
Posts: 7469
Location: Arzareth
I put an approval stamp on the submission message, even though it has markup problems (mistakenly wrapped lines in the end). It was very informative and insightful.
Player (246)
Joined: 8/6/2006
Posts: 784
Location: Connecticut, USA
I think this screenshot pretty much sums up how exploited the game is (frame 459734): A close second for me would be this (frame 460145): EDIT: A runner up for me would be the evolution of Ivysaur to Venusaur. "What? I is evolving!"
Joined: 6/4/2009
Posts: 570
Location: 33°07'41"S, 160°42'04"W
I've been carefully following all the WIPs so it's not a surprise that the final product amazed me, it was a pleasure to watch it again. I think there are no doubts about what I am going to vote, and I'll even go further and suggest a moon/star as well. I have a few technical questions about this run, sadly I didn't write them down while I was watching so they might be not accurate or I forgot something.
  1. You were feeding your Charmander with Rare Candies to evolve it to Charizard; when it was in his Charmeleon status he tried to learn Rage, which you didn't let him learn, but shortly afterwards he tried to learn Slash, which you let him learn. Why? Since Charizard isn't used afterwards.
  2. After you fight Sabrina, you walk away with one of those teleporter on the floor and then you use an Escape Rope from another room. Can't you use the Escape Rope from the first room itself?
  3. I understand that you poisoned Kabuto to use him in the Safari glitch, but why did you withdraw him to store him in another box, then withdraw him again afterwards? Couldn't you keep him in the first box?
  4. Shortly afterwards, you use the Trainer-Fly glitch twice in a row: first with the usual trainer in route 6, and then with a trainer near Lavender Town. But you didn't catch any pokémon between the first and the second glitch, so why was the first one done?
Player (42)
Joined: 12/27/2008
Posts: 873
Location: Germany
1. If we don't teach him Slash, he'll try to learn it again immediately after evolving. 2. Yes, but when we use the Escape Rope on the teleporter the warp animation is faster. 3. We can only have one active box at a time, if we let him in the box, we'd have to switch back to that box, losing some time. 4. The repeated Trainer-Fly is to just leave the area glitched to fight the pokemon later, we don't need to do the encounter immediately after doing the glitch. Chaining it this way is faster because there's less walking.
Joined: 6/4/2009
Posts: 570
Location: 33°07'41"S, 160°42'04"W
Thanks, you replied quickly and your answers are detailed. If I could, I would vote yes twice just because of it. Best regards.
Joined: 6/26/2011
Posts: 167
I'll have to wait for the encode, but I'm looking forward to watching it!
First a movie gets submitted, and ends up accepted despite breaking rules other runs have been rejected for. And when I vote less than spectacularly on this movie, I become the victim of harassment and threats. Yay, favoritism.
NitroGenesis
He/Him
Editor, Experienced player (556)
Joined: 12/24/2009
Posts: 1873
I've dumped the file and started the HD encode, it will be uploaded tomorrow. Sorry for being slow :p
YoungJ1997lol wrote:
Normally i would say Yes, but thennI thought "its not the same hack" so ill stick with meh.
sgrunt
He/Him
Emulator Coder, Former player
Joined: 10/28/2007
Posts: 1360
Location: The dark horror in the back of your mind
The sheer absurdity of what's going on here is counterbalanced only by the repetitiveness of seeing some of the glitches (Trainer Fly in particular) being used over and over again to generate desired results. I do think the run should be published on the sheer technical merit it demonstrates, even if a little weak on the entertainment side from my view.
Joined: 4/25/2004
Posts: 498
Lol, this run was awesome. :D Though I was somewhat worried when you caught that MissingNo. Lolwtf. Also rofl'd at the full health poké ball Mewtwo catch. You won't see that one un-luck manipulated, like, ever. :p
Joined: 12/31/2009
Posts: 174
Voting no because the run only gets 151 pokemon when there are 152. Clearly not 100% completion. (jk of course)
Joined: 12/17/2009
Posts: 28
voting no because it would be faster to just trade every pokemon from a 100% save srsly great job... but i can't watch it for some reason, it desynch :(
sgrunt
He/Him
Emulator Coder, Former player
Joined: 10/28/2007
Posts: 1360
Location: The dark horror in the back of your mind
Timic83 wrote:
srsly great job... but i can't watch it for some reason, it desynch :(
There've been a couple of reports of this desyncing on versions of VBA-rr later than v22, so perhaps try v22 and see if that solves it for you.
Editor
Joined: 3/31/2010
Posts: 1466
Location: Not playing Puyo Tetris
Timic83 wrote:
voting no because it would be faster to just trade every pokemon from a 100% save srsly great job... but i can't watch it for some reason, it desynch :(
Where/when does it desync?
When TAS does Quake 1, SDA will declare war. The Prince doth arrive he doth please.
Player (36)
Joined: 9/11/2004
Posts: 2630
I encoded the recently released WIP, it's missing the last 30 minutes or so, but that can tide you over until Nitrongenesis's HD encode is completed.
Build a man a fire, warm him for a day, Set a man on fire, warm him for the rest of his life.
1 2
8 9