![]() |
[WIP] karate champ VS
1 Attachment(s)
Attachment 74951
a substantially bigger project than previous ones. - 256 screen height, 1:1 display. - started reverse-engineering original game A.I (not a piece of cake) - bobs ripped, the bobs displayed use the same color sprite, using a bitplane trick to change clothes color (IK+ probably does the same ...) - will use joypad buttons + direction to get same control scheme as the original - hopefully at some point I can bring no9 in the production for the music Let's hope all goes well... |
It looks like Karate Champ.
|
Awesome! Karate Champ!
|
Fantastic jotd, you'll get a whole arcades worth of games out there by the time mere mortals finish off 1 project. Great game choice, looking forward to it.
|
Yes, it's him ! Karate Champ, old good fight game :)
|
Quote:
the mere mortals who are commited to 16-bit arcade conversions have an excuse to take more time completing them :) |
Is this the first or the second one? (first was about glory, second was about getting the cute kimono girls)
btw if no9 is not available make me a whistle ;) |
the second one, with the girls. Funny how they removed all the "demo" parts from part 1 (breaking a vase, kicking some high wooden panel, kicking apples above opponent head and arms) and a lot of other stuff, but the unused tiles are still in the ROM (and there ar ea lot of them). Pity.
|
Another classic I remember!
I love that you do the same controls as the original! Way to go. Just fantastic what you are doing with these arcade ports. |
thanks. Besides the arcade excellent sturdy joysticks, I used to play with a PS2 controller on MAME, using the 2 analogue joysticks and it was perfect.
With a CD32 joypad the experience will be very similar I hope. I stopped trying to create the animations for now, and focused on the reverse engineering of the original arcade, as it appears that the animation frames don't have the same timings depending on the frame and on the technique. Plus the character moves forward during most techniques. So it's important that the proper values are retrieved from the arcade game. I already figured out a lot of stuff, but it takes a while, even for a 48k program. I've tried Ghidra but it failed miserably by looping indefinitely during analysis, then I found out that the offsets were sometimes wrong. I guess the Z80 plugin is far from perfect. Too bad as the tool itself seems very complete, and free, but more adapted to decompilation of C compiled code. |
A good thing of KC is that the players have only four colors, you could save yourself some trouble using sprites
|
That is a good idea but not possible because the players are 48 pixels wide. But bobs are okay, this is basically the only thing that moves on that game.
On second thoughts, using 3 sprites per player, it IS possible. And would be fast too and would solve some problems. Worth considering, even if I started with bobs and some parts need bobs (referee, other objects on screen). |
Wow great if you can manage this. It's an excellent game and choice especially if dual control is in there because it really does differentiate how it feels to pull the moves out. Maybe a keyboard option because it is only four directions per stick
|
Great initiative jotd, certainly a bigger project as I've just had a look at it on MAME.
I haven't checked but it looks like you can straight blit copy the character bitmaps into each bitplane and set the palettes up to accordingly to give you your sprite priorities... 4 bitplane mode. I'd keep the hardware sprites for the flying objects and facial animations that appear as it looks like they are in front of all playfields. The tricky part will be capturing and organising the sprite frames which might take a bit of decoding on the arcade or recording in MAME. Anyway... top work... not a short term project this, give yourself 6 months to a year to do it. Geezer |
thanks Graheme. The reverse engineering part is the most time consuming. Plus I have a daytime job (I would quit it if it wasn't for the money :))
But I'm starting to figure out how it works. Simple but clever. The key is to figure out how the animation frames are played (timings, x-offset) and also the active hitboxes (position and timing when the hit is effective). And the game uses pointers to frames to detect opponent behaviour as I discovered (that plus distance between player and if they face each other or they turn their backs) I found a lot of jump tables, lookups (linear) and the "entry" of the A.I. routine. So I hope I can convert the A.I. very faithfully. I often push the resourced asm on my github so I don't lose it |
I had a tough time with animations (and it's not over!)
I can't resist to post a small video of a very early WIP https://youtu.be/sQ9MAMjSDII |
Good choice, didn't know you were working on this one. Thank you. :great
|
Karate Champ is the best game for forming friendships: https://www.youtube.com/watch?v=ZIqLkWvLRo0
|
Haha, nice update. Brings back some good memories :)
|
Excellent!
|
All times are GMT +2. The time now is 04:17. |
Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, vBulletin Solutions Inc.