Duke Nukem 3D
Duke Nukem 3D est un jeu de tir subjectif (en anglais first person shooter ou FPS) développé par 3D Realms et publié en 1996 par Apogee. Il poursuit les aventures de Duke Nukem, personnage musclé et machiste. Des extra-terrestres sainguinaires ont envahi le Los Angeles de demain. Désormais les humains sont les premiers sur la liste des espèces en voie de disparition. Duke Nukem est le seul homme capable d'éradiquer les aliens …
Après la diffusion du code source du moteur du jeu (Build) par Ken Silverman en juin 2000, le code source de Duke Nukem 3D a été placé sous la licence libre GPL en avril 2003, mais les données (graphiques et sonores) restent la propriété intégrale de 3D Realms.
Pré-requis
Configuration matérielle recommandée et plus
- Pentium 133
- 32MB de RAM
- Clavier / Souris
- Moniteur VGA
- Carte video de 256 couleurs au moins
- Une carte 3D supportant OpenGL pour profiter des textures haute résolution pour le Polymost
- Une carte GeForce 6 series / ATI X1x00 ou plus récente pour profiter des textures haute résolution pour le Polymer
Les données du jeu (cartes, textures, sons, musiques, ... )
Comme ces derniers n'ont pas été libérés, il faut donc récupérer le fichier duke3d.grp, présent sur le CD-ROM de Duke Nukem 3D et le copier dans un des dossiers de recherche :
Pour JFDuke3D
- $HOME/.jfduke3d
- /usr/share/games/jfduke3d
- ./ (dossier courant)
Pour EDuke32
- $HOME/.eduke32
- /usr/share/games/eduke32
- ./ (dossier courant)
Dans le cas où vous ne disposeriez pas d'une copie du jeu, on doit pouvoir le trouver à moins de 5 euros sur les sites d'enchères et d'occasions (si possible dans la version Atomic Edition v1.5, qui est la plus complète, mais cela fonctionne généralement avec toutes les versions officielles). On peut également l'acheter depuis la boutique en ligne de 3drealms, ou sur le site GOG.com.
Une autre solution consiste à copier le fichier duke3d.grp présent dans la version shareware, (dans ce cas il n'est possible de jouer qu'avec la version shareware, Episode 1 et vous n'aurez pas accès à toutes les armes).
Merci d'éviter de proposer des liens vers des sites pirates qui mettent à disposition les fichiers de données commerciaux, Duke Nukem 3D n'est pas un abandonware.
Portages sous GNU/Linux
Du fait de la publication du code source du jeu, il existe différents portages, dont plusieurs sous GNU/Linux. Ils permettent principalement de faire tourner Duke Nukem 3D sur des systèmes d'exploitation plus évolués à la place du DOS. Ils sont tous distribués sous licence GPL v2 et Build :
1. Icculus Duke3D : Le plus ancien, version classique du jeu sans apporter de grande nouveauté, il reste cependant idéal pour les petites configurations.
2. JFDuke3D : Apporte de nouvelles évolutions au jeu : nouveau moteur graphique Polymost, permet de gérer de véritable modèles en 3D au format MD2 et MD3, support des formats png et ogg, menu des options enrichi, console in-game similaire à Quake, … . Il est toutefois préférable d'utiliser EDuke32 à la place, étant donné qu'il n'a pas été mis à jour depuis un bon moment.
3. EDuke32 : Fork de EDuke et JFDuke3D, le plus évolué à l'heure actuelle. Il apporte en plus de nouvelles fonctionnalités comme le support des plates-formes 64 bits, extension du langage de script. La lumière dynamique, ombres en temps réel et le specular/normal mapping (Polymer). Un protocole réseau client/serveur amélioré avec la possibilité de rejoindre une partie déjà commencée, nouveau système de palette de couleurs, True Room over Room (TROR), support des animations vidéo au format VP8.
Installation de Icculus Duke3D
Avec l'installateur Loki
Le CD-ROM de la version 1.5 Atomic Edition est requis.
L'installateur Loki pour la version atomic est disponible à cette adresse
Lancement
chmod +x duke3d_atomic_edition-x86.run sudo sh ./duke3d_atomic_edition-x86.run
Avec l'installateur MojoSetup
On peut y jouer avec la version 1.5 Atomic Edition ou avec la version shareware.
L'installateur MojoSetup, plus moderne est disponible à cette adresse
Lancement
chmod +x duke3d-mojosetup-linux-x86.bin ./duke3d-mojosetup-linux-x86.bin
Installation de JFDuke3D
JFDuke3D est disponible uniquement pour Ubuntu 32 bits
Méthode 1: Compilation depuis le code source
Testé sous Precise Pangolin 32 bits. Copier le bloc suivant en une seule fois et le coller dans un terminal:
{ echo 'Installation des dépendances...' sudo apt-get install build-essential libgl1-mesa-dev libgtk2.0-dev libsdl1.2-dev libvorbis-dev nasm timidity freepats git echo 'Obtention du code source...' mkdir jfduke3d && cd jfduke3d git clone https://github.com/jonof/jfduke3d.git jfduke3d.git git clone https://github.com/jonof/jfbuild.git jfbuild.git git clone https://github.com/jonof/jfaudiolib.git jfaudiolib.git git clone https://github.com/jonof/jfmact.git jfmact.git echo 'Compilation...' cd jfduke3d.git && make }
Noter que la cross-compilation depuis un système 64 bits reste possible, mais ne sera pas présenté ici pour cause d'instabilités.
Il reste toutefois possible d'exécuter le jeu sur un système 64 bits qui a été préalablement compilé sur un système 32 bits, à condition d'installer les dépendances 32 bits (voir multiarch).
Installation de EDuke32
Méthode 1: Compilation depuis le code source
Voir cette page.
Méthode 2: Installation via un dépôt ubuntu
Les adresses des dépôts sont disponibles ici.
N'oubliez pas d'activer le dépôt universe avant l'installation.
Charger les mods et les packs de textures haute résolution
Pour cela il existe plusieurs méthodes :
- Avec la fenêtre de démarrage, celle-ci propose la sélection de mods depuis une liste de dossiers. Ces dossiers sont recherchés depuis $HOME/.eduke32, il suffit par exemple de créer un dossier nommé polymost_hrp contenant l'ensemble des fichiers du pack et de sélectionner ce dernier dans la liste.
- En ligne de commande, Il faut ajouter le paramètre -game_dir suivi du nom du dossier à charger.
Exemple :
eduke32 -game_dir polymost_hrp
- En ligne de commande, on peut également utiliser le paramètre -grp mais il faut dans ce cas, indiqué tous les fichiers du pack que l'on souhaite utiliser.
Exemple avec le Polymost HRP :
eduke32 -grp duke3d_hrp.zip polymost_hrp_update-*.zip
- Enfin, il est possible d'activer le dossier autoload, celui-ci charge automatiquement tous les mods et packs présents dans ce dernier. Ce dossier n'existe pas par défaut il faut le créer dans $HOME/.eduke32/autoload.
Améliorer les performances avec le Polymer
Les commandes suivantes permettent de modifier les options pour le Polymer, elles doivent être saisis depuis la console du jeu :
r_pr_shadowdetail #
Cette option permet de régler le niveau de détails des ombres, la valeur par défaut est 4. Positionner cette valeur à 2 ou 1 peut apporter une meilleur fluidité du jeu sur les petites configurations.
r_pr_maxlightpasses #
Cette option permet de régler l'intensité de la lumière dynamique, la valeur par défaut est 5. Positionner cette valeur à 3 par exemple, peut apporter une meilleur fluidité du jeu sur les petites configurations.
Voir également cette page pour toutes les commandes disponible sur EDuke32.
Multijoueurs
L'application YANG permet de créer et rejoindre des parties sur internet. YANG est multiplate-forme et fonctionne de façon native sous GNU/Linux.
Installation
Des paquets ubuntu sont disponibles sur le site officiel pour architecture 32 et 64 bits.
Ports réseaux par défaut
Les données suivantes peuvent être utiles si vous utilisez un pare-feu ou autre logiciel pour bloquer certains ports réseaux :
- Liste des serveurs : TCP 3333
- Port du jeu (utilisé pour rejoindre une partie) : UDP 23513
- Port serveur YANG (utilisé pour créer une partie) : TCP 8501
Notes
Lors de la création d'une partie, il est nécessaire de cliquer sur le bouton "Advertise room" afin d'annoncer sa partie dans la liste de tous les serveurs.
Liens externe
Portages GNU/Linux
Pack de textures haute résolution (HRP)
Modifications
- Liste de mods pour EDuke32 :
- Utiliser les anciens add-ons commerciaux tel que Duke Caribbean: Life's A Beach, Duke: Nuclear Winter, etc. Voir cette cette page.
- Autre méthode en français pour les anciens add-ons commerciaux. Voir ce tutoriel.