Heyooo! The weather here in southern Sweden is really, really, really depressing and so it is great to have these development blogs to look forward to. Another week in the bag and with 55k lines of code over 311 classes development is progressing as usual.
With last week’s implementation of a new and bigger jet aircraft we felt that it was time to implement the larger runway. While runways are and will be modularly expandable with stuff like PAPI lights to lengthening of the runway itself or a change in foundation there will still be two types of runways, the smaller runway and the larger runway. The big difference between these two is… well, the size, as seen in the picture below.
While you technically of course could make your small runway just as long, it would most likely be a bad investment decision. Here’s a “small” .gif to show what scales we’re working with (texture resolutions not final) (contractor was later fired for stupidity):
We’ve also worked a lot behind the scenes in regards to the system for upgrading stands, building larger stands and stuff like that. Focus has also been put into the UI so that selection of stand is intuitive, not to mention in regards to selecting the foundation.
This week has yet again seen a number of different improvements in the construction simulation. A lot of it has taken place behind the scenes in regards to simulation demolition, making sure that the construction simulation processes are functioning correctly and, something we’ll talk about later, the it’s serialization aspect. We won’t talk in detail about all the minor changes so here’s a bullet list of what’s been done:
Here’s a .gif of a number of poor souls working in harsh weather. Mind you that this was captured before the above listed fixes were implemented and so any bugs visible here are squashed.
While we're snuggly coding inside, these poor souls brave the elements. #madewithunity #unity3d #indiedev #gamedev #indiegame #AirportCEO pic.twitter.com/i72QiEVEZd
— AirportCEO (@AirportCEO) October 7, 2016
We’ve still got a few things to do here before we can fully wrap this up, such as longer construction time for larger objects including multiple contractors helping out as well as including any upgrades made into the construction system. Resource gathering of construction material is still abstracted out due to scale and distances, we’ll see what happens here.
We have finished off yet another initial design for an aspect of the management panel: The Dashboard! This is probably one of the less useful panels but will allow you to quickly get an overview of the current state of your operations and other conditions. It contains a number of widgets that, if time will allow, you’d be able to alter and replace in terms of what data they are showing and what each individual widget actually does. This is however of lower priority and the data that is currently displayed is what we have deemed the most valuable for you to keep track of in an early build.
As you can see, some of the widgets show a “No connection found…” message. This is because there’s no such thing as magic in Airport CEO, if you want to see the weather you’ll need to construct a weather station, if you want to be able to review and check up on incidents you’ll need an operations manager. All of the widgets only show congested pieces of data, the coming data panel will allow you to review everything in greater detail as this is only meant to server as an overview.
There is still, of course, many more iterations to go here as things need to become more obvious in regards to what they are (so generic) but at least the concept is implemented.
One of the most important and complex features that is only used twice per game session is the loading and saving feature. Given the vast, vast number of of objects that we’re aiming to simulate in terms of placeable objects, agents such as employees, passengers and aircrafts as well as contracts, e-mails, ongoing incidents, baggage handling, weather data and more and more it is important that we can easily save this, and then load it back up.
Corrupt saves suck big time. We have ourselves experienced these a number of times and so we really want to construct something that is durable and reliable. Now, there is no challenge in saving static data such as economy variables, e-mails, inboxed applicants from future staff and so on, on many fronts this has already been accomplished. What’s going to pose a challenge is to, for example, save passengers in the middle of a queueing process, employees in the middle of loading bags or fuel trucks about to collect new fuel. While we have plans on how to do this, it’s going to take some time, especially since we don’t really want to get into it until we’ve completed the entire passenger simulation cycle.
However, serializing contractors in the midst of a construction simulation process, which we achieved this week, was an important step towards a 100% fully featured and working saving and loading function; it gave us insight into how we are going to progress with the technical issues at hand.
When we’re on the topic of the complete passenger lifecycle, let’s talk baggage belts. As you know, we did some major overhaul and removed all physics calculations from the build which had some major implications on existing systems. One of these were the baggage belts which solely relied on effectors for their transportation which not only required a lot of code in order for the dragged belts to twist and turn correctly, but also drained unreasonable amounts of juice. This week we restored the system to its somewhat former glory and have implemented a low impact, way smarter method from moving them from point A to point B. This is however not without a number of new challenges that we have yet to overcome, but we can at least now again start to focus on sealing the complete cycle. Though you should know!
Lastly, the newsletter is up and running again after several weeks of issues and downtime. Hopefully you are reading this because of a message sent to your e-mail and hopefully we won’t have to struggle anymore with that shit. Also it got a new look in the process, always something!
So that’s it for this week. We’re steaming ahead as usual and it’s always difficult to know exactly what this week is going to bring. Thanks again for all your support and comments on our work, we wouldn’t be doing it without you.
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
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