GAMEPLAY SYSTEMS
There are several integral gameplay systems that I’m making for Turmoil. The first is a universal interaction system that can work with any actors in the game. I utilized a blueprint interface that’s added to all blueprints requiring interaction input/output.
There are 3 functions that are called: Interact, Stopped Interaction, and Interaction Events.
Interact: this function is called when the player overlaps a trigger (interact) box tagged as “Interaction”. When the player presses the interaction input, the subsequent events will trigger. This is also used in the player HUD for displaying an interact tooltip at the bottom of the screen.
Stopped Interaction: this function is only used in the player HUD. When the player stops overlapping an interact box, the interact tooltip will hide itself.
Interaction Events: this function is used on any actor which requires code to run when a control panel is activated.*
*There are control panel blueprints in our game that can call any interaction events from referenced actors with this system implemented.
I also made a workbench system which allows the player to upgrade stats and abilities. This required making a separate inventory system component for the player to keep track of currency used to purchase everything. The extent of this system was an oversight and forced myself and other coders to better streamline code for easier and more optimized referencing.