Multiple Needs

Diffusion patterns can be combined to produce complex behaviors like that seen in the Sims games, where characters pursue a variety of needs, like food, entertainment, and social interaction. Agents that support these needs, like a refrigerator (for food), a TV (for entertainment), and other characters (for social stimulation), diffuse different kinds of “hotness” through the environment. To do this, the floor tiles have multiple attributes, corresponding to the various needs, and they diffuse all of them as the program runs.

Agents representing characters now move up the gradients created by these diffusions, deciding which gradient to climb depending on their current needs. A character can have an attribute representing the level of each need, set to a low value when a need is satisfied, and then increasing as time passes. The character decides which gradient to climb by comparing the levels of its needs. For example, when a character reaches the refrigerator, its “food” need attribute would be set to a low level. This would make it move away from the refrigerator, driven by some other need, say entertainment, climbing a gradient that might take it to a TV.

The choice of which gradient to climb can be made more complicated. Hierarchical goal structures can help to prioritize goals for program agents in a way that is perceived as rational behavior.

Maslow’s hierarchy of Needs is a psychological theory of human motivation, represented by a pyramid diagram. To be able to pursue goals on one level in this pyramid all the levels below need to be satisfied. Agents will have to constantly check conditions at all these levels to make sure a goal at a certain level can be pursued. For instance, an agent working on self-actualization, when faced with mortal danger, will have to postpone the current goal in order to deal with its safety issues. The logic of the pyramid can be built into the choice the agent makes of which of multiple gradients to climb.

Games/Simulations that use this pattern

 * Sims