Jouer à Duke Nukem 3D... en 2006 (FAQ)

UPDATE 05/09/2010 : je n'ai pas joué à Duke depuis des années, mais pour avoir tout juste effectué un petit survol des dernières nouveautés dans la communauté, je peux vous dire une chose : Duke n'est pas mort ! Ce document ne subira probablement plus de mise à jour, mais ses informations restent en partie valable et en allant sur les sites de référence vous serez informés concernant le port et le launcher "à la mode"... D'après ce que je viens de voir, pour jouer sur internet les ports les plus utilisés sont xDuke et hDuke (un petit "nouveau" basé sur xDuke), et comme launcher la référence est désormais Meltdown mais vous pouvez aussi jettez un oeil sur Yang. Actuellement, je vois par exemple une douzaine de connectés sur Meltdown. On est bien loin des milliers de joueurs sur je ne sais quelle nouveauté, mais ça reste suffisant et c'est surtout beaucoup plus convivial !

Historique des versions
Version 1.1février 2006
Le guide devient une FAQ à progression linéaire. Les personnes qui cherchent la réponse à une question en particulier peuvent donc facilement s'orienter, et les autres peuvent lire la FAQ de bout en bout afin de retrouver un semblant de guide. Actualisation des informations... nous sommes en 2006 !
Version 1.0avril 2005
Cette version du guide est désormais dépassée, de plus elle contenait quelques erreurs. Si toutefois vous souhaitez la consulter, elle est toujours disponible ici.

Résumé

Dix ans ! Une telle durée de vie n'est pas très habituelle dans le dur monde du jeu vidéo. Les moteurs de rendu graphique sont de plus en plus puissants et les joueurs d'aujourd'hui sont en quête d'extase visuelle. On peut dire que la qualité graphique est désormais l'aspect le plus important d'un jeu vidéo.

Le code source de Duke Nukem 3D a été libéré en 2003 sous la licence GNU GPL, ce qui a permis à plusieurs projets de le rendre compatible avec Windows XP ou Linux, tout en lui ajoutant de nouvelles fonctionnalités. Entre autre, et bien que Duke Nukem 3D n'ait pas besoin d'un graphisme flirtant avec la réalité pour continuer d'enchanter ses aficionados, le confort visuel a été largement amélioré.

Le but de cette FAQ est de répondre à toutes vos questions concernant l'installation et l'utilisation de Duke Nukem 3D en 2006, en présentant les différents projets bénévoles qui font que vous vous amuserez encore de nombreuses heures en parties solo ou multi-joueurs.


1. Versions officielles de Duke Nukem 3D
Quelles sont les différentes versions officielles du jeu ?
De quels fichiers le jeu est-il composé ?
Comment faire pour accéder au contenu du fichier GRP ?
Où puis-je télécharger Duke Nukem 3D ?
2. Versions non-officielles
Qu'est-ce qu'on appelle un port de Duke Nukem 3D ?
Quelles sont les nouvelles fonctionnalités ajoutées par les ports ?
Pouvez-vous me présenter les ports existants pour Duke Nukem 3D ?
Je voudrais davantage d'informations sur les ports du jeu !
En résumé, quel est le meilleur des ports de Duke Nukem 3D ?
Peut-on installer plusieurs ports dans le même répertoire ?
Comment faire pour installer un port sur Windows ?
Comment faire pour installer un port sur Linux ?
3. Configuration du jeu
Quel fichier éditer pour la configuration manuelle du jeu ?
Comment améliorer les graphismes du jeu ?
Comment faire pour jouer à la souris avec le freelook ?
Votre question ici ?
4. Améliorer davantage les graphismes avec le HRP
Qu'est ce que le High Resolution Pack (HRP) ?
Comment faire pour installer le HRP ?
Comment jouer avec le HRP ?
Est-il possible de rendre le HRP toujours actif ?
Puis-je utiliser mes propres textures avec le HRP ?
5. Bots et launchers
Qu'est ce qu'un bot ? Qu'est ce qu'un launcher ?
Qu'existe t'il comme bots pour Duke Nukem 3D ?
Qu'existe t'il comme launchers pour Duke Nukem 3D ?
A quoi sert exactement DukesterX ?
Comment installer DukesterX ?
6. Jouer en LAN ou par internet
De quoi ai-je besoin pour jouer en réseau ?
Qu'est ce que le ping ?
Qu'est-ce qu'une adresse IP ? Un numéro de port réseau ?
Comment héberger ou rejoindre une partie avec DukesterX ?
Votre question ici ?
7. Liens et informations diverses
Qui sont les auteurs de cette FAQ ?
Une sélection de liens interessants
Je n'ai pas trouvé la réponse à ma question...

1. Versions officielles de Duke Nukem 3D

Quelles sont les différentes versions officielles du jeu ?
De quels fichiers le jeu est-il composé ?
Comment faire pour accéder au contenu du fichier GRP ?
Où puis-je télécharger Duke Nukem 3D ?

Quelles sont les différentes versions officielles du jeu ?

La première version complète et finale est sortie le 24 avril 1996, c'est la version 1.3d et elle est constituée de trois scénarios. Un quatrième scénario a été ajouté quelques mois plus tard avec la version 1.4. La version 1.5 est sortie fin 1996 et a seulement corrigé quelques bugs par rapport à la version 1.4.

Les versions 1.4 et 1.5 s'appellent toutes les deux « Atomic Edition ». Il existe un patch qui s'appelle « Plutonium Pack » et qui permet de mettre à jour la version 1.3d en « Atomic Edition ».

De quels fichiers le jeu est-il composé ?

Le jeu est principalement composé des fichiers suivants :

  • « build.exe » est un éditeur de niveau qui permet de créer de nouvelles cartes. Il n'est pas nécessaire de savoir s'en servir pour pouvoir jouer à Duke Nukem, et comme son utilisation est quelque peu déroutante, je vous conseille de tout simplement l'ignorer. En tout, nous n'en parlerons pas davantage dans cette FAQ.

  • « setup.exe » sert non pas à installer le jeu mais à configurer les touches, l'affichage, la musique et les sons.

  • « duke3d.exe » est le fichier exécutable principal, c'est lui qui permet de lancer le jeu, et même de le configurer dans une certaine mesure (via le menu des options).

  • « duke3d.cfg » est le fichier dans lequel votre configuration personnelle est sauvergardée. Son édition manuelle est relativement simple et permet d'optimiser la configuration au plus haut point.

  • Les trois fichiers « defs.con », « game.con » et « user.con » déterminent de nombreux aspects du jeu. Ils sont eux aussi éditables à la main, avec n'importe quel éditeur de texte, et si vous voulez vous amusez un peu je vous conseille de commencer par « user.con » où vous pourrez modifier la vitesse de déplacement de Duke, la puissances des armes et le nombre de munitions, les points de vie des ennemis... etc en quelques secondes.

  • Le fichier « DUKE3D.GRP » constitue en quelque sorte la base du jeu, c'est une grosse archive qui contient toutes les données exploitables telles que textures, sons, niveaux mais aussi une copie de sauvegarde des fichiers CON.

Comment faire pour accéder au contenu du fichier GRP ?

Le fichier GRP est une archive au même titre qu'un fichier ZIP, mais il utilise un format spécial. Vous ne pourrez donc pas le lire avec Winzip ou Winrar, il faut utiliser un programme spécial comme « kextract » qui est fourni par 3D Realms sur le CD de Duke Nukem 3D dans le répertoire « GOODIES/BUILD ». Il existe aussi d'autres programmes beaucoup plus simple d'utilisation comme GRP Studio que vous pouvez télécharger sur mon dépôt (cliquez ici pour y accéder).

Où puis-je télécharger Duke Nukem 3D ?

En fait, ce sont les codes sources des fichiers exécutables qui ont été libérés, mais pas l'univers dans lequel se déroule le jeu, c'est à dire les données contenues dans le fichier GRP. Il vous faut donc toujours acheter le jeu pour pouvoir y jouer, justement afin d'obtenir ce GRP.

Une solution alternative consiste à utiliser la version shareware du GRP. Elle ne contient pas tous les niveaux du jeu, mais au moins son utilisation n'est pas limitée dans le temps. La version shareware du GRP, les exécutables et beaucoup d'autres utilitaires sont téléchargeables depuis mon dépôt (cliquez ici pour y accéder).

2. Versions non-officielles

Qu'est-ce qu'on appelle un port de Duke Nukem 3D ?
Quelles sont les nouvelles fonctionnalités ajoutées par les ports ?
Pouvez-vous me présenter les ports existants pour Duke Nukem 3D ?
Je voudrais davantage d'informations sur les ports du jeu !
En résumé, quel est le meilleur des ports de Duke Nukem 3D ?
Peut-on installer plusieurs ports dans le même répertoire ?
Comment faire pour installer un port sur Windows ?
Comment faire pour installer un port sur Linux ?

Qu'est-ce qu'on appelle un « port » de Duke Nukem 3D ?

Les versions officielles du jeu sont faites pour tourner sur le système MS-DOS de Microsoft, et ne fonctionnent normalement pas ou bien mal sous Windows XP ou Linux. Lorsqu'une personne prend le code source du jeu et le modifie en vue d'en distribuer une nouvelle version compatible avec Windows XP ou Linux, on dit qu'elle fait un port du jeu (elle porte le jeu depuis MS-DOS vers un autre système).

En fait, les versions non-officielles de Duke Nukem 3D que l'on utilise actuellement sont plus que des ports, car elles ajoutent aussi de nouvelles fonctionnalités. Mais on les appelle toujours des « ports », car il n'existe pas de terme particulier désignant un « port + améliorations »... et puis c'est plus simple comme ça.

Quelles sont les nouvelles fonctionnalités ajoutées par les ports ?

Ce que j'appelle communémement « fonctionnalité » peut désigner en fait une correction de bug, la modification d'un aspect particulier du comportement du jeu, le véritable ajout d'une nouvelle possibilité ou bien n'importe quel autre système ou mécanisme offert par le port... Voici une petite liste non exhaustive des fonctionnalités que peuvent offrir les ports d'aujourd'hui :

  • fourniture d'un exécutable permettant de configurer les touches, l'affichage ou le son, tout comme le faisait déjà l'ancien « setup.exe » ;

  • fourniture d'un nouveau « build.exe »

  • code réseau amélioré, permettant de faire des parties avec un plus grand nombre de joueurs et/ou moins de crashes ;

  • possibilité dans le menu des options de configurer les touches du clavier et de la souris sans quitter le jeu ;

  • « autoswitch on/off » : permettre au joueur d'activer ou de désactiver le changement automatique des armes lorsqu'il en ramasse une nouvelle ;

  • « drawgun on/off » : permettre au joueur d'activer ou de désactiver l'affichage de l'arme à l'écran (pour décharger la vision du joueur) ;

  • « hear opponent sound » : jouer les sons de l'ennemi lorsqu'il se fait toucher, qu'il crie... cette fonctionnalité existait déjà dans la version 1.3d mais a été enlevé par 3D Realms dans l'Atomic Edition, certains ports permettent donc de la rétablir ;

  • « medkit fix » : dans le jeu original, le joueur ne peut pas exécuter plus d'une action de changement d'arme ou d'utilisation d'item à la fois, et celà se traduit par le fait que si vous appuyez simultanément sur deux touches associées à ce type d'action, seule une des deux actions sera exécutée. Cette gestion particulière du clavier, même si elle a été volontaire par 3D Realms, donne l'impression que le jeu est buggué. Le « medkit fix » consiste à débrider le jeu en permettant d'exécuter autant d'actions arme/item que l'on veut.

  • « smart mouse » : dans le jeu original, le fait de bouger la souris vers le haut/bas lorsque le « mouse aiming » est sur OFF fait avancer/reculer Duke... c'est assez gênant et pour y remédier il suffit de désactiver l'axe Y de la souris lorsque le joueur n'utilise pas le « mouse aiming ». C'est cette bidouille que j'appelle « smart mouse » ;

  • possibilité de réduire davantage la taille du HUD, ou bien même d'afficher un nouveau HUD minimal qui décharge la vue du joueur tout en affichant les informations les plus importantes ;

  • utilisation d'OpenGL pour améliorer la qualité des graphismes, utiliser des textures à hautes définitions et de véritables modèles 3D (au format MD3 utilisé par Quake 3) ;

  • support des fichiers sons au format MP3 ou Ogg Vorbis ;

  • extension du language des fichiers CON pour paramétrer le jeu en profondeur.

Voilà... sachez qu'il n'existe à l'heure actuelle aucun port cumulant toutes ces fonctionnalités. En particulier, certaines de ces fonctionnalités comme le « medkit fix » sont parfois considérées comme une dénaturation du jeu original, voir comme une technique indirecte pour tricher. Je ne partage pas cet avis mais chacun a le droit d'avoir son opinion là-dessus.

Pouvez-vous me présenter les ports existants pour Duke Nukem 3D ?

Bien sûr ! Les ports sont le plus souvent uniquement composés d'un fichier exécutable visant à remplacer le fichier original «duke3d.exe». Parfois sont aussi fournis un «setup.exe» ou bien des librairies (fichiers auxiliaires se terminant par DLL sous Windows, nécessaires au bon fonctionnement des fichiers exécutables).

Voilà un rapide tour d'horizon des principaux ports utilisés actuellement :

  • Icculus est un port historique qui n'a pas été mis à jour depuis très longtemps mais que certaines personnes continuent d'utiliser pour jouer sous Linux. Les binaires ne sont pas fournis, il faut les compiler soi-même à l'aide de l'outil « make ».

  • Rancidmeat est basé à l'origine sur le code d'Icculus. C'est un port qui avait plusieurs défauts dans sa version 19.2, et qui n'a pas été mis à jour pendant longtemps. Le récent retour de l'auteur a été une très bonne nouvelle au sein de la communauté. La nouvelle branche 20.x a normalement corrigé toutes les erreurs. Sur internet, beaucoup de joueurs utilisent Rancidmeat pour jouer (même à l'époque de la version 19.2) car il est réputé pour très bien fonctionner en réseau.

  • xDuke, originellement Rancidmeat Reloaded, a été considéré pendant quelques temps comme la suite officielle du port de Rancidmeat. Lorsque Rancidmeat est revenu sur le devant de la scène en version 20.0, l'auteur a changé le nom de son projet afin d'éviter les confusions. xDuke est donc un fork de Rancidmeat et il lui ajoute beaucoup de petites fonctionnalités très sympatiques. C'est actuellement mon port préféré, même si au niveau des graphismes il est aussi moche que le jeu officiel.

  • JFDuke augmente énormément le potentiel du moteur du jeu, en permettant entre autre le rendu en OpenGL et le support des textures hautes définitions. Il devrait bientôt supporter en plus les fichiers sonores au format MP3 et OGG Vorbis. C'est techniquement un travail remarquable qui a été effectué, les personnes qui souhaitent bénéficier des meilleurs graphismes se tourneront incontestablement vers JFDuke. A noter que les anciennes versions souffraient d'un gros problème qui rendait impossible le jeu en réseau à plus de deux joueurs ou dans certaines maps. Le code réseau a été corrigé et il n'y a plus aucun problème !

    JFDuke est le seul port « évolué » fonctionnant sous Linux, c'est pourquoi je vous le conseille si vous utilisez ce système d'exploitation. Comme pour Icculus, il faudra compiler les fichiers binaires avec « make ».

  • EDuke32 est le port qui offre le plus de possibilités étant donné qu'il ajoute à JFDuke la possibilité de personnaliser le jeu en profondeur à l'aide des fichiers CON. Il n'est pas vraiment utilisé pour jouer au vrai Duke Nukem 3D, mais tout à fait recommandé pour ceux qui désire créer des mods. Un petit bijou qui est donc plutôt reservé aux développeurs, étant donné que pour l'instant aucun mod n'a tiré son épingle du jeu et que toute les parties en réseau se jouent sur le Duke Nukem basique.

Je voudrais davantage d'informations sur les ports du jeu !

Voilà un tableau récapitulatif qui présente entre autre les fonctionnalités prises en charge et le site de l'auteur (pour encore plus d'informations) :

 IcculusRancidmeatxDukeJFDukeEduke32
Compatible Windows XPouiouiouiouioui
Nouveau duke3d.exeduke3d.exeduke3d_w32.exeduke3d_w32.exeduke3d.exeeduke32.exe
Nouveau fichier setup.exenon ?nonnonsetup.exesetup.exe
Nouveau build.exenon ?nonnonbuild.exemapster32.exe
qualité du code réseaubonnebonnebonnebonnebonne
config. des touches dans le jeunonnonouiouioui
autoswitch on/offnonnonouinonnon
drawgun on/offnonnonouinonnon
hear opponent soundnonnonouinonnon
medkit fixnonnonouinonnon
smart mousenonnonouinonnon
type de HUDstandardstandardnouveau et minimalréduitréduit
graphisme améliorénonnonnonOUI !oui
support MP3/Ogg Vorbisnonnonnonbientôtbientôt
extension du langage CONnonnonnonnonoui
Dernière versionCVS (vieux)20.1 (24/01/2006)19.6 (29/12/2005)20051009 (09/10/2005)1.3.0 (17/11/2005)
AuteurIcculusDaveMatthieuJonoFTerminX
Site interneticculus.org/duke3dwww.rancidmeat.comduke3d.m-klein.comjonof.edgenetwork.orgeduke32.com

En résumé, quel est le meilleur des ports de Duke Nukem 3D ?

Il n'est pas possible de départager de manière catégorique tous les ports afin d'en élire un meilleur que les autres. Mon opinion est qu'à l'heure actuelle le meilleur port pour jouer en réseau est xDuke car il permet d'optimiser à fond la configuration du joueur. De son côté, JonoF remporte haut la main du côté des graphismes et je le privilégie pour le jeu solo. EDuke32 est un choix évident pour quiconque souhaite s'amuser en bidouillant sérieusement le jeu. Rancidmeat me semble pour l'instant en léger retrait, mais l'auteur venant tout juste de reprendre son activité, il se pourrait bien que ce nouvel élan amène avec lui d'agréables surprises pour les prochaines versions. En fin de compte, le seul port que je ne recommande pas, c'est Icculus mais si vous rencontrez des problèmes avec JFDuke sous Linux, pourquoi ne pas essayer Icculus ?

Bon, si vous voulez une réponse un peu plus mouillée de ma part : xDuke et JFDuke.

Peut-on installer plusieurs ports dans le même répertoire ?

Oui, et heureusement ! L'installation des ports les uns après les autres se fait naturellement, il faut juste faire attention lorsque au moins deux ports utilisent le même nom de fichier. Un petit coup d'oeil au tableau ci-dessus vous apprendra tout de suite quels sont les conflits entre les fichiers exécutables des différents ports. Globalement, pour ces fichiers exécutables et les autres :

  • JFDuke3D et EDuke32 utilisent tous les deux « setup.exe » : celà ne pose aucun problème, choississez par exemple le plus récent et il sera de toute façon compatible avec l'autre.

  • Rancidmeat et xDuke utilisent le même « duke3d_w32.exe » : il y a fort à parier pour que ce problème soit très bientôt résolu. En effet, lorsque la dernière version d'xDuke est sortie, elle s'appelait encore Rancidmeat Reloaded car tout le monde croyait que le projet Rancidmeat original était abandonné. L'auteur d'xDuke appelera probablement son exécutable « xduke.exe » dans la prochaine version afin de résoudre le conflit. En attendant, vous n'avez qu'à renommer vous-même ce fichier, le jeu n'a pas besoin de porter un nom particulier pour bien fonctionner !

  • Les fichiers CON sont normalement les mêmes pour tous les ports. En cas de doute, utilisez toujours ceux de la version officielle de Duke Nukem 3D (téléchargeables depuis mon dépôt : cliquez ici pour y accéder).

  • Le fichier CFG ne pose normalement pas trop de problème, sauf pour la souris et éventuellement pour les touches (problème AZERTY / QWERTY). Veuillez consulter les questions qui s'y rapportent dans Q & R 3, « Configuration du jeu ».

Comment faire pour installer un port sur Windows ?

Vous devez au préalable posséder le fichier « DUKE3D.GRP », celui de la version « Atomic Edition » étant conseillé pour jouer en réseau. Ensuite il faut faire en sorte que les nouveaux fichiers exécutables founis par le port se retrouvent dans le même répertoire que celui du fichier GRP. On distingue deux principaux cas :

  • Les fichiers exécutables sont déjà compilés et archivés dans un fichier ZIP. Vous devez télécharger ce fichier ZIP depuis le site de l'auteur, et l'extraire dans le répertoire du GRP. Notez bien qu'au final les fichiers EXE doivent se situer exactement dans le même repértoire que le GRP, et non pas dans un sous répertoire. C'est à vous de déplacer les fichiers dans le bon répertoire si l'extraction a été faite dans un sous-répertoire.

  • Les fichiers exécutables sont déjà compilés et distribués sous la forme d'un fichier d'installation automatique. Vous devez télécharger ce fichier d'installation depuis le site de l'auteur et double-cliquer dessus. Suivez les étapes en choisissant d'installer le port dans le répertoire qui contient déjà votre GRP.

Comment faire pour installer un port sur Linux ?

En général, les fichiers exécutables (ou fichiers binaires) ne sont pas fournis. C'est donc à vous de les compiler à partir des sources. Je vais ici uniquement expliquer comment installer JFDuke3D dans le cas le plus simple, celui où vous ne rencontrerez aucune erreur. Ca prend moins de deux minutes si vous suivez à la lettre ces instructions :

  • Téléchargez, dans le même repertoire sur votre disque dur, les sources de JFDuke3D et de JFBuild depuis le site de JonoF (ce sont deux fichiers ZIP).

  • Depuis une console (terminal, invite de commandes...), décompressez les deux fichiers en tapant pour chacun des fichiers « unzip nom_du_fichier ». Vous vous retrouvez alors avec deux sous-répertoires nommés « jfduke3d_src_XYZ » et « jfbuild_src_XYZ » où XYZ représente un numéro de version (X = année, Y = mois, Z = jour).

  • Rennomez le répertoire « jfbuild_src_XYZ » en « build » à l'aide de la commande « mv jfbuild_src_XYZ build ».

  • Déplacez vous dans le répertoire de JFDuke avec « mv jfduke3d_src_XYZ ».

  • Compilez les fichiers en tapant tout simplement « make ». Si tout se passe bien, deux fichiers exécutables « duke3d » et « setup » apparaissent maintenant dans le répertoire « jfduke3d_src_XYZ ». C'est à vous de les déplacer dans le répertoire de votre GRP... et c'est fini !

Si ça n'a pas marché, peut-être que certaines des librairies requises (comme par exemple la librairie SDL) ne sont pas installées sur votre système ? Je ne peux pas vous aider davantage, à vous de demander de l'aide sur le forum de JFDuke (ici) en décrivant avec précision le système que vous utilisez et en rapportant les messages d'erreurs que vous aurez pu récupérer (faites un copier/coller).

3. Configuration du jeu

Quel fichier éditer pour la configuration manuelle du jeu ?
Comment améliorer les graphismes du jeu ?
Comment faire pour jouer à la souris avec le freelook ?
Votre question ici ?

Quel fichier éditer pour la configuration manuelle du jeu ?

Votre configuration personnelle de Duke Nukem 3D est enregistrée dans le fichier « duke3d.cfg ». Ce fichier est divisée en plusieurs sections :

  • [Screen Setup] pour la configuration de l'affichage (résolution de l'écran, nombre de couleurs... etc) ;

  • [Sound Setup] pour configurer le son et la musique ;

  • [Controls] pour configurer la souris, la manette ou le joystick (si vous en avez) ;

  • [KeyDefinitions] pour configurer les touches du clavier ;

  • [Misc] pour définir entre autre vos préférences concernant les armes ;

  • [Comm Setup] pour choisir votre pseudonyme et vos sarcasmes préférés.

Chacune de ces sections regroupe plusieurs paramètres auquels vous pouvez attribuer une valeur à l'aide du signe égal.

Comment améliorer les graphismes du jeu ?

Il y a deux manières d'améliorer les graphismes du jeu, les deux utilisent le port de JFDuke. La première méthode se limite à configurer le jeu afin de tirer partie des fonctionnalités graphiques de JFDuke, tout en utilisant toujours les mêmes textures que celles du jeu originales. La deuxième consiste à installer en plus le « High Resolution Pack » (HRP). Je présente ici la procédure de configuration commune aux deux méthodes :

  • Choisissez dans le setup.exe livré avec JFDuke une haute résolution : le standard est 1024*768 (écran 17 pouces) mais vous devez prendre 800*600 si vous avez un écran 15 pouces, et vous pouvez prendre 1280*1024 si vous avez un 19 pouces. La mention « 16 bpp » ou « 32 bpp » concerne la coloration du jeu et correspond au nombre de bits utilisés pour colorier un pixel : 16 c'est bien, mais 32 c'est le top.

  • Lancez le jeu et vérifiez que vos paramètres ont bien été pris en compte dans le menu « VIDEO SETTINGS ». En ce qui concerne la couleur, vous devriez avoir « 16BIT POLYMOST » ou bien « 32BIT POLYMOST » mais pas « 8BIT CLASSIC », qui correspond aux couleurs moches du jeu originial.

  • Dans le même menu, activez « FILTERING BILINEAR » ou bien même « FILTERING TRILINEAR », qui est un peu plus gourmant en ressources mais assure une meilleur qualité d'affichage.

  • Enfin vous pouvez aussi activer le filtrage anisotropique en choisissant pour « ANISOTROPY » une valeur comprise entre « 2 TAP » et « 16 TAP ».

Voilà, lancez maintenant une partie et vous verrez que les graphismes sont très nettement améliorés. Si vous en voulez davantage, merci de lire Q & R 4, « Améliorer davantage les graphismes avec le HRP ».

Comment faire pour jouer à la souris avec le « freelook » ?

Tous les FPS actuels se jouent en vue subjective (on voit la scène du jeu avec les yeux du personnage) et la caméra se contrôle à l'aide de la souris (les déplacements de la souris permettent de bouger la tête du personnage). C'est ce qu'on appelle le freelook, et vous pouvez aussi l'avoir dans Duke Nukem 3D, moyennant un tout petit effort de configuration.

La manipulation utilise le « setup.exe » de JFDuke, mais le fichier de configuration pourra aussi être utilisé avec les autres ports. Voici comment faire :

  • Lancez le « setup.exe » de JFDuke, cliquez sur « Input Devices » puis sur « Advanced... » ;

  • Donnez à « Y-Axis Scale » la valeur 1, sélectionnez « Toggle » pour « Mouse Aiming Mode », « analog_turning » pour « Analogue X », « analog_moving » pour « Analogue Y », « None » (rien du tout) pour les quatre « Digital » ;

  • Cliquer sur « Close » et vérifier dans « Key Assignments » que « Mouse_Aiming » est associé à une touche (c'est la touche « U » par défaut) ;

  • Cliquez sur « Save and Run Duke » pour enregistrer les modifications et lancer le jeu. Si le freelook ne marche toujours pas, il suffit d'appuyer sur la touche associée à « Mouse_Aiming » !

Votre question ici ?

Cette section est en cours d'élaboration... Ecrivez-moi si vous avez une question à poser !

4. Améliorer davantage les graphismes avec le HRP

Qu'est ce que le High Resolution Pack (HRP) ?
Comment faire pour installer le HRP ?
Comment jouer avec le HRP ?
Est-il possible de rendre le HRP toujours actif ?
Puis-je utiliser mes propres textures avec le HRP ?

Qu'est ce que le « High Resolution Pack » (HRP) ?

Le HRP a été créé pour moderniser les graphismes de Duke Nukem 3D, c'est un pack de 100mo contenant des centaines de textures de bonnes qualités et des modèles 3D au format MD3 (celui utilisé par Quake 3). Il existe aussi en version light (allégée), qui ne fait que 30mo, pour les petits modems ou les vieilles machines. La version light contient toutes les textures du HRP normal dont la taille a été divisée par quatre.

Le but du HRP est en fait de remplacer toutes les vieiles textures du GRP Atomic Edition par des nouvelles textures en hautes résolutions et plus en couleurs. Le projet n'est actuellement pas encore fini, au début de l'année 2006 on estimait qu'environ 65% du travail avait été effectué. Le pack est tout de même tout à fait fonctionnel car les textures les plus courantes ont déjà été retravaillées. Vous pouvez visionnez des captures d'écrans du HRP sur son site officiel : hrp.planetduke.gamespy.com.

Attention : le HRP ne fonctionne qu'avec les ports JFDuke3D et Eduke32 !

Comment faire pour installer le HRP ?

Le HRP s'installe comme un add-on à Duke Nukem 3D et il ne fonctionne qu'avec les ports JFDuke3D et Eduke32. Vous devez donc toujours disposez d'un fichier GRP. L'installation préalable de JFDuke3D n'est cependant pas obligatoire, comme nous allons le voir immédiatement :

  • Commencez par télécharger le HRP (version normale ou light) sur hrp.planetduke.gamespy.com. L'installation est des plus pratique car elle inclut aussi la dernière version de JFDuke ainsi qu'un fichier de configuration standard.

  • Lancez l'installation en double-cliquant sur le fichier que vous venez de télécharger. Cochez « JFDuke3D » si le port JFDuke n'est pas encore installé sur votre ordinateur. Cochez « Duke Nukem 3D » si votre GRP est celui de la version shareware ou 1.3d, ou bien cochez « Atomic / Plutonium » si vous avez une version 1.4 ou 1.5. Ceci vous est demandé car le HRP inclut des bidouillages de maps (« maphacks » en anglais) qui ne sont pas les mêmes selon les versions du jeu. Mais ne vous inquiétez pas, les maps originales ne seront pas alterées. Vous pouvez aussi cocher « WASD+Mouse » si vous souhaitez bénéficier d'une configuration standarde des touches et de la souris.

  • Passez à l'écran suivant et indiquez dans quel répertoire vous voulez installer le HRP : choisissez le répertoire qui contient déjà votre GRP. Voilà, l'installation prend quelques secondes et s'achève sans problème.

Comment jouer avec le HRP ?

Après avoir installer le HRP, il ne sera pas actif par défaut lorsque vous lancerez JFDuke ou Eduke32. Tout d'abord, votre jeu doit être configurer de manière à prendre en charge les options d'affichage qui ont été rajoutées au jeu original par JFDuke. C'est expliqué comment faire ici.

Après ça, vous pourrez lancer le jeu avec le HRP actif en utilisant le raccourci qui a été créé à cet effet dans le menu démarrer de Windows. Ce raccourci lance en fait JFDuke (duke3d.exe) avec deux arguments : « /gduke3d_hrp.zip » et « /ghacks.zip ». Les fichiers « duke3d_hrp.zip » et « hacks.zip » sont deux archives ZIP qui ont été copiés dans le répertoire du jeu pendant l'installation du HRP. Le « /g » devant un nom de fichier ZIP signifie qu'il faut charger le fichier au lancement du jeu : le contenu du fichier (nouvelles textures...) sera ainsi utilisé en priorité par rapport au contenu du GRP (textures originales...).

Est-il possible de rendre le HRP toujours actif ?

Oui, et on a alors plus besoin d'utiliser le raccourci qui a été crée pendant l'installation du HRP. Il suffit d'extraire directement dans le répertoire du jeu le contenu des deux fichiers « duke3d_hrp.zip » et « hacks.zip ». Vous retrouverez alors ces nouvelles choses dans votre répertoire de jeu :

  • un petit fichier « duke3d.def » ;

  • une quarantaine de fichiers « *.mhk » (ce sont les maphacks) ;

  • un sous-répertoire « highres » contenant lui-même plusieurs sous-répertoires et environ 2000 fichiers (textures, modèles 3D... etc).

Vous pouvez maintenant lancer JFDuke sans aucun argument, en utilisant normalement « duke3d.exe », et le HRP se chargera automatiquement. Pour le désactiver, il suffit de renommer le fichier « duke3d.def », par exemple en « duke3d.def.hrp ». Renommez-le « duke3d.def » pour réactiver le HRP.

Puis-je utiliser mes propres textures avec le HRP ?

Le sous-répertoire « highres » contient de nombreuses images portant l'extension PNG. Vous pouvez vous amusez à les modifier à l'aide d'un logiciel de graphisme comme Photoshop ou The Gimp. Vos textures modifiées seront automatiquement prises en compte lors des prochains lancements du jeu.

Ensuite, vous pourrez essayez de créer vous même vos propres textures parmis celles qui n'existent pas encore dans le HRP. Cette page vous permet de prendre connaissance du travail qu'il reste à faire : Duke 3D Art TODO List.

Pour apprendre à inclure vos textures au HRP et partager votre travail avec la communauté, rendez-vous sur le forum de 3D Realms : forums.3drealms.com. Postez vos créations dans le thread « Duke Nukem 3D Modelling Project part 2 » de la section « Duke Nukem 3D Source Code ».

5. Bots et launchers

Qu'est ce qu'un bot ? Qu'est ce qu'un launcher ?
Qu'existe t'il comme bots pour Duke Nukem 3D ?
Qu'existe t'il comme launchers pour Duke Nukem 3D ?
A quoi sert exactement DukesterX ?
Comment installer DukesterX ?

Qu'est ce qu'un bot ? Qu'est ce qu'un launcher ?

Un bot est un joueur artificiel. C'est un joueur qui est contrôlé par l'ordinateur et dont les mouvements, réactions, tactiques etc... se veulent être proche de celle d'un joueur humain. Si vous ne pouvez pas jouer en réseau contre d'autres joueurs humains, vous serez peut-être ravis de pouvoir simuler une partie multi-joueurs en jouant contre des bots.

Un launcher est un programme qui permet de paramétrer et de lancer facilement le jeu à l'aide d'une interface graphique, sans se fatiguer avec la ligne de commande. Il est essentiellement utilisé pour lancer des parties multi-joueurs réelles (en réseau) ou simulées (avec des bots), voir un mélange des deux. Parfois, le launcher offrira même un service de listing des serveurs en attente de joueurs, ce qui est très pratique pour trouver des adversaires lorsqu'on ne connait personne pour jouer avec soi.

Qu'existe t'il comme bots pour Duke Nukem 3D ?

Il existe essentiellement deux types de bots pour Duke Nukem 3D :

  • Les premiers sont ceux qui sont integrés dans l'Atomic Edition, ce sont les bots officiels du jeu. Vous pourrez choisir entre un mode facile où les bots ne bougent pas et ne tirent pas (??), et un mode « Artificial Intelligence » où ils bougent très peu mais tirent et visent très bien... en fait ils n'ont rien d'intelligents, c'est juste que le jeu peut tricher en sachant exactement où viser pour vous toucher. Pour jouer avec ces bots, je vous conseille d'utiliser un des launchers qui sont présentés un peu plus bas.

  • Les autres bots sont ceux du programme « Sob-Bot ». Ils sont beaucoup plus paramétrables que les précédents, et paraissent aussi beaucoup plus intelligents. Ils peuvent par exemple utiliser le jetpack, les steroids, et presque toutes les armes. Il existe une version des Sob-Bot's pour Duke Nukem 3D version 1.3d, et une autre pour l'« Atomic Edition ». Un launcher est integré et permet de configurer tous les paramètres des bots et de choisir la carte. Vous pouvez téléchargez les Sob-Bot's sur mon dépôt (cliquez ici pour y accéder).

Qu'existe t'il comme launchers pour Duke Nukem 3D ?

Du côté des launchers, il y a davantage de choix :

  • Dukeroch est un très bon launcher pour jeu solo, fonctionnant sous Windows. C'est un outil qui vous permet de lancer des parties paramétrées sans vous fatiguer avec la ligne de commande.

  • ACRSetup est un launcher pour jeu solo/multi sous Windows qui n'est compatible qu'avec JFDuke. Son interface est légère et intuitive, mais il ne permet pas de créer ou de rejoindre des serveurs publics (il vous faudra donc déjà connaître l'adresse IP d'un serveur pour le rejoindre).

  • Duke3D Multiplayer Setup est à peu près l'équivalent d'ACRSetup, mais au lieu de servir pour JFDuke il fonctionne avec Icculus et Rancidmeat, sous Windows et Linux.

  • Mais le plus utilisé de tous les launchers est sans conteste DukesterX. Il sert à lancer des parties en jeu solo/multi et intègre un service d'hébergement de serveurs de jeux publics à la manière Quake 3. Vous aurez plus d'informations à son sujet en lisant ???.

Comme tous les programmes présentés dans cette FAQ, ces launchers peuvent être téléchargez depuis mon dépôt (cliquez ici pour y accéder).

A quoi sert exactement DukesterX ?

A l'inverse des jeux comme Quake 3 ou Counter-Strike, Duke Nukem 3D n'a malheureusement prévu aucun système pour créer et rejoindre des parties de manière intuitive. Il faut utiliser une ligne de commande dont la syntaxe n'est certes pas très compliquée, mais très gênant à la longue. Et surtout, il faut que tout les joueurs se connaissent et se mettent d'accord à l'avance car il n'y a a priori aucun moyen de savoir que quelqu'un attend à l'autre bout du monde un partenaire pour jouer.

Heureusement, il existe un projet nommé DukesterX qui répond exactement à ce besoin. Il est developpé par Addfaz et permet de créer des serveurs publics ou privés d'un côté, puis de les lister et de les rejoindre de l'autre. C'est l'outil idéal pour faire la connaissance d'autres dukers et trouver des gens avec qui jouer à toute heure du jour ou de la nuit !

Malheureusement, DukesterX ne fonctionne que sous Windows et son auteur n'a jusqu'à maintenant pas souhaité partager les sources de son programme. Il n'existe à l'heure actuelle aucun équivalent sous linux (il faudrait tester si ça passe avec wine).

Comment installer DukesterX ?

Sur le site de DukesterX, téléchargez la version « FULL » et installez là en double cliquant dessus.

Si pendant l'exécution vous obtenez des messages d'erreurs, ils vous manquent peut-être certaines librairies. Essayez de faire marcher le programme en installant les « VB Runtimes » et les « ActiveX Controls » qui sont proposés sur le même site dans la section « Prerequisites ». Sinon, notez le nom du fichier manquant et téléchargez-le à l'aide de Google. Ensuite il faut le placer dans le répertoire « C:\WINDOWS\SYSTEM32\ ».

L'utilisation de DukesterX est expliquée en détail dans la section suivante : Q & R 6, « Jouer en LAN ou par internet ».

6. Jouer en LAN ou par internet

De quoi ai-je besoin pour jouer en réseau ?
Qu'est ce que le ping ?
Qu'est-ce qu'une adresse IP ? Un numéro de port réseau ?
Comment héberger ou rejoindre une partie avec DukesterX ?
Votre question ici ?

De quoi ai-je besoin pour jouer en réseau ?

Vous aurez évidemment besoin d'un PC sous Windows XP ou Linux. Les fichiers exécutables des versions originales sont maintenant remplacés par des versions non-officielles qui fonctionnent mieux : voir Q & R 2, « Versions non-officielles ». Pour ce qui est du GRP, il est possible de jouer avec n'importe lequel tant que tous les joueurs utilisent le même. Mais en fait tout le monde utilise celui de l'Atomic Edition, alors il vous le faut si vous ne voulez pas jouer tout seul ! Vous devrez aussi disposer d'une connection internet rapide, de type ADSL, et d'un bon ping par rapport à la situation géographique de vos concurrents (voir Qu'est ce que le ping ?). Enfin, ce n'est pas obligatoire mais en général on utilise toujours le launcher DukesterX, et les ports JFDuke, Rancidmeat ou xDuke au choix.

Qu'est ce que le ping ?

Le ping, c'est le délai que met un paquet d'information pour se déplacer de chez vous jusqu'à votre destinataire. Je ne saurais pas dire exactement ce que c'est qu'un bon ping pour pouvoir jouer en réseau, mais à titre d'exemple si j'habite en France et que je souhaite jouer avec les USA, ça peut encore aller car j'ai un ping d'environ 100 ms. Mais il m'est impossible de jouer avec la Nouvelle-Calédonie car ils n'ont pas d'infrastructures de télécommunications avec l'internationale permettant d'obtenir un ping inférieur à 800 ms : c'est beaucoup trop !

Qu'est-ce qu'une adresse IP ? Un numéro de port réseau ?

Nous avons déjà vu ce qu'était un port du jeu, par exemple JFDuke3D ou Rancidmeat. Eh bien il existe quelque chose d'autre qui n'a absolument rien à voir mais qui utilise aussi le terme « port ». Il s'agit des ports réseaux et pour simplifier, il faut savoir que pour communiquer en réseau avec d'autres ordinateurs, une machine est identifiée par une adresse IP. Tout les ordinateurs connectés en réseau local ou sur internet en ont au moins une. L'adresse IP correspond en gros à l'adresse postale d'une maison. Cette maison est remplie de monde qui passe son temps à entrer / sortir, et il y a beaucoup de portes pour éviter que les gens se bousculent entre eux. De même que l'adresse IP correspond à l'adresse postale, un port réseau correspond à un porte d'entrée / sortie. Heureusement pour nous, il est beaucoup plus facile de donner l'adresse d'un ordinateur sur internet que celle d'une maison quelque part dans le monde : une adresse IP est une suite de quatre entiers compris entre 0 et 255 et séparés par des points (par exemple 192.168.0.1) et le port réseau est un nombre entier compris entre 0 et 65535. Si vous avez bien suivi, vous aurez compris que pour jouer en réseau il faut utiliser une adresse IP et un numéro de port. Chaque programme qui va devoir communiquer utilisera un couple unique d'adresse IP / numéro de port. L'adresse IP sera celle que votre fournisseur d'aççès à internet vous attribue et le numéro de port, bien que vous puissiez le modifier si vous le souhaitez, sera par défaut 8501 pour Dukesterx et 8500 pour le jeu Duke Nukem 3D (sauf la version JFDuke qui utilise le port 23513 par défaut).

Comment héberger ou rejoindre une partie avec DukesterX ?

Après avoir installé et lancer DukesterX :

  • Entrez votre nom dans le champ « Your Name ». Choisissez dans « Duke Port » entre Rancidmeat (si vous voulez jouer avec Rancidmeat ou xDuke) et JFDuke3D. Pour jouer avec d'autres personnes, tous les joueurs doivent utiliser le même port dans sa même version, mais aussi le même GRP (ainsi que les mêmes fichiers CON).

  • Si vous voulez héberger la partie (être le serveur), cliquez sur « Host ». Une nouvelle fenêtre apparait. Pour que les autres joueurs puissent voir votre serveur, vous devez le rendre public. Pour cela donnez-lui un nom en tapant « /servername=blablabla » puis cliquez sur « Make Public ». Cliquez ensuite sur « Game Options », choisissez une map, configurez le jeu à votre aise...

  • Si vous voulez rejoindre un serveur public, cliquez sur « Join ». Le programme vérifie la liste des serveurs publics et l'affiche. Double-cliquez sur le serveur de votre choix, une petite fenêtre apparait, cliquer sur « OK » pour valider. Si vous voulez rejoindre un serveur privé qui n'apparaît pas dans la liste, cliquez sur « Join Manually » et rentrer l'adresse IP de votre ami ainsi que le numéro de port réseau de son DukesterX (par défaut 8501).

  • Avant le lancement d'une partie, les joueurs connectés au serveur peuvent discuter entre eux en écrivant dans la barre située en bas de la fenêtre. Cette barre sert aussi à entrer des commandes, comme « /mycheck » pour calculer les checksums de vos fichiers GRP et CON. Il faut taper ensuite « /check » pour vérifier la validité de vos fichiers par rapport à ceux du serveur. Le serveur peut taper « /forcecheck » pour forcer tout le monde à faire un « /mycheck » puis à lui envoyer les résultats : il vérifie alors lui-même les checksums reçus et voit tout de suite si quelqu'un n'utilise pas les mêmes fichiers que lui.

Votre question ici ?

Cette section est en cours d'élaboration... Ecrivez-moi si vous avez une question à poser !

7. Liens et informations diverses

Qui sont les auteurs de cette FAQ ?
Une sélection de liens interessants
Je n'ai pas trouvé la réponse à ma question...

Qui sont les auteurs de cette FAQ ?

La FAQ est écrite par SoULiAne. Je tiens à remercier particulièrement Sothiro pour ses remarques pertinentes ainsi que se relecture attentive.

Mais aussi :

  • 3D Realms pour avoir développé et libéré le code de Duke Nukem 3D ;

  • Tous les développeurs et mainteneurs de projets, la communauté d'infographistes derrière le HRP ;

  • Parkar, Plagman et TerminX pour leur soutien.

Une sélection de liens interessants

Voici une liste de liens concernant tous les projets qui ont été présentés ici, et d'autres choses encore :

Et pour la plupart de vos téléchargement : le dukeguide repository !

Je n'ai pas trouvé la réponse à ma question...

Ecrivez-moi ! Je serais ravi d'ajouter votre question à cette FAQ, et j'essaierai d'y répondre du mieux que je pourrai. Mon désir est vraiment que cette FAQ soit utile et qu'elle réponde à toutes les questions qu'on pourrait se poser concernant l'installation, la configuration et l'utilisation du jeu, surtout en réseau. N'hésitez donc pas à m'écrire sur cette adresse, en remplaçant « _ » par « @ » : .