Tick

From Wiki of ZZT
Revision as of 13:19, 24 December 2025 by Asie (talk | contribs) (Created page with "The fundamental unit of time in a ZZT world is the '''tick'''. During a tick, the player input is collected, after which all stats are processed in order based on their cycle. == Cycle handling == Whether a given stat is processed on a given tick is based on the following conditions: <code>Cycle =/= 0</code> and <code>TickCounter % Cycle == StatIndex % Cycle</code>, where: * <code>Cycle</code> refers to the stat's Cycle value, * <code>TickCou...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

The fundamental unit of time in a ZZT world is the tick. During a tick, the player input is collected, after which all stats are processed in order based on their cycle.

Cycle handling

Whether a given stat is processed on a given tick is based on the following conditions: Cycle =/= 0 and TickCounter % Cycle == StatIndex % Cycle, where:

  • Cycle refers to the stat's Cycle value,
  • TickCounter refers to the game's tick counter,
  • StatIndex refers to the stat's index.

The tick counter is set to a random value between 0 and 99 on start, and is incremented until it reaches the value 420, after which it is reset back to 1. This has a consequence of only divisors of 420 ticking at a consistent rate throughout gameplay: 1, 2, 3, 4, 5, 6, 7, 10, 12, 14, 15, 20, 21, 28, 30, 35, 42, 60, 70, 84, 105, 140, 210 and 420. Other cycle values, such as 8, 9, 11..., will eventually skip cycles. In addition, as all stats have a lower index than 420 (and all non-player stats have a higher index than 0), stats with a cycle rate higher than 420 will tick as if they had a cycle rate of 420.

Tick rate

The tick rate is dependent on the game speed, and is always a number of PIT ticks (approximately 18.2 Hz). Importantly, the speed of sounds is not affected.

Game speed PIT ticks per game tick Effective tick frequency
0 (F) 0 Uncapped
1 1 18.2 Hz
2
3 2 9.1 Hz
4 (default)
5
6 3 6.06 Hz
7
8 (S)

Most ZZT worlds are designed for the default tick speed, which is equal to 4, or approximately 9.1 Hz.