PrBoom+ - Le Bottin des Jeux Linux

PrBoom+

🗃️ Specifications

📰 Title: PrBoom+ 🕹️ / 🛠️ Type: Tool
🗃️ Genre: Adventure & Action 🚦 Status: 06. Tested & Working
🏷️ Category: Adventure & Action ➤ FPS ➤ Fantasy & Sci-fi ➤ Doom 1&2, Hexen 1, Heretic, Strife 🌍️ Browser version:
🔖 Tags: FPS; 3D engine; id Tech 1 engine; libretro compatible; Multi-platform; Doom; Flagship 📦️ Package Name: prboom-plus
🐣️ Approx. start: 2000-05-01 📦️ Arch: ✓
🐓️ Latest: 2021-07-27 🍥️ On Deb repo: ✓
📍️ Version: Latest : 2.6um / Dev. : f5ba5a3 📦️ Deb: ✓
🏛️ License type: FOSS/Libre 📦️ RPM: ✓
🏛️ License: GPL-2 📦️ AppImage:
🏝️ Perspective: First person 📦️ Snap: ✓
👁️ Visual: 3D 📦️ Flatpak/Athenaeum:
⏱️ Pacing: Real Time ⚙️ Generic bin.:
👫️ Played: Single & Multi 📄️ Source: ✓
🎖️ This record: 5 stars 📱️ PDA support:
🎀️ Game design: 5 stars 👫️ Contrib.: Goupil & Louis
🎰️ ID: 12369 🐛️ Created: 2010-08-20
🐜️ Updated: 2021-12-26

📖️ Summary

[fr]: Un port source libre et multi-plateforme du moteur de Doom, exclusivement compatible avec Doom 1 et 2 mettant l'accent sur les fonctionnalités en préservant la compatibilité. Il apporte notamment le support d'OpenGL, des synthétiseurs MIDI, de MUSINFO, des formats Ogg et MP3, des textures et sprites haute résolution, de la vue vers le haut / le bas, du changement de vitesse de jeu, d'une caméra suiveuse, des tapis roulants, des téléporteurs silencieux, des monstres amicaux (chiens), des effets de friction, et beaucoup d'améliorations (sur l'Heads up, les cartes, les menus, les contrôles, ...). [en]: A libre, multi-platform, Doom source port, only compatible with Doom 1 & 2, emphasizing features while preserving compatibility. It includes support for OpenGL, MIDI synthesizers, MUSINFO, Ogg and MP3 formats, high resolution for textures and sprites, up / down view, game speed change, chasecam for demo playbacks, conveyor effects, silent teleporters, friendly monsters (dogs), friction effects, and many other improvements (heads up, maps, menus, controls ...).

🚦 Status

💡 Lights on: ✓ 🤔️ Why ?: Major update
Major improvement (of this entry): Nearly published:
Not used: Awaiting publication: ✓

🎥️ Videos

🤓️ Présentation des utilisateurs / Users presents :


💎 Fonctionnalités / Features : Stress test for PrBoom+


🕹️ Gameplay :


🎮️ Quelques exemples / Some examples (Mods) : (Some interesting wads for PrBoom +)


🐧 Linux joue / Linux plays : Kris Occhipinti, De l'Attaque du Manchot [fr],

🕸️ Links

🏡️ Website & videos
[Homepage] [Dev site 1 2] [Features/About] [Screenshots] [Videos ft(202xxx) t(202xxx) ts(202xxx) gd(202xxx) gu(202xxx) id(202xxx) r(202xxx) lp(202xxx) lp[fr](202xxx) ht(202xxx) d d d g(202xxx) g(202xxx) g(202xxx) g(202xxx) g[fr](202xxx) g[de](202xxx) g[ru](202xxx) g[pl](202xxx) g[cz](202xxx) g[sp](202xxx) g[pt](202xxx) g[it](202xxx) g[tr](202xxx)] [WIKI] [FAQ] [RSS] [Changelog 1 2 3]

💵 Commercial : (empty)

🍩️ Resources
• dsda-doom (a fork of prboom+ with extra tooling for demo recording and playback, with a focus on speedrunning) : [dsda-doom]
• Port of this emulator to libretro : [Libretro (PrBoom)]
• Maps :
- Resurgence (a 32 maps megawad project that requires Boom-compatible source ports to play), by Josh Sealy with Guest Mapper Darkwave0000 : [DoomWorld] [video]
- Mogor's Winter (a small wad for boom, 11 maps. Prboom-plus with "-complevel 9" is recommended), by Shadowman : [DoomWorld] [video]
- Estranged (a 32 level megawad, cleanly detailed levels with a variety of environments), by Foodles : [DoomWorld] [video]
🛠️ Technical informations
[Open Hub] [Doom Wiki] [Wikia]

🐘 Social
Devs (PrBoom Team 1 2 [en]) : [Site 1 2 3] [mastodon] [twitter] [PeerTube] [YouTube] [Interview 1 2]
Devs (Andrey Budko (e6y, Андрей Будько) [en]) : [Site 1 2] [Forums] [twitter] [YouTube] [Interview 1 2]
Devs (DOSDoom Team [fr] [en]) : [Site 1 2] [mastodon] [twitter] [PeerTube] [YouTube] [Interview 1 2]
(Doom) Devs (id Software [fr] [en]) : [Site 1 2] [MobyGames] [twitter] [Facebook] [YouTube] [Interviews (J. Carmack) (2019) (2016) (J. Romero, 2018) (Others)]
Game : [Blog] [Forums] [twitter] [YouTube]

🐝️ Related
[Wikipedia (Boom et dérivés / Boom and derivatives) [fr] [en] [de]]
[Wikipedia (Doom (série)) [fr] [en] [de]]
[Wikipedia (Doom) [fr] [en] [de]]
[archlinux wiki]

📦️ Misc. repositories
[Debian] [Repology] [pkgs.org] [archlinux] [Snap] [PortableLinuxGames]

🕵️ Reviews
[OS Reviews (Comparison between Nexuiz (89%), PrBoom (65%) and OpenArena(86%)]

🕊️ Source of this Entry: -

🐘 Social Networking Update (on Mastodon)

🛠️ Title: PrBoom+
🦊️ What's: A libre Doom source port, only compatible with Doom 1&2, emphasizing features while preserving compatibility
🏡️ http://prboom-plus.sourceforge.net
🐣️ https://github.com/coelckers/prboom-plus
🔖 #linux #flagship #game #fps #doom #libre #deb #rpm #arch #snap
📖 Our entry: https://bit.ly/bottinLightOn

🥁️ Update: 2.6um
⚗️ Major update
📌️ Changes: https://github.com/coelckers/prboom-plus/releases/tag/v2.6um
🐘 From:
🕵️ http://youtu.be/9scf1ISvYZs
🕹️ http://youtu.be/t_WYMZWgZV8

📕 Description [fr]

Un moteur compatible et amélioré des jeux Doom 1 et Doom 2 (exclusivement), par Andrey Budko (e6y, Андрей Будько) / la PrBoom Team.

PrBoom+ (Proff Boom Plus) est un port source libre et multi-plateforme du moteur de Doom, exclusivement compatible avec Doom 1 et 2 mettant l'accent sur les fonctionnalités en préservant la compatibilité. Il apporte notamment le support d'OpenGL, des synthétiseurs MIDI, de MUSINFO, des formats Ogg et MP3, des textures et sprites haute résolution, de la vue vers le haut / le bas, du changement de vitesse de jeu, d'une caméra suiveuse, des tapis roulants, des téléporteurs silencieux, des monstres amicaux (chiens), des effets de friction, et beaucoup d'améliorations (sur l'Heads up, les cartes, les menus, les contrôles, ...).

• PrBoom+ est un fork du projet PrBoom (dans le Bottin, lui-même issu du moteur Boom (dérivé de DOSDoom) puis d'une fusion avec LxDoom et LsdlDoom).
• Un fork du source (voir la section "Resources" ci-dessus) le rend compatible avec libretro (pour plus de précision concernant l'application libreto, voir la fiche "Libretro (& RetroArch)"

Ressources et documentations disponibles : voir les fiches "Ressources - Doom 1&2, Heretic, Hexen 1, Strife" et "Freedoom".

Crédit image (lien ci-dessus) : Debian


PrBoom + est un port source de Doom développé à partir du projet original PrBoom par Andrey Budko ().

L'objectif du projet est d'étendre le port d'origine avec des fonctionnalités qui me sont nécessaires ou utiles ainsi qu'à tous ceux qui s'intéressent à mon travail.
Il est intéressant de noter que tous les changements que j'ai introduit ne rompent en rien la compatibilité de PrBoom avec les moteurs Doom / Doom2 originaux, et que vous pouvez avoir l'assurance que cela n'arrivera jamais à l'avenir puisque la compatibilité a une valeur aussi importante pour le projet PrBoom que pour moi.



🍥️ Debian:

Enhanced clone of the classic first-person shooter Doom

PrBoom+ is an enhanced source port of the classic 3D first-person shooter game Doom, first released by id Software in 1993. It uses the Simple Direct Media layer (SDL) library and features an optional OpenGL renderer. It is based on PrBoom, MBF and LxDoom, which in turn are based on TeamTNT's Boom, a freely available port of Doom for DOS.

In addition to PrBoom's features, PrBoom+ offers uncapped framerate, variable gamespeed, re-record, walkcam, chasecam, full mouselook, FOV, and other features without loss of compatibility with the original Doom.

PrBoom+ requires game data to run. Free game data is available in the freedoom package. Commercial game data can be packaged using game-data-packager. PrBoom+ supports all flavors of Doom, including The Ultimate Doom, Doom 2 and Final Doom as well as Chex(R) Quest, HacX, Freedoom: Phase 1 and Phase 2 and FreeDM.


🌍️ Wikipedia:

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, 3DGE (son héritier appelé également Hyper3DGE) 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 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, ce dernier étant encore actualisé régulièrement.

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.

📕 Description [en]

"A libre Doom source port, only compatible with Doom 1&2, emphasizing features while preserving compatibility" (Serge Le Tyrant, Le Bottin des Jeux Linux / The Linux Games Book).

PrBoom+ is a Doom source port developed from the original PrBoom project.

The target of the project is to extend the original port with features that are necessary or useful for me personally and to all those interested in my work. It is worth noting that all changes introduced by me in no way break PrBoom's compatibility with the original Doom/Doom2 engines, and it is possible to be confident this will never happen in the future since compatibility is as important a merit of PrBoom as it is to me.


🍥️ Debian:

Enhanced clone of the classic first-person shooter Doom

PrBoom+ is an enhanced source port of the classic 3D first-person shooter game Doom, first released by id Software in 1993. It uses the Simple Direct Media layer (SDL) library and features an optional OpenGL renderer. It is based on PrBoom, MBF and LxDoom, which in turn are based on TeamTNT's Boom, a freely available port of Doom for DOS.

In addition to PrBoom's features, PrBoom+ offers uncapped framerate, variable gamespeed, re-record, walkcam, chasecam, full mouselook, FOV, and other features without loss of compatibility with the original Doom.

PrBoom+ requires game data to run. Free game data is available in the freedoom package. Commercial game data can be packaged using game-data-packager. PrBoom+ supports all flavors of Doom, including The Ultimate Doom, Doom 2 and Final Doom as well as Chex(R) Quest, HacX, Freedoom: Phase 1 and Phase 2 and FreeDM.


DoomWiki (CC BY-SA 4.0 International) :

PrBoom+ (also PrBoom-plus) is a source port based on PrBoom. GLBoom+ is a common name for a build of PrBoom+ compiled with OpenGL support. It is developed by Andrey Budko (entryway).

PrBoom+ is based on the PrBoom 2.5.x line of development. It can currently be compiled in POSIX, Windows and Mac OS X environments. The current version is 2.5.1.4, released on 2016-01-10. The project saw its first developments in 2004, starting off as an unnamed PrBoom modification, but after gaining numerous additions over PrBoom it eventually adopted the separate PrBoom+ title in 2005.

In addition to all PrBoom features, PrBoom+ offers

• Chasecam for demo playbacks
• Changing the speed of the game in-game (for demo playback, recoding TAS demos, and for just playing at different speed)
• Automatic loading of WADs necessary for playback, chosen by demo name or by information present in demo file (if recorded with PrBoom+)
• Accurate Doom v1.2 emulation if needed during demo playback or requested by user
• Support for DeePBSP and ZDBSP extended nodes
• Support for the MUSINFO lump shared with Risen3D, ZDoom and GZDoom
• MIDI output with OPL emulation, FluidSynth, PortMidi, or SDL
• Ogg Vorbis and MP3 playback
• Speed optimisations for very large levels, compared to PrBoom
• Customizable HUD with the -PRBHUD- lump
• Video capture with the -viddump parameter (requires external programs)
• Support for jumping when not recording demos

OpenGL mode features

In addition to all aforementioned PrBoom+ features, in OpenGL mode PrBoom+ can also use:

• ZDoom-style high-resolution textures/flats/sprites (replacements located between HI_START and HI_END markers)
• Support for PNG and DDS formats for high-res textures
• GZDoom-style skyboxes through the GLDEFS lump (or its alias GLBDEFS)
• Optional animation blending for animated flats and textures, similar to ZDoomGL
• Optional free look (though aiming is not affected and autoaim behaves as if the line of sight remained horizontal)
• Details textures (also defined in GLDEFS lump)
• Optional textured automap

PrBoom

PrBoom, originally short for "Proff Boom", is a source port for Windows, Linux/POSIX, OpenVMS and Mac OS X based initially on Boom, but later merged with LxDoom and LsdlDoom. As a result of this merger, PrBoom is compatible with both Boom and MBF. It includes OpenGL features for the renderer (as GLBoom) as well as some enhancements over the engines it is based on, such as being able to handle levels with twice as many segs, vertices and sidedefs than usual. In addition to the code from its predecessors, it incorporates bits of code from the Eternity Engine, and PrBoom+.

PrBoom is currently maintained by Rob Young (RjY), with occasional contributions from Andrey Budko. Florian Schulze (Proff) and Colin Phipps (cph) (who accompanied Proff for the first few years after the merge with LxDoom), have retired from the PrBoom development team. Most development now occurs in PrBoom+ instead.

Unlike other source ports that concentrate on offering many new game features or changes, such as ZDoom, EDGE and the Eternity Engine, PrBoom aims to act as a stable port of the more established or traditional engines.

PrBoom uses the SDL library to abstract away operating system or platform specifics. As a result it supports a very large variety of platforms In addition to the PC, it has been compiled for the GP2X and various Mac models, among others. The source port, packaged with Freedoom, is included in the Fedora RPM software repository.

Compatibility modes and settings

PrBoom supports various of compatibility settings to adjust its behavior, much like those initially implemented for MBF. In addition to individual settings for each difference in behavior, it allows the user to set compatibility levels to behave like earlier versions and modifications of the Doom engine. With the compatibility levels PrBoom may provide almost flawless compatibility with regular demos, as well as those recorded with Boom engines.

To change compatibility levels, the cheat code tntcomp can be used ingame. The game can also be launched with the -complevel parameter, or with default_compatibility_level in the config file, followed by one of the following numbers:

(...)


🌍️ Wikipedia:

Boom was a port for DOS of the Doom source code by TeamTNT. Boom fixed numerous software glitches and added numerous other software enhancements into the engine to such a degree that its additions have been incorporated into most modern versions of Doom source ports (such as PrBoom+, ZDoom and Doom Legacy). The last update of Boom, version 2.02, was released on October 22, 1998. In October 1999, Boom's source code was released. Further development of Boom as a source port was continued for DOS as MBF, for Windows as PrBoom, and for Linux as LxDoom. The latter two later merged as PrBoom and also took on many of the MBF features, so PrBoom's own successor, PrBoom+, is effectively the modern equivalent of Boom.

LxDoom

LxDoom was a source port for Linux created by Colin Phipps in 1999 based on Boom. It particularly focussed on removing the limitations and bugs inherited from the original Doom, and increasing computational efficiency. In 2000 it was combined with PrBoom, a Windows source port, becoming its basis. PrBoom was from then available in both Windows and Linux versions.

PrBoom

PrBoom is a Doom source port derived from Linux and Windows ports of Boom and MBF that includes an optional OpenGL renderer, as well as options allowing it to restore the behavior of earlier executables (such as Doom 1.9, Boom, and MBF) in essential ways. Initially designed for use in Windows and Linux, it has also been ported to AmigaOS 4, AROS, Dreamcast, GP2X, MorphOS, Nintendo DS, Nintendo 3DS, Wii, and Rockbox. A variation named PrBoom+ provides enhanced demo recording and viewing capabilities. id Software's official Doom iPhone port is based on PrBoom. The source port is packaged in the Ubuntu Software Center as well as Fedora's RPM software repository alongside Freedoom. PrBoom was last updated as version 2.5.0 on November 9, 2008. PrBoom+ was last updated as version 2.5.1.4 on January 10, 2016.

Although PrBoom and PrBoom+ are simpler than some other Doom source ports, they are often preferred as staying relatively close to the behavior of the original games, and have good demo support. However, some of the bug fixes and behavior changes of other ports may unbalance how levels made for the original games play, giving players certain advantages or disadvantages.

🚧️ Installation [fr]

INSTALLATION :

➥ Installation à partir du binaire du jeu :

Le jeu est en dépôt, il suffit d'installer le paquet.

➥ Installation à partir du source du jeu :

Si vous souhaitez quelque-chose de récent (versions de développement), la compilation du source est généralement indispensable.
• Installez les bibliothèques SDL (voir la fiche "006 - Glossaire & licences courantes" du Bottin).
• Décompressez son source, puis dans son répertoire racine lancez successivement :
$ ./configure
$ make
(ou, pour accélérer la compilation, "$ make -j8" si vous disposez d'un processeur 8 threads, à adapter pour vous)

Vous obtenez les 2 binaires prboom-plus et prboom-plus-game-server

➥ Les données :

• Données libres et/ou gratuites pour l'équivalent du jeu Doom 1 :
✔ - pour la version libre, voir la fiche Freedoom (paquet éponyme en dépôts Debian) : copiez les livrables (fichiers wad obtenus après décompression du zip, sans les renommer) dans le répertoire du moteur : ok

Non testé :
- pour la version gratuite et limitée d'origine (shareware, quelques niveaux de démo), installez le paquet "doom-wad-shareware" (en dépôts).
- sinon il existe aussi des tonnes de données créées par des passionnés (voir la fiche du Bottin "Ressources - Doom 1&2, Heretic, Hexen 1&2, Strife").

• Données commerciales (achat de la version Windows dont on récupère les données), voir les fiches dans le Bottin :
- pour Doom 1, la fiche "Ultimate Doom",
- pour Doom 2, la fiche "Doom II: Hell on Earth",
- pour Heretic, la fiche "Heretic: Shadow of the Serpent Riders",
- pour Hexen, la fiche "HeXen: Beyond Heretic".


LANCEMENT DU JEU :

• Si vous avez installé le jeu à partir d'un paquet : Alt F2 puis saisissez : prboom-plus
• Si vous avez compilé le jeu à partir de son source, en console dans le répertoire du binaire compilé (prboom-plus-2.5.1.4/src/) lancez : $ ./prboom-plus
• Si vous souhaitez tester des mods ou contenus externes en solo (elle fonctionne également pour le multi, mais je ne l'ai pas testé en multi), le plus simple me semble être d'utiliser QZDL (voir la fiche dans le Bottin), une interface simple permettant de lancer un moteur de Doom avec différents contenus.

🔍️ Test [fr]

🕵️ Test (2.5.1.4 et 2.5.1.5.test) de goupildb :

(test de fonctionnement)
Le moteur est dans les dépôts (en version 2.5.1.5.test: testé, fonctionne bien) et il se compile facilement (testé : ok).
Lancé depuis son répertoire source, il sait trouver automatiquement un certain nombre de données (pas toutes, il n'a pas trouvé par exemple les données de FreeDoom 1 & 2) sur le disque dur, en console il affiche :
"(...)
W_Init: Init WADfiles.
adding /usr/share/games/doom/doom1.wad
adding /usr/share/games/doom/prboom-plus.wad
(...)"
Ces données ont été installées via le paquet doom-wad-shareware (pour doom1.wad) et prboom-plus (pour prboom-plus.wad)

Je l'ai également testé avec le mod "WolfenDOOM: Spear of Destiny", voir ci-après.
Globalement il m'a donné satisfaction, sauf pour la vue haut/bas que je n'ai pas trouvé.
À condition d'activer OpenGL et d'autres options (scale2x, ...), son graphisme est plutôt bon.

Côté 🙂️ :
• Une excellente réalisation : l'interface est claire et bien organisée
• Il supporte bien le joystick (mais le jeu au joystick ne présente que peu d'intérêt car trop difficile du fait d'une précision bien moindre qu'au clavier)
• 🎧️ Son rendu graphique est assez bon (comparable à GZDoom 3.1.0 pour le mod WolfenDOOM: Spear of Destiny).
• Supporte l'OpenGL (testé), les synthés MIDI (testé fluidsynth notamment : ok), l'interpolation (scale2x, scale3x, ... : testé), ...
• Supporte la barre de statut des ennemis (testé : j'ai bien aimé).

Côté 🙁️ :
• Pas de vue haut/bas (l'affichage du viseur présente du coup peu d'intérêt car on ne peux pas viser correctement les ennemis situés en hauteur ou à un niveau plus bas)
• Il ne recherche pas le contenu libre au démarrage (mais on peut lui l'indiquer manuellement via un outil tel que QZDL).

🕹️ Conclusion :

PrBoom-plus 2.5.14 est un bon moteur qui fait le job pour lequel il a été fait : celui de préserver la compatibilité tout en apportant quelques apports sympas (rendu OpenGL, le support des synthés MIDI, ....). Il est dommage qu'il ne supporte pas encore la vue haut/bas (du moins je ne l'ai pas trouvé).
👏️ ❤️ Un grand bravo et merci à son auteur !


Quelques mods testés et appréciés (récapitulatif, liens ci-dessus section "Resources") :
J'ai testé quelques mods via l'outil QZDL (voir la fiche correspondante pour le mode d'emploi).

➜ Mods :
• WolfenDOOM: Spear of Destiny (lien sur la fiche "GZDoom & QZDoom") : une série de scénarios à télécharger sur le site de l'auteur, à jouer en utilisant le wad de Doom 2 en plus du wad du scénario. Je l'ai testé avec GZDoom 3.1.0, Zandronum 3.0 et PrBoom-plus 2.5.14 : le meilleur rendu a été obtenu avec GZDoom 3.1.0, néanmoins celui de PrBoom-plus 2.5.14 est lui aussi assez bon à condition d'activer l'OpenGL. Le problème de PrBoom-plus 2.5.14 est que si l'on active la mire de visée, l'on ne peut pas viser correctement les ennemis car il ne supporte pas la vue haut/bas, contrairement aux autres.
WolfenDOOM: Spear of Destiny peut aussi se jouer avec un contenu alternatif (testé avec FreeDoom2) mais dans ce cas il présente nettement moins d'intérêt car les décors de Wolfenstein ne sont pas reproduits (seuls les armes et le HUD sont affichés, donc pas trop d'intérêt). Si vous cherchez un peu de difficulté, prenez un niveau difficile car les ennemis sont plutôt faciles à éliminer. Le problème est que les medikits sont rares, et dans le niveau maxi de difficulté les ennemis réapparaissent mais pas les medikits. Assez bien, sans plus.