Old School Platformer Jump

Hello all,

Currently I started working on my own 2d platformer game. I intend to implement the whole game through blueprint and I am using the character controller that comes with the engine for movement and jump. The problem is the built in character controller does not have a way to implement the jump of old school games where I have total control of the jump. During the jump trajectory I want my character to fall off instantly instead of following the jump trajectory as soon as I release my left or right direction button. I want for tight platforming controls and cannot find a direct way of implementing it through blueprint. Can someone give some idea as to how to implement using blueprint? Or do i have to implement the character controller from scratch instead of using the built in controller?

Thanks

To create any kind of jump beyond the very basic ability to press a button and leave the ground you are totally going to need to script it all in blueprints on your own. I haven’t bothered with changing my own jump yet but that is the process. You will have to decide what kind of jumping mechanics you want to have and script them in. You can make any kind of jump though. I saw a video demonstrating super metroid style jumping and more but all of that takes scripting to happen and can’t be done out of the box.

Are you talking about Variable Jump Height by any chance? Like in the Mario games where the height of the player’s jump is determined by how long the jump button is held? If you are, then you can probably use blueprint that I’ve been using in my test project:


I learned it from a video tutorial on YouTube, which I unfortunately don’t remember the name of or have a link of, and based on my own experiences with using blueprint, it does allow the player greater control over their forward jumping capability, as well as their vertical jumping height.

Changing the value of the Launch Velocity’s Z-axis in the Launch Character event affects how much influence that the amount of time that the jump button is held down has on the player’s jump. However, since I’m relatively new at kind of stuff, I don’t really have any expertise in how to further customize your jump, such as changing forward/backward momentum of the player’s jump or overall jumping height. You can try playing around with the Character Movement: Jumping/Falling values located within the CharacterMovement component attached to the SideScrollerCharacter blueprint. I’m not sure if that will help or not, but I guess it’s worth a shot, or perhaps someone else who is much more well-versed in Unreal Engine’s inner workings can offer further insight.

You sure can code your own jump.

But actually our studio never felt the need to. There are many metrics exposed in Blueprint. You can completly modify the jump behavior with them.

In the “Character Movement” component everything related to “Jumping/Falling” and “General Settings” and “Walking”.

We only felt the need to add an additional “Gravity System”. Whenever your character is in the air, we increment it’s “GravityScale” to make him fall faster and faster as it falls.

Thanks! I will try implementing it and see if it works out.

Thanks for the blueprint you provided. I implemented it in my game and although it is not what I was looking for, It did sort of provide some solution for my jump. I will try playing around more with it and see if I can make it work.

I have tried playing with the exposed metrics that are provided in the Character component but no metrics lets you have the jump I am trying to have. for example of the Jump i am looking for you can check out Cuphead.

After watching a video I can say you might need two systems in addition to just tweaking the character movement metrics:

  • a gravity increase system (which increases the speed at which the character falls the longer he stays in the air)
  • a capsule reduction system (basically an Aerial crouch, to reduce the size of the character’s hitbox)

Then you can move on tweaking the metrics!

Thank you everyone. I was able to use the Hungry Moogle’s solution to implement the jump I was looking for. I basically used the Launch Character node instead of the standard Jump function that is shipped with the editor. I have attached the answer with reply below.