Welcome, Guest. Please login or register.

Login with username, password and session length

 
Advanced search

1411474 Posts in 69369 Topics- by 58423 Members - Latest Member: antkind

April 23, 2024, 12:51:28 PM

Need hosting? Check out Digital Ocean
(more details in this thread)
TIGSource ForumsDeveloperTechnical (Moderator: ThemsAllTook)Discussion about jumping physics (feat. cactus)
Pages: [1] 2
Print
Author Topic: Discussion about jumping physics (feat. cactus)  (Read 12059 times)
Lim-Dul
Level 1
*


The Necromancer


View Profile WWW
« on: January 07, 2008, 06:40:02 AM »

Hello everybody!
There was an interesting (in my opinion) discussion about jumping/movement physics in the comments section of the IndieGames Weblog. I'm only a failed game designer and gamer (albeit an experienced one!) but a couple of people showed up replying to my comments - no wonder, I was commenting on cactus' latest project Psychosomnium.
I found that the whole thing didn't turn in a flame-war, which is nice for a change and hence I think that it might be interesting to the wider public. Also, I'd like to hear YOUR views on jumping and moving in indie games. I find that it's an often neglected aspect of gameplay.
Making them good is an ungrateful job since most likely nobody will notice and praise e.g. your graphics instead (unless jumping is all you do in a particular game). Get them wrong, however, and suddenly everybody will start noticing and complaining although most likely few people will be able to pinpoint what exactly is wrong with your gameplay - "the controls are bad" is usually all you will hear from them.

Without further ado I'll copy&paste the whole discussion (editing out irrelevant parts) - this forum is a much nicer place to have a discussion - you can edit your posts etc. =)

So that you all know what we're talking about, this is the link to the game and the news item:

http://www.indiegames.com/blog/2008/01/psychosomnium.html

Quote from: Lim-Dul
In good platform games there's usually a acceleration period for sideways movement. Take e.g. all the Mario games (except for the first Gameboy version and the original Jumpman/Donkey Kong title). Even the Mario clones rarely get this right because they concentrate too much on the graphics and too little on emulating the jumping physics...

There's a reason for this behavior. First of all it's realistic - even if the in-flight physics (e.g. altering the direction of the jump in many games) aren't. You do not usually either move at full speed or not move at all - you ACCELERATE.

Acceleration allows for a much MORE precise movement model. The imperfections of the "no-acceleration" movement method were all too apperent in the frustrating "bee section".

Paradoxically it stood out even more because you got the vertical movement of the bee right. More often than not I crashed horizontally into the spikes because it's hard to coordinate the vertical movement which HAS acceleration (because of gravity) and the sideways movement which hasn't.
Usually the challenge in "moving by flapping your wings" is coping with the inertia of the movement (which is also done by using deceleration coupled with acceleration in the other direction).

This comment is about the following walkthrough video:





Quote from: Lim-Dul
You can see that the jumping horizontal movement model isn't very good in the walkthrough video. Look how many times Grawl had to abruptly stop his jumps - in a proper movement model you can time them perfectly given some practice. That's because the human brain can't grasp things that are counter-intuitive. E.g. a lack of acceleration of moving objects. However, in this game you could explain this behavior with something like zero-friction dream-physics, I guess.

Quote from: Grawl
I didn't think much of it, but you are right -- this is what makes it feel weird about the game.

Quote from: Lim-Dul
Yep, most people don't think about such things but CAN feel that there's something wrong with e.g. the jump physics - they just can't put their finger on it.

Of course you don't have to use Mario-esque jump physics and still do them properly.

I think Muon doesn't use movement acceleration (except in the air where you don't change directions instantly) or uses such a tiny amount of it that it's just enough to make the game feel "right". And it's ALL about jumping and the physics of it are brilliant. [...]

By the way - I just played Muon again and I wonder if the jumping is so perfect because of the well executed double-jump and booster feature and not the simple single-jump and left-right movement physics.

On another note. You can also OVERDO the whole acceleration thing so that characters start to "skate" all over the place and will seem to run on the spot when changing direction. This is at least as annoying as the primitive no-acceleration model. One example for this, IMHO, is New Super Mario Bros on the NDS... Mario64 and Mario Galaxy are a bit too accelerate-y for my taste as well...
Well - I'm very picky. ^^

Here's a comment that confirms my theory that people don't pay much attention to jumping and movement physics unless they are bad. Here someone didn't even notice that Cave Story had acceleration/friction!

Quote from: AlbeyAmakiir
Cave Story didn't have the acceleraty x movement. I think it's down to personal preference

Quote from: Lim-Dul"
Of course it had X acceleration. Check it out again - you might not have noticed it or don't remember it correctly because it felt so natural (let's face it - things like that ARE what made CS so great).

I'd say Cave Story had even more X acceleration than many other titles - it takes Quote over 1 second to reach full running speed and he stops after around a quarter of a second... What follows is also that it takes some time to change directions...

If you don't feel like playing the game you can just as well confirm what I said by watching some videos on Youtube:




Kvalsternacka of Muon fame joins the discussion. I like the game quite a bit, by the way. =)

Quote from: Kvalsternacka
That version of Muon do not feature horizontal acceleration of any kind. Also, it have the same horizontal movement on the ground as in the air.

The fun thing here is that cactus wrote that particular part of muon. When I started making Muon I asked cactus (he happen to be a good friend of mine) if he had a very basic platformer engine I could test a room generator on.

Quote from: Lim-Dul
So the jump physics in Muon indeed benefit mainly from the double-jump and boost features...

Well - no matter what - the jumping in Muon is more fun than in this little game.

Quote from: Kvalsternacka
My point was that both games have the same controls, so I find it quite interesting that you dislike the controls in one game and likes the controls in the other.

Quote from: Lim-Dul
I do acknowledge the fact that Muon doesn't use X acceleration but if you design a game like that you have to provide other techniques that will make jumping fun but of course even less realistic like double- or even multiple-jumps as seen in Muon.

Apparently this doesn't overthrow my theory, it just makes it more specific.
That might be a good thing since it leads to more specific guidelines for games developers as to making proper jumping physics:

1. If you want jumping and movement feel natural to the player you have to use X Acceleration (Cave Story, Super Mario Games and loads and loads of other platformers).

2. If you want to make a very "gimmicky" jump model with double-jumps etc. (as seen in Muon) you might consider non-X-accelerating movement for that.


However, I still persist in the claim that:

You should never ever use no X-acceleration while using simple jumps AND if jumping is essential to your game.

This can be seen in many, many amateur games which, in my eyes, are very, very annoying.

Note that I don't say indie games in general, because many are not amateurish at all. =)

Cactus himself picks up the topic:

Quote from: cactus
The lack of acceleration is probably an old wound sustained from making shmups (where you get flamed if you even have a hint of inertia). I'm very capable of doing it, I just didn't think it was necessary for this game.

Quote from: Lim-Dul
Ah - that explains some things. =)
Yeah, it's true that shumps usually don't use inertia (how would you dodge all the bullets otherwise?) but they usually don't have much jumping in them, too. :-D

As to not including better jumping physics in a short and simple game like Psychosomnium... Yeah, I agree with you that one. That is, it isn't viable to design unique movement physics for a game like this BUT and it's a huge BUT(T) if you develop some generic movement physics in any other or subsequent game you could use them with easy in even the simplest of your next projects, couldn't you?

Quote from: cactus
I still think that no friction/inertia gives more precision, but that's just me. I've got engines which uses friction as well as slopes for instance, and while including them would've made the game more technically advanced, that wasn't part of my agenda.

However, since I'm sure that I would get less complaints if I started using acceleration, I guess I should consider using it for future games, as I personally don't mind much really Smiley

Oh, and I don't think you should label non-accelerated movement as amateurish. Many popular games uses it, especially in the Run & Gun genre (Contra for instance), where precision is of essence. The Megaman series also has pretty non-existent acceleration.

Quote from: Lim-Dul
Yep, that's true. I just fired up MegaMan ZX Advent on my NDS to confirm that - it's a new title and you're still right. =)

However, MegaMan uses "gimmicky" movement - boosts, walljumps, slides etc. which all indeed allow for and in fact require very precise movement. Your brain automatically switches from the "I expect natural behavior" to the "I expect gimmicky behavior" mode. That's how I see it. :-D

Besides - the sensitivity and the movement speed in MegaMan is much lower, I noticed that in Contra 4 as well - maybe these are the issues I have with Psychosomnium although I still insist that using the flappy-wing-Y-movement with fixed-speed X-movement in the bee section is pure madness. You have a realistic movement model when it comes to up and down and an unrealistic model for left and right - your brain can't cope with that. Or maybe mine is just underdeveloped, although if anything it should be OVERDEVELOPED in that particular matter since I've been playing video games for 20 years now (I'm 24). :-D

Aha - the Contra series has been developed (except for the latest NDS release) for Arcade Machines and as far as I recall these had analog joysticks, hence the precision was GREATLY enhanced when compared to the PC's digital "on/off" keyboard controls.

P.S. Since you mentioned your future projects using friction I'm really scared now - I hope my comments won't make you OVERDO them on the friction part. :-D

Quote from: cactus
I've already overdone the friction part in another game, which was a puzzle platformer where you had to accelerate to the right speed to make long and difficult jumps. In this particular game it was also impossible to change direction when your feet left the floor. The game was still pretty fun, though. I wish I still had the demo somewhere, but I think I've lost it.

And the typical "the controls are wrong" comment I mentioned in the introduction to this discussion. Funny thing, I haven't noticed it when I was writing the introduction - nevertheless it still popped up as I predicted. ;-)

Quote from: namuol
Controls were quite annoying [...]

So, what are your opinions on that subject? I hope that somebody will read this long-ass text. =)
I see that cactus misunderstood the part about "amateur" games. I'm not saying that all non-friction/non-acceleration titles are automatically amateurish but it seems that it requires even more skill to get a movement model like this to work properly (I'm basically saying that you need some "gimmicky jumps" or analog input for it) so for the typical amateur programmer it's the straight road to poor-controls-hell. Also note that many of the games that actually didn't use friction/acceleration were arcade games where you had analog joysticks (note my comment on Contra) and that, in turn, makes for a completely different control scheme, feeling and precision altogether.
Logged

War does not determine who is right - only who is left. - Bertrand Russell
Alex May
...is probably drunk right now.
Level 10
*


hen hao wan


View Profile WWW
« Reply #1 on: January 07, 2008, 07:18:46 AM »

I like a little bit of acceleration but I find that any acceleration at all makes for harder jumping, unless the level design is very accommodating. I like acceleration for general left-right movement though. What I tend to prefer is fast acceleration up to a max speed, then fairly high friction. It gives the player the ability to edge themselves around, but doesn't make it all too slidy. That said, the most precision movement of all is simple instant movement at a fixed velocity. I cannot agree that implementing any acceleration makes jumping easier.
Logged

deadeye
First Manbaby Home
Level 10
*



View Profile
« Reply #2 on: January 07, 2008, 01:56:21 PM »

I think acceleration makes for much easier control.  The lack of inertia fudged my jumps in this game because of it, but I had a tough time getting used to the controls in Physchosomnia for a couple other reasons as well:

First, "press up to jump" is a terrible control scheme.  I like my movement controls and my action controls separated.  It's just easier with two hands.

Second, this game definitely suffers from "ambiguity due to imperceptible state changes."

Check out this article: http://cowboyprogramming.com/2007/01/02/pushhing-buttons/

A snippet for the lazy:
Quote
Ambiguity cause #1 – Imperceptible State Changes.

The player runs his character towards the chasm. When he gets to the edge, he presses the jump button. The character does not jump, and instead plunges to his doom.

Why did the character not jump? Because in the internal model of reality that the game stores, the character had already run off the edge of the cliff when they pressed the jump button. However, to the player it looked like he was right at the edge and a jump looked perfectly possible. There was a discrepancy between the perceptions of the time at which the player left the ground.

On one frame (on the ground) pressing button A will make the character jump. On the next frame (in the air) pressing A will have no effect. To the player these two frames of the game (just 0.016 seconds apart) appear identical.

This problem also occurs when jumping just before landing, or just before hitting a wall (for a wall jump)

There were several times where I just ran right off the edge of a platform to my death because the character didn't respond to my jump the when I expected him to.
« Last Edit: January 07, 2008, 01:58:16 PM by deadeye » Logged

tweet tweet @j_younger
Farbs
Man
Level 10
*


/Farbs


View Profile WWW
« Reply #3 on: January 07, 2008, 07:30:02 PM »

Polychromatic Funk Monkey has x-acceleration to a target value (left/right/stop), but I tuned it so that it hits the target very quickly. Since the game involves lots of stair jumping it really needs quick accel, though some players complained that the controls were too "twitchy".

Prior to settling on this approach I tried having the character approach the target speed through drag, but it felt a bit weak.
Logged
Chris Whitman
Sepia Toned
Level 10
*****


A master of karate and friendship for everyone.


View Profile
« Reply #4 on: January 22, 2008, 01:00:53 PM »

Second, this game definitely suffers from "ambiguity due to imperceptible state changes."

Has anyone ever done a game with a visual cue as you run approaching a ledge? It seems to me like you could provide a good indicator of that 'last second' moment with head position or going into a bit of a running crouch or something else to indicate the increased tension of being about to jump or just run off a cliff.

"But I pressed jump!" was a pretty standard player response from the NES days, as I recall.
Logged

Formerly "I Like Cake."
Lim-Dul
Level 1
*


The Necromancer


View Profile WWW
« Reply #5 on: January 22, 2008, 01:09:10 PM »

Well - remember Flashback (pun intended)? AFAIK you couldn't really fall from ledges there unless you were careless (that is: running =). I think several games had the "balancing on the edge" mechanism where the hero flapped his/her arms instead of falling to his/her doom - of course this could be bypassed if you still insisted on killing yourself. :-D
Logged

War does not determine who is right - only who is left. - Bertrand Russell
deadeye
First Manbaby Home
Level 10
*



View Profile
« Reply #6 on: January 22, 2008, 03:00:56 PM »

Has anyone ever done a game with a visual cue as you run approaching a ledge? It seems to me like you could provide a good indicator of that 'last second' moment with head position or going into a bit of a running crouch or something else to indicate the increased tension of being about to jump or just run off a cliff.

"But I pressed jump!" was a pretty standard player response from the NES days, as I recall.

Yeah, as Lim-Dul said Flashback does this to a certain extent.  Other games similar to Flashback also do this (Prince of Persia, Blackthorne... hell, even Lester the Unlikely).  The indicator usually only happens when you're walking, and makes the character stumble slightly at a ledge.  When running, though you can just run right off (unless you stop at the last second, then the character windmills to catch balance).

Those games are more precise than other types of platformers though, because a player's coordinates are updated by animation frame rather than adding numOfPixels to the X coordinate.  When running, your foot will always land at the edge of a ledge, and as long as you've indicate you want to jump during the last cycle of running frames, you will jump without fail.

As for the more classic style of platformers, the article I linked to suggests that the coder allow jumping for a split-second after leaving a ledge to compensate for ambiguity, which is a good method.  As long as the window of opportunity to jump is short enough, it will still look natural.  It gives you a grace of one or two pixels to circumvent the "But I pressed jump!" response. 

Speaking of which, this still happens now-a-days.  When my roommate is playing Mario Galaxy there is a constant barrage of "GODDAMIT MOTHERFUCKING HELL I PRESSED JUMP YOU PIECE OF SHIT" streaming out of his mouth.
Logged

tweet tweet @j_younger
ஒழுக்கின்மை (Paul Eres)
Level 10
*****


Also known as रिंकू.


View Profile WWW
« Reply #7 on: January 22, 2008, 05:24:34 PM »

I like acceleration. Sonic the Hedgehog and SMB3 are fun mainly because of acceleration and wouldn't work without it. But I think some platformers can work without it -- Contra for example doesn't have it.
Logged

Lim-Dul
Level 1
*


The Necromancer


View Profile WWW
« Reply #8 on: January 22, 2008, 05:53:31 PM »

Yeah - Contra has been mentioned before and you know what? I've been playing Contra 4  quite a bit now and I find the "no-acceleration" mechanics horrible. There are actually jumping sections in the game (the infamous rocket-holds for example) and they truly are awful - because of the "strangeness" of the jumping behavior you're constantly overshooting or undershooting with your jumps... Not to mention the confusion that is caused by the unnatural change of directions mid-air without any friction or acceleration whatsoever.
« Last Edit: January 22, 2008, 06:00:52 PM by Lim-Dul » Logged

War does not determine who is right - only who is left. - Bertrand Russell
ஒழுக்கின்மை (Paul Eres)
Level 10
*****


Also known as रिंकू.


View Profile WWW
« Reply #9 on: January 22, 2008, 06:01:33 PM »

I haven't played Contra 4, but I think that Contra 1 and 2 (aka Super C) work without it -- those games don't have too much jumping though.
Logged

Radnom
Level 8
***


BANNED


View Profile
« Reply #10 on: January 23, 2008, 12:53:23 AM »

I like games with no horizontal acceleration. Games with it all differ in the way they use it, so it takes longer to get used to.

It makes it a lot easier to do precise jumps, and land on small platforms. I can't stand any game with horizontal friction and small platforms. The exception is Punishment 2, and I can't believe I actually beat that game. The last level (where you have to jump from tiny pole to tiny pole) was so frustrating. In most games you don't want to frustrate the player.

Also, I'm an impatient person. I don't want any of this silly 'speeding up' business. I want to go full speed all the time.
Logged

Lim-Dul
Level 1
*


The Necromancer


View Profile WWW
« Reply #11 on: January 23, 2008, 05:53:44 AM »

The thing is: you don't need lots of acceleration to make the physics seem far more realistic so you can actually have the best of both worlds.
Logged

War does not determine who is right - only who is left. - Bertrand Russell
raigan
Level 5
*****


View Profile
« Reply #12 on: January 23, 2008, 08:46:53 AM »

I don't know that Contra should really be considered a platformer, it's more a shooter with a run+jump character rather than a spaceship.

I'm surprised by how many people don't like acceleration/friction type running.. when you've only got a key or button (rather than an analog stick) it's pretty necessary or else you end up with running being either too hard to control/fast or too tedious/slow.
Logged
Alex May
...is probably drunk right now.
Level 10
*


hen hao wan


View Profile WWW
« Reply #13 on: January 23, 2008, 09:48:23 AM »

I like how Zelda does it, except I don't. Since there's very little point in asking people to be precise about 3D jumps, Zelda just makes your character jump when he walks off an edge. This works because the levels are designed so that the jump reaches the other side. Bingo - the only problem is that the character jumps in whatever direction he's facing, so you have to line up the camera (or in the case of Twilight Princess, the actual character relative to the camera) instead >_<

So close, but yet so far.

The other 3D platforming I like is Jak and Daxter, which has a slow enough run speed for the character that judging jumps becomes irrelevant and is merely a case of where you'd like to jump to. You know whether you can make the jump or not because it's obvious - the platform is either right next to you with a small gap or too far away.
« Last Edit: January 23, 2008, 09:50:11 AM by haowan » Logged

deadeye
First Manbaby Home
Level 10
*



View Profile
« Reply #14 on: January 23, 2008, 04:47:09 PM »

I'm surprised by how many people don't like acceleration/friction type running...

Same here.

Got me thinking, though.  If you guys had to choose the best control scheme out of the following three games, what would it be?

Mega Man
Super Mario World
Sonic the Hedgehog

Be honest, now... which game is easiest to control?  I'm not talking fighting or anything else, just movement.
« Last Edit: January 23, 2008, 04:49:34 PM by deadeye » Logged

tweet tweet @j_younger
Ivan
Owl Country
Level 10
*


alright, let's see what we can see


View Profile
« Reply #15 on: January 23, 2008, 05:08:13 PM »

mega man
Logged

http://polycode.org/ - Free, cross-platform, open-source engine.
Lim-Dul
Level 1
*


The Necromancer


View Profile WWW
« Reply #16 on: January 23, 2008, 05:27:03 PM »

Super Mario World for me...

I think that there might be better movement and jumping mechanics out there, though.

Sonic is a bit too accelerate-y for me - too slow at first and too fast later but that's the "charm" of the whole series for some people.

I like Megaman as well BUT you should note here that the series has been using a tiny bit of movement acceleration (not during the jumps themselves) right from the beginning. Seriously - check it out - I have just fired up Megaman 1 on FCEU. =)

A great thing about acceleration is the fact that your character can move at various speeds. In Megaman we have the sliding and later the boost feature that made up for this fact. In Mario we have normal running and the speed toggle button that allows for some cool maneuvers.

There's a reason why Super Mario Bros. (not World, although the movement basics haven't changed much for 2D Mario games - up until the crappy New Super Mario Bros on the NDS, that is) is the best selling video game of all time. =)
Logged

War does not determine who is right - only who is left. - Bertrand Russell
deadeye
First Manbaby Home
Level 10
*



View Profile
« Reply #17 on: January 23, 2008, 06:06:58 PM »

I think that there might be better movement and jumping mechanics out there, though.

The reason I chose those three is a) They are familiar to most people and b) They each have very polished controls, even though the amount of inertia is different in each.

And you know what, you're right about Mega Man.  I just fired up my MM2 cart for the first time in years.  There's like a little two- or three-pixel slide when stopping on the ground.  Still, the jumping has no inertia at all, so I think it still works for this rather non-scientific poll.
Logged

tweet tweet @j_younger
Lim-Dul
Level 1
*


The Necromancer


View Profile WWW
« Reply #18 on: January 23, 2008, 06:11:15 PM »

You misunderstood me. I wasn't criticizing your list. I was saying that Super Mario World has the best movement and jumping physics from the titles found on the list but I don't necessarily regard it as the best possible movement model. In fact I might not be able to tell you what better games are out there (from my point of view) or if there are any at all. :-D

The list itself is well balanced - you basically chose three titles, each representing a different (and well implemented for its type) movement model. We have (almost) no acceleration/friction in Mega Man, average acceleration/friction in the Super Mario series and quite a bit of acceleration/friction in the Sonic games.
« Last Edit: January 23, 2008, 06:15:56 PM by Lim-Dul » Logged

War does not determine who is right - only who is left. - Bertrand Russell
ஒழுக்கின்மை (Paul Eres)
Level 10
*****


Also known as रिंकू.


View Profile WWW
« Reply #19 on: January 23, 2008, 10:29:22 PM »

I think Mega Man is the easiest to control of those three. But that doesn't mean it's the most fun to control -- Sonic and Mario are more fun to control than Mega Man.
Logged

Pages: [1] 2
Print
Jump to:  

Theme orange-lt created by panic