6 comments

  • metalcrow 36 minutes ago
    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.
    • fabiensanglard 19 minutes ago
      There are many ghidra plugin, like GhidrAssist, you can use to connect to a LLM. They will automatically put a name on each function and variable. It is far from perfect but it is way faster than doing it by hand in my experience.
  • rdmuser 1 hour ago
    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

  • alberto-m 1 day ago
    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!

    • klipklop 1 hour ago
      Using LLM's in an "agentic loop" is indeed a game changer. Give it a try in a sandbox.
  • cheschire 59 minutes ago
    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...

  • banteg 2 days ago
    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
    • zamadatix 27 minutes ago
      Very fun use of an agentic loop :). Do you have any info/data about how many tokens this ended up consuming in that time?
  • Tiberium 2 days ago
    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.