Live data from Hacker News

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

github.com

181–190 of 302 posts

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

#181

Diff of the changes Fable added to the parent fork (which does not appear to have used AI): https://github.com/ammaarreshi/Generals-Mac-iOS-iPad/compare... for those curious.

That is really not a lot. A human could have easily done this. How much did it cost / how many tokens were spent?

Ya, because the upstream repos already did the majority of the work to port the game to Linux and MacOS. This fork used Fable to add iOS support with touch controls.

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

#182
post #175

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…

I hope we get Skyblivion soon

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.

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

#183

Earlier quoted context omitted.

That is really not a lot. A human could have easily done this. How much did it cost / how many tokens were spent?

Ya, because the upstream repos already did the majority of the work to port the game to Linux and MacOS. This fork used Fable to add iOS support with touch controls.

Ah, yet another clickbait post, great.

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

#184

Earlier quoted context omitted.

Right? All Fable did was a ported an already cross platform project to ios. Does not look like any sort of heavy lifting there, opus 4.6 would do just fine

I read this and laugh a bit because just 7 months ago the bar was so much lower and now we go "well duh of course it was able to make a working ios app from a game made 20 years ago... a game that was made 3 years before the first iPhone"

Was the bar that much lower, or is that some people on this thread are misrepresenting what the project actually is?

EA Games open sourced the original C&C Generals source code a year ago.

GeneralsX is a fork of the original source code. The fork changes the code to be easier to be ported to other platforms, which GeneralsX provides native Linux and macOS builds.

This project adds a iOS target for the GeneralsX project, the iOS port was made using Claude Fable.

It is cool that a LLM was able to create a iOS port? Yes, but saying like if it was something that was hard or that it would take too much time to do before LLMs is a bit disingenuous in my opinion, especially because the GeneralsX had already done the bulk of the effort of making the code portable in the first place, and that there was already a macOS port.

For reference, the iOS port only needed to add 2,179 lines of code on files that already existed on GeneralsX, and that's not excluding comments, which Claude loves to add some LARGE comments, and things that are iOS app specific, like the app's Info.plist.

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

#186
post #164
post #28

Earlier quoted context omitted.

Yes! It's infuriating. I've tried prohibiting them in my AGENTS.md but it's not 100% effective. --- AGENTS.md --- ## Plain words, not jargon Don't use jargon-as-shorthand. Say what you actually mean. - Don't say "load-bearing assumptions". Say "the assumptions the xyz depends on". - Don't say "cross-service". Name both services, e.g. "whether the X service can derive duration without calling the Y service". "Cross-X"…

I’d recommend to instead write a de-slop skill that instructs to launch a sub agent with fresh context, and analyze for such phrases in the new commits, and remove those. Find -> fix just works better than preemptive instructions, in my experience. And if you manage to do this automatically before committing, you’ve built the backpressure everybody is talking about.

Can you point to some examples? Also I wonder if this needs to be very model/harness specific? Like even model version, subversion.

And probably that should be run in different harness or with custom system prompt? Since they introduce quirks and glitches as well.

(somehow this motivated me to resurrect HN account)

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

#187
post #134

Earlier quoted context omitted.

> - I don't think Claude Code is using the Rust version yet in their official build No, I'm pretty sure it is, actually, since June 17: https://code.claude.com/docs/en/changelog#2-1-181 >> Upgraded the bundled Bun runtime to 1.4 Now, Bun 1.4 doesn't seem to officially exist on https://bun.com/blog or https://github.com/oven-sh/bun/releases , so I can't be 100% sure this is the Rust version. However, I have to do some…

https://news.ycombinator.com/item?id=48609168 https://grigio.org/bun-1-4-the-controversial-ai-driven-rewri... > 13,044 unsafe blocks in the resulting Rust code (hand-written Rust projects of similar size average ~73) Grok is this true? I've heard the meme that AI written rust code is absurdly full and safe blocks but... that's pretty funny. Hang on. A claim like that can be verified with a single grep! Give me a minu…

It's unironically a good practice when you port from an unsafe language (C/Zig) to Rust. Porting isn't refactoring. One should keep the logic mapping one-to-one as much as possible.

The high number of unsafe blocks is a good sign.

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

#188

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…

Would you please explain more your Ghidra+LLM workflow? What you are doing and how does the LLM help you? Thanks!

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

#189
clickbait, right? it did not port it to macos, that was already done. all fable did (and it might've been opus for all we know) is adding the last few commits for ios/ipados support after all of the heavy lifting was done

still cool but the title makes it sound like it was done from scratch

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

#190
post #188

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…

Would you please explain more your Ghidra+LLM workflow? What you are doing and how does the LLM help you? Thanks!

Not the person you asked but I frequently use Claude (Opus primarily) to reverse engineer embedded hardware. It uses a mix of Ghidra, Radare2, and just the arm-none-* tools. I can’t say I have a particular workflow though, I just say “we’re reverse engineering foo.bin. It’s the firmware for a servomotor. We talk to the servo over RS485 and it seems that if I send it command X it will sometimes silently reject the command. Can you dig into the data reception and command parsing layers to see if there’s an explanation. Let’s keep notes in @20260704-reverse-engineer-foo-motor.qmd”

It works great just like that.

Post reply on HN