Fire-related AI

Started by Stickle, November 15, 2013, 01:58:32 AM

Previous topic - Next topic

Stickle

I know it's been brought up before in a general context, regarding colonists putting out fires and colonists being set on fire and running away from the people trying to help them...

But I just experienced a raid of a bunch of guys with incendiary launchers... And while losing half my colonists to an inferior force is occasional part of the game, it's just frustrating when it's so stupid. "Hey they set me on fire! Time to leave the safety of my cover and run around in circles, probably straight towards those angry men and women with guns, who happen to be shooting at me!"

Even worse, occasionally they stop running around while on fire and stand out in the open to continue fighting, but they absolutely refuse to get back under cover... In a remotely even match (which I've been aiming for, no cheesy defenses and no turrets), a single hit from an incendiary launcher or molotov is a guaranteed dead colonist. Molotovs have short range and  you can sometimes micro around, but incendiary launchers don't have those flaws...

I'm not entirely sure how this should be fixed, but it should be, eventually.

Pendryn

Yeah, a smarter On-fire AI would be nice. It is, I assume, natural to panic when burning, but there are people who will help you, and people who want to shoot you full of bullets.
Reticulating all the splines.

Kender

Talking about losing to inferior force, wait till they charge you with suicidal bombs in group.

'They', I meant enraged boomrats. XD

Now, back to the topic,

One idea is to make the fire on colonist works the same as the other fire burning on the ground. So, if the burning colonist is in the Home-Zone, then this fire should be put out by other colonist.

So the 'I am on fire' AI should simply be 'run back to nearest Home-Zone'.
Rogue, from Kendermoore of Dragonlance.

EarthyTurtle

I've also found this an annoyance. That and how the A.I prioritizes putting out fires.

Like A fire starts and I grab the nearest person to deal with it but when I right click to prioritize the fire but I can't because someone else on the far side of the colony is already set to put it out. By the time they get there the fire has spread to 3 other buildings. but the worst part is when large fires occur (usually after a big battle with molotov raiders) and everyone rushes to put out a fire. But it takes ages to put out because someone has wandered off to haul something on the other side of the colony because at the time there wasn't a fire for them to put out. Then a new fire has started and nobody will put it out because this one person on the other side of the colony has prioritized it.

I would just love it if everyone could put out fires cumulatively. So you could have multiple people putting out the same fire (so everyone is hands-on-deck when it comes to putting out fires). It might be inefficient but if your a colonist wandering by wouldn't you try to put out the fire instead of waiting for someone else far far away to do it? It's a urgent thing because fire spreads and causes damage.

Another thing is colonists prioritize putting out fires but then the fire spreads to the tile their about to walk onto. and they end up catching on fire instead of doing any good. I would think that someone would thing before steeping right into the centre of the blaze. Whew, that's my rant :P.

Stickle

Quote from: Kender on November 15, 2013, 05:51:20 AM
Talking about losing to inferior force, wait till they charge you with suicidal bombs in group.

'They', I meant enraged boomrats. XD

See, that I don't mind! Because it's utterly hilarious when a pack of rabid boombrats assaults your base and sets the whole thing on fire. And then your colonists get set on fire and run around in panic while a pack of angry rodents chases them. I honestly wish it would happen more often, I haven't had a mass boomrat or muffalo madness yet in my current game...

They may be more dangerous than your average raiders, but they're also more fun :)

Kender

Quote...while a pack of angry rodents chases them.

Fire alone won't kill your colonists, boomrat won't too. Friendly fire will,
1) one kind of friendly fire is due to the low accuracy when shooting at a distant target, and since boomrat will be at the heel of your colonist (lost control due to 'on fire'), that colonist probably gonna get killed. and,
2) the friendly fire that colonists shoot each other in their back when they are lined up.
'cuase boomrat is very fast, once they charged into melee range with your line of defense, this kind of friendly fire will cause heavy casualties on player's side.
Rogue, from Kendermoore of Dragonlance.

Kender

Quote...and I grab the nearest person to deal with it but when I right click to prioritize the fire but I can't because someone else on the far side of the colony is already set to put it out. ...

Manual task should simply override automatically assigned task. Not only in putting out fire, but other tasks too.
Rogue, from Kendermoore of Dragonlance.

nnescio

Quote from: Kender on November 16, 2013, 04:48:42 AM
Quote...while a pack of angry rodents chases them.

Fire alone won't kill your colonists, boomrat won't too. Friendly fire will,
1) one kind of friendly fire is due to the low accuracy when shooting at a distant target, and since boomrat will be at the heel of your colonist (lost control due to 'on fire'), that colonist probably gonna get killed. and,
2) the friendly fire that colonists shoot each other in their back when they are lined up.
'cuase boomrat is very fast, once they charged into melee range with your line of defense, this kind of friendly fire will cause heavy casualties on player's side.

Also, shooting a small target like a boomrat suffers from a target size penalty, further lowering the chances of hitting boomrats and increasing the chance of friendly fire.


Pendryn

Quote from: Kender on November 16, 2013, 04:51:41 AM
Manual task should simply override automatically assigned task. Not only in putting out fire, but other tasks too.

I've seen this getting mentioned more and more by people and I 100% agree.
Reticulating all the splines.

Luckless

I think another option that could help with some of the issues is a switch to an area-based task assignment.

When a 'job' is spawned on the map it first looks around itself for other similar classes of jobs. If it finds some within a set limit it adds itself to that area. (With some checks for navigation edge cases to ensure pathfinding between elements of the job would not take it outside of the area) If none are found it then spawns a new job-area.

When calculating if a worker should be assigned to a job it can also peek ahead. Who else is working there currently, how long will it take them to finish, and is it likely that there will be any work left by the time a new worker gets there? Currently if you have a few people assigned to the same tasks (ie, building/mining/hauling) while trying to do work in different parts of the map, then they can spend far more time bouncing between sites than they spend actually working.

Job-areas should also be able to grab workers in priority cases (ie, fires) so they can pull the nearest person and interrupt their current action instead of a job being taken by someone who just freed up... on the other side of the map.

It would also allow for the 'over loading' of a job area with workers. Something like double clicking on any job would then highlight its area and other related jobs. You could then flag it for calling extra workers. Mostly useful for things like fires so that you can have extra bodies on their way to deal with the extra jobs that will popup as the fire spreads.


And fire fires: Being able to have more than one person working on a single fire tile at a time might be nice to speed things up.

Kregoth

I agree I think that jobs should never be considered taken until someone is actually doing the job.

I also think that certain jobs should also be given a skill property. For example let's say I'm building a thermal generator, the colonist should let that job go to whoever has the highest skill.

Maybe the colonist should just be told to move to thier next job. So instead of taking the job, they simply move to it and then take it once they are there.