IllustratorsLeak
Visual Entertainment And Technologies LLC
Visual Entertainment And Technologies LLC

patreon


April 2025 Update

Greetings Everyone,

Two more months left to focus purely on AeroMogul. Let's look over what I've done since the last update.

FBS Fundraising

The FBS system will resume in June. I expect to set the goal to $2000 with an additional $1000 from the leftover money from the failed artwork in Milestone #2.

GearCity: 2nd Gear

As mentioned above, the FBS system is paused until June. The few bugs submitted for v2.5.0.1 will be addressed in June when I reopen the FBS system.

AeroMogul

Disclaimer/refresh: AeroMogul is designed in two parts. The Client, which consists of the graphics and the GUI, and the Server, which consists of the game logic, networking, data storage, etc. These two programs talk to each other in order to play the game. A common misconception is that "server" means internet. The server is used offline when you play a single-player game and is run on your computer. It can also be used to host online, LAN, and even hotseat games.

I'm working on the client side of things, cleaning up the UI and catching it up with the server features. As I mentioned in the last AeroMogul update, after completing the map layers improvements, I moved left to the next set of UI in the game: the save/load system. I left off that last update working on file paths.

I completed moving the save file paths from the client code to the server code. So, now the Client and the Server can see the same save games hosted on the same machine. I've also added a command-line argument to the server code to pass along which save game to load. This is used when launching a game from the Client or starting a server from the command line (which will eventually be superseded by a server GUI program).

With this functionality being one step closer to production-ready, I decided to deviate and work on the save game formats themselves. The bulk of the last two weeks was spent going through the various data in the server (game logic) and formatting the save files for this data. I implemented a compression system which reduces the starting game size (with no turns processed) from 17MB to 700KB. With another test, I dumped all the time slots into the save file, running it up to 900MB raw, which compressed down to 40MB. There is some more tweaking I can do here — I can change the compression formats and levels, or I could change the save formats (moving from JSON to CSV). I'm not sure how much data will eventually be written, but needless to say, we won't be having multi-GB save files like in GearCity.

Since the compressed save files are small (for the time being), the system now timestamps the save games rather than writing over them. This leads to an automatic save-scrumming system. Going back to the load functionality, the Server will automatically load the newest save game of that save file unless a specific previous time slot is selected. I'm not sure if this feature will be retained or curtailed in the future. It really all depends on the size of the save games. But for now, having a backup/snapshot of previous saves is nice.

Finally, I've made both the initial data sets and the save game formats compatible. This will be important in the future if we ever implement a scenario system, as creating a scenario is as easy as saving the game. I also verified loading of save files.

Which brings me to where I am now. I do most of the work on the server side of things in Linux because non-Mac Unix-likes are the least-worst to use and develop on. I have to develop the client in Windows because Unity blocks the editor from working on the OSes I like to use. This means I am doing most of the work in a "Direct Multiplayer" setting.

Before, I would run the server on my Linux VM, and then launch the game in Windows as I would a single-player game. Rather than launching the server process locally and connecting to localhost, I hid that code out and connected to the Linux server instead. I have since cleaned all that up. I unhid the code to launch a local single-player game and created the code for the Direct Multiplayer UI in the main menu. This is where I am today. Unfortunately, I will need to spend a little more time cleaning up this code, as it's having issues sending the game information back to the client when I connect to the server this way.

After I am done with this, the next plan is to move the player creation UI from the Main Menu to the World Map. Move the Multiplayer Hosting and Hot Seat from Multiplayer to New Game in the Main Menu. Redesign the Main Menu Load Save UI. Add Load Save UI to the World Map. And finally, write the client-side UI/code for player privileges, including allowing "mods" to download save games. Then I can move to the next group of UI widgets.

Comments

Most certainly. It's a shame that practically every game in this field misses the whole subject matter. I hope to cover the full spectrum of the industry. (Those with trademark licenses avoid it per their contracts.) Crashes are a major cost factor for airlines. Insurance, settlements, and fines are all major expenses. Several companies have gone bankrupt because of them. Also, security incidents have been a major factor in shaping the industry. Now, am I going to be able to model these things perfectly, so if you fly an aircraft over eastern Ukraine, the Russians shoot it down? It's difficult to say, as my initial tests with 2-leg flights didn't leave much wiggle room for turn processing. But in some way or another, these things will make their way into the game. I will probably let you disable it however. As I am sure I will push it too far. GearCity lets you pull an Albert Erskine after all. And I got a bit of flak for that over the years.

Eric Jones

Eric, just out of curiosity, are you planning to have flight safety incidents as part of the game? I mean, Aviation is the safest form of transportation bar none but naturally air crashes make a big splash because of the scale of devastation caused by a single crash. Being a bit of an aviation fan, I'm curious what, if at all, you're planning to do on that end Also, can't wait for the game :)

Ehud Gat


More Creators