{{tag>jeu fps}}
----
====== Duke Nukem 3D ======
{{ :jeux:eduke32_polymer_hrp.jpg?460x380|EDuke32 avec le High Resolution Pack pour le Polymer}}
**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.
Du fait de la présence de scènes violentes et pour adulte, ce jeu est déconseillé aux personnes de moins de 18 ans
===== 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 [[http://www.3drealms.com/duke3d/index.html|la boutique en ligne de 3drealms]], ou sur le site [[http://www.gog.com/en/gamecard/duke_nukem_3d_atomic_edition|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. [[duke_nukem_3d#Installation de Icculus Duke3d|Icculus Duke3D]] : Le plus ancien, version classique du jeu sans apporter de grande nouveauté, il reste cependant idéal pour les petites configurations.
2. [[duke_nukem_3d#Installation de JFDuke3D|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. [[duke_nukem_3d#Installation de EDuke32|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 [[http://icculus.org/~ravage/duke3d|à 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 [[http://icculus.org/mojosetup/examples/duke3d/duke3d-mojosetup-linux-x86.bin|à 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 [[http://wiki.eduke32.com/wiki/Building_EDuke32_on_Linux | page]].
Ubuntu 20.04 build:
make HOSTPLATFORM=LINUX PLATFORM=LINUX SUBPLATFORM=LINUX
==== Méthode 2: Installation via un dépôt ubuntu ====
Les adresses des dépôts sont disponibles [[http://apt.duke4.net | ici]].
N'oubliez pas [[:tutoriel/comment_modifier_sources_maj|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 [[http://wiki.eduke32.com/wiki/Console_commands | cette page]] pour toutes les commandes disponible sur EDuke32.
===== Multijoueurs =====
L'application **YANG** permet de créer et rejoindre des parties sur internet. [[http://www.yang-online.com | YANG]] est multiplate-forme et fonctionne de façon native sous GNU/Linux.
==== Installation ====
[[https://www.yang-online.com/downloads.htm|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 ===
* [[http://icculus.org/duke3d | Site officiel du port Icculus]]
* [[http://www.jonof.id.au/jfduke3d | Site officiel du port JFDuke3D]]
* [[http://www.eduke32.com | Site officiel du port EDuke32]]
* [[http://forums.duke4.net/index.php?showforum=26 | Le forum Duke Nukem 3D Modifications sur duke4.net]]
=== Pack de textures haute résolution (HRP) ===
* [[http://hrp.duke4.net | Pack de textures haute résolution pour le Polymost et le Polymer]]
=== Modifications ===
* Liste de mods pour EDuke32 :
* [[http://wiki.eduke32.com/wiki/EDuke32_Modifications | Liste 1]]
* [[https://www.moddb.com/engines/eduke32/games | Liste 2]]
* [[https://www.moddb.com/games/duke-nukem-3d/mods | Liste 3]]
* Utiliser les anciens add-ons commerciaux tel que //Duke Caribbean: Life's A Beach//, //Duke: Nuclear Winter//, etc. Voir cette [[http://wiki.eduke32.com/wiki/The_Official_Add-on_Installation_Guide | cette page]].
* Autre méthode en français pour les anciens add-ons commerciaux. Voir ce [[http://www.counterfx.net/page?f=YE0P5Lx2orl | tutoriel]].
* [[http://www.amcwebforums.com | Un forum sur les mods pour Duke Nukem 3D]]
=== Autres ===
* [[wpfr>Duke_Nukem_3D|Duke Nukem 3D sur Wikipédia]]
* [[https://forum.ubuntu-fr.org/viewtopic.php?id=133795 | Discussion sur le forum Ubuntu-fr]]
----
//Contributeurs : [[utilisateurs:bioman|bioman]], [[utilisateurs:mart|mart]], [[utilisateurs:billybug|billybug]], [[utilisateurs:Mankind|Mankind]], [[utilisateurs:polarman|polarman]]//