vVv (triple V)
My Job: Level & Mission Designer
vVv is a student project created in 9 months with Unreal Engine 4 by a team of 12 people.
The game is a First Person Shooter design for consoles with an emphasis on Movement and Action rather than planning and skill.
On this project, I was the level designer. I worked on the rythm and the pacing of the game.
Molecule Draft & Iso representation
I made several attempts to design the molecule draft.
The main concern was : How to create a molecule draft according with the artists limitations (times and complexity).
I made several attemps and I discussed it with the artistic team. If the environnement was to complex for them, I changed for something else. Finally we agreed on the scrubland, the quarry and the roman camp.
Once the molecule draft is setup, I drawn a iso representation of the level. It's helped me to designed the level in more detail. Furthermore It was easier to design the verticality and setup the narrow spaces and the vantage points.
To clarify the story of the game, I had to design the objectives and mission of the level.
According with the design team and the artists. I defined the level in three parts, each of them with a unique objective and theme.
This document helped us to define the pacing. Furthermore, It helped the narrative designer to write the hint phrase of the game.
Story board of the mission, made by morgan berto
Pacing graph & difficulty curve
The red color is for fight.
The blue color is for plateforming.
The yellow color is for the interactive elements (like the destruction of the telecommunication tower).
The Green color is for the tutorial.
The curve show the entensity according to the time (in minutes).
The boxes on the bottom represent the "chapters" in the mission design.
The difficulty is based on our personna.
Each quarter coressponds to a difficulty :
25% for easy
50% for Normal
75% for Hard
100% fo very Hard
Use of gameplay mechanics
The game is based on unique key features like the swap and the heavy aim assist.
My main concern was : how to intregrate this mechanics in the game flow and show the designers work ?
I designed the map as a semi-linear level. So the player can finish it in differents ways. For example, the swap isn't mandatory. The player can finish the game without using it.
Nonetheless, I created severals gameplay situations where the swap is the key element. If the player use the swap, he can discover new places and use them as vantage points.
Because the player don't need to aim, I designed arenas focus on the player navigation and how he has to use his abilities to win against the romans.
We aimed a AAA quality render at 60FPS on a GTX1060. We had to think how to designed the level in a way where it can be optimized.
We cut the level in several parts and add bottleneck to load and unload the level during the player's walkthrough.
This is a schema of the layers of the level.
The green shape are the environnement. they are surrounded by the purple lines that are the collider.
The red lines are the load/unload system.
Finally, the blue layer are for the IA trigger.
We used layers to separate the environment, the collision, the AI and the narrative elements.
This system allowed us to work together on the same part of the level.
We separated the environnement and the collision. So the level doesn't have any mesh complex collisions.
Spawner and wave
Spawners are designed to be easy to configure for the level designer.
Spawner location : Where the enemies appear.
Actor : The list of enemies that the player will encounter in the order.
Wave : If activated the romans will appear according to the number of spawners linked
example : If we have 3 spawners and 9 romans. We will have 3 waves of 3 romans.
Death requires : the minimal number of ennemies killed needed to go to the next wave.
Should aggro : If activated, the romans will directly attack the player.
Tag : Used to delete enemies when the player leave leaves an area.
Limiting the number of enemies
We limited the number of ennemies in-game to avoid 2 problems :
The player face against too many romans.
Performances issue due to the high number of ennemies to process for the pc.
We designed a tag system to resolve this situation. Each spawner has a tag (garrigue, camp, carry) that they give to the enemies when they spawn.
When the player crosses a checkpoint with a tag, all romans with the same tag are deleted. The enemy spawner with the same tag keep their current state so when the player comes back, they will find the same number of enemies.
Spawner in the details tab
Spawner and spawners locations