Many games support both keyboard/mouse and controller input. Many users (myself included) may wish to switch their input method mid-game, but what is the best way of handling this?
There are two potential solutions:
- Have the two input methods combine and reach a consensus (e.g. pressing W on the keyboard while moving the left thumb stick to the left will cause the player to move forward and left)
- Have only one input method work at any given time, but switch automatically depending on what the player most recently used.
Technically there is a third option, which is to have the user manually switch between the two input methods in a menu somewhere. I don’t consider this a real option because the user experience would be terrible.
So, which solution do you think is better and why?
Ideal for me is auto-switching with a debounce time.
There’s been a few incidents where I’m using my gamepad and accidentally bumped my desk/mouse and completely lose my orientation in game. With a debounce, one form of input needs to have completely stopped for a certain period (say 500ms) before starting to register movements on the other input device.
I think I’d find that annoying. If a player wanted to quickly switch to the other input method in an intense moment then they’d just be waiting for half a second for their inputs to register. They’d probably think the game is bugged!
I just pulled 500 randomly. I don’t know how long it would take me to throw the gamepad and reach for the mouse. 50 might be more realistic. The point is just to prevent accidental bumps.
I also came in with that comment fully expecting younger and much faster players with their 240Hz monitors to disagree profusely.