An early requirement was for a mechanism that allowed the modeller to control the movement of peeps. The scheduling module provides this capability.
Each peep can be given one (or, via the state system, more) schedules. These are defined as a sequence of days, each of which consists of (time, action) pairs. Each action may be a location to move to, or one or more states to transition into.
For example, a somewhat cynical representation of a stereotypical adult's working week might be:
By combining cyclic schedules with state changes, fairly realistic, pseudo-random behaviour can be achieved without the need for complex AI routines.
In addition to these cyclic schedules, the module also provides one-off event schedules. Rather than being a list of events over the course of a day, it lists events that occur once at a specific date and time.