Zack Aman

26 Jan 2015

For my clock, I wanted to take chess and use it to convey time.  Usually it goes the other way, with time being a defining characteristic of competitive chess, but here I figured I could map the progression through a game to the progression through the day.  Initially, I wanted to have a game play out every minute, with different openings every hour and shorter games at the beginning (slower moves during the minute) and longer games at the end of the hour (faster moves).  However, in order to scope the project back I ended up aiming to run a single 24 turn game (48 moves total) during the day.

chessclock scan

I was not able to finish the project in a full, working form.  I wrote a script to take a chess game (Magnus Carlsen vs. Sergey Leonidovich Kalinitschew) and output it as 48 lines of 64 characters, with each character representing a single square on the board.  I also have working functions that render the board as well as the pieces.  Where this falls down in trying to move from one board state to the next — the application hangs after about the third move.  I’m not sure if this is because of the watch not having the computing resources to handle the application or the code being buggy (I used the javascript version, which I regret — the documentation is poor and I found at least one thing I’d definitively consider a bug).  I’m more or less satisfied with the work I’ve done but frustrated that it fell down crossing the finish line.

ChessClock code viewable on GitHub here

Helper code viewable on GitHub here