Stratagus - Le Bottin des Jeux Linux

Stratagus

🗃️ Specifications

📰 Title: Stratagus 🕹️ / 🛠️ Type: Tool
🗃️ Genre: Strategy 🚦 Status: 05. Tested & Working (status)
🏷️ Category: Strategy ➤ Top-Down Fight of Units ➤ Warcraft 🌍️ Browser version:
🔖 Tags: 2D engine; Stratagus engine; Strategy; Tactical; 4X; Warcraft; Flagship; Level Editor; Moddable; Local Multi; Online Multi 📦️ Package Name: stratagus
🐣️ Approx. start: 1998-06-15 📦️ Arch package: ✓
🐓️ Latest: 2022-08-11 📦️ RPM package: ✓
📍️ Version: Latest: 3.3.2 / Dev: 3ba7987 📦️ Deb package: ✓
🏛️ License type: 🕊️ Libre 📦️ Flatpak package:
🏛️ License: GPL-2 📦️ AppImage package:
🏝️ Perspective: Bird's-eye view 📦️ Snap package:
👁️ Visual: Free-roaming camera ⚙️ Generic binary:
⏱️ Pacing: Real Time 📄️ Source: ✓
👫️ Played: Single & Multi 📱️ PDA support: ✓
🎖️ This record: 5 stars 🕳️ Not used:
🎀️ Game design: 👫️ Contrib.: goupildb & Louis
🎰️ ID: 13005 🐛️ Created: 2010-08-20
🐜️ Updated: 2023-04-15

📖️ Summary

[en]: A libre, multi-platform, solo (vs AI) / multiplayer (LAN / online) engine for 2D strategy games. It has the double benefit of allowing the development of 2D / 2.5D RTS games and of being compatible (via Mods) with the first commercial titles of Blizzard Entertainment studio (Warcraft 1 & 2 and Starcraft 1). [fr]: Un moteur solo (vs IA) / multi (LAN / en ligne) de jeux de stratégie 2D libre et multi-plateforme. Il présente le double intérêt de permettre le développement de RTS en 2D/2.5D et d'être compatible (via des Mods) avec les premiers titres commerciaux du studio Blizzard Entertainment (Warcraft 1 & 2 et Starcraft 1).

🎥️ Videos


📰 Progress: (3.3/202207),


🎮️ Showcase: Windgus(201402), Doom Wars(201402), Wargus(201309),

🕸️ Links

🏡️ Website & videos
[Homepage] [Dev site 1 2] [Features/About] [Screenshots] [Videos cv(3.3/202207) pv(3.2.0/202112) pv(3.1.0/202107) pv(3.0.0/202012) t(202xxx) gd(202xxx) gu(202xxx) r(202xxx) lp(202xxx) d(201402) d(201402) d(201309) d(201512) d(201503) d(201502) d(200803) d(201212) d(201212) 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] [FAQ] [RSS] [Changelog 1 2 3]

💰 Commercial: (empty)

🍩️ Resources
(empty, license): [Homepage] [Dev site] 🎬️ g(202xxx)

🛠️ Technical informations
[Open Hub] [PCGamingWiki] [MobyGames]

🦣️ Social
Devs (Stratagus Team 1 2 3] [en]): [Site 1 2] [Chat] [mastodon] [PeerTube] [YouTube] [PressKit] [Interview 1(202xxx) 2(202xxx)]
The Project: [Blog] [Forums] [mastodon] [PeerTube] [YouTube] [PressKit] [reddit] [Discord]

🐝️ Related
[Wikipedia (Stratagus) [fr] [en] [de]]
[Wikipedia (Warcraft) [fr] [en] [de]]
[Wikipedia (Warcraft: Orcs & Humans (Warcraft 1)) [fr] [en] [de]]
[Wikipedia (Warcraft II: Tides of Darkness (Warcraft 2)) [fr] [en] [de]]
[Wikipedia (StarCraft) [fr] [en] [de]]
[The Linux Game Tome] [HOLaRSE [de]]

📦️ Misc. repositories
[Repology] [pkgs.org] [Generic binary] [Arch Linux / AUR] [openSUSE] [Debian/Ubuntu 1 2 Launchpad] 3 GetDeb] [Flatpak] [AppImage(author's repo)] [Snap] [PortableLinuxGames]

🕵️ Reviews
[HowLongToBeat] [metacritic] [OpenCritic] [iGDB]

🕊️ Source of this Entry: [Site (date)]

🦣️ Social Networking Update (on mastodon)

🛠️ Title: Stratagus
🦊️ What's: A libre, single-player / multi-player engine for 2D strategy games
🏡️ https://wargus.github.io/stratagus.html
🐣️ https://github.com/Wargus/stratagus
🔖 #LinuxGameDev #Flagship #LibreGameEngine #Strategy
📦️ #Bin #Arch #RPM #Deb
📖 Our entry: https://www.lebottindesjeuxlinux.tuxfamily.org/en/online/lights-on/

🥁️ Update: 3.3.2
⚗️ Hotfix 🐞️
📌️ Changes: https://github.com/Wargus/stratagus/blob/master/debian/changelog
🦣️ From: https://mastodon.social/@holarse/108816032105039660
📰(3.3) https://www.youtube.com/embed/HsaQHP4ompU

🎲️ https://www.youtube.com/embed/437b-odQMoo

📕 Description [en]

📕🐧"A libre, multi-platform, solo (vs AI) / multiplayer (LAN / online) engine for 2D strategy games"🐧📕.

Stratagus is a free cross-platform real-time strategy gaming engine. It includes support for playing over the internet/LAN, or playing a computer opponent. The engine is configurable and can be used to create games with a wide-range of features specific to your needs. Stratagus is written in C++.

Stratagus started as a clone of the realtime fantasy strategy game Warcraft II from Blizzard Entertainment, although it is used now as a game engine to build other games, sci-fi or fantasy ones.

Stratagus is developed together for Windows, Linux and Linux Maemo based devices (Nokia N900).

Games that use Stratagus

• Wargus
• War1gus
• Stargus
• Aleona's Tales
• Wyrmsun
• Perhaps some other games (let us know)


🌍️ Wikipedia:

Stratagus is a free multi-platform game engine used to build real-time strategy video games. Licensed under the GNU GPL, it is written in C and (mostly) C++ with the configuration language being Lua. SDL, gzip and bzip2 are among the external libraries used.

History

On June 15, 1998 Lutz Sammer released the first public version of a free Warcraft II clone for Linux he had written, named ALE Clone. In 1999 it was renamed to Freecraft. In June 2003, a cease and desist letter was received from Blizzard Entertainment, who thought the name Freecraft could cause confusion with the names StarCraft and Warcraft, and that some of the ideas within the engine were too similar to Warcraft II. The project halted on June 20, 2003.

In 2004 the developers regrouped to continue the work by the name of Stratagus, with a change in the aim. The former interest in using the data files from WarCraft had diminished. The difference being, the project was previously using the data files from Warcraft II was split off into the new and separate project Wargus and the free media set imitating Warcraft II was discontinued. Note that two versions later spawned from this, one allowing users to play in linux environments.

On June 10, 2007, development of Stratagus was paused. The Stratagus developers began working on Bos Wars, which uses its own modified version of the Stratagus engine.

In June 2010 some of the developers moved Stratagus project from Sourceforge to Launchpad and started working on Stratagus and games again. Wargus (for Warcraft II), War1gus (for Warcraft I) and Stargus (for Starcraft) continued to be developed by the Stratagus team on Launchpad. In 2014, Wyrmgus started as a fork from the Stratagus engine to develop a strategy game based on free assets with a wider scope than the original engine allowed. The Stratagus team has since also moved to GitHub.

Playable Stratagus-based games are: fantasy Aleona's Tales, medieval Battle for Mandicor, Warcraft II: Tides of Darkness (plus expansion Beyond the Dark Portal) port Wargus, Warcraft: Orcs and Humans port War1gus, futuristic Battle of Survival, historically-inspired Commander Stalin, StarCraft port Stargus, and space age Astroseries. Of these, only Aleona's Tales, Wargus, War1gus, and Wyrmsun are complete.

Programming

The Stratagus engine is a 2D engine based on a set of pictures in a .png file to show animation. This style was commonly used in the time that Warcraft and other RTS had come out.

Basing on Lua as their primary scripting language, virtually all the abilities in the engine have been made available so that a user of Stratagus does not have to make changes in the original source unless they wish to add new features not presently supported by the engine.

Stratagus and Wargus have been ported to run on Pocket PC, Symbian and Android devices. Wargus has also been ported to the GP2X and Open Pandora Linux handhelds.

📕 Description [fr]

Un moteur multi-plateforme de RTS en 2D/2.5D supportant le jeu solo/multi, par la Stratagus Team (Nehal Mistry, Pali Rohár & contributeurs).
En C++.

Stratagus (ex Freecraft) est un moteur solo (vs IA) / multi (LAN / en ligne) de jeux de stratégie 2D libre et multi-plateforme. Il présente le double intérêt de permettre le développement de RTS en 2D/2.5D et d'être compatible (via des Mods) avec les premiers titres commerciaux du studio Blizzard Entertainment (Warcraft 1 & 2 et Starcraft 1).

Crédit image (lien ci-dessus): Wikipedia (en).

Utilisé par ces jeux / Used by these games: Aleona's Tales, Bos Wars, Commander Stalin, Doom Wars, Warcraft I: Orcs & Humans (1994) (with Stratagus - [mod War1gus]), WarCraft II: Tides of Darkness (1995) (with Stratagus - [mod Wargus]), StarCraft (1998) (with Stratagus - [mod Stargus]), Wyrmsun,

Voir aussi / See also (Stratagus & tools): Stratagus, Warcraft I: Orcs & Humans (1994) (with Stratagus - [mod War1gus]), WarCraft II: Tides of Darkness (1995) (with Stratagus - [mod Wargus]), StarCraft (1998) (with Stratagus - [mod Stargus]),


Stratagus est un moteur de jeu de stratégie temps réel multi-plateforme. Il comprend le support pour le jeu sur Internet / LAN ou le jeu contre une IA. Le moteur est configurable et peut être utilisé pour créer des jeux avec une large gamme de fonctionnalités spécifiques à vos besoins. Stratagus est écrit en C ++.

Stratagus a commencé comme un clone du jeu de stratégie temps réel Warcraft II de Blizzard Entertainment, néanmoins il est à présent utilisé comme moteur de jeu pour construire d'autres jeux, de science-fiction ou de type fantastique.

Stratagus est développé à la fois pour Windows, Linux et les appareils basés sur Linux Maemo (Nokia N900).

Les jeux qui utilisent Stratagus

• Wargus
• War1gus
• Stargus
• Aleona's Tales
• Wyrmsun
• Peut-être d'autres jeux (prévenez-nous)



🌍️ Wikipedia:

Stratagus est un moteur de jeu vidéo open-source, anciennement nommé Freecraft. À l’origine un clone de Warcraft, le jeu a été revu par suite de la menace de procès par Blizzard. Depuis, le jeu est disponible sous forme de moteur open source pour permettre la création de jeux de stratégie en temps réel ainsi qu’en tant que jeu complet, Battle of Survival, se déroulant dans un univers de science-fiction.

Ce moteur est aujourd’hui beaucoup utilisé, notamment grâce à la flexibilité de sa configuration.

Parmi les jeux open source utilisant ce moteur, on peut citer Wyrmsun qui reprend des éléments (certains graphismes et la musique) de The Battle for Wesnoth.

🚧️ Installation ➜ 🚀️ Launching [fr]

☝️ Contraintes: Stratagus est un moteur de jeu, à lui seul il ne permet pas de jouer à Warcraft ou a un autre jeu.

Pour jouer à un jeu il vous faudra :
• disposer des données (éventuellement commerciales) du jeu (sous Windows), car il ne fonctionne pas avec la version shareware que l'on trouve un peu partout.
• pour la compilation de cet outil Wargus, télécharger et décompresser le source du moteur Stratagus (car la compilation réclame les entêtes du source de Stratagus)
• pour extraire les données de la version commerciale, le binaire de Wargus (récupéré ou compilé, voir la documentation ci-après)
• pour jouer au jeu, le binaire de Stratagus (récupéré ou compilé, voir la fiche de Stratagus ; il utilisera les données extraites de la version commerciale par le présent outil Wargus)


⚙️ Installation à partir du binaire

📦️ Installation à partir du paquet Manjaro/Arch :
• Il est dans les dépôts Manjaro/Arch (souvent dans sa dernière version), il suffit d'installer le(s) paquet(s).


📄️ Installation à partir du source

• (✔ v. 72f8ea9 du 21/09/2020, post 2.4.3) Si vous souhaitez quelque-chose de très récent (versions de développement) et/ou qu'il n'y a pas de binaire disponible pour votre distribution/architecture (32/64-bits), la compilation du source est une bonne idée, voir un passage obligé.

Le source nécessite un certain nombre de dépendances internes au projet et non délivrées par défaut. Le téléchargement de la version sous forme de container zip ou tar.gz ne suffit donc pas. Il est conséquent nécessaire de télécharger le source via git (procédure décrite ci-après).

▸ Installation des dépendances (en dépôt) :
• Installez au préalable le(s) paquet(s) suivant(s) : sdl2 doxygen fluidsynth timidity++ ffmpeg2theora cdparanoia bzip2 libpng zlib lua51 tolua++ libmng libvorbis libtheora libogg libmikmod
(pour Debian/Ubuntu, installez les paquets éponymes, généralement précédés du préfixe “lib” et suivis du suffixe "-dev" s'ils sont disponibles, avec en plus les paquets spécifiques suivants : timidity libbz2-dev zlib1g-dev liblua5.1-0-dev libtolua++5.1-dev libfluidsynth-dev libmikmod)

💡 Nota:
- Si l'une des bibliothèques citées ci-dessus n'est plus disponible en dépôt dans la version indiquée n'hésitez pas à en prendre une autre plus récente.
- Avant de compiler le jeu, faites une sauvegarde du répertoire (i vous souhaitez relancer la compilation, c'est le plus fiable, car le $ make clean ne rétablit pas le répertoire à l'état initial), cela vous évitera un nouveau téléchargement (près de 400Mo pour Stratagus).

▸ Téléchargement du source (sur GitHub) :
☝️ 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://github.com/Wargus/stratagus
Nom_de_la_release : à remplacer par le nom d'une release valide indiquée sur la page de développement : sur GitHub, dans la section Release, le nom valide est l'étiquette située à gauche du titre, ou cliquez sur "Tags" pour obtenir la liste des étiquettes valides).
ou Version récente (non stable), dans le répertoire souhaité, lancez : $ git clone --recursive https://github.com/Wargus/stratagus

▸ Compilation :
• Dans son répertoire racine lancez successivement :
$ mkdir build && cd build
$ cmake ..
(n'oubliez pas les ".")
$ make
(ou, pour accélérer la compilation, "$ make -j8" si vous disposez d'un processeur 8 threads, à adapter pour vous)
↪ vous obtenez les binaires : build/genversion, build/metaserver, build/png2stratagus, build/stratagus,


🏕️ Installation du contenu / des données :

• Données : Ce jeu requiert l'installation de données non livrées avec le moteur du fait d'une licence incompatible ou tout simplement pour lui permettre d'utiliser différents sets de données.

▸ Récupération / extraction du contenu du jeu :
Concernant les jeux Blizzard Entertainment, voir les fiches : "Stratagus - [mod War1gus]", "Stratagus - [mod Wargus]" et "Stratagus - [mod Stargus].


🚀️ LANCEMENT DU JEU:

• Si vous l'avez compilé, en console dans son répertoire racine, lancez (après l'avoir rendu exécutable d'un clic droit sur le fichier): $ ./stratagus -d /chemin_vers_votre_repertoire_de_donnees_stratagus

🕵️ Test [fr]

🕵️ Test (✔ v. 72f8ea9 du 21/09/2020, post 2.4.3) par goupildb (config. : Debian Sid 64-bit):

🎯️ Objectif: rédiger/mettre à jour/valider sa notice d'installation et tester son fonctionnement.

🫕️ Installation :
• (✘ version 392e04a du 18/07/19, post 2.4.2) À partir d'un binaire :
Un dépôt UBUNTU (ppa) est disponible.
Mais les commandes suivantes renvoient :
# add-apt-repository ppa:stratagus/ppa
# apt update
Ign :1 https://ppa.launchpad.net/stratagus/ppa/ubuntu eoan InRelease
Err :2 https://ppa.launchpad.net/stratagus/ppa/ubuntu eoan Release
404 Not Found [IP : 91.189.95.83 80]
Atteint :3 https://ftp.us.debian.org/debian testing InRelease
Atteint :4 https://ftp.us.debian.org/debian stable InRelease
Lecture des listes de paquets... Fait
E: Le dépôt https://ppa.launchpad.net/stratagus/ppa/ubuntu eoan Release n'a pas de fichier Release.
N: Les mises à jour depuis un tel dépôt ne peuvent s'effectuer de manière sécurisée, et sont donc désactivées par défaut.
N: Voir les pages de manuel d'apt-secure(8) pour la création des dépôts et les détails de configuration d'un utilisateur.

Le plus simple est donc sans doute de télécharger le paquet soit sur Getdeb soit sur Launchpad.


• (✔ v. 72f8ea9 du 21/09/2020, post 2.4.3) À partir d'un source :

Stratagus est un moteur difficile à compiler.


(✘ version 392e04a du 18/07/19, post 2.4.2): La même version recompilée (après un make clean) m'avait généré une erreur de compilation (avec png2stratagus) et d'une version à l'autre souvent la compilation ne fonctionne pas.
Lu sur l'Issue 58 : "If Stratagus were a movie, it'd be called The Uncompilables."
Je suis assez d'accord :))

Exemples :

Exemple 1 : Le $ make clean rend le source in-compilable pour la suite (il supprime le répertoire metaserver/, et même si vous le recopiez d'une autre installation, ça ne se compile plus)
Si vous tentez une compilation ,faites un "$ make clean" et relancez un $ make vous obtenez :
-- Configuring done
CMake Error at CMakeLists.txt:1132 (add_executable):
Cannot find source file:
metaserver/cmd.cpp
(effectivement le répertoire metaserver/ a été supprimé)

Exemple 2 : le paquet libsqlite3-dev (requis pour la création du paquet Debian) plante la compilation
Si l'on installe le paquet libsqlite3-dev, la compilation du même source (version 392e04a, une copie vierge) plante sur :
[ 4%] Linking CXX executable metaserver
/usr/bin/ld : ne peut ouvrir le fichier de sortie metaserver : est un dossier
collect2: error: ld returned 1 exit status
make[2]: *** [CMakeFiles/metaserver.dir/build.make:162: metaserver] Error 1
make[1]: *** [CMakeFiles/Makefile2:110: CMakeFiles/metaserver.dir/all] Error 2
make: *** [Makefile:130: all] Error 2

(✔ v. 72f8ea9 du 21/09/2020, post 2.4.3) Cette version se compile bien.

• Tentative de création d'un paquet Debian :

Par contre la création d'un paquet Debian échoue sur :

(✘ version 392e04a du 18/07/19, post 2.4.2)
[100%] Built target stratagus
make[3]: on quitte le répertoire « /mnt/DDprc/Download/stratagus »
make[2]: *** [Makefile:133: all] Error 2
make[2]: on quitte le répertoire « /mnt/DDprc/Download/stratagus »
dh_auto_build: make -j16 returned exit code 2
make[1]: *** [debian/rules:42: override_dh_auto_build] Error 255
make[1]: on quitte le répertoire « /mnt/DDprc/Download/stratagus »
make: *** [debian/rules:31: build] Error 2
dpkg-buildpackage: erreur: debian/rules build subprocess returned exit status 2

(✘ v. 72f8ea9 du 21/09/2020, post 2.4.3)
$ dpkg-buildpackage -b -rfakeroot
dpkg-buildpackage: info: paquet source stratagus
dpkg-buildpackage: info: version source 3.0.0
dpkg-buildpackage: info: distribution source UNRELEASED
dpkg-buildpackage: info: source changé par Tim Felgentreff
dpkg-buildpackage: info: architecture hôte amd64
dpkg-source --before-build .
dpkg-checkbuilddeps: erreur: Unmet build dependencies: libmikmod2-dev
dpkg-buildpackage: avertissement: dépendances de construction et conflits non satisfaits ; échec.
dpkg-buildpackage: avertissement: (Utilisez l'option -d pour forcer.)
Il n'y a plus de paquet libmikmod2-dev dans les dépôts Debian, mais à la place un paquet libmikmod-dev que ce source ne reconnaît pas visiblement.

Donc oubliez la création du paquet Debian pour l'instant.

En tout cas la compilation fonctionne à présent.