Home is a DBGA project made for a collaboration with the non-profit organization Videogames Without Borders.
- Level and world design
- Concept and first draft of the story
- Additional Scripting
Team size: 11 Development: 6 months Engine: Unity
The game tells the story of a mother and a child living the transformation of their village: from a lovely little town to a place they’re afraid to live in.
The goal of this project was to give the players a glimpse of what brings people to flee from their country, and to make them experience the dread of seeing your whole life falling to pieces.
The game revolves around a small town that is fully explorable, as de facto lead level designer my job responsibilities included:
- Designing the main layout of the town
- I had to make it easily divisible into smaller stages
- I had to build it in a way that made it possible for multiple people to work on it at the same time
- I had to create a believable space in white-box to create a reference for the artists
- The main story needed to unfold through the gradual exploration of the town
- Coordinating with the art team for the “before” and “after” stages
- help managing the production of assets to suit the needs of both departments
- Designing the system that allowed multiple people to work on a single scene through prefabs
- People needed to work on different parts of the town at the same time
- People needed to work on different versions of the town at the same time (before and after)
- Artists needed to update the assets without interrupting the work of level designers
My other responsibilities included
- Level design
- Designing early levels involving stealth gameplay as template for other designers
- Designing various stealth segments throughout the game
- Full ownership of the Last Stage that preceded the big climax at the end
- Designing the lighting for all the stages in the game to enhance gameplay and atmosphere
- Fixing and maintaining the lighting systems from a technical viewpoint
- Lighting work, technical or not, still had to follow the restrictions from multiple people working on the same scene
Second Stage: stealth section
At the start the player can clearly see the first “cop” looking for him and the entrance to the an area surrounded by hedges, this central area is purposely made completely safe, so that the player can rescue the kids and go back to safety easily, since this is the first time the stealth mechanic appears in the game.
For the first kid the player can easily walk past the guard when he turns the corner. The second kid is a bit trickier, the player has to go behind cover because this character is slow in stealth (the mother is faster). The last guard walks in a circle around a hedge so either the player times it right coming from the path or he can take the safe route through the center.
The Last Stage
This stage comes after the mother and the kid fled their home and are forced to go separate ways. This is also the last level before the big final set piece so it needed to be the tipping point for our gameplay. At this point the player realizes that the bad guys won and took the town, so to show it we made the mother witness the chaos caused by the rebels while she has to go through this area full of enemies.
For the pacing of the stage I wanted to start with an open area where the player can easily see the path to the end and also all the guards he must walk past. This section also needed to establish a feeling of danger so, the player is directed on a path that, while safe, puts him very close to the guards, keeping him on his toes.
The next section was added to the town design for last, because I felt that, for the pacing of the level, we needed a beat of tension that the former area wasn’t quite suited for.
The area is guarded by enemies that aren’t on patrol but shoot at first sight, causing instant game over, so the player has to keep an eye on the enemies all the time and move very carefully from cover to cover.
The last section uses the same trick as before, the enemies are pretty close but it’s hard for them to see the player. The path this time is very straight forward allowing the player to take a breather before the climax of the story.
Part of my level design responsibilities was to design the lighting for every level in the game, especially for the “after “levels, that take place at night.
The lighting in our game served two main purposes: the first was to create the atmosphere and set the tone for each level, the second was to ease the navigation for the player and guide him to his destination. To achieve these goals I decided to adopt some kind of language for our lights.
The first item I used was a spotlight to point the player through the critical path. I found that a heavy volumetric light practically acts as an arrow pointing to the subject.
The second use I found for the spotlights was to create a feeling of being chased and in danger. When the light is pointed to the ground with no actual subject it creates the feeling that it is searching for something even if it isn’t moving at all. An example of this is the back alley area where multiple lights are illuminating the empty spaces between covers.
Another tool I used to direct the player are some lanterns producing a warm light. These were used to commuicate to the player safe spots as well as “breadcrumbs” to follow. These kind of light is used primarily in the night level with the kid, since he is in a safer situation than the mother.
Obviously fire means danger so I used it to highlight the areas with more guards as well as places the player should stay away from. Also it gave off some nice ambient lighting with the orange/red light reinforcing the feeling of danger in the “after” levels.
Other light sources
I also used some lamp posts and street lights to further clarify the geography and the spaces. For these I used spotlights with minimal volumetric settings.
One thing I discovered is that volumetric spotlights give a different feeling with or without a “subject”: if the light is hitting only the ground it makes the place feel like empty and desolated while if it has even a meaningless subject (I.E. wood boxes) the place feels more crowded and narrow.
Lastly I used some fallen lamp posts with a flickering light to emphasize the feeling of destruction, for example at the start of the last level it sets the tone right from the get go.
After finishing the first version of my level I was eager to work on the lighting to see how it would affect my creation, the only problem was that nobody on the team had even tried to tinker with the lighting system and it was a mess. The light baking took hours when it didn’t cause Unity to crash, it was full of artifacts of all kinds and LOD objects didn’t seem to work with lighting at all. So I rolled up my sleeves and used a weekend to research the topic.
The first results arrived when I started tweaking the settings for the Global Illumination, reducing the baking time to just under 2 hours, so I started researching the subjectand reduced the baking time from a few hours and a probable crash to just an hour.
Then I decided which objects could use baked light and which would use light probes, and this not only brought the bake time under 40 minutes but also led to a pretty big improvement in performance. Lastly I modified the uv-charts for the most troublesome objects and brought the bake time to 30 minutes for the nighttime levels and an incredible (for us) 10/15 minutes on the daytime levels. Last thing on the list was to place the lightprobes to actually see the non-baked objects.
I first tried covering the place with probes, but being unsure of the effect on the performances I tried a different approach. Every main area of the game would have its own lightprobe group, so we could deactivate the unnecessary ones on each level. Each group would have two subgroups: the first I called the “environmental group” and was used to gather the light (and shadows) from the main directional light as well as the indirect light from the biggest features of the map; the second group was used for smaller changes in lighting, like secondary light sources or specific objects.
The last thing I did was to check for every object to be correctly lit. To further keep performance under control I placed the probes on the critical path to then reduce their density as I moved away from the path.
Lastly I spent an afternoon fixing the problems that came up in all the time we went without anyone managing the lighting system, like with LODs and decals.
In the last weeks of the project I also wrote a few scripts to take some weight off of the shoulders of the programming team.
- A script to make the lights flicker: one or more lights could be picked to always flicker or could be set so one at random would flicker at a random time. The script could also recognize if it was a day scene and turn off the lights, this was a workaround to our system of prefabs.
- I extended an existing script to change the interaction icons based on what was the last input keyboard or controller.
- I also wrote a script to make objects float if they fell into the river.