It’s a bit old, but Chaz on Youtube has a great video explaining some weird facts about Earthbound, including mysterious crashes, when the game registers the effects of statuses like Sunstroke, and why there’s a small number of places in the game where you can find an early enemy, the Mole Playing Rough, in regions where you usually find much stronger enemies. It’s ten minutes long:
Here’s the gist:
Earthbound maintains a flag that the video calls the Overworld Status Supression Flag. If this flag is on then your characters can’t get a number of statuses like Sunstroke, or take environmental damage. If this flag is on, though, and your party loses to a scripted (not random) battle, then a bug is triggered that’s popularly called the Game Over Glitch: the battle loss cutscene music plays, but the screen turns black and nothing appears to work. In fact, the game has not crashed: entering the Town Map screen, or feeling around for and entering a door, will display graphics again, although glitched out. The Game Over Glitch is best known for happening if the player loses to one of the Shattered Man fights in the Museum after the game has been won: during the ending, the Overworld Status Supression Flag is set on permanently, so getting into any scripted fight and losing will result in the glitch happening.
As it turns out, random encounters disable the flag. So there is a hard-to-avoid Mole Playing Rough at the entrances to areas with environmental damage, to make sure the flag is turned off. But the mole is just hard to avoid, not impossible, so if you can avoid it, and all other random enemies of course, and then reach a place with a scripted fight, then lose to it, the glitch will still happen.
It’s another highly technical game glitch explanation, although from a source we don’t often follow here: even though it has to do with explaining glitch Pokemon from the first generation of that series, it was the ending presentation of RustCon 2020 given by Siân Griffin, despite having little to do with Rust, other than showing the possible results of not having strong memory safety in your programming language.
It’s 39 minutes long, and it might prove difficult to get through for some, but it’s good and interesting information:
I will give you an overview:
When the original Pokemon games generate a random encounter with wild Pokemon in the overworld, they refer to one of two lists in RAM memory, copied there from ROM. One list is for “grass” Pokemon, that are generated when walking through tall grass, and one is for “water” Pokemon, that are generated when in riding a Pokemon using Surf over water tiles. The lists are copied when entering a new region, with a differing enemy generation table.
Due to an oversight in the tile checking code, a different subtile is checked when generating a Pokemon from each list. This means it’s possible, on some shores, to generate a Pokemon from the grass list when actually on the water. If one of the lists has a Pokemon generation rate of 0% for its type, then its list doesn’t actually get copied. Some regions that are largely aquatic aren’t intended to ever generate grass Pokemon, and so have a 0% grass encounter rate, and so never copy a grass Pokemon encounter table. The Pokemon generated come from whatever was in memory before, which may be all zeros, or may be whatever used the memory in that area previously. Pokemon has little RAM to work with, so the Pokemon generation table memory has other things that use that memory, and one of those is data for the trainers you trade Pokemon with.
If you use Fly to fast travel to Cinnabar Island, you can reach a region where the grass encounter table won’t have been initialized, but you can still cause grass encounters to happen by Surfing on the shoreline. The contents of that table can be manipulated by doing something else that uses that memory beforehand. As a result, you can cause an encounter with an undefined Pokemon, which has the name MISSINGNO and has various glitch attributes.
Because the Pokemon has faulty definitions for some of its attributes, like appearance and cry, it’s possible to crash the game or wreck your save data from playing around with MISSINGNO. But if you run from it, this damage can be minimized. And when it tries to mark that you’ve seen MISSINGNO in the bit array that records which Pokemon you’ve seen, it overshoot that table and actually sets a bit in the memory that follows it, which usefully, is your inventory. Generate the right version of MISSINGNO and run from battle, and you may suddenly find yourself with over a hundred of an item in a specific slot in your inventory. If you put the Rare Candy there before, you now can give your Pokemon over a hundred experience levels, or you could create stat-gain items this way, or lots of Master Balls.
Glitches such as these seems like they’re rare, but really, there’s lots of games that have them. It’s one of the perils of coding your game in assembly, really.
A bit of scanline flickering is a fairly common problem on the NES. Even Super Mario Bros. 3 had it, and that game was made by Nintendo themselves.
Game graphics in the 8- and 16-bit ages often came down to tricky hardware manipulation. The art of doing raster effects, changing the registers in the video hardware so as to divide the screen into different sections, ultimately comes down to timing. On the Atari VCS/2600, nearly all the graphics had to be done that way, but it was still a useful technique for over a decade after that.
A lot depends on the specifics of the video chip, a custom-built piece of silicon developed for the express purpose of taking graphics defined in memory and folding it, like electronic origami, into a shape that the TV would perceive as a broadcast signal. At that time, while it might still have been possible with clever coding, CPUs weren’t nearly fast enough to do that job themselves and still produce acceptable graphic quality and run game logic. (If you want to see what it would be like, I refer readers interested in doing it the very hard way to the amazing Freespin demo, which runs on a 1541 disk drive, and no video hardware at all.)
Older NES games used a supported bit of hackery called the “Sprite 0 Hit,” a signal the PPU would send at the moment the first of the system’s 64 sprites began to be drawn. By watching for it, games could do rudimentary raster effects on a system not designed for them. The issue there was processor time: the Sprite 0 Hit feature wasn’t hooked up to an interrupt line, so the program had to continually watch for it, checking a memory location repetitively over and over until it changed. Some games spent large portions of their runtime in a tight loop checking for the Sprite 0 Hit. Since, from the program’s perspective, the signal might come at any time, the loop needed to be tight, meaning the game couldn’t spend that time doing other work or else it might be delayed in responding to the extremely time-sensitive signal.
The MMC3 mapper had a special function though that could time out when a programmable scanline was reached, and send the processor an interrupt request at that time, greatly freeing up the processor for doing other things with that time. But not all programmers understood the best way to use it, which is why Mega Man 3 has some scanline glitching in a couple of very visible places, in the pause window and on the level select screen.
Displaced Gamers’ Behind the Code series, which we’ve linked to multiple times in the past, has done an exposé looking into how Mega Man III’s glitches happen (28 minutes), and even wrote some code that erases all trace of them. As usual for Behind the Code, the explanation is fairly technical, especially of the fix, but the first half of it is fairly comprehensible. No one says you have to watch the whole thing. Or, indeed, any of it, but I always enjoy them!
PannenKoel2012 is the Super Mario 64 enthusiast (that’s the only word I can think of that matches) who has been working on reducing the number of A button presses needed to finish the game. They haven’t gotten it down to zero yet, and likely never will, but by resorting to increasingly extreme measures they continue to figure out ways to get it down. I think they’ve been working at this project for over 12 years; the oldest video on their Youtube account is that old.
Of arguably more interest than their quest, though, is its interesting byproducts, which is a series of Youtube videos, on both their main channel and alternate channel UncommentatedPannen, which not only explain how their many subtle and effective stratagems work, but also a number of aspects of how Super Mario 64’s engine works, and even basic principles of computer science. These videos are so in-depth that they have their own wiki to track the concepts they use, to explain turns like Parallel Universe (PU) and Pedro Spot.
When I say they return, it’s not that they ever left, but it’d been a while since they had a solid explainer. Now they have one, it has spoken narration instead of the text that marks many of the best videos, and the production values have even increased a bit:
In this video, a clever way to manipulate the pendulums in Tick Tock Clock to crash the game after 39 1/2 days of playing also takes into its sweep an excellent explanation of many of the systems compilers use to represent numbers and their limitations.
The Legend of Zelda: Breath of the Wild is a gigantic game, and where content proliferates, so too do bugs. Many of these bugs are highly entertaining (my favorite is the bullet time bounce), but there are some that are just head-scratching, leaving one to wonder why does this happen? That the occur pulls back the curtain on the many technically complex things a big game like BotW does behind the scenes to realize its world, for, every step of a process that a system must go through is one more opportunity for something to go wrong.
Youtuber Jasper has made a 35 minute video about why, if Link stands in a specific spot in BotW, inside the broken corner of a stone wall, the cel shading usually applied to his model goes away, and he appears with normal light shading. In the way of Youtubers, the explanation is contained within a 35-minute discursive video that goes into the history of game lighting, why some older 3D games have graphics that have aged well while others don’t, the basics of cel shading, and still other topics. Here is that video, embedded:
The whole video is pretty interesting, and if you have the time and interest you should watch the whole thing. However, in the event that this is all tl;dw, allow me to summarize.
Because Breath of the Wild is both a huge game and has a dynamic world, baking lighting in into textures would consume way too much storage and memory, so lighting has to be done dynamically.
As an optimization measure, the more complex steps of cel shading are deferred to later in each frame’s rendering. The main rendering is done, then the cel shading is applied afterward, when the visibility of the area has been determined, so this effort-expensive process is only done for visible pixels.
One of the deferred steps of rendering marks which of nine different kinds of material will be applied to each pixel. Terrain in BotW is not cel shaded, while characters link Link are, so they have different types of material that determine whether that shading is applied to them.
In the location where Link’s cel shading disappears, there is a decal applied to the crumbling bridge that erroneously extends over the corner, and overwrites Link’s character material type with the terrain material, causing the cel shading not to be applied to him.
Castlevania is an old and much-examined game, but its world records have been moving again lately, due to the use of a very interesting glitch that takes advantage of the way it updates its screen in the invisible area outside the display’s area. The above video demonstrates this to remove a lengthy walking section from the fifth “block” of the game, and explains how it was done too. What follows is a text re-explanation of some of it.
Most NES games don’t update the display all at once, but take advantage of the fact that the system has a whole screen’s worth of area outside of the visible region to draw tiles into before they become visible. The NES doesn’t allow direct writing to PPU memory, so there’s only a small window of time in each frame in which screen tiles can be changed anyway.
Castlevania uses a system where, on specific frames, a block is drawn on the side of the screen the player is moving towards, in sequence, starting from the top and moving down on successive frames. It does this seven times, and repeatedly, for each column of tiles the player is moving towards.
However, it doesn’t reset the vertical column progress if the player changes direction! If the player instead moves backwards a small amount at a specific place, it’ll update the column on the other side of the screen instead, leaving the old data in the column the player had been moving towards.
Since multiple redundant passes are made, the player has to do this two or three times as they progress. It’s exacting, but if done correctly, they can cause arbitrary blocks of tiles to be left on-screen from whatever had been in video memory before.
When the player’s character climbs stairs, the game watches for ground tiles as a signal to exit climbing mode and resume walking. If there is no ground there, because it was never drawn there because of this glitch, then the character will continue climbing, up through the air, even through screen transitions, even through floors, until they reach the next bit of ground they can stand on.
It’s an unusually chill thing to play. To get a sense of the game, here is a promotional Youtube video from 2011, which looks a little different from how the game evolved, but conveys Glitch’s great sense of whimsy:
Now, there are lots of forgotten, abandoned, or failed games that are worthy of a second look, or would be if anyone knew of them. They are an invisible ocean around us, most games that have been made, by far, will disappear unknown and unloved. While many of them perhaps aren’t worth knowing about, some of them definitely are. Just because Stewart Butterfield backed this one doesn’t mean it was any good. But, some people liked it, and remember it fondly, and I’m one of them. We like old and forgotten pastimes here at Set Side B, and want to tell as many people about them as we can, as long as we are able.
Glitch was a Flash-based web MMORPG platformer. You played as a glitch, plural glitchen, a humanoid creature living in the land of Ur, which existed within the thoughts of eleven godlike Giants. (Eleven is kind of a sacred number in Glitch and Ur.)
Glitch was created in Flash, and it was already in the outs back then, preventing iOS players from entering. Since Flash is unusable in browsers any more (without alternate runtimes like Ruffle), Odd Giants is implemented in Unity, which means you can’t just jump into the game by browsing to a site, and that you have to download a 1.2 gigabyte client to play. And you’ll have to download a new one when there’s a major update. But on the other hand it means all of the game’s graphics are stored on your computer, greatly speeding load and transition times. I think I prefer to play it this way.
As I said, Glitch was created by Stewart Butterfield, the creator of Flickr and, later, Slack. (In fact, Slack’s communication code has its basis in the chat system from Glitch.) In a move atypical of many rich tech bizzes, when Glitch shut down, its production studio Tiny Speck donated nearly all of the game’s assets to the public domain, which is what makes Odd Giants, and other Glitch remake projects like Children of Ur and Eleven, legal. (Tiny Speck renamed themselves to Slack, but it’s the same company. They just make business communications software now instead of a laid back exploratory MMORPG platformer.)
Glitch, and thus its revival/remake Odd Giants, is a platformer, but it eschews many of the basic principles of platformers. There are no enemies, you never die from falling off the screen, and dangers are few. Platforming, running and jumping, is mostly just a way of getting around and collecting “quoins,” little objects floating around the games many areas. If you never lost that basic joy of running Mario around terrain without having to stomp on things or dodge hammers, you’ll have fun in Odd Giants.
Since the world of Ur is in the Giants’ thoughts you don’t actually encounter them directly as creatures in the game, but their presence is felt in many ways. Particularly, there are shrines to them all over, where you can donate objects for their favor, and eventually earn Emblems and Icons devoted to them.
The world of Ur is divided into a number of regions, each divided into a hash of streets, which are shown on the region map as lines. Here’s a map of Groddle Forest, the starting area:
Each street’s left-right scroll corresponds to its in-game area. If you’re standing at the left edge of a street in the game, you’ll also be at its left edge on the map. Where the streets connect on the map, there are signposts in the game that allow you to transfer to connecting streets. It’s not a completely frictionless way of navigating the game’s regions, but it’s easy to get used to.
If there are no enemies, then what do you do in Ur? Mostly you just run around and collect Quoins, and also water trees, harvest fruit, mine rocks, squeeze chickens, milk butterflies, nibble on piggies, and other miscellaneous activities. These actions are initiated by clicking on an object and selecting the action from a menu. When you do, a progress meter appears, which fills quickly. Most actions just take two or three seconds. As you advance, you become able to more things like make meals or transmute metals, that build off of the things you did at the start.
There is no solid final goal. It’s just a world to explore and have fun in. Without enemies to fight, some people will find this pointless. That’s okay. It was always something that some people would find unappealing. But if you like the idea of a non-violent game where you can talk with friends and do silly things in, then you may enjoy playing Odd Giants.
Aiding in this is a great sense of whimsy and fun that suffuses almost everything aspect of the play. The graphics are charming throughout, with well-animated creatures and many scenic vistas to explore. Almost every text sentence in the game has a joke or two in it. Just playing to see whatever funny thing to see or read next can be entertaining, for a little while at least. The music, especially, is worth checking the game out for a little while. I don’t think I’ve heard a single track that isn’t great.
As you do things, you use up your Glitch’s Energy. If you run out of energy, your little person “croaks” and ends up in Hell! But Hell is a region of streets, just like the others. It’s not hard to get out of Hell. You just run around squishing grapes lying on the ground. Squash enough and you’ll be returned right where you were, although without much energy. You could even spend a Get Out Of Hell Free card, if you’ve found one, and bypass that whole process. A lot of the negative things in Glitch/Odd Giants are pretty light like this. No punishment ever really feels punishing, although it may interrupt what you were doing for a bit.
In addition to Energy, glitches have Mood, which slowly depletes and decreases rewards if it dips too low, and “iMG,” or Imagination, a general advancement currency used to pay for Upgrades and other features, like expanding your house. There’s also experience points, or “XP,” which contributes to a glitch’s experience Level, but Level doesn’t affect the game much at all. It just seems to gate being able to use a few high-end items that you probably won’t even see for a while.
Instead of level, most of your character’s advancement comes from buying Upgrades and learning Skills. Some Upgrades are things like being able to walk faster and getting a triple jump, but most are things like increasing your maximum Energy, increasing the bonuses you get for Quoins, or getting bonus items randomly while doing things, or other things of that nature. Upgrades are bought with iMG, and are offered from a “deck” three at a time. You can buy any that are offered, but to get new options you’ll have to “reshuffle.” This will put the unbought upgrades back into the deck and deal you three new ones. As you buy Upgrades and remove them from play, the deck is seeded with more powerful, and much more expensive, replacements. Every game day (which last for four hours of real time) you’re allowed two free reshuffles, with them growing in price after that. There are also some other special upgrades that can be bought repeatedly, like Get Out Of Hell Free cards, extra Reshuffles, and access to special bonus areas (that, unfortunately, mostly don’t work yet in Odd Giants).
Most Upgrades are nice extras. The need to have Skills, on the other hand, blocks access to more major game features. There’s a complex array of Skills, many requiring other Skills, or particular accomplishments, under your belt before you can learn them in a kind of skill tree. Each skill takes real time to learn, which pass whether you’re in-game or not. Some skills take hours, or even days, to learn.
You start out with the capacity to know ten Skills. Back in Glitch, you could still learn skills if you were over capacity, but they took even longer. In Odd Giants, at least for now, your capacity is a hard limit, but you can raise it with Upgrades.
Some Skills are really basic things, like access to the Info command on objects, or access to the map. Most of them give you new powers, like being able to teleport places, or allow you to use items like the Meditation Orb. Many things are blocked until you learn the requisite skill, so it’s good to always make sure you have one learning, if you have excess capacity, when you log off from the game.
It cannot be denied, though, that sometimes the game feels like a gussied-up skeleton of progression systems with a visual veneer. You can make some cool items later on, like “Essence of Purple” or “No-No Powder,” but you’ll have to master many skills to get to that point. Glitch had a number of mini-games to discover that you could play at low levels by finding Game Show Tickets, and bonus levels you could buy at the Upgrade shop, but none of those things work currently. It makes the early going a bit of a slog, but the players in the game tend to be very friendly and helpful, and willing to give new players advanced items just for asking.
Details to get you started
It’s fun to collect quoins, those little floating powerup items that are scattered in many streets, but truthfully they don’t earn you much. Once in a while a quoin will give you a larger-than-usual bonus, but it’s infrequent, and rarely enough to bother going out of your way to collect them. Still, they’re fun to pick up, so I usually do it anyway.
Your Energy cap is a major limiter of your activity. Food items usually restore Energy, so it’s good to stock up on those. Learning the skill Meditation I lets you use a Meditation Orb, which allows you to regenerate a random amount of Energy or Mood when you want, with only a 30 second timeout to using it repeatedly. I would try to get that as soon as possible.
You’ll want to earn lots of iMG to unlock Upgrades and expand your yard and home. Most things you do will earn you at least a tiny bit of iMG. When you get the Skills to use machines to make stuff, you can usually convert several items at once, which can get you more for less work. A lot of your iMG will come from Achievements, which the game tracks in the background for you, and Quests, which are usually randomly assigned.
There is a bug in the current version (0.14.1), as I write this, that allows you to get all the rewards for most Quests without having to do them. Just cancel the Quest from the quest screen, then exit the game and reenter. You’ll have to wait 30 seconds before coming back in, but when you do you’ll get the full reward! One of the Quests, the one that asks you to construct an Icon, is extremely time-consuming to complete, but has high rewards. This can be used to help fund some of the most expensive Upgrades.
You can gain a lot of iMG every game day by using Emblems and Icons. There are shrines to the 11 Giants around many areas. You can click on one to donate items to it, which awards you an amount of iMG, and well as favor with that Giant, depending on the value (in the game’s money, called Currants) of the item. If you built up 1,000 points of favor with a Giant, you can exchange it for an Emblem for that Giant. (In 0.14.1, the first time you do this with each Giant you’ll receive two Emblems, which is good since you can immediately spend one to unlock an important skill!) Using an Emblem’s Contemplate command can be worth 30 iMG per Emblem of that Giant you’re holding. That takes up a lot of inventory space, so you’ll want to invest in bags, which you can buy from vendors to carry more. It takes a significant number of Currants to outfit yourself with full Bigger Bags, but it’s ultimately worth it because you can carry so many more Emblems, and all kinds of other things too.
If you collect 11 Emblems, you can combine them into an Icon, which can be set on the ground and be Reflected upon, for even more iMG. In the Groddle Heights region, at the moment, there are a number of Icons set up on the ground for people to use, although sometimes they require a small Currant payment. If you can find your way to Xalanga, the region Zealous Rd NE currently has all 11 kinds of Icons set up for easy use.
Some features are not yet coded. Some of these are in the game as Upgrades or Skills that don’t work once acquired. There is no indication which these are, which sucks, but what can I say the game’s under heavy development. One of these as of this writing are the ability to unlearn skills to make room for others, and most of the bonus levels you can buy as Upgrade cards.
At the moment lots of areas have terrain but not much of interest to find in them. Many of the special areas don’t yet work. One that does, at least, are the Savannah areas, among them Choru, Xalanga, Zhambu, Baqala, and some others. Try navigating there if you want to find a lot of valuable items quickly.
There are some other things to do if you explore a bit, but many things that were in Glitch are not yet implemented. It’s a bit wild and woolly in that regard, but presumably that kind of stuff will be implemented eventually. As it is, it’s still fun to log in, customize your character (click on their portrait in the bottom-left corner of the window), and run around and explore.
John Harris: I’ve been playing a ton of Glitch revival Odd Giants, which I mentioned last month. It’s incomplete but still under development, and the original game was never complete anyway. I might write something more on it in the near future.
Josh Bycer: I just started playing Warriors of the Nile 2. it’s a tactical strategy game with roguelike elements too, a lot of ways to break the game with the right skills and every character has their own abilities and strategies to use.
Phil Nelson: I finally have been playing the recent Marvel’s Spider-Man games and Miles Morales really does kick ass as a game most of the time, but I still run into some bullshit. In a more just world we’d have a proper Spider-Man roguelike.
I like how Josh and Phil are talking about roguelikes, and I’m really into an old non-violent MMORPG with like maybe 100 players. I’ve always got to be contrary I guess.
Some years ago there was Glitch, an innovative MMORPG whose client ran in the web browser, and offered non-violent and whimsical play. The land of Ur in that game was overseen by eleven sleeping Giants, and players could create customized characters to roam around, explore, collect things, complete quests, earn achievements, and generally have fun. While there were still dangers (in the form of The Rook, a horde of malicious crows that occasionally attacked) it was mostly pretty chill. It was essentially a platforming world, but there were fun twists on the formula.
They hired on Keita Takahashi, the creator of Katamari Damacy, Noby Noby Boy, and later on Wattam, and although they closed before many of his ideas could be implemented they did manage to release the area Shim Shiri, which was kind of a shortcut hub for the game’s world. Scattered throughout the world were the mouths of gigantic creatures, you see, which you could dive into, zip down their digestive systems, and be pooped out the other end in Shim Shiri. Then you could go to another creature’s butt, jump right up it, and emerge elsewhere! His ideas were recorded on the Glitchipedia on the Glitch game’s website, which is still up.
Glitch was never very popular, but it gathered a passionate fanbase. I started playing Glitch, as often happens with me, right after it was announced that it was closing permanently. I could see, even in the limited time that I was there, that it was special.
Glitch was run by Tiny Speck and created by Stewart Butterfield, who founded Flickr, and afterward went on to create Slack. It’s rumored that Slack’s humble beginnings were in Glitch’s communications code.
If you get the feeling that you missed out on something cool, well, you did. But not forever! Metafilter user fiercecupcake recently informed us of a couple of Glitch revival projects. Tiny Speck thoughtfully contributed all of Glitch’s assets to the public domain soon after they shut the game down to aid in others who wish to revive the game. One of these, Odd Giants, is currently in alpha and playable! It’s implemented as a Unity stand-alone application instead of running in a web browser, and it is a fairly substantial download at around 1.3 GB, so keep that in mind. It is available for Windows, Mac and Linux.
It tends only to have a small number of people online at any given time, but perhaps there lies the seeds of something great? Well, likely not, it is a fan recreation of a dead MMORPG, but perhaps, just perhaps….
The Final Fantasy series is loaded with bugs throughout. A full recounting would be much more than a longpost’s worth, but here is a quick description of one specific example, from Final Fantasy IV (originally II in the US, but most people now will probably think of it by the Japanese numbering anyway).
Some RPGs, instead of coding area transitions all as a sequence of doors and destinations, instead use a form of stack to record where the player was when they entered the door. “Stack” here is a term from computer science, a data structure consisting of a region of memory and a pointed within it. Data can be “pushed” onto the stack, which means putting some number of bytes onto it and advancing the stack pointed by that number. Stacks can “grow” either up or down, meaning when the pointer advances, it’ll go in that direction. When the data is needed again, it’s read off the top of the stack, then the pointer is pulled back to its original position.
So how the door stack works is, when a player enters a location, say enters a town from the overworld, their location before entering is “pushed” onto the stack and they are then moved into the town’s entrance. When they exit the town, their old location is “pulled” from the stack, leaving it empty. (Actually, the data is still there, but because the stack pointer has been decremented, it’ll be overwritten the next time the player enters an area.)
Why use a stack? Well mostly it’s a convenience thing for the programmers. A door’s location can either be “into” an area, or “out of” it. “In” doors have to know where they’re going, but “out” doors just have to know they’re going outside. But it helps in one particular instance; if a game has a spell or item like “Exit,” “Outside,” or “Warp,” it can work simply by pulling every location off the stack until it gets to the last one. This means the programmers don’t have to have every location “know” where a given area is on the World Map. Just rewind the door stack until you get to the last location on it, that must be it.
Well there’s a subtle bug in some locations in Final Fantasy IV where some transitions that push when they should pull. One such transition is the one to the pub in the Dwarven Castle. When you enter the pub, the way in is pushed onto the stack; when you exit, instead of pulling that location off, the way out is pushed onto the stack.
There’s only so much memory reserved in a stack, which for old games is usually implemented as a single page (256 bytes) of memory. The pointer into it is thus one byte long, and so if the stack fills up, it wraps around. If you find such a door, and go through it enough times, you can cause it to overflow on purpose, with unexpected results.
This can be taken advantage of in Final Fantasy IV by overflowing the stack, then going through a pull-door, which causes the game state to be read from unexpected memory. Speedrunners (you just knew they’d be involved) use this to flip rapidly to the end of the game. Most players will never notice this very subtle bug, since when you return to the world map the game knows enough to completely clear the stack.
Something I’ve noticed about the 8- and 16-bit Final Fantasy games is, if there is a potential for an obscure bug somewhere, there is almost certainly going to be an example of that bug somewhere in that code. A lot of these bugs are only visible to a player with obsessive observation or repetition. This results in spells with unexpected effects, stats with no function, features that don’t operate, and item duplication bugs. Truly, it was an age before unit testing.