📰 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; Keyboard; Controller | ⏱️ Pacing: | Real Time |
🐣️ Approx. start: | 2006-08-01 | 👫️ Played: | Single |
🐓️ Latest: | 2022-04-02 | 🚦 Status: | 05. Tested & Working (status) |
📍️ Version: | Latest: 1.6.5 / Dev: 1.7.0 / c47bc818 | ❤️ Like it: | 9. ⏳️ |
🏛️ License type: | 🕊️ Libre | 🎀️ Quality: | 2. 🏅️⭐⭐⭐⭐ (it works) |
🏛️ License: | Code: GPL-3 / Artwork: CC-BY-SA 4.0 | ✨️ (temporary): | ![]() |
🐛️ Created: | 2011-07-06 | 🐜️ Updated: | 2024-06-17 |
📦️ 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?: | 👔️ Already shown: | ||
---|---|---|---|
💡 Lights on: | 💭️ New version published (to be updated): | ||
🎨️ Significant improvement: | 🦺️ Work in progress: | ||
🎖️ This work: | ![]() |
🚧️ Some work remains to be done: | |
👫️ Contrib.: | goupildb & Louis | 👻️ Temporary: | |
🎰️ 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 multi-plateformes 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: (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
[Homepage] [Features/About] [Screenshots] [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)] [WIKI 1 2] [FAQ]
• 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
• Solarus Quest Editor (a game editor to create quests for Solarus): [GitLab] [Changelog 1 2 3]
• Solarus Launcher (a graphical app used for managing your library of games / for lauching them): (delivered with Solarus)
• Visual Novel System (a collection of Lua script for adding Visual Novel functions to Solarus, MIT): [Homepage] [Dev site]
• Resource packs: [Homepage]
🛠️ 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] [PortableLinuxGames]
🕵️ Reviews
[HowLongToBeat] [metacritic] [OpenCritic] [iGDB]
🕊️ 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 #LibreGameEngine #ARPG
📦️ #Bin #Arch #Flatpak #Snap
📖 Our entry: https://www.lebottindesjeuxlinux.tuxfamily.org/en/online/lights-on/
️🥁️ Update: 1.6.5
⚗️ New features 💎
️📌️ Changes: https://www.solarus-games.org/en/news/2021-04-06-solarus-1-6-5-bugfix-release
🦣️ From: -
🏝️ https://www.youtube.com/embed/vt07FwzLo9A
🎲️ https://www.youtube.com/embed/SNlWPqK8CSc
📜️ "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.
Debian Requested packages:
Open-source Zelda-like game engine
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 multi-plateformes 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 de jeu 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évelopmment 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 paquet Manjaro/Arch :
• (✔ v. 1.6.5) 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 Snap :
• (🧪️not tested) 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 (méthode alternative) à partir du binaire au format Flatpak :
☝️ Nota : 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 moyens ci-dessus ou via le source ci-après.
📄️ Installation à partir du source
(✔ v. 1.6.1) (✔1.6.4) (✔1.6.5 sous Manjaro) (✔1.7.0 sous Manjaro)
▸ 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)
(✔ v. 1.6.1) (✔1.6.4) (✔1.6.5 sous Manjaro) (✔1.7.0 sous Manjaro) ▸ 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
(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): solarus-run, libsolarus.so.version, gui/libsolarus-gui.so.version et gui/solarus-launcher
(✔ v. 1.6.1) (✔✘ v. 1.7.0) ▸ 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).
- (✔ v. 1.7.0) 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, exemple : git clone -b v1.6.1 --recursive https://gitlab.com/solarus-games/solarus-quest-editor).
• 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 ".")
$ make
(ou, pour accélérer la compilation, "$ make -j8" si vous disposez d'un processeur 8 threads, à adapter pour vous)
🏕️ 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:
▸ (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
⌨️🖱️🎮️ CONTRÔLES:
• Directions : [↑←→↓]
• Parler : se diriger sur le personnage
• Tirer / Frapper / Confirmer / Interagir : [SPACE] / [ENTER] / bouton "2" du Joystick
• (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 : touche "SHIFT" / "CAPSLOCK"
• (en fonction du jeu) Roulade : bouton "1" du Joystick
• Pause / Inventaire / Carte / redéfinir les touches : [D] / bouton "5" du Joystick
• Quitter / Sauvegarder : touche 'ESC" ou (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
🕵️ Test (v. 1.6.1 avec le jeu "Zelda XD2: Mercuris Chess") par goupildb (config. : Debian Sid 64-bit):
Configuration utilisée:
Debian Sid 64-bit
CPU : Intel Core I7
Carte graphique : GeForce GTX 275 GeForce GTX 260
RAM : 6Go
Joystick : Logitech Rumblepad (2 pads analogiques et un pad numérique, plus vibration avec certains jeux).
🎯️ Objectif : Initialisation de l'entrée, tests et premières impressions.
J'ai eut envie de tester le jeu "Zelda XD2: Mercuris Chess".
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.
Une fiche spécifique va suivre pour le jeu "Zelda XD2: Mercuris Chess".
• 🫕️ Installation :
Un paquet Snap est disponible. Mais je n'étais pas parvenu à le faire fonctionner sur ma Debian 64-bit, suite à un problème d'accélération graphique non trouvée par snap. De mémoire, j'ai plus tard résolu ce problème d'accélération graphique, mais n'ai pas refait le test depuis.
Les livrables sont séparés en deux :
(✔ v. 1.6.1) (✔ v. 1.6.4) - d'un côté le moteur (solarus-run) et le lanceur (solarus-launcher)
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.
(✔ v. 1.6.1) (✘ v. 1.6.4) - d'un autre côté l'éditeur (solarus-quest-editor)
(✔ v. 1.6.1) 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 a 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 faut remplacer : #include "ui_console.h" par #include "../ui_console.h" (vous ajoutez "../")
J'ai rédigé le rapport de [bug n°465] pour proposer ces modification.
(✘ v. 1.6.4) Le $ make plante sur :
[ 2%] Building CXX object CMakeFiles/solarus-quest-editor.dir/solarus-quest-editor_autogen/mocs_compilation.cpp.o
In file included from /mnt/DDprc/TestLogiciels/solarus-quest-editor/solarus-quest-editor_autogen/6YEA5652QU/../../include/border_set_model.h:20,
from /mnt/DDprc/TestLogiciels/solarus-quest-editor/solarus-quest-editor_autogen/6YEA5652QU/moc_border_set_model.cpp:10,
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).
• 🏗️ Réalisation :
Le moteur (solarus-run) et le lanceur (solarus-launcher) :
• 🏜️ Graphisme & interface :
- Solarus-run : une interface de 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).
Possibilités actuelles (solarus 1.6.0): graphisme avec filtres (voir ci-après) en fenêtré ou plein écran (via solarus-launcher), son (plusieurs bandes sonores magnifiques), internationalisation, chargement / sauvegarde des jeux en cours, gestion de l'inventaire, d'une carte du monde (avec position du joueur), du statut de la quête, et des options (filtres graphiques (normal, scale2x, hq2x, hq3x, hq4x, j'utilise le hq3x que j'aime beaucoup), redéfinition des touches / joystick).
(✔ v. 1.6.4) 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): super !
(✔ v. 1.6.4) En cours de jeu, l'appui sur la touche F11 permet de passer en plein écran : excellent aussi !
- Solarus-launcher : J'ai aussi testé l'interface solarus-launcher : très pratique, elle 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 elle permet de forcer le plein écran (dans son menu Video). Excellent !
• 🎧️ Son : plusieurs bandes sonores superbes
• 🐞️ Fiabilité / Robustesse : pas de souci de ce côté là, tout fonctionne bien (sauf le joystick).
• 🎮️ Support des périphériques :
(✔ v. 1.6.1) Le clavier uniquement. D'après le menu des options je vois que le joystick est supporté, mais il ne fonctionne pas pour moi (et pas d'info en console).
(✔ v. 1.6.4) À présent le joystick fonctionne bien, c'est très agréable.
(✔ v. 1.6.1) L'éditeur (solarus-quest-editor) :
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, ...
• 🎲️ Gameplay :
Le moteur (solarus-run) et le lanceur (solarus-launcher) :
Celui du jeu jeu "Zelda XD2: Mercuris Chess" testé pour cette occasion, puis (pour la v.1.6.4) le jeu "Ocean's Heart".
Un jeu d'une très grande qualité de réalisation, permettant de montrer les possibilités de ce moteur.
‣ 🌞️ 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.
• (✔ v. 1.6.4) 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.
‣ 🌤️ Axes d'amélioration
(✘ v. 1.6.4) • L'éditeur : sa compilation plante sous Debian Sid 64-bit.
• 🧭️ Conclusion :
🕵️ Impression globale : 👍️
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.À présent l'éditeur de quête est aussi fonctionnel sous Linux, donc vous avez tous les outils pour concevoir votre RPG sous Linux avec ce moteur !
👏️ ❤️ Un grand bravo et merci à ses auteurs !
💰 Rappelons que vous pouvez encourager ses auteurs par une petite donation.