Revival of Glitch: Odd Giants

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.

Glitch had some beautiful locations to find and explore

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.

BEHOLD THE MAJESTY

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.

All of these locations are still listed, pictured, and mapped-out on the Glitch website, just as if the original game were still operational

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 IV Door Stack Glitch

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).

The door to the pub is push-type, potentially causing Problems.
Image from mynockx’s guide on GameFAQs.

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.

Final Fantasy Wiki: 64 Door Hierarchy Glitch