Game Career Guide is part of the Informa Tech Division of Informa PLC

This site is operated by a business or businesses owned by Informa PLC and all copyright resides with them. Informa PLC's registered office is 5 Howick Place, London SW1P 1WG. Registered in England and Wales. Number 8860726.


Get the latest Education e-news
 
  • Making A Meaningful Scent System In Redwall

    [05.27.21]
    - Chris Skaggs

  • Atop the passive scent system we added the ability to take a deep breath and learn even more. Active Sense allows the player to see even more distinction between available colors, recognize specific known scents among competing unknown scents, and find static scent clues left behind by others.

    Active Sense

    Scent Prints can reveal who passed through the room only minutes earlier and they fade with time. Scent Prints on bare earth might last longer than those on cold stone and some materials, like a stream bed, suffer no Scent Prints at all. Scent Marks, on the other hand, can reveal an object's owner, a recent battle in the grass, or the deliberate territorial marks left by an aggressive enemy.

    All in all we endeavored to create a wide-ranging, thoughtfully robust and visually complex system of scent that allows the player to experience the world of Redwall that keeps scent at the center.

    Implementation

    The hardest implementation challenge was in creating a system of wind and wind-driven scent particles that was performant at the levels seen on current generation gaming consoles.

    Our first pass used a Unity plug-in called Megaflow which is a feature-dense tool for defining static and changing vector fields that can effect in-game particles at run-time. We used this system through most of primary development but toward the end we found that it was eating too many CPU cycles and we needed to find an alternative. For that we were glad to leverage a new feature in Unity, particle force fields. While we lost a degree of fine control over scent and wind currents the force field system provided a dramatic performance update with a tolerable reduction in the details that really are only visible to the developers.

    Particle system optimization was also a major roadblock. The passive scent system requires tens of thousands of particles with exceptionally long decay rates in order to simulate a steady scent stream that travels downwind over long distances. A typical level might include 50 unique emitters, both moving and stationary, and the presence of a scent must be immediately and reliably visible to the player. This presents a serious performance challenge that was eventually solved by pooling particles into a much smaller number of particle systems that can be visually updated local to the player without the need to track and render all the particles at run-time.

    Lastly, and still vexing, is the challenge of asking level designers to think a little like an animal and design compelling interactions that leverage this as a core mechanic in a way that is both different from our every day experience but still understandable to the average player...we're getting better and better at this every day, but it's tricky, and the subject of a future post.

    Conclusion

    We've come a long way with this system and to my knowledge we are the only game to approach scent in such a robust way. Every time I hear about a new game that includes a "scent mechanic", like the recent Red Dead Redemption II, I look to see if our ideas have caught on somewhere else. But each time I find something far simpler, far more canned and scripted, and I'm again excited to be exploring new territory in the realms of gameplay and immersive gameplay.

    What we've learned and built thus far however, is little more than a good start. Our experience with building, and then meaningful using, vector fields, fluid dynamics, and highly optimized particle systems leads me to think forward to still more applications like white water rafting, black hole surfing, and more...

Comments

comments powered by Disqus