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


Previous
Previous

NPC Appearance System