Introduction
Diplomacy is a level created for the fps game ‘Insurgency: Sandstorm’ and was my submission for the 2020 mapping contest hosted by ‘New World Interactive’. The level received 3rd place in the community voting and 5th place out of 32 maps in the final rating by the NWI developers.
Due to the realistic nature of Sandstorm, I wanted to design a level which felt realistic while also telling a story. I also focused a lot on replayability with multiple paths to each objective as well hidden areas for players to explore, making each playthrough interesting in it’s own way.
Unfortunately I am no longer able to support the level and it may be unplayable in the current version of Insurgency: Sandstorm.
Project Details
- Developed over 20 weeks
- Engine: Unreal Engine 4 (Sandstorm SDK)
- Level Design
- Level Art
- Lighting
- Performance
Community Feedback
Since this was a fully playable level , I had access to the enormously valuable community feedback provided by the players as well as other level designers.
Challenges
Making a level of this size on my own was a huge undertaking. I spent a lot of time researching and learning about areas that I had not previously explored, including lighting and optimization.
These challenges greatly expanded my knowledge of game development and I feel a lot wiser and more experienced as the result of going through the process.
PRE-PRODUCTION
Pre-Production
I began by researching the game I was designing the level for and what game modes I thought would be intersting. After getting a good feel for how the game works I began gathering reference images for my level. I like to use google earth for this since it allows me to look at my subject from a lot more angles than if it was a still photo.
After setting up my reference library I began drawing a paper overview of the general layout of the level. Once happy with my overview I moved onto Unreal Engine and began blocking out the level using BSP.
REFERENCE MATERIAL
I used PureRef to set up a coherent library of images which I mainly used for inspiration. Since I had never worked in the Sandstorm Editor before I also included a couple of images of buildings built using the modular kit within the editor so that I got a better understanding of how meshes were supposed to interact with each other.
Alpha/beta
Blockout
The blockout phase is arguably the most important stage of designing a level, mainly since this is when the backbone of the level is established. It was important for me to get this right. Therefore during this stage I asked other designers for their input and feedback on the layout, and made changes based on said feedback.
I used the BSP tool integrated into Unreal Engine 4 to efficiently create all the geometry, which quickly allowed me to walk around the environment and get a feel for the flow.
whitebox
Once I felt happy with the layout, I began implementing the gameplay elements. First I placed spawn zones for each team and an objective on the middle of the map so that I could test how the AI interacted with each other. I then proceeded to add the remaining objectives and important cover nodes for the AI to utilize.
Playtesting
Once I had implemented all the gameplay I began playtesting. Unfortunately most of the playtesting during this stage was done with bots since I was not able to find enough players to fill an entire game.
The playtesting revealed tons of valuable information and allowed me to further iterate on my layout to optimize the flow.
Blockout vs Finished level
Level Optimization
“Since I was responsible for the level art as well as lighting, I had to keep optimization in mind.”
Methods used to increase performance
Actor Merging - By utilizing actor merging I managed to decrease the amount of draw calls increasing performance.
Light Actors - In order to limit the amount of dynamic shadow casting in the level, I’ve set all lights to either static och stationary depending on whether they’re accessible by the player or not .
Cull Distance Volume - By configuring the cull distance of objects I was able to decrease the amount of draw calls even further.
Occlusion Culling - I knew that I’d have a large amount of props in the level and therefore needed a way of not rendering all of them at once. I utilized culling by blocking off sightlines between performance heavy areas.
Environmental Storytelling
“My goal was to create a realistic setting. This required the spaces to feel believable in their space planning. “
Smuggling Tunnel
When I designed the path towards the first objective I was worried that the no man's land, created by the road running through the level, would make it too difficult for the attacking team to reach the objective. Therefore I added a flanking route in the form of a tunnel underneath the road. In order for this tunnel to be believable, I had to make sure that the environmental storytelling in that area made sense.
Unfortunate Truck Driver
In the dock area there is a warehouse, through which players can reach a sniper tower. I wanted to create a small challenge for players, that they'd have to complete to reach the tower. The challenge is a jumping puzzle where players have to perform a crouch jump. The gap players jump over is explained by the unfortunate truck driver hitting one of the structural pillars holding the staircase up.
Exploded petrol tanker
On the edge of the town square there has occurred a violent explosion caused by a petrol tanker. The force of the explosion has blown holes into the nearby buildings and hurled cars across the road. These holes serve a purpose as I wanted an elevated position looking over the street below. This also required me to balance the issue with prospect vs refuge. Windows would provide too much cover for the amount of overwatch the position offered. I ultimately decided to remove almost all of the cover by blowing a hole in the building, making it a risky but strong position for defenders to hold.
Lighting
“One of the most challenging parts of the project was the lighting. I had very limited knowledge on the subject and had to do a lot of research to get it right.”
Natural Light
In consideration of performance I wanted to limit the amount of lights in the level. I tried to mitigate this by using as much natural light as possible. Some areas would become too dark only using the directional and skylights. Therefore I added fill lights without shadowcasting in certain areas to lighten up the room.
Artificial Light
Some areas were simply too dark to use natural light in. In these areas I used artificial light from lamps to brighten the spaces. I had to be careful with these since they'd use shadowcasting which increased the light complexity.
Level WALKTHROUGH
oBJECTIVE a - sMUGGLER’S HIDEOUT
The first objective of the level. I’ve designed this objective heavily in favor of the attacking team with multiple attack routes covered by elevated positions. An Issue I've observed in many push games is that the attacking team sometimes does not succeed in capturing the first objective. This creates frustration among the players which I wanted to prevent.
“We’ve received reliable information from the locals of a building being used to smuggle weapons in and out of the city. We must capture the building and seize the weapons”
OBJECTIVE B - Vehicle depot
The second objective features a slightly more open capture zone with large garage door entrances and only one floor to fight on. Inside the depot there is a wall dividing the space into two smaller spaces with plenty of covers.
“Insurgents have been hijacking trucks from the vehicle depot and are using them to transport goods.”
OBJECTIVE C - FOUNTAIN
This objective features a lot of verticality with its multiple story buildings with balconies facing the capture zone. This layout, makes this objective difficult to capture but carefully placed flanking routes allow the attacking team to get past the defenses.
“The insurgents have been using the hotel area to house their troops, we need to drive them out.”
Objective D - Avalon Square
This objective is my personal favorite. The layout is fairly even so it’s a challenge both ways. There are also multiple paths for players to attack from allowing for a varied and intense combat experience.
“Capturing Avalon Square is not necessary to the success of the mission, but it sends a message to the people while also acting as a psychological attack on the insurgents.”
OBJECTIVE E - TANK FACTORY
The Tank Factory acts as a bit of a juxtapose to the rest of the level in the thematic sense. The attacking team only have two paths to attack from, creating chokepoints which makes it easier to defend. Although due to the sunken location of the factory, attacking players have a height advantage over the defenders. Allowing players to provide support while their friends advance.
“Intel confirms the location of a tank factory captured by the insurgents. We cannot allow these tanks to fall into the wrong hands. Seize the factory and any ammunition that is stored there.”
OBJECTIVE F - AMMUNITION STORAGE
The final objective. I had not originally planned to include this objective, but before adding it, I felt that the level ended at its most intense stage and left players surprised that they’d reached the end of the level. By adding this final objective I allow the players to ride out that intensity giving the level a more definitive end.
The objective was initially an “explosive cache” which players captured by planting an explosive and destroying it. I thought this suited the level better thematically but player feedback showed that it’d be better if it was a capture zone.
“We cannot allow this ammunition to fall into the hands of the insurgents, seize it!”
Closing Thoughts
This was by far the largest project I've ever worked on. During the project, I explored areas I had not previously worked on. The greatest difficulties was the performance and lighting part. Having very limited experience in both fields forced me to spend a lot of time researching each area. All in all this project was an incredibly learning experience. Although I am not fully satisfied with the result, I am still glad I went through the process.
The initial blockout - I feel like I didn't spend enough time properly iterating and play testing my initial layout. This made it more difficult and time consuming to iterate further down the production line. If I would've properly tested the level I would've had more time to work on balancing the game modes.
Performance and lighting - Although I spent a lot of time researching these areas, I still feel like I could've done more. For instance I did not anticipate that the lightmap would be affected by merging actors. This caused artifacts in my light build which could've been avoided with further knowledge.
"All in all I'm still pleased with the result and would love to create another level of this magnitude with the knowledge that I gathered from this project."