Orbital Drydock revision

Creation, discussion, and balancing of game content such as techs, buildings, ship parts.

Moderators: Oberlus, Committer

Message
Author
dbenage-cx
Programmer
Posts: 389
Joined: Sun Feb 14, 2016 12:08 am

Orbital Drydock revision

#1 Post by dbenage-cx »

EDIT by Vezzra: Split from here.
MatGB wrote: [*]Orbital Drydocks need to be toned down—Exact details to be decided but they definitely shouldn't work on the turn you conquer the planet they're on (perhaps a Happiness threshold), and probably ought to require a ship spend a turn there stationary not simply turn up. They also need to lose the Infrastructure penalty.
Would like to tackle this.

My proposal is to repair the ship a percentage of its current structure each turn.
The percentage would be adjusted based on the happiness of the planet (which has a lower threshold within the scope). e.g.:

Code: Select all

SetStructure value = min(Target.MaxStructure, Value * (1 + ((Source.Planet.Happiness / 20.0) * 0.25)))
Increases the ships structure by 25% if the planet has 20 happiness. Higher/lower happiness adjusts the rate of repair.

Within scope, set a minimum of 5 happiness:

Code: Select all

(Source.Planet.Happiness >= 5)
Any content posted should be considered licensed GNU GPL 2.0 and/or CC-BY-SA 3.0 as appropriate.

User avatar
MatGB
Creative Contributor
Posts: 3310
Joined: Fri Jun 28, 2013 11:45 pm

Re: Scripting todo list

#2 Post by MatGB »

dbenage-cx wrote:
MatGB wrote: [*]Orbital Drydocks need to be toned down—Exact details to be decided but they definitely shouldn't work on the turn you conquer the planet they're on (perhaps a Happiness threshold), and probably ought to require a ship spend a turn there stationary not simply turn up. They also need to lose the Infrastructure penalty.
Would like to tackle this.

My proposal is to repair the ship a percentage of its current structure each turn.
The percentage would be adjusted based on the happiness of the planet (which has a lower threshold within the scope). e.g.:

Code: Select all

SetStructure value = min(Target.MaxStructure, Value * (1 + ((Source.Planet.Happiness / 20.0) * 0.25)))
Increases the ships structure by 25% if the planet has 20 happiness. Higher/lower happiness adjusts the rate of repair.

Within scope, set a minimum of 5 happiness:

Code: Select all

(Source.Planet.Happiness >= 5)
Hmm, thing is, we still want drydocks to be the most powerful repair, but we want them at strategic points and ideally require you to withdraw ships to use.

My main balance problem with them is they complete a full repair immediately you arrive and they repair immediately on conquest, both of which are too much. I want to tone down fleet repair/damage control techs to be fairly low repair per turn, but drydocks should, if they work, repair in a turn or two, just not immediately and on conquest, make sense?

Having said that, I do like the basic idea that happier planets will repair stuff faster, but the basic repair rate needs to be higher, probably 50% if at 20 (given that it'll take time to get there, etc). And it'll need sitreps distinguishing between partial repair and full repair in some way.

It's partially as the idea is they're going to be increased in cost quite a lot at some point, but only when the AI team feels they'll be able to improve the AI production planning so they're not wasting points building them anywhere, if we nerf them too much it's a) annoying to players and b) makes the cost increase less justified.

Regarding opening issues, then yes please go ahead Cpeosphoros—if you can tag them, tag them "Scripting", if not then one of us will have to do it once they're in.
Mat Bowles

Any code or patches in anything posted here is released under the CC and GPL licences in use for the FO project.

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

Re: Orbital Drydock revision

#3 Post by Vezzra »

dbenage-cx made a reply on the github issue I think should also be posted here:
dbenage-cx wrote:Adjusted to hopefully be more inline with MatGB's vision.

Gave a minimum repair rate of +5, mainly to help repair nearly destroyed and small ships faster.
On a planet with 5 happiness, the repair rate is +20% of the current structure.
For 25 happiness, +100%

The idea was for large ships with a lot of damage to take a long time to repair on unhappy worlds.

While I like the happiness scale, I think it probably needs to be withdrawn for a target repair rate of 1-2 turns. A ship with 21 max structure and 3 current structure will take 4 turns on a planet with 25 happiness.

Bluehand
Space Floater
Posts: 39
Joined: Sat Feb 21, 2015 7:47 pm

Re: Orbital Drydock revision

#4 Post by Bluehand »

Seems like infrastructure ought to have some influence as well.
Code or patches I post are released under the CC and GPL licences in use for the FO project.

dbenage-cx
Programmer
Posts: 389
Joined: Sun Feb 14, 2016 12:08 am

Re: Orbital Drydock revision

#5 Post by dbenage-cx »

Makes sense, though that may be best implemented once infrastructure is factored into other items and is more defined from a player and AI perspective.
Any content posted should be considered licensed GNU GPL 2.0 and/or CC-BY-SA 3.0 as appropriate.

User avatar
MatGB
Creative Contributor
Posts: 3310
Joined: Fri Jun 28, 2013 11:45 pm

Re: Orbital Drydock revision

#6 Post by MatGB »

Bluehand wrote:Seems like infrastructure ought to have some influence as well.
True, but we also don't want to make it too complicated.

We could replace the Happiness 5 threshold for an Infrastructure 5 threshold given Happiness does something else as well, but keeping things simple to explain is a design goal and infrastructure is meant to be a replacement for ground level buildings not orbitals, mostly.
Mat Bowles

Any code or patches in anything posted here is released under the CC and GPL licences in use for the FO project.

Bluehand
Space Floater
Posts: 39
Joined: Sat Feb 21, 2015 7:47 pm

Re: Orbital Drydock revision

#7 Post by Bluehand »

MatGB wrote:infrastructure is meant to be a replacement for ground level buildings not orbitals, mostly.
Oh, I wasn't aware of that, but it makes sense.
Code or patches I post are released under the CC and GPL licences in use for the FO project.

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

Re: Orbital Drydock revision

#8 Post by Vezzra »

MatGB wrote:
Bluehand wrote:Seems like infrastructure ought to have some influence as well.
True, but we also don't want to make it too complicated.
This.

I've taken a look at the PR now. One objection I've brought up each time limited repair rates for drydocks have been suggested I want to repeat here (even if just for the records): IMO requiring ships several turns to complete repairs will aggravate the already existing micromanagement that results from having to send ships back to a drydock for repairs. Once your empire (and the scale of the wars you're involved in) surpasses a certain size, it becomes more and more difficult to keep track of all the ships you send back and forth between the front lines and your drydocks. I'm speaking about experience I had with other 4X space games. If, in addition to juggling all those ships around, you also have to wait several turns for repairs to finish (instead of being able to send them back the next turn), this will get worse. Of course the sitreps help (without them this would be absolutely unmanageable), but you will still have to deal with the fact that you will accumulate lots of ships in various stages of repair at your drydock sites, and painstakingly wade through the sitreps ship by ship and decide for each one what to do with it, where to send it. You can't expect a fleet of ships you sent back to a drydock to be fully repaired after a turn, so you can send that fleet out again. You can't even expect the ships of this fleet to complete repairs on the same turn, so you'll have to split off the already repaired ships each turn (unless you want to let the already repaired ships wait for the others, which you probably won't if you need every available ship on the front lines in a war).

I hope you can see where this leads (potentially). If you want to play an optimal game, you'll be forced to track and manage ship repairs on a very granular level, instead of being able to just send batches of damaged ships back to a drydock and return those batches to the front lines.

For these reasons, I'd suggest to at least keep the flat 100% repair rate. Having to wait one turn after arrival at the drydock for the repairs to kick in might work, as all the ships woud still get fully repaired on the same turn, no need to start splitting off already repaired ships. A delay of one turn might turn out as manageable, this maybe won't create too many different fleets which have arrived on different turns sit at the drydock and requiring you to sort out which fleets got repaired and can be sent back and which still need to wait - keep in mind that you do not get sitreps for repaired fleets, but for each single ship! Generating "fully repaired" sitreps for entire fleets instead of single ships will go a very long way of alleviating this issue.

Requiring a min happiness of 5 to get any repairs at all is a very good idea IMO. Whatever we decide on the other aspects, we should definitely keep that.

That all said, if you still want to try limited repair rates for drydocks, at least consider this: please don't make repair rate depend on happiness beyond requiring the minimum happiness level of 5 to get any repairs at all. Reasons for this (due to the fact that all the happiness stuff just being in an early design stage, so to speak):
  • There are currently very limited options for the player to influence/raise happiness, so that stat shouldn't be used for more complicated/detailed stuff yet, especially things that would require higher levels of happiness. The current use of happiness as a minimum level to allow certain stuff (like becoming a source for colonizing etc.) is just a stop-gap solution until we get around to nail down how exactly all that happiness stuff is supposed to work. We should stick to this current use of happiness until then.
  • We don't know yet if we want to use the happiness stat in a way like this (as a base to calculate other stats, which is something else than using a certain level of happiness as a requirement to trigger the availability of certain other stuff) at all. Considerations about happiness so far don't point in that direction IMO.
  • I'm vary of all those ideas to use happiness as a base stat for other stats like e.g. pop is used as a base stat for the resource stats (with the notable exception of "rebel troops", but all this is still subject to design discussion). I think happiness should be more of a "politics" thing, which acts more in a way where you have to reach certain levels to be able to do/enable certain things (see the ongoing design discussion about influence and happiness here).

User avatar
MatGB
Creative Contributor
Posts: 3310
Joined: Fri Jun 28, 2013 11:45 pm

Re: Orbital Drydock revision

#9 Post by MatGB »

Replying briefly here, with further testing I'm in agreement, sort of. Rereading the old Fleet Repair thread (in which you first suggested the happiness 5 threshold, no wonder you like it ;-) ) I was actually surprised the discussions were old enough to have started before 0.4.4, ouch.

I think the basic idea that happier planets repair faster is a good stopgap (we haven't agreed on exactly what happiness can/should be used for but this is a nice simple different use that feels right, instinctviely) but the 25 multiplier based on current happiness stats is too high.

Reduce it to about 15 and we should actually be relatively good, full repair for most ships should take at most 2 turns and the almost-dead ships should take a bit longer but not massively (I'll test this, obviously, I have a game open to run it through completely).

I have a problem with a massive granularity of micromangement however I don't object to some fleet management, in which repairs are part. A strategy game should involve some management of combat resources including "so dead they're out of play for a bit" levels, else it's not really a strategy game in the form I recognise (Vezzra's played more space 4x games than me but I've played alot of strategy games in general including board based wargames). If a ship in a fleet is much more heavily damaged then removing it from the fleet is fine by me as it adds verisimilitude and strategic choices (I lost a ship in my last turn because I decided to keep it in despite being half damaged for an attack, that was a choice and I think the right one given I won overall).

We have the ability to combine all ships in a system, remove damaged ships and then split by ship type, something I regularly do anyway. I want there to be a few turns for a heavily damaged ship but lightly damaged ships to turnaround almost immediately, that is and should be what happens with this patch if we get the numbers right (and I really like that the numbers have been put into a macro in this patch so we can tweak them easily, good work there).

So: we're agreed on the happiness threshold, and mostly accepting the one turn delay, we're not 100% agreed on the idea that it's not full repair but we've discussed this heavily in the past, we're not at all sure the current numbers of repair rates are right but agreed that, if we keep the not instant repair aspect that the current numbers are tool low. Yes?

In which case if we adjust the macros so that the happiness multiplier is dropped from 25 to 10 (or even 5) then repair would be fast and in most but not all cases instant, then tweak in the future. That work for everyone?

(bear in mind that we still want repair crew parts, a core 'mobile drydock' part and to tone down and rework the damage control techs all of which will need to be balanced against each other)
Mat Bowles

Any code or patches in anything posted here is released under the CC and GPL licences in use for the FO project.

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

Re: Orbital Drydock revision

#10 Post by Vezzra »

MatGB wrote:I was actually surprised the discussions were old enough to have started before 0.4.4, ouch.
Time flies, doesn't it? ;)
I think the basic idea that happier planets repair faster is a good stopgap (we haven't agreed on exactly what happiness can/should be used for but this is a nice simple different use that feels right, instinctviely)
I'm a bit wary about stopgaps that lead in a direction we might not want to go in the end. And using happiness like this feels a bit like if we'd use it similarily for troop strength, or resource production etc. (after all, it makes as much sense to say that happier planets are more productive, will fight invaders more valiantly, etc.). For obvious reasons we don't do that. I see no reason to make an exception for drydock repair rate.
but the 25 multiplier based on current happiness stats is too high.
Definitely.
Reduce it to about 15
If you really want to try that, ok (however, 15 really should be the absolute max here).
I have a problem with a massive granularity of micromangement however I don't object to some fleet management, in which repairs are part.
Well, having to send the more heavily damaged ships back to a drydock already quite efficiently introduces that aspect. To a degree where, once you have reached a certain scale in your war efforts, the micromanagement already is a pain, even with the current (overpowered) drydock mechanics. Don't get me wrong, I totally see the issues you try to fix here, and I want to fix them too, I just expect more serious issues introduced (potentially) than solved by an approach that primarily relies on limiting drydock repair rate.
A strategy game should involve some management of combat resources including "so dead they're out of play for a bit" levels, else it's not really a strategy game in the form I recognise ... I want there to be a few turns for a heavily damaged ship but lightly damaged ships to turnaround almost immediately, that is and should be what happens with this patch if we get the numbers right
Let me put it this way: if we can come up with a formula/mix of numbers that will ensure only the really heavily/almost dead bigger ships require more turns to repair (small ships should be repaired in the same time as big, only lightly damaged ship), so that you usually don't have to do too much fleet splitting/reorganizing all the time, we can give it a try. As I said, it's not that I don't like the concept as such (actually quite the contrary :D).
Vezzra's played more space 4x games than me
I'm not so sure about that. I've played mostly the Space Empires series (III-V), and a few other, minor, less known ones. I always had a preference for strategy games though, and have been playing some in the pre-4X era (anyone remembers "Empire - wargame of the century"? ;))
So: we're agreed on the happiness threshold, and mostly accepting the one turn delay
Yep. The former I favor anyway, the latter I can live with (and if we could get repair sitreps for entire fleets instead of single ships, that would remove much of my remaining issues with the latter).
we're not 100% agreed on the idea that it's not full repair but we've discussed this heavily in the past, we're not at all sure the current numbers of repair rates are right but agreed that, if we keep the not instant repair aspect that the current numbers are tool low. Yes?
Yes. Tweak the numbers so only the most heavily damaged ships take a few turns longer to repair, and I'm game to give it a try.
In which case if we adjust the macros so that the happiness multiplier is dropped from 25 to 10 (or even 5) then repair would be fast and in most but not all cases instant, then tweak in the future. That work for everyone?
Good enough for me so far.
(bear in mind that we still want repair crew parts, a core 'mobile drydock' part and to tone down and rework the damage control techs all of which will need to be balanced against each other)
All ideas I'm very much in favor of, but will naturally lead to drydocks becoming much more important (which is the purpose of toning down the amount of repair you can do in the field after all). Which means you'll have to send far more ships back to the docks for repairs once these changes are in, which in turn makes me so cautious wrt to potential micromanagement issues. Currently the micromanagement introduced by sending ships to drydocks for repairs is alleviated by those overpowered damage control/field repair techs, because by the time you have large scale wars going, you usually have at least enough of those techs that you don't have to bother with drydocks at all anymore. I'm curious how this all is going to work out once those techs are nerfed and drydocks become really important.

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

Re: Orbital Drydock revision

#11 Post by Geoff the Medio »

Vezzra wrote:Let me put it this way: if we can come up with a formula/mix of numbers that will ensure only the really heavily/almost dead bigger ships require more turns to repair (small ships should be repaired in the same time as big, only lightly damaged ship), ...
A fixed +X structure per turn would seemingly accomplish that...

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

Re: Orbital Drydock revision

#12 Post by Vezzra »

Geoff the Medio wrote:A fixed +X structure per turn would seemingly accomplish that...
If that fixed amount is the minimum structure that gets repaired independent of any other factors, yes.

If we make drydocks to just repair that fixed amount and throw out any kind of formula, we're back at smaller/medium ships just getting repaired fast regardless how heavily damaged they are, while the real big ships take too long, even if only moderatly damaged (because having sustained 200 damage is almost dead for a 220 structure ship, but only light damage for a 1K+ structure ship). You can't get a fixed number really right, not with the differences in ship scale we have.

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

Re: Orbital Drydock revision

#13 Post by Geoff the Medio »

Vezzra wrote:If we make drydocks to just repair that fixed amount and throw out any kind of formula, we're back at smaller/medium ships just getting repaired fast regardless how heavily damaged they are, while the real big ships take too long, even if only moderatly damaged...
Do you have a complete list of all the features / requirements you have for this formula, then?

User avatar
Bromstarzan
Dyson Forest
Posts: 206
Joined: Sun Feb 28, 2016 9:56 pm
Location: Sweden

Re: Orbital Drydock revision

#14 Post by Bromstarzan »

I see all the attempts here to make the drydock more dynamic, but I'm inclined to suggest: keep it simple. You dont't want to loose the benefit of having big ships. At least not too much.

And in relation to this, a repaired ship should increase it's strenght via "combat experience". This will make you want to look after your combat battered fleets and give them personal affection :D .
| i7 7700K [email protected] | GTX 1080 Ti | RAM: 32GB | PSU: 750w | W10 x64 | 2xAcer1920x1080 |

User avatar
MatGB
Creative Contributor
Posts: 3310
Joined: Fri Jun 28, 2013 11:45 pm

Re: Orbital Drydock revision

#15 Post by MatGB »

Exactly, but if we set the minimum repair rate from the current (low) 5 to, for example, 10 (what they were repairing per turn regardless until 0.4.4) and then have the repair rate for higher than that be based around (at an estimate) 15 happiness not 25 happiness then it would lead to a typical early game hull of 25-40 structure being always repaired in a couple turns even if almost dead, but still allow a powerful mid to late game hull like a Titan with lots of Xentronium plate get itself fixed up in an acceptable, but not non-existent, time period.

Of course one side effect of reducing the happiness based macro from 25 to 15 will mean that planets with higher than 15 happiness will repair even faster, which frankly I'm quite happy with.

(we do need to have a proper discussion of what we want to do with happiness overall now we're using it in a few places effectively, but that should be for a different thread, I have some cool ideas but I have to rush out in a bit)
Mat Bowles

Any code or patches in anything posted here is released under the CC and GPL licences in use for the FO project.

Post Reply