Content - relaysketchgame/relaysketch GitHub Wiki
[server -> client]
category(the type of words), words , send picture to other players, chatting , score ,
all members names , result from given answer name list
[client -> server]
nickname, team information, picture drawn by self , answer
The all server messages format are <UPPERCASE>
1.Server continues to count the number of users that get in, when someone gets out Server also checks it .
2. Server continues to give members' name to users when new users gets in. Server sends < TEAMVIEW > to users with member. Size and each member's name so that users UI can update the joining member.
3. When the members are all (6 peoples) in, Server gives clients < ALLIN > message to begin the game. Give category("A" or "B") to users.
4. Client gets < ALLIN > which means user UI counts 3 , 2 , 1 and starts. And the sequences of them are shown above the chatting zone.
5. The word that randomly chosen in the set of given category is given only to the first user. And give < SEND > and < START > message to users, < SEND > is for giving drawing panel to user who is in turn and < START > is for waiting until the sending button in drawingpanel is pressed. The button is for saving the picture which is drawn and giving server message "< send >".
6. If Server gets message < send > first check which team member sends it. It is necessary for separating socket and several things by team A and B.
7. We specify the users by its sequences so that we could send the answer-sheet to the last user to enter the answer. If the sending user's sequence is 1 or 2, send < CANVAS > message to the user which is for getting the picture to Server. We gets the byte until is same with sending bytes by user.
8. After < CANVAS > we need to give the saved picture to the next user. We give a < RECEIVE > message to users so that they can get ready for communicate with Server for its picture. Build new socket for download the picture. It also continue to download until the server's sending bytes and user's getting bytes is same.
9. If the next user is the last user (in our case third person), we don't need to download or give a drawing panel because that user is for guessing what the picture was. So we consider this that last user can only get the answer-panel < AANSWERSHEET > or < BANSWERSHEET > which makes pop up to the third user.
10. User gives back the answer with < Aanswer >+answer or < Banswer >+answer message and wait for the result from the server. Server gets the message and check it is correct. Server specifies team by the second char is A or B and print < ANSWERCORRECT > with score up or < ANSWERWRONG > and what was the answer.
11. Then update the score panel after message < SCORE >. After the third user types the answer, the given word is changed and the drawing panel goes to the user who has the first sequence, repeats this until 100 seconds is over.
12. When game is over , the resultframe pops up and there's two button in it. one is Yes other is No. If Yes is clicked , YES is sent if it's No NO is sent. If all player clicks Yes which means 6 times , Game restarted same sequence above.
-
play in different place : I had seen a similar game in an entertainment program. The game we designed need not play in the same place as the game we did in the entertainment program. All 6 users can play the game in different places.
-
entertaining : You could have more fun and entertaining because it is a game that communicates with other people, not a personal game that reaches a level or perform any mission.
-
convenient : The users can play the game with his/her computer without needing any pen or paper. The server manages and provides everything that needed for the game.
-
GUI : We are to be aware of the remaining time using GUI visualized.
-
time bomb : The game is forcibly terminated after 100 seconds given to each team.
-
chatting is flexible : Block chatting is for not to share the answer while the user is drawing.
-
drawing panel : User can choose thickness and the color of pencil.