Moss: Book II, the second installment in the Moss franchise, is an action-adventure puzzle game tailor-made for the VR platform. The game has a combination of both 3rd person and 1st person gameplay as you team up with a young mouse hero named Quill to try and save the world of Moss. While guiding Quill in combat and platforming using familiar action-adventure controls, you also take on the role of the Reader, Quill’s friend, and key ally. As the Reader, you are able to physically reach into the world and interact with things in the play space to help solve puzzles, assist in battle, and aid Quill in getting to where she needs to go.
You are also able to reach in and interact with Quill herself. You can do things like give her high fives, pet her, and charge her weapons to give her an upper hand during combat. Part of the magic of the game is the emotional bond that you build with Quill throughout the game experience.
The Polyarc Moss II audio team consisted of three internal folk and two part-time contractors. Audio Director - Kristen Quinn (formerly Quebe), Senior Sound Designer - Sun Kim, and our Voice Director and Audio Engineer - Stephen Hodde.
Additional Sound Design contractors included Kyle Vande Slunt and Elise Kates.
Part of what makes working in VR so much fun for audio is the tactile, analog feel of reaching into the world and getting to touch and interact with different types of devices in the physical space. The two we are going to break down today is the pendulum, and a waterwheel. We also are going to show what it used to look like to set up a device in the first Moss game versus what it's like to currently set up a device in Book II. Stephen built a custom component that gives us access to commonly used events as well as data we find ourselves needing access to when building devices.
The pendulum is set up how a device would have been set up in Moss 1. It's all logic driven in blueprint. The pendulum is suspended from a point on the ceiling. The blue orb represents the player’s controller / reader's hand. You can reach out to grab and move the pendulum along an arc. If the pendulum is close enough, Quill can jump on the platform which can also shift based on Quill's weight. When the player releases the pendulum it will swing back and forth and eventually come to a resting point once it loses enough speed. As the Reader, you can release the pendulum at its maximum potential height, or the valley of the arc, each creating a different response from the device. You can also grab it and interrupt the movement at any point.
The pendulum emits sounds from three different locations: The pivot point up by the ceiling, the bottom platform , and the joint location just above the platform. At the platform level we play the following content in a blend container.
Swing Tension - the metal stress and pressure that is put on the device as it's moving. This is broken up into mid and low end frequency loops so that we can tune them differently
Foliage - the sound for the plants attached to the platform
Wind - resonant low air that is dispersed as the platform moves through space
The devices are all about feel. To get them to interact dynamically, we need to calculate both the platform speed and the current angle that the pendulum is at. To calculate from the center of the platform we take the distance it traveled divided by the time it took to get there. We then send that as an RTPC to Wwise.
Here is what calculating the angle looks like in blueprint.
We have a metal creaking element that plays at the highest speed as well as the most extreme angle from the top component near the ceiling. This creates moments where the tension feels higher when it's at the farthest point of its arc. 0 = far left or right angle, and 1 = dead center.
We also have to consider all the ways the player interacts with the device. We have sounds for grabbing, releasing, and just holding the pendulum idle.
Here is example of what the pendulum ended up sounding like in game:
In one of the mountain levels, there is a large device you can interact with that we call the waterwheel. Once you break the rope holding it in place, it will roll down and crash into the frozen pond below. At that point, it's essentially a metal wheel that you can rotate as it floats in the water.
For Moss II we wanted to simplify the implementation for devices and create access to events as well as data that we commonly use. To accomplish this, Stephen created a unique audio device component that we could add to any device. This component gives us a handful of events, as well as RTPCs that we commonly use. We use thresholds to control loop start stop points. The waterwheel was our first time using this new component.
That gave us access to the following events:
Interaction Enabled – your hand is able to interact with the device, it can get grabbed at this point
Interaction Disabled – your hand is no longer able to interact with a device, this can be while you have it grabbed ejecting the hand from the device
Touch Begin – you’ve just put your spirit hand into the interaction volume (didn't actually grab it yet)
Touch End – you leave the interaction volume with your spirit hand
Device Grab Press – you grab the device with your hand
Device Grab Release – you let go of device with your hand
Idle Loop Start Event – triggered on begin play
Idle Stop Loop - triggered on end play
Speed Loops Start – starts playing when it exceeds RTPC threshold
Speed Loops Stop - stops playing when it drops below the RTPC threshold
We only used the idle start on this device since we wanted to have content playing when it was inactive and floating in the water as well as when the device was turning. We used the device speed to control the crossfade between idle and turning content.
When the wheel is sitting idle, there is an idle loop of water knocking up against the wheel. There is also an occasional 1 shot of hollow metal that is the sound of the wheel knocking up against the ice randomly.
As you start to turn the wheel, you get an additional loop that is the stress of the metal being grabbed, as well as additional sounds for the device turning.
Metal Scrape - sound of large metal scraping / dragging along the ice
Underwater Loop - hydrophone recordings of what the water would sound like from beneath the wheel as the wheel’s suction pulls the water below the surface
Water - 1shot - water splashes to create a more varied experience on top of the water churning loop
Turn Water Loop - sound of constant water churning
Since we had the device component output the data that we needed and give us access to events we wanted, it was a much simpler set up inside of blueprint.
Here is an example of what the waterwheel sounded like in game:
Devices play such an important role in this game. They are made believable by crafting dynamic audio systems where content changes based on device behaviors and the player’s actions in game. By creating a unique device component, we are able to save time on implementation and spend more time focusing on content. This allows for more time tuning the system. We hope this gives players an enjoyable experience that feels analog when reaching into the world and interacting with devices. Working on Moss: Book II has been an incredible experience and we feel extremely lucky to get to share it with you. Thanks so much for going on this journey with us.