LaMoSca

LaMoSca

LAboratorio di MOtori per SCAcchi (a laboratory of chess engines)

"God in His wisdom made the fly
And then forgot to tell us why"

Ogden Nash

LaMoSca ("LAboratorio di MOtori per SCAcchi", a laboratory of chess engines) is a simple program for playing chess on a computer, whose aim is to show the main components of programs of this kind.

The software is a "game engine": it develops only the algorithmic part of the game and relies, for the user interface, on what has by now become a standard, that is WinBoard.

The structure of LaMoSca follows the design of TSCP, one of the most popular freeware programs. Other programs worth studying are MSCP, Faile, Beowulf and Phalanx, among the simplest, or Crafty by Robert Hyatt and GNU Chess, among the most complex. For a longer list, visit the pages of Frank Quisinsky or Leo Dijksman.

By publishing the source code I would like to satisfy the curiosity of anyone who wants to see how a computer chess program can be built, and to make it easier to start more complex projects.

Instead of the list of algorithms of a complete program, a series of incremental versions of the software is presented. In this way you can appreciate the progress in the computer's play obtained by adding the various features step by step, both by running it and through the usual logging and debugging tools.

The programming language used is "C".

Versione italiana

Contents

Links

Learning about chess

Writing chess programs

Playing

Some Italian programs

Contacts

Comments and suggestions are welcome, either by e-mail or through the g_6 mailing list.

Download

LaMoSca.zip (19.9 k)

LaMoSca

Acknowledgements

My thanks go to the people of the Gruppo Scacchi E Informatica (the Italian chess and computing group), who helped me understand the architecture of an engine, the algorithms it uses and the best way to develop the program.


Valid HTML 4.01! Valid CSS!