View Issue Details

IDProjectCategoryLast Update
0028613Heart Of The MachineBug - GameplayJun 3, 2024 6:00 pm
ReporterDarloth Assigned ToChris_McElligottPark  
Status resolvedResolutionfixed 
Product Version0.534 Trailer Bits 
Fixed in Version0.535 A Horrifying Idea 
Summary0028613: Bulk Combat squad not targetting hostile within range
DescriptionIf you load the provided save, there's exactly one Bulk PMC Imposter squad, set to Deter and Defend.

Looking at the list of enemy attacks that turn, a single squad of enemy PMC Trooper is firing at a Large Wind Generator.

The PMC Troopers are within the (boosted by stance) range of the Bulk PMC Imposter squad, but they are not being targetted.

If you move the PMC Imposters closer (so that they are within the range they would have in Seek and Destroy stance, but without actually selecting that stance) they will target those enemies on this turn. If you then move them further away again, they stop targetting.

Conclusion: They are not using their full buffed attack range to actually target enemies in, and they should do so.
TagsNo tags attached.

Activities

Darloth

Jun 3, 2024 12:35 pm

reporter  

Chris_McElligottPark

Jun 3, 2024 6:00 pm

administrator   ~0068975

* Completely re-coded a large part of the targeting system, specifically so that it now is not limited by distance in quite the same way as before. Certain other things are still using cellular chunking in order to maintain performance, but the targeting system maintains performance in a different fashion.
** Tested this with 2500 units all fighting each other, and the performance does take a hit, but it's on a background thread, and only about four times slower in this extreme scenario, while giving better results, and still being under half a second on my test machine.
** In general, the expectation is that on most modern machines, in more common scenarios, this will be effectively the same perceived speed for players. There are a couple of further hand-optimizations I could put in place if I ever need to, but it's already highly optimized, so it doesn't seem warranted right now.
*** Please bear in mind that when I am talking about speed here, none of this affects the turn-time changeover, or the framerate. This is all "time for all units who want one to acquire their target," on a background thread, and in the worst-case scenario I tested it was averaging 170ms. More common scenarios were more like 20ms, up from 10ms in prior builds.
** In general, this fixes the issue with the player units with very long ranges being unable to acquire a target, and in some cases this seems to beat the new "echo" targeting that was otherwise required. In other cases, for some reason the echo is still required. That part is really a mystery, but whatever.
** In general, I went ahead and further updated the targeting logic so that, if the player has not requested to go to the next turn, and nothing else has requested a fresh targeting pass, it will still request a targeting refresh every 1 seconds. This is all on the background threads, and it was just otherwise able to get too stale for various unknown reasons. Since the targeting is on a deterministic seed, this doesn't cause any thrashing around, but does cause it to correct itself if it was missing data the first time around. Or the second time. Etc.
*** The average targeting time for my test cases are still under 15ms most of the time, so this is really a tiny load in the average game, and the increase in correctness is dramatic.
** Thanks to Darloth for reporting this rabbit hole.

Issue History

Date Modified Username Field Change
Jun 3, 2024 12:35 pm Darloth New Issue
Jun 3, 2024 12:35 pm Darloth File Added: Bulk squad not shooting at something in range.save
Jun 3, 2024 6:00 pm Chris_McElligottPark Assigned To => Chris_McElligottPark
Jun 3, 2024 6:00 pm Chris_McElligottPark Status new => resolved
Jun 3, 2024 6:00 pm Chris_McElligottPark Resolution open => fixed
Jun 3, 2024 6:00 pm Chris_McElligottPark Fixed in Version => 0.535 A Horrifying Idea
Jun 3, 2024 6:00 pm Chris_McElligottPark Note Added: 0068975