I have limited Python experience and want to try making a chess engine. What should I use to write the code, and where should I start?
How do I get started coding a chess engine in Python?
Answers
Start with Python itself and an editor such as VS Code. Write and run a few small programs first so you know how to create a file, run it, and read an error message. A beginner Python course can help with that setup as well as the basics.
Chess is a big project for a beginner, but you don't have to build the whole thing at once. Use it as something to work toward while you practice functions, loops, and data structures.
Reply to this answer
For the chess part, begin with a board representation. An 8 by 8 collection of squares is a reasonable place to start. Then work on how pieces move and how to tell which moves are legal.
Once you can generate moves, add a simple position score based on the pieces each side has. After that, look at game tree search: try possible moves, consider the replies, and use the scores to choose between them. Test each piece of that separately before adding the next one.
Reply to this answer
Python is fine for a learning project. A search may get slow as you make it look further ahead, but that doesn't mean you need to switch languages before you've even started.
Reply to this answer
When you get to the engine side, Chessprogramming is a useful reference for board representations, search, and evaluation. There's a lot there, so pick one topic at a time rather than trying to understand every technique up front.
Reply to this answer
Add your answer
Answers are reviewed before publication.
_somewhat+unlisted_6:
A basic piece score won't understand everything about a position, but it gives the search something concrete to work with.