Skip to content

A clone of the popular "Settlers of Catan", written in Typescript.

License

Notifications You must be signed in to change notification settings

Islanders-Game/Islanders

Repository files navigation

header


Islanders is an online real-time implementation of the magnificent "The Settlers of Catan" designed by Klaus Teuber.


Play

Run the following on a system that has Docker installed:

docker build -t islanders/islanders-shared ./islanders-shared
docker build -t islanders/islanders-client ./islanders-client
docker build -t islanders/islanders-server ./islanders-server
docker-compose up -d

If you have a running traefik service you can access the app at islanders.localhost. Otherwise, run docker inspect islanders-client | grep IPAddress to find the ip address of the app.

screenshot-1

screenshot-2

Implementation

codebeat badge Maintainability PRs Welcome

The server, shared libraries and client are all written in TypeScript and transpiled to JavaScript. The server runs in node, and the client is built using Vue.

All modification on the game world are expressed in a monadic form, and will return a new game world when applied on the current world. This gives us free "versioning" of the game world, gives us easy undo functionality and makes the real-time aspects of the game easier to work with and implement.

Feel free to take a look at the code and throw a PR if you are missing any features/rules (there's plenty of expansions to the game that we haven't implemented - yet)!

About

A clone of the popular "Settlers of Catan", written in Typescript.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published