- Choose a nickname at the welcome screen
- Join or create a game.
- In the game lobby wait for the creator to start the game. If you are the creator, block spots if desired, then start game when desired.
- Get a list of easy, hard, medium words on the backend.
- Randomly determine who will go first, then go to the right.
- Show the word to the drawer. Remind them the sketch cannot contain letters or numbers.
- Declare that a person is starting.
- Count down to the game starting.
- Game begins, and a count down in the corner starts (30s 60s?). Guessers type guesses and press enter while the drawer draws.
- First person to submit a string containing the correct answer is the winner automatically. The drawer and the guesser gets a point.
- Annouce the winner, followed by the next drawer.
- Also annouce when a new round starts.
- Once rounds are over show results screen.
- List of players in order of how many points earned.
- Savable data about the game to laugh about later
- Expand words list
- Lobby chat
- Expand game options (word types, number of rounds)
- Refactor server emit events
- The server should only emit
- meta data for all games for those in gamesbrowser
- specific game data to those in that game
- game play related events (new draw data, guesses, win events, player change events)
- Trim down actions and reducers as a result
- The server should only emit
- Testing
- Organize per view
- Use jest with puppeteer
- For Welcome, Games Browser, and Games Lobby can test functionality through app interaction from start.
- For Game, can first verify that
- Refactor strings to constants file