If there already are a lot of game assets created, I usually go through them and come up with new map themes involving them to reuse existing assets much as possible to save time. But while asset reuse is important to release levels quickly, it’s important to me to create a new experience for players both visually and with the level layout.
I decide on a map theme and start to look for reference images for the level’s atmosphere and the mood. Depending on what type of map I’m making, I sometimes do a lot of research about the level’s setting.
Once I have a good idea of the map theme, I start planning the actual gameplay areas and the winning condition for the level. Depending on the map and game mode, I design areas for capture points, player respawns, checkpoints, items, weapon pickups and whatever else the level need. Sometimes I use mind maps to get a good first overview of the story and different map areas.
I usually draw a quick and simple sketch on paper of how I want the levels layout to be. Sometimes I also use SketchUp or Photoshop to show the level plan in even more detail.
Here are some examples of level/game design documents I have done:
I always visualize myself walking through the different areas of the map. By doing this, I get a lot of new ideas and inspiration and can solve many design and balance issues.
During all these steps, I make notes of new assets that would have to be created.
My goal is to always create maps that inspire players to work as a team.
For example, at the top of the image below, there is a hole next to each “capture the flag station” where the flag can be dropped down on the metal platform over the lava for a teammate to pick it up.
Following the level design layout plan made earlier, I enter the level editor / game engine and start building the basics of the level in brushes without any fancy graphics to make it easy to change things fast if needed. I build a mockup of the level from start to finish and add everything essential to walk, jump and shoot to test the map. This includes creating rooms, holes for doors and windows, balconies, pillars and other core parts of the map.
I also create any outdoor areas with the editor’s built in terrain tool to create natural features such as hills and lakes.
When done, I block off areas around and above the map with invisible walls to prevent players from leaving the game area, later I will try to hide these invisible blocking walls behind visual objects like fences and such to make it clear to players that you can’t continue through them.
Here I play the “blocked out” level to make sure everything built so far works so the player can walk, jump, crawl, shoot and so on without getting stuck and everything feels natural.
I try to identify problems early, like an off limits area being accessible by some clever jumping. My game quality assurance experience comes in very handy here. I also always ask coworkers for valuable feedback at this stage to get even more input.
I take notes and screenshots of any problems found during testing and also list all feedback. I have experience working professionally with a lot of project planning and bug tracking tools such as Hansoft, Jira, Trello and Pivotal Tracker.
An example of things that I look for at this stage would be making sure that its possible to see a sniper up on a balcony when entering that area but still give the sniper enough cover to be a threat.
If any problem was found with the blocked out level during testing I go through the notes, fix it and test again until everything works perfectly.
During this phase I try to add everything that is vital for the gameplay such as capture points, player spawn areas, pickups and weapons and try it out to make sure everything feels good.
For a first person shooter level, it’s fun to add a risk vs reward dynamic by adding a sound to a pickup that only can be found at a specific part of the level. For example, having a double damage power up inside a ventilation area that when picked up says “Double damage!” to nearby players. Then everyone knows someone is inside that ventilation area but the player who got the power up is more powerful. Another example would be to have a rocket launcher everyone wants to get to in an open area surrounded by water. To get the weapon, players must walk through the water and make splashing sounds that reveal their location.
I try to combine weapons that function very differently and complement each other in different areas of the level. I created the multiplayer deathmatch map below for the game Cobalt, shown here with an overlay showing all weapons in this map.
Players start with a shotgun that is great at close range combat, but on the level there are also guns that are great at long range, a missile launcher that is weak at close range but strong at medium range and a phazer that instantly kills enemies without a shield in melee combat.
The shield pickup is located in a very open and vulnerable spot in the middle of the map and takes a few seconds to pick up. This makes it a great risk vs reward element on the map that players want to get to and fight over.
On the top of the level, there is a thermal bomb. When thrown, it has a short countdown timer before it explodes over a large area of the map.
Almost everywhere it’s thrown, the thermal bomb will roll down to the bottom of the map due to all the downhill slopes. This adds a fun and hectic game event where players want to get to the upper parts of the map at the same time to survive. The blue light areas are teleport triggers that let players get from the bottom to the top instantly. This makes the teleport stations a vital area on the map to control. The grenades have a similar function as the thermal bomb as they can easily roll down all the slopes of the map but have a much smaller blast radius and can be thrown in an arch so they are a lot safer to use.
After game play is perfected, it’s time to turn all the blocks into a good looking level by adding details such as 3d/2d props, water, particles, sounds, lighting and music. This is usually made by colleagues and my job is usually to put it all together to create a good atmosphere that goes well with the level theme and gives the player a great experience.
I always make sure every part of the level is easy for players to know where they are and where they are supposed to go using distinct landmarks such as a high tower or a river to follow.
Once everything looks, feels and sounds good I add pathnodes for bots to find their way around the map and add any minor scripted and triggered events like cut-scenes and camera shakes.
I usually test after adding a new feature or detailing an area to make sure it works and looks perfect. This testing is done both directly by me and by observing co-workers and focus testers play.
Finally, it’s time to take all feedback from focus testers and iterate on my work, fixing and balancing the map if needed. I like to work closely with testers to make sure that the changes work well and the level is developing in the right direction.