Sea of Stars: Modern Tools for Retro Aesthetics

게임 오디오

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

댓글

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.

댓글 달기

이메일 주소는 공개되지 않습니다.

다른 글

라우드니스를 처리하는 최상의 방법, 제 1강: 라우드니스 측정 (1부)

방송과 같은 푸시 서비스, 멀티 플랫폼 상호작용 엔터테인먼트, 인터넷 스트리밍과 같은 다양한 미디어 형식에서 라우드니스는 단지 신호 전달 표준이 아니라 소비자 선호에 직접적인...

12.11.2019 - 작성자: 지에 양 (Jie Yang, 디지몽크)

UI 설계 관점에서 UI 오디오 접근하기 - 제 1부

어떤 게임에서는 사용자 인터페이스가 플레이어의 전체 경험에 궁극적으로 영향을 거의 미치지 않습니다. 수많은 모바일 게임과 같이 어떤 게임에서는 거의 전체 게임플레이 동안 UI를...

14.10.2020 - 작성자: 조셉 마척(JOSEPH MARCHUK)

게임 사운드 보관 | 제 2부: '컨커 최악의 날'과 미스터리한 MP3

오늘 소개할 이야기는 뜻밖의 결과, 다시 말해 우연한 발견에 관한 이야기입니다. 연구 프로젝트가 의도한 대로 끝나지 않았기 때문에 복잡하게 느껴지실 수도 있지만 끝까지...

29.9.2021 - 작성자: 파니 러비야르 (Fanny REBILLARD)

Wwise로 도플러 효과 제작하기

도플러(Doppler) 효과는 음파를 기준으로 관찰자가 움직임에 따라 파동의 주파수가 변하는 것입니다. 이 물리적인 현상은 모든 종류의 파동 전달에서 일어나며 음파도 예외가...

30.3.2022 - 작성자: 쒸 웨이 (Xu Wei, 徐巍)

에이지 오브 엠파이어 IV의 음악

안녕하세요, 저는 린 가디너(Lin Gardiner)라고 합니다. Relic Entertainment(렐릭 엔터테인먼트)의 수석 오디오 디자이너이자 에이지 오브 엠파이어...

22.1.2025 - 작성자: 린 가디너(Lin Gardiner)

Wwise로 게임 마스터링하기 | 제 2부: Mastering Suite 프리셋 및 사용 방법

2부로 구성된 블로그 시리즈의 제 1부에서는 게임 마스터링에 접근하는 방식을 다루었습니다. 여기에서는 Mastering Suite에 담긴 여러 가지 프리셋을 언제 어떻게...

26.3.2025 - 작성자: 로익 쿠티에(Loïc Couthier) & 단제리 스켐브리(Danjeli Schembri)

다른 글

라우드니스를 처리하는 최상의 방법, 제 1강: 라우드니스 측정 (1부)

방송과 같은 푸시 서비스, 멀티 플랫폼 상호작용 엔터테인먼트, 인터넷 스트리밍과 같은 다양한 미디어 형식에서 라우드니스는 단지 신호 전달 표준이 아니라 소비자 선호에 직접적인...

UI 설계 관점에서 UI 오디오 접근하기 - 제 1부

어떤 게임에서는 사용자 인터페이스가 플레이어의 전체 경험에 궁극적으로 영향을 거의 미치지 않습니다. 수많은 모바일 게임과 같이 어떤 게임에서는 거의 전체 게임플레이 동안 UI를...

게임 사운드 보관 | 제 2부: '컨커 최악의 날'과 미스터리한 MP3

오늘 소개할 이야기는 뜻밖의 결과, 다시 말해 우연한 발견에 관한 이야기입니다. 연구 프로젝트가 의도한 대로 끝나지 않았기 때문에 복잡하게 느껴지실 수도 있지만 끝까지...