Let's study some level design tips for setting up blockmeshes that will help you lead players and avoid frustration.
These tips were originally shared in a GDC 2018 talk by David Shaver, a Game Designer at Naughty Dog. Before joining Naughty Dog, the designer worked at Respawn Entertainment, Schell Games, and Zynga.
In his talk, David focused on how to guide players naturally using level layout to decrease the impact of HUD markers, forced camera moves, and other tricks.
When creating new levels, the first step is to establish the context and constraints of your level. You should consider the time of day, location in the story, character abilities, and other important factors. Then you can set up a rough version of your level to get a sense of pacing and scale. The best thing to do is to get something playable and watch other people play it. You don't need official playtests – just ask your buddy to play it. Then you can repeat the same steps again and again until sending it to artists. Please note that your levels should always match artistic goals.
There are some basic principles that can help you build great levels. First, there’s affordance. You should use affordance to communicate to players what they can interact with or where they can go. For example, there are several types of doors and vents, and players learn to identify and use them. Players learn objects that are interactive and these objects then attract players' attention. Please note that all of your affordances should work consistently throughout the game or you will break players' trust and misguide them.
You should also show players what they can't use and where they can't go to prevent player frustration and guide them. For example, a player sees something that looks climbable and yet it isn't. You should cover this object with foliage or something else to avoid frustration.
The next rule is to establish a consistent shape language. For example, climbing edges in Uncharted are always horizontal and flat which lets players spot them easily. The designer noted that people tend to have emotional associations with certain primitive shapes.
Color consistency is also important as it lets designers communicate affordance. Color provides a context in a blockmesh and speeds up collaboration withing a development team because artists can distinguish dirt, lava, water, and other parts.
You can use landmarks your game characters can point at. Using these waypoints is a great way to orient players in your world. Basically, you just need a big object that can be seen from far away and from different vantage points. As players progress through levels, these big objects are getting closer and players to know they're on the right track.
One more great trick is using openings (caves, doors, archways, etc.) that attract people toward them. Openings can lead to a secure place or hide mystery – the trick is to attract people's attention and get them to a certain place. Once players enter, the gates and valves close reducing space of the game's world and leading players to a new milestone.
Level designers can also add leading lines that draw a player's attention to the intended point of interest. Roads, pipes, cables, and other linear objects lead players to a certain place and help them navigate.
Pinching lets designers use angle shapes to funnel players to a specific spot. You can block off specific areas and use angle shapes to create a natural flow for your levels. This technique is also great when you're leading your character to some kind of reveal – a new area or a boss, new types of enemies, etc.
Framing allows you to draw attention to point of interest by blocking other parts of the environment, making a certain area stand out. This technique was borrowed from photography. You can, for example, focus your scene on a small entrance where a big scary enemy can be seen helping players understand that the next big fight is just around the corner.
There're more tricks, of course. Make sure to watch the full talk here to learn other ways to approach blockmeshes and study some great examples discussed by David. Also, don't forget to follow the designer on Twitter.