Fuel Enhancements


  • Admin

    So fuel is its current state is tough to utilize well in a map.

    Proposed Changes

    1. Show current amount of fuel on the main screen (how much you have)0_1518973207741_Implemented small.png
      1.1 Add isDisplayFor property to resources to hide/show resources per player0_1518973254890_Implemented small.png
    2. Show projected fuel income on the main screen (how much you'll get)0_1519570407619_Implemented small.png
      2.1 Use resource and territory effect icons0_1519570383597_Implemented small.png
    3. When moving units, show how much fuel the move costs (how much you're spending)0_1519570383597_Implemented small.png
    4. Add property for flat fuel consumption rather than per move0_1519570383597_Implemented small.png
    5. If carriers and fighters are moved together during non-combat move then only the carrier is charged fuel. Any moves during combat move are considered that the fighter has taken off from the initial carrier position so is always charged fuel during all combat moves.0_1519570383597_Implemented small.png
    6. When units are scrambled to other territories it should cost fuel to move there and back as well as display the fuel cost in the scramble pop-up0_1519570383597_Implemented small.png

    Things That Won't Change For This Iteration

    1. For naval transports, only loading not unloading costs fuel.
    2. No fuel consumption for defender units that are casualties.
    3. During placement of a new carrier, moving old fighters from land to that carrier won't cost fuel (this is an outdated property that really shouldn't be used in fuel related maps so not worth changing)
    4. No fighter/carrier movement rules will be changed
    5. No "negatesFuel" property will be added at this time. Just focus on getting fuel to make sense with what we have around transports and ACCs
    6. Retreating/withdrawing doesn't cost fuel.
    7. Engine should not allow kamikaze moves in terms of planes lacking enough fuel to land (this probably won't be perfect but some basic checks should be done to try to prevent it the rest would be player enforced just like fighter/carrier movement)
    8. Land transported units shouldn't cost fuel (this is gonna be difficult change as the current land transport logic only transports units if they don't have enough moves themselves)

    Existing Maps That Use or Tried To Use Fuel

    • Civil War
    • Iron War
    • World at War Variant

    PRs
    https://github.com/triplea-game/triplea/pull/3013
    https://github.com/triplea-game/triplea/pull/3033
    https://github.com/triplea-game/triplea/pull/3034
    https://github.com/triplea-game/triplea/pull/3035
    https://github.com/triplea-game/triplea/pull/3118
    https://github.com/triplea-game/triplea/pull/3189
    https://github.com/triplea-game/triplea/pull/3236
    https://github.com/triplea-game/triplea/pull/3244
    https://github.com/triplea-game/triplea/pull/3249

    References
    https://sourceforge.net/p/triplea/feature-requests/255/
    https://github.com/triplea-game/triplea/issues/1310

    XML Resource isDisplayedFor

      <resourceList>
        <resource name="techTokens" isDisplayedFor="NONE"/>
        <resource name="PUs" isDisplayedFor="Union"/>
        <resource name="Manpower" isDisplayedFor="Confederate"/>
        <resource name="Supplies" isDisplayedFor="Union:Confederate"/>
        <resource name="Industry"/>
        <resource name="Leadership"/>
      </resourceList>
    

    XML Unit fuelFlatCost

        <attachment name="unitAttachment" attachTo="elite_cavalry" javaClass="games.strategy.triplea.attachments.UnitAttachment" type="unitType">
          <option name="consumesUnits" value="1:cavalry"/>
          <option name="movement" value="2"/>
          <option name="transportCost" value="3"/>
          <option name="canBlitz" value="true"/>
          <option name="requiresUnits" value="parade_ground"/>
          <option name="requiresUnits" value="general"/>
          <option name="createsResourcesList" value="-4:Supplies"/>
          <option name="fuelCost" value="Supplies" count="1"/>
          <option name="fuelFlatCost" value="Supplies" count="2"/>
          <option name="fuelFlatCost" value="Industry" count="1"/>
          <option name="canInvadeOnlyFrom" value="transport:train"/>
          <option name="createsResourcesList" value="-1:Manpower"/>
          <option name="attack" value="4"/>
          <option name="defense" value="3"/>
        </attachment>
    
    ron-murhammer created this issue in triplea-game/triplea

    closed Enhance Fuel Movement #1310


  • Admin

    1. No fuel cost for transporting.
    2. Yes
    3. Yes.

  • Admin

    @Hepps Responses:

    1. So do you think loading, unloading, and movement should all have no fuel cost? I believe currently only loading has fuel costs for naval transports. Not sure about land/air.

    2. Tend to agree but this is very difficult. Its hard enough to determine if planes can possibly land let alone what is the minimal fuel they need to land once you consider carriers especially if the carriers also require fuel to move (head explodes).

    3. So retreat option is only available if the player has enough fuel to retreat the remaining units?


  • Admin

    @redrum I meant during transporting. No unit that normally consumes fuel should while being transported. Loading and unloading I could go either way.


  • Admin

    How should fuel be handled with transports (naval, land, air)?
    Carried units, like fighter planes on a carrier, should not use fuel. Not even if attacked. If the carrier is chosen as the moving unit of an attack move, the carried units should just follow. If they are carried into battle, then they fight for free. This also applies to all carried allied units (whose owners might actually not have any fuel). If the the fighters are chosen separately and moved to another place than the carrier, they should be fuelled up to their max and spend/reserve full fuel during movement. That would also apply to fighters being sellected individually and thrown in another direction after it has been carried some of the way by a carrier, meaning that its free ride is has been cancelled and it pays full fuel cost.

    Scrambled units/fighters should not use fuel if they fight over their own territories, but if they go to an adjacent territory (reserves two fuel) and back, then the price is two. Even if shot down.

    During placement of a new carrier, moving old fighters from land to that carrier should cost 1 fuel per moved units.

    Basically, any "in same territory action" is free, and any "moving to another territory action" would cost fuel equal to the potential full movement.

    Should the engine prevent kamikaze by lack of return fuel?
    I think so, unless the xml kamikaze option is set to "true". Maybe the engine could by standard force all aircraft units to be "fully fuelled" (as I already stated above) when attacking, meaning that fuel is "reserved" so that the aircraft has the option to fly its maximum range during non-combat. If the aircraft does not fly its max, the fuel is placed back in the bank. If the aircraft is lost/killed, then the unspent fuel is lost.

    Should withdraw/retreat cost fuel?
    As an attack move and the consequential battle could simulate a move from one territory centre towards another territory centre, except that a defender stops the move half way. If the defender is defeated, the attacker completes the full planed move and spends all the allocated fuel. If the defender stops the move half way and forces the attacker to flee, then the attacker must travel the same distance, but just backward to his own centre, using the same amount of fuel. This would argue for withdrawing for free, as the fuel is already paid for.

    A "no fuel cost withdraw rule" would also simplify the fuel system and not demand players to keep track on how much fuel is needed to withdraw all attacking units.

    What else?
    All of the above could be supplemented with XML rule options that would allow the map to use other fuel rules. (There is probably a lot I have not taken into account.)


  • Admin

    Does the engine validate air that has moved during combat when it is in an enemy territory or been involved in battle differently than it would a unit that has yet to move?


  • Admin

    @frostion I mostly agree with those thoughts. Though when you add up all the changes that aren't being done by fuel right now, its kind of a lot :/ The new carrier with old fighters one I can go either way since you could argue that they are put on the carrier as its launched. But I think primarily thinking about it as "same territory or being transported is free" and "moving to another territory cost fuel". That does bring the question of land units on naval transports, should loading and unloading cost fuel? As right now, I believe only loading does.

    @Hepps Not sure what you mean. Currently, non-combat moves for air aren't really treated any differently whether the unit was in battle or not.



  • @redrum World at War Variant also uses fuel.


  • Admin

    @redrum Ok. That is what I thought.


  • Admin

    @redrum
    Should loading and unloading cost fuel? As right now, I believe only loading does?
    As I see it, it makes sense that loading+unloading is only one move requiring 1 fuel. If you think about the land units as going from the center of their origin territory out to a sea territory center, they only actuality do half a move as they hit their own territory border and are then picked up. The ship moves to another territory, using its own fuel. Now the land units land on the coast/hit a new territory border and move to this new territory's center, using the second half of their fuel from their initial move. So it's like half a move plus half a move.

    I would advocate that the units loading onto a ship are fuelled up and pay for a one territory move during loading, and that this is actually only half a move, with the second half done during unloading.

    Also, this would prevent loaded units from ending up in an unrealistic and strange situation, that is if the player does not have fuel to spend on unloading. Who the hell would put invasion forces on transports without also giving them fuel to do the actual invasion? 🙄


  • Admin

    @frostion I agree. It would offer the cleanest solution if a fuel charge were only applied to one of the two "moves" during loading and unloading. The loading part making the most sense logically since as @Frostion points out... the unit would be "fueled up" knowing it was intended to be part of an invasion or to move once it landed.

    As a side note... as far as one of the other significant issues we have as far as aircraft and carriers... could we not set it up so that carriers give +1 fuel/ aircraft/ move while they travel the same route? Since as far as I can tell.... the Carriers are never truly "carrying" the fighters in the first place. So without significant changes to how the engine handles fighters (on Carriers) they are really moving under their own power (ie flying) during any moves over SZ. Bear in mind that this is a hypothesis since I struggle to really understand how the engine truly interprets air on sea with carriers. If I am wrong, please ignore.


  • Admin

    @redrum

    @redrum said in Fuel Enhancements:

    So fuel is its current state is tough to utilize well in a map.

    Questions

    1. How should fuel be handled with transports (naval, land, air)? Loading/unloading/moving?
    2. Should the engine prevent kamikaze by lack of return fuel? Also potentially need to track fuel required for planes to land and display it as well and not allow it to be used for things like purchase?
    3. Should withdraw/retreat cost fuel?
    4. Should there be fuel consumption for defender units that are casualties?
    5. What about planes on carriers? Do they cost fuel if the carriers moves and they follow it? Should allied fighters on carriers cost fuel?

    My thoughts are:

    1. At first glance, it looks like there should be no fuel charge for (sea) transporting units. But once we look at a couple scenarios, it become obvious that there is too much exploitation potential to that idea. (eg. bridging)
    • @Frostion makes a case to charge fuel cost for the (sea) loading of a unit, only. I agree, but I think it would be a cleaner solution, to charge on (sea) unloading of unit instead, since the loaded unit is useless and vulnerable until it is unloaded. (can be loaded via cranes) Or charge fuel on load and unload but at half the fuel cost rate of a normal movement, per given unit.
    • However it goes. One thing we need to watch out for in the fuel design, is to not make transporting by sea too expensive as a viable alternative. If anything it should always be the cheaper logistical option. (Minus the cost of sea transports themselves.)
    • Another aspect to consider is allied units being loaded, unloaded and in transit on allied transport.
    1. I think kamikaze by lack of fuel should be allowed. However only if all the normal criteria has been met, to not be classified as a suicide. However AI handling is another story, since it wont be engine enforced.

    2. Withdraw should cost fuel (not ideal) since it has the potential for exploitation by making a tactical retreat, to end up on the other side of the battle. (assuming at least one unit came via that territory)

    3. I think no fuel cost to defend, is best. Albeit it is debatable as a game dynamic, since we don't want it to be, the excessively cheaper option, to take defensive positions.

    4. With this one. I think the engine never truly considers the planes as true cargo, they follow under their own power. This is a flaw in the original model, if correct.
      So there is another question here. Do you wanna fix this flaw, so then planes can be true cargo? If so, I suggest the planes not be charged fuel to load or unload since they stay in same territory, either way. Also if the air are true cargo they should not be charged fuel to move while loaded.
      However in current model as is, they must be charged, because it can be exploited otherwise. Basically treat the air normal when they move, since they are never truly loaded.


    Additional points.

    1. I think the game property "Move existing fighters to new carriers" should not even be supported, since it is flawed to begin with. To be clear this is the one that allows exploitation of 1 extra movement by moving from land to sea during the placement phase with existing air.
      All the other versions should not charge any fuel beyond moving there on NCM, since they are already charged and new air never really moved since its produced on acc.

    2. Not sure, if submarines need a closer look when considering submerge. But I include it here as reminder to look it over.

    3. I think air transports and land transports should be treated separately from sea transports, since they always load and unload in same territory. That being said, I suggest no fuel charges to load and unload and no fuel charges for the units being transported, while in transit.

    @frostion said in Fuel Enhancements:

    Scrambled units/fighters should not use fuel if the fight over their own territories, but if they go to an adjacent territory (reserves two fuel) and back, then the price is two. Even if shot down.

    1. I agree with @Frostion on scrambled air units, if scrambled into the same territory as they begin, then no fuel charge. I guess this should apply to intercepts of SBR too.
      But if they scramble into another territory, charge fuel for the 1 they go into and charge again for the one they return to for total of 2 charges.

    Excuse me, if I repeated or missed some stuff other mentioned. Its hard to keep track.


  • Admin

    Would also be nice to have a feature available that would allow certain territories to manipulate the normal fuel costs. To simulate terrain or other factors that would influence the fuel costs.

    eg. mountains, swamps, blizzards could increase fuel costs, while plains, springtime or presence of oil fields can decrease fuel costs.

    Territory attribute 
    
    <option name="fuelConsumption" value="German.Armour:1:oil" count="-5"/>
    
    Where value="unitType:quantity:fuelType" count="negative or positive integer by which fuelType consumption is affected"
    

    A similar concept should be available for movement points in general too. I suppose it can be an expansion of terrain modifiers too.



  • @general_zod Hi Z
    I think it already does it for terrain ? Or maybe not quite. I've not experimented too much with terrain. I did make a primitive unit that gives -1 Movement to certain units. Pretty sure it was infrastructure so it could be captured.

    That might be a little different than what you're talking about though. I need to look into terrain in depth someday


  • Admin

    @General_Zod I can see how the "move existing fighters to a newly build carrier" can seem like a rule breaker or exploit, giving a free move in the placement phase. (Question: does this move actually require that the fighters have unspent movement points left in the same round? I have not tested this out.) Anyway, the rule is an optional XML set rule and it can really help some maps out, like if a map has a problem with newly build fleets being vulnerable to attack. I had to activate this rule in the Star Wars maps because it improved gameplay allowing new fleets to immediately pick up fighters from the planetside, making new fleets less vulnerable.

    @All
    Am I right to assume that it would seem acceptable to most to have all carried air units not use fuel while carried/move along with their carrier vehicle, not even if the carrier moves into an attack on sea zone and the fighters end up fighting? (in line with the "fighting in own territory uses no fuel" concept) But that this also (maybe because of in-univers time spend) uses up like 2 of like 4 fighter movement points. Also meaning that when a fleet moves 2 and attacks land and launch the fighters inland, that this would then require 2 fuel per fighter?

    Edit: If the fighter has a range of 2 and the carrier a range of 3, I guess that the fighter can then just be carried 3, still be launched fuel free if number 3 carrier move is an attack on sea zone, but be able to join a land attack?

    Edit 2: Maybe the above concept should be totally different, as it would set up strange situations if a carrier has many moves, carrying fighters with less movement, and then when it comes to an attack on land the fighters may not join in. Pretty strange taking in mind that the fighters have been sitting in a fighter bay and waiting for the land attack for a long time? 🤔

    @redrum
    It seems like there is already a good deal of consensus regarding some of the fuel rules. I know that the more far away a new fuel ruleset is from the existing, the more difficult it might be to program. But since the current rules are nearly not used, it would maybe be good to lay out our community wishlist or vision regarding the a fuel ruleset that would make sense and actually be used. I know that I would implement them 😊


  • Admin

    @beelee

    Currently terrain can stop movement by disallowing entrance, but that's it. A specific unit type can be manipulated by technology and triggers but it affects all the units of that type, on map. I'm proposing more functionality, flexibility and ease of coding in my suggestion, since it would be essentially controlled by any territory on map. (Or via terrain modifier expansion.)

    Also, I don't think there's any existing "fuelCost" options other than the one used as an unitAttachment.

    @Frostion

    The game property "Move existing fighters to new carriers", I'm referring to allows an actual extra movement.

    Example, an existing fighter can fly 4 spaces during NCM to get to a land territory that is also a coastal factory territory (adjacent sea zone would make 5 spaces). During the placement phase, if an acc is placed, the same fighter can be moved over to the sea zone containing the acc. Thus effectively exploiting 1 extra move for a total of 5 movement.

    There are other game properties that allow you to land existing or new fighters on existing or new acc without the movement exploit. "Produce fighters on carriers", "Produce new fighters on old carriers", "Land existing fighters on new carriers" and "LHTR Carrier production rules".

    Btw, I think this was an allowed loophole because the v2 and v3 rules transition, changed during what phase, the existing air unit had to be in the intended sea zone, from "place phase" to "NCM phase".


  • Admin

    @general_zod While I agree the original rule makes no sense. It really doesn't matter to our discussion since it would only matter if you included it into your game (with fuel) in the first place.


  • Admin

    @Hepps Excluding it from the equation of fuel cost would be ideal if possible, but it was brought up. So I just tried to clarify what it really does.


  • Admin

    @Frostion

    In the current configuration. It doesn't appear that the air units are ever truly carried. It looks like a hack, which just allows the air to land at end of NCM. So if this configuration isn't changed, then the air units need to use fuel get to the landing site (acc) during NCM. And they need to use fuel to get anywhere during CM.

    If this is changed to where the air units are true cargo, then they should be able to get a fuel free ride on acc during NCM at the very least. I'm not sure if it makes good sense to ever allow a fuel free ride during CM.

    I agree we should nail down as many parameter as possible, to assist the developer who is actually willing to code what is required, into engine. Hopefully @redrum is willing.


  • Admin

    @general_zod That was why I suggested the ACC have a property attachment that allows it to give fuel back when accompanied by the fighters.

    It would achieve the same result without having to completely rewrite the ACC behavior.


Log in to reply
 

Looks like your connection to TripleA Forum was lost, please wait while we try to reconnect.