Chess engine in zig
Fix building with zig-0.11
Created by  voroskoi  on August 6, 2023
P5ZU2ANXS7YZSVU6WTLBTBEVSPDQLOELH3F4O5WTNDUSOVLXQH5QC
update to zig master
Created by  voroskoi  on July 29, 2023
LJY2HRZ3XGWIDIBYPOZFKC3555AZEROKSVDNELII6UQIUMGLOVEQC
update to zig master
Created by  voroskoi  on June 27, 2023
IFTGZLOBWFXQPOKZFLNKDMFBQJLDI5BC5UXICLHKVHZB5LEVLEIQC
Add best_move to transposition table
Created by  voroskoi  on February 5, 2023
BK7OPY3AMLE5HAXOXODT2CSVPIBAYVIL2GEVLDBMWGEFMFDKYSAQC
Fix time control overflow
Created by  voroskoi  on February 5, 2023
EBKHC5EHCCSBHJ5HU4HAMM6WEXE7SSESNYIMQGDLUCYAJ7EVC2MAC
Resolve conflict
Created by  voroskoi  on February 5, 2023
QI6BE3NJREZPXHYIBNOKSSR6RUK4WF5SLH43TVAEIBAD4TJ6YVMQC
Enhance NNUE evaluation with fifty-rule
Created by  voroskoi  on February 2, 2023
M5SO7SVRCGI7G2DC43GNVFQB2IFEIXT62AFDB3CVGTCOCUKHPF5AC
Do not fail on long games
Created by  voroskoi  on February 4, 2023
UDCTGFEUBJBEEFU7YESK6U3NCG2GSQHPR7MEDVEOA6MCV6MWKMFAC
Enhance time-control
Created by  voroskoi  on February 3, 2023
Z2HL2MJFHZTRKHG2I6NHI6CUJFECULRWA3AGQCAF5HJSBSFHR2FAC
Do not use the search result when the search if half-finished because of time control
Created by  voroskoi  on February 3, 2023
BN4RHNZN3VGWKUCMGVO6RX4MT7CIJ6HDTYJGCCUET2EZUHAJ6M6AC
UCI: fix stop command handling
Created by  voroskoi  on February 3, 2023
QN54UVFFDNZVEFNO3XWGLYKRTTWMXYJXXWEVDE2P4LMPGCYGAKGQC
Add option to set hash table size
Created by  voroskoi  on February 2, 2023
GPBZ2C3DIF64ADOS2NKXYTS6U5DYTARO6RFCZNYZBDCBC2XA4LKAC
Enhance move time handling
Created by  voroskoi  on February 2, 2023
C23FT3FR4OB2TL57QITMWGMGI7RKS2KEKFJMIKSM2DLRDGUGXIYAC
Bugfixes
Created by  voroskoi  on February 1, 2023
T2FGWF4FWRAJUWKDLPG4CW2NUWK3WP3HLSOL3OACN5ONHZFRLLGQC
Move history belongs to GameState
Created by  voroskoi  on February 1, 2023
3QZ5Y55BFUIRG5HZNURRD5Y5SY3VD5CYEZEXCZHBIDEME6MIQQBQC
Add repetition tracking
Created by  voroskoi  on February 1, 2023
KFFIG5SYHLEEUZNTGZW2A6WVFBKCST6NGDI4UNPRRHKKIJOSG6YAC
Show mating info
Created by  voroskoi  on February 1, 2023
UUI7ECK3K4GHZIJU6JU4WNKWIFAH7CMP4ZG5KQYLZH6YQMJXLCVAC
Implement TT mating scores
Created by  voroskoi  on January 31, 2023
BQP2M5YIF2R53XJSJXTZRSXMOAJ4UEJBCLFCZ2OHF27T4DOGWJJQC
Add transposition tables
Created by  voroskoi  on January 30, 2023
HSGLIJUNOPRWGA53IQNV7G2BOOPHI23WVYJSF5RE3HLEL63Z3OHQC
Fix incremental hash update for NULL move pruning
Created by  voroskoi  on January 30, 2023
J3BT4EXSBCDHSZDYYWZHEBGQLKODRKPLUOFRCAT7VNPWWPAUXSHQC
Implement incremental Zobrist hash updates
Created by  voroskoi  on January 29, 2023
A23ETUI3HMBQKCAROPWHAJ36CRQ3QFR27ZVRNJWDKAIPOBXYUAOAC
Add Zobrist hashing, fix FEN parsing with enpassant, fix parseMove test
Created by  voroskoi  on January 29, 2023
7ULXFB7Y3R3PR5IS3MPHQDLJ3S2SXLGXGCW243HQJBHAU6EIIFGAC
Various fixes
Created by  voroskoi  on January 29, 2023
PCX26RUTLIO5D6D4AEQOU5IF3NREV6OVITWGYOJ5QYXP5WUTG4AAC
Add time control code
Created by  voroskoi  on January 29, 2023
SQVK42R6RJ3WL63SEES2APXZ2C3BZHN5GH3JXNCRJY7DWMN36C6AC
Rework search init() code, try incremental eval, but does not work
Created by  voroskoi  on January 29, 2023
4B26P4BBEABLLGDY4IQS7QK6OW67EROEIQMHS36D2Z4TWDEK5Z2AC
uci: add max nodes support
Created by  voroskoi  on January 27, 2023
SSXZVJ7QPBJODV4QFAMWMS76WY62ASJVUNF6B4IPTZYZBNF2L75QC
Enhance uci command parsing, add movetime and infinite support
Created by  voroskoi  on January 27, 2023
F7RLQRYDCN3Y3JJBCI7NH5RFMJUNIQVXOPZV7RUUIBSKMIYNNYLQC
Move search to separate thread, implement uci stop
Created by  voroskoi  on January 27, 2023
CU3XNAGXZHXACBEDPM3THFT6AWAJ4HC5PXZM3Z72WWVMSHPOOXFQC
Fix PVS and LMR code
Created by  voroskoi  on January 26, 2023
5HQBXRO5NILZUAMHJ724XKHASMJMOASA33JCWR2BCI7U5QZN2FUAC
Implement aspiration window
Created by  voroskoi  on January 26, 2023
ZO7Y4ICU3LPK6SBWPJLBSAEXJMWGEFONSB53KXPSUOPPG7JZVHKAC
Add NULL move pruning
Created by  voroskoi  on January 24, 2023
Z4PX3GURAMMW55R5KRP5WCO2CXFEI6LBULGBQRYTABBONCOZ5NHQC
Implement LMR
Created by  voroskoi  on January 24, 2023
V34YWVR66ERHUV6SOYQWJQLYMPLWEIJDXCR44B3SLPN2CRYIR45QC
Implement PVS
Created by  voroskoi  on January 24, 2023
ZMNSRH5SD3LEUSRTVRZODEIOZIAOPXJQFW4DNMLAKOWVEAQUTFLAC
Put move scoring back to search, add PV following
Created by  voroskoi  on January 23, 2023
75BIO4XKTLVWVHPXEJ6V45DEP7CFWFFRFF4NAOPQN2MESJG6HUWQC
Implement iterative deepening
Created by  voroskoi  on January 23, 2023
R5F5KMWWZ4VS67CSIWRNRM4LNPPXVXSQZLHEZMT6XZODV4AK2MBQC
Add nnue build option
Created by  voroskoi  on January 23, 2023
EVNZGIR45TJBV5XC5K3NKWIW2IP75QW4R3LMNTSP7BWTRHNFDRDQC
Readme updates
Created by  voroskoi  on January 23, 2023
I4AKZYZM5LOD7SNZRNWY34KWOHE34QPEWO6TIGHYMJACXOJKBMPQC
Provide PV info
Created by  voroskoi  on January 22, 2023
NCFUC2F34HIV6BZYYMMHIGQOD6G6BUJZYY4RINPCAKGCSVCC46DAC
Implement killer and history moves, add pv_table
Created by  voroskoi  on January 22, 2023
XRCSCQWQKVYASIMAJO7JVUJXHXE44FZROCJPBW2BR7EE4RPEIBKAC
PriorityQueue was a bad idea
Created by  voroskoi  on January 22, 2023
WAJ2J7G4QZE4LLGGZNIQ3ZIBCR3CSFOH3V2NIK2JQPALFHARRNMAC
Fix scoreMove()
Created by  voroskoi  on January 22, 2023
HNCUAGWTMX3UHH2KFTUM3M6Q4CC33M6PVE5DWZWFG5UM2Y7J2ZKAC
Use PriorityQueue as a MoveList, start scoring moves
Created by  voroskoi  on January 22, 2023
FRUDIRWXGFOZERET3DNUNAZ5HSA3G32JZX6WMIXNGZOACTTCRIQAC
zig fmt fixes
Created by  voroskoi  on January 22, 2023
MNOKFKILALKVYLKMM4RDMPZGGU43JWKY3JP6Y4YGLRNPXIAFIXAQC
make nnue check work in ReleaseFast
Created by  voroskoi  on January 22, 2023
TSJ7XPTOC6ATBEBQDJFYG4GVKVY3QSGL7KTO5PCAOSF2DM5APXMQC
Update README, check if nnue file loaded, count nodes
Created by  voroskoi  on January 22, 2023
2TRWSYAHRLVT2V6FGRNHKYQZKFDCMKMJOI2G3HYMOVLSJMGSBFDQC
Update README
Created by  voroskoi  on January 22, 2023
NK6IUUYQENJVKT3SDWOXH7NF6JGCSE66IRFAPJTTYPVVPI34X6RQC
Add NNUE-probe readme and license
Created by  voroskoi  on January 22, 2023
ARKJ6V5BZRW2R5WJHAFDCO5LEZDS75BFPSXWNKTQK4BYT4DCQGHQC
Move UCI stuff to uci.zig
Created by  voroskoi  on January 22, 2023
X3FYJUNL5ORLRC7TW3C5OMNZOX4JEWL73RXOQZLRKLAUBVNARIMAC
Move search functions to search.zig
Created by  voroskoi  on January 22, 2023
RNEXG5IFDKMHSUR6RMNTI3Y32ORLVMZ6UJYKHLV2XBMT2QONBTVQC
Fix x86_64 build, enhance nnue.evaluation tests
Created by  voroskoi  on January 21, 2023
JEBZTHJHLCZETHYCCY26KUGG4IJMALL5H3L2VO4Z4FDV7V5X3IJQC
Move old evaluation code to eval.zig, add nnue.zig for NNUE evaluation
Created by  voroskoi  on January 21, 2023
G4HJL4QLASCZBWYGCEXYYRBYL7UVX6ENELHRRBFB5UAXXGVVGZGQC
build.zig enhancement
Created by  voroskoi  on January 21, 2023
ITBUR5DO3QNEPXLYLFZP2OZIRI4LJU66R3TAD3F4D3YPUR4E2VMQC
Initial NNUE work, evaluation test
Created by  voroskoi  on January 20, 2023
WZNDXPQM23LLYDZ3ZCTB4GOVRJLL7PMSEPSYBVFX6AOTJOZ5YYZQC
Add quiescenceSearch
Created by  voroskoi  on January 20, 2023
5VEZOTVGONDXPL6WC7UWJ4UZXAVJDKOAPC6ATCLSWDDH7AML57UQC
Checkmate, stalemate detection
Created by  voroskoi  on January 20, 2023
WSRRWTTVBE2K6NKPS54CXMY3QYK5YTDRGEH3YJ53VQ2XW5UM5O2QC
Add initial negamax
Created by  voroskoi  on January 19, 2023
THYIOCFC72V4ZMTLMGRGRIBARXT2LPSQCL2XNOIBI22QRVYUMIYQC
Fix backup and restore methods, gotta go fast :-)
Created by  voroskoi  on January 19, 2023
46RTAHPCLRHCLSYGKZIFIFRIWPJ54TJJ2WM5M5FZNNHUSZZZZAYQC
Eliminate memcpy from isSquareAttacked
Created by  voroskoi  on January 19, 2023
HRBTW56Y6C576MF5L7QVHJSFBE6O27SLV7WS4GS2UCH673635SQAC
Remove int() methods
Created by  voroskoi  on January 19, 2023
CWEVCXXC3D5NLLIFIYEWTXHPLX4EU5XH3YUUTMV7GYBLSQXT5VPQC
Add evaluate function
Created by  voroskoi  on January 19, 2023
DKK2G2S3X7KFEJBHGLUEVTBBW6UBR36XR7ZBUWG5GO6JYXWGJOOAC
Make our first move :-)
Created by  voroskoi  on January 19, 2023
GLTWBA5NKQIHAL23SWKCFOZQH62W6B3LX4RC5GFQUEQUIYN4OKSAC
update to latest zig-master
Created by  voroskoi  on January 19, 2023
NYVHTMLLUMBKBQSWO6SQDQ5KFACQLNCBRDDM5BH3OU6WWT54KC2AC
Add parsePosition method
Created by  voroskoi  on January 18, 2023
LWF4H4TMNZYUKTCVDALXQLBE3U5AXQJ3LLNUJJ7YGTLG6T2O33JAC
Add UCI-parseMove method
Created by  voroskoi  on January 18, 2023
6S6HHKOXBQ5ARL7S7PKMPDIAH3VTPOAPWWSMGY37RP2R2U662FBAC
Use pointers
Created by  voroskoi  on January 17, 2023
VFH3EJPYSVGK6HYH4B3SVYG7LPBSHEPRRGRH2QRAC4KYWAV3SSIQC
Cosmetics
Created by  voroskoi  on January 17, 2023
3H3DSWLBWCE7C43W6LHICCPJ5KQDLASLQPIKJOK2KAE6OFF2L6WAC
Add perft tests, fix errors. Works, but slow as hell
Created by  voroskoi  on January 8, 2023
FOORIA7SEZCLKDBNMV6KEDTQOJJVAH57BQFBRSQMET6FERJPHCVQC
makeMove: handle illegal moves
Created by  voroskoi  on January 8, 2023
OF6NBX4Y6UWXBSSENWBBYH3AU4TI5FCD5S7WKYMINBUBCKA2MD4AC
makeMove: update occupancies
Created by  voroskoi  on January 8, 2023
GDHXEMN5IXJDS63G3DUZH5PR2XH2SSXISABF2JHCYA3JSRXDPLMQC
makeMove: handle castling cases
Created by  voroskoi  on January 8, 2023
XHCMZF25YBLNQLVKKBJJWWJ3G24VFUSLE3LAT2DRWL52RJX4Z3EAC
Start working on makeMove()
Created by  voroskoi  on January 7, 2023
2CU67A3QXXPH722WBAL74O6P2N2RRXFBQVPT3A5QAXTUCQ3UUU5AC
Refactoring: Move Board stuff to its own file
Created by  voroskoi  on January 7, 2023
TB4YBE4CMWCLSKJ43QF6IU5HVYUUO33BLXVG7XDRLJS3IFIBQLYAC
Implement backup() and restore()
Created by  voroskoi  on January 7, 2023
AILDUV72D7FNB56O2UESPLFWQSHBYO4QZENSK2QSHR3UR52GLVFQC
Collect moves for each state
Created by  voroskoi  on January 7, 2023
JPK7SJDQWLCNDXJQEQQHXBN4Y677BPQ5QBL55GRZ55RSP4GK4L4AC
Implement castlingMoves() and genMoves() for other pieces
Created by  voroskoi  on January 7, 2023
EHBLDMND5ASGZTTLDLEA5RGQIAZTXZN4HBPGD5PB6FDGZGTJ33SQC
use pawnMove() as a separate function, bugfixes
Created by  voroskoi  on January 7, 2023
7SQSGQOZRCHN3GGWPNFI36K2R7YZMOPXZP3FP4PYDDOZML5YIYOQC
Initial generateMoves()
Created by  voroskoi  on January 6, 2023
XCZABYMDLHLHXNTHZFCXPNP6VOCNYUROAQACE5SWBL5FJK2EB7WQC
Add isSquareAttacked method to Game
Created by  voroskoi  on January 6, 2023
O6734I3LMVTKXE5Y7FR3EDGSVIJQHFATUPJJCMRYXD7KLAN6E4UQC
Add queen attacks
Created by  voroskoi  on January 6, 2023
IBUD4SUGA4IS6HUQIHVJJOFS4CMTWJMTMXS4LWGFVK4PFUFKE5LAC
Implement FEN parser
Created by  voroskoi  on January 6, 2023
QYOCQUIWNSZNLCPDJCKERKC6BXBUNTE6AJCFYL4WDRU32LFX37XQC
Change BitBoard representation
Created by  voroskoi  on January 5, 2023
YCH5WGGP3PPG2PUNVJIJ6SQXDPYU7NGCVQEJYN27B6FYV5JYQOMQC
Add side, enpassant and castling info to Game
Created by  voroskoi  on January 5, 2023
3MEBL2ZUY2LI5LW6MK6B32F62TSVF46QVNIDB3Y4OWLAN4NT7KTAC
Add Game struct with initial bitboards setup
Created by  voroskoi  on January 5, 2023
7T5U3ARTEEAORKCSJY763X5TJRGHCEQK3OW323YO5CZIM77EH77AC
Generate rook and bishop attacks based on occupancy
Created by  voroskoi  on January 3, 2023
WTTQGET65BQV7NSFOI75JGCTWFS6R73OFZE4V63JYWAODNIOUAHQC
Refactoring: Move blocker attacks to attacks.zig
Created by  voroskoi  on January 3, 2023
GZPVUGLJGD3VGLIK7JDABQ24E5SWN5CYRDGI6PIAFZ2BIMRDMANQC
Enhance magic number part, add tests
Created by  voroskoi  on January 2, 2023
YVNKHIU4ENET52Y5BD5WFA23EVTQ4ZQQLIAZRRA4AN44TXUTNRCQC
Add magic number generator
Created by  voroskoi  on January 2, 2023
TDHJSFFSJZBEZFMDHPLRSVB6CIVJ7AWGGNIC3WUCADQLQSIQKXDAC
Add relevant occupancy matrices
Created by  voroskoi  on December 21, 2022
XARNBDT4A5X6F3WFC5YNZBV5RNZ5GBRYOWKAK5R6HSTPBNIXTHDAC
Add setOccupancy()
Created by  voroskoi  on December 20, 2022
FR6N5DIUYYWT5BBOIBOX3GCSEKZIINSGT4F4CWM6YA2XLQEOU4ZQC
Add runtime blocker checks
Created by  voroskoi  on December 20, 2022
SNMQLFZFCV5XTPRLSD7SV4RPVOGUVJOYCZAKI5ATCEPSI5JMGVAAC
Add Rook attack table
Created by  voroskoi  on December 20, 2022
ET37VV7TCQDN6RWF46EUJB6EPNSDOX5TI25NW4P4H5HI4VOTARZQC
Refactoring, simplifying attack table generation
Created by  voroskoi  on December 20, 2022
BL3ZR4OWJM54HFXUNMUZKB5YQYVBT7ETFIXCOXWL6S5SZFM6IFDQC
Add Bishop attack table
Created by  voroskoi  on December 20, 2022
SC5KHHRYBEZ4RI4JL3MP34O44G3LXCEVVV5H5BB7XQEUJPNKA7HQC
Add King attack table
Created by  voroskoi  on December 19, 2022
POPWRQGY3MKI5MYOLSI24NIBXDHRRX2OAH5UJF2N6MF6RHZQV5DAC
Add Knight attack table
Created by  voroskoi  on December 19, 2022
XLJOYA6SP5ICV4TTKWQ2PNTNZWYFCBAUEODKCBSYEVNREC3OKTOAC
Add fileBits() and rankBits() methods to Square
Created by  voroskoi  on December 19, 2022
RFXUGGUPAFJ7V6BTQZM4SQEAOFLDVWYI5ZIIK6K5EKFDXPPD2ZYQC
Add pawn attack tables
Created by  voroskoi  on December 19, 2022
XCEYZZXOYMROQEI3QCO4N7JM2XPEOLSHE4ZNRWXGN3VFIO2XCBDQC
Add README.md and LICENSE
Created by  voroskoi  on December 12, 2022
3N3FYEBBZ6RLFCFKG2FNHHRDUZBOVBAAXAHBUPSOB3FN5HMWLVDAC
Add BitBoard, Square enum and helper methods
Created by  voroskoi  on December 12, 2022
A46B5KNQFPTZEIL2JZKD2CQELGU3COE6FGTV2ABS5U7DVTVDGEBQC
(no change message)
Created by   on December 12, 2022
I5ZS5U356QWN6INGPAFJ4LX3BH7BHEUGJPZQ5WVQFIBFF6OTB3RAC