Jump to content

dupes stalled with unpowered bunker doors


Recommended Posts

I don't think this is a bug exactly, so it feels more appropriate to throw this here.

Currently if a dupe has a task assigned to it that would have it go through a bunker door, it waits until the bunker door is completely open. This is true even if the bunker door is unpowered and takes 4584925743 years to completely open, so the dupe just sits there forever instead of taking a legitimate alternate route that doesn't require going through the bunker door.

Currently i work around this by forcing a "move here" to a spot that would make the intended target destination more efficient without going through the bunker door. It would be nice if the game could figure that out on its own, to say "if a dupe is stalled for >X seconds bc of bunker door, find alternate route instead"

Link to comment
Share on other sites

The pathfinding algorithm used by the game ignore a lot of factors...  For example, if there is 2 path, one in dirt, and one in metallic tiles with +50% run speed... Dupe might choose the dirt path with the slowest travel speed. (I don't believe it would be that computation-intensive to add a weight to each tile travelled, but then again, I'm not familiar with the engine)

So yeah... Lets add this one to the list of things that makes the game feel unpolished.

As a workaround, maybe try avoiding having any path that would allow a dupe to go through bunker doors? 

Link to comment
Share on other sites

the problem with changing path finding mid walk (after wait for few secs, find alternative path) is that they require multiple path finding per  duplicant task. You can have that, yes, but for normal potato computer (even high end computer as this game only run in 1 core), running more path finding just cause the game to lag. That why this game make check path finding when dupe start do task only, and wont refind a path unless the path is complete block off/removed.

The game wont actually run slower, but as there are more path finding. you will often see duplicant stand still as their path finding are not completed yet.

Link to comment
Share on other sites

4 hours ago, Mastermindx said:

(I don't believe it would be that computation-intensive to add a weight to each tile travelled, but then again, I'm not familiar with the engine)

There are optimizations which can be done if node weights aren't taken into account. Like with the basic A* pathing algorithm,it first tries going directly to the destination, and if it is blocked it spreads out. But if there is no blockage, then it is extremely fast, it can beeline the destination and be like "done!".

If there ARE variable node weights, then even if the most direct route is open, there might still be a quicker route which involves first going in the opposite direction, for example if the lowest cost tile has a 50% movement cost, there might be a shorter route which involves going twice as far. It is still possible to use A* with variable weights but it inevitably increases the search space to find the shortest path, especially with reduced costs.

ONI actually does use some weighting in its pathfinding: for example Firepoles have a lower cost when going down and a higher cost when going up, and transit tubes have a lower cost than other means of getting around. So it does take some weights into account and loses the advantages of a weightless pathfinding. So I'm not sure why it doesn't take into account the movement bonuses/penalties from plastic ladders and tiles.

It is worth noting that increased weights (movement penalties) are less expensive to the algorithm than reduced weights (movement bonuses), and like the firepole bonus for going down is really quite very small, it's really just a bias that nudges dupes onto the firepole in favor of an adjacent ladder, but the penalty for going up is very large, a dupe will walk quite a long way to avoid climbing a firepole. I understand why they don't account for large movement bonuses like metal tiles because it would make all pathfinding more expensive on the basis that there could be that more roundabout route paved with metal tiles, but there isn't really a good reason to not account for movement penalties like from walking through deep water, it wouldn't add much cost to the pathfinding, and would only add cost when the shortest path happens to be through deep water.

Link to comment
Share on other sites

This sounds like a really specific scenario that doesn`t usually happen as most of the time you use the bunker doors for protection rather than as an actual door. I think an easy way to fix it would be to treat the door as a wall until it`s fully open so it completely blocks pathing. The downside would be that dupes wouldn`t be able to open them on their own but given how long the doors need to open and close (especially unpowered) i don`t think anyone would use dupes to open them.

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

Please be aware that the content of this thread may be outdated and no longer applicable.

×
  • Create New...