• Hey Guest! Ever feel like entering a Game Jam, but the time limit is always too much pressure? We get it... You lead a hectic life and dedicating 3 whole days to make a game just doesn't work for you! So, why not enter the GMC SLOW JAM? Take your time! Kick back and make your game over 4 months! Interested? Then just click here!

Design Gamepad Instructions

curato

Member
working on polishing the interface on my game. in particular gamepad support. I am trying to add indicators for reference for which button to push for what. The issue is some control have X Y A B and some have shapes look at some PC versions they have numbers on them. What is the best way to indicate it with all the controller variation
 

kburkhart84

Firehammer Games
In general, I just say X-Axis, etc... for those, and Button 1, Button 3, POV Left, etc... I don't think there is any viable way to do it otherwise, especially considering the fact that there are tons of different DirectInput devices. At the least, if you are working with an XInput device, you can reasonably know which face button is which since there is a standard for those, but that's it. DInput devices have no real standard, no way to easily know if there are 2, 3, 4, or 6 face buttons, no way to know if the digital pad functions as 2 axis, 4 buttons, or a POV hat(I've seen all three).

In conjunction with the above, I also let the player hit the button(or move the axis, or hit the keyboard key) that they want to apply to an action. Basically, I say to hit the new jump button, and then detect it, and apply it to the jump action. I still show the player "button1" or whatever, but I'm aware that "button1" may say 'X', or "2" on the physical button, or nothing at all. The idea is that hopefully the player handled their own input choices in a good way, so it won't be too difficult for them despite these flaws.

The only other option, which I don't like at all, is to only use XInput devices. Some games actually do this(as they don't have to implement the DInput API that way), and in this manner there is a set standard as far as buttons, etc... But that solution sucks to me since there are so many DInput devices out there that people have.
 
Top