Solarus video tutorial

How to create a quest

How to download Solarus and create a new quest.

Zelda Resource Pack

How to use Legend of Zelda: A Link to the Past graphics and sounds in your quest.

The Map Editor

Presentation of the map editor, how to create and modify tiles, and the various shortcuts allowing to work more efficiently.


The different kinds of grounds: traversable, wall, shallow water, deep water, holes, etc.

The Quest tree

How the files of your project are organized by their resource type: maps, tilesets, sprites, musics, sounds, etc.

The Quest properties

How to set the title, description and other metadata of your quest, visible in the Solarus Launcher.

Getting started with Lua scripting

How your Lua scripts can call functions from the engine, and conversely, how the engine can call your Lua functions.


How to create treasures: pickable treasures, destructible objects, treasure chests, enemies and shop treasures.

How to save the game

How to make a dialog to let the player save the game when the game is paused.


How to use teletransporters to send the hero to a destination on the same map or on another map.

How to scroll between maps of different sizes

How to scroll correctly between adjacent maps when they have different sizes.

Stairs and holes

How to send the hero upstairs or downstairs with stairs and holes.

Organize your code in separate files with require()

How to properly organize your scripts by separating the various features in different files.

How to create a tileset

How to create your own tileset from screenshots of an existing game.

Map scripts

The map script allows to program the behavior of its entities: opening a door, showing a treasure chest, etc.

How to create a sprite

How to create a sprite in the sprite editor.

How to display an image

How to display an image on the screen during the game, using Lua scripting.

Dialogs with a Non-Playing Character

How to program several interactive dialogs with a non-playing character.

Generalized NPCs

How to create interactive non-people entities that still have interaction, like for example signs.


How to move map entities but also other objects like surfaces, text surfaces and sprites.


Jumpers allow the hero to jump off a cliff or from a higher platform.


How to create a platform with the hero walking above or under it, thanks to the layers system.

Switch that triggers a mechanism

How to create a switch that makes a treasure chest appear when the hero walks on it.

Dynamic tiles

How to convert static tiles to dynamic ones, to allow disabling, enabling or modification.


Timers allow you to execute a function after a delay.


How to create an enemy.


How to create blocks that can be pushed and/or pulled by the hero.

Invisible walls

Invisible walls can block some specific types of entities like enemies, NPCs or the hero.


Separators allow to visually separate rooms in the same map.


How to detect the presence of the hero.

Destructible objects

Destructible objects can be cut, lifted or thrown by the hero, revealing a hidden treasure.


How to open a door with a mechanism, an explosion or any interaction or condition with the hero.


How to make a HUD (head-up display) to display information on the screen.


How to add an item to represent money in your game.


How to make a shop without any scripting, by using the shop treasure entity type.

Let's swim

How to allow the hero to swim in deep water, with an item that gives the swim ability.

How to make a bridge

How to build a bridge the hero can walk on or below.