About the project
The video link is in my Bitbucket README.
MasterMove: A Powerful Chess Engine
Inspired by my passion for chess programming, I set out to create my own chess engine called MasterMove. This project has been an incredible learning experience, allowing me to dive deep into the world of chess algorithms, evaluation techniques, and search optimizations.
Building MasterMove has been both challenging and rewarding. I started by studying existing chess engines and implementing core functionalities like move generation and basic search algorithms. As I progressed, I incorporated more advanced techniques to improve the engine's strength and efficiency.
Some of the key features and techniques I've implemented in MasterMove include:
Search Techniques:
- Aspiration Windows
- Null Move Pruning
- Late Move Reduction
- Principal Variation Search
- Quiescence Search with Delta Pruning
Move Ordering:
- PV Table
- Hash Move
- Capture ordering using MVV-LVA
- Killer moves
- History heuristic
Evaluation:
- NNUE (Neural Network Used for Evaluation)
- Endgame evaluation improvements
One of the biggest challenges I faced was implementing and fine-tuning the NNUE evaluation. While it significantly boosted MasterMove's playing strength, getting it to work correctly and efficiently required a lot of research and experimentation.
Another hurdle was optimizing the move generation and search algorithms to achieve good performance. I spent considerable time profiling and refining these critical components to ensure MasterMove could search deep enough within reasonable time constraints.
Throughout this project, I've gained a deep appreciation for the complexity of chess programming and the ingenuity of the chess programming community. I'm excited to continue improving MasterMove and exploring new techniques to make it even stronger.
For a detailed explanation of the project and its development process, please check out the video in the README of the Bitbucket repository.

Log in or sign up for Devpost to join the conversation.