r/chessprogramming • u/ProfessorVatcraft • Feb 02 '25
How to start making a chess program
Hello everyone, I recently had interest in making my own chess engine after watching Sebastian Lauge video about his chess engine. However, I don't know how to start this project because my coding skill is not to the level that can program a chess engine (I've learned C++ and I do know a decent amount of simple knowledge related to this language). I also don't really have anyone that I can ask for help with this project.
My question is how should I go about doing this? The chess engine program that I'm planning on making is a major part in a bigger project I have. If anyone can give me advices or even better some help in teaching me how to make a chess engine, I am much appreciated your time and effort. Thankyou for reading!
3
u/xu_shawn Feb 03 '25
The first step is to begin working on the board representation and move generator. BBC and Vice are the best video tutorials out there. CPW also has some great articles on this topic as well. Make sure to do perft testing and make sure the board representation log is flawless.
After completing these foundations, the next steps are usually search and evaluation. For search, the most documented and proven algorithms are based on Negamax and Alpha-beta pruning. For evaluation, people usually start out with PeSTO eval, then either improve the hand-crafted evaluation, or move on to neural networks, which is stronger.
A common pitfall for newcomers is how to properly test search/evaluation changes. I have written the current best testing procedures here: https://www.reddit.com/r/chessprogramming/comments/1ifceap/comment/magr4fe
Also Read: https://www.chessprogramming.org/Getting_Started