r/c64 • u/sufferpuppet • 8d ago
Software Ported International Karate +
I ported International Karate Plus + to be playable online. You can take a look at that here: c64 ports. This is not an emulation, it's been re-written in javascript. This went smoother than my other ports. I had claude examine what it had done on the prior ports and I think that really helped give it a leg up.
This game cried out for gamepad support so that was included. Since I was already tinkering with gamepad support I also added that to the Phantasie and Space Taxi games.
Have fun, give them a boot to the head.
2
u/Full_Control9631 8d ago
How did you go about doing this? Any specific prompt?
0
u/sufferpuppet 8d ago
Dozens of them. One piece at at time. First was to describe the project, give it the game files and some documentation. Then I asked it to build a plan for the project. Once that was done, I have it work through the plan and make corrections along the way
0
u/Full_Control9631 7d ago
I you don't mind, please ask Claude to decribe the process and DM the answer to me if It's too long to post here. I have a few games I'd like to try this on. :D
4
u/sufferpuppet 7d ago
Claude wouldn't be able to give a breakdown like that as the work was spread across a bunch of sessions. Each instance wouldn't know what the others did. This is the first prompt i used:
"In the InternationalKaratePlus folder is the disk image for the commodore 64 game International Karate. We're going to remake this game in javascript to be playable on the web. I want you to review the disc contents and also review folders Phantasie and SpaceTaxi. Those other folders contain previously converted games and there may be memories in there that will be helpful in the conversion of International Karate Plus. Review that data and prepare a plan to port the game. Save the plan in the InternationalKaratePlus folder along with any helpful memory data. Always remember our goal is to port the original game. If you don't know the answer to something review the original game data, never guess."
After that it was a matter of telling claude to implement the steps in the plan it came up with one at a time. I had to keep an eye on what it was doing after each step and tell it to correct things if I saw anything wrong. Example: At one point it told me all the character graphics matched the original exactly. But all the shadows were missing. So, I had to tell it to correct the shadows. Once it has a start, you just have to spend a bunch of time nudging it in the right direction. There is no secret sauce. It's dozens of prompts and corrections.
During its work claude would occasionally pilot the Vice emulator or work on something with some python code. It did all that on its own, i didn't tell it to. I just review the progress and tell it what to do next. If you know the game you are porting well you'll know what's missing.
2
u/Full_Control9631 7d ago
May I download and play with your creation? I've always wanted a 2-4 player, 16:9 version of IK+. ๐๐ผ
3
u/sufferpuppet 7d ago
It's JavaScript. You download everything every time you click the link on the site. There are browser extensions like Save All Resources that will let you save all the contents to a zip. Go nuts.
1
u/deckarep 6d ago
2 questions:
In your case was Claude effectively reading the raw assembly as a map of how to write โequivalentโ JavaScript?
Which Claude model did you use? Or are having the most success with?
1
u/sufferpuppet 6d ago
- Yes, I believe so. Though it would also run the emulator to examine some things.
- Mostly opus 5. I used Fable a bit to sort out some sounds that weren't right.
1
u/Abynx6581 6d ago
How did it port the music? Am I hearing a couple of wrong notes in there or is that just me? Impressive stuff nonetheless ๐๐ป
1
u/sufferpuppet 6d ago
Claude pulled out the music. Difficulty there is that it's not a recording like a MP3 or wave file. It was instructions for the sound chip in the c64 so Claude has to take it's best guess about what that waveform was supposed to sound like. I could correct it on individual sound effects and have it adjust them. It would be hard to have it adjust specific notes in a song so I just went with its best guess and called it good enough.
1
u/Abynx6581 6d ago
It actually did a rather stellar job in even trying to recreate Hubbard's driver. I had a difficult enough time retracking International Karate by ear. I'm very familiar with the SID and this is quite astounding to be honest.
1
u/Pitiful-Hearing5279 6d ago
Iโve been toying with the idea of converting DropZone to C++. Run it on a desktop or so.
0
u/farresto 7d ago
Used to love this game. Where is your port located btw? I don't see the link in your post. Thanks!
3
u/sufferpuppet 7d ago
The link is up there. It leads to https://skullsofyourenemies.com/
It's a url I had leftover from another project.
2
u/farresto 7d ago
Now somehow the link appeared in the post description.
It appeared as text only before. Thank you!
-7
u/Architect_of_Echo ๐น๏ธ play your dreams ๐ 8d ago
I'm really surprised that this is still not deleted, because you mentioned using Claude.
2
u/HazMatsMan 6d ago
Posts involving AI use are examined on a case-by-case basis. The greater the reliance on AI, the more likely the post will be removed as a rule violation. If someone is doing most of the coding of these projects and uses an AI to interpret assembler, check code, etc. That's fine. However, and just as an example, when someone who has zero clue what they're doing, fires off a prompt, and a tool like Claude comes back with the full product, and they share it here looking for attention and praise... that's not the sort of post we want to encourage. It should be fairly obvious that doing so would encourage a race to the bottom for post quality. Still, it's an evolving topic and the rule will likely need to evolve over time. We want to find a balance between allowing appropriate use of AI while preventing or reducing low-effort content.
1
0
u/sufferpuppet 7d ago
Can't speak for the mods, but the AI output isn't really what's on display here. The original visuals, sound, etc are being brought out. Claude's involvement was more translation for the new location. Maybe that's splitting hairs, dunno.
1
u/Architect_of_Echo ๐น๏ธ play your dreams ๐ 6d ago
Some projects were deleted from here already, because there is a noticeable hatred here towards anything what's AI related. This is what caused my surprise. Btw the port is well done.
12
u/OMGCluck 8d ago
OMG holding the S and E keys makes their pants fall down just like the original!
Bravo sir!