Gamasutra: The Art & Business of Making Gamesspacer
Making Music: Pugs Luv Beats' Theory and Fun

Printer-Friendly VersionPrinter-Friendly Version
View All     RSS
April 24, 2014
arrowPress Releases
April 24, 2014
PR Newswire
View All





If you enjoy reading this site, you might also want to check out these UBM TechWeb sites:


 
Making Music: Pugs Luv Beats' Theory and Fun

August 1, 2012 Article Start Previous Page 3 of 4 Next
 

To expand on that -- I am not a coder, and in all likelihood I never will be. I have a really hard time with text on a screen, but a graphical representation of code makes it a lot easier for me to understand.

That was what led me to Max/MSP, a commercial graphical programming system that is very popular in the contemporary art and music world. I became rather adept at Max/MSP during my studies and used it to make the Wii Loop Machine, among other things.

Pure Data is effectively a free version of Max/MSP (there is a lot more to that story, but it is heroically uninteresting), so when we had the possibility to integrate that into our projects we jumped at the chance.

Working with Pure Data provided several big advantages (beyond being free). First, it allowed us to be far more agile in our development. We are a tiny three-person team, with only one coder. Using Pure Data allowed me to handle all of the audio development, including previewing, prototyping, experimentation, and much more. I could play with the audio engine and make really complex tweaks without ever bothering Jon.

Second, we were able to take advantage of 20 years of audio research and development, rather than having to build everything ourselves. Say we want a sample accurate wavetable playback system? Using Pure Data we didn't have to build it ourselves, it comes with the package. How about a reverb system? A quick Google search will result in dozens of different reverbs made in Pure Data by researchers and developers around the world that are easily reconfigurable and adaptable to our project.


Click for large version

To explain a bit about how it works, the entire sound engine for Pugs Luv Beats is contained within this patch. It receives messages from the Lua/openFrameworks code that Jon put together, and sends those messages around the subpatches to generate and modify sounds. The simplest thing is does is trigger sounds, for things like menu actions, building things, etc. You can see on the far right the object "route sounds", which is handling all of these standard sounds. Each "sounds" object contains a little subpatch that plays the sound on a trigger.

While it may seem needlessly complicated to use this system just for playing a sound, this does offer a lot more flexibility, and more importantly allows me (the sound designer) to change anything sound-related without bothering Jon (who is in all likelihood doing something insanely complicated to do with multithreading or whatever).

A slightly more complex section of the engine can be seen in what we called the Pugglesynth. The challenge here was to create a sound library for Mr. Puggles, the friendly pug who guides you through the tutorial. We wanted him to make some noise every time he popped up, but we didn't want to use any more sound files. It needed to be funny and charming, without being repetitive. I therefore built a two oscillator subtractive synth, and every time he appears, a series of random numbers are triggered, controlling the pitch and filter frequency. Every time he disappears, however, the same two notes are played. This gives him recognizable character, without making him annoying.

Speaking of synthesizers, the galaxy synth in Pugs Luv Beats was so popular that we actually decided to spin it off into its own application altogether -- Pug Synth! There's nothing like an x-y pad synthesizer to get everyone excited. Here's a snapshot of the patch for the Swamp synth, which features a dubstep-style filter whose rate is linked to the x axis, along with the pitch.


Click for large version

Rather than being smoothly linked, however, the rate is locked into multiples of master BPM, which is also controlling a drum machine. This means your ripping pugstep is always in time with your beats. It also meant we were able to build some wicked generative drum machines, and add variations really easily, while keeping everything within a strong musical framework.


Article Start Previous Page 3 of 4 Next

Related Jobs

Linden Lab
Linden Lab — San Francisco, California, United States
[04.23.14]

Lead Engineer
2K
2K — Novato, California, United States
[04.23.14]

Lead Mission Designer
Gameloft
Gameloft — New Orleans, Louisiana, United States
[04.23.14]

R&D Game Designer
SOAR Inc.
SOAR Inc. — Mountain View, California, United States
[04.23.14]

Game Designer/Narrative Writer






Comments


Darren Russell
profile image
I am so happy to see such a detailed article on the audio side of development. Your approach to differentiate the worlds by using different modes was really enlightening. I'm working on a game, or an arcade instrument, that will also allow the player to perform music and am quite amazed at the lack of prevalence this kind of game play has. I'm thrilled that you and your team are going down this road and look forward to what's in store.

Great article!

Yann Seznec
profile image
Hi Darren, many thanks for your reply. I'm very glad you enjoyed the article and hopefully it gave you a few ideas for your own work - I'm looking forward to seeing what you make!

We have a few other projects in the pipeline, including our next music game which is coming out very soon - Bad Hotel! So keep your eyes peeled for that one, I think you'll like it.

Cheers!

Arturo Cepeda
profile image
Hi Yann,

As a musician and software developer interested in the world of video gaming, I agree with Darren and am so glad to see that good new musical games can be still created, beyond the Guitar-Hero and Sing-Star style.

I have just developed a C++ library to handle music from code, which can be used for free, in order to help to encourage developers to work a little bit more in this direction (just in case you feel like taking a look, you can find the link in my profile).

Congratulations for your article and your success with "Pugs Luv Beats"!


none
 
Comment: