Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: OO Design

Author: Russell Reagan

Date: 23:59:47 08/27/03

Go up one level in this thread


On August 27, 2003 at 18:55:03, Mathieu Pagé wrote:

> Is there some documentation about object oriented design of a chess engine ?

One of my many attempts at a chess engine went something like this...

Color class
Square class
Piece class
Bitboard class
Board class
Move class
Game class
Evaluator class
Search class

and many other small classes for things like castling rights, en passant square,
and so on. That is all of the main stuff (I think).

Unfortunately, the classes for small things (Color, Square, Piece, Bitboard,
maybe Move depending upon how you represented it) all slowed things down a
little. I did a little bit of testing, and each class that was just a simple
wrapper for a variable slowed things down. Overall the slowdown was about 40%.

I think. I've heard people say that you'll get about a 10% slowdown because of
the extra this pointer indirection, and I found this to be true. Of course, when
I have four things that have uneeded pointer indirection, that isn't 10% anymore
:)



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.