A Go-Engine being built in Ruby.
There is a CLI with which you can play, it does a full UCT MCTS. Still work to do on making move generation and scoring faster. Also there is no AMAF/RAVE implementation yet (which would make it a lot stronger) and it also does not use any expert knowledge right now. So still a lot to do, but it works.
Right now the
benchmark/avg gem that I wrote for this are still embedded in here. They are bound to be broken out and released as separate gems to play with. If you want to use them now, just use rubykon and you can require
Why would you build a Go-Bot in Ruby?
Cause it's fun.
Go ahead and install from source. Then you have to specify the graal VM when you execute something like this:
JAVACMD=~/dev/graalvm-jdk1.8.0/bin/java ../jruby/bin/jruby -X+T -e 'puts Truffle.graal?'
If this (adjusted to your paths) prints
true then the setup is good so far.
Next up, install the jruby+truffle tool. Go into the jruby directory you checked out and make sure you use the same ruby version/gemset you want to use (this installs a gem). Then do:
With this installed you can then setup graal in your repository (i.e. rubykon), this install gems etc.:
This should now still print true:
jruby+truffle --graal-path ../graalvm-jdk1.8.0/bin/java run --graal -- -e 'p Truffle.graal?'
You can then use it like this to run benchmarks et. al.:
jruby+truffle --graal-path ../graalvm-jdk1.8.0/bin/java run --graal -J-Xmx1500m benchmark/mcts.rb
-J-Xmx1500m is important as truffle needs more heap space.
You can also run the specs via
jruby+truffle run -S rspec spec/