zlacker

[parent] [thread] 3 comments
1. banteg+(OP)[view] [source] 2026-02-01 13:32:58
Crimsonland (2003) is a top-down shooter that shipped as a stripped DirectX 8 binary with zero symbols. I decompiled it with Ghidra, validated behavior with WinDbg and Frida, and rewrote it from scratch in Python/Raylib — 46,800 lines matching the original behavior faithfully. The write-up covers static and runtime analysis, reverse engineering custom asset formats, and the full rewrite process. Code is on GitHub and it's playable now via uvx crimsonland@latest
replies(3): >>zamada+KY8 >>throwa+vma >>AtlasB+Lya
2. zamada+KY8[view] [source] 2026-02-04 02:20:46
>>banteg+(OP)
Very fun use of an agentic loop :). Do you have any info/data about how many tokens this ended up consuming in that time?
3. throwa+vma[view] [source] 2026-02-04 14:05:24
>>banteg+(OP)
Wow! What a blast from the past. I remember 13yo spending day after day on this game despite being an avid crpg player those days.

Going to give this a spin after work. Thanks for the work and the writeup!

4. AtlasB+Lya[view] [source] 2026-02-04 15:05:26
>>banteg+(OP)
.....python? Why a slow scripting lang?
[go to top]