The Last Light
Mission
It all started as a long term exercise proposed by our Game Design Core Trainer: building an FPS multilayer map where the player’s actions could unlock new layers, but without making useless the previous ones. But before starting the Level Design challenge, we needed at least a Game Concept!
Concept
Last Light is an asymmetric stealth multiplayer game in which 3 players play as the Keepers, who need to transport 3 Spheres of Light from the Warehouse to the Generator. At first, they will have just one map layer slightly Lit, but when the first Sphere is delivered, another layer will lit freeing it from the majority of the Darkness, but not all of it: some small darkness minions will remain vigilant, and if even one manages to see a Keeper it will alert the Monster. He is a fourth player that has to hunt down the Keepers, with the objective of consuming the spheres they carry before they reach their destination: each one he consumes makes him stronger, and when he will consume the 20th he will be able to enter the safe zones of the Keepers and winning destroying them.
Molecular Design
After the concept was completed and the basic metrics and mechanics were defined we started outright with the molecular design of the first layer.
The first characteristic that comes to the eye is the structure based on three main walkable routes, we were pretty confident with them since it's a common pattern in multiplayer games. A notable feature is the branching out of the external routes: we wanted to reward a Keeper that would choose the longer way with more places to search in for the Monster, thus we created the additional paths.
-
Then came the positioning of the Mechanical resources: the clusters of Scraps and the Light sources. They had to be in little quantities and in strategic places because we wanted the players to face an interesting decision between running at the objective or stopping to pick up goodies or ammo.
-
The last thing inserted was the Monster’s pipes, they allow the monster to move freely between the layers, whereas the Keepers have to change the layer from the Warehouse. We placed them scattered all across the map so that the monster doesn’t have to travel across the whole map to change layers, since it has to patrol a really large area.
Next, we divided the map into conceptual spaces, such as Market or Favela, those were guidelines, in fact when we designed the actual rooms some links and sizes changed, but the molecular structure remained. In this same step, we assigned some rooms a unique mechanic (this was done since we hadn’t to produce the game) that got repeated in the next layers.
With the second and the third layer we had a choice: follow the general idea of the first one or shake up things. Since the design wasn’t going to be produced we chose to change register and prove our versatility:
-
The second layer kept the stealth idea but became more collaborative, so the molecular design didn’t really change much aside from the central new funnels.
-
The third totally dumped the stealth aspect, asking the Keepers to rush the layer and make carnage of the simple monsters.
Also as the layers progress their total sizes diminish, this helps both the Monster that has less area to patrol and the Keepers that in a smaller layer have less distance to cover.

Draw.io design

Now we had our molecular design, but we still needed a concrete map to translate in Unreal. We decided to use a collaborative tool like Draw.io, and before starting to work at it we created a Legend. We then proceeded to build room by room, focussing on the peculiar mechanics we assigned to each zone, to better help the player orienteer (if he sees a one direction door, he will know he is in the City Hall, for example). Creating the zones, we deduced some more game mechanics and guidelines:
-
On the same layer could exist more floors, an attic in the first and a basement in the second
-
The clusters couldn’t be relegated to the molecular spots we found, they needed to be scattered throughout the map, with many possible spawn points so that veteran players wouldn’t have an overwhelming advantage,
-
We repositioned the Light sources out the player's way, hardly reachable, making them a reward for a player skilled and curious enough to explore even the more difficult areas.
Unreal Engine 4 design
Here we had another choice: use Unity the engine we were comfortable with as we used it the whole academic year or use Unreal which we barely scratched the surface of and learn to use a new tool.
The answer is the title of this section, so we opened a new project with the first-person shooter template and we started positioning grey cubes. Soon we had to adopt a versioning system and to create the blueprints for enemies, doors and bridges.



Conclusions
As we approached the end of the project some considerations had to be made:
-
A lot of our choices were driven by the awareness that this project will never be produced, resulting in many mechanics serving the level design, and not vice-versa as normally should be.
-
The game hadn't been tested, so we could never know if the measures of the map were correct, the number of enemies balanced or if it was "fun" in the first place.
-
While some places' architecture and landmarks work well and let the player extrapolate his position other rooms result dull and similar between one another making orienting impossible without artistic characterization.
-
Choosing Unreal was a challenge, but we learned a lot, both in worldbuilding and blueprint realization.
-
Adding little touches can really make a huge difference: just setting the time to nighttime and adding a torch to the player's head set the tone and helped define the spaces while navigating the map, since the player has a smaller area to focus on.
As requested at the start of the project the final result is a 3 layer playable Blockout in Unreal, in general, we feel comfortable about our work and we spent working on it less time than we planned to.
For any doubt contact me, I will be happy to discuss with you any feedback you feel comfortable sharing.