Auto avoid enemies

Started by Stealth, May 24, 2015, 06:59:45 PM

Previous topic - Next topic

Kegereneku

It's easy to agree on "forbidden zone" but the daemon is in the details.

Myself I don't want to have a auto-avoid-enemy that result in more unforeseen problem. (ex : the enemy might FOLLOW your pawn anyway, I don't want to play Yakety Sax if an hostile appear.
And given the choice between FIXED forbidden and auto-avoidance of "threat" I would chose the former because I'm the one playing, not the game.
"Sam Starfall joined your colony"
"Sam Starfall left your colony with all your valuable"
-------
Write an Event
[Story] Write an ending ! (endless included)
[Story] Imagine a Storyteller !

Adamiks

Anothe guy "AI is playing for you!"?

By the way in Rimworld AI is playing for you right now. You can't change it, if you want game without smart AI, play in Call of Duty and better on the multiplayer because singleplayer games are with AI.

Kegereneku

The game isn't playing for you, it never is.

Would my colonist self-organize into a AI-built base and decide on their own how the colony is to survive without me pushing any buttons ? No ? Then the game isn't already playing for me.

Rimworld is built around MACRO-management. This is another form of control which rely on the AI doing a lot more work but in a predictable way so we can plan the ORDER, TASK, JOBS we give them.

We know what you want to achieve by having the colonist auto-avoid danger, but put aside that it is probably more complicated than it look to have a colonist flee enemy in a intelligent way that don't bit you in the ass later, I think the concept of FIXED forbidden zone is a much more manageable solution.

So, don't dismiss our legitimate concerns as a stupid confusion of game-style. I would expect a Call of Duty player to know better than that, they too have firendly-AI that need to be predictable and not run away because of a badly calibrated AI.
"Sam Starfall joined your colony"
"Sam Starfall left your colony with all your valuable"
-------
Write an Event
[Story] Write an ending ! (endless included)
[Story] Imagine a Storyteller !

Adamiks

Quote from: Kegereneku on May 26, 2015, 09:27:26 AM
The game isn't playing for you, it never is.

Would my colonist self-organize into a AI-built base and decide on their own how the colony is to survive without me pushing any buttons ? No ? Then the game isn't already playing for me.

Rimworld is built around MACRO-management. This is another form of control which rely on the AI doing a lot more work but in a predictable way so we can plan the ORDER, TASK, JOBS we give them.

We know what you want to achieve by having the colonist auto-avoid danger, but put aside that it is probably more complicated than it look to have a colonist flee enemy in a intelligent way that don't bit you in the ass later, I think the concept of FIXED forbidden zone is a much more manageable solution.

So, don't dismiss our legitimate concerns as a stupid confusion of game-style. I would expect a Call of Duty player to know better than that, they too have firendly-AI that need to be predictable and not run away because of a badly calibrated AI.

"Would my colonist self-organize into a AI-built base and decide on their own how the colony is to survive without me pushing any buttons ? No ? Then the game isn't already playing for me."

With auto avoid system AI also don't pushing buttons for you.

And i'm agree with forbidden zone, but why you guys think that AI would play for you? This don't have any sense at all. Do auto-avoid system will make your colony running 24/7? No.

This what i want (zone or auto avoid) isn't really matter now, when someone is using expression like "AI is playing for you".

Kegereneku

#19
You didn't understood and "AI is playing for us" is becoming a thought-terminating cliché.

The point is : we consider the automated-AI-solution to "keep non-drafted pawn safe" flawed, and so argumented against it using parable.

That's all.
The whole "Do you play RW or is RW playing you ?" is a sad example of the limit of purely textual communication.
"Sam Starfall joined your colony"
"Sam Starfall left your colony with all your valuable"
-------
Write an Event
[Story] Write an ending ! (endless included)
[Story] Imagine a Storyteller !

Frankenbeasley

#20
It seems to me that what would be the ideal situation, then, would be a state change affecting all your colonists that you could toggle.

A while ago, on the Reddit, I suggested a beacon system based on the camp fire which I think could be used for this (bearing in mind that I am a congenital idiot with regards to the specifics of coding).

So, my idea is that you be able to build a fire basket beacon outside (it can be in your courtyard, say, but it will need to be unroofed). This construction would cost steel and wood and would sit there ready to be used. Should an event occur where you want non-drafted colonists to be 'safe' you would send a colonist to light the beacon. This would burn for a set time, like the campfire but probably for only 12 to 24 hours, and be totally consumed whether it runs through the timer or you extinguish it early.

While the beacon is alight it sets a 'state change' on colonists who are not specifically drafted to other tasks. Whilst the fire burns, your civilians would take gathering by the beacon as a prioritised task (sort of a cross between the 'gather' function of the campfire and the 'priority' function of the Fire Alert). In its basic form, your colonists then abandon any current tasks and head to the gather point. In an ideal system, non-drafted personnel outside the home region would abandon their current task and head home, those inside would finish their current task first - but I realise this would be difficult and annoying if they had just started a haul task on something in the danger zone.

So, I hear you ask, what does all this teal deer have to do with auto avoidance? Well, I imagine leveraging the sapper/AI pathfinding system except that where they will be looking for turrets your colonists will be reading enemy pawns as danger zones.

Logically, the problem here is that taking a running tally of all those pawns' positions on the fly is going to be hugely problematic. Therefore, I wonder if you could maybe set the path of avoidance based on a snapshot of the battlefield when the beacon is lit and your colonists set off. This would, in effect, simulate the colonist's first choice for a headlong rush for safety. If they are unlucky, the raiders will be on an intercept course and all ends badly; if all goes well, they made a good choice and get home intact. A vastly more complicated system would be to take a 'snapshot' every nth tick (how many ticks would be a matter for Tynan and his balancing act) and have the colonist adjust their courses appropriately.

This system, were it possible (and it probably isn't), would, I think, address some of the issues that have sprung up.

As the beacon is toggled at will, you can, in effect, choose to play with avoidance on or off as you prefer.

Basing the path to safety on a snapshot will not provide a perfect return for every colonist, but it would, in a way, be closer to simulating a realistic response: the alarm goes off, you know where you are, you know where you need to get to, and you make a best guess on the safest route there then cross your fingers and run.

Because we are not looking for a 'perfect' AI pathfinder, using the basics of raider AI pathing for your colonists (with raiders/mechanoids replacing turrets and the beacon as the objective) would probably be enough to prevent at least the most egregious instances of wandering into a fire-fight in search of fresh strawberries.
You live and learn. At any rate, you live.  - Douglas Adams

TLHeart

rimworld is very much the same as managing 50 minimum wage workers at a fast food... they don't think for themselves, except about what they are going to do after work. They don't care about danger, or the long term goals, just about right now....

As the manager, or the overlord of the colony, it is up to me to keep them safe, on task, and to be sure they have the supplies and equipment to do the job at hand.

And I can predict what each pawn will do each day, by the way I have set up the time table, the work schedule, the bills, limits on range on the bills, limits on skill level, and where I have placed my stockpiles, the priority system, the sorting via quality and durability....


Trying to program an auto avoid danger, will overwhelm any computers processing power and the game will slow to a crawl and be unplayable.  Are you going to check every colonist every step, and recalculate their route each step?

Are you going to only check at the beginning of the route? which means they will still walk into the danger. Check every 5 steps? and what is a danger zone, 5 cells away, 10 cells away, or the distance the enemy can fire, which can be 45 cells away... or in the case of mortars, the entire map.   

Or as I prefer, I choose the path of the colonists that are close to the danger... I also KNOW what colonists may be headed towards the danger, before they head there. All because I manage the daily work flow, and do NOT set up hundreds of job ques.

Danger arrives, I draft my attack group, and out they go to take down the enemy. I do not wait for them to attack. Those colonists that are out and about on the map, become the flanking crew, to come in behind....

The entire colony goes into danger mode, doctors prepare for incoming wounded, nobody continues on with their everyday task. No need for an ai controlled avoid danger, that is MY RESPONSIBILITY.

I will spend an hour or more of my time engaged in ONE battle, as I control where I will engage the enemy, how I will engage the enemy, who I am flanking them with....

I do NOT hide behind a kill box, filled with turrets.

There is NO need for a danger zone, a do not go zone.

For those that NEED a danger zone, you already have it, build your walls, and lock the doors.

akiceabear


  • I like the idea of a manually set/toggled forbidden zone and/or forced gather point, similar to what is described by Frankenbeasley.
  • I find it curious that those most opposed to fog of war (because they fear it would introduce micromanagement) are also opposed to this idea, because it would reduce micromanagement!
  • To those opposing the concept - would you also fully oppose an optional tool?

TLHeart

a zone that you set as forbidden,  is not going to work as everyone in this thread thinks it will.... pathing is the most intensive cpu use in a video game... currently, the pawns, select a job, calculate the path, and that is it. The path is not recalculated until they reach their destination, or are blocked from reaching their destination. Tynan has stated that for alpha 11, they will be interrupting their current task to check their status's. He did not say how often.

Until the pawn hits that interrupt state, which we force now with a recruit, unrecruit, they will still walk into the danger zone you have set.

And for tynan to spend programming and debug time to something that is not really needed in the game, is a waste of resources.

The ability to already create your own danger zones exist, it just is NOT handled by the AI.

And then we will get all the complaints that it does not work, as my pawn still walked into the line of fire.....


akiceabear

What about a simple command that all undrafted pawns go to their bed and wait in it until danger is cleared (perhaps with a "Danger!" toggle)? More broadly, a "safe" zone rather than a danger zone. Undrafted pawns outside the safe zone prioritize walking there, and undrafted pawns within the safe zone only consider tasks also within the safe zone.

Again, fully optional, and I guess that pathing to their bed and/or reducing the effective map size they can path within is not more CPU intensive than the current game design. (I admittedly am not a programmer.)

Finally, keep in mind that just because you think the idea is a waste of dev resources, does not mean it actually is.

Stealth

#25
Quote from: Kegereneku on May 26, 2015, 07:57:20 AM
Quote from: Stealth on May 25, 2015, 02:22:21 PM

Except those sniper mechs one-shot your colonists so that they can't run to the medical bed. Why wouldn't you want them to run away before they get hit? If they're building something, what good is it if they continue building only to get downed in one shot?

I gave you the reason. It would break pawn predictability and my planning.
Your hypothetical situation is pointless on me because as soon as an attack come I would have drafted anybody at risk and got them somewhere safe. Plus I consider dramatic storytelling for a pawn to not be aware it will be sniped.
Similarly to TLHeart I also don't pile up thousand of working order then blame the game for problem I was in full control to solve and intended to. The game even have a pause button.

A better failsafe solution I see to avoid unforeseen consequences is to have them refresh task an get back be treated place as soon as they are hurts. Whereas a pawn that with auto-avoid would likely just get stuck in a avoidance loop if the things he want is precisely where hostile are.

Another simple solution to this could be "Forbidden zone" with, say, a special setting to keep a radius centered on some hostiles. Same result, but more predictable.

I didn't say i have 1000 things queued up. Im talking when they're auto doing their jobs, they go off and do whatever. When an attack comes i don't just draft everyone. I have people taking care of things. If you don't want the feature then feel free to post elsewhere. IDK why you feel that If YOU don't want a feature it can't be in the game. The game isn't made for YOU. Sorry, but you're not special.

Also, when i said sniped it's not some dramatic story, my colonists literally got sniped and downed in one shot...

Stealth

Quote from: TLHeart on May 26, 2015, 07:18:10 PM
a zone that you set as forbidden,  is not going to work as everyone in this thread thinks it will.... pathing is the most intensive cpu use in a video game... currently, the pawns, select a job, calculate the path, and that is it. The path is not recalculated until they reach their destination, or are blocked from reaching their destination. Tynan has stated that for alpha 11, they will be interrupting their current task to check their status's. He did not say how often.

Until the pawn hits that interrupt state, which we force now with a recruit, unrecruit, they will still walk into the danger zone you have set.

And for tynan to spend programming and debug time to something that is not really needed in the game, is a waste of resources.

The ability to already create your own danger zones exist, it just is NOT handled by the AI.

And then we will get all the complaints that it does not work, as my pawn still walked into the line of fire.....

As mentioned in another thread, a restricted zone can act like a walled off box. It would be pathed around like any other obstacle on the map.

Adamiks

Quote from: TLHeart on May 26, 2015, 07:18:10 PM
a zone that you set as forbidden,  is not going to work as everyone in this thread thinks it will.... pathing is the most intensive cpu use in a video game... currently, the pawns, select a job, calculate the path, and that is it. The path is not recalculated until they reach their destination, or are blocked from reaching their destination. Tynan has stated that for alpha 11, they will be interrupting their current task to check their status's. He did not say how often.

Until the pawn hits that interrupt state, which we force now with a recruit, unrecruit, they will still walk into the danger zone you have set.

And for tynan to spend programming and debug time to something that is not really needed in the game, is a waste of resources.

The ability to already create your own danger zones exist, it just is NOT handled by the AI.

And then we will get all the complaints that it does not work, as my pawn still walked into the line of fire.....

Because you play like "pro" this means that Tynan shouldn't improve AI? And i don't think you understand how AI of colonists really works. Do colonists walking through walls? No, so this zone would works like normal walls and this wouldn't be hard to make. Example? Unfinished walls, but with resources. They works like normal walls (they are impassable), but they aren't finished.

Play2Jens

Quote from: TLHeart on May 26, 2015, 07:18:10 PM
pathing is the most intensive cpu use in a video game...

While that is true, a danger zone wouldn't use that much CPU if handled correctly. Currently, there are already areas in the game which cannot be reached (think about rooms without a door). Pawns check if they can do a job in there and then cancel it if they cannot reach it.

This will be different for our 'danger zones'. They might block the only exit out of the colony, since a lot of players build walls around their colony. The problem is that many jobs will be placed outside of the danger zone and cannot be reached unless the colonists are able to climb over walls. The game has to try to find a path many times to find away around the danger zone and this will take up a lot of CPU.

Or it can be programmed more easily. Imagine the first path for a hauling job encounters the 'danger zone' (which is automatically generated between the raiders and the drafted colonists they target). The path finding AI will have to recalculate a new path, following the outer lines of the 'danger zone'. If this is still blocked (by a wall for example), it will try to calculate a path one last time in another direction. If this doesn't work, the hauling job will be postponed until the raid end. This way the AI won't start calculating different paths for other hauling jobs and the pawn will find a job with less priority to do.

To satisfy everyone, this should be an option which can be turned on or off. But the game needs this future to eliminate more micromanagement and to speed up the flow if action during combat. Also, for people playing with a huge number of colonists and only draft half to fight during raids.

I'm sorry for my long post. I can also try to show my theory in screenshots if it isn't clear for you guys or Tynan. 

Adamiks

Quote from: Play2Jens on May 27, 2015, 10:43:14 AM
Quote from: TLHeart on May 26, 2015, 07:18:10 PM
pathing is the most intensive cpu use in a video game...

While that is true, a danger zone wouldn't use that much CPU if handled correctly. Currently, there are already areas in the game which cannot be reached (think about rooms without a door). Pawns check if they can do a job in there and then cancel it if they cannot reach it.

This will be different for our 'danger zones'. They might block the only exit out of the colony, since a lot of players build walls around their colony. The problem is that many jobs will be placed outside of the danger zone and cannot be reached unless the colonists are able to climb over walls. The game has to try to find a path many times to find away around the danger zone and this will take up a lot of CPU.

Or it can be programmed more easily. Imagine the first path for a hauling job encounters the 'danger zone' (which is automatically generated between the raiders and the drafted colonists they target). The path finding AI will have to recalculate a new path, following the outer lines of the 'danger zone'. If this is still blocked (by a wall for example), it will try to calculate a path one last time in another direction. If this doesn't work, the hauling job will be postponed until the raid end. This way the AI won't start calculating different paths for other hauling jobs and the pawn will find a job with less priority to do.

To satisfy everyone, this should be an option which can be turned on or off. But the game needs this future to eliminate more micromanagement and to speed up the flow if action during combat. Also, for people playing with a huge number of colonists and only draft half to fight during raids.

I'm sorry for my long post. I can also try to show my theory in screenshots if it isn't clear for you guys or Tynan.

I think i know about you think (yep ;D). But i don't think this:
"This will be different for our 'danger zones'. They might block the only exit out of the colony, since a lot of players build walls around their colony. The problem is that many jobs will be placed outside of the danger zone and cannot be reached unless the colonists are able to climb over walls. The game has to try to find a path many times to find away around the danger zone and this will take up a lot of CPU."

would take so much CPU. You can already do situation like this without danger zone. Just lock 50+ colonists in small room/big room without tasks = 50 colonists idle.

Danger zone on whole map = 50 colonists idle (if danger zone will be just "wall" for colonists then they just would stop moving).

I don't know if i'm right but this is how i understand whole danger zone (danger zone = impassable cells).