À propos du projet

openage est un projet mené par des bénévoles visant à créer un moteur libre basé sur le Genie Engine utilisé par Age of Empires, Age of Empires II (HD) et Star Wars: Galactic Battlegrounds. Ce projet est comparable à d'autres initiatives telles qu'OpenMW, OpenRA, OpenSAGE, OpenTTD et OpenRCT2. Le projet utilise les ressources originales du jeu (sons et graphismes), mais ne les inclut pas ; pour jouer, il faut posséder une version originale du jeu (AoE1 ou AoE2) ou leurs versions Définitives. Fondation technique : Le cœur du moteur est écrit en C++20, Python3 sert au scripting, à la conversion des médias, à la console ingame et à la génération de code, Cython permet l'interaction entre Python et C++, Qt6 est utilisé pour l'interface graphique, CMake pour le système de compilation, OpenGL pour le rendu et les shaders, Opus pour le codec audio, et nyan pour la configuration et le modding du contenu. Objectifs : Recréer un aspect et une ambiance authentiques (approximatives car le comportement original est principalement non documenté), supprimer les limitations artificielles inutiles, adopter un format de contenu facilement modifiable (nyan), intégrer une console Python et une API comparables à celles de Blender, permettre le scripting IA en Python avec apprentissage automatique, recréer des ressources libres du jeu, implémenter le multijoueur, un système de recherche et classement avec un serveur maître écrit en Haskell, proposer des améliorations optionnelles par rapport au jeu original, ainsi que des infrastructures telles que le service Kevin CI. Pour des raisons de stabilité, il n'y a pas de compatibilité réseau avec le jeu original ni de compatibilité binaire. Un script de conversion des cartes, sauvegardes et missions vers openage est prévu. État actuel : Pour l'instant, le jeu est pratiquement non fonctionnel. La simulation interne est en cours de développement en mettant l'accent sur la simplicité et l'extensibilité, donc l'ancienne version temporaire mais fonctionnelle a été supprimée. Le projet peut désormais utiliser des paquets de ressources convertis et l'API nyan. Des explications détaillées sont disponibles sur le blog. L'équipe travaille à faire revenir le gameplay. Installation : Beaucoup de composants manquent encore pour avoir un jeu entièrement fonctionnel. La compilation depuis les sources est fortement recommandée. Sur Linux, vérifiez les paquets via repology ; aucun paquet .deb, .rpm, Flatpak, snap ou AppImage n'est disponible pour le moment. Sur Windows, consultez la page des versions pour télécharger l'installeur le plus récent. Sur macOS, aucun paquet n’est proposé ; il faut compiler à partir des sources. Un guide de dépannage est disponible. Démarrage rapide : Clonez le dépôt, installez les dépendances (voir doc/building.md), compilez avec ./configure --download-nyan et make. Vous pouvez aussi utiliser Docker. Exécutez avec cd bin && ./run main. Le script de conversion transforme les ressources originales dans des formats adaptés à openage, plus simples et plus modifiables. Note humoristique : les plantages, messages d’erreur et autres problèmes sont considérés comme des fonctionnalités ; des options comme --dont-segfault, --no-errors et --dont-eat-dog sont proposées de manière ironique. Contribuer : Consultez les issues marquées 'good first issue', discutez dans le chat Matrix, lisez la documentation et le guide de contribution. Les non-programmeurs sont les bienvenus pour aider ou simplement observer. Licence : GNU GPLv3 ou ultérieur ; voir copying.md et legal/GPLv3.