[quote=“GlyphGryph, post:33, topic:3591”]The problem is that scent creates the “missile seeking behaviour” i2amroy described, where they find your exact position flawlessly, making hiding, evading, any sort of close-up-tension feeling impossible. I want to be able to hide from zombies and use the night to my advantage.
Another problem is that changing how well or poorly an animal smells has NO effect on this behaviour whatsoever. They are still able to tell EXACTLY where you are as soon as they catch your scent, and never lose you. I want zombies to be able to smell, but I want smell to make them agitated and enter search mode in the general area of the smell, not become an instant unstoppable character seeking missiles. So hiding is possible, but the zombies losing sigh of you shouldn’t drop them right back into passive mode. They should know you’re around and be looking for you, they just shouldn’t be able to find your EXACT position.
The third problem is distance, but the exact opposite of the problem you just described. The drop off for scent to matter is incredibly small, to the extent that animals with good smell don’t even matter. It’s also remarkably lacking in persistence, fading in a few turns. Basically smell doesn’t matter in any of the ways smell should matter - it can’t draw enemies closer to search your area, things can’t really follow your trail, it doesn’t change their behaviour (until turning them into a missile).
The result is that smell is simply “If an animal is close enough they know exactly where you are” which just… isn’t nearly as fun as it could be and should be. And changing the distance at which this behaviour occurs isn’t a good solution.[/quote]
Our implementation is actually an extremely accurate model of how scent works, scent diffuses from its source (setting up a steady gradient of scent strength), and animals that can track via scent can tell which direction has the strongest scent. Put those two together, and you have the scent-tracking behavior we see in the game. But, this gave me an idea!
Another possibility is to cap the MAXIMUM scent strength at which a monster can discern differences, so if they get within a certain range of the source, they become unable to discern the direction, so have to use other methods of tracking. That way a dog tracking you at night would perhaps follow 10 squares back or so, but wouldn’t be able to track to your position unless it heard or saw you.
Illustrated: (it’s more blobby than this, and with a larger scale)
000000000000000000000
011111111111111111110
012222222222222222210
012333333333333333210
012344444444444443210
012345555555555543210
012345666666666543210
012345677777776543210
012345678888876543210
012345678999876543210
0123456789@9876543210
012345678999876543210
012345678888876543210
012345677777776543210
012345666666666543210
012345555555555543210
012344444444444443210
012333333333333333210
012222222222222222210
011111111111111111110
000000000000000000000
So, we can set thresholds for both the inside and the outside, basically if a square is below threshold A, the monster can’t tell which direction is better, so the scent check totally fails. Likewise if the square is above threshold B, it also can’t tell a direction. In both cases, it falls back on the default behavior. Also, there’s nothing keeping us from making items smell like the player, in which case they could be used for misdirection.
If you’re running, the effect is even more pronounced, because you’re leaving a strong scent trail behind you, and that will foil the monster at a greater distance than if you stopped and the scent cloud recentered on you.