Today is a good day to code

What is Nc3 Bb4

Posted: September 16th, 2011 | Author: | Filed under: chess, nc3bb4 | Tags: , , , , , | 2 Comments »

Other than being Knight to c3, Bishop to b4, and a move from a variation of the French Defense, it is now my hobby HTML5 chess project.  Based on the engine of garbochess, it uses web workers to factor and rank the moves in a map/reduce way.  I used to play chess for an hour and a half every day when I was a kid, and I hadn’t realized how much I missed it until I started playing with my 4 year old recently.  Then when I got onto my Chromebook, there didn’t seem to be any local storage using, HTML5 based apps just for Chrome.  Incidentally, an awesome resource for getting started with chess programming is the chessprogramming wiki.  Check it out if you have an interest as well.

Being a programmer, and starting out looking at map/reduce, I was seduced by the chess bug.  Boy chess programming is fun!  For now, the project is in an MVP state.  I intend to modify garbochess such that the machine will learn how to play better against you by weighting the ranking of moves for successes and failures during the evaluation.  It is going to be tricky to modify it in such a way so as the machine learning algorithm doesn’t get stupid with a simple mod, and that I use a markov chain to make sure to consider the state as a basis for each move down the line.  My current thought is to weight endgame moves logarithmically higher or worse depending on the outcome of the game, however my thinking is likely to change as I learn more.

I do intend to create an online component to this, but I am torn between connecting to, and building my own service to facilitate games using XMPP and / or node.js.  I am leaning toward building my own, because freechess’ api is non-existent, however the community over there is awesome.  I guess that since it is a hobby, having a bit of NIH syndrome is probably O.K.  If you like it, please drop me a comment, likewise if you don’t like it, please drop me a comment.

  • Jimmybrion

    Interest to learn new technologies makes a good IT Person. No degree is important

  • Richard Dickinson

    Cool chess game. I did my own HTML5 dragndrop chessboard with unicode pieces a while back that I meant to integrate with a JavaScript engine but haven’t done that yet. This sounds interesting >”it uses web workers to factor and rank the moves in a map/reduce way”<.Goodluck with your server integration & chess programming! :-)