Process and Progress on the Gamesalad Sim Game

Screen Shot of the game as it looked on 2013-01-14
I’d like to share a bit about my process and approach to building a sim game, using Gamesalad. I announced the project a month ago, and have since been working on it in my spare time. At this point I have a bare bones alpha version, with most of the basic features in place, but still no graphics, music or sound. And of course, I have a few more features to implement, bugs that need ironing out and content that could use some expanding.

As simple as it sounds, it started with wanting to make a game, I would want to play. It had to be about growth and maintaining balance, a game to immerse oneself in, with different strategies available but without the need for absolute micromanagement. I wanted a fairly confined game world, and decided that the story of settling and growing a medieval town would work perfectly.

I started by defining an end to the game, in this case if the town ever reaches population: 0, the game is over. As a result, a primary goal of the game is to grow your population (and thereby your town).

Next, I added a few parameters to play with. I started with just “taxes” and “happiness”, and defined a set of rules for how those would affect each other, and the overall population growth. This brought “resources” into play as well, as the in-game currency. Resources are gained via taxes and can be used for “upgrades”.

With the idea of “upgrades”, a new layer was added to the game. These upgrades (from eateries to workshops) are investments the player can make. By investing in a series of upgrades, special benefits are unlocked, on top of earning points. Invest enough in any one upgrade and you “max it out”, meaning you can no longer invest resources in that particular upgrade. Some upgrades require a minimum population to become available.

I decided to introduce another game element, and present the player with the occasional choice. For instance, you might be approached by a tribe seeking to settle in your town. If you let them your population will go up, but your “employment rate” will go down. By introducing these choices, I also ended up defining more parameters (like employment rate and average lifespan), that in turn would affect happiness and population growth itself.

For an element of randomness, I introduced the somewhat rarer “events”. From gifted artists appearing to earthquakes, these represent the world outside the influence of the player’s choices. Some events are beneficial, others are damaging – and their impact scale with the population (for instance, an earthquake will do more damage on a large town than on a small settlement).

From behind the scenes, these are the "actors" currently used in the game (click for large).

From behind the scenes, these are the “actors” currently used in the game (click for large).

With every new element introduced, the game balance is threatened. For that reason, I constantly go back and tweak various calculations, adjusting the importance and mix of individual parameters, and how they influence one another. This is by far the most difficult aspect of designing the game, because this is where all the elements come together.

I play the game a lot. I test run it for a few in-game years with every tweak, try different approaches and strategies, and deliberately look for ways to beat the game. Occasionally I will play a longer game, seeing how the math holds up as the numbers get higher. I also look for places where the game is too hard, or unbalanced, and try to decipher if I need to tweak the math or add yet another layer.

When the game reaches a point where it feels reasonably stable and balanced to me, I will ask others to prove me wrong. Which I am sure will be no problem for them to do. And then it’s back to the drawing board for more adjustments.

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>