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
editAbility 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
- Typical preset for a FPS would be:
- 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 -
- Typical preset for a FPS would be:
- Default 2 left-handed
- Allow them to save configuration pre-sets (Custom 1)
- This would be useful if two people played the game
- Default 1 right-handed
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.