Most Recent Episode
I want to step back a bit and discuss the term “Level Geometry.” Level Geometry refers to the physical space and construction of the level, and the shape and positioning of objects in the level. You’ll see the term most often used in relation to 3D games, although the term could be relevant to just about any level design. This article is going to be a rundown of some common ideas and terms that are useful when thinking about level geometry. It’s by no means comprehensive, but it should give you some stuff to think about when working with space.
First of all, it’s important to figure out what sorts of materials you’re working with. Materials are objects which make up the geometry of your level which have certain properties in the game mechanics. For example, a performer might have solid objects which you can’t pass through as well as “one-way” platforms which you can jump up through and then land on top. You could also have material that the player cant pass through, but which they can shoot through/over. In the level of Venusian Vengeance I showed you, there were tiles which the player could not pass though, but which they could shoot over. Basically, a material is defined by how different objects interact when they collide with it. Does object x stop, bounce, take damage, slow down, or pass through when it touches the object. Here’s an example with a few different types of materials. There are solid objects which block both movement and projectiles, objects which block movement but not projectiles, one-way platforms, and objects which are solid, but which can be destroyed by projectiles.
Line of Sight/Line of Fire
Another major consideration in level geometry, especially in games involving some sort of ranged combat, is line-of-sight/line-of-fire. Both of these concepts can basically the same way, but differ only through context. Line-of-fire is the area where a character can shoot a projectile without being interrupted by materials which would block it, and without going out of it’s range (if the projectile has a limited range). Line of sight is the area where a character can see without their vision being blocked by materials which would get in the way. The key idea here is that they function on straight lines uninterrupted by the level geometry. As with everything, a lot of this comes down to your mechanics. For example, in most of the examples I’ve shown so far, the player can only shoot horizontally, which means that his line-of-fire is always going to be horizontal. In addition, nothing in the level actually blocks the player’s line-of-sight, and thus the line-of-sight extends to the borders of the screen. Where line-of-sight comes more into play is
A) 3D games with a first-person or third-person, over the shoulder perspective, such that some objects naturally block your view.
B) Games that use some sort of fog-of-war effect to limit what the player can see to only what isn’t blocked by solid objects.
C) Games where enemy AI can only “see” the player when they are not behind a solid object.
And thus, when you’re designing levels, it’s often important to consider how the level geometry will block line-of-fire and/or line-of-sight, which brings us to…
Cover is any solid object that you can use to avoid projectiles. There are many ways that cover could manifest. It can be explicitly defined, where it’s an object that you can use to “go into cover” and thus become invulnerable to attacks from one direction, or implicitly defined, in the case of an object that just blocks projectiles, and thus if you stand behind it, you won’t get hit by projectiles coming from the other side. Cover can be full or partial, with full cover completely protecting you from projectiles that come from the other side, and partial cover having some gap in it that would let projectiles through. The important thing about cover is it gives the player another way to avoid projectiles aside from dodging. It lets them use the level geometry to protect themselves.
Here’s an example with an enemy shooting at the player at regular intervals. There are some solid objects that work as cover, making the areas behind them into safe places where the player could wait without fear of harm. When the player isn’t behind this cover, they might have to dodge oncoming projectiles.
Here’s a modified version of that example. Rather than aiming at the player, the enemy fires a volley in enough directions that dodging would be just about impossible. You can see from this the safety imparted by cover. The player could safely get through the level by moving from cover to cover in between enemy shots.
Open Vs. Constrained
One of the simplest ways that level geometry can effect gameplay is the difference between open and constrained space. There is much more potential for dodging enemy attacks and maneuvering around enemies in a wide open space. If you’ve played Dark Souls, think of how much easier it is to fight a lot of the enemies when you are in an open area rather than in a narrow corridor. In an open space, you can wait for them to attack, move around them, and then stab them in the back. However, in a narrow corridor, there might not be room to get around them, and thus your strategy has to adapt accordingly. However, a narrow space means that the number of enemy’s you can fight at a time is reduced, which leads us to…
A choke point is a place where open space meets a constrained, narrow space. If you are in an open space with enemies which will try to surround you, a choke point can give you a strong strategic advantage by making it so they can only come at you one at a time (since only one of them can fit through the narrow space at one time).
Verticality is a fantastic tool, and one that a lot of level designers forget that they have at their disposal. Verticality is simply your use of vertical space in level design. It mainly applies to 3D games, but can also apply to side-view games, and to a limited degree to top-down games which have some sort of elevation mechanic (for example, the original Legend of Zelda has no verticality, while Link to the Past contains some verticality, and Link Between worlds has quite a bit of verticality). In a side view game, it would be the difference between, say, Mario, which has very little verticality, with most of the action happening in one horizontal “tunnel”, and something like Metroid, where the player is moving up and down just about as much as they are moving side to side.
3D games is where verticality gets really interesting. Something like DOOM has just about no verticality. Everything happens on a single plane, and the game could essentially be played as a top-down shooter without significant change. Changes in elevation are mostly just for show, and don’t really effect the actual gameplay. On the other hand, Mario 64 has quite a bit of verticality in its level design. You can climb up, fall down, and parts of the level exist directly over other parts of the level.
What does verticality provide you from a design perspective? Well, quite a few things. It gives you a lot of opportunity for one-way shortcuts like we talked about in the last part, since you can make areas where you can fall down, but not jump up. It lets you show the player things that they can’t immediately reach, by putting them up high (or putting them so far below that the fall would kill them). It lets you fit more into a limited space, which is very useful for making shortcuts. It comes down to the difference between the distance the player travels (taking into account walls and obstacles) and the straight-line distance they are away from where they started. If you think of your level as being contained in a big cube, you are getting more economy of space if you take advantage of all three dimensions rather than limiting yourself to the bottom plane of the cube.
It also helps in creating interesting combat encounters. You could put ranged enemies up high so that they can attack the player down below, making it so the player needs to find a way up to fight them with melee attacks. Ranged characters can use their height to get cover from ranged attacks from the ground, by backing off from the ledge, because the line of site of someone on the ground is going to extend only to the edge of a high-up platform, while the line-of-site of someone up high will cover much more of the ground, as it won’t be completely blocked by shorter objects.
Take a look at this example. The enemy at the top of the cliff is moving back and forth, and is completely out of the player’s line-of-fire except for when it’s on the very edge. Meanwhile, because of it’s high angle, it’s line-of-fire isn’t as effected by the cover on the ground as the enemy on the ground’s line-of-fire is.
Verticality can also create more possibilities for maneuvering and flanking. For example you could have a tunnel that goes below the combat area, or a bridge that goes above it, creating a way for enemies or players to reach the other side of the battle-field without going directly through the center of it.
And, finally, spaces with a lot of well-made verticality can just be really cool to look at and walk through.
And of course there are many more ways that the level geometry can affect gameplay depending on your mechanics. Placement of platforms and barriers in plaformer games in relation to the player’s and enemys’ jump heights, use of materials like water, ice or conveyor belts which affect player movement in various ways, so on and so forth. And of course there are ways that not paying attention to the level geometry can lead to unfortunate or frustrating situations for the player, like solid objects above the player-character’s head which block them from making their jump, or areas the player can fall into but can’t get out of. This article can’t cover every possible way that level geometry can effect every set of mechanics, but hopefully it’s given you a starting point for thinking about the ways in which simulated physical space in games can be used to have a massive impact on gameplay.
<–Part 12: Hubs and Shortcuts ——– Part 14: Coming Soon…
This time around I want to talk about some ways to make navigation easier in non-linear space, and I want to specifically deal with the issue of backtracking. Backtracking is when the player has to go back over the same are they just went through to get to where they started. Here’s an example to demonstrate what I mean (note, in this example, you don’t start with the gun. You’ve got to find it):
There’s a level design idea which I’ve been trying to resolve into a concrete topic, but I was having trouble getting to the core of it. Then I played the new Strider and it resolved itself. So far we’ve been talking about non-linear level design in terms of each area being a challenge the player should want to go to and complete. In other words, in the best possible playthrough, the player would end up trying to go to every area.
However, there’s another option. You can have areas that exist for the player to end up when they fail at completing a challenge perfectly. You can design levels such that if the player completes it flawlessley, they might only see a small percentage of the level.
How Strider accomplishes this is by making it so that there are no bottomless pits for you to fall down. Instead you just fall to a lower part of the level and have to fight and climb your way back up. Large areas would often have multiple tiers, with the upper tier offering the fastest path, but requiring perfect timing and platforming, and lower tiers possibly taking longer to get through, but offering more hiding places and movement options.
This sort of design can be seen throughout the original Sonic the Hedgehog games. The game was about maintaining your momentum, and doing so would allow you access to a certain path through the level. If you timed everything perfectly and maintained your momentum, you’d be able to stay on the upper path. However, if you either fall down, or don’t have enough momentum for certain jumps, you’ll end up on one of the lower paths.
Here’s an example where there is an upper path of platforms with shooting enemies on them. If you miss a jump, you’ll fall to a lower path with hopping enemies and a climb back up to the goal.
The game Antichamber by Alexander Bruce is a fantastic example of this sort of level design. The game is full of strange areas that you reach if you make a wrong turn or get lost. You’re likely to see most of the game world in your first playthrough, which could take hours, since you’ll be making plenty of wrong turns. The game plays around with illogical space and non-euclidean geometry, so getting lost is a large part of the experience. However, if you know what you’re doing, it’s possible to speed-run the game in less than 10 minutes, and see only a small fraction of the game world.
This sort of design works in more subtle ways in games where enemies can move around the level quite a bit. You can make areas whose purpose is to give the player a place to run or hide if they get spotted by enemies, or places for them to be chased by large groups of enemies. There might be an optimal path through the level which doesn’t involve these side-areas, but the player either doesn’t know that route, or has botched the timing of it, and now has to improvise. Think to games like Metal Gear Solid, which would contain side-rooms which served as hiding places in case you got spotted by an enemy, or games like Bioshock, where each area was a fairly open space with a network of hallways and rooms which could provide the player with strategic options if the situations turned against them.
In addition, you can use areas that the player reaches through failure in interesting ways. Ninja Gaiden 2 has an area which requires successful timing on wall-running and jumping. If you fail, you fall down a pit. The pit contains a broken staircase which makes you practice your wall-running and wall-jumping before returning you to just before the challenge you failed. Instead of automatically assuming that everyone needs the same amount of coaching with the skill, they put a test in place, and give an extra learning challenge to the people who fail that test. See the following example:
The bottom area is an easier, lower risk version of the challenge on top. (Also, take note of the way I block off the bottom path. The descructable blocks are placed in such a way that you can’t get through them from above. This serves as a sort of one-way gating mechanism to keep the player from intentionally exploring the bottom area, expecting some sort of reward. If they fall down there, the reward is getting back up, and thus the area makes sense. However, if they notice the path down at the beginning, they might venture down there and feel cheated that they didn’t find anything)
You can also build in negative feedback into your level design by utilizing areas that the player reaches through failure. (For those who don’t know, negative feedback is when a system tries to push itself away from extremes. For example, a mechanic where you deal more damage the less health you have would be a negative feedback loop, as the worse you’re doing, the more chance you have to recover and do better. The blue shell in Mario Kart is another example, since it specifically targets whoever is in first. This is as opposed to positive feedback, where the system pushes itself towards extremes, for example, a mechanic where the less health you have, the less damage you deal.) For example, you could put health items and ammo in a room the player might be chased into by enemies, or extra health items in an area they might reach by failing some challenge. Although be careful, or you might end up making what you intended as a failure area into the optimal path. And, of course, something could be a little of both. You could have an area that’s there to either reward exploration, or provide a little boost to someone who has been pushed there.
In other words, when designing an area, it’s important to think “what would bring the player here.” However, the answer to that question isn’t necessary “a shiny new item” or “progressing the story”. Sometimes it could be “because they missed the jump and fell down here” or “because they bit off more than they could chew, and were chased here by a gang of enemies.”
I want to take what I’ve talked about so far in terms of non-linear level design and show a practical application. Thus, I’m going to do another “Planning out your Levels” article, this time showing my process behind the level design from Treasure of the Abandoned City, specifically the space between starting the game and actually entering the city.
We’ve talked a bit about arranging challenges in a non-linear level. But what about the person actually playing your game? How do they find their way around? In linear games, it’s easy. “Which way did I come from? I’ll go the other way”. In non-linear games, it’s a bit more complicated (hell, sometimes the answer IS “back the way I came.”).
Now, the easiest way to do this, which a lot of modern games do, is to give the player a map, and put a marker on the map telling them where to go and an arrow pointing them how to get there. Now, this works to get the player from point A to point B, but it takes away a lot of the fun of actually exploring the space and finding your own way to the goal. It can also feel unnatural and immersion-breaking. On the other hand, if you give no guidance, there’s the possibility of the player getting lost and frustrated and not even know where they’re supposed to be going.
As I said in the last part, there are a lot of benefits to linear design. You can control the pace at which the player is introduced to new content and harder challenges. What if we want the feeling of exploring a non-linear space, while also creating a sort of linear-experience of introducing challenges to the player?
We’ve talked so far about stringing together challenges in a linear order. Challenge 1 is followed by challenge 2 is followed by challenge 3 and so on. There are many advantages to building a game around this structure: you can tightly control the difficulty curve, easily make sure everything is introduced in the right order and you can know where the character will begin a challenge and design all the obstacles to block that specific path. But, of course, many games benefit from giving the player more freedom in how they explore the world of the game. And you can still apply much of what you’ve learned about linear level design to non-linear level design, it just takes a bit more consideration.
I think one of the biggest stumbling blocks games have as an art form is the idea that the author of the game does not have total control over the game due to the element of player input, and the fact that unexpected events can emerge out of the interaction between the player and the systems within a game. A lot of designers see a sort of wall between the parts of the game that they can control, and the parts of the game that, due to their interactive and emergent nature, are out of their control. There’s an approach to emergent gameplay that basically says “put a bunch of interaction-rich mechanics together and see all the weird things that happen when someone plays it”. There’s a kind of disavowing of responsibility for the outcomes of an emergent system.
This article is going to be a bit different. I want to go a bit into my own personal process for planning out levels. Now, everyone is going to be different in what works for them as far as their own creative process is concerned, but I thought it might be useful to share my own.