EEE436 / CS422 Final Presentation Group 2 14.05.2010.

Slides:



Advertisements
Similar presentations
ECE 491 Final Project Multiplayer Card Game Author: Tian Ma Presentation 5/4/2004.
Advertisements

Using.NET Platform Note: Most of the material of these slides have been adapted from Nakov’s excellent overview for.NET framework, MSDN and Wikipedia Muhammad.
EEE436 / CS422 Preliminary Presentation Group
Spades Game Application with Video Conference Group 12 Anıl Yaman Emre Ergün Hüseyin Aktaş Pınar Tekir.
Visual jMUD Oscar Chen CS491. Important Note The IMAGES used in this presentation and demonstration of Visual jMUD are COPYRIGHT by their respective holders.
Presentation Outline  Project Aims  Introduction of Digital Video Library  Introduction of Our Work  Considerations and Approach  Design and Implementation.
Rheeve: A Plug-n-Play Peer- to-Peer Computing Platform Wang-kee Poon and Jiannong Cao Department of Computing, The Hong Kong Polytechnic University ICDCSW.
R-Mancala Srinivas Krishnan & Kiranjit Sidhu. Outline Design Details Refactoring Experience Demo.
A CHAT CLIENT-SERVER MODULE IN JAVA BY MAHTAB M HUSSAIN MAYANK MOHAN ISE 582 FALL 2003 PROJECT.
Portable Image File Viewer ENEE 408G: Multimedia Signal Processing Seun Fabayo John Glancy Gordon Krauthamer.
Team 13: Cody Smoker Chris Rickerd Matthew Berryhill Galaxy Sleuth.
(NHA) The Laboratory of Computer Communication and Networking Network Host Analyzer.
© Lethbridge/Laganière 2001 Chap. 3: Basing Development on Reusable Technology 1 Let’s get started. Let’s start by selecting an architecture from among.
Networking with Java CSc 335 Object-Oriented Programming and Design Spring 2009.
1 Chapter Overview Introduction to Windows XP Professional Printing Setting Up Network Printers Connecting to Network Printers Configuring Network Printers.
Intelligent Tutoring System Mobile Communication Team Drew Boatwright Nakul Dureja Richard Liou.
WEB DESIGN SOME FOUNDATIONS. SO WHAT IS THIS INTERNET.
Online Game JAVA for PDA WAP for Mobile Phone. Java for PDA  Hardware limit - Java API Power Memory  JDK 2M byte. Connectivity Display size.
Finding Nearby Wireless Hotspots CSE 403 LCA Presentation Team Members: Chris Scoville Tessa MacDuff Matt Mohebbi Aiman Erbad Khalil El Haitami.
Microsoft Visual Basic 2012 CHAPTER ONE Introduction to Visual Basic 2012 Programming.
Microsoft Visual Basic 2005 CHAPTER 1 Introduction to Visual Basic 2005 Programming.
Port Knocking Software Project Presentation Paper Study – Part 1 Group member: Liew Jiun Hau ( ) Lee Shirly ( ) Ong Ivy ( )
Super Pong Andrew Dunsmore CSC436. Overview Purpose Design Specification Software Engineering.
These materials are prepared only for the students enrolled in the course Distributed Software Development (DSD) at the Department of Computer.
Configuring the MagicInfo Pro Display
TCP/IP protocols Communication over Internet is mostly TCP/IP (Transmission Control Protocol over Internet Protocol) TCP/IP "stack" is software which allows.
Hands-On Microsoft Windows Server 2003 Networking Chapter Three TCP/IP Architecture.
Lecture 2 TCP/IP Protocol Suite Reference: TCP/IP Protocol Suite, 4 th Edition (chapter 2) 1.
Presented by Team D Compare Windows 2000, XP, and.NET By John Leonard, Brian North, Jeffrey Reynolds, Todd Saylor.
Operating Systems  A collection of programs that  Coordinates computer usage among users  Manages computer resources  Handle Common Tasks.
Final Presentation – CS 425 Aaron O'Banion Todd Astroth Chris Cobb Matt Stowe Mark Williams.
JokerStars: Online Poker William Sanville CSE 4904 Milestone II.
Universiti Utara Malaysia Chapter 3 Introduction to ASP.NET 3.5.

Chapter 8 Collecting Data with Forms. Chapter 8 Lessons Introduction 1.Plan and create a form 2.Edit and format a form 3.Work with form objects 4.Test.
Chapter 9 Publishing and Maintaining Your Site. 2 Principles of Web Design Chapter 9 Objectives Understand the features of Internet Service Providers.
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 3: Basing Software Development on Reusable Technology.
4BP1 Electronic & Computer Engineering Paul Gildea th Year Interim Project Presentation.
1 Chapter 28 Networking. 2 Objectives F To comprehend socket-based communication in Java (§28.2). F To understand client/server computing (§28.2). F To.
Texas Forty-Two By: Nate Normandin CS 470. What is Texas Forty-Two? A Domino Game A way for people to learn the game A way for people to play others A.
Quoridor Requirements Matt Stowe Mark Williams Chris Cobb Todd Astroth Aaron O'Banion.
ECEN “Internet Protocols and Modeling”, Spring 2012 Course Materials: Papers, Reference Texts: Bertsekas/Gallager, Stuber, Stallings, etc Class.
Experience Sharing in Mobile Peer Communities EPI Planete, INRIA International Consortium Meeting (Oulou) 10 June, 2009.
Multi-Group Network Game Project A Project By: Erez Gazit and Sagi Katz.
Joe Cohen Presentation Overview  Project definition and requirements  Solution process and explanation  Methodology.
Chapter 3: Network Protocols and Communications
OpEnSp a Ce LCA Proposal Calvin Chin David Couvrette Jung Son Mikiko Jama CSE403 Summer 06.
CSI 3125, Preliminaries, page 1 Networking. CSI 3125, Preliminaries, page 2 Networking A network represents interconnection of computers that is capable.
ViralFlux and Logo Start New Game Load Save Game Start Multiplayer Game Change Settings Exit Game ViralFlux Flavor Text.
Tutorial 2 Introduction to Android App Development Course: Network Protocols (NETW703) Department of Networks Faculty of Information Engineering and Technology.
University of Pennsylvania Department of Electrical and Systems Engineering ABSTRACT: The Sensor Application System for PDAs allows users to take advantage.
COSC513 Final Project Firewall in Internet Security Student Name: Jinqi Zhang Student ID: Instructor Name: Dr.Anvari.
Multi player client sever Snake Game Technology : JAVA (swing for user interface and Socket for passing coordinates of snakes, food item and score)
/16 Final Project Report By Facializer Team Final Project Report Eagle, Leo, Bessie, Five, Evan Dan, Kyle, Ben, Caleb.
Online Data Monitoring Framework Based on Histogram Packaging in Network Distributed Data Acquisition Systems Tomoyuki Konno 1, Anatael Cabrera 2, Masaki.
VIRTUAL NETWORK COMPUTING SUBMITTED BY:- Ankur Yadav Ashish Solanki Charu Swaroop Harsha Jain.
2007/11/16 Dinh Trong Thuy RTLab
Architecture Review 10/11/2004
Introducing the Microsoft® .NET Framework
Module 1: Understanding Local Area Networks
Introduction to Visual Basic 2008 Programming
Introduction to Android App Development
Chapter 3 Internet Applications and Network Programming
Development-Introduction
Tarneeb Game.
Fight Game Brian Kessler.
Client-Server Interaction
The Client Server Model
Exceptions and networking
Presentation transcript:

EEE436 / CS422 Final Presentation Group

Outline Team Members Project Overview Rules for Pictionary Game Architecture Server Side Client Side Flow Chart/Operational Summary Final Stage of the Prototype Possible Improvements 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 Final Stage of the Prototype Possible Improvements 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 Final Stage of the Prototype Possible Improvements Coşkun, Dağ, Gürses, Mıdoğlu 4

Project Overview Undertaken as a requirement of the EEE436/CS422 course Multiplayer game: 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 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 Requires a minimum of 2 players connecting via their mobile devices GUI: Multicolor sketch screen, text sending and receiving screen, score, timer running backward from 60 seconds Coşkun, Dağ, Gürses, Mıdoğlu 6

Project Overview – Cont. Code written in C#, platforms: Windows XP, Windows Vista, Windows 7.NET framework is used (version 3.5), code developed with Visual Studio No extra libraries were used. All libraries that are used are a part of the.NET platform The design of an interface with.NET and GDI is easy with Visual Studio 2008 by the help of the built in UI designer. However, GDI has limited number of functionalities as Swing library Coşkun, Dağ, Gürses, Mıdoğlu 7

Project Overview – Cont..Net packages that were imported: using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; using System.Diagnostics; using System.IO; using System.Net; using System.Threading; using System.Net.Sockets; using System.Runtime.Serialization.Formatters.Binary; using System.Net.NetworkInformation; 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 Final Stage of the Prototype Possible Improvements Coşkun, Dağ, Gürses, Mıdoğlu 9

Rules The game consists of 8 rounds where the artist is given a word to draw, and the guessers 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 (guesser) 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 10

Outline Team Members Project Overview Rules for Pictionary Game Architecture Server Side Client Side Flow Chart/Operational Summary Final Stage of the Prototype Possible Improvements Coşkun, Dağ, Gürses, Mıdoğlu 11

Game Architecture Coşkun, Dağ, Gürses, Mıdoğlu 12 wireless ad-hoc network (7 peers) network host game host

Game Architecture – Cont. Peer-to-peer (P2P) type architecture, each player takes turns in becoming the server Simultaneous multimedia transfer is handled via serialization of the bitmap image 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 13

Game Architecture – Cont. Coşkun, Dağ, Gürses, Mıdoğlu 14

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: Randomly selects a word from a text database (“target word”) User interface allows the user to make a multicolor sketch Coşkun, Dağ, Gürses, Mıdoğlu 15

Game Architecture – Cont. Server Side Coşkun, Dağ, Gürses, Mıdoğlu 16

Game Architecture – Cont. Server Side Coşkun, Dağ, Gürses, Mıdoğlu 17

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 18

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] Receives an indicator at the beginning and resets its counter Simultaneously receives the bitmap image from the server 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 19

Game Architecture – Cont. Client Side Coşkun, Dağ, Gürses, Mıdoğlu 20

Game Architecture – Cont. Client Side Coşkun, Dağ, Gürses, Mıdoğlu 21

Outline Team Members Project Overview Rules for Pictionary Game Architecture Server Side Client Side Flow Chart/Operational Summary Final Stage of the Prototype Possible Improvements Coşkun, Dağ, Gürses, Mıdoğlu 22

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 23

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 24

Outline Team Members Project Overview Rules for Pictionary Game Architecture Server Side Client Side Flow Chart/Operational Summary Final Stage of the Prototype Possible Improvements Coşkun, Dağ, Gürses, Mıdoğlu 25

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 Client Interface (text sending)completed Server Interface (wait for players)completed Coşkun, Dağ, Gürses, Mıdoğlu 26

Prototype – Cont. Server Interface (display guesses)completed Role changing (server to client)completed Role changing (client to server)completed Exception handling in the runtimediscarded Coşkun, Dağ, Gürses, Mıdoğlu 27

Outline Team Members Project Overview Rules for Pictionary Game Architecture Server Side Client Side Flow Chart/Operational Summary Final Stage of the Prototype Possible Improvements Coşkun, Dağ, Gürses, Mıdoğlu 28

Possible Improvements Database: Enhanced database (number of words) User interface development: Server interface (more drawing tools) Client interface (wait –game loading- screen) Application to other mobile devices (eg. Cell phones) Coşkun, Dağ, Gürses, Mıdoğlu 29

The End Thank you for listening. Questions?