Game state is the in-memory data which describes the state of the game world as it is simulated over time. It differs from tags which, although they are also loaded into memory, describe static or initial properties of classes of game objects rather than the current properties of individual ones.

Game state also includes global data for systems like scripting (script globals), multiplayer game modes (scores), and physics (game speed and gravity) to name a few.

Most of this data is saved and loaded from save files.

Datum arrays

Much of the game state is maintained in datum arrays, also called tables. Each entry (datum) in these arrays is used to store the current state of some object or effect.

Since the game world is dynamic, the datum count can rise up to a limit. The following limits are known ("-" if unchanged):

TableLegacy limitH1A limit
objects2048-
cluster collidable object reference2048-
cluster noncollidable object reference2048-
collidable object cluster reference2048-
noncollidable object cluster reference2048-
cached object render states256-
widget12-
flag2-
antenna1224
glow8-
glow particles512-
light volumes256-
lightnings256-
device groups1024-
lights896-
cluster light reference2048-
light cluster reference2048-
decals2048-
players16-
teams16-
contrail512-
contrail point1024-
effect256-
effect location512-
particle1024-
particle systems64-
particle system particles512-
object looping sounds1024-
actor256-
swarm32-
swarm component256-
prop768-
encounter128-
ai pursuit256-
object list header48-
list object reference128-
hs thread256-
hs globals (includes "external globals", not just those in the level script)1024-
recorded animations64-
AI knowledge768-
mounted weapon units8-

Related HaloScript

Function/global

Type

(ai_show_swarms [boolean])

Displays debug information in the bottom left with the current counts for swarms and swarm component datum arrays. Swarms are groups of Flood infection forms while components are individual infection forms.

Global

Acknowledgements

Thanks to the following individuals for their research or contributions to this topic:

  • gbMichelle (Reversing stock table limits)