Everything there is to know about developing a game on your own - tdd, good practices, lessons learned