• Hello MLAers! We've re-enabled auto-approval for accounts. If you are still waiting on account approval, please check this thread for more information.

Continuum Game - Javascript Port

sam256

6502
I've ported the old Mac 68k game Continuum to javascript. Thanks of course to the original developers for making the code available.

You can try it out here:


The code is available here and a bit of a writeup of the project:


There a few minor things I still need to do, including adding highscores, more of a front page, custom controls, etc., but I would love it if some folks in this forum would beta test it and give me their feedback.

(BTW, one of the annoying things in playing the game emulated is the background pattern scrolling on a modern LCD. I've "fixed" that here by making the pattern static, but it causes the edges of certain objects to "shimmer". Ultimately, this will be a setting you can turn on or off, but for beta I left it on.)
 
I added a high score table. I'd like to eventually reuse the original high score table graphics. I have the resources parsed, but it will be a little work to position the scores correctly. So for now this is just a React high score table. But you can compete against yourself!

Also filed a few bugs in the repo, which I'll fix when I have time. The sound syncing ones are annoying, but doable. The ones that relate to the real game logic are a little tricky because I'm trying to not "just fix" things, but to actually figure out why it worked in the original game and why it doesn't work in my port, which requires a little more archeology. I.e., the development loop isn't just -- what's wrong? how to fix it?, but instead-- what's wrong? why wasn't it wrong in C/68k asm? what did I mess up in the port?
 
Just redid the sound system to fix a few bugs and make it much more faithful to the original. Check out Level 9! Madness.
 
Awesome work on this. I enjoyed your writeup. It sounds like it was quite the 5-year journey, including learning to program the Classic Mac OS yourself. It's also interesting to see what a productivity booster an LLM can be to a lone developer in very particular situations (translating 68K ASM), that are not just CRUD apps.
 
Thanks, yeah, that was an interesting part. I would say the biggest think the LLM was helpful for was tracing through the old C code. It was really good at that -- though not perfect -- which saved me from needing to load things up in an IDE to trace symbols etc.

In terms of interpreting 68k asm, it was good not great. It could interpret the assembly directly but wasn't so good at saying "this is what it does." That said, it was better than me at that :) But I spent a lot of my time bouncing between Claude and Gemini trying to get one to find the other's assembly mistakes...
 
The game now records your gameplay and lets you export compact "replay" files that you can share to show off your skils.
 
Back
Top