hwoodward / Remote-Card-Games

Program for playing card games online/remotely. Goal is to play a game of hand and foot with multiple groups in different locations.
MIT License
2 stars 1 forks source link

How to go from setup mode to gameplay mode when everyone is ready #20

Closed hwoodward closed 4 years ago

hwoodward commented 5 years ago

What won't the app do that you think it should? Please describe. Right now once everyone is connected and ok with the turn order someone will manually have to tell the server to transition modes. Eventually we want that to be automatic and have an easy way to tell if people are ok with the turn order.

Describe the solution you'd like I think we could set up a 'ready' checkbox in the turn order setup and whenever it changed we could reset all the readies to require resubmission. If everyone checks ready then we can start the game. We need to reset all the readies on every connect/disconnect event so that if the one person unhappy with the turn order disconnects to move to the end of the list we don't start without them.

Describe alternatives you've considered We could instead make this a manual server input still - but put it in the potential web interface suggested in issue #11 We could also nominate whoever is first in the turn order as the arbiter and trust them to listen to others Finally we could give the server a number of players on launch and once they are all connected start. Either with the order they connected or in a shuffled order. (This is probably one of my favorite options for hand and foot - but not for something like bridge if we ever did that)

Additional context This is almost certainly a late stage feature, like the issues of duplicate names, saving games, and the web interface.

hwoodward commented 4 years ago

Feature design needs documentation outside of my notebook but plan is a consensus method. Each player has a "Ready" checkbox. When that is checked we update the server. When all players are ready the server moves forward through whatever checkpoint it had arrived at.

First checkpoint is players connected/turn order resolved. Also intend to use it for starting next rounds and/or score reporting.

There is a bit of an annoying edge case - when reordering players/reconnecting make sure that you don't ever have all the players staying put marked as ready or you will start without people

hwoodward commented 4 years ago

Closing since round transitioning feature went into master