And yes, you need a NEXT directly after the first NEXT. You can't have a FOR loop without a NEXT. I recommend printing your loop variables so you can see what your nested loop is doing.
That's because your program is looping thousands of times per second, it needs a WAIT command to slow it down. WAIT 60 at the end of the loop would wait 1 second before looping again.
Yeah, I agree with Trabajon. Not trying to put you down, it's just a lot and it's already hard enough to make a 2d fighter. 3d movement never really added much for me IMO, it makes more sense in brawlers like Streets of Rage.