DevLog 104: Game Developers Conference 2018 & Airport CEO Alpha 26 Deployed

DevLog 104: Game Developers Conference 2018 & Airport CEO Alpha 26 Deployed
March 28, 2018 Airport CEO

Hey there airport CEO and welcome to the 104th development blog! This time we’re writing to you not from Malmö, Sweden, but from a small cottage very close to Sequoia National Park in California, United States. We’ve left San Fransisco and Game Developer Conference 2018 behind and have ventured into the woods and nature to find some peace and serenity whilst continuing the development of Airport CEO. While the main purpose of the trip was to visit GDC we decided to take some extra time and experience California while we’re here but as we said, fear not, the development will not come to a halt. In fact we made significant progress last week by deploying Alpha 26, but more on that later. Now, let’s instead jump straight into what you’ve been waiting for, a full rendition of our experience of GDC 2018!

Game Developers Conference 2018

The Game Developers Conference is the largest game developer conference there is. It takes place in early Spring every year in San Fransisco and features a full week of seminars, workshops, meetings and a grand expo. Since we’re fairly new to the game industry we headed over there with an open mind set and a goal to simply learn more about the industry, meet other people within the game development industry and of course attend a few talks related to us and the core development of Airport CEO.

What was very clear from the GDC Unity talks that we attended, was that there is a fundamental and architectural shift going on at Unity and that they are changing quite a lot of things under the hood to enable game developers to write better and high performing code. This shift mainly consist of two major new components, one is what they call a job scheduler, which is a way to automatically perform multi-threaded and multi-core operations, and the other is their new Entity Component System, which is in short is a more simple and performance enhanced way to write code. Both of these are of course very, very interesting for us as a demo by Unity showed incredible performance increases compared to the current version of Unity. A demonstrated example showed a scene where they increased the number of agents in a test world from 12000 (with the old system) to 120000 (with the new system) running at 30 FPS. They also ran a live test on a 20 core CPU “NASA grade” computer where they simulated an impressive 360000 agents. However, these agents where quite simple and just moving in one direction during the demo but the figures definitely shows that it is worth taking a look at their new systems to see if we can simulate more passengers with less performance overhead in Airport CEO.

We plan to start experimenting with the new job scheduler and maybe converting some aspects into Entity Components as this new systems get more mature on the Unity engine. However, it is probably only worth converting the most performance critical aspects and it is still to early to even promise that it will actually be faster. After this recent long performance sprint we would first like to get some new content in the game, update the UI and implement Steam workshop. However, we think it is worth spending a few hours per week on experimenting with the new system to see if we can do some improvements for the next performance sprint. We also listened to a few talks regarding marketing and community management which was presented by game industry people including the community manager of PlayerUnknown’s Battleground. It was very interesting to learn about their journey and it was quite surprisingly very similar to our own ideas and philosophy around how to build a community and market a game without any real budget or publishers. It was definitely a sign that we done quite many things right and that we should, and will, continue like this.

Airport CEO Alpha 26 Deployed

On Friday, the last day of GDC, we deployed Alpha 26 to the default branch. Alpha 26 is the first and largest performance update we’ve done for Airport CEO and while it’s been available on the experimental branch for a long period of time, deploying it to the default branch is as you know really the milestone that matters. If you’re familiar with the development of Airport CEO, you probably already know all about this update and can go ahead and skip to the end, otherwise we’ve pasted the short text we wrote together with the patch notes for Alpha 26 below:

From the heart of GDC (Game Developers Conference) 2018, Alpha 26, the performance update, has finally made it to the default branch after months of development on the experimental branch. It addresses one of the core current issues of Airport CEO: Tanking FPS when you build larger airports and process larger amounts of persons. By overhauling several large systems from agent movement and agent path finding to optimizing data structures and rendering, we’ve managed to gain several frames per second by mitigating the top most crucial performance impact sources.

What we’ve been doing exactly can be seen in the patch notes below but do note that this is not really the performance update, but the first performance update. We have a lot more performance updates planned such as various additional data structure and micro optimizations to do including getting rid of certain minor spikes, solving the UI performance leaks, solving very specific bugs where a certain simulation situations can cause otherwise low impact code to be invoked excessively as well as experimenting with more efficient multi-threading solutions and new and experimental architectures that could massively boost the game engine’s ability to handle large amounts of moving agents (more on this in Monday’s development blog).

As with every default deployment, do expect hot-fixes to be deployed accordingly with the severity and frequency of filed bug reports. We will make sure to see that Alpha 26 is as stable as possible before we continue work on Alpha 27 on the experimental branch, and what will become then new UI. Parallel with working on the new UI we’ll make sure to again start including some new content and new features, what those will be will be disclosed in the devlogs as we deploy them on the experimental branch.

The full patch notes with the above text and all issues that have been deployed can be found here! With Alpha 26 deployed and this first large performance sprint completed we are now focusing most on the newly started UI sprint along with a few other UI and UX related tasks, incoming bug reports for Alpha 26, minor new features we can include for the experimental branch as well as some experimenting with the previously mentioned new Unity features.

That’s it for this week! We’ll be back in Sweden on the middle of the next week and with Easter holidays coming up there won’t be a devlog for next week. After that however, we again should be back on the regular schedule. That’s it for this week, take care and fly safe!