
The Naturals' Descent
About
The Naturals' Descent was developed as a group project assignment for the Games and Simulations course at Nova University.
The group was composed of 2 programmers, and we also had some help with the world building and story telling from another friend.
Project Info
- š„ Team Size: 2
- ā±ļø Time Frame: 10 Weeks
- š§ Engine: Unity(C#)
Introduction
This was the bigger final project for the Games and Simulations university course.
We were given full creative freedom with only a few more technical requirements like:
- Cheat mode to jump to interesting evaluation points using keys 1, 2, 3, 4 or M, N, B, V, etc.
- Press āUā to toggle a free moving camera with mouse and WASD controls.
- Press āPā to pause the game (stop every animation) but still allow you to freely explore with the camera using āUā.
- Toggle frames per second display using the āIā key.
We decided to try to make an action-adventure first person shooter, set in a steampunk desert world. The player can explore the desert in a hover board, fight AI enemies and solve puzzles inside of procidureally generated underground mazes.
Game Design Document
Our first assignment for this project was to create the Game Design Document. After discussing our ideas for the game, this is what we came up with:
The Hover Board Mechanic
For exploring the desert, we wanted the player to be able to ride some kind of vehicle. We decided that a hover board would be a cool and fitting choice for our steampunk world. The mechanic was inspired by the hover bike found in the game Sable.

Visual demonstration of the hover board physics.

Hover board in action, exploring the desert.
Wave Function Collapse
For the underground caverns, we knew we wanted them to be procedurally generated. I challenged myself to implement this procedural generation using the Wave Function Collapse algorithm.
Because of the project's ever closing deadline and since we didn't really need verticality in the caverns, I applied the 2 dimensions version of the algorithm using 3d meshes as the possible tiles.

The 3D meshes used as tiles and assignment of side tags.

Visualization of the Wave Function Collapse algorithm in action.
Video Report
You can watch the video report on the project below.
Github Repository
You can find the full source code in the following Git repository.