Blog homepage

Sea of Stars: Modern Tools for Retro Aesthetics

Game Audio

Sabotage Studio’s philosophy for creating games is “Retro aesthetics with modern design,” and our game audio follows the same principle. Most of us from the studio grew up in the NES/SNES/Genesis/N64 era and kind of never left. When Sabotage was founded, the main goal wasn’t to make games identical to the titles we loved growing up; it was to capture that same feeling of playing a game you were permitted to rent from Blockbuster for the weekend with your siblings, sitting criss-cross applesauce on the floor, an oversized T-shirt pulled over your legs. It doesn’t mean pixel art for the sake of pixel art, it means creating specific limitations to distill the experience down to the core of what really matters. It means paying respect to the classics while considering decades of game design evolution and modern player expectations.

WHAT IS SEA OF STARS?

Sea of Stars is a retro-inspired, turn-based JRPG in the vein of the classics. Players take on the role of two Solstice Warriors who combine their powers of Sun and Moon to create Eclipse Magic, the only force capable of fending off the forces of the evil Fleshmancer.

AUDIO DIRECTION: MUSIC

Our first game, The Messenger, was quite straightforward to me in terms of the music it needed. It’s an 8-to-16 bit action-platformer built to look and feel like a supercharged NES title. With my background in creating chiptune music using specialized tracker programs designed around retro console audio limitations, I wrote an authentic 2-part chiptune soundtrack that could be played back on NES and Genesis hardware.

For Sea of Stars, it’s a much more detailed world that demanded more than a simple chiptune soundtrack could provide. Months (and even years) before we ever began production, there was an R&D period where I was experimenting with different instruments and sounds to find “the” sound. 

We ultimately landed on what I like to call “SNES++,” which continued to evolve as production went on over the course of 5 years. The bulk of the idea is there are recognizable Super Nintendo sounds doing most of the heavy lifting on each song, but the SNES sounds are almost always layered and supplemented with more modern sounds, fancy mixing, processing, and world percussion to create a unique but familiar vibe. 

For a bit of context, SNES music is sample-based, but there are a few things that give the  console its signature sound. There are a total of 8 available channels shared by both music and SFX, plus an additional 8 that can be used for “reverb,” which is really just a stereo ping-pong delay. A game cartridges’ memory contains all of the music’s individual instrument samples, and sequencer data triggers the samples for music playback. Not unlike how MIDI works, but instead of MIDI there were custom tracker programs written explicitly for this purpose at the time. The instrument samples come from commercially available synthesizers of the time (Roland, Korg, etc) and to fit into the 32kb memory budget, they were reduced down to single-cycle waveforms. For sustained notes, the sample is looped in hardware, which kind of gives it a “choppy” sound as the sample is looped. Add some BRR (bit rate reduction) compression, and you’ve got your SNES sound.

For the music production in Sea of Stars, in addition to using existing libraries sampled from retro hardware, occasionally custom instruments were created using similar techniques as above. 

The world of Sea of Stars is divided into islands, each with its own biomes, points of interest, and cultures. I sought to identify a signature instrument for each island—pan flute for Sleeper Island, where the wind blows through holes in the mountain, or strings for Wraith Island, a dark, cursed land.

AUDIO DIRECTION: SFX, UI, AMBIENCE

Sound design is essential in maintaining a retro aesthetic. We needed to make deliberate choices to keep the sound from straying too far from that realm. Overly polished effects would take someone out of the retro experience, while bitcrushing everything to death would be unpleasant, disrespect the animations, and lead players to mute the game.

Keeping it simple was key, but Wwise played a major role in keeping things interesting and organized. Many of the game's sound effects are split up and layered within Blend Containers, with each layer having its own subtle pitch or filter randomization, ensuring that sounds are never repeated in exactly the same way. This prevents player ear fatigue, especially for repetitive effects.

Each level has its own unique ambience bed to match the visuals and environment, serving to supplement the music and sfx, and to help the environments come to life a bit more. Ambience was the only thing that we didn’t really hold back on in terms of fidelity, consisting mostly of high quality foley recordings; but since it was quite subtle it just felt correct and didn’t take one out of the experience.

THE SEA OF SOUND: IMPLEMENTATION

Once production ramped up and I got a clearer picture of the full scope of the project and the level of detail & work required, I realized I needed a tag team partner, so I called up my friend Jake who joined to lend a hand a few days a week. Jake had never done game audio, but with a bit of time and perseverance, he learned Wwise from the ground up following along with the documentation and sample projects, the same way I learned prior to starting work on Sea of Stars.

The music is managed using States that change based on the game setting. Much of this setup mirrors the Wwise sample projects and is hard-coded to respond to in-game actions. For example, the default music state while exploring is "Explore," which switches to "Combat" during battles, “Dialog” for dialog-heavy cutscenes, "Boss" for boss fights, etc. Specific transition rules were refined through extensive playtesting. We ended up with almost 10 of each type because we kept needing more for different reasons.

The game has Day and Night, not in automated cycles but can be changed at will once unlocked. All outdoor areas get a Day and Night version of their music that stays in sync with each other. This is accomplished through the use of a volume RTPC linked to the in-game time of day; they're actually both playing in parallel at all times, but Night is muted during the Day and vice versa. Each composition shares the same core structure but features distinct differences, like the use of more bells, subdued tones, or a halftime rhythm at night.

An exception was made for one island, where we wanted the same music to play during combat. Our programmer, Fro, developed custom scripts in Unity, allowing us to configure unique settings for encounters by ticking a checkbox and selecting from a drop-down list of music states.

We added another State group called "EncounterState," which tracks whether the player is in combat. For the tracks that don’t change during battle, we included an extra layer of percussion or guitar that fades in when EncounterState is On, to help ramp up the intensity of the track during combat.

With some “Fro magic,” we set up Audio Zones in our Unity scenes for various purposes, such as:

  • Shifting the ambience tone when moving deeper into a cave
  • Triggering music changes at specific points based on location, if it couldn’t be done in Unity’s cutscene graph
  • Adjusting ambience for "Indoor" vs. "Outdoor" zones by altering volume, filters, and muting certain elements, or bringing in new ones
  • Differentiating between "Underwater" and "Above Water" portions of a level

THE “SNES SIDE-CHAIN”

The most interesting thing on the audio side that you’d never really know was there, is a feature I created I’m calling the “SNES side-chain.” 

In SNES games, the console was only capable of 8 channels of simultaneous, monophonic audio samples, shared by the music and the sfx. To make room for effects, a channel or two might drop out from the music track, sometimes a harmony but usually the drums—something easily noticed performing special moves in Chrono Trigger.

I set off to recreate this limitation as an effect. 

Deciding it would mainly be Impact sounds affecting this, I created a sub-bus to assign the output of all those sounds.

Wwise-Output-Bus-Sea-of-Stars

Using the Meter plugin to detect audio above a threshold, I set up an RTPC to react to it called “SFXvol”

Wwise-meter-Sea-of-Stars

Since I wanted only the drum track of the battle theme to be affected, I imported the song with the kick and snare on its own separate track, and set up curves on the drum track for lowpass, highpass, and volume, to react to incoming sound effects above the set threshold.

Wwise-RTPC-tab-Sea-of-Stars

And there we have a deliberate self-imposed fake limitation modeled after an actual hardware limitation!

CHALLENGES

There were many challenges, as with any major project. Since this was my first time working in Wwise it was a bit of a learning curve, but the documentation is thorough and it got me set up for success. Growing into an audio director role was a fairly big task, especially with the sheer number of assets we ended up needing for this project.

Sometimes it is difficult to find a specific answer for a weirdly specific problem online, since every project setup is different. There was a lot of trial and error. There were also a few late nights pulling my hair out troubleshooting a problem that turned out to not be on the Wwise end at all but on the Unity end, and took a programmer 2 minutes to fix in the morning. 

Learning the hard way that some platforms have voice limitations and I can’t just blast infinite layers of sound effects, which include silence objects in a random container. I discovered this later than I care to admit because walking into deeper water made the voice count shoot up to about 150 and performance suffered.

Learning how to use the Profiler properly to diagnose and fix problems.

When it comes to the actual sound design, sometimes I would need to pump the brakes on taking something too far sonically when keeping it simple was more often the best solution.

Being a musician my whole life and not knowing how to effectively write any code or script, I did as much as I could but had to bug Fro or one of the other programmers if I hit a wall or needed specific integration. 

CONCLUSION

Creating the audio experience for Sea of Stars was the journey of a lifetime and wouldn’t have been possible as a solo effort, or without software like Wwise and the support from Audiokinetic. Oftentimes the best ideas come from embracing limitations, and the best results come from being a part of a motivated team of multiple brains working toward the same goals. 

Eric W. Brown

Composer & Audio Designer

Sabotage Studio

Eric W. Brown

Composer & Audio Designer

Sabotage Studio

Eric is a drummer, artist, composer, and sound designer with a diverse background in chiptune, heavy metal, and electronic music. Since 2006, he's been touring the world, either behind the drumkit or at the front of the stage. He has been crafting music and sound for Sabotage Studio’s games since its inception and continues his work with the studio even while on the road.

 @ericsabotage

Comments

S.Z. Spagna

January 07, 2025 at 03:25 pm

So good; thanks, Eric! Love these retrospectives on professional journeys in gamedev. Looking forward to the DLC and the magic you'll no doubt work there. Hopefully the newly added Watchmaker wheels boss battle music ("The Final Turn") and the DLC music find their way into the Steam OST or as a separate DLC buy option on Steam or the youtube channels. Gotta annoy family and neighbors playing the OST 24/7.

Leave a Reply

Your email address will not be published.

More articles

Music for Games Should be More than Just Music: Part 2

What is video game music? What is interactive music? The answers to these questions are not as...

20.11.2020 - By Olivier Derivière

Behind the Sound of ‘It Takes Two’ | A Q&A with the Hazelight Audio Team

It Takes Two by Hazelight Studios is a split screen action-adventure platformer co-op game. It...

23.7.2021 - By Hazelight

Managing Iterative Releases in Live Games

Dead by Daylight is a live game with a tight production timeline and regularly scheduled live...

7.4.2022 - By Beatrix Moersch

Which is Witch? | Step Up Your Sound Game Jam

This article was written following the second annual Step Up Your Sound Game Jam, an Android...

22.6.2023 - By Fresh From The Coven Games

Star Wars Jedi: Survivor | Q&A With the Audio Team

Star Wars Jedi: Survivor is a third-person, galaxy-spanning, action-adventure game from Respawn...

2.5.2024 - By Respawn Entertainment

Free Wwise Indie License | Empowering Indie Developers with Audio Excellence

Creating an immersive game audio experience that matches your project vision can be a challenge,...

27.6.2024 - By Audiokinetic

More articles

Music for Games Should be More than Just Music: Part 2

What is video game music? What is interactive music? The answers to these questions are not as...

Behind the Sound of ‘It Takes Two’ | A Q&A with the Hazelight Audio Team

It Takes Two by Hazelight Studios is a split screen action-adventure platformer co-op game. It...

Managing Iterative Releases in Live Games

Dead by Daylight is a live game with a tight production timeline and regularly scheduled live...