dis project proposal distributed-pacman. overview of project motivation and goals project...
TRANSCRIPT
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 – 施嘉峻 , 黃俊
誌