Jump to content

Common Sense and Cooperation


Recommended Posts

I think the dupes could stand to have better "common sense" programming. I had one suffocate to death in a pit full of CO2 because it was being blocked by a single block of sand (in a two-high corridor, so not entirely unprecedented) which I told it to dig out, but accidentally didn't give top priority, so it just ran around unable to reach other jobs that WERE higher priority until it keeled over. This was stupid and preventable and seems outside the spirit of the game. The same base would later collapse as everyone was stuck in a cycle of delivering materials to unpowered microbe mushers, but refusing to power them, so they starved to death (it was my most recent base so there's still like four of them stuck in a state of Schrodinger's doom until I load the save or mercy-kill them by starting a new one). This was also stupid and preventable, although I find myself less able to concretely say it was outside the spirit of the game, but I suspect it is. Here's what I'm thinking:

  • If the dupe is trapped in a critical situation, it will go into "oh balls" mode, digging and building of its own accord until it has an accessible route to safety. This supersedes all task priorities, effectively being "priority 10."
  • All problems created in the process of saving their 3D-printed cans are issues to be dealt with after they're no longer on the verge of death. They'll pay no mind to the things between them and safety unless it's impassable or immediately deadly.
  • The quickest and most basic solution is the best. If safety is down, they'll dig straight down. If it's up, they'll build a ladder. If it's sideways, they'll dig a two-high tunnel and use basic tiles to cross gaps.
  • If they need to build but don't have materials available on this side of whatever's in their way, they will dig out materials from the walls around them to build with. 

Regarding the second example it often feels like dupes just do tasks arbitrarily with no capacity to genuinely "work together," and for that matter in that specific case I'm pretty sure that they ignored me altering job permissions to try and MAKE someone power the mushers, just delivering dirt and water ceaselessly. I think either some degree of inter-dupe communication/coordination is in order, paying attention to what other dupes are currently doing to solve the problem and what else needs to be done so they're not all doing the same thing. Or, the ability to assign dupes to teams; a team is given a task ("make food") with sub-tasks ("generate power," "deliver dirt," "deliver water," "operate musher") and no dupe on a team can do the same sub-task as any other dupe on the team.

Thoughts?

Link to comment
Share on other sites

4 hours ago, Chowder said:

If the dupe is trapped in a critical situation, it will go into "oh balls" mode

unfortunately in that case the situation isn't considered critical (by the game) until the dupe can't reach oxygen, bed or food (and even then it doesn't always warn you) so i'm very alert for any unusual 'idle' notifications as that's usually the most likely warning you'll get when something's amiss.

I'd recommend using Red Alert mode when a dupe is in trouble

Link to comment
Share on other sites

11 hours ago, Kruleworld said:

unfortunately in that case the situation isn't considered critical (by the game) until the dupe can't reach oxygen, bed or food (and even then it doesn't always warn you) so i'm very alert for any unusual 'idle' notifications as that's usually the most likely warning you'll get when something's amiss.

I'd recommend using Red Alert mode when a dupe is in trouble

Well, my suggestion DOES sort of necessitate a more granular understanding of what qualifies as a "critical situation" and probably of puzzle/system dependencies on the part of the game's AI. Like, it already can tell when a dupe can't reach things it needs (which, frankly, is the main "critical situation" I'm referring to), it just doesn't give them the agency to do anything about it themselves.

Also, in both my examples they were basically already in red alert mode, ignoring their own needs to try to keep working, it's just that "keep working" in this case was the problem. I think what I'm mainly lobbying for is that, when a dupe dies, I want it to feel like they died struggling in a situation that got the best of them, not because they were Charles II of Spain.

Link to comment
Share on other sites

I kind of like the "idiot" factor of the dupes.

But, yeah, when they are about to die a needless death, I'll click on them, and use the "move to" feature, locating them to some place with oxygen.

Maybe I just like the fact that they are completely lost without me.

 

Link to comment
Share on other sites

 

17 hours ago, Chowder said:

. I had one suffocate to death in a pit full of CO2 because it was being blocked by a single block of sand (in a two-high corridor, so not entirely unprecedented) which I told it to dig out, but accidentally didn't give top priority, so it just ran around unable to reach other jobs that WERE higher priority until it keeled over.

That's very strange, in my experience a walled-out dupe will take up the highest priority task he can access without attempting tasks he cannot access. The reason why he did not start digging might be rather that the task was already taken by another dupe on the other end of your base and it took him too long to get to the place.

17 hours ago, Chowder said:

If the dupe is trapped in a critical situation, it will go into "oh balls" mode, digging and building of its own accord until it has an accessible route to safety. This supersedes all task priorities, effectively being "priority 10."

It's not easy to define a critical situation or a situation where a dupe is "trapped". The best I can give you is when the dupe is in danger of dying due to heat, cold, hunger, or lack of oxygen. No access to bed? Sleep on the floor. No access to a toilet? Soil yourself. These are not critical situations for dupes. So if he's in danger of dying, he might start tunnelling towards a place that could solve his problems (because it's always possible to dig or deconstruct but you need materials to build anything). Closest food, closest oxygen, closest acceptable temperature. What's closest? Is it the path that requires least digging, or is it the straight path towards the nearest place with appropriate qualities? In second case (straight to nearest) you might find the dupe destroying way more than necessary (and not necessarily actually saving himself). And the first way requires complex pathfinding algorithm that's not used for anything else in the game but for this little feature. And that's IMO not worth the effort.

Link to comment
Share on other sites

i would like a small icon for each dupe which could be toggled and would show a zoomed in window

also dupes should have some meter and alert when limited movement/too much static.

for example implement the 0 stamina action, already in files but nothing happens, have a stamina stat, should be possible to have increased stamina, but less reload in cots. some higher tier beds. stamina would be based on actions so when idle/static/working on machines exept wheel, they would preserve/load stamina. maybe more interactions between characters so imprisoned/stuck dupes would have some drawback. 

Link to comment
Share on other sites

5 hours ago, Kasuha said:

It's not easy to define a critical situation or a situation where a dupe is "trapped".

Well, the game can ALREADY tell when a dupe can't access something it needs to survive; it gives you a little popup when the dupe's pathfinding can't bring it into contact with what it needs saying "food unreachable" or what have you. That's largely how I'm defining "trapped in a critical situation." So, while I'm not suggesting by any means that implementing this feature would be EASY (I have tried to program before and I don't think I'm allowed to say those words on this forum), I AM suggesting that it doesn't seem like much of a stretch that such a feature should exist.

5 hours ago, Developous said:

I'm thinking the idiot factor should be utilized In an earned way. Techs for increased training. What say you?

Yes! That's exactly what I mean. Neither of the examples I gave felt like earned deaths; they felt like the dupes simply gave up before they even really tried. This game has sort of a Dwarf Fortress vibe to it and the "idiot factor" is a HUGE contributing factor to all the most spectacular Dwarf Fortress stories, but it was also usually not a question of seeing it coming a mile away and your efforts to prevent it being irrelevant; it's usually some small variable that pops up unexpectedly and makes all the interconnected systems of the game interact in unexpected ways, and the resulting chaos, while certainly distressing to live through and try to manage, still makes for an interesting and entertaining story after the fact.

Link to comment
Share on other sites

4 hours ago, Chowder said:

Well, the game can ALREADY tell when a dupe can't access something it needs to survive; it gives you a little popup when the dupe's pathfinding can't bring it into contact with what it needs saying "food unreachable" or what have you.

If you read past the sentence you quote, you may notice that I discuss these situations. When the game starts, no dupe has access to a bed, to a table, to a toilet, and each of them can go whole cycle without food. No access to food is only critical if the dupe is already starving.

Besides, a dupe can easily wall himself and still have access to food. They dig plenty of food out of the ground.

4 hours ago, Chowder said:

So, while I'm not suggesting by any means that implementing this feature would be EASY (I have tried to program before and I don't think I'm allowed to say those words on this forum), I AM suggesting that it doesn't seem like much of a stretch that such a feature should exist.

Let's put it this way: yes, I would also like if dupes could get themselves free when they unintentionally wall themselves. They shouldn't do that when they get walled intentionally (because yes, there are players who intentionally kill some of their dupes - and recognizing whether the situation is intentional or unintentional is another good programming and design challenge) and as a programmer who writes code for living I estimate that the feature you're asking for requires more effort than it's worth.

Link to comment
Share on other sites

Sorry, that was unclear; I just meant "it doesn't seem like much of a stretch" as in "logically" rather than like, in terms of implementation. Like I said, I've done just enough programming to want to gouge out my own kidneys so I'm not going to be that guy who goes "IT WOULD BE SO EASY JUST HOOK THE COMPUTER UP TO MY BRAIN SO IT KNOWS WHAT TO DO."

Link to comment
Share on other sites

32 minutes ago, HabdomeRaider said:

I think a few basic AI modifications would help the situation. For example: If a dupe can only access one task, they should do that task even if someone else has already claimed it.

Yes. Something like that could apply even if the dupe doesn't have just one task available - if he's standing right next to a potential task and it's already claimed, he could switch with the dupe who's only on the way there. That way dupes would not take turns digging single tiles when making a tunnel, for example.

Link to comment
Share on other sites

3 hours ago, ZalrokChaos said:

They should build/dig the closest thing instead of those that are farther

I believe every simple strategy has a situation where it will fail and produce unwanted results. First of all, what is "closest"? Closest to the dupe, to his bed, to his food, to the lavatory? For any of these there are situations where the dupe will start at the opposite end than where you want him to.

Link to comment
Share on other sites

I think some tasks should be done by passerby like enabling/disabling a building, changing the state of a door, a switch. They can be assigned to someone of course to be sure they are done, but if someone else has it on its road, he should do it and original owner of the task reassigned!

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...