# Phaser: Scenes

> Learn how scenes work in Phaser through the preload, create, and update functions you pass to the scene property to load assets and build your game.

Author: [Flavio Copes](https://flaviocopes.com/about/) | Published: 2021-04-15 | Topics: [Phaser](https://flaviocopes.com/tags/phaser/) | Canonical: https://flaviocopes.com/phaser-scenes/

> This post is part of a Phaser series. [Click here](https://flaviocopes.com/phaser-setup/) to see the first post of the series.

Scenes are where we define our game, and we pass them as a property to the `scene` object to the configuration.

In particular, we can define

- `preload` is the function where we can load external assets
- `create` called when the game is first created, here we can define the GameObjects needed at the start of the game
- `update` is the game event loop, where we define how the game works

> GameObjects are a particular type of Phaser objects

Here's an example of the first 2 events mentioned:

```js
function preload() {}

function create() {}

new Phaser.Game({
  width: 450,
  height: 600,
  scene: {
    preload: preload,
    create: create
  }
})
```

Or, since each property in this case has the same name of the function:

```js
new Phaser.Game({
  width: 450,
  height: 600,
  scene: {
    preload,
    create
  }
})
```
