4
\$\begingroup\$

Many games, like "Super Meat Boy" and "Shank", have been praised for their responsive game play, where each user action input corresponds to a quick and precise character movement.

What makes a game responsive, and what prevents other games from achieving the same? How much of it is due to the game framework used to queue input events, and update the game, and how much is attributed to better coding?

\$\endgroup\$
1
  • 1
    \$\begingroup\$ Input responsiveness depends mainly on framerate, and only to a minor degree on technical issues (controller lag, event processing time). Game design also plays a role in this, as does execution, but hardly does the choice of engine play any role in this. \$\endgroup\$ Nov 10 '13 at 10:41
7
\$\begingroup\$

This is a tough question to answer, cause it really depends on the actual game. Usually there are many tricks involved to make a game feel responsive. The classic Mario games on consoles are often considered still being some of the best platformers due to awesome controls and responsiveness. They've got their own issues, but there are many things you can learn just by looking at them for a bit.

Here are some things to notice:

  • Players are able to control their character any time. They can quickly try to change direction no matter where they are (even mid-jump). There are other platformers that don't allow you to steer while in the air, which is usually considered very bad and unresponsive.
  • When trying to jump, the game allows you to do so even if you just ran off a cliff (just for a few milliseconds). This makes last-minute-jumps a lot easier and also avoids the game feeling like it didn't respond to your button press.
  • The jump button usually considers how long you hold down the button, so the player has more control over the character (i.e. it's not just binary jump yes/no). Tap the button and you make a small hop, hold it down and you jump far further.

However, with networked games appearing over the last 15-20 years another problem surfaced when talking about responsiveness: Network latency. In theory you can write a simple client/server game, where you're sending your inputs to the server and the server will tell the client what to display. This will work rather well in a LAN, but it will feel very sluggish when played over the Internet. Imagine pressing the jump key, it takes 200 ms for your command to reach the server and another 200 ms for the result to be visible on your PC. We're suddenly talking about almost half a second delay, which will be noticeable. Due to such issues game clients usually allow the local client to immediately apply movement or actions and then compare that to the results sent back by the server. If the results don't match and there are significant corrections to be made, you'll get the effect often called "rubberbanding", which usually is not desired and makes a game feel very unresponsive (i.e. you're never able to move how/where you want).

Another possible reason for unresponsive gameplay can be low framerates, i.e. the game isn't able to react in time, simply due to you not seeing everything happen in time. This can also be a Timing issue, e.g. when your game logic is tied to your framerate even small slowdowns (like from 60 fps to 40 fps) will be noticeable, cause the game will run much slower at once.

And one last source for unresponsive or sluggish gameplay I can think of: Delays caused by calculations. For example, in an RTS game, you'll want to see your units move immediately when you issue a command. Due to pathfinding this might be delayed a bit, even if it's just one or two seconds, this can cause a bad experience (e.g. seeing the units being destroyed just due to moving too slow). To counter something like this, you can make rough guesses, e.g. let the unit start moving in the direction of the last known path or the new target position.

\$\endgroup\$
1
  • \$\begingroup\$ The "feeling" of the control of the game depends also on how you treat the frames. For example, in professional fighting games, like KOF and SF, they present some proposital delays in the time between the key press and the change of the character's state. Every action has a unique delay and it's responsible for the balance and fairness in the game. For example, move actions (walk, jump, run) tends to be performed quicker than simple attacks (punch, kick), and these are quicker than special attacks (power wave, hadouken). \$\endgroup\$
    – Emir Lima
    Nov 11 '13 at 14:29

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.