# The world and ticks

> Discs and walls; collision groups; and why everything advances in fixed, deterministic ticks.

## Bodies and walls

The world is two-dimensional and made of a few shapes:

- **Discs** move: players, balls, pucks. They have a radius, a mass,
  damping (how fast they slow down) and bounciness.
- **Walls** run through points, each edge straight or curved. Nothing
  pushes a wall, but it can move along a path, and then it pushes what it
  meets.
- **Joints** tie two bodies together at a distance.
- **Crossings** are lines that report when a disc passes them, such as a
  goal line. They do not block anything.

**Collision groups** decide who collides with what. Each object belongs to
groups and lists the groups it accepts: a goal net that accepts only the
`kick` group stops the ball but lets players walk through.

**Layers** decide what is drawn above what, and **visuals** add text and
rings that follow a body, such as a player's name.

## Ticks

The world advances in **ticks**, 60 per second. Each tick, the room
applies every player's input, moves the bodies, resolves collisions and runs
the rules. The same state and the same inputs always give the same next
state: the simulation is **deterministic**. That is what lets the room be
the single source of truth, lets the Studio replay a run exactly, and lets
the same project behave identically in Play and in a public room.

Timers in the Studio count in seconds but advance by ticks, and _Every
tick_ rows run once per tick. In code, `game.on("tick")` is the same
moment.

See [World and physics](/games/world-and-physics) for the full model.
