Systemic design and player mastery

Recently, I’ve really been getting into watching any% speedrunners. These players aim to finish games as a fast a possible using whatever bugs and exploits they can find. To the untrained eye, viewing can be confusing. 007 Goldeneye runs seem to simply require staring at the floor a chucking grenades at yourself whilst the classic Mario 64 any% category features a lot of sliding up staircases backwards with Mario screaming ‘YAHOO’ as he breaks the sound barrier.

Of course much of the interest revolves around seeing our favourite games completed in a fraction of the time it would take us to finished them, but I believe two other factors have led to the recent resurgence of speedrunning. Firstly, players are always invested in breaking games. Whether it be bug exploits in MOBAs like League of Legends or one of the many YouTube channels breaking sim-type games by duplicating thousands of items, the chaos created by unintended circumstances within a game is always entertaining. Secondly, players enjoy seeing or competing for a level of game mastery. Zelda Breath of the Wild may not have a online ranked ladder to show of your skills, but completing the game hours faster than your friends is the next best thing. Speedruns require a lot of practise, game time and often knowledge of the inner workings of the game demonstrating player mastery. I believe that these elements of player mastery and dynamic gameplay can be pursued by games in the form of systemic design.

Systemic design – what is it and how does it encourage mastery?

Simply put, a systemic game is one which features systems which interact with each other and/or within themselves. For example, Zelda BotW features an environmental system which affects the player character and AI agents throughout the game in dynamic ways. Following rain, surfaces become more slippery making it harder to climb, but it also dampens the ground making footsteps more quiet and sneaking easier.

Signs You've Played Too Much Zelda Breath of the Wild
Zelda BotW’s rain can be incredibly frustrating but forces a player to adapt on the fly

Mastery is the ability of a player to understand the underlying systems within a game such as what AI agents are able to do and what cues they follow. Understanding of damage amounts, ability limits and cooldowns also fall under mastery. Intuitively then, in the example above additional mastery can be developed by understanding how systems interact and making use of these dynamic changes whenever relevant. This enables improvisation for the more skilled player as they select strategies or routes that best make use of the current systemic context.

Systemic design has another benefit, carrying a certain wow factor. Games are inherently limiting by their nature as anything possible must be coded. It is true that with the relatively new methods of procedural programming the range of things possible in a game are expanding – procedural generation enables increasingly large maps and procedural animation equally enables fluid adaptation of characters to their environment but even this is limited by the nature of a game engine and system hardware. However, taking existing components of a game and enabling dynamic interactions can massively increase the possibilities within a game world.

Far Cry 4 for example, allows for the player to interact with both human AI and wild animal AI. However, it also allows for human AI to interact with animal AI meaning that dynamic encounters with all 3 parties can occur. It’s likely that more than once during a playthrough you’ll attempt to storm a encampment and end up taking cover as a rampaging elephant angered by the shooting comes storming through the fight attacking the very same militia you were a movement ago.

Far Cry 4 hopes to reach new heights for Ubisoft | Fortune
Far Cry 4 facilitates utter chaos via its systemic AI elements

These dynamic events add a new layer of depth to the game – I remember a friend running into class and excitedly telling me how he managed to lure a tiger into an enemy camp whilst he stealthy snuck to the objective amidst the chaos. This perfectly demonstrates the potential for both dynamic events and mastery as a player learns how these systems work and how they can exploit them giving a twofold satisfaction.

Core elements of successful systemic design

Simply throwing together multiple systems and giving AI an awareness of each other is not sufficient to produce a successful game, indeed systemic design can feel cheap if it is not meaningful to the player experience. The Last of Us for example, would feel far less personal and grounded if zombies and human AI were strewn throughout every mission constantly fighting rather than having tightly honed narrative levels.

Accessible:
The player must be able to comprehend the systemic design, at least at a surface level. This element is split into 3 sub sections:
1: Comprehensible:
The systems must be intuitive. They should make logical sense to all players
2: Consistent:
The systems must be predictable in when they interact
3: Predictable: (more on this to come)
The system must be predictable in how they interact
Modular:
More of a implementation point, systems should be designed in such a way as to be easily added to or to have other system added to the world without it breaking everything. Modular code is important in making sure interactions can occur between a range of classes as new ones are added and old ones removed during development.
This also enables the systems to work differently in context as some areas of the game may feature a different combination of systems than others. When combined with the other core features, this ensures the systems are still intuitive and predictable across all contexts.

Predictable unpredictability:

This will be an entire post within itself at some point, but in short with relation to systemic design, predictability can be scaled in order to achieve different effects.

Typically, systems should be predictable as outlined above. This makes it intuitive for new players to quickly pick up and importantly makes the game feel fair. Something should always act like that something so that the player can learn and respond in an informed manner enabling gameplay mastery. Indeed, the entire principle of Nintendo’s level design operates around providing the player with mechanical tutorials early on in levels so that they can intuitively adapt to more developed sections featuring known mechanics later in the level.

But if something is always unpredictable then it is technically always acting like that something right?

Technically yes. Many world record pace speedruns have been abandoned due to bad RNG, or luck during such things. Now, whilst few games are purpose built for speedrunners, something that is entirely random cannot be learned by iteration and often feels incredibly unfair. Typically, random aspects within games are limited to relatively inconsequential aspects such as daily Turnip prices in Animal Crossing – you can always just sell tomorrow.

Context predictability:
Hades, Supergiant’s 2020 Indie game of the Year winner features constant unpredictability with procedural level generation and core abilities being offered randomly. However, Hades is designed to be attempted multiple times as the player learns the game and how different abilities and weapons work. Importantly, these abilities and weapons systemically interact, but whilst the distribution of abilities is random, the effect of different combinations is always the same. This means new players are rapidly exposed to many different abilities and are also able to quickly learn new their favourite combinations. Equally, the player must adapt when their favourites don’t come up. This means whilst occasional runs are a little lacklustre, an entirely new skill of adapting on the fly is created and actually lies at the core of the gameplay loop as abilities clear on death.

Hades Boons guide: best Boons and Gods | Rock Paper Shotgun
Abilities on each run in Hades are randomly offered making each run a unique test of improvisation

Intra-systemic predictability:
Systems themselves can also vary in predictability but randomness must be justified. Furthermore, randomness does not equal unpredictability. A system where a wild animal responds to environmental factors could be somewhat random but still be somewhat predictable. For example, if the animal responds in ‘fear’ to a fire, it will run away, but the distance, speed and exact direction may show variance. Furthermore, some individuals may display less ‘fear’ and some may display more. If this variance is paired with a cue such as size with larger individuals acting less ‘fearful’, then this variance falls within the bounds of predictability, ultimately enabling deeper levels of game mastery.
Randomness can also lend personality to a character. Typical bosses in combat games have telegraphed attacks that follow patterns so that new players can react and learn and skilled players can achieve memorised counters. Adding randomness to the sequence of attacks however, whilst seeming unfair, will telegraph to the player that this fight is different. As long as the initial deviance from the trope is not overly punishing, such trope-breaking could result in a memorable battle where even the most experienced players must rely on their reactions to improvise.

Conclusion:

Ultimately, systemic design is an incredibly powerful way of increasing the amount of content available to a player in much the same way as procedurally generating aspects. However, it comes at the expense of control making it unsuited to narrative, railroad style stories. Furthermore, systems must be predictable even if there is variance and they must be carefully calibrated for perceived player fairness. If such systems are carefully developed, players can experience a huge variety of dynamic events and interactions capable of making even expansive open worlds feel more real and alive.

Leave a Comment

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