How I made a game engine and game from (almost) scratch
hockeyslam.com