1200px-Kinesis-keyboard

Survey of game movement control options

Note: This survey is not comprehensive yet. I may expand on it later as needed for my own game development. It’s current state is sufficient to lead me to a solution for my current needs.

As I have been working on my next game, the issue of controls has been of great concern. Usability is something I think is very poorly implemented in most of the computing world. We live in a world where defacto is often given a high weight, and a steep learning curve is often considered not worth it to obtain a more optimal solution. I think this can stifle innovation in many cases. I like to explore. So, here is my attempt attempt at classifying all of the different possible mechanisms to control movement in a game. For this, only options that are available to home PC users with keyboard and mouse are considered. Options obtainable only by alternative controllers are an interesting separate subject.

  • Indicate a direction
    • Keyboard with arrows, asdf, numpad, etc.; mouse by movement, clicking, or dragging. (or joystick for those that have them)
    • Examples: FPS, shooters
    • Pros:
      • Direct control (if that is desired)
      • Keyboard provides high temporal precision
      • Possible to be “precise” in 3D, but limited in granularity
    • Cons:
      • Low input bandwidth
      • Very low decision/action ratio
  • Indicate an arbitrary point
    • Primarily mouse clicking. There are ways to accomplish the general case with keyboard via screen subdivision but is likely  except in special cases. May involve pathfinding.
    • Examples: RTS
    • Pros:
      • Direct control (if that is desired)
      • High spatial input bandwidth for the mouse case but tradeoff for mouse imprecision
    • Cons:
      • Low decision/action ratio (though can be less low if zoomable)
      • Difficult to do in 3D
  • Choose one of small number of points
    • Keys directly mapped (mouse clickables also possible, but far less efficient). May involve pathfinding.
    • Pros:
      • High precision
      • Medium decision/action ratio
    • Cons:
      • Low input bandwidth
  • Manipulate behaviors
    • Choose between preset behaviors
      • Keys directly mapped (mouse clickables also possible, but far less efficient). May involve pathfinding, optimization and/or AI.
      • Pros:
        • Can have high decision/action ratio
      • Cons:
        • Player may feel less “in control”
        • In some cases, may limit possible actions of player
    • Choose and weight preset criteria
      • Keys can be directly mapped (mouse clickables also possible, but far less efficient). Involves optimization and/or AI.
      • Pros:
        • High decision/action ratio
      • Cons:
        • Player may feel less “in control”
    • Write code for behaviors
      • Including both textual or visual, this can be as simple as “go north” and “eat apple” in text adventure games, or visually manipulating logic and operations, or as complex as supporting a general purpose scripting language.
      • Examples:
      • Pros:
        • Highest flexibility, power, and possibilities
        • High decision/action ratio
      • Cons:
        • High learning curve
        • May be too difficult, time consuming, boring, or uninteresting for some users

Notes:

  • I should better specify low/high bandwidth, precision, and performance.
  • Input bandwidth is the amount of information from the user into the computer
  • Decision/action ratio is an important concept to me I’ll explain in another post.
  • Direct control: some players/games consider being in direct control part of the immersion of a game, but in other cases, it can be distracting or tedious. It depends on the goals and approach of the game and player.

 

Notes: Image at the top of this post was acquired from wikipedia and is licensed CC BY-SA 3.0