Portages de Doom

Un article de Wikipédia, l'encyclopédie libre.
(Redirigé depuis Ports de Doom)
Aller à : navigation, rechercher
Capture d’écran de Freedoom, utilisé avec le portage PrBoom.

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.

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. 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 d'une bibliothèque propriétaire pour les sons de la version DOS[1].

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 | modifier le code]

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 | modifier le code]

Compatibles IBM PC[modifier | modifier le code]

Vanilla Doom[modifier | modifier le code]

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 | modifier le code]

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[5], 3DGE[6] (son héritier appelé également Hyper3DGE) et Doom Legacy[7] (sous Windows et Linux).

Chocolate Doom et dérivés[modifier | modifier le code]

Chocolate Doom[8] 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[9] est un fork offrant des outils d'analyse de WAD, afin de déceler d'éventuels problèmes de compatibilité.

Crispy Doom[10] et Doom Retro[11] sont des forks créés en 2014, l'année des 20 ans de Doom, proposant chacun leurs améliorations au moteur. Les deux ports 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.

Strife: Veteran Edition[12] 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.

Boom et dérivés[modifier | modifier le code]

Boom est créé par la TeamTNT, par ailleurs développeurs de l'extension officielle Final Doom[13]. 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 ports, 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[14], ce dernier étant encore actualisé régulièrement.

PrBoom[15] 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+[16] 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[17], est partiellement basée sur PrBoom[18].

Vavoom[modifier | modifier le code]

Vavoom[19] est un portage apportant de très nombreuses améliorations, notamment graphiques. Il tire une partie de son code du jeu Quake.

ZDoom et dérivés[modifier | modifier le code]

ZDoom[20] est un portage très populaire, apportant de très nombreuses améliorations de gameplay et assurant une compatibilité avec d'autres portages plus anciens, notamment Boom et Doom Legacy. Il a de très nombreux dérivés dont GZDoom[21] qui apporte de nombreuses améliorations graphiques OpenGL, QZDoom[22] qui optimise le rendu graphique en mode logiciel, et plusieurs portages dédiés au jeu en ligne, comme Odamex[23], ZDaemon[24] ou Zandronum[25] (héritier de Skulltag[26]).

ZDoom est utilisé comme moteur pour plusieurs jeux indépendants de Doom, et inclus dans les fichiers de ces jeux : Chex Quest 3[27], Action Doom 2: Urban Brawl[28], Harmony[29] et The Adventures of Square[30].

Le 7 janvier 2017, Randi Heit annonce la fin de ZDoom après 20 ans de développement (depuis la sortie du source de Doom en 1997) au profit de QZDoom et de GZDoom qui assureront donc la continuité.

Le 29 avril 2017, GZDoom fusionne un ensemble d'améliorations en provenance de QZDoom. Avec cette fusion, QZDoom devient à présent un port expérimental pour tester et affiner de nouvelles fonctionnalités ambitieuses avant leurs éventuelles inclusions dans GZDoom.

Doomsday Engine et dérivés[modifier | modifier le code]

Autrefois appelé JDoom/JHexen/JHeretic (« J » pour Jaakko, prénom de l'auteur), le Doomsday Engine[31] 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[32] (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[33]'[34].

Autres Systèmes[modifier | modifier le code]

Doom a été porté sur 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[35].

Consoles portables[modifier | modifier le code]

À 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[36], et même sur le système Digita OS pour appareils photos.

Autres portages[modifier | modifier le code]

  • Terminal Doom[37] 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[38] est une version de Doom tournant sous Adobe Flash.
  • Parmi les différents projets de faire tourner Doom en Java, le projet MochaDoom[39] est encore actif.

Notes et références[modifier | modifier le code]

  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 d'EDGE.
  6. Site de 3DGE.
  7. Site de Doom Legacy.
  8. Site de Chocolate Doom
  9. Site de Chocorenderlimits
  10. Information sur Crispy Doom
  11. Site officiel de Doom Retro
  12. The Original Strife: Veteran Edition : page sur Steam.
  13. Page dédiée à Final Doom sur le site de la TeamTNT.
  14. Wiki du moteur Eternity Engine.
  15. Site officiel de PrBoom.
  16. Site officiel de PrBoom+.
  17. Site officiel de Doom Classic.
  18. Analyse du code source de Doom Classic.
  19. Site officiel de Vavoom.
  20. Site de ZDoom.
  21. Site officiel de GZDoom.
  22. Site officiel de QZDoom.
  23. Site officiel d'Odamex.
  24. Site officiel de Zdaemon.
  25. Site officiel de Zandronum.
  26. Site officiel de Skulltag.
  27. (en) Site officiel de Chex Quest 3 : http://www.chucktropolis.com/gamers.htm.
  28. (en) Site officiel de Action Doom 2: Urban Brawl : http://action.mancubus.net/index.htm.
  29. (en) Site officiel de Harmony : http://rabotik.nl/harmony.htm.
  30. (en) Site officiel de The Adventures of Square : http://adventuresofsquare.com/.
  31. (en) Site du Doomsday Engine.
  32. (en) Site de Risen3D.
  33. Doomsday: Compatibilité avec Boom
  34. Objectif de compatibilité de Doomsday avec Boom.
  35. (en) Démonstration de Doom pour ZX Spectrum 128K.
  36. Site de DSDoom.
  37. (en) Page dédiée à Terminal Doom.
  38. Doom Triple Pack.
  39. (en) Site officiel de Mocha Doom.

Voir aussi[modifier | modifier le code]

Articles connexes[modifier | modifier le code]

Liens externes[modifier | modifier le code]