Frustrating AI/behaviour and micro management

Started by Leroy76, July 31, 2016, 12:31:58 PM

Previous topic - Next topic

Leroy76

As of now the game has several issues related to the AI and needs of the colonists. This often leads to the impression that you are actually leading people who somehow have escaped from a madhouse, with everybody having serious psychological problems. There also other problems but I will focus on AI and behaviour because this creates a lot of unncessary micromanagement and even hopeless situations.

AI problems

Ineffcient work and walking

Two hours before sleep a colonist walks all over the map, hits a rock 1 time and walks back. If there is stuff arround from previous work and which should be transported to the base, he will just leave it there. This last point is most annoying: If a miner has done his work, instead of taking the ressources back to base, he just leaves them there until next time or somebody else carries them away. If a colonist can carry items and nearby are items he could transport with little to no diversion, he should do it. Also there should be taken into account the required time of walking to destination, if it also clear that no a decent amount of work can be done or the destination can not be reached in the remaining time until sleep, it should not be performed, unless the work time has just started.

Breaking tasks

When performing a task, especially when explicitly orderd to do it by the player, the colonists should perform it for a reasonable amount of time. Currently, if the colonists is orderd to let's say clean up the blood in the hospital room, he should finish that and not go sleeping after he cleaned one tile or getting a breakdown because dinner is delayed. If he is tasked to build conduit, he should at least finish a decent amount of it and not again just one tile. The same applies to mining and seeding, bascially everything that involves a number of tiles or limited area. And in case of fire, they should continue until the fire is gone or the colonists are dead or had to leave because of compelete exhaustion. Where complete exhaustion does not mean lunch have been missed or he will come to bed 2 hours later than usual, it should be a reasonable threshold.  Also as this is an emergency, all other needs are canceled out during that time. To survive the fire his the highest and only priority, so it doesn't matter if the surroundings are ugly, the clothing is bad or they hate their fellow who is also tasked to put out the fire.

One approach of this problem  could be that a minium amount of work units must always be performed befor task can be interupted and this in a certain range from where the task has been started. If the colonists is orderd by player manually, the minium work units value should be higher. In case of fire, there should be no limit.


Behaviour problems

The colonists apparently have no will to survive, their needs have higher priority than survival. The is a fire right on the next room? - I don't care, because I am hungry, so I need to eat first and than I'll go play this horseshoe game!
Not that anybody would even wake up if there is a fire. Even if you wake one up and order him to extinguish the fire, he may only extinguish one tile and than go back sleep while the fire grows and grows, as mentioned in the "breaking task"-problem.

Refusal of basic work: If you end up starting with colonists who refuse "simple work" - you are proablly screwed. I mean imagine that, they've just crashlanded maybe in a very hostile environment and the people just stand there because they refuse to carry stuff to the next shelter. That's just ridiculous. Yes, you can prevent that by hand-picking colonists but the point is, it's still impossible that even one would reject to help by carrying stuff.

Unordered priorities of needs:

usually there should be a priority that will cause somebody to act accordingly. A raw order could be like that:

- response to immidiate threats (attacks, fire, earthquakes etc.)
- water
- food
- shelter
- luxury needs (own room, fresh beer, a TV whatever)

Currently, if somebody missed the lunch because waiting some hours too long on battle field, he may just drop his weapon and run into the enemy and gets killed by them or friendly fire - and all because there was no time for lunch, it was too cold, too dark, his clothings are bad, he had to sleep in the same room as everybody else or the sandbags arround were just too ugly! Not gonna happen, never! It's ridiculous and very frustrating. What would be more understandable is if somebody flees from the enemy because an opponent just throw a grenade right next to them or close friends were ripped to pieces. Fear can be a strong emotion, the cancels out everything else. But not "this room is too ugly"! So in conclusion, other than said fear nothing else should have an impact on colonists in battle mode and/or during an attack or right before that. Actually not in any emergency case. Well if they were standing arround for days without food and sleep, they would have physical break down logically.

On the other hand while beeing such a sissy in so many regards, the colonists have no problems to for example feast on a fresh human corpse. How many people that you ever knew or heard of would do that?   

My suggestion: get rid of this "low expectations"-hack and throw in needs dependending on the wealth and size of the colony. If there are 20 other people, well yes, I then might refuse to do cleaning or carry things. If we have many rooms, I want my own. If we have enough food to survive and it's currently safe, well then some entertainment stuff would be nice.

StormySunrise

Using the manual order features in the work tab allows you to prioritize the firefighting , another easy way to get them to work what you want is quickly enlisting and unenlisting the colonist so it prioritizes the nearest task. Some mods also may help you with your "refusal to work" HaulT is one such mod. However, whenever a disaster happens it usually takes a while for people to adjust to their situation so they stick to what they are used to (individual rooms etc etc) but as I stated before some mods can help you out, I believe there is a mod that makes colonists prefer sharing bedrooms but im currently drawing a blank.

Leroy76

Quote from: StormySunrise on July 31, 2016, 12:44:12 PM
Using the manual order features in the work tab allows you to prioritize the firefighting , another easy way to get them to work what you want is quickly enlisting and unenlisting the colonist so it prioritizes the nearest task.
That is not the problem, the problem is that they put their needs over a critical task like fire fighting. Sleeping, eating etc. are not tasks that can be given a priority.

QuoteSome mods also may help you with your "refusal to work" HaulT is one such mod.
I already can work arround it without mods by checking this when starting a new game and new colonists. It's a flaw in the game, the people refuse to carry things right from start of the colonly. It should simply not be possible. But it would be fully accepable if that trait becomes active once a basic camp is established and there are more colonists who actually can do simple work.

QuoteHowever, whenever a disaster happens it usually takes a while for people to adjust to their situation so they stick to what they are used to (individual rooms etc etc) but as I stated before some mods can help you out, I believe there is a mod that makes colonists prefer sharing bedrooms but im currently drawing a blank.
That's also not what was meant.  If they don't want to share bedrooms, fine - but not as long as there is only one cave that have managed to find in the first days, it doesn't make any sense. It's also not a big issue if in some cases would have to order them to extinguish a fire, the anoying point is again that they put their needs over everything else and just stop working after doing one tile. So I've have to create a new zone, lock the doors or uncheck any other job to force them to complete the task. But even then if they want to sleep, they just fall down on ground and sleep right next to the fire. And before I can even do something that get more negative things added: "disturbed in sleep", "slept on ground" and what not. In combination with hunger due to delayed meal, tight rooms, too hot/cold and the omnipresent "ugly enviroment" you may get instantly a breakdown. And the fire is still burning. This also makes no sense. It's a mixup of needs of different priorities, tasks and behaviours.

Britnoth

QuoteThat is not the problem, the problem is that they put their needs over a critical task like fire fighting. Sleeping, eating etc. are not tasks that can be given a priority.

Firefighting and emergency doctoring is considered 'emergency' work, and is done before any needs such as eating and sleeping (unless the pawn is actually starving).

I can only assume you have removed them from their allowed work.

QuoteIt's a flaw in the game, the people refuse to carry things right from start of the colonly.

Given that by default most pawns can haul and only some refuse to, I would think it is an intended part of the game. Learn to make best use of your colonists, rather than complain if they are not all 10+ skill in every discipline.

One recent game, out of 13 colonists only 4 could clean or haul, and one took a freak shot to the brain making him useful only for cleaning. It was not a serious problem, just a hindrance. Overcoming which is what this game is about.  :P

Havan_IronOak

The quirk that distant pawns have of walking past piles of stuff that they just as easily have hauled back with them when the decide that they are tired has bothered me as well since my first play-through (around a8)

I do wish that it could be fixed but I'm guessing that there's a programmatic problem that Tynan can't easily solve that causes the AI to behave that way. Perhaps some day...

Fusha

The AI could definitely do with some improving. I had a person decide that he wants to go "cloudwatching" adjacent to a raging inferno.

Leroy76

Quote from: Fusha on July 31, 2016, 07:28:55 PM
The AI could definitely do with some improving. I had a person decide that he wants to go "cloudwatching" adjacent to a raging inferno.
So apparently emergency work does indeed not have the highest priority. I will recheck this when I get my next fire.
Either way, it's just another outcome of needs having no priority, like not getting killed by an enemy can be less important than having no ugly sandbags arround.

cultist

#7
Are you using manual priorities or not? This is very important, because manual priorities give you the power to change the priority of critical tasks like sleep and firefighting. If you set i.e. cooking to a higher manual priority than firefighting and sleep, the pawn will cook himself to exhaustion while the kitchen burns down around him. This is intended, and the reason that manual priorities are not the default.

In general, I would not advise using manual priorities unless you understand exactly how they work, and even then only if necessary. The most efficient colony is one where each pawn only has one or two main jobs at most and enough free time to avoid joy depravation.

There is one more thing worth mentioning: Pawns do not constantly re-check their path bcause it's very resource intensive. When they travel long distances, their orders can sometimes get "outdated", meaning they may walk into danger that wasn't there when the order was originally given. This means that during crises like a fire or an attack (where the situation can change quickly), you should keep a close eye on all your pawns and pause often to check that they're not doing something stupid.

Kagemusha12

Quote from: Leroy76 on July 31, 2016, 12:31:58 PM
...

Refusal of basic work: If you end up starting with colonists who refuse "simple work" - you are proablly screwed. I mean imagine that, they've just crashlanded maybe in a very hostile environment and the people just stand there because they refuse to carry stuff to the next shelter. That's just ridiculous. Yes, you can prevent that by hand-picking colonists but the point is, it's still impossible that even one would reject to help by carrying stuff.
...

This is true.
Maybe someone who has a taboo on a task should still be able to be manually ordered by the player to do it.
(however, with a warning about the taboo)
But he would do the task very slow and/or inefficient and would get a mood debuff for it (like -10 for performing a task that he strongly dislikes)

Listen1

If you put a clear scheadule on the pawns programing, leave their Emergencies at 1, main task at 2, and their secundary task as 3, you may achive a control of your pawns. One of the biggest errors is leaving "anything" on all schedule, they will do some stupid things this way. Before "Sleep" I always put 2 anything and a Joy, after waking up also 2 anything. The rest is work.

But I also think that the Schedule system would need a little rework. I would love to schedule my pawns to clean their rooms before going to sleep. Why? Because at night one of my workers will clean the whole base before going to the other job. Sometimes this leads to disturbed sleep.


Havan_IronOak

Quote from: Flying Rockbass on August 01, 2016, 10:22:43 AM
...I also think that the Schedule system would need a little rework. I would love to schedule my pawns to clean their rooms before going to sleep. Why? Because at night one of my workers will clean the whole base before going to the other job. Sometimes this leads to disturbed sleep.

Reminds me of a mod request that I made when work schedules were first added... a "Do Not Disturb" sign for bedroom doors. Or maybe just a necktie/sock like we used in college.   :D.

eronaile

There's definitely a lot of rather stupid stuff going on when you keep an eye on your colonists for a while. I think one of the biggest (although possibly intended) flaws is that priority beats everything. If mining is set to 1, everything 'right' of it will be completely and totally ignored by the pawn until all mining tasks are done. It would be **MUCH** better to have a percentual system where 1-tasks are done most of the time, 2-tasks some of the time, 3 rarely and 4 almost never. This would ensure that you do not have to modify manual priorities so often (which I personally find is needed far more often than is comfortable) and that all tasks are done, albeit with different timings.

However to get back to the topic: absolutely agree that manual ordering should make the pawn work a sensible amount of time or 'steps' on the assigned task and not quit after 1 damn tile or whatever.
Hauling is a BIG problem, especially because if you set a pawn to high prio hauling, he'll never do anything else in all likelihood (with the millions of tons of stuff that needs to be hauled all the time). Once again the only thing that helps is to set all pawns to prio 1 hauling for a time, then switch back to 2-3. Annoying and unnecessary with a good AI.
BTW why do couples not automatically use double beds?

Also, I propose to let manual orders overwrite restricted areas. Heat wave especially needs this or else you have to enable and disable larger areas for every damn task that is outside your cooled room.

Hope AI gets buffed a fair bit in the future!

Fusha

Quote from: Leroy76 on August 01, 2016, 09:39:01 AM
So apparently emergency work does indeed not have the highest priority. I will recheck this when I get my next fire.
Either way, it's just another outcome of needs having no priority, like not getting killed by an enemy can be less important than having no ugly sandbags arround.
The fire was outside the home area, so the priorities didn't matter. It was still an extremely silly thing to do.

Britnoth

Quote from: eronaile on August 01, 2016, 01:01:57 PM
I think one of the biggest (although possibly intended) flaws is that priority beats everything.

Priority is a simple do this -> do this -> then do this for a good reason. Anything more nuanced is a lot more complex to learn for a new player.

"Why isnt anyone firefighting when I have priority firefighting at 1 and everything else at 2?"

"Why is someone firefighting on the other side of the map when I have cooking on 1 and firefighting at 2?"

etc etc.

I made a mod that tried to combine work priority with distance, and even knowing how it worked still resulted in the occasional unintended behaviour. Anyone new to the game using it would likely have had no clue why work was prioritised as it was without being given an indepth explanation - which the game isnt probably going to get in the form of a full tutorial scenario until it comes out of early access alpha.

Sukha

At some point this game needs to stop the content updates and focus 1 update on AI.