You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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.
The text was updated successfully, but these errors were encountered:
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.
The text was updated successfully, but these errors were encountered: