Additional Systems and Work
Patient Mood
Features
Event Based Responses
Location Based Effects
Global Effects
Effect and Response Data Externally Editable
System Overview
The Patient Mood System is an underlying system for patient NPCs to behave more realistically as they move through the stages of treatment in a player’s hospital. Taking advantage of the Gameplay Ability System plugin, I used Gameplay Tags to trigger and respond to designer-specified events, such as completing a full diagnosis of the patient or seeing another patient transform into a zombie. The events trigger mood changes affecting how much money a player will earn from the patient once the patient is fully cured. If a patient’s mood gets too low, they’ll leave the player’s hospital altogether. Location based effects are applied and removed when patients arrive at or leave from a bed, a chair, or a waiting room area. The global effects on patients’ mood are based on the state of different components of a player’s hospital such as the cleanliness of the player’s hospital and the amount of decorative objects they have inside the building. All the effects and their value modifiers are updated only upon changes to the effect’s corresponding state (i.e. a patient laying in a bed or a player mopping up filth) - every update to a patient’s mood values and its effectors is event-based, making the system more performant.
Dynamic Input Prompts
Features
Game State Awareness
Held Object Awareness
Target Object Awareness
Input Rebinding Awareness
Player Permission Settings
Features
Server-Authoritative (Prevents bypass attempts by guests)
Easy to add to (Tag-based permission IDs + interface-based code architecture)
Allows permissions for each possible interaction with an object
Animation + Animated Mesh Pipeline Refactor
Features
Reduced skeleton/armature count for human models from more than 20 down to 2
Improved CPU frame times by 50% through Animation Blueprint refactors
Defined and documented Import/Export Guidelines for armatures and meshes to prevent future bugs/visual discrepancies