What controller to use while developing PC game
Usually, I develop using a wired xbox 360 controller, but I'm just itching to program a game that uses my saitek x52 pro flight system.
It has more buttons and axis inputs than just about any device you'll find on pc, so it's great for edge cases. It even has an lcd display on it :)
Note that controller isn't xinput iirc but DirectInput instead.
There are some really esoteric controllers out there that use their own api. Hope to (insert deity of choice here) you never encounter one in the wild :)
It really depends the game
Usually, I develop using a wired xbox 360 controller, but I'm just itching to program a game that uses my saitek x52 pro flight system.
It has more buttons and axis inputs than just about any device you'll find on pc, so it's great for edge cases. It even has an lcd display on it :)
Note that controller isn't xinput iirc but DirectInput instead.
There are some really esoteric controllers out there that use their own api. Hope to (insert deity of choice here) you never encounter one in the wild :)
This is exactly why I mention supporting both DInput and XInput. Yes, XBOX360/ONE are the de facto standard, but they aren't all that is out there. Everything else pretty much uses DInput still. Microsoft is from what I see the ONLY entity trying to get rid of DInput as all the manufacturers are still releasing devices for DInput support. And it also supports my reasoning behind custom input for the player. You just never know what they have, or what style of controls they like. The easiest way is to just support it all. I've never known a player that wants a really strange input scheme(like d-pad on the right for example), but that wasn't willing to set the controls up themselves in the options menu. You don't have to support directly all the possibly esoteric schemes if you just let them press the indicated button for the indicated action.
Usually, I develop using a wired xbox 360 controller, but I'm just itching to program a game that uses my saitek x52 pro flight system.
...
There are some really esoteric controllers out there that use their own api. Hope to (insert deity of choice here) you never encounter one in the wild :)
That LCD is probably programmed via a custom saitek API :)
A lot of controllers work like this -- almost everything works under Direct Input, and a few specific features (custom LEDs, LCDs, servos, etc) require a custom API.
e.g. Fanatec race car pedels have a custom API to make the pedals vibrate (for anti-lock braking sims, etc), but everything else is DInput :)
I use DS4, hooked up and used through DS4 Windows. Very good application, especially useful since it saved me the money of having to buy a 360 controller to plug into the pc!
As a sim enthusiast... making your game support an xbox-for-windows controller is nice and entry-level and low-barrier-to-entry and all... but please, please, if your game has even remotely sim-like complexity or gameplay, provide rebinding support. Especially rebinding controls from multiple controllers, because a lot of wheel/pedal/stick/throttle blocks plug in separately, and each appear as a separate "controller" to DirectX-et-al.
This is one thing in particular that's been lacking in, for example, Kerbal Space Program; when you mapped axes and buttons, you mapped Axis #N and Button #M across all controllers, so you couldn't use a stick for flight control and a throttle block for engines and systems control. At least, not unless you want "full power to engines" to also mean "hard a-port!"