Portages de Doom

Les portages de  («  » en anglais) sont le fruit d'un portage informatique ( ou  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 , plutôt qu'aux versions officielles produites par id Software ou les compagnies affiliées.

Le code source du  est rendu public en 1997. Bien que  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 
Doom, ou un jeu compatible, nécessite pour être joué :
 du moteur (Doom Engine ou un portage)
 des données de jeu, sous format Where's All the Data (WAD), incluant les éléments graphiques, les cartes, etc.
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  ; c'est par exemple le cas de Boom. ZDoom et ses dérivés sont compatibles avec pratiquement tous les IWAD, 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

Compatibles IBM PC

Vanilla Doom 
Ce n'est pas un portage de Doom mais simplement le jeu original ; on entend par le terme « vanilla » 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 
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, mais également d'autres portages encore actualisés à ce jour comme EDGE et 3DGE (voir plus bas) et Doom Legacy (sous Windows et Linux).

Boom et dérivés 
Boom est créé par la TeamTNT, par ailleurs développeurs de l'extension officielle Final Doom. 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, ce dernier étant encore actualisé régulièrement.
 Woof!, originellement paru en 2019, modernise et améliore WinMBF, la version de MBF pour systèmes Windows parue en 2004.

PrBoom 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+ 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, est partiellement basée sur PrBoom.

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

Crispy Doom et Doom Retro 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 :
  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.
  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 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.

 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 
Vavoom est un portage apportant de très nombreuses améliorations, notamment graphiques. Il tire une partie de son code du jeu Quake. K8Vavoom est un fork de Vavoom reprenant le flambeau de ce dernier.

EDGE 
EDGE (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 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 
ZDoom 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 avec des améliorations graphiques OpenGL, QZDoom optimisant le rendu graphique en mode logiciel, et plusieurs portages dédiés au jeu en ligne comme Odamex, ZDaemon ou Zandronum (héritier de Skulltag).

ZDoom fut utilisé comme moteur pour plusieurs jeux indépendants de Doom, et inclus dans les fichiers de ces jeux : Chex Quest 3, ,  et .

Le , son développeur Randi Heit annonce la fin de  après 20 ans de développement (depuis la sortie du source de  en 1997); GZDoom devient la branche principale du projet et QZDoom devient sa branche expérimentale (depuis le ). Enfin, LZDoom 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 
Autrefois appelé JDoom/JHexen/JHeretic (« J » pour Jaakko, prénom de l'auteur), le  est un portage supprimant de nombreuses limitations du , 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 , 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 (au départ surnommé ), qui vise à réconcilier le  avec les fonctionnalités de . Toutefois le code étant en constante progression, les prochaines versions du moteur seront de plus en plus compatibles avec les spécifications de Boom.

Autres systèmes 
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.

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

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

Schéma généalogique

Notes et références

Voir aussi

Articles connexes 
 Portage informatique
 Doom

Liens externes 
  Panorama des principaux portages sur le site Doom4ever
  Comparaison des principaux portages sur Doom Wiki
   Doomworld - Source ports

Jeu de tir à la première personne
Jeu vidéo Doom
Logiciel propriétaire devenu libre