Dæmon : le moteur autonome d'Unvanquished
Ce projet est un moteur de jeu 3D open source multiplateforme orienté FPS, avec une maintenance continue et une évolution régulière.
En bref
- De quoi s’agit-il ?
- Un moteur 3D multiplateforme maintenu, issu de la lignée d'id Tech 3
- À qui s’adresse-t-il ?
- Pour compiler Dæmon à partir des sources, il faut d'abord récupérer plusieurs sous-dépôts. Utilisez git clone --recurse-submodules pour un nouveau clonage, ou git submodule update --init --recursive dans un dépôt existant.
- Puis-je l’utiliser commercialement ?
- Oui. BSD-3-Clause est une licence permissive : vous pouvez utiliser, modifier et vendre un logiciel qui en dépend, à condition de conserver les mentions de droit d’auteur et de licence.
- Est-il encore maintenu ?
- Oui. Les derniers commits datent d’il y a 8 jours.
- En quel langage est-il écrit ?
- Principalement C++, d’après les statistiques de langage de GitHub.
Ces réponses reposent sur les données GitHub du projet (dernière synchronisation le 14 septembre 2026) et sur notre analyse. Elles ne constituent pas un avis juridique.
ANALYSE OPEN SOURCE APPROFONDIE
Ce qu'est Dæmon
Dæmon est le moteur autonome qui alimente le jeu de tir à la première personne multijoueur Unvanquished. Le dépôt du moteur contient le moteur lui-même, tandis que la logique du jeu vit dans un dépôt Unvanquished séparé. La description du projet le présente comme un moteur 3D multiplateforme maintenu, adapté aux jeux de tir à la première personne, et indique qu'il a connu 25 ans de modernisation après id Tech 3, avec des bases historiques dans ioquake3, Wolf:ET et XreaL. Le README lui-même ne précise pas en quoi cette modernisation a consisté.
Dans le dépôt DaemonEngine/Daemon, le README relie ce sujet à git clone --recurse-submodules, cmake -H. -Bbuild, ./daemonded +map <mapname>. Ce repère permet de rattacher le jugement à un fichier, une commande ou un réglage précis. Pour Daemon, un essai doit observer la sortie produite, les erreurs et l’effet de cette option sur le flux décrit, sans attribuer au projet une garantie que le document ne formule pas. Repère de lecture 1.
De la lignée id Tech 3 à la maintenance actuelle
Les métadonnées du dépôt font remonter Dæmon à id Tech 3, avec ioquake3, Wolf:ET et XreaL comme bases historiques. Le README ne décrit pas les contributions de code spécifiques de chacun de ces projets, et n'explique pas non plus la relation entre Dæmon et le projet Unvanquished, toujours actif, au-delà du fait que le moteur alimente le jeu. Ce qui ressort clairement des métadonnées, c'est que Dæmon est un projet activement maintenu, avec master comme branche par défaut et un statut non archivé. L'historique de développement exact devrait être vérifié dans le journal git ou la documentation du projet, ni l'un ni l'autre ne faisant partie du README.
Dans le dépôt DaemonEngine/Daemon, le README relie ce sujet à git clone --recurse-submodules, cmake -H. -Bbuild, ./daemonded +map <mapname>. Ce repère permet de rattacher le jugement à un fichier, une commande ou un réglage précis. Pour Daemon, un essai doit observer la sortie produite, les erreurs et l’effet de cette option sur le flux décrit, sans attribuer au projet une garantie que le document ne formule pas. Repère de lecture 2.
Prérequis de l'espace de travail et dépendances
Pour récupérer et compiler Dæmon, il faut git, cmake et un compilateur C++14. Les compilateurs pris en charge sont gcc 9 ou plus récent, clang 11 ou plus récent, et Visual Studio/MSVC 2019 ou plus récent. Sur Windows avec MinGW, MSYS2 est l'environnement de compilation recommandé. Les dépendances requises incluent zlib, libgmp, libnettle, libcurl, SDL2, GLEW, libpng, libjpeg 8 ou plus récent, libwebp 0.2.0 ou plus récent, Freetype, OpenAL, libogg, libvorbis, libopus et libopusfile. La seule dépendance optionnelle listée est ncurses. Le README ne donne pas de numéros de version pour les dépendances au-delà des minimums indiqués ici.
Dans le dépôt DaemonEngine/Daemon, le README relie ce sujet à git clone --recurse-submodules, cmake -H. -Bbuild, ./daemonded +map <mapname>. Ce repère permet de rattacher le jugement à un fichier, une commande ou un réglage précis. Pour Daemon, un essai doit observer la sortie produite, les erreurs et l’effet de cette option sur le flux décrit, sans attribuer au projet une garantie que le document ne formule pas. Repère de lecture 3.
Récupération des sources avec les sous-modules
Dæmon nécessite que plusieurs sous-dépôts soient récupérés avant la compilation. Pour un nouveau clonage, le README donne la commande git clone --recurse-submodules https://github.com/DaemonEngine/Daemon.git. Si le dépôt est déjà cloné, exécutez git submodule update --init --recursive dans le répertoire Daemon. Le README avertit spécifiquement qu'une erreur cmake concernant des fichiers manquants dans le dossier libs/crunch/ signifie que cette étape a été sautée. La liste réelle des sous-modules n'est pas fournie dans le README.
Dans le dépôt DaemonEngine/Daemon, le README relie ce sujet à git clone --recurse-submodules, cmake -H. -Bbuild, ./daemonded +map <mapname>. Ce repère permet de rattacher le jugement à un fichier, une commande ou un réglage précis. Pour Daemon, un essai doit observer la sortie produite, les erreurs et l’effet de cette option sur le flux décrit, sans attribuer au projet une garantie que le document ne formule pas. Repère de lecture 4.
Compilation sur les plateformes prises en charge
Sous Visual Studio, le processus de compilation est le suivant : exécuter CMake, choisir le compilateur, puis ouvrir Daemon.sln et compiler. Sur Linux, macOS et MSYS2, le README montre deux commandes : cmake -H. -Bbuild suivi de cmake --build build -- -j4, avec la sortie dans un nouveau répertoire build. L'option -j4 peut être remplacée par -jN où N est le nombre de cœurs CPU ; les utilisateurs Linux peuvent utiliser nproc pour obtenir ce nombre. Pour la compilation croisée de Linux vers Windows, un fichier de chaîne d'outils est fourni : cmake/cross-toolchain-mingw64.cmake pour la 64 bits, et le README note qu'une version 32 bits, cross-toolchain-mingw32.cmake, existe également.
Dans le dépôt DaemonEngine/Daemon, le README relie ce sujet à git clone --recurse-submodules, cmake -H. -Bbuild, ./daemonded +map <mapname>. Ce repère permet de rattacher le jugement à un fichier, une commande ou un réglage précis. Pour Daemon, un essai doit observer la sortie produite, les erreurs et l’effet de cette option sur le flux décrit, sans attribuer au projet une garantie que le document ne formule pas. Repère de lecture 5.
Exécution d'un jeu avec les fichiers pkg
Pour exécuter Dæmon, il faut un dossier pkg rempli de fichiers .dpk fournis par le jeu basé sur Dæmon que vous voulez lancer, et ce dossier doit être stocké à côté du binaire daemon. Le client se lance avec ./daemon (daemon.exe sous Windows). Le binaire serveur dédié est daemonded (daemonded.exe sous Windows) et peut être lancé avec un argument de carte, par exemple ./daemonded +map <mapname>. Le README note que les noms de cartes et d'autres options peuvent être spécifiques au jeu, et renvoie à la documentation de configuration du serveur Unvanquished pour plus de détails.
Dans le dépôt DaemonEngine/Daemon, le README relie ce sujet à git clone --recurse-submodules, cmake -H. -Bbuild, ./daemonded +map <mapname>. Ce repère permet de rattacher le jugement à un fichier, une commande ou un réglage précis. Pour Daemon, un essai doit observer la sortie produite, les erreurs et l’effet de cette option sur le flux décrit, sans attribuer au projet une garantie que le document ne formule pas. Repère de lecture 6.
Licence et limites de la documentation
Les métadonnées du dépôt indiquent la licence BSD-3-Clause, mais l'extrait de licence fourni est une note en chinois disant qu'aucun fichier LICENSE n'a été trouvé à un chemin courant et que c'est tout ce qui peut être dit. Par conséquent, cet article ne peut pas citer de termes de licence précis à partir du matériel fourni. Le README ne dit rien non plus sur les fonctionnalités de sécurité, les garanties de performance, la base d'utilisateurs ou le support commercial. Sa portée se limite à la récupération, la compilation et l'exécution du moteur.
Dans le dépôt DaemonEngine/Daemon, le README relie ce sujet à git clone --recurse-submodules, cmake -H. -Bbuild, ./daemonded +map <mapname>. Ce repère permet de rattacher le jugement à un fichier, une commande ou un réglage précis. Pour Daemon, un essai doit observer la sortie produite, les erreurs et l’effet de cette option sur le flux décrit, sans attribuer au projet une garantie que le document ne formule pas. Repère de lecture 7.
Conclusion éditoriale
Pour compiler Dæmon à partir des sources, il faut d'abord récupérer plusieurs sous-dépôts. Utilisez git clone --recurse-submodules pour un nouveau clonage, ou git submodule update --init --recursive dans un dépôt existant. Pour Daemon, le premier contrôle concret porte sur git clone --recurse-submodules et sur la sortie attendue dans le README. Le projet convient au besoin décrit, mais ne remplace pas les fonctions que sa documentation ne couvre pas.
Notes de la communauté