Sunday, 22 April 2007

First release

I finally have the first release of Vicki available. It is less than a skeleton of a chess engine and I am rather reluctant to release it, but decided to do so anyway. From the few games I've played against Vicki, I estimate an ELO of around 900, if that much.

I have removed the move ordering as it is not contributing to the engine (slow implementation) and will re-engineer this at a later stage.

Vicki also has a permanent home now, where I'll add the downloads and progress. Let me know what you think. Oh, yes, Vicki's home is


Jonatan Pettersson said...


I played a few games and noticed two things.

1. Just starting Vicki makes it eat up all the system resources, usually it's only supposed to do that while searching a position. :) Perhaps something with your input loop?

It's hard to try it against other engines since it steals the processor time.

2. A minor thing but the winboard protocol states you should give the evaluation number from the engine's point of view. So if it is ahead a rook while playing black the score should be +5.0 (and not -5.0).

I did this mistake in one of my versions of Mediocre and it messes up the automatic adjudication in interfaces like Arena since the adjudication is based on the engine's evaluation (if the engine gives -9.0 while ahead a queen as black the interface will assume it is actually behind and adjudicate the game in favor of white).

Sparky said...

Hi Jonatan. Thank you so much for your interest.

1) The reason for the system resource chow frenzy is that Vicki uses threaded I/O. For input the system went into an "active wait" loop, which caused the problem. I tried adding a sleep time of half a second and presto - problem solved.

2) Easy to solve. Thank you for pointing it out.

Anonymous said...

Isn't half a second too much? Just Sleep(1) should be more than enough...

Sparky said...

Yes, it is too much :) Changed it to 10 which also dropped the overall CPU usage to 1% (0% to Vicki when waiting). Thanks for the suggestion. Every milliseconds helps!