DIS Project Proposal

Download Report

Transcript DIS Project Proposal

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
Game Server
Login 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
Client
Login Server
登入
Request
傳送目前的資訊
Response
選擇群組加入
Request
將Client加入群組
群組中人數足夠
True
False
通知群組內所有Clients
Notify
聯絡其他Clients
開始選Leader
Statues
Game Server:
Wait for
connection All connection setup
Round
start
Send “start”
Round
Quit
end Decide to quit Game
Send “S_quit”
Client:
Connect to
Game Server Receive “start”
Round
start
Round
Quit
end Decide to quit Game
receive “S_quit”
Leader
Election
Send “C_quit”
Game Flow Chart(ghost part)
disappear for
10 seconds
be caught
catch or
be caught?
end & lose
start
chase
all points yes
are eaten?
catch
yes
any pacman
remains?
no
no end & win
Game Flow Chart(Pacman part)
no
yes power
powered
be caught?
end & win
start
eat
all points yes
are eaten?
be caught
yes
rescue
no
In prison
yes
any pacman
remains?
no
no end & lose
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 – 施嘉峻, 黃俊誌