Skip to content

Design Document

Yiou Chen edited this page Jan 4, 2019 · 2 revisions

This document is outdated

Terminology

Game Board

Game board is a rectangular n x m board where the game takes place

Tile

tile is the base unit of a game board.

Road

Road is a tile that player can travel upon

Property

Property is a tile that a player can purchase

Space

Space is a tile that has no effect to the game play, they exists only for decoration

Neighborhood

Neighborhood is a series of connected property tiles. If some consecutive properties in the series are own by same player, their rents are added up.

Price

Price is the purchasing price of property

Rent

Rent is the price that a player needs to pay when he/she/it lands on a tile that is affected by some else’s property. Upgrading a property (if we support it) or having consecutive properties own by the same owner will increase the rent.

Base rent

Base rent is the original price for a property when is is at its own or at base level

Cash

Cash is the money that a player can use to pay the rent or purchase a property

Rules

Each game can hold up to n (n < 10) players, in each game, player take turn to perform a series of actions. At each turn, a play can do the following actions, and must perform them in order:

  1. If capable, roll a dice and travel the number of road tiles specified by the dice number
  2. If land on/next to a property owned by other player, must pay the rent
  3. If land on/next to a vacant property, player can choose to purchase the property if he/she has enough cash

Game ends when one player runs out of case (default configuration)

If a player disconnects during a game, he/she has 10 seconds to disconnect, longer than that will remove the player from the game

If a player leave during the game due to disconnection or quiting, all the properties that he/she/it owns becomes unowned.

Game room rules

In side a game room, the following rules are executed:

Game can only be started when all the controllers except host are ready and host starts the game

If host drop connection before the game, there are 3 seconds for it to reconnect, longer than that will remove the host from the room

If a host leave a room due to disconnection or quiting, the earliest joiner in the room becomes the new host

If all the controllers are idle for more than x minutes, game room automatically closes. When all the controllers left the room, game room closes

User Interface

Display

display show the current game board and players’ locations.

Controller

Before game start a controller should provide the following functionalities:

  • In player’s turn roll a dice
  • In player’s turn choose to purchase the property that player lands on
  • Display the current cash
  • Join a room using code when not in a room
  • Create a room when not in a room
  • Leave a room
  • Mark the player as ready in a room
  • chat

Host has extra functions besides all of controller’s

  • Kick a client out of the room
  • Start the game when all the clients are ready
  • During the game all the controllers should provide the following functions

Clone this wiki locally