top of page

STOMA-VR

MainAndModule1.PNG

STOMA-VR is a Virtual Reality educational game aimed at teaching medical students about patient care surrounding laryngectomies and tracheostomies.

Roles: Lead Programmer, Systems Engineer, Systems Integration
Genre: VR Simulation
Development Time: 4 Months
Team Size: 8
Engine: Unity

Responsibilities:

  • Collaborated on a team 7 across four months during the Summer of 2023

  • Designed and engineered player interaction system
  • Developed the key animation and audio system for player feedback

Procedure System

The procedure system was split into two parts - one for handling the stage the player was in and the other for triggering the stage change. I was responsible for the second part, ensuring that the player's actions were advancing the game state.

PlayerHand.PNG

Player Inventory

Module1Games.png

Through the interaction system, object collisions and the state of objects in scene, the player is able to go through the procedure. In addition, there are variables in place to track if what the player did is correct, so the teachers who are overviewing the student is able to receive feedback on what the student did.

Module 1 Games

Player Interaction System

The Player Interaction system was developed for the intended purpose of detecting intractable objects that were key to the player. This was done through the use of C# interfaces, allowing for multiple inheritance, allowing for more flexibility in programming systems.

ScissorsInPatientNeck.png

Patient 1

Patient3.PNG

Through the use of C# interfaces, several different objects could be derived from another base class but would always need to have implemented the Intractable () function, with the implementation allowing for the player to grab the object.

Patient 3

Audio-Animation System

The audio and animation event system in place uses a combination of Unity's existing animation events in conjunction with an audio system I developed. I specifically designed it in such way that new SFX could easily be added with minimal additional code

InteractableInheritance.PNG

Interactable Element

InteractableFunction.PNG

Audio Dictionary Code Showcase

The system allows for audio clips to be played at specific frames of the animations. For example, the animation for the patient to drink water includes a prelude wherein they swirl the cup before drinking, meaning the clip would be played as the patient drinks from the cup

bottom of page