After signing up a user should be able to instantiate a new game with a specific user.
1) A user should be able to search for another user by user name.
1a. An incorrect query must be handled effectively
1b. This may imply some kind of privacy settings
2) Once a user finds his partner, he/she must request a game
2a. This request will be done via socket.io
2b. A user must have a viewable list of invites somewhere on the UI
3) A user must be able to accept an invitation, creating the game session.
3a. Instantiate a new game object on the server and store it.
3b. This may require game logic to be moved into the mongoose schema but hopefully not.
3c. Relation to the two users must be added to the Game model.
4) If one or both players disconnect from a game, the game must automatically save state.
4a. How do you detect a disconnect of a user?
4b. I need to include a save option inside the game.
4c. If a player disconnects, the other player must be informed of this via socket event
4cc. Socket events can be paired with custom strings -- such as player MongoIDs, so that the two players are listening exclusively to each other.
After signing up a user should be able to instantiate a new game with a specific user.
1) A user should be able to search for another user by user name. 1a. An incorrect query must be handled effectively 1b. This may imply some kind of privacy settings 2) Once a user finds his partner, he/she must request a game 2a. This request will be done via socket.io 2b. A user must have a viewable list of invites somewhere on the UI 3) A user must be able to accept an invitation, creating the game session. 3a. Instantiate a new game object on the server and store it. 3b. This may require game logic to be moved into the mongoose schema but hopefully not. 3c. Relation to the two users must be added to the Game model. 4) If one or both players disconnect from a game, the game must automatically save state. 4a. How do you detect a disconnect of a user? 4b. I need to include a save option inside the game. 4c. If a player disconnects, the other player must be informed of this via socket event 4cc. Socket events can be paired with custom strings -- such as player MongoIDs, so that the two players are listening exclusively to each other.