wearhere / spacecontrol

Control server for spaceship control panels
2 stars 0 forks source link

Different controls sets / display messages for different levels #21

Open dawnho opened 6 years ago

dawnho commented 6 years ago

We would like to have different sets of command sets, and different display text for those commands at different levels.

wearhere commented 6 years ago

Can you provide an example? Would this be swapping out which controls you ask users to manipulate, or describing using those controls in different ways?

svetlichnaya commented 6 years ago

@wearhere yes this was an idea from last night. Example: you have a slider (analog potentiometer) that picks a color of the rainbow. At level 1, you tell the user "Set color to [red/orange/green]". At level 2, you instead say "Banana color" or even just "Strawberries" and players have to collectively figure out to guess the color of the fruit and then set the color switch. At level 3, you could imagine giving more challenging/abstract clues for which the answer is a color (RGB values :P). This lets us include a puzzle-solving component if we want :)

wearhere commented 6 years ago

wearhere commented 6 years ago

That's great! That's like in Spaceteam where some levels label the controls with pictographs.

wearhere commented 6 years ago

Ok here's the schema change I'm envisioning for this:

'actions': {
  'nothing': '',
  'nipple': 'Octo bite raven girl nipple!',
  'mouth': 'Octo kiss raven girl mouth!'
}

becomes

'actions': {
  'nothing': '',
  'nipple': 'Octo bite raven girl nipple!',
  'mouth': ['Octo kiss raven girl mouth!', 'Octo frenches raven!', 'Octo wants some of raven's extra time and her…']
}

That is to say, the right-hand value of each state can be expanded from a single action into an array of actions, where the zeroth action is the action to take at the first difficulty level and so on.

It's ok for different controls to support different numbers of difficulty levels, and different numbers of difficulty levels per action, even just a single difficulty level i.e. the old single-action form (like 'nipple' above), the server will figure everything out.

No protocol changes.

wearhere commented 6 years ago

The above scheme is designed to support changing the actions every level. If we instead want to support changing the actions per range of levels, then it might make sense to adopt min/maxDifficulty keys at the control level: https://cl.ly/2x2N3i2b3R0y h/t @dawnho

Controls would still require unique IDs even if they weren't simultaneously active.