Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: These days anybody can write a chess program.Johan de Koning [interview]

Author: Adam Oellermann

Date: 04:06:21 08/30/01

Go up one level in this thread


On August 29, 2001 at 13:12:37, Roy Eassa wrote:

>On August 29, 2001 at 08:06:26, Adam Oellermann wrote:
>
>>He's right, too. Some of my colleagues are interested in my chess program, but
>>when I suggested they write their own, they said it was beyond them. To prove a
>>point, I hacked together some ugly VB which plays chess. It doesn't play at all
>>well, but was put together in an evening while watching TV without any reference
>>to any other source code. Given the accessibility of VB, I guess this means that
>>literally nearly anybody can write a chess program. There is a relatively strong
>>chess engine implemented in VB (LarsenVB), and even a Perl chess engine (not
>>very strong, but that's not the point). This stuff is becoming more and more
>>accessible, and I think it's great.
>>
>>On the other hand, writing a *strong* chess program seems a little trickier.
>>
>
>
>I must say, I'm an experienced programmer and chess enthusiast who has never
>attempted to write a chess program for fear of the massive time/focus involved.
>To hear that you wrote one in VB that plays legal chess, IN ONE EVENING, blows
>my mind.  What was the user interface?  Did it understand en passant captures
>and all the legalities of castling?  Did it do alpha-beta pruning?  Had you
>written so many chess programs previously that doing it again was "old hat"?

I have written one chess program (in C), Blikskottel, which is still in
development. I have also written a fairly strong checkers-playing program in
Delphi. The VB thing I did in one evening is very primitive - the user interface
is just text-based, and it's very finicky about move formatting. It does
understand EP, castling and underpromotions, although I haven't done lots of
testing. The move generator is *absurdly* inefficient. The eval is just
material; search is alpha-beta without quiescence, although that wouldn't take
more than a few minutes.

In short, it's a truly horrible implementation, but it can be done in an
evening. Laying the foundation for a "proper" chess engine (ie. one that you
intend to play well at some point) is a much larger task. Blikskottel was over a
week in development (spare time) before it played it's first game, but it was
pretty easy to systematically increase the strength from there. This piece of VB
is throwaway stuff that has no future other than to convince some people I know
that chess programming is actually within their grasp.

-Adam

PS: Don't try and write bitboard code (or probably any serious chess code) while
watching TV. For weeks afterward, I was digging out the most bewildering bugs in
Blikskottel's move generator.



This page took 0 seconds to execute

Last modified: Thu, 15 Apr 21 08:11:13 -0700

Current Computer Chess Club Forums at Talkchess. This site by Sean Mintz.