Tunnels

This is an ongoing side-project of mine which has seen sporadic work, as and when I’ve had the time to spare or been between jobs. It is entirely built in Unreal and includes a whole lot of blueprint, level design and game design by myself (And a few bits of placeholder 3D-art).

Project details
Engine: Unreal Engine 4
Team Size: 1
Deadline: Ongoing
Planned Output: Minimum Viable Product showcase

Here, I will try to go through my thought and design process this far, and I will continue to update this document from time to time as work progresses on ‘Tunnels’ (Previous WIP names – Pathfinder, Rangers, The Tunnels, Depth and Hunters)

The Concept

Games often contain a type of character that resonates deeply with me, but which is generally peripheral to the main plot/events of the game – The Pathfinder, the pioneer, the wayfarer, the spy.

These characters serve a very simple purpose – They justify the character being able to find their way through dangerous lands, the good guys/player faction knowing how to get to the macguffin or evil lair and the player being able to go somewhere that the rest of the plot says ‘no one can go to’. Regardless, their job is always done at the point where the player meets them; The path is found, and it is only up to the player to follow it.

Tunnels is a game covering that character: The pathfinder. Your job will be to find a safe path through the game world, in a situation where you can’t endlessly try every path – if you die, time passes, and the paths are no longer the same, unless you managed to somehow seal or secure parts of it. You have to bring the right amount of supplies to survive the journey, but also know when to retreat; return Home and resupply: Decide when it is worth it to fight, and where it might be more useful to sneak, or even take the long way around – sometimes you may even discover shortcuts only available from further along the level.

Early concept doodle intended for Minimal Viable Product showcase

To help the player gauge their own progress, the character moves downwards, level by level, giving a clear tally of how many levels the player has left, to get to the reactor.

Concept level for ‘Between levels’ tunnels

Planning

Setting

The setting has gone through a lot of redraws, as it has gone on: Everywhere from the Louisiana Bayous to the Stockholm Subways, but as it stands, for now, the game is set in a far future post-dystopian civilization, where people live in cities under cities – the surface abandoned many generations ago.

Giant reactors supply power to the cities of old – and the currently populated under-cities, but their output has began to wane, leaving the people in charge terrified – the concept of a future with no light, no heating, and no ability to travel by metro for trade – is rightly worrisome. This is where the Player Character comes in, a pathfinder sent down into the deep tunnels and sometimes abandoned deeper cities, to try to reach the generator and find out what is wrong with it – Preferably securing a path down there for the engineers and scientists of Home, the player settlement.

To make the setting feel more distinct, I wanted to insinuate, through set dressing and game mechanics, that multiple civilizations have risen and fallen within the tunnels, to the point where full scale wars between new underground nations have come and gone, great migrations have happened, tunnels collapsed and been re-excavated a hundredfold. The player will, in the game, pass through the ancient fallen kingdom of the Arkhel, pass through the Saren-filled tunnels which killed the Khazir vanguard, see the rotting concrete of Old New Georgias science centers and finally pass through a settlement recently abandoned, with no clear sign of what drove the people from it.

Dynamic effects such as flickering lights, steam vents, ballast tank filling/emptying will be part of keeping the levels from having to either A. Be very quiet/still or B. Require the use of non-dynamic ambience.

Flicker Lights BP

To this end, I created a dynamic ‘flickering lights’ system, which can be controlled in runtime by secondary scripts (But which I will primarily interact with via the Level Script).

Flickering lights in action, in a seemingly recently abandoned settlement
Example 2 of the flickering lights in action

This system, made from scratch in Unreal’s own Blueprint, works by taking a list of parameters and applying them to one of two lights, depending on selection (A spotlight or point light). Unfortunately there is no way to dynamically preview the light, due to how it functions, but I do not find that this produces much of an issue – if I want to be more precise I’ll just spawn in a non-flickering light and copy the values from that (Or use the values from lights I’ve already set up previously).

The control panel for the Flickering Light BP (Full tooltips not seen here)

Dynamic hazards

I am also currently in the middle of setting up a ‘dynamic hazard’ system, which will place hazardous zones/objects throughout the level, to enable the dynamic creation of soft and hard gates, throughout the game. These will include damaging/deadly volumes, movement imparing volumes, blockers and special enemy spawns. Some will require special equipment, forcing the player to (potentially over multiple lives) gather specific resources and equipment to get deeper, and other may be simple navigable hazards, where calm and focus will see the player through, safely (Preparation again, being king here – as making sure you are not being hunted or attacked halfway through will be essential).

Script examples

Mouse aiming, as in current build (0.2)
AI chase mechanic (Will later be done by behavior tree) pt.1
AI chase mechanic pt. 2