• Home
  • History
  • Annotate
  • only in this directory
NameDateSize

..21-Mar-201416

aclocal.m4H A D11-Jan-201330.1 KiB

attacks.cH A D11-Jan-201313.4 KiB

AUTHORSH A D11-Jan-2013125

blob2.cH A D11-Jan-2013510

book.cH A D11-Jan-20136.4 KiB

books/H21-Mar-201415

BUGSH A D11-Jan-2013467

ChangeLogH A D11-Jan-20139.5 KiB

config.hH A D24-Oct-20142.4 KiB

configureH A D11-Jan-2013149.7 KiB

configure.inH A D11-Jan-2013658

crazy.cH A D11-Jan-20137 KiB

depcompH A D11-Jan-201311.8 KiB

draw.cH A D11-Jan-20133.4 KiB

ecache.cH A D11-Jan-20132.1 KiB

English.lproj/H21-Mar-20143

epd.cH A D11-Jan-20137.8 KiB

eval.cH A D11-Jan-201320.7 KiB

extvars.hH A D24-Oct-20144.4 KiB

INSTALLH A D11-Jan-20132.4 KiB

install-shH A D11-Jan-20134.7 KiB

learn.cH A D11-Jan-20133.3 KiB

leval.cH A D11-Jan-20139.5 KiB

Makefile.amH A D11-Jan-2013580

Makefile.inH A D11-Jan-201314.9 KiB

missingH A D11-Jan-20136.1 KiB

mkinstalldirsH A D11-Jan-2013649

moves.cH A D11-Jan-201351.3 KiB

neval.cH A D11-Jan-201341.3 KiB

newbook.cH A D11-Jan-201314.3 KiB

NEWSH A D11-Jan-20136.2 KiB

partner.cH A D11-Jan-201320.8 KiB

proof.cH A D11-Jan-201328.9 KiB

protos.hH A D24-Oct-20145 KiB

rcfile.cH A D11-Jan-20134.9 KiB

READMEH A D11-Jan-20139.7 KiB

search.cH A D11-Jan-201344.9 KiB

see.cH A D11-Jan-20137.3 KiB

segtb.cH A D11-Jan-201320.6 KiB

seval.cH A D11-Jan-201311.8 KiB

sjeng.cH A D11-Jan-201325.7 KiB

sjeng.ChessEngine.orderH A D11-Jan-2013747

sjeng.hH A D24-Oct-20143.3 KiB

sjeng.rcH A D11-Jan-20134 KiB

squares.hH A D24-Oct-20141.8 KiB

stamp-hH A D11-Jan-201310

stamp-h.inH A D11-Jan-201310

tests/H21-Mar-201410

THANKSH A D11-Jan-2013417

TODOH A D11-Jan-2013121

ttable.cH A D11-Jan-20138.2 KiB

utils.cH A D11-Jan-201329.1 KiB

README

1What is Sjeng ?
2---------------
3
4Sjeng is a chessprogram that plays many variants. 
5
6In addition to that, it can also play normal chess
7quite well and is fully compatible with the standard 
8XBoard/WinBoard protocol (version 1 and 2). Sjeng
9also supports some broken WinBoard implementations,
10such as the one present in the ChessBase/Fritz WinBoard
11adapter.
12
13Technically, Sjeng is a highly advanced alpha-beta searcher, 
14using modern techniques like history and killer moves, 
15transposition tables, SEE move ordering and pruning, and 
16search enhancements like selective extensions, Aspiration 
17Principal Variation Search, Adaptive nullmove pruning, 
18Extended Futility Pruning and Limited Razoring. Sjeng can 
19use an opening book and learns from the games it plays. 
20
21In it's suicide and losers mode, Sjeng use proof-number 
22searches to quickly find forced wins. Sjeng plays at the 
23same level that the best humans are capable of.
24
25On 14th of October 2000, Sjeng won it's first title
26by becoming the World Computer Crazyhouse Chess Champion.
27
28On December 31th 2000, Sjeng became the first computer
29program to reach the #1 spot on the crazyhouse rating list
30on the Free Internet Chess Server. It had been #1 on the
31Internet Chess Club before.
32
33Early 2001 Sjeng became the #1 losers/giveaway player
34on the Internet Chess Club.
35
36
37What variants are supported ?
38-----------------------------
39
40Sjeng currently plays standard chess, crazyhouse, bughouse,
41suicide (aka giveaway or anti-chess) and losers. It can also
42play variants which have the same rules as normal chess, but
43a different starting position.
44
45
46How do I get it to work ?
47-------------------------
48
49 Building it
50 -----------
51
52    GNU/Linux, FreeBSD, other Un*x variants:
53    ----------------------------------------
54 
55    Building Sjeng should be as simple as:
56
57    ./configure
58    make
59    (su to root if needed)
60    make install
61 
62    If you notice Sjeng is only reporting time in full second
63    increments, edit config.h and change #define HAVE_FTIME
64    into #undef HAVE_FTIME.
65
66    Windows
67    -------
68
69    I have succesfully compiled Sjeng with Microsoft Visual C++.
70    Other compilers are not tested, but may also work.
71    
72    The easiest way is to locate a Windows port of Sjeng's
73    sources, which you can compile out-of-the-box. If those
74    are not available, follow these instructions:
75    
76    You need to find a Windows port of the GDBM library. 
77    There are several (free) ones available on the internet.
78
79    You will have to create a config.h file which contains
80    
81    #define HAVE_SYS_TIMEB_H
82    #define HAVE_FTIME
83    #define VERSION "11.2"
84
85    You may have to define _WIN32 also, if your compiler
86    doesn't already do so.
87
88    You also need an implementation of the strcasecmp
89    function. An implementation is available in the file 
90    strcasec.c in the DJGPP distribution.
91
92    Alternatively you can use the Cygnus utilities. I have
93    never used them myself so I cannot help you there, but
94    I have had reports from users which successfully built
95    Sjeng with it.
96 
97 
98 The opening books
99 -----------------
100
101 Sjeng uses two kind of books: .opn books and binary books
102
103 The .opn books are intended to be created manually, and
104 are ideal for getting Sjeng to play your favorite openings.
105 Some examples are in the books directory. 
106
107 To use a .opn book, just copy it to the same directory
108 where you are running Sjeng from. Sjeng will always look
109 in the .opn book first and will never apply learning to
110 it.
111
112 The binary books are created automatically from PGN databases,
113 by a built-in bookbuilder.
114
115 To use it, just start Sjeng and enter 'book'. To generate
116 a crazyhouse/bughouse book, first type 'variant crazyhouse',
117 then type 'book'. ('losers' and 'suicide' are also supported)
118 Be sure to make the keycache large enough or the book-generation 
119 will be slow and you will end up with very large files. One 
120 byte in the keycache is enough for one position. The keycache
121 is stored in RAM, so do not make it bigger than the actual 
122 amount of RAM you have.
123 
124 You need about 12 bytes diskspace per position that will be 
125 stored.
126
127 You must use a pure PGN database. PGN derivates like BPGN
128 are not (yet) supported, nor is the psuedo-PGN that some 
129 other programs output. 
130
131 I recommend running your PGN database through the 'Extract' 
132 program by David Barnes first. It has options to strip 
133 variantions, comments and NAG's and to suppress duplicates
134 which will significantly speed up the bookbuilding process,
135 as well as getting rid of any psuedo-SAN.
136
137 A PGN database of some high-quality crazyhouse games is
138 available at 
139 ftp://sjeng.sourceforge.net/pub/sjeng/zhbook.pgn
140
141
142 Getting an interface
143 --------------------
144
145 You can start Sjeng now by typing 'sjeng', but you will probably
146 find the text-based interface unpleasant.
147
148 The recommended interface for playing standard chess with Sjeng 
149 is WinBoard/XBoard, by Tim Mann.
150
151 http://www.tim-mann.org/xboard.html
152
153 You will need to start WinBoard/xboard with the -variant 
154 option to play bughouse, crazyhouse, suicide or losers. If 
155 you need more help with WinBoard/xboard read its documentation. 
156 If you want to let Sjeng play on a chess server, be sure to 
157 read zippy.README
158
159 Zon Juan Jan wrote a Windows interface for crazyhouse-playing
160 programs that can be used with Sjeng. Go to
161 
162 http://bughouse.net
163
164 and look in the downloads section. The program is called 
165 Zhouse Challenger. It works nicely and I can recommend
166 it a lot! There is an alternate download at:
167
168 http://www.d2d4.de/download/zchall-sfx.exe
169
170 EBoard is a chess interface for POSIX systems (GNU/Linux, FreeBSD, 
171 etc.) based on the GTK+ GUI toolkit. It is available on 
172 http://eboard.sourceforge.net/ and has extensive support for Sjeng.
173
174
175Generating endgame databases
176-------------------------
177
178Sjeng support endgame databases for the suicide
179variant. You can generate them as follows:
180
1811) Make a subdirectory named 'stb' in Sjeng's
182   directory
1832) Start Sjeng form the command line and issue
184   the command 'buildegtb'
185
186This will take an hour or so, depending on the
187speed of your computer.
188
189
190Tuning Sjeng
191------------
192
193A great deal Sjeng's workings can be customized without 
194recompiling it. You should take a look at sjeng.rc and
195adjust the parameters to your likings. Especially the
196first three are imporant because they control how much
197memory Sjeng will use for transposition tables and caches.
198If those are set too big for your RAM, Sjeng will crash.
199
200
201Benchmarking
202------------
203
204As a little test of your computer's speed, you can start
205Sjeng and give the 'speed' command. This will run a little
206benchmark of the most commonly-used functions in Sjeng.
207
208
209Running testsuites
210------------------
211
212Sjeng can automatically run testsuites by use of the 'test'
213command. Input data is expected to be in EPD format with
214either a 'best move' (bm) or 'avoid move' (am) tag. 
215Some testsuites are included in the 'tests' directory of the
216Sjeng distribution.
217
218
219Getting more info
220-----------------
221
222For more info about Sjeng, you can visit the homepage
223
224http://www.sjeng.org/
225
226If you are in need of info about Sjeng's internal 
227workings, send me a mail at
228
229gcp@sjeng.org
230
231
232Reporting bugs
233--------------
234
235If you spot a bug, or Sjeng crashes on you, please
236send email to
237
238gcp@sjeng.org
239
240Please try to provide an accurate description of the 
241problem and, if possible, how to reproduce it. Starting
242XBoard/WinBoard with the -debug option will produce debug
243output (either on screen or in a winboard.debug file) that
244can help a lot in tracking down the problem.
245
246
247Copying/Distribution
248--------------------
249
250Sjeng is Free Software and is licensed under the GNU General
251Public License. For more details see the file COPYING that
252comes with Sjeng. 
253
254If this file is missing, write to the Free Software Foundation,
255Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
256
257Sjeng should have come with source code, or you should have
258been given the possibility to obtain it for a charge no more 
259than the cost of physically performing the source distribution.
260If not, please contact gcp@sjeng.org.
261
262
263What is bughouse ?
264------------------
265
266Bughouse is a form of chess which is played with 2 teams, 
267each consisting of 2 players. Each player plays his opponent
268on a seperate board. If a piece is captured, the capturing 
269player can pass it on to his partner, who can then drop the 
270piece into his game and use it.
271
272If you have never played bughouse before, you are really
273missing out on something. Try it, you'll like it.
274
275for a more complete description of the rules:
276
277http://matador.unige.ch/nabla/Bug/rules.html
278
279
280What is crazyhouse ?
281--------------------
282
283Crazyhouse is similar to bughouse, but is played
284with only 2 players, on 1 board.
285
286
287What is suicide/giveaway/anti-chess ?
288-------------------------------------
289
290Suicide is a form of chess where the goal is to
291lose all your pieces. Your king acts like a normal
292piece and can be captured, and you can promote
293pawns to a king. If you can capture, you must.
294
295Suicide is sometimes referred to as giveaway or anti-chess,
296although there are minor differences between variants.
297
298In suicide, castling is not allowed, but in giveaway
299it is. If a player is stalemated, he loses in giveaway,
300but in suicide he wins if he has less material than his 
301opponent.
302
303
304What is losers ?
305----------------
306
307Losers is similar to suicide with the exception
308that the king may not be captured, you cannot
309promote pawns to kings, and if you are checkmated
310you win.
311
312
313Where can I play bughouse ?
314----------------------------
315
316The most common place to play bughouse is the Free Internet
317Chess Server (FICS). Most important chess servers also offer
318it, like the Internet Chess Club. 
319
320http://www.freechess.org
321http://www.chessclub.com
322
323Or even better, gather a few friends, 2 chessboards, 2 clocks,
324some beer, and have fun beating each other ;)
325
326-- last revised 2001-12-27 -- gcp@sjeng.org --
327