Portages de Doom

liste d'un projet Wikimedia
(Redirigé depuis Ports de Doom)

Les portages de Doom (« Doom source ports » en anglais) sont le fruit d'un portage informatique (porting ou source port en anglais) du Doom Engine, le moteur 3D utilisé par le jeu vidéo Doom.

Capture d’écran de Freedoom, utilisé avec le portage PrBoom.

Ce terme s'applique souvent aux modifications faites par les fans de Doom, plutôt qu'aux versions officielles produites par id Software ou les compagnies affiliées.

Le code source du Doom Engine est rendu public en 1997[1]. Bien que Doom soit originellement créé pour MS-DOS, cette source rendue publique était celle de la version ultérieure pour Linux. La raison était la présence, dans la version DOS, d'une bibliothèque propriétaire pour les sons.

Le but originel des portages était de permettre une adaptation à plusieurs plates-formes, mais peu après la publication de la source de Doom, les programmeurs se mirent à corriger des bugs existants et à rajouter des fonctions dans leurs portages, notamment du code pour améliorer le jeu et altérer le gameplay.

Le code source fut originellement publié sous une licence propriétaire, interdisant l'usage commercial et n'exigeant pas que les développeurs fournissent le code source de leurs modifications. En 1999 une licence publique générale GNU (GNU GPL) fut adoptée, à la suite des demandes de la communauté.

Utilisation modifier

Doom, ou un jeu compatible, nécessite pour être joué :

Il est donc nécessaire pour faire fonctionner un portage de Doom de disposer d'un fichier WAD contenant les données de base du jeu. Celui-ci peut être récupéré en acquérant une version officielle d'un jeu compatible, ou alors être remplacé par des alternatives gratuites, comme la version shareware de Doom, ou libres, comme Freedoom.

Les WAD de base sont surnommés IWAD (« internal WAD »), les autres WAD (à combiner avec un IWAD) étant surnommés PWAD (« patch WAD »). Certains portages ne fonctionnent qu'avec les IWAD de Doom, Doom II ou Freedoom ; c'est par exemple le cas de Boom. ZDoom et ses dérivés sont compatibles avec pratiquement tous les IWAD[2], et certains IWAD sont développés spécifiquement pour ZDoom, comme Action Doom II - Urban Brawl et Harmony. Les autres portages n'assurent qu'une compatibilité limitée avec les IWAD autres que Doom (Heretic, Hexen, Chex Quest, Strife, HACX, etc.). Par exemple, EDGE n'accepte que les IWAD de Doom et de HACX, tandis que Chocolate Doom ne fonctionne qu'avec les IWAD de Doom, Chex Quest et HACX.

Ordinateurs personnels modifier

Compatibles IBM PC modifier

Vanilla Doom modifier

Ce n'est pas un portage de Doom mais simplement le jeu original ; on entend par le terme « vanilla »[3] le jeu sans aucune retouche ni modification. Ce terme est apparu à la suite de la création des premiers portages du jeu, dans le but d'éviter d'éventuelles confusions.

DOSDoom et dérivés modifier

DOSDoom est le tout premier portage pour DOS, construit à partir de la source Linux comme expliqué plus haut. Il est la base du développement de Boom[4], mais également d'autres portages encore actualisés à ce jour comme EDGE et 3DGE (voir plus bas) et Doom Legacy[5] (sous Windows et Linux).

Boom et dérivés modifier

Boom est créé par la TeamTNT, par ailleurs développeurs de l'extension officielle Final Doom[6]. Boom élimine des limitations du Doom Engine, et rajoute de nombreuses possibilités comme les tapis roulants, les téléporteurs silencieux, etc. Ce moteur est devenu une référence, au point que la plupart des extensions pour le jeu, ou les autres portages, se définissent comme étant « Boom-compatible » ou non. Par exemple, la version libre alternative de Doom, Freedoom, ne peut normalement fonctionner qu'avec un portage Boom-compatible.

MBF (Marine's Best Friend) est un successeur direct de Boom, qui introduit notamment la possibilité de monstres amicaux (des chiens).

  • Ses successeurs sont SMMU (Smack My Marine Up) et Eternity Engine[7], ce dernier étant encore actualisé régulièrement.
  • Woof![8], originellement paru en 2019, modernise et améliore WinMBF, la version de MBF pour systèmes Windows parue en 2004.

PrBoom[9] est un autre dérivé de Boom, cherchant un maximum de compatibilité avec le Doom Engine tout en apportant quelques améliorations à Boom, comme l'OpenGL. Il intègre également plusieurs modifications issues de MBF, comme les chiens amis. Son successeur PrBoom+[10] apporte quelques améliorations supplémentaires : possibilité de regarder vers le haut et le bas, etc.

La version officielle de Doom pour iPhone, Doom Classic[11], est partiellement basée sur PrBoom[12].

Chocolate Doom et dérivés modifier

Chocolate Doom[13] est un portage qui cherche à reproduire le plus fidèlement possible le comportement du Doom Engine originel, jusque dans ses limites et même ses bugs, d'avoir un code source optimisé et propre, et d'assurer un fonctionnement sur le maximum de plates-formes. Conformément à son cahier des charges, il n'est absolument pas Boom-compatible. Il apporte cependant des améliorations mineures au logiciel d'origine, surtout d'ordre ergonomique : usage de tous types de clavier (autres que QWERTY), support direct des extensions de type DeHackEd, etc.

Chocorenderlimits[14] est un fork offrant des outils d'analyse de WAD, afin de déceler d'éventuels problèmes de compatibilité.

Crispy Doom[15] et Doom Retro[16] sont des forks créés en 2014, l'année des 20 ans de Doom, proposant chacun leurs améliorations au moteur. Les deux logiciels proposent une résolution plus élevée, de nouveaux effets visuels et des améliorations des limites du moteur. Il existe cependant plusieurs différences dans leurs philosophies de développement :

  • Crispy Doom propose plusieurs changements optionnels de gameplay (visée laser, saut, mouvement vertical…), mais en n'activant pas ces options, la compatibilité technique est totale avec Chocolate Doom et le jeu originel.
  • Doom Retro cherche une fidélité au gameplay d'origine tout en proposant plus de modifications graphiques (sang sur les murs, etc.) et une compatibilité avec plus de matériel (manette de jeu, Xbox 360, etc.) ; en revanche il ne recherche pas spécifiquement de stricte compatibilité technique (paramétrages, sauvegardes, démonstration, multijoueurs, etc.) avec Chocolate Doom ou le jeu originel, et vise à être pleinement Boom-compatible.

Marshmallow Doom[17] est un fork de Crispy Doom rajoutant des bots et autres options multijoueurs, la possibilité de rajouter des ennemis à la volée, et autres altérations du gameplay.

Strife: Veteran Edition[18] est la réédition en 2014 du jeu Strife, utilisant pour moteur un dérivé de Chocolate Strife, lui-même variante de Chocolate Doom.

Vavoom modifier

Vavoom[19] est un portage apportant de très nombreuses améliorations, notamment graphiques. Il tire une partie de son code du jeu Quake. K8Vavoom[20] est un fork de Vavoom reprenant le flambeau de ce dernier.

EDGE modifier

EDGE[21],[22] (Enhanced Doom Gaming Engine) est un projet collaboratif Open Source basé sur le code source de Doom . EDGE est dérivé d'un projet précédent appelé DOSDoom et a commencé son développement au début de 1999 avant la publication de DOSDoom 0.65. EDGE est parfois appelé 3DGE ou hyper3DGE en raison du développement de longue date de la fourche 3DGE, initialement publiée le . La première version officielle d'EDGE a été publiée le . Depuis l'équipe publie des versions de développement régulièrement. EDGE a été compilé pour de nombreux systèmes d'exploitation dont Windows, Linux, BeOS, Raspberry PI, Sega Dreamcast OS et Mac OS X. La caractéristique la plus attrayante d’EDGE est son système DDF, issu de DOSDoom. DDF décrit tout le comportement du jeu dans les fichiers texte externes au fichier exécutable. En conséquence, il est populaire parmi les modeurs qui utilisent l’extensibilité pour ajouter de nombreuses nouvelles armes et fonctionnalités avec beaucoup moins de limites que dans les autres portages de Doom. Un nouveau fork de Edge voit le jour en 2021, nommé Edge-Classic[23] il s'agit d'un port de Doom qui fournit des fonctionnalités avancées, une facilité de modding ainsi que des visuels attrayants tout en gardant des exigences matérielles très modestes. Il s'agit d'un renouveau de la base de code de Edge 1.35 pour les systèmes modernes.

ZDoom et dérivés modifier

ZDoom[24] apporta de très nombreuses améliorations de gameplay et assurant une compatibilité avec d'autres portages plus anciens, notamment Boom et Doom Legacy. Il eut plusieurs dérivés dont GZDoom[25] avec des améliorations graphiques OpenGL, QZDoom[26] optimisant le rendu graphique en mode logiciel, et plusieurs portages dédiés au jeu en ligne comme Odamex[27], ZDaemon[28] ou Zandronum[29] (héritier de Skulltag[30]).

ZDoom fut utilisé comme moteur pour plusieurs jeux indépendants de Doom, et inclus dans les fichiers de ces jeux : Chex Quest 3[31], Action Doom 2: Urban Brawl[32], Harmony[33] et The Adventures of Square[34].

Le [35], son développeur Randi Heit annonce la fin de ZDoom après 20 ans de développement (depuis la sortie du source de Doom en 1997); GZDoom devient la branche principale du projet et QZDoom devient sa branche expérimentale (depuis le ). Enfin, LZDoom[36] est basé sur une ancienne version de GZDoom, il ne fournit pas toutes les fonctionnalités actuellement prises en charge par GZDoom mais il peut fonctionner sur du matériel plus ancien.

Doomsday Engine et dérivés modifier

Autrefois appelé JDoom/JHexen/JHeretic (« J » pour Jaakko, prénom de l'auteur), le Doomsday Engine[37] est un portage supprimant de nombreuses limitations du Doom Engine, et permettant de considérables améliorations graphiques, comme l'intégration de modèles en 3D et l'OpenGL. Il s'agit du portage le plus abouti techniquement, mais également celui s'éloignant le plus de Vanilla Doom, bien qu'il soit possible de jouer pratiquement sans aucun effet graphique supplémentaire.

En revanche, il n'est pas encore Boom-compatible ; c'est la raison pour laquelle fut créé le portage Risen3D[38] (au départ surnommé Boomsday Engine), qui vise à réconcilier le Doomsday Engine avec les fonctionnalités de Boom. Toutefois le code étant en constante progression, les prochaines versions du moteur seront de plus en plus compatibles avec les spécifications de Boom[39],[40].

Autres systèmes modifier

Doom et ses portages ont été adaptés à de nombreux autres systèmes, comme MacOS, RISC OS ou BeOS, mais également sur des systèmes des années 1980 comme Commodore VIC-20 ou ZX Spectrum[41].

Consoles portables modifier

À côté de l'adaptation officielle Doom Classic sur iPhone, d'autres adaptations non officielles ont été réalisées sur différents types de téléphones, sur des consoles comme la Nintendo DS[42], et même sur le système Digita OS pour appareils photos.

Autres portages modifier

  • Terminal Doom[43] tourne à l'intérieur de Doom 3, pour jouer à Doom sur les ordinateurs manipulés par le protagoniste du jeu Doom 3.
  • Le Doom Triple Pack[44] est une version de Doom tournant sous Adobe Flash.
  • Parmi les différents projets de faire tourner Doom en Java, le projet MochaDoom[45] est encore actif.

Schéma généalogique modifier

 
Image de la généalogie simplifiée des portages de Doom.

Notes et références modifier

  1. (en) [1] Code source de Doom publié le 23 décembre 1997 sur le site idsoftware.com.
  2. (en) Liste des IWAD utilisables par ZDoom.
  3. Vanilla Doom
  4. Site de Boom.
  5. Site de Doom Legacy.
  6. Page dédiée à Final Doom sur le site de la TeamTNT.
  7. Wiki du moteur Eternity Engine.
  8. Site officiel de Woof.
  9. Site officiel de PrBoom.
  10. Site officiel de PrBoom+.
  11. Site officiel de Doom Classic.
  12. Analyse du code source de Doom Classic.
  13. Site de Chocolate Doom
  14. Site de Chocorenderlimits « Copie archivée » (version du sur Internet Archive)
  15. Information sur Crispy Doom
  16. Site officiel de Doom Retro
  17. (en) « Marshmallow Doom »
  18. The Original Strife: Veteran Edition : page sur Steam.
  19. Site officiel de Vavoom.
  20. Site officiel de K8Vavoom.
  21. Site officiel de EDGE branche v1.
  22. Site officiel de EDGE branche v2 (ex 3DGE).
  23. Site officiel de EDGE Classic.
  24. Site de ZDoom.
  25. Site officiel de GZDoom.
  26. Site officiel de QZDoom.
  27. Site officiel d'Odamex.
  28. Site officiel de Zdaemon.
  29. Site officiel de Zandronum.
  30. Site officiel de Skulltag.
  31. (en) Site officiel de Chex Quest 3 : http://www.chucktropolis.com/gamers.htm.
  32. (en) Site officiel de Action Doom 2: Urban Brawl : http://action.mancubus.net/index.htm.
  33. (en) Site officiel de Harmony : http://rabotik.nl/harmony.htm.
  34. (en) Site officiel de The Adventures of Square : http://adventuresofsquare.com/.
  35. Annonce de l'abandon de ZDoom
  36. Site officiel de LZDoom.
  37. (en) Site du Doomsday Engine.
  38. (en) Site de Risen3D.
  39. Doomsday: Compatibilité avec Boom
  40. Objectif de compatibilité de Doomsday avec Boom.
  41. (en) Démonstration de Doom pour ZX Spectrum 128K.
  42. Site de DSDoom.
  43. (en) Page dédiée à Terminal Doom.
  44. Doom Triple Pack.
  45. (en) Site officiel de Mocha Doom.

Voir aussi modifier

Articles connexes modifier

Liens externes modifier