Terra Help and Information

bullet1 About Terra

bullet2 History of Terra and related things

bullet3 The short story

Terra development started in Win3.1 for a month or so. In the beginning it's name was Nimzo but that name was later on "stolen" :) by a commercial program. The first version had it's own graphical interface and It wasn't WinBoard compatible.

1997 Feb 02
Transferred from win3.1 to win95            
Most function needed to play a descent game ready.
Many useful menu choices not implemented, like 'Hint', 'Store pos.' etc.       
Knows most of the rules but many of the old options are out commented       
1997 Feb 10
Fixed that RootNode sometimes chooses the  wrong move with eval=-32000.                                                   
Introduced __int64 in the Bitboard code and changed all the bit manipulation functions.   
1997 Feb 12
Implemented Nimwin.ini with some of the variables. More will come...

... and so on. Then follows an endless list of corrected bugs, new bugs, corrected bugs, some of the old bugs again, some new functions, new bugs...                                   

What happened in short:

Promotions of all pieces, draw by the 50-move rule, end game logic, Book, Learning and lot of other things were gradually introduced.
1997 Mars 20
Nimzo is made WinBoard compatible
1998 Aug 12
Nimzo changes name to Terra
1998 June 05
Rotated bitboard implemented. Big performance increase.
2000 June 27
The graphical interface is finally dropped. No more of that stuff.
2000 Sept 42
The 1.50 Version that played in my first tournament ever. ICCT2
2001 Oct  31
I finally decides to give away the program and let others have some fun!
2002 Feb 4
End game tables installed and seems to work well in version 2.7
2002 Oct 16
Uci support released in version 2.9

bullet3 The long story with all the excuses

Well, maybe I will eventually write something here...

bullet3 Technical about the engine

The Chess engine is a "standard" state-of-the-art type. Some characteristics:

  • Fully bitboard engine. Bitboards used both in generation of moves and in the evaluation.
  • The search algorithm used is PVS (Principal Variation Search)
  • Killers used. 2 at each ply level.
  • History Heuristics is used in the move generation
  • Quiescence restricted by SEE (Static Exchange Evaluation)
  • Nullmoves with dynamic depth reduction.
  • Book learning and post book (after book variants) learning
  • Uses the Nalimov End game table bases
  • Things are continously included and removed so take the above with a grain of salt.

Please give your comments in WinBoard Forum or email me. This document was updated 2004-08-02.