octachrome / treason

A clone of the card game Coup written in Node.js
Other
139 stars 79 forks source link

Add list of players awaiting allow/challenge to game-actions UI #42

Open dnathe4th opened 4 years ago

dnathe4th commented 4 years ago

Resolves #41

Screen Shot 2020-04-10 at 12 33 42 AM Screen Shot 2020-04-10 at 12 34 01 AM Screen Shot 2020-04-10 at 12 33 54 AM Screen Shot 2020-04-10 at 12 33 47 AM
octachrome commented 4 years ago

I like this, and I am ok to merge it. But we are now tracking the allows in two separate variables, one of which is redundant. It makes me think about moving the global allows variable into the state instead, and deriving everything from that. I think the reason that allows was not originally part of the state is that it feels like private information - when you play the game in real life, everyone does not say "I allow this action" - there's a bit of uncertainty about whether another player is going to challenge (so you don't have to). @JackieNiebling - what do you think? Should whether other players have clicked "allow" be secret?

dnathe4th commented 4 years ago

Yeah both of those are valid points. I had not considered the secretness of allowing, since presumably the game is normally played face to face. I guess when someone challenges you don't know who else might have wanted to challenge? If I'm the only one who has felt frustration not knowing who's response was outstanding, I can keep this on my own fork or put it behind a setting.

octachrome commented 4 years ago

I like the option of making this a setting. Other ideas:

JackieNiebling commented 4 years ago

I think having a visible 'allowed this' tied directly to a player adds an unnecessary meta-game to the game where you can (attempt) to infer what someone else is holding based on how fast they allow. In the table top version, everyone would be considering whether to challenge and this real-life pause would both include them waiting for others with more information to challenge and themselves trying to work out the odds (and ramifications) of a challenge by them.

JackieNiebling commented 4 years ago

So to clarify, I like the 'waiting for x players to respond'

Trevor-Welch commented 4 years ago

I also like the "waiting for X players" dialog as well, but I believe you could even say "players are thinking..." with a Maximum Wait timer of some sort that could be a setting.

However, I do believe there should be some sort of indicator that not everyone has made a decision and that's why the game is paused until either everyone has made an anonymous action or the X second timer is expired.

In other words, we should have the objective of a PR like "adding a waiting indicator"

octachrome commented 4 years ago

Show "waiting for 3 people to respond" instead of showing their names, until there is only one person left, then shame them with their name. This mirrors the real-life game where it becomes clear when one person is procrastinating from their body language.

@dnathe4th do you fancy giving this a try?