Bay 12 Games Forum

Please login or register.

Login with username, password and session length
Advanced search  
Pages: 1 [2]

Author Topic: Starving dwarves should eat leather  (Read 3580 times)

GoblinCookie

  • Bay Watcher
    • View Profile
Re: Starving dwarves should eat leather
« Reply #15 on: March 07, 2019, 06:53:46 am »

If someone doesn't prepare for invaders you could also argue that they've been playing the game badly, but they still have the .ini option to turn invaders off.

The option to generate worlds where nobody dies will soon be in.  Worlds where nobody needs to eat are also along those lines. 

No, your claim that the AI needs this one act to be considered two separate crimes, from a totally objective standpoint, is a load of bull. I know this because of my background as a computer scientist, who does indeed have experience working with AI.

My opinion is that your proposed method of handling the crime of unsanctioned digging of engraved walls isn't a good one. I'd prefer it if digging engraved walls received the same modifiers to crime severity as vandalising items and buildings that have quality levels.

It isn't so clear when we consider all the factors.  Strictly you are right from a necessity standpoint, but it is still a limiting mechanic. 

In my idea, digging walls is indeed one crime, digging engraved walls is considered vandalism and is treated just like all other acts of vandalism.  Digging the walls on it's own does not count as vandalism, but digging engraved walls does.  This means dwarves will favour digging unengraved walls all else being equal unless they are totally okay will vandalism and it is unpunished. 

Not entirely sure what you're trying to get at here. Do you mean to say that AI won't be able to keep track of in-game law changes without separating this one act into two separate crimes?

If you are, then you're wrong, and I honestly don't know how you made it to that conclusion.
Players could be shown crime severity through the justice screen when highlighting said crime, there is still no need for it to be displayed as, or treated by the code as, multiple crimes at once.

The AI acts upon the total number.  We need to know what the seperate elements that contribute to that number are because our ability to set laws alters those numbers and therefore allows us to in effect control what AI criminals do. 

Seems reasonable, though creatures that have a neutral opinion on law should have a cap on the severity calculations equal to the severity required to be given the death sentence, since any more severity is largely irrelevant if the law is unimportant to you.

Except that people's respect for law should not be the only reason people don't break it.  People should have ethics are well, so the inhibitory factors should be threefold.
  • How much do I respect the law?
  • How much is doing this against my ethics?
  • How much do I fear punishment.  That is Punishment severity / Percieved odds of getting caught.
Goblin-raised people who have neither respect for either the law or have any ethics against what we are doing will only regard the punishment angle.  The exception is that they will not dig a tunnel to give invaders access to your fortress, because that counts as [TREASON] which goblins have strong ethics against.  If there are invaders outside your fortress and goblins are hungry, the goblin-raised will be disinclined to dig a tunnel to get at food on the surface even if they would normally steal food happily. 

On the other hand, we have two factors.  We have the desirability of food, stuff like leather has a negative value here and we also have how hungry we are.
Logged

Ninjabread

  • Bay Watcher
    • View Profile
Re: Starving dwarves should eat leather
« Reply #16 on: March 07, 2019, 07:15:24 pm »

The option to generate worlds where nobody dies will soon be in.  Worlds where nobody needs to eat are also along those lines. 

You can already make dwarves not need to eat by giving them the [NO_EAT] tag, as I've already mentioned. That isn't what is being discussed.

It isn't so clear when we consider all the factors.  Strictly you are right from a necessity standpoint, but it is still a limiting mechanic. 

Not really. If the player is given control over the modifiers alongside the laws, there is no limitation to this method that isn't also a limitation to your own.

In my idea, digging walls is indeed one crime, digging engraved walls is considered vandalism and is treated just like all other acts of vandalism.  Digging the walls on it's own does not count as vandalism, but digging engraved walls does.  This means dwarves will favour digging unengraved walls all else being equal unless they are totally okay will vandalism and it is unpunished. 

So, in your idea, if vandalism is a personal matter, but unsanctioned digging is a capital offence, won't dwarves specifically seek engraved walls to dig since digging those out counts as vandalism rather than unsanctioned digging?

Also, again, you're underestimating AI. If unsanctioned digging is considered a form of vandalism, and is a more severe crime when the wall is engraved, and said severity is modified by the quality of the engraving, then not only will the AI be able to get dwarves to favour digging unengraved walls over engraved walls, but also it can get them to favour digging lower quality engraved walls over higher quality engraved walls.

AI has it's flaws, but if there's one thing that it's really really good at, it's maths, and pathfinding is maths.

The AI acts upon the total number.  We need to know what the seperate elements that contribute to that number are because our ability to set laws alters those numbers and therefore allows us to in effect control what AI criminals do. 

If we can edit the severity of laws, we can probably see the severities that we're editing. I'd rather not give the player the ability to mind-read criminals' pathfinding decisions just so that they can better manipulate said criminals.

Except that people's respect for law should not be the only reason people don't break it.  People should have ethics are well, so the inhibitory factors should be threefold.
  • How much do I respect the law?
  • How much is doing this against my ethics?
  • How much do I fear punishment.  That is Punishment severity / Percieved odds of getting caught.
Goblin-raised people who have neither respect for either the law or have any ethics against what we are doing will only regard the punishment angle.  The exception is that they will not dig a tunnel to give invaders access to your fortress, because that counts as [TREASON] which goblins have strong ethics against.  If there are invaders outside your fortress and goblins are hungry, the goblin-raised will be disinclined to dig a tunnel to get at food on the surface even if they would normally steal food happily. 

On the other hand, we have two factors.  We have the desirability of food, stuff like leather has a negative value here and we also have how hungry we are.

If point 3 is specifically how much they fear punishment, it might be an idea to also add in some calculations based on personality facets like anxiety propensity or bravery too.
Logged

Dorsidwarf

  • Bay Watcher
  • [INTERSTELLAR]
    • View Profile
Re: Starving dwarves should eat leather
« Reply #17 on: March 12, 2019, 02:53:01 pm »

Pathfinding may be maths, and computers are good at maths, but its also not computationally cheap. Thats why pathfinding always takes shortcuts, and shortcuts reduce fidelity. Pathhfinding is also one of the biggest causes of lag/slowdown in DF already so you wanna be careful when proposing stuff with it
Logged
Quote from: Rodney Ootkins
Everything is going to be alright

Ninjabread

  • Bay Watcher
    • View Profile
Re: Starving dwarves should eat leather
« Reply #18 on: March 12, 2019, 03:35:33 pm »

Yeah I agree it definitely shouldn't be added anytime soon, extra pathfinding is inevitable with GC's suggestion of miner dwarves pathing through walls so the whole suggestion isn't really viable short-term, but discussions with GC are never about the short term, which can be a good thing or a bad thing, depending on whether or not he decides to go further into the future than the dev page does.

Also worth mentioning: there is no difference in pathfinding costs on the CPU between my method and GC's method, they are both based on crime severity. Extra calculations come from calculating crime severity itself, shouldn't impact actual gameplay much, if at all, since presumably the game will be paused while laws are being changed, and thus will still be paused when severity calculations are performed.
Logged

GoblinCookie

  • Bay Watcher
    • View Profile
Re: Starving dwarves should eat leather
« Reply #19 on: March 13, 2019, 06:46:13 am »

Not really. If the player is given control over the modifiers alongside the laws, there is no limitation to this method that isn't also a limitation to your own.

You are talking about modding here or not?

So, in your idea, if vandalism is a personal matter, but unsanctioned digging is a capital offence, won't dwarves specifically seek engraved walls to dig since digging those out counts as vandalism rather than unsanctioned digging?

Also, again, you're underestimating AI. If unsanctioned digging is considered a form of vandalism, and is a more severe crime when the wall is engraved, and said severity is modified by the quality of the engraving, then not only will the AI be able to get dwarves to favour digging unengraved walls over engraved walls, but also it can get them to favour digging lower quality engraved walls over higher quality engraved walls.

AI has it's flaws, but if there's one thing that it's really really good at, it's maths, and pathfinding is maths.

They will dig through whichever walls are most convenient for them to dig through.  If vandalism is a crime, then they will avoid digging through engravings even if it is more convenient to do so.  I guess we need to factor in convenience as well as the other factors. 

Underestimating the AI is a good idea from a memory standpoint I think. 

If we can edit the severity of laws, we can probably see the severities that we're editing. I'd rather not give the player the ability to mind-read criminals' pathfinding decisions just so that they can better manipulate said criminals.

Not quite, because we cannot see the severities derived from the personal ethics of our dwarves since we cannot see ethics in general.  We can see the relative severity of the laws, but not the non-legal factors influencing the individuals decision.  That helps us to control the majority but particular individuals will end up not doing what everyone else does, which is a rare thing in present DF. 

If point 3 is specifically how much they fear punishment, it might be an idea to also add in some calculations based on personality facets like anxiety propensity or bravery too.

Yes but those are secondary calculations adjusting the single factor of how much they fear the punishments. 

Pathfinding may be maths, and computers are good at maths, but its also not computationally cheap. Thats why pathfinding always takes shortcuts, and shortcuts reduce fidelity. Pathhfinding is also one of the biggest causes of lag/slowdown in DF already so you wanna be careful when proposing stuff with it

Creatures already pathfind to get food items.  As long as there is a time-lag between when they fail to find food items normally and when they take emergency measures, there shouldn't be any extra lag. 
Logged

Ninjabread

  • Bay Watcher
    • View Profile
Re: Starving dwarves should eat leather
« Reply #20 on: March 13, 2019, 05:03:48 pm »

You are talking about modding here or not?

No, I'm talking about players being able to alter quality-based modifiers to vandalism crime severity through the same method that they can alter base crime severity.

They will dig through whichever walls are most convenient for them to dig through.  If vandalism is a crime, then they will avoid digging through engravings even if it is more convenient to do so.  I guess we need to factor in convenience as well as the other factors. 

I'm not sure you actually properly read the question there. I was bringing this statement into question:

In my idea, digging walls is indeed one crime, digging engraved walls is considered vandalism and is treated just like all other acts of vandalism.

My point was that if vandalism has a separate crime severity value to unsanctioned digging, and unsanctioned digging of engraved walls is considered vandalism rather than unsanctioned digging, this could potentially make dwarves prefer to dig engraved walls over unengraved walls if unsanctioned digging is considered a more severe crime than vandalism.

Underestimating the AI is a good idea from a memory standpoint I think. 

Not really. Failing to realise the full potential of your assets can hamper development.

Not quite, because we cannot see the severities derived from the personal ethics of our dwarves since we cannot see ethics in general.  We can see the relative severity of the laws, but not the non-legal factors influencing the individuals decision.  That helps us to control the majority but particular individuals will end up not doing what everyone else does, which is a rare thing in present DF. 

I'd rather not give the player the ability to mind-read criminals' pathfinding decisions just so that they can better manipulate said criminals.

Yes but those are secondary calculations adjusting the single factor of how much they fear the punishments. 

Still worth mentioning

Creatures already pathfind to get food items.  As long as there is a time-lag between when they fail to find food items normally and when they take emergency measures, there shouldn't be any extra lag. 

Providing extra movement options with high pathing costs is the thing that adds lag. Essentially, where a normal path would stop at a wall, miners would continue to calculate the full beeline path to their goal, realise that the distance to their goal and the pathing cost to get to their goal are two separate numbers, then check radiating paths until they either find a less costly path, or calculate and exhaust every other pathing option only to find that all other paths are equal to or greater than the cost of the beeline, at which point they go for the beeline.
Logged

GoblinCookie

  • Bay Watcher
    • View Profile
Re: Starving dwarves should eat leather
« Reply #21 on: March 19, 2019, 07:16:57 am »

No, I'm talking about players being able to alter quality-based modifiers to vandalism crime severity through the same method that they can alter base crime severity.

Ah, you mean that we can determine the factor of quality in how severely a specific act of vandalism is treated. 

My point was that if vandalism has a separate crime severity value to unsanctioned digging, and unsanctioned digging of engraved walls is considered vandalism rather than unsanctioned digging, this could potentially make dwarves prefer to dig engraved walls over unengraved walls if unsanctioned digging is considered a more severe crime than vandalism.

No, because the dwarf that digs the engraved wall is guilty of BOTH the crime of vandalism and the crime of unsanctioned digging.  It is not EITHER it is AND. 

Providing extra movement options with high pathing costs is the thing that adds lag. Essentially, where a normal path would stop at a wall, miners would continue to calculate the full beeline path to their goal, realise that the distance to their goal and the pathing cost to get to their goal are two separate numbers, then check radiating paths until they either find a less costly path, or calculate and exhaust every other pathing option only to find that all other paths are equal to or greater than the cost of the beeline, at which point they go for the beeline.

Potentially if there is a very complicated winding route to the legitimate goal, it could be simpler to be able simply dig through the wall. 

That is a good reason to treat all vandalism as one crime regardless of how valuable the destroyed engraving is.  That way we can simply calculate the optimal route for each crime set.  So we calculate one route that involves unsanctioned digging only, another that involves unsanctioned digging+vandalism and another that involves a combination of theft with the above. 

The fact that the pathfinding algorithm will automatically chose the easiest route to the destination anyway should presumably dispense with the need to calculate more than one route of each set.  At this point I rather wish I knew more about computer programming.....
Logged

Ninjabread

  • Bay Watcher
    • View Profile
Re: Starving dwarves should eat leather
« Reply #23 on: March 19, 2019, 08:17:31 am »

Fair point scourge, we have kinda gone off the specific topic of leather-eating, so I'll stop.
Logged

scourge728

  • Bay Watcher
    • View Profile
Re: Starving dwarves should eat leather
« Reply #24 on: March 19, 2019, 08:51:36 am »

That... wasn't what I was trying to say at all.. I just found that in my sig and thought it would be funny to drop into the thread

GoblinCookie

  • Bay Watcher
    • View Profile
Re: Starving dwarves should eat leather
« Reply #25 on: March 21, 2019, 07:07:46 am »

Fair point scourge, we have kinda gone off the specific topic of leather-eating, so I'll stop.

There wasn't really much to say about the topic of leather-eating in particular.  It seems to work along similar lines as the ideas we were discussing, it is a behaviour that is triggered by the sustained inability to find food normal but isn't the normal.  I guess it would work like this.

1. Gain food normally.
2. Steal food.
3. Eat bugs/leather/corpses.
Logged
Pages: 1 [2]