![]() |
5 years ago | |
---|---|---|
config | 5 years ago | |
lib | 5 years ago | |
test | 5 years ago | |
.gitignore | 5 years ago | |
README.md | 5 years ago | |
mix.exs | 5 years ago | |
mix.lock | 5 years ago |
WeiqiDMC stands for Weiqi Distributed Monte Carlo, just a fancy temporary name because naming it GoSomething would have made matters confusing, wouldn’t it?
As it stands, the project is just a pet-project made to test out the hypothesis that performance losses in Elixir (compared to C/C++, especially when it comes to memory management) can be offseted by the ease of writing distributed applications.
Supported GTP (Go Text Protocol) commands:
`[:version, :name, :protocol_version, :list_commands, :quit,
:known_command, :boardsize, :clear_board, :komi, :fixed_handicap,
:play, :genmove, :showboard, :set_game]`
Current engine is a Random Player. It has no other purpose than test out the rest of the framework.
Installation
For profiling, you’ll need to run mix deps.get
, there are no other dependencies ATM.
With GTP front-end
Many GTP front-end seem particularity finicky with the path to the binary, so I ended-up just writing a simple bash script (chmod +x) and use the path to that script:
#!/bin/bash
cd FULL_PATH/TO/PROJECT && MIX_ENV=prod FULL_PATH/TO/MIX/BINARY run -e "WeiqiDMC.start_gtp_server"`
I used Quarry to test it out. Don’t forget to run MIX_ENV=prod mix compile
first :)
The tests
Same as normal, just mix test
Please do!