tsunamayo / Starship-EVO

Welcome to Starship EVO bug tracking repo !
114 stars 17 forks source link

[Feature Request] steam input API support via action sets #5400

Open KairuDeibisu opened 8 months ago

KairuDeibisu commented 8 months ago

This concept refers to the use of Steam Input Action Sets for game control.

An Action Set essentially guides Steam Input on the game's current state, like whether the player is flying, walking, or navigating a menu. As a game developer, you would update the Action Set based on in-game events.

This allows players to customize their controls for each set. For instance, while on foot, 'WASD' might map to the left joystick, but in flight, the right trigger could be used for moving forward.

The Action Set, modified by the developer, enables players to configure controls for different scenarios. This is related to a similar topic discussed in issue #5284.

This method is not about providing complete controller support. It's more about making it easier to use Steam Input, offering a simpler way to integrate controller functions without needing a full system, which is a different issue from what's discussed in issue #5284.

tsunamayo commented 7 months ago

@KairuDeibisu Hi, well each control is already segmented between those actions, like you get different mapping for moving on foot or flying a ship. I am not sure what it could bring more practically. Cheers

KairuDeibisu commented 6 months ago

@KairuDeibisu Hi, well each control is already segmented between those actions, like you get different mapping for moving on foot or flying a ship. I am not sure what it could bring more practically. Cheers

With these Action Sets, we can let Steam know exactly what the player is doing at any given time. Why does this matter? Without this feature, a controller's d-pad could only be set to perform one function at a time. Players would need to use awkward key combinations to switch its function on the fly, which isn't ideal.

Imagine telling Steam exactly what's happening in your game—whether a player is walking, flying, or managing their inventory. This means players can tweak their controller settings for each situation. For example, the d-pad could switch between controlling the inventory and building stuff, depending on what the player is doing.

This would be easier to maintain, as all the mapping is left up to the player. You would only need to tell steam input, what states (i.e action set) are available when the state should change.