Iomrascálaí is an AI for the game of Go/Weiqi/Baduk written in Rust
Rust HTML Ruby Shell Batchfile
Latest commit 3ee2a73 Dec 14, 2016 @ujh committed on GitHub Merge pull request #321 from ujh/remove-plays
Remove plays again
Failed to load latest commit information.
bin Check if done after each game Nov 30, 2016
misc Optimise the other two time control related variables Nov 25, 2016
.gitignore Ignore log files as well Oct 4, 2016
.projectile Emacs projectile config file Dec 27, 2014
.travis.yml Try getting kcov to upload code coverage to coveralls Jun 29, 2016
AUTHORS adding myself to authors and gitignoring the eclipse project stuff Mar 9, 2015 Correct number of games for 13x13 Jul 11, 2016
Cargo.lock Upgrade the dependencies Nov 25, 2016
Cargo.toml Remove large patterns Nov 15, 2016
LICENSE Initial commit Apr 17, 2014
appveyor.yml Add current commit SHA to the version number Jul 15, 2016 Add a code of conduct Dec 1, 2015
pronunciation.mp4 Pronunciation audio file Apr 22, 2014

Build Status Coverage Status

Huboard Gitter chat


Iomrascálaí (Gaelic for wrestler, see here for the pronunciation) is an AI for the game of Go/Weiqi/Baduk written in Rust.


If you just want to play a game against the engine you can download precompiled executables of the releases for Mac, Linux, and Windows. You will also need a graphical interface for playing games against the AI. We suggest downloading GoGui.


Iomrascálaí requires the latest unstable (also called nightly) Rust compiler as well as the latest Cargo. Both are generally installed when you download the installers from the Rust homepage.

Playing games

Once you've installed the nightly Rust compiler, Cargo, and GoGui you can use the following shell scripts to compile the program and play games. All these scripts play a game on a 9x9 board with a time limit of 5 minutes by default. You can also play games on 13x13 and 19x19 by passing 13 or 19 as an argument to the scripts.

  • bin/play will compile the program and start a game in GoGui. By default it will assign black to Iomrascálaí. The defaults can be changed easily by editing some constants in the script.
  • bin/play-gnugo will compile the program and start a game against GnuGo. It will assign black to GnuGo and the game can be observed in GoGui. Again, the defaults can be changed by editing the script.
  • bin/play-self will compile the program and start a game between two copies of Iomrascálaí. Just like with the other scripts the game can be observed in GoGui and the parameters can be adjusted by editing the script.

Program parameters

Many parameters of Iomrascálaí can be changed and those changes directly affect the program strength.

You set the parameters by supplying a TOML formatted configuration file when starting the program with either the -c or --config command line flag. A great way to get started is to capture the output of -d (or --dump) into a file and edit the variables. This is the default configuration and lists all possible variables with their default values. See the api documentation for details on what these variables do. Just use the search on top and enter the name of the configuration variable. It should take you to the page that lists the struct that defines it (e.g. PriorsConfig for a variable in the [priors] block in the config file).


See the issues or HuBoard for planned features and bugs. Join the chat for discussions and help.

Please note that this project is released with a Contributor Code of Conduct. By participating in this project you agree to abide by its terms.


Iomrascálaí is licensed under GPLv3. See the LICENSE file for the complete license text. The scripts in bin/ and misc/clop are licensed under the MIT license.