|1||3||One of our major design choices was the decision to have a state object that stores the main game stats, money, material, pollution, power, and food. The state also stores a record of what has been built. Both the game class and the turn class have a state object. This is so the costs can be broken up into one-time and recurring while not charging the recurring costs until one turn after the player has decided to build the technology. Thus after using the game’s state to calculated the recurring costs at the end of the turn we copy the turn’s state over the game’s state object. While this seems undesirable because we are storing the same data in two places we have chosen to use this setup as it lends itself well to allowing the user to undo a turn if the build something they do not want because we can simply copy the game’s state over the turn’s state.