Live data from Hacker News

Command and Conquer Generals natively ported to macOS, iPhone, iPad using Fable

github.com

211–220 of 302 posts

Re: Command and Conquer Generals natively ported to macOS, iPhone, iPad using Fable

#211

I think the next 10 years or so are going to see a chucklefuck of games reversed thanks to LLMs, which can easily pattern match and operate on contrivedely optimized assembly and output reasonably accurate C/C++ code. I’m one of many right now using Ghidra + LLM workflow. It’s doing the thing it needs to and I’ve helped several communities revive and port their games this way. It is a huge time saver. While I’d perso…

10 years is far too pessimistic for this being a routine task, I think 2 years max. As you mentioned, you can already do this today by just giving GPT 5.5/Opus 4.8 an IDA/Ghidra tooling (a CLI or MCP, I have a custom CLI for it). You can start with the LLM going from the string anchors and renaming functions/globals, then when you have enough functions, the LLM can start working on typing - IDA has a very powerful ty…

Have you published your IDA CLI anywhere? I'd be interested to see what that looks like

Re: Command and Conquer Generals natively ported to macOS, iPhone, iPad using Fable

#212

I think the next 10 years or so are going to see a chucklefuck of games reversed thanks to LLMs, which can easily pattern match and operate on contrivedely optimized assembly and output reasonably accurate C/C++ code. I’m one of many right now using Ghidra + LLM workflow. It’s doing the thing it needs to and I’ve helped several communities revive and port their games this way. It is a huge time saver. While I’d perso…

Your take is very interesting, but please do not forget that pirating games is a crime.

Reverse engineering and pirating are not the same thing (although the former may certainly be used as a means to achieve the latter). As long as you aren't distributing the game, distributing code that legitimate owners of the game can use to run their game on more platforms is not a crime.

Re: Command and Conquer Generals natively ported to macOS, iPhone, iPad using Fable

#213

Earlier quoted context omitted.

10 years is far too pessimistic for this being a routine task, I think 2 years max. As you mentioned, you can already do this today by just giving GPT 5.5/Opus 4.8 an IDA/Ghidra tooling (a CLI or MCP, I have a custom CLI for it). You can start with the LLM going from the string anchors and renaming functions/globals, then when you have enough functions, the LLM can start working on typing - IDA has a very powerful ty…

Have you published your IDA CLI anywhere? I'd be interested to see what that looks like

Not yet, unfortunately, but I might in the future. To be honest, it's nothing unique. I got inspired by https://github.com/allthingsida/idasql which I initially used, but it had a lot of bugs, a big codebase size, and IDA's C++ API is really easy to misuse and corrupt a DB, so I had GPT 5.4/5.5 make a new one for itself based on IDA's Python SDK, which is official and doesn't need weird SQL hacks.

Then recently I found https://github.com/bkerler/ida_rpc which seems to be ~60% the same thing as the one I have, the only big difference is that I do not give any special commands to LLMs, they just have to write Python in scripts/inline heredocs to interact with IDA. This lets them do a lot more interesting things since they get a full programming language.

This is an example of how LLMs work with idagent (`ida` is implicitly imported, ida.types, ida.comments is helper's own wrappers): https://paste.debian.net/hidden/cf46a122

More interesting example that was used to let the LLM/me track the rename progress for the initial function renames + gaps (code-looking like bytes that weren't inside of functions, IDA's autoanalysis missed some real functions). Although the game turned out to be small enough with only ~1500 real game functions that needed renames, which was done in ~10 hours of agent time total I think (I didn't parallelize with multiple agents). https://paste.debian.net/hidden/bf458b3a

To be honest, you can probably have an agent vibecode a similar MVP tool to the one I have in about an hour-two :)

Re: Command and Conquer Generals natively ported to macOS, iPhone, iPad using Fable

#215

I think the next 10 years or so are going to see a chucklefuck of games reversed thanks to LLMs, which can easily pattern match and operate on contrivedely optimized assembly and output reasonably accurate C/C++ code. I’m one of many right now using Ghidra + LLM workflow. It’s doing the thing it needs to and I’ve helped several communities revive and port their games this way. It is a huge time saver. While I’d perso…

Your take is very interesting, but please do not forget that pirating games is a crime.

I don't think the "it's piracy to use the code generated by an LLM because it closely resembles the code the LLM was trained on" argument has been fought in court yet.

Re: Command and Conquer Generals natively ported to macOS, iPhone, iPad using Fable

#217

Earlier quoted context omitted.

Completely unrelated but I find it amusing in a good way that Oblivion is recognized more favorably now. I never understood the disregard for it (horse armor nonsense aside), as it has a very compelling, unique atmosphere and a not so terrible storyline/writing.

To me, the level scaling just completely annihilates the game. Why even have a leveling system if practically everything just stays leveled with you?

Exactly what I was going to say. Oblivion was the first Elder Scrolls game that had level scaling. It's just extremely lazy design that ruins any sense of progress/immersion. In Oblivion/Skyrim there are plenty of mods that remove the scaling, and end up with worlds that are vastly more interesting and immersive. I highly recommend Requiem.

Re: Command and Conquer Generals natively ported to macOS, iPhone, iPad using Fable

#218

Earlier quoted context omitted.

They’re not talking about the chatbot TUI. The chatbot TUI was and is in JavaScript. They’ve ported the JavaScript runtime .

Not GP but the js runtime has a long tail of case edges you simply can't emulate with a single app.

It surely does. I’m also extremely worried about the way they’ve decided to go with the port.

Re: Command and Conquer Generals natively ported to macOS, iPhone, iPad using Fable

#219

Does it actually play identically or is there going to be weird bugs all over the place? Seems like an impossible ask to verify if you don't have an immense test suite that covers everything.

The parent of the parent project has ground truth replays, which get compared to new PRs. The game uses lockstep networking, so this is required to prevent desyncs.

Re: Command and Conquer Generals natively ported to macOS, iPhone, iPad using Fable

#220

> Long sessions on iPad can be killed by iOS for memory (~3 GB+ resident); the app exits to the home screen with no dialog. Session logs (current + previous) are in the Files app under the game's folder. Under investigation. Wait. It's a port from a game from 2003. I don't think PC had 4 GB of memory back then (unless my memory is fuzzy, ah!): I mean, maybe some had that, but not the majority. I doubt the requirement…

32x memory isn't that big of a jump if you go from storing a bunch of low res, low color count textures to a bunch of high res, high color count ones. I don't know if that's what's going on here but given the advertised "DirectX 8 → DXVK → Vulkan → MoltenVK → Metal" rendering pipeline I could easily see some leaky abstractions there that end up consuming a bit more memory than originally.
Post reply on HN