Guide to Game Development/Settings/Input

The 'perfect game' should allow you to have different input types: keyboard & mouse, gamepad/controller and joystick.

Keyboard & Mouse

edit

Ability to rebind all keys

edit
  • When rebinding keys, allow one gameplay action to be bound to two or more keys
  • Some games have one key allowed to be linked to multiple actions
  • Allow for rebound keys to not only go to keys, but to mouse movement and mouse buttons if they have a custom mouse.
  • Allow them to bind 'double-tap' functionality
  • Set-ups for different game modes:
    • When on-foot
    • When in a car
    • Etc
  • Default presets:
    • Default 1 right-handed
      • Typical preset for a FPS would be:
        • Forward - W
        • Backwards - S
        • Left - A
        • Right - D
        • Jump - Space
        • Run - Left Shift or Double-tap W
        • Crouch - Left Ctrl or C
        • Reload - R
        • Use - E
        • Grenade/Throwing item - G
        • Flash light - F
        • Throw item - Q or \
        • Chat - T or Enter
        • Team Chat - Y
        • Weapon Select - 1-9 or Mouse Wheel
        • See player/scores - TAB
    • Default 2 right-handed
    • Default 1 left-handed
      • Typical preset for a FPS would be:
        • Forward - I or Arrow-Up or Numpad-8
        • Backwards - K or Arrow-Down or Numpad-5 or Numpad-2
        • Left - J or Arrow-Left or Numpad-4
        • Right - L or Arrow-Right or Numpad-6
        • Jump - Space
        • Run - / or Right Shift
        • Crouch -
        • Reload -
        • Use -
        • Grenade/Throwing item -
        • Flash light -
        • Throw item -
        • Chat -
        • Team Chat -
        • Weapon Select -
        • See player/scores -
    • Default 2 left-handed
    • Allow them to save configuration pre-sets (Custom 1)
      • This would be useful if two people played the game

Mouse Sensitivity

edit
  • Change normal look-around sensitivity
    • Different sensitivity in the x-axis to the y-axis
  • Change aim-down-sight sensitivity
    • Maybe also change aim-down-scope sensitivity
  • When set to 100%, it should be the same as their desktop mouse sensitivity (no mouse acceleration/deceleration)

Invert mouse

edit
  • Invert in the y-axis
  • Invert in the x-axis

Have quick access modes

edit
  • Quick save (could be F5)
  • Quick load (could be F9)

When a gamepad/controller is connected, the game should automatically switch the input to the gamepad/controller (without going into the options menu); this means that the main menu won't say something like "press Enter to continue", instead it will say something like, "press A to continue."

Button bindings

edit
  • Have a few pre-sets of buttons bindings
  • Allow for custom button layouts

Controller vibration

edit
  • On
  • Off
  • Custom vibration strength

Invert gamepad joystick

edit
  • Invert left joystick in both the x-axis and the y-axis
  • Invert right joystick in both the x-axis and the y-axis
  • Invert d-pad in both the x-axis and the y-axis

Joystick/Thumbstick sensitivity

edit
  • Different sensitivity in the x-axis to the y-axis for both joysticks on the gamepad.

References

edit