Freshly Squeezed Brain Juice

Philosophy and Game Design

Practical Game Design : The Rule of Threes

Posted by brainjuicegames on March 4, 2010

The Three Amigos! starring Steve Martin, Chevy Chase, and Martin  Short

This is the first article in a series I’m calling Practical Game Design. (cross-posted here on Gamasutra)

The idea is to look back on the great masters of game design over the past few decades and extract some useful techniques from their games that we can immediately use in our own. I’ll stick to specific examples as much as possible.

The first one comes from Shigeru Miyamoto himself, and although it might be known by other names, I’m going to call it “The Rule of Threes.” This is a practical level design technique that introduces the player to new challenges gradually.

Here’s how it works:
Before you challenge the player with a new feature, you first present it in 3 easy but varied situations.

This technique is a favorite of Shigeru Miyamoto, and really helped differentiate his games from all the other punishingly difficult NES titles of the 1980’s. This technique does not makes your games “easier,” however.  Instead, it makes your games more “learnable” by making sure that the player has been “primed” before the real challenges begin. The best part is, you don’t do this with boring, pedantic tutorials. You just do it with gameplay. As Raph Koster would say, the player learns by having fun.

Since this is Practical Game Design, I’ll explain the technique through example. Let’s take a look at the original Super Mario Bros. and see how the Goomba is introduced.

Super Mario Bros: World 1-1: A goomba approaches from the right

Step 1: Introduce the Challenge as simply as possible


The first time we ever see the Goomba, he’s just walking straight towards us. No tricks, nothing fancy: there’s just one of them and he just slowly lumbers in our direction.

Note that this is the easiest possible way to challenge the player with a Goomba.

For most of us, this isn’t much of a problem. Stomp him or hop over him, and you’re good. But, back in 1986, this being the first video game many people had ever played, many players would have been killed by that first Goomba. But that’s no big deal – one life down and start from the beginning, no progress lost. Try again.

Note also that it is literally impossible to get past the first Goomba without learning the game’s most fundamental skill: jumping. This means that the game designer can assume that any player that gets past this initial point knows how to jump.

With this challenge, the designer tells the player:
“There is such a thing as a Goomba.”

Okay, first Goomba has been jumped over. Move to the right a bit, and here we see our second Goomba.

Super Mario Bros. World 1-1: a goomba between two pipes
Step 2: Do it again, with a slight variation

He’s bouncing back and forth between two pipes, and we are standing on a pipe.

This is one step up from the easiest possible Goomba challenge. More importantly, however, this shows us a new dimension to the Goomba. Before the player needed to merely stomp the Goomba or jump and let it pass. Now we have a different situation: it will bounce back and forth when it hits a pipe. The confined space changes the nature of the challenge.

With this challenge, the designer tells the player:
“The land around the Goomba can take different shapes”

This one isn’t particularly difficult, either, and the player is likely to get past this stage fairly quickly. As soon as the player is past this point, the designer can assume the player has absorbed his first two lessons.

Next, we see this:

Super Mario Bros. World 1-1: two goombas between two pipes.
Step 3: Do it again, with another twist

A variation on the challenge we were just given, here is a wider span of two pipes, with two goombas moving back and forth together.

This one is interesting, because it’s both easier and harder than the last challenge. It’s easier because there’s more space, and because you can stomp both Goombas at once, and harder because there’s twice as many of them, so that even if you get one, you might still die.

With this challenge, the designer tells the player:
“The Goomba will not always come alone.”

It only takes about 10 seconds to make it through these three challenges, but already the player has been given a very good introduction on the game’s first enemy type. We’ve learned the basic skill we need to deal with it (jumping), and we’ve been given a quick but representative sample of the various situations in which Goombas will be thrown at us.

This might seem a bit simplistic, but there are plenty of games in which the player is not properly “primed” for new challenges before they’re presented. Instead, the player’s first encounter with the new challenge is to be beaten in the face with it unexpectedly. Not only is this frustrating, but the player is unlikely to learn much from this scenario. The Rule of Threes is a great solution to this problem.

So, back to Super Mario Bros. Now that Miyamoto has introduced us to the Goomba, what happens next?

Super Mario Bros. World 1-1: Goombas from the sky!
Step 4: NOW let ’em have it!

Here we have Goombas falling off of ledges and threatening the player from above. This is really the first time in the game where Goombas are presented as a challenging threat. Imagine if this was the first thing that greeted you upon playing the game. Sure, plenty of us hard-core gamers with decades of experience today would have no problem with it, but as a 5 year old in 1989, I can imagine being plenty frustrated. That simple 10-second build up of gameplay really helped prime me for this situation back then, and it will work the same way for players today.

This is what’s really important about level progression. In essence, you’re building a learning curriculum for the player. You present the challenges in isolation before you ramp things up, so the player learns individual skills first, which can be layered together into more complex skills later.

The Rule of Threes can be used across many scales, both in and out of levels themselves. Each world in Super Mario Bros. consists of 3 preliminary levels, and then a challenging “castle” level, after all. In this way the Rule of Threes is applied throughout the structure of Super Mario Bros., kind of like a fractal.

Just look at the last corridor of the first castle, before you meet Koopa for the first time:

Super Mario Bros. World 1-4: Fireballs approach the player before  dealing with Bowser.

The Rule of Threes in action: Preparing the player for Koopa


Rather than just let the player deal with Koopa and meet instant death, the player is given a short training course on fireballs. First, a fireball comes straight at you in isolation. Then, the terrain changes and the fireballs come at different heights. Finally, the fireballs start to come more quickly. The player has been “primed” for battling Koopa before the fight has even begun.

Obviously, there’s nothing magical about the number three. I picked it as it seems like a nice rule of thumb – once you’ve shown something to the player a minimum of three times in different situations, you can start to mix it up without being completely unfair.

There’s plenty of other useful techniques and interesting structural lessons to be learned here, but I’ll just keep this short for now and leave those for future posts.

Let me know what you think! Is this helpful to anybody?

Posted in Brain Juice, Fadupinator | Leave a Comment »

Blogging again!

Posted by brainjuicegames on February 4, 2010

Hey guys,

It’s been a while, and this post is to explain where I’ve been this whole time. Last anyone was listening, I was hard at work on Super Energy Metropolis, the sequel to Super Energy Apocalypse, and doing some prototypes of that game. Well, life threw me a few monkey wrenches between then and now and I’m here to explain where I’ve been.

First, I got married, then I got a job, and then I decided I really ought to finish my Master’s thesis.

So, I got married last May and took some time off. Then I was hired by Anthony Pecorella, an employee of Kongregate.com, to work on a side project of his called CellCraft.

Anthony got a grant from the McArthur foundation to do an educational game, and contacted me after playing Energy Apocalypse. Some press releases about the project: here’s one from Wake Forest and here’s one from Gamasutra.

Basically, the idea is – a real time strategy game about cellular biology, where the player is the cell. I’ve been working part-time on this since May 2009 and we’re almost finished. We’re due for release in early March. I’m really excited about this one. Here’s a teaser graphic:

Now, the other half of my work day has been spent finishing my Master’s thesis. HARC, being amazing as usual, decided to fund the thesis, which is largely why I got the paper done in less than a year.  This is also why Super Energy Metropolis has yet to materialize. I’ll probably do SEM some day, but for now it’s tabled indefinitely. I’ve just got too many irons in the fire and HARC is interested in other things right now.

For the thesis, I decided to take Super Energy Apocalypse and evaluate whether it increases player’s knowledge of energy economy, and if so, by how much. We did a whole research project on it, collected all kinds of data, crunched it, collated, and stapled it, and now the paper’s finally done. I’d post it here, but my professor wants to shop it around to journals first, so we’ve got a one-year journal hold on its online publication. Check back in January 2011, hopefully we’ll have it published by then 🙂

So, sad as it is to say, Super Energy Metropolis will have to wait for a while before it sees the light of day. But rest assured, dear gamers, that we’ve got tons of other cool stuff coming out the gate here at Brain Juice Games!

Posted in Brain Juice, Fadupinator | 1 Comment »

Super Energy Metropolis Prototype 3 – Results

Posted by brainjuicegames on March 31, 2009

Dynamic Pollution

Dynamic Pollution

So, it’s been a little while since my last post, but I’ve been hard at work on both the analysis of Prototype 3 as well as the upcoming Prototype 4 code, which I’ll post in a little bit.

So, with Prototype 3 we added dynamic pollution – ie, pollution that would stack over time and be emitted in proportion to human activity, rather than just magically appear around roads and buildings. What were the results?

Well, I’m pleased to say this simulation is starting to look a little bit like the actual situation we face:

  • There’s actually an incentive to use roads now. The cars system works pretty well.
  • Factories and roads are not dangerous just by themselves.
  • The pollution builds up nicely over time and then dissipates
  • Congested roads build up smog quickly, but if they’re nice and spread out, pollution doesn’t stack up too badly.

The dominant strategy is no longer “pack ’em in like chickens.” Let’s take a look at a couple of scenarios I set up:

Suburbs & long highways

Suburbs & long highways

In the above scenario, we’ve cloistered off our houses at the top of the screen to keep them as far away from pollution as possible. Then we’ve connected a highway down to our factories at the bottom. People zip to work, plug in their hours, and then zip back home. There’s a bug or two with the way pollution displays, but we don’t care too much because this is a prototype and we’re just trying to get a feel for how it works.

In general, this is pretty cool. We can notice some problems already: that super-thin road is creating some serious smog pollution. Now, the cars spend so little time in that pollution that they only get affected by it a little bit. This makes me think of some things:

  • We need to model traffic. A clogged highway has this exponential effect when it gets clogged: more cars make them all slow down, which makes them stay on the road and produce even more pollution. I think I can throw in a little modifier that makes it so that congested roads slow down cars. Might be good to research some actual traffic simulations for this.
  • Local air quality and health is not quite enough of an incentive for the player to reduce all pollution. You see, as long as the player can just drive his/her cars through the pollution, it doesn’t matter how smoggy the roads are if it doesn’t directly affect the health of the city’s people, sine the game doesn’t model any other ill effects. What we’ll probably do, is make the pollution disappear from the local system and enter “global” (as in “global scope”) system.

This smog system is interesting so I’ll touch on it separately real quick. Instead of like in Energy Apocalypse, where smog was only an overall problem, this model takes into account the local, air-quality issues of smog as well. You see, transportation isn’t nearly as large a contributor to global emissions as say, Coal power plants, but most of us live a lot closer to highways than power plants, and we have to breathe that air.

What we’ll do then is use both systems – local and global, for this game. Smog comes out of your little factories and cars, and produces health problems, then dissipates. But when it dissipates, what that means is it’s going out of your city and into the surrounding atmosphere – specifically, into the land the zombies inhabit.

This is an interesting opportunity to model something my boss, Robert Harriss, has been talking about – stocks and flows.

Okay, next example:

The world is my parking lot

The world is my parking lot

Here was another situation that resulted in high health for people and a fast rate of production. Basically, you put your houes on one side of the map, and produce roads to get them to work. Now, if you only have one way to get to a factory, that road gets really smoggy, so instead you just build roads all around. People spend very little time on a given road and have multiple routes to get to work, overall smog is low and health (and production) are high.

The problem with this model is that there is no dis-incentive for “paving the earth.” There is no incentive to NOT develop roads, because unpaved dirt gives you no reward. At this point, we might have to consider adding features outside of our “roads, houses, and factories” prototype toolset and start adding other features we’ll eventually see in the full game.

Also, this model still produces about as much smog as the previous one – it just spreads it out so it dissipates faster and doesn’t make people sick. That’s good locally, but those emissions have to go somewhere, they don’t just go “away,” so again, another strong reason to start modelling what happens to pollution when it leaves the immediate local system.

Finally, I decided to test out the classic “suburbs / inner city” model to see what would happen:

Suburbs + Inner City

Suburbs + Inner City

Here, people live in the suburbs and commute downtown to work, with a big beltway/loop all around the city. (Kind of like modern-day Houston).  So, the industrial core gets polluted pretty fast, and you can tell that overall health is a bit lower than some of the other models. People aren’t stabilizing at gold levels of health, but tending towards blue and even dipping into grey now and then. They heal up pretty well at their very clean homes, but the center gets polluted and STAYS polluted. It stabilizes and then doesn’t get much worse, but obviously this is not an ideal way to run a city – it moves your problem “somewhere else”, away from where you live,  but the smog still accumulates and it does make people sick while they’re working.

People have been commenting that the sizes of buildings are a bit of an oversimplification – and in game design terms, I have to agree. Equivalent graphical size implies some sort of physical equivalence – and in real life, factories can house much more than a single household of people. Also, roads are absolutely enormous, and you run out of map really quick.

So, in the next version what we’ll do is start playing a bit with scale: we’ll scale up factories, scale down houses a bit, and scale down roads even more. Once it all works we’ll see what implications that has on the strategies that work best,a nd even the effects on pollution. Then, we’ll start talking about adding other features, notably : bringing energy into the equation. This is Super Energy Metropolis, after all!

Posted in Brain Juice | Tagged: , , , , , , , , , | 5 Comments »

Super Energy Metropolis Prototype 3

Posted by brainjuicegames on March 10, 2009

So, I’m proud to show off Prototype #3!

Prototype 3 : Dynamic Pollution

Prototype 3 : Dynamic Pollution

So, after prototype 2, we learned that we were going to have to deal with pollution in a more dynamic way, not only for accuracy’s sake but also because there still was no incentive to build roads.

As you can see, people will now turn into little cars whenever they touch a highway square. They will then move significantly faster than a person moving on dirt, but the downside is they will start leaving little trails of pollution down behind them. This pollution is a very small amount, but if a lot of cars travel over the same area, it will quickly build up.

More details and the playable prototype link after the jump 🙂

Read the rest of this entry »

Posted in Uncategorized | 2 Comments »

Super Energy Metropolis Prototype 2 – results

Posted by brainjuicegames on March 9, 2009

Okay, so here are the results of Super Energy Metropolis 2. First, let’s look at what happens when we try the dominant strategy from Prototype 1:

This does not look healthy

This does not look healthy

So, what’s clearly going on here is that pollution is DEFINITELY having an effect on our population. Also, it’s easier to tell what’s going on with the little dots in the buildings.  Now, you can’t see it because this is just a screenshot, but our product output has slowed to a crawl. All those green workers (deathly ill) will still work like normal, they just won’t get anything done. This is because they are dragging themselves in to work, coughing up their own lungs as they struggle to stand, and then dragging themselves home.

So, this prototype is mostly successful, in that it solves most of our old problems, but there’s still some issues here, and some brand new problems as well.

More analysis after the break 🙂

Read the rest of this entry »

Posted in Brain Juice | Tagged: , , , , , , , , , | 10 Comments »

Super Energy Metropolis Prototype 2

Posted by brainjuicegames on March 9, 2009

Sneak peak of Prototype 2:

Prototype 2 : pollution & health

Prototype 2 : pollution & health

So, we learned some things from Prototype 1. We’ll reiterate quickly the things we planned to do for this prototype after the jump, followed by a link to the playable Prototype 2.

Read the rest of this entry »

Posted in Brain Juice | Tagged: , , , , , , | 5 Comments »

Super Energy Metropolis Prototype 1 – Results

Posted by brainjuicegames on March 3, 2009

So, we just finished Prototype 1 of Super Energy Metropolis. What were the results?

Well, my first instinct on playing the game was that the ideal solution would be something like this:

My original strategy

My original strategy

…but, that’s not quite how things turned out 🙂 Read on to find out more!

Read the rest of this entry »

Posted in Brain Juice | Tagged: , , , , , , , | 5 Comments »

Super Energy Metropolis Prototype 1

Posted by brainjuicegames on March 3, 2009

And thus starts the development blog for Super Energy Apocalypse’s sequel.  After some talks with my boss, we finally decided to go with a game idea called “Super Energy Metropolis” as our new game project. The basic idea is this:

Similar to Super Energy Apocalypse, but on a city-wide scale. Now instead of trying to carve out an individual little survivalist base, you’re trying to rebuild civilization proper.

Sneak peek of where this is going:

Read this post to learn more and play this prototype!

Read this post to learn more and play this prototype!

Read the rest of this entry »

Posted in Brain Juice | Tagged: , , , , , , , , | 3 Comments »

Design 101 : First Principles

Posted by brainjuicegames on March 2, 2009

Le Steve Jobs

Le Steve Jobs

Design. Talk about a mystifying word. I don’t know about you, but for years, when someone said “Design” I always thought of an elite group of intellectuals in black turtlenecks, berets, and fake French accents going, “No, I theenk eet needz more red!”

Then, I went to Architecture school and learned how to make video games. I know what you guys are thinking – “What in tarnation could Architecture school possibly have to do with video games?” Well, in detail, not a lot at all. In principle, quite a bit.


Read the rest of this entry »

Posted in Fadupinator | Tagged: , , | 1 Comment »

Super Energy Apocalypse Post-Mortem

Posted by brainjuicegames on March 2, 2009

Night-time in New Texas : Zombies abound!

Night-time in New Texas : Zombies abound!

Some of you might know a bit about the Super Energy Apocalypse story. If not, you can read about it here at Jay Is Games.

My boss, Robert Harriss of the Houston Advanced Research Center, was really happy with SEA and has decided to keep me on for at least one more of these projects. If HARC rides out the economic crisis, I might even have a full-time job. So, Bob (as he insists on being called 🙂 ), has been talking to me about what our next project will be. This is the first in a series of posts on that train of thought.

Read the rest of this entry »

Posted in Brain Juice | Tagged: , , , , , , , | Leave a Comment »