My adventures in game programming