Demonstration of a chess playing engine in Angular 2.
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.

Shallow Thought

Demonstration of a chess playing engine in Angular 2. Please see here for an in-depth discussion of the code.


This is a bit of fun to show some Angular 2 concepts PLUS a chess engine - all in one package. In homage to 'Deep Thought' (the granddaddy of chess engines) and in honest recognition of my engine's feeble playing strength, I have named it Shallow Thought. I hope you enjoy playing around with it as much as I enjoyed building it.

Since this is primarily a learning exercise, it's accompanied by a series of articles that will hopefully explain what's happening (see link above).

Here's a screenshot showing Shallow Thought (Black) getting pounded by Houdini (White)!

Shallow Thought game screenshot


This is my first serious attempt at using Angular 2. Coming from a Visual Studio background, this project was also my first use of the following:

  • Node.js
  • Npm
  • Webpack
  • Git
  • RxJS
  • Web workers (i.e. browser background threads)

I hope it's clear: this is not a masterclass in any of the above (or in writing chess engines, for that matter). Your comments and suggestions are welcome.


This project is based on the Angular 2 seed, so if you have followed the steps and can build and run that project then you should be in pretty good shape to run Shallow Thought.