Computer Chess Club Archives


Search

Terms

Messages

Subject: S-chess 1.2

Author: Stan Arts

Date: 10:14:03 09/18/02


Hello!

I have finished my third version of S-chess, and it has many new features,
and it is a little bit stronger again.
I describe the new things in my new readme.txt, so I paste it in! :

--------------------------------------------------------------------

This is the README.TXT file with extra info about my chess-program.

S-chess is my own attempt at writing a computer-chessplaying program, And I am
a 21 year old hobbyist-programmer from holland. After doing some first computer-
chess experiments in february and onwards, I started on S-chess the 7th of May
2002. And since then I work on it almost every day and I think I have put a bit
too much time into it.. :-)
My program is freeware, and can be distributed freely, as long as all the files
are unmodified.

Version 1.2 is the third release of my program, the main improvements (over
version 1.1) are:

It's stronger, and I estimate it 100 to 200 ELO stronger than version 1.1 .
Implemented 16MB of Hashtables, that mainly improve move-ordening on great
depths to make alpha-beta slightly more efficient.
I now use and tweaked a different Alpha-beta technique, and it makes my program
nearly twice as efficient. (In some positions that's nearly an extra ply)
Especially under longer timecontrols the difference is huge.
Check-detections everywhere in the searchtree now (instead of just on the 1st
ply) so illegal positions in the searchtree are avoided, and mates are always
correctly scored that way.
Shows a PV (=principle variation/expected best line) but because of the new
alpha-beta technique it's sometimes difficult to determine. Also I retrieve this
PV from the hashtable instead of directly out of the searchtree which causes it
to be shorter than it could of been sometimes, (values in the hashtable get over
written a lot) and also some of the "best" moves might be noncense. But overal
it still gives a good impression of the expected best line, or any great
threats.
New chessknowledge that improves play. Centreplay is different now, and also it
now knows how to solve a king/king+queen or king/king+rook endgame.. And some
other small tweaks, overal it doesn't play so bad positionally, as it knows a
lot of things about pawnstructure and general piece-play etc.
I implemented a small randomfactor.

New features under winboard:
Edit position! So it is now possible to set up a position and continue play
from this position. Best way to do this is to skip edit-game mode, as this
sometimes confuses my program. So it would be best to create the position, then
set my program (whichever colour you want it to be) on move, and then click
directly "machine white" or "machine black" so edit-game mode is skipped.
Edit-game mode is implemented too though, and generally won't give problems.
Retract move command is now implemented, and will make my program take back
2 halfmoves, so the move my program played after your move and your move get
retracted with you set on move again. (It's possible to keep taking back as
far as you want) Please always use the retract move command directly in play
mode instead of going into edit-game mode and using the undo command to take
back moves with S-chess.


Some general features of my program are:

I estimate my programs strength to atleast 1600-1700 ELO (on an average
computer) against human players under tournament controls, (should be more in
quick games) but I am not sure about these figures though, I don't have much
testing against human players and I am the human most testing has been done
against..:-)
Knows all rules of chess, including en-passant, underpromotions, and all
special moves, also it knows draws by 3x repetition, stalemate and by the 50
move rule.
Technicaly it does a minimaxing search, and has alpha-beta pruning to make
this efficient. Null-move isn't used yet, and I think this will be the last
version without this technique :-)
My program relies mostly on it's full-width searching, and doesn't do too
much extending, (So it might miss some very deep combinations, but will find
shallower quiet combinations more quickly.) but it does however extend a lot
of capture-lines deeper than the full-width depth.
My program is also a good problem solver, because I am still not using null-
move pruning or any other agressive pruning that might make a program
sometimes miss a tactical line, and therefore my programs search is very
accurate, and it will always find a (tactical) combination upto the depth
that's seen on screen, and it might even find a deeper one than the full-width
depth. By the way, the maximum full-width depth for my program is 30 ply, but
I doubt it'll ever reach that..
There is a very small opening-book implemented in my program, it has just
about 50 moves.. :-) But this way my program knows most common openings and
it will randomize it's openingplay a bit.
S-chess is written in Pascal, and compiled with the 32-bit Free Pascal for
win32 aplications. S-chess requires an MMX processor to run. If you encounter
a problem with this though, just email me and I send you a version that'll
run on any processor. Same goes when you encounter a problem with the 16MB
hashtables, I will send you one with them switched off or made smaller.

There is also a stand alone version that has a fully 3D chessboard and pieces
and chessclock and room and and..well everything is 3D and you can move/fly
around in it freely, and it gives a very neat experience for a chessprogram. I
wanted to "include" this version with the winboard-version, but I wasn´t
able to complete the 3D version along with the new winboard version. :-(
So I am currently still developing this version, but it's already possible to
play against a beta version, (with the chesscode of S-chess version 1.1, will
have the 1.2 code soon) and email me if you would like to receave it!
(The 3D code I already developed years ago for some other experimenting and
games and mainly for my flight simulator I wrote back in 1997, and now I
thought it would be a good idea to use this code for my chessprogram.. )
Please take a look at the screenshots!!

Enjoy!
--------------------------------------------------------------------

Stan



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.