Javascript library and tools to provide user interface (2D, 3D, VR) and engine for playing board games
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.

README.md

Jocly is a library and set of tools to integrate boards games into Web environments. It comes with a large collection of abstract strategy games, 2D and 3D user interface, artificial intelligence to play against.

Demos

Controlled interface for playing Chess. Click Other Jocly games to switch to other games.

Simple human vs computer: Classic chess, Circular chess, Multi layers chess, Hexagonal chess, Chinese chess, Middle-age chess, Scrum

Or see and try all available games

JoclyBoard is a multi-platform desktop application based on Jocly and Electron.

Install

npm install jocly

Using Jocly in a Web page

Insert this line to your HTML source code:

<script src="node_modules/jocly/dist/browser/jocly.js"></script>

You are now ready to use the Jocly API through the Jocly global object.

Using Jocly in a node.js application

const Jocly = require("jocly");

You are now ready to use the Jocly API through the Jocly entry point.

Building

  • install the node.js environment (using nvm is probably a good idea)
  • install gulp: npm install -g gulp
  • install git
  • clone Jocly from github: git clone https://github.com/mi-g/jocly.git
  • enter the jocly directory
  • download required modules: npm install
  • build: gulp build
  • dist/browser contains the javascript library to build web applications, dist/node is the module to be used for node.js applications

Notes:

  • using gulp build watch instead of gulp build makes gulp start watching files after the build. Whenever a file is changed, a build is automatically generated
  • you can use --no-default-games to prevent including the game modules from directory, and --modules <colon-separated-directories> to specify additional game modules to include. For instance, gulp --no-default-games --modules src/games/chessbase:src/games/checkers build will only generate distribution for Chess and checkers games
  • you can specify the games to be built in the distribution with the --games option. For instance, gulp --no-default-games --modules src/games --games xiangqi:classic-chess build only generates Jocly for Classic Chess and XiangQi
  • using the no-obsolete option filters out the games marked as obsolete

API Documentation

Jocly offers two distinct APIs: