Skip to main content

Barking and Sound (In Development)

Sound is a key part of building believable and engrossing media and is lacking currently in the tool. Adding the ability for the system to provide more ambiance to the scene will help developers to get more out of the tooling. Barks are also really useful for providing more details to the end user and to better understand the actions of agents.

Proposed Changes

  • Text displayed above agents
  • Bark, Bark Collection and Bark Selector ScriptableObjects
  • General bark lines
  • Barks for a specific job
  • Blocking barks from behaviour tree nodes
  • Specific action bark lines

Scope of Proposed Changes

Supporting Text Displayed Above Agents (Done)

The ability to display text above an agent will allow for barks and text based ambience in the scene. This is a key feature to open up new options.

Bark ScriptableObjects (Finishing Stage - 0.14.0)

A bark holds a line of text, a sound, or both. A bark collection holds a weighted list of barks along with the controls for when to use them: requirements, a probability and a cooldown. Collections are ordered in a bark selector, and the first collection an agent meets the requirements of is used. Requirements use the same requirement system as the behaviour trees and animation editor, so the existing conditions for jobs, needs and agent state all work with barks.

General Bark lines (Finishing Stage - 0.14.0)

Barks which can be triggered at any time. All agents share one General bank, authored in the new Bark Editor. Agents near the camera get a regular chance to bark, and barks always give way to conversations when CIVIL-DIALOGUE-SYSTEM is installed.

Barks for a Job (Finishing Stage - 0.14.0)

Job nodes in the Behaviour Tree Editor can create a bark collection that only agents doing that job use, without setting up its requirement by hand.

Blocking Barks (Finishing Stage - 0.14.0)

Any behaviour tree node can block barks, keeping agents quiet while they're in it, in the same way nodes can already block conversations.

Sharing the Dialogue Bubble (Finishing Stage - 0.14.0)

With CIVIL-DIALOGUE-SYSTEM installed, barks use its overhead text bubble and settings, so barks and conversations look the same.

Specific Action Bark lines (Deferred for now)

Actions will have a new entry within the Endpoint Behaviour which takes a bark collection, so agents can say a line as an action starts, while it runs, or as it finishes.

Risk / Open Questions

This is limited in risk and should be fairly straightforward to add. Recording the same line in a different voice for each agent is not planned for now, but barks are built so it can be added later without changing existing bark assets.

Delivery

The first part of this work ships in 0.14.0: general barks, barks for jobs, blocking barks and bark audio. Action barks may follow in a later update.

Summary

The proposed changes should provide a better way to provide ambience within the scene and is limited in terms of scope. It uses pre-existing functionality and should provide good benefits to end users.