Hi all, I’ve put together a YouTube video series on developing an Eclipse RCP application in Java to build a chess game with a cool AI algorithm called alpha-beta pruning. You need no prior knowledge on Eclipse RCP to follow along, but a basic understanding of the Java programming language would definitely help.
I started developing the first version of this application a few years ago while learning Java. After a while, I started to learn Eclipse RCP and thought it would be a good idea to build a GUI for my chess game on this platform. Then recently I took an AI course and learned about minimax and alpha-beta pruning algorithms. So I decided to rewrite the application and plug these algorithms in so that I could improve the AI, while recording the whole development process. It took a few months and most of my spare time, and finally it’s complete. I hope you like it!
You might like this tutorial if you
- are a beginner in Java and want to learn more about the language (or object-oriented programming in general)
- want to learn how to build a simple Eclipse RCP application
- are interested in watching the whole process of building a chess game from scratch
- want to see the minimax & alpha-beta pruning algorithms in action
- are NOT looking for a detailed tutorial and discussion focused solely on AI or the alpha-beta pruning algorithm
There are a total of 30 videos in the playlist, which is organized as follows:
|2 to 11||Coding the building blocks (board, square, piece etc.)|
|12 to 16||Evaluating the legal moves for different chess pieces|
|17 to 23||Building the GUI, UX and game mechanics|
|27 to 30||Implementing the AI (minimax, alpha-beta-pruning & iterative deepening)|
I apologize for the poor sound quality in the first several videos, especially the one after the intro. Unfortunately, I had to use my laptop’s built-in microphone because I didn’t have one. Thankfully the sound gets better after a while because I managed to get my hands on a decent microphone later on.
Feel free to check out the github repo if you are interested in contributing. I’m aware that there are lots of missing features such as:
- En passant
- Pawn promotion
- Check & checkmate (I know…)
- Potential optimizations regarding the AI
- UX improvements
Make sure to subscribe if you want to get updates on my future articles. Also feel free to leave a comment below and let me know what you think!