DevLog 102: Evaluating the Performance Sprint

DevLog 102: Evaluating the Performance Sprint
February 27, 2018 Airport CEO

Hello airport CEO and welcome to the one hundred and second edition of the somewhat weekly Airport CEO development blog! We say somewhat because last week we were yet again forced to skip posting as we were battling a minor illness within the team (nothing too serious, just something along the lines of the yearly flu) and since we don’t want the actual development to suffer too much we usually just end up cutting the development blog instead, which was what happened last week. It does, as you know, take a long time to write these and the whole team has yet to fully recover which is why this edition will be a bit shorter than usual but also because there’s not really that much to write about that we haven’t written about earlier. While there’s right now a lot happening and changing in relation to ACEO’s core systems, it’s almost solely taking place behind the scenes and don’t do much else than provide you with an a lot better performing core game. We mentioned the details of this in the 101st development blog and won’t look into covering it again but perhaps take a look at whether or not it has had any effect. Here we go!

Last Weeks

Since the last devlog was titled “Performance, Performance, Performance, Performance, Performance…” it’s needless to say that the current sprint is centered around performance and thankfully it’s going fairly well. Since the previous episode we’ve deployed a number of updates on the experimental branch, including most notably Alpha 25.3 that addressed some of the core performance issues of ACEO. The update has been received very well by airport CEOs running the game on the experimental branch and we’ve gotten reports on tenfold FPS improvements, examples where people who’ve previously had their computers struggling to run an airport with 2000 simulated agents now can experience a smooth running airport with triple that amount. It’s of course always difficult to overlook the complete, true, impact of the performance improvements we’ve implemented before we deploy them to the default branch but these initial reports are a very good indication that we’re heading in the right direction. The main changes that have taken place are those mentioned in the previous devlog but we’ve this week also taken an additional look at the object pooling system while also streamlining and further improving some of the passenger and employee related agent simulation. You can always check out the latest changes to the experimental branch by checking out the current experimental branch thread on the Forum!

What’s yet to be deployed to the experimental branch is the new path finding system. A large chunk of time these two past weeks has of course been devoted to the continued development and testing of this new system that is intended to bring additional relief to your rigs and the results of our testing efforts continue to show very promising results. While we’re hesitant to share definitive metrics prior an experimental branch deployment (so that we can verify our own testing with real life airport CEOs), we last week  did mention improvements from anywhere from five percent up to 32 times faster path calculations (depending on the path type in relation to complexity and distance). Our continued testing efforts indicate that with this new system we will no longer have to deal with an increasingly clogged path calculation queue, i.e. a simulation slowdown and halted agents as the game engine has to push a lot of path requests from a large number of people, since we’ve vastly improved the way we process the path request queue. This change should, in theory, mean that with large amounts of persons in your airport you will no longer experience persons standing still waiting to receive a calculated path from the system and that the performance hit from running the game in triple speed compared to normal speed will be greatly reduced, hopefully only differing with a few frames per second in the best of configurations. Again, we will have to test all of this on the experimental branch and based on collected feedback continue to test, tune and solidify the new path finding system before we can draw any final conclusions.

So what is the plan ahead? We’re currently in the process of stabilizing the experimental branch with the purpose of ridding it from any critical bugs. When it’s stable enough, we will begin replacing the old system once and for all and finalize our internal tests. If work progresses as expected and there are no major issues with the new system, we’ll be looking to deploy the new path finding system as a part of Alpha 25.5 on the experimental branch by the end of this week. While this new system is a very large and positive change, it is not without its challenges and we will be looking very much to continuing its development post experimental release, primarily looking at factors of how to improve the quality of the calculated paths (i.e. how realistic they are) and other related aspects. But more on that when it’s actually released, we’ll make sure to let you know how the process goes!

The Subway Entrance

A minor, but very important, part of the performance sprint was the implementation of a new structure: The subway entrance! A lot of airport CEOs have complained about capacity issues in relation to departing large amounts of passengers arriving to an airport via aircraft and this new structure is a response to those complaints. The subway entrance support arriving as well as departing passengers and do so without being contingent on a parked vehicle. Persons departing your airport will enter the subway at any time, looking to catch the next train our of there, while arriving passengers arrive in groups of 25 to 60 in intervals of 50 to 60 seconds, as those are the current simulated amounts and time spans of arriving subway trains. This structure thus enables you to construct an airport with a lot higher passenger throughput and gets rid of those congested bus stops. Hint: Studies show that when an airport is connected with a subway, roughly 80 percent of departing passengers do utilize such a service.

The subway entrance is currently being tested on the experimental branch so if you want to check it out, or check some of that sweet improved performance, make sure to head on over and give it a go! Here’s a quick .gif of the subway entrance in action:

So that’s it for this week, a bit shorter than usual but now you know what we’re up to! We’ll try to focus equally as much on getting well as we will on the development, with the purpose of getting back to full force as soon as possible. Thanks for the continued support and all those great bug reports. Fly safe and see you next week!