MegaMek / mekhq

MekHQ is a java helper program for the MegaMek game that allows users to load a list of entities from an XML file, perform repairs and customizations, and then save the new entities to another XML file that can be loaded into MegaMek.
http://megamek.org
133 stars 171 forks source link

RFE: Fundamental change or option to have uncrewed vehicles not cause fuel/ammunition costs for monthly maintenance, or greatly reduce the costs. #4788

Open OrbMonky opened 1 month ago

OrbMonky commented 1 month ago

Note: Issue was found to be ammo on uncrewed units that had sat idle all month, aero using 300k fuel and several missile boats using 100k+ in ammo despite being idle.

I am transitioning this to an RFE: Would it be possible to add at a minimum, an option that uncrewed vehicles do not trigger monthly costs except perhaps spare parts? Or only a percentage of training ammunition/fuel?

Perhaps a flag for 'was this item crewed this month?' excluding techs would allow it to be tallied as a billable expense vs a vehicle that is undergoing maintenance/not in mothball but not 'active'.

Environment

Windows 10 / Java 17 / 0.50.00 release

Description

Peacetime costs from June (only maintenance units active for a refit phase) image Added AC/10 unit from Personnel Market at the end of June. In July, costs shot up quite a bit... image

Salary, overhead seem mostly reasonable but spare parts/ammo/fuel jumped by a large margin compared to what they were. Discussion on discord lead to a request for posting this for analysis.

Files

AC10.zip

customs.zip

OrbMonky commented 1 month ago

After looking at a prior save before the AC/10 unit was bought, the AC/10 unit costs are correct but something else massively ballooned peacetime costs. Company only has maintenance units active for a refit phase so it shouldn't have ballooned so much over a month. Perhaps something else is going on to balloon costs?

OrbMonky commented 1 month ago

Issue was found to be ammo on uncrewed units that had sat idle all month, aero using 300k fuel and several missile boats using 100k+ in ammo despite being idle.

I am transitioning this to an RFE: Would it be possible to add at a minimum, an option that uncrewed vehicles do not trigger monthly costs except perhaps spare parts? Or only a percentage of training ammunition?

OrbMonky commented 1 month ago

TL;DR at the bottom

After having some time to think about this, this unintuitive problem lies at the nexus of company posture (contract footing vs repair/refit/rearm/relocate/rest/recruit footing). It also comes up against the raw tonnage available to the unit on things like guerrilla raid contracts, where steady supply of training ammunition/excess fuel is simply not available or practical to expend on training.

I think the healthiest option for this is to set a preset for expenditures during certain states. If in a low tempo situation (the 6 R's above) you generally don't have any routine income to justify expensive training/maneuvers, and costs should be more or less minimal. A setting of 25% fuel/ammo/spare parts costs could work here. In a garrison etc. contract where you're on friendly ground, this could bump up to 100% as long as 100% doesn't exceed 10% of your monthly income after factoring other expenses. If you're on a Guerilla raid, a setting of 10% ammo, 25% fuel, 100% spare parts makes sense as you are very unlikely to be spending non-reproducible ammo and harder to source fuel, though mandatory wear and tear replacement parts for vehicles in use would be present. On other contract types, a 50%/50%/100% spread between ammo/fuel/spares could be more intuitive and practical. These could be adjusted by the player ideally, and I think it would help clarify them to have them exposed.

Outside of a minimum of fuel consumption (probably 20%) and a 'sparse' replacement parts strategy (50%) and a 'bare minimum training permitted' stance (5%), there would need to be a 'How much money are we making now? Is this breaking the bank/counterproductive?' overarching logic setting, which would reduce them down to these minimums if it consumes more than 1% of the total funds of the unit, or more than 10% of the monthly profit from the current contract.

One possible flourish factor is maluses and bonuses for low/high expenditure. Reducing training munitions could reduce monthly XP gain chance for assigned combat personnel (less able to keep current/sharp), reducing spare parts could reduce it for support staff (less able to do their job due to additional downtime/lower parts priority), and fuel could hit each group half as much since both will rely heavily on fuel to get around/do their training/background jobs. Bonuses could do the opposite. A setting of 50% on each could be the middle ground for no bonus/penalty to monthly XP gain.

The final consideration is 'what to do about idle vehicles that are really just out of mothball for maintenance/refit?' A manual flag of 'not in operation' would be fine, which could be reverted the moment non-tech staff are assigned to it, causing it to contribute the minimum amount of cost to the unit for being out of mothball (5% ammo, 20% fuel, 50% spare parts cost as an estimation). This sort of assumes it's 'in care' of the tech and their astechs who are doing the simple moving of it and calibrating weapons etc but not putting it under real stress.

TL;DR:

  1. Flag for inactive vehicles - Unit is in care of maintenance only, 5% ammo 20% fuel 50% spare parts cost monthly. Flag auto removes if crew is assigned beyond techs. Flag is auto-applied on exiting mothball unless crew remain assigned to the unit.
  2. Player exposed sliders for current posture - 5%-100% cost for training munitions, 20%-100% cost for fuel, 50%-100% cost for spare parts. Optional: being out of contract, being on guerilla raid, being on cadre/garrison duty could override the default state to reflect the realities of that situation.
  3. Price caps based on company liquid funds and company monthly income if present.
  4. Optional bonuses/maluses for high/low expenditures on training ammo/fuel/spare parts as this reflects the ability of the unit to keep sharp in both combat and support roles depending on the expense.
gsparks3 commented 1 month ago

For reference, failing to expend training ammo, spare parts, fuel, etc. has negative consequences laid out in Campaign Operations, starting on page 51 (4th printing PDF).

HammerGS commented 1 month ago

Related - https://github.com/MegaMek/mekhq/issues/3819