Hanabi-Live / hanabi-live

A web server that allows people to play Hanab, a cooperative card game of logic and reasoning.
https://hanab.live
GNU General Public License v3.0
178 stars 118 forks source link

spectator should be ejected from hypothetical when game ends #2235

Open timotree3 opened 3 years ago

timotree3 commented 3 years ago
  1. Spectate an ongoing game
  2. Enter a hypothetical
  3. The game ends
  4. You are no longer the leader of your own hypothetical

Proposed solution: Don't transfer spectator to shared replay when game ends if they are in a hypo

Zamiell commented 3 years ago

how would you queue transition to shared replay

timotree3 commented 3 years ago

when they exit the hypo it could either take them back to the lobby or to the shared replay. are you asking how the client would find out the shared replay table ID to visit? idk, how does it do that currently?

Zamiell commented 3 years ago

well it shouldn't take them to the lobby. i think the correct behavior is that it should eject them from their own hypothetical

timotree3 commented 3 years ago

Why would that be good behavior? I'm using this feature to see what result I would've gotten if I played the game differently from them, and then all the sudden I can't finish my hypo and my effort is wasted just because their game finished? Seems like a bad UX.

Zamiell commented 3 years ago

then we would need some sort of queuing mechanism. also consider that the shared replay leader can start a hypo while the spectator is still in their other hypo, and 2 simultaneous hypos aren't normally allowed, so how will the code work in this situation? will it queue the 2nd hypo as well? i think if you want to program good UX in this situation it is going to result in a lot of code complexity

Zamiell commented 2 years ago

i will rename this issue accordingly