DIS Project Proposal Distributed-PacMan. Overview of Project Motivation and goals Project...

Preview:

Citation preview

DIS Project Proposal

Distributed-PacMan

Overview of Project

Motivation and goals Project Participants Project timeline

Motivation and Goals

To create a happy world, interactively of one-line game

Safety (error free, stable environment) and liveness. (someone will eventually have fun in the game)

Project Participants

R92725017 施嘉峻 R92725025 詹淳凱 R92725027 黃俊誌

Project Timeline Brainstorming 11/2 ~ 11/8 System prototype design 11/9 ~

11/15 Proposal 11/17 Fine-tune system and modularize the

components 11/18 ~ 1129 Implementation 11/30 ~ 12/27 Integration & Testing 12/28 ~ 1/15 Demo 1/15 ~ 1/20

Technological Infrastructure

Description & diagram – including network, db, servers & clients

Rationale/justification

Description & Diagram

Login Server

Game Server

Client

Description & Diagram(Cont’d)

Phase 1 Each host connects to the Login

Server Join a group Wait for enough members to create

game No dynamic join when a game is created

Description & Diagram(Cont’d)

Phase 2 Elect a Game Server within the group Game Server

Wait for all other member set up connection

Start game Client

Connect to Game Server Wait for start game

System Flow Chart登入

Request

傳送目前的資訊

選擇群組加入

Response

Request

將 Client 加入群組

群組中人數足夠

False

聯絡其他 Clients開始選 Leader

通知群組內所有 Clients

True

Notify

Client Login Server

Statues

Game Server:

Client:

Roundstart

Wait for connection

Roundend

QuitGame

Connect toGame Server

Roundstart

Roundend

QuitGame

All connection setupSend “start”

Receive “start”

Decide to quitSend “S_quit”

Decide to quitSend “C_quit”

LeaderElection

receive “S_quit”

Game Flow Chart(ghost part)

start chase

catch or be caught?

disappear for 10 seconds be caught

catch

yes no end & win

all points are eaten?

yes

end & lose

no any pacman remains?

Game Flow Chart(Pacman part)

start eat

be caught?

In prison

be caught

yes no end & lose

all points are eaten?

yes

end & win

no any pacman remains?

powerpoweredyes

no

rescueyes

no

Rationale/justification

Fault Tolerance - Client disconnect

(1) Game server checks every 10 second to see if there is any unusual disconnect

(2) Waits for 5 seconds and kicks out the disconnected host

Rationale/justification

- Game Server disconnect(1)Wait for reply for 5 sec(2)Ring-based algorithm for

leader election

Rationale/justification

Scalability- All participants are separated into groups with one group leader (game server), so computation is decentralized

Implementation Phase

System requirement Implementation Installation Testing

System requirement

Environments- j2sdk1.4.2- Database => mySQL ( Login Server only)

Language- Java

Implementation Language – Java Some important APIs

- RMI- Swing- Net- IO

Application layer & Communication layer

Installation

Java jar file- java –jar pacman.jar

Testing

Fairness Fault tolerance Scalability

Job Distribution

Game Design – 詹淳凱 Application layer - 詹淳凱 , 施嘉峻 Communication layer – 施嘉峻 , 黃俊

Recommended