I am playing with the concept of a city builder and I have seen many around, but I am still fresh in the area of game design.

I have seen city builders where, once you build a building, you have to demolish it to free the space in order to redesign your city. Once you start with a mistake, you have to work around it and in the end you get...ugliness. Improvisation. But its realistic. You have to plan ahead. Maybe restart the game without making that mistake. But this is discouraging to do. I often get frustrated with punishing games and feel no obligation to take the negative impact of my actions.

On other hand you have games that let you reposition / rotate the buildings after you construct them. While this is obviously unrealistic, you don't get punished for your earlier mistakes and have the freedom to aesthetically reshape your city to your liking. Still, you don't require foresight and I feel you are almost robbed of the reward of the foresight. Also, it breaks the immersion somewhat, you feel like "playing a game".

I can't touch on the relevancy of this. It seems such a trivial matter but I can't put my finger on it.

  • 2
    \$\begingroup\$ This is simply a design decision that developer need to make. There isn't a correct answer to the question \$\endgroup\$
    – Kromster
    Sep 1, 2014 at 8:48

2 Answers 2


I agree with your sentiment that the "punishment" in games are sometimes a bit harsh, especially when having to restart a game in order to fix one or two simple mistakes.

Even in games that aim for realism, they are still a form of entertainment and as such I think they should avoid frustration as much as possible.

To that end, some ways to solve your particular problem would be:

  • Allow an undo function, which would allow the last building placed to be removed without penalty. This can have a cooldown timer to prevent the player from overusing it (if needed). You can also limit the number of uses per game, to further prevent abuse.

  • Allow buildings to be rotated/moved (or whatever) at a very high cost. This idea has been used in many different styles of games to prevent having to restart on account of a single (or very few) mistake, but still allow the player to continue by fixing these problems. RPGs use this by allowing characters to be re-spec'd at later stages in the game.

  • If you want to keep it more tied to the game (i.e. avoid breaking immersion) you could (for example) have a "fund" that is specifically tailored to building maintenance or retro-fitting (or whatver you want to call it in-game). This fund can then be built up by the player (in whatver way seems fitting) and can then be used to alter buildings. To make it more "real" you could limit this "maintenance" to a single building at a time and make it take some amount of time (relative to how much money is spent) to complete before subsequent buildings can be altered. Using this method, it would be much more realistic, and it would actually add an extra layer to your gameplay.

Just some ideas for you. Obviously, whatever you implement will depend greatly on what your specific goals are and how the game plays in testing.


This is simply a design decision that you, as the developer, will need to make on your own terms. There isn't a correct answer to the question. Some paths you could consider:

  • Poll the users on an established game's forums and determine what their communities prefer.
  • Implement different difficulty levels in your game: Easy lets you rotate, Hard does not.
  • Implement the rotation as a feature and let the player decide if they want to utilize the function or test their design skills themselves.

Not the answer you're looking for? Browse other questions tagged .