EEE436 / CS422 Preliminary Presentation Group
Outline Team Members Project Overview Rules for Pictionary Game Architecture Server Side Client Side Flow Chart/Operational Summary Developmental Stage of the Prototype Future Work Coşkun, Dağ, Gürses, Mıdoğlu 1
Outline Team Members Project Overview Rules for Pictionary Game Architecture Server Side Client Side Flow Chart/Operational Summary Developmental Stage of the Prototype Future Work Coşkun, Dağ, Gürses, Mıdoğlu 2
Team Members Cemil Can Coşkun Electrical and Electronics Engineering Senior Student Selin Dağ Electrical and Electronics Engineering Senior Student İbrahim Gürses Computer Engineering Senior Student Çise Mıdoğlu Electrical and Electronics Engineering Senior Student Coşkun, Dağ, Gürses, Mıdoğlu 3 Network setup GUI design Image streaming Socket programming
Outline Team Members Project Overview Rules for Pictionary Game Architecture Server Side Client Side Flow Chart/Operational Summary Developmental Stage of the Prototype Future Work Coşkun, Dağ, Gürses, Mıdoğlu 4
Project Overview Undertaken as a requirement of the EEE436/CS422 course Multiplayer game for the users of a wireless network. Each player takes turns in drawing a picture on the shared interface: Person who is drawing is called the artist. Other players (guessers) try to guess what the picture is Guessers submit their guesses in written form to the artist. If a guess is correct, the guesser who has submitted the guess wins the tour, also earning the artist some points Intended to serve for recreation / entertainment purposes. Useful tool for increasing visual creativity Coşkun, Dağ, Gürses, Mıdoğlu 5
Project Overview – Cont. Uses the underlying ad-hoc network to which all players are connected. The wireless connection is established using the IEEE protocol Takes the internet-based games “iSketch” and “Yahoo Pictionary” as examples The game requires a minimum of 2 players connecting via their mobile devices GUI: Multicolor sketch screen, text sending and receiving screen, score screen, timer running backward from 60 seconds Coşkun, Dağ, Gürses, Mıdoğlu 6
Outline Team Members Project Overview Rules for Pictionary Game Architecture Server Side Client Side Flow Chart/Operational Summary Developmental Stage of the Prototype Future Work Coşkun, Dağ, Gürses, Mıdoğlu 7
Rules The game consists of 8 rounds where the artist is given a word to draw, and the other players try to guess it within 1 minute Artist receives 5 points if any of the guessers submit a correct guess, and 0 points if no correct guesses are made within 1 minute The first player to guess the target word correctly receives 5 points Wrong guesses do not result in any point loss: a guesser can submit as many guesses as he/she wishes Coşkun, Dağ, Gürses, Mıdoğlu 8
Outline Team Members Project Overview Rules for Pictionary Game Architecture Server Side Client Side Flow Chart/Operational Summary Developmental Stage of the Prototype Future Work Coşkun, Dağ, Gürses, Mıdoğlu 9
Game Architecture Coşkun, Dağ, Gürses, Mıdoğlu 10 wireless ad-hoc network (7 peers) network host game host
Game Architecture Peer-to-peer (P2P) type architecture where each player takes turns in becoming the server Simultaneous multimedia transfer is handled via serialization of the bitmap image (bitmap object) 4 sockets are used in the overall process: 1 for establishing the game [port: 11000] 1 for sending and receiving the serialized bitmap image [port: 12000] 1 for sending and receiving the guesses: address [port: 13000] guess (string) + time stamp (integer) + IP 1 for ending the game [port: 14000] Coşkun, Dağ, Gürses, Mıdoğlu 11
Game Architecture – Cont. Server Side A normal member of the ad-hoc network becomes the server if: He/she starts the program (Pictionary.exe) and then chooses “Create New Game” [game host] Enters an already existing game, plays for a while and then it becomes his turn to draw [artist] Server determines the start of the game and tells it to clients: Send the IP addresses of all players to all of the players This is also signal for them to reset their counters Randomly selects a word from a text database (“target word”) Compares the received guesses against the target word (time stamps!) Coşkun, Dağ, Gürses, Mıdoğlu 12
Game Architecture – Cont. Server Side Determines the end of the round: Keeps track of time (countdown) Keeps track of the scores At the end of the round: Determines if it is the last round (end of the game) Sends the score information to the next server Sends the summary of the round as a message to all players (winner, time remaining, updated scores) Closes all sockets Becomes a client Coşkun, Dağ, Gürses, Mıdoğlu 13
Game Architecture – Cont. Client Side A normal member of the ad-hoc network becomes a client if: He/she starts the program (Pictionary.exe) and then chooses “Connect to a Game” [default client] Establishes a game, plays for a round as the artist and then gives the turn to another player [guesser] Client receives an indicator at the start of the game and resets its counter In the course of the game, simultaneously receives the bitmap image from the server (counter is running down from 60 in the meantime) Submits guesses in the form: guess (from user interface) + timestamp (from system clock) + IP address Receives a message from the server at the end of the round Coşkun, Dağ, Gürses, Mıdoğlu 14
Outline Team Members Project Overview Rules for Pictionary Game Architecture Server Side Client Side Flow Chart/Operational Summary Developmental Stage of the Prototype Future Work Coşkun, Dağ, Gürses, Mıdoğlu 15
Operational Summary 1. A person establishes an ad-hoc network (does not need to be a player) 2. People connect to this wireless ad-hoc network 3. Those who wish to play Pictionary run the program 4. Among the people who run the program, those who wish to start a new game click “Create New Game” and those who wish to join an already existing game (if any) click “Connect to a Game” 5. [Server] Broadcast a message with one’s own IP address and wait for incomers 6. [Client] Use a dedicated listener to see if anyone is broadcasting, list servers in the user interface Coşkun, Dağ, Gürses, Mıdoğlu 16
Operational Summary 7. [Server] Start the round (user interface) 8. [Client] Wait until the server starts the game 9. [Server] Send all IP addresses to all players and indicate start of the round 10. [Client] Reset timer when start of the game message is received 11. [Server] Send bitmap image (update every 1 second) 12. [Client] Deserialize information to receive the bitmap image 13. [Client] Send the guesser’s guess in string form with time stamp 14. [Server] Compare all guesses against the target word: - determine the end of the round - determine the winner’s IP and broadcast it in the network Coşkun, Dağ, Gürses, Mıdoğlu 17
Outline Team Members Project Overview Rules for Pictionary Game Architecture Server Side Client Side Flow Chart/Operational Summary Developmental Stage of the Prototype Future Work Coşkun, Dağ, Gürses, Mıdoğlu 18
Prototype Setting up a wireless ad-hoc networkcompleted Establishing a new gamecompleted Joining an already established gamecompleted IP address broadcasting through the networkcompleted Bitmap object serializing-deserializingcompleted Text sending-receiving between 2 peerscompleted Role changing (server to client)in progress Role changing (client to server)in progress Exception handling in the runtimenot comp. Coşkun, Dağ, Gürses, Mıdoğlu 19
Outline Team Members Project Overview Rules for Pictionary Game Architecture Server Side Client Side Flow Chart/Operational Summary Developmental Stage of the Prototype Future Work Coşkun, Dağ, Gürses, Mıdoğlu 20
Future Work Database: Enhanced database (number of words) Random selection of the target word more sophisticated so that the same word does not appear twice in a game Server-side programming: Round count (to determine the end of game) User interface development: Server interface (text display panel to display guesses, more drawing tools) Client interface (wait –game loading- screen) Coşkun, Dağ, Gürses, Mıdoğlu 21
The End Thank you for listening. Questions?