Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Control Remapping Feature #562

Open
pathunstrom opened this issue Dec 24, 2020 · 0 comments
Open

Control Remapping Feature #562

pathunstrom opened this issue Dec 24, 2020 · 0 comments
Labels
discussion Issues that more just discussing than specific flaws or features feature

Comments

@pathunstrom
Copy link
Collaborator

I've designed a few of these for games, and we should definitely include a tool for designing control inputs that are easy to remap for end users.

This would be at least a system in features. The feature needs to do the basic translation between input events and the game verbs. It'd have a benefit if it used the event extension system to also manage state management for more complex controls.

In general, I find the following kinds of controls to be critical:

Axes: This represents things like joysticks or button pairs. Often used for things like movement. The value tends to be between [-1, 1], and is most useful when available during the update event.
Holds: This is more like modifier keys, and would be best for face buttons or keys that are held for their control. Value of 0 or 1 based on state. Like Axes, best in the update function.
Switch/Toggle: Like a hold, but pressing turns on, pressing again turns off. Values are 0, 1, best used in updates.
Press/Release: I prefer the term "impulse" but this is for controls in which pressing (or releasing) the button fires one action event, and then waits for the next event of the same type. Does not usually have a value attached.

The goal would be to throw a number of players, control definitions, and defaults, and have the controller system handle the rest. In game code, you respond to your custom events, or check the controls map that is added to the events.

A bonus to this work would be to include a scene that allows run time control remapping.

@pathunstrom pathunstrom added discussion Issues that more just discussing than specific flaws or features feature labels Dec 24, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
discussion Issues that more just discussing than specific flaws or features feature
Projects
None yet
Development

No branches or pull requests

1 participant