06-01-2025, 01:34 AM
Greetings, everyone,
This month’s FBS update is free for non-contributors to access, so I don’t need to make multiple news posts. We’ll return to our normal contributor-only FBS posts after this one.
FBS News
FBS fundraising has resumed, and both Patreon and PayPal contributions are open once again. Milestone #6’s goal is $2500. There is a small chance that Serhiy will resume work during this milestone. If he cannot complete the previously contracted art before we hit the goal, I will add $500 to the milestone from the remaining $1500 owed for the missed Milestone #2 art bounty. I will process the points and current funds in a few days.
We will have another pause when Milestone #6 is funded. This pause lasts 4 months after we release the milestone and complete any major bug-fix update.
GearCity: 2nd Gear
It’s now June 1st. Work will resume on GearCity and GearCity: 2nd Gear. My plans are to get both GearCity 2.0.0.14 and GearCity: 2nd Gear 2.5.0.2 done before we finish fundraising for the next milestone. Ideally, I can get both done before the end of the month.
However, that might be a stretch.
If you have not submitted bugs you’ve found, please do so now. Ideally, provide a zipped save file, either via the forums or by email. Even if it is an issue you can see in a couple of turns, it saves me a significant amount of time in finding and fixing issues. Remember, I am short on time. The more time I have to write code, the more stuff gets completed. So any help in this respect is appreciated.
AeroMogul
I skipped the monthly AeroMogul news to focus on working on the game, as my deadline to start GC work was quickly approaching. While I didn’t get nearly as much done as I wanted, I’m happy to report that I finally got the load game system up and running well enough to continue with the next set of client upgrades. Sadly, it was almost June when that happened. So, that was the last major thing I improved on the client side.
After pushing the server/logic/economics engine far ahead of the client, I started working through the client to catch it up. I started working right to left in the World Map UI. Most of this UI was written nearly 2 years ago. So, it was in need of major updates. When I reached the Save Game Menu, I noticed there was no function to load games while you’re in the game. This started me down a month-long rabbit hole where I had to work on making sure save games save properly, compress correctly, load reliably, and stream data from the compressed files. It continued with Multiplayer admin rights, making sure single players have those rights, and then coming up with a meta file format so players can load old saves using the same save name as the most current save with that name.
It turned into much more than just adding a table and a few buttons.
But it’s done.
The UI can use a little more work. I will probably replace the dropdown with a button to show a hidden sub-menu containing a list of old saves. I think that approach will be cleaner, especially if you have many saves.
Anyway, I had a few free days after finishing that. I spent the remaining few days doing minor bug fixes in the Main Menu and the World Map. In fact, I cleaned up all of the little issues I knew about on the Main Menu and Right Menu system.
With work resuming on GC, AeroMogul will have to be put on the back burner until I get the aforementioned updates out. I hope that I can get them out soon so I can jump back into AM before I have to start working on the next GC: 2G milestone. In the worst-case scenario, we have a 4-month FBS pause coming after I finish Milestone #6 for GC: 2G. This will allow me to focus on AM more.
On the data front, we are now up to 15 fictional aircraft models with 99 sub-variants. This completes the pre-merger aircraft set of one fictional aircraft manufacturer. Though, because of licensing, there is more than one aircraft manufacturer of these 99 models. There are currently 11 fictional engine families with 72 variants. Between aircraft and engine manufacturers, there are currently 16 in the game (they share the same file). But only one is complete.
I must stress “fictional,” based on a previous conversation I had on here. Data is not copyrightable in any major Berne Convention nation that I know of. However, names of products and companies are protected under trademark law in the United States, and in the EU. It doesn’t matter if it is a digital representation of a real-world product. Any representation of real-world trademarks would violate those trademarks, even if the owner has no desire to make their products in video games. That’s why GearCity and games like Grand Theft Auto use only fictional companies. (The exception is if you made something totally different from their trademark. For example, you could make a dental floss company called Boeing. You could make a video game about a lovable furry cat named Boeing. But you can’t make toy airplanes or digital airplanes in a game and call them “Boeing.”)
Thus, AeroMogul has fictional companies and fictional models that require a lot of labor for data entry… Similar to GearCity, which had a lot of fictional companies that required a lot of research for their data entry...
Since I have been working on the aircraft data, we still only have airport data for 3 countries completed. (Afghanistan, Albania, and Algeria.) I will start on Argentina in a few days.
On the NPC/Player avatar front, we’re now at 313 age-progressed profiles that cover most ethnic groups found in Afghanistan. Albania is approximately 80% done. The goal is to have around 8500 age-progressed avatars.
I’ll continue working on these data sets even while handling GC/GC:2G. I am able to do most of this on my cyberdeck when I cannot be on my workstation.
General News
As mentioned a few times in April and May, we had to move servers. Our previous server rent was increased nearly 200%, and I thought that was a bit much for the hardware, so we left that host after 9 years of service. I’m happy to report, I finished moving to our new server in May. The new server costs 100% more than the previous one, but its features should improve redundancy and better serve everyone.
For the hardware/IT nerds around, we moved from a:
• Intel 2x L5420, 8GB RAM, 1x 512GB HDD, 1 IP (with 3 neighbors on the /29 (Nearest 5 IPs) blacklisted by email providers). On the software side, a typical FAMP (FreeBSD, Apache, Mysql, Php) + email setup on top of UFS
To:
• Intel Xeon E3-1270v1, 16GB RAM, 2x 256GB SSD, /29 (all clean IPs). On the software side, FAMP + email setup on top of mirrored ZFS on root.
With the mirrored ZFS on root, a drive failure likely won’t result in data loss. Because all file servers here at VENT are FreeBSD with ZFS, backups are significantly easier now via ZFS Snapshot and ZFS Send compared to our old backup solutions.
Because of the extra IPs, I was able to set up all services in FreeBSD jails. These are akin to containers in Linux land. So, should the need arise for us to move to a new server or split services, it’s just a matter of copying the jails folder to get the entire system up. This approach reduces migration time from days to hours. It’s also a solid infrastructure plan for when AeroMogul multiplayer rolls out, especially if I run any persistently hosted games. In this setup, lobby or game deployment would be pretty fast.
Owning a clean /29 block of IPs should help resolve ongoing email deliverability issues. I also took the opportunity to pipe PHP mail through our SMTP server. Between these two changes, hopefully email deliverability will improve. We’ll see.
This month’s FBS update is free for non-contributors to access, so I don’t need to make multiple news posts. We’ll return to our normal contributor-only FBS posts after this one.
FBS News
FBS fundraising has resumed, and both Patreon and PayPal contributions are open once again. Milestone #6’s goal is $2500. There is a small chance that Serhiy will resume work during this milestone. If he cannot complete the previously contracted art before we hit the goal, I will add $500 to the milestone from the remaining $1500 owed for the missed Milestone #2 art bounty. I will process the points and current funds in a few days.
We will have another pause when Milestone #6 is funded. This pause lasts 4 months after we release the milestone and complete any major bug-fix update.
GearCity: 2nd Gear
It’s now June 1st. Work will resume on GearCity and GearCity: 2nd Gear. My plans are to get both GearCity 2.0.0.14 and GearCity: 2nd Gear 2.5.0.2 done before we finish fundraising for the next milestone. Ideally, I can get both done before the end of the month.
However, that might be a stretch.
If you have not submitted bugs you’ve found, please do so now. Ideally, provide a zipped save file, either via the forums or by email. Even if it is an issue you can see in a couple of turns, it saves me a significant amount of time in finding and fixing issues. Remember, I am short on time. The more time I have to write code, the more stuff gets completed. So any help in this respect is appreciated.
AeroMogul
I skipped the monthly AeroMogul news to focus on working on the game, as my deadline to start GC work was quickly approaching. While I didn’t get nearly as much done as I wanted, I’m happy to report that I finally got the load game system up and running well enough to continue with the next set of client upgrades. Sadly, it was almost June when that happened. So, that was the last major thing I improved on the client side.
After pushing the server/logic/economics engine far ahead of the client, I started working through the client to catch it up. I started working right to left in the World Map UI. Most of this UI was written nearly 2 years ago. So, it was in need of major updates. When I reached the Save Game Menu, I noticed there was no function to load games while you’re in the game. This started me down a month-long rabbit hole where I had to work on making sure save games save properly, compress correctly, load reliably, and stream data from the compressed files. It continued with Multiplayer admin rights, making sure single players have those rights, and then coming up with a meta file format so players can load old saves using the same save name as the most current save with that name.
It turned into much more than just adding a table and a few buttons.
But it’s done.
The UI can use a little more work. I will probably replace the dropdown with a button to show a hidden sub-menu containing a list of old saves. I think that approach will be cleaner, especially if you have many saves.
Anyway, I had a few free days after finishing that. I spent the remaining few days doing minor bug fixes in the Main Menu and the World Map. In fact, I cleaned up all of the little issues I knew about on the Main Menu and Right Menu system.
With work resuming on GC, AeroMogul will have to be put on the back burner until I get the aforementioned updates out. I hope that I can get them out soon so I can jump back into AM before I have to start working on the next GC: 2G milestone. In the worst-case scenario, we have a 4-month FBS pause coming after I finish Milestone #6 for GC: 2G. This will allow me to focus on AM more.
On the data front, we are now up to 15 fictional aircraft models with 99 sub-variants. This completes the pre-merger aircraft set of one fictional aircraft manufacturer. Though, because of licensing, there is more than one aircraft manufacturer of these 99 models. There are currently 11 fictional engine families with 72 variants. Between aircraft and engine manufacturers, there are currently 16 in the game (they share the same file). But only one is complete.
I must stress “fictional,” based on a previous conversation I had on here. Data is not copyrightable in any major Berne Convention nation that I know of. However, names of products and companies are protected under trademark law in the United States, and in the EU. It doesn’t matter if it is a digital representation of a real-world product. Any representation of real-world trademarks would violate those trademarks, even if the owner has no desire to make their products in video games. That’s why GearCity and games like Grand Theft Auto use only fictional companies. (The exception is if you made something totally different from their trademark. For example, you could make a dental floss company called Boeing. You could make a video game about a lovable furry cat named Boeing. But you can’t make toy airplanes or digital airplanes in a game and call them “Boeing.”)
Thus, AeroMogul has fictional companies and fictional models that require a lot of labor for data entry… Similar to GearCity, which had a lot of fictional companies that required a lot of research for their data entry...
Since I have been working on the aircraft data, we still only have airport data for 3 countries completed. (Afghanistan, Albania, and Algeria.) I will start on Argentina in a few days.
On the NPC/Player avatar front, we’re now at 313 age-progressed profiles that cover most ethnic groups found in Afghanistan. Albania is approximately 80% done. The goal is to have around 8500 age-progressed avatars.
I’ll continue working on these data sets even while handling GC/GC:2G. I am able to do most of this on my cyberdeck when I cannot be on my workstation.
General News
As mentioned a few times in April and May, we had to move servers. Our previous server rent was increased nearly 200%, and I thought that was a bit much for the hardware, so we left that host after 9 years of service. I’m happy to report, I finished moving to our new server in May. The new server costs 100% more than the previous one, but its features should improve redundancy and better serve everyone.
For the hardware/IT nerds around, we moved from a:
• Intel 2x L5420, 8GB RAM, 1x 512GB HDD, 1 IP (with 3 neighbors on the /29 (Nearest 5 IPs) blacklisted by email providers). On the software side, a typical FAMP (FreeBSD, Apache, Mysql, Php) + email setup on top of UFS
To:
• Intel Xeon E3-1270v1, 16GB RAM, 2x 256GB SSD, /29 (all clean IPs). On the software side, FAMP + email setup on top of mirrored ZFS on root.
With the mirrored ZFS on root, a drive failure likely won’t result in data loss. Because all file servers here at VENT are FreeBSD with ZFS, backups are significantly easier now via ZFS Snapshot and ZFS Send compared to our old backup solutions.
Because of the extra IPs, I was able to set up all services in FreeBSD jails. These are akin to containers in Linux land. So, should the need arise for us to move to a new server or split services, it’s just a matter of copying the jails folder to get the entire system up. This approach reduces migration time from days to hours. It’s also a solid infrastructure plan for when AeroMogul multiplayer rolls out, especially if I run any persistently hosted games. In this setup, lobby or game deployment would be pretty fast.
Owning a clean /29 block of IPs should help resolve ongoing email deliverability issues. I also took the opportunity to pipe PHP mail through our SMTP server. Between these two changes, hopefully email deliverability will improve. We’ll see.
"great writers are indecent people, they live unfairly, saving the best part for paper.
good human beings save the world, so that bastards like me can keep creating art, become immortal.
if you read this after I am dead it means I made it." ― Charles Bukowski
good human beings save the world, so that bastards like me can keep creating art, become immortal.
if you read this after I am dead it means I made it." ― Charles Bukowski