The systems behind the sound & music of Vessel

Kieran Lord
Strange Loop Games

About Me

Agenda

  1. Dynamic Sounds
  2. Vessel Music System
  3. Music After Vessel

About VESSEL

About VESSEL

About VESSEL

Dynamic Sounds

Dynamic Sounds

Parameterized sounds - FMOD, WWise etc

Dynamic Sounds

Parameterized sounds - Pathfinding fluro example

Dynamic Sounds

Parameterized sounds - Pathfinding fluro example

Parameterized sounds - Pathfinding fluro example

Dynamic Sounds

Parameterized sounds - FMOD, WWise etc

Dynamic Sounds

Rushing water - Drop clusters

Dynamic Sounds

Rushing water - Drop clusters

Rushing Water

Dynamic Sounds

Rushing water - Output parameters

Rushing Water

Dynamic Sounds

Rushing water - Clustering drops

Dynamic Sounds

Rushing water - Clustering drops

Dynamic Sounds

Rushing water - Assigning & Removing playbacks

Splashing Water

Dynamic Sounds

Splashing water - Output parameters

Dynamic Sounds

Splashing water - About

Dynamic Sounds

Splashing water - Clustering collisions

Dynamic Sounds

Splashing water - Clustering collisions

Splashing Water

Dynamic Sounds

Splashing water - Output parameters

Adaptive Music In VESSEL

Why you should care about adaptive music

Vessel Music System

Why you should care about adaptive music

Music Layers

Vessel Layers & Stingers

Vessel Music Box Demo

Vessel Music System

Timing System
Motivation

Vessel Music System

Timing System
Music Locations

Music Locations

Timing System - DSAR!

Vessel Music System

Music Boxes
Problem

Vessel Music System

Solution!

Vessel Music System

Solution!

Vessel Music System

Music Boxes - ALL the music boxes (147 in total!)

Vessel Music System

Music Boxes - The presets

Music after Vessel

Music after Vessel

Motivation

Music after Vessel

Motivation

Music after Vessel

Goodbye music boxes

Music after Vessel

Goodbye music boxes

Music after Vessel

Hello music tree!

How a music tree works - Playlist nodes

Music after Vessel

How a music tree works - Playlist nodes

How a music tree works - State nodes

Music after Vessel

How a music tree works - State nodes

Music after Vessel

How a music tree works - Crossfading

Music after Vessel

How a music tree works - Crossfading crossfades!

Music Locations

How a music tree works - Crossfading Algorithm

  1. Store all crossfading elements in a list
  2. New items are pushed onto the front of the list with volume=zero
  3. Each update they increase their "desired volume" until it reaches 1.0
  4. 1. To calculate the "real volume" of each item, start with a variable x=1.0 and iterate over the list
  5. 2. Set the "real volume" of each item is x * "desired volume"
  6. 3. Subtract the "real volume" from x...
  7. 4. Repeat for the next element in the list

Music after Vessel

How a music tree works - Crossfading Algorithm: Special cases

Music after Vessel

How a music tree works - Synchronization and stealing

Music after Vessel

How a music tree works - Streaming

Music after Vessel

How a music tree works - Streaming

Wrapping up

Questions?