Messchess

This is a amateur chess engine in development.

 

Why name like this : Used to be Mess for "Mridul's Chess" as christened on a lazy afternoon by my friend Guru.

It got corrupted into messchess and now this name has stuck ... but it plays reasonably good chess :)

 

Currently messchess can run on Linux , Solaris and Windows. Though I must say that the *nix versions may need some brush up ...

 

You can find its currently rating at ICC here.

Why did I write it ? :


Messchess was writen by me to test my ideas on chess game tree search. Most of the research seems to have gone in very basic move ordering heurestics ,etc.

I decided to do something more challenging.
The main ideas that I wanted to try out in messchess are :

a) I wanted to test the effect on proper move ordering on a reasonably good chess engine.
How much hit does the engine take due to heavy move ordering code , etc.

b) Try out my ideas on selective extensions - Most programs seem to extend most of the useless checks , etc.

Mess tries to minimize most of these and the logic for this built into the move ordering code.

Mess does it by using the concept of "Good Moves" to handle this. The logic currently is quiet involved.

c) Wanted to see the effect of a heavy QSearch.
Mess does captures , promotions (queen and knight) , checks and threatening moves in QSearch.
Any move that is done in QSearch has to be a "Good Move".


d) A reasonably heavy evaluation - with pinned , hung piece detection , mobility , a bit more accurate king safety.


What is under the hood :

Hmm lets see :

1) PV aspiration search

2) Double Null move R=3

3) Extensive use of attack tables for evaluation and move ordering.
Mess uses selective extensions implemented - which requires a lot of logic.
This makes messchess a very slow engine : But just try a standard game to see the depths that it reaches on a good comp :-)

4) An extensive QSearch. I do "good" captures, "good" checks and "good" tactical moves in QSearch.

5) Very limited Check extensions - only "good" checks are extended - a very very reduced recap extension has been re-introduced.

6) A bit extensive evaluation (I think :-) ).

7) Normal transposition table , QSearch transposition table (separate from former) , evaluation cache , pawn evaluation cache.

8) Kicked out the earlier ascii book support - now support a two level binary book structure : Tournament book and Pgn book. Support book learning , transpositions , etc.

9) Right now only single proc version , working on SMP now .... dont know when it will be done !
10) Trying out Singular Extensions - hope it works well .... it does not seem to work too well for mess :(

And lots of other stuff that I cant mention here , sorry about that :-)

 

    I will be writing articles / notes on my implementation and general things that I gleaned before embarking on this project - later , when I get time. But until then for more chess programming info , please refer to the bookmarks section.

 

Some day , messchess binary may be made available for download - until then it remains a private engine.

 

Click here to go back.

Hosted by www.Geocities.ws

1