Problem with Creating relics(Part 2)
Blog Entry Part 1: The Problem
This week, I focused on building the foundation for the Relics system in our game. As of now, we have two fully functional relics: one that increases a specific stat on the player’s current shadow, and another that allows players to capture the shadow they are currently battling and add it to their active shadow party structure. While developing these systems, I ran into a significant roadblock involving how we manage and manipulate data within our custom shadow-related structures—specifically, modifying values such as Individual Values (IVs), base stats, and general shadow info.
This became a critical issue because the gameplay loop heavily relies on these values being updated in real-time based on player actions. If the relics couldn't accurately affect a shadow’s stats or capture and store the correct data, the entire mechanic would feel broken or unresponsive. For the end user, this would mean relics not applying effects correctly or shadows being captured with incorrect or default data—ultimately damaging the core experience and player progression.
Blog Entry Part 2: Problem Solution
After digging into the issue, I realized the root of the problem stemmed from Unreal Engine’s handling of custom structs in Blueprints. Initially, trying to directly modify complex structs proved frustrating and inconsistent, especially when dealing with nested or deeply structured data like our "ShadowInfo", "BaseStats", and "IV's". Attempting to update individual properties manually was cumbersome and error-prone.
Thankfully, Unreal provides a more elegant solution through the use of "Set Members in Struct" Blueprint nodes. These nodes allow you to update specific fields within a struct without needing to break and rebuild the entire structure each time. By switching to this approach, I was able to cleanly and reliably apply stat modifications and shadow captures, ensuring that all relevant data was preserved and updated correctly within the shadow party system.
This solution drastically improved both the reliability of the system and the development workflow. It allowed relic functionality to work as intended while making the code more maintainable for future updates. Special thanks to Jacob, who initially created the shadow data structures—his foundational work made it much easier to understand the structure flow and implement the necessary updates. Thanks to this solution, players can now enjoy seamless relic interactions that accurately reflect their decisions in gameplay.
Get Relicbourne
Relicbourne
A Roguelike of Monsters, Relics, and Survival
Status | Prototype |
Authors | FarForgottenProductions, fralopor, creid42091, LatentQuirks, JacobMosser |
Tags | Monsters, Roguelike, Turn-Based Combat, Unreal Engine |
More posts
- DevLog - Prototype V0.0.3 Release12 days ago
- DevLog: Turn-Based Combat and the Struggles With Scope12 days ago
- Problems with Procedural Mesh12 days ago
- Widget Placement Problems: Anchor Confusion & UI Overlap12 days ago
- Problem with creating relics18 days ago
- Tackling Procedural Mesh Generation18 days ago
- Problems with CombatLevel not being able to access the PauseMenu input.18 days ago
- DevLog: Active Unit Switching and Dynamic Camera Sync18 days ago
- Problems with Player Momentum24 days ago
Leave a comment
Log in with itch.io to leave a comment.