Fueling Truck Logic rework

Refueling is a bit of a big deal in early to mid game, not touching the issue of profitability early on (which still needs some work), it is part of the requirements to get better airlines and therefore is should be key to any mid to high level airport.

My aim is not to touch on bugs [like two or more trucks going to refuel the same aircraft or truck not sequencing refuelings and always going back to the depo] but on the logic of refueling.

To start off, the truck load (capacity), within the current state there are 3 levels of fueling trucks [which I would not try to name but simply refer to as small “S”, medium “M” and large “L”] and from practice the S is good for up to 10-12 GA small stands, the M would easily handle 20 small GA or 8-10 Small commercial or 1-2 Medium Commercial, while the large can go for 3-4 Medium commercial. Please note that this takes also into account the distances inherent to service the number of stands.

So the changes:
1. Ability to assign Vehicle Depos to specific stands and fuel tanks [use tanks just to avoid confusion with vehicle depos]:
Currently you can assign trucks to depos, but for efficiency sake it would be nice to be able to say “this depo is servicing these stands and takes fuel from that tank”. That would allow the player to brake up the airport in responsibility zones and have granular control to cut down traveling time of trucks and ensure they don’t try to refuel a plane/refuel at a tank on the other side of the airport.

2. Ability assign aircraft class priority for the truck:
I would like to be able to tell my S/M truck to stick to Small commercial and the L truck to prioritize Medium commercial flights.(links to the following one)

3. Demand vs availability check when tasking a truck:
It often happens that my fuel truck is queing a task to refuel a Medium commercial (which requires some 8 - 15k liters of JetA) while having only 8k onboard. What happens is that after loading 2k it goes bellow the 15% refueling threshold and heads to a tank to refuel, while the airplane is marked as refueled.
Hence when queing an available task there should be a check if the fuel demand is higher or lower than the capacity of the truck:
3.a → answer is yes (higher) then use a check to verify if the truck’s available fuel after all current tasks [and taking into account the minimal level which triggers the truck to stop refueling and head to a tank] is higher than the demand from new task:
3.a.1 → if yes proceed to add the task to the que
3.a.2 → if no add task to refuel at the assigned fuel tank and then add the airplane refueling task [here a sub-check could be added later on if there is a fuel truck with lower task “cost” then assign this task to that one — strictly for efficiency when more trucks are assigned to the same stands]
3.b → if the capacity is lower then check if other trucks are available for the specific stand with higher capacity
3.b.1. if other truck passes that check then close the tasking for the current one and open the tasking for that one.
3.b.2 if there is no other truck to pass the test then add to que a task for the truck refuel at the tank, then add to que a task to refuel the aircraft and then subtract [careful with this one because tanks might not have the fuel to fill to capacity the truck and the truck never uses it’s entire capacity to fuel an aircraft] the refuel amount from the airplane demand and create a new task with the remaining fuel demand and re-run the process from 3.a.

4. minimal refueling level check should be removed
With the logic at 3. there is no need for the minimal refueling level [currently 15%] since the truck will always task a trip to the tank if the available fuel is insufficient.

Sorry for section 3 looking messy but haven’t figured out how to put tabulators in.

What do you think about this? Would it make the life of organizing refueling more profitable and ordered?

6 Likes

Good idea!
Some adaptations:

  • I think there should be no queued tasks, a truck has only one task at a time and when it’s done, check for the next open task or go parking.
  • I’d ignore the capacity of a truck and only take the load into account. The truck that best fits the need wins the task to refuel the aircraft.
  • If a plane did not get the desired re-fuel when the truck is empty, create a new task with the remaining missing fuel.
  • A truck on the way to re-loading has no other tasks than reloading. It would head back to parking and check on the way there, if there are open tasks.

Think it’s a good idea
So basically section 3 you want
While(Aircraft.fuelrequest = true)
{
If(Fueltruck.loadedfuel < Aircraft.fueldemanded)
{
Resupply
Fill plane
}
}
?

This topic was automatically closed 31 days after the last reply. New replies are no longer allowed.