Worker pathing causing performance issues

Avatar
  • actualizado
  • Out of Maintenance Scope

Hello! Did a search but didn't find anything related to it so thought I'd post this just in case.

For instance if you have a locked door with vision on a downed minion(friend, or foe if you have a prison), body(if you have a graveyard), artifact(if you have a library) or similar, it seems the game will cycle through all available workers every 5-10 seconds trying to find a valid path to the object in question. Unless you unlock the door to allow a worker to clear it, this will continue happening until the body decays completely. Can this timer be increased, or set to fail after X-worker-attempts(So it doesn't cycle through all of them)? Since if you have a large amount of workers and lets say 4-5 downed enemies, it becomes unplayable. Not because FPS in itself tanks, but an extreme amount of micro-lag.

Game Version:
Steam Public
Platform:
Windows
Avatar
Lee "Noontide" Moon
  • Marked for Review

Hi Rudolph,

This is an interesting observation. I'll pass this to our QA Analyst to have a look at when we next do a pass through all the tickets. This may be one that is worth investigating for the potential performance gain.

Cheers,

Lee

Avatar
Rudolph Reindeer

Hello Lee!

Just a heads up, it's not as straight forward as I initially thought. The report was based on two maps I played(I'll try dig up names and see if they were official, pretty sure one of them was) and I was easily able to reproduce the issue on those, however it is just like the other report I posted on spirits. Pathing works in some cases(no constant lag, just a single spike then stops), others not(continuous micro lag) , and I struggle to fully understand the rules behind it.  

I also do not think this is something unique to workers, but all minions, at least the lag is identical with minions on either 

1) Huge levels with an extensive network of corridors, Moongates do not negate the issue.

2) Medium( or larger) levels with either water, lava, gold or caverns separating land/dirtmasses.

I suspect this is (if my terminology is correct) a nesting issue, and that this is related to the worker-issue I've seen previously in that in those two scenarios I managed to reproduced the issue, the workers had 2 or more choices(2 doors) but both were unreachable(locked), causing several(or all) workers to continuously loop through those options to check for a valid path. Likewise with minions they react the same way given the same scenario(for instance a call to arms inside a friendly locked area). 

This behavior is also seen when there are many choices, lets say 10-15 different paths(5-10 corridors plus Moongates at regular intervals), and they are all pretty close in total distance. 

I suspect minions also calculate some extra pathing while under call to arms(Slaughterpen/Tavern?) as the same type of lag occurs on medium or larger levels with liquid or caverns separating landmasses with(in the case of liquids) no solid land connections except bridges and Moongates or thin slices of dirt crossing caverns. The microlag instantly vanish as soon as the call to arms is dismissed, and slowly returns if reenabled, it does not matter if it remains in the same spot.

Workers also struggle with this if the distance to nearest Moongate or Gold Vortex goes above around 20-25 blocks(If there is a solid land connection, as in not a bridge, the distance does not seem to matter), instead of delivering gold as expected the same lag occurs and they start dropping the gold on the ground.  

If its needed I'll try toy around with the issue and see if I can provide better pointers to properly reproduce the issue(s).

Avatar
Lee "Noontide" Moon
  • Backlog

Thanks for the further info that's really incredibly useful.

As with other tickets this is currently in our triage queue to be addressed sometime in 2019 once our programmers have some breathing room.

Avatar
anonymous
  • Out of Maintenance Scope
Avatar
Lee "Noontide" Moon

Hi Rudolph,

As part of the triage pass we brought this up with the programmers. The behaviour you're seeing is sadly a trade-off of the approach taken with pathfinding. Under certain conditions, it can run very slow but in the vast majority, it runs very fast as needed to keep up with the sheer number of units and unique pathing requirements of WFTO.

Thanks for your report and sorry that we won't be addressing this further.

Cheers,

Lee