They Were So Close

Overview

  • Release Date: September 2023
  • Platform: PC
  • Team Size: 1
  • Project Length: 1 Week
  • Engine: Unreal Engine 5
  • Language: Blueprint
  • Tools: Adobe Suite, Audacity, Blender

They Were So Close is my submission for the 2023 Epic MegaJam, a week-long game jam contest. The given theme was "Antiquated Future". The game puts the player in control of a steam powered robot, tasked with surveying planet Earth after humans destroyed the planet and left.

The robot can use its steam jets to spray water onto pressure switches, activating doors and platforms. It can also switch to a hover mode in order to float across gaps. These elements allow the player to solve puzzles and traverse the environment.

Responsibilities

  • Designed player controller, which included scripting, modeling, animation and particles work
  • Scripted pressure plate system, allowing platforms and doors to be triggered by the player, optionally with a timed parameter
  • Made a camera system allowing fixed camera rotation
  • Designed all levels
  • Scripted an end sequence

Water Target Blueprint

This Blueprint controls a target that the player can spray with water, which can affect Water Items in various ways. It also controls an optional leaking parameter, which may leak after a delay or when full.

Water Item Blueprint

This is the base Blueprint for items which are affected by Water Tagets. It monitors the current fill level and triggers events for when the level changes, is emptied or filled. These events are then overridden by child Blueprints depending on what we want to happen.

Dam Door Water Item Blueprint

This Blueprint is an implementation of a Water Item that controls a sliding door and optionally reveals a water mesh once fully opened. The original idea was this would fill in a gap with water so the player could traverse across, but when I added a hover element to the player this no longer became needed. It was still used in the game mainly as a sliding door element, and it was also used at the very end to trigger the water and thank you message (since the door is a required element for this Blueprint, it was hidden out of sight in this case).

The "Fill Level Did Change", "Did Become Full", and "Did Become Empty" events are overridden from the parent Water Item blueprint in order to achieve this functionality. A "LocalFillLevelDidChange" event was called from the corresponding overridden function because the Timeline controlling the door could not be updated from inside a function, due to how functions in Unreal can only contain calls that finish instantly, so this was used as a workaround.