Live data from Hacker News

Resurrecting Crimsonland – Decompiling and preserving a cult 2003 classic game

banteg.xyz

31–40 of 52 posts

Re: Resurrecting Crimsonland – Decompiling and preserving a cult 2003 classic game

#31
I only know about this game because it was in some Humble Bundle. Have the Linux version from that. Not sure how old it is. Looks like the screenshot of one of the remastered versions. Remember installing it and playing for a few hours but then forgot about it.

Last Humble Bundle update from 2019, but I can't get it to run on my current Ubuntu. Runs in my Ubuntu 16 QEMU vm, but no audio for some reason.

Pretty much expected level of success for old binary-only Linux games. Can probably be fixed, but usually just playing the Windows version in WINE is easier and plays better.

Re: Resurrecting Crimsonland – Decompiling and preserving a cult 2003 classic game

#32
This is a lot of fun! It's the first time i've ever used the uv package manager directly, and it was shocking how fast the game was running for the first time on my machine. Very nice.

Looks like the game still only runs in a small window, but Valve's gamescope*, had it running full screen right away too.

* gamescope -W 2560 -H 1440 -r 60 -S stretch uvx crimsonland@latest

Re: Resurrecting Crimsonland – Decompiling and preserving a cult 2003 classic game

#33
All modern AI tools tend to put `from __future__ import annotations` line into Python code which isn't required by recent Python versions.

I guess this is because they all are trained on an intermediate code bases when this was required some times (even at that time the real usage was quite rare).

And now this line is parroting everywhere like a junk DNA :)

Re: Resurrecting Crimsonland – Decompiling and preserving a cult 2003 classic game

#35
post #6

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 b…

I can second this! The game was influential enough to cause multiple people being involved in recreations

Re: Resurrecting Crimsonland – Decompiling and preserving a cult 2003 classic game

#36
post #24

I've been thinking about this topic and am glad to see it come up: AI is going to be a huge boon for digital preservation & restoration projects like this. I realized this while building this project (a map explorer for Tribes 2): https://exogen.github.io/t2-mapper/ Old games like this have a small (and shrinking) audience of people who care about them. With Tribes 2, for example, there are only ~50 people who active…

Wow, this whole thread has been a blast from the past. But this tribes mapper is beaming me back to my childhood. Seeing the actual siege base layouts, wow. I can still see myself as a little kid, not fully understanding or being good at the shooting part of tribes. I just stayed in base, repairing the generators. Sometimes enemies would run in, i would hide, and shoot from a distance and call for help. Them some heavyweight, powerarmoered up, armed to the teeth teammate would come down from the skies with his jetpack, carrying crazy armaments like heavy spinfusors, plasma cannons, artillery. The queiet generator complex would soon erupt in a burst of violence, this iron hulk would clear out the intruders, thank me for the heads up and leave. Then i would get back to the repairs! Now my friends, that kind of emergent gameplay, is hard to come by!

Re: Resurrecting Crimsonland – Decompiling and preserving a cult 2003 classic game

#37

All modern AI tools tend to put `from __future__ import annotations` line into Python code which isn't required by recent Python versions. I guess this is because they all are trained on an intermediate code bases when this was required some times (even at that time the real usage was quite rare). And now this line is parroting everywhere like a junk DNA :)

I am not an AI and I missed the memo on this. I put that line in whenever I need to use a forward-declared type annotation. Last I recall reading about it, there were some deep issues that meant it had to stay in __future__ indefinitely. Is there a PEP / release note about it?

Re: Resurrecting Crimsonland – Decompiling and preserving a cult 2003 classic game

#38
post #24

I've been thinking about this topic and am glad to see it come up: AI is going to be a huge boon for digital preservation & restoration projects like this. I realized this while building this project (a map explorer for Tribes 2): https://exogen.github.io/t2-mapper/ Old games like this have a small (and shrinking) audience of people who care about them. With Tribes 2, for example, there are only ~50 people who active…

Bumped into your project a while back - pretty impressive. I was a little disappointed it seemed to just convert the resources rather than use the original runtime formats (since there are a features that don't directly translate to gltf), but for a viewer it's perfectly reasonable. Are you planning on supporting tribes 1 maps at all? Theres still quite a surprising interest in reverse engineering and extending the life of torque games. I'm hoping on publicly releasing a refresh of the original torque codebase this year which improves support for modern platforms including wasm. It's amazingly easy these days to reverse engineer stuff and revive old codebases!

Re: Resurrecting Crimsonland – Decompiling and preserving a cult 2003 classic game

#39
post #5

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!

Using LLM's in an "agentic loop" is indeed a game changer. Give it a try in a sandbox.

Thanks, I will have a look at it! Even just updating my jargon vocabulary fells like an improvement.

Re: Resurrecting Crimsonland – Decompiling and preserving a cult 2003 classic game

#40
post #38
post #24

I've been thinking about this topic and am glad to see it come up: AI is going to be a huge boon for digital preservation & restoration projects like this. I realized this while building this project (a map explorer for Tribes 2): https://exogen.github.io/t2-mapper/ Old games like this have a small (and shrinking) audience of people who care about them. With Tribes 2, for example, there are only ~50 people who active…

Bumped into your project a while back - pretty impressive. I was a little disappointed it seemed to just convert the resources rather than use the original runtime formats (since there are a features that don't directly translate to gltf), but for a viewer it's perfectly reasonable. Are you planning on supporting tribes 1 maps at all? Theres still quite a surprising interest in reverse engineering and extending the l…

It would be possible to have it decode the .dts and .dif formats on demand - that was my original plan - just much less efficient for users, as the .glb files are about 1/5 of the file size on average. (I also assume glTF loading/rendering has had a lot more optimization work put into it than what I'd be able to accomplish.) For these reasons it seemed more productive to have it work on the Blender addons as a starting point rather than JavaScript/TypeScript parsers for the original formats. I still ship the original assets alongside the .glb files (meaning they have URLs just aren't loaded) in case I want to switch it someday.

Some of the custom features you may be referring to I implemented as custom properties in the glTF output - like surface flags. "Outside Visible" is one example, it's a flag baked into each .dif surface that determines whether rays can reach it from the outside, so the engine knows whether to apply the map's directional sunlight, or just ambient and light map lighting. So, even though it technically could try to render with modern PBR, dynamic lighting/shadows and all that, it instead renders as close to the original as possible using the same (or similar) techniques. Comparing screenshots with actual Tribes 2 renders is often indistinguishable unless you really know what to look for!

Post reply on HN