Skip to content

My second chess engine, focused on improved design and performance.

License

Notifications You must be signed in to change notification settings

j1642/chess-engine-2

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

My first bitboard-based engine.

How to Use

Obtain a third-party UCI-compatible chess GUI. Build this module's binary file locally (go build). In the GUI settings, set the binary file as the "engine to use."

Perft Milestones

Perft is a debugging function that compares a move tree's leaf node count against an accepted value. The largest performance gains were from reducing memory allocations and the associated GC time.

Depth Time Speed (million leaves/s)
perft(4) 0.15s 1.35
perft(5) 1.4s 3.5
perft(6) 16s 7.1

Want to build your own engine?

I recommend starting by making a command-line game that makes random, legal moves against the player. At that point, reading about move generator debugging, search algorithms, and evaluation algorithms will help your engine make stronger moves.

Learning Resources

About

My second chess engine, focused on improved design and performance.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Languages