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.
Type Name Latest commit message Commit 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.