Briwats chess engine banner

Briwats chess engine

4 devlogs
17h 59m 32s

a small chess engine made with love

Repository

Loading README...

Anass Zakar

Made it Bug-Less! (and faster!)

during the past 2 days i wrote a lot of crappy code, like, A LOT OF CRAPPY CODE, which was so crappy a lot of it was straight-out incorrect, so i had to spend a lot of time debugging and playing against it in Cute-Chess and Lichess in order to know where the issues were at, also i made some slight optimizations like better move ordering and less memory usage, also i finally deployed it to Lichess! if the bot is offline for some reason shoot me a message on slack and i’ll revive it!


Special thanks to @penguinencounter and @tom for helping me test the engine, bellow is an image of @penguinencounter’s game with it!

Attachment
1

Comments

penguinencounter
penguinencounter about 15 hours ago

ayyy that’s me

Anass Zakar

Made it visual!

I implemented UCI which made it easy to visualize the chess engine better and hopefully make it easier to debug! also i had to rewrite some main functions in order to optimize the engine further, it still struggles with depths like 6 and 7 and barely holds 1s for depth 5, so getting it to depth 7 under 1s and being bug-less should be the shipping goal!


what was done:

  • Optimize move generation (domove/undomove instead of storing boards!)

  • Implement UCI move notation

  • Implement UCI and hook it up with Cute-Chess and Lichess

  • Remove Board from being global and pass by reference instead

Attachment
0
Anass Zakar

Made the chess engine functional!

I’ve finished the longest part which is move generation, for now the engine fully traverses depth 5 in an average of 1.24s for initial positions even with alpha-beta prunning

next step is implementing UCI and optimizing move generation and perhaps attempt Monto-carlo search and other non-bruteforce methods, and also train a NNUE to evaluate boards instead of the hand-made evaluation function

Attachment
0