Author: Brian McKinley
Date: 18:54:11 02/20/98
Go up one level in this thread
On February 20, 1998 at 15:45:11, Greg Manning wrote: >What are the methods commonly used for factoring a chess-playing >engine from the rest of a chess program (e.g. user interface)? > >As far as I can tell: > - GNUchess command line used by xboard (yuck) > - appleevents used by ExaChess (mac only) > - CEngine class used by The Crazy Bishop (GNU license) > - Minimax command line used by chess232 (I can't read German) > - telnet to an ICS > >I'm not thrilled by any of these and I'm wondering what others exist. >Generally, I like the C++ class idea best but prefer to avoid GNU >for this. Is it a dumb idea to design a new one from scratch? > >Sorry if this is a FAQ. > >thanks, > >Greg I don't know of any others, but I though you might find my recent experience with the same issue helpful in making a decision. I am writing my first chess program and I didn't want to spend any time writing a user interface. Because my main goal was to create a program that would play on ICS I chose the 'telnet to ICS' approach. This allows me to use any user interface that will connect to ICS. I have separated the engine from the details of input and front end as much as possible. There is a game object who's constructor takes a socket connection. Moves from the program are sent out on this connection. Moves are passed to the game through a public member function. Except for the format of the move, the game doesn't need to know anything else. You should be able to build (except the mac only) a bridge to any of the interfaces you mentioned on top of this simple framework. Eventually I will get around to making the Game Class into a COM object, but I thought I would be better to make it play decent chess first. I will send you the game object frame work and the code to connect to ICS if you like. I am using command formats that are specific to ICS so you will need to make some changes if you want to connect to FICS. The code is Microsoft specific. It relies on the multi-threading functions for Windows NT and Windows 95. I am not using MFC, but even so I don't know how easy it would be to port to another platform. brianm@motek.com
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.