Project

General

Profile

Bug #6414

Symmetrical craft does not draw fuel symmetrically

Added by Kasuha over 8 years ago. Updated almost 8 years ago.

Status:
Needs Clarification
Severity:
Low
Assignee:
-
Category:
Gameplay
Target version:
-
Start date:
12/29/2015
% Done:

0%

Version:
Platform:
Any
Expansion:
Language:
English (US)
Mod Related:
No
Votes:
Arrow u r green
Arrow d r red

Description

Please read the entire report before you come with your own conclusions.

I am one of people who described and understood the behavior long ago and who was explaining to players for a long time why is it here and why nothing can be done about it. Only recently I came to realization that I was wrong and that fix is not just possible but even (with high probability) relatively simple, does not require major overhaul of a game mechanic and does not modify current behavior except for cases when the bug demonstrates itself.

My claims here are:

a/ observed behavior is highly unintuitive; explanation relies on understanding deep under-the-hood game mechanic and deduces from order in which parts are installed in VAB

b/ expected behavior is intuitive and legitimate requirement on game behavior

c/ fix is possible and relatively simple

Attached to this issue is a Lander.craft file demonstrating the unintuitive behavior. It is a legitimate design - all decisions leading to it make sense.

The lander has four Mk-55 "Thud" engines attached to the central tank. Then there are two drop tanks with additional fuel attached on decouplers on the side, and since that was not enough to provide required dv for landing and return to orbit, there is additional tank mounted behind the central tank.

Expected behavior:

All ship parts are placed in symmetry, therefore fuel should be drawn symmetrically as well.
The fuel is supposed to be drawn from bottom central tank first (tank is to be decoupled before landing), then from two drop tanks on sides and finally from the central tank under the command pod.

Observed behavior:

When engines are ignited, fuel is drawn from the bottom tank and from the left drop tank at once, even though there is a fuel pipe supposed to prioritize the bottom tank over left drop tank.

Reproduction steps:

  • load attached Lander.craft in VAB and place it on launchpad
  • stage to ignite engines and observe fuel draw

Now to my claim c/ that fix is possible and relatively simple:

The game apparently scans the ship using depth-first graph scan starting from the engine. It marks all visited parts and refuses to visit any marked part twice. Therefore when scanning the path through the right fuel pipe leading to the upper central tank, it ends up in the bottom tank, marks it as visited, and later when scanning the path through the left fuel pipe it couldn't use the bottom central tank again since it is already visited and therefore draws fuel from the left tank instead.

The simplest possible approach to solution is to unmark the "visited" flag on whatever part the scan is retreating from. That will allow parts to be visited multiple times through different paths, but it will still prevent the algorithm to run into a cycle since all parts on the stack will still be marked. There is slight danger that this scan might need a lot of time if a player installs excessive numbers of fuel pipes on the ship.

More complex but more efficient possible approach is to accompany the "visited" mark by list of fuel tanks to draw fuel from on retreat from the node. That way when the algorithm runs into a marked part, it can immediately take the already prepared tank list from it (if one is present there) as if it scanned the node. If the node is still on stack the mark would not be accompanied by a tank list and the scan would assume there is no fuel to draw from it - again correct behavior. This fix does not come with danger of significant increase of scan time.

Selected priority: Low - A gameplay issue that can be avoided.

Lander.craft (55.9 KB) Lander.craft [email protected] Kasuha, 12/29/2015 07:46 AM
screenshot7.png (1.44 MB) screenshot7.png [email protected] Kasuha, 12/29/2015 07:47 AM
screenshot8.png (1.41 MB) screenshot8.png [email protected] Kasuha, 12/29/2015 07:47 AM
screenshot9.png (1.44 MB) screenshot9.png [email protected] Kasuha, 12/29/2015 07:47 AM
9619
9620
9621

History

#1 Updated by TriggerAu almost 8 years ago

  • Status changed from New to Needs Clarification

Also available in: Atom PDF