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 4 of 4
 

This approach, of using certain master parameters to lock everything together, is something we first employed in Pugs Luv Beats. One of the big challenges of designing a creative music game is to make sure things are controlled enough to not sound horrible, but free enough that the player feels real agency over the musical output. This relates strongly to the "complexity" and "reproducibility" that I mentioned before, and there was no single fix.

What we ended up doing was making sure that whenever music was being generated, certain global parameters were set and unchangeable, including tempo and key. The former is quite straightforward, but the latter required a more complex approach -- hold on to your hats!

One of the elements of the audio engine I'm most proud of is how it handles tonality. There are a bunch of melodic sound libraries in the game, linked to different terrains that the pugs run across. Lava triggers electric guitar; sand triggers an Iranian santoor, etc. The note that is played relates to the position of the tile on the planet.

This essentially means each planet is a giant MPC, or sampling keyboard -- a pug landing on a tile will always generate a certain sound at a certain pitch.

This sounds very simple, but accomplishing it was relatively tricky, because each planet is different. There are millions of potential planets in the game, and it would be impossible to have a database for each one. Instead, we are using a single identifying number for each planet to generate the tables that control the notes.

The planet's ID is used as a random number seed, generating a lookup table that assigns musical note values to every tile on the world. This is a practical application of the theories I outlined above -- it means that the planet will have a complexity in the sense that the arrangement of musical notes will be different on every planet, however it will be reproducible because every time you return to a specific planet, the arrangement of notes will be the same.


Click for large version

However, the music theory geek in me was not satisfied. I wanted to make sure that every planet would have a musical character. This way, even if you have two planets with exactly the same terrain, they will inherently sound different. We accomplished this by giving each planet a core tempo as well as a musical mode, both selected using the planet's ID as a random number seed.

The mode (or scale) would therefore be applied to all of the melodic notes played on that planet. You might get a traditional major scale, or a traditional harmonic minor scale, or a very strange (to western ears) Locrian. To make sure everything worked together, the galaxy synth is also using the same scale lookup table, so you can jam along in the same key as your planet.

These things give a little glimpse into how we were able to build a really powerful generative music engine for an iOS music game that incorporates some of our theories about interactive music that we've been developing over the past few years. We are now developing a few more music games that try to apply these theories in different ways, using different types of games.

It can sometimes be hard to see the connection between theory and practice, but I hope this article has given some insight into the thought processes that go on at Lucky Frame. We work on a wide variety of projects, and from the outside they may seem rather unrelated. Currently, for example, we are making iOS games like Pugs Luv Beats. Additionally I am currently on tour performing with Matthew Herbert's One Pig Live show, for which we built an interactive musical pigsty.

What links these projects together? Our philosophical interest is really on interaction and interface, particularly with music. This can mean interaction between a player and a game, or a performer and an audience, or any number of other dynamics. Ultimately we want to deepen understanding and engagement, leading to knowledge and fun. That's a pretty great reason to make games.


Article Start Previous Page 4 of 4

Related Jobs

Nexon America, Inc.
Nexon America, Inc. — El Segundo , California, United States
[04.24.14]

Web Designer - Temporary - 3 month
Darkside Game Studios
Darkside Game Studios — Sunrise, Florida, United States
[04.24.14]

Mid-Senior Graphics Programmer
Digital Extremes
Digital Extremes — LONDON, Ontario, Canada
[04.24.14]

UI ARTIST/DESIGNER
Digital Extremes
Digital Extremes — LONDON, Ontario, Canada
[04.24.14]

UI ARTIST/DESIGNER






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: