In modern games, we create detailed environments that emulate and expand on the appearance of real-world examples. The more life-like a space appears to be, the more we begin to expect it to allow for the affordances we have in real life. But games only enable players the actions developers explicitly allow for and implement. Unfortunately, that aspect of game development doesn’t scale with computing power in the way art has. And when a player’s desire to act is unsupported, we have a break in immersion – all our effort to create a realistic space that looks real is undone by the fact that it does not feel real to interact with.

Much of this is mitigated by the standard conventions of games – a player doesn’t expect to be able to read every page of every book or eat everything that looks like food – most games don’t allow these actions, so players are not surprised by those limitations.

But imagine you are making a game where the player lacks the ability to climb ladders. A ladder is a strong indicator of utility. If you put a ladder in your level, a player very likely will at some point try to use it. Not only have most of your players used ladders in other games, but they have most likely used one themselves in real life. A ladder communicates the value and utility of the space at the bottom and the top of the ladder – why would it exist if there wasn’t value to being in both spaces and traversing between? When the player attempts to use your ladder and nothing happens, they’ll begin to view the rest of your game with a degree of skepticism.

Imagine another game where the player is allowed to climb ladders, but in one particular environment, you include an unusable ladder because it just seems contextually appropriate. Now the player finds they can’t trust the game’s world because rules are arbitrary. They’re reminded their experience is artificial and that “it’s just a game” after all. These moments of immersion breakage happen many times in even the best games we play. They don’t generally “ruin” player experiences, but we can certainly aspire to better. A polished, well-designed environment can be beautiful and evocative, as well as readable and continually immersive.

Creating an Environmental Language

The shape and structure in a well-designed level is a subtle means of communicating with the player, inspiring them to use the actions we’ve provided for them to overcome obstacles intuitively. In order to do this well, we need to develop a clear and consistent shape language, describing the gameplay mechanic affordance of the world.

There are a number of different ways the player can interpret affordance from game objects. Explicit affordances are those pointed out to the player in a break from realism, such as an ammo pickup that glows, a UI button prompt on a switch, or the “Throw-rope” icon for grapple points in Uncharted 4. Defined affordances are when the game goes to length to associate arbitrary visuals with in-game mechanics, like making all climbable handholds painted yellow. Cultural affordances are those we recognize from our real world or other game experience: a ladder, an unlit torch, a padlock, a valve on a pipe. And finally, Inferred affordances are those players can deduct based on their knowledge of the game’s rules and systems. Explicit and Defined messaging break immersion and so should be considered a fallback plan. It’s the latter two, cultural and inferred, that are of most concern to environmental designers.

Catalog Your Mechanics

So that we understand the types of affordances we’re trying to match, we catalog the mechanics at the player’s disposal that can interact with the environment. In Uncharted 4, the beginning of a list might include:

Moving (run/walk)

Clamber onto

Jumping

Take cover

Climbing

Rope Throwing

For each of these, we need defined environmental messaging. Let’s tackle the first mechanic. For moving, we ask, “What surface affords walk/run?”, and the answer is a relatively even, cleared, and hardened surface, length and width both greater than 1.0m, incline less than 30 degrees. That’s simple enough to start, but now we need to ask, “What surfaces clearly do not afford walk/run?” The counter-question is just as important, because all objects in the game need to belong to either the walk/run or no-walk/no-run categories. For each gameplay mechanic, we need to define how objects provide that affordance and how they can actively deny it. There cannot be any middle ground. The player must understand the difference at a glance, even in a high pressure scenario.

Buffer Your Metrics

To avoid characteristics that fall into a grey area between providing and denying affordance, we define buffer zones. In Uncharted, Nathan Drake can jump up to a ledge that is at 3.5m or less above him. Because of that, we defined a “dead zone” between 3.25m and 4m, a rule we enforced making sure no climbable edge falls into the unreadable middle area. We created a buffer for inclined surfaces too – all “walkable” surfaces are less than a 35 degree grade. So we enforced a rule of no surfaces between 30 and 45. Low cover height is another rule. Nathan Drake takes low cover on 0.9m – 1.25m tall rectilinear objects. So nothing like that was allowed 0.5m above or below that range, as you can see in the following diagram. The player should never have to guess where the game will allow them to snap into cover. Consistent shape language communicates that clearly.