Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Is It Feasible to Build an Engine That Plays Chess AND Chess Variants?

Author: Paul Byrne

Date: 00:19:48 01/10/04

Go up one level in this thread


On January 09, 2004 at 16:39:28, Bob Durrett wrote:

>
>Recent bulletins here seem to indicate that there is some interest in variants
>of classical [40 in 2 and 15 per half] chess, including blitz, bullet, and
>correspondence chess.
>
>This begs the question: "Is it feasible to build a playing program which can
>play more than one game well, INCLUDING classical chess?
>
>One is reminded of Fischer's idea of rearranging the pieces in the starting
>position.
>
>Surely, software which can play chess belongs here at CCC even if it can play
>other games as well.
>
>Bob D.

My Guildenstern (G2K(C) on ICC) can play everything ICC offers -- losers,
atomic, crazyhouse, shatranj, kriegspiel, etc.  Strength varies from weak (in
kriegspiel) to strong (in losers).  In plain old chess, it is in the 2400-2500
blitz range on ICC.  Mostly because it's eval is barely as advanced as TSCP's.
It is just a matter of time and interest: Guildenstern tends to be better at the
variants that I personally find interesting, or that have presented an
interesting programming challenge.

Code-wise, the variants share quite a bit.  Here it is mostly a matter of how
obsessive you are about every 1% of nps, and every +1 rating increase.  The
code is C++, so there are a number of virtual functions.  Even things like the
evaluation can be merged somewhat.  I have a base eval that does piece values,
piece square tables, computes pawn structure, etc.  Then each variant calls on
that, and adds any variant-specific knowledge.

That said, I am sure for the more variant of variants, with different board
size and such, there will be less shared code.

-paul



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.