1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.

Lower the imps' AI tendency to fortify, please?

Discussion in 'Suggestion Archive' started by JulianB3000, Dec 30, 2015.

  1. JulianB3000
    Offline

    JulianB3000 Dwarven Worker

    Messages:
    22
    Likes:
    5
    Trophy Points:
    25
    Hi,

    I play vs. the AI, and I'm fast concluding that the single most useful Sin is the ritual that lets me fortify my own walls.
    Not because I want the walls fortified, not at all. That seems generally pointless. Most of the time, if the AI is tunnelling through the walls in my treasury, I've probably already lost. That's not why I value the fortify ritual.
    It's because I want my workers doing something useful.

    The number of times I see a battle with KO'd critters from both sides, none of my imps collecting them, and find most of my workers are fortifying nearby walls is crazy ... and it just makes me want to cry in frustration.

    I'm reaching the point that I don't launch an attack until I've cast fortify to stop my imps getting distracted on irrelevant tasks.

    Can the imp-AI be set so that they'll value (almost?) everything else over fortifying? If there are KO'd mobs, dead mobs, flagged-dirt, empty tavern meat cannons - anything - that they can do, I want them doing it rather than fortifying walls. I'd be happy with the outcome that they only fortify if either of these applies:
    a. I've dropped an imp beside a wall, and there's nothing else for them to do within a ?4? tile radius, or
    b. there's literally nothing else to do anywhere.

    Something else that might help is flagging these imps (ones who are fortifying) as 'idle' so I know I can grab them for re-use.

    Cheers,

    Julian.
     
    Ontos likes this.
  2. v0id
    Offline

    v0id Programmer Dev Team

    Messages:
    2,428
    Likes:
    1,012
    Trophy Points:
    580
    Hello @JulianB3000

    In fact everything should be setup and intented like you wish, but I wonder why it didn't worked for you.

    The priority for fortifying walls is already extremely low, so that they should never fortify walls if there are other tasks to do.

    However only one worker will take over one task (the nearest worker) and if there is a point a worker does not find anything else to do than fortify a wall it will start and then finish this task even if more important tasks pop in the middle of fortifying walls.

    Rescuing Units has the highest priority right before building constructs.

    However there are three important things to note:
    • Units die after being 60 seconds unconcious and become corpse, then they can not be rescued and will be only brought to a crypt if there is space with much lower priority than resucing unconcious minions
    • Tasks which are surrounded by enemy treats fall lower in priority and if the enemy treat is too high the task wont be done by imps as doing so would be a risk for the workers life
    • If a worker was dropped or summoned next to a task, it will do this task with highest priority and will continue to do tasks of this same type until it can not find a task of the same type in a 3x3 area around itself. Thus a worker dropped on a block to fortify will keep fortifying walls until no fortifiable wall is in proximity. This can be stopped by dropping the worker to a different place where it can not find a task.
    So with these things in mind, I have never encountered the behaviour you got.


    I think that could be useful, but so far idle is really meant for doing absolutely no task.

    Cheers
     
    Last edited: Dec 30, 2015
  3. JulianB3000
    Offline

    JulianB3000 Dwarven Worker

    Messages:
    22
    Likes:
    5
    Trophy Points:
    25
    Thanks for the response!
    In my case, it might be the threat-level. I drop imps into a battle-zone thinking they'll pick up someone KOd and run like heck. If that's not how they react, then that'd be why they're running past KOd minions to do less-valuable things.

    It's really good to know that I have only 60 seconds to get a minion to a safe place. It's an argument for putting at least small holding-cell prisons in the not-so-intuitive front-lines. (I'd otherwise put them at the back, to avoid a jailbreak.)

    With lairs, does the minion have to be taken to its own lair, or is any lair ok? (If so, I'll be building a few lair spaces near the front lines.)
     
  4. v0id
    Offline

    v0id Programmer Dev Team

    Messages:
    2,428
    Likes:
    1,012
    Trophy Points:
    580
    Hello again,
    it is important to mention, that the timer for becoming a corpse is stopped while a worker is dragging the unit.
    So once a worker successfully reached a KO unit and starts dragging it there is no danger that the unit dies until the worker gets interrupted or dies himself.

    Units are always brought back to their own lair when rescued. Unit which didn't place a lair can not be rescued.
    So if you are fighting with rally, newly entered level 1 minions will go to the flag before making a lair.
    If they are knocked out before they build a lair they will be lost and can not be rescued.
    Maybe this was another reason you thought they should do it?

    However rescue tasks have extremely high priority and a worker with more than half health should try to rescue units even if the threat is quite high.
    So I guess you encountered units which were either already corpse or didn't place a lair.

    In case own units are just unconcious and they had a lair and not directly below a large group of strong enemies, workers should rescue them and if they would still do other tasks, it would be a bug or at least not intented.

    In that case we should take a look into the values again.
     
  5. v0id
    Offline

    v0id Programmer Dev Team

    Messages:
    2,428
    Likes:
    1,012
    Trophy Points:
    580
    Also I think it is a good idea to show workers as Idle when they fortify walls without being assigned to by the player (by drop next to a wall).
    So we might change that for next patch :)
     
    BlackBeard, JulianB3000 and AdxUndead like this.
  6. Electrolight
    Offline

    Electrolight Priestess Backer

    Messages:
    193
    Likes:
    42
    Trophy Points:
    215
    I have experienced workers failing to collect unconscious minions a lot even when there are few or no other enemies around and it really frustrates me.

    The fact is that works only cost mana and are completely expendable my level 10 minions who took time and cost a lot of gold to train are not expendable. Workers NEED to make collecting unconscious minions (mine first then the enemy's) their absolute highest priority regardless of the dangers to them.
     
    JulianB3000 likes this.
  7. JulianB3000
    Offline

    JulianB3000 Dwarven Worker

    Messages:
    22
    Likes:
    5
    Trophy Points:
    25
    @v0id, thanks for clarifying further. I'm glad that units can't die while being dragged, though I guess there's still reason for a close prison (allowing workers to make more than one trip before KOd minions die).

    I generally don't fight with the 'all mobs' rally flag as I hate when my succubi trundle half the length of a map for a battle that ends before they get there. The side effect is that any new mobs would be unlikely to be in a group before they laired, but it's good to know that would also kill them.

    @Electrolight, I'm glad it's not just me seeing that. I'll still call it user-error on my part for now and keep an eye on it. :)
    I'd agree with your priorities - I'd happily lose a couple of workers if it meant that my minion survived a battle.

    Having said that ... I'm a relative newbie to the game, and not a good player. If it's been found to be better balanced and more fun this way, I'll change my expectations.
     
  8. v0id
    Offline

    v0id Programmer Dev Team

    Messages:
    2,428
    Likes:
    1,012
    Trophy Points:
    580
    Thanks for the feedback guys, we will still tweak worker behaviour for future patches.
    For example in next patch task priorities will be dynamic rather than fixed, which allows things like increasing priority to fill the tavern spit roast the emptier it gets.
    We are going to make rescuing tasks not blocked by enemy threats but i still consider lowering their priority a bit depending on the enemy threat as a good idea.
    If you find any obvious flaws were workers behave utterly wrong please let us know.
    However often people curse about AI behaviour without knowing all related mechanics or because it not does exactly what they want in their current case, while the actual behaviour would be more appropriate the majority of cases.
    But there is surely still big potential to improve.
     
  9. JulianB3000
    Offline

    JulianB3000 Dwarven Worker

    Messages:
    22
    Likes:
    5
    Trophy Points:
    25
    @v0id, again, it's good to see you're taking feedback into account and improving things. Awesome to see from a dev team. :)

    "However often people curse about AI behaviour without knowing all related mechanics ..." This is probably the case with me, here. As a programmer myself, I know that most problems are either user error or user ignorance.

    Still ... I have no idea where I how I would know all the related mechanics for imps. Things like the 60 second rule, or the imps' avoidance of threat - these are not listed in tooltips, I'm not aware of having a manual that explains them, and I haven't found them on the game's website.
    Is there somewhere I could be learning this stuff?

    I'm happy to accept player-ignorance as a cause, if there's somewhere I can correct it...
     
  10. v0id
    Offline

    v0id Programmer Dev Team

    Messages:
    2,428
    Likes:
    1,012
    Trophy Points:
    580
    Yea I know there is not much information available yet and player need to figure out a lot of stuff by themselfes.
    As far as I am aware such a manual is in the making but still not ready.
    I look forward to it as well, because I think it will likely prevent many confusions about game mechanics.
    For now we can only answer questions that pop unfortunately.
     
    JulianB3000 likes this.
  11. v0id
    Offline

    v0id Programmer Dev Team

    Messages:
    2,428
    Likes:
    1,012
    Trophy Points:
    580
    I was watching the behaviour closely and I found an issue in another sector which might have added to the confusion.
    Units which were really dead already did still show their shield above their head with "KO" in it most of the time.
    This bug can easily cause a misunderstanding, so that people would think they could still rescue these guys.
    I hope this fix makes it easier to see in next patch.
     
    JulianB3000 likes this.
  12. JulianB3000
    Offline

    JulianB3000 Dwarven Worker

    Messages:
    22
    Likes:
    5
    Trophy Points:
    25
    That could easily explain it. Thanks!
     
  13. ryanDC
    Offline

    ryanDC Oculus

    Messages:
    31
    Likes:
    3
    Trophy Points:
    100
    Hello all.
    While reading the posts I can't help but think back to the DK days. Ahh bit of nostalgia....
    Anyway, is there currently in place for the imp AI where if an imp (worker) has decided to go rescue a minion of mine on the battlefield somewhere, then another imp won't decide to go rescue the exact same minion, then once arrived, finds that an imp has already taken that said minion to lair. Same goes for building defences, I don't want say 4 of my imps to go grab pieces to build a bombard only to find that the first 3 had finished placing pieces and now the 4th has dragged an unnessercary defence part out of my dungeon and then stood thinking "boy, what a knob I am"
     
  14. v0id
    Offline

    v0id Programmer Dev Team

    Messages:
    2,428
    Likes:
    1,012
    Trophy Points:
    580
    Nah ryanDC,
    there are some "intelligent" mechanisms in place handling this, some are quite complex.
    In general there is only one worker caring about one task. If a worker has taken a task its only for him until another worker pops who asks for tasks which is nearer.
    In this case he takes over the task from the first worker who will ask for a new task.
    Workers also refresh their current task after some seconds and might switch to a more important/nearer one.
    It is made to converge fast so that all workers get assigned to exactly one task.

    For defence building each defence part is one task but each potential target defence only accepts as many workers to bring a part as it still needs.
    Workers always report in case they need to drop a task (because they flee, were grabbed or died) to free it for other workers.
    However if one worker takes too long to bring a part it does time out (just for the case the worker is still about to bring but got stuck for some reason).
    In rare cases on long paths to the defence this can cause that one more part than needed is brought to the defence.
    However once the defence is reached or build the part is brought to another nearest defence blueprint or brought back to the store in the foundry.

    Worker AI for WftO has quite a long development history and there was put a lot of thought into it.
    Still this doesn't mean it is perfect but it should do a decent job most of the time.
     
  15. v0id
    Offline

    v0id Programmer Dev Team

    Messages:
    2,428
    Likes:
    1,012
    Trophy Points:
    580
    We found another bug which might have caused confusion.
    Units which put their bed before creating a save game were never rescued when knocked out after loading the save game.
    So you could spam workers above these guys but they would be ignored forever.
    We fixed this now.

    Furthermore we improved worker tasking in combat situations.
    They will not run back and forth because of fleeing from the enemy and not getting their tasks done.
    Until they are hurt by the enemy they will be way more eager to get guys resuced and imprisoned in the middle of a battle.
    You might lose some more imps but tasks will get done way more efficiently.
    Hope this will help as well to make it better for next patch.
     
    JulianB3000 and Beneathar like this.
  16. JulianB3000
    Offline

    JulianB3000 Dwarven Worker

    Messages:
    22
    Likes:
    5
    Trophy Points:
    25
    Now I'm really looking forward to seeing this patch. A patch that solves these (and, I hope, the unclaimable tiles) would be great.

    @v0id, can you give any dates\hints on when we'll see that (or is asking that being a bit cheeky)?
     
  17. v0id
    Offline

    v0id Programmer Dev Team

    Messages:
    2,428
    Likes:
    1,012
    Trophy Points:
    580
    @JulianB3000
    I think this bug should be fixed already, I answered the bug report on UserEcho.

    I found also one more thing which might confuse players workers would prioritize wall fortification:
    When workers are spawned they get instantly assigned to a nearest task if any and if its a fortification task then they continue fortifying.
    However the same actually happened when workers spawn from the core and if a custom map had no fortified walls around the core,
    each fresh spawned worker got assigned to fortify walls directly when spawned.
    We changed this now as well so that workers spawned from core will start to prioritize all tasks and not the nearest.

    You can look forward. The patch will have multiple other improvements some more also about worker behaviour.
    We learned to better not officially promise on deadlines, but when nothing changes I am well disposed the patch will be out soon during this week. ;)
     
    JulianB3000 likes this.
  18. Nutter
    Offline

    Nutter Inquisitor Founder

    Messages:
    2,410
    Likes:
    1,079
    Trophy Points:
    595
    That's making a promise v0id! Nooooooooo XD
     
  19. v0id
    Offline

    v0id Programmer Dev Team

    Messages:
    2,428
    Likes:
    1,012
    Trophy Points:
    580
    :eek:
     
    Nutter likes this.
  20. Electrolight
    Offline

    Electrolight Priestess Backer

    Messages:
    193
    Likes:
    42
    Trophy Points:
    215
    Constantly nagging the devs to hurry up and finish will start in 3... 2... 1... :p
     
    Nutter, JulianB3000 and v0id like this.

Share This Page