Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: chess engines writen in C

Author: Dann Corbit

Date: 11:03:58 01/13/05

Go up one level in this thread


On January 13, 2005 at 13:24:44, Pallav Nawani wrote:

>On January 13, 2005 at 05:57:08, adam wilks wrote:
>
>>Where can i find some examples of chess engines written in C, C ++?
>
>Check out Wbec Ridderkerk:
>http://wbec-ridderkerk.nl/
>
>Select engines & their downloads from the dropdown boxes. Some of the engines
>with source are:
>
>Tscp (Beginners),
>Faile (recommended read),
>Gerbil(recommended read),
>Sjeng Free (Modified Faile),
>Natwarlal (My own, C++),
>Phalanx (Agressive, good engine but somewhat hard to read code),
>Fruit (Excellent, strong engine),
>Arasan,
>Crafty (Get from Peter skinner's website).
>GES (New, interesting engine)
>GNu Chess
>Beowulf
>
>If you are planning to read sources of others engines, Faile, Gerbil, Fruit and
>Crafty are a must read.

Sadly, some of the most beautiful ones are not open source.  Tao, by Bas
Hamstra, has code that is so pretty it could make you weep.  The fragments that
I have seen for Thinker show genius at work.  The 0x88 move generator for List
is clearly a work of art.  I have never seen its equal.

I think Amy and Pepito are "must read" code bases.

GnuChess is worth perusing.

I think that MSCP is very good for the raw beginner.

For fun, Chest by Heiner Marxen (not a chess program but a chess solver) should
be examined.  It has lots of clever things that took me years to appreciate.

I learned something from every chess program I ever read.

Same thing for every chess paper.

These are [most of] my directories of chess related source code (not every
single one has source, but almost all of them do.  Also, not all of them are
directly about chess but are involved in some other aspect of game tree search
or chess programming or some related topic):
[3-level]
[4.2.6-dm-beta3.6]
[abchess-0.1.0]
[abkit-0.1.1]
[act]
[Adriano]
[agoris-0.0.1]
[ai]
[aichess-java]
[aima-c]
[aima-j]
[aisearch]
[aisearch2]
[alibaba]
[allegro]
[amateur]
[amazons]
[amazons0]
[amigo]
[amundsen]
[Amy-0.7]
[amy-0.8]
[amy-0.8.1]
[amy-0.8.2]
[amy-0.8.3]
[amy-0.8.4]
[amy-0.8.5]
[amy-0.8.6]
[amy-0.8.7]
[amy-bench-java]
[amyan]
[amyanv01]
[anmon]
[anmon_config]
[another-java]
[another-java-chess-engine]
[ant_book]
[ant361]
[ap]
[aphid]
[apilchess]
[apilchess-1.1]
[arasan-8.1.0]
[arasan_source]
[ArimaaMoveCount]
[arma2131]
[Armageddon]
[asiacom]
[asiaware]
[assembly]
[aufgaben]
[auto]
[auto_1]
[auto_2]
[averno]
[avog]
[awari]
[ax01]
[b]
[babychess]
[babychess-13]
[babychess-14.1]
[babychess-15]
[bad]
[baduki-0.2.9]
[bardchess-0.0.1]
[basic]
[battle-checkers]
[batz]
[bc]
[BCE]
[bce-lisp]
[bchs]
[Beowulf]
[beowulf_0]
[beowulf_00]
[Beowulf_1]
[beowulf_2_new]
[beowulf_2_ren]
[beowulf_2_renamed]
[Beowulf_3]
[Beowulf_4]
[beowulf_5]
[beowulf_6]
[betsy]
[betsy_1]
[big_config]
[bigbook]
[bim2]
[bin]
[bitboard-tscp]
[blitz]
[board20]
[board3d]
[boardgametool]
[BoardWars]
[boissel_12]
[book_s]
[bookmake]
[BOOKS]
[booot]
[bowili4]
[bowili5]
[brain_storm-0.1.0]
[braincrack]
[BringerV1_5]
[c]
[c4]
[c4bcolli]
[c4bconno]
[c4bryder]
[c4dmulve]
[c4j]
[c4nmcard]
[c4pmahon]
[c4poconn]
[c4skerri]
[ca]
[capa]
[cassandre]
[cassandre-0.24]
[cassandre_src]
[Cblib32]
[Cblib32_1]
[cchess]
[cchess_dist1.07]
[ccsystem]
[ceanim]
[cecir]
[cf]
[cgoban-1.9.12]
[ch]
[ch0]
[chaos]
[chchess]
[checkers]
[CheckMate]
[chenard-linux]
[chensrc]
[chenwav]
[cheops-1.0]
[cheops-1.1]
[chesmate]
[CHESS]
[Chess-2.0]
[Chess-49]
[chess-5.00]
[chess-5.02]
[chess-clock]
[chess-delphi]
[chess-demo]
[chess-f]
[chess-f_1]
[chess-game]
[chess-java]
[chess-rikus]
[chess-server]
[chess-stuff]
[Chess ASP]
[Chess Starter]
[chess_1]
[chess_11]
[CHESS_2]
[CHESS_3]
[chess_4]
[chess_5]
[chess_6]
[chess_7]
[chess_8]
[chess_9]
[chess_it3]
[chess_s]
[Chess++3.0.1]
[chess1]
[chess12]
[chess4]
[chessae]
[chessApp]
[chessapplet-0.5-source]
[chessapplet-java]
[chessbrd]
[chessbrd_1]
[chessbrd_2]
[chessbrd_3]
[chesscgi]
[chessclck]
[chessclock]
[chesscom]
[chesscui]
[chessd-chrysallis-0.1]
[chessengine]
[ChessEngineDLL]
[chessf]
[chessfx]
[chessgame]
[chessica]
[chesslib-0.2]
[chessma]
[ChessOne]
[ChessOpeningClassify-1.1]
[chessprn]
[chesspro3]
[chessrally_dll]
[chessrc0]
[chessroom]
[ChessServer]
[chesssrc]
[chesssrc_1]
[Chessterfield]
[chesstree]
[chessttf]
[chessv]
[chessvb]
[chezzz]
[chinesechess]
[chparse]
[chqtxt]
[cics]
[Cil407]
[cil414src-release]
[cilian]
[cinag]
[cinag-1.1.2]
[cinag-1.2.1]
[cinag_1]
[clig-1.9.10]
[clueless]
[cmcart]
[coastie_chess_v21]
[CODE_UPLOAD1219611302000]
[CODE_UPLOAD36922292000]
[CODE_UPLOAD3766332000]
[code15102004_287]
[code15102004_288]
[codechess]
[codigo]
[ColChess]
[colchess8]
[Colin-Zheng_Tian-Sang]
[college-of-london]
[COLOR]
[comet]
[comet_b14]
[comet_b14_dos]
[compLHA]
[conical]
[connectFive]
[CPMUG041]
[crafty]
[crafty-18.13.rj8]
[crafty-byrne]
[crafty_mpc]
[crafty12]
[crbmg]
[crux]
[cschess]
[cserver]
[csharp]
[csharp-chess]
[csp-0.4.0]
[ct]
[ctd330]
[cui-chess]
[cuichess]
[CVT]
[cyberc]
[cygerpagno]
[Cyrano_files]
[cyrus]
[cyrus_1]
[da141096]
[dabba096]
[dabbaba]
[dabbaba1]
[dabbaba2]
[dabbabba]
[dabbabba_1]
[dan]
[danchess]
[danchess2]
[db]
[Dchess]
[dchess30]
[de.czempin.chess.eden_0.0.5]
[Debug]
[decade12]
[deepak]
[deepbug]
[deepross]
[deepross2]
[DeepSjeng-0.1]
[DeepSjeng-0.3]
[DeepSjeng-0.4]
[Defeo]
[delphichess]
[deska-0.5.0]
[dg10b3]
[diachess]
[Diep1213]
[Diep1407]
[digichess]
[dino_58]
[DIOGE230]
[DistributedPerft2]
[dls]
[doc]
[doktoren]
[dotnet]
[drago]
[dragon]
[dragon-draughts]
[dragon_311]
[drake_10]
[drake_11]
[drake_12]
[drake_7]
[drausinus]
[dtwinver]
[due-skak]
[dueSkaak]
[dumpy]
[ebmchess]
[eboard-0.9.0]
[echelon]
[eden]
[edver100]
[edver199]
[edver230]
[eec]
[egchess]
[egchesspro]
[elephant_103]
[elo_calc]
[elocalc]
[elostat]
[elostat_1]
[elturco-0.89]
[elturco-0.89-1]
[elturco-0.90.0]
[elturco-0.93]
[eml]
[engendrov-0.1]
[enginmax]
[Enginmax_1]
[Epd]
[epd2craf]
[epd2wb]
[Error]
[et_chess]
[etc]
[evis4]
[EXCH311S]
[exchess]
[exchess404]
[f4_book]
[f77bench]
[faile]
[faile_win_source]
[fanorona]
[fbk2bok]
[fbk2rbm]
[Feringa_0.02]
[fiancho]
[fics-1.6.4]
[fics.1.7.4]
[FICS.DIST]
[fimbulwinter]
[final-chess]
[firstchess]
[Fiz014]
[fletch]
[foobase]
[for]
[fort14b]
[forth]
[fortran]
[fortran-games]
[Fortress152]
[FortWin]
[fourinst]
[francesca_078]
[francesca_79]
[franwb]
[Freyr_1_0_67]
[fruit]
[fruit-dann]
[fruit_10]
[fruit_15]
[fruit_15_safe]
[fruit_20]
[fruit_hist]
[fruit_iid]
[fruit_kool]
[fruit_src]
[fruit_x]
[fruit_x_kool]
[funky]
[g2]
[gafs]
[gal]
[gamazons-0.83]
[gambit-0.97.1.2]
[GAMES]
[gamesman]
[gateway-engine]
[gav]
[Gazebo]
[gcboard-0.3.0]
[gccdragon]
[gdbm-1.8.0]
[geko]
[genesis]
[genesis2]
[gerbil]
[Gerbil_1]
[GERBIL02]
[ges]
[GGS]
[GGS2]
[ggsh]
[ggtl-1.1]
[ggz-client-libs-0.0.7]
[ggz-server-0.0.7]
[ggz-utils-0.0.7]
[gk-0.90]
[glaurung]
[glchess]
[glchess_1]
[gnu31dos]
[gnu4dos]
[gnu4sc]
[gnu5]
[gnuc412]
[gnuchess]
[gnuchess-1.0]
[gnuchess-4.0.pl75]
[gnuchess-4.0.pl77]
[gnuchess-4.0.pl78]
[gnuchess-4.0.pl79]
[gnuchess-4.0.pl80]
[GnuChess-5.02]
[GnuChess-5.03]
[gnuchess-5.04]
[GnuChess-5.05]
[gnuchess-5.05l]
[gnuchess-5.06]
[gnuchess-5.06n]
[gnuchess-5.07]
[gnuchess-amiga]
[gnuchess2]
[gnugo]
[gnugo-3.0.0]
[gnugo-3.2]
[gnugo-3.4]
[Gnuos2]
[gnupc414]
[gnushogi-1.3]
[Gnwin321]
[gnwin410]
[GobanSourceCode]
[goblin.2.5.6]
[goldbar_99]
[Goliath3d]
[gomoku]
[goober]
[good]
[gothello]
[goto]
[GOVOLS]
[gradualgames]
[gradualtest]
[GradualTest_src]
[greko]
[greko_2_30]
[gromit_300]
[Gromit1]
[Gromit11]
[Gromit12]
[gromit22]
[gtkboard-0.11pre0]
[gtkgo-0.0.10]
[gtkgoboard]
[gtkgoboard-patches]
[gui-checkers]
[gully]
[gully2]
[gustav]
[gvsu]
[gwd4distrib]
[gws1distrib]
[gws1distrib_1]
[hamming]
[hibernate-2.0]
[hid]
[highrank]
[hipp]
[hique_2_player]
[hoplite-2.1.1]
[horizon]
[hotbabe_chess]
[hpchess1]
[htc]
[html]
[Humpa_Chessv12_Both_Versions]
[huuhkaja]
[ibchess]
[ibgs-0.2]
[ibmchess]
[ICDS]
[ICT]
[images]
[iNatch]
[iNatch-0.6.2]
[include]
[InfinitePlay]
[Inmich]
[interface]
[ios]
[italian]
[jache]
[Jack-Wiedrick]
[jamca]
[jamyani]
[jaquemate-0.9.2]
[java]
[java-ai]
[java-ai-chess]
[java-ch]
[java-chess]
[Java-Chess-0.1.0pre-alpha2]
[Java-Chess-0.1.0pre-alpha3]
[java_chess]
[javaches]
[Javachess]
[Javachess_1]
[javasea]
[jch]
[jchess]
[jchess_1]
[jct]
[jester]
[jester-java]
[jgchess]
[jjava]
[joana]
[joanna]
[jose]
[jpatzer]
[junfa-0.0.2]
[junior]
[kace]
[kace-old]
[kace.0.8.0]
[kace.0.8.1]
[kalah]
[kalah_0]
[Karas]
[kasparovx]
[kAtaxx]
[kcchess]
[kcchess_1]
[kchdos12]
[kchdos15]
[kchdos20]
[kchwin10]
[Kchwin20]
[Kelite]
[kenny]
[kentou]
[killer-queen]
[killproc]
[KingofKings]
[kissches]
[kkfchess]
[KnightCap]
[knightcap2]
[KnightD3]
[knights]
[knightx]
[kok]
[kwin15]
[lambda]
[lamerz]
[LaMoSca]
[larsenvb]
[laser]
[LaserChess GBA]
[lasker10]
[last_code]
[lautier]
[lazchess]
[lchess-0.1]
[learning]
[leila]
[leonid]
[lesschess]
[LG2000V2]
[lg2000v25]
[lgoliath_2000-2]
[lgpgnc]
[libpathfind-0.1.0]
[light100]
[light101]
[light102]
[lightiger]
[linechec]
[list]
[log]
[logician]
[logistello]
[lpastar1]
[lpastar2]
[lucie]
[maim]
[MAIN]
[manager]
[mancala]
[mancala_0]
[MarineBlue]
[MartinSchaffners]
[mate]
[mbga]
[mbgen]
[meiler_210]
[META-INF]
[mfchess]
[mfchess2]
[MGounki-1.01]
[MGounki-HAM-a8-c]
[mi2]
[migoya]
[miniCHESS-0.8]
[minimardi]
[minimax]
[minimon]
[mirage]
[mlc]
[mlchess-1.13]
[mm]
[mm_src]
[Modula2Chess-1.0]
[Modula2Chess-sdl-0.9]
[Monik20]
[monsoon]
[monsoon_1]
[monsoonxp]
[mooboo]
[moosechess-0.10]
[morphy]
[movei]
[movei_20_08_2004]
[moveiexe]
[moveinow]
[moveisource]
[mrsd-v0.2]
[mscp-1.0]
[mscp-1.1]
[mscp-1.2]
[mscp-1.2-beta]
[mscp-1.4]
[mscp-1.8]
[multbase]
[mychess]
[Mystic]
[MyTscp]
[nanoxml]
[natch]
[Natch-2.2]
[Natch-2.3]
[natwarlal]
[Natwarlal_Sources]
[Natwarlal005-src]
[Natwarlal006-src]
[Natwarlal007-src]
[Natwarlal009-src]
[nc28lxms0]
[nchess]
[necro380]
[needle-0.50]
[needle-0.50.1]
[needle-0.51]
[needle-0.52]
[needle-0.53]
[needle-0.53.1]
[nejmet]
[Nero5]
[nessi]
[netchess-1.04]
[neurosis]
[NewChess]
[newrival]
[nihcl]
[nimzo]
[nngs-1.1.14]
[nova111]
[now]
[ntest]
[oc]
[ocaml]
[octv14]
[old-bce]
[old-versions]
[olithink]
[olithink-4.0]
[olithink-413]
[olithink_1]
[olithink_2]
[olithink_3]
[omar]
[OpenGoSrc_5_0]
[Orbius]
[orts.snapshot]
[othello]
[othello-j]
[othello-prolog]
[othello0]
[ouchess]
[owlchs]
[p]
[p-0.4.0]
[parrot]
[pas-chess]
[patzer]
[paul-onstadt]
[pawnder_1]
[pcchess]
[pchess]
[pepito]
[pgc]
[pgenesis]
[pgn_sammler]
[pgn2dcf]
[pgn2pgc]
[pgnres]
[pgntrim]
[Phalanx-vi]
[Phalanx-XVIII]
[Phalanx-XX]
[philidor]
[Photon]
[phpchess]
[PIECES]
[pierre]
[pierrewin17]
[pkgsrc]
[pmatic]
[polarchess]
[polyglot]
[polyglot-new]
[polyglot-old]
[polyglot_x]
[posh]
[pousse]
[Powerc53]
[powerch6]
[pp005]
[prism]
[problem]
[Program Basic]
[programs]
[project.alphabeta.Shah.v0.alpha1]
[project_alphabeta]
[prophet]
[Proterm2]
[psion]
[psrc]
[psycho]
[psycochess]
[pthreads-snap-1999-11-02]
[pthreads-snap-2002-11-04]
[pthreads-snap-2003-05-10]
[pthreads-snap-2003-09-18]
[pthreads-snap-2004-06-22]
[pthreads-snap-2005-01-03]
[pubgo]
[py-3.75]
[py-3.77]
[py363]
[py377]
[pychess-0.1]
[pyotr]
[pythonchess-0.4]
[pythonchess-0.6]
[qbchess]
[qipan-0.0.2]
[qmate]
[qmate_1]
[qmate_2]
[quark]
[Quark130a]
[Quark130a_1]
[qub-0.6.8]
[Rabbit14]
[Rabbit36]
[raffaela]
[rattatechess]
[raw]
[rchess]
[RdChess]
[rdchess_1]
[RDCHESSSrcV299]
[Recorder]
[Release]
[resp]
[resplendencechessbrd]
[Retractor]
[reversi]
[rgXnetchess]
[Rival]
[Rival15f]
[rivaldos]
[rivaldossource]
[rivwinsource]
[rivwinsource1817]
[rnChessBoardControl]
[rnChessBoardControlDemo]
[ROBOT]
[rookie]
[rookie_1]
[russell]
[sachy-0.2.00]
[sachy-0.2.01]
[sachy-pas]
[SachyC]
[SachyC_1]
[SachyCB]
[SachyCB_1]
[sal]
[SAN]
[sargon]
[SARGON5]
[save]
[schaak]
[Schach-Komponenten]
[schach12]
[schaken]
[schoca-0.2.0]
[scid-1.4]
[Scp]
[scp-gnu]
[scpchess]
[SDL-1.2]
[SDL_Go-0.2]
[sgfc]
[sgfc-patches]
[sh-chess]
[sharfo]
[SharpCheckers]
[SharpChess]
[Sharper]
[sheep]
[shoban]
[siberian]
[simontacci]
[simplechess]
[simul]
[sinapse]
[sinapse-1.1]
[Sjeng-10.0]
[Sjeng-11.0]
[sjeng-1210]
[sjeng-1211]
[Sjeng-1212]
[Sjeng-8.3]
[Sjeng-8.5]
[Sjeng-9.0]
[Sjeng10CCT]
[Sjeng10CCT_1]
[Sjeng10S]
[sjeng12.9]
[Sjeng125x]
[Sjeng127]
[sjeng81]
[Sjeng851]
[sjeng8cb]
[sjeng9]
[sjengcct]
[SjengLeiden]
[Skaki]
[Skaki_src]
[slibo-0.4.4]
[slowchess]
[small-potato-0.6.1]
[smallpotato-0.3.1]
[smallpotato-0.3.2]
[smallpotato-0.3.3]
[smallpotato-0.4.0]
[smallpotato-0.5.0]
[smallpotato-0.5.1]
[smallpotato-0.6.0]
[smart]
[smart_1]
[smarthink]
[smash]
[smocfi]
[smoothie]
[smut-dhs-org]
[snail_src]
[snail_src_1]
[soapchess]
[solver-1.2]
[solver-1.3]
[soss]
[source014]
[SourceTChess]
[spar]
[spastic]
[springer]
[sprr]
[sprtg]
[src]
[src_1]
[src0045]
[ss6]
[ssechess]
[ssechess_1]
[Ssechs33]
[sta]
[stalker]
[StalkerX]
[stanback]
[standerson12]
[strategic-games]
[strategicgames]
[strategy-games-0.15]
[suiss31]
[sunchess]
[sunsetter]
[sunsetterc6]
[sunsetterc7]
[surprise]
[swiss059]
[swissdos]
[swissp]
[sytemid]
[t-rex]
[tablebase]
[Tao]
[Tao_1]
[TAXMAN]
[tb]
[tbgen]
[tc]
[TC_src]
[tcb]
[tcb0045]
[tchchess]
[tclChess-1.1]
[techno]
[techno_151]
[tests]
[textchess-0.0.1]
[TheAnalyzer]
[theese-chess]
[theese-search]
[theese-tt]
[thegenius]
[theory0_8]
[thief]
[thinker]
[thorshammer]
[ThorsHammer 2.2 source]
[tichess]
[tichess_1]
[tichess_2]
[tictactoe-1.2]
[tiffanys-src-0.2]
[tikov]
[titot]
[tkChess.0.03]
[tmp]
[tmrchess]
[tohno]
[tomchess]
[torque_chess]
[tournament]
[trnydir]
[tscp]
[tscp_bb]
[tscp15]
[tscp173]
[tscp181]
[tscpe]
[tscpe_1]
[tscpf]
[tscpgothic]
[tscpPas]
[tscpPas_1]
[tsito-0.8.4]
[TsumeGo-0.00a16]
[tth]
[ttt-0.10.1]
[ttt-2]
[ttt-ai]
[Turbo]
[tuxedo-1.0]
[tytan]
[uci]
[utils]
[V4 Chess - once & for all]
[vbchess]
[vchess]
[velena]
[vsccpw]
[VTProject7]
[VTProject8]
[w3chess]
[wassong]
[water-1.3.2]
[waxdos10]
[Waxdos11]
[Waxman16]
[Waxwin12]
[waxwin13]
[wb0044]
[wbengine]
[WbTourn]
[Wchss253]
[weakchess]
[WebChess]
[webpage_cbh]
[west]
[wgdbm]
[WhoIsBest]
[WinBoard]
[winboard-rj]
[winboard_1]
[WinBoard_2]
[Winch101]
[WinCraft]
[WinCraft_1]
[wingv]
[winmi301]
[winmi302]
[winmi303]
[winmi305]
[witz]
[Wizard311]
[wlh7021q]
[world]
[Wsse2143]
[wssev202]
[xadreco]
[xboard-4.2.7]
[xboard232]
[xiang]
[xiangqi]
[Xiangqi_1]
[xistrat]
[XVgraci]
[yace]
[yace_021]
[ychess]
[zappa]
[zchess]
[Zchess10]
[Ziggurat]
[zugzwang]
[zzzzzz]
[zzzzzz-33]
[zzzzzz5]
[zzzzzz5distrib]
[zzzzzz5distrib_1]
[zzzzzz5distrib_2]



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.