onMouseDown makes opponent move at you and arrow keys to move yourself about.
I've improved this engine and I believe I've eliminated the real nasty bugs. Can you all please let me know if this is a decent foundation for rebuilding my 2d fighter engine? Thanks.
Here's another bug. Move to the left side of the screen, until the box won't go any further. Now, holding down the left key, jump. Let go of jump, but continue to hold the left key. The box will hit the ground, and then slide off the screen to the left.
I think I've improved it. Let me know if it is a solid platform to build the fight engine on top of, I'd like to have this spotless before continuing. Thanks for your help.
Momentum
Why do the characters have so much momentum? This is neither realistic, nor in-keeping with any of the fighting games I've ever played. Maybe you've got a good reason for this, but I can't help thinking that it feels more like a Mario Bros game than Street Fighter.
Usually, characters in fighting games have a set horizontal speed, and do not accelerate or decelerate.
Bouncing
Why do the characters bounce so much? I've never played a fighting game where the characters bounced off each other or automatically off the walls. Street Fighter 2 implemented the wall-bouncing idea, but only for one character, and only if the player manually jumped into the wall, changed direction, and jumped off again. Once more, this feels more like a platformer than a fighting game.
I envision it to be particularly difficult to engage in a fight when the characters bounce off each other - how can you get close enough to punch if touching the other character throws you both away from each other?
In a standard fighting game, players can either walk through each other (IK+), or they are treated as solid non-bouncy objects (Street Fighter 2). Attempting to jump onto another player merely causes you to slide off the other player, landing on either the left or the right of him.
Playfield Size
Try to limit the size of the playfield. This ensures that the two players can't just hide from each other at the ends of an oversized arena. You can either scroll the screen if you want a large playfield, or have a smaller, non-scrolling playfield. At the moment, I think that the environment is too large.
Jump Speed
Try increasing the speed of the jump (both upwards and downwards), and see if that increases the immediacy of the game - at the moment, the fighters feel very light, and the game feels very slow-paced.
However, you may be working on an atypical fighter, in which case your additions could be very interesting. At the moment, it seems very much like a platformer. You could take the features you already have (momentum, bouncy characters and environments, languid jumping, large arena), add more platform features (platforms, wrap-around holes in the walls, etc) and cobble on some fighting features (kicks, punches, special moves, life meters, etc).
In this way, many of the problems I have outlined become positive features. Bouncing could be an interesting strategy, for example; if the other player has the upper-hand, just run into him and he'll bounce away from you.
Anyway, it is entirely down to you in the end. The engine shows a lot of promise, and I'm sure that whichever way you choose to develop it (traditional fighter, or your own route), it will become an enjoyable game.