📰 Title: | Solarus | 🕹️ / 🛠️ Type: | Tool |
---|---|---|---|
🗃️ Genre: | Development | 👁️ Visual: | Free-roaming camera |
🏷️ Category: | Development ➤ Engine ➤ 2D ➤ RPG | 🏝️ Perspective: | First person (interface) |
🔖 Tags: | Development; Flagship; 2D engine; Solarus engine; Action RPG; JRPG; Zelda; Visual Novel; Level Editor; Game Launcher; Split Screen; Keyboard; Controller; Force Feedback | ⏱️ Pacing: | Real Time |
🐣️ Approx. start: | 2006-08-01 | 👫️ Played: | Single & Multi |
🐓️ Latest: | 2025-04-01 | 🚦 Status: | 05. Tested & Playable (status) |
📍️ Version: | Latest: 💥️ 2.0.0 // Dev: bc500e36 | ❤️ Like it: | 1. 🙏️⭐⭐⭐⭐⭐ (fantastic) |
🏛️ License type: | 🕊️ Libre | 🎀️ Quality: | 1. 🏆️⭐⭐⭐⭐⭐ (perfect) |
🏛️ License: | Code: GPL-3 / Artwork: CC-BY-SA 4.0 | ✨️ (temporary): | |
🐛️ Created: | 2011-07-06 | 🐜️ Updated: | 2025-04-05 |
📦️ Package name: | solarus | solarus-bin, solarus-quest-editor, (flatpak: Solarus Launcher) | ..... 📦️ Arch: | ![]() |
---|---|---|---|
📄️ Source: | ![]() |
..... 📦️ RPM: | ![]() |
⚙️ Generic binary: | ..... 📦️ Deb: | ||
🌍️ Browser version: | ..... 📦️ AppImage: | ||
📱️ PDA support: | ![]() |
..... 📦️ Flatpak: | ![]() |
✨️ Not use: | ..... 📦️ Snap: | ![]() |
📰 What's new?: | 🍎️ (Stable) Major release | 👻️ Temporary: | |
---|---|---|---|
💡 Lights on: | ![]() |
📰 Previous News: | ![]() |
🎨️ Significant improvement: | ![]() |
💭️ New version published (to be updated): | |
🎖️ This work: | ![]() |
🦺️ Work in progress: | |
👫️ Contrib.: | goupildb & Louis | 🚧️ Some work remains to be done: | |
🎰️ ID: | 12872 |
📜️[en]: | A libre and multi-platform engine & development environment for 2.5D Action-RPG games (not limited to Zelda games). The engine supports heavy computations and low-level operations, so the developer can focus on the logic of the game, based on Lua scripts. These scripts describe the behavior of enemies and actions, and bidirectionally communicate with the engine (which can also trigger scripts according to particular events). It has been put to the test in 6 published games, and 6 more are in development. | 📜️[fr]: | Un moteur et un environnement libre et multiplateformes de développement de jeux d'Action-RPG en 2.5D (ne se cantonnant pas à des jeux de type Zelda). Le moteur prenant en charge les calculs lourds et opérations de bas niveau, le développeur peut ainsi se concentrer sur la logique du jeu, basée sur des scripts Lua. Ces scripts décrivent le comportement des ennemis et les actions, et communiquent de manière bidirectionnelle avec le moteur (celui-ci peut aussi déclencher des scripts en fonction d'évènements particuliers). Il a été mis à l'épreuve dans 6 jeux publiés, et 6 autres sont en développement. |
---|
🏝️ Trailer: 💥️ (2.0/202503), (1.6/201812),
💎 Features: (1.6/201901), [fr](1.6/201901),
🕯️ How To: (1.5/201607), [fr](1.5/201607),
🎮️ Showcase:
• The Legend of Zelda: Mystery of Solarus DX (201210), The Legend of Zelda: Mystery of Solarus XD (201104), The Legend of Zelda XD2: Mercuris Chess [fr](201704),
• The Legend of Zelda: Return of the Hylian SE (201507), The Legend of Zelda: Book of Mudora (201608), Tunics! (201903),
• Vegan on a Desert Island (201903), Ocean's Heart (not released)(201802),
️ Dev Interviews: The Legend of Zelda: Onilink Begins SE (dev of the game) (201603), Live coding (201505), Live coding (201505),
🏡️ Website & videos
• Website: [Homepage] [Features/About] [Screenshots]
• Videos: [Videos ft (1.6/201901) / ft [fr] (1.6/201901) t(201812) gd(202xxx) gu(202xxx) id(201603) id(201505) id(201505) r(202xxx) lp(202xxx) ht(1.5/201607) ht[fr](1.5/201607) d(201210) d(201104) d(201704) d(201507) d(201608) d(201903) d(201903) d(201802) d(201804) g[fr](202xxx) g[de](202xxx) g[ru](202xxx) g[pl](202xxx) g[cz](202xxx) g[sp](202xxx) g[pt](202xxx) g[it](202xxx) g[tr](202xxx)]
• Doc: [WIKI 1 2] [FAQ]
• Updates:
• Engine (solarus-run) & launcher (solarus-launcher): [Dev site] [RSS] [Changelog 1 2 3]
• Editor (solarus-quest-editor): [Dev site] [RSS] [Changelog 1 2 3]
💰 Commercial
• [Support their work (Donate)]
🍩️ Resources
🔘️ Tutorials
• Video tutorials (Video tutorials in French and English, trailers and more!): [Homepage] [Dev site] 🎬️ g(202xxx)
🔘️ Launcher
• Solarus Launcher (a graphical app used for managing your library of games / for lauching them): (delivered with Solarus)
🔘️ Development
▸ Level editors, map creation tools
• Solarus Quest Editor (a game editor to create quests for Solarus): [GitLab] [Changelog 1 2 3]
▸ Framework
• Visual Novel System (a collection of Lua script for adding Visual Novel functions to Solarus, MIT): [Homepage] [Dev site]
▸ Assets
• Resource packs: [Homepage]
🔘️ Games
• Games (Numerous libre, free, or commercial games of excellent quality developed with this engine): [Homepage] [Dev site] 🎬️ g(202xxx)
🛠️ Technical informations
[Open Hub] [PCGamingWiki] [MobyGames] [Game Library] [Solarus (Compilation guide)]
🦣️ Social
(Solarus engine) Devs (Solarus Labs 1 2 [fr] [en]): [Site 1 2] [Support their work (Donate)] [Chat] [Forums] [Discord] [reddit] [mastodon] [Facebook] [PeerTube] [YouTube] [PressKit] [Interview 1(202202) 2(202104)]
The Project: [Blog] [Forums] [mastodon] [Facebook] [PeerTube] [YouTube] [Instagram] [PressKit] [reddit] [Discord]
🐝️ Related
[Wikipedia (The Legend of Zelda) [fr] [en]] [de]]
📦️ Misc. repositories
[Repology] [pkgs.org] [Generic binary] [Arch Linux / AUR] [openSUSE] [Debian] [Flatpak (Solarus Launcher only)] [AppImage(author's repo)] [Snap 1 2(author's repo)] [PortableLinuxGames]
🕵️ Reviews
[HowLongToBeat] [metacritic] [OpenCritic] [iGDB] [Le Mag Retrogaming [fr]]
🕊️ Source of this Entry: [Free Gamer (20190206)]
🦣️ Social Networking Update (on mastodon)
🛠️ Title: Solarus
️🦊️ What's: A libre engine & development environment for 2.5D Action-RPG games based on Lua scripts
🏡️ https://www.solarus-games.org
🐣️ https://gitlab.com/solarus-games
🦉️ https://mastodon.gamedev.place/@solarus
🔖 #LinuxGameDev #Flagship #Solarus #LibreEngine #ARPG
📦️ #Arch #RPM #Flatpak #Snap
📖 Our entry: https://lebottinlinux.vps.a-lec.org/LO.html
️🥁️ Update: 2.0.0
⚗️ Major release (Stable) 🍎️
️📌️ Changes: https://www.solarus-games.org/news/
🦣️ From: https://mastodon.gamedev.place/@solarus/114264860653057526
💥️🏝️ https://www.youtube.com/embed/X_hJDhWXxU8
🎲️ https://www.youtube.com/embed/SNlWPqK8CSc
🕶️ A view of its map editor with the editing of a map from the Ocean Heart game. The UI is divided into 2 parts: on the left (1/5th of the screen) the project tree, on the right the tilesets making up the map with their characteristics (name, description, location, associated music, patterns, etc.) and one map (3/5th of the screen) among 5 (5 tabs) being edited, composed from the tilesets.
📚️ A libre and multi-platform engine & development environment for 2.5D Action-RPG games (not limited to Zelda games). The engine supports heavy computations and low-level operations, so the developer can focus on the logic of the game, based on Lua scripts. These scripts describe the behavior of enemies and actions, and bidirectionally communicate with the engine (which can also trigger scripts according to particular events). It has been put to the test in 6 published games, and 6 more are in development.
📜️ "A libre engine & development environment for 2.5D Action-RPG games based on Lua scripts" 📜️ .
A lightweight, free and open-source game engine for Action-RPGs
• A 2D game engine written in C++, and executing games made in Lua.
• Specifically designed with 16-bit classic Action-RPGs in mind.
• Available on multiple plateforms.
• Completely free and open-source, under GPL-3 License.
Solarus was specifically designed with cult 2D action-RPG classics in mind, such as The Legend of Zelda: A Link to the Past and Secret of Mana on the Super Nintendo, or Soleil on the Sega Megadrive/Genesis.
The engine is programmed in C++, with the SDL library and an OpenGL backend. Games made with Solarus are called quests, and are programmed in Lua.
The engine does all the heavy computations (for example, collision checks) and the low-level operations like drawing the screen, animating sprites and playing sounds.
As a quest maker, you are not much interested in implementing these algorithms. On the contrary, you want to define the game logic. Your Lua scripts describe the behavior of enemies, what happens when pressing a switch on a specific map. They will also implement such things as the title screen and the head-up display.
Both parts (the C++ engine and the Lua scripts of your quest) communicate through the Solarus Lua API. The communication works in both ways: you can call functions of the engine (example: you want to move a non-playing character) and the engine calls your own functions (example: be informed that an enemy was just killed). But before using this Solarus API, you have to learn the basics of Lua (easy and minimal, yet powerful language).
What is Solarus?
Solarus is a free and open-source game engine, licensed under GPL-3. It is written from scratch in C++ and uses SDL2. Consequently, it is available on a large set of machines. It’s not an emulator neither a Super Nintendo™ ROM hack.
Development began in 2006. The goal of the engine is to allow people to create their own Action-RPG games (also called Zelda-like games). It is totally independent from Nintendo.
Solarus does not contain any copyrighted code or assets: it is 100% free and open-source. Thus, Solarus cannot be eligible for a DMCA from anyone, including Nintendo.
Solarus is not a "Zelda engine" as can be read sometimes; it can power any Action-RPG or Action-Adventure game (or any kind of game you want, with a little more work). A Link To The Past assets (tilesets, sprites, musics, etc.) are totally separated from the engine (the engine does not contain them).
What is Solarus Quest Editor?
Solarus Quest Editor is a free and open-source game editor to create quests for Solarus. Written in C++ with Qt, it is licensed under GPL-3. The goal of the editor is to provide people a smooth experience in creating a game with Solarus. This software provides a map editor, a tileset editor, a sprite editor, a Lua script editor, among other things.
What is a Solarus Quest?
A Solarus quest is simply a game made with Solarus.
Why is there several exectuable files in my download package?
Theses files are:
• Solarus Launcher: the graphical app used for managing your library of games (quests in Solarus terms), and for lauching them.
• solarus_run: the command line app to run quests. It’s totally normal that is does nothing if you execute it without telling it which quest to run as a parameter.
• Solarus Quest Editor: the quest editor (graphical app).
About licenses
Are you affiliated with Nintendo?
No, we are independent from Nintendo. The game engine Solarus has no proprietary content and is written to be a general purpose action-RPG game engine, i.e. not only The Legend of Zelda games.
However, some games made with Solarus are using copyrighted assets by Nintendo, mainly from The Legend of Zelda: A Link To The Past. This is for historical reasons and we make our possible to create Creative Commons assets to replace them. To be clear, historically, Solarus began its life as a simple engine to power a fangame for the Zelda series: Mystery Of Solarus DX. We believe this is fair use.
Can I use Solarus for a commercial game?
First, please know that your game will be divided into 2 parts:
• The engine: Solarus (that you modify or use as-is).
• The quest: the game data (maps, scripts, sprites, dialogs, etc.).
The engine is GPL, so it requires to follow some rules.:
• If you use Solarus as-is: please provide a link to Solarus source code.
• If you modify Solarus and release publicl your game, you must provide access to your modified Solarus source code. Moreover, this modified version is automatically licensed under GPL too.
You game data may have whatever license you want. It may be different than GPL and remain private code/assets. Commercial licenses are thus allowed for your quest.
• Brand-new assets/scripts made by you can be whatever license you want.
• Reused or modified assets/scripts must follow the rules of their original license. Please take care for GPL Lua scripts or CC assets: they must also be GPL if modified. Note also that using proprietary assets is forbidden by law.
Can I use Zelda sprites, characters and musics?
For a commercial game, obviously: NO. Don’t use assets that are copyrighted by anyone else, including Nintendo (sprites, characters, music, storyline…). Or you expose yourself to legal problems. You cannot say we didn't warn you.
for a non-commercial game, yes but keep it small. This is what we do. Unless Nintendo tells you to stop, this seems possible. Nintendo seems to tolerate non profit fan-made creations when they don’t get too big and prevent their own business, which is totally fair and logical.
We believe using Zelda assets as a basis to learn game dev is fair use. However, you should replace progressively these copyrighted assets with custom free ones, in order to not violate copyright.
Un moteur et un environnement de développement de jeux d'Action-RPG basés sur des scripts Lua, par la Solarus Team, initié par Christopho (ChristophoZS).
En C/C++/Lua. Il utilise le moteur Solarus.
Solarus est un moteur et un environnement libre et multiplateforme de développement de jeux d'Action-RPG en 2.5D (ne se cantonnant pas à des jeux de type Zelda). Le moteur prenant en charge les calculs lourds et opérations de bas niveau, le développeur peut ainsi se concentrer sur la logique du jeu, basée sur des scripts Lua. Ces scripts décrivent le comportement des ennemis et les actions, et communiquent de manière bidirectionnelle avec le moteur (celui-ci peut aussi déclencher des scripts en fonction d'évènements particuliers). Il a été mis à l'épreuve dans 6 jeux publiés, et 6 autres sont en développement.
Utilisé par ces jeux / Used by these games (publiés):
- The Legend of Zelda: Mystery of Solarus DX (GPL-3 + CC-BY-SA 4.0 + Proprietary (Fair use)) (dans le Bottin),
- The Legend of Zelda: Mystery of Solarus XD (GPL-3 + CC-BY-SA 4.0 + Proprietary (Fair use)) (dans le Bottin),
- The Legend of Zelda XD2: Mercuris Chess (GPL-3 + CC-BY-SA 4.0 + Proprietary (Fair use)),
- The Legend of Zelda: Return of the Hylian SE (GPL-3 + CC-BY-SA 4.0 + Proprietary (Fair use)),
- The Legend of Zelda: Book of Mudora (GPL-3 + Proprietary (Fair use)),
- Tunics! (GPL-3 + Proprietary (Fair use)),
Crédit image (lien ci-dessus): Snapcraft.io
Un moteur d'Action-RPG 2D léger, libre et open-source
• Un moteur de jeu 2D écrit en C++, et qui exécute des jeux en Lua.
• Spécifiquement créé pour les classiques de l'Action-RPG de l'ère 16-bits.
• Disponible sur de nombreux systèmes.
• Complètement libre et open-source, sous licence GPL-3.
Solarus a été spécifiquement conçu avec les Action-RPG cultes de l'ère 2D en tête, comme The Legend of Zelda: A Link to the Past et Secret of Mana sur Super Nintendo, ou Soleil sur Sega Megadrive/Genesis.
Le moteur 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 son fait en Lua.
Le moteur fait tous les calculs lourds (par exemple : tests de collisions) et les opérations bas-niveau comme dessiner à l'écran, animer les sprites et jouer du son.
En tant que créateur de quête, vous n'avez pas à implémenter ces algorithmes. Au contraire, vous aurez à définir la logique du jeu. Vos scripts Lua décrivent le comportement des ennemis, ou ce qui se passe quand vous appuyez sur un interrupteur sur une carte spécifique. Ils serviront aussi à implémenter l'écran-titre et le HUD (informations à l'écran).
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 : vous pouvez appeler des fonctions du moteur (par exemple : déplacer un personnage) et le moteur appellera vos propres fonctions (par exemple : être informé quand un ennemi est tué). Mais avant d'utiliser l'API Lua de Solarus, vous devez apprendre les bases du Lua (un langage simple et minimal, mais très puissant).
Qu'est-ce que Solarus ?
Solarus est un moteur de jeu libre et open-source, sous licence GPL-3. Il est écrit en C++ et utilise SDL2. Par conséquent, il fonctionne sur un grand nombre de systèmes. Ce n'est ni un émulateur, ni un ROM hack de Super Nintendo™.
Le développement a commencé en 2006. Le but du moteur est de permettre aux gens de créer leur propre jeu Action-RPG (genre aussi appelé Zelda-like). Il est totalement indépendant de Nintendo.
Solarus ne contient aucun code ou données propriétaire: il est 100% libre et open-source. Ainsi, Solarus ne peut pas être accusé de violation de droit d'auteur par quiconque, dont Nintendo.
Solarus n'est pas un "moteur de jeu Zelda" comme on peut parfois le lire; il peut être utilisé pour n'importe quel jeu Action-RPG ou Action-Aventure (et même n'importe quel type, moyennant un peu plus de travail). Les données issues du jeu A Link to the Past sont totalement séparées du moteur (elles ne sont pas inclues dans celui-ci).
Qu'est-ce que Solarus Quest Editor ?
Solarus Quest Editor est un éditeur de jeu libre et open-source pour Solarus. Écrit en C++ avec Qt, il est sous licence GPL-3. Le but de cet éditeur est de faciliter la création de jeux avec Solarus. Le logiciel dispose d'éditeurs pour les maps, les tilesets, les sprites, les scripts Lua, parmi d'autres fonctionnalités.
Qu'est ce qu'une quête Solarus ?
Une quête Solarus est tout simplement un jeu fait avec Solarus.
Pourquoi y a t-il plusieurs fichiers exécutables dans mon téléchargement ?
Ces fichiers sont :
• Solarus Launcher: l'interface graphique pour gérer votre ludothèque Solarus et lancer les quêtes.
• solarus_run: le programme en ligne de commande pour lancer une quête. C'est totalement normal si vous l'exécutez sans lui donner en paramètre la quête à jouer.
• Solarus Quest Editor: l'interface graphique pour éditer des quêtes Solarus.
À propos des licences
Êtes vous affilié à Nintendo ?
Non, nous sommes indépendant de Nintendo. Le moteur de jeu Solarus n'a aucun contenu propriétaire et est écrit comme un moteur de jeu Action-RPG généraliste, c-a-d pas seulement de jeux The Legend of Zelda.
Néanmoins, certains jeux conçus avec Solarus utilisent des données propriétaires de Nintendo, principalement de The Legend of Zelda: A Link To The Past. C'est pour des raisons historiques et nous faisons notre possible pour les remplacer par des données Creative Commons. Pour être clair, Solarus a commencé comme un simple moteur pour la série de jeu Zelda créée par ses fans : Mystery Of Solarus DX. Nous estimons que cet usage est raisonnable.
Puis-je utiliser Solarus pour un jeu commercial ?
Premièrement, sachez que votre jeu est divisé en 2 parties :
• Le moteur : Solarus (que vous pouvez modifier ou utiliser tel quel).
• La quête : les données du jeu (maps, scripts, sprites, dialogs, etc.).
Le moteur est GPL, donc certaines règles doivent être respectées :
• Si vous utilisez Solarus tel quel : fournissez s'il-vous-plaît un lien vers le code source de Solarus.
• Si vous modifier Solarus et publiez votre jeu, vous devez fournir un accès au code source de votre version modifiée de Solarus. De plus, cette version modifiée sera elle aussi automatiquement sous licence GPL.
Les données de votre jeu peuvent avoir la licence que vous souhaitez. Elle peut être différente de GPL et rester du code et du contenu privé. Les licences commerciales sont autorisées pour votre quête.
• Les données et les scripts conçus par vos soins à partir de rien peuvent être sous la licence que vous voulez.
• Les données et les scripts réutilisés ou modifiés doivent suivre les règles de leur licence d'origine. Faites attention aux scripts GPL ou données CC : ils doivent conserver la licence d'origine lorsqu'ils sont modifiés. Notez aussi qu'utiliser du contenu propriétaire dont vous n'avez pas les droits est interdit par la loi.
Est-ce que je peux utiliser les sprites, personnages et musiques de Zelda ?
Pour un jeu commercial, évidemment : NON. N'utilisez jamais de contenu copyrightés par quiconque, Nintendo inclus (sprites, personnages, musique, histoire...). Ou vous vous exposez à de sérieux problèmes légaux. Vous ne pouvez pas dire qu'on ne vous avait pas prévenu(e).
Pour un jeu non-commercial, oui, mais restez petits. C'est ce que nous faisons. À moins que Nintendo ne vous dise d'arrêter, cela semble possible. Nintendo a l'air de tolérer les créations de fans à but non-lucratif, tant qu'elles ne deviennent pas trop populaires et n'empiètent pas sur les ventes de leurs propres jeux, ce qui est totalement compréhensible et logique.
Nous estimons qu'utiliser du contenu Zelda comme base pour apprendre le développement de jeux est raisonnable. Cependant, vous devriez remplacer progressivement tout ce contenu propriétaire par du contenu personnalisé ou libre, afin de ne pas violer la loi.
⚙️ Installation à partir du binaire
📦️ Installation à partir du/des paquet(s) Manjaro/Arch :
• Il(s) est/sont dans les dépôts Manjaro/Arch, il suffit d'installer le(s) paquet(s).
📦️ Installation (méthode alternative) à partir du binaire au format Flatpak :
Le format flatpak est inutile car il ne fourni ni moteur ni quête, ni de moyen d'en télécharger depuis l'interface.
• Un binaire au format Flatpak est disponible. Il vous suffit d'utiliser votre gestionnaire de paquets Flatpak (discover et/ou gnome-software) pour l'installer en quelques clics.
💡Nota :
▸ Installation du support du format Flatpak (si ce n'est par défaut sur votre distribution) :
• Installez le support Flatpak : flatpak qt5-base
• Redémarrez votre PC (nécessaire).
• Installez un gestionnaire de paquets Flatpak : discover (mon préféré) et/ou gnome-software
• [The Linux Experiment] compare les différents formats (Snaps vs Flatpaks vs Appimages) en novembre 2023.
• [The Linux Experiment] fait le point sur le sujet en août 2023.
• Un excellent outil pour gérer les droits des applications installées via Flatpak : [Flatseal] (à installer depuis Flatpak).
• Par défaut (si vous n'avez réglé aucun droit supplémentaire via Flatseal ci-avant), lorsque votre application nécessite des données externes au paquet Flatpak (exemple : les données d'un jeu - tel que : game.ipk3 ou doom2/), il est nécessaire de les copier dans le répertoire Flatpak de votre application (situé dans ~./var/app/votre_application ou ~./local/share/flatpak/votre_application).
Exemple : ~./var/app/org.zdoom.GZDoom/.config/gzdoom/ ou ~./local/share/flatpak/net.dengine.Doomsday/current/active/files/)
• Si au lancement de votre application il ne se passe rien, copiez son raccourci en console pour voir le message d'erreur obtenu. Si vous obtenez le message "Could not initialize GLX", en console lancez : “$ flatpak update” puis relancez votre application.
• Les données des applications installées via Flatpak sont copiées dans : ~./.var/app/ ou ~./local/share/flatpak/
• Les binaires des applications installées via Flatpak sont copiées dans : /var/lib/flatpak/app/
Exemple de raccourci Flatpak : /usr/bin/flatpak run --branch=stable --arch=x86_64 --command=gzdoom.sh org.zdoom.GZDoom
📦️ Installation (méthode alternative) à partir du binaire au format Snap :
• Un binaire au format Snap est disponible.
▸ Installation de snap :
(L'installation du gestionnaire de paquets Snap (et ses commandes de base) est aussi décrite sur la fiche "0 03 - Glossaire & licences courantes").
Si ce n'est déjà fait, installez le paquet : snapd
▸ Installation du jeu au format Snap :
Après avoir installé snapd (en dépôt), lancez en console ("your_snap_package" étant le nom de votre jeu) : # snap install your_snap_package
💡Nota :
• [The Linux Experiment] compare les différents formats (Snaps vs Flatpaks vs Appimages) en novembre 2023.
📄️ Installation à partir du source
▸ Installation des dépendances :
• Installez au préalable le(s) paquet(s) suivant(s) : sdl2 luajit libvorbis libogg libmodplug lua51 luajit physfs
(pour Debian/Ubuntu, installez les paquets suivis du suffixe "-dev" s'ils sont disponibles. Remplacez physfs par liballegro-physfs5)
▸ Installation du moteur (solarus-run) et du lanceur (solarus-launcher)
▸ Téléchargement du source (sur GitLab) :
☝️ Nota : Évitez le téléchargement du source via les liens https, car ils ne fournissent pas les dépendances
• Version stable, dans le répertoire souhaité, lancez : $ git clone -b "Nom_de_la_release" --recursive https://gitlab.com/solarus-games/solarus
(Nom_de_la_release : à remplacer par le nom d'une release valide indiquée sur la page de développement : sur GitLab, dans la section Tags, le nom du titre est valide).
• ou Version récente (non stable), dans le répertoire souhaité, lancez : $ git clone --recursive https://gitlab.com/solarus-games/solarus
▸ Compilation :
• Dans son répertoire racine lancez successivement :
$ cmake .
(n'oubliez pas le ".")
Nota :
Si le cmake plante du fait de dépendances avec Qt (au moment où j'écris ces lignes KDE/Qt sont en phase de migration, ma Debian a des soucis de dépendances non satisfaites), vous pouvez tenter de vous passer de l'interface de Solarus (Solaru GUI).
Pour cela :
- cliquez sur le fichier CMakeCache.txt, ce qui devrait lancer l'interface CMake GUI (paquet cmake-qt-gui) de paramétrage de la compilation,
- sous CMake GUI, désactivez la variable "SOLARUS_GUI",
- cliquez sur le bouton "Configure", puis sur le bouton "Generate", puis quittez l'interface et poursuivez ci-après.
$ make -j$(nproc)
↪ vous obtenez le(s) binaire(s): solarus-run, libsolarus.so.version, gui/libsolarus-gui.so.version et gui/solarus-launcher
▸ Installation de l'éditeur (solarus-quest-editor)
Cet éditeur n'est utile que si vous développez un jeu pour le moteur Solarus.
• Nota :
- la compilation de solarus-quest-editor est délicate, que ce soit sous Debian ou Manjaro. Pour le compiler, le moteur Solarus de la même version que solarus-quest-editor doit être au préalable installé (utilise ses bibliothèques libsolarus.so et libsolarus-gui.so).
- solarus-quest-editor est disponible en dépôt Manjaro (AUR) et fonctionne.
• Installez au préalable les paquets suivants (pour Debian/Ubuntu, si le nom du paquet suivi par le suffixe "-dev" est disponible, installez-le en priorité): qt5-base qt5-tools cglm
(pour Debian, remplacez qt5-base par qtbase5-dev, qt5-tools par qttools5-dev et qttools5-dev-tools, cglm par libglm-dev)
▸ Téléchargement du source (sur GitLab) :
☝️ Nota : Évitez le téléchargement du source via les liens https, car ils ne fournissent pas les dépendances
• Version stable :
- En HTTP : sur la page de développement du site (lien "Dev site" ci-dessus) vous cliquez sur "xxx Tags", puis sur le petit "nuage" à droite.
- Ou en console, dans le répertoire souhaité, lancez : $ git clone -b "Nom_de_la_release" --recursive https://gitlab.com/solarus-games/solarus-quest-editor
(Nom_de_la_release : à remplacer par le nom d'une release valide indiquée sur la page de développement : sur GitLab, dans la section Tags, le nom du titre est valide).
• ou Version récente (non stable), dans le répertoire souhaité, lancez : $ git clone --recursive https://gitlab.com/solarus-games/solarus-quest-editor
▸ Compilation de solarus-quest-editor :
• Petit bug de la version 1.6.1 : pour que la compilation fonctionne, dans le source de Solarus (le moteur), en ligne 21 du fichier solarus/gui/include/solarus/gui/console.h, remplacez : #include "ui_console.h" par #include "../ui_console.h" (vous ajoutez "../")
• Dans son répertoire racine lancez successivement :
(vous devez au préalable avoir installé et compilé le moteur Solarus de la même version, en ce qui me concerne dans /mnt/DDprc/Download/solarus/, à adapter pour vous)
$ cmake -DSOLARUS_INCLUDE_DIR=/mnt/DDprc/Download/solarus/include -DSOLARUS_GUI_INCLUDE_DIR=/mnt/DDprc/TestLogiciels/solarus/gui/include -DSOLARUS_LIBRARY=/mnt/DDprc/TestLogiciels/solarus/libsolarus.so -DSOLARUS_GUI_LIBRARY=/mnt/DDprc/TestLogiciels/solarus/gui/libsolarus-gui.so .
(n'oubliez pas le "." à la fin, précédé d'un espace)
$ make -j$(nproc)
🏕️ Installation du contenu / des données :
▸ Pour les jeux publiés (binaires au format ".solarus" disponibles):
Le binaire d'un jeu est constitué d'un fichier compressé au format ".solarus" disponible sur sa Homepage (voir les fiches "Solarus xxx" dans le Bottin).
Il est aussi disponible sur son site de développement : sur Gitlab, cliquez sur le bouton de téléchargement avec un icône en forme de flèche vers le bas, puis sélectionnez le livrable "quest-package", vous obtenez le fichier compressé "quest-package.zip" qu'il vous suffit de décompresser pour obtenir le livrable format ".solarus".
▸ Pour les jeux non publiés (accès au source uniquement) :
Si seul le source est disponible, après l'avoir téléchargé, compilez-le en lançant successivement dans son répertoire racine :
$ cmake .
(n'oubliez pas le ".")
$ make
(ou, pour accélérer la compilation, "$ make -j8" si vous disposez d'un processeur 8 threads, à adapter pour vous)
↪ vous obtenez le(s) binaire(s): "data.solarus".
Renommez-le (nom de votre choix) en conservant son extension inchangée.
🚀️ LANCEMENT DU JEU:
▸ Classique :
• (le plus convivial / plus beau) Lancez vos jeux par le lanceur (livré avec le moteur solarus), lancez : $ solarus-launcher (si vous l'avez installé depuis les dépôts, ou si vous l'avez compilé : $ gui/solarus-launcher)
- ajoutez votre jeu sous l'interface par glisser-déposer de votre binaire de jeu ".solarus" sur l'interface (ou en cliquant sur le bouton "Add quest", puis sélectionnez votre fichier ".solarus")
- répétez l'opération pour chacun de vos jeux.
- pour lancer un jeu : double-clic sur le jeu souhaité ou clic sur le bouton "Play"
• Ou (méthode manuelle) Pour un lancement direct (si vous avez copié votre binaire de données ".solarus" dans son répertoire racine), en console dans son répertoire racine lancez : $ ./solarus-run votre_fichier.solarus
▸ Flatpak :
• Si vous l'avez installé à partir d'un paquet Flatpak, lancez-le depuis :
⚬ le Menu de votre gestionnaire de fenêtres,
⚬ ou depuis votre gestionnaire d'applications Flatpak (discover ou gnome-software - ce dernier se nomme “Logiciels”, sont dans la section "Administration" du Menu de votre gestionnaire de fenêtres).
💡 Astuce : L'application Ulauncher (en dépôts AUR) permet aussi de lancer vos applications (y compris Flatpak) via un raccourci (tel que Alt F3) en saisissant ses premières lettres.
▸ Snap :
• Si vous l'avez installé à partir d'un paquet snap, lancez : $ /snap/bin/(nom de l'appli) (ou $ snap run (nom de l'appli))
⌨️🖱️🎮️ CONTRÔLES:
• Directions : [↑←→↓]
• Parler : se diriger sur le personnage
• Tirer / Frapper / Confirmer / Interagir : [SPACE] | [ENTER] / [🎮️ 2]
• (en fonction du jeu) Choisir/Donner un objet/activer le bouclier/tirer (si arme): [X]
• (en fonction du jeu) Donner un coup d'épée : [C]
• (en fonction du jeu) Courir : [SHIFT] | [CAPSLOCK]
• (en fonction du jeu) Roulade : [🎮️ 1]
• Pause / Inventaire / Carte / redéfinir les touches : [D] | [🎮️ 5]
• Quitter / Sauvegarder : [ESC] | (en fonction du jeu): "PAUSE" ([D]) puis "ÉPÉE" ([C])
• (en fonction du jeu) Changer de mode graphique à la volée : [F5] (pas fiable, j'ai eu quelques plantages)
• Plein écran / fenêtré : [F11]
💡 Nota:
L'inventaire donne aussi accès ([←→]) à :
• la carte du Monde ([C] permet ensuite de quitter)
• au statut de la quête
• au Options :
- paramétrage vidéo (normal, scale2x, hq2x, hq3x, hq4x)
- redéfinition des touches
• 📜️ Préambule :
⚬ 1ere édition : le ? sous Debian. Par : goupildb. ⏱️ Durée du test : ? minutes. 🎯️ Objectif : Initialisation de l'entrée, tests et premières impressions.
⚬ Mise à jour : le ? sous Manjaro. Par : goupildb. ⏱️ Durée du test : ? minutes. 🎯️ Objectif : Mise à jour de son fonctionnement/évolution, et prise d'une copie d'écran
⚪️ J'ai eut envie de tester le jeu "Zelda XD2: Mercuris Chess", afin d'en initier l'entrée dans cette base. Mais pour cela il me fallait installer le moteur Solarus (non livré avec le source du jeu). J'en ai donc profité pour rédiger la notice d'installation et ce compte-rendu de test.
• 🫕️ Installation :
Les livrables sont séparés en deux : d'un côté le moteur (solarus-run) et de l'autre le lanceur (solarus-launcher)
➊ ▸ 🐎️ Moteur (solarus-run)
▸ (✔ v. 1.7.0, ✔ v. 1.6.5) Paquet Arch/AUR : FONCTIONNEL.
▸ (✘ v. 1.6.5) Paquet Flatpak : NE FONCTIONNE PAS.
🟠️ Un livrable "Solarus Launcher" au format flatpak est disponible (testé), mais vous ne pourrez pas en faire grand-chose puisqu'il ne fourni pas le moteur ni aucune quête, ni de moyen d'en télécharger depuis l'interface (il est nécessaire de télécharger les quêtes manuellement puis de les installer via un glisser-déposer sur l'interface de Solarus Launcher. C'est déjà un premier pas, mais çà n'est pas suffisant. Il vaut mieux installer le moteur via l'un des autres livrables binaires ou via le source ci-après.
▸ (🧪️not_tested) Paquet Snap : NON TESTE.
▸ (✔ v. 1.7.0, ✔ v. 1.6.5, ✔ v. 1.6.4, ✔ v. 1.6.1) Source : FONCTIONNEL.
🟢️ La compilation nécessite quelques téléchargements et installations complémentaires pour les données des jeux (section "Installation" ci-avant mise à jour), néanmoins elle fonctionne bien.
➋ ▸ 🚀️ Lanceur (solarus-launcher)
(voir ci-dessus, livré / compilé avec le moteur)
➌ ▸ 🏞️ Editeur (solarus-quest-editor)
Cet éditeur n'est utile que si vous développez un jeu pour le moteur Solarus.
▸ (✔ v. 1.7.0) Paquet Arch/AUR : FONCTIONNEL.
▸ (✘ v. 1.6.4, ✘ v. 1.6.0) Source : NE FONCTIONNE PAS. ↪ (...)[ 2%] Building CXX object CMakeFiles/solarus-quest-editor.dir/solarus-quest-editor_autogen/mocs_compilation.cpp.o (...) from /mnt/DDprc/TestLogiciels/solarus-quest-editor/solarus-quest-editor_autogen/mocs_compilation.cpp:2: (...) /mnt/DDprc/TestLogiciels/solarus-quest-editor/solarus-quest-editor_autogen/6YEA5652QU/../../include/border_kind_traits.h:21:10: fatal error: solarus/entities/BorderKind.h: Aucun fichier ou dossier de ce type
🟠️ Et effectivement, il n'existe pas de répertoire entities/ dans le répertoire solarus. Ça sent le truc pas testé (je peux me tromper).
▸ (✔ v. 1.7.0, ✔ v. 1.6.1) Source : FONCTIONNEL.
🟠️ Sa compilation est délicate, que ce soit sous Debian ou Manjaro. Avant de le compiler, vous devez avoir installé au préalable le moteur Solarus de la même version (que solarus-quest-editor) car il utilise ses bibliothèques (libsolarus.so et libsolarus-gui.so).
⚪️ Je n'étais pas parvenu à compiler la version 1.6.0, et la version 1.6.1 semblait prendre le même chemin, mais j'ai persisté et y suis finalement arrivé, parce que :
• D'une part car je ne précisais pas le chemin vers le moteur Solarus, et de plus, la commande cmake indiquée sur le site était inexact (voir la rubrique "Installation" ci-avant). L'erreur dans leur indication est la suivante : il faut remplacer "-DSOLARUS_GUI_INCLUDE_DIR=/path/to/solarus/include" par "-DSOLARUS_GUI_INCLUDE_DIR=/path/to/solarus/gui/include".
• D'autre part il y avait un petit bug dans le fichier console.h : pour que la compilation fonctionne, dans le source de Solarus (le moteur), en ligne 21 du fichier solarus/gui/include/solarus/gui/console.h, il fallait remplacer : #include "ui_console.h" par #include "../ui_console.h" (vous ajoutez "../"). J'avais rédigé le rapport de [bug n°465] pour proposer ces modification.
• 🏗️ Réalisation :
Le moteur (solarus-run) et le lanceur (solarus-launcher) :
‣ 📟️ Interface
- Solarus-run :
‣ 🔍️ (v. 1.6.0) : ✔ tested
🟢️ Une interface magnifique, de très grande qualité, s'appuyant sur un moteur solide (pas de bug à déplorer) et avec un beau panel de possibilités (la série de jeux déjà disponibles est une preuve de concept), claire/intuitive, correctement traduite,
🟢️ Elle offre notamment le plein écran et le fenêtré ([F11]), de nombreux filtres graphiques ([F5], à la volée, mais n'est pas implémenté avec tous les jeux : normal, scale2x, hq2x, hq3x, hq4x ; j'utilise le hq3x que j'aime beaucoup), la sauvegarde de la progression, une gestion de l'inventaire, une gestion du statut de la quête, une carte du monde (avec position du joueur),
- Solarus-launcher :
‣ 🔍️ (v. 1.6.0) : ✔ tested
🟢️ Très pratique, il permet de lister les jeux et de les lancer directement depuis leur répertoire d'installation, en affichant un icône du jeu, une brève description, la version du moteur nécessaire (exemple : 1.6) et l'auteur du jeu. De plus il permet de forcer le plein écran (dans son menu Video). Excellent !
- Solarus-quest-editor :
‣ 🔍️ (v. 1.6.1) : ✔ tested
🟢️ Il semble vraiment complet et très élaboré (ce que je ne doute pas). Je n'ai pas les compétences pour faire un test digne de ce nom. Il est organisé en arborescence avec les scripts, les sons, les images, ... On commence par créer une nouvelle quête (dans "Fichier" puis "Nouvelle quête...") il propose de choisir un répertoire et nous voilà sous l'interface de la quête. on peut tester les sons pré-définis, les sprites (classés par type), voir les scripts prédéfinis, ...
‣ 🎧️ Son
🟢️ Ses jeux sont généralement accompagnés d'effets sonores de qualité, d'une bande son variée (plusieurs morceaux musicaux), très agréable et adaptée, attachante, superbe, dynamique, tout à fait dans le ton, douce et discrète,
‣ 🎮️ Contrôles
⚪️ Il/Elle se contrôle au clavier ou au gamepad.
🟢️ Il/Elle bénéficie de contrôles simples, redéfinissables, précis,
🟢️ Ce moteur est clairement adapté pour être joué au gamepad.
• 👾️ Gameplay / Usage / Contenu :
‣ ⛳️ Objectif / Thème
⚪️ C'est un moteur et un environnement libre et multiplateforme de développement de jeux d'Action-RPG en 2.5D (ne se cantonnant pas à des jeux de type Zelda).
‣ 🐮️ Spécificités
⚪️ Le moteur prend en charge les calculs lourds et les opérations de bas niveau, ainsi le développeur peut se concentrer sur la logique du jeu, basée sur des scripts Lua. Ces scripts décrivent le comportement des ennemis et les actions, et communiquent de manière bidirectionnelle avec le moteur (celui-ci peut aussi déclencher des scripts en fonction d'évènements particuliers). Il a été mis à l'épreuve dans 6 jeux publiés, et 6 autres sont en développement.
‣ 🍨️ Variantes de gameplay
🟢️ Il/Elle propose de nombreux types/modes de jeu,
• 🧪️ Tests effectués :
‣ 🧫️ Conditions du test, objectif(s)
‣ 🏕️ Avec un contenu Libre ou Gratuit : ✔ tested
‣ 🏕️ Avec un contenu Commercial : ✔ tested
‣ 🏕️ Avec des Mods : ✔ tested
‣ 👤️ Solo : ✔ tested
‣ 👥️ Multi-joueur : (🧪️not_tested)
‣ 🎲️ Résultat des tests
‣ 🔍️ (Zelda XD2: Mercuris Chess) : (⭐⭐⭐)
‣ 🔍️ (Ocean's Heart) : (⭐⭐⭐)
🟢️ Des jeux d'une très grande qualité de réalisation, mettant en valeur les possibilités de ce moteur.
• 🛬️ Fiabilité :
🟢️ Il/elle fonctionne bien.
(quelques soucis de gamepad dans les versions initiales - ce qui est normal, à présent il fonctionne bien)
• 🏆️ Impressions :
‣ 🌤️ Axes d'amélioration
⚬ Rien à signaler.
‣ 🌞️ J'ai aimé
• Le moteur et le lanceur : Une réalisation superbe (graphisme, son, interface) à tout point de vue : très pro, un boulot fantastique.
• En cours de jeu, l'appui sur la touche F5 permet de changer de mode graphique à la volée (mais pas avec tous les jeux), et F11 de passer en plein écran.
• 🧭️ Conclusion :
🕵️ Impression globale : 👍️
❤️ Like it: 🙏️⭐⭐⭐⭐⭐ (fantastic)
🎀️ Quality: 🏆️⭐⭐⭐⭐⭐ (perfect)
🟢️ Une pépite.
🟢️ Un outil de très grande qualité, permettant de lancer depuis une même interface différents RPG conçus avec ce moteur. Les RPG sont superbes et très agréables à utiliser / jouer.
🟢️ L'éditeur de quête permet de concevoir votre RPG sous Linux avec ce moteur !
👏️ ❤️ Un grand bravo et merci (notamment pour la version Linux !) à son/ses auteur(s) !
💰 Rappelons que vous pouvez encourager ses auteurs par une petite donation.