This repository hosts a monte carlo tree search solver for the tile placing part of the nova luna board game.
The development is still in progress.
The application consists of two parts:
nova-luna-solver
nova-luna-gui
The nova-luna-solver
is written in Rust and uses Monte Carlo Tree Search to find the best solution. It depends on mcts to accomplish this.
The nova-luna-gui
uses Angular to display the game board.
Prerequisite for the installation process:
- Rust toolchain installed
- Angular cli installed
Download the sources
git clone [email protected]:a-nickol/nova-luna-tile-solver.git
cd nova-luna-tile-solver
Build the rust backend
cd nova-luna-solver
cargo check
cd ..
Build the angular frontend
cd nova-luna-gui
npm install
ng build
cd ..
To be defined.
cd nova-luna-solver
cargo run --bin nova-luna-solver-cli -- --input resources/tiles.json --statistics --playouts 10000
cd ..
cd nova-luna-gui
ng serve
The unit-tests of this repository can be used to test the functionality of this library.
cargo test
pre-commit run --all-files
There are currently no know issues with this library.
Please you the issue tracker of the github repository if you have any problems using the library.
Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.
Please make sure to update tests as appropriate.
For more information see CONTRIBUTING.
This software library is released under version 2.0 of the Apache License.