Three months ago I decided to start creating my own chess engine, just for fun. I didn’t expect it would be such a great experience for me. My initial plan was to complete the move generation as soon as possible and then work on AI. It turned out that the move generation could be a big challenge itself. I’m constantly trying to improve the performance, It is addicting .
I think it’s time to say hello to the community and present what I did so far. My move generator is completed but I’m still trying to make it faster. I also started developing the engine but there is nothing significant right now.
PinczerPerft – features:
- written in C++,
magic bitboards,
legal moves generation,
bulk moves counting on last the level,
looking for pinned pieces and checks,
different legal move generation for check/no check.
no make/unmake of moves,
Processor: Intel i7-7500U 2.70GHz
System: Ubuntu, compiled with GCC.
- Perft(1) 0.00 s
Perft(2) 0.00 s
Perft(3) 0.00028 s
Perft(4) 0.00138 s
Perft(5) 0.02859 s
Perft(6) 0.43393 s
Perft(7) 10.769 s
Perft(8) 4 min 54 s
Perft(9) 2 h 17 min
I’m going to publish the source code on GitHub soon.
If anyone is interested I will post updates here.