body { background-color: lightblue; }
top of page

About the project
___________________________________

'The Legend of Tronco,' a roguelite hack-and-slash game. Here, you take on the role of a trunk guardian engaged in a battle against the forces of evil calamity.

Project Info

  • Main roles: Systems and UI programmer

  • 7 weeks in May/June 2023

  • Team Size: 10

  • Unreal Engine 5.1

About
Pooling System

Pooling System
___________________________________

In the early stages of development, our vision for 'The Legend of Tronco' involved creating a hack-and-slash roguelite, necessitating the establishment of a system for spawning enemies across the map. To accommodate a wide variety of enemy quantities, we implemented a pooling system—a task that fell under my responsibilities.

​

My decision to undertake this task was rooted in my previous experience with a similar system, driven by the ambition to identify areas for improvement. However, the journey wasn't as straightforward as I had hoped. Numerous revisions and extensive refactoring were required to optimize the system for the benefit of both my designers and the overall game. In the upcoming sections, I'll delve into these transformative changes and the iterative process that led to a more refined implementation."

PoolsCharacter.h, this script duty is to pool an actor from the character class. 

User Interface
___________________________________

I found great enjoyment in exploring the distinct operational aspects of Unreal Engine, particularly its UI system, which differs significantly from Unity. The depth of Unreal Engine's UI system, coupled with its built-in visual scripting tool, presented a valuable opportunity for me to delve deeper into UI development. Attaching nodes to create our UI became a source of great enjoyment as I navigated the intricacies of this robust system.

My contributions for this project​

  • Main menu

  • Options settings

  • Pause menu

  • A complex system to pick up an ability 

  • Displaying health bar on enemies

  • Displaying positions on the enemies on the map

  • Displaying enemy count for the current wave of enemies

Blueprint script for Main menu

User Interface

General System Programming
___________________________________

I also took charge of a few smaller yet critical tasks, such as the implementation of the save system. To provide context, when the player ascends to the next level in our roguelite, a new map/level loads, leading to the destruction of all assets. To ensure the preservation of key features, we needed a robust save and load mechanism.​

​

Additionally, I oversaw and assisted in implementing the logic for a narrative cinematic cutscene. While it functions solely as an intro, it adds depth to the overall gaming experience.

These are my contributions for this project​

  • Game Instance

  • Interfaces

  • Gamepad and keyboard support

  • Cinematic QA

I opted to employ the Game Instance for loading and saving our crucial variables, and in the process, I gained valuable insights into the effective utilization of Interfaces. Employing a straightforward getter and setter methodology, I could efficiently store variables and arrays, streamlining the process of managing critical game data.

Game instance.png

The player character, BP_HeroCharacter_Base, serves as our controllable character. During the Begin Play event, the player stores information in Skills and Active Passives. Notably, there's a custom event named 'Lose Everything' that triggers exclusively when the player dies. During this event, all Active Passives are cleared, while Skills remain intact.

ExampleGIInHeroBase.png
Backend

Summary
___________________________________

This project has been an incredible learning experience! I was unsure and concerned about my first Unreal project. In the beginning of the project I vowed that I will cumulate more experience to improve my understand of Unreal Engine. That was my goal and I fortunately feel like I grew a step bigger.

LogoMainMenu.gif
bottom of page