KMQuake2 - Le Bottin des Jeux Linux

KMQuake2

Specifications

Title: KMQuake2 Type: Tool
Genre: Adventure & Action Status:
Category: Adventure & Action ➤ FPS ➤ Fantasy & Sci-fi ➤ Quake 2 Commercial:
Tags: Development; 3D engine; Action; FPS; Shooter; Multi-platform; Quake Demo:
Released: 0.20 Beta 3 with Hotfix 3 Package Name:
Date: 2010-07-11 Extern Repo:
License: GPL v2 Repo:
Perspective: First person Package:
Visual: 3D Binary:
Pacing: Real Time Source: ✓
Played: Single & Multi PDA:
Quality (record): 5 stars Quality (game): 5 stars
Contrib.: Goupil & Louis ID: 11653
Created: 2010-08-20 Updated: 2020-09-20

Summary

[fr]: Un moteur compatible et amélioré de Quake 2 [en]: Enhanced Quake2 OpenGL-only engine with integrated Lazarus support

Videos

Trailer / Gameplay [en] / [en] / [fr] :

Links

Website & videos
[Homepage] [Dev site] [Features/About] [Screenshots 1 2] [Videos t t t r r r r r r r g g] [WIKI] [FAQ] [RSS] [Changelog 1 2 3]

Commercial : (empty)

Resources
• (empty)
Technical informations
[Open Hub] [Lazarus mod for Quake 2] [Marshan.com (site miroir dépassé)]

Social
Devs (Knightmare [en]) : [Site] [Forums] [twitter] [YouTube] [Interview 1 2]
Game : [Blog] [Forums] [twitter] [YouTube]

On other sites
[Wikipedia (Quake II) [fr] [en]] - [Wikipedia (Stroggs) [fr] [en]]
[UBUNTU [fr] (forums)] [Bloc Note Linux [fr]]

Reviews


News / Source of this Entry (SotE) / News (SotN)

Description [fr]

Un moteur compatible et amélioré de Quake 2, par Knightmare & contributeurs.

KMQuake2 (pour Knightmare Quake 2) est un moteur compatible, amélioré, et exclusivement OpenGL de Quake 2, intégrant le support Lazarus et repoussant notamment les limites de ses possibilités d'affichage.

Quake2 est le second épisode de la saga Quake développée par id Software.
L'humanité lance une contre-offensive contre la planète Stroggos, avec pour premier objectif de détruire le "Big Gun", un gigantesque canon anti-aérien interdisant toute approche de vos gros navires porteurs et donc, d'un débarquement massif.
Vous arrivez à bord de l'une des navettes - touchée au moment où elle survole le "Big Gun".
Elle s'écrase dans une banlieue reculée et vous vous retrouvez seul et peu armé - vos hommes ayant péris dans le crash du vaisseau.
Frayez-vous un chemin dans cette forteresse et stoppez leur machine de guerre.

Ressources et documentations disponibles : voir la fiche "Ressources - Quake".

Description [en]

Enhanced Quake2 OpenGL-only engine with integrated Lazarus support

KMQuake2 began immediately after the release of the Quake2 source as a small engine mod to "Boom" Q2, or increase its limits for mappers, just as Boom increased Doom's map limits.

The limits on the number of unique models and sounds in a map at once were the first to be increased, followed by the limits on the total entities in a map and how many entities can be displayed on screen at once. This was followed by support for longer draw distances and maps compiled with larger chop sizes, to better support large outdoor areas.

To better enhance what mappers can do with the engine, the Lazarus mod was included as KMQuake2's default game DLL. Lazarus's footstep code and texture and surface commands were also integrated into the client. Included are such additions as entity alias scripting, which allows mappers to easily add preconfigured versions of entities such as model_spawn to their maps without having to fill out lots of fields in the map editor. 3Team CTF support and ACE Bots were also added for multiplayer use.

Other features were soon added, such as support for moving and animated transparent surfaces, mapper-specified transparency of any visible entity, any named pak and compressed pk3 files, and the autoloading and scaling of hi-res replacement textures in the TGA and JPG format. New to v0.19 is Ogg Vorbis music support that optionally replaces playing music from the game CD. Mappers can specify music tracks for each map, and tracks can also be changed by the Lazarus target_cd entity. RoQ format cinematics are also supported in this version.

Not to exclude eye candy, an improved particle system was added, along with clipped decals, stencil shadows, improved menus, and more.

Many of these changes required changing the interface between the .exe and game DLL, so mods must be ported to KMQuake2, and demos recorded by KMQuake2 will not play on any other engine, nor can any other client connect to a KMQuake2 server.

Support for maps that extend beyond the +/-4096 coordinate size has been added in the latest version, increasing just about all the limits that are possible without supporting a new BSP format. This required a change in the network protocol from the last version, so everyone playing online on KMQuake2 servers will need to upgrade.

Features

Les premières améliorations ont consisté à repousser les limites du nombre maximal de modèles/d'entités et de sons simultanés sur une carte.
De nombreuses autres ont suivi, pour ne citer que celles décrites sur la page "About" du site (lien "Features" ci-dessus) :
☑ le mod "Lazarus" (lien ci-dessus) a été intégré par défaut,
☑ le support de 3Team CTF et ACE Bots pour le jeu multijoueur,
☑ le support des musiques au format Ogg Vorbis (permettant de remplacer les musiques du CD de jeu),
☑ de nombreuses améliorations graphiques : surfaces transparentes animées et se déplaçant, le chargement et la mise à l'échelle automatique de textures haute-résolution de remplacement, un système de particules amélioré, ...
☑ le support (dans la version 0.20 Beta ?) de cartes beaucoup plus grandes (dépassant les limites des coordonnées +/- 4096), ...

Extrait du fichier kmquake2.txt :
------------------------------
Key Features
------------------------------
☑ Eliminates the limit of 256 each on models, sounds, and images- no more index: overflow errors!
☑ No more SZ_Getspace: overflow errors
☑ Supports up to 8000 entities per map, up to 2000 in view at once
☑ Supports maps with large coordinate ranges, maximum of +/-16384
☑ Supports maps compiled with large chop values, up to 1024
☑ Supports server-side player speed control for class-based mods, etc.
☑ Supports server-side control of entity transparency
☑ Supports server-side control of looped sound attenuation
☑ Includes default Lazarus DLL with ACE bots, CTF and 3Team CTF support
☑ Uses modified Quake2maX particle effects
☑ Improved menus and console (uses some code from Quake2maX)
☑ Streamlined, more memory-efficent adaptation of decal system from Quake2maX
☑ TGA and JPG texture, skin, and pic autoloading
☑ Autoscaling of hi-res replacement textures
☑ Support for MD3 models
☑ *.pak and pk3 support
☑ Ogg Vorbis soundtrack support
☑ RoQ support
☑ Alpha test surface support for easy rendering of textures with holes/cut-outs
☑ Trans33 and Trans66 flag combining for textures with alpha-channel controlled transparency
☑ Supports rendering transparent surfaces with lightmaps
☑ Supports moving and animated transparent surfaces
☑ Integrated support for Lazarus footstep sounds

Installation [fr]

INSTALLATION (à reprendre car basée sur la version Fedora qui n'est plus disponible):
• Préambule :
- Le site original (http://kmq2.quakedev.com) est fermé, il y a néanmoins un site alternatif ayant repris le flambeau (lien "Homepage" ci-dessus).
- ce site rassemble aussi un certain nombre ressources très intéressantes.

• Les données indispensables :
Comme tous les autres moteurs de Quake, ce moteur nécessite des données graphiques et sonores.
Les données de Quake 2 ne sont pas en abandonware, il sera nécessaire d'acheter le jeu (néanmoins à bas prix, en raison de son âge), ou de récupérer une version démo limitée (lien ci-dessus), voir de trouver des données alternatives (cf la fiche Quake - Ressources, dans le Bottin).

• L'installation :
La documentation du site "Bloc note linux" (lien ci-dessus) nous a paru très bien faite, cependant elle n'a pas fonctionné entièrement sur notre "Debian Sid" et de plus il nous a paru important de signaler que le jeu Quake 2 est à présent en abandonware (lien ci-dessus).

Tout d'abord, pour jouer à "KM Quake 2" il vous faut un fichier de données.
On peut utiliser le fichier original de données du jeu "Quake 2" dénommé "pak0.pak" (voir ci-après : "Obtenir le fichier de données de Quake2").

Nous n'avons pas réussi à compiler les sources du site original, nous avons donc suivi les conseils du site "Bloc note linux" (lui-même une traduction du forum UBUNTU - lien ci-dessus) en récupérant le paquet binaire "kmquake2-0.19.2-1.fc9.i386.rpm" (sur le site Fedora, malheureusement fermé depuis) et en le convertissant en ".deb" via la commande (alien est en dépôts) : $ alien kmquake2-0.19.2-1.fc9.i386.rpm
Après conversion vous obtenez le fichier "kmquake2_0.19.2-2_i386.deb".

Il ne vous reste qu'à l'installer en vous plaçant dans son répertoire et en lançant la commande : # dpkg -i kmquake2_0.19.2-2_i386.deb

Là où ensuite nous divergeons avec le site "Bloc note linux" c'est sur l'emplacement final des binaires pour notre distribution "Debian Sid".
Sur "Debian Sid", lorsque vous copiez le fichier "pak0.pak" dans le répertoire "/usr/lib/kmquake2/baseq2/", le jeu ne trouve pas ses données.
Nous avons donc résolu le problème en copiant les binaires de KMQuake2 dans le répertoire de ses données (/usr/lib/kmquake2/) :
Copiez les fichiers "/usr/bin/kmquake2" et "/usr/bin/kmquake2-server" dans "/usr/lib/kmquake2/" et votre fichier "pak0.pak" dans "/usr/lib/kmquake2/baseq2/".

Remarque :
Certains utilisateurs (nous en faisions parti :) ont été désorientés par l'obtention du message : "Error : Couldn't load 'pics/colormap.pcx".
Ce message est obtenu si vous oubliez de copier le fichier "pak0.pak" dans "/usr/lib/kmquake2/baseq2/".
Inutile de chercher le fichier "colormap.pcx", il est intégré dans le fichier "pak0.pak".


LANCEMENT DU JEU :

Si vous avez installé le jeu via le binaire Fedora, lancez successivement les commandes suivantes :
$ cd /usr/lib/kmquake2/
$ ./kmquake2

Remarque :
Le jeu fonctionne correctement néanmoins nous retrouvons sporadiquement (assez rare et peu reproductible) des coupures de son (comme avec Quake2) : n'arrivant pas à se connecter au serveur de son OSS (message affiché en console : "/dev/dsp: Bad file descriptor") aucun son n'est audible pendant quelques minutes (de l'ordre de 5min) avant de fonctionner à nouveau.

Test [fr]

Test (0.19.2 via le paquet Fedora) :
Une très bonne réalisation, la partie sonore fonctionne à merveille au 2ème lancement : Génial !

Test (du source 0.20 Beta 3) :
Nous avons testé la compilation de cette dernière version.
Le makefile contient en ligne 2 : # Quake2 Makefile for Linux 2.0
Malgré cela nous obtenons :
$ make
Makefile:235: *** les commandes commencent avant la première cible. Arrêt.

Commentaires généraux :
Si quelqu'un arrive à compiler ce source, nous lui serions reconnaissant de nous faire parvenir le mode d'emploi.