- Joined
- Aug 28, 2014
- Messages
- 506
- Reaction score
- 422
- First Language
- English
- Primarily Uses
- RMMV
Description of the Feature: The ability to utilize all of a gamepad's buttons and axes, to map said buttons and axes to any key, and to allow multiple controllers for multiplayer.
Code for Implementation:
The code to recognize that a controller is plugged in is already in the engine, but it can only make use of a few buttons for what can only seem to me like an imposed limit rather than one that couldn't be done. Not to mention, the default control layout is atrocious and you NEED Yanfly's GamepadConfig plugin to change it to something usable. Even then, it doesn't have support for the d-pad which most people prefer for navigating menus and grid-based-movement games. Yanfly's plugin actually has unused configs for up, left, right, and down, and after enabling them I found that they couldn't even be mapped to the d-pad anyway.
I would just make it another menu beside the database, plugin, etc icons. From there you just let the developer map each button to a keyboard key or engine function. See the mockup for more info or even take a look at Steam's, Dolphin's, CEMU's, etc configuration tool for controllers and you'll see exactly what I'm talking about.
Mockups:
Why is this feature good?
This feature is great because of the following:
Possible issues with this feature?
Issues that might arise from this feature:
I'm actually pretty surprised that nobody has wondered about this or asked about it yet. I see this as being a must-have in a game developing engine. Unfortunately, I lack most of the know-how to implement it myself, which means if it isn't brought to fruition I'm either going to have to pay someone a decent chunk of money to make a plugin that can do all of this somehow, or just say "sorry" to anyone who tries playing the game with a controller (without configuring it in Steam or some other third party program).
- Use all of a gamepad's buttons and axes.
- Map said buttons and axes to any keyboard key.
- Option to enable independent buttons and axes aside from keyboard mappings (i.e. Button 1/Controller 1, Axis X+/Controller 2)
- Allow multiple controllers for multiplayer (this is why the previous entry would be needed, so you can make an event or something that is controlled by another gamepad).
- In-editor controls first and foremost. The ability to lock out the player from editing them or to provide them with a menu option to edit the bindings, or maybe switch out between a few different profiles, would be perfect. But that can be made by a third party. An in-editor configuration tool is what this post is mainly about.
- Possibly the ability to make controllers rumble and option for the player to turn it on or off.
Code for Implementation:
The code to recognize that a controller is plugged in is already in the engine, but it can only make use of a few buttons for what can only seem to me like an imposed limit rather than one that couldn't be done. Not to mention, the default control layout is atrocious and you NEED Yanfly's GamepadConfig plugin to change it to something usable. Even then, it doesn't have support for the d-pad which most people prefer for navigating menus and grid-based-movement games. Yanfly's plugin actually has unused configs for up, left, right, and down, and after enabling them I found that they couldn't even be mapped to the d-pad anyway.
I would just make it another menu beside the database, plugin, etc icons. From there you just let the developer map each button to a keyboard key or engine function. See the mockup for more info or even take a look at Steam's, Dolphin's, CEMU's, etc configuration tool for controllers and you'll see exactly what I'm talking about.
Mockups:
Why is this feature good?
This feature is great because of the following:
- More accessibility.
- Bringing MV games closer to the standard of having full native controller support in your game.
- Mobile users can make great use of it so they aren't REQUIRED to use a touch screen.
Possible issues with this feature?
Issues that might arise from this feature:
- Conflict with steam controller profiles, but that's all on the end user.
I'm actually pretty surprised that nobody has wondered about this or asked about it yet. I see this as being a must-have in a game developing engine. Unfortunately, I lack most of the know-how to implement it myself, which means if it isn't brought to fruition I'm either going to have to pay someone a decent chunk of money to make a plugin that can do all of this somehow, or just say "sorry" to anyone who tries playing the game with a controller (without configuring it in Steam or some other third party program).



