logoalt Hacker News

Resurrecting Crimsonland – Decompiling and preserving a cult 2003 classic game

71 pointsby banteglast Sunday at 1:32 PM21 commentsview on HN

Comments

tomberttoday at 3:00 AM

I don't know anything about reverse engineering, but I have wanted to reverse engineer/decompile the Disney Animation Studio [1] for DOS for years.

I found the software at a thrift store in 2009, when I was eighteen, and I was immediately impressed. This was actually very intuitive, easy-to-use animation software that was very powerful, years before FutureSplash/Flash was released.

There's not a ton of info available on the internet now, but I have been trying to remedy that a bit [2] by uploading the manual. I reached out to Disney to ask if I could potentially buy and release the source code off of them, and they politely told me "no". I reached out to the creators in the credits on LinkedIn to see if there there was any way I could look at the code or if they could at least answer some questions, and they never got back to me.

I think the only way we're going to get the source code to The Animation Studio will be if I learn how to use Ghidra (or something similar) and decompile it myself.

[1] https://en.wikipedia.org/wiki/The_Animation_Studio

[2] https://archive.org/details/disney_beginner_guide_2/disney_b...

show 1 reply
banteglast Sunday at 1:32 PM

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

show 1 reply
pcmaffeytoday at 3:34 AM

Bravo, that’s a seriously impressive undertaking, and a great demonstration of the augmentation potential in agentic coding. There’s so much focus on replacing entry-level work it gets missed what these power tools can do in the hands of people who know what they’re doing.

rdmusertoday at 1:32 AM

10tons tends to make smaller scale games and you feel it sometimes but I've had a great time with quite a few of their other shooters too. You used to be able to get this bundle for cheap from fanatical sometimes, not sure if that is still the case. They are best known in the modern era for Tesla vs Lovecraft which doesn't show up in this bundle. https://store.steampowered.com/bundle/428/10tons_Shooters/

There have been a few attempts to make open source versions of Crimsonland and I had a good time with Violetland https://github.com/ooxi/violetland

alexpotatotoday at 3:04 AM

I'm a big fan of the old Macintosh game Bolo [0]

There used to be a Linux version but apparently it hasn't been updated to be added to or even compiled on modern Linux kernels and distros.

Someone I know tried to resurrect it a few years back but now I'm wondering if couldn't use OpenCode etc to get it up and running again.

(I did find a recent-ish clone [1] so may start with that)

0 - https://en.wikipedia.org/wiki/Bolo_(1987_video_game)

1 - https://github.com/stephank/orona

show 1 reply
metalcrowtoday at 2:11 AM

As an active reverse engineer, I'm really curious how you used agetic AI for this! Did you just have them going through the code and labeling stuff? Or were they also responsible for writing the reimplementation? This overview is super interesting, I would love to see details about the pipeline itself.

show 1 reply
x187463today at 4:24 AM

Any recommended learning materials/resources for basic binary reverse engineering? I'm imaging a resource that teaches the common tools/concepts and provides binaries in increasing complexity.

BobbyTables2today at 3:26 AM

How much did this cost with the AI usage ? What plans did you have ?

Reversing this by hand seems like it would have taken orders of magnitude longer…

cheschiretoday at 1:48 AM

I still find myself wasting a few hours per year on this game since it’s on PS4/5

https://store.playstation.com/en-us/product/UP4403-PPSA02752...

alberto-mlast Monday at 2:08 PM

I really need to start familiarizing with these new tools, I'm only using LLMs in interactive, “question and answer”, mode and it feels like using a typewriter when everyone is switching to computer word processors.

Thanks for sharing, it's a really interesting writeup and project!

show 1 reply
Tiberiumlast Sunday at 1:51 PM

Very impressive, makes one wonder what do some companies have in private compared to public tools that we stitch together. E.g. you can combine LLMs with statical analysis/proving to get much better results.

show 1 reply