# What a game is

A game on Eggox is rooms, things, bricks and scripts. Build it in the Studio, or as files on your own machine.

A game on Eggox is a **root room** and the rooms made inside it, the **things**
standing in those rooms, **bricks** on the game and on things (rules and
behaviour you pick from a list), and **scripts** in Lua where bricks are not
enough. Players walk in through the game's door in the world.

There are two ways to build one, and they work on the same thing:

- **The Studio**, inside Eggox. Walk into your game, open the Studio, place
  things, add bricks, write scripts, press TEST, press PUBLISH.
- **Files on your machine.** Every game is a folder: `eggox.json`, a folder
  per room, a file per thing. The `eggox` command line pulls it, checks it,
  pushes it back, publishes it. Keep it in git, edit it with anything, hand it
  to an AI agent.

The Studio and the files are two views of one game. A push shows up in the
Studio; a save in the Studio shows up in the next pull.

## Where to start

- Never scripted? [Your first game](/get-started/first-game) makes a coin
  rush with bricks alone, in the Studio.
- Prefer a terminal? [Install the CLI](/cli/overview), then
  [pull a game](/cli/pull) and read [the folder](/project/folder).
- Building with an agent? [With an AI agent](/get-started/agents).
- Looking something up? [The scripting API](/api/overview) and
  [the bricks](/studio/bricks).

## What you need

An Eggox account with a game. Games are bought in the Shop as an experience
and placed as a door; the door's room is the game's root. The CLI needs node
18 or newer on your machine.

