Making Crawl of the Forsaken: Fate, the Ancient Cave, and a 3D pipeline that fits in a browser tab
· 4 min read
Crawl of the Forsaken is the most technically ambitious thing on Legitsauce — a real-time 3D dungeon crawler running in a browser tab — and also the most nakedly nostalgic. It's a love letter to two games separated by a decade and a genre, and it exists because a one-person studio decided to model an entire bestiary the cheap way: in code.

The two ancestors
Fate (WildTangent, mid-2000s). If you had a family PC in that era, you might remember it: a top-down action RPG about descending an infinite dungeon below a cozy town. Fate understood something most dungeon crawlers don't — the town matters as much as the dungeon. Every vendor was a named character. Your pet trotted alongside you and could be sent topside to sell loot. The rhythm of descend, fill your bags, come home, kit up, descend deeper gave the endless dungeon a heartbeat. Crawl of the Forsaken lifts that rhythm directly: the basecamp hub is staffed by named townsfolk, not menus, because Fate proved a shopkeeper with a name beats a shop screen every time.
Lufia II's Ancient Cave. Buried inside a 1996 SNES JRPG is a 99-floor randomized dungeon that quietly invented half the roguelite genre. Floors reshuffle every run, but a sliver of progress persists between attempts, and the descent has fixed checkpoints where you can bank your progress or push your luck. That push-your-luck checkpoint structure is the spine of my game: Crawl of the Forsaken is 99 floors across 10 biomes with a dragon at the bottom, and portal floors checkpoint your descent — skip one to save time and the next death costs you double. Skill points bought between runs persist forever, so even a doomed run feeds the next one. That's the Ancient Cave formula, and I see no reason to improve on it.
The problem: 3D is expensive
Here's the thing about a 3D dungeon crawler: it needs models. Monsters, weapons, props, vendors, a dragon. Traditionally that's the line item that kills solo 3D projects — character modeling, rigging, and animation are each their own profession.
The answer here is procedural geometry. Every monster in Crawl of the Forsaken is built from primitive shapes in code — boxes, ellipsoids, capsules, cylinders, faceted shards — assembled by a small GDScript helper into a body, then dressed with flat-shaded colors and emissive glows. There are no imported model files for the bestiary; a creature is a script that draws itself when it spawns. The workflow per creature looks like this:
- Concept — the design doc's description of silhouette, palette, and vibe for the creature.
- Block-in — rough the body out of a handful of primitives at roughly the right proportions, facing the camera.
- Trace and refine — render a front and three-quarter view, compare against the concept, and nudge shapes, counts, and colors until the silhouette reads.
- Light it — eyes, runes, lava seams, and spores get emissive materials so they pop at gameplay camera distance.
What used to be three or four professions becomes one tight iterate loop: write shapes, render, look, fix. The engine does the math; somebody still has to do the taste — the difference between "a stack of capsules" and "an ice troll" is entirely in the proportions and the palette.
Making it fit in a browser
The second hard problem: everything above has to arrive over the network before anyone plays. The whole game — every monster, every biome's tileset, the dragon — has to squeeze into a payload a phone on hotel Wi-Fi will actually finish downloading. Procedural creatures are a cheat code here: a monster that's code instead of a textured mesh weighs a few kilobytes and ships inside the game logic, so there's no per-model texture budget to fight at all. The engine itself (Godot 4.6 compiled to WebAssembly) is shared across every game on the site and cached after your first visit, so each game only pays for its own content.
Where it stands

Crawl of the Forsaken is live as a playable demo — the loop is in (descend, fight, loot, retreat to basecamp, spend, descend deeper), and the full campaign to floor 99 is being tuned. The combat already has the thing I cared most about porting from Fate: monster swings are telegraphed, so a cool head can back-strafe through a wind-up and punish the recovery. Auto-attack handles the trash; your job is target priority and footwork.
Play the demo here — free, in the browser, like everything else on the site. And if you spent 2005 sending your pet to town with a bag full of unidentified swords: welcome home.