Hello, my name is Kamil and I?m wearing hats of a designer and a programmer. I?m going to talk about smells today.

Hunting is a basic premise of our game and we wanted to base it on common senses. Sight and hearing were obvious, but I wanted to also include the sense of smell. This is not something many games have, but it seems an integral part of hunting (more so on the animals? side).

Great, let?s implement the sense of smell, so? where to begin? I hit the (e)books, I started by familiarizing myself with the subject, I?ve read some hunting guides, watched some interesting lectures about how smells detection works and I?ve read many articles about olfactory nerves, smell particles distribution, diffusion, advection, weather patterns and wind. With all this knowledge, I can tell you now, that our game is not going to be very realistic, but I will strive to make it as fun as we can though 🙂
Sadly I do not, I try though!
So the smell itself was a smaller problem, its propagation was a different matter. The first obstacle was molecular diffusion, the seemingly random movement of particles. It is SLOW, smell particles can traverse roughly a whopping 10 cm per hour – the poor werewolves won?t know what hit them. On the other hand we have advection, a method of transport by bulk motion, where smell particles are transported by air and the mysterious forces of thermodynamics governing it?s movement – so basically the wind. A better method, but it won?t allow for even distribution of the smell on the map, and also the ?mysterious? part is not going to be in the game.

I?ve decided to boost the effects of diffusion, so the smell will try to even out it?s volume over it?s surrounding hexes much faster, and to simulate wind in a variable direction over the entire map (so sadly no localized Venturi effects or vortexes). I?ve also added a dissipation effect for the smell, so that it will loose some of it?s volume over time. Some parameters later, we can now easily simulate most environments, like a calm windless night, where a smell slowly engulfs the whole map, a rainy night where a smell is quickly suppressed by the falling water, or a windy pass at night, where a smell is mostly forced in one direction. And yes, the world is in perpetual darkness, hence the nights 🙂

So now we can move smells around, but what really is ?smell?? Basically, it?s chemical particles that float around in the air or can settle on the ground. It is possible to smell the ground, vacuuming some of the particles stuck on it, or just inhale the air, getting those particles onto our olfactory nerves. The chemical composition of the particle is then translated into the sense of smell as we know it. There is no need for that much complexity in our game, so I?ve abstracted it into an amount of smell particles per hex. This amount is later dispersed around the map for all to smell.

And that gets us to the detection part of the smell sense. Wolves have a pretty awesome sense of smell, they can detect just a few particles and that is their primary sense when hunting. Our werewolves are based on them, so they will track our hunters primarily using their sense of smell, only from a very close distance their vision will take over.

We can set the minimal amount of particles any creature can detect. If a hex contains more particles, then a creature becomes aware of the source. A monster is not relying only on a thought, just that the source of the scent is there somewhere. Here is the point our mechanic and realism part ways. There is no way to detect smell remotely (for animals at least), you have to get those particles into your nasal cavity, and for that to happen you need to be where the particles are. So, until a unit moves to a hex, it won?t know what smells are there, or at least that is how it should be in reality. This is actually a separate problem for the hunters, but I will talk about it later. We?ve allowed enemies to be aware of smells on neighboring hexes, that would allow them to follow the trail and that was the plan for the stamina based movement. When we switched to the action-based movement we had to allow enemies to? Well, to cheat a little basically ;). They will know the volumes of smell particles on all hexes, but they will only follow the trail with the highest concentration, for the player it will look the same, and they will still be able to trick and ambush the enemies.

What a great transition into a smell producing system. We can specify how many particles any object generates per turn and we can specify additional smell generated when spending stamina or just moving around, just to make sure that hunters always leave a tasty trail for the werewolves to follow. The smells of hunters will sum up and be treated as a faction smell, so putting all of your hunters together in one place for some time will create a large pocket of their smell that should lure nearby werewolves to it. Spreading around will decrease the total amount of faction particles per hex, but an unlucky hunter could still be detected and be left without immediate support. We will definitely tweak this system a lot during development as it gives us room to implement many fun abilities like baits, smell suppressing gear or traps.

Unfortunately this can only work like that for enemies, we wouldn?t like to allow players to cheat the same way :). Like I?ve said before, smell cannot be detected remotely, so the player won?t be aware of the smells outside of his hunters? immediate areas. We?ve added a sort of smell-map for the smells of the player?s faction, so that we would know, where they can be detected or what path the creatures will mostly follow. Doing that for the enemies would make the player know the exact position of every enemy on the map, and limiting it to only the immediate area of the hunters won?t be very useful. That is something we are still working on, but we might have to leave it as it is. If you have an idea that you would like to share, please don?t hesitate, I?ll gladly hear you out 🙂