ENDLESS™ Space 2 is turn-based 4X space-strategy that launches players into the space colonization age of different civilizations within the ENDLESS™ Universe. Your Vision. Their Future.
It appears that in many cases, it is cheaper to buyout the construction of a ship with zero modules and then upgrade it into a "real" design than to buyout construction of the actual design you want.
If anything, I think the upgrade option should be more expensive, since it means that the final decision of what modules to use--and also the final payment--are both delayed by a turn, giving you both option value and inflation value.
But at minimum, the upgrade should never be cheaper. That's just giving free money to players willing to do tedious make-work based on secret knowledge.
I'm not sure exactly what formulas are used to determine either buyout or upgrade costs (one in a long list of opaque mechanisms that drive me crazy, but that's another topic), but this outcome strongly suggests that they are based on contradictory design goals.
Just for grins, here's an example of a way to do upgrade costs that would avoid this issue:
Step 1: Calculate a work cost based on the industry costs of added and removed modules.
For each module in the new design that isn't in the old design, add that component's industry cost to the work cost.
For each module in the old design that isn't in the new design, subtract part of that component's industry cost as a refund, depending on the type of refit.
Refund 80% for modules replaced with the same sub-type (e.g. missiles to missiles, beams to beams).
Most of the module can be repurposed rather than replaced.
Refund 60% for modules replaced with the same slot type (e.g. missiles to beams, engines to probes)
SOME of the module can be repurposed.
Refund 40% for modules replaced with a different slot type (e.g. missiles to engines)
Some basic components, such as power cables and control panels, can be repurposed.
Refund 20% for modules replaced with nothing.
The module is disassembled for spare parts.
The simplest approach would be to compare each old module to the new module in the same slot in the new design, but since moving modules between slots has no impact on the ship's performance (e.g. missiles + shields is the same as shields + missiles), old and new modules should probably be matched up in whatever way results in the lowest cost, regardless of location on the ship.
Step 2: Convert the work cost to a dust charge based on the buyout formula.
If buyout costs were linear, we could simply calculate the buyout cost for a hypothetical build queue item with an industry cost equal to the work cost from step 1; i.e.
Dust Charge = Buyout(Work Cost)
But buyout costs were super-linear in EL, and available evidence suggests they are also super-linear in ES2. This means, if we used the above formula, then upgrade costs could become cheaper when splitting the work into multiple (smaller) stages rather than doing everything at once, and we don't want that (it's thematically dubious, and more importantly gives free money to people who do a lot of arbitrary twiddling of settings). So instead, we have to do:
Dust Charge = Buyout(New Design's Total Industry Cost) - Buyout(New Design's Total Industry Cost - Work Cost)
In this way, we're only charging for the new work being done, but we're charging at a conversion ratio based on the ship's entire cost. This way, breaking the work into smaller steps will never reduce the total cost.
Step 3: Add a logistics fee of 25 dust per CP (times inflation), because upgrades are always a bit less efficient than if you had just built exactly what you wanted in the first place.
One could adjust the precise values of the refunds in step 1 (as long as they don't go above 100%) and the fee in step 3 (as long as it doesn't go below zero), and this will still ensure that building a bad ship and upgrading it will never be cheaper than directly building the ship you actually wanted.
Also, it's worth noting that this algorithm could theoretically produce a negative cost (if you are replacing expensive modules with cheap ones). I think I'm probably OK with that (represents the money you make by salvaging the expensive stuff), but if anyone objects you could add a floor somewhere.
Thanks for bringing this up, we'll investigate this. Your solution looks interesting too :). Not sure we'll go that much into details but it's certainly worth a look!
Antistone
Ardent
Antistone
Ardent
15 000g2g ptsReport comment
Why do you report Antistone?
Are you sure you want to block Antistone ?
BlockCancelAre you sure you want to unblock Antistone ?
UnblockCancelAntistone
Ardent
Antistone
Ardent
15 000g2g ptsReport comment
Why do you report Antistone?
Are you sure you want to block Antistone ?
BlockCancelAre you sure you want to unblock Antistone ?
UnblockCancelDEVjhell
Dev Survivor
DEVjhell
Dev Survivor
40 000g2g ptsReport comment
Why do you report jhell?
Are you sure you want to block jhell ?
BlockCancelAre you sure you want to unblock jhell ?
UnblockCancelAntistone
Ardent
Antistone
Ardent
15 000g2g ptsReport comment
Why do you report Antistone?
Are you sure you want to block Antistone ?
BlockCancelAre you sure you want to unblock Antistone ?
UnblockCancel