Interactive Systems are Big Fun

Valhiem, Minecraft, Rocket League, Etc…

Physics systems, resource systems, exploration systems…

Mastering new skills and environments is hugely fun (with good rewards.)

But what is a system and how do you design one of your own?

Read on to find out,

What is a System?

Def: It’s a black-box that hides one or more rules. When an actor acts upon the system, the action is processed by the system according to its rules, and the system responds (or not) according to the rules. Sometimes systems are themselves actors.

Minecraft is the example of this. Take the block system. Every block in Minecraft can be acted upon. Each block is a system with rules like,

  • Can only be damaged by [tool] or [attack type]

  • Can be set on fire

  • Resists explosives up to strength x

  • When broken… [does something like drop itself or explode or 25% to drop 1-3 meat]

This is a simple and immensely powerful system as it turns everything in the entire world into a loot box - most of which just give you themselves as loot but that’s a reward since you then build things from them.

Why have a system?

Games are pretty much nothing but systems. You’re building them whether you understand it or not. Loot is a system. Combat is a system. Sailing is a system. Movement is a system. Most developers don’t think of these things in terms of systems though since we all rely on tropes for much of our day-to-day design decisions. That’s fine, btw. Instinctively building something fun is usually better than making something that’s logically fun.

Why write this article then? This knowledge will help you in two ways. You’ll be able to better tell when you’ve done something right and you’ll better be able to find what’s lacking when you make something kinda bad (but wouldn’t otherwise know why it’s bad.)

That’s enough of making my case though.

Systems from the players’ side of things

The black-box nature of systems is mega-important for players best learn systems via experimentation. I cannot repeat that enough times. Burn it into your brain. A 2-hour tutorial on all the rules, math, and ways of manipulating a complicated system is NOT FUN. Only the try-hardiest of players will ever want to do that.

Damn if the 2-hour tutorial isn’t an easy trap to fall into as a developer though. I know I’ve done it. I’ve crapped out some massively complex beast that I expected players to RTFM in order to play. In hindsight, that was madness. I’d never put up with that myself as a player. It’s not FUN.

FUN with systems, the thing we’re all here for, is made of 4 components.

  • exploration to discover the system’s rules.

  • experimentation to learn the rules.

  • exploitation of the rules as we master them to dominate the sphere in which they operate.

  • expansion of our power within the game as we use our mastery to leap-frog to higher levels of game-play, to tackle bigger challenges, and so on.

Call it the 4x model of fun ^_~ which brings me to the a very important point.

Systems are interactive

Generally speaking, the player acts on the system and results occur. This stimuli-feedback loop is how exploration happens and how experimentation is facilitated. It’s how players learn. Quality feedback is also how you avoid having a text-heavy tutorial.

Bonus: it’s a low-level mental reward all by itself which is part of why we all love exploring systems. There’s satisfaction, sometimes thrill even, to figuring these things out.

A good system will give some manner of feedback in response to input, no matter what. If it is a system the player can interact with, then there should be basic hot/cold clues as to its usage. Blocks that crack but never fully break is a good example. Good/bad sounds. Shaking. Etc.

The best feedback is sensory. The worst is text. Never tell the player what happened or how its happening when you could show them instead. Humans learn best via sensory feedback so organic discovery is the way to go. Ask your self how the system can provide feedback according to these senses,

  • What do we see?

  • What do we hear?

  • What do we smell?

  • What motion do we feel?

  • What’s the weight of it?

  • What about temperature?

  • What does the player-avatar say?

  • What information does it give us?

I know that some of these can’t truthfully be conveyed since video games really only have sight and sound but there’s a huge library of tropes to use for smell, temperature, weight, motion, and so on. Use them.

Like when a character picks up a heavy object, they slow down, maybe they sway with each step, maybe they pant, maybe their breath fogs their vision a tad. That’s good feedback!

There’s a million ways to do this so my final advice on feedback is to focus on the feeling you want to invoke. Feedback from a system comes in positive and negative results so make sure the player feels the positivity or negativity.

Just make sure to reward the player in the direction you want them to go to keep learning.

The trees in Valheim are a fantastic example. Thwack! You see some damage text. That’s an exploration reward. You’re encouraged to keep going.

So you keep thwacking until CRACK POP CRASH! The tree comes down in a massively satisfying way, maybe bouncing around, maybe hitting you (haha), maybe hitting other trees even! A veritable banquet of sensory rewards has taught you the joys of knocking trees down.

Then you get to pick up the wood for your inventory. (Another reward.) Followed by popups flashing past us of all the new stuff we can make. It’s like winning the jackpot at a casino and it absolutely works just as well.

Then you see a new tree type, thwack! The popup says 0 damage. Hrm… 0 implies its damageable. Now we search for a better ax. Chop it down. New rewards. Repeat for… forever really.

Hopefully you see the cycle of feedback and rewards leading the player forward to greater and greater game play.

Note on the quality of feedback. Players will learn the system faster or slower based on the quality of the feedback they receive. There’s only two dimensions here,

  1. Validity of the feedback. (Is it accurate and how much information does it convey?)

  2. Timeliness of the feedback. (Time between action and response.)

High validity instantaneous feedback will lead the player to learn very quickly. Low-validity or delayed feedback will slow down the learning curve.

The Rules

No system can be without rules. What inputs create what responses? That’s the core of the whole thing. Here’s some examples of the rules of Minecraft monster spawning,

  1. Every tick there’s a chance that a mob will spawn.

  2. If light level of 7 or higher, don’t spawn.

  3. Is there a 2x2 space open? No? Don’t spawn any spiders.

  4. Is there a 1x3 space open? No? Don’t spawn an Enderman.

  5. If zone = Nether, use Nether mobs spawn table.

  6. Etc…

The player is never ever told any of these rules. They see them though. When night falls, mobs spawn. In a cave? Mobs spawn. No lights in your house? Mobs spawn. Eventually players figure out that having light = no mobs spawning.

When they fail to stop all mobs from spawning in their base they will naturally ask why? They will make guesses and experiment. They will discover that its not good enough to have light, but that the light must be bright. Soon after, their entire base is night-proofed with torches and they can move without fear.

Interaction-based sensory-based experimentation-based discovery of the rules that leads to mastery of the system. This is the gold standard.

The Rewards

The best systems grant rewards. These can be tangible rewards such as “do x get y” type stuff and that’s pretty good. You should have rewards like these regularly in your design of the system. They’re the candy that keeps people active and they help players keep going when they’re stuck and not getting mastery-type rewards.

Mastery is the big reward. As a player gets more and more knowledgeable and skilled at manipulating a system it will eventually, and this is the goal, become a tool they use to solve other problems.

This is the most satisfying of rewards, IMO, as it’s real power in the player’s hands in a way that’s deeper than just +5 damage or some such. This is one of the fundamentals people come to like video games for in the first place.

If you can hit this even a few times, you’ll be doing great.

Overlapping and Interwoven Systems

The highest level of systems design is multiple systems that all interact with each other. Minecraft is yet again a great one as we can look at the enchanting system. It’s a system that demands the player learn and master most of the other systems in the game.

For starters, players must,

  1. Fight-Explore all the way to the bottom of the world to find lava. (which requires food and armor)

  2. Mine enough of the world to find diamonds

  3. Craft a diamond pick

  4. Find more diamonds.

  5. Learn how to make obsidian without killing yourself.

  6. Slay cows for leather

  7. Find sugar cane for paper

  8. Craft the enchanting table.

Once they have the enchanting table though, they’re just at the beginning.

  1. Set up the logistics to farm leather, wood, and paper such to create bookshelves to level up the enchanting table.

  2. Mine enough to get the lapis lazuli for the enchants.

  3. Figure out how to engage in industrial levels of combat or animal slaughter to get enough xp to pay for top-level enchants.

This kind of “learn a system and then use it to learn the next system up” sort of design is one of the things that makes Minecraft truly great. It’s the cornerstone of any good survival or open-world game design IMO.

BTW, the cheap and tawdry way of doing all this is often seen in the form of clunky arbitrary systems like “use fire to break red crystals to access hidden areas.” These are ‘systems’ that usually only have 1 rule and are used artificially to limit/gate access.

Now, to be fair, Metroidvania games excel at this sort of thing and there’s definitely a place for it. But that’s because their fundamental structure is a game play loop of “explore-fight-unlock-repeat.”

For most RPGS, open-worlds, survival games, crafting games, and such you probably want to consider more sophisticated systems for the engine that runs of your world.