Railoop

For this year's GMTK Game Jam—the world's largest game development event—we renewed our creative partnership with the team at Tidy Shell.

Our collaboration followed our established workflow. Our role was to produce all audio components for the game, including music and sound design. Tidy Shell, in turn, was responsible for the core development, visual art, and game design, creating the foundation and look of the experience.

The Music Of Railoop

Railoop's origins as a game jam project are reflected in its focused and effective soundtrack. The Main Theme, heard on the title screen, takes the listener on a complete musical journey. Here’s a breakdown of its key moments:

  • The Call to Adventure: The piece opens as a powerful march. Snare drums establish a driving rhythm, which is progressively layered with a full string section and triumphant brass to evoke a sense of epic scale.

  • A Moment of Calm: The track then transitions to a more delicate section, stripping back the sound to a beautiful interplay between the strings and a solo flute.

  • The Final Push: This peace is broken by an iconic train whistle, which introduces the finale. A passionate solo cello dances above sharp string spiccati, building towards a magnificent trumpet solo (played by Boris) that brings the piece to a triumphant close, ready for its next loop.

The Adaptive In-Game Music

The second track in Railoop is the in-game music. In contrast to the main theme, this piece is designed to be more ambient and subtle. Its primary role is to create an atmosphere without overwhelming the crucial sound effects that guide the player. However, it is not without its own interesting features, most notably its adaptive nature.

An Evolving Soundscape

One of the most compelling aspects of this track is that it's an evolving piece of music that dynamically follows the gameplay. In Railoop, the player's train makes 20 turns before the game is lost. To mirror the rising tension as this limit approaches, the in-game music is divided into four distinct sections, each more intense than the last.

This dynamic looping is managed by our custom C# library, the Altifox Audio Manager. The library triggers a transition to the next musical section every five turns. To ensure seamless changes, the manager intelligently waits for the current musical phrase to conclude before initiating the transition and looping the new, more intense section.

The Four Stages of Intensity

The track's progression is structured as follows:

  • Section 1 (Turns 1-5): The game begins calmly. The music is sparse, featuring only a few flute notes, low and discreet string pads, and the unique texture of reversed woodwind sounds. There is no percussion.

  • Section 2 (Turns 6-10): The energy begins to build. A snare drum enters, introducing a light march feel. The flute is joined by a clarinet, and they play gentle, low-volume staccati. A celeste is also added to introduce a magical, delicate element.

  • Section 3 (Turns 11-15): The intensity ramps up as the woodwinds give way to a bold brass ensemble that takes over the melody. The snare drum part becomes more powerful and prominent in the mix.

  • Section 4 (Turns 16-20): In the final stretch, all musical elements converge. The strings are divided, with some playing sharp spiccato rhythms while others hold the long, tense pads, creating a rich and climactic soundscape for the game's finale.

The Soundscape of Railoop

Crafting the Sounds of Railoop

Railoop features 24 distinct sound effects (SFX) designed to guide the player and bring the game world to life. These sounds are organized into seven main categories, each serving a unique purpose. Here, we'll detail the creation of the first and most important category: the train itself.

1. Train Sounds

This category includes straightforward effects, like the simple "choo choo" that signals each turn, but also one of the game's most deceptively complex sounds: the continuous rolling of the train on its tracks.

The Challenge: Defeating the Doppler Effect

Creating a realistic and usable train rolling sound is surprisingly difficult. If you record a train in real life, you are stationary as it passes you. The resulting recording is inevitably coloured by the Doppler effect—the scientific principle that makes a fire engine's siren seem to rise in pitch as it approaches and fall as it moves away. This pitch-shifting effect makes a standard recording unusable for a game where the player's perspective is constant relative to the train.

The Solution: Granular Synthesis

To overcome this challenge, we developed a unique solution:

  1. We started with a high-quality recording of a real train.

  2. We then processed this recording using granular synthesis in the popular synthesizer, Serum. This technique allowed us to effectively "freeze" the sound in time, isolating the core texture of the rolling train while completely removing the unwanted pitch shift from the Doppler effect.

  3. To ensure the sound didn't feel robotic, we added subtle, randomised variations to the audio grains, making the final loop sound incredibly natural.

The accompanying "smoke puff" sound was created separately using white noise, which we shaped with a dynamic low-pass filter and volume automation.

Finally, we baked both elements together with a slight reverb to place them believably in the world. Voilà! A convincing and immersive train sound, perfectly suited for the game.

2. Economy sounds