Decompiling and rewriting a 2003 game from its binary in two weeks
3 days ago
- #reverse-engineering
- #game-preservation
- #indie-games
- Crimsonland is a top-down shooter game from 2003, remastered in 2014, and now being resurrected through decompilation.
- The project aims for a complete rewrite that matches the original binary behavior exactly, including bugs and quirks.
- The game was originally developed by Finnish studio 10tons and gained a cult following for its simple yet addictive gameplay.
- Early versions of the game (v1.0.2 to v1.4.0) were freeware, with the shareware version (v1.8.x-1.9.x) becoming widely popular.
- The decompilation process involved tools like Ghidra, Binary Ninja, and runtime analysis with Windbg and Frida.
- Key challenges included understanding custom formats (like PAQ and JAZ files), hardcoded game logic, and indirect rendering via grim.dll.
- The rewrite uses Raylib for modern compatibility while preserving the original game's mechanics and feel.
- Current status: 46,800 lines of code, fully playable with minor bugs remaining. Future goals include online high scores and multiplayer.
- The project demonstrates the potential of AI-assisted decompilation and game preservation, achieving in weeks what took years traditionally.