Dev Blog 77: Steam Direct Update, Cleanliness and New Subreddit Mods

July 25, 2017

Good Swedish evening (well, night) to you dear reader and soon to be airport CEO! It’s Monday the 24th of July 2017 and that means that it’s time for the 76th… no wait, 77th edition of the Airport CEO development blog. Need to change the title… hold on, alright, there we are. Yes, where were we? … Oh, right, Airport CEO. As you can hear we had a bit of a rough weekend, absolutely wonderful, but it does take a lot of energy to party. Fredrik and his wife would like to express their deepest gratitude for all the congratulations and well wishes they have received.

While the wedding has taken up some time from development we still think that we have some exciting stuff to share with you this week so let’s stop rambling and talk about what you’re here for.

Steam Direct Update

Here’s the weekly Steam Direct update: We have finished editing the Early Access release trailer and have has the game’s store front on Steam approved. That means that a few development hours went into media aspects such as creating image content for the store as well as editing the video. The next step is to submit a build for Steam to review, test and approve which we will do within the next days as we are completing our internal test cycles for the newly implemented feature we’ll mention here below. The implementation of this final feature marks the final inclusion of everything we intended for the first release to ship. When the build is approved by Steam and when we’ve “finished” our internal testing program we’ll announce a release date (both should happen soon).

Cleanliness

A long and very overdue feature that we believe is essential to the gameplay and something we definitely wanted to implement before release is the simulation of overall wear and tear of intractable items in an airport. This feature has been on the drawing board a long time but we deiced to delay it until we felt that our major code class structure was set in stone so that we wouldn’t implement something that would be scrapped anyway. This time has now come and objects your passengers interact with are subject to a level of cleanliness and condition. This was very briefly mentioned in last week’s devlog but that ticket mainly referred to the very core stuff going on under the hood, in this episode we want to explore it in detail.

When implementing cleanliness deterioration we followed the very basic principle of “when you use stuff, it get’s filthy”. However, not all stuff gets equally filthy over time as some use cases involve bodily fluids more than others. For example, sitting down in a chair traditionally involves less body fluids than sitting down on a toilet and therefore a toilet would get filthier more quickly than a chair. In Airport CEO, this is what happens as each type of object has an specific cleanliness reduction value. This means that a toilet requires cleaning more often than a seating and tuning those numbers is something we’ll need help with over time. On top of that specific reduction value there is also a multiplier that is passed from the passenger. This multiplier can regulate to what additional extent the cleanliness value is reduced and thus be mapped to, for example, passenger personality traits or what the passenger has eaten. Some might say that this is taking it too far, but since it’s super easy to implement we think it could be kind of interesting to see what happens to the bathrooms over time if and airport only offers unhealthy food or only caters to a certain type of sloppy passengers. For now though we’ll leave the multiplier to zero.

Cleanliness, or more accurately filthiness, needs visual representation and so we’ve implemented it. It literally looks like crap…

Yeah, don’t worry, in this case the filthiness factor of the passengers is greatly exaggerated to test the system. Again, this system also uses a multiplier which means that we’ll support micro simulation aspects such as if it’s raining outside it’s more likely that the floor will be dirtier as passengers arrive from outside.

We’ve also implemented deterioration of item’s condition. Next week we’ll talk about how failing to maintain and repairing items can impact an airport’s operations.

This Week’s Changelog

Aviation:
  • Code refactoring and cleanup
  • Moved around some code to allow for better flexibility when requesting turnaround services upon arrival
  • Aircraft have an operational condition when arriving to the airport which in the future will decide if the aircraft requires maintenance (foundation for generating aircraft incidents)
  • Prepared for calculating accurate fuel levels based on aircraft type fuel consumption and flight route length
  • Re-wrote some logic to ensure that flights ordering baggage loading or unloading would not end up with no ramp agents able to assist it (if ramp agent service was turned off)
Economy and Business:
  • Solved some minor issues related to aviation supplier fuel deliveries
  • Prepared for more advanced rendering on how passenger satisfaction impacts business attraction
Building:
  • Code refactoring and cleanup, especially in the conveyor belt system parts
  • Transitioned the taxiway holding point right click feature to the newly implemented right click menu
  • Re-implemented the conveyor belt tilt tray with new sorting settings (now supporting none, by flight, by every-other diversion and both (i.e. both flight and every-other diversion))
  • Solved an issue with an “announcement” icon would spawn on newly built objects where it had no place of being
Simulation:
  • Baggage on conveyor belts that are destroyed now adapt by constantly trying to find new paths to travel down (basically stuff can’t throw nullrefs anymore)
  • Conveyor belt system adjust to cope for unexpected availability issues with destination objects (again, no more nullrefs…)
  • Solved an unexpected animation bug where passengers looked like they’ve been in an airplane crash
  • Filth tiles generate when stuff is filthy
  • Passengers frown upon using filthy stuff which impacts your airports rating
  • Filth tiles generate on floor when heavily trafficked
  • New employee profession: Cleaners, which help out with cleaning filthy floors and objects
  • Objects now shut down when broken rendering them unusable for passengers, employees and baggage
  • Passengers frown upon not being able to use broken equipment
  • New employee profession: Janitors (or maybe they should be called technicians?) which help out with fixing broken items
UI and Other:
  • Re-wrote some legacy code related to an effect script for highlighting in-game icons
  • Implemented a small right-click as well as a generic system for allow items to have special options
  • Solved a small issue crashing parts of the UI system when opening the check-in desk panel
  • Solved other minor click-related UI issues

In other news, the Airport CEO subreddit’s newly appointed mod team has as of today been given the keys to the castle! While we the developers still remain in the absolute power, the new mods are getting up to speed and are planning ahead for its future. In due time we will remove ourselves from power and let the subreddit take off on its own. Why don’t you head over to /r/airportceo and say hello?

Whoops, we’re running out of time again. Looking forward to seeing you next week with more important updates! Fly safe.

Related blog posts

Dev Blog 127: Continued localization, continued catering and continued multiple floors and terminals

April 11, 2019

And welcome to the 127th dev blog! A few days late as per usual… but also as per usual, we have a lot of interesting progress to dig...

Read more

Dev Blog 126: Alpha 30 and The Soundtrack Update released, the development ahead and multiple floor progress

March 26, 2019

Good evening airport CEO and a warm, warm welcome to this week’s development blog!‍Another two weeks has passed and we have as a result of that some...

Read more

Newsletter

Enter your email to get the latest updates and news.

Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.