Maintenance Modification

For what's not in 'Top Priority Game Design'. Post your ideas, visions, suggestions for the game, rules, modifications, etc.

Moderators: Oberlus, Oberlus

Message
Author
Ragwortshire
Space Floater
Posts: 18
Joined: Mon Apr 29, 2013 7:12 am

Maintenance Modification

#1 Post by Ragwortshire » Wed May 08, 2013 6:00 pm

I suggest that the maintenance cost factor (i.e., FLEET_UPKEEP_MULTIPLICATOR) should be applied to all ship parts, as well as ship hulls as is currently the case.

To compensate, FLEET_UPKEEP_MULTIPLICATOR should be reduced from its current value of (1 + 0.05*(Number of ships)). I suggest a value of (1 + 0.01*(Number of ships)).

Primary Reason for change: The current system has a distorting effect on ship designs. As the game goes on, the cost of a ship depends more and more upon its base hull cost, and less and less upon the cost of its parts. This has (I assume) unintended consequences. In particular, it introduces the following dilemma when deciding the cost of hulls relative to the costs of other ship parts:

- If ship hull costs are too low, then in the early game (while FLEET_UPKEEP_MULTIPLICATOR is close to 1) then this encourages the building of ships with very few parts. I outlined this in detail here.

- As Vezzra explained to me two posts later in the same thread, making the hull costs high enough to combat this runs into the opposite problem. Namely, in the late game the hull cost is almost the only thing that matters in a ship design; other ship part costs become almost irrelevant.

- As a result, balancing the ship part costs against those of hulls in any meaningful way becomes basically impossible. Not only that, but regardless of the values chosen, there will be a period during the early and/or late game when optimal ship designs become degenerate, greatly reducing strategic depth in this area.

The suggested change would remove this distorting effect, allowing balancing to proceed unhindered.

Secondary Reasons:

- Intuition: Arguably it's a little unintuitive for ship costs to rise as the game goes on anyway. But even allowing for this, once a player does realise that ship costs are rising the immediate assumption is likely to be that a flat multiplier is being applied. I very much doubt a player will guess that only the hull cost is multiplied unless he does the neccessary spading himself.

- Simplicity: Currently it's impossible for a player to design an optimally cost-efficient ship and be confident that it will remain cost-efficient. Rather, theoretically optimal play would involve checking regularly whether the increasing multiplier had resulted in optimal designs changing, and adjusting designs accordingly. I would call this unneccessary and unfun micromanagement - I doubt any of us actually do it, of course. Further it's one more thing the AI will eventually have to deal with as well.

- Easy of change: As far as I can tell, it just a requires an easy (if slightly tedious) modification to ship_parts.txt, plus the change to FLEET_UPKEEP_MULTIPLICATOR at the end of ship_hulls.txt. So, even I could do it. EDIT: I guess the definition of FLEET_UPKEEP_MULTIPLICATOR would need to be moved into shared_macros.txt?

Disadvantages:

- As far as I can tell, there wouldn't be any.
Any patch contained in this post is released under the GPL 2.0 or later.

User avatar
Dilvish
AI Lead and Programmer Emeritus
Posts: 4768
Joined: Sat Sep 22, 2012 6:25 pm

Re: Maintenance Modification

#2 Post by Dilvish » Wed May 08, 2013 8:13 pm

Ragwortshire wrote:I suggest that the maintenance cost factor (i.e., FLEET_UPKEEP_MULTIPLICATOR) should be applied to all ship parts, as well as ship hulls as is currently the case. To compensate, FLEET_UPKEEP_MULTIPLICATOR should be reduced from its current value of (1 + 0.05*(Number of ships)). I suggest a value of (1 + 0.01*(Number of ships)).
The basic suggestion of applying maintenance to total ship cost (hull and parts) rather than just hull, certainly makes some sense, though I don't find it particularly compelling. I do think your math here is off though. By the endgame stage you discuss, shifting maintenance from 5% to 1% would be vastly outweigh the effect of having maint apply to total cost rather than just hull cost. The maint precentage doesn't necessarily have to be changed at all, and if it were, it should probably be a pretty minimal change (like to 4.5%) unless we want to get into a big discussion (again) of reducing maintence for the sake of reducing maintenance.
- If ship hull costs are too low, then in the early game (while FLEET_UPKEEP_MULTIPLICATOR is close to 1) then this encourages the building of ships with very few parts. I outlined this in detail here.
I think you present a strawman argument and misinterpret your example. The lesson I glean from that is that Asteroid hulls start out with as if they already have significant armor. Loading any ship up nearly entirely on armor is not likely to be a good design, let alone with a hull that is inherently armored. The fact that it might be a bad design to load up a hull with too much armor is just a flaw of that design, I think, not an impeachment of the overall system.
Last edited by Dilvish on Wed May 08, 2013 9:23 pm, edited 1 time in total.
If I provided any code, scripts or other content here, it's released under GPL 2.0 and CC-BY-SA 3.0

Ragwortshire
Space Floater
Posts: 18
Joined: Mon Apr 29, 2013 7:12 am

Re: Maintenance Modification

#3 Post by Ragwortshire » Wed May 08, 2013 9:04 pm

Dilvish wrote:I do think your math here is off though. By the endgame stage you discuss, shifting maintenance from 5% to 1% would be vastly outweigh the effect of having maint apply to total cost rather than just hull cost. The maint precentage doesn't necessarily have to be changed at all, and it it were it should probably be a pretty minimal change (like to 4.5%) unless we want to get into a big discussion (again) of reducing maintence for the sake of reducing maintenance.
Of course my suggested figure may well be wrong, but I don't think that overall maintenance would decrease that drastically. The key parameter is the ratio, on ships that are actually built often, of the hull cost to total cost. My 1% guess was based on the hull costing 20% of the total cost of the ship; something like:

Base Hull cost = 80; Shield cost = 120 (blackshield); 5x Plasma Cannon cost = 200. Total cost = 400, Hull Cost = 80.

Now with the current system, if you have n ships then the cost, including maintenance is 400 + 0.05*80*n.
With the suggestion in place, the cost would be 400 + 0.01*400*n; exactly the same!

So your 4.5% figure would in fact increase maintenance unless the base hull cost for endgame ships is 90% of the total ship cost - something I doubt very much!
Ragwortshire wrote: - If ship hull costs are too low, then in the early game (while FLEET_UPKEEP_MULTIPLICATOR is close to 1) then this encourages the building of ships with very few parts. I outlined this in detail here.
I think you present a strawman argument and misinterpret your example. The lesson I glean from that is that Asteroid hulls start out with as if they already have significant armor. Loading any ship up nearly entirely on armor is not likely to be a good design, let alone with a hull that is inherently armored. The fact that it might be a bad design to load up a hull with too much armor is just a flaw of that design, I think, not an impeachment of the overall system.
Ah. I can see why you'd think that, but it's not the case. In actual fact, I compared the spam design with an armor-heavy design because the armor-heavy design actually comes closest to beating it. Other options are even worse; for example:

Heavy Asteroid Hull (cost 10) + 6x Laser 4 (cost 180) = cost 190
4x Heavy Ast Hull + Laser 4 = cost 160

The first option has 50 HP and 66 Attack. The second has a total of 200 HP and 44 Attack. You can see that in this case the spam ships win even more easily. :)

Of course you can try a design that's somewhere in between, but I also gave a comparison with a 2-gun ship in the post I linked to.
Any patch contained in this post is released under the GPL 2.0 or later.

User avatar
Bigjoe5
Designer and Programmer
Posts: 2058
Joined: Tue Aug 14, 2007 6:33 pm
Location: Orion

Re: Maintenance Modification

#4 Post by Bigjoe5 » Wed May 08, 2013 11:57 pm

Fact is, I don't like the maintenance concept to begin with (though it gets points for being the least annoying maintenance concept I've come across). I personally don't think we need maintenance to begin with, and that we can balance everything away with part and hull costs.
/off-topic-rant

I totally agree. It's the cost of the ship that should increase, not just some arbitrary piece of it.
Warning: Antarans in dimensional portal are closer than they appear.

User avatar
Vezzra
Release Manager, Design
Posts: 5192
Joined: Wed Nov 16, 2011 12:56 pm
Location: Sol III

Re: Maintenance Modification

#5 Post by Vezzra » Thu May 09, 2013 11:53 am

Bigjoe5 wrote:(though it gets points for being the least annoying maintenance concept I've come across)
I beg to differ. This is probably a matter of personal taste, because frankly, I'd vastly prefer a system where everything (for which you should have to "pay" some kind of "maintenance") simply has clearly defined maintenance costs. These costs are deducted from your PP before anything else, and you can only spend surplus PP. If the maintenance costs use up all your PP, you can't produce anything else, period. No other consequences than that. No need to apply any kind of negative consequences (like randomly loosing ships, no rapair, no refueling, reduced ship part capacity etc.) if those are peceived as too annoying.

This would be far more clear, straightforward, comprehensible and transparent than the current system. Not only can you apply that consistently across all things you might want to apply a maintenance mechanic to (not only ships, but buildings as well), you can easily implement the flexibility to make a difference between high and low maintenance items.

And as you can present the toal maintenance costs for all his assets with a single number to the player, he can very easily see how much maintenance affects his industrial capacity. Something that's extremely obscure with the current system. In all my test games since this mechanic has been introduced, I found myself left wondering how much it would benefit me if I started scrapping some of my older ships. Of course I could pull out Excel to make the necessary calculations, but whenever I find myself at the point of having to do something like that in order to play an optimal game, IMO I've discovered a design flaw in a game that aims to be KISS.

I've also no clear idea how much building 10 ships of a certain design now will affect my ship production capacity afterwards. With clear, fixed maintenance costs that would be a lot easier (at least for me).

Hence, if we stick to maintenance costs (and I think we can't avoid that to reign in production going through the roof), I'd really, really prefer a system like I just described instead of applying the cost increase mechanic to everything else. Or try to do without maintenance at all, like Bigjoe suggets. However, if consensus turns out to be in favor of the cost increase mechanic, then at least apply it to everything consistently. The way it's now is really no fun.

User avatar
em3
Vacuum Dragon
Posts: 605
Joined: Sun Sep 25, 2011 2:51 pm

Re: Maintenance Modification

#6 Post by em3 » Thu May 09, 2013 12:58 pm

Vezzra wrote:
Bigjoe5 wrote:(though it gets points for being the least annoying maintenance concept I've come across)
I beg to differ. This is probably a matter of personal taste, because frankly, I'd vastly prefer a system where everything (for which you should have to "pay" some kind of "maintenance") simply has clearly defined maintenance costs. These costs are deducted from your PP before anything else, and you can only spend surplus PP. If the maintenance costs use up all your PP, you can't produce anything else, period. No other consequences than that. No need to apply any kind of negative consequences (like randomly loosing ships, no rapair, no refueling, reduced ship part capacity etc.) if those are peceived as too annoying.
Yes, that idea does sound clearer - unless you consider resource sharing groups. What would decide which group pays maintenance of which ship, for example? The closest? The one containing the location that the ship was produced at (what if the location is not available any more)? Or should the player allocate the fleet maintenance costs between resource sharing groups (tedious and unfun micromanagement)?
[...] for Man has earned his right to hold this planet against all comers, by virtue of occasionally producing someone totally batshit insane. - Randall Munroe, title text to xkcd #556

User avatar
Vezzra
Release Manager, Design
Posts: 5192
Joined: Wed Nov 16, 2011 12:56 pm
Location: Sol III

Re: Maintenance Modification

#7 Post by Vezzra » Thu May 09, 2013 2:51 pm

em3 wrote:Yes, that idea does sound clearer - unless you consider resource sharing groups. What would decide which group pays maintenance of which ship, for example? The closest? The one containing the location that the ship was produced at (what if the location is not available any more)? Or should the player allocate the fleet maintenance costs between resource sharing groups (tedious and unfun micromanagement)?
Very important point. There is no solution that will come anywhere near something that looks "realistic", simply because you can't come up with a mechanic that is not unfun, not micromanagement, but KISS, and at the same time manages to supply fleets deep in enemy territory, maybe even cut off from all supply lanes.

So, in this case what matters is the most clear and unobtrusive way to do it only. If you have more than one resource group, just divide the total maintenance costs according to their relative industrial capacity. Simple example: Your total PP are 100, and currently a system producing 10 PP is cut off. So you end up with resource group A, 90 PP, and resource group B, 10 PP. Lets say you'll have to pay 50 PP maintenance ATM. That's exactly 50% of your total PP. 10% of that (5 PP) will be deducted from resource group B, so B has to spend 50% of it's PP, 90% (45 PP) will be deducted from resource group A, so A has to spend 50% of it's PP too. Clear, easy, comprehensible and transparent. Completely unrealistic? Yes. But not more so than a build cost increase mechanic is. And still far clearer, IMO at least.

User avatar
em3
Vacuum Dragon
Posts: 605
Joined: Sun Sep 25, 2011 2:51 pm

Re: Maintenance Modification

#8 Post by em3 » Thu May 09, 2013 3:17 pm

Vezzra wrote:So, in this case what matters is the most clear and unobtrusive way to do it only. If you have more than one resource group, just divide the total maintenance costs according to their relative industrial capacity. Simple example: Your total PP are 100, and currently a system producing 10 PP is cut off. So you end up with resource group A, 90 PP, and resource group B, 10 PP. Lets say you'll have to pay 50 PP maintenance ATM. That's exactly 50% of your total PP. 10% of that (5 PP) will be deducted from resource group B, so B has to spend 50% of it's PP, 90% (45 PP) will be deducted from resource group A, so A has to spend 50% of it's PP too. Clear, easy, comprehensible and transparent. Completely unrealistic? Yes. But not more so than a build cost increase mechanic is. And still far clearer, IMO at least.
I like it.

IF someone would want more fine tuning, there could be added a new focus that would directly reduce total maintenance (which would become an empire meter). This way, some worlds could be dedicated to reduce burdens placed on industrial centres.
[...] for Man has earned his right to hold this planet against all comers, by virtue of occasionally producing someone totally batshit insane. - Randall Munroe, title text to xkcd #556

User avatar
Krikkitone
Creative Contributor
Posts: 1509
Joined: Sat Sep 13, 2003 6:52 pm

Re: Maintenance Modification

#9 Post by Krikkitone » Thu May 09, 2013 4:23 pm

em3 wrote:
Vezzra wrote:So, in this case what matters is the most clear and unobtrusive way to do it only. If you have more than one resource group, just divide the total maintenance costs according to their relative industrial capacity. Simple example: Your total PP are 100, and currently a system producing 10 PP is cut off. So you end up with resource group A, 90 PP, and resource group B, 10 PP. Lets say you'll have to pay 50 PP maintenance ATM. That's exactly 50% of your total PP. 10% of that (5 PP) will be deducted from resource group B, so B has to spend 50% of it's PP, 90% (45 PP) will be deducted from resource group A, so A has to spend 50% of it's PP too. Clear, easy, comprehensible and transparent. Completely unrealistic? Yes. But not more so than a build cost increase mechanic is. And still far clearer, IMO at least.
I like it.

IF someone would want more fine tuning, there could be added a new focus that would directly reduce total maintenance (which would become an empire meter). This way, some worlds could be dedicated to reduce burdens placed on industrial centres.
I tend to disagree with that(maintenance focused worlds)... it would be easier just to dedicate those worlds as Industrial themselves.. (more Industry=more for maintenance).. especially if the only effect is maintenance.

"No more production" is Probably a good enough penalty.

Essentially, when in a war your "equilibrium fleet size" would be

Total Imperial production - Amount of production needed to replace Ships lost

(of course if you have a smaller fleet, then you will probably lose more ships in engagements with the enemy.. so that equilibrium is unstable.. winners win big, losers crash and burn)

Ragwortshire
Space Floater
Posts: 18
Joined: Mon Apr 29, 2013 7:12 am

Re: Maintenance Modification

#10 Post by Ragwortshire » Fri May 10, 2013 8:46 pm

I went ahead and made a patch which implements this change (attached). I release it under the GPL 2.0.

[The extension patch has been deactivated and can no longer be displayed.]

I multiplied all of the ship parts by FLEET_UPKEEP_MULTIPLICATOR, except Colony Pods/Suspended Animation Pods/Outpost Pods (which have their own multiplicator already) and the Monster-Only parts (since I assume monsters don't pay upkeep). I also applied it to the temporarily removed weapons. This required moving the definition of FLEET_UPKEEP_MULTIPLICATOR into shared_macros.txt, and adding an include at the start of ship_hulls.txt. I changed the Pedia description of fleet upkeep to fit the change (English version only).

After looking through the costs of various hulls, most of which are really, really cheap, I stand by my assertion that even a figure of (1 + 0.01*Ships) will result in higher maintenance than is paid now. Accordingly this patch reduces FLEET_UPKEEP_MULTIPLICATOR to (1 + 0.01*Ships).

I have tested this patch and everything seemed to work fine, although I learned the hard way that blank lines are required at the end of data files.

I gather I ought to post on the thread here: viewtopic.php?f=15&t=7340 - but should I wait in case I made some mistake here, or people think it shouldn't be implemented?
Any patch contained in this post is released under the GPL 2.0 or later.

User avatar
Geoff the Medio
Programming, Design, Admin
Posts: 12576
Joined: Wed Oct 08, 2003 1:33 am
Location: Munich

Re: Maintenance Modification

#11 Post by Geoff the Medio » Fri May 10, 2013 9:06 pm

Ragwortshire wrote:...should I wait...
No; linking to your patch thread is generally a good idea to ensure it gets attention.

Ragwortshire
Space Floater
Posts: 18
Joined: Mon Apr 29, 2013 7:12 am

Re: Maintenance Modification

#12 Post by Ragwortshire » Mon May 13, 2013 9:19 pm

This version is updated to Revision 6030, and the Pedia entry is improved (includes links now).
Attachments

[The extension patch has been deactivated and can no longer be displayed.]

Any patch contained in this post is released under the GPL 2.0 or later.

User avatar
Vezzra
Release Manager, Design
Posts: 5192
Joined: Wed Nov 16, 2011 12:56 pm
Location: Sol III

Re: Maintenance Modification

#13 Post by Vezzra » Tue May 14, 2013 7:47 am

Although I'm not at all happy with a solution that carries the build cost increase mechanic (as a means for simulating maintenance costs) even further, the solution implemented by this patch is still better than what we have now. So, unless somebody has objections against the proposed changes, I'm in favor of incorporating that into SVN.

However, I still hope that this is only a temporary solution, and we can agree on implementing something more like I've suggested above. Of course not now, but eventually some day.

User avatar
Geoff the Medio
Programming, Design, Admin
Posts: 12576
Joined: Wed Oct 08, 2003 1:33 am
Location: Munich

Re: Maintenance Modification

#14 Post by Geoff the Medio » Tue May 14, 2013 7:57 am

Vezzra wrote:However, I still hope ... we can agree on implementing something more like I've suggested above.
If it resembles what you describe there, I won't agree.

Ragwortshire
Space Floater
Posts: 18
Joined: Mon Apr 29, 2013 7:12 am

Re: Maintenance Modification

#15 Post by Ragwortshire » Tue May 14, 2013 8:04 am

I should probably have mentioned that this is supposed to be quick fix anyway. The point of the patch isn't to be the last word on maintenance mechanics, but rather to stop them interfering with other aspects of the game design (in this case, hull cost balancing).
Any patch contained in this post is released under the GPL 2.0 or later.

Post Reply