The Sound of AstroSerf
Well, my first game has been out on the App Store for a week now, and much to my relief all of the people who’ve been kind enough to comment on or review AstroSerf have been really positive about it. One of the comments that I’ve got is about the sound in particular. Doing sound design for a game was something totally new to me, so I’m pretty pleased that people have picked up on it as something that works well in the game. Here I’ll go into a bit of detail about how I approached it.
First of all, I approached the sound in AstroSerf the way I did most everything else - from the perspective of the player. Most of the time when I’m playing a game, the sound doesn’t really jump out at me, and when it does, it’s usually a bad thing. I decided that for AstroSerf, the sound should mostly just be feedback to reinforce what the player was doing, so I made a list of all the events that a player could initiate and any events they would need to respond to and laid the groundwork in the code for playing a sound when those events occurred. Then I tried to think of real-life sounds that would trigger the kind of reaction I wanted from players in those cases.
For example, when the ships land on the planets, their timers start and then you just wait for them to finish. I needed a sound that indicated something had happened, but the action the player needed to take in this case was just to go “Ok, that’s good, I can leave that alone for a bit”. The sound of a car alarm activation fit the bill perfectly, because that’s exactly how it works when you set the alarm on your car in a parking lot. Click -> beep beep -> Ok, I’m good. I also figured it would be a laugh to have the space ships ‘parking’ on the planets, since for me the sound evokes an image of a mall parking lot or something similar, which was close enough to what I wanted to convey.
I went through a similar thought process for all of the sounds in the game, trying to find a balance between sounds that were ‘meaningful’ in terms of the reaction they might provoke, whether from everyday life or movie/TV convention, and sounds that were maybe a little whimsical or light-hearted. That’s why the ships make a little “blargh!” sound when they explode. Where I couldn’t find a suitable sound I ended up mixing together other sounds or, in some cases, recording my own.
In terms of the mixing, most of it was just cleaning up the sounds in Audacity and ensuring the volume levels were consistent, as nothing takes me out of a game more than one sound that’s just REALLY LOUD. I also did a fair bit of pitch shifting on a few of them to ensure that they all harmonized, and that none of the sounds clashed unpleasantly, since I couldn’t predict all the combinations of sounds the player was likely to hear. That’s something that occurred to me after I had picked most of the sounds, and had started working on the level music, so the sound effects ended up taking on a slightly musical quality.
Now, I’m not really a musician - I still struggle with Chopsticks on the piano - but I know music theory decently well. It is just math, after all! So for the level music I picked a chord and composed a quick little song around it. I picked an augmented C chord, because I like the mysterious quality that non-major chords give, but found a minor chord too dark and serious for the game. Then I pitch shifted the sound effects as necessary to match one of the three notes in that chord. I figured I had succeeded when I found I could listen to the game while not actually playing and not be annoyed by the blips and dings.
All in all, working on the sound part of AstroSerf was a lot of fun, and a very different experience from the graphics and coding side of things. I’m very happy to hear from players that they like this aspect of the game, but I’m not sure I wouldn’t be almost as happy to hand it off to a pro if I have the money for it in future projects!