http://buildnewgames.com/introduction-to-crafty/