[1.3.8][PC, Steam] [SOLVED] Strange fuel tank capacity stacking

qwertynosik

Well-Known Member
Jun 11, 2017
10
9
410
30
Hello! I made some test in order to find out how fuel tank capacity stacking works. And I found strange bug (or it is a feature?). Fuel tank capacity stacking is not linear as it was expected.

Firstly, lets consider common (normal) linear stacking of capacities. For example, it works excellent with all batteries. If you have one battery on your tech, let's assume that this battery gives X amount of energy and your tech has a total of X amount of energy. Also, we suppose that this battery can keep the shields on for Y amount of time in seconds. Now if we attach another same battery to the tech, the total amount of energy will be 2*X now, and also these two batteries can keep the shields on for 2*Y seconds. It is clear and it is the way how it is expected to work. I tested batteries and I get acceptance with this theory:

1 GeoCorp battery can maintain 16 Hawkey Shields for 29 seconds;
2 GeoCorp batteries can maintain 16 Hawkey Shields for 58 seconds;
3 GeoCorp batteries can maintain 16 Hawkey Shields for 87 seconds.

It is an excellent result, because all works in terms of our model.


Ok, let's consider the stacking of fuel tank capacities. Let's take 1 Hawkey Fuel Tank and a couple of Better Future Orb Boosters. This Fuel Tank itself can maintain the boost for 2 Better Future Orb Boosters for 20 seconds. Fine. Let's now take 2 Hawkey Fuel Tanks. We expect, that 2 Fuel Tanks will keep the boost on for 40 seconds, because we increased the capacity by 2 times. But in fact, 2 Fuel Tanks keep the boost on only for 36 seconds, not for 40 seconds. Maybe it is an error. Let's take 10 Hawkey Fuel Tanks. We think that the duration of boost will be 20*10=200 seconds. But in fact we have only 161 seconds. Where are remaining 40 seconds of boost? We increase the total volume of our Fuel Tanks by 10 times, but the duration of boost increased only by 8 times or so. How does it work? It seems that it is a bug.

But that's not at all. Another strange behavior of fuel tanks can be observed during the refilling. If we have 10 GSO Big Poppa Fuel Tank, and they are completely empty, the time needed for refilling from 0% to 100% fuel is 80 seconds. OK, but if we have only 1 empty GSO Big Poppa Fuel Tank the time needed for refilling from 0% to 100% is only 56 seconds. For 2 tanks is 68 seconds. For 3 is 71 seconds. For 4 is 76 seconds etc. It seems that 80 seconds is the limit for GSO Big Poppa Fuel Tank. But why it works so?

We can assume that the time for complete refilling increase with the number of tanks attached. But in fact - not at all. If we have 1 empty Venture Fuel Pod it will refill itself for 10 seconds or so. But if we have 3 Fuel Pods the refilling time will be 7 seconds or so. If we have 30 Pods or even more the refilling time will be 5 or 6 seconds (it is difficult to measure such short time intervals). Why?

I can't come up with an arbitrarily reasonable explanation of this strange nonlinear unobvious and illogical behavior of Fuel Tanks, so I think that it is a bug and Devs must fix it as soon as possible. Thank you.


It would be if Devs comment this strange feature to me, please. (Or confirm that bug and promise to fix it)
 

HeX

TerraTech Modder Manager
Jul 4, 2018
384
543
505
The cabs themselves have a slight amount of fuel storage which you aren't taking into account.
It can also be inferred that boosters have capacity as well as the GC booster has a fuel indicator.
Also, each fuel container has its own refueling rate. This, combined with the cabs and boosters, would cause your difference in observable times.
 

qwertynosik

Well-Known Member
Jun 11, 2017
10
9
410
30
The cabs themselves have a slight amount of fuel storage which you aren't taking into account.
It can also be inferred that boosters have capacity as well as the GC booster has a fuel indicator.
Also, each fuel container has its own refueling rate. This, combined with the cabs and boosters, would cause your difference in observable times.
Hey, it seems really logical.

Let's consider we have a cab with its own capacity CapCab and its own refill rate RefCab and also we have some boosters with a total capacity of CapB and total refill rate RefB, and we have N Fuel Tanks with CapT capacity each and RefT refill rate each. Total time to fill this system from 0% to 100% is

Time=(CapCab+CapB+N*CapT)/(RefCab+RefB+N*RefT)

We can 2 pieces of this equation: Time1= (CapCab+CapB)/(RefCab+RefB+N*RefT) responsible for refilling the cab and boosters with total refill rate. It is clear that Time1 is decreasing function of variable N.

The second piece Time2=N*CapT/(RefCab+RefB+N*RefT)=CapT/(RefT+(RefCab+RefB)/N) responsible for refilling tanks with total refill rate. It is also clear, that contribution of RefCab and RefB refill rates is decreases with increase of N. So, the total refill rate in denominator of this fraction is decreasing function of variable N. It means that Time2 is increasing function of variable N.

To sum up, we have total time Time=Time1+Time2, and Time1 decreases with increasing N and Time2 increases with increasing N. in general, the dependence of Time as a function of N is not obvious. But if we have a lot of Tanks, so N>>1, we can say that RefCab+RefB<< N*RefT, so

Time =(CapCab+CapB+N*CapT)/(N*RefT),

Or even we can say that CapCab+CapB << N*CapT, so

Time = N*CapT/(N*RefT)=CapT/RefT

Now we can say that if N >> 1 the total time of refilling didn't depend on the number of tanks and it is almost equal to the time of refilling the only one empty fuel tank. And we can see such phenomenon in my tests - when a number of tanks is large, the time of refilling don't change with attaching new tanks. It is clear now, thank you very much.