Songbird: Developer Diary
With Jonathan C. Haman
Introduction
Songbird is a fitness game where you use any exercise bike to control a pedal-powered flying machine through a story-driven experience set in medieval times. These are my notes on the process.
Hardware
I got the idea for Songbird when I saw an exercise bike that a company was trying to sell for several hundred dollars that could control a game. I knew that you could get a cadence sensor that straps to any object with circular motion for about $50, and many people myself included already have an exercise bike (which you can also get at Wal Mart for like $80.) After experimenting with an off-the-shelf sensor I found you could get a fun and rewarding gameplay experience controlling the speed with pedaling and pitch/roll with the phone accelerometer. So I found an overseas source for the sensors at a profitable price that was also willing to produce packaging meeting my design requirements.
Procedural World Gen
Songbird could never have "levels" because a single mission could take place over an area of hundreds of miles, so a procedural load was necessary. This also allows players to fly an unlimited distance in any direction. I'd made a game with a procedural load before (in fact everything I've been involved with works this way), but the landscapes were not breathtaking enough from overhead so I developed a novel approach: using a set of height maps from the real world, then using a noise generator to pseudo-randomly place, scale and rotate them with enough overlap to create convincing randomness, and then another algorithm to sample the height map stack to derive the height of the terrain at any coordinate. Then textures are applied via a splatmap based on the biome and surface normal, and vegetation is added using another noise generator.
Combat and Artificial Intelligence
All of the AI in Songbird is algorithmically controlled. Due to the narrow control parameters caused by pedaling, the enemies have to be somewhat predictable or else some of them would be unreasonably hard to catch. The gameplay loop is essentially, lock onto an opponent and chase them until they get tired, which will allow you to get close enough for your weapon to be effective.
Physics Simulation
Everything in Songbird is physically based, which I would recommend no matter the type of game. It seems harder at first but eliminates nearly all of the corner cases. An unexpected challenge in any procedural load is the collider system - you can't have colliders active on every loaded chunk or it will cause performance problems, so you have to detect when an entity that requires colliders is in proximity to each chunk and dynamically load and unload the colliders for that chunk. I have always wondered how others solve this problem and never seen any solution other than this one I (independently, I presume) invented.
Story
I once read a story that really resonated with me that I will not mention for fear of giving away the twist ending of Songbird. But [Still spoiler alert] early in the story of Songbird you are separated by your mentor Reina, who was a powerful ally. I've always thought the most powerful thing you can do in cinema is to make the viewer experience the same feelings as the character on screen in real time, and interactive entertainment exceptionally provides an underutilized opportunity to do this - the player really feels a sense of loss when Reina disappears, because the game is so much harder without her. You want to get her back. I hope I made someone feel a feeling.
Fitness
It is easy to miss the point when developing a fun game, but Songbird is a fitness game so I had to make sure it included innovative features to this end. The calorie counter, which was surprisingly difficult, counts down instead of up so it will tell you how many calories you should eat at any time of the day, and you gain more calorie consumption the more you pedal. You can also set a weight goal in the options, so once you are near your target weight the system will start recommending a lower calorie deficit. Songbird also tracks your weight over time and stores everything so that - in a future update - you will be able to see graphs of your progress as a fit person and cyclist. With my experience as an intermediate swimmer I knew the most effective workout is a high intensity-low intensity cycle so I programmed this into the gameplay loop - Songbird is an interval trainer without even mentioning it.
Advertising and Interactive Entertainment Publishing
With the game complete it was time to advertise, and I partnered with a commercial production company in Las Vegas to create a commercial for Songbird, visible on the homepage, which I've played exclusively through YouTube ads. This was an interesting process and I learned how much is involved with producing acceptable-quality video - the finished product was 98 seconds long, very mid-quality, and cost tens of thousands of dollars to produce, and I don't feel like it could have been done for much less.