top of page
Void Interaction System

Scalable and event-driven interaction system with modular and reusable low-level functionality utilizing actor components, timers and an interface.

​

The system is built with the interface to communicate between Actor Components depending on the state of the player. Held object have priority over all stationary interactions, Fred can't activate any machinery while carrying an object. The system includes the following components:

​​​

  • PlayerInteractionComponent (referred to as PIC)

  • ActorInteractionComponent (AIC) - compatible with any actor

  • BPI_Interaction (Blueprint Interface)

Sleep and Line of Sight
 

The initial prototype left me with a few concerns regarding the responsiveness of each action, which I addressed with the functional pass by implementing the options to set sleep, delay, priority and line of sight requirements per instance before processing each interaction, giving the high-level gameplay more room to breathe. â€‹

 

Each state of the sleep cycle have an associated dispatcher called which can be utilized as an Event per component owner to add more intricate functionality for a more fine-tuned and customized experience.​​​

Priority
 

Each processed action loops through the overlapped and ready (currently not asleep or delayed) components checking the highest set integer to return the Highest Priority Interaction available.

HighestPrioInteraction.PNG

Triggering world events
 

World events like cinematics or more prominent sequences can be triggered with the AIC.
The details panel have the option to delay the interaction by buffering the input to trigger the event at a better timing. The component also provides the option for single use, consuming the available action after the first succesfully processed interaction for events set to occur only once.

bottom of page