Yinsh with AI
Rules: https://www.gipf.com/yinsh/rules/rules.html
Github: https://github.com/temhelk/yinsh
In order to remove a row of 5 - drag from the first node in a row to the last.
The strength of AI for a given move time depends on the device it is running on, which is because more performant devices can execute more iteration of MCTS. In order to see how many iteration are being performed you can check console output in development tools of your browser. There's also some additional information about ai output available there.
The amount of memory required raises with the move time, but usually stays under 1GB most, if the AI needs more memory than set in a limit it will return the most promising move immediatly and stop further calculations (which means the move will be done faster than specified in the settings)
Implementation details of the AI:
The AI is written using Monte Carlo tree search (MCTS) with UCT.
Move generation is done using 128-bit bitboards to hopefully make it faster than other methods.
Not much other optimizations are done as for now, so there's a lot of room to improve.
On Ryzen 3700x I get about 11k iterations of MCTS per second in the beginning of the game.
Status | In development |
Platforms | HTML5 |
Author | Temhelk |
Genre | Strategy |
Made with | raylib |
Tags | 2D, Abstract, Board Game, Local multiplayer, Turn-based, yinsh |
Average session | A few minutes |
Inputs | Mouse, Touchscreen |
Multiplayer | Local multiplayer |
Player count | 1 - 2 |
Leave a comment
Log in with itch.io to leave a comment.