Fleet Repair

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

Moderators: Oberlus, Committer, Oberlus, Committer

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

Fleet Repair

#1 Post by Geoff the Medio » Fri Feb 14, 2014 10:25 pm

I'd like some feedback on these ideas for changing fleet repair mechanics:
  • Early fleet repair / damage control techs don't have effects that directly increase structure. Instead, there is a ship part, engineering bay or somesuch, which allows robotic- or asteroid-line hulls to get structure recovery from repair effects.
  • One or more techs can increase the rate of such repair, when in or outside supply range. Repair on rounds after combat still doesn't happen.
  • Probably the initial tech would only allow slow repair when in supply, but later techs would increase the rate and allow it outside supply. The same engineering bay part would increase in function with these techs.
  • Organic hulls don't get part-based repair effects, but retain innate auto-repair / healing.
  • Late game, some additional techs that give repair effects without requiring a part in a ship design could be added.
  • Late game, the Logistics Facilitator hull would still allow repair even after a combat turn.
  • Drydock repair is slowed down a bit... Will be substantially faster than field repair (especially field repair when outside supply) or organic growth, but not instant. Maybe ~3-5 turns to fully repair ships (% of max structure based), or at a fixed rate of structure recovery, so high structure ships take longer.
  • Some species are better at repair, and having them as crew causes repair to happen faster to their ship.

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

Re: Fleet Repair

#2 Post by MatGB » Fri Feb 14, 2014 10:48 pm

All sound fine, in principle, to me.

One of my side projects that I nearly completed but never submitted was to redo/balance Advanced Damage Control, which is ridiculously OTT, but it broke the AI badly at the time, it works better now as Dilvish has reqorked AI repair/withdrawal but I wanted to get the ship hulls balancing thing done first.

More recently, I considered making Fleet Field Repair an interstitial between basic and advanced damage control and sorting out the mechanics-but at a very basic level making ADC not work immediately after combat using the FFR script that limits that is something that's really needed.

Your ideas would need some real work in the AI though, not sure how much. Dilvish?

Oh, also some organic hulls don't repair automatically currently, notably the best mid game hull the Endomorphic, used heavily by the AI and many players, but that could be tweaked very easily (and with the growth mechanic the lack of it for the Endo can be annoying at times, without ADC they always count as damaged for "split damaged fleets" even if they're only .2 below max).

Definitely think repairs need work compared to where they are now, and happy to do some of the work given it's virtually all scripting not backend stuff.
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
Dilvish
AI Lead and Programmer Emeritus
Posts: 4768
Joined: Sat Sep 22, 2012 6:25 pm

Re: Fleet Repair

#3 Post by Dilvish » Fri Feb 14, 2014 11:42 pm

MatGB wrote:Your ideas would need some real work in the AI though, not sure how much. Dilvish?
Sounds like with a moderate amount of work the AI could handle repairs about as well as now. Which is not that great. :lol: Hard to tell without final specifics (seems there's a lot of potential changes listed).
If I provided any code, scripts or other content here, it's released under GPL 2.0 and CC-BY-SA 3.0

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

Re: Fleet Repair

#4 Post by Vezzra » Sat Feb 15, 2014 6:10 pm

Geoff the Medio wrote:I'd like some feedback on these ideas for changing fleet repair mechanics:
These ideas sound good to me, except the following:
  • Drydock repair is slowed down a bit... Will be substantially faster than field repair (especially field repair when outside supply) or organic growth, but not instant.
That's already the case now, and I actually wanted to suggest to put that back to instant repair. Granted, non-instant repair at a drydock is certainly more "realistic" and probably a bit more interesting gameplay-wise than instant repair, BUT: even with only a few ships that mechanic is already quite annoying, once you have a lot of ships and a full scale war on several front lines going on, that simply turns into micromanagement hell. The problem is, having to decide which ships to send back to a drydock for repairs (because you won't send back just any ship that has even the slightest damage) and then to keep track of all the ships going to and coming from drydocks is already a major pain, if in addition to that you have to wait several turns for the repairs to complete and check back every turn which ships have been fully repaired and can head back to the front lines, then things just get unbearable.

Don't get me wrong, I really want to keep the need to have drydocks for ship repairs, but we definitely need to do something about the micromanagement issues. ATM I try to get the repair techs ASAP once my ship count goes up, not so much because ships get repaired faster, but much more to avoid the micromanagement involved when I have to send them back to drydocks.
  • Some species are better at repair, and having them as crew causes repair to happen faster to their ship.
Hm, I'd rather have the species of the colony the drydock belongs to determine repair rate than the ship crew. After all, usually it's the drydock staff that does the repair, not the ship crew. And personally I also feel it's more interesting to have this property (repair rate) not as a property of the ship, but of the drydock.

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

Re: Fleet Repair

#5 Post by Geoff the Medio » Sat Feb 15, 2014 8:54 pm

Vezzra wrote:
  • Some species are better at repair, and having them as crew causes repair to happen faster to their ship.
Hm, I'd rather have the species of the colony the drydock belongs to determine repair rate than the ship crew. After all, usually it's the drydock staff that does the repair, not the ship crew. And personally I also feel it's more interesting to have this property (repair rate) not as a property of the ship, but of the drydock.
I meant for repair away from drydocks, when in or out of supply range.

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

Re: Fleet Repair

#6 Post by MatGB » Thu Aug 21, 2014 11:20 am

Taking into account what Geoff's proposed above and what we've discussed elsewhere and what we've changed within the game since this was posted, some proposals/a draft spec I can work on:
  • No repair at all should be possible in the turn combat has happened, exceptions: see below
    • This would mean changing the Robotic Hull, most of the Organic line, Basic Damage Control and Nanorobotic Hull
  • Fleet Field Repair and Advanced Damage control should work roughly as they are now changed to repairing a percentage (probably 20%ish each) of current structure, not maximum structure.
    • Meaning lightly damaged ships can effectively field repair, even out of supply but heavily damaged ships have to withdraw
  • Orbital Drydocks should be made more expensive, but repair a fairly good percentage of max structure, probably 25% per turn
    • NB, before recent changes they were repairing 10 points per turn, we deliberately upped this to 100% partially as there was a bug in effects processing and partially because we knew we were going to redo everything after 0.4.4 was out
  • The prerequisite buildings needed to create a hull in the first place also repair approximately 25% per turn, and this does stack with drydocks
  • New engineering bay parts should be created
    • An Internal part allows for relatively good field repair, potentially with species bonuses and tech improvements, but still based on current, not max, structure
    • A Core part allows for a ships to operate as a mini drydock, repairing moderate amounts of damage in a fleet if stationary, this should be approximately 10% of max structure per turn (ie roughly what Fleet Field Repair/Advanced Damage Control do now).
    • Logistics Facilitator allows small amounts to be fixed immediately after combat (negligible amounts, 5% max? 5 points?) and then acts in a similar way to the Core slot part, stacking with said part (given it has a core slot), but probably better than the slot, 20% or even 50% might not be unbalanced
  • Some species Good/Bad repair stats are introduced
    • Good Repair is predominantly but not exclusively Robotic, gain bonuses at certain types of field repair, probably increasing the effectiveness of the tech for them.
    • Bad Repair is for other species, likely candidates to include Mu Ursh, Eaxaw and Hhhoh as a balance for their Good/Great Pilots traits
  • All Organic line hulls have some element of self repair, but cannot make use of the parts and possibly even the techs, but the later stage hulls have improved self repair instead.
I have no idea if the AI can even be taught how to make use of the above, I suspect some bits more than others, and it'd need to be broken up into smaller bits to code over time for both sanity of testing sake and to stop Dilvish from trying to kill me ;-)

Thoughts? Questions?
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
Geoff the Medio
Programming, Design, Admin
Posts: 12675
Joined: Wed Oct 08, 2003 1:33 am
Location: Munich

Re: Fleet Repair

#7 Post by Geoff the Medio » Thu Aug 21, 2014 11:30 am

MatGB wrote:...repairing a percentage (probably 20%ish each) of current structure, not maximum structure.
This would result in exponential growth of current structure. What is the rationale?

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

Re: Fleet Repair

#8 Post by MatGB » Thu Aug 21, 2014 11:54 am

Reduce it from the current which is based on max structure.

Example, if I have a hull with, say, 1000 structure (a Great Kraken for example), the current setup allows it to repair 200 points of damage per turn, even if it's down to the last few points.

But if it's been reduced to 100 points, the proposed change would stop the 200 points per turn regardless of current health, and instead give it, say, 20 points (up to maximum, obviously).

This would mean if it had taken 100 points of damage it would repair all of it, because it's mostly healthy, but it it had taken 900 points of damage it would be effectively non combatant for many many turns until it either self repaird (very slowly) or got to a drydock.

(NB, I picked the Kraken as a) the numbers are easy and b) I've taken to use them to knock out annoying Sentinels as, even with the recent nerfing of Advanced Damage Control, a high structure hull repairs really quickly)

So yes, it would mean a ship reduced to 10 points would repair 2 points on teh first turn and 2.2 on the second, etc, I'm fine with that, it would still take a long time to repair unless a repair station is visited.

And I'd like to keep it percentage based not actual points based as it's easier to balance and larger hulls are likely to carry more repair crews, etc. If you make it, say, 10 points per turn, then a ship with 30 points total is back to full health almost immediately even if they're knocked down to 1 point, but a ship with 500 points total will be waiting for a huge amount of time, don't think that would be right.
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
Dilvish
AI Lead and Programmer Emeritus
Posts: 4768
Joined: Sat Sep 22, 2012 6:25 pm

Re: Fleet Repair

#9 Post by Dilvish » Thu Aug 21, 2014 3:44 pm

I'd suggest simply adding a limit, like min(50, 0.1 * maxStructure)
If I provided any code, scripts or other content here, it's released under GPL 2.0 and CC-BY-SA 3.0

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

Re: Fleet Repair

#10 Post by Vezzra » Thu Aug 21, 2014 3:50 pm

Dilvish wrote:I'd suggest simply adding a limit, like min(50, 0.1 * maxStructure)
What's the problem with Mats approach? I like his suggestion of basing repair rate on current structure...

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

Re: Fleet Repair

#11 Post by MatGB » Thu Aug 21, 2014 3:57 pm

Part of my reasoning is that, as well as being easier to code, it's easier to explain, and I like to be able to document a feature in as few words as possible.
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
Dilvish
AI Lead and Programmer Emeritus
Posts: 4768
Joined: Sat Sep 22, 2012 6:25 pm

Re: Fleet Repair

#12 Post by Dilvish » Thu Aug 21, 2014 4:42 pm

Vezzra wrote:
Dilvish wrote:I'd suggest simply adding a limit, like min(50, 0.1 * maxStructure)
What's the problem with Mats approach? I like his suggestion of basing repair rate on current structure...
Ah, no problem I guess. I was a bit distracted by the argument about ships with large max structure, which I don't think is really a valid argument -- it works out pretty much the same (with both the current dynamic and the proposed dynamic) whether your 1k of max structure and 900 points of damage is in a single ship versus spread out amongst 20 ships. So, I'm fine with the proposal and do see some advantages to it.

This sort of brings up the related combat issue that with the one big 1k hp ship taking 900 points damage you know it is still alive with 100 points, whereas with the 20 ships they wouldn't all be at 5 points, some would be dead. But killing whatever handful of those 20 died would have also caused wastage of incoming damage due to multiple simultaneous killing hits and simply due to single-hit overkill. And I guess the 20 ships will be having their damage output go down incrementally whereas the one large ship will keep full damage until the end. I had been thinking at first that the 20 ships are more likely to get through a battle with attrition, but are also more likely to win a battle, which seemed like a generally fair tradeoff to me, but the incremental damage reduction might leave the whole win-likelihood balanced or even in favor of the one large ship. I suppose it merits a closer look. That might be slightly off topic but I wanted to be sure to get that thought into any consideration of combat, damage & repair.
If I provided any code, scripts or other content here, it's released under GPL 2.0 and CC-BY-SA 3.0

-VLV-
Space Floater
Posts: 17
Joined: Fri Aug 22, 2014 5:31 pm

Re: Fleet Repair

#13 Post by -VLV- » Sun Aug 24, 2014 8:29 pm

someone mentioned somewhere for me to check this thread to perhaps bring different points of view, so I figured one :p

I like realistic approaches as the one you've taken with the repair system, however when taking micromanagement (mentioned somewhere already) into account, it may sometimes be worth taking "radical" semi-realistic approaches, which while losing the so loved realism, compensates in simplicity and ease of use.
Hearts of Iron III for example, repairing armies/fleets/aircraft is really "simple" (for the player), there's an amount of industrial output needed to fully repair everything (and some time as well, not sure how that part works, can investigate if wanted), and an amount of ind.output the player actually allocates for repairs. Then, whatever needs to be repaired and is in the supply lines, will get repaired an amount depending on allocated industry. These values are then updated in each cycle (HOI=days / FOrion=tuns).

I guess it's just not very friendly in relation to code rewriting

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

Re: Fleet Repair

#14 Post by MatGB » Sun Aug 24, 2014 8:56 pm

-VLV- wrote: I guess it's just not very friendly in relation to code rewriting
Pretty much.

The entire backend code is written in C++, which I don't do at all, I'm learning to read Python, and I'm now reasonable (but not actually good) at the bespoke scripting language written for the game that's meant to be simple enough that a non coder like me can pick it up (which it obviously is, it's roughly as complex as HTML which is the only other language I can work in).

So I'm spending time doing stuff like rewriting existing scripts and lookign for balance issues, and bug hunting on effects and similar, because that frees up the more experienced devs to do the backend stuff I appreciate that's way beyond me.

The spec I wrote above is basically "stuff I can do within the existing codebase", I can rewrite the content scripts to do everything I setout myself, wihtout much difficulty.

But anything that messes around with the production queue or similar would require backend code changes the complexity of which I can't comment on. So basically for 0.4.5 we're probably looking at balancing the existing scripts to make them work better, but in the medium to long term more complex ideas involving production points and similar could be introduced, but they'd need someone not me to write the backend changes.

If there's adecent plan, and a spec that people agree on, then I'd have no problem at all with costs to repair being implemented, I'm basically trying to make repairs harder and more important to plan for as you can probably tell. But it's way outside the remit I've set myself for the next stable release (unless one of the devs decides it's a really good plan and codes the backend interface for it, but I've no idea how much work it would be).
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
MatGB
Creative Contributor
Posts: 3310
Joined: Fri Jun 28, 2013 11:45 pm

Re: Fleet Repair

#15 Post by MatGB » Sat Jun 06, 2015 10:06 pm

Bump

Reviewing old "things we'd like to do for 0.4.5" threads and was reminded of this. I'd quite like to get some of it done, thinking specifically:
  • Basic Damage Control no longer directly repairs, instead an internal slot part is opened up that does moderate repairs
  • Fleet Field Repair and Advanced Damage Control are changed as above to repair based on current structure so heavily damage ships basically have to go home for repairs
  • Drydocks are increased in cost, and only repair an amount per turn (I'm thinking 25%?)
  • Ships with self-repair abilities have them toned down in the turn they've been in combat
That's all fairly simple to do and I think I like the balance implications, we can work through the more complex stuff, create the core slot parts, etc later.
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