Skip to main content

Quick Start

Excalibur uses a theater-style metaphor to organize your game projects. There are 'Actors' which can move around and do things in a 'Scene'. Every Actor and Scene lives inside the Engine container.

Creating a game project​

The fastest way to get an Excalibur project up and running is by using our CLI tool (you'll need to install npm first).

sh
npm init excalibur@latest
sh
npm init excalibur@latest

Excalibur CLI

All of the quickstart templates the CLI tool supports are open source and available on GitHub.

Running the game​

The generated project template will come with all the pieces you need to build a game! To run the game in a browser, you can use the following command:

sh
npm run start
sh
npm run start

You'll see a basic game template in your browser similar to the gif below.

running project

Game template overview​

Engine​

The Engine is the main driver for the game, and is typically configured in the entrypoint main.ts file. Read more about the Engine.

The main.ts entry point in one of the game templates

Actors​

Actors are the primary building blocks of a game. They can draw graphics, collide with each other, respond to events, and more! Read more about Actors.

The player.ts file, a sample Actor from one of the game templates

Scenes​

Scenes used to compose Actors together into "levels". Read more about Scenes.

The level.ts file, a sample Scene from one of the game templates

Debugging tools​

We also publish Firefox and Chrome debugger extensions to make debugging your games easier!

Demo of the excalibur dev tool extension, showing basic functionality while running the TinyTactics sample game