Finished game. Needs bugtesting.