Two weeks ago I released Airport Madness 3D version 1.353, a fairly substantial update. This time, I really went after performance improvements. As much as I wanted to charge ahead and deliver Boston Logan to you, I first wanted to get this game running smoothly across all devices, including my old crummy Android tablet. I did several things to improve performance, mainly
The aircraft in this screenshot have fake shadows, not actual shadows that were calculated by the CPU during game play.
reducing vertices of objects. Vertices give an object its shape. An aircraft in Airport Madness can have a tremendous number of vertices, depending on how much effort the artist put into it and how rounded and smoothed the surfaces are. I went through Airport Madness 3D with a fine-tooth comb, looking for detail that could be stripped away without anyone noticing. For example, airplanes that are far away on the horizon can be faked using extremely low-detail versions of themselves. And even though the artist who created the airport vehicles added spectacular details such as mirrors and exhaust pipes, I was able to boost performance by whittling them down to something manageable. I even removed all shadows from the game, which was something that slower machines had difficulty rendering. That’s right, there are no actual shadows in Airport Madness 3D. The shadows you see beneath the airplanes, vehicles and gates are all faked, in an effort to improve performance. I think they look quite good, honestly.
I ran into numerous issues delivering this update. Moments after releasing the Mac version, emails began pouring in from users who were experiencing unbelievably horrible graphics. I spent two days researching the problem, and when I could not find a solution, I decided to simply rebuild the file. Voilà, that fixed it. However, moving on to the iOS build, I again received a huge number of complaints from users, this time reporting that only one quarter of the screen could be seen. This problem took two days to fix. On to the Android build. No matter how hard I tried, I could not seem to get the build size down to the mandatory 100MB. I spent the better part of a week trying to find ways to get file sizes down.
Along the way, I learned a ton about game development with Unity3D. The learning curve was painfully steep with this update, but I am proud to say that I understand so much more now, than before. There was a moment, however, when I really felt like tossing my computer out the window. I’ve read stories about game developers who lost their minds and did crazy things, and began to wonder if I was that far off. But no, my computer is still totally intact, as is my sanity.
I’m always amazed at how much work goes into building a game. Even just a simple update is a great deal of work. Adding a new airport to Airport Madness 3D is huge. As a one-man show, it’s difficult to maintain expertise in so many areas. 3D modeling, real-world terrain height maps, C-Sharp code, Unity3D, Photoshop, xCode, and all of the App Store submission portals including iTunes, Google Play, Steam and my own website. I find, if I don’t do something for a couple of months, I begin to forget how. As I put the finishing touches on Boston Logan, I keep having to stop as I try to remember how to do certain jobs, such as programming the AI parking system. How the heck did I do it for the previous 7 airports?
I get emails from users asking, “Where is the airport you promised back in May?”. And I want to reply, “What promise? Are you referring to the FREE airports I’ve regularly been adding to this game, because I’m such a nice guy?” I hope you can understand how this can wear me down, but to be honest, I’m thrilled to receive such emails. It means that my game matters to someone, which is far, far better than obscurity.
I am extremely optimistic and excited for the future of Airport Madness. However, I admit that I’m moving at a terribly slow pace. It’s difficult being a full-time air traffic controller AND a game developer. I can usually find about 15 hours per week to work on the game. I’ve considered hiring help, but then, I’d have to pay them. Employees tend to disappear if you don’t pay. Considering the annual earnings of Big Fat Simulations Inc, I’m not sure if my bottom line would would improve with a full-time artist and full-time coder on the payroll. So I’ve decided to remain a one-man band. Controlling planes, and building games on the side wherever I can fit it in.
Boston Logan should be coming to AM3D by early July. Stay tuned, I’ll be talking about The Next Big Thing here, shortly!