• Hey Guest! Ever feel like entering a Game Jam, but the time limit is always too much pressure? We get it... You lead a hectic life and dedicating 3 whole days to make a game just doesn't work for you! So, why not enter the GMC SLOW JAM? Take your time! Kick back and make your game over 4 months! Interested? Then just click here!

Design Wall Jumping - Movement Controls and Mechanics

Avyrra

Member
Long post, but I've been doing some experimenting and it's a conversation I've been wanting to have for a while.

I've been scrambling together bits of code recently and testing out momentum based movement. Mostly by theory-crafting how movement can be fun on it's own if it's intuitive and responsive. I don't have enemies or powerups or anything fancy. Just a red block jumping on other blocks. And to be honest, I'm having quite a lot of fun just jumping around in a nearly empty room with what I have so far.

Anyway, I can move with the arrows and "X" is my dedicated sprint button (I was gonna use C, but my keyboard has some ghosting issues). Jumping is variable and the player can either do a high jump or a hop depending on how long the jump button is held. (Controls are planned to be reprogrammable, but right now Jump is bound to the up Arrow as it is most comfortable for me.) Movement speed is not ridiculously fast like some momentum games. It'd difficult to describe the feeling I was goin for with it, but for reference I move at 4.3px per frame walking and 7.5 sprinting(with subpixel calculations) at 60fps. Not floaty, but not too heavy.

Anyway, the conundrum comes from wall jumping. It's been done in so many different ways throughout many different games and the controls are usually different.
There is no double jump: my intent is to use wall jumping as one of the primary ways of gaining height.
I had friends and family test my game. I tried to get different people each time, but I also brought a few back to give me feedback on the controls.

As a scenario, lets assume the player has jumped and there is a wall directly to the right.

-Initially, if the left button was pressed, the player would wall Jump. Plain and simple. But this would cause problems with wall jumping when it's not wanted as I noticed testers would try to move away from the wall to land a tight spot, but would instead bounce off, launching them far from where they wanted. However, this was very responsive when wall jumping was intended.

-So my second idea was to press jump when the player is not facing the wall (holding left), to jump. It took tweaking of the code to make it fluid. Easy enough for me, but testers struggled... a lot. So even though this made sense to me, it took people ages longer to figure out how to wall jump. I must admit though that after not using it for a while, I feel like the muscle memory for this is gone.

-My last idea was the most successful. The player is facing the wall (holding right) and presses jump. It solved the problem of moving away from the wall early and was also responsive. But if felt really, really weird to me. However, for some reason, most new testers discovered how to wall jump very very quickly. Some still struggled, however, but even some testers that don't play games often were able to figure this one out at a reasonable speed.


After this, I booted up as many games I could think of with wall jumping that I owned and tried them out and there is a huge number of ways it's been done.
Here's some of the games I booted up:
  • Super Meat Boy - Press Jump. If near the wall, the player will wall jump regardless of direction.
  • Mario Maker - Seemed similar to my 3rd scenario. Took me a while to get it, but I got used to it. This also applies for the other modern Mario games I own.
  • Ratchet and Clank - Although 3d, move towards wall and jumping. The camera will swing around while mid jump so movement feels automated.
  • Valdis Story: Abyssal City - Similar to Super Meat Boy, but there is a noticeable delay before the jump happens.
  • Empty Black (Online Game) - Controls similar to my second scenario, although the player will stick to the wall indefinitely if holding the right button.

I want to know everyone's thoughts on wall jumping controls and the most intuitive ways to execute it. Jumping without direction looks popular, but I am yet to have tested it. So, my question to you.

What are some interesting ways you've seen wall jumping executed?
What controls have you found the most enjoyable for executing wall jumps?
Are there any schemes you've invented?
Is there anything else you'd like to bring to the table in terms of intuitive movement.
Dark sodas vs Light sodas? (Unrelated, but I'm curious.)
 
D

Deanaro

Guest
Moustache Mountain http://store.steampowered.com/app/457520/ (reccomended)
Its sort of a platformer only game, with no enemies, just some spikes.
So that game is basically all about the wall jump and funnily enough, it is similar to the first way you had yours, you have to face away from the wall in order to wall jump.
This was actually very hard as it required precise timing but It felt very rewarding once you get good at it.
The only thing was that I was forced to learn it, otherwise I cant progress. The game actually has no spikes in the first 2 stages so you need to be able to wall jump just to get up platforms.
I think the difficulty of mechanics in games are dependent on the main challenge, In Moustache Mountain, the wall jump was probably the biggest challenge and was really what the game revolved around.
But in a different game, perhaps there are enemies or another challenge, then the wall jump mechanic could be made simpler in order to shift the player's focus.

an example of a game with "easy" wall jumps is Ori and the Blind Forest http://store.steampowered.com/app/261570/ (must play!!!) where you have to face the wall to wall jump
The game gives you a lot of movement abilities that you unlock at a steady pace. but even though the wall jumping is easy, you will end up dying alot in your first play through, simply because there are other challenges.
The wall jump still feels very satisfying, but I feel like that's just because how fluid the movement is overall in Ori and the Blind.
 
F

frumple

Guest
I'll throw Saira (free on Steam) out there. Because it's got wall jumping that is fairly easy to grasp but the levels are designed to sometime make it difficult, esp. when there is little time and several jumps have to be performed in a sequence. It felt good to me, so i'd recommend taking a look.
 

Avyrra

Member
Just went out and tried Saira for a little bit. It being free, that is. It was quite smooth in motion, but I noticed that the window to wall jump is quite small. If you don't do it almost right away, you'll fall, which can make it feel a bit choppy when inexperienced. Although, I do like the idea of grips in the wall to hold on to which feels like a well designed crutch for getting used to wall jumping.
 
J

Jacob T Wharton

Guest
I liked how it was done in Super Mario: Sunshine.

If I remember correctly, you push into the wall while midair to sort of "grab onto" the wall. So you jump into the wall and then Mario grabs the wall and begins slowly sliding downward. The longer you hold the wall, the faster you begin to slide downward, to a maximum speed. At any point while holding the wall, the player can move away from the wall to let go and drop off; or he can press the jump button to jump up and away from the wall. The player seemed to regain directional control after a second or so after walljumping, so regardless of the directional input during the wall jump, the player always moves away at the same horizontal and vertical speed.

Because the player slides down while holding the wall, there is usually plenty of time to walljump, but to gain maximum height the player has to perform the perfect timing.

If any part of this system was improperly remembered by me, I apologize. It's been a while since I played.

Regardless, looking at all different kinds of walljumping mechanics will be a good idea to find what could work and what wouldn't work for your game.
 

chance

predictably random
Forum Staff
Moderator
What are some interesting ways you've seen wall jumping executed?
What controls have you found the most enjoyable for executing wall jumps?
I usually have problems with wall jumping, and tend not to use it (while playing). Like you said, the approach varies a lot from game-to-game.

For me, your 3rd option seems most intuitive -- i.e., the player contacts the wall (jumps into it) and is allowed another jump as long as he's in contact with the wall. And I like the approach Jacob mentioned above, where the player slides down the wall with a friction effect. This slows down the fall, making it easier to wall jump before falling all the way down.
 

RangerX

Member
My preferred way of wall jumping is one like in Megaman X. I also reproduced it in The Life Ruby.

- When the player touches a wall, the character become in a wall jump stance
- When in wall jump stance and press jump with NO directions, you climb up and stay in wall jump stance.
- When in wall jump stance, pressing jump with direction opposite to wall, the character jumps away from the wall. It looks intuitive though because Megaman sprite does look in that direction already.
- When in wall stance, if you press down, the character lose its wall stance and just falls.
 
M

maratae

Guest
I would like to add to the list 'They Bleed Pixels'.
It's a difficult game with tight controls and the wall slide and jump are pretty good.
 
J

Jiraya

Guest
Hello! I am new to game maker and I am trying to make a Ninja game. I was able to implement some basic wall jumping, however I would like the player to cling to the wall, and then jump off. similar to they bleed pixels. Does anyone know how to code that? Thanks!
 
B

Blackened

Guest
My preferred way of wall jumping is one like in Megaman X. I also reproduced it in The Life Ruby.

- When the player touches a wall, the character become in a wall jump stance
- When in wall jump stance and press jump with NO directions, you climb up and stay in wall jump stance.
- When in wall jump stance, pressing jump with direction opposite to wall, the character jumps away from the wall. It looks intuitive though because Megaman sprite does look in that direction already.
- When in wall stance, if you press down, the character lose its wall stance and just falls.
Yes, EXACTLY this would be my preferred method as well.

Another way I like is from either Ninja Gaiden I or II of the NES dayz. Wall jumping was an integral element of game play for the series and the mechanic was also refined for the sequels II and III.
In Ninja Gaiden I the player could jump against and off the wall and cling to them as well before jumping off.​

In Ninja Gaiden II and on, the player could do the same a in Ninja Gaiden BUT could also climb the wall as well... a far improvement over the original.​
 

Yal

šŸ§ *penguin noises*
GMC Elder
I think the thing New Mario, Super Meat Boy and Megaman X all have in common is that the player doesn't just jump off walls, they enter a state where they slowly slide down walls, and during this special state you can do a wall jump. It's more intuitive since there's direct feedback (the player can observe the new state) and since it follows the rules previously set up (the jump button makes you push off the surface you're currently in contact; during a wall slide, that's a wall instead of a floor). I'd say it's my favorite way of handling wall jumping, personally... since the state lasts as long as you have something to glide down, it also means the window of doing the jump itself isn't too narrow either. You CAN do the jump way too late if you glide too far down, which is a clear failure state, but at least there's no arbitrary timer or really narrow window (a la Shadow the Hedgehog's or Super Mario 64's wall jumps, respectively) so the reason you failed feels much more fair.
 
Top