Mario Engine - Basic Movement Set - Testing

(This is controlled with a ps3 type joystick)

Trying to get Mario’s basic moveset down. I’ve already gotten things like jumping/falling animations to work pretty smoothly, and I’m happy with how the camera works. Some big problems right now:

  • I can’t get the controls down. Specifically, how Mario rotates. Usually, in Mario games, Mario’s orientation parallels the way the analog stick is facing. However, I can’t figure how to do this smoothly.
  • Some of the animations don’t blend into each other, even though they are set to do so. I have them all on different layers, and most of them do blend together, but some don’t.
  • The Character physics type’s movement options are very limited. I would switch to the Dynamic physics type, but when I try to implement the jump, it’s extremely floaty, and when Mario moves in the air, sometimes never leaves the air.

Aside from those, things are running pretty smoothly, and I plan to add more moves as I perfect the ones I have right now. Some moves I plan to implement:

  • Long Jumping
  • Triple Jumps
  • Carrying/Throwing of objects
  • Ledge Grabbing

Moves already implemented:

  • Running (Left Stick + X)
  • Jump (A)
  • “Blinking” (Left Shoulder Button) This move sends Mario forward and up into the air instantaneously. Cooldown timer of 20 seconds.

Here’s the .blend file:

i didn’t look at ur file.

Animation on different layers : it’s a vertical merge and not a horizontal merge in time. With layers, all u can do is simply determine the % of animation A melted in the animation B for the whole running time. If you rather want animations switch from 1 to another, you have to set them on the same layer and determine “priority” of each one and set a ‘blending’ value for their horizontal merge.

To rotate smoothly, i don’t know if you use motion actuators, but you can set it to ‘local’ and ‘add’ option. For the right button, set something like a location X value, a smaller Y value and a small counter-clockwise rotation on Z axis. So you will use the right/left button to adjust the Mario’s direction … of course, you should allow the player to push on forward and right (or left) in the same time

Also, when replacing 1 animation with another with animation calibrated on same tempo, it’s good to shift its starting value based upon the frame on the running action. With python controller you can easily do that

Hi @MasonM

Tried your blend file with a PS3 controller.

The only thing that was functioning correctly was sky_rotation (don’t know why)
So I couldn’t really figure anything.
Even when I replaced some of the joystick_logic_bricks with keyboard_logic_bricks I still couldn’t control anything.

Also your scene background overlay of the sky doesn’t need to be on true pulse.
It’s a performance hazard.

P.S Did you create the assets your self (?)