Need Behaviours
This behaviour type is used to cover anything that an agent requires. These do not have to conform to basic needs and can cover a wide range of behaviours.
Creating Need Behaviours
Like all behaviours they are made within the 'Behaviour Tree Editor'. When creating need behaviours you will use the different type of nodes shown below to define how the agents act.
Types of Nodes
There are a total of three different node types which are mentioned below. Each type plays a specific role within the behaviour tree.
Need
This is the top layer of the behaviour tree. It represents a collection of methods which can be used to fullfil the need. It contains global settings for the need such as the weighting curve (shown by graph) as well as the range of possible values for the need.
Method
The middle layer of the behaviour tree belongs to a need and is used to describe a way of fulfilling a need. This layer is designed to provide resilience for your agents by giving them more options to do something. As each method could achieve fulfilment of the need in different ways the 'affect' is set on the method node and is what is applied to the fulfillment level on successful completion. An example of this could be sleeping, done on a bed could provide more fulfillment of the sleep need than say the cold hard floor.
Action
The final layer which is shared across all behaviour trees. Actions are actual scene affecting effects such as moving somewhere, playing animations or a host of other changes. They belong to methods.
Best practices when designing
Do not limit it to just the essentials
This behaviour tree can be used for a host of statuses which require actions to fulfil. The weighting system can be used to denote how important it is, only the highest weighted action will be done next meaning if you have specific needs which are life important they will outweigh your less important ones if you setup the global weighting correctly.