An open API service indexing awesome lists of open source software.

https://github.com/mingstar/simuniversity

Variance of the board game Settlers of Catan, with a University/Campus theme
https://github.com/mingstar/simuniversity

ai board-game-settlers c-sharp catan dotnet expectimax game mono monte-carlo-tree-search settlers-of-catan

Last synced: 6 months ago
JSON representation

Variance of the board game Settlers of Catan, with a University/Campus theme

Awesome Lists containing this project

README

        

# SimUniversity

*C# implementation of the board game Settlers of Catan, with a University/Campus theme.*

Idea from the project in [UNSW CSE](https://www.engineering.unsw.edu.au/computer-science-engineering/) COMP1711 computing course in 2002, lecturer [Richard Buckland](http://www.cse.unsw.edu.au/~richardb/).

### Console UI
![Console UI](https://github.com/MingStar/SimUniversity/raw/master/images/ConsoleUI.png)

### Running the code on Linux/OS X
* Install [Mono](http://www.mono-project.com/)

Build:

```
$ xbuild SimUniversity.ConsoleUI/SimUniversity.ConsoleUI.csproj
```

Start the Console UI

```
$ mono SimUniversity.ConsoleUI/bin/Release/MingStar.SimUniversity.ConsoleUI.exe
```

Then press Enter to play a game.

### Difference from the original Settlers of Catan game:
* No player trading (yet)
* No robber
* No development cards, instead players can found startup companies with a 20% success rate
* No limitations on the number of campuses (settlements) and super campuses (cities)

### Difference from the original COMP1711 SimUniversity game
* Resource are Wood, Brick, Ore, Grain and Sheep (as student degrees are too hard to remember)
* Acquire students from the 2nd campus in the setup phase (same as Catan)
* When a startup company failed, no card stealing from other players (yet)

### Game Concept Translation Table


SimUniversityOriginal Catan


Hexagon (Suburb)Hex Terrian


EdgePath


VertexIntersection


Trading SiteTrading Post


Internet LinkRoad


Traditional CampusSettlement


Super CampusCity


Student/DegreeResource


Successful StartupDevelopment Card - Victory Point


Failed StartupDevelopment Card - Knight


Longest Internet LinkLongest Road


Most Failed StartupLargest Army

### New Features Coming
* .NET Game Engine
* support multiple games
* support multiple clients
* with a WCF/web service interface (to support game clients written in other languages)
* simple user management

* Game Engine admin/viewer (Front end)

* .NET Game Client (Console/Web UI)
* join a game
* play a multi-player game
* Display the game

### TODO:
* Added round results after the AI tournament in learning
* Write tests for the game play
* Have another AI to search all possible moves within the turn (particular useful in late game)
* Enable deep copy of game state (so AI won't be possible to break the actual game)
* Persist game state

### Tidy up:
* Remove game state hashing