8 ms·
Command and Conquer Generals natively ported to macOS, iPhone, iPad using Fable
- jayzer01 3mo agoGenerals. I never played this one. 2003? So you have to buy it on steam then this installer will allow you to play it on iPad?
- ellis0n 3mo agoAI is a data Xerox you can copy and transform anything with it (c)
- asronline 3mo agoEA released the Generals source under GPL v3, the GeneralsX project got it running on macOS/Linux, and I've taken it the rest of the way: native iOS and iPadOS builds of Zero Hour, plus Apple Silicon macOS. 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/main/docs/port/PORTING_PLAYBOOK.md 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)
- digitalbase 3mo agoGreat stuff I found the bundle scripts already prefer VULKAN_SDK/VULKAN_SDK_ROOT, but the build script only scans ~/VulkanSDK
- 8note 3mo agonice!
- DANmode 3mo agoDon’t worry - China inf is for noobs https://youtu.be/WqWFYOxjZ54?si=1pH6Z1D33TOT4Qmg&t=453 https://youtu.be/WqWFYOxjZ54?si=1pH6Z1D33TOT4Qmg&t=453
- debugnik 3mo agoYou take credit for porting it to "Apple Silicon" macOS, both here and in the title, but that already seems to work upstream? On a quick look I didn't see any commit message of yours addressing macOS rather than iOS. What exactly did you add there?
- bigyabai 3mo ago> rendering DirectX 8 → DXVK → Vulkan → MoltenVK → Metal Another great case study in why native Vulkan drivers would be a boon for Apple's mobile computing. That's quite the render pipeline...
- flohofwoe 2mo agoIf this would be an actual LLM-generated port, it should have been trivial to replace this Jenga tower with a direct D3D8 to Metal shim (or replace the D3D8 renderer alltogether with a Metal renderer). Also native Vulkan support on macOS would only have removed one step in that render pipeline. Besides, I bet if Apple would offer a native Vulkan API, it wouldn't look much different than Khronos' solutions (MoltenVK or KosmicKrisp), e.g. Apple's solution would almost certainly be a shim on top of Metal, just like their GL/GLES or D3D12 implementations.
- evanjrowley 3mo agoI wanna know if these techniques would be useful for Emperor: Battle for Dune (2001). It's the first 3D RTS by Westwood Studios, predating C&C Generals by just a couple years. It's popularity was hampered by intellectual property disputes and a introduction of a new faction that diverged from the book series lore. The gameplay, soundtrack, and campaign missions were awesome.
- asronline 3mo agoLet me give it a go :)
- kriro 3mo agoI loved this game. First RTS I ever played :)
- farseer 3mo agoThis was one of the best RTS of the era. Still holds up today. The music was also very good.
- satvikpendem 3mo agoTry it before July 7 when Fable disappears from Claude Code subscription pricing.
- e40 3mo agoWhere's it go after that?
- advenn 3mo agosomeone do it for debian, omg. i use debian family, it has been years, i haven't played this gem
- namuol 3mo ago> 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).
- asronline 3mo agoI have a Renegade one going that does all of this from scratch (different engine) so it's def more than capable!
- ilteris 2mo agoOld renegade? Damn that was one of the first app.I played on a pc.bqck when I had 8086 hercules graphics card. Bring it back please!
- bananaboy 2mo agoI assume he means Command and Conquer: Renegade
- ozyschmozy 2mo agoRegardless of other ongoing work, title seems inaccurate? Doesn't sound like fable did any porting to macos
- hypercube33 3mo agoThis needs a backport to Winx64 since this game runs like crap on modern windows
- risyachka 3mo agoRight? 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
- bearjaws 2mo agoI 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"
- gigatree 3mo agoThis is an actual dream come true
- asronline 3mo agoRight!!
- OsrsNeedsf2P 3mo agoI'm doing something similar, using AI to make Battle for Middle Earth (same engine) "open source" with AI: https://github.com/dginovker/BFME-Source-Code https://github.com/dginovker/BFME-Source-Code
- asronline 3mo agoSweet!!
- amcoastal 3mo ago[dead]
- skerit 3mo agoI've been doing something similar for some of my favourite older games. But the "byte for byte" claim has me worried. Isn't simply decompiling the sourcecode from the binary and releasing that problematic? It's not the "clean room" approach and companies could still claim it violates some kind of copyright and get it taken down.
- kevinmchugh 3mo agoThat's my understanding. Decompilation is legally protected in the US, and you can do a reimplementation based on a decompilation. Sony v connectix is aiui the precedent. Theoretically you could clean room by having different agents/models/context windows to do both decompilation and reimplementation. This is untested in court afaik and I don't think anyone wants to spend money to find out. There was a non-clean room reimplementation of gta3 a few years ago. The gta publisher DMCAd and of course the fans who did it didn't have any money to fight in court (and probably couldn't find anyone who would take a big complicated case on such bad facts pro bono). https://www.gamingonlinux.com/2021/02/take-two-interactive-hit-the-dmca-nuke-on-gta-iii-and-vice-city-reverse-engineered-effor/ https://www.gamingonlinux.com/2021/02/take-two-interactive-h...
- baq 3mo agoWhen someone ported pylint to rust this place was full of ‘who will maintain this’ and met with blank stares when the answer was ‘what do you mean’ or ‘it’ll maintain itself’. Good job. It was inevitable, but still someone had to, please excuse me, say the words.
- adamraudonis 3mo agoThat was me! Checkout my latest Fable project with 4D splats: https://news.ycombinator.com/item?id=48786245 https://news.ycombinator.com/item?id=48786245
- arjie 3mo agoThese LLMs are remarkable. I used Opus to revive for myself abandoned software and bring it up to date with the latest versions of the frameworks so I could add some features. And there's other software which I vendor and merge in upstream changes and self-manage. This would have been a near-impossibility in the past. "Who will maintain this?" appears to be "Me with an agent". And it's great.
- fnordpiglet 3mo agoGiven the game is stable and the changes would be at the integration points, and Fable was able to do the direct integration, why would the answer not be “it’ll maintain itself” at some abstract level. The decision to maintain open source is up to the maintainers and I think the answer is “no one” 99.99% of the time, but I’ll wager if someone is willing to spend the tokens on it, a CI reintegration agent would do just fine in keeping it working as the underlying dependencies have required changes (which would really be only major changes in apple apis that aren’t backwards compatible.” Pylint is different because it’s working against a necessarily dynamic wavefront that it has to keep parity with as it advances. All python changes, ecosystem adaptations, etc - and maintaining that with an AI harness in CI would never work. It would require a concerted effort and thought along the way. So it’s sort of a different beast all together. In fact I think this is a great demonstration of using AI to resurrect technology built for X to work with Y, where X is dead and Y is current. Automating this feels like a net positive and because the original software is “finished” there isn’t decision making and strategy required.
- HaloZero 3mo agoIs there any hope for Red Alert 2?
- HaloZero 3mo agoLooks like EA did open source the game (only the first maybe) https://github.com/electronicarts/CnC_Red_Alert https://github.com/electronicarts/CnC_Red_Alert This seems to be the most active port saying it works on a Mac/Linux https://github.com/Daft-Freak/CnC_and_Red_Alert https://github.com/Daft-Freak/CnC_and_Red_Alert
- asronline 3mo agoI wish they open sourced RA2 - I love that game, I heard they lost the source code :/
- swat535 3mo agoYes, they have also lost Tiberian Sun and Firestorm I think.. very unfortunate.
- freedomben 3mo agoThat's wild. How does that happen?
- wmf 3mo agoEverything will be lost unless it's somebody's job to preserve it. It's pretty common to close game studios or lay off the entire development team while simultaneously scolding them about "stealing" IP so the predictable result is the code being lost.
- cogman10 3mo agoRed alert 2 was released in 2000, which means it was developed probably in 1998->1999. Life was different back then. Source control systems were a LOT worse (this is CVS era for open source development). We certainly weren't in the current era where everyone wants to play these old games on their phones now. What almost certainly happened is all copies of the source were simply lost. They may have sat on someone's hard drive, a team server hard drive, or somewhere else. It's possible they didn't have more than a few copies while development was ongoing.
- siva7 3mo agono way fable did this. It would have stopped after the words "command and conquer" and nerfed you to opus (while also landing you on some nsa watch list)
- cogman10 3mo agolol, I'd expect that as it starts reading of sections of code dealing with the chinese and terrorist factions.
- throwaway314155 2mo agoI’ve been using it to use Ghidra to do reverse engineering for modding Zelda: Tears of the Kingdom. Pre-ban it would flag immediately, post-ban it _rarely_ flagged anything and when it did I realized I could just make a memory telling it to convert reverse engineering speech into game development speech, not mentioning pointers, memory, addresses and decompiling. Then the flags mostly went away. You can sidestep flags by just compacting and then changing the model back at any rate.
- winrid 2mo agopost-ban I've even had Opus 4.8 say it cannot let me continue (I was analyzing a nodejs heap dump)
- xg15 3mo ago> (tap-select, drag-box, long-press deselect, two-finger scroll, pinch zoom) 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.
- trentor 3mo agoMaybe LLMs are just Germans.
- Rexxar 3mo agoThat's the G in AGI.
- sscaryterry 3mo agoArtificial German Ingenieurwerk
- lacy_tinpot 3mo agoThis isn't good news...
- f3408fh 3mo agoYes! 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" is confusing because it hides which things are involved. - Don't deliver verdicts as abstract noun-phrases like "Cross-RCA double-counting is unfounded". Say it plainly: "I checked whether the same root cause gets counted twice across RCA runs, and it doesn't." ## No earth-shattering declarations Don't hype findings. Skip "a critical finding changes everything", "now I have the full picture", "this changes the game", etc. Just state what you found plainly. Most findings are ordinary; report them that way. ## Don't reflexively hedge a "yes" When the answer is yes, say yes. Don't soften every positive answer with a caveat: it erodes confidence in the "yes". Only add a caveat when there's a genuine, specific uncertainty worth flagging.
- 8note 3mo agoive had opus try movin Merlin's revenge up from director/shockwave. the result: http://jhedin.github.io/merlin-s-revenge/ 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
- OsrsNeedsf2P 3mo agoI just noticed a Flatpak folder in the repo. Does MacOS Support Flatpak somehow??
- captn3m0 3mo agoupstream is a MacOS+linux build. https://github.com/fbraz3/GeneralsX https://github.com/fbraz3/GeneralsX.
- slipperybeluga 3mo ago[dead]
- Eufrat 3mo agoIMHO, this is an actual good use of what sounds like a person guiding a model to do a mass conversion. Although, I wish the porting docs were a little wordsmithed by a human, the AI generated text style is grating. 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!”
- johnfn 3mo agoI don't really get the Bun thing. Bun is running Claude Code which is probably the single most actively used development app there is. You say this was a bad use of LLMs, but it's been in production for a while and I haven't heard of any evidence that Claude Code has increased a significantly larger quantity of errors, segfaults, etc, than before.
- MuffinFlavored 3mo ago> Yes, Claude Code uses Bun. In fact, Claude Code relies on it as a core dependency and ships as a self-contained Bun executable. I... somehow did not know that.
- ChrisMarshallNY 3mo agoVery cool. 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.
- dawnerd 3mo agoWell interface on mobile devices vs traditional computers is a bit different. Game devs can’t even have consistent controller support. Supporting touch is almost never worth it.
- ChrisMarshallNY 3mo agoI have wireless game controllers for both Mac and mobile. They do support them.
- vaygr 3mo agoTiberian Sun next.
- dools 3mo agoHow is it done "using Fable" when the first commit was Feb last year??
- Dfiesl 3mo agoProbably not exclusively using Fable.
- dools 3mo agoYeah which is a bit underhanded. Because the implication of "using Fable" is that it was done in under ... a week? So it's just a bit of click bait.
- deleted 3mo ago[deleted]
- Madmallard 3mo agoThat's nearly every single article on the front page of HN nowadays that talks about AI related stuff
- janalsncm 3mo agoFor that to be click bait it implies people wouldn’t have clicked on it if any other model were used. IMO the more interesting fact is they ported a game over to iOS.
- Madmallard 3mo agoDoes 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.
- oynqr 2mo agoThe 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.
- Madmallard 2mo agoThat sounds nowhere near adequate
- deleted 3mo ago[deleted]
- Jyaif 3mo agoI tell folks there's a chance GTA6 will be ported to PC before it's officially released to PC.
- pjmlp 3mo agoIn the old days this would have required a proper team...
- 110bpm 3mo agoThe code appears to be based on other people's forks: > The naive plan (port EA's raw source) is a multi-month job. The actual job was "port the best community fork," which was a one-session job. https://github.com/ammaarreshi/Generals-Mac-iOS-iPad/blob/main/docs/port/PORTING_PLAYBOOK.md#1-phase-0--research-before-engineering-half-the-outcome https://github.com/ammaarreshi/Generals-Mac-iOS-iPad/blob/ma...
- pjmlp 2mo agoWell, like most stuff used in AI training. Still, it represents a possible way how AI gets rid of team members.
- lelanthran 2mo ago> In the old days this would have required a proper team... Fable contributed 19 commits; that's well within a solo effort.
- flohofwoe 2mo agoNo, it would have required one person and maybe 2 or 3 evenings. Check the commit history what the project actually added on top of the already existing Linux+macOS port which it forked from. It's a handful commits and comes down to a few dozen to a few hundred lines of actual code changs.
- brailsafe 3mo agoI wonder if this will work on my iPad 3, maybe with some Swift... 3 backport code?
- bel8 3mo agoTitle is click bait. 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/main 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.
- varenc 3mo agoThis project is a fork and all it does is add iOS support. Commits by the repo fork owner begin 19 hours ago, so very plausible those are done with Fable. But I agree it's very unclear to me if adding iOS support was some task only Fable could accomplish over prior models.
- arikrahman 3mo agoFinally, I can play Zero Hour everywhere
- wewewedxfgdf 3mo agoThis is one of the best of Command and Conquer games.
- delichon 3mo agoI was bitching here the other day about GTA VI being locked down so I can't pass it on like a favorite book. But maybe if I just archive the whole package, a not-so-distant-future-ai will be able to rehydrate it onto any handy future platform at low cost.
- apetresc 3mo agoAssuming nothing like DRM goes out of its way to prevent it, I’d be willing to bet significant money that by the time GTA6 is retro enough to require porting to “modern” platforms, precisely that sort of porting will not only be possible, it’ll be so commonplace that it won’t even merit an HN post when it happens.
- Reubend 3mo ago> rendering DirectX 8 → DXVK → Vulkan → MoltenVK → Metal 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.
- etra0 3mo agoApple never released a driver that supports Vulkan out of the box, therefore MoltenVK was born, which translates Vulkan IR to Metal source then recompiles to Metal shaders. This was the pipeline in Proton for macOS (I'm not sure if it's still is the case, been quite a while since I checked).
- debugnik 2mo agoProton itself doesn't exist for macOS, but CrossOver already existed instead, which is mostly the same tech, and indeed supports D3D either through DXVK over MoltenVK, or through Apple's D3DMetal.
- throwaway27448 2mo agoI'm more surprised by DXVK working cleanly
- debugnik 2mo agoTechnically there're just 3 layers: DXVK over MoltenVK over Metal. D3D8 and Vulkan here are just the APIs implemented by those adapter layers. There're some D3D implementations over Metal that could skip the Vulkan layer but none implement the old D3D8 so you'd still need another layer that implements e.g. D3D8 over D3D9-11. Also, DXVK and MoltenVK have got a lot of traction and fixes on their own, so they're probably the most accurate pipeline for D3D on Metal.
- wewtyflakes 3mo agoWorked for me; it was a nice surprise.
- lostlogin 3mo agoFor any fellow idiot following behind, the below error means you haven't paid for the game in Steam. > "ERROR! Failed to install app '2732960' (No subscription)" This is of course mentioned in the read me.
- AussieWog93 3mo agoDoes this work with Generals Online (Zero Hour mod)?
- ziofill 3mo agoDo homeworld next *_*
- joehabeebs 3mo agoI spent countless hours on this game as a kid and as I got older I found that trying to go back and play the game got more and more difficult as the technology scaled beyond the platform it was originally intended for. 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.
- TacticalCoder 3mo ago> 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 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?
- gyomu 2mo ago32x 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.
- deleted 3mo ago[deleted]
- diogenescynic 2mo agoVery curious how much it cost to do this.
- zuzululu 2mo agoAbsolutely insane that Fable 5 was able to pull this off although I'm curious how much it cost
- didibus 2mo agoIt seems it didn't: > 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) Fable added 19 commits on top of the parent fork, which did not use AI. You can see the diff of what Fable added here: https://github.com/ammaarreshi/Generals-Mac-iOS-iPad/compare/ee18a5e..d799298 https://github.com/ammaarreshi/Generals-Mac-iOS-iPad/compare...
- tangenter 2mo agoI 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 personally prefer an actual source code leak, a working reverse job is good enough, even if it’s partial as long as it’s accurate. 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.
- gf263 2mo agoI hope we get Skyblivion soon
- tangenter 2mo agoCompletely 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.
- brendoelfrendo 2mo agoI think Oblivion's reception was mostly in relation to how people felt about Morrowind. Oblivion simplified a lot of what Morrowind did, which drew some ire. Atmospherically, though, people weren't happy that they moved from Morrowind's much more unique fantasy setting, full of massive fungi and swamp-striding bugs and weird demigods, and moved to a much more generic looking medieval countryside. That said, I also appreciate the game's reassessment, because I think some of the factions quest lines are among the best in the series.
- Auracle 2mo ago
- sueandelena 2mo ago[dead]
- didibus 2mo agoDiff 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/ee18a5e..d799298 https://github.com/ammaarreshi/Generals-Mac-iOS-iPad/compare... for those curious.
- tomalbrc 2mo agoThat is really not a lot. A human could have easily done this. How much did it cost / how many tokens were spent?
- Ericson2314 2mo agoGood job, but the parent fork already did macOS, so this wasn't too hard.
- lazy_moderator1 2mo agoclickbait, 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
- Aperocky 2mo agoThe issue with these kind of porting is edge case bugs - far smaller project/physic simulation has hit the same thing especially when original code isn't exactly clean, or sometimes only worked because of a logic bug. 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.
- captn3m0 2mo agoThis is a OS port (iOS) of an existing functional and maintained fork (MacOS) of the official release (Windows). Most of these low-hanging bugs would have been caught upstream by now.
- Quitschquat 2mo agoI vibe code myself to sleep and implemented a rewrite of civ1 in Common Lisp. It works well, has all the DOS nostalgia I wanted (uses the same sprites etc.) 10/10 will continue doing this kind of shit.
- bel8 2mo agoKudos to you. Every time I try to vibe code myself to sleep I blink once and it's 5am. Creating is too much fun. Any tips?
- Quitschquat 2mo agoworktrees I suppose. That was a speedup when I learned about them.
- Aurornis 2mo agoThe title is contradicted by the README: > 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.
- rswail 2mo agoNo one seems to be worried about the fact that a vibe-coded app or conversion or rewrite is not copyright-able. It is not a derivative, it's a machine translation, without a human author. So if that is released to the public, it's in the public domain, no license is applicable.
- tjpnz 2mo agoIf they're using the same graphical assets they're violating copyright. Even if it's a reimagining of said assets it's probably still grounds for takedown.
- simonebrunozzi 2mo agoAll right, when someone will do this for Railroad Tycoon Deluxe, Master of Magic, Master of Orion II, I will have to waste hundreds of hours playing these again... And it will hopefully be much more fun, because the computer "AI" will most likely be stronger / more interesting.
- Tiberium 2mo agoYou can do this yourself with LLMs, but I admit that it's still not a trivial process. For the actual best results and the highest chance of progressing quickly, you really need a $200 OpenAI/Anthropic sub and a lot of free time. I seriously recommend OpenAI over Anthropic for this, as in my experience GPT 5.5 is far more thorough in reverse engineering and makes mistakes less often. Then, you first need some tooling, either Ghidra (open-source) or IDA (paid), and some tooling to expose them to an LLM. I have a custom IDA Python-based CLI that lets LLMs trivially call into IDA's Python APIs from CLI, but there are tens of different Ghidra/IDA MCP/CLI/SQL projects out there. After that, it becomes more mechanical, you just let the agent (or multiple agents) explore and start renaming (easier to start with functions + globals), better if it's something that's directly applied to the suite you're using, so that all names show up everywhere. This is actually quite a quick process, especially for older/smaller games. After you have enough function names, you need to instruct and have LLMs add actual types, so that the decompile doesn't have raw casts and offsets, but real fields + types. They will also need to apply types to globals and functions. Afterwards comes the hardest part - you can export this very well named/annotated decompile, and do one of: 1) Have the LLM try to directly polish the code enough to be compilable. Despite of the decompile quality, this isn't as hard as it sounds. 2) Have the LLM recreate the project from scratch in another language, something like https://banteg.xyz/posts/crimsonland/ https://banteg.xyz/posts/crimsonland/. This can be easier to get initial results, but you're sure to hit tons of bugs due to the differences in implementations. The 1st approach is more thorough, especially because you can find a matching C/C++ compiler and start doing actual decomp.dev-like work - binary matching functions so your source code compiles down to the exact bytes as in the original binary. This is the longest, hardest part, human community projects take years to complete, and LLMs still struggle with getting matches for 100%, so you might spend weeks-months, and tons of LLM usage - an agent can take like an hour to match a single 1000-byte function in worst case. As a small note - you do not need to binary match 100% to have the game be absolutely playable. Compilers are often very tricky to lead, so you might already have the code that does exactly the same thing, but just a different local variable layout might make the compiler use different registers.
- IgorPartola 2mo agoAmazing. I have always maintained that Fallout 1 and 2 have nearly perfect UI for mobile. RTS games are hard to port directly while turn based games seem like a very natural fit, as long as they aren’t very reliant on full keyboard control. Fallout does not!
- de6u99er 2mo ago>No game assets are included or distributed. You need your own copy (Steam, ~$5 on sale). Damn, I still have the CD in one of my unopened boxes from our last move.
- joel_liu 2mo ago[flagged]
- kimovski 2mo ago[flagged]
- indyjo 2mo agoAbsolutely not to be confused with the equally AI-assisted recent port of Command&Conquer (1995) to the Atari ST. https://indyjo.itch.io/commandconquer https://indyjo.itch.io/commandconquer
- feverzsj 2mo agoPretty much a clickbait.
- AltruisticGapHN 2mo agoCompletely misleading title.
- momocowcow 2mo agoI recently threw an llm at porting an old title I had published more than 25 years ago. 150 loc in a very modular codebase. It's not easy. I got rendering and a few modules working within a week. There's a reason why the heavy lifting for this C&C port had already been done by humans.
- flohofwoe 2mo agoTL;DR: nothing to see here, HN title is extremely misleading > 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 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).
- hansmayer 2mo ago[dead]
- Alan_JoshyMJ 2mo ago[dead]
- jwithington 2mo agoIt's crazy that the title is largely clickbait because he's a Deepmind employee who reps Gemini AI Studio. So if you're just gonna do a clickbait project...why pump the competition?
- calini 2mo agoCool, now do Red Alert 2. Just kidding, fantastic effort! But still looking to play RA2 on my iPad :)
- jking55 2mo ago[dead]