1
Suggestions / Re: [Minor][0.97a-RC11] Ships sometimes fail to move in combat
« on: March 03, 2024, 11:29:45 AM »
Mmh. I mean... what I see is
E.g. in my last screenshots three out of four of my own ships already trade fire with the enemy, while the fourth is still "frozen", an allied Mora already trading fire with the enemy, while an allied Dominator is still "frozen".
This looks, if not like a bug, then like traitors. (But of my own ships the one remaining frozen is my own flagship... !?)
These observations tell me that, even if "to freeze up" is completely intentional behaviour, the rules which govern when a ship will do it, how long a ship will do it, must be inconsistent enough to allow an attacker the advantage.
The ships always (so far) do "wake up" eventually, but they really do play into the hands of the attacker this way.
From your descriptions, in comparison, I would expect to see the old and trusty algorithm for defense commands since... mmh, before the first Command & Conquer, if memory serves, which goes about like this:
Thresholds:
Algorithm:
But then an invariant would be that all ships with the same defense target would at the same time be in the same step.
Several observations point against the current behavour being a conscious attempt to improve upon this admittedly primitive, ancient and obviously problematic algorithm:
What I do not see, but would convince me there is no bug involved:
... Does that sound at least somewhat relatable? My perception is that "blatantly obviously" something must be wrong, even if of course I cannot know what exactly that is, but obviously you do not share that perception and I am, unfortunately, quite lost as to whence this divide comes from.
- ships staying in the pretty-random positions they are placed in on combat start
- ships moving a miniscule amount, then freezing up again
- different ships unfreezing at different times
E.g. in my last screenshots three out of four of my own ships already trade fire with the enemy, while the fourth is still "frozen", an allied Mora already trading fire with the enemy, while an allied Dominator is still "frozen".
This looks, if not like a bug, then like traitors. (But of my own ships the one remaining frozen is my own flagship... !?)
These observations tell me that, even if "to freeze up" is completely intentional behaviour, the rules which govern when a ship will do it, how long a ship will do it, must be inconsistent enough to allow an attacker the advantage.
The ships always (so far) do "wake up" eventually, but they really do play into the hands of the attacker this way.
From your descriptions, in comparison, I would expect to see the old and trusty algorithm for defense commands since... mmh, before the first Command & Conquer, if memory serves, which goes about like this:
Thresholds:
- loiter distance L (often RTSses seemed to just use "0" here)
- engagement distance E
- pursuit distance P
- L < E < P
Algorithm:
- try to move (and stay) closer to the target than L
- if enemies come closer than E, engage them, move away from the target as necessary while remaining engaged
- if the engaged enemy moves beyond P, go to 2
- if no enemies are closer than P, go to 1
But then an invariant would be that all ships with the same defense target would at the same time be in the same step.
Several observations point against the current behavour being a conscious attempt to improve upon this admittedly primitive, ancient and obviously problematic algorithm:
- several un-frozen ships are closer to each other than the gaps in their lines are wide, so the frozen ships would have the space to join them (as indicated by the red lines I drew for the Dominator
- several un-frozen ships are in front of the target, but the frozen ships are all behind it
- there are more attackers than defenders on either side of the target, braced by non-frozen defenders (the left Eagle (LG) and the right Afflictor (P))
- if it is range, that check has failed: other defenders already think enemies are in range
- if it is space, that check has failed: other defenders are fine with moving together closer than the gaps are wide
- if it is a competing strength check, that check has failed: the enemy has more ships, similar-or-bigger ships and more DP on both sides of the target
What I do not see, but would convince me there is no bug involved:
- in all given spaces the defenders clearly outmatch the attackers by some metric, before superfluous defenders freeze
- superfluous defenders move from their random starting position towards a waiting position from which they could quickly join the fight, only then freeze
(side note: Maybe they are doing this, but - as the engaged ships continously move around, presumably spare defenders also have to continuously adjust their waiting position, so in practise they would not actually freeze at all
- if defenders want to wait out a fight, either they move back far enough to not spend PPT or move close enough to fire guided missiles
(side note: But maybe they do? There is no good way I know of to easily observe this. It does not look like it, because mostly they just stay wherever they spawned, which is almost guaranteed to not be a sensible place.) - if too many defenders exist to engage all at once, defenders with the means to support stay back preferredly
(e.g. in the screenshot situation, the Mora stays back because it can still send fightercraft, the Dominator moves up instead because it cannot help at all from elsewhere; the Odyssey likewise would prefer not to stay back because all its fighters are support fighters that cannot help from the back)
... Does that sound at least somewhat relatable? My perception is that "blatantly obviously" something must be wrong, even if of course I cannot know what exactly that is, but obviously you do not share that perception and I am, unfortunately, quite lost as to whence this divide comes from.