Finished end-to-end game logic