Final submission for third year Game Engines assignment