LockerGnomeTech news and nostalgia for today's technology professionals
Subscribe

Search

Gamingcrystal-caveswebassemblygame-preservation

Crystal Caves runs in a browser after a C rewrite checked against the DOS game

A developer rebuilt Crystal Caves Episode 1 in C and WebAssembly, with browser saves and touch controls. The project documents checks against the original executable.

Kaleidoscope of Chris Pirillo: he crawls through a crystal cave holding up a glowing browser window like a lantern
Illustration: LockerGnome

Crystal Caves has escaped DOS. The path out involved more work than putting an emulator behind a Play button, because this developer wanted the logic running as native browser code while keeping a reference to how it used to behave. The developer disassembled the original executable and reimplemented the logic in C, describing the goal as “fidelity, not a remake” in the project README.

The unusual part is what stayed behind to check the new version. The project uses a Unicorn-based emulator as an oracle for the old binary, comparing the rewritten game’s behavior against it. The emulator participates in verification; the browser game runs the port.

The README reports pixel-exact static rendering across 19 levels, plus frame-by-frame checks of physics, combat and other routines. Those are the developer’s fidelity claims, rather than an independent playtest here. The testing notes and fixtures are available in the repository, making those claims specific enough for another developer to challenge against the original routines.

The source license covers the port’s own code; the README separately reserves the original game’s assets to Apogee. Open source doesn’t turn every file in a game project into somebody else’s building material.

The interesting next report would come from someone who knows every jump: where the browser version feels exactly right, and where that old muscle memory finds something the fixtures missed.

More Gaming

Every Gaming story →