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

Implement double-press controls #90

Open
aggregate1166877 opened this issue Dec 9, 2022 · 1 comment
Open

Implement double-press controls #90

aggregate1166877 opened this issue Dec 9, 2022 · 1 comment
Labels
high-level concept pre-alpha grind Pre-alpha MVP task: tasks used as rough indication of what needs to be done to get out of pre-alpha

Comments

@aggregate1166877
Copy link
Collaborator

aggregate1166877 commented Dec 9, 2022

Important note: we're specifically not looking for a situation where we intentionally delay actions to wait for a double presses. For example, assigning x to "single press to shoot" + "double press to holster" should result in a situation where x x causes the ship to shoot and then immediately holster.

Use-cases

Lights

The intended use-cases are for superlative, non-destructive actions. For example, let's consider that we have dim internal ship lights, bright internal ship lights, and external ship lights.

We can assign keys as follows:

  • L: turn of all non-essential ship lights.
  • Lx2: turn on interior lights, dim.
  • Lx3: turn on interior lights, bright.
  • Lx4: turn on exterior ship lights.
  • Lx5 and beyond: no effect.

This gives us a situation where all lights in all contexts are always assigned to L. Pressing L once guarantees we immediately kill all lights (perhaps to hide from an enemy). Subsequent presses brightens the ship up incrementally. Spamming the light buttons gives us full lights.

If the player wishes to change order, or use different keys entirely, they may do so by remapping controls. They could also simultaneously assign L and Lx5 to "switch off internal lights" for a hybrid effect that kills all lights in an emergency, and disables internal lights during non-stealth navigation.

Weapons

Another use-case is firing groups. Let's say we want to manage active weapons with Q. We can configure the controls such that Q always switches to the primary group, a second press always goes to secondary, and so forth. The engine can then stop incrementing firing groups when the max non-empty load-out is reached, even if we're arbitrary mapped Q up to, say, 9 possible firing groups. With a separate button for holstering, this give the player rapid access to weapons and holstering.

Ship configurations

This allows for setting up crazy amounts of power distribution setups. The user can choose to make the power distribution load-out button cycle through all available setups (should probably be default), or they can set it that first press is always slot one, and then increment from there with fast re-presses.

Default controls

I think we should have this as default for weapon groups, but not for most options (probably not even lights). The idea of pressing a button and nothing happens consistently, until you start smashing the button out of anger, feels like bad design. We should thus only use multi-press controls as a default where highly intuitive (such as the weapons button always unholstering weapons group 1).

@aggregate1166877 aggregate1166877 added pre-alpha grind Pre-alpha MVP task: tasks used as rough indication of what needs to be done to get out of pre-alpha high-level concept labels Dec 9, 2022
@aggregate1166877
Copy link
Collaborator Author

In the controls menu, perhaps implement visually as:
Weapons group 1: Q
Weapons group 2: Q [if pressed 2 times]
Weapons group 3: Q [if pressed 3 times]

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
high-level concept pre-alpha grind Pre-alpha MVP task: tasks used as rough indication of what needs to be done to get out of pre-alpha
Projects
None yet
Development

No branches or pull requests

1 participant