Ember-Chess is a chess viewer written using Ember.js (ember on github).
See a classic game in action here, and a not-so-classic game here.
Ember-Chess was built as part of a presentation which was intended to provide a fun, clear way to present a crash course on Ember.js.
-
The presentation can be found in presentation.js. Some of it may be a bit vague in the absence of the talky parts, but it should still do a decent job of exploring the app while pointing to some of the features of Ember and how they work.
-
The code corresponding directly to the original presentation can be found at the presentation-v1 tag.
-
More controls ('begin', 'end', 'reset', etc.) would clearly be nice
-
Provide a way to swap between some predefined games
-
Related to resetting and loading different games, it would be nice to define a better interface for the app than "Chess.gameController.set('gameDefinition', Chess.game);"
-
There's a missed opportunity here to show off one of the huge benefits of using Ember to bring structure to this app: there should be tests demonstrating how testable the app is
-
A .pgn -> Chess.Game parser would be totally badass. We could even have a text input so that people can paste in any game they want, and the app plays it through
-
A completely different "view" would be a compelling demonstration of the app architecture. Should be easy to instantiate a gameController (but no Em.Views), and step through it console.logging each move on a text 'board')
-
The unicode pieces are fun, but it'd be nice to have some slick images instead. In fact, it would be sweet if someone with non-trivial design savvy gave the whole thing a coat of paint...
-
Provide a mobile-friendly view
-
Super-ambitious todo: it would be neat to make a version of this which is actually playable, ideally over the network with a friend. It could potentially do fun stuff like 'record' the game as you play for later playback.
- Runs in all the usual suspects (even IE6!... though the IE6 I tested with doesn't seem to recognize the unicode chess chars)
- Works on Android, except the game piece font size is jacked
- Haven't tried it on iOS yet...