Fastival is an arcade racing game where players speed through different attractions within a vibrant and cartoony carnival throughout each race. Knock down targets as you race to trigger unique effects on the track that you can use to your advantage. Collect wacky items that can be used to mess with other racers to enhance your driving capabilities.
Engine: Unreal Engine 5
Platform: Windows, Steam Deck
Development Time: January 2023 - May 2023
Team Size: 47
Role: UI / UX Programmer
Engineered a robust Widget Manager System using Unreal Engine 5 Blueprint, streamlining UI development and enhancing overall performance.
Developed and optimized key game interface components, including:
Responsive Main Menu, Character Selection, and Map Selection screens
Developed UI input management system for seamless player interactions using UE Enhanced Input System
Dynamic handling of device connectivity, adapting character roster in real-time
Efficient character model spawning and swapping mechanisms
Data-driven UI updates leveraging UE5 data tables for character information display
A 2D menu combined with 3D elements creates an engaging and interactive experience that captures the player's attention. With the use of animations, shaders, and visual effects, the menu delivers a memorable and immersive experience.
The UI system must process input from both the keyboard and controllers, supporting up to four players simultaneously. Each input action is interpreted and managed according to the active UI widget. For instance, in the example below, the main menu widget reads input actions and responds based on the desired behavior.
The system needs to manage various scenarios involving players connecting and disconnecting their controllers. Fortunately, by counting how many connected devices this frame, the system will know how to detect when a controller gets disconnected, which is useful for pausing the game whenever that happens.
The Screen Manager oversees all widgets in the game. Every UI widget extends from a base abstract widget class that includes two key functions: OnBegin and OnEnd. These functions are triggered whenever the game switches between different widgets. Rather than creating and destroying widgets each time, the Screen Manager simply activates and deactivates them. This approach improves performance, especially when players quickly switch between different UI elements.
Below is a high-level overview of the UI hierarchy I implemented to support our user interface goals:
Fastival was created by the students of Cohort 33 at SMU Guildhall, a graduate video game design program in Dallas, Texas. In their second Team Game Project course ("TGP2"), the entire cohort of 47 students from all disciplines — Art Creation, Programming, Design, and Production—with help from three game music students in SMU's Meadows School of the Arts came together each day to make this game. For many students, this is their first experience working on a large team, and the course is designed to teach the students how to communicate at scale and iterate on the game design to find the fun. To accomplish this in roughly 12 weeks of production and produce such a vibrant, fun game is a challenge, and we are really proud to share their hard work with you.