The game world’s been detailed with pockets of static logic. What’s needed next are the levers that turn on and use portions of that logic to create dynamic gameplay.
Action Zone Activation
A Zone Registry modifies the default values for Action Zone elements. It’s an external file that stores changes to an Action Zone when the larger level (or Action Zone) isn’t active. This allows external events to change the default values, such as Faction control or population choices. A Registry can be modified with game scripting. Registries are usually created during gameplay — the initial values are described in the Zone Controller entity.
Fig. 20: Action Zone event activity.
When the player enters a new Action Zone, the first thing checked is if a Registry is present. If not, then it uses the default values for all Zone elements, such as: music, ambient sounds, light levels, population, a primary and secondary Faction, available resources, vendors, informants, and environment hazards. Gameplay, spawn logic, and other events for key areas are also enabled, waiting to be turned on (or off). When the player leaves the Action Zone all these elements are turned off and disabled. If a value needs to be remembered for a future visit, it’s written to the Registry.
A player has a variety of options while playing. All options eventually break down to individual events. For example, a Mission is nothing more than a series of related events. Enlarge the following chart to understand how events mix into the larger gameplay.
Fig. 21: Player Options & Event flow chart.
The higher level “brain” that examines all available options and picks the best one for gameplay is the “Decider”. It’s influenced by what’s happening on a per-second basis as well as what larger missions and events have been recently used. Without this piece, manual scripting is required to start correct events for a satisfying experience.
Fig. 22: High level event decisions.
(Credit to Mike Flynn for coming up with the Decider Trifecta!)