White Room - Game
Role: Technical Artist
Software: Unreal Engine 4, Maya, Substance Painter, Photoshop
Introduction
This was my final project for the Immersive Level Design class at SCAD during the Fall of 2018. The theme of this project revolved around the concept of 3 encounters, whereby a player has to complete 3 levels to beat the game. Upon revisiting this project, I’ve narrowed the overall project to focus on only the first 2 levels.
​
The piece served as a purely technical Unreal Engine 4 project, so I initially refrained from 3D modeling any new assets. The main goal was making sure the game was functional, and that all game mechanics worked as expected. In a deconstruction, one would find that this piece is composed of three core functionalities. They are as follows:
​
-
Pickup System
-
Pressure Plate System
-
Enemy Bot script
​
Below you'll find a breakdown of this game and my process for developing it. In the latter half of this breakdown, I'll detail my process for revising the lighting in this project.
Level 1
Game Breakdown
When designing this project initially, art and design took the backseat to mechanics and systems; so for the first part of the book I will only highlight the original design of the game. With all of the thematic elements of the game established, I set out to design the first level. This level not only serves the purpose of introducing players to the world, but also exposes players to this core pickup mechanic of the game.
With the purpose established I went on to design the level floor plan. The original sketch was done on paper, and later translated to digital format. Image of floor plan below.
Player Start
Position where the player starts from. I wanted the player to immediately face the pedestals when the game began, so the objective would be clear.
Pickup Items
Assortment of items that could be placed on the pedestal
Encounter Pedestal
Position of the pedestals. These pedestals ended up being a core component of the game
Locked Door
Target door that the player has to unlock. Positioned so that the player is able to see the door right as the game starts
TV Screen
Original placement for where the puzzle hints would live.
Level 1 - Flowchart
In addition to the level outline, I also designed a flowchart that deconstructs the level step-by-step. This flowchart helped to organize my process while also providing helpful guidance for scripting in UE4.
Pressure Plate System
The pedestal system was the second piece of programming functionality created for this game. Getting this mechanic working just right was crucial to the overall gameplay experience. This system not only had to check if the place object was correct, but also keep track of player progression so the game could know that a trail has been completed.
​
-
Firstly, a script was made to check if the target object has a specific tag
-
If the tag of the object matches that of the pedestal, the puzzle would be complete.
-
Script checks whether all puzzles have been completed, then send a message to the game to proceed to the next level.
Flowchart and blueprint breakdown below
Pickup System Design
The pickup system was the first major programming challenge I tackled on this project. This system was no easy task, and involved making 3 scripts communicate with each other in-game.
-
Firstly, a script was made to check if the player was currently looking at a grabable object.
-
If that was successful, an interface node sends a message to the target object.
-
That grabable object would then snap to a fixed point in front of the player, and follow where the player is looking.
Level 2
Game Breakdown
Once the player is able to complete the first level of the game, the locked door opens and a cut scene reveals the second level. The goal for this level was to build onto the established mechanics, while also adding new skills and obstacles into the mix. When the player first enters this level, they gain the ability to crouch. Though the time element has been removed, players will also notice that the game now has enemies that must be avoided.
​
As with the last level, I first fleshed out the floor plan before going deeper into development.
Encounter Trigger
Collision object that, when touched, grants player the ability to crouch
Robot
Robot is denoted in blue, with the path it can take drawing in a light blue color. Each corner square is where robot begins to scan for the “escaped” player.
Pedestal Room
For this level, the pedestals are used again, but this time it’s confided into small rooms. The player has to crouch into these areas while avoiding the robots
Locked Door
Target door that the player has to unlock. Introductory cut scene highlights the door as the player’s objective
Robot System
The robot system was easily one of the more tricky elements to create in this project. This robot not only had to move and look for the player, but also do so on a continuous loop so long as the game is running.
In approaching this script, I broke the script up into 4 parts.
-
First start by initializing the robots default position
-
Because there would be multiple bots in the scene, creating a simple timeline animation wouldn’t suffice. Created a modular system where movement positions can be specified by the user in-editor.
-
Making turret’s to rotate was a fairly involved process. Not only did the bot have to check in all 4 directions, but also required was the need to reset that action with each new zone.
-
Finally having the bot check for the player was the final component of this piece. From there all actions could be looped and repeated.
Flowchart and code snippet featured to the right.
​
Initial Conclusions
This was definitively a challenging project to create. This project not only pushed my game development in Unreal Engine, but also made me a more polished programmer as a result. Though there are many technical systems that I listed in this documentation, that only scratches the surface of the programming that went into this game. Through the use of BP interfaces I was able to develop a password input system, respawns system, and much more. To see the full depth of systems designed for this game, download this state of the game below.
Project Revision
The original version of this project was completed in the Fall of 2018 and, aside from tuning up some system elements, I considered this project a success. Even though this project was a success from a systems and technical standpoint, I couldn’t quite bring myself to make this a featured project in my portfolio. The reason for this is because, even though it’s technically solid, the art direction of the piece left much to be desired. A large majority of the assets for this piece used basic primitives, or assets from UE4’s starter content, which often left the design
uneven.
As I bill myself and Environment Artist and a Technical Artist, I knew that the design of this piece had to be refreshed before I could put this in my portfolio. The only caveat is that while I wanted to overhaul and fix many design elements, I didn’t want to drastically change what already existed. My goal was to amplify what already exists, and only create new assets when necessary. To do this, I followed a four-step process which entailed the following:
​
​• Identify what elements need to be fixed
• Recommit and gather reference images of design improvement
• Create required new assets
• Refresh the lighting design of the environment
Identifying Inconsistencies
In tackling this refresh, I first started by playing
through the old version of the game and taking note
of what could be improved. In this analysis, I chose to
focus only on elements that were egregiously bad, or
elements that could be improved with simple model or
texture creation. After identifying all 3 levels, I came to
a few important conclusions.
• The 3rd level would have to be cut from the project,
as redesigning that level would require intensive
modeling and design. Something that’s counter to
the mission of refreshing this project
• The 1st and 2nd level of the game could be polished
to a nice standard, with only 3-6 additional assets
that would have to be created from scratch.
• Lighting will play a substantial role in the overall
professionalism of the project