Genre: Adventure | Stealth
Role: Programming | Game Design
Tools: Unity | Opsive Behavior Designer
Duration: 4 weeks
Voxel Art by Max Parata
Particles by Synty Studios
PREMISE
Unknown event happened lead to Norbit and his friend Lexi ending at an unknown place. With Norbit trying to figure out what happened, he found Lexi severely injured. Having no choice, Norbit must escape through the portal without getting detected, leaving Lexi behind.
Planning
The plan was to create a light hearted level with a stealth based gameplay and a simple narrative. To build the mood, I started searching for references. I wanted to experiment with combining robotic voxel art with nature which gives a sense of light hearted level which is what I wanted to achieve.

I decided that the enemies will have a detection range which will be visible in red so players can see the range and try to avoid it. As for the setting, I wanted to make a day & night option were players can switch between.
Level Analysis
I wanted the environment to tell the story. I achieved that by many things, making the broken wing trigger a monologue, a burning effect on the spaceship, tree bent in front of the spaceship and columns were fallen and broken. All these things were used to emphasize the crash.

Before Norbit talks to Lexi, he has been introduced (through a vantage point) to the portal even before knowing that he must escape through the portal.
Same goes for the burning spaceship and the broken wing in the crashing site. They both were there to build a narrative sequence so when the player reaches Lexi, he/she can relate and connect what they saw with what Lexi will be saying.
AI Behavior
I used Opsive Behavior Designer to create a behavior tree for the agents. There are 3 main states in the behavior tree which are checked every tick. The first one is [Seeing]. If the agent can detect the player in range, then the level resets. The second state is [Hearing]. If the agent can hear the player's footsteps, then it will wait for 2 seconds before looking at the player, giving the player a margin to hide. The last state is [Patrol] which is the default state. Agents will be patrolling the level and protecting the portal.
Code Snippets
Some of the code for controlling the player movement and rotation, triggering the win condition when the player reaches the portal, making the agents detect the player and act upon it, and some logic for printing the dialogs letter by letter on the screen.
Back to Top