top of page

"Escape the crumbling underground facility after a failed experiment has gone horribly wrong.."

Personal Project - Work in Progress

| Game & Level Design | 

Summary

This is a personal project that I've been working on for a bit on my spare time since April 2023.

I've managed to incorporate some of the key features that I want to have in the game but I'm still working on getting everything in for the complete game loop.

 

Project Breakdown

  • April 2023 - Ongoing

  • Solo project

  • Unreal Engine 5.1​

Funnel before reveal

To make the reveal of the setting more impactful I wanted the path leading up to it to be narrow and limit the players view of what's up ahead.

Seeing some hints of destruction builds interest while not showing too much to take away the impact of the reveal.

Foreshadowing_NextEncounter+Library_edited.jpg
FuelMultiplierMacro.png

Foreshadowing

Here I wanted to reveal to the player that there are enemies in the next building so they can prepare for an encounter.

I also wanted to show that they are getting closer to the library so they feel a sense of progression as well as help them navigate themselves.

Items

Parent item that all items inherit from.
The parent has all the neccessary variables to create items of different types. 

Inventory

Slot based inventory system with limited space that the player must manage.

Combat

A melee and ranged combat system.
Damage, attack rate and animation rate is based on
the weapon that's currently being weilded.

Fuel System

Fuel is a vital resource in this project.
Each level has one fuel source where the player can use their extractor to collect enough fuel for their train to travel to the next level.

Fuel Source

The fuel source has 3 different size categories: small, medium and large.
The radius of the source within each category is random within a set range.

Fuel is gathered based on the extractor's proximity to the center of the source. However, medium and large fuel sources also have a core that counts as being in the center allowing for maximum fuel gains while extracting. 

The fuel can also vary in quality, affecting how quickly the extractor will collect fuel.

The fuel source has 3 different size categories: small, medium and large.
The radius of the source within each category is random within a set range.

Fuel is gathered based on the extractor's proximity to the center of the source. However, medium and large fuel sources also have a core that counts as being in the center allowing for maximum fuel gains while extracting. 

The fuel can also vary in quality, affecting how quickly the extractor will collect fuel.

Fuel Radius

Here is how I set up the different varieties in the fuel sources maximum radius and core radius.

  • I'm using an enumerator to set the size category of the source.

  • I'm randomizing the size of both the maximum and core radius using Random Float in Range to get some variety.

Fuel Quality

The quality of the source will determine how quickly the Fuel Extractor fills up on fuel.
The source quality can either be predetermined or set to spawn with a random quality.

Range Indication

I'm currently using flat cylinders with 2 distinct colors to indicate the fuel source's core and maximum range.
Here I'm setting the scale of these cylinders based on the source's range value.

BP_FuelSource_Commented.png

Fuel Extractor

This device is used to extract fuel from a source.
The collected fuel can then be transfered to the train's fuel tank which is a neccessary in order to progress.

  • The player needs to transport the Fuel Extractor to a source in order to start the extraction process.

  • The amount of fuel that's extracted each tick is based on the proximity to the core of the source and it's quality.

  • Transfers fuel when placed in proximity of the train's fuel tank

Fuel Extraction

  • Timeline for delay and float value

  • Using a macro to multiply the Timeline float value based on distance to source.

  • Mulitplying the exracted value based on the fuels quality.

  • Adds the extracted fuel to total fuel.

Using a Timeline to set the delay between each tick of fuel extraction.
The process repeats itself until the extractor is full or no longer in exraction mode.

Macro - Fuel Distance Multiplier

This macro determines how much fuel the extractor collects while active.​

  • Divides the distance to the source with the source's radius.​

  • Sets multiplier to 0 if extractor is out of range.

  • Sets multiplier to Multiplier Max value if at the absolut center or inside the source's core radius.

Transfer fuel to the Trains reserve

Using a Timeline to set the delay between each tick of fuel extraction.The process repeats itself until the extractor is full or no longer in exraction mode.

  • Divides the distance to the source with the source's radius.

  • Sets multiplier to 0 if extractor is out of range.

  • Sets multiplier to Multiplier Max value if at the absolut center or inside the source's core radius.

The Train

The train acts as the players HUB, this is where you store items you want to keep. 
It's also the players only means of progressing to the the next level.

  • Has limited storage.

  • ​Fuel requirements to travel
     

ScreenShot00008.png

The Train

The train acts as the players HUB, this is where you store items you want to keep.
It's also the players only means of progressing to the the next level.

  • Has limited storage.

  • ​Fuel requirements to travel


 

BP_Train_Refueling.png

Refuling the Train

Transfering fuel from the extractor to the trains reserves.

The train has fuel requirements that needs to be met in order to be able to travel to the next destination.

bottom of page