MissingNo.'s Glitchy Appearance Explained

  Рет қаралды 1,042,664

Retro Game Mechanics Explained

Retro Game Mechanics Explained

4 жыл бұрын

How does MissingNo. end up looking like the way it does? And how exactly are Pokémon sprites displayed on the screen? It's all explained right here.
LINKS
Twitter (updates): / retrogamemechex
Patreon (support): / rgmechex
Discord (discussion): discord.rgmechex.com
PATRONS
Thank you to all of my patrons who support the channel!
Anthony Losego, Dan Salvato, F. Murmel, Jonathan Aldrich, Ange Albertini, Avi Drissman, Mike Gerow, Larry Koubiak, Tina Wuest, Owen Christensen, Gynvael , Buddy , Chris Margroff, Brandan Lennox, Nik , Jason Hughes, Diamond Ice, Chris Post, Cypher Signal, Shannon Potter, Rupix , Gabe S, krivx , Walter Huf, Pixy011 , David Spalding, Acceleration Shark, David Johnson, Rory Kelly, Carl Cassler, Joe Mecca, Michael Greb, Kefen , Heptonion, leftler , Scott Beca, 19day , Michael Dragone, John Losego, Travis , Arthur Kunkle, tripper , Nebelwerfer Granitara, Sten , 333Rich333 , Glenn hEADcRASH Sugden NPC, Alex Yancey, David Mazarro, Steven , null , Ryan , Corey Ogburn, Martin Trozell, Garret Kelly, Jake Hickman, Narskogr , Joel Kuhn, Dan Shedd, Sembiance , Xander , 4F Panda, Max Roncace, A Sentient JDAM, Brian Henriquez, Travis Nellor, Zach Hugethanks, dishsoap42 , Mikely Whiplash, Yakov , Oxygen Chen, RetroReversing.com , yuriks , Ceres , Jeremiah , jesugtz , Chris Roy, Chris Connett, Mark , Matthew , sapslaj , Jonathan Scott, Xkeeper , Bjoern Hansen, ers35 , Daniel Bernard (ReckedCat), Lukas Kalbertodt, Vier Ladair, Bwangry , iPaq , zephyrin , Kit Spindler, Johnathan Roatch, Jeremy Wright, Brandon , Matt Shepard, Felix Freiberger, Sypwn , Niles Rogoff, Kusabi , Reflet , Yann Le Brech, Evan , Eugene Bulkin, Walter Weaver, Gethiox , Articate , Julien Oster, buzzert , Steve Losh, Samuel Stoddard, HattyJetty , Paige ? Hex, Yeero , Cruz Godar, Linh Pham, Noah Greenberg, Nick Rogers, Sean Nelson (audiohacked), Bryce , Andrew Yukhymchak, Sean Bryant, John Gabriel, BazBadger , Kyle , Master Knight DH, Tim Romero, Michael B., Eric Loewenthal, Adrian Haslinger, Proxy , Nolan Varani, Thoscellen , Wii2 , Daniel Robinson, Hans Jorgensen, waielal , Daniel A.A. Pelsmaeker, Aaron, Max Gartung, Nicolas Dohrendorf, Eric Hoppe, Chaz Serir, derHinek, & Gyiyg!

Пікірлер: 2 200
@SethEverman
@SethEverman 3 жыл бұрын
jesus this is an incredibly well made video
@sugarwizard8676
@sugarwizard8676 3 жыл бұрын
Oh hello there
@obscurus4339
@obscurus4339 3 жыл бұрын
Interesting to see you here!
@GoldenThunderYT
@GoldenThunderYT 3 жыл бұрын
8 likes lol
@MultiWolfLink
@MultiWolfLink 3 жыл бұрын
No lie your bowser unboxing made me so mad I didn't get one myself.
@senkigoh6304
@senkigoh6304 3 жыл бұрын
i agree bald guy
@gretarreynisson3280
@gretarreynisson3280 4 жыл бұрын
13:25 Ah yes my favorite Pokémon, A Pair of Rocks. Very useful against Scissors, not so much against Papers.
@wraithcadmus
@wraithcadmus 4 жыл бұрын
What's the betting it's not Rock or Ground type?
@gretarreynisson3280
@gretarreynisson3280 4 жыл бұрын
wraithcadmus I’m betting 10₽ it’s a Rock type and 20₽ it’s a dual Rock/Rock type
@Bagabundoman
@Bagabundoman 4 жыл бұрын
I always had trouble finding the Stone Stone so I could evolve it into Three Rocks.
@SomeIdiota
@SomeIdiota 4 жыл бұрын
Missed opportunity to say Scizor!
@wraithcadmus
@wraithcadmus 4 жыл бұрын
@@Bagabundoman Like Game Freak would be lazy enough to make a mon that's just three of an earlier one!
@uljk5699
@uljk5699 4 жыл бұрын
Missingno graphics in a nutshell: A quality worker getting gibberish order from his new erratic boss.
@treeeve
@treeeve 3 жыл бұрын
Yep
@justafan9206
@justafan9206 3 жыл бұрын
Heh. Funni.
@lagcom
@lagcom 3 жыл бұрын
Him: “the actual compression and decompression algorithm used in the game is fairly complicated” Also him: decompresses an entire 5*5 Pokémon sprite by hand on a livestream
@Lokear
@Lokear 2 жыл бұрын
Well, yeah, but he is a lot more capable than a spaghetti-code Game Boy game.
@hznwhz
@hznwhz 2 жыл бұрын
That part of the video was playing right when I read your comment. Coincidence? I think not
@alfonzog6327
@alfonzog6327 2 жыл бұрын
He did WHAT
@FreeSeoul
@FreeSeoul Жыл бұрын
@@Lokear lol what. You sound so dumb here. You think, in retrospect, that he is smarter than the Game Boy developers who made the game? (not spaghetti code btw, you clearly don't know what that means) It's a lot easier to understand old techniques than invent new and improved ones.... you think someone who recounts Newton's laws is smarter than them because they can write proofs faster? hahah bro. Just be quiet man.
@earlymorninstonedpimp
@earlymorninstonedpimp Жыл бұрын
Obviously it wouldn’t take him a lot of time, he already knows how it all works. A person with surface knowledge would take a while to figure it out.
@Flowtail
@Flowtail 4 жыл бұрын
As a computer science major, it continues to astound me that computers work at all
@ais4185
@ais4185 4 жыл бұрын
Life is a suboptimal computer in many places, so that's pretty amusing as well.
@Leafia_Barrett
@Leafia_Barrett 4 жыл бұрын
@@ais4185 Yep. Glitches in biological computers are what we tend to call "disorders", and oh boy there are SO MANY of those that exist.
@cybersilver5816
@cybersilver5816 4 жыл бұрын
@smb85 dkc94 really efficient calculators.
@benn454
@benn454 4 жыл бұрын
@smb85 dkc94 What they already were before the internet was invented. Number crunchers, digital libraries, and overly complicated typewriters.
@felixvelariusbos
@felixvelariusbos 4 жыл бұрын
Best of luck on your studies! Here's some spoiler alerts from somebody now in industry: computer and programs only work when you don't look at them too closely. As soon as you start setting eyeballs on them you realize it's just a pile of string and duct tape somebody set up 5 years ago and then ran away from before somebody else could notice.
@fders938
@fders938 4 жыл бұрын
Watching that hall of fame data get overwritten with garbage was so satisfying.
@meILM
@meILM 4 жыл бұрын
Nice
@centdemeern1
@centdemeern1 4 жыл бұрын
Yeah, right?
@deoxal7947
@deoxal7947 4 жыл бұрын
THE SACRED TEXTS
@baragonkunfan94thesecondar60
@baragonkunfan94thesecondar60 4 жыл бұрын
Deoxal ==\ ah shid sorry i was cleaning tea off my ipad screen
@sometimesidreamaboutamelia7703
@sometimesidreamaboutamelia7703 4 жыл бұрын
its kinda like how i watch sorting algorithm videos because they look so cool but i desperately want to stop watching it and get back to work
@ktvx.94
@ktvx.94 4 жыл бұрын
The whole not shifting pokemon and just slapping missingno whenever a pokemon was removed is the classic "I shouldn't do this, but it'll do for now" programmer move. Also I'm so amused by how the game didn't crash with all those indexes going out of range. Unreal Engine take note!
@abaque24
@abaque24 Жыл бұрын
The game's code is as magical as the concept behind the games XD
@elementgermanium
@elementgermanium Жыл бұрын
Fun fact: modern games would have the potential for more ridiculous glitches, but they have error detection systems that INTENTIONALLY crash the game if something too weird happens.
@kylek.3689
@kylek.3689 Жыл бұрын
​@@elementgermanium Yeah, because one of the even weirder things that can happen is arbitrary code execution, which you definitely don't want in networked multiplayer games.
@AllThoughts3rased
@AllThoughts3rased 11 ай бұрын
​@@kylek.3689not to mention we're usually not dealing with such low-level programming. Early Pokémon games were likely coded entirely in assembly which doesn't have most of the safety nets most modern high-level languages have.
@JetFalcon710
@JetFalcon710 11 ай бұрын
@@AllThoughts3rased Yeah, most early games were coded in assembly, including the first generation of Pokemon games. The programmers had to cut all sorts of corners to fit all that data into such a small cartridge _(I want to say like 16 KB)_ and have it actually function. The fact that those games work at all is a miracle tbh
@OtherTomKat
@OtherTomKat 4 жыл бұрын
“Now I’m not going to go in depth, but,” *Proceeds to melt my brain with incomprehensible computer language*
@nameless......................
@nameless...................... 4 ай бұрын
now someone use smth like 8F or smth else to A.C.E every single possible glitch pokemon.
@JetFalcon710
@JetFalcon710 19 күн бұрын
​@@nameless...................... You mean 8F?
@nameless......................
@nameless...................... 19 күн бұрын
@@JetFalcon710 edited to fix error
@JetFalcon710
@JetFalcon710 19 күн бұрын
@@nameless...................... Epic
@nameless......................
@nameless...................... 19 күн бұрын
why did my reply dupe to here
@ShinoSarna
@ShinoSarna 4 жыл бұрын
Broke: Gen 1 was held together with tape and strings Woke: Gen 1 pushed Game Boy to its limits, and if it glitches, it's because it pushed too hard
@wingedmirage4226
@wingedmirage4226 4 жыл бұрын
Why not both? :)
@nickolaswilcox425
@nickolaswilcox425 4 жыл бұрын
hey now, played correctly it stays within its limits, people just tend to not like to do that for long
@wingedmirage4226
@wingedmirage4226 4 жыл бұрын
Nickolas Wilcox True. One of the reasons Gen 1 is so fascinating is that most glitches don’t come up/aren’t that noticeable if you aren’t looking for them, so you can have a perfectly normal game if you want. Even now it’s fun to play normally, even if it’s a little basic and rough compared to newer games. The main thing that hasn’t aged well is the movepool.
@nickolaswilcox425
@nickolaswilcox425 4 жыл бұрын
@@wingedmirage4226 that and the type table, damn psychic's
@wingedmirage4226
@wingedmirage4226 4 жыл бұрын
Nickolas Wilcox That too. Though you know what might’ve helped with Psychics a little bit? Having a Bug move that did remotely decent damage. The best Bug move in Gen 1 was Pin Missile. PIN MISSLE. Oh, and the only damaging Ghost move outside of Night Shade was LICK. (Which wouldn’t affect Psychics this gen anyway, but still).
@computer-love
@computer-love 4 жыл бұрын
*memory: unprotected* *buffer: overflown* *hall of fame: corrupted* *yep.. it's segfault time 😎*
@joshuahudson2170
@joshuahudson2170 4 жыл бұрын
MMU not found. Can't segfault.
@anubeia
@anubeia 4 жыл бұрын
make a segue escape on your Segway
@kanden27
@kanden27 4 жыл бұрын
...Hotel: Trivago
@crqf2010ruler
@crqf2010ruler 4 жыл бұрын
@@kanden27 Trip: Advisor
@KayOScode
@KayOScode 4 жыл бұрын
I don't think it had an os
@ImShep117
@ImShep117 4 жыл бұрын
Me at age 10: “who’s that Pokémon?!” Me at age 30: “WHYs that Pokémon?!”
@Cyorg13
@Cyorg13 3 жыл бұрын
I don't get it. Where is the funny?
@SETH_420
@SETH_420 3 жыл бұрын
funny, did laugh
@CarlosFernandez-yu1mz
@CarlosFernandez-yu1mz 3 жыл бұрын
The most underrated comment
@braintwo3398
@braintwo3398 3 жыл бұрын
How's that Pokémon
@ohhiman
@ohhiman 3 жыл бұрын
@@braintwo3398 my charizard says hes doing fine
@themetalone7739
@themetalone7739 3 жыл бұрын
Back in the red/blue days, 10-year-old me was briefly obsessed with Missing Number. I noticed, after catching one just to see what would happen, that beating the Elite 4 afterward caused my winning pokemon images to glitch...one of them glitched into a sprite of Mew. After I realized Missing Number can evolve, I experimented for a pretty long time; convinced that there was some sort of massive secret locked within this glitched mess of pixels. As with almost all the "secrets" (more like child folk-lore) from those games, there really was nothing to find.
@lucatdcat8720
@lucatdcat8720 2 жыл бұрын
@@gik0kaleidos417 K
@TheSwiftblad3
@TheSwiftblad3 2 жыл бұрын
@@gik0kaleidos417 k
@frostedflakes11
@frostedflakes11 2 жыл бұрын
I had the hall of fame glitch too
@PKNproductions
@PKNproductions 2 жыл бұрын
"Child folk-lore" is so fascinating to me. There's an academic term for this, "children's culture" -- the unique subculture created and maintained by children, with little to no influence from adults. Somehow through friendships with kids at other schools, cousins in other states and countries, etc. you end up with this global "children's culture" that propagates itself. Even as we grow out of childhood, new young children replace us and maintain many of the traditions and beliefs we left behind. I remember a Reddit comment where somebody shared some of the new Pokemon rumors he learned from his young child. The most fascinating thing was that corrupted versions of the same rumors from 20+ years ago still persisted among these young kids. Apparently this guy's kid heard about a secret Pokemon named "Mysterio" who could give you many items but at the risk of destroying your game. The legend of Missingno lives on, retained through oral tradition amongst children. That's pretty mind-blowing to me.
@galaxybolt1748
@galaxybolt1748 2 жыл бұрын
@@PKNproductions I am probally wrong here so take EVERYTHING i say with a truckload of salt thinks this may happen due to it being like a stream of children lets say you are in middle school 6th grade first year there you hear about a mystical secret in a game called "I’m using this game as an example for a comment since i can’t think of anything AKA Needed Something" you try to find the secret in "Needed Something" you turn up blank but then you go onto 7th grade and hear about a secret in a game called "Needed Something 2" you tell some 6th graders about it they believe you you try to find the secret and find SOMETHING related to it but it doesn’t lead where you want you go onto 8th grade and hear of a secret in a game called "Needed Something The 3RD Final Battle" you try to find the secret and you find nothing but before that happened you told a few 7th graders about it and they believed you you leave the middle school for 9th grade but those 7th graders are now 8th graders and those 6th graders that were told about it by the 7th graders just like you did they are now 7th graders and tell the new 6th graders and this keeps looping AGAIN THIS IS JUST SOMETHING I THOUGHT UP TAKE IT WITH A TRUCKLOAD OF SALT (had to add like 50% of this cause accidentally hit enter button HOPEFULLY youtube goes "Yep you can edit this otherwise you have some half finished story)
@danielstephenson7558
@danielstephenson7558 4 жыл бұрын
I'm guessing everyone else was playing Who's That Pokémon as the decompression algorithm was animating, yeah?
@Ails1234
@Ails1234 4 жыл бұрын
I actually recognized the rock sprite...
@hesterfranks9716
@hesterfranks9716 4 жыл бұрын
it's jigglypuff from above
@andrewprahst2529
@andrewprahst2529 4 жыл бұрын
Hester Franks That joke shall never be forgotten
@scyobiempire4450
@scyobiempire4450 4 жыл бұрын
I thought Magikarp was Rapadash.
@Leafia_Barrett
@Leafia_Barrett 4 жыл бұрын
"Who's that pokemon? It's OH GOD WHAT" I actually got Magikarp right, I recognized the mouth and eye.
@DragonDePlatino
@DragonDePlatino 4 жыл бұрын
I like how Magnemite's sprite is hanging out in the middle of that eldritch garbage like "sup"
@TrueLimeyhoney
@TrueLimeyhoney 4 жыл бұрын
Twice!
@SnoFitzroy
@SnoFitzroy 4 жыл бұрын
Same with Tentacruel, this is because they have "real" dex numbers and their names don't corrupt enough of the data to fuck up the sprite
@pmangano
@pmangano 4 жыл бұрын
charizard made an appearance as well
@takeastepback3333
@takeastepback3333 4 жыл бұрын
also Rattata.
@TrigramThunder
@TrigramThunder 4 жыл бұрын
@@TrueLimeyhoney thrice actually, with the first and third appearances being uncorrupted and the second one having the top left 8x8 square corrupted. check the video carefully and you'll see the same. also the beta sprite for tentacruel with crossed arms (not his actual sprite in game but stored here nonetheless) and the sprite for charizard.
@Liravin
@Liravin 4 жыл бұрын
now I'm wondering why this is the only time I've seen a KZfaqr simply use avatars instead of usernames when listing all of their patrons. so elegant.
@Tinkatube
@Tinkatube 4 жыл бұрын
Fun fact: The Glitch Pokemon that are missing from certain parts of the ID no.s will sometimes evolve into certain other Pokemon. There's one that evolves into Kangaskhan. People suspect that baby Kangaskhan used to be a Pokemon because of this.
@Mswordx23
@Mswordx23 4 жыл бұрын
It's funny how I think I'm going to understand this.
@RudiGallon
@RudiGallon 4 жыл бұрын
and how important for me to know this.
@mrbagel7719
@mrbagel7719 4 жыл бұрын
Like you want to make games? If so, same here.
@floxiesaysreadmybio4988
@floxiesaysreadmybio4988 4 жыл бұрын
I don’t understand it, but I’m obsessed with game and tech stuff
@joemck85
@joemck85 4 жыл бұрын
As a programmer who grew up with Pokemon Blue, this is particularly fascinating (though I want to know more about the decompression algorithm and should probably just go read it on the "pokered" project on Github). The workings of these older, simpler machines and the clever tricks they used to work around limited memory space and CPU speed are amazing to see. But this stuff is pretty much meaningless if you want to make modern games or software -- you shouldn't be doing anything like this, and if you do and it glitches out like this you just see "Segmentation fault" or a pretty backtrace pointing out the exact line in your code where the poo hit the fan.
@RudiGallon
@RudiGallon 4 жыл бұрын
@@joemck85 salute for you my friend
@m0n5a80
@m0n5a80 4 жыл бұрын
I love how MISSINGNO's sprite, even if it's just random data, still has something that looks like an eye.
@kevinhaddad9420
@kevinhaddad9420 4 жыл бұрын
It's like how we see things in clouds that's just part of the natural tendency of the human brain to recognize patterns that aren't necessarily there
@kasyu1101
@kasyu1101 4 жыл бұрын
and the true form looks like a face
@CheddarVG
@CheddarVG 4 жыл бұрын
And a mouth.
@SongbirdOfficial
@SongbirdOfficial 4 жыл бұрын
I don't see it
@donutman4020
@donutman4020 4 жыл бұрын
Derpion the Derpy me neither
@MultiCeilingCat
@MultiCeilingCat 3 жыл бұрын
I think this is pretty amazing, especially when you think all of this is running at the same time on a gameboy. Like, every sprite you see goes through this sort off stuff to display correctly inside of the game. Every battle you've had, even with your pokemon cry video, all of this is running at maximum capacity to make Gen 1 a reality. This really opens the eyes to how amazing the coding kind of was to make this game happen.
@blooTalkoes
@blooTalkoes 2 жыл бұрын
even though missingno literally exists because of spaghetti code
@Michallote
@Michallote Жыл бұрын
@@blooTalkoes yeah, to be fair I think they didn't have a choice. To add many layers of protection or remove content. I'm so glad they did it the way they did
@thatphatbaby
@thatphatbaby Жыл бұрын
And it was written in assembly. GameFreak engineers were freaking wizards dude.
@georgechapman-brown9833
@georgechapman-brown9833 Жыл бұрын
@@blooTalkoes They were coding in assembly, so they didn't have the option of making non-spaghetti code! The term 'spaghetti code' was invented after higher-level languages with better control structures (loops, if/else) were created, to poke fun at how difficult earlier code was to track (and later coders that didn't want to learn the new tools). In assembly, you only have go-to commands, so that's what they used - thus, it was only spaghetti code!
@blooTalkoes
@blooTalkoes Жыл бұрын
@@georgechapman-brown9833 yes, i know
@ampoulgon8716
@ampoulgon8716 4 жыл бұрын
The whole decoding sprites part was like "whos that pokemon?"
@blanchfor
@blanchfor 4 жыл бұрын
This is the type of in depth content that actually teaches you something. Great work!
@araigumakiruno
@araigumakiruno 4 жыл бұрын
very good editing work too
@araigumakiruno
@araigumakiruno 4 жыл бұрын
@@B3Band bruh if you are gonna be hating better you go away
@SuperRedstoneman
@SuperRedstoneman 4 жыл бұрын
@@B3Band We don't criticise what we enjoy, that is how humans work m8.
@phorchybug3286
@phorchybug3286 4 жыл бұрын
If only actual school was like this.
@sylvierose2799
@sylvierose2799 4 жыл бұрын
@@araigumakiruno who are you quoting?
@john2001plus
@john2001plus 4 жыл бұрын
I used to program Gameboy Color for a living. This is slightly nostalgic for me. I don't understand why they divided the sprites into two bit planes unless that is how they are normally stored in memory. It has been 19 and 2/3 years since I last programmed a Gameboy, so I don't remember.
@Kawa-oneechan
@Kawa-oneechan 4 жыл бұрын
Because it'd compress tighter that way.
@john2001plus
@john2001plus 4 жыл бұрын
@@Kawa-oneechan I understood, but that does not seem to me like a given. Data is data, and it can compress either way. However, if it leads to more white space in the characters, then that totally makes sense.
@RGMechEx
@RGMechEx 4 жыл бұрын
Yeah, I had trouble understanding the developer's intentions here as well. The compression algorithm used here was more efficient when compressing data with lots of runs of zeros, so my guess is that either they tested it and found this format more efficient, or there was a different compression algorithm used earlier in development where this splitting made more sense.
@john2001plus
@john2001plus 4 жыл бұрын
@@RGMechEx The dumbed down Z80 in the Gameboy doesn't have much processing power, so doing more work decrompressing could be an issue. However, if it is a one time thing at the beginning of a level, then it is probably not a problem, because it would likely take a fraction of a second. However, when I was programming the SNES, it was constantly pulling information from the ROM as you scrolled through long levels.
@john2001plus
@john2001plus 4 жыл бұрын
@@RGMechEx In the 1990's, one of my coworkers was working on a compression algorithm that would combine similar looking characters. If the characrters were animated, your eye is not likely to notice that a pixel or two was off, because it would only be on the screen for a frame. As a side note, I am impressed that the original Super Mario Brothers used the same characters for the clouds and the bushes, where just the pallete was different.
@ReySilverskin
@ReySilverskin 4 жыл бұрын
14:40 So what you're saying is, in-universe, Missingno's appearance is that of an eldritch data construct representing the very concepts of human speech and writing, and that's why its true form is indecipherable to mortal eyes. That's fucking awesome.
@missingno2401
@missingno2401 4 жыл бұрын
ur right
@darkfent
@darkfent 4 жыл бұрын
As a kid this felt so magical and mysterious...as an adult it is fascinating due to how the glitch becomes that way
@kbhasi
@kbhasi 4 жыл бұрын
13:24 I like that you even edited the display output as well! 🤣🤣🤣 "A pair of ROCKS appeared!"
@JJASalazar
@JJASalazar 4 жыл бұрын
My favorite thing about your videos is the fact that I can understand them, despite the fact I have never done anything with assembly language. You do a great job keeping it understandable while still diving *way* deeper than any other channel I've seen.
@SadoMessiahLP
@SadoMessiahLP 4 жыл бұрын
Thats true. My only criticism is that it is a bit too fast to get whats going on at some points. He should maybe make longer pauses between sentences to give viewers some time to think.
@The_Essential_Review
@The_Essential_Review 4 жыл бұрын
@@SadoMessiahLP .75x speed in settings
@SadoMessiahLP
@SadoMessiahLP 4 жыл бұрын
@@The_Essential_Review No, that slows the entire video down to a crawl and does not adress my critique
@somemong989
@somemong989 4 жыл бұрын
Speak for yourself, I have no idea what's going on but I still enjoy it.
@SadoMessiahLP
@SadoMessiahLP 4 жыл бұрын
@Belial I don't like that either, however he makes almost no pause between sentences. If I did that in school when doing a presentation, I'd have gotten a worse grade. It's just better when you try to teach people something to make longer pauses... Not everybody is an expert on this field. I'm talking about 1 sec. of pause between sentences... Maybe I also feel that way because my native language is german and german feels like a slower language than english with longer pauses...
@joseortega7815
@joseortega7815 4 жыл бұрын
Shout out to my 4th grade classmate Ali Abedin, where ever he may be. He taught me the Missingno. trick and it changed my life forever. Lol
@Mizu2023
@Mizu2023 7 ай бұрын
My guy doxed his classmate wtf
@joseortega7815
@joseortega7815 7 ай бұрын
@@Mizu2023 Since when is giving a shout out "doxing" someone? Fkn zoomer.
@trollnerd
@trollnerd 4 ай бұрын
I remember this first time i found out about this. I was so proud of my level 60 Mewtwo so i dueled my friend and he pops out a level 100 dragonite and incinerated me. He was nice enough after that to teach me the rare candy glitch and we basically only did level 100 battles after that haha.
@Damian_1989
@Damian_1989 2 жыл бұрын
13:24 this is actually from a cut part in the game where you have to find the rocks before using them in the Safari Zone.
@MrKhaz101
@MrKhaz101 4 жыл бұрын
"The actual compression and decompression used in the game is fairly complicated so I won't go into much detail here." You mean everything else is LESS THAN fairly complicated??
@MyHandleIsAplaceholder
@MyHandleIsAplaceholder 4 жыл бұрын
It's unfairly complicated
@professionalprocrastinator8103
@professionalprocrastinator8103 4 жыл бұрын
Curious question. By complicated was he talking about the wavelet transform?
@xanfsnark
@xanfsnark 4 жыл бұрын
@@professionalprocrastinator8103 I don't think so, that would have been very odd for the era. I found a page that suggests it uses a variation of the LZSS compression algorithm, which is a kind of dictionary coding algorithm. Edit: wiki.nesdev.com/w/index.php/Tile_compression
@professionalprocrastinator8103
@professionalprocrastinator8103 4 жыл бұрын
@@xanfsnark Thank you, that was useful
@aubreyh1930
@aubreyh1930 3 жыл бұрын
This guy explains everything really well. You might have to rewind a few times but it makes sense with a very basic understanding of computers
@lakelimbo
@lakelimbo 4 жыл бұрын
I remember people at the time saying that Missingno.'s sprite was actually a corrupted Yoshi sprite, lol
@madajahpowell9023
@madajahpowell9023 4 жыл бұрын
That may have been because of an April fools joke made by the devs of Pokemon. It went something like this, it was a dragonite that would evolve into yoshi.
@spongeboi.offical3901
@spongeboi.offical3901 3 жыл бұрын
He was erased from relating after failing his taxes
@blitzie66
@blitzie66 3 жыл бұрын
@@spongeboi.offical3901 huh
@Lokear
@Lokear 2 жыл бұрын
@@madajahpowell9023 Wait, was that *from* the devs? I knew it was in a gaming magazine, but I was under the impression that it was made up by the authors.
@jesusramirezromo2037
@jesusramirezromo2037 Жыл бұрын
@@madajahpowell9023 It wasn't the devs, just an unofficial magazine
@MathematicPony
@MathematicPony 4 жыл бұрын
Recently graduated with my bachelor's in computer science - you definitely earned a sub from me with this video!! Messing around with Pokemon glitches and roms as a child was one of my very first introductions to certain computer science concepts. I remember my dad teaching me hex conversions so I could work with action replay codes easier. But beyond that, I always felt a great deal of affection for the first gen pokemon glitches. When I was a kid, I used to do Red/Blue glitch runs where I would demonstrate to my brother as many Red/Blue glitches as I could in a single run over a couple of hours. Great fun. Thank you for this video. It feels so nice to understand more about something that ended up pointing (haha) me in this direction in life. 'M having part of its sprite data in its name is poetic justice, and finally understanding why the Hall of Fame data gets completely chewed up is really cathartic. Seriously, thanks so much.
@greentetrahedron7992
@greentetrahedron7992 4 жыл бұрын
you said the compression system was complicated, but id still love a video on it (or at least some good resources for learning more), even if it is more technical than usual.
@Priw8
@Priw8 4 жыл бұрын
Same tbh, I wonder what kind of compression they implemented on the gameboy back then
@Tatsh2DX
@Tatsh2DX 4 жыл бұрын
Had to be something simple like LZ77 because the Gameboy doesn't have much RAM
@kamil118
@kamil118 4 жыл бұрын
@@Tatsh2DX yes, it was a variant of LZ77 wiki.nesdev.com/w/index.php/Tile_compression#Pok.C3.A9mon_LZ
@petemagnuson7357
@petemagnuson7357 4 жыл бұрын
Judging from how to the animations play out, it seems to be based on "write X 1s at position Y". I tried googling it but I could only find off-topic forum threads and dead links :(. Edit: It looks like someone else found the answer while I was typing my reply, and my guess about the algorithm is quite inaccurate. Oh well.
@AiOinc1
@AiOinc1 4 жыл бұрын
What he means is *over*complicated for no reason
@iMac9991
@iMac9991 4 жыл бұрын
for a game that is "held together by scotch tape" this sure is complex
@Leafia_Barrett
@Leafia_Barrett 4 жыл бұрын
They took the Game Boy and stretched every possible limit as hard as they possibly could to make this game. It's not exactly surprising that they needed to tape up a few holes here and there.
@NoriMori1992
@NoriMori1992 4 жыл бұрын
It's complex _because_ it's held together by scotch tape.
@estellaruiz3125
@estellaruiz3125 4 жыл бұрын
imagine rockstar goes apeshit and adds every single game in one disk?
@kirin1230
@kirin1230 3 жыл бұрын
@@Leafia_Barrett I'd say Gold and Silver, along with Link's Awakening, pushed the Gameboy to it's limits. And yes, they do work on the original Gameboy.
@Lokear
@Lokear 2 жыл бұрын
@@kirin1230 Just like how Sun and Moon pushed the 3DS... and then the Ultra games *really* pushed the 3DS.
@riozuiderduin9928
@riozuiderduin9928 4 жыл бұрын
I would love to see what some of these glitchy Pokemon "should" or "were supposed" to look like. I'm definitely going to be waiting for that video. Pre-emptively, thank you for doing that, it's something I've always wanted to know.
@50zezima
@50zezima 7 ай бұрын
If you watched the video, doesn't seem to be possible.
@photonic083
@photonic083 5 ай бұрын
This is not possible. Their graphics data weren't supposed to be anything, because they aren't graphics data in the first place. Imagine you take an image document, rename it to a txt, and open it. You will see random garbage, because that text wasn't supposed to be anything. It's not text.
@demonic-deadbeat3212
@demonic-deadbeat3212 4 жыл бұрын
MissingNo - The Most Legendary non Legendary Pokémon in the World.
@Yipper64
@Yipper64 4 жыл бұрын
0:12 pokemon were designed so well even the glitches have a recognisable silhouette.
@helloofthebeach
@helloofthebeach 4 жыл бұрын
Even the garbage is iconic.
@mechalinkergaming7169
@mechalinkergaming7169 4 жыл бұрын
You got 69 likes. Nice.
@NoriMori1992
@NoriMori1992 4 жыл бұрын
I don't see any glitch at that timestamp.
@Yipper64
@Yipper64 4 жыл бұрын
@@NoriMori1992 sorry, i fixed the timestamp
@ImSquiggs
@ImSquiggs 4 жыл бұрын
This is the single glitch that started my love back in the day for investigating weird game mechanics... it was my first glimpse into the ability to manipulate someone's programming in a weird but fun way
@ariss3304
@ariss3304 4 жыл бұрын
Squiggs 【Glitches - ROM Hacks - Speedruns】 you should look into corruptions
@TrickyRover
@TrickyRover 4 жыл бұрын
Do you have any favorite glitches? Besides Missingno of course.
@wes9451
@wes9451 4 жыл бұрын
Missingno was special in that it corrupted just all the right things. The sucker had no defense, randomized item 6 to find but got caught by the 99x item limit. Its not a pokemon I'd ever actually use in-game. But you sure loved those not so rare candies.
@LonelySpaceDetective
@LonelySpaceDetective 4 жыл бұрын
I remember reading as a kid about how the Pokémon data for MissingNo. comes from trainer data being interpreted as something it isn't. I think that was when I realized that there isn't really anything fundamentally different about types of data on a binary level.
@SelkieSurrogate
@SelkieSurrogate 2 жыл бұрын
12:37 Him: Let's create a new one just for fun! *Me still trying to understand the old ones* Amazing job, dude, seriously
@pacsmile
@pacsmile 4 жыл бұрын
Holy shit, i can't imagine the amount of work you put to edit this video, all the animations on the compression side are just so well done and help understand what you're saying, kudos to you man.
@l9m241
@l9m241 4 жыл бұрын
Now all we need is a video about the "True Cry" effect that some glitch pokemon do. Like with "4 4" in pokemon yellow. It just trashes the graphics, and the sound with encountering it. Especially when it produces Pikachu's sounds in a crazy corrupted way.
@CoTeCiOtm
@CoTeCiOtm 4 жыл бұрын
This video about Pokemon opened a can of worms (well, maybe not worms heh), now we want all glitches explained on this channel haha! This guy is so good at this! Some other people try to explain glitches and either get so technical it doesn't make much sense to me, or I end up wanting more.
@Chaos89P
@Chaos89P 4 жыл бұрын
@konakonaa How does that explain how some forms of Missingno, to me at least, sound like Nidoran♂ or Dragonair? Was the sound pointer get sent to the right spot?
@Chaos89P
@Chaos89P 4 жыл бұрын
@konakonaa I do not play with 3Trainerpoké or similar glitches. I don't know what they'd do to my 3DS.
@Chaos89P
@Chaos89P 4 жыл бұрын
@konakonaa Doesn't seem to be the case with OG Metroid, from what I heard. Trying a vulgar password with older firmware can apparently brick the system. Now, I heard that you can fix the bricking by taking the battery out, but I'm not fool enough to even try the password on an emulator. It can be a killer POKE on an NES, as well.
@asra-5180
@asra-5180 4 жыл бұрын
@konakonaa well, we now have the source code so maybe there is a way to find it out.
@syrup4835
@syrup4835 4 жыл бұрын
This is going to sound a bit like an insult but isnt: I am 100% falling asleep listening to this. Your voice is perfect to soothe my anxiety. I can barely understand the maths behind whats going on but I’m still engaged and interested just enough to not fall into panic thoughts. Genuinely dude thanks for the amazing content!
@Nyerguds
@Nyerguds Жыл бұрын
It is rare to see such accessible and yet in-depth and correct explanations about this stuff. As someone who's dug into old DOS sprites and compressions in the 1-bit to 8-bit graphics era, I salute your efforts.
@TPGTheProGamer
@TPGTheProGamer 4 жыл бұрын
Thank you so much for this video, it exactly what I was looking for a cs student. You clearly have a great understanding of the content and a very impressive teaching ability. The animated graphics, use of real ingame sprites, and visualizations of data were extremely well crafted. The added touch of the other missingno(s) at the end was also awesome. Keep up the good work! :)
@Tatsh2DX
@Tatsh2DX 4 жыл бұрын
'this video is getting pretty long'... No! Keep going
@helloofthebeach
@helloofthebeach 4 жыл бұрын
"This is too long" is something creators always worry about and viewers always wish they wouldn't.
@mikebarr2436
@mikebarr2436 4 жыл бұрын
For real. I would watch a feature length film about this.
@roberte2945
@roberte2945 4 жыл бұрын
@@helloofthebeach This guy could make hour-long videos and I'd watch every second.
@Waccoon
@Waccoon 4 жыл бұрын
Yeah, I'm not sure people with short attention spans tend to watch these kinds of vide... SQUIRREL!!!
@Srcsqwrn
@Srcsqwrn 4 жыл бұрын
Through the video I was getting more and more into a trance. By the end I felt like I was maximum absorbing information, and then it ended. D:
@shapeswitch_mood7221
@shapeswitch_mood7221 4 жыл бұрын
Who thought that the uncorrupted data would show an actual sprite?
@MimoriAzume
@MimoriAzume 4 жыл бұрын
I was ready to see Missingno's true form tbh
@LonelySpaceDetective
@LonelySpaceDetective 4 жыл бұрын
Data is data. Even if it isn't the "right" kind of data, it will be interpreted as though it were unless there's error or sanity-checking going on. Have you ever tried loading a .dll into Audacity (or other audio editing programs, presumably) as raw audio data? You can do that, and it'll play a sound. It might damage your speakers and/or ears, but it can do that because ultimately it doesn't care if the data it's getting is audio or not; it'll try to play it anyway.
@pmangano
@pmangano 4 жыл бұрын
@@LonelySpaceDetective you can also do the opposite and load any kind of extension on notepad to see raw data of anything.
@olbluelips
@olbluelips 3 жыл бұрын
@@pmangano You're almost right, but I'll nitpick. Notepad won't actually show you the raw data properly, since even Notepad expects a particular format! There are plenty of bytes that won't display at all. :)
@3lH4ck3rC0mf0r7
@3lH4ck3rC0mf0r7 3 жыл бұрын
@@olbluelips Any byte that is not in an UTF-8 table gets displayed as a space, in a similar way to how anything that isn't ASCII gets displayed as a dot in a hexeditor. But it is similar in that Notepad will show you a lot of garbage text. Glitch tiles are kind of a lost art though, since memory segmentation became a thing... and as long as you're not dealing with a dying hard drive or graphics card, but it's kind of amazing that plaintext editors are among the only remaining programs to lack any kind of header checking, and will continue to open _anything_ as text. I would've expected them to implement a small arbitrary line length and filesize limit, along with rejecting any files with non-printable characters in them sometime in the 00s. I know Notepad has a filesize limit, but it'll stop responding and get extremely sluggish long before you hit it, and I know many text editors in Linux have a line length limit, but they'll all open files with invalid bytes in them. I know multiple codepages are a thing, but even then, it's a rare find in modern computing. I get Audacity's raw audio option, since it's impossible for them to tell apart what's intended to be digital audio and what isn't. The raw audio format itself uses the entire byte range and has no parameters or headers aside from the waveform's samples themselves, making literally anything 100% valid raw digital audio. But afaik, the different plaintext formats don't use the entire byte range and positions for printable text characters, so invalid bytes should be possible to catch, and in fact are caught...
@niemiec2601
@niemiec2601 4 жыл бұрын
14:26 Me Reading the Fun Fact: ...Therefore, a specified width of zero is treated as a width of 256! Also Me: Man, That must Be *THICC*
@elli_senfsaat
@elli_senfsaat 4 жыл бұрын
Avoiding too much data then: Highly complicated, but genius compressing of sprites. Today: DeXiT
@elli_senfsaat
@elli_senfsaat 3 жыл бұрын
@the hevy excuse me? I never said anything about not understanding
@esotericVideos
@esotericVideos 4 жыл бұрын
I wonder if RGME just looks at MissingNo and instantly understands him. Like being able to read the code in The Matrix.
@forgado7396
@forgado7396 4 жыл бұрын
Imagine saying something is boring but your profile picture is _C_
@Potato2017
@Potato2017 4 жыл бұрын
lol
@ryjelsum
@ryjelsum 4 жыл бұрын
It definitely helps that there is a disassembly of pokemon red/blue, so he can literally read the code :)
@koopa1018
@koopa1018 4 жыл бұрын
@@forgado7396 I mean, some people do still write in C rather than C++, even in today's world~
@andrewsprojectsinnovations6352
@andrewsprojectsinnovations6352 4 жыл бұрын
@@koopa1018 I basically use C++ for its improved graphics/audio libraries (currently SFML). My actual code and game logic are mostly written in standard C, and I just swap in the C++ libraries and syntax wherever they differ (for example, iostream vs stdio). This makes it easier to port the code to older systems in the future, as the only things I need to change are the graphics and audio calls, and replace iostream's cout calls with stdio's print() function.
@johnwest6690
@johnwest6690 4 жыл бұрын
"Looking at theoretical glitch pokémon that don't actually exist" I genuinely CAN'T wait for that. I've always treated glitch Pokémon almost as an unintended DLC for gen 1 lol, and I've always been fascinated by this type of stuff, I'm definitely subscribing to see that video.
@kjl3080
@kjl3080 3 жыл бұрын
"discovering something that doesn't exist" - Phineas and Ferb
@Curlyheart
@Curlyheart 3 жыл бұрын
Oh no smile dog I gotta spread the word aaaah
@SobrietyandSolace
@SobrietyandSolace 3 жыл бұрын
Once I realised Pikablu didn't exist the glitch Pokemon became my Pokegods.
@deadchannel408
@deadchannel408 2 жыл бұрын
nice pfp
@cheychc
@cheychc 4 жыл бұрын
these videos are so well animated! Thank you for making this! such a cool explanation!
@WilliamAndrews0
@WilliamAndrews0 4 жыл бұрын
it would have also been very interesting to explain why you would meet missingno only after setting the memory in a certain way and some steps have to be very accruate, whereas other steps can be done in any way that you want. I know this was only about the appearance, but in general that would have fit he theme i think
@cheetah219
@cheetah219 6 ай бұрын
Yes I agree, I would love to learn more aboit how certain movements and button entries can lead to memory manipulation
@gamesux420
@gamesux420 4 жыл бұрын
Ok but, am i the only one that would be incredibly hyped to see missingno as an actual pokemon? It doesnt even sound too absurd when you realize theres already Porygon and its evolutions, which are basically not glitched MissingNo. Imagine seeing a Nintendo direct and theyre like "let us introduce a new pokemon" and its MissingNo I'D SCREAM
@FoundedScreenLady
@FoundedScreenLady 4 жыл бұрын
Google "Phancero" It's basically a fan version of what Missingno. would look like, if it were to be an official pokemon.
@SadoMessiahLP
@SadoMessiahLP 4 жыл бұрын
@@FoundedScreenLady But how did they come up with this design for missingno.? It has nothing to do with the original sprite or original MissingNo. except for the Bird Type and that its supposed to be a glitch Pokemon within the context of the games it appears in... Pretty bad design in my opinion. They should have stuck to something that more closely resembles the original Missingno..
@FoundedScreenLady
@FoundedScreenLady 4 жыл бұрын
There's actually a lot in the design that makes sense. The color palette matches the original Missingno., as well as the bird typing giving the bird-like body. There's a lot of subtle but minor details that link it together basically.
@SadoMessiahLP
@SadoMessiahLP 4 жыл бұрын
@@FoundedScreenLady Yes but when I saw the sprite I did not think of missingno. as it looks so drastically different to the original. One could maybe make a bird like Pokemon and distort the sprite to this weird backwards L shape. Maybe use animations that make the Sprite change from the fully distorted version to a non distorted version. You could even include inbetween stages and semi-randomize it to really make it look weird, glitchy and unstable. Missingno. should not look like a regular Pokemon...
@FoundedScreenLady
@FoundedScreenLady 4 жыл бұрын
@@SadoMessiahLP There is a sprite that does that distorted/non-distorted change though? Point is though, it's designed to look like an official Pokemon, not a glitch. It's a "what if" scenario. You're looking too far into the concept.
@zelenpixel
@zelenpixel 4 жыл бұрын
god thats so interesting.. would love to hear on how some of the other glitch sprites came to be like that jumbled bulbasaur at 20:17
@renakunisaki
@renakunisaki 4 жыл бұрын
That appears to be the correct Bulbasaur graphic but the wrong bounding box.
@petemagnuson7357
@petemagnuson7357 4 жыл бұрын
Yeah, check out 6:30 or so for what wrong bounding-box sizes look like, everything gets a bit jumbled into the left columns.
@lutyanoalves444
@lutyanoalves444 4 жыл бұрын
what are you talking about? thats the correct sprite for my favourite pokemon: jumblesaur
@EeveeloveIEeveelove
@EeveeloveIEeveelove 4 жыл бұрын
He explains it earlier in the video! Basically, when a glitch Pokémon shares its ID Value with a Pokemon (it seems that Pokémon have multiple ID numbers assigned to them in a number wraparound manner), it will attempt to load that Pokémon's sprite. Where it gets jumbled is when trying to calculate the bounding box, ending up at a non-square or rectangular shape. You made me think harder about this, and now I think I actually gained a better understanding for the whole thing. :)
@mistashadow
@mistashadow 4 жыл бұрын
It's strange that it loads Bulbasaur, considering that dex number 85 is actually Dodrio. But Bulbasaur is $55 $4000 Dodrio is $77 $4000 ID 224 is also $77 $4000 Weird stuff.
@gax1864
@gax1864 2 жыл бұрын
Been learning more about memory management and efficiency in C, and this video showed up under recommended. Great supplemental material for any C programmer seeing it all in action. Especially if you are nostalgic for the Gameboy. Thank you for all of the work you put into making this video.
@visionseeming
@visionseeming 4 жыл бұрын
Wonderfully explained as always RGME! Keep up the great work!
@DoubleATam
@DoubleATam 4 жыл бұрын
For anyone curious, the blue tiles in the glitch list at the end come from control characters. When the game reads one in the script, it turns it into a whole word, often something cumbersome to write a lot or something dynamic like a player name.
@LonelySpaceDetective
@LonelySpaceDetective 4 жыл бұрын
Incidentally, this is why naming yourself "ASH" gets you different Pokémon from the Old Man glitch than choosing the ASH preset name. The preset names actually set your name to a control code that prints the selected name out when read, while the name you enter in yourself is just stored directly as text and printed normally.
@Kairos_Akuma
@Kairos_Akuma 3 жыл бұрын
@@LonelySpaceDetective Kinda. The Preset Ash has all other names stored after it. Like ASHREDBLUEJACK or whatever. That's why you get different stuff and neither 'M nor Missigno.
@eFeXuy
@eFeXuy 4 жыл бұрын
As always your presentation is beatiful, and I love the way developers of these old systems had to deal with system contrains
@helloofthebeach
@helloofthebeach 4 жыл бұрын
I've never seen that patron avatar roll-in anywhere else and it's extremely cool.
@ryanjordan9003
@ryanjordan9003 4 жыл бұрын
Hey, I’m currently in college (senior in EE) and I recently took a course in Microprocessors. Just want to say, your content is awesome, and extremely well researched, since I have always wondered how the games I love truly work. I can only look at Assembly for finite amount of time before I rip my hair out, so props to you for putting in that time and work. Keep doin what your doin man, it’s awesome!
@chipan9191
@chipan9191 Жыл бұрын
Watching this I understand why gamefreak said that encountering Missingno can corrupt your game and make it unplayable even though this wasn't true. Obviously overwriting data not associated with the sprite because the tile size is designated too large could be pretty bad and gamefreak may not have known at the time what data was being overwritten, but may have known that some data unassociated with battle sprites was being overwritten when Missingno was encountered. It's just very fortunate that the only data being overwritten was Hall of Fame data.
@InnocentGuillotine
@InnocentGuillotine 8 ай бұрын
Missingno is also (iirc) only harmless in EN R/B (and possibly JP Blue?), almost every other version's Missingno (including Yellow and JP R/G) uses incorrect data that causes crashes on load or other negative effects. It is astoundingly fortunate that the version with the easiest to see Missingno has the most harmless version, rather than it ending up like early FFVI revision Sketch Glitches.
@chipan9191
@chipan9191 8 ай бұрын
@@InnocentGuillotine in think in Pokemon yellow version Missingno. has a cry which soft locks the game. It doesn't actually crash it. But if you encounter fossil or ghost sprite versions, they're harmless in yellow.
@Myth1221
@Myth1221 4 жыл бұрын
Here's the thing about long videos; We all secretly love it.
@flyingfish1138
@flyingfish1138 4 жыл бұрын
I want the next pokemon essential handbook to have a page for missingno that’s covered in glitchy text and messed up graphics. They’d also list him as the only bird type, making him incredibly rare.
@TrigramThunder
@TrigramThunder 4 жыл бұрын
you just made me look what pokemon essential handbooks are. they aren't a thing here, since instead of Scholastic, nintendo itself sells "pokedex books" for every generation, but they're a bit bigger, pricier, more high quality and more geared towards a non-child audience. they also sell matching guides for every generation of games and they've been doing this ever since firered and leafgreen in 2004. the experience of playing each new game is really enhanced by having a handy book easy to navigate with even the most intricate secrets and tricks by your side, so when you have any doubt on how to do something you can just look it up there, and maybe get lost reading interesting facts in the process and over the course of your playthrough end up much more knowledgeable of each new respective generation than if you had just played the games unaided.
@flyingfish1138
@flyingfish1138 4 жыл бұрын
Francisco Manuel Sánchez Rubio cool
@the2401
@the2401 2 жыл бұрын
@@TrigramThunder I always had the essential handbooks as a kid, but I never used it while playing the game because I always found Google more convenient lmao. but now I want to find one of my old handbooks and use it while playing
@CurtBlakeslee
@CurtBlakeslee 4 жыл бұрын
It only took 40 seconds of this video for me to subscribe. The explanations and animations are so crisp, and the subject matter seems right up my alley. Awesome stuff!
@TenshiNyako
@TenshiNyako 4 жыл бұрын
Awesome and detailed work here. Never played this game but were unable to stop watching this video. Good job.
@the_big_dededester
@the_big_dededester 4 жыл бұрын
I feel like you should cover Charizard 'm, the 255th Pokemon, who also happens to be the embodiment of the Cancel button. It'd be very interesting to cover, I think.
@braintwo3398
@braintwo3398 3 жыл бұрын
Same with Q, who is actually a fusion Scientist since you can use a glitch to combine two Pokémon together. Like Pikachu and Lapras, or Porygon and the glitch Pokemon X x .
@LaskyLabs
@LaskyLabs 4 жыл бұрын
So with the blue and yellow source code leak, I'm excited to see what kind of videos you can make on pokemon now! There's so much cool stuff we're finding!
@undergroundmonorail
@undergroundmonorail 4 жыл бұрын
Did the source leak? I know there's a really good disassembly but I hadn't heard that
@LaskyLabs
@LaskyLabs 4 жыл бұрын
@@undergroundmonorail a lot of stuff leaked. Mainly localization files and what not. But the source for yellow and blue leaked, and I actually managed to compile yellow and run it. There's a ton of things already being found, like references to a pokemon pink. There were also releases of assets and graphics, but no actual prototype build of gen 1 Hopefully we'll be able to play that soon... Wouldn't it be so cool?
@undergroundmonorail
@undergroundmonorail 4 жыл бұрын
@@LaskyLabs Huh! That's really cool, though I bet the people who worked on the disassembly feel like they got a kick in the pants :P
@LaskyLabs
@LaskyLabs 4 жыл бұрын
@@undergroundmonorail I'm sure they learned plenty while doing it. They could compare and see how well they did! Then put their skills to work on other games. If I had worked on it, I'd be very excited.
@undergroundmonorail
@undergroundmonorail 4 жыл бұрын
@@LaskyLabs Yeah, I'm not being entirely serious, but I feel like on some level there would be a voice saying "come on!!"
@foamingstuffye3951
@foamingstuffye3951 4 жыл бұрын
Thank you again for another one of your amazing videos. I'm looking forward to them more than is probably healthy! I didn't get to comment earlier because I hate writing on my phone (which is where I faithfully watch all your vids), but now I remembered I should probably thank you properly. Please keep your amazing work up!
@CC-lm1tw
@CC-lm1tw 3 жыл бұрын
I find this stuff so interesting. I watch a lot of explanations of Pokémon programing and glitches, but this video is by far the best. Pretty much explains everything in all the games up to the switch id say.
@kpando4952
@kpando4952 4 жыл бұрын
meanwhile game theorist be like "y'all wanna know if mario would survive the coronavirus"
@The_Essential_Review
@The_Essential_Review 4 жыл бұрын
LOL
@xVisuaLxEffects
@xVisuaLxEffects 4 жыл бұрын
Underrated comment.
@greendaquil
@greendaquil 4 жыл бұрын
Game theory looks at stuff like the lore and science behind the stories not the mechanics. Don't diss my boi matpat.
@kuromifan10
@kuromifan10 3 жыл бұрын
@@blueartist4011 he’s already dead stop
@blueartist4011
@blueartist4011 3 жыл бұрын
@@kuromifan10 ...
@altaccout
@altaccout 4 жыл бұрын
Your visualization of writing out of bounds gives me giggles for some reason, it's great.
@TannerCh
@TannerCh 3 жыл бұрын
This is SUCH a fantastic video! Thank you for taking the time to make it!
@orangehatretro
@orangehatretro 4 жыл бұрын
I'm excited for the follow up video! Great work!!
@kinshraslave3450
@kinshraslave3450 4 жыл бұрын
Thats why they load in looking like they're coming out of a shadow!!!!
@madajahpowell9023
@madajahpowell9023 4 жыл бұрын
Yeah, cool!
@Pokeplan
@Pokeplan 4 жыл бұрын
Me, watching this video and pretending to understand anything: Ah yes, I too like to buffer
@FaeFemboi
@FaeFemboi 4 жыл бұрын
This is really cool, and I can' t wait to see you try and fix the sprites! I've always wondered why he looked that way, and what he was meant to be if he wasn' t so glitched!
@sukidable
@sukidable Жыл бұрын
2 years later and I still revisit this video sometimes. Another thing that you really have to appreciate is the extreme limitations they had to work with. On better or more modern hardware, improving compression to save 300 some bytes would be a waste of time for such a miniscule amount of data. But on ancient hardware like this, every single byte matters.
@Omnituens
@Omnituens 4 жыл бұрын
I was literally looking into how this was working last night. This has answered some of the questions I was had, like why it was appearing to make multiple copies of the data into RAM. I also saw they were using the stack pointer to move 2 bytes of data at once, which I thought was pretty nifty.
@renakunisaki
@renakunisaki 4 жыл бұрын
I noticed Gold/Silver used the stack pointer technique to quickly copy tile buffers to VRAM and was similarly impressed.
@AlexJones-qf7rw
@AlexJones-qf7rw 4 жыл бұрын
Oooh I'm deffo looking forward to seeing you attempt to recover the "real" sprite of the MissingNOs
@mason3872
@mason3872 3 жыл бұрын
I’m glad someone actually understands it and doesn’t spread misinformation. All too often does this happen. Also if anyone wants to know what a ‘sprite’ is it’s not a soda basically, a sprite is a game object that can be moved and animated. That’s a very basic description but every time he says sprite he is just referring to whatever Pokémon is on screen.
@PkGam
@PkGam 3 жыл бұрын
This is easily one of the most detailed glitch explanation videos on KZfaq! Incredible work on this as it's truly fascinating how it generated itself!
@stevenschiro1838
@stevenschiro1838 4 жыл бұрын
"This video is getting pretty long so I'll end it here" This could go on all day and we would all be happy. Amazing work!
@lordkrythic6246
@lordkrythic6246 4 жыл бұрын
Question though. What about when MissingNo took the form of a skeletal Kabutops?
@Pokechu22
@Pokechu22 4 жыл бұрын
It looks like there's some other weird stuff going on, where despite those missingno forms having the same sprite indexes (see 182, 183, and 184 at 19:39), they have the pointers overriden in GetMonHeader (see home.asm lines 552-587 in the pret/pokered repo). Those IDs are also used by the objects in the Pewter Museum to actually display the fossils in engine/hidden_object_functions17.asm (I haven't looked into the ghost one). Mew has similar sillyness (note that its ID is 0x1F, probably filling in something else that was once a missingno).
@LonelySpaceDetective
@LonelySpaceDetective 4 жыл бұрын
@@Pokechu22 Mew was a really late addition to the game, after the debug tools were removed. The story is that after they were done testing the game, someone noticed that there was *just* enough space for one more Pokémon, and snuck in one despite the risk of breaking something. The ID can probably be explained by the programmer (idr who it was that added Mew unfortunately) just choosing an arbitrary slot that wasn't taken by a legitimate Pokémon.
@shirakorimio1363
@shirakorimio1363 Жыл бұрын
AMAZING video! It really makes me want to see you do a video like this on Gen 2 since the coding is so different and genius
@jama211
@jama211 4 жыл бұрын
Holy moly the effort put into the animation here, nice work!!!!!
@GokaiPlatinum
@GokaiPlatinum 4 жыл бұрын
I'm excited to see what "fixed" Missingno looks like.
@GokaiPlatinum
@GokaiPlatinum 4 жыл бұрын
@@ratt2634 I'm just gonna wait for him to do the video on it like he said he would at the end.
@Captain.Dank64
@Captain.Dank64 4 жыл бұрын
Missingno’s move set -crash your game - corrupt your hall of fame - burn game - delete save file
@Kamexe
@Kamexe 4 жыл бұрын
@@Captain.Dank64don't forget freeze/crash your game!
@FoundedScreenLady
@FoundedScreenLady 4 жыл бұрын
@@Captain.Dank64 Inaccurate. Missingno. cannot harm your game, the most it can do is corrupt your hall of fame. Sad to see that Missingno. has this accusation when in reality it's often separate glitch pokemon such as Q or 4 4 that do proper damage depending on the scenarios.
@elfmonster1476
@elfmonster1476 4 жыл бұрын
@@FoundedScreenLady And even most of those are safe, if you know what you're doing. 4 4 is never safe, but Q and Charizard M are fun to play with.
@PrimoBambino
@PrimoBambino 4 жыл бұрын
me: **watches the same topic with different ways of explaning** youtube: wanna see more?
@mangaboss1411
@mangaboss1411 2 жыл бұрын
Although a lot of this is very hard to understand, I'm so glad someone finally did a video that is ACTUALLY in-depth. This is the kind of detailed stuff I've always wanted to hear about game glitches. Love it.
@ComposingGloves
@ComposingGloves 4 жыл бұрын
Man, your editing is so clean and amazing. Like holy cow is it good.
@relt_
@relt_ 4 жыл бұрын
why does missingno make the 6th item in your inventory 255? a video explaining glitch items would be pretty cool imo.
@mechanisedsandcastle
@mechanisedsandcastle 4 жыл бұрын
When you encounter a pokemon, the game looks for a bit representing the "seen" box in the pokedex. If it's 0, it flips it to a 1. This only works properly for pokedex numbers 1-151. Since missingno. has a pokedex number of 0, the pokedex is looking outside of the data it should. The bit it's actually checking is the largest bit of the byte that represents the quantity of the 6th item in your bag. So if you have less than 128 of the 6th item, the game finds a 0 bit at the point where missingno.'s "seen" data is supposed to be, and flips it to a 1. This adds 128 of the 6th item to your bag.
@NeroSkate
@NeroSkate 4 жыл бұрын
@@mechanisedsandcastle I always wondered about this one ha. Just looked at the code and when marking as seen it converts the pokemon internal id to pokedex index, which is 0 for missingno, then substracts 1 which underflows to 255, then uses it as an index to the wPokedexSeen bittfield ($d30a), which is only 190 entries long, this results in the out of bounds write (oob by 13 bytes at $d329 which is 6th item quantity). If the oob write would have been a byte before or after we would have got item mutation which would also be cool
@foamingstuffye3951
@foamingstuffye3951 4 жыл бұрын
@smb85 dkc94 from my understanding, there are basically 256 spots for pokemon, and because your name is being written to the encounter slots for pokemon, it will look for whatever your name's letters point to in memory in terms of pokemon, and it will very likely stumble across an "empty slot", at which point you get a missingno or similar. So now everyone is please free to correct me, but with the exact same coding, if there'd been 256 legit pokemon, there'd have been no possibility of missingno's appearing because the letters of your name would always point to a real pokemon.
@alexstewart9592
@alexstewart9592 4 жыл бұрын
@@foamingstuffye3951 Fun fact - there are exactly 256 pokemon in gen II, and it uses the exact same system. Not only does it not have any glitch pokemon, but every gen I glitch pokemon will turn into a real pokemon if traded to a gen II game using the time capsule. If anything like the Old Man Glitch were to exist in gen II, it would not make any glitch pokemon.
@jotarandom
@jotarandom 4 жыл бұрын
"Fix" Missigno would be like a dream for a 9yo kid... I want see that in the Next video
@TinchoX
@TinchoX 4 жыл бұрын
Fixing garbage data ... hmm is it even possible?
@olbluelips
@olbluelips 3 жыл бұрын
Well, the data isn't an image in the first place, so it would look like garbage no matter what. Maybe you could set reasonable top-left offsets, but it wouldn't look normal
@phuse99
@phuse99 Жыл бұрын
Wow, you are unbelievable, such a good explanation of this, I didn't expect to find this level is depth
@reaper84
@reaper84 4 жыл бұрын
Very cool and professionally made! Keep such videos coming! :)
@jadeharley9442
@jadeharley9442 4 жыл бұрын
You do a really good job of explaining complicated things at a good pace in simplistic ways, and the graphics really help. A lot of similar channels don't give you the pause to appreciate what was just said before continuing.
@koopa1018
@koopa1018 4 жыл бұрын
14:52: Sooo, you're telling me that "MISSINGNO." would technically be a reasonable and correct name for my own in-house text/dialogue box engine? ;)
@twomfan2
@twomfan2 3 жыл бұрын
This video deserves a like... I can't imagine how difficult it was to make all of this... Amazing video!!!
@skylerrizzi
@skylerrizzi 4 жыл бұрын
Definitely looking forward to that follow up video, you’ve earned a new subscriber
@kycrio5356
@kycrio5356 4 жыл бұрын
I absolutely love the way you present these videos, and your editing is top notch! Can't wait for more!
@OddlyTaco
@OddlyTaco 4 жыл бұрын
I watched this while high and enjoyed every bit of it, even if I don’t understand fully
@Eeponae
@Eeponae Жыл бұрын
I'm impressed by your level of knowledge on this, it answers a lot of questions! So excited to go watch the follow-up video now, I was wondering if you could "fix" those sprites what they'd look like :D
@jasonxhx7854
@jasonxhx7854 4 жыл бұрын
Man you put so much work into these videos its beyond impressive. When I caught Missingno on my Blue cart it completely ruined the cartridge's ability to keep a save game. Even after swapping the battery in the cartridge, which I thought would remove any altered data, it STILL wont keep a save.
@SpookySkeleton738
@SpookySkeleton738 4 жыл бұрын
SRAM doesn't lose its data immediately when it loses power, it may keep bits and pieces for a while, you can help it out by shorting out the pins (e.g. with a screwdriver) in the battery socket. If you are sure the SRAM is completely cleared, and it's still not working, then I congratulate you on breaking the laws of physics.
@OrangeXarot
@OrangeXarot 4 жыл бұрын
20:03 TRAINER Now the trainer is the Pokémon lol
Fixing Glitch Pokémon Sprites
14:17
Retro Game Mechanics Explained
Рет қаралды 327 М.
Data Redundancy Errors Explained
22:42
Retro Game Mechanics Explained
Рет қаралды 269 М.
I Built a Shelter House For myself and Сat🐱📦🏠
00:35
TooTool
Рет қаралды 36 МЛН
2000000❤️⚽️#shorts #thankyou
00:20
あしざるFC
Рет қаралды 16 МЛН
Hot Ball ASMR #asmr #asmrsounds #satisfying #relaxing #satisfyingvideo
00:19
Oddly Satisfying
Рет қаралды 49 МЛН
Generation I Pokémon Cries Explained
19:15
Retro Game Mechanics Explained
Рет қаралды 682 М.
MissingNo. hacked this game..
18:00
Linklight Too
Рет қаралды 342 М.
Missingno Trainers Were My Gaster
20:50
HalfBreadChaos
Рет қаралды 140 М.
What Happens if you HACK Missingno Into Every Pokemon Game?
12:43
PokeTips
Рет қаралды 4,6 МЛН
Catching in Gen 1 is really CONFUSING!
11:39
Lyra made a website
Рет қаралды 1,1 МЛН
Bugs & Glitches of High-Level NES Tetris
53:21
Retro Game Mechanics Explained
Рет қаралды 174 М.
The Arcade Game that Crashes Itself for Anti-Piracy Reasons
29:57
Retro Game Mechanics Explained
Рет қаралды 335 М.
The Oldest Pokedex Entries are Unhinged
22:19
MandJTV
Рет қаралды 545 М.
Pokémon Sprite Decompression Explained
34:04
Retro Game Mechanics Explained
Рет қаралды 275 М.
"Q" - The Glitch To Rival Missingno (Pokemon RBY Glitch Explanation)
18:54
Я ВЫЖИЛ ПОСЛЕ ПАДЕНИЯ САМОЛЁТА!
27:28
EdisonPts
Рет қаралды 1,8 МЛН