Levels / Routines
 
A routine is a set of one or more actions that affect a level or its inhabitants. There are several events that can cause routines to be performed, and a huge variety of actions that can be carried out by a routine once it is performed. For example, the player might walk into a certain hot zone that triggers a routine that activates a force field. Or the death of an enemy character might trigger a routine that causes fireworks to appear. Routines can also assign values to variables which can then be referred to by other objects in the level. To make things even more interesting, a routine could cause one or more additional routines to be performed, perhaps after a set delay.

Routine Triggering Events

Any of the following events may trigger the performance of a routine:

The starting of a level
The completion of a level
The death of the player
The ending of the game
The passage of a periodic time interval in a level
The actions of a particular character
The activation or deactivation of a switch
The entering of a hot zone
The appearance or disappearance of a particular message pane

Routine Actions

When a routine is performed, it may trigger any combination of the following actions:

Level Actions
  Insert a block of material into the level
  Change the amount of time remaining
  Connect to another level
Set Player Properties
  Change the player's player type
  Warp the player to a new location
  Change the player's current weapon
Control Player Behavior
  Make the player aim in a specific direction
  Make the player accelerate or decelerate
  Make the player attack, jump, or leave a vehicle
Set Character Properties
  Change a character's character type
  Warp a character to a new location
  Change character's goals
Control Character Behavior
  Make a character aim in a specific direction
  Make a character accelerate, decelerate, or patrol
  Make a character attack, jump, unleash children, or drop items
Apply Force to Character
  Apply directional force to a character
  Apply directional force to the player
Create Character
  Add a new character to the level
Damage Character
  Reduce a character's hit points to or by a certain value
Contrail Actions
  Add a new contrail to the level
Door Actions
  Open or close a door
  Change who can open or close a door
Force Field Actions
  Activate, deactivate, or toggle a force field
  Change who a force field affects
Hot Zone Actions
  Move a hot zone
Item Actions
  Give item to player
  Create new item
Light Actions
  Move a lighting effect
  Change a lighting effect's strength
  Change a lighting effect's color
Message Pane Actions
  Show a message pane
  Hide a message pane
Projectile Actions
  Add a new projectile to the level
  Detonate all enemy projectiles
  Detonate all player projectiles
Scenery Actions
  Activate or deactivate animated scenery
  Move animated scenery
  Change animated scenery draw order
Scrolling Actions
  Focus the camera on specific location in the level
  Hold the camera position stationary
  Scroll the level horizontally or vertically
  Change the types of scrolling allowed in the level
Sound Actions
  Play or stop a sound
  Play or stop the level's background music
  Change the level's background music volume
Switch Actions
  Turn a switch on or off
  Change who can turn a switch on or off
Variable Actions
  Change the values of up to two variables
Perform Additional Routines
  Perform up to three other routines, each with an optional delay

Because so many actions can be performed by routines, and because there are so many different events that can trigger routines, it is possible to configure levels that almost take on lives of their own.

Routines can be further enhanced through the assignment of certain Performance Conditions; for example, a routine might only be allowed to be performed five times, or it might only be performed if the value of the variable A is greater than a certain number. (There are twenty six variables that may be utilized by routines.) If something wonderful–or inexplicable–seems to be happening in a Power Game Factory game, it is likely a routine that is to be thanked–or blamed.

Information on configuring routines is available in the Level Routine Editing section.