Jump to content
  • Advertisement
Sign in to follow this  
lougv22

What inputs to support for PC game, keyboard, controller, or both

This topic is 498 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

So I am an indie developer, working on a third person action adventure-like game in Unity. So far, while developing the game, I've only been playing and testing it with a keyboard. However, now I want to add support for a controller (Xbox One for example) as well. My question is, should I support inputs with a keyboard and a controller both? I personally am a console gamer and I only play games with a controller, so that is my preferred inputs scheme. In addition, supporting only one control scheme would reduce my development effort. I do realize though that, since the game in question is a PC game, I would think a lot of gamers would want to use a keyboard.

 

What is the prevailing design philosophy on this? Do most players on Steam, for example, prefer a keyboard? Would there be any harm in only supporting a controller?

Share this post


Link to post
Share on other sites
Advertisement

my opinion is keyboard/mouse.  there may be a case where a controller would be better but I cant think of one, at least not where I would prefer to use a controller.  I am partial towards strategy (RTS or TBS) games though.

Share this post


Link to post
Share on other sites
I would guess that most PC gamers would not have a gamepad, so you would be restricting your audience by requiring one. I have one plugged in but almost never use it :)

I've worked on games that require them before, and it causes endless complaints and hate mail...

Supporting both KB/Mouse and XInput will make most people happy. Having configuable controls will make 99% happy. Adding direct input support will get you that last 1% :lol:

Share this post


Link to post
Share on other sites

Keyboard/Mouse, but always make Gamepad an option.

 

Depending on the game, it may be significantly easier to play the game with a controller. So you'll eliminate some bitching and moaning in advance if this is the case.

Share this post


Link to post
Share on other sites

If your game can be played on a PC, you should really support keyboard/mouse.  If your game is the type that can be played with a gamepad(RTS is one that maybe shouldn't apply here), you should support XInput and DInput if possible.  I HIGHLY recommend doing customizable inputs, as that is the only way to make about everybody happy(you'll never make 100% happy of course).

 

Unity's current input system is pretty crappy though.  I recommend something like ReWired for input if you could.  It takes a small budget to do so, but it lets you pretty much support everything under the sun, far beyond what Unity alone can do.  And it comes with systems for customizing input so you save time on that as well.

 

I don't know about the rest of us, but unless my game is very specific, I don't think I would ever release something that you couldn't customize the controls in.  Even for an RTS, there would very likely be a few keyboard presses for things like grouping units, etc... and I personally would allow the player to customize the primary presses that are typically on the mouse, in case they want to reverse left/right, etc...  Of course, I would provide an easy way to save such options, as well as to return to defaults.

Share this post


Link to post
Share on other sites

IMO, unless you don't have time to put into doing input handling right (and then most probably you run into problems later anyway when people start complaining about not being able to re-assign the keyboard keys and mousebuttons), always cater to KB/M AND gamepads at least (driving wheels and joysticks make less sense for a 3D TP View game, but then again these are just other types of input devices).

 

Ideally your game is agnostic to WHAT people are using to input their commands with... it just recognizes the input devices, and gives players options to map actions to the buttons these devices support.

The only real complication comes with handling analog axes or the lack of these in certain input devices (like the Keyboard), so you might need to invest some thought into how to handle things that could be assigned to an analog axis on a gamepad (Which gives the player a range of analog states to control the axis) when the same axis is assigned to keyboard keys (which either means fixing the keys to always mean "max analog state", or work with different keys for different states, or multiclicks for moving between different discreete approximations (like what World of Warships has done with full speed, 3/4, 1/2 and 1/4 speed, W and S are used to switch between the states, going from 0 to full speed takes 4 taps on the W key for example).

 

Other than that, you need to think a little bit about the amount of actions that need to be mapped, but when leaving input devices like Joysticks and driving wheels out of the equation which sometimes still have not that many digital keys, modern gamepads have an overabundance of digital keys to use, so unless you want to give the player a quadrillion of abilities to map to different buttons, you can ignore that point.

If you do, you need to find ways to have that same set of actions work on a gamepad with "only" about 8-10 digital keys, plus 2 if you use the Trigger axis as 2 additional digital buttons, ignoring the analog aspect of it.

 

Generally, I would concentrate my efforts on a re-mappable Input schema. It will be of use to even hardcore M/KB fans, so everyone wins.

Then create default mappings for M/KB, and Gamepads, and see if your game works fine on both.

 

To all the guys saying "PCs don't need gamepads"... well, unless you are a weirdo like me that has a console-replacement PC hooked to the TV. Many games on Steam didn't get my business because I wanted to play them on the big TV, but the game does not support Gamepads, and I couldn't be arsed to use a keymapper to create a crappy version of a gamepad mapping for the game because the game doesn't support analog axes, at all... even though the console version does.

Going to buy a PS4 Pro soon, partially to play the games that just got shoddy PC ports without Gamepad support. Rather play the PS4 Pro version that forces devs to fully support gamepads natively.

So there is your reason why you should care about gamepad support, even when developing games for PC exclusively. And its not like its rocket sience as soon as you have remappable input mappings in your game.

Share this post


Link to post
Share on other sites

An interesting piece of data:

If you intend on selling through Steam, might as well know that games that support both get a significant amount of additional sales. I can't say whether that's because there's an install base, but the correlation is strong, and the comparison was made on a sample of games a few thousands strong, so it is more than representative of the whole.

There are a lot more gamepad avids on Steam than I thought it seems (much to my pleasure given I game with 3 different gamepads on this machine alone, which I cycle with my Retropie Raspberry pi based on need).

The PC 'is' the new console ;)

Share this post


Link to post
Share on other sites

To all the guys saying "PCs don't need gamepads"... well, unless you are a weirdo like me that has a console-replacement PC hooked to the TV. Many games on Steam didn't get my business because I wanted to play them on the big TV, but the game does not support Gamepads, and I couldn't be arsed to use a keymapper to create a crappy version of a gamepad mapping for the game because the game doesn't support analog axes, at all... even though the console version does.

 

^ This.  There are enough games out there to pick from that I'll skip stuff most stuff that can't be played comfortably from a couch with a 360 or Steam controller.  That includes anything where the UI is too small to read from a bit of a distance.

Share this post


Link to post
Share on other sites

Generally adding controller input isnt that hard as an additional option, I will agree that there are a lot of game types that I just wouldnt play with a controller, but then games like Fighting games, racing / driving games, just feel more natural with a controller. 
I have a friend who will only play FPS games with a controller (weirds me out), so realistically there are people that opt to play with controller even on PC games where most people think keyboard feels more natural.
So for the generally fairly little work it is to add controller support to a game, I tend to think its almost always worth adding, just to hit a wider range of players who have different control preferences.

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

We are the game development community.

Whether you are an indie, hobbyist, AAA developer, or just trying to learn, GameDev.net is the place for you to learn, share, and connect with the games industry. Learn more About Us or sign up!

Sign me up!