interaction designer
moarMM.PNG

Constellation Garden VR

Constellation Garden

VR Physical Therapy APplication
2021

Company: BehaVR
Tools: Unity 3D, C#
Role: Designer, Gameplay Engineer

Goal & Requirements

Constellation Garden is a Virtual Reality application designed to help people suffering from chronic pain increase movement and functional range of motion.

Our high level goals were:

  • Design dynamic VR activities that encourage functional movement

  • Create an immersive environment that could serve as chronic pain distraction

  • Allow physical therapists or nurses to customize and prescribe programs for specific patients


Discovery

To ensure we fully understand the needs of our future users, we interviewed 15 people who experience chronic pain and a physical therapist who served as a clinical advisor throughout the process. We gathered a few key takeaways from these early discussions:

User Interviews

  • Users were nervous about accidentally performing an unsafe movement, and needed very specific instructions to feel confident that they were “doing it right.”

  • In some cases, users had difficulty handling the controller or pressing specific buttons due to hand pain.

  • Many of our users would be new to VR or any type of videogame

Physical Therapy Consultant

  • Range of motion is often confined by fear of movement, rather than pain response or injury

  • Contrary to what the users wanted, consistently utilitizing functional motions were actually more beneficial than specific movements. 

  • The high level goal is the get the users moving consistently, and incrementally expanding their range of motion

  • It would be valuable for clinicians to be able to create and prescribe movements

Internal Assumptions

  • We would need an activity that works with highly varying ranges of motion

  • We need mechanics that are repeatable and scalable


Design

Brainstorming

We needed to generate ideas for mechanics that would be specific enough that users felt safe, while also encouraging functional motions. I developed an "active movement" brainstorm to help my team identify many options to explore. I worked with our clinical advisor to identify a set of common stretches and movements to use as a warm up. Working remotely over zoom, I instructed my team members to perform the series of stretches and shout out any activities or mechanics that came to mind. For example, a “cross body reach” movement directly inspired a climbing mechanic.

We came away with a dozen potential mechanics for each movement. A handful of mechanics reoccurred across most or all of the movements in the exercise, so we used those as a starting point.

Storyboard Prototypes

The next step was storyboarding - I worked with an artist to sketch up concepts for the most common and exciting mechanics. We would test these storyboards internally and with a handful of "superfan" users to gauge general interest in the premise.

Interactive prototype

The rock climbing mechanics was the favorite concept from our storyboard interviews - but we had concerns about users having a fear of heights or getting dizzy.

I isolated the movement we would gain from rock climbing:

  • Grabbing, moving to a new position, and releasing

  • Rotating your head to find new handholds

  • Combinations of symmetrical and asymmetrical patterns

I found we could emulate those motions with a "connect the dots" mechanic, where users would grab a cursor, highlight a series of targets, and release the cursor to complete the line. We would spawn these "movements" in a sequence that would gradually increase in required range of motion and intensity.

In a follow-up design discussion, we landed on "drawing constellations" as the theme for the exercise. I developed a prototype of the constellation-drawing mechanic which, ultimately, became the final design.

Iteration

Movement Editor Tool

Problem

The mechanic required a substantial database of movements. Internally, we needed a way to develop these movements quickly. We had also received feedback from our clinical advisor that such a tool would be useful for the clinician to make custom sequences.

Solution

I developed a tool in which the designer or clinician creates new movements by acting them out themselves in VR, and placing new targets with the press of a button. The tool records the index and order of the targets and stores them as a movement. The clinician then uses a companion app to add the movements into a sequence. The in-VR tool set also allowed for editing existing movements, and testing sequences.

While externally testing the tool primarily with our PT consultant, we also benefited from rigorous internal testing, as I had to use the tool myself to develop content for the game.

Target Placement

Target Editor Wireframe

Editor Prototype

Calibration

Feedback

The prototype verified that the core mechanic was engaging but we needed a way to place the constellations’ stars (movement targets) consistently within the users height and range of motion.

Solution

I developed a calibration system, disguised as a warm up sequence, in which the user holds positions designed to determine their range of motion. I ran the same calibration sequence when initializing our movement editor tool, and stored those parameters with each movement set.

At playtime, I adjusted the target positions by comparing the users’ range of motion against that of whoever designed that particular movement.

Modifiers

Feedback

While testing with uses, we encountered more extreme variation in range of motion and hand mobility than anticipated.

Solution

I added modifiers which would alter the sequences to accommodate different range of motion, without having to develop additional specialized sequences for each edge case. A few of these modifiers included:

  • Using left or right hand only - would remove single-handed moves in the off hand, and edit two-handed moves to work with one hand

  • "Sticky Hands" mode, which removed the need to grab and release

  • 3 levels of difficulty, which would expand or contract the range of placement for interactive props relative to patient's calculated range of motion (easier = shorter reach, harder = max reach)


Outcome

The MVP was piloted at a skilled nursing facility with about 25 patients.

Patient Experience

The primary mechanics were well received and remained largely intact as we developed our MVP.

The user connects the dots to "draw" constellations, which fly up and populate the sky. They also look at "gaze targets" to perform neck stretches. The combination of hand targets and gaze targets allows the designer or clinician to encourage the user to perform fairly specific movements.

In our pilot testing, we found that patients were comfortable with the specificity and complexity of the movements. The environment and vibe of the experienced served as a soothing atmosphere, and also as an immersive distraction from pain. Most importantly, the experience was fun and rewarding, and encouraged repeated play; consistent use is more important for reducing the fear of pain than perfect execution of the exercise.

Development

I was able to develop a substantial amount of content using the movement editing tools.The tools allowed us to create additional gameplay sequences practically in real time, and edit movements immediately based on patient or clinical feedback. This let us iterate on our initial move set many times before the MVP pilot.