Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Connecting Traffic
#1
Is the game planning to leverage true connecting passengers (ex. Someone traveling Los Angeles to New York and open to connecting across multiple cities to get there)? By this I mean, will planes be full of passengers who are both traveling to a connecting city AND passengers who are traveling to their final destinations, or will it only leverage point to point traffic?
Reply
#2
The plan is to support at least 2-legged flights. With the goal being 3-legged. 3 or more legs may require GPU-Compute, manual SIMD tuning, or an accelerator add on card. (The latter would cost a few hundred bucks, so it might just be limited to persistent online games.) We also might run into ram issues.

Currently, I have a 2-legged system implemented, but it is not fully optimized. Thus, I am using 1-leg (point to point) for the time being to develop the rest of the game.

Once I get the rest of the game built up enough, I'll re-enable 2-legged flights and optimize the process to work reasonable well with just CPU processing. I'll come back to 3-leggs and more toward the end of the game's development.

There is a saying in programming, "Premature Optimization is the root of all evil."

Assuming I don't do GPU Compute, hand written SIMD, or acceleration cards, I may make the number of legs the game processes customizable. Core counts jumped from quad cores to 64-cores in GearCity's development time (2 Cores to 16+ Cores for most prosumers in that time frame). I suspect core counts will continue to increase over the next decade or two even though I am trying to make the game work well on my 8-core machine. The processing seems to scale linearly with core counts.

^Note, when I say leg I'm talking about a departure and an arrival, not a technical stop.
"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
Reply
#3
Will it be possible to enable 3-leg only for certain connections like: no working 2leg connection or no 2leg connection with lessen then X-hours transferring or bad quality rating?
Reply
#4
(08-06-2025, 03:47 PM)wasgehtdichdasan Wrote: Will it be possible to enable 3-leg only for certain connections like: no working 2leg connection or no 2leg connection with lessen then X-hours transferring or bad quality rating?

To be honest, I'm no where near that point. I got the initial code working for feasibility study 2 years ago. At first, it wasn't feasible to do the data grid system how I wanted to. (Required too much ram). I got it working, wrote the second leg code, and it required too much processing. That's where I am as far as passenger routing. There is a whole lot of optimizations and tweaks that can be done. I reverted back to 1 leg so I could work on the rest of the game, as there is no point in spending a whole lot of time doing optimizations on passenger routing when you can't do things like starting a company, buying aircraft, or making routes (as a player).

There should be an AeroMogul update on this subject. Look toward one of the first few.

Each leg increases the processing or ram requirements exponentially. I don't think splitting some routes between 2-leg and 3-leg would improve it. Instead, I will look toward improving cache (both CPU and game cache), flattening arrays for automatic SIMD optimizations, etc.
"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
Reply
#5
Of course it will improve it because you save a lot routes where you don’t need to calculate a 3rd leg because there are enough 2-leg connections.

It’s like a passenger: If you have for example 10 routes with good rating Birningham->london->New York you stopped checking if you find a 3-leg-route Birmingham -> London -> n (Amaterdam/Frankfurt/Paris/and so on) -> New York. So you can save the exponential n calculations…
Reply
#6
(08-08-2025, 04:30 AM)wasgehtdichdasan Wrote: Of course it will improve it because you save a lot routes where you don’t need to calculate a 3rd leg because there are enough 2-leg connections.

It’s like a passenger: If you have for example 10 routes with good rating Birningham->london->New York you stopped checking if you find a 3-leg-route Birmingham -> London -> n (Amaterdam/Frankfurt/Paris/and so on) -> New York. So you can save the exponential n calculations…

Routing system is much more complex and realistic than that. See the explanation of the data grid system in the past AeroMogul updates on the FBS forums.

But for a short overview, passengers generally don't care what airports they're going to. Their destinations are not airports. It's areas. I don't have the game in front of me right now, but using your example, Birmingham is well served by 3 airports. If the passenger is willing to travel a little, 7 airports, and infrastructure is good enough in the UK, they could save even more just taking a train to London, 8 airports. But then if they're willing to take a train for an hour, Manchester and Luton aren't out of the question. 10 Airports. On the other side, New York area is served by 9 airports.

For 2-legged flights, you have to work backwards and forward from these airports finding matches in the destinations at each ends. Then score those flights.

When you add a 3rd leg, you have to process every route that has services to the destination and departure area, and then process every combination of direct routes between those routes. Which even, if just a small subset of of grids need 3-leg processing, it's still quite expensive thing to do.

Looping through routes to find these matches is very expensive. As is sorting the results.

If it currently takes me 1 second to do 1-leg, and it takes me 5 minutes to do 2-legs, 3-legs would take 30 minutes (or more). If only 10% of the grids need 3-leg processing, it would still take 3 minutes.
"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
Reply
#7
(08-08-2025, 10:22 AM)Eric.B Wrote:
(08-08-2025, 04:30 AM)wasgehtdichdasan Wrote: Of course it will improve it because you save a lot routes where you don’t need to calculate a 3rd leg because there are enough 2-leg connections.

It’s like a passenger: If you have for example 10 routes with good rating Birningham->london->New York you stopped checking if you find a 3-leg-route Birmingham -> London -> n (Amaterdam/Frankfurt/Paris/and so on) -> New York. So you can save the exponential n calculations…

Routing system is much more complex and realistic than that. See the explanation of the data grid system in the past AeroMogul updates on the FBS forums.

But for a short overview, passengers generally don't care what airports they're going to. Their destinations are not airports. It's areas. I don't have the game in front of me right now, but using your example, Birmingham is well served by 3 airports. If the passenger is willing to travel a little, 7 airports, and infrastructure is good enough in the UK, they could save even more just taking a train to London, 8 airports. But then if they're willing to take a train for an  hour, Manchester and Luton aren't out of the question. 10 Airports. On the other side, New York area is served by 9 airports.

For 2-legged flights, you have to work backwards and forward from these airports finding matches in the destinations at each ends. Then score those flights.

When you add a 3rd leg, you have to process every route that has services to the destination and departure area, and then process every combination of direct routes between those routes. Which even, if just a small subset of of grids need 3-leg processing, it's still quite expensive thing to do.

Looping through routes to find these matches is very expensive. As is sorting the results.

If it currently takes me 1 second to do 1-leg, and it takes me 5 minutes to do 2-legs, 3-legs would take 30 minutes (or more). If only 10% of the grids need 3-leg processing, it would still take 3 minutes.


Just curious, as I'm sure you have done a lot of research and tried dozens of different games in this category, but have you tried Airline Club (www.airline-club.com)? I've been diving into it over the past couple of months and think it is very well done. It may give you some inspiration to perfect your design and does connecting traffic in an interesting way that I think is well done.
Reply
#8
(09-20-2025, 12:23 PM)Vonlutt Wrote: Just curious, as I'm sure you have done a lot of research and tried dozens of different games in this category, but have you tried Airline Club (www.airline-club.com)? I've been diving into it over the past couple of months and think it is very well done. It may give you some inspiration to perfect your design and does connecting traffic in an interesting way that I think is well done.

I know of the game and have seen their PR work on Reddit from since before they released. I haven't played the game or looked at the code since it is not a copyfree license.

Our routing model works fine, it's realistic, and it's pretty much set in stone with how I am implementing it. I just am not at the optimization phase of the game's development. The difference between a browser based game and AeroMogul is that a browser based game has infinite amount of time to crunch the turns. AeroMogul has to be able to process the data as fast as possible and on an extremely wide range of hardware. It's a single player game, so processing times need to be kept at a minimum. They're also probably using Airports for modeling demand, we're not. In all likelihood we're crunching more data. But I can't be for sure without looking at the code or playing the game, which I won't be doing.

Either way, at this point, AeroMogul is now developed in a vacuum. Design document was set some time ago, a lot of the ground work code is already done. I can't be taking outside influences beyond play testers/feedback since the game is already pretty far along. It's just a matter of finding time between having to watch young kids and covering FBS obligations to work on it.
"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
Reply
#9
(09-20-2025, 12:48 PM)Eric.B Wrote:
(09-20-2025, 12:23 PM)Vonlutt Wrote: Just curious, as I'm sure you have done a lot of research and tried dozens of different games in this category, but have you tried Airline Club (www.airline-club.com)? I've been diving into it over the past couple of months and think it is very well done. It may give you some inspiration to perfect your design and does connecting traffic in an interesting way that I think is well done.

I know of the game and have seen their PR work on Reddit from since before they released. I haven't played the game or looked at the code since it is not a copyfree license.

Our routing model works fine, it's realistic, and it's pretty much set in stone with how I am implementing it. I just am not at the optimization phase of the game's development. The difference between a browser based game and AeroMogul is that a browser based game has infinite amount of time to crunch the turns. AeroMogul has to be able to process the data as fast as possible and on an extremely wide range of hardware. It's a single player game, so processing times need to be kept at a minimum. They're also probably using Airports for modeling demand, we're not. In all likelihood we're crunching more data. But I can't be for sure without looking at the code or playing the game, which I won't be doing.

Either way, at this point, AeroMogul is now developed in a vacuum. Design document was set some time ago, a lot of the ground work code is already done. I can't be taking outside influences beyond play testers/feedback since the game is already pretty far along. It's just a matter of finding time between having to watch young kids and covering FBS obligations to work on it.

Fair enough.  I've been a supporter/patreon supporter of yours for years so obviously I trust your ability to create a good game.I just wanted to give you a successful model in the same vein of your tycoons to take a glance at and maybe give you inspiration on some features that are working (or not working) in other contemporary games that future Aeromogul players could benefit from as I'm sure you also want to make the best game possible. Either way, I will trust the process.
Reply
#10
(09-22-2025, 09:37 AM)Vonlutt Wrote: Fair enough.  I've been a supporter/patreon supporter of yours for years so obviously I trust your ability to create a good game.I just wanted to give you a successful model in the same vein of your tycoons to take a glance at and maybe give you inspiration on some features that are working (or not working) in other contemporary games that future Aeromogul players could benefit from as I'm sure you also want to make the best game possible. Either way, I will trust the process.

Sorry, I missed this reply, for some reason the forum isn't emailing me when I get replies.

I'll put it this way. It pains me every time a 2nd Gear Milestone is funded, because the new game is pretty dang cool, and 2nd Gear drags me away from working on it. I think it's a good problem to have.


The main thing that I haven't wrapped my head around is all the little airport, aircraft, and airline regulatory requirements, when those requirements change, and how to implement them in the game without it becoming too cumbersome and without omitting a lot of it. I can cover most of the stuff in the US, but there is a lot of it internationally as well.

Other sticking points is balancing maintenance and repair costs.

I'm not really at the point where I need to ask questions on it yet though.

But yeah, the demand structures in AM I had planned well back in 2009. I even bought a Quad-core Phenom 9550 to work on it. Computers just weren't fast enough to do it back then, which is why I made GearCity instead of AeroMogul. The data grid system will probably handle all future business games I make that involves geography.

Hopefully, after this next FBS pause, I'll be able to get the AM prototype out. Then I can get feedback on the demand systems. Though, it's not really ready for feedback yet, since there isn't branching and flights pretty much fill up at this time.

Babysteps.
"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
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)