This is a 1:1 attempt of a remake of Karate Champ VS on the Amiga 500
todo:
if crouch when end of foot sweep (back or front) then connect to crouch crouch connects to reverse punch: implemented? check
if py<(py_start-32) (not jumping) if going left and 0<px-px_other<threshold, don't move left if going right and 0<px_other-px<threshold (group with test against xmax/xmin or compute xmin/xmax at each update)
- jump special case just for jumping side kick (connect from jump)
- demo add "player vs player" flashing
- 2p make rounds won flash (draw_score_box/erase_score_box) at start
- when lost, show girls + score (green background)
- A.I.
- evade: faster object frequency according to the level 0: 78 4: 6E 8: 64 12: 5A 16: 55 bull
evade sequences: sequence: low rear mid front high rear mid front high rear sequence: 3x mid front, 2x high rear!!!
multiple evade objects: can be displayed at the same time
- how much cpu holds block
- demo in level 4 cpu vs cpu
- check cpu move speed from videos with varying skill level: no need: frame speed up has been reversed, now have to code it
- define debug variable so CPU only performs jump attacks
- define debug variable so CPU always jumps to avoid low kicks
- define debug variable where cpu blocks
bugs:
- if (non-AI) distance is too close, cancel/convert some moves (like if forward direction wasn't set) lunge punch medium => front kick lunge punch forward => round kick
- distance: maybe add a small bias because computer seems to attack from too close with for instance lunge forward and thus miss.
- if too many misses, add extra half point pixels outside foot/fist
- fake fight in title screen: not working
- back kick when facing: sometimes hits opponent!, same for back round kick at a distance
- technique name displayed 8 pix X too to the right
- points (not score) doesn't show all the time (cpu or human)
- timeout: players can still fight & win. stop all moves when "stop" ?
- after winning a round by timeout, opponent doesn't move anymore (cpu)
- tests jumps as it seems to fail... cpu tries to jump (?) several times before performing a ground attack
- cpu jumping back/side kick cpu stays stuck
- hardest difficulty level seems to bug less...
- when hit in the air, player should fall down
- jump: too short, maybe duplicate frame sequence
- evade collisions: front ok, back move ko (and trashes game)
- evade: player moves: trashes object update
- evade: sometimes random end to practice with start music... then crash...
- demo/plank level scoring is complete bogus
- intro karateka wrong move (sometimes stuck x=0 on left) + pb erase
- break planks sometimes breaks planks while away
- bull add restore bg on right
- timeout win: no win animation
minor:
- 2P game over player message: doesn't stay long enough
- check/fix consistency in options
- movement lock of player when opponent is hit doesn't seem to work
- optimization: do not check hits if player distance is too high
- reduce memory: collision maps as bits: would gain 50kb
- reduce memory: try to split frames into 3-4 strips of height 16