Engine Interface

Discussion of chess software programming and technical issues.

Moderators: hgm, Rebel, chrisw

FlavusSnow
Posts: 89
Joined: Thu Apr 01, 2010 5:28 am
Location: Omaha, NE

Engine Interface

Post by FlavusSnow »

I'm looking for some clean, well documented interface C code that can match two engines against eachother without graphics, using the UCI protocol. If it records games in .PGN, its a plus, but no other features are needed.

I have two goals:

1. To reinvent the wheel and write my own, simple, tournament manager
2. To write a middle-man application to enhance deep engine analysis when used with any UCI compatible engine.
LucenaTheLucid
Posts: 197
Joined: Mon Jul 13, 2009 2:16 am

Re: Engine Interface

Post by LucenaTheLucid »

This is a simple utility to run many fast games with 2 UCI chess engines. It does not display the games its just a GUI to set up the tournaments. It also records them in PGN format.

http://www.kimiensoftware.com/littletho ... litzer.php
User avatar
Onno Garms
Posts: 224
Joined: Mon Mar 12, 2007 7:31 pm
Location: Bonn, Germany

Re: Engine Interface

Post by Onno Garms »

I have written a command line tournament framework for my testing years ago, but I did not release it. I think I can do some code cleanup and release it next weekend if you are interested. As a public release was not planed, there are some hacks in the code, but the program might still be useful.

Features:
- supports Winboard and UCI engines
- reads list of engines from a file
- reads list of openings from a file (not PGN for simplicity of implementation, format is "e2e4 e7e5 g1f3", one opening per line
- plays the first engine against all other engines with all openings and both colors
- fixed nodes per move, so results independent of system load (which is not the case at fixed time; don't ask my why)
- individual node values for each engine
- writes results in a CSV file, one result per line
- writes games in a file, one game per line in the same format like the openings
- when restarted after an interrupt, reads above files to start with the game that was interrupted
- checks moves for legality, is based on Fruit for this feature
JVMerlino
Posts: 1357
Joined: Wed Mar 08, 2006 10:15 pm
Location: San Francisco, California

Re: Engine Interface

Post by JVMerlino »

Onno Garms wrote:I have written a command line tournament framework for my testing years ago, but I did not release it. I think I can do some code cleanup and release it next weekend if you are interested. As a public release was not planed, there are some hacks in the code, but the program might still be useful.

Features:
- supports Winboard and UCI engines
- reads list of engines from a file
- reads list of openings from a file (not PGN for simplicity of implementation, format is "e2e4 e7e5 g1f3", one opening per line
- plays the first engine against all other engines with all openings and both colors
- fixed nodes per move, so results independent of system load (which is not the case at fixed time; don't ask my why)
- individual node values for each engine
- writes results in a CSV file, one result per line
- writes games in a file, one game per line in the same format like the openings
- when restarted after an interrupt, reads above files to start with the game that was interrupted
- checks moves for legality, is based on Fruit for this feature
This all sounds fantastic and I'd love to get a chance to try it. What time controls does it support?

jm
User avatar
Onno Garms
Posts: 224
Joined: Mon Mar 12, 2007 7:31 pm
Location: Bonn, Germany

Re: Engine Interface

Post by Onno Garms »

JVMerlino wrote:What time controls does it support?
None. It only supports fixed node number. But as I will release the source, you can add whatever you want.
JVMerlino
Posts: 1357
Joined: Wed Mar 08, 2006 10:15 pm
Location: San Francisco, California

Re: Engine Interface

Post by JVMerlino »

Onno Garms wrote:
JVMerlino wrote:What time controls does it support?
None. It only supports fixed node number. But as I will release the source, you can add whatever you want.
Understood. Thanks very much!

jm
FlavusSnow
Posts: 89
Joined: Thu Apr 01, 2010 5:28 am
Location: Omaha, NE

Re: Engine Interface

Post by FlavusSnow »

Sounds great. I would be very interested.

As for LittleBlitzer, I run Linux, so it is not ideal for me. Also, my second goal of making an analysis assistant would not be furthered.
jacobbl
Posts: 80
Joined: Wed Feb 17, 2010 3:57 pm

Re: Engine Interface

Post by jacobbl »

LittleBlitzer is exactly the kind of tool I'm looking for, except that it doesn't support winboard engines. Do you have any plan for implementing winboard support, or does anyone know of an alternative which supports winboard?

Regards
Jacob
tano-urayoan
Posts: 638
Joined: Thu Aug 30, 2007 8:23 pm
Location: San Juan, Puerto Rico

Re: Engine Interface

Post by tano-urayoan »

User avatar
Onno Garms
Posts: 224
Joined: Mon Mar 12, 2007 7:31 pm
Location: Bonn, Germany

Re: Engine Interface

Post by Onno Garms »