Ce projet est une réimplémentation du jeu Duke Nukem II, initialement publié par Apogee Software en 1993 pour MS-DOS. RigelEngine fonctionne en remplacement de l'exécutable d'origine : il lit les fichiers de données du jeu et se joue exactement comme l'original, mais s'exécute de manière native sur les systèmes d'exploitation modernes et est écrit en code C++ moderne.
Par rapport à l'exécution de l'original dans un émulateur, RigelEngine offre de nombreuses améliorations modernes et améliorations de la convivialité, notamment :
Aucun code source n'a jamais été publié pour le jeu original, ce projet est donc basé sur l'ingénierie inverse (en particulier le désassemblage des binaires originaux). Voir Duke2Reconstructed pour une reconstruction complète du code original.
Essayez la version Web ! (compilé sur wasm via Emscripten)
Lire la FAQ
Regarder une vidéo de présentation (obsolète)
RigelEngine est stable et assez complet en termes de fonctionnalités. Les quatre épisodes du jeu (shareware et version enregistrée) sont entièrement jouables et à égalité avec le jeu original.
Je n'ai actuellement aucun projet de développement futur significatif - considérez le projet comme étant en mode "maintenance". Cela signifie que je ferai de mon mieux pour résoudre les problèmes/bugs majeurs qui surviennent et maintenir CI en fonctionnement, mais je n'ajouterai aucune nouvelle fonctionnalité.
RigelEngine fonctionne sous Windows, Linux et Mac OS X.
Il est également assez facile à installer sur Steam Deck.
La version Linux fonctionne également bien sur les petits ordinateurs monocartes (SBC) comme le Raspberry Pi et Odroid Go Advance. Voir Exécution sur Raspberry Pi et Odroid Go Advance.
Il existe également un port PS Vita (tiers).
RigelEngine n'est pas très exigeant, mais il nécessite un matériel graphique compatible OpenGL. OpenGL 3.0 ou OpenGL ES 2.0 peuvent être choisis au moment de la compilation.
Toute carte graphique Nvidia ou AMD de 2007 ou ultérieure devrait exécuter le jeu sans problème. Cependant, les GPU intégrés Intel n'ont ajouté la prise en charge d'OpenGL 3 qu'en 2011. Sous Linux, l'utilisation de GL ES peut être une option pour les anciens GPU Intel.
Voir Cartes graphiques prises en charge pour plus d'informations.
A part la carte graphique, vous n'avez pas besoin de grand chose. Le jeu nécessite moins de 64 Mo de RAM et fonctionne correctement sur un processeur ARMv6 monocœur cadencé à 700 MHz (Raspberry Pi 1).
Les contributions à RigelEngine sont les bienvenues ! Veuillez consulter le guide de contribution avant de faire un PR.
Il existe un corpus croissant de documentation sur le Wiki, pour vous aider à accéder à la base de code. Un bon point de départ est la présentation de l'architecture.
Si vous recherchez des tâches faciles pour commencer, jetez un œil aux problèmes étiquetés bon premier problème.
Pour exécuter RigelEngine, les données du jeu original sont requises. La version shareware et la version enregistrée fonctionnent. Lors du premier lancement de RigelEngine, il affichera une interface utilisateur de navigateur de fichiers et vous demandera de sélectionner l'emplacement de votre installation de Duke Nukem II. Le chemin choisi sera stocké dans le profil utilisateur du jeu, afin que vous n'ayez pas à le sélectionner à nouveau la prochaine fois.
Il est également possible de passer le chemin d'accès aux fichiers du jeu en argument sur la ligne de commande, ce qui peut s'avérer pratique lors du développement.
Vous pouvez télécharger gratuitement la version shareware sur archive.org. La version complète (c'est-à-dire la version enregistrée) peut être achetée sur Zoom Platform, un magasin qui dispose toujours d'une licence pour vendre le jeu (contrairement à d'autres magasins numériques comme Steam et Gog).
Si vous possédez déjà une copie du jeu, vous pouvez également pointer RigelEngine vers cette installation existante.
Les seuls fichiers réellement requis pour RigelEngine sont :
NUKEM2.CMP
(le fichier de données principal)NUKEM2.F1
, .F2
, .F3
etc. jusqu'à .F5
(fichiers de film d'introduction)Les films d'introduction ne sont pas obligatoires, RigelEngine ignore simplement la lecture du film si les fichiers ne sont pas trouvés. Cependant, ils font toujours partie de l'expérience, je recommande donc de les inclure lors de la copie des fichiers du jeu quelque part.
S'il existe des parties sauvegardées, des listes de meilleurs scores ou des paramètres trouvés dans les fichiers du jeu, RigelEngine les importe dans son propre profil utilisateur lors de sa première exécution.
Vous pouvez trouver plus d'informations qui ne rentrent pas tout à fait dans ce README sur le Wiki. Par exemple, vous trouverez des informations sur la façon d'activer les outils de débogage intégrés, une liste des bugs de la version originale qui ont été corrigés dans Rigel Engine, etc.
Des binaires prédéfinis sont fournis avec chaque version. À partir de la version 0.8.0, cela inclut Windows (x64), Mac OS (x64) et les packages deb
pour les distributions Linux Debian/Ubuntu/Mint (également x64).
Un Flatpak est également disponible.
Consultez également les versions Linux tierces pour une liste des autres packages/builds Linux fournis par les distributions et d'autres projets.
Voir BUILDING.md pour des instructions détaillées pour chaque plate-forme.