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.
Here are the patch notes for Alpha 26:
Release notes - Airport CEO - Version Alpha 26.0
Improvement
ACEO-2658] - Vehicles in road queues should adjust to speed of ahead vehicle to mitigate gas and break effect
ACEO-3058] - Implement improved person path finding worker thread
ACEO-3151] - Improve performance when manipulating object by improving data structures
ACEO-3402] - Improve object dependency exception handling for vehicles
ACEO-3458] - Improve object dependency exception handling for persons
ACEO-3513] - Game object transform consolidation to enhance performance when simulating movement of large amounts of persons
ACEO-3515] - Streamline agent movement simulation system to reduce performance impact
ACEO-3516] - Issue with updating walk toggle animation causes performance impact
ACEO-3517] - Slight person game object appearance redeisgn
ACEO-3729] - Removed playing animators on hidden underground belts
ACEO-3730] - Various minor calculation related performance optimizations
ACEO-3735] - Enhanced performance of distance calculation method by roughly four times
ACEO-3750] - Added information about unlocking areas in tutorial
Bug
ACEO-2311] - Quickly rotating an object in opposite directions can cause the object to become misaligned with the grid
ACEO-2352] - Building small door in paused mode causes sprite to be incorrectly rotated
ACEO-2853] - Add person usage direction arrows on certain items to mitigate risk of placing wrongly rotated objects
ACEO-3084] - Aircraft can at very few instances get stuck on stand due to a null reference exception
ACEO-3173] - Structure using light handler have their lights become visible prior to structure completion
ACEO-3270] - Trying to CTRL delete active taxiway nodes does not give a warning
ACEO-3294] - Unable To Place Fuel Tank Next To Fuel Depot
ACEO-3310] - Rare issue with stuck service truck caused by dead lock when trying to offload non-hauled baggage
ACEO-3401] - Unbuilt attachable fuel tanks are registered as functional by their parent fuel depot
ACEO-3411] - Persons who get lost due to rezoning do not update their security clearance status correctly resulting in becoming stuck and unable to again pass security
ACEO-3496] - Vehicles claiming to be in a vehicle depot when they are actually not can cause stuck vehicles
ACEO-3507] - Aircraft cannot find holding point if stuck outside map
ACEO-3512] - Issue with person movement system yielding causing a high performance impact
ACEO-3514] - Improper way of handling agent parent transform in relation to simulation causes rendering performance issues
ACEO-3526] - Animation causes head and body to become separated
ACEO-3531] - Unable to build bathroom or baggage areas
ACEO-3536] - Flights won't apear after ATC tower relocation & relocation/creation new stands
ACEO-3539] - Oversized ramp agent driving service truck
ACEO-3553] - Clicking luggage causes loss of left-click functionality for remainder of game session
ACEO-3554] - Error on delivery site missing when game is paused
ACEO-3556] - Left clicking function can occasionally stop working
ACEO-3564] - Delivery object null check causes aviation fuel supply trucks to not correctly execute deliveries
ACEO-3565] - Light poles can be placed outside world
ACEO-3576] - Null reference thrown when deserializing aircraft causes loading process to abort rendering staff and vehicles not to spawn correctly
ACEO-3578] - Skip night feature flights scheduled early mornings can cause passengers to miss their check-in as vehicle spawning and movement is blocked
ACEO-3582] - Push back truck waiting loop with lacking cancellation check may in some very rare instances cause it to stuck
ACEO-3588] - Legacy code for speech bubble displayment causes over-allocation and over-pooling of speech bubbles
ACEO-3602] - Information desks do not generate any job tasks
ACEO-3614] - Baggage handling system disables itself when loading game
ACEO-3615] - Franchise staff does not reappear properly when shift change takes place
ACEO-3616] - Assets carried in front incorrectly positioned on top of person
ACEO-3618] - Contractor hammer tool not spawned correctly if game is saved and loaded prior to contractors getting spawned in world
ACEO-3619] - Earth patches not correctly spawned when contractor is constructing a structure
ACEO-3620] - Contractors ignore demolition cancellation order on certain objects
ACEO-3625] - Sprite material not correctly updated on offloaded baggage causing "bright" baggage shipped around at night
ACEO-3626] - Sprite material not correctly updated when employees spawn tools outside causing "bright" tools to be carried around at night
ACEO-3628] - Minor issue on grid update on area in front of subway entrances causing persons to stuck
ACEO-3629] - Legacy code related to animation culling causes persons to not update their animation state correctly when moving camera resulting in a sitting floating movement
ACEO-3630] - Minor issue with certain conveyor belt items with integrated belts being animated despite time being paused
ACEO-3631] - Rare panel null reference issue when loading asset panel can cause the user interface to become unresponsive
ACEO-3633] - Exaggerated performance null check on fuel depot parking can cause fuel trucks to target zero vector
ACEO-3638] - In certain activities persons fail to recognize that a given path request has failed, resulting in them floating across the terminal through objects and walls
ACEO-3642] - Subway entrance is enabled for transit despite not being fully constructed
ACEO-3725] - Large rendering performance impact on conveyor belt related simulation due to incorrect disabling and lack of culling on animators
ACEO-3726] - Noticeable performance impact on path request and grid related methods due to ancient code
ACEO-3731] - Several minor lightning related issues with persons, structures, effects and assets having incorrect material and incorrect illumination at nights
ACEO-3733] - Various minor placement and simulation illumination issues for objects, persons and assets
ACEO-3739] - Minor issue with flight time visibility on flight planner
ACEO-3740] - When building boarding desk, walls don't remove by default
ACEO-3743] - When loading a save game from an existing loaded world, path finding breaks down
ACEO-3748] - Employees can get stuck when demolishing an object related to a currently performed job task
ACEO-3749] - Tutorial lack step for expanding areas
ACEO-3752] - Person speech bubbles do not rotate with camera
ACEO-3756] - Occupation point fetching error causes passengers to be unable to interact with desks in food and shop rooms
ACEO-3758] - Poor thread cancellation handling when loading main menu or quitting game from in-game world causes the game to crash
ACEO-3762] - Aircraft can get stuck in rare occasions when taxiway connects via side to runway
ACEO-3765] - Minor queue occupation issue on metal detector passage point causing persons to not respect one-at-a-time principle
ACEO-3766] - Excessive post-desk interaction relocation method in tightly built room areas can cause persons to abort their eating or shopping activity
ACEO-3774] - Transform children structure for built objects causes slight WaitForJobTaskGroup render performance impact
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.
Here are the patch notes for Alpha 26:
Release notes - Airport CEO - Version Alpha 26.0
Improvement
ACEO-2658] - Vehicles in road queues should adjust to speed of ahead vehicle to mitigate gas and break effect
ACEO-3058] - Implement improved person path finding worker thread
ACEO-3151] - Improve performance when manipulating object by improving data structures
ACEO-3402] - Improve object dependency exception handling for vehicles
ACEO-3458] - Improve object dependency exception handling for persons
ACEO-3513] - Game object transform consolidation to enhance performance when simulating movement of large amounts of persons
ACEO-3515] - Streamline agent movement simulation system to reduce performance impact
ACEO-3516] - Issue with updating walk toggle animation causes performance impact
ACEO-3517] - Slight person game object appearance redeisgn
ACEO-3729] - Removed playing animators on hidden underground belts
ACEO-3730] - Various minor calculation related performance optimizations
ACEO-3735] - Enhanced performance of distance calculation method by roughly four times
ACEO-3750] - Added information about unlocking areas in tutorial
Bug
ACEO-2311] - Quickly rotating an object in opposite directions can cause the object to become misaligned with the grid
ACEO-2352] - Building small door in paused mode causes sprite to be incorrectly rotated
ACEO-2853] - Add person usage direction arrows on certain items to mitigate risk of placing wrongly rotated objects
ACEO-3084] - Aircraft can at very few instances get stuck on stand due to a null reference exception
ACEO-3173] - Structure using light handler have their lights become visible prior to structure completion
ACEO-3270] - Trying to CTRL delete active taxiway nodes does not give a warning
ACEO-3294] - Unable To Place Fuel Tank Next To Fuel Depot
ACEO-3310] - Rare issue with stuck service truck caused by dead lock when trying to offload non-hauled baggage
ACEO-3401] - Unbuilt attachable fuel tanks are registered as functional by their parent fuel depot
ACEO-3411] - Persons who get lost due to rezoning do not update their security clearance status correctly resulting in becoming stuck and unable to again pass security
ACEO-3496] - Vehicles claiming to be in a vehicle depot when they are actually not can cause stuck vehicles
ACEO-3507] - Aircraft cannot find holding point if stuck outside map
ACEO-3512] - Issue with person movement system yielding causing a high performance impact
ACEO-3514] - Improper way of handling agent parent transform in relation to simulation causes rendering performance issues
ACEO-3526] - Animation causes head and body to become separated
ACEO-3531] - Unable to build bathroom or baggage areas
ACEO-3536] - Flights won't apear after ATC tower relocation & relocation/creation new stands
ACEO-3539] - Oversized ramp agent driving service truck
ACEO-3553] - Clicking luggage causes loss of left-click functionality for remainder of game session
ACEO-3554] - Error on delivery site missing when game is paused
ACEO-3556] - Left clicking function can occasionally stop working
ACEO-3564] - Delivery object null check causes aviation fuel supply trucks to not correctly execute deliveries
ACEO-3565] - Light poles can be placed outside world
ACEO-3576] - Null reference thrown when deserializing aircraft causes loading process to abort rendering staff and vehicles not to spawn correctly
ACEO-3578] - Skip night feature flights scheduled early mornings can cause passengers to miss their check-in as vehicle spawning and movement is blocked
ACEO-3582] - Push back truck waiting loop with lacking cancellation check may in some very rare instances cause it to stuck
ACEO-3588] - Legacy code for speech bubble displayment causes over-allocation and over-pooling of speech bubbles
ACEO-3602] - Information desks do not generate any job tasks
ACEO-3614] - Baggage handling system disables itself when loading game
ACEO-3615] - Franchise staff does not reappear properly when shift change takes place
ACEO-3616] - Assets carried in front incorrectly positioned on top of person
ACEO-3618] - Contractor hammer tool not spawned correctly if game is saved and loaded prior to contractors getting spawned in world
ACEO-3619] - Earth patches not correctly spawned when contractor is constructing a structure
ACEO-3620] - Contractors ignore demolition cancellation order on certain objects
ACEO-3625] - Sprite material not correctly updated on offloaded baggage causing "bright" baggage shipped around at night
ACEO-3626] - Sprite material not correctly updated when employees spawn tools outside causing "bright" tools to be carried around at night
ACEO-3628] - Minor issue on grid update on area in front of subway entrances causing persons to stuck
ACEO-3629] - Legacy code related to animation culling causes persons to not update their animation state correctly when moving camera resulting in a sitting floating movement
ACEO-3630] - Minor issue with certain conveyor belt items with integrated belts being animated despite time being paused
ACEO-3631] - Rare panel null reference issue when loading asset panel can cause the user interface to become unresponsive
ACEO-3633] - Exaggerated performance null check on fuel depot parking can cause fuel trucks to target zero vector
ACEO-3638] - In certain activities persons fail to recognize that a given path request has failed, resulting in them floating across the terminal through objects and walls
ACEO-3642] - Subway entrance is enabled for transit despite not being fully constructed
ACEO-3725] - Large rendering performance impact on conveyor belt related simulation due to incorrect disabling and lack of culling on animators
ACEO-3726] - Noticeable performance impact on path request and grid related methods due to ancient code
ACEO-3731] - Several minor lightning related issues with persons, structures, effects and assets having incorrect material and incorrect illumination at nights
ACEO-3733] - Various minor placement and simulation illumination issues for objects, persons and assets
ACEO-3739] - Minor issue with flight time visibility on flight planner
ACEO-3740] - When building boarding desk, walls don't remove by default
ACEO-3743] - When loading a save game from an existing loaded world, path finding breaks down
ACEO-3748] - Employees can get stuck when demolishing an object related to a currently performed job task
ACEO-3749] - Tutorial lack step for expanding areas
ACEO-3752] - Person speech bubbles do not rotate with camera
ACEO-3756] - Occupation point fetching error causes passengers to be unable to interact with desks in food and shop rooms
ACEO-3758] - Poor thread cancellation handling when loading main menu or quitting game from in-game world causes the game to crash
ACEO-3762] - Aircraft can get stuck in rare occasions when taxiway connects via side to runway
ACEO-3765] - Minor queue occupation issue on metal detector passage point causing persons to not respect one-at-a-time principle
ACEO-3766] - Excessive post-desk interaction relocation method in tightly built room areas can cause persons to abort their eating or shopping activity
ACEO-3774] - Transform children structure for built objects causes slight WaitForJobTaskGroup render performance impact
Hello CEOs! After a week on hold the devlog returns, as we usually each Monday release a new blog post which discusses the achieved development milestones over the previous week, or in this case weeks.
Check out DevLog 103: Alpha 25.5, The Peformance Sprint and Unlockable Areas to check up on the progress. The TL;DR is that after a final update to the experimental branch (Alpha 25.5) we'll be targeting a merge to the default branch as Alpha 26, but to learn more you should really check out the blog post!
Hello CEOs! After a week on hold the devlog returns, as we usually each Monday release a new blog post which discusses the achieved development milestones over the previous week, or in this case weeks.
Check out DevLog 103: Alpha 25.5, The Peformance Sprint and Unlockable Areas to check up on the progress. The TL;DR is that after a final update to the experimental branch (Alpha 25.5) we'll be targeting a merge to the default branch as Alpha 26, but to learn more you should really check out the blog post!
Hey everyone! We're back with another development blog as we try to each Monday release a new blog post which discusses the achieved development milestones over the previous week. Last week as cancelled due to illness and while we're not fully recovered yet we wanted to give you an update anyway.
A lot of nice stuff is happening on the experimental branch so if you're struggling with performance or want to check out the new subway structure don't hesitate to jump over!
Hey everyone! We're back with another development blog as we try to each Monday release a new blog post which discusses the achieved development milestones over the previous week. Last week as cancelled due to illness and while we're not fully recovered yet we wanted to give you an update anyway.
A lot of nice stuff is happening on the experimental branch so if you're struggling with performance or want to check out the new subway structure don't hesitate to jump over!
We decided to release Alpha 25.2-5 on the default branch as a hot fix since it consist of several important bug fixes that have already been deployed on the experimental branch. Enjoy!
Release notes - Airport CEO - Version Alpha 25.2-2
Bug
ACEO-2613] - Service vehicles can randomly pass through objects over long distances ignoring roads
ACEO-2620] - Null reference issue on getting a random product from Franchise causing stuck passengers
ACEO-2831] - Aircraft not being sent away correct if delayed and has pushback truck parked
ACEO-3175] - Negative amount or missing construction workers when loading game
ACEO-3204] - Staff security jobs statistics is showing up under vehicle job task panel.
ACEO-3292] - Buttons on business panel windows randomly becomes missing
ACEO-3293] - Cannot remove check in desk even if no flights assigned
ACEO-3304] - Player airport displayed as ?? in flight information
We decided to release Alpha 25.2-5 on the default branch as a hot fix since it consist of several important bug fixes that have already been deployed on the experimental branch. Enjoy!
Release notes - Airport CEO - Version Alpha 25.2-2
Bug
ACEO-2613] - Service vehicles can randomly pass through objects over long distances ignoring roads
ACEO-2620] - Null reference issue on getting a random product from Franchise causing stuck passengers
ACEO-2831] - Aircraft not being sent away correct if delayed and has pushback truck parked
ACEO-3175] - Negative amount or missing construction workers when loading game
ACEO-3204] - Staff security jobs statistics is showing up under vehicle job task panel.
ACEO-3292] - Buttons on business panel windows randomly becomes missing
ACEO-3293] - Cannot remove check in desk even if no flights assigned
ACEO-3304] - Player airport displayed as ?? in flight information