Register a SA Forums Account here!
JOINING THE SA FORUMS WILL REMOVE THIS BIG AD, THE ANNOYING UNDERLINED ADS, AND STUPID INTERSTITIAL ADS!!!

You can: log in, read the tech support FAQ, or request your lost password. This dumb message (and those ads) will appear on every screen until you register! Get rid of this crap by registering your own SA Forums Account and joining roughly 150,000 Goons, for the one-time price of $9.95! We charge money because it costs us money per month for bills, and since we don't believe in showing ads to our users, we try to make the money back through forum registrations.
 
  • Post
  • Reply
Fathis Munk
Feb 23, 2013

??? ?
You have to link this one too! https://twitter.com/mike_ducker/status/1284525597813805057?s=19

Adbot
ADBOT LOVES YOU

Captain Hygiene
Sep 17, 2007

You mess with the crabbo...



I feel like these probably resemble the moment life spontaneously originated in the universe.

Stare-Out
Mar 11, 2010

I wouldn't mind a Langoliers video game.

Slowflake
Aug 18, 2010

Maybe if there was a walking simulator, but it's all cube-rose balls, bush textures stretched out to infinity, someone's face is the skybox, you launch yourself by jumping on physics objects? I'd be all about that.

Tunicate
May 15, 2012

jonsicoli posted:

Maybe if there was a walking simulator, but it's all cube-rose balls, bush textures stretched out to infinity, someone's face is the skybox, you launch yourself by jumping on physics objects? I'd be all about that.

isn't that just beam NG?

MisterBibs
Jul 17, 2010

dolla dolla
bill y'all
Fun Shoe

Stare-Out posted:

I wouldn't mind a Langoliers video game.

I was thinking the same goddamned thing. Couldn't remember the name, though. Everything else about that miniseries they made of it is etched into my brain, but I couldn't place the name.

Doc Hawkins
Jun 15, 2010

Dashing? But I'm not even moving!


just yesterday i saw a B on a report card in a tv show and thought "do you know what that stands for? it stands for bum! and do you know what happens to bums? the langoliers eat them!"

LifeSunDeath
Jan 4, 2007

still gay rights and smoke weed every day
https://video.twimg.com/ext_tw_video/1284428137393094656/pu/vid/1280x720/M98Zkt-Gj-GbOKCF.mp4#t=0.01

gimme the GOD DAMN candy
Jul 1, 2007
there might inexplicably be a total lack of horse archers in that game, but those mongols are clearly still experts on the subject.

Wasabi the J
Jan 23, 2008

MOM WAS RIGHT

Doc Hawkins posted:

just yesterday i saw a B on a report card in a tv show and thought "do you know what that stands for? it stands for bum! and do you know what happens to bums? the langoliers eat them!"

That fuckin' scene tripped me out even as a kid because gently caress I wish I could have been a solid B student instead of a strictly A or C- student.

RatHat
Dec 31, 2007

A tiny behatted rat👒🐀!
Not quite a glitch but close enough so I figured it'd be fine for this thread. So there's a thing in some older games called "Arbitrary code execution" which basically means you can use glitches to literally write code for the game to execute. Now what you can do with human reaction time and the limits of the inputs the hardware will allow is limited(but still used by some speedrunners to do ridiculous stuff like beating Pokemon Yellow in under 4 minutes by teleporting to the hall of fame), but when you use a robot on an emulator(otherwise known as a Tool Assisted Speedrun, or TAS) the sky is the limit.

GamesDoneQuick sometimes does this in their TASbot segments like(spoilered what happens in the videos if you want to be surprised):

Coding Super Mario Bros into Super Mario World
https://www.youtube.com/watch?v=HvCoNSq3GEM

Coding a meme game and more into Super Mario Bros 3
https://www.youtube.com/watch?v=eM8Z9e-WoFs

Or even showing Twitch chat in Pokemon Red(more about that here)
https://www.youtube.com/watch?v=yoQLUhBfrOE

But what made me make this post was THIS video

https://www.youtube.com/watch?v=zZCqoHHtovQ

Ignore the upload date. So you may think this is just a well edited together video...but no, it was all done in a Pokemon Yellow ROM and is confirmed to be legit. The author made a long post about how they did it along with the source code.

RatHat has a new favorite as of 08:43 on Jul 21, 2020

Aipsh
Feb 17, 2006


GLUPP SHITTO FAN CLUB PRESIDENT

RatHat posted:


https://www.youtube.com/watch?v=zZCqoHHtovQ

Ignore the upload date. So you may think this is just a well edited together video...but no, it was all done in a Pokemon Yellow ROM and is confirmed to be legit. The author made a long post about how they did it along with the source code.

One thing I've always wondered is where the payload comes from? From watching agdq I get the impression that a computer is only inputting button presses, so when it gets to the point where arbitrary code can be executed, where does this code get injected? Do they have the game hooked up to a PC, and the game then reads memory from the PC where it's stored and begins executing an entire game?

Icedude
Mar 30, 2004

Aidan_702 posted:

One thing I've always wondered is where the payload comes from? From watching agdq I get the impression that a computer is only inputting button presses, so when it gets to the point where arbitrary code can be executed, where does this code get injected? Do they have the game hooked up to a PC, and the game then reads memory from the PC where it's stored and begins executing an entire game?

It depends on the glitch, but the one you usually see at GDQ is where they glitch the game into a state of writing controller inputs directly to memory and then sending the code by hitting a precise series of button presses. That's obviously near impossible to do without a TAS managing all the controllers on a multitap.

There's other like the Super Mario World end warp where the code's written in by placing objects in the world in pixel-perfect locations which means they can be done by actual players: https://youtu.be/14wqBA5Q1yc

Aipsh
Feb 17, 2006


GLUPP SHITTO FAN CLUB PRESIDENT

Icedude posted:

It depends on the glitch, but the one you usually see at GDQ is where they glitch the game into a state of writing controller inputs directly to memory and then sending the code by hitting a precise series of button presses. That's obviously near impossible to do without a TAS managing all the controllers on a multitap.

There's other like the Super Mario World end warp where the code's written in by placing objects in the world in pixel-perfect locations which means they can be done by actual players: https://youtu.be/14wqBA5Q1yc

Thanks! That's ridiculous though. I had the impression they were literally writing code via button presses but I also thought "no, that's stupid that's literally impossible"

Karia
Mar 27, 2013

Self-portrait, Snake on a Plane
Oil painting, c. 1482-1484
Leonardo DaVinci (1452-1591)

Aidan_702 posted:

Thanks! That's ridiculous though. I had the impression they were literally writing code via button presses but I also thought "no, that's stupid that's literally impossible"

It usually involves using a different method to rewrite the game to accept input that way first. As I recall, in Pokemon they use inventory manipulation to write code so that they can use raw controller inputs to write the full payload.

haveblue
Aug 15, 2005



Toilet Rascal

Aidan_702 posted:

Thanks! That's ridiculous though. I had the impression they were literally writing code via button presses but I also thought "no, that's stupid that's literally impossible"

The secret of programming (and all computing really) is that code is data and data is code. Code is a byte sequence that the CPU has been told to read into its processing hardware and interpret as instructions. Data is a byte sequence the CPU has been told to give to the instructions so they can calculate new data values. Any particular byte sequence could be treated as one or the other at different times. So they literally are writing code via button presses, in that the sequence of bytes produced by the button presses matches the patterns that will allow the CPU to make sense of it when fed into the instruction path.

The tricky part is how to get the game into such a state that it thinks recording all the button presses into RAM and then feeding that particular bit of RAM into the CPU instruction handler is a good idea, because it hardly ever is in any legitimate task (this is not too far removed from how hackers take over computers, just with a really clumsy input device).

ToxicFrog
Apr 26, 2008


Aidan_702 posted:

Thanks! That's ridiculous though. I had the impression they were literally writing code via button presses but I also thought "no, that's stupid that's literally impossible"

Karia posted:

It usually involves using a different method to rewrite the game to accept input that way first. As I recall, in Pokemon they use inventory manipulation to write code so that they can use raw controller inputs to write the full payload.

Yeah, the post on tasvideos goes into detail on it (including code for the stage2 and stage3 loaders), there's actually several phases here:
- start the game, save, then reboot the console halfway through saving to get a save file with corrupt pokemon
- use the corrupt pokemon to get a corrupt item screen
- use the corrupt item screen to manipulate values in memory to write 9 bytes of code (the stage1 exploit) that will let you read inputs from the controller at a rate of 1 byte per frame; the game is so confused at this point that closing the inventory screen will cause the stage1 payload to execute rather than whatever normally happens
- controller inputs are used to write a new, 13-byte stage2 payload; this payload has its own controller handling routines that mean it can query the controller as fast as the CPU will let it rather than waiting for the game to process control inputs once per frame. This payload executes as soon as it's done being written.
- since stage2 has its own controller-reading loop, the game is now completely locked up (because none of the usual animation, sound playing, etc code is getting a chance to run), but that doesn't matter, because stage2 can read input from the controller at about 1KB/s rather than 30 bytes/second, so we won't be here for long.
- stage2 is used to write stage3, which is 28 bytes long and is basically the same as stage2, except it also nicely fades out the screen and puts the CPU into double-speed mode
- the rest of the payload is written followed by 0x5D (an "end of code" marker stage2/3 are written to watch for) which causes stage3 to hand off control to the newly written code, and away we go!


This sort of structure is pretty common in ACE exploits in games: usually you can only write code at first in slow ways (by moving around inventory items or the like), so your very first priority is to write the smallest program possible that will give you a faster way (like pressing buttons on the controller). Once you have that you can write an even faster way (like going from "pressing buttons once a frame" to "pressing buttons as fast as the CPU can keep up") and then you drop the real program.

This is also why this particular TAS only works on some emulators (and the real hardware); most emulators only read controller input once a frame (because most games don't care about input more often than that), which means stage2 won't work.

-Zydeco-
Nov 12, 2007


ToxicFrog posted:

Yeah, the post on tasvideos goes into detail on it (including code for the stage2 and stage3 loaders), there's actually several phases here:
- start the game, save, then reboot the console halfway through saving to get a save file with corrupt pokemon
- use the corrupt pokemon to get a corrupt item screen
- use the corrupt item screen to manipulate values in memory to write 9 bytes of code (the stage1 exploit) that will let you read inputs from the controller at a rate of 1 byte per frame; the game is so confused at this point that closing the inventory screen will cause the stage1 payload to execute rather than whatever normally happens
- controller inputs are used to write a new, 13-byte stage2 payload; this payload has its own controller handling routines that mean it can query the controller as fast as the CPU will let it rather than waiting for the game to process control inputs once per frame. This payload executes as soon as it's done being written.
- since stage2 has its own controller-reading loop, the game is now completely locked up (because none of the usual animation, sound playing, etc code is getting a chance to run), but that doesn't matter, because stage2 can read input from the controller at about 1KB/s rather than 30 bytes/second, so we won't be here for long.
- stage2 is used to write stage3, which is 28 bytes long and is basically the same as stage2, except it also nicely fades out the screen and puts the CPU into double-speed mode
- the rest of the payload is written followed by 0x5D (an "end of code" marker stage2/3 are written to watch for) which causes stage3 to hand off control to the newly written code, and away we go!


This sort of structure is pretty common in ACE exploits in games: usually you can only write code at first in slow ways (by moving around inventory items or the like), so your very first priority is to write the smallest program possible that will give you a faster way (like pressing buttons on the controller). Once you have that you can write an even faster way (like going from "pressing buttons once a frame" to "pressing buttons as fast as the CPU can keep up") and then you drop the real program.

This is also why this particular TAS only works on some emulators (and the real hardware); most emulators only read controller input once a frame (because most games don't care about input more often than that), which means stage2 won't work.

If you give a mouse a cookie.....

Slickdrac
Oct 5, 2007

Not allowed to have nice things
https://www.youtube.com/watch?v=oWbwmxVpqVI

Here's an example of one that has the input visible on the bottom of the screen

Also if you turn CC on there's commentary to go with it

The Cheshire Cat
Jun 10, 2008

Fun Shoe

haveblue posted:

The secret of programming (and all computing really) is that code is data and data is code. Code is a byte sequence that the CPU has been told to read into its processing hardware and interpret as instructions. Data is a byte sequence the CPU has been told to give to the instructions so they can calculate new data values. Any particular byte sequence could be treated as one or the other at different times. So they literally are writing code via button presses, in that the sequence of bytes produced by the button presses matches the patterns that will allow the CPU to make sense of it when fed into the instruction path.

The tricky part is how to get the game into such a state that it thinks recording all the button presses into RAM and then feeding that particular bit of RAM into the CPU instruction handler is a good idea, because it hardly ever is in any legitimate task (this is not too far removed from how hackers take over computers, just with a really clumsy input device).

Yeah on modern machines this kind of thing is much more difficult because usually the operating system prevents programs from stepping outside the specific area of memory that had been portioned off for them to use and will just force a crash if it happens - but old consoles didn't have operating systems, everything was just running directly on the CPU and as far as the CPU is concerned there's no such thing as an invalid state. If a game crashes, it's because the developers had to specifically put that behaviour in as an error handler - the CPU just sees bits come in and executes operations based on an internal mapping of what each possible combination of bits should mean. Usually the trick in a lot of these games is to find some way to over/underflow the execution stack so that the CPU loses track of where in memory it's supposed to be and it bounces out of the dedicated code area and into the data area, which can include things like controller inputs or game state or other things the player has the ability to manipulate. Other times it's something like exploiting a glitch to physically get the character outside of the intended level area, which makes them literally "fall" into active memory since the level itself is just one big chunk of the memory and the game keeps track of what to display on screen by using the player position as an index into it. The ACE exploits in Mario games usually use this method.

zedprime
Jun 9, 2007

yospos
Pokemon is one of the notable/earliest example because it is routinely hacking itself in order to fit everything in a Gameboy.

Yellow is then layering in more hacks on top of the hacks.

The good news is that Pokemon and Gameboys do not have access to your bank account so it's just a neat bare metal interface.

Karia
Mar 27, 2013

Self-portrait, Snake on a Plane
Oil painting, c. 1482-1484
Leonardo DaVinci (1452-1591)

The Cheshire Cat posted:

Yeah on modern machines this kind of thing is much more difficult because usually the operating system prevents programs from stepping outside the specific area of memory that had been portioned off for them to use and will just force a crash if it happens - but old consoles didn't have operating systems, everything was just running directly on the CPU and as far as the CPU is concerned there's no such thing as an invalid state. If a game crashes, it's because the developers had to specifically put that behaviour in as an error handler - the CPU just sees bits come in and executes operations based on an internal mapping of what each possible combination of bits should mean. Usually the trick in a lot of these games is to find some way to over/underflow the execution stack so that the CPU loses track of where in memory it's supposed to be and it bounces out of the dedicated code area and into the data area, which can include things like controller inputs or game state or other things the player has the ability to manipulate. Other times it's something like exploiting a glitch to physically get the character outside of the intended level area, which makes them literally "fall" into active memory since the level itself is just one big chunk of the memory and the game keeps track of what to display on screen by using the player position as an index into it. The ACE exploits in Mario games usually use this method.

Wanted to emphasize this bit, since it can seem counter-intuitive to non-programmers: crashes are a good thing. If your program gets to a state where something is weird, like it's been told to write in a piece of memory that it shouldn't have access to or there's a weird edge-case that wasn't accounted for by the programmer, you want the program to throw up its hands and say "I don't know what to do, I'm stopping." That's the desired behavior, and it allows the program to exit relatively gracefully.

But especially in old games, that sort of logic to detect invalid behavior didn't exist. When you see Missingno pop up in Pokemon Red, it's because it's reading invalid data as a Pokemon and there's absolutely no error checking to tell the game "hey, this isn't what's supposed to happen." So you can just start walking through walls, battling messed up pokemon, and injecting arbitrary code into the game, while a game with better error checking would just cause whatever the local equivalent of a blue screen of death is.

Karia has a new favorite as of 18:42 on Jul 21, 2020

TooMuchAbstraction
Oct 14, 2012

I spent four years making
Waves of Steel
Hell yes I'm going to turn my avatar into an ad for it.
Fun Shoe
Plenty of modern games will strive mightily to avoid crashes as well. Sometimes when things break, it's hard to tell if the thing that broke was as minor as "the game stops drawing grass" or as major as "the game stops drawing all terrain". You hope that your game's QA is good enough to catch the latter, and you don't really care about the former, so if suddenly your code can't draw stuff...just, kinda, hope things work out and keep going!

Well, in an ideal world, you'd crash, then during the dev process you'd get these weird crashes and figure out "oh hey, the grass isn't drawing, lemme fix that". But gamedev is a complicated and hard process and there's never enough resources to do everything perfectly. So you settle for just logging a warning and continuing, and then right before launch someone will go through and turn off all the "log a warning" statements that nobody ever followed up on.

In most serious software, in contrast, you have a very good idea of how important a given failure is, and most failures are mission-critical. So crashing is used more freely.

Cleretic
Feb 3, 2010


Ignore my posts!
I'm aggressively wrong about everything!
Pokemon Red/Blue is actually especially prone to this craziness because they had to take out the error handling that would've been there. It's of an era where they started implementing that as a matter of course, but they didn't actually have room for it.

Cardiovorax
Jun 5, 2011

I mean, if you're a successful actress and you go out of the house in a skirt and without underwear, knowing that paparazzi are just waiting for opportunities like this and that it has happened many times before, then there's really nobody you can blame for it but yourself.

Cleretic posted:

Pokemon Red/Blue is actually especially prone to this craziness because they had to take out the error handling that would've been there. It's of an era where they started implementing that as a matter of course, but they didn't actually have room for it.
That is to say that they took out all of the usual error handling that would normally lead to a program crashing with an error message when, for example, it is handed something like raw and unformatted game data in place of the audio file that should play a Pokemon's "call" when it enters battle. Instead, it just keeps chugging along and tries to make sense of what it is told to work with, even when there is no sense to be found. It's why Blue and Red had so many exotic and creative glitches that you would normally never see outside of an early alpha build.

The Cheshire Cat
Jun 10, 2008

Fun Shoe

Cardiovorax posted:

That is to say that they took out all of the usual error handling that would normally lead to a program crashing with an error message when, for example, it is handed something like raw and unformatted game data in place of the audio file that should play a Pokemon's "call" when it enters battle. Instead, it just keeps chugging along and tries to make sense of what it is told to work with, even when there is no sense to be found. It's why Blue and Red had so many exotic and creative glitches that you would normally never see outside of an early alpha build.

A fun story about Pokemon that demonstrates how absolutely crammed that cart is and how they had to hack everything together to do it is that Mew was not added to the game until after they'd removed the debugging tools used for testing during development, because they needed to free up that space for Mew's data. They basically just went "well I hope this doesn't break anything!"

zedprime
Jun 9, 2007

yospos
"Wow I can't believe there's a 151st pokemon!"
Neither can GameFreak, kid.

Regalingualius
Jan 7, 2012

We gazed into the eyes of madness... And all we found was horny.




Weren’t there also issues that came up from them adding (almost) the entirety of the RBY continent to Gold/Silver/Crystal? Like having to cut the Safari Zone?

Like Clockwork
Feb 17, 2012

It's only the Final Battle once all the players are ready.

They almost couldn't fit Johto proper, that any of Kanto made it in at all is testament to Iwata's code wizardry.

That said I suspect that the safari zone may have been primarily cut more for bug-related issues since the first two gens shared a lot of code and fixing why e: the safari zone teleport to an out of bounds glitch city happens probably wouldn't have been feasible with the time/money they had, mostly judging by there being a proto-safari zone left in the data.

Cleretic
Feb 3, 2010


Ignore my posts!
I'm aggressively wrong about everything!

Like Clockwork posted:

They almost couldn't fit Johto proper, that any of Kanto made it in at all is testament to Iwata's code wizardry.

That said I suspect that the safari zone may have been primarily cut more for bug-related issues since the first two gens shared a lot of code and fixing why e: the safari zone teleport to an out of bounds glitch city happens probably wouldn't have been feasible with the time/money they had, mostly judging by there being a proto-safari zone left in the data.

Yeah, a lot of the ways they 'fixed' bugs in the 8-bit Pokemon generations wasn't by actually fixing it, but by removing the way people triggered the bug in the first place. Missingno. and other glitch Pokemon still exist in Yellow (in fact they might be worse), but they removed the ability to rewatch the catching tutorial, so you can't do the classic Cinnibar Coast glitch. They didn't fix the ability to go into glitchy areas by handling doors weird, but they removed the Safari Zone that people used to trigger it in gen 2.

Like Clockwork
Feb 17, 2012

It's only the Final Battle once all the players are ready.

The Cinnabar Coast glitchiness was actually fixed by either marking those tiles as "water wild battles" or making them not generate encounters. I'm pretty sure I did all the steps in Yellow as a child and was very confused as to why it didn't work. (And a good thing too, Yellow Missingno.'s massive sprite size makes it much more destructive, especially on emulators that don't properly emulate echo RAM like the Virtual Console.)

The full details are explained on either TheZZAZZGlitch or Crystal_'s channel but the tl;dr for the unfamiliar is that the game stores the player's name in the grass wild Pokémon data when the Old Man capture cutscene plays, which is fine because in most of the game either you can't get into fights or it would be overwritten by the proper encounter data. But in the process of translation, those tiles on the Cinnabar Island coast were incorrectly assigned "grass" instead of "water" and you got access to the buggy encounter table generated by the values of characters in your name because they didn't have a preset table to draw from.

Pretty good
Apr 16, 2007



Is there any documentation of how the Missingno glitch was first discovered? Like, I've always imagined it originated from some nerd posting on some niche forum about weird stuff they found while messing around with an emulator, and it spread online from there before eventually filtering down to 8yos telling each other about it at recess, but I'd love to know the specifics.

Cleretic
Feb 3, 2010


Ignore my posts!
I'm aggressively wrong about everything!

Pretty good posted:

Is there any documentation of how the Missingno glitch was first discovered? Like, I've always imagined it originated from some nerd posting on some niche forum about weird stuff they found while messing around with an emulator, and it spread online from there before eventually filtering down to 8yos telling each other about it at recess, but I'd love to know the specifics.

Missingno was likely before emulation was big enough that it would've been initially found that way, but remember: Pokemon is loving huge and played mostly by young children, so chances are likely that instead it was sort of a monkeys-on-typewriters situation. With so many kids doing so many different things in this one game, it was almost inevitable that eventually a couple of them would stumble onto this relatively easy to perform glitch by accident. I don't think it's something we can trace back to one place, given when and likely how it came about.

Incidentally, something I remember from my own childhood is that the Missingno steps in my local area didn't direct you to Cinnabar Island; they directed you to Fuchsia City, and then down to the east coast of Seafoam Islands, which has the same behavior. To me that sort of thing lends credence to the 'no single discovery' idea, because it seems like two totally different ways to perform the glitch developed in parallel.

Testekill
Nov 1, 2012

I demand to be taken seriously

:aronrex:

I used to use the Seafoam Islands glitch to catch Safari Zone pokemon all the time when I was a kid. Thankfully it wasn't likely to break my game

Ugly In The Morning
Jul 1, 2010
Pillbug

Pretty good posted:

Is there any documentation of how the Missingno glitch was first discovered? Like, I've always imagined it originated from some nerd posting on some niche forum about weird stuff they found while messing around with an emulator, and it spread online from there before eventually filtering down to 8yos telling each other about it at recess, but I'd love to know the specifics.

It spread before people in its target audience really even used the internet all that much, so it’s super hard to track but like the above poster said, was probably from a shitmillion eight year olds hammering away at it.

Cardiovorax
Jun 5, 2011

I mean, if you're a successful actress and you go out of the house in a skirt and without underwear, knowing that paparazzi are just waiting for opportunities like this and that it has happened many times before, then there's really nobody you can blame for it but yourself.
Yeah, the Missingno glitch was already well-known as early as 1999, back when the original Red/Blue games were still new.

Light Gun Man
Oct 17, 2009

toEjaM iS oN
vaCatioN




Lipstick Apathy
I always assume it spawed from game genie usage

maswastaken
Nov 12, 2011

The game kind of encouraged players to do the thing that triggered the glitch.

How do you get an encounter? Move a whole lot.
Why do you want lots of encounters? Got a pokédex to fill.
Isn't that kind of boring and repetitive though? Very.
How can you safely move a whole lot while watching TV or something? Go along the east coast. Walls stop you from going too far up or down.
How far out do you need to go for encounters? Zero tiles.

Ugly In The Morning
Jul 1, 2010
Pillbug

maswastaken posted:

The game kind of encouraged players to do the thing that triggered the glitch.

How do you get an encounter? Move a whole lot.
Why do you want lots of encounters? Got a pokédex to fill.
Isn't that kind of boring and repetitive though? Very.
How can you safely move a whole lot while watching TV or something? Go along the east coast. Walls stop you from going too far up or down.
How far out do you need to go for encounters? Zero tiles.

Except it requires rewatching the Pokémon catching tutorial as a first step, so i dunno why you would do that when you’re at the point in the game where you have a pokemon with surf.

Adbot
ADBOT LOVES YOU

Kikas
Oct 30, 2012

Ugly In The Morning posted:

Except it requires rewatching the Pokémon catching tutorial as a first step, so i dunno why you would do that when you’re at the point in the game where you have a pokemon with surf.

You forgot about what the dude does and you mash through the text and start the tutorial again, then fly to Cinnabar in frustration, go right and get the encouter on the first tile, corrupting your savefile.

  • 1
  • 2
  • 3
  • 4
  • 5
  • Post
  • Reply