Stratagus - Le Bottin des Jeux Linux

Stratagus

🗃️ Specifications

📰 Title: Stratagus 🕹️ / 🛠️ Type: Tool
🗃️ Genre: Strategy 🚦 Status: 06. Tested & Working
🏷️ Category: Strategy ➤ Top-Down Fight of Units ➤ Warcraft 🌍️ Browser-based:
🔖 Tags: 2D engine; Stratagus engine; Strategy; Tactical; 4X; Warcraft; Level Editor; Moddable; Local Multi; Online Multi 📦️ Package Name: stratagus
🐣️ Approx. start: 1998-06-15 📦️ Arch: ✓
🐤️ Latest: 2021-07-07 🍥️ On Deb repo:
📍️ Version: Latest : 3.1.2 / Dev : e2ec6a8 📦️ Deb: ✓
🏛️ License type: FOSS/Libre 📦️ RPM: ✓
🏛️ License: GPL-2 📦️ AppImage:
🏝️ Perspective: Bird's-eye view 📦️ Snap:
👁️ Visual: Free-roaming camera 📦️ Flatpak/Athenaeum:
⏱️ Pacing: Real Time ⚙️ Generic bin.:
👫️ Played: Single & Multi 📄️ Source: ✓
🎖️ This record: 5 stars 📱️ PDA support: ✓
🎖️ Game design: 👫️ Contrib.: Goupil & Louis
🎰️ ID: 13005 🐛️ Created: 2010-08-20
🐜️ Updated: 2021-11-15

📖️ Summary

[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). [en]: A libre, multi-platform, SP (vs AI) / MP (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).

🎥️ Videos

📰 Rapport d'activité / Progress Report (3.0.0) :


🎮️ Quelques exemples / Some examples (Showcase) : Windgus, Doom Wars, Wargus,

🕸️ Links

🏡️ Website & videos
[Homepage] [Dev site 1 2] [Features/About] [Screenshots] [Videos pv(3.0.0) t(202xxx) ts(202xxx) gd(202xxx) id(202xxx) r(202xxx) lp(202xxx) d(202xxx) d(202xxx) d(202xxx) d(202xxx) d(202xxx) d(202xxx) d(202xxx) d(202xxx) d(202xxx) d(202xxx) 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)] [Reviews] [WIKI] [FAQ] [RSS] [Changelog 1 2 3]

💵 Commercial : (empty)

🍩️ Resources
(empty) :
🛠️ Technical informations
[Open Hub] [PCGamingWiki] [MobyGames]

🐘 Social
Devs (Stratagus Team 1 2 3] [en]) : [Site] [Forums] [twitter] [YouTube] [Interview 1 2]
Game : [Blog] [Forums] [twitter] [YouTube]

🐝️ 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
[Launchpad] [GetDeb] [Repology] [pkgs.org] [archlinux]

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

🐘 Social Networking Update (on Mastodon)

🛠️ Title: Stratagus
🦊️ What's: A libre, multi-platform, SP (vs AI) / MP (LAN/online) engine for 2D strategy games
🏡️ http://wargus.github.io/stratagus.html
🐣️ https://github.com/Wargus/stratagus
🔖 #linux #dev #engine #libre #bin #deb #rpm #arch

🐧 Update: 3.1.0
💼️ New features
📌️ Changes: https://github.com/Wargus/stratagus/blob/master/debian/changelog
📰 http://youtu.be/XTjiameXjk8

📖 Our entry: https://bit.ly/bottinLightOn
🐘 From: https://mastodon.social/@holarse/106556516210823274
🕹️ http://youtu.be/437b-odQMoo

📕 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.

📕 Description [en]

"A libre, multi-platform, SP (vs AI) / MP (LAN / online) engine for 2D strategy games" (Serge Le Tyrant, Le Bottin des Jeux Linux / The Linux Games Book).

Stratagus is a free multi-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.

🚧️ Installation [fr]

INSTALLATION :

➥ Préambule :

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)


(Non testé) ➥ Installation à partir du binaire du jeu :

Non testé (j'avais envie de tester sa compilation).

(✔ v. 72f8ea9 du 21/09/2020, post 2.4.3) ➥ Installation à partir du source du jeu :

Pour jouer à ce jeu vous devez disposer des données originales du jeu.

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 :
• Installez les bibliothèques SDL (voir la fiche "006 - Glossaire & licences courantes" du Bottin).
• Installez au préalable les paquets suivants (certains sont optionnels) : # apt install ffmpeg2theora cdparanoia libbz2-dev libpng-dev zlib1g-dev liblua5.1-0-dev libtolua++5.1-dev fluidsynth libfluidsynth-dev doxygen libmng-dev libvorbis-dev libtheora-dev libogg-dev libmikmod-dev timidity
libgtkd-3-dev

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).
- Le paquet libsqlite3-dev plante la compilation (il intervient vraisemblablement de manière optionnelle dans la compilation, et visiblement la section correspondante du source est buggée). Je vous recommande donc de ne pas l'installer avant d'avoir compilé le source.

▸ Téléchargement du source (sur GitHub) :
• Si vous souhaitez une version publiée / stable :
- En HTTP : sur la page de développement du site (lien "Dev site" ci-dessus) vous cliquez sur "Clone"
- Ou en console, dans le répertoire de votre choix, 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).
(✔ v. 72f8ea9 du 21/09/2020) • Si vous souhaitez obtenir la version la plus récente (de développement, non stable, potentiellement non fonctionnelle), dans le répertoire de votre choix, lancez : $ git clone --recursive https://github.com/Wargus/stratagus

▸ Compilation du jeu :
• 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,


▸ Création d'un paquet Debian :
(✘ v. 392e04a du 18/07/19 (post 2.4.2))
Nota : le paquet libsqlite3-dev empêche toute nouvelle compilation, de plus la création du paquet échoue à 100% !

• Installez au préalable les paquets suivants (certains sont optionnels) : # apt install sharutils libsqlite3-dev libfluidsynth-dev
• Dans son répertoire racine lancez successivement : $ dpkg-buildpackage -b -rfakeroot


➥ Installation des données du jeu :
Ce moteur nécessite des données à télécharger / installer séparément.
Concernant les jeux Blizzard Entertainment, voir les fiches : "Stratagus - [mod War1gus]", "Stratagus - [mod Wargus]" et "Stratagus - [mod Stargus].


LANCEMENT DU MOTEUR :
En console dans le répertoire du moteur lancez : $ ./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):

(test de fonctionnement)
(Doc d'installation créée à l'occasion de ce test)

🕹️ Facilité d'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 http://ppa.launchpad.net/stratagus/ppa/ubuntu eoan InRelease
Err :2 http://ppa.launchpad.net/stratagus/ppa/ubuntu eoan Release
404 Not Found [IP : 91.189.95.83 80]
Atteint :3 http://ftp.us.debian.org/debian testing InRelease
Atteint :4 http://ftp.us.debian.org/debian stable InRelease
Lecture des listes de paquets... Fait
E: Le dépôt http://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.