This is pretty cool. I read through the code before I played it. It's nice to read someone else's code that I can actually understand. Simple and nifty. Did you build the engine and then build the game? Or build the engine to fit the game as you went?