Upload
elvin-merwin
View
213
Download
0
Tags:
Embed Size (px)
Citation preview
EEE436 / CS422 Preliminary PresentationEEE436 / CS422 Preliminary PresentationGroup 2Group 2
21.04.201021.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
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
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
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
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
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
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
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
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
Game Architecture
Coşkun, Dağ, Gürses, Mıdoğlu 10
wireless ad-hoc network(7 peers)
network host
game host
game host
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
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
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
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
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
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
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
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
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
The End
Thank you for listening.Questions?