XaiJu
Visual Entertainment And Technologies LLC
Visual Entertainment And Technologies LLC

patreon


AeroMogul Update #13 (2023/12/18)

I've continued pushing forward since the last update with AeroMogul. Since the previous update, I've completed the Create a Company's base system. The new feature includes several internal changes to improve airport nation data. Airports also now have a state variable for improved airport filtering. The system lacks links to personal and debt financing, as I have not implemented these systems yet. I have also updated the human player systems to handle multiple human-controlled companies in the game. Although, I have not tested the feature beyond multiplayer at this time.




The Company Quick Display UI (dropdown, top center) also received an update to display user-controlled companies and to put them at the top of the list.


I have also implemented the core financial systems for the game. In GearCity, we utilized an SQL database, but for AeroMogul, I'm going with flat arrays. Considering the historical data access we needed in GearCity, I believe arrays and vectors would be significantly faster in most instances than a database. It's more work on the programming side of things, however.  


The system includes most of the revenue, expense, debt, labor, benefits, leases, hedging, and so forth we'll see in the game. But it is easily expandable if I missed anything.


I have already tied flight ticket revenues into the new system. I will slowly add more revenue and expense sources as I reach those parts of the code. We're not yet at the point of performance stress testing this new system. 


And then there is the time scale. In the automotive industry, things move rather slowly. It takes years to design and develop an automobile. We can measure the turns in GearCity by months without much loss of realism. But the airline industry is a different beast. Things move in a tightly fixed schedule, and any event of any length can disrupt that schedule. So, how should we approach the time scale of a turn?


Complicating matters, AM will have 3 different depth levels for flight schedules based on your starting settings. The goal is to have the game scalable from single-player to 500+ player persistent worlds.


For starters, month-long turns are out of the question for the advanced scheduling systems. It would mean players would have to plan timetables for all their routes a month in advance with no way to change them. But it would make sense for the casual game scheduling system, which is similar to AeroBiz in design. AeroBiz itself used 3-month turn times.


At the same time, daily turn times would be too much for single-players and small multiplayer games. Imagine having 36,500+ turns. But in a persistent MMO world, such low-level turns would make sense, especially if we put it on a timer such as 1 hour = 1 day. 


My solution is to have one-day turn lengths internally. Externally, the game currently has one-week turn lengths. This means one turn in the game client equals seven turns on the game server. The internal turns correspond to the exact days on the Julian calendar. That will make tying historical events, like Icelandic Volcanos, 9/11, or the Airline Deregulation Act, more accurately represented than historical events in GearCity. The game client uses Mondays for its turn. Thus, the game client will have between 52 and 54 turns per year. This setup allows us to scale the game client turns based on the casualness or broader scale multiplayer. If you play in super casual mode, we could do client turns on the first Monday of every month (12 turns per year). Or, if you join a massive multiplayer world, the game can tick a day every hour or so. The AI can be adjusted based on these as well. 


That leaves me to where I am now. I have implemented the turn system, and I am in the process of moving the turn and new financial data between the client and server. Once I complete that, I will move to the slots system. When I get the rudimentary slots system working, I suspect Milestone #3 will take my attention. Upon completing that, I will create a timetable scheduling system for the advanced scheduling systems. With that complete, I fix up player route creation, get the AI to work with the timetable schedule, clean up aircraft purchasing, and tweak the AI to start making a few decisions each turn. At that point, we have a playable game and an Alpha build that you can probably waste a couple of hours in.


More Creators