In The Canyon
~Solo Developer~
Summer 2024
Unreal Blueprints
System
Tool
Player Input
I elected to take a summer course in order to learn more about working in Unreal Engine. I developed a single-player 3 minute experience for the course and created a western canyon town environment. The player is attempting to find a radio so they can call a train to rescue the town people from an impending storm.
This experience includes three separate interactions. Over the course of the class we also prepared two presentations to give to the class on topics included in our project but not taught during the class. I will go over my three interactions and two topics below.
When the player is in range of an NPC you can press E to talk with them. This will lock the player’s movement until the interaction is over. I used Unreal’s Meta-humans to customize some NPCs to populate my world and give it life. I then animated them using Mixamo assets and created a very simple dialogue system. This showcases my second presentation topic, auto-retargeting an animation sequence to any skeletal mesh.​
This NPC/interaction system went through many changes over the course of the project and as I got more comfortable working in Unreal. In the end, I had created an interaction system for all the interact-able elements using a line trace and blueprint interface in the Set Interactable function shown below. I then created a parent class for the meta human blueprints that implemented this interface. I also added a UI prompt whenever the player was able to interact with an item.
The second interaction I included in this project was “fixing” the radio by disabling a transmitter that was blocking the radio’s frequency. Initially interacting with the radio will just make it beep. In order to fix the radio, the player must climb a ladder to the top floor of the tower and then interact with the transmitter by pressing E to turn it off. This will play a sound as well.
When the player is in range of the radio and the transmitter is disabled, they can press E to interact with it. This will summon a train and trigger the ending cinematic. To do this I made two blueprints. One for the train cars and one for the track, both of which utilized my first presentation topic: the construction script.
The train track blueprint uses a spline that can be arranged in engine and builds the track as spline points are arranged. The length of the train can be randomized and it's speed is based on a timeline so it can be altered as well. This blueprint determines the number of train cars to add to the train, and the train car blueprint I created randomly determines which train car asset to use.