Out of the Abyss

Summary

Out of the Abyss is a First Person Shooter that features agile movement mechanics, explosive weaponry and fast-paced gameplay inspired by games like quake and doom. The core gameplay loop is designed to allow for short play sessions of compacted fun.
The player take on the role of an explorer from a distant world that finds themselves trapped in a dark, underground city. The only signs of life are the monsters lurking in the shadows.

In order to escape you must power up the towering elevator in the middle of the city. Venture into procedurally generated cave systems below the city and find the power generators, modify your weapon with modules, defeat hordes of monsters and survive the city!

The game was made in Unity 2018.1 and took 6 and a half weeks to complete plus two weeks of pre-production.
Our team was composed of:

3 x designers

2 x 2D artists

4 x 3D artists

My role

My role in the project was main scripter as well as one of three game designers.
My main contributions was:

The procedural generation of caves

First person movement mechanics

Some weapon module behaviours

Many small things, bug fixes and testing

Procedural ”dungeon” generation

The biggest thing I did was the randomization of rooms and corridors for each cave the player entered, thereby making each playthrough have a different layout.To generate random layouts we created many different room prefabs that each had a number of exits and a dedicated collision box to prevent the rooms to be placed inside one another.
The algorithm used is fairly straigth forward:

Randomly select a room prefab

Loop through all of its exits

Randomly select a room prefab to place by the exit

Select one of the new room’s exits and rotate to match the old room

Repeat for all the exits for a pre-determined number of iterations (that can be different for different caves)

Special cases are the first room that will always be one of the starter rooms, and the last room that always is one of the generator rooms.