Core library used by Colonizers
Last updated 5 years ago by sibartlett .
AGPL-3.0 · Repository · Bugs · Original npm · Tarball · package.json
$ cnpm install colonizers-core 
SYNC missed versions from official npm registry.


npm Build Status Dependency Status devDependency Status Code Climate

This is the core library for Colonizers, responsible for:

  • core game logic
  • data serialization formats

Colonizers is an event-driven implementation of the popular board game "Catan" (formerly "The Settlers of Catan") by Klaus Teuber.


Game Controller

The controller is responsible for determining if a player request is a valid. Upon determining if a move is valid, the controller will emit a series of game events. For instance, when a player requests to end their turn the following events are emitted: end turn, start next turn, roll dice and distribute resources.

Game Coordinator

The coordinator is responsible for mutating the game state based on events emitted by the controller.

Game Objects

These are the objects that hold the game's state, amongst some other functions. These objects include Game, Player, Board, HexTile, HexEdge, HexTile and some other objects. The controller will inspect the game objects when determining if a move is valid, and the coordinator will mutate these objects.

These objects include: Game, Player, Board, HexTile, HexEdge and HexCorner.

Game Serializer

The serializer is responsible for serializing and deserializing between game objects and the game serialization format.


The scenario builder takes a scenario definition and some options, and outputs an object in the game data format ready to start a game.


There is a data format for game state, with a JSON schema. The data format can represent a game at any point during it's lifecycle; ideal for game saves or transmitting state between server and client. The Game Serializer transforms between this data format and the game objects.

Currently, the data format and schema are still a work in progress.

Current Tags

  • 0.0.7                                ...           latest (5 years ago)

7 Versions

  • 0.0.7                                ...           5 years ago
  • 0.0.6                                ...           5 years ago
  • 0.0.5                                ...           5 years ago
  • 0.0.4                                ...           5 years ago
  • 0.0.3                                ...           5 years ago
  • 0.0.2                                ...           5 years ago
  • 0.0.1                                ...           6 years ago
Maintainers (1)
Today 1
This Week 1
This Month 1
Last Day 0
Last Week 0
Last Month 0
Dependencies (3)
Dev Dependencies (4)
Dependents (1)

Copyright 2014 - 2016 © |