Variance of the board game Settlers of Catan, with a University/Campus theme
C# Gherkin
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
MingStar.Utilities
SimUniversity.AI
SimUniversity.Board
SimUniversity.ConsoleUI
SimUniversity.Contract
SimUniversity.DAL
SimUniversity.Game
SimUniversity.GameEngine.Contract
SimUniversity.GameEngine
SimUniversity.Tests
images
lib
.gitignore
Readme.md
SimUniversity.sln
SimUniversity.sln.DotSettings

Readme.md

SimUniversity

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

Idea from the project in COMP1711 UNSW CSE computing course in 2002, lecturer Richard Buckland.

Console UI

Console UI

Running the code on Linux/OS X

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