Examples of game mechanics that tell stories: Diablo 2, Starcraft’s Demo, Rogue, Star Control 2


[~2700 words]

Recently I watched a good video by Mark Brown about the Last Guardian. He analyzes how the game communicates story through gameplay and he looks at one specific moment in the game. If you don’t mind mild spoilers on the Last Guardian then go check out the video, it’s pretty good.

This got me to thinking about other moments in games when story is being told through narrative.

Of relevance is an older post I made about Riven and how it manages to merge narrative and gameplay so that they are one and the same. The image at the top of the post is also for Riven, but there’s no storytelling going on there. I just like that view.


In Act III you go through wild jungle regions before winding up in some areas that are meant to represent the city of Khurast (Lower Khurast, the Khurast Bazaar, Upper Khurast, and the Travincal). It’s here that you’ll fight human enemies, citizens of Khurast and Zealots of the local religion, that have been corrupted by the demon antagonists.

Normally, they run up and attack you just like all the other monsters, demons, and corrupted wildlife.

However, something most people don’t notice is that after you’ve defeated the High Council (leaders of the people of Khurast), destroy the “Compelling Orb”, and then go back to these areas of Khurast, the Zealots will run away from you and do their best not to fight you.


This isn’t the only time enemies flee from the players in Diablo 2, but it is the only time this becomes the default reaction an enemy has to the player and it is the only time it happens due to the player’s progress in the game.

And I really loved this behavior when I discovered it. It really brings more life to the world and adds a little verisimilitude to an otherwise pretty lifeless game (although a very addictive one).

Through the behavior/mechanics of these enemies you’re being told a couple stories.

The first is a story about your progress as a player. Normally in Diablo 2 (and most RPGs and Rogue-likes) you level up, get better gear, and make progress, but the rest of the world doesn’t care. Everything still reacts to you the same way at Level 42 as it did when you were Level 13. But, with the Zealots, you actually get a tangible response to your growing strength. They actually react to your progress and avoid you, thus becoming a unique metric for your own growth.

The second story is a symbolic one about the Zealots: they’re human. Which seems mundane, but bear with me. These aren’t mindless monsters, bloodthirsty demons, or animals that have been driven rabid through evil corruption. Creatures like that are either reacting with no self control or have no care for their own well being. The Zealots on the other hand have thoughts, they have opinions, and they care about preserving their own life. They’re willing to fight for a cause, but once you’ve destroyed their leadership (and the influence of the Compelling Orb) they realize that it’s time to cut their losses and save themselves. Their behavior shows that they are more complex individuals (even minimally) than the other enemies of the game.

It’s one of my favorite moments in Diablo 2 and it’s one that most people miss because they don’t backtrack to previous areas.


In the demo to the original Starcraft there was a really excellent example of nonverbal storytelling, and for the sake of making it fit the theme of this blogpost I’m going to say that it tells its story through the ABSENCE of mechanics.

(I wrote about this a long time ago in a previous post, but my point was kind of obfuscated by some gonzo humor I was doing. I tried a lot of experimental things in the early days of my blog.)

So, the situation is this. You’ve got to get through a Zerg-infested facility to rescue some scientists and bring two of the scientists back to the entrance of the facility.

Here’s the backstory. To deal with the Zerg infestation you’ve been put under the command of a mysterious and secretive Recon Squad called Cerberus Unit, whose actual units are marked with the teal color palette (this is important).

Right before entering the facility the commander of the Cerberus Unit reveals knowledge he has about what’s going on inside the facility when no one else is aware of what’s going on (mildly important).

Anyway, you end up rescuing the scientists. They’re all in white. Except one. One scientist is teal. No characters remark on this, no one reacts differently to the teal scientist. Obviously this is something only the player is aware of, and obviously the scientist is a Cerberus spy. This was how the Cerberus commander knew what was going on inside the facility: he had an agent on the inside.

We don't like your kind here, maybe.

Whose turf is this?

It’s a small thing, just a palette swap, but it actually communicates so much in context, and not just that the scientist is secretly working for Cerberus. The absence of mechanics with this scientist also tell a story.

Aside from the teal color, there is nothing special about the Cerberus scientist. I remember experimenting with him. He doesn’t activate anything special. You can’t use him to trigger any events nor dialogue. He can die or you can kill him yourself, and nothing changes. His presence isn’t required to beat the level. As long as you bring any two scientists to the start of the level you’ll win.

The absence of any unique mechanics with this obviously unique unit conveys a decent amount of story. The Cerberus scientist is deep under cover and neither he nor his commander are willing to break that cover. The fact that he dies without reaction shows that Cerberus agents are expendable, they know they’re expendable, and they’re willing to make that sacrifice without giving up their identity. It communicates the powerful, calculating, and disciplined nature of the covert military group, Cerberus.

On a minor side note, it also tells us that the information the Cerberus commander wants to retrieve from the facility isn’t unique to the Cerberus spy. The information can be gained from any of the other scientists.

So, there’s an example of how an ABSENCE of mechanics, how an absence of unique behavior, managed to convey story.

It’s just too bad that this kind of clever and elegant storytelling doesn’t appear pretty much anywhere else in the Starcraft series.


Haha! You thought I was going to talk about the old computer game that spawned the term “Rogue-like”? You’re wrong!

This next example of telling story through mechanics doesn’t come from video games: it comes from comic books.


The specific example is Rogue from the X-Men, and I’m talking about before she became a good guy. Rogue started off as a villain which should come as no surprise as her name literally means “bad guy”. Interestingly enough, while her name meant “bad guy”, her mutant ability also meant “bad guy”. Rogue’s ability was to steal other mutants’ powers through physical touch. And that’s bad. Stealing is bad and this fact sets up the audience to dislike her, at first.

I think a lot of people don’t really notice this, but if you look at the other mutant abilities in the X-Men there is nothing inherently good or evil about them. Nightcrawler’s teleportation, Magneto’s control of metal, and Xavier’s telepathy are inherently innocuous powers and are only “good” or “bad” depending on how their owners use them. But Rogue’s ability to steal power is inherently bad. No matter how she uses it she’s doing something malicious and cruel even if she’s doing it for a good cause.

And that’s a great example of how Rogue’s mechanics tell a story, and it’s something that game designers could definitely learn from. Just think about games where there was a clear “good” and “bad” side. Did the mechanics of each side actually reflect their moral alignment? Or were their abilities/mechanics/powers essentially tools that could be used for good or ill?


We can learn about how to tell stories through gameplay by looking at failures just as easily as we can by looking at success. Especially when those failures occur in a game that had ample opportunity to have success.

A good place to find examples of both, failure and success (and examples in between) in terms of storytelling through game mechanics, is Star Control 2.

Star Control 2 has a whole slew of different alien races, each with its own spaceship and combat systems that battle each other in 1v1 space arenas.


One success are the Spathi.

The Spathi, a race of cowardly mollusks, have a ship that fires a purple, homing “Butt Missile” out the back of the ship. The only way to use the Butt Missile effectively is to turn your back on the enemy. Which is perfect for the Spathi. Not only does the mechanic communicate the Spathi’s cowardice, but it also encourages the players to play in a cowardly manner by flying away from their opponent at the last minute.

Unfortunately, many other ships do not reflect the narratives of their races.

There’s the ship of the Thraddash, a race of war-mongering Rhino-hogs who can’t control their lust for battle and dive headlong into any conflict. Despite this narrative, their ship plays very defensively and very conservatively. It has an “Afterburner” ability which leaves a trail of fire that can damage enemy ships and destroy enemy missiles/projectiles.


So, you’re basically using it defend yourself from enemy fire while also trying to leave a trail in the flight path of your enemy. This would be a great power for a race that engaged in something more like guerilla warfare or harassment, but it does not fit the directly confrontational culture of the Thraddash.

Then there’s the Zoq-Fot-Pik which are three diminutive species that evolved on the same planet and have learned to rely on each other over time. They are also hiding from the antagonistic species of the galaxy despite residing very close to them. So, the fact that their ship has a short range spray attack and a short range “tongue” attack has nothing to do with their narrative. Neither of these two mechanics tell any kind of story about them.

A mechanic that WOULD narratively reflect the Zoq-Fot-Pik would be a ship that cycles through three weapon modes that work together somehow (like one projectile is very slow, but if it’s hit with a fast projectile it creates a huge explosion, kind of like Unreal’s Shock Rifle).


Or stealth. That’s another mechanic that would reflect the narrative of the Zoq-Fot-Pik (reflecting how they’re hiding from the Ur-Quan). Now, the Zoq-Fot-Pik’s ship doesn’t have a cloaking device, but the ship of the Illwrath does.

The Illwrath are basically cruel and evil spider people who love bloodshed and war, and nothing about their narrative really has anything to do with hiding from or avoiding conflict. Yet their ship can turn invisible and has a flamethrower.

There are a couple ships whose mechanics kind-of sort-of tell a story about their respective species, but don’t quite achieve success.

The first is the Syreen’s ship (which is shaped like a dildo and called “The Penetrator”).

The Syreen are portrayed as buxom, sensuous space babes and their name obviously comes from the Greek myth of the Sirens. Despite that last bit, the Syreen don’t share much narrative with Sirens. However, their mechanics do. One of the mechanics of the Syreen ship is a short range “call” which causes the enemy crew to jump ship and float through space toward the Syreen. Once the crew members (little green dots) are floating in space, either the enemy ship or the Syreen ship can pick them up.


At this point you need to understand that in Star Control 2 your ship’s health actually represents your ship’s crew. So, when you lose crew members you’re also losing health, and vice versa.

So, while narratively the Syreen are luring away crew members, mechanically they are actually leaching away health from the other ship. Which is a mechanic that would fit better with a species that was vampiric in nature.

If the Syreen are supposed to be analogous to the actual Sirens then a better mechanic would be some sort of Tractor Beam. And wouldn’t you know it, there is a ship in Star Control 2 that DOES have a tractor beam. Not only does the Chmmr ship have a Tractor Beam, it also has defense drones which tear apart anything that gets within range, which would also be a mechanic that reflects the Siren myth.

However, the story of the Chmmr has nothing to do with the mechanics of their ship. The Chmmr are a combination of the Chenjesu (a race of intelligent, crystalline beings) and the Mmrnmhrm (a race of mechanical lifeforms) which decided to fuse together to form a more powerful species: the Chmmr. There is really nothing about the Chmmr’s story that is reflected by a Tractor Bea—


Okay, okay, I think you get the picture: SC 2 has all sorts of mechanics and stories that would work well together except they’re all mismatched.

But, despite getting the picture, indulge me by letting me talk, lengthily, about the Orz’s ship. The Orz also have a ship whose mechanic doesn’t quite reflect their narrative although it’s kind-of sort-of going in the right direction.

The Orz are my favorite aliens in Star Control 2, and despite their ridiculous presentation it is strongly implied that they are not a species at all: they are the “fingers” of a powerful, predatory being from another dimension of reality trying to break into our part of reality.

This narrative of invasion is kind-of sort-of reflected in one of the Orz’s ship mechanics (the other mechanic is a gun turret the player can rotate 360°).

The Orz ship can launch it’s own crew members as space marines, which float through space, and if they reach the enemy ship they’ll board it and slowly start killing off the crew before dying themselves.


It’s hard for me to pinpoint why I don’t feel this is really a success in terms of gameplay telling story despite being a step in the right direction.

Maybe it’s that an extra-dimensional creature projecting itself into our universe isn’t quite the same thing as sending space marines to board a ship. Boarding a ship is so mundane compared to the otherworldly, fantastical nature of the Orz’s narrative invasion.

Maybe the other part has to do with the fact that when you lose crew members you’re really losing health. So, when you launch crew members as space marines you’re really draining your own health to do so. And this doesn’t feel quite right mechanically or narratively, although I’m not going to unpack that right now.

I have a few alternate ideas for mechanics that might better communicate the Orz’s story.

One would be that the Orz ship is “phased out” and can’t interact with anything, can’t take damage, and can’t deal damage. To damage opponents the Orz ship would have to “phase in” which would also make it vulnerable. A possible interesting strategy could be to fire projectiles while phased out and then phase in right when the projectiles are about to hit the enemy.

A second mechanic would be that there would be one real Orz ship and several fake projections of the ship. Only the real Orz ship would respond to the players input while the projections would “invert” the players commands. So, when the player presses “left” one projection goes right, one projection goes down, one projection goes up, and only the true ship would go left. This way the player would know which is the real ship (the one moving in the correct direction) while the opponent would be confused.

I think these mechanics would go a long way to communicating the Orz’s otherworldly nature and how they’re not what they seem (although it doesn’t communicate their invasion narrative).


I’ll definitely be making posts in the future as I think of more examples of storytelling through mechanics.

That’s it. That’s all I can think of to wrap this all up. Bye.


Speak, mortal, if you dare...

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