Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
Reverse engineering a DOS game with no source code using Codex 5.4 (twitter.com/ammaar)
7 points by asronline 15 days ago | hide | past | favorite | 5 comments


I made it work on a simpler game: https://x.com/lukastencer/status/2030899760962707908 , it does NOT work out of the box. Now working on 2 more games, prince of persia and MK3. PoP done with 1-st level. It takes hours and hours. Requires babysitting and human feedback. You need to give it right tools (headless visual comparisons, test-cases, ...) and it DOES find its own errors. he flow is: 1) map the binary as much as possible 2) rewrite / reconstruct the binary, document learning 3) clean-room implementation from scratch in your favorite game engine (using pygame for simplicity). This works, but took me weeks, not a day.

I took the time to bring down the repo and compile it because I grew up playing SkyRoads on an old 486 DOS machine when I was a kid so I'm intimately familiar with the subtle details of the game (the weird bouncy physics of the hovercraft, the speed of the game, etc).

At this time, this project DOESN'T really work. At all. I mean it's totally unplayable. Within 5 seconds of starting the game, the vehicle was literally teleporting all over the place.

So it's a very cool proof-of-concept, but I'd be more in interested in a repost when Codex is finished.

Video of the current state:

https://imgur.com/a/R3A6Xse


XCancel link: https://xcancel.com/ammaar/status/2030392563534893381 and his second tweet has a link to a GH repository of the port in progress and prompts: https://github.com/ammaarreshi/SkyRoads-Codex

Intriguing, if genuine.


From the docs, I couldn't tell if it had disassembled very much of the EXE. Looks like it extracted most of the assets, the presence of open-source modding tools for this game in training data likely helped a bit.


Interesting. Can revive DOS games in DOS to Rust to make them cross-platform. I imagine most DOS games are no longer sold or supported, or IP sitting on an underwriter's file cabinet?




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: