6 ms·
Its really great how we can breathe new life into older games like this. I'm currently working solo on a Tales of Symphonia gamecube decomp. My aim is to let AI
by rowanG077 21d ago
Its really great how we can breathe new life into older games like this. I'm currently working solo on a Tales of Symphonia gamecube decomp. My aim is to let AI do everything of substance. currently about 3400 functions are exact out of about 4800. So still a way to go. But I haven't written a single line yet.
- StilesCrisis 21d agoHow did you get started? I have a project in mind and would love to try, but getting a foothold on it feels really hard when you are starting with an ISO image and an empty folder.
- rowanG077 21d agoFor gamecube games you are in luck because there is a template: https://github.com/encounter/dtk-template https://github.com/encounter/dtk-template But in essence it's not so complex. You only need the original compiler that was used to compile the game and tools like ghidra. Binutils for the architecture can help. From there you ask the agent to start building the project. Prepare to spend a ton of tokens though if you go the full AI route.
- StilesCrisis 19d agoTBH I'm not even that interested in getting byte-for-byte reconstruction. I just want to bring an old game back from the dead.
- rowanG077 19d agoYeah I get that. The problem is that with AI decomps you really need a clear and verifiable target and exactness solves that problem. If you step away from that you basically leave any agent free space to cheat.
- StilesCrisis 19d agoYeah, that makes sense. Even taking AI out of the equation, that's how you know a decomp is actually right--it matches.
- StilesCrisis 13d agoSadly, even that isn't really a guarantee. I've seen some of the crazy nonsense that the permuter does to get a 100% match. `if ((!x) && (!x) && (!x)) {}` apparently gets different register allocation than `if (!x) {}`, for example. And sometimes important code takes zero instructions (like forwarding an argument from function X to function Y).
- StilesCrisis 18d agoThank you for the template! This worked! It turns out Claude seems to already understand quite a bit about decomps, and if you can find a game or two that already uses the toolchain that your target game uses, it can crib a lot of the basics like MSL and Dolphin/OS pretty quickly. I have barely scratched the surface of the game code, though. I'm trying to actually figure out what things are as we go, and you weren't kidding about the rate of token spend.
- rowanG077 16d agoya with Tales of Symphonia I'm currently at about 250 Billion tokens using codex. The multiple resets you get on codex are really helping. It wouldn't surprise me if I crack the trillion tokens for it. I did waste a lot tokens on tooling cycles that went nowhere. The agents seem to work a lot better if you keep tooling minimal and let it decide ad-hoc.
- StilesCrisis 13d agoI have no idea what my token counts are, but I ended up upgrading Claude to the $100 plan, and I've still hit the 5-hour token exhaustion limit twice today. I consider this a good thing--if I'm paying for the tokens, I want to use them! It needs a ton of steering or it will just spin in circles and get nothing done, but if you can lead it towards interesting problems, it just chews through the work. It sure makes a mess though: lots of .c files with one tiny function and PAGES of comments.