Escape Sequence

A 3D FPS with some random 3D level generation

An alien army is invading your space exploration colony. You must fight and leave the base by activating all the terminals placed throughout the randomly generated levels, and jump through the escape portal.

Project Duration: Spring 2021

Team Size: 7

Role: Gameplay Programmer

Contributions: Portal activation terminal refactoring, player hurt signifiers (head tilt toward damage source, damage source arrows), camera effects.

Tools: Unity, C#, Git

Contributions

An FPS Essential

The team wanted to add environmental hazards in the game so that player’s could use the world more for combat and strategy. We’ve noticed that there was a severe lack of explosive barrels in this FPS game and I was the one to remedy that issue. Yay.

For starters, I’ve programmed the interactions, states, and the leaking flame effects using the VFX graph. Next, the team wanted to sprinkle some strategy and depth into them. So I made them require one shot with a countdown timer to prime for detonation, and two shots for quick tactical wipeouts. Anyone could shoot the barrels, so requiring two shots is a buffer for stray bullets.

As anyone could shoot the barrels, requiring a two shot buffer to prevent stray shots from causing accidental suicides, unintentional chain reactions with you as the victim, instant wins from enemies, gamepads embedded in walls, etc.

Making the particle FX was the fun part. For the flammable gas, I wanted to show the volatility of this confidential substance by causing each flame particle to shrink then spark like some anime nuclear explosion.

At the end, the barrel is a simple, yet effective, storage container of holding volatile liquid explosives. It seems it’s mandatory that every shooter needs an explosive barrier to give the player that satisfaction of a smart play.

OK, who shot me?

Wouldn’t be an FPS shooter if it didn’t have an attacker indicator arrow to show ya. For this I’ve came up with three solutions.

The first is your boring standard 2D arrow. It works and people are familiar with it, but this style works best in a 2D game. And I like to add an interesting twist to everything I do.

Modern games need modern solutions, the 3D arrow. I don’t see many FPS game use this I really like this because it more accurately showed the exact location is 3D space. The small ball helps determine the arrow’s direction if it were facing towards or away from you. Plus it has this cool sci-fi feel to it. Inspired by Titanfall and Apex Legends.

But I still wasn’t satisfied. The game needed a way to express that the character is getting hit and the player can empathize the same way. My third solution was adding a head tilt whenever you get from any direction. The quick vision motions in games are felt more than seen, a designer trick that I’ve picked up recently. Inspired by Minecraft.

Terminal Gameplay Refinements

When I joined the team midway through the year, my first task was refining the game’s most important mechanic, the Terminal. At first, I thought about just refactoring the code, but as a gameplay programmer, that wasn’t enough for me. I really liked the idea of the terminals showing the player’s progress in-games using diegetic UI. This really makes the player and character feel like they are both part of the world.

Camera Pixelization Effect

This is a fun one. I’ve always wanted to add a pixelization effect to a game and finally got the chance when my teammate requested me to work on one. What you are seeing in the GIF above is Unity’s render texture with a scaled down resolution, and is being displayed on the HUD right in front the camera.

Next
Next

Hackfight