Remix.run Logo
s-macke 6 hours ago

Author here. I’m happy to see one of my projects on Hacker News. This has been a fun one. One evening you just try to disassemble it and wonder where the code is. The following months were a truly satisfying experience, reverse-engineering this diamond.

There is still a functioning Forth interpreter implemented in the game. If they hadn’t removed all the word names, it would have been possible to debug at any time and analyze the program state and call functions live with real Forth code. Some crazy feature at that time.

crq-yml 4 minutes ago | parent | next [-]

There is a VM project now using the reversing work as a basis: https://git.information-superhighway.net/SpindleyQ/starfligh...

Microblog: https://gamemaking.social/@SpindleyQ/115058149348319018

s-macke 6 hours ago | parent | prev | next [-]

Some early source code snippets of the game have even survived and can still be found on archive.org [0]. By today’s standards, they’re almost unreadable.

[0] https://web.archive.org/web/20030906124225/http://www.sonic....

fao_ 5 hours ago | parent [-]

"By today's standards"? no that's just FORTH code

sponaugle 6 hours ago | parent | prev [-]

A fantastic read, and really interesting to see the use of Forth. I remember Forth having a bit of popularity in the 80s. This was such an amazing game, especially in that you felt like the world was huge with the encouragement to just explore.

The other game this reminds me of is a game for the TI99/4a called Tunnels of Doom. It was a cartridge game that also had a floppy or cassette data load. It had a dynamic dungeon creation so every time you played the game you got a new unique experience. That would be an equally challenging one to reverse engineer due to the oddity of the GROM/GPL architecture in the TI99/4a.