Spelljammer 1992 Reboot
A reboot of Spelljammer: Pirates of Realmspace (SSI, 1992), in progress at the Claude for Games hackathon in San Francisco on Oct 12, 2026.
- Source on GitHub
- The original on GOG
- REA
- Claude for Games, San Francisco
- The Spelljammer game I never finished
- Reverse Engineering Spelljammer at Claude for Games
Three.js / Vite / JavaScript / Ghidra / REA / MZap / Python / DOSBox-X
Problem
I played Spelljammer: Pirates of Realmspace in elementary school. Strategic Simulations published it in 1992, for DOS. I captained a magical ship through Realmspace, fought ballista duels, and boarded neogi warships.
I reached the end. A bug made the game impossible to finish. I never beat it. Today the original only runs in an emulator, and there is no way to play it in a browser.
Solution
A clean-room Three.js reimplementation that runs in the browser. The code is all new, written from what I worked out of the original's logic with Ghidra, REA, and the MZap overlay merge. Art, text, and music load at runtime from your own GOG copy. None of the game's files are in the repo or on this site.
Status: the full main quest, stages 0 through 9, is implemented. All 20 steps of the logic walkthrough test pass. Boarding fights, captain creation, and the ship and crew screens are built. A browser test that clicks through the real screens is in progress: 8 of 17 steps pass so far, and the citadel fight needs spells next.
Analysis
This is a clone, not a remake from memory. Every rule comes from the original's own code, recovered with Ghidra and REA after the MZap overlay merge exposed the hidden game logic. Where the community walkthrough and the code disagree, the code wins, and the difference is logged.
The walkthrough doubles as the test suite. Each quest step, written in my own words, is an automated check, and the clone has to pass all of them. Three.js makes the graphics the easy part. The real work is matching the original's numbers and screens exactly.
Clean room is the other constraint. The repo holds only new code and docs. The art, text, and music load at runtime from your own GOG copy, so the project can be public without shipping a single file from the 1992 game.
Screens

A real run of npm test on a fresh clone: 41 of 41 pass, including all 20 walkthrough steps. 
The quest state machine, stages 0 to 9, in web/src/game/quest.js. 
The port plan: every original screen, where it comes from, and how far along it is. 
Quest notes, in my own words, with links back to the sources. 
The public repo. Code and docs only. 
What the game shows without your own GOG copy: no art ships with it, so it asks you to run the decoders on your copy. 
Clean room by design. The game's art, text and music load from your own copy at runtime.