23
EEE436 / CS422 Preliminary Presentation EEE436 / CS422 Preliminary Presentation Group 2 Group 2 21.04.2010 21.04.2010

EEE436 / CS422 Preliminary Presentation Group 2 21.04.2010

Embed Size (px)

Citation preview

Page 1: EEE436 / CS422 Preliminary Presentation Group 2 21.04.2010

EEE436 / CS422 Preliminary PresentationEEE436 / CS422 Preliminary PresentationGroup 2Group 2

21.04.201021.04.2010

Page 2: EEE436 / CS422 Preliminary Presentation Group 2 21.04.2010

OutlineTeam MembersProject OverviewRules for PictionaryGame Architecture

Server SideClient Side

Flow Chart/Operational SummaryDevelopmental Stage of the PrototypeFuture Work

Coşkun, Dağ, Gürses, Mıdoğlu 1

Page 3: EEE436 / CS422 Preliminary Presentation Group 2 21.04.2010

OutlineTeam MembersProject OverviewRules for PictionaryGame Architecture

Server SideClient Side

Flow Chart/Operational SummaryDevelopmental Stage of the PrototypeFuture Work

Coşkun, Dağ, Gürses, Mıdoğlu 2

Page 4: EEE436 / CS422 Preliminary Presentation Group 2 21.04.2010

Team Members Cemil Can Coşkun

Electrical and Electronics EngineeringSenior Student

Selin DağElectrical and Electronics EngineeringSenior Student

İbrahim GürsesComputer EngineeringSenior Student

Çise MıdoğluElectrical and Electronics EngineeringSenior Student

Coşkun, Dağ, Gürses, Mıdoğlu 3

Network setup

GUI design

Image streaming

Socket programming

Page 5: EEE436 / CS422 Preliminary Presentation Group 2 21.04.2010

OutlineTeam MembersProject OverviewRules for PictionaryGame Architecture

Server SideClient Side

Flow Chart/Operational SummaryDevelopmental Stage of the PrototypeFuture Work

Coşkun, Dağ, Gürses, Mıdoğlu 4

Page 6: EEE436 / CS422 Preliminary Presentation Group 2 21.04.2010

Project OverviewUndertaken 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 isGuessers 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

Page 7: EEE436 / CS422 Preliminary Presentation Group 2 21.04.2010

Project Overview – Cont.Uses the underlying ad-hoc network to which all

players are connected. The wireless connection is established using the IEEE 802.11 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

Page 8: EEE436 / CS422 Preliminary Presentation Group 2 21.04.2010

OutlineTeam MembersProject OverviewRules for PictionaryGame Architecture

Server SideClient Side

Flow Chart/Operational SummaryDevelopmental Stage of the PrototypeFuture Work

Coşkun, Dağ, Gürses, Mıdoğlu 7

Page 9: EEE436 / CS422 Preliminary Presentation Group 2 21.04.2010

RulesThe 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

Page 10: EEE436 / CS422 Preliminary Presentation Group 2 21.04.2010

OutlineTeam MembersProject OverviewRules for PictionaryGame Architecture

Server SideClient Side

Flow Chart/Operational SummaryDevelopmental Stage of the PrototypeFuture Work

Coşkun, Dağ, Gürses, Mıdoğlu 9

Page 11: EEE436 / CS422 Preliminary Presentation Group 2 21.04.2010

Game Architecture

Coşkun, Dağ, Gürses, Mıdoğlu 10

wireless ad-hoc network(7 peers)

network host

game host

game host

Page 12: EEE436 / CS422 Preliminary Presentation Group 2 21.04.2010

Game ArchitecturePeer-to-peer (P2P) type architecture where each

player takes turns in becoming the serverSimultaneous 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

Page 13: EEE436 / CS422 Preliminary Presentation Group 2 21.04.2010

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

Page 14: EEE436 / CS422 Preliminary Presentation Group 2 21.04.2010

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

Page 15: EEE436 / CS422 Preliminary Presentation Group 2 21.04.2010

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

Page 16: EEE436 / CS422 Preliminary Presentation Group 2 21.04.2010

OutlineTeam MembersProject OverviewRules for PictionaryGame Architecture

Server SideClient Side

Flow Chart/Operational SummaryDevelopmental Stage of the PrototypeFuture Work

Coşkun, Dağ, Gürses, Mıdoğlu 15

Page 17: EEE436 / CS422 Preliminary Presentation Group 2 21.04.2010

Operational Summary1. A person establishes an ad-hoc network (does not

need to be a player)2. People connect to this wireless ad-hoc network3. Those who wish to play Pictionary run the

program4. 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

Page 18: EEE436 / CS422 Preliminary Presentation Group 2 21.04.2010

Operational Summary7. [Server] Start the round (user interface)8. [Client] Wait until the server starts the game9. [Server] Send all IP addresses to all players and indicate

start of the round10. [Client] Reset timer when start of the game message is

received11. [Server] Send bitmap image (update every 1 second)12. [Client] Deserialize information to receive the bitmap

image13. [Client] Send the guesser’s guess in string form with

time stamp14. [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

Page 19: EEE436 / CS422 Preliminary Presentation Group 2 21.04.2010

OutlineTeam MembersProject OverviewRules for PictionaryGame Architecture

Server SideClient Side

Flow Chart/Operational SummaryDevelopmental Stage of the PrototypeFuture Work

Coşkun, Dağ, Gürses, Mıdoğlu 18

Page 20: EEE436 / CS422 Preliminary Presentation Group 2 21.04.2010

PrototypeSetting up a wireless ad-hoc network completedEstablishing a new game completedJoining an already established game completedIP address broadcasting through the

network completedBitmap object serializing-deserializing completedText sending-receiving between 2 peers completedRole changing (server to client) in progressRole changing (client to server) in progressException handling in the runtime not comp.

Coşkun, Dağ, Gürses, Mıdoğlu 19

Page 21: EEE436 / CS422 Preliminary Presentation Group 2 21.04.2010

OutlineTeam MembersProject OverviewRules for PictionaryGame Architecture

Server SideClient Side

Flow Chart/Operational SummaryDevelopmental Stage of the PrototypeFuture Work

Coşkun, Dağ, Gürses, Mıdoğlu 20

Page 22: EEE436 / CS422 Preliminary Presentation Group 2 21.04.2010

Future WorkDatabase:

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

Page 23: EEE436 / CS422 Preliminary Presentation Group 2 21.04.2010

The End

Thank you for listening.Questions?