2026-02-17 · 5 min read
Starting my Chess Engine
The beginnings of my handcrafted chess engine. No AI help or copying.
- Ideas
- Learning
2026-02-17 · 5 min read
The beginnings of my handcrafted chess engine. No AI help or copying.
Lately I've been getting really into chess.
I just reached a 70 day streak on chess.com, and I'm pushing a 650 elo rating in the rapid games. The site is amazing, but I hate how they make you pay for a game review. I want to be able to review my games without paying for some subscription. So I decided to build and train my own chess engine.
The attached YouTube video also served as inspiration to me.
While this is a problem that has been widely solved, I want to approach it myself. Many people are losing critical thinking and programming skills because it's so easy to just generate code with a prompt. I'm not exempt from that group. So I won't be using AI at all to learn about move validation, training my bot, or anything.
At it's core, this will be a chess engine. I just want to create the backend logic that someone could then attach to a chess UI. I plan to be able to paste in chess notation copied from chess.com games to see how I played. The product should accomplish the following:
Additionally, I don't know a lot about this problem. For example, I know I will need to create some artifact for the model. When I trained my XGBoost, for example, I train to minimize the cost by changing the weights according to some algorithm. I don't know how this will look or what chess engines do here.
The first step will definitely be creating a way to play games purely via chess notation. This will include move validation logic on both white and black. I think castling, en passant, and evaluating checks/checkmates will be the most difficult.
Next, I need to figure out some way to actually train a bot to play against. The main problem is what do the weights/artifacts look like? I would assume that I will need two artifacts, one for black and one for white? Then I could just run a Monte Carlo simulation of many games, and just hope they get better by playing against each other. I've also heard of something called Alpha/Beta I think, but I need to do a bit of research.
I'm going to go out now and create the logic for the game itself. This will be in a python class called ChessGame or something like that. I will report back as I figrue things out.
Chess Video