Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

colonizers-core

Package Overview
Dependencies
Maintainers
1
Versions
7
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

colonizers-core

Core library used by Colonizers

  • 0.0.7
  • latest
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
3
increased by200%
Maintainers
1
Weekly downloads
 
Created
Source

colonizers-core

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.

Components

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.

ScenarioBuilder

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

Serialization

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.

FAQs

Package last updated on 05 Oct 2015

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc