Hey folks! Thanks for reading the latest Airship Commander dev diary. This week we’ll talk about the upcoming 0.2 release. A lot changed both above and under the hood, so this article might be a little more developer focused than usual.
The biggest change to the game comes in the form of touch controls for both Vive and Rift. This new input mechanism caused a lot of ripples to butterfly out through the game. Getting the props to work initially went smoothly, again because of the awesome Virtual Reality Tool Kit. Using these prefabs and components, I quickly made steering wheels spin and levers pivot. The props worked pretty much as expected.
All that changed however once the props were added to airships. When the props moved with the ship "grabbing" them would cause them to vibrate violently. Sometimes they’d teleport from where you touched them to an extreme angle, often actually triggering gameplay input like an altitude change. I’ll spare you the gruesome details, but fixing it required an almost complete rebuilding of the airship prefabs, which introduced loads of bugs and took a while to get cleaned up. They’re in a good spot now, but that was a way bigger change than I anticipated.
Almost as large a change was adding room scale, using teleporting for traversal. The ships scale had to change quite a bit to get it working right, but the sense of presence also increased after the adjustments. Being able to walk around under the ship, or lean out over the deck is super cool. A real focus in the coming releases will be decorating these “deck sets” that each vessel now contains. Making them thematically cool as well as interesting places to interact with will be a priority.
When we discovered just how much we were relying on asynchronous time-warp and re-projection in 0.1, we knew there was a lot of work to do on performance. Digging into both the code and assets, we found many areas to improve. One optimization came along with the rebuilt airship prefabs I mention above. Cleaning up all those competing physics components refunded a millisecond or two off the CPU right out of the gate.
Another area of improvement was the city. Lots of geo details were lost at gameplay altitudes and removed without any fidelity lost. While the large towers continue to cast and take shadows, the city itself now only takes shadows. Lastly we implemented LOD models for all gameplay assets. Our GPU ms was always pretty minimal, but we threw something like 3x the draw calls and polygons at the graphics card that Oculus recommends. Hopefully this improvements will let Airship Commander rely less on the crutches OpenVR and Oculus provide. It certainly feels more smooth on my minimum spec machine.
There are lots of other changes, mostly small but cumulatively a nice additional level of polish. Vessels will now collide with towers, basically insta-gibbing. Birds do the same should they collide with an airship. The fade in/out on changing stations now works everywhere, including the autopilot at the end of a waypoint and manned rowboats. Many of the props now sport textures, there are 6x the city block assets for more diversity, and custom art for the touch controllers.
Hopefully by this time next week the 0.2 release of Airship Commander will be available! Thanks to all of you that have provided feedback, both positive and negative. Airship Commander is a true passion project, one that is fueled by an unquenchable desire to will a game into existence that I’m desperate to play. I deeply appreciate your time and thank you for reading this update!