FPS Dungeon: A Real Raycaster on the Original Game Boy
Four random maze floors, three kinds of monster and a gun, rendered in true first person on a 1989 Game Boy. FPS Dungeon shouldn't work. It does.
Every Game Boy owner of a certain age has had the argument. Somebody in the playground swears their cousin has Doom on the Game Boy, and somebody else says that's impossible, the thing can barely scroll a level of Mario. Both of you were sort of right. The DMG never got a proper first-person shooter in its lifetime, and the hardware was never meant to draw one.
FPS Dungeon draws one anyway. It's a Wolfenstein-style raycaster running on the original grey brick, and you can play it in your browser right now.
Four Floors, No Two Alike
The pitch is beautifully simple. You wake up on the first of four floors. Find the key, open the door, take the stairs down. Clear floor 4 and you're out.
The twist is that the dungeon is built fresh every time. The cartridge generates each floor as you enter it: a winding corridor maze, a few rooms carved out, some dead ends knocked through into loops. The key always sits in the dead end farthest from where you start, and the stairs hide in an alcove behind the only door. So you always know what to look for, but never where, and the run you had yesterday tells you nothing about today's.
It's a roguelike's best idea in a package small enough to finish over a cup of tea.
Who's Coming Round the Corner
Three monsters patrol the halls, and they actually hunt you. Grunts are the dark blobs, plodding along the corridors and dying to a single shot on the early floors. Bats are the menace: they fly at eye level, move twice as fast, and come at you before you've finished turning. One shot drops them, if you can land it. On floors 3 and 4 the brutes turn up, slow and stubborn, soaking three shots each.
Combat is hitscan from the middle of the screen at about four shots a second. Get touched and the whole screen flashes. Hearts, gems and map scrolls lie in the corridors, growing as you approach, and the gun politely lowers itself out of the way so you can see what you're walking over. It's a lovely touch, the kind a commercial game might not have bothered with.
The automap is your best friend. Press Select and the game pauses while you plan, and a scroll fills in the whole floor. Three battery-backed save slots mean a good run isn't lost to a flat battery either.
How Does It Even Do That?
Here's where the nerd in us gets giddy. The 3D view is a genuine 128×64 bitmap, cast as 64 rays two pixels wide by a renderer written in hand-tuned assembly. The Game Boy has no frame buffer, so the game paints straight into tile memory, double-buffers across the two background tile banks and flips between them during VBlank.
Then come the tricks that make it look good. Walls shade by the direction they face, the edge of every block gets a darker outline so corners read clearly, brick walls get perspective mortar lines, and distant corridors fade into dithered fog. The ceiling and floor are dither gradients that sell the depth for almost nothing. Even the title screen shows off, walking a maze on its own behind the logo. Pop it in a Super Game Boy and the whole thing sits in a chunky stone-brick frame.
Where It Shows Its Limits
Let's be honest. The view is a letterbox, 128×64 pixels out of a 160×144 screen, with the HUD and riveted frame taking the rest. That's the price of speed, but it does mean distant enemies are a smudge you learn to recognise by movement as much as shape.
Four floors is also short. A confident player will see the win screen inside one sitting, and the replay value rests on the random mazes and on chasing a faster time and a bigger gold count. There's no difficulty setting and no new enemy types after floor 3. We'd happily take a longer dungeon.
And the Super Game Boy border, while handsome, has so far been checked in emulators rather than on a real SGB.
Pick It Up
None of that takes away from the main event: walking a dark corridor on a Game Boy, rounding a corner, and turning to find a bat already in your face. It's the game the playground swore existed.
Play FPS Dungeon in your browser, check its catalogue entry, or grab the ROM and the full source from GitHub and run it on the real thing. Bring a spare heart.
FAQ
Can I play FPS Dungeon on a real Game Boy?
Yes. It's a standard 32 KB cartridge image with battery-backed save RAM. Download the ROM from the GitHub releases page and run it on a flash cart in an original Game Boy, a Game Boy Pocket, or a Super Game Boy.
How long does FPS Dungeon take to finish?
Four floors, each a new random maze. A careful first run takes a while; a confident one can escape in a single short sitting, and the win screen records your time.