Sounding Out! Podcast #30: Game Audio Notes II: Hand Made Music in Retro City Rampage

01-RCR-VinylAlbumCover

Sound and Pleasure2This post continues our summer Sound and Pleasure series, as the second **bonus Monday** podcast in a three part series by Leonard J. Paul. What is the connection between sound and enjoyment, and how are pleasing sounds designed? Pleasure is, after all, what brings y’all back to Sounding Out! weekly, is it not?

Who doesn’t like retrogames? As a kid I kept to a straight diet of NES pixels and sounds. This installment reveals the technical and creative proficiencies involved with the composition of retro sound, and it. is. amazing! Our final installment on game audio design will run Thursday, 6/26/2014, and feature some notes on the process of designing sound for the game Vessel. Also, be sure to be sure to check out last week’s edition where Leonard breaks down his process in designing sound for Sim CellBut first, Retro City Rampage! -AT, Multimedia Editor

 

P.S. The first 25 folks to follow @soundingoutblog, @VideoGameAudio or @RetroCR on Twitter following the publication of this podcast will win a free download code for Retro City Rampage sent to them via direct message courtesy of Leonard Paul!

-

CLICK HERE TO DOWNLOADGame Audio Notes II: Hand Made Music in Retro City Rampage

SUBSCRIBE TO THE SERIES VIA ITUNES

ADD OUR PODCASTS TO YOUR STITCHER FAVORITES PLAYLIST

-

Game Audio Notes II: Hand Made Music in Retro City Rampage

Retro City Rampage (RCR) is a retro vibe two-dimensional open world game with plenty of parodies from the 80s and 90s. It’s basically what Grand Theft Auto would be if it was on the Nintendo Entertainment System (NES). Because the world of computer game design has recently embraced retro-aesthetics, the game was released for almost every platform. Its Nintendo 3DS version, was even a critical success, scoring a high 83% on Metacritic. My goal with the sound design of RCR was to produce a sound that was both an homage to the original sounds of the NES, but with a heart-felt intensity such that it preserved the feeling of my own nostalgia as well. The sound design of RCR follows in the tradition of independent games that are working hard to recover an aesthetic from the halcyon days of gaming.

I wanted the sound design of RCR to be as nostalgic as possible. To do this, I started by researching the work of others with this sepia-drenched 8-bit aesthetic in their own work. The open source scores that Jake Kaufman (aka “virt”) used for his albums FX1 and FX2, were particularly valuable here. Later on I came across a chiptune tutorial that Matt Creamer (aka “Norrin Radd”) had made and was able to bring him onboard to complete our team of composers for the game. I was able to borrow the same setup that he used for his music and adapt it to my process for creating sound effects. I used the open source music software OpenMPT for creating the sound effects as well as use the C++ sound code for playing back the music in the game as well. Getting the code from OpenMPT meant that new code didn’t need to be created and it ensured that the songs and sound effects would play back perfectly without any issues in the game.

02-RCR-OpenMPT

A Screenshot of OpenMPT software. Image courtesy of the author.

OpenMPT is a music tracker (or mod tracker) program for Windows. Mod trackers began on the Commodore Amiga in 1987 with the release of the Ultimate Soundtracker. The Amiga supported 4 channels of 8-bit sampled sound and usually had very low sampling rates to conserve memory as the original Amiga 1000 usually had only 256 KB of RAM. In other words, the samples were short and rough, but creative engineers found ways to work within these limitations. For RCR we used the Impulse Tracker format that was first released in 1995 for DOS.

Early sound designers needed to code the sounds in an arcane language called assembly code that was quite difficult to understand unless you were a computer programmer. Trackers were a first step toward making audio for games easier to make. They allowed sound designers to work with musical notes and effects abstractly, using a notation language far easier than hard-core assembly code. Later consoles, such as the Super Nintendo Entertainment System (SNES), allowed sound designers to simply input sampled sounds to be played back during the game. We wanted the sound design of RCR to be from the “classic era” of video games (before sampled sounds became the norm) and to feed off of the nostalgia surrounding this era for the player.

I typed in thousands of notes and effect commands in by hand, when creating the score for RCR. This level of detail and control has a direct aesthetic effect on the audio. Game sound programmers working in the 1980s lacked the sophisticated tools of automation that are standard in the industry today. This attention to detail and nuance was essential for the nostalgic sound associated with classic video games that I wanted to produce in my work. Just as using paper can be contrasted with modern music composition software, the mode in which one creates has a direct effect on the results of the composition.

03-rcr_cassette_action

Courtesy of Vblank Entertainment (c)2014 – Artwork by Maxime Trépanier.

While creating the sound effects for RCR, I learned how to do tracking and decided I wanted to add some music to RCR as well.  The catch was that the synthesis capabilities of the NES were extremely limited including only two pulse waves (often used for lead instruments), a triangle wave (usually used for a bass instrument), a noise channel (frequently used for drums), and a crude sampled sound channel (commonly used for muffled sound effects).

Even though we decided early on that we wanted the game to have a nostalgic feel, we made a set of careful decisions in order to avoid being locked into the tricky technical details that sound artists who worked on games for the original NES had originally faced. One key difference was that we didn’t limit the overall polyphony of sounds playing at the same time to the original NES specification. We limited each individual sound effect and song within the NES specification (for example, a single sound effect couldn’t use three pulse waves), but we decided not to drop a channel out when a sound effect would have preempted the score from one of the music channel. Typically in original NES games the music moved aside in order to accommodate the sound effects and so notes that used the pulse wave track were frequently dropped. Because this sort of interruption is unpleasant, we made choices that allowed us to work around it – inspiring our creative choices rather than limiting them. Although we took a few other technical liberties, nearly all of the sounds and songs of RCR could play on an actual NES with minimal modification.

04-RCR_GhettoBlaster

Courtesy of Vblank Entertainment (c)2014 – Artwork by Maxime Trépanier.

Using an open source mod tracker format allowed us a lot of flexibility when creating the audio for RCR. Although using a mod tracker to type in sound effects by hand was a laborious process it added an authenticity to the result that would have been difficult to achieve otherwise. Working with these strict limitations forced me to make different choices in my creative process that helped me invest a sense of ownership in the results. The hand crafted NES synth sounds I described above are ultimately just symbols pointing towards their real-world counterparts, and tellingly they rely on the imagination of the listener to bridge the gap between the real and the symbolic. Nostalgia allows us to fill these gaps and allow listeners the space to hear their own memories within the game.

Additional resources:

-

Leonard J. Paul attained his Honours degree in Computer Science at Simon Fraser University in BC, Canada with an Extended Minor in Music concentrating in Electroacoustics. He began his work in video games on the Sega Genesis and Super Nintendo Entertainment System and has a twenty year history in composing, sound design and coding for games. He has worked on over twenty major game titles totalling over 6.4 million units sold since 1994, including award-winning AAA titles such as EA’s NBA Jam 2010NHL11Need for Speed: Hot Pursuit 2NBA Live ’95 as well as the indie award-winning title Retro City Rampage.

He is the co-founder of the School of Video Game Audio and has taught game audio students from over thirty different countries online since 2012. His new media works has been exhibited in cities including Surrey, Banff, Victoria, São Paulo, Zürich and San Jose. As a documentary film composer, he had the good fortune of scoring the original music for multi-awarding winning documentary The Corporation which remains the highest-grossing Canadian documentary in history to date. He has performed live electronic music in cities such as Osaka, Berlin, San Francisco, Brooklyn and Amsterdam under the name Freaky DNA.

He is an internationally renowned speaker on the topic of video game audio and has been invited to speak in Vancouver, Lyon, Berlin, Bogotá, London, Banff, San Francisco, San Jose, Porto, Angoulême and other locations around the world.

His writings and presentations are available at http://VideoGameAudio.com

-

Featured image: Courtesy of Vblank Entertainment (c)2014 – Artwork by Maxime Trépanier.

tape reelREWIND! . . .If you liked this post, you may also dig:

Sounding Out! Podcast #30: Game Audio Notes I: Growing Sounds for Sim Cell- Leonard J. Paul

A Series of Mistakes: Nullsleep and the Art of 8-bit Composition- Aaron Trammell

Digital Analogies: Techniques of Sonic Play- Roger Moseley

 

About these ads

Tags: , , , , , , , , , , , , , , , , , ,

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: