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.htmlIn 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:
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.
I didn't think much of it, but you are right -- this is what makes it feel weird about the game.
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!
Cave Story didn't have the acceleraty x movement. I think it's down to personal preference
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. =)
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.
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.
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.
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:
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.
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?
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
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.
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
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. ;-)
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.