# Le moteur du jeu

![](/files/-MMrENi-0bleYQcmx1HF)

**Solarus** est un moteur de jeu Open Source, spécifiquement conçu pour créer des "role playing games" (RPG) en 2D, à l'image de *The Legend of Zelda: A Link to the Past* ou *Secret of Mana* sur Super Nintendo. Le site [solarus-games](https://www.solarus-games.org/) permet d’accéder à l'ensemble des ressources nécessaires pour programmer avec le moteur Solarus : le moteur de jeu, les packs de ressources (ensemble de graphismes appelés tilesets, exemples de script), les tutoriels...

Le moteur Solarus est codé en C++, avec la bibliothèque SDL et un backend OpenGL. Les jeux faits avec Solarus sont appelés des quêtes et sont faits en Lua. Pour "jouer" les quêtes, il suffit de télécharger le [runner Solarus](https://www.solarus-games.org/fr/solarus/download). Mais pour développer sa propre quête ou pour contribuer à l'édition d'une quête dans une optique communautaire, il vous faudra installer le [Solarus Quest Editor](https://www.solarus-games.org/fr/solarus/download)

Un créateur de quête n'a pas à implémenter ces algorithmes. Au contraire, il peut se concentrer sur la définition de la logique du jeu. Le créateur, par des scripts Lua, décrit le comportement des ennemis, les interactions sur une carte de jeu (une *map*). Il peut aussi créer des menus, des animations, un HUD (informations à l'écran comme le nombre de vies de la partie en cours, l'équipement du héros...).

Les deux parties (le moteur en C++ et les scripts en Lua) communiquent grâce à l'API Lua de Solarus. La communication fonctionne dans les deux sens : le créateur de quête peut appeler des fonctions du moteur (par exemple : déplacer un personnage) et le moteur appellera les propres fonctions du créateur de quête (par exemple : être informé quand un ennemi est tué).

Mais avant d'utiliser l'API Lua de Solarus, il faut apprendre les bases du Lua (un langage simple et minimal, mais très puissant). Les [tutoriels vidéos](https://www.solarus-games.org/fr/development/tutorials/solarus-video-tutorial) sont un bon moyen pour débuter, expliquant étape par étape comment construire les éléments classiques : maps, menus, cinématiques, énigmes, donjons, ennemis, etc. La [documentation de l'API Lua](https://www.solarus-games.org/doc/latest/) de Solarus est là où vous devez chercher dès que vous avez une question sur l'utilisation de cette API.

Vous avez vu les bases en lua ? Vous connaissez l'organisation d'ensemble d'une quête Solarus et les fonctions de l'éditeur de quête ? Vous pouvez désormais contribuer au développement du jeu icaRius, directement via le dépôt github <https://github.com/InseeFrLab/funcamp-r-icarius> avec le code source de la quête correspondante.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.funcamp.sspcloud.fr/espace-contributeur/contributeurs_3.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
