XaiJu
Visual Entertainment And Technologies LLC
Visual Entertainment And Technologies LLC

patreon


AeroMogul Update #9 (2023/6/22)

Greetings everyone,


This month the release of GearCity v2.0.0.9 and GearCity: 2nd Gear v2.1.0.1 slightly slowed progress on AeroMogul. I've also had some health and offline issues that have knocked me completely off the computer during working hours for more than I would have liked. And I am still dealing with some of those health issues even now. (This is why my replies have been brief or delayed for the last week or so. Sorry.) 


I also wasted time trying to prevent my emails from landing in Gmail spam. Sadly, it looks like big tech and ISPs like T-online.de have further entrenched themselves in their walled gardens preventing people from not using their services. (To be fair, occasionally, I take Sunday nights off by choice, and that was my Sunday night.) I digress.


Nonetheless, I have made some progress.


In the Patreon comments to AeroMogul Update #8, I mentioned that the initial passenger routing code for 200 airlines operating 200,000 routes (and many more multilegged combos) took 70 minutes to process on a single thread. In a short time, I worked it down to 10 minutes just before I switched back to GearCity to clear out the bug backlog.


The passenger routing code is the core mechanic of the game. It will process every turn, routing passengers from their departure data grid to their destination data grid. Passengers choose between the airports and routes that service the grids they want to travel between. If I can get this code to process fast enough, I might even be able to allow the game to run in a "real-time" mode.


(Real-time games aren't real-time. They're still turn-based, but the turns automatically process. I'm not a fan, but most modern gamers prefer it to turn-based, and it was a major complaint of GearCity. So if possible, I would add it as an option for AeroMogul. But I am not going to sacrifice gameplay/data for it)


Since the GearCity updates, I was able to get some more work into that system. I'm pleased to report that the processing speed is down to 1.4 seconds on a single thread. That is not fast enough for "real-time" mode, but it's fast enough for me to consider it sufficient and to move on with the development of the rest of the game.


The downside is that I had to use heavy caching on route creation. This change increased the time the AI took to create 200,000 routes to 40 seconds, up from about 3 seconds. I believe this trade-off is OK. Throughout the game, the creation of those 200,000+ routes is spread out a little over each turn. The exception is when generating established game worlds like in GearCity. However, passenger routing calculations happen every turn to the fullest extent. The other problem with heavy caching is that it increases our ram usage. The server code is now flirting on around 5GB for a 900x450 data grid. And I have a whole lot more stuff to add. So it's looking like a single-player, standard map game will require at least 16GB of ram. A longer stretch goal will be to add different-sized data grids with more or fewer data and use more or less ram, respectively.


Please note the performance of all these features will degrade somewhat as I add more game rules and deeper formulas. The overarching architecture of the end turn code is performing well, however. This is something I should have done in GearCity. It would have cleared up a lot of performance issues.


Since passenger routing is good enough, I switched my attention to make the system flow more game-like. With the above testing, I had the AI generate worst-case scenarios so I could reduce major performance issues early. They did all of this when the game client connected to the server. Now, the game will only generate some of this content upon connection. The AI will only look for new routes, and the game routes the passengers when you end the turn. The AI system now generates established data closer to the year you're starting the game on. Whereas previously, it generated 1000 aircraft for each company and 200k routes no matter what year you were on.


The last time I touched code (Sunday morning), I cleared out logic bugs in the routing system. Particularly, smaller international airports were having trouble getting people to leave. You may have heard my comments about it on chat. I fixed that, though. 


So this leaves me at an impasse. Do I work on more client code now with some visuals, or do I continue working on the AI and adding more gameplay features and formulas? The former is easier to write articles about and would lead to an alpha build much earlier than the latter. But the latter would implement more of the core game, which means the alpha build, although taking longer to make, would be more of a game than a tech demo. I have to do both at some point anyway. I may just try to split the two, adding a few more things to the client to refresh myself on client code. And then throw my time onto more game rules/AI. As I implement whole chunks, I can go back to the client and write the client side. I've got until Friday to decide.


That reminds me to pester Serhy and see if he's got my airport yet. It's almost time for GearCity: 2nd Gear Milestone #2! 


Until next time,

Comments

It's an amusing chicken and egg problem. You must send a few thousand monthly emails to build your IP reputation. Otherwise, they mark you as spam. So sending a few dozen forum registrations and only replying to people that send mail lands in spam. You have to be a spammer not to land in spam. Most folks have bent a knee and just paid for mail delivery service (the biggest are ran by the vendors blocking emails). I refuse out of principle.

Eric Jones

"I also wasted time trying to prevent my emails from landing in Gmail spam. Sadly, it looks like big tech and ISPs like T-online.de have further entrenched themselves in their walled gardens preventing people from not using their services." Ah, they brute-force hijacked an otherwise open protocol that nobody could own...at least they can't take our offline simulation games.

Electromechanist

TAP will never be as complex as your test systems already are. And it will very likely never be finished.

Blaufisch


More Creators