I equiped WinBoard with an option -autoPlay. This automatically generates an event like the user clicked 'Machine Black' when it receives a white move from the engine, and vice versa, in 'human-engine' mode. The effect is of course that it is no longer human-engine mode at all, but that the same engine process now plays for both sides. This way it is equivalent to jumpstarting the engine with an automatic ponder hit. I also can give the engine a larger hash table than when I needed tow copies of the process.
I often play identical engines against each other, to evaluate a starting position. Currently I am doing such self-play at very long TC for generating an opening book. This trick saves a lot of time.
Code: Select all
if(appData.autoPlay) {
if(gameMode == MachinePlaysWhite) MachineBlackEvent(); else
if(gameMode == MachinePlaysBlack) MachineWhiteEvent();
}
