Hi! And welcome to edition 49 of the Airport CEO development blog. This week we’re going to feature a pretty short devlog as there’s a lot going on, but just as always we’ve got some good news!
Fredrik is back from his month of moving which means that we’re now again two people developing ACEO! He’s had a lot of time to think while renovating and putting in new floors and painting the wall and he brings his renovating spirit back with him. But first, let’s check out the progress on the flight planner…
The flight planner is nearing its first stage of completion. You can now with minute precision over the course of all seven week days plan your flights accordingly. The panel has been inspired from real world examples of flight planning while not attempting to get into the extreme details of airport operations planning. This is a first complete view of the flight planner and its exterior might drastically change as more features are being added into, what’s still left to do here is…
- Serialization of flight slot containers
- Overlapping container prevention
- Proper system for looping flights over the course of a week
- An airline information panel showing your current standing with the airline
- Cancellation suspension and rescheduling methods for already allocated flights
- Tweaks, last bug fixes and stuff like that…
All is expected to be finished and implemented by Friday or something like that, which means that we’ll temporary close the book on the flight planner… if nothing else come up, you never know. Here’s a quick look on the current functionality:
Yes, it’s missing some text and other components, those will be added last. The size of the container is equal to the planned turnaround time of the flight, adding a visual component into the planning aspect. The containers change color based on the status of the flight, green if its on time, orange if its delayed and red if it’s cancelled or if there’s something else going on. Also, don’t plan flights too close to each other if you don’t have the runway support for it…
We still have som business simulation decision to make here. Should you be able to plan a flight within 24 hours? What happens if you plan a flight after the timeline? When are you allowed to suspend, cancel or reschedule a flight? What will the airlines think of this? While we do have som ideas, we’d love to get your input. What do you think?
Fredrik has taken care of a number of backlog issues related to the building system (which we think was mentioned some time ago). In this spirit of renovation, we have taken a number of important decision that’ll in the end, in various ways, will impact the quality of the code and thus the quality of the game.
We’re overhauling the person grid system. The grid is used by persons (passengers and employees) to navigate the world. Until today, the grid has been intense on physics calculations resulting in a few different memory leaks. We’ve transitioned to a physics free grid that also supports a lot better logic, a more informative world for persons to move around, which means better person behavior and a lot less CPU impact on simulation and loading. Imagine rendering 1920000 (640 000 * 3) nodes across a vast word, each with its own collider having to call a number of different physics based calculation on start or whenever something is interacting with it (one grid node is equal to the width of one person). Yes, thats times three, with the implementation of this new grid system we are also taking the first steps towards a multi story terminal system. While this is not prioritized, we’re still committed to redoing this now and writing code that’ll allow us to much more swiftly in the future implement new stuff. The band aid has to come off at some time.
Whit this grid overhaul we’re also sorting out a weird 2.5 grid offset issue that was not “a problem”, but quite stupid. Because of this offset gird issue, we’ll end up with a backlog of prefabs (essentially game objects) that have to be adjusted to the new grid which’ll mean some backlog work, this as a result of us having quite a few items implemented in the game already, but not something that should take up too much time to sort out.
This is the last effort we’ll have to pull through, ridding the game of each and every last nasty physics library and will serve us a great deal in the end.
This Week’s Changelog
- The Flight Planner: Plan flights by dragging and dropping flight boxes across the schedule pannel. Flights can be planned with minute precision.
- A small display will pop up when dragging boxes and provide exact arrival and departure time.
- Scroll panels implemented for both the allocation panel and the scheduling panel.
- Numerous fixes and constraints have been implemented so that the flight planning panel won’t break any flight planning functionality.
- Prepared for last features to get implemented and serialization.
- Implemented an interface class for notifying classes interested in time keeping of time changes, will greatly reduce the number of active coroutines and enhance logic.
- Solved a serious memory leak in the conveyor belt building system.
- Implemented a new grid system with support for more advanced passenger behavior and a new dimension (is Fredrik playing God?).
- Solved numerous issues related to panel UI and flight container behavior.
- Solved an issue where the client IP was banned by the Google API as they did not like the number of calls for map calculations we did… turns out caching map textures is a good thing. Doesn’t really matter tho’ since this will be replaced in the future anyway.
- Initiated work on revamping the building system for the new grid.
All right you future CEO’s, that’s it for this week. A lot of work behind the scenes means less stuff to show but that’s the way it is sometimes. Before you now it we’ll have new .gifs and hopefully soon enough a new video to put out. Fly safe!