Learning level design

There’s so much I wish I could post on this site. Systems design lessons and best practices for scripting and designing levels and set pieces. However right now I can’t, it would break the NDA I have with Sony and Naughty Dog. That’s why I’m happy to have started learning something new, level design! I’m a complete novice at this but I’m surrounded by some of the best in the business, so as I learn and get given advice, I’ll post my findings here.

This first thing I was told was to make a church, in order to learn scale. Churches are built on rigid rules and metrics, so in order to build this I would have to find ref and blueprints and work as accurately to scale as possible, starting with smaller things like chairs and building out. I had to space some things out more for gameplay metrics. In the last of us, you need at least 1.5 meters between things so that the character can move properly, and so the camera isn’t too jammed in. This meant spacing out the pews more than they are in real life.

7-6.png

The first versions I made were too big. As soon as I got the scale right suddenly it felt like kind of a real place when walking around it, which was so cool as I've never made something that felt sort of 'right' before, even if it has a long way to go. I noticed my windows were too bug and that I’d become a little sloppy. It started to feel off. When everything is scaled correctly, it’s amazing how it suddenly feels good, like a real place. Previous experiments with making things before I took the advice of other level designers, always felt weird and I gave up shortly after. It’s also interesting to see what becomes challenging in a job when you’re tired. The urge to just rough things in is strong but you have to resist, just like with scripting you have to resist to fix something the ‘easy way’ that will bite you in the ass later.

Capsture7-7_n.png

I showed my environment artist friends and they told me to keep modelling in the detail as it would increase my ability to observe scale. Make sure things like the columns were the right shape and size, to put in all the beams. To put detail in the chairs. I showed some level designers and they told me to build it in a modular way, so that when I needed to iterate and change it, it would be fast.

Capture7-5.PNG

The next thing I was told was to alter it to give it a story, make it a little space that has some flow to it. Make more of the space impossible to see from some places, as it increases your interest. If you can see everywhere at once, it’s boring. Add versatility, balconies and so on. So, with that I'm going to try and make it so you have to venture upstairs and only then do you get a view of something you didn't notice downstairs. A tiny exploration puzzle. I suppose this will make it a little narrative, and so it will become a tiny level. A thought this was a really good first exercise.

I tried raising the back area, but it wasn't right. Then I realised I'd picked this incredibly boring, generic church that I didn't like, so in order to achieve this next goal I used the kit I'd made to rough out a chapel that had been converted into a theater.

I didn't focus on scale or care at all, so it's completely wrong, but I just wanted to kind of 'sketch' the shape out roughly once first, so I could see if this would be worth committing to. I think this is a more interesting space and I'm excited to get it done so I can play it in engine.

Capture8.PNG
Capture9.PNG
Capture10.PNG

I think this seems like a nice way to work, make a super rough version, then if you kind of like it go back down and work outwards again, redoing everything for scale and putting in details.

The next step is to design the flow around this space, and how it will draw you around it.

Lieve Oma

One of the best games I've played recently. The space the game gives you to reflect is something rarely achieved in triple-A. I think this gap is immensely important in games. Prompting introspection is a huge and underutilised strength of our medium. 

Commentary by Bryan Singh and Julia Castro. 

Rating Systems

Something I've found immensely useful for prototyping recently are simple rating systems. After using them for everything from targeting to AI I realised I hadn't written about them here.

Two simple examples - say you're writing something that targets an NPC in front of the player, and you want to find the most central target - not too far forward or back, left or right. You simply assign a rating to each NPC based on say, screenspace (or a point projected in front of the camera or player) - 1 being dead centre and 0 being the edge of the boundary that you deem acceptable. Do this for X and Y and then multiply them together and pick the highest one. (Or add them if your ratings aren't in the range 0 - 1)

This starts getting really useful when you want to add in other variable, giving npc's a higher score if they are.. facing away, stumbling, running at you, a bigger enemy etc etc. 

Another example would be prototyping AI - To prototype behaviours for new, distinct npc classes, It's quite a nice trick to scatter points around the map and have them rate their own eligibility for an NPC to move to based on... LOS to the player, height, nearby enemies etc. Then again the NPC simply moves to the highest rated point. 

An incredibly simple but, massively useful pattern. 

 

The waiting is the hardest part...

Just to explain the recent media silence - I've been focussing all my efforts on making my way to LA to start work for Naughty Dog. I am currently rethinking what content I am going to create in the future and how to deliver it. If you're looking for my latest, the best place is probably my Youtube channel.

How much is too much?

The problem

There’s a common mantra in games design, in fact, it’s something shared in the design of most things - ‘Keep it simple'. This however directly conflicts with the urge most young designers feel to cram every good idea they have into a game.

As we become more experienced, we learn to pick and choose between our ideas. There is a shared understanding in the industry that often, less is more when it comes to mechanic design, however this often rears its head as some vaguely agreed upon notion that a design should not be overly crowded with features.

In addition to this, complexity can be the very thing that makes the core of a game interesting, and we often want to try to create systems that will give us depth through the possibilities of their combinatorial elements. So where do we draw the line?

The real key, is that it all comes down to pressure. Pressure is an interesting topic in game design, and it’s one that I’ll cover in more depth in the future, but for now I’ll simply summarise it for our purposes as - the time the player perceives they have to make a decision. In a turn based game, the pressure is low. In a third person action game, the pressure is higher - and if the enemy AI is advancing, threatening to flank you, then the pressure is higher still.

So we return of the question of ‘how much is too much?’, surely there is a better metric than merely relying on gut feeling, or blindly throwing builds at playtesters until they seem happy.

The rule

So with this in mind, consider the following rule: That when we ask something of the player, it should be the only thing they are being asked to actively think about and deal with. This is essentially about a person’s ability to calculate, to deal with problems in real time, to pay attention.

Now it’s important to note that this rule is a starting point. There may be times when you want this pressure to increase, or decrease to nothing, and I will explain why that’s important a little later, but first, to try and explain why this idea is important I want to present an example we will all be familiar with: Learning to drive.

When we got in a car for the first time, if we were asked to pay attention to everything - signalling, steering, observing, changing gears - we would be overwhelmed, we would probably neglect something and we would most likely crash. This might sound simple, but it’s a basic illustration of how the brain can deal with new information, and how people deal with new actions they are being asked to perform.

In this example, we also don’t actually need to remove any of the ‘mechanics’, instead we are introduced to them one by one in a safe environment until they become second nature. When they have become automatic, we can introduce more and more until we are able to essentially perform all at once.

So you can begin to see not only the importance of the rule of ‘actively thinking about one thing at a time’, but also one way in which we are able to include many more mechanics without overwhelming the player.

The key point here is that if the player is consistently being required to actively (and by actively I mean consciously pay attention to and calculate) more than one thing, then you know you have too many mechanics at that moment.

When and how the rule can be bent or broken

We can also see that conversely, as our players become more comfortable with gameplay, it can be important to increase the pressure of those mechanics, or add more to avoid the player becoming bored (enemies becoming more aggressive or adding more enemy types being the most basic example).

And of course in sections of the game where we actually want to increase the pressure to make the player feel stressed or overwhelmed, we can actually require them to deal with more things than they are used to at one time (think, having to unlock a door while you fend off enemies at the same time), perhaps more even than they are able to deal with (fighting a battle you eventually lose for story purposes). Be aware though that if you increase this too high, players may fall back on simple solutions, foregoing the interesting possibilities of your systems because they’re so stressed they don’t have time to think properly. Because of this, these moments should be the exception.

 

Techniques for adding in mechanics

This rule is restrictive by its very nature, so let’s look at some ways of circumventing these restrictions while not compromising player experience. Some of these are obvious, others less so.

  1. Learnt things becoming second nature allowing us to add more

    This we’ve already discussed - mechanics that become second nature freeing up the player's mind to do something else. So, aiming then gives way to tactical positioning. Cover based combat gives way to enemy prioritisation and so on. This is done in almost every action game made to date.

  2. The simple practice of requiring different skills at different times

    This too is done often in games. In boss design for example - we often have to use one skill and then the pattern of the enemy will change requiring us to use something different.

  3. Layers in level design

    This is the simple idea that there are different places for different activities. A game that illustrates this very well is the recent Metal Gear Solid: V. They deal with the issue of complexity by placing different requirements at different distances from each objective.

    At the very lowest pressure, there's nothing to consider, but you get breathing space to organise yourself. Further in, you can observe things and tag enemies, possibly use a long-range rifle. After that you get the different stages and ranges of combat. Of course you can do all of these things at once by charging in, but this is much more difficult and stressful. It also allows the player to set their own difficulty by choosing how slowly to approach.

    An interesting solution to the problem of complexity: The pressures in MGSV

  4. Kishōtenketsu

    The phrase comes from the inspiration behind the structure of Super Mario 3D world, and how that popularised this type of game structure, though it was by no means the first to do it.

    The idea is very simple - instead of increasing the elements that a player uses as the game goes on, you simply change them. A mechanic is explored for a while and then thrown away, and a new one introduced (Though this is of course a simplification of these game designs)

    Some examples of other games that use this format - Braid, Portal 2 to varying degrees, Brothers, Retsnom, Advanced Warfare (each level gives you a new toy you then never get again) and I’m sure many more.

Takeaways

So as you can see there are actually many ways to include different mechanics in a game without it becoming overburdened. We have a rule that allows us to maintain a default level of pressure in a game, and can show us when just one more mechanic is one too many, and when it may just need a new place.

This is the basis of how we sort, structure and cut mechanics in our games.

Letting players set their own difficulty

Article now a featured post on Gamasutra

When we talk about players setting their own difficulty, we’re not talking about choosing from ‘easy’, ‘medium’ or ‘hard’ in the main menu, but a vast range of techniques that allows the player to dynamically set their own level of challenge as they progress through the game.

Why allow the player to do this?
These designs mean players can fine tune the challenges that you’ve set out for them, in some cases even skipping them altogether. This reduces the emphasis that must be placed on a dynamically scaling system - though not something it should replace, but stand beside.

Unlike dynamic difficulty, these designs embody the ranges of challenge in missions, scenarios and systems - and so are visible to the player. This often this means greater replayability as beginners can see ways of interacting with your game they can aspire to. There are in-fact many more benefits to these systems which we’ll explore with some examples.

More difficult, optional game components

This is commonplace in many games - harder challenges of all kinds that can be attempted or bypassed depending on whether the player feels they have the skill required.

  • Green stars in Mario 3D World - These more challenging divergences in the level design offer greater risk, but completing them will award the player with a green star, which are used to unlock later levels.
  • Optional routes in Burnout Paradise - this game has many branching sub-routes that are more difficult, but offer rewards, even if they are as subtle as having lots of trick-jumps you can use to rack up a bigger score.
  • Very difficult but optional bosses in From Software’s games (Dark Souls, Bloodborne) - in their latest game, the Abhorrent Beast and the Bloodstarved Beast are rated among the hardest, but are entirely optional.

Different ways to play

These are games that cater for multiple playstyles, give the player the chance to master an alternate way of completing the game, or mix and match the two. It’s a nice design element that supports player choice, but it also allows us alternatives when a section may become too challenging.

  • The multiple specialisations of Deus Ex - The player is able to choose between combat, which pushes on reflexes and tactical evaluation. Stealth, which relies on observation and timing, and hacking, which provides a puzzle-solving approach to each scenario.
  • The ‘Heavy Weapons’ of Disney Infinity - We had big carriable weapons that were much more powerful than your character. We decided to let the players take them wherever they wanted - they make you much slower and were usually left behind, but if you were struggling with the combat, you could use them to make the game easier at the cost of movement speed.

Setting your own goals

Unlike games which offer you many ways to complete them, these games embody the idea that the goal is set by the player - many goals varying in the level of challenge that they provide.

  • The world structure of Minecraft - The player can choose to simply build and explore, mine into the more dangerous parts of the game or try and break into the final, hard to reach ‘boss stage’.

System design

This is my personal favourite, mostly because clever systems design can deliver this player-set difficulty on a micro or macro level. These are systems that range from allowing you to elegantly but purposefully raise and lower the difficulty, to systems that when pushed, push back harder.

  • The dynamic AI of Halo - As you become more bold, more enemies are allowed to engage you at once - proximity is the heuristic here. This means if you’re timid and keep your distance, the challenge is less than if you go in guns blazing. The AI also eases off if you retreat, again allowing you to back out of your decision to ramp up your own difficulty. This allows the player to vary the challenge on the micro level - every encounter can be approached differently.
  • The ‘Insight’ resource in Bloodborne - Insight is a currency earned by defeating bosses, and the more you have, the harder the game gets - enemies are visibly upgraded and more of them appear. The game allows you to spend this currency on helpful items and cooperative help from other players, and in doing so you get the added benefit that the game becomes a little easier. This system allows the player to vary their challenge on a macro level - their decision to make the game easier affects the whole game world.
  • The colour-based scoring mechanic of Ikaruga - In Ikaruga you are immune to projectiles of the same colour, however to get the really high scores you must defeat them with the opposite colour, making the game more difficult. The gameplay gets more complex and more difficult as you try and become better at the game. This is micro-level system as it affects individual enemies.

Takeaways

  • The common component of all these systems is that they keep the game challenging for more skilled players. Often, they reward those players but they rarely punish the weaker ones.
  • The hardest part of your game should be an optional part. This does not mean reducing the difficulty of your game’s final moment, but about adding in additional challenges that most hardcore players.
  • Often we create a drawback to taking the easy option so as to incentivise the player become better. This is often necessary so that players don’t simply choose the path of least resistance. It’s always worth considering however if it’s really necessary to punish players for not being good enough. Ask yourselves, why shouldn’t we let the player cheat? Why can’t the player sneak past our bosses if they’re too hard? Deus Ex certainly takes this ideology to heart. Sometimes it’s about choice, sometime’s it’s about rewarding better players, but in my opinion it should never be about punishing bad ones.
  • There is another fantastic side-effect to many of these systems - it allows players to control pacing and pressure. Regardless of difficulty, many of these systems allows the player to ramp down intense gameplay and just breeze through a section when they feel like taking a break.
  • Drawing attention to all of these mechanics might very well be something you want to do. In Bloodborne you can decide to counter enemies attacks rather than dodging them. This puts you in the way of danger, but allows you to take them out faster. Compare this to Ikaruga’s system where putting yourself in danger by switching to the opposite colour can result in greater rewards - The real difference here is only that Ikaruga’s system draws attention to itself with a score, while Bloodborne’s doesn’t. You’re not particularly incentivised to always use the counter mechanic, if you were (for example, perhaps enemies could only drop items if killed this way) it would become obvious to the player that there was a ‘best’ way of playing the game - thus incentivising people to become more skilled.

    The gameplay hasn’t changed, but we’ve motivated the player by enhancing their perception of the system. Of course players sometimes do this of their own volition anyway - this is one of those fuzzy design decision that will depend on your game.

  • The importance of readability in these systems cannot be understated - Increasing the number of enemies shooting at you in Halo, is far better than upping their damage, because the player can’t see that happening. In all of these examples, the workings of the systems are exposed - without this, the player may never notice them, and won’t then be able to make a conscious decision about their play-style.

Finally, let’s call this by its true name - this is actually dynamic difficulty ramping of the current situation. Something I warned away from in this article. The thing that makes it work is that the player can back away from it. Vary it consciously. These systems are presented as a natural aspect of the game’s world, and not a developer lurking behind the scenes, reducing the difficulty. It is the difference between choosing a worthy opponent, and being faced against a skilled one who is very obviously going easy on you.

This is the third in a four-part series on difficulty in games.
Part 1 is about dynamic difficulty
Part 2 is all about the relationship between difficulty and readability

Memory markers

Memory is something that is often overlooked in combat games, more often than not when a character becomes aware of you in a combatative action game, they remain aware until dead. Sometimes they may run a countdown when they lose sight of the player and lapse back into their patrol state if that ends before they find them.

Neither of these techniques looks particularly intelligent. The AI either looks unreasonably aware of you, or unrealistically gullible, in that they go about their business after they've lost track of you for a few seconds.

A memory marker is a simple trick (The UE4 implementation of which can be seen here) that allows you to update and play with the enemies perception. It is a physical representation of where the enemy 'thinks' the player is.

In its simplest form, it has two simple rules:

  • The AI use this marker for searches and targeting instead of the character
  • The marker only updates to the players position when the player is in view of the AI

this gives you a number of behaviours for free- For example, the AI will look as if you have eluded them when you duck behind cover and they come to look for you there. Just from this minor change you now have a cat-and-mouse behaviour that can lead to some very interesting results.

I was pleased to see that Naughty Dog also use this technique. In this Last of Us editor screen-grab, you can see their enemy marker (white) has been disconnected from the hiding character

It is also very extensible - in more complicated implementations (covered in future video tutorials) a list of these markers is maintained and acted upon. This lets us do things like have the AI notice a pickup when running after the player, and return to get it if they ever lose their target.

Using a 'Razor' to make a lean, focussed game.

Edit: Article now up on Gamasutra.

steenbeck-noscale

I’m not usually a fan of short, snappy phrases that sum up design concepts because more often than not they end up being reductive and misleading. A Razor however, while not being entirely guilt-free in this regard, is a simple concept that I’ve seen used consistently enough for it to be worth covering.

The name comes because it helps you identify and cut unnecessary features. It is however a slight misnomer because it also helps you design them, and generally keep the creative team on track.

In short, it’s a phrase that serves as a small reminder about the core of your game.

Using this Razor for your game design

Often in design you find yourself paused, not by creative block or because you’re unable to see a solution to a problem, but because you have a variety of seemingly equal and interesting solutions in front of you that you have to choose between.

The idea is simple - you think of a way to define the core of your game, a summary of the experience, and then you encapsulate that in an easy to remember phrase. For example “You are a swashbuckling pirate”. From that point onwars you then make sure every part of your design validates this phrase. If you think of a feature you like, but it really doesn’t help achieve this feeling, then you cut it.

Of course, it works both ways - the realisation of your game’s true core helps you to think of gameplay that will further help you evoke this feeling in the player.

It’s a tool designed to keep your game lean, focussed and consistent. It’s meant to produce something where everything works together to push towards one overall feeling. Game mechanics, music, art, story - all should be working towards one goal.

To use a more relatable example, let’s imagine that the Razor for Uncharted 1 was “you are Indiana Jones”, not only can the design team use this as a reminder for their mechanic design, but the level designers too can use this to remember the heart of the game, and how they should be thinking about movement through their spaces. Animators too can refer to this, and remember that in combat Drake is not supposed to be a master of the martial arts, but rather someone who comes off as a scrappy street fighter - untrained but experienced.

Now it’s important also to point out that it’s not some magical phrase - really it’s an understanding the whole team has to come to. A true understanding of what the game is about at its core. The phrase is merely there to remind you of it, so don’t be too beholden to the words you’ve chosen - it’s the idea behind them that’s important.

Things to watch out for

It’s important that this phrase encapsulate the feeling the player should have when playing the game. It should not describe something the game should do - this is a common mistake. You may be tempted to use a phrase such as ‘everything is a weapon’ because this might remind you of one of the core tenants of your game, and in some ways can help other aspects of the game’s creation, but it doesn’t help you make decisions, and more importantly, it certainly won’t help an animator decide what style to choose when blocking out a new animation.

It’s the overall feeling that you’re trying to convey - “You’re a ragtag group of mercenaries.” “You are inside a Grimm's fairytale.” “You are a scared civilian in a war with absolutely no training.”

A small, simple thing that should not be overstated, but a useful trick nonetheless.

Blend-spaces

A blend space is a concept used in animation scripting where several animations are asssigned a position on a graph, and one or more input parameters calculate what mix of which animations should be playing at the current moment.

Here we see an example of a One Dimensional blend space. Speed is controlling where the blend is calculated to be on the graph. The bottom node represents the idle animation, where speed is equal to zero. Above that are the Run, Walk and current blend position (in orange).

The player moves the character forward, and this speed value is fed into the blend space to make sure that the animation syncs up with the movement.

A 2D blend space is exactly what it sounds like - many animations can be mapped onto a graph with two dimenstions rather than just one. A common example of this would be a characters base movement. Below we can see many different animations have been plotted on a graph representing direction along one axis, and speed along another. Using this the scripter is able to create a state for an animation state machine that takes into account these two inputs to play a blend that will see the character turning and running in the correct way.

2DBlend

Animation State Machines

This is one of several small posts that aim to give an overview of animation technology in current games, as part of an ongoing scripting tutorial series.

Animation state machines are a core concept used in modern computer games, and are a necessary component for us to understand and work with characters and scripted moments.

There are three main components that compose animation state machines

States

These contain an animation. When a state is active, the character is playing this animation. You may be able to alter the way the animation plays, but nothing more.
The only caveat is that states can also contain blend-spaces, which we will cover in an upcoming blog post.

Transitions

These are the links between states. They define which animations are allowed to blend between each other. For example, you may add transitions to allow a character to blend from Idle to Walking, but not straight from Idle to Running.

Notice there are no links between Idle and Run

Rules

These are the set of conditions that you write, that when met allow one state to travel through a transition to another state. They are heavily parameter driven - as an example, speed increasing may transition from the idle to a walking state. Here is an example rule from UE4

There are some more advanced elements to animations state machines, such as the way they handle additive animations, encapsulate other state machines and send messages based on their state. These will all be covered in the next blog posts.