Any views expressed within media held on this service are those of the contributors, should not be taken as approved or endorsed by the University, and do not necessarily reflect the views of the University in respect of any particular issue.

Technical Details of Game Implementation

Game Engine

The game was implemented using Unreal Engine 5, version 5.1.1.

All gameplay logic was implemented via blueprint programming system and all game level setting up and assets integration.

Implemented Gameplay Systems

Major gameplay systems implemented in the game mostly adapted the principle of object-oriented programming, including, but not limited to, the following systems:

Teleport gate system

The Teleport gate placed in each room controls the player’s navigation between different rooms and constitutes the essence of the core design concept of non-Euclidean space.

Each gate points to a predefined location but uses a scene capture camera to capture a view from another place and display the view inside the door frame, as well as update the view in every rendered frame following player’s movement, thus in player’s perspective, what can be seen within the teleport gate forms an illusion of “fake destination”, while the real destination is set to somewhere else.

This is how we make the Non-Euclidean space and constitute the sense of dislocation in spatial cognition.

Text trigger and interaction system

The narrative and guidance of game mechanisms are presented mainly via UI texts, so I created an interactive text display system that supports below features:

  1. Display an array of texts of any length
  2. Text typing visual effect: Typing the text letter-by-letter, supports quick full-sentence display and single-sentence skipping
  3. Player camera focus feature: Automatically rotate the player’s camera towards target position.
  4. Conditional trigger feature: Only after player finished specific gameplay tasks, will the text be triggered.
  5. Target outline feature: After the player triggers the text, focus on the target object and display a glowing outline as a gameplay task hint.

All the above features were designed as per-instance-editable, so every text trigger placed in the game level can be individually configured per gameplay requirement.

Post-process materials for special game visuals

To better highlight special gameplay mechanisms like sonic radar, I created post-process materials which can render the game level into a single colored scene with line drawn-style outline effect like below image:

This post-process material is used in multiple places like sonic radar to render the feeling of sonic echo detecting the physical environment.

Sonic radar system

As one of the most important means to explore the environment, sonic radar system provides multiple functions for player, including:

  1. Reveal hidden objects in game scene once the sonic wave hit the objects.
  2. Trigger interaction hint of an “F” key icon for player to locate interactable objects in the scene if the object is directly in player’s field of view.
  3. Trigger interaction hint of an arrow icon pointing to the closest interactable object if it is not in player’s field of view, and update such hint in real-time according to player’s movement and camera rotation.
  4. Turn everything into single colored frame outline visual to indicate the sonic radar effect

Interactive map system for cube maze

UI map of the cube maze is fully interactable, each of the cubes is blacked out initially, after player finished all puzzles in current room, it can be colored and provide below functions:

  1. Indicate every colored room’s spatial location.
  2. Show a glowing outline of the room’s key item in the center of the cube, once player hovers their mouse onto a colored room.
  3. Click to directly teleport to the mouse-selected room for fast navigation.
  4. Rotate the whole cube for viewing different rooms in a 3d and intuitive way.

Interactive Items

The logic of interactive items is realized by the way of class inheritance, and each interactive item supports many major functions, such as moving, collecting, placing, resetting, and so on. All major function supports independent per-instance configuration. After inheriting the parent class logic, the implementation of each interactive item only needs to configure the model mesh and the interactive trigger box size separately, significantly improving the development efficiency.

Part of the instance configurable attributes can be found below:

Simply adjust the above attributes for each instance of interactive objects per requirement of gameplay, and the common logic in the parent class will handle the interactive logic accordingly.

Spatial Sound and Visual Hint System

The spatial sound system of the game utilized Unreal Engine’s integrated audio system. To support players’ marking of room spatial position, I created a directional visual hint pointing to the source position of the sonic cube as a supportive method in addition to the spatial sound system itself, so that telling where the echo sound comes from won’t be that difficult.

Mission System

Players need to solve all puzzles and collect all key items in a single room to finish the exploration of it, so I created a mission system that is also per-instance configurable to track the progress of room exploration.

Each of the mission boxes was binded to a room, and updated the progress individually according to player exploration, once all missions were completed in one room, it triggers a reminding hint when player tried to leave the room for marking map to unlock direct teleport and a text hint to remind the player of current progress as well as.

Leave a Reply

css.php

Report this page

To report inappropriate content on this page, please use the form below. Upon receiving your report, we will be in touch as per the Take Down Policy of the service.

Please note that personal data collected through this form is used and stored for the purposes of processing this report and communication with you.

If you are unable to report a concern about content via this form please contact the Service Owner.

Please enter an email address you wish to be contacted on. Please describe the unacceptable content in sufficient detail to allow us to locate it, and why you consider it to be unacceptable.
By submitting this report, you accept that it is accurate and that fraudulent or nuisance complaints may result in action by the University.

  Cancel