Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
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 – 施嘉峻, 黃俊誌