Zeppelin Studio was founded in Vienna, Austria by a group of former classmates who wanted to apply their skills to the real world after winning several student game competitions. The company, in collaboration with German sound studio, leed:audio, is dedicated to delivering games that leverage cutting-edge technology, unique art and fun gameplay. Zeppelin’s first title, Schein, is an award-winning, puzzle platformer currently available on Steam.

Report RSS DirectInput vs. XInput

Posted by on

Posted in Sound Programming | Jan 20, 2013 | by Sabine Pölzl­bauer

Hey guys out there, thanks for the valu­able feed­back so far! Some people also told us, they would like to see sup­port not only for the Xbox con­trol­ler but also for the gene­ral game­pad. So here are some facts about Direc­tIn­put and XIn­put from a developer’s point of view.
Micro­soft intro­du­ced Xin­put, for­cing deve­l­o­pers to use Xin­put to get sup­port for all Xbox con­trol­ler fea­tures. The advan­ta­ges are, that it has an easy setup and is sim­ple to use. Nowa­days some other game con­trol­lers (e.g. models from Logi­tech) sup­port the Xin­put inter­face as well, and others — which only sup­port the direct input inter­face — can be simu­la­ted as XIn­put devices through an addi­tio­nal Emu­la­tion soft­ware like Motio­nin­Joy or x360ce.
Direct Input on the other hand, can detect nearly any device (if there are dri­vers of course) and its capa­bi­li­ties. Howe­ver, the API docu­men­ta­tion is still not very infor­ma­tive. And it can be dif­fi­cult to imple­ment, due to the various sup­por­ted devices with dif­fe­rent axes and but­ton lay­outs and the­re­fore dif­fe­rent data for­mats.

DirectInput

So at the moment, we are eva­lua­ting the situa­tion (with the small num­ber of dif­fe­rent con­trol­lers that are avail­able to us) and are imple­men­ting a tech­ni­cal sample. The PlayStation3 Con­trol­ler for instance, could be sup­por­ted per Direct Input, alt­hough I nee­ded to install the Motio­nin­Joy Dri­ver before Input Data could be updated. I also tried to emu­late it as XIn­put Device, where the capa­bi­li­ties could be read from the con­trol­ler, but when try­ing to get some state data from it the “device was not con­nec­ted.” Weird stuff! But at least it should work with Direct Input. ;)
We will see next time, which con­trol­lers we end up sup­porting and if it will be XIn­put only (like it is now), or a hybrid Direc­tIn­put – Xin­put approach.

Post a comment

Your comment will be anonymous unless you join the community. Or sign in with your social account: