A program to play Gomoku, Havannah, Hex, Rex, Y and Pentago.
MIT License
Morat is a game playing framework, along with implementations of several games. It includes some general purpose libraries (alarm, time, thread, random), and some game specific libraries (compacting tree, gtp, time controls).
It specializes in 2-player, perfect information, zero sum, deterministic games, especially placement games (where RAVE works).
So far it supports 6 games:
Potential games:
Potential variants:
So far it supports 3 algorithms:
Potential algorithms:
The goal is to make the algorithms game independent, and make it easier to implement new games with strong players. There is quite a bit of work left to make this a reality, so the current work is just to make the game code more similar and then move the code into common libraries.
The primary interface is GTP (Go Text Protocol), which can be used from:
make
to compile the code./morat-gomoku
for Gomoku./morat-havannah
for Havannah./morat-hex
for Hex./morat-rex
for Reverse Hex./morat-y
for Y./morat-pentago
for pentagoRun make test
to run the test suite. Current test coverage is pretty bad.
If you make any changes to the code and want to update the dependencies, just make clean
, or rm .Makefile
.
This projected is licensed under the terms of the MIT license.