Elemental Echoes
Scalability
2.5 D SideScroller Coop Puzzle-Adventure | Unreal Engine 5 | Team of 7
Challenge - Scalable Puzzle Framework
One of my primary technical contributions to Elemental Echoes was the development of a scalable puzzle framework designed to streamline level creation and reduce the need for constant duplication. Rather than creating individual solutions for each puzzle, I designed a modular system built around parent-child inheritance structures and event-driven communication.
At the core of the system is a generic interactable parent class that handles common functionality and exposes activation and deactivation events through Blueprint Event Dispatchers. Child classes such as levers, buttons, and pressure plates inherit this functionality while implementing their own unique behaviours and visual feedback.
Above is an Example of the Button BP that inherits from the OpenObjectBP and implementing its own logic while utilizing Dispatchers.
To support puzzle creation, I developed a gate actor that allows designers to assign any combination of interactable objects through the editor. Upon initialization, the gate automatically binds to the events of each assigned interactable.
When an object changes state, the gate receives the signal, evaluates the current puzzle conditions, and determines whether to open or close.
This approach allows any combination of buttons, levers, and pressure plates to be connected without additional programming, enabling rapid puzzle iteration and significantly reducing setup time for designers.




Scalable Characters Framework
One of the primary challenges was developing gameplay systems that could support two simultaneous player characters while remaining scalable, maintainable, and easy to expand. To avoid duplicated functionality across both characters, I designed a parent-child class hierarchy that allowed shared systems and behaviors to be implemented once and inherited where needed. Blueprint Interfaces were used extensively to facilitate communication between gameplay systems, environmental objects, and character abilities, creating a modular architecture that reduced coupling and simplified future feature development. This approach allowed both characters to interact with the world independently while maintaining the cooperative gameplay experience at the core of the project.