Simulation TickSimulation

World state advances on a regular clock independent of player input; player decisions are responses to the advancing simulation rather than real-time reactions.

The world advances on a fixed clock; every tick all cells update at once (Conway's Life).

How simulation tick works in Godot

The world advances on a clock, not on input. A timer fires, all simulation state updates at once, and the player's moves queue for the next tick — they respond to the sim, not the frame.

Timernode

The heartbeat. Each timeout is one tick; all production, growth, and AI decisions resolve together on that beat, decoupled from frame rate.

$Tick.wait_time = 0.5
$Tick.timeout.connect(advance_sim)

Node (manager)node

A sim manager updates every system in a fixed order per tick — resources, then units, then AI — so the world state is consistent at each step.

func advance_sim():
    update_resources()
    update_production()
    run_ai()
    ticked.emit()

Signalsprimitive

Emit ticked so the UI redraws once per beat and queued player actions apply on the next tick rather than mid-update.

signal ticked
# player input collected, applied at start of next tick

In short: Timer node fires on_tick(); all simulation state (resources, unit production, AI decisions) updated per tick; player input queues for next tick

Retro games that use simulation tick

13 catalogued game(s) use this mechanic, spanning 1989–1999.

Related simulation mechanics

▶ Explore Simulation Tick interactively — see every game + the Godot system