I chatted online with Skinflake developers Sara and Jetro over in Finland, the duo behind the original game Racing Pitch, where you use the pitch of your voice to control the speed of a race car. Understandably, this interesting concept has earned the game a finalist position in the Excellence in Audio category.
[size="3"]Who are you and how were you involved in Racing Pitch?
Jetro: Hi, my name is Jetro Lauha. I'm the principal creator of Racing Pitch, responsible for the main design and development.. as well as music and part of the graphics.
Sara: I'm Sara Kapli, and I helped Jetro mainly in graphics and some design too. I also acted as an early-development test person.
[size="3"]Congrats on being selected as finalists this year! How did you guys learn about the IGF?
Jetro: Thank you very much! I learned about the IGF maybe about 2-3 years ago, immediately noticing that it would have been something worth submitting my games into earlier as well.
Sara: Actually I found out about IGF only a little after the game was submitted.
Jetro: Unfortunately I didn't know better back then. I'm quite sure I had played some IGF games earlier as well but hadn't just really looked into what the IGF is. In fact last year we submitted Pogo Sticker to IGF as well, but unfortunately it didn't get into finals.
Sara: Oh, true, but because we didn't get to finals, I had already forgotten!
[size="3"]What was it that inspired the creation of Racing Pitch?
Jetro: Well, the game idea is one of these funny things which we have discussed among some friends several times among past years. The concept has seemed a bit more of a joke than a real game, but last spring I finally thought about the concept a bit and what might be a viable way to try it out, among other ideas for a new game.
Sara: And I kicked Jetro's ass to get it done, because the idea had popped up so many times, and he had also made some background research already. So you could say I'm part of the inspiration
[size="3"]I recall seeing, some time ago, online footage of actual slot cars controlled by voice. Does this tie in with the game's creation at all?
Jetro: No, I haven't seen that clip at all. But hey, now they can do that virtually as well. :-)
Sara: Nope, haven't seen it either.
[size="3"]And yet the racing tracks in the game, they all look like slot car tracks?
Sara: Yes, mainly for game play's sake.
Jetro: Yes, more or less, as we decided to use track pieces with a "rail" for the car to follow [since the player cannot steer]. Because of this the levels are also built out of blocks.
Sara: Using slot cars as a theme makes the physics modeling and handling the car simpler and more intuitive, and also made the graphic design and execution easier.
[size="3"]That certainly makes sense and explains the parallelism. Was there any other work done out there that you guys were able to use in order to implement the voice pitch aspect of the game play?
Jetro: I did search for a bunch of research papers about analyzing voice. However, none of those felt very much like a clear solution to which is "the best" algorithm to do that. So I end up looking at spectral analysis of voices myself and thinking about what would be necessary to get something out of them. In the end the game uses just a home-cooked solution to analyze voice pitch, taking harmonics into account and leaving some frequencies out.
[size="3"]I noticed there was a range of frequencies to choose from rather than having the user set his or her own. Was this a design issue? Technical issue?
Jetro: It's mainly a design matter rather than technical one. The voice range of characters is normalized anyway, so there is no advantage in using one character over another, except that you should of course use one which suits your voice best. Letting user edit the range is possible, and might be added in a future version. We decided to go for the simple way first.
Sara: It is easier for the player to just pick up one character than go through heavy adjusting before the game. Using characters gives more looks to the game, too.
Jetro: There are hidden configured frequencies tied to the character, like the pitch where your car breaks up if you keep up that pitch for too long.
[size="3"]Were there any major design issues as a result of the way the game is controlled?
Jetro: Well, one issue is of course the fact that once again we had quite a limited amount of time to create the game, after setting out on the concept. The time was very limited because we wanted to contribute with the game in the Assembly'2006 game development competition, and it was only something like 1-2 weeks before the deadline. That meant I had to leverage some code from past projects and that introduced some limitations as well. I didn't realize it back then, but in retrospect I see that many of the racing tracks are a little bit too hard to play.
Sara: The original slot car theme was chosen to simplify the design phase. No steering had to be implemented, and the player is aware of not only that, but also that how the car is going to behave in certain circumstances. The first level was designed and made overly easy, so that it would act as a tutorial to the game play. The hot-air balloon and drag races among the shifting mode were made afterwards.
[size="3"]Besides reusing code, was there anything else you did that you think helped to speed up the development?
Jetro: I'd say that it was a good idea to base the initial tech development on prototypes, which I iteratively created. The "final" sound analyzing code is 3rd or 4th prototype, depending how I count. I also asked for some advice from fellow developers with more experience with sound coding. Naturally it helped a lot that I took a vacation from my regular day job, so that I could work on the game.
[size="3"]In general, what would you say is the most difficult part of using sound in a game this way?
Jetro: Technically, there's the problem that the microphones people are using vary quite a lot. Some use built-in microphones from a laptop, which may pick up some internal high-pitch hard disk or fan noise quite easily, for example. On the other hand, some webcam microphones may have built-in normalization in them which cannot be turned off. The game has built-in normalization as well, so the webcam thing doesn't matter. But this means that if microphone picks up some additional high-pitch noise while player is silent, then it's a problem for the game. I haven't completely solved glitches like this yet.
Sara: To get people to overcome their suspicions and self-censoring to try the game. It has been a surprisingly typical problem at least amongst some public audiences.
[size="3"]What is the core technology behind Racing Pitch?
Jetro: C++, FMOD Ex for the audio playing and recording (including spectrum analysis) and OpenGL to draw the graphics. Additionally we're using libraries such as SDL, our own UI library and collision/physics engine, zlib, libpng, jpeglib, ogg vorbis and libcurl.
Sara: Graphics are rendered animations, because OpenGL is used not as 3D but in 2D. Photograph and vector based image editing is used for the rest.
[size="3"]What were some tools you guys used that helped out during development?
Jetro: Photoshop for imaging and a bunch of PNG-optimizing tools like pngcrush, pngquant and pngout to reduce file size of final build. Music is created using good old Impulse Tracker, and then converted to get an ogg-compressed OXM file. Mappy is used to edit the levels, and I'm also using just plain old CVS for version control.
[size="3"]What's next for Racing Pitch?
Jetro: I have some more concepts for Party Games, which is already clearly a good direction to expand the game into.
Sara: Graphics could be refined too. There's no such thing as too good gfx.
[size="3"]Is there anything else about Racing Pitch you would like to reveal to other developers?
Sara: Jetro's little sister Sessi was used, once again, for one of the test voices. She has had privilege to serve many times in previous game productions. But as she has grown up a little too much over the years, we had to find brighter voiced test material also. So many thanks to our video producer for lending his kids for recording voices.
Jetro: Our friend Joona Poikonen did a great job helping us out by editing a promotional video for the Assembly event to show out the game. The video has been a nice thing to have around afterwards as well. Thanks also to our friends who appeared in the video!
[size="3"]Well good luck to you both, and I'll be seeing you at the conference
Sara: Great, thank you so much! =)
Jetro: Thanks for the interest. :-D We'll be there. Everybody, please come and meet us!