Presentation is loading. Please wait.

Presentation is loading. Please wait.

Settlers of Alpha Centari

Similar presentations


Presentation on theme: "Settlers of Alpha Centari"— Presentation transcript:

1 Settlers of Alpha Centari
Peter Smith Software Architecture – Spring 2011

2 Project Goals Clone of popular board game Settlers of Catan
Ability to host extendible AI players Enhanced network reliability

3 Approach Developed a P2P event driven Java application based on MVC pattern Utilized some existing libraries: JGraphT, JDOM, and Jython Default AI Player written in Python

4 Basic Game Architecture

5 Game Board Data Structure
Game Board is composed of tiles with 6 vertices each, yields a very natural Graph Structure Each tile is assigned a number Settlements are built on vertices Roads are built on edges JGraphT provides container classes for this graph as well as common graph algorithms like breadth first and dijsktra’s shortest path 6 8 4

6 P2P Architecture Player #1 Player #3 Event driven
Represent TCP\IP Connection Player #1 Player #3 Event driven Each peer is connected to every other peer Player #2

7 P2P Arch. Adding a new player
1) New Player connects to any of the existing nodes by knowing an existing node’s IP Address Player #2 New Player Join Request 2) New Player retrieves list of other players from the node it initially connected to and forms connections with the rest of the nodes in the network . It also receives initial game state from the node it initially connected to.

8 P2P Arch. Playing the game
Player #1 Placed Settlement at Vtx #5 – Player #1 Player #3 All actions in game are published to other players via events. Events are broadcasted (sent to every other player). There are around 19 total different game events Placed Settlement at Vtx #5 – Player #1 Player #2

9 Problems encountered Existing bugs in implementation of network voting system to handle timed out\dropped players Not enough time to properly design AI strategies to play game

10 Future Work Enhance network robustness – allow for partially connected network topologies with routing of events between peers Allow for player rejoin on hangup\time out Explore AI Strategies to play this strategy game Allow for user defined game engine rules for injectable logic and user game customization (i.e. a game board editor)

11 Demo Any questions???


Download ppt "Settlers of Alpha Centari"

Similar presentations


Ads by Google