Skip to main content

On Sale: GamesAssetsToolsTabletopComics
Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics
SalesBundles
Jobs
TagsGame Engines

Hey, I'm sorry for the very late and once again giant reply.

Okay so, since you are using standard controllers and not some off brand ones, I don't think this is completely my fault in this case since why wouldn't GameMaker support these controllers out of the box?

It's not like I'm using anything special in the code when checking for controller inputs, it's just their own built in functions.

The manual even says this:

"While GameMaker comes with mappings for a number of different gamepads based on SDL Gamepad Controller DB "

Which is the exact same thing you linked.

So I don't understand why it wouldn't just work out of the box in this case since GameMaker is supposedly already using these SDL mappings.

The only thing I can think of is that my GameMaker version is so out of date that this hasn't been added yet but that seems unlikely since my version has the gamepad_test/get/remove_mapping functions.

And after looking around a bit more here, I'm not sure rewriting the controller input system will do much (since it will end up pretty much the same as it is now), UNLESS I go the manual route and *manually* keep a database of all controllers, check and set the mappings accordingly, which seems like a huge pain to do, AND that's assuming that will even work.

But with all that said, I'm not saying I won't do it in the future, I just don't want to spend time/energy on controller stuff right now.

And to answer your question about what controllers should be supported by the game:

Any/all controllers should be supported, I'm not sure I've ever gotten feedback where controllers are not working at all on Windows, it's only on Linux there are issues.

The only thing that currently doesn't add up on Windows are the button names, the buttons all have different ID's depending on controller so it's basically impossible to know the name of what button was pressed, once again, UNLESS you go the manual route mentioned above.

Anyway, after reading through all of this again, I don't think you told me what the actual issue was, so what didn't work for your controllers? Like were they not detected at all or just no inputs?

Also, since this reply is already gigantic, I'll just leave a snippet of my controller code here to show what I'm actually doing:

And there you have it, that's how I poll for button presses, not sure what else I could do here.

Oh and just to clarify, I'm not trying to pass the blame on to the GameMaker devs, I'm sure I'm doing something wrong.. I just don't get why standard controllers like this wouldn't work out of the box when the manual states the same SDL library is being used behind the scenes.

I dunno if the mapping is really too old or not. Anyway, to answer you, both controllers are detected, but the mapping makes the game unplayable.

As some asix are mapped in other places, some buttons are not reconized at all, some buttons are reconized.

So I could say "reconized but incorrectly mapped".

Hey, once again sorry for the somewhat late reply.

Okay well, that's pretty much what I expected, that the controller technically works but the buttons are either jumbled or not detected.

I don't know what else to say really, if the manual is correct and GameMaker uses the same SDL library internally as you linked then I don't know why it doesn't work correctly.

We'll just have to see if it's fixed whenever I update my GameMaker version. (which will be "soon")

If it's not fixed with the update, then I don't know when/if it will be fixed but I will try to fix it at some point, it is currently not a high priority though.

Anyway, thanks for the feedback and I hope I'll get it fixed at some point.