So i have implemented an intelligent chess agent using reinforcement learning. For the training part of the agent, i want to play as many games as possible.

I am aware of three options:

  • Self playing, where the agent plays against itself and in the process learns the game of chess.
  • Play against human,where the agent plays against a human player and learns.
  • Play against other agents,where the agent plays against other intelligent agents and learns the game.

I want to try out the third of these options and have my agent play against other agents.

One good way to do this is loading my agent into the Arena chess engine. My problem is that Arena requires the agent to support UCI, and my agent doesn't.

Are there any alternatives that i can use except Arena?

  • 1
    Presumably any similar alternative to Arena will be built to work with some other specific protocol besides UCI (e.g. Winboard protocol) that your agent will need to comply with. I guess what I'm saying is, I think you'll need to make you agent comply with some protocol in order to use Arena or something similar. Do you have a reason not to implement UCI?
    – ETD
    Feb 24, 2016 at 0:02
  • No particular reason, i just wanted to know if what i have already built would be enough.Thanks for your answer. Feb 26, 2016 at 21:38
  • Arena is a chess GUI, not a chess engine. Hopefully this reduces confusion.
    – qwr
    May 2 at 21:06

1 Answer 1


We usually say "engine" rather than "agent". Agent is a term used in academic papers.

I've used cutechess to train my models. It offers more than Arena and it's faster to run, but it's command line only.

You'll need to implement UCI or Winboard protocol to make it happen. It's really not that hard. Your engine will be given a position or moves to start thinking. You'll do your search then return a move. Very simple. Please google "UCI specification" for details.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.