9 ms·
Porting my 1993 Amiga game to Godot, with an LLM reading the 68000 assembly
These are my notes from porting my Amiga game, which I originally built in Baghdad in 1993 in MC68000 assembly, to Godot, using Claude Fable 5 during last July holiday. It took an evening! Getting the feel right and shipping it took a few more weekends and evenings.
I spent the last few weeks analyzing what Claude did, feeding it my 33 years of memory of how I built the game, my notes and the git repos. It wrote the first draft of the article, and I edited line by line over a week. The screenshots of my 1993 map editor is the first I have run it since then. The one thing I never verified myself is the 108-byte explanation.
"Before starting everything, the model assembled the code using vasm on my Mac, and kept going till the binary is byte-identical to the binaries I had in my original game. Even after that, the there was mismatch of about 108 bytes. I originally used AsmOne which assembles into memory, and the game saved into the disk by saving that memory after running the game. So the original shipped files are a snapshot of the game that had already been running, not clean asm-one output."
Please post any questions. I am also releasing the original game for free.
- deleted 13d ago[deleted]
- hedgehog 13d agoThis is fantastic. It would be interesting to have Claude Code export an engineering guide for doing similar ports, including descriptions of the tooling it built to do it. I've done some reversing from binary but never with results this good.
- rabahs 13d agoThis is a great idea. It could be a generic game porting skill to make the porting experience smoother. After my experience above. I have actually tried giving Claude binary files of games and it was able to reverse engineer to GoDot!
- sedawkgrep 13d ago> I have actually tried giving Claude binary files of games and it was able to reverse engineer to GoDot! Oh wow...I hadn't even thought of trying something like this. There are soooo many games from that era that I'd love to play again without the hackery of emulation.
- ericd 13d agoYeah, someone reverse engineered Red Alert 2 recently. Took Fable cranking for almost a month, but it's pretty amazing to see.
- asimovDev 13d agohttps://github.com/harshilmathur/openra2 https://github.com/harshilmathur/openra2 this is the closest thing I could find. do you have a link to the reverse engineered RA2? I am surprised I do not get any recent repositories or forum posts about this, you'd think it would be more talked about
- rabahs 13d agoJust grab any game, especially old rom files form the 80s (I tried TimePilot and Road Fighter from MSX era). The model extracted the graphics, the sounds and then built the whole game. It takes less than 1 hour to port a 16kb rom file, in one shot. You will get a playable game, but you need a few follow up prompts to get it back to its original form. Usually some sprites or sounds issues, but very easy to fix, if you have played the original game.
- WarcrimeActual 13d agoSo by old ROM files, you mean still PC games or MSX, Sega, NES, SNES? And when you have them in place what do you specifically ask Claude? This is interesting and I'd love to see if it can get me porting old games with zero coding knowledge.
- 13d ago
- asimovDev 13d agosession stored on the drive would also contain all of the tool calls , right? unless op changed the default settings it would've expired though by now, since the run was in July
- rabahs 13d agoThat's a good point. I looked at the git history for my analysis. What is the best way to analyze claude sessions history? I definitely check if I still have them stored. Thanks
- asimovDev 13d agosessions are stored in the home folder somewhere but are deleted after 30 days by default. it won't be stored in the bash history, at least it does not for me on macOS with zsh + omz
- b112 13d agoOf course is one does nightly, off site backups, all is well! A friendly note to all, always have backups!
- ecliptik 13d agoI'm doing something similar for DOS SDL ports. Repo isn't public yet, but idea is to have a repo with a knowledge base, skills and patches agents can use when porting to avoid having to bootstrap everything from scratch.
- 1313ed01 13d agoPorting to DOS sounds like a great plan for retro games, to only have to do the port once and know there are stable emulators to run it in, as opposed to porting to some modern OS and then have to port the game again and again to keep up with API changes.
- ndiddy 12d agoI'm assuming they mean SDL ports of DOS games. SDL is actually one of the most stable libraries that a native game can use. They make breaking changes to the API once every 10-15 years, and they write a compatibility layer that implements the previous version's API using the current version's API as a backend. This has happened twice so far, so there's an SDL 1.2 implementation that uses SDL 2 and an SDL 2 implementation that uses SDL 3. These can be chained together, so for example you can run an SDL 1.2 game from the early 2000s on a modern Linux system and it'll have native Wayland and Pipewire support thanks to using SDL 3 behind the scenes.
- mattbruv 13d agoI really tried to start reading this because I am interested in the idea, but the obvious AI writing prose is just so off-putting that I can't force myself to continue reading it without my eyes rolling into the back of my head. I'm not against using AI to code, but if you're actually passionate about the project and want to share it with others, you should use your own words.
- deleted 13d ago[deleted]
- khazhoux 13d agoThere were a couple of AI tropes but not overly so. This is a great story, especially if you’ve programmed the Amiga before. Think of it as: this is a story that quite possibly would not be told without AI to help with the writeup.
- sitkack 13d agoTics, tropes are worn out predictable plot devices
- khazhoux 13d agoToo late https://tropes.fyi/ https://tropes.fyi/
- rabahs 13d agoYour last point is exactly right. I wouldn't have had the time to do this port and write-up without the help of AI. Having said that, the AI wrote this based on my own notes and I edited and reviewed every line over a week. AI also helped with extracting screenshots and code snippets which would have taking me more time. I don't like to read AI writing either, but I thought that the fact that this is based on my own notes and experience and using original code and screenshots from the 90s would be of interest to the community. Thanks
- aenis 13d agoTo me, someone with interest in amiga games and low level assembly ports, having that write up being done by hand wasn't load bearing. Though I'd admit that using claude for a few hours every day this year desensitivized me to its prose :-)
- robviren 13d agoI'm actually glad to see it stumbled in a few areas. Always surprised to see how much it gets right though. I had always hoped the rather obscure parts of computer history and games would be this incredibly difficult area for Agents to mine. The amount of non standard hackish and obtuse things that had to be done to implement things in the past feel impossibly complicated to touch today. Lots of people made it up as they went along and used the hardware in ways no one expected. Reminds me of Tim Follin doing the audio for Plock on SNES and Miamoto being shocked the audio was real. It would be so interesting to see what we could learn about development of the past from agentic insights into how code was constructed. I love stuff like this an appreciate the in depth post.
- seobotaicom 13d agoDo you think AI could actually help us discover techniques from old games that were never documented by their original developers?
- ericd 13d agoWow, that's gorgeous for something written in assembly, running in 512k, nice work!
- efficax 13d agoamigas were way ahead of their time. We had an Amiga 500 and then got a 386 and it was such a downgrade, but the Amiga was clearly a dying system.
- ericd 13d agoYeah, my cousin had one, was like a computer from a parallel evolution chain, kind of weird, but kind of awesome.
- nnevatie 13d agoLooks like a pretty de-facto Amiga game of the era, to be honest. Amiga 500 (and 1000 prior to it) supported smooth scrolling by simply setting the screen-visible pointer in memory.
- a2ff6eeb0 13d ago> Please post any questions. Since Claude did the port, wrote the article, and apparently understands it better than you do at this point, can we ask Claude? Is there a git repo we can point Claude at to interrogate it on the way things were done? Maybe you can share the transcripts you used to port it? It's marvelous that software can be written with minimal human input, but I guess I'm confused about why I would talk to the human that prompted the AI, rather than the AI that did the work.
- rabahs 13d agoThis is actually what I did to understand what happened during the port. I did analysis weeks after the game was ready. While doing the analysis, I came to know about this 108 byte delta. I didn't quite understand the explanation Claude gave me. I added more details about this in the post above. It could be the difference in the assembler used, the environment used (Amiga 500 vs M5 Macbook), or how the binary was saved from memory 33 years ago
- rmunn 13d ago> ... confused about why I would talk to the human that prompted the AI, rather than the AI that did the work. One reason is because you can't talk to the AI that did the work, not unless the human who prompted it is able to hand you a file with the complete session and/or context data. (And I'm not at all certain whether Anthropic would allow users to obtain that kind of thing, since it would probably be extremely useful to people trying to distill their models. It's possible they might allow user A to say "Hey, allow user B" (or anyone with the link) "to access my session with GUID ba5eba11-1234-5678-abcd-0decafc0ffee", but I doubt they'd ever allow context data to be downloaded and passed around). Without the context, you're talking to a different instance of the AI that doesn't have the memory of the instance that ported the code, so the answers you get won't be nearly as useful.
- actionfromafar 13d agoNot to mention, the model has very little if any self insight.
- sgt 13d agoVery cool! Wish you had released it back then
- rabahs 13d agoThanks. I know the Amiga version took a long time. It was very hard to even look at the assembly code I wrote after so many years. AI was the hero that explained everything and helped me to package it for releasee. Enjoy!
- sgt 13d agoHow was Baghdad like in 1993? All I remember from that time was the Gulf war, Saddam and much conflict. I can only imagine how it would be finding hardware, books and resources such a time. That was hard enough even in parts of Europe.
- rabahs 13d agoYes, it was a tough time after the war, but the main difficulty was the economic sanctions, which hit us hard. There are a few interviews and news articles published after I launched the mobile version back in 2010 that discuss our experience in the 90s. You can read more about it here: https://babyloniantwins.com/story/ https://babyloniantwins.com/story/ I am happy to go into more detail on any aspect. I will be watching this thread regularly.
- byako 13d agoporting a 93 game with an llm reading 68k assembly while i'm over here struggling to refactor last month's javascript. we are not the same. seriously cool project though
- btbuildem 13d ago> one copy of the Amiga Hardware Reference Manual aka The Book... my, this brings back dusty memories Babylonian Twins has such strong "Gods: Into the Wonderful" vibes, I wonder if that game was an inspiration for you https://www.lemonamiga.com/game/gods-into-the-wonderful https://www.lemonamiga.com/game/gods-into-the-wonderful https://www.youtube.com/watch?v=1kAXGjUwHyA https://www.youtube.com/watch?v=1kAXGjUwHyA
- rabahs 13d agoThe main inspiration for Babylonian Twins that nobody mentioned or even thought about was https://en.wikipedia.org/wiki/The_Maze_of_Galious https://en.wikipedia.org/wiki/The_Maze_of_Galious it predates them all.
- anonzzzies 13d agoAh! How many times I played that game. I missed it on the Amiga after and never unfortunately saw your game. Those old MSX games just had good ideas.
- larodi 13d ago"Gods: Into the Wonderful" is perhaps the most amazing and inspiring game of the early 90s that literally blew my mind the first time I played it. Been playing it on and off for more than 15 years afterwards. It is a shame that publisher went down, they also released some other good games, but GODs is the legend among them. Besides, if it wasn't for BBSs and pirated software, we'd never be ever able to put hands on it, as my country was going through regime change in 1989 and in 1992 the economy was completely mashed down and the game's price was half my mother's salary at the time. What a time to be alive. Of course it was not dad, but a friend who dug it from some BBS or perhaps the eraly tucows archive.
- parlortricks 13d agoI remember playing Gods, was a great looking platformer.
- lstodd 13d agoWhat's the point though? If you got the stuff it's better run in UAE. If you have none I don't trust you and therefore think the Amiga name is misleading. To gain trust here show some code running in UAE. There is no point in "porting to Godot" because either you port Amiga stuff to UAE-likes or FPGAs or you in fact advertise "AN AI REWROTE MY CRAP GWBASIC GAME FROM 93 LOL". Lol. Which is riduculous. and people will just laugh. also 68k asm is actually human-readable compared to x86.
- urbnspacecowboy 13d agoThis is inordinately harsh, though I agree with wanting to just play the original Amiga game. It's available at the following link from all the way at the bottom of the article: https://bithunch.itch.io/babylonian-twins https://bithunch.itch.io/babylonian-twins
- lstodd 13d ago[flagged]
- rabahs 13d agoThanks for the feedback. If you have read the article, I also mentioned that I have released the Amiga version for free to the Amiga community. AI actually helped addressing a few bugs and get it ready. You can download the ADF and play the full Amiga game for the first time since 33 years ago. This post was more about my experience using AI and interacting with assembly code from the 90s.
- tomcam 13d agoYou handled GP's post much better than I would have.
- mickeyp 13d agoYou don't have to apologise for anything. Your blog post, post-mortem, and detailed walked through is fantastic. This is a great use for AI. I miss my Amiga 500 and all those days spent playing wonderful games so much. Thank you for the hit of nostalgia.
- coder-pm 13d agoHmm did you ever run the game port against the original one in UAE? With the same inputs? Or is it just "it plays right when I play it"? That 108 byte delta is puzzling...
- rabahs 13d agoYou mean run them side by side ? No, I did not do that. I played the ported game on my Mac only. The movement feels right based on my thousands of hours playing the original. There was only small tweak I had to make the trampoline jump, but everything else ported so smooth. I think the decision that Claude made not to use Godot physics and just port everything as as, made the gameplay feels right without much tweaks.
- Lerc 13d agoHave you been following the videos on Youtube of the Amiga port of Sonic? Their approach to replicating the behaviour is to run the original game logic. The display has to be totally rewritten but they had the advantage of 68k for both machines. I don't know of any games that used the blitter for calculation like some programs did for MFM decoding, that might have presented quite the porting challenge.
- rabahs 13d agoNo, I have not. I will definitely check before releasing the Amiga port inside the Steam. I think that would be the right approach, especially if you are porting a game you have not played enough. I did use blitter for all graphics. Now you mentioned MFM, I remember I wrote some disk copy protection code back in the day that leverages MFM encoding. I will check if that code is still around.
- coder-pm 13d agoNice, so it works quite good! So it’s a port, not a re-implementation. Good job on that, I like it that way:) do you have an idea why the trampoline jump didn’t come across?
- Sharlin 13d agoWhat I'm interested in is performance and memory use. How many times less efficient is the 2010 port compared to the original? What about this new one?
- rabahs 13d agoAre you interested in comparing the 2010 remake (C++) to the original (Assembly)? They are quite different games, so hard to compare, but both run at peak frame rate for their respective platforms (60fps vs 50fps). I have not compared the 2010 port to the current Godot port. However, I felt the Godot port was smoother. I think that was because Godot uses the latest graphics frameworks (e.g Metal) vs old Opengl ES 1. It would also be interesting to compare the godot port of the original game vs the original in assembly. Curious how I can achieve that. A good question to ask Claude.
- Sharlin 13d ago> They are quite different games, so hard to compare Yeah, that's fair. I was just wondering what the performance of a modern version as close to the original would be, if written with Godot or another vastly higher-level framework than handwritten assembly. Given the 3+ orders of magnitude difference in processing power and memory.
- rabahs 13d agoThe fair comparison is between the assembly version and its godot port. I didn't actually notice any performance difference since th game is capped by its 50 frame per second.
- Sharlin 13d agoYep, at equal resolution the game should presumably run at at least 10000fps uncapped on a modern machine. Of course that's not how it works in practice due to bottlenecks in the input stack and elsewhere. I also doubt the Godot version fits in 512kB of RAM ;)
- saadyousfi 13d ago[flagged]
- mattjoyce 13d agoA few weeks ago I downloaded a memory dump of a zx81 game, and ask Claude to build it in Go. It nailed it. Converted the binary back to basic and then to go. My idea was that the game would be unknown to llm training and perhaps a nice bench. What a crazy thing it is to be first at the advent of personal computing, and then in the inflection point where AI treats that first experience as archeology.
- rabahs 13d agoCurious if you had to do any follow up prompts. How large was the binary and which model did you use?
- EagnaIonat 13d agoI tried this as an experiment with the hobbit tape file to Godot. Worked, and I was quite impressed in how it deconstructed the binary. At one point it did cheat by looking up the zx81 Hobbit online to find pieces that were missing.
- glimshe 13d agoGreat work! I'm planning to do that to another forgotten game (not mine) and it's great to see that this is now quite possible.
- rabahs 13d agoThanks! Yes, this was not possible last year, and probably even a few months ago. Amazing times to revive forgotten games and software. Let me know if you have questions on my process.
- saulpw 13d agoWhich game are you planning to do? We all should coordinate so we're not doing the same games repeatedly.
- glimshe 13d agoAh, it's not going to be Amiga. The shortlist has two PC and two C64 games.
- TacticalCoder 13d ago> I spent the last few weeks analyzing what Claude did, feeding it my 33 years of memory of how I built the game, my notes and the git repos. It wrote the first draft of the article, and I edited line by line over a week. Sooooo cool! I did something similar a few months ago: had the old source code (and executable files) of a game I wrote in 1991 (PC DOS) and a few notes in source code and, well, my old memories of how things worked. I didn't know how to compile it anymore but with the help of LLMs I managed to get it compiling again. Since then I found about 8 pages of handwritten notes I took back in the days and I did immediately scan them and I added them to the repo. Now my PC DOS from 1991/1992 does compile again and, well, I really should blog post about it one of these days (if only I had a blog...).
- rabahs 13d agoThanks for sharing. It is truly an amazing feeling when AI helps us excavate the past. I never thought I would be able to do so. I'm so glad I kept all my files over the past 33 years.
- rererereferred 12d agoYou can pout it on itch.io and write a devlog there.
- rabahs 12d agoIt is already on itch. Check the babyloninantwins.com for all the links
- dannyobrien 13d agoI just wanted to add how much in awe I am at you creating this game in '93 in assembly. Around the same time I was trying to write a game on the Atari ST, and the dedication to the project -- especially when documentation was so thin on the ground, pre-Internet -- is extraordinary. Do you have any stories from debugging the game? I always found that the most dispiriting part, after the endless hope of handcrafting the code that I was sure would work first time...
- rabahs 13d agoThank you for sharing your experience. It can be hard to remember all the details of debugging in assembly, but the main aspect I recall was managing game performance to ensure all rendering and processing stayed within 1/50 of a second. My technique was drawing a white line using the Amiga Copper, starting at the beginning of the top vertical blanking period. As I added more game objects, logic, and rendering, I had to make sure the line does not drop below the beginning of the active display area. If it went below that point, a frame would be dropped, resulting the game to flicker. I had to use many techniques to split the processing of the game objects in batches across multiple frames. Fun time.
- caruasdo 13d agoIt's interesting to know this.
- deleted 13d ago[deleted]
- deleted 13d ago[deleted]
- smilbandit 13d agoI've been wanting to do some ports of old games i liked on the atari 400 i had as a kid. some of them I want to see if they would translate to a mobile web game. couple i'm looking to translate are Archon, lode runner, balderdash and maybe some of the ultima games, I really liked ultima 4.
- abrookewood 13d agoMust be incredibly rewarding seeing your game rebuilt. Fantastic bit of history too - I had no idea games were being made for the Amiga in Baghdad!
- rabahs 12d agoThe game website link to some articles description the game dev scene back then.
- Gamemaster1379 13d agoNeat project.I've been experimenting with making reusable console porting frameworks since last October. Opus 4.6 was my first success with the NES 6502. Since then I've done static/native ecosystems for the Super NES, GBA. Nintendo DS, Playstation (most popular) and even Sega Genesis, such also uses the 68k. https://github.com/mstan/segagenesisrecomp https://github.com/mstan/segagenesisrecomp I even extracted the 68k decoder to its own repo because I wanted to reuse it for the Phillips CDI. Sega does Sonic 1 2 and 3&K. Also Rocket Knight adventures. Still early yet though. CD-I does the BIOS. Didn't get a game running end to end yet though.
- rabahs 13d agoCool. I wonder how much additional harnesses would improve the porting process. In my case, I gave more freedom to Fable 5. The model was able to figure things out. I am hearing that the latest models works better with less restrictions. Curious to know the progress on the above.
- Gamemaster1379 13d agoIf you want to see a bit more in depth, some shameless plugs but here's a few articles I've written as I've made progress: https://1379.tech/building-enhancing-recomps-ecosystem-updates/ https://1379.tech/building-enhancing-recomps-ecosystem-updat... https://1379.tech/recomp-ai-5-months-later/ https://1379.tech/recomp-ai-5-months-later/ Ultimately, Sega Genesis has been low priority. I've been focusing mostly on community feedback for my existing ones. Playstation is by far the most popular and the one I get the most PRs on. SNES is second. And right now Nintendo DS is newer, but has a very popular Metroid Prime Hunters I've been working a ton on. NES and Sega Genesis get little attention. CDI and VirtualBoy [understandably] get no real attention. I have an early original Xbox LLE prototype. Hoping to do more with it soon, but I'm all tapped out of usage at the moment. I got a lot done during all the crazy resets with OpenAI there for a while.
- pixelpoet 13d agoRocket Knight Adventures!!! Immediately I can hear the music in my head, and I haven't thought about this game in a long, looooong time! Thank you for mentioning it, I'm off to get a Mega Drive emulator :)
- ropable 13d agoThank you to the effort of building this game in the first place (I'm sorry that I never got to try it then), and thank you for re-introducing it to us today. I'll give it a proper play in my leisure time.
- rabahs 13d agoThanks! would love to hear your feedback.
- harisingh1612 13d ago[flagged]
- TokenLat 13d ago[flagged]
- larodi 13d agoLove the GFX and the whole idea that s.o. under sanctions can create this game in 1993 while outside is 50' is itself amazing.
- xuchenyi 13d ago[dead]
- snvzz 13d agoFrom the article: move.l #$dff000,a0 ;Base for hardware registers lea save(pc),a1 ;Get the system move.w #$4000,intena(A0) ;from the AMIGA Crude, although perfectly fine in practice. The system-friendly way is to call the function exec.library has for the purpose, Disable()[0]. 0. http://amigadev.elowar.com/read/ADCD_2.1/Includes_and_Autodocs_2._guide/node034A.html http://amigadev.elowar.com/read/ADCD_2.1/Includes_and_Autodo...
- rabahs 13d agoThanks. I wonder if that was documented in the Amiga Hardware Reference Manual :) that was the only book I had back then. I remember it was mostly registers and assembly language.
- snvzz 10d agoYou're welcome. It's all in the NDKs, which I didn't have at the time, either. I only got my hands on the AHRM once I started university, and that was after 2000. Having very belated fun with Amiga development today. It's never been easier to get into, with all the archived tools and books, and the modern ones.
- gmerc 13d agoIt's a completely new world. Random retro games I ported to modern webgl/webgpu in the last few months: - The Adventures of Robin Hood - Opus 4.7/Sonnet https://robin.tooclever.org https://robin.tooclever.org - Syndicate - Sol/Luna 5.6/Opus ( https://this.os.isfine.org/blog/posts/modern-game-port-syndicate-1995/ https://this.os.isfine.org/blog/posts/modern-game-port-syndi... ) - Kaiser 2 - Populous Plus - Sol/Luna 5.6/Opus - Dragon Strike - (Fable 5.1 almost one shot) - War of the Lance - Qwnen-3.7-27B-dense (got stuck, finished with) Qwen-3.8-Flash-Next https://this.os.isfine.org/blog/posts/what-reverse-engineering-and-modernising-an-old-war-game-tells-us-about-the-econ/ https://this.os.isfine.org/blog/posts/what-reverse-engineeri... - Dungeon Keeper - Various - Red Baron - Opus 4.8, DeepSeek 4 - Test Drive 3 (Qwen-3.8-Flash Next, DeepSeek-4-Flash-exp, GLM-5.3-Flash) - In progress Ultima 6 ... to 3d (Fable, GLM-5.3) ( https://this.os.isfine.org/#ultima6-atlas https://this.os.isfine.org/#ultima6-atlas ) Some straight source ports (Kaiser), some full RE jobs (Dragon Strike, Test Drive, WOTL) Some a mix of available sources (Syndicate, Populous) Some of the findings are documented here: https://this.os.isfine.org/blog/ https://this.os.isfine.org/blog/
- muro 12d agoyou are awesome. I'm doing one such port and it's not that simple :)
- s-macke 13d agoI would like to see all of them :-) One of the most difficult reverse-engineering projects from that era for me was Stunt Car Racer on the C64 (also ported to DOS). It features a highly optimized 8-bit 3D graphics and physics engine. Fable was the first one that was able to generate a complete port of the game. Now I am trying of Flight Simulator 4 and Wing Commander 1. Then maybe Frontier Elite 2. So much fun ....
- p0w3n3d 13d agoPlease do not hesitate to share stunts, if you can
- 13d ago
- fleroviumna 13d ago[dead]
- jocelyner 13d ago[dead]
- appstorelottery 13d agoAnyone that uses "Claude Fable 5 running in Claude Code"? Can you speculate that plan or cost might have been involved in doing this (given that it seems approximately 5 hours or so of continuous operation for both C++ and Assembly ports, along with the shipping / marketing functions where it's not clear how much compute was used". Thanks in advance (I'm thinking of trying US based models, however I'm penny pinching using DeepSeek Flash etc. ATM).
- gmerc 13d agoI just did a one shot port of Dragon Strike (1990) and it got to about 85% playable from zero. Cost: About half a Claude Max 200 Weekly Limit, whatever that means. Details: https://www.linkedin.com/posts/georgzoeller_fable-51-is-a-significant-improvement-more-activity-7501194912797827075-umbB https://www.linkedin.com/posts/georgzoeller_fable-51-is-a-si...
- rabahs 12d agoI have the Max subscription. I use mostly weekends and some evenings. I never hit a limit.
- shevy-java 13d ago> The same twin, the same six frames: 1993 above, 2026 below. But why is the 2026 twin facing right when the original faced left? It's only a minor detail, but IMO it would be easier for comparison if they both would point in the same direction.
- rabahs 12d ago[dead]
- techsage 13d ago[dead]
- cesaref 13d agoI noticed he mentioned that his game was running at 50hz - that's true if an Amiga is running on PAL, but if it's a US machine it'll be 60hz when running with NTSC. Back in the day, most Amiga games were made in Europe, so were tuned for 50Hz refresh, and played 'normally' over here. At 60hz, they would feel wrong, and likewise, US games could feel sluggish and unsatisfying. Locking the machine to the monitor refresh rate in this way was a curse but also a blessing. It allowed the machines to drive a standard television in various regions, although the image was somewhat blurry, but also the use of dedicated monitors once you started taking it seriously. This reduced the price point and allowed lots of kids to convince their parents to get one :) The higher resolution modes just didn't work out though, so lots of stuff targeted the 320x256 resolution. The surprise benefit was also that the amiga could genlock to a TV signal and used to overlay onto a video feed, leading to many interesting cheap graphics overlay capabilities which were otherwise totally unobtainable by small TV channels or enthusiasts. Those were happy days.
- deleted 12d ago[deleted]
- kschiffer 12d agoI did Moonbase Commander, in JS and HTML canvas. Currently building an AI opponent that doesn't suck as much as in the original. It's amazing that this is possible. I took quite a bit of steering and was definitely not a one prompt endeavor but having a lot of fun with it.
- Jach 12d agoIt's kind of a fun, albeit also kind of a pointless, thing to do, huh? This week I took a student project game I made with 3 others back in 2010 and made it live again. I'm cheap, I only have the $20 plan for this month (likely to pause again for next month) and used Opus 5, and I'm visibly hamstringing it by running claude code in a firejail and not using yolo mode on permissions. Still, without much effort/oversight, it took the old C game that only ran in windows' cmd.exe terminal (a class constraint -- we still made a side scrolling shoot-em-up rather than a text adventure like many others), wrote the new version in Common Lisp as I asked (somewhat following the style of some other Lisp code I've written), implemented both a simple SDL2 "software" renderer along with an even faster OpenGL renderer, and didn't touch the original assets which were in a quirky binary format with a bug on one level in the C code. And now it runs great on Linux (and Windows, though only briefly tested it, building it with wine). Having its own graphics window lets it run at thousands of FPS when we were struggling to hit 30 back then. Last night on a whim I had it take a crack at porting to Android, and it did that as well. Still using SBCL, just one little C file shim for some things, no Java code was needed. Now I can easily show it to a few people in person. And it was kind of fun to play it again after so many years in an archives folder. Your game looks cool. It's a full, real game! And while I now think that there's no longer strong "platform convenience" reasons to choose any tech stack if these AIs can just bulldoze their way through difficulties, I'm sure running in Godot still made a lot of things easier for it.
- Steve16384 12d agoWhy pointless?
- Jach 12d agoOnly kind of pointless. A few reasons come to mind. For one, they're games. (I say as an avid lifelong gamer.) For another, it's indulging nostalgia. (I say as an indulger.) To be clear, I think both things are fine, but of course to all things moderation, even moderation. When trying to rank things by pointlessness, many specific forms of entertainment and nostalgia are higher up than other activities or categories. Not as high as watching paint dry. And the more general category of, say, "having fun" is lower; some might even claim that to be the least pointless thing of all. I'd caution with "Amusing Ourselves to Death". More reasons come from trying to predict where AIs and our interactions with them will be in 6 months, 1 year, 2 years, 5 years. Will we even be alive? Other reasons from wondering about alternative actions: is asking the magic box to do this particular thing, rather than some other particular thing, the thing that will actually bring you (or others) joy right now? Or money? Satisfaction? Fame? Upvotes? Some other things you want to feel or experience or do? (And in the OP's case, I think there's actually quite a good case of actions matching motivations, given the full history, and especially as earlier pre-AI-tooling ports were well-received enough to get a couple million downloads. Still, what about something new?) For my own small efforts this week, the main things I got out of it, besides the nostalgia (which is quite valuable to me), were similar to what I've been getting out of any AI-using projects this year, which is a strange mix of satisfaction, a bit of fun, a bit more awe at these magic boxes (even the dumber ones like Opus and Sonnet), anticipation of showing/telling a few people in person about this particular kind of pointless adventure, and a bit more melancholy about a few things, like the makeup of some of my online hangouts, or that my programming skills have been rapidly decreasing in their having a point to exist, or that my revealed preferences in this case are that I'm happier to let the AI do all the coding for this project and barely look at the code myself (there's a bit of disgust/gross feelings here too). I last thought of doing this work in 2019/2020, never got very far, now it's suddenly done, and even more than I thought of doing. (I still keep the AI out of some other projects, as programming the old fashioned way is in general still pretty fun to me at least.) Now it's on to the next project, when I decide that will be more fun than playing a game (I have such a backlog after all), and I'm sure it'll also be relatively pointless. More the honor to people doing bigger things impacting the world, with or without these tools. This whole comment is also kind of pointless, I'd rank it as probably more so than the other mentioned things (except I guess watching paint dry), and yet it's here.
- pkilgore 12d agoThis was an interesting read, in that it was obvious both that Claude was used in part for the prose but that a human had definitely edited some of the worst claudish out of it (but not enough for me to be able to tell). Confirmed in that last paragraph. Just interesting to me I can detect gradations of AI speak at this point.
- quarrykit 12d ago[flagged]
- jeanmichelselli 12d agoThis is a really cool project! Amazing!
- deterministic 12d agoWhat an excellent read. This is why I read HN. Thanks!
- rabahs 12d agoThanks!