Tutorial on Building a Chess Game & AI Using Eclipse RCP

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.

TLDR: Here’s the YouTube Playlist

What Is It?

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!

Who Is It For?

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

Playlist Overview

There are a total of 30 videos in the playlist, which is organized as follows:

Video # Topic
1 Introduction
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)

Sound Issues

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.

Contributing

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
  • Castling
  • 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!