Fundamentals: System Design

Due to some recent events in my life I’ve been having to do a lot of thinking about in-game systems and their documentation. Because of that, this edition of Fundamentals is going to focus on a topic I’m incredibly passionate about, in-game systems! For those who were looking forward to the Fundamentals of Level Design, that will be coming out soon, just needed a little more time to polish it.

If the artistic design is the beautifully pleasing body of the game, system design is the heart that moves it forward. System design is taking your game concepts and breaking it down into its core features and mechanics to ensure that they are properly balanced and don’t conflict with each other. Every single game you play has multiple systems at work either in the front end or back end, ticking away to create a smooth experience for you the player.

Here is a small list of some common systems in games:

  • Character Progression
  • Inventories
  • Skill Trees
  • Loot Drops
  • Shops
  • Trading
  • In-game economies

Pulling from an example from above, inventory systems have a lot of possibilities that need to be thought of and designed around. Can the player pick up and store any item? Is there a limit to the player’s inventory? Can it be upgraded and how? Can the inventory be interacted with or just used to store current times? This list of questions can go on for quite a while, but I’m sure by now you get the point.

However it’s just not massive features that need this type of evaluation, think of a simple game mechanic like jumping. Jumping is a staple in platforming games but each game is slightly different from each other because of how they defined their jump mechanic. Super Mario Bros. is a great example of how the seemingly simple jump mechanic can be detailed. The jump mechanic for Super Mario Bros takes into account the following:

  • Short or long button press
  • Gravity
  • Power-ups

Nintendo took great care about how they designed the jump to give it that iconic smooth platforming feel that is used as a standard in the genre. The length of time the player spends in the air is influenced by how long they hold the jump button, that why when you feel like you’re going further in your jumps when you hold it down. The gravity taking effect on the player actually changes at two points when the player jumps. When the player first jumps gravity is normal, however as the player hits the peak of their jump and starts to return to the ground. The gravity is increased to bring the player back down to the ground to give it a more realistic feeling. Power-ups also determine if a player’s jump is able to break any blocks above them.

To pull from the previous Fundamentals, this is going to be a lot of the text wall of your game design document. Even the most simple games need to have their mechanics and systems spelled out exactly how they are intended to work. Otherwise you give whoever is implementing them the freedom to add or take away from it. It’s going to be explained through lots of text, spreadsheets, and images however it’s important that it’s explained well.

Let us look back to the previous examples and grab Loot Tables to breakdown how it would actually look within a GDD. The setting and the actual items don’t matter about this game, if we had a level progression system or a shop system, we would have to balance the amount of XP and gold that drops from enemies.

Random Weak Enemy Drop Table

Guaranteed Drops

Drop Percentage Item Dropped Amount Dropped
100% Experience (XP) 100
100% Bones 1

Random Drop Table

Drop Percentage Item Dropped Amount Dropped
50% Gold (GP) 100 – 200
30% Magical Runes 25 – 50
15% Chain mail 1
5% Magical Sword of Awesomeness 1

“When an enemy is killed by a player, the guaranteed drops will be dropped while the Random Drop Table generates a random value between 1 and 100 to pick the dropped item along with the guaranteed one.”

 

It goes without saying that his is a poorly balanced loot table, 5% chance to get a powerful weapon each time you slay a weak enemy would be a terrible idea. However, that isn’t our problem for today’s lesson, it definitely will be a future topic for discussion though!

As poorly balanced as this table is, it satisfies all of the basic criteria for our drop table system. It breaks down what is dropped every time, what the odds of each random drop is, and the situation in how drops are decided.

System design is a massive topic, impossible to cover every aspect of in a single blog post. This is definitely a topic that will be revisited. As I said earlier, it’s one of my favorite aspects of game design due to the technical nature of it.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s