Hello airport CEO!
Long time no see and despite the lack of updates on the public Steam branches we decided that it is time to give you a proper update on what is going on behind the curtain. As you probably know, we’re usually tending to a bi-weekly release schedule of the development blog but as of late we’ve had to pause this schedule due to two factors: Lack of time to assemble content to write about and lack of interesting content itself. Lack of content in this case however does not mean that we’ve not been busy developing, on the contrary it is due to the fact that we’re currently both focusing 100 percent on Alpha 29 and the upcoming performance update, which we’ve already written about multiple times, and the fact that performance updates usually amount to huge amounts of work with limited visual feedback.
Development of Alpha 29
However, this performance update is a pre-requisite to properly support the larger aircraft class along with multiple-floor as more space and volume equals more agents to simulate. After these weeks of performance improvement development you will “only”, at best, discover that your airports are running a lot smoother. The real benefit will come post deployment of Alpha 29, i.e. once the feature that leverages the extra performance we’ve enabled are brought to you without degrading the overall performance of the game.
The changes we are making are on a code basis very, very substantial and with the game in a deployed state it’s somewhat equivalent to repairing a truck as it travels down the road. The core issue of Airport CEO in terms of performance has always been poor agent object architecture, i.e. how the agent objects are assembled in terms of the game object’s transform hierarchy, poor agent rendering and animation and ultimately poor agent simulation execution. With Alpha 29, this is exactly what we are addressing and since these parts of the code base have been built and and evolved since the start of the game and are super fundamental and quite complex, we’re dealing with a lot of technical debt along the way. This is actually the third large iteration of the person agent, whereas the first version that never made it to deployment not only had the poor characteristics mentioned above but also relied on a physics collider and raycasts for orientation and navigation. The person agent really is a good yardstick on our learning curve as we’ve developed Airport CEO, starting from very limited knowledge creating the fist version to now owning up to that lack of knowledge with a refurbished implementation.
Here are a few technical points detailing what changes Alpha 29 includes:
- GPU based rendering solution to relieve the CPU of unnecessary rendering brokerage, i.e. cutting the CPU out of the rendering process as much as possible and greatly improving performance
- New person body model reducing number of game objects in the world freeing up RAM resources
- New person textures aligned with the game’s current art style, higher resolution and larger variations
- New and more detailed person animations greatly improving performance
- Agent positioning simulation using data objects greatly improving performance
- New agent simulation execution architecture greatly improving performance
- Removal of nested agent simulation threads greatly improving performance
- Upgraded Unity version taking advantage of burst compiling and job systems
On top of that, a lot of over engineered and unnecessarily complex code structures have been removed while in all cases maintaining the exact same behavior, or even enabling better opportunities to create more complex behavior down the line. The above bullets have all been implemented and are ready for testing, what we’re currently dealing with are some final QA on the visual aspect such as improving model and texture designs and adding a solution for rendering head wear separately.
Everything else we’re doing
In excess of the Alpha 29 development there’s a lot going on both in regards to the development or Airport CEO but also in regards to development of the studio.
The Airport CEO soundtrack is nearing completion with the last soundtrack recording being set for week 48. After that we expect some additional time for final mixing and review before we get our hands on the final result. The implementation of the soundtrack will be bundled together with new UI sounds in a not too distant update. You’ll be the first to know when.
We’ve got several new aircraft models lined up development as we’ve started working together with a prominent community member, whose name will be revealed once the first aircraft (the community voted Q400) goes live as a part of Alpha 29. We hope to be able to roll out new aircraft models on a more frequent basis as a result of this partnership and we’ll let you know more soon.
We’ve as of last Thursday migrated the Forum to a new host since the old one had a series of serious performance issues both in terms of hardware performance but more importantly network performance. We’ve transitioned hosts before so the migration process itself was quite smooth and we’ve received several reports that the forum browsing experience is way more snappier than before. This is most likely the last time we’ll ever have to transition the forum, or perhaps the fact that just stating that will probably mean its not (lol), but we’re now with a global cloud solution provider located in central Europe and when time allows we will stick a caching solution in front.
Speaking of infrastructure, the development of the new websites for both Airport CEO and Apoapsis Studios are coming along fine and are expected to meet their deadline and deployment as of early December. Once we go live with these our old VPS will be shut down and you’ll never have to experience a slow loading Airport CEO web resource again. Hurray!
We’re hiring! Yes, the core Airport CEO development team still only consist of Fredrik and Olof (thankfully aided by Mithcell and other community resources) and we’ve got way too much Airport CEO and future games to develop to do it ourselves. The hunt for the third and perhaps fourth team member is on and the job ad can be seen here. The game industry job market in Sweden, and perhaps especially in Malmö, is very competitive so we have no estimations as to when the next developer is on-boarded but be sure, you’ll again be the first to know. Make sure to press that link however, it depicts a small sneak peek of our office… which we most likely will have to move again depending on how soon we can expect the team to expand. For this reason we won’t share any other pictures of the office right now, as we’ve promised multiple times, however if you check out the Apoapsis Studios instagram you’ll get an additional sneak peek.
A new environment texture system is in the works as we’ve partnered with a neighboring game studio. Even though our internal development resources will be forever limited we’ve expanded our outsourcing strategy further to speed up development time. The current environment textures are, compared with what’s in the works, atrocious and something we’ve wanted to improve for a long time. We’ll not only be looking at swapping the actual textures themselves but also creating a blending system that allows for smoother environment transitions as the seasons and weather cycles – of course coupled with an improved animation curve based simulation for seasons, weather and temperature. More on this as we near implementation.
So, now we really must get back to work, we expect Alpha 29 to be deployed this week to out internal testing branch and depending on its success we’ll then plan the deployment strategy for the experimental branch. We’ll make sure to let you know when it goes live. Regardless, we will be back in two weeks with a new development blog updating you. Until then, fly safe!