The stakes are low, it’s mostly for fun and you can iterate on it. Compare this with Bun which was just like, “hey we converted everything to Bun to Rust from Zig, of course it works, what could possibly go wrong, I’ll totally write up a blogpost (that still doesn’t exist) explaining what we did, you can put this into your production environment soon!”
I wonder if we’ll get to a situation where a new game is reversed in the first few months by a team effort. Right now it’s mostly solo devs, but a technical team that’s capable without LLMs is unstoppable with them, and given the nature of modding communities, the only thing they are missing is an LLM to grind away at the details of the game that would otherwise take years to find out.
This is another "AI-ism" I noticed, mostly in coding agents - they seem to be very fond of making up new "compound nouns" (and occasionally verbs) to sum up relatively complex and specific concepts into single noun phrases. I wasn't sure if it's to save tokens or if the AI uses this to get a concise "identifier" for a concept that it can refer back to later, but I found it very noticeable.
I find the resulting sentences hard to read, though it does get better if you're aware of that tendency and make a conscious effort to parse the noun phrases. But I guess since it's just intermediate output from coding agents and not text for essays or blog posts, it's fine.
still cool but the title makes it sound like it was done from scratch
> Built on EA's GPL v3 source release via fbraz3/GeneralsX (which did the heavy lifting of the macOS/Linux port — this fork adds the iOS/iPadOS port and a set of engine fixes)
It’s cool that someone took the extra steps to run it on iPad and iOS, but if the README is correct then it was already ported to macOS? Going from Mac to iPad isn’t trivial, but it’s a much smaller jump than porting into the Apple world the first time.
> rendering DirectX 8 → DXVK → Vulkan → MoltenVK → Metal.
Ok, *this* is a bit weird. Why create such a jenga tower of indirections instead of directly letting the LLM port the rendering code from D3D8 to Metal either through a D3D8-to-Metal shim or even better by creating a new Metal-based render layer beneath the higher level game specific rendering code? I would expect that the LLM can 'see through' all those redundant shims and collapse them into the equivalent Metal code.
Also the readme says 'no emulation', but then goes on to describe the rendering layer as emulating D3D8 on top of Vulkan on top of Metal ;)
(also why are both Meson and CMake required)
PS: after reading more, it can be explained by what this project does (and it's not what the HN title says): it's not a port from the original C&C Generals code release to macOS/iOS, instead all the heavy lifting (of making the original code base portable, and providing example ports to Linux and macOS) was all already done by an existing project (https://github.com/fbraz3/GeneralsX), all that this project did was slightly enhance the existing macOS version so that it also runs on iOS.
Suddenly this is much less impressive and could probably have been done just as well with older and simpler models (or tbh, a few hours or at most a few evenings of manual coding - macOS and iOS code is nearly identical for this type of application).
> "ERROR! Failed to install app '2732960' (No subscription)"
This is of course mentioned in the read me.
Am I reading that right? It makes API calls that go through 5 different layers before actually getting rendered? That's kind of crazy. I'm surprised it works, although I guess the underlying libraries are solid enough that it shouldn't be unexpected.
This started back in February and looking at commits, Fable did only a small part of the latest commits. 19 commits out of 2000:
https://github.com/ammaarreshi/Generals-Mac-iOS-iPad/commits...
And maybe it wasn't even Fable, they might have downgraded to Opus.
This is the kind of frequent misinformation that makes me skeptical of Anthropic LLM claims. Whenever I compare them to GPT 5.5 on my web dev workflows, they seem to trade blows, even Fable, which I started testing since it was re-enabled.
Also I bet any decent LLM could have done such port. Think GLM 5.2 or similar which would probably work better because it doesn't constantly try to guess if I'm a terrorist trying to hack goverments or develop some biological weapon.
People just don't have the resources to compare LLMs and imply whatever they used is the best thing ever and unlocked some new workflow.
I have seen little improvement since Opus 4.6.
Another great case study in why native Vulkan drivers would be a boon for Apple's mobile computing. That's quite the render pipeline...
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 requirements for the original C&C Generals were 4 GB of memory.
OK, I just checked on a box of C&C Generals on eBay: requirement 128 MB of RAM (I know I could have asked a LLM, but checking a picture of an actual box is kinda fun).
I understand the need for a bit more graphics etc. but that's still a big jump: if the reqs were 128 MB or RAM for the PC, the game wasn't using that.
So we're talking something like a 32x inflation in RAM usage during the port (unless I didn't understand the caveat).
Why can't a game requiring 128 MB in 2003 run on machine 20 years more recent without using all the RAM?
Is there a plausible reason or are we to consider that when porting using Fable, we can expect the RAM usage of a program to go up by 32x?
EDIT: the original game has more asset than I would have guessed, skimming through the port's docs I found this:
> the game requires .big archive files (INIZH.big, MapsZH.big, etc.) totaling 4-5 GB. These files cannot be committed to repository due to copyright (EA Games property).
4 / 5 GB is not nothing. I wonder if the memory issue could be related to the way these are loaded?
A great use for what AI can help with, especially in the hands of dedicated fans. Maybe I will find some time to try and experiment with custom maps or units, the modding scene of C&C Generals was always pretty lively.
This means you can play for maybe 10 minutes on the happy path but just as you are getting into the zone either a CTD or some strange event would make the game/simulation unplayable.
And while debugging is made easier, it's much more effort than telling the model to convert the code. Hence it's usually not done in these demos.
So if that is released to the public, it's in the public domain, no license is applicable.
So if you're just gonna do a clickbait project...why pump the competition?
the result: http://jhedin.github.io/merlin-s-revenge/
reasonably it works quite close to the lingo, but this is way difficult, and not just from being rusty. steve had most things triggered on the animation frame, which opus hasnt quite figured out by looking at the code and pulling stuff out of the .dir
i do remember that playing at double scale was a lot harder in general, but theres a really clear cooldown missing between attackes
Damn, I still have the CD in one of my unopened boxes from our last move.
Seems like an impossible ask to verify if you don't have an immense test suite that covers everything.
One big caveat with iPad and mobile, though, is battery usage. I strongly suspect that power consumption is the reason that a number of games made it to Mac, but not iPad.
What works (all verified on a real iPad and iPhone):
Campaign, Skirmish, and Generals Challenge: full missions, objectives, cutscenes, saves All audio: music, unit voices, EVA announcements, Challenge taunts, briefing FMVs Touch controls built for RTS: tap select, drag a selection box, long-press deselect, two-finger camera pan, pinch zoom Self-contained install: game data ships inside the app bundle It's the real engine: unmodified game logic compiled for ARM64, rendering DirectX 8 → DXVK → Vulkan → MoltenVK → Metal. Not emulation, not streaming.
No game assets are included or distributed. You need your own copy (Steam sells Zero Hour) and a script pulls the data from your own account. Code is GPL v3.
Repo, with a full engineering log of every bug and fix (the black-minimap one is a 2003 texture-format fallback that ate the alpha channel; worth a read if you like archaeology): https://github.com/ammaarreshi/Generals-Mac-iOS-iPad/blob/ma...
Building: macOS is about four commands; iPhone/iPad needs Xcode and a free Apple developer account since you sideload your own build. Known issues (long-session memory on iPad, a rare backgrounding crash) are documented in the README.
Credit: fbraz3/GeneralsX did the heavy macOS/Linux lifting, TheSuperHackers keep the community codebase alive, and EA did a genuinely good thing releasing the source. The engine fixes I found are heading upstream so every platform benefits.
(And of course, not affiliated with or endorsed by EA, and sorry China had to deal with all of those particle cannons in that demo video)
Good job. It was inevitable, but still someone had to, please excuse me, say the words.