Quake 3 Arena (with Quake3e engine) - Le Bottin des Jeux Linux

Quake 3 Arena (with Quake3e engine)

🗃️ Specifications

📰 Title: Quake 3 Arena (with Quake3e engine) 🕹️ / 🛠️ Type: Tool
🗃️ Genre: Adventure & Action 👁️ Visual: 3D
🏷️ Category: Adventure & Action ➤ FPS ➤ Fantasy & Sci-fi ➤ Quake 3 🏝️ Perspective: First person
🔖 Tags: FPS; Quake 3; 3D engine; id Tech 3 engine; ioQuake3 engine; eSports; Arena Shooter; Multi-platform ⏱️ Pacing: Real Time
🐣️ Approx. start: 2010-11-28 👫️ Played: Single & Multi
🐓️ Latest: 2024-10-14 🚦 Status: 05. Tested & Working (status)
📍️ Version: Latest: 💥️ 2020-04-15➜2024-10-14 / Dev: 84f3130 ❤️ Like it: 7. ⏱️ (untested|fct test)
🏛️ License type: 🕊️ Libre 🎀️ Quality: 1. 🏆️⭐⭐⭐⭐⭐ (perfect)
🏛️ License: GPL-2 ✨️ (temporary):
🐛️ Created: 2017-02-19 🐜️ Updated: 2024-11-05

📦️ Deliverables

📦️ Package name: quake3e ..... 📦️ Arch: ✓
📄️ Source: ✓ ..... 📦️ RPM:
⚙️ Generic binary: ✓ ..... 📦️ Deb:
🌍️ Browser version: ..... 📦️ AppImage:
📱️ PDA support: ..... 📦️ Flatpak:
✨️ Not use: ..... 📦️ Snap:

🚦 Entry status

📰 What's new?: 👻️ Temporary:
💡 Lights on: 🎨️ Significant improvement:
👔️ Already shown: 💭️ New version published (to be updated):
🎖️ This work: 5 stars 🚧️ Some work remains to be done:
👫️ Contrib.: goupildb & Louis 🦺️ Work in progress:
🎰️ ID: 15209

📖️ Summary

📜️[en]: Quake 3 Arena (Q3A) doesn't follow on from the storyline of its predecessor, Quake2, it's an FPS without a storyline - except for this one, by way of introduction: “The greatest warriors of all time fight for fun in a race called the Vadrigar in the Eternal Arena. It is e-sports oriented, i.e. fast-paced multiplayer battles (human and/or AI) in arenas, according to various Mods, competing against other players (or AIs) with the aim of eradicating them or capturing the opponent's flag. Quake3e is a fork of the ioQuake3 engine, a source port of id Software's id Tech 3 engine (Quake 3 Arena, Call of Duty, Quake Live, ...), i.e. a derivative, libre, multi-platform, enhanced and compatible engine. It fixes numerous bugs and brings significant performance, security and functionality enhancements (Vulkan & SDL2 backend support, optimized OpenGL rendering, redesigned QVM, improved protection against denial-of-service attacks, improved memory allocation, file system limits, ...). 📜️[fr]: Quake 3 Arena (Q3A) ne reprend pas la suite du scénario de son prédécesseur, Quake2, c'est un FPS sans scénario - si ce n'est celui-ci, en guise d'introduction : "Les plus grands guerriers de tous les temps se battent pour l'amusement d'une course appelée le Vadrigar dans l'Eternal Arena.". Il est orienté e-sports, c'est à dire vers des combats multijoueur (humains et/ou humains) très rapides en arènes, selon différents Mods, en compétition contre d'autres joueurs (ou IAs) avec pour finalité leur éradication ou la capture du drapeau adverse. Quake3e est un fork du moteur ioQuake3, un port source du moteur id Tech 3 d'id Software (Quake 3 Arena, Call of Duty, Quake Live, ...), c'est à dire un moteur dérivé, libre, multi-plateforme, amélioré et compatible. Il corrige de nombreux bugs et apporte des améliorations importantes de performance, de sécurité et de fonctionnalités (support Vulkan & backend SDL2, rendu OpenGL optimisé, QVM remaniée, amélioration de la protection contre les attaques de déni de service, allocation de mémoire améliorée, limites du système de fichiers, ...).

🎥️ Videos


🎲️ Gameplay: 💥️ (202201), 💥️ (202207), 💥️ (202408),


🎮️ Showcase: 💥️ (202207),

🕸️ Links

🏡️ Website & videos
[Homepage] [Dev site] [Features/About 1 2] [Screenshots] [Videos t(202xxx) gd(202xxx) gu(202xxx) r(202xxx) lp(202xxx) d(202207) g(202201) g(202207) g(202408) g(202408) g(202408) g(202408) g(202302) g(202302) g(202304) g(202304) g(201908) g(201908) 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) g(202xxx)] [WIKI] [FAQ] [RSS] [Changelog 1 2 3]

💰 Commercial
• (See below)

🍩️ Resources
🔘️ Required for playing Quake 3 (PAK0.PAK & PAK1.PAK)
Commercial - Windows version (Quake 3 [fr] [en] [de], to get the PAK0.PAK & PAK1.PAK files, See also "Quake 3 Arena (windows, data for Linux engines)" & "Resources - Quake 3" on this site): 💰 [IsThereAnyDeal] [Humble Store] [Gamersgate] [Steam] [GOG] [Gamesplanet [fr]] [Fanatical] 🎬️ t(o)(201904) g(o)(202309) g(o)(202010) g(o)(202007) g(o)(201610)
Libre alternative - OpenArena (A libre artistic dataset (with ioQuake 3 engine, that can also be played with Spearmint engine, allowing you to play the equivalent of Quake 3, to get the PAK0.PAK & PAK1.PAK files, GPL & Modified BSD): 🕊️ [Homepage] [Dev site] 🎬️ gu(201305) g(201308) g(201808) g(201709) g[fr](201205)

🛠️ Technical informations
[PCGamingWiki] [MobyGames]

🦣️ Social
Devs (Quake3e Team 1 2 [fr] [en]): [Site 1 2] [Chat] [mastodon] [PeerTube] [YouTube] [PressKit] [Interview 1(202xxx) 2(202xxx)]
Devs (Eugene C. (aka ec-, Cyrax) [fr] [en]): [Site 1 2] [Chat] [mastodon] [PeerTube] [YouTube] [PressKit] [Interview 1(202xxx) 2(202xxx)]
The Project: [Blog] [Forums] [mastodon] [PeerTube] [YouTube] [PressKit] [reddit] [Discord]

🐝️ Related
[Wikipedia (Quake I) [fr] [en] [de]]
[Wikipedia (Vulkan) [fr] [en] [de]]

📦️ Misc. repositories
[Repology] [pkgs.org] [Generic binary] [Arch Linux / AUR] [openSUSE] [Debian/Ubuntu] [Flatpak] [AppImage(author's repo)] [Snap] [PortableLinuxGames]

🕵️ Reviews
[HowLongToBeat] [metacritic] [OpenCritic] [iGDB]

🕊️ Source of this Entry: [Site (date)]

🦣️ Social Networking Update (on mastodon)

🛠️ Title: Quake 3 Arena (with Quake3e engine)
🦊️ What's: an e-sports oriented FPS & a libre engine (ioQuake3 fork)
🏡️ -
🐣️ https://github.com/ec-/Quake3e
🔖 #LinuxGameDev #FPS #ArenaShooter #ESport #Quake3
📦️ #Libre #Bin #Arch
📖 Our entry: (homeless)

🥁️ Update: 2020-04-15➜2024-10-14
⚗️ Major release (Stable) 🍎️
📌️ Changes: https://github.com/ec-/Quake3e/releases
🦣️ From: 🛜️ https://github.com/ec-/Quake3e/releases.atom

💥️🎲️ https://www.youtube.com/embed/?list=PL14CV9M3Y7DHleRmUoNLxAXCmXW-i77iV
💥️🎲️ https://www.youtube.com/embed/?list=PLAS9jTOeOZQu2U5Qlf0a4vnRgwnLRFVmx
💥️🎲️ https://www.youtube.com/embed/bcACRWmA0_c
💥️🎮️ https://www.youtube.com/embed/ckXEUpC9vGY

🕶️ An FPS view of a game in which the player stands at the entrance to a corridor, holding a rocket launcher and various power-ups in front of him (medikit and ammo boxes).

📚️ Quake 3 Arena (Q3A) doesn't follow on from the storyline of its predecessor, Quake2, it's an FPS without a storyline - except for this one, by way of introduction: “The greatest warriors of all time fight for fun in a race called the Vadrigar in the Eternal Arena. It is e-sports oriented, i.e. fast-paced multiplayer battles (human and/or AI) in arenas, according to various Mods, competing against other players (or AIs) with the aim of eradicating them or capturing the opponent's flag. Quake3e is a fork of the ioQuake3 engine, a source port of id Software's id Tech 3 engine (Quake 3 Arena, Call of Duty, Quake Live, ...), i.e. a derivative, libre, multi-platform, enhanced and compatible engine. It fixes numerous bugs and brings significant performance, security and functionality enhancements (Vulkan & SDL2 backend support, optimized OpenGL rendering, redesigned QVM, improved protection against denial-of-service attacks, improved memory allocation, file system limits, ...).

📕 Description [en]

📜️ "An e-sports oriented FPS & a libre engine (ioQuake3 fork, with many bugs fixes & important performance, security and functionality improvements)" 📜️ .

This is a modern Quake III Arena engine aimed to be fast, secure and compatible with all existing Q3A mods. It is based on last non-SDL source dump of ioquake3 with latest upstream fixes applied.

Key features:

✅️ optimized OpenGL renderer
✅️ optimized Vulkan renderer
✅️ raw mouse input support, enabled automatically instead of DirectInput(\in_mouse 1) if available
✅️ unlagged mouse events processing, can be reverted by setting \in_lagged 1
✅️ \in_minimize - hotkey for minimize/restore main window (win32-only, direct replacement for Q3Minimizer)
✅️ \video-pipe - to use external ffmpeg binary as an encoder for better quality and smaller output files
✅️ significally reworked QVM (Quake Virtual Machine)
✅️ improved server-side DoS protection, much reduced memory usage
✅️ raised filesystem limits (up to 20,000 maps can be handled in a single directory)
✅️ reworked Zone memory allocator, no more out-of-memory errors
✅️ non-intrusive support for SDL2 backend (video, audio, input), selectable at compile time
✅️ tons of bug fixes and other improvements

Vulkan renderer

Based on Quake-III-Arena-Kenny-Edition with many additions:

✅️ high-quality per-pixel dynamic lighting
✅️ very fast flares (\r_flares 1)
✅️ anisotropic filtering (\r_ext_texture_filter_anisotropic)
✅️ greatly reduced API overhead (call/dispatch ratio)
✅️ flexible vertex buffer memory management to allow loading huge maps
✅️ multiple command buffers to reduce processing bottlenecks
✅️ reversed depth buffer to eliminate z-fighting on big maps
✅️ merged lightmaps (atlases)
✅️ multitexturing optimizations
✅️ static world surfaces cached in VBO (\r_vbo 1)
✅️ useful debug markers for tools like RenderDoc
✅️ fixed framebuffer corruption on some Intel iGPUs
✅️ offscreen rendering, enabled with \r_fbo 1, all following requires it enabled:
✅️ screenMap texture rendering - to create realistic environment reflections
✅️ multisample anti-aliasing (\r_ext_multisample)
✅️ supersample anti-aliasing (\r_ext_supersample)
✅️ per-window gamma-correction which is important for screen-capture tools like OBS
✅️ you can minimize game window any time during \video|\video-pipe recording
✅️ high dynamic range render targets (\r_hdr 1) to avoid color banding
✅️ bloom post-processing effect
✅️ arbitrary resolution rendering
✅️ greyscale mode

In general, not counting offscreen rendering features you might expect from 10% to 200%+ FPS increase comparing to KE's original version
Highly recommended to use on modern systems

OpenGL renderer

Based on classic OpenGL renderers from idq3/ioquake3/cnq3/openarena, features:

✅️ OpenGL 1.1 compatible, uses features from newer versions whenever available
✅️ high-quality per-pixel dynamic lighting, can be triggered by \r_dlightMode cvar
✅️ merged lightmaps (atlases)
✅️ static world surfaces cached in VBO (\r_vbo 1)
✅️ all set of offscreen rendering features mentioned in Vulkan renderer, plus:
✅️ bloom reflection post-processing effect

Performance is usually greater or equal to other opengl1 renderers

OpenGL2 renderer

Original ioquake3 renderer, performance is very poor on non-nvidia systems, unmaintained

📕 Description [fr]

Un FPS orienté e-sports et un moteur dérivé de id Tech 3 privilégiant les améliorations au détriment de la compatibilité, par la Quake3e Team, initié par Eugene C. (aka ec-, Cyrax).
C'est une version modifiée du moteur ioQuake3.

Quake 3 Arena (Q3A) ne reprend pas la suite du scénario de son prédécesseur, Quake2, c'est un FPS sans scénario - si ce n'est celui-ci, en guise d'introduction : "Les plus grands guerriers de tous les temps se battent pour l'amusement d'une course appelée le Vadrigar dans l'Eternal Arena.". Il est orienté e-sports, c'est à dire vers des combats multijoueur (humains et/ou humains) très rapides en arènes, selon différents Mods, en compétition contre d'autres joueurs (ou IAs) avec pour finalité leur éradication ou la capture du drapeau adverse. Quake3e est un fork du moteur ioQuake3, un port source du moteur id Tech 3 d'id Software (Quake 3 Arena, Call of Duty, Quake Live, ...), c'est à dire un moteur dérivé, libre, multi-plateforme, amélioré et compatible. Il corrige de nombreux bugs et apporte des améliorations importantes de performance, de sécurité et de fonctionnalités (support Vulkan & backend SDL2, rendu OpenGL optimisé, QVM remaniée, amélioration de la protection contre les attaques de déni de service, allocation de mémoire améliorée, limites du système de fichiers, ...).

Ressources et documentations disponibles : voir les fiches "Ressources - Quake" et OpenArena.


Il s'agit d'un moteur moderne de Quake III Arena qui se veut rapide, sûr et compatible avec tous les mods Q3A existants. Il est basé sur le dernier dump source non SDL de ioquake3 avec les derniers correctifs appliqués en amont.

Caractéristiques principales :

✅️ rendu OpenGL optimisé
✅️ rendu optimisé Vulkan
✅️ prise en charge de l'entrée brute de la souris, activée automatiquement au lieu de DirectInput(\in_mouse 1) si disponible
✅️ traitement des événements de souris sans décalage, peut être inversé en définissant \in_lagged 1
✅️ \in_minimize - touche de raccourci pour minimiser/restaurer la fenêtre principale (win32 uniquement, remplacement direct de Q3Minimizer)
✅️ \video-pipe - pour utiliser le binaire externe ffmpeg comme encodeur pour une meilleure qualité et des fichiers de sortie plus petits
✅️ refonte importante de QVM (Quake Virtual Machine)
✅️ amélioration de la protection contre les attaques par déni de service côté serveur, réduction considérable de l'utilisation de la mémoire
✅️ augmentation des limites du système de fichiers (jusqu'à 20 000 cartes peuvent être gérées dans un seul répertoire)
✅️ alloueur de mémoire de zone retravaillé, plus d'erreurs de sortie de mémoire
✅️ prise en charge non intrusive du backend SDL2 (vidéo, audio, entrée), sélectionnable à la compilation
✅️ tonnes de corrections de bugs et autres améliorations

Rendu Vulkan

Basé sur Quake-III-Arena-Kenny-Edition avec de nombreux ajouts :

✅️ éclairage dynamique par pixel de haute qualité
✅️ fusées éclairantes très rapides (\r_flares 1)
✅️ filtrage anisotropique (\r_ext_texture_filter_anisotropic)
✅️ surcharge de l'API fortement réduite (ratio appel/dispatch)
✅️ gestion flexible de la mémoire tampon des vertex pour permettre le chargement d'énormes cartes
✅️ plusieurs tampons de commande pour réduire les goulots d'étranglement du traitement
✅️ tampon de profondeur inversé pour éliminer la lutte contre les z sur les grandes cartes
✅️ fusion de cartes lumineuses (atlas)
✅️ optimisations du multitexturing
✅️ surfaces statiques du monde mises en cache dans le VBO (\r_vbo 1)
✅️ marqueurs de débogage utiles pour des outils comme RenderDoc
✅️ corrige une corruption du framebuffer sur certains Intel iGPUs
✅️ rendu hors écran, activé avec \r_fbo 1, tout ce qui suit nécessite qu'il soit activé :
✅️ rendu de texture screenMap - pour créer des reflets réalistes dans l'environnement
✅️ anticrénelage multi-échantillon (\r_ext_multisample)
✅️ anticrénelage par suréchantillonnage (\r_ext_supersample)
✅️ correction gamma par fenêtre, ce qui est important pour les outils de capture d'écran comme OBS
✅️ vous pouvez minimiser la fenêtre de jeu à tout moment pendant l'enregistrement de \video|\video-pipe
✅️ cibles de rendu à gamme dynamique élevée (\r_hdr 1) pour éviter les bandes de couleur
✅️ effet de post-traitement bloom
✅️ rendu de résolution arbitraire
✅️ mode échelle de gris

En général, sans compter les fonctionnalités de rendu hors écran, vous pouvez vous attendre à une augmentation de 10% à 200%+ des FPS par rapport à la version originale de KE.
Il est fortement recommandé de l'utiliser sur les systèmes modernes

Rendu OpenGL

Basé sur les moteurs de rendu OpenGL classiques de idq3/ioquake3/cnq3/openarena, caractéristiques :

✅️ Compatible avec OpenGL 1.1, utilise les fonctionnalités des versions plus récentes chaque fois qu'elles sont disponibles
✅️ éclairage dynamique par pixel de haute qualité, pouvant être déclenché par la cvar \r_dlightMode
✅️ cartes lumineuses fusionnées (atlas)
✅️ surfaces statiques du monde mises en cache dans le VBO (\r_vbo 1)
✅️ toutes les fonctionnalités de rendu hors écran mentionnées dans le moteur de rendu Vulkan, plus :
✅️ effet de post-traitement bloom reflection

Les performances sont généralement supérieures ou égales à celles des autres moteurs de rendu OpenGL1.

Rendu OpenGL2

Rendu original ioquake3, performance très faible sur les systèmes non-nvidia, non maintenu

🚧️ Installation ➜ 🚀️ Launching [fr]

⚙️ Installation à partir du binaire

📦️ Installation à partir du/des paquet(s) Manjaro/Arch :
• Il(s) est/sont dans les dépôts Manjaro/Arch, il suffit d'installer le(s) paquet(s).

⛓️ Installation à partir du binaire classique :
• Un binaire statique est disponible, décompressez le livrable, et rendez son binaire exécutable (clic droit sous votre gestionnaire de fichier).


📄️ Installation à partir du source

• Source non testé.


🏕️ Installation du contenu / des données :

• Données : Ce jeu requiert l'installation de données non livrées avec le moteur du fait d'une licence incompatible ou tout simplement pour lui permettre d'utiliser différents sets de données.

▸ Téléchargement des données :
• Téléchargez ses données sur l'un des sites disponibles (voir les sections “Commercial” ou “Resources” ci-dessus).

▸ Préparation des données (si données au format .img ou .iso) :
• Condition : vos livrables sont dans un container : fichier.img ou fichier.iso
• 1ere méthode (testé sous Nemo) : renommez votre fichier .img en .iso et sous votre gestionnaire de fichier, décompressez ce fichier via un clic droit puis “Extraire ici”.
Condition : installer au préalable les paquets engrampa et nemo-engrampa. Si le clic droit ne fonctionne pas, sous votre gestionnaire de fichier associez ce type de fichier (.iso) au “Gestionnaire d'archive Engrampa”.
• 2nde méthode (plus conventionnelle) :
• Dans le répertoire contenant les fichiers ci-dessus, créez un répertoire de traitement provisoire (par exemple : test/) : $ mkdir test
• Montez votre fichier .img ou .iso sur votre répertoire test/ avec la commande (à adapter si .img ou .iso) : $ sudo mount -o loop fichier.img test
↪ vous obtenez le répertoire test/contenant les fichiers de votre container.
• Créez un autre répertoire externe (en dehors du répertoire test/, exemple : test2/) : $ mkdir test2
• Copiez le contenu de votre répertoire test/ dans votre répertoire test2/
• Démontez votre répertoire test/ (à adapter si .img ou .iso) : $ sudo umount fichier.img

▸ Assemblage du moteur et des données :
• Copiez dans le répertoire baseq3/ du moteur les fichiers *.pk3 du jeu d'origine (version commerciale ou libre, elles sont situées dans le répertoire baseq3/ du jeu d'origine).


🚀️ LANCEMENT DU JEU

▸ Classique :
• Si vous l'avez installé à partir d'un paquet / dans l'un des répertoires système : [Alt+F2] quake3e ou $ quake3e
• Sinon, rendez son binaire exécutable (clic droit sous votre gestionnaire de fichier) et cliquez dessus, ou dans son répertoire racine lancez : $ ./quake3e

🕵️ Test [fr]

📜️ Préambule :
⚬ 1ere édition : le ? (début 2017) sous Debian. Par : goupildb. ⏱️ Durée du test : 2 minutes. 🎯️ Objectif : Initialisation de l'entrée et test binaire de fonctionnement.



🫕️ Installation :
▸ (✔ v. 1.32e) Binaire classique : FONCTIONNEL.
▸ (🧪️not_tested) Paquet Arch/AUR : NON TESTE.
🟢️ Il est très facile à installer et à lancer grâce à ses différents types de livrables disponibles.

🕵️ Test (1.32e) début 2017 :
Il s'agissait d'un test très rapide ayant juste pour objectif de vérifier si le livrable s'exécute en version 32 bit (après l'avoir rendu exécutable d'un clic droit) :
$ ./quake3e
Q3 1.32e MV linux-i386 Feb 13 2017
(...) pak0.pk3 is missing. Please copy it from your legitimate Q3 CDROM.(...)
🟢️ Il semble fonctionner correctement :)


🧭️ Conclusion :

🕵️ Impression globale : 👍️
❤️ Like it: ⏱️ (untested|fct test)
🎀️ Quality: 🏆️⭐⭐⭐⭐⭐ (perfect)

🟢️ Pas le temps pour un test plus approfondi pour l'instant, néanmoins ce que j'en ai vu m'a semblé d'excellente qualité.
👏️ ❤️ Un grand bravo et merci (notamment pour la version Linux !) à son/ses auteur(s) !