DooM Quake Quake²
 

Quake

Allgemeines

Quake wird, je nach gewünschtem Effekt sowohl von der Command line als auch von der "Console" aus bedient. Hierbei gibt es Überlappungen, das heißt man kann einen Befehl an beiden Stellen eingeben.

Im Allgemeinen ist aber eine Steuerung von der Console aus sinnvoller, da ein erneuter Start des Spieles vermieden wird. Deshalb werde ich auch immer nur den Consolen-Befehl nennen, oder explizit darauf hinweisen, wenn ich die command line Version meine.

Die Console ist das Eingabe-"Feld", welches erscheint, wenn man die Taste "~" (Tilde) drückt. Hier kann direkt mit der 3D-Engine des Spieles kommuniziert werden. Dieser Vorteil ist vor allem für Level-Entwickler von entscheidender Bedeutung. So können Leistungsdaten direkt von Quake selbst abgerufen werden. Es ist z.B. auf diese Weise möglich, eine eventuelle Überlastung der Quake-Engine schon frühzeitig zu erkennen. Das Problem heißt aber, wie beseitige ich es dann?? Du siehst, ich spreche aus leidvoller Erfahrung.

Externe Level starten

Zunächst einmal müssen folgende Voraussetzungen erfüllt sein:
Es muß ein Unterverzeichnis im Verzeichnis \Quake\ID1 mit dem Namen \MAPS vorhanden sein. In dieses können dann alle (bereits kompilierten) Level, erkennbar an der Dateinamenerweiterung .BSP, hineinkopiert werden. Nur diese Level kann man von der Console aus starten.
Nehmen wir einmal an, Du möchtest ein Level, dessen Dateiname "RAUM.BSP" ist, starten. Dazu gehst Du (im Spiel selbst), wie bereits erwähnt, in die Console (durch Drücken der Tilde "~") und gibst dort ein

map raum

Ja, und das war's schon. Wenn eine intakte Datei namens raum.bsp im MAPS - Verzeichnis vorhanden war, kannst Du jetzt dieses Level spielen.

MODs starten

Eine MOD ist eine Modifikation des eigentlichen Spieles, die so tiefgreifend ist, daß sie beinahe schon als ein eigenständiges Spiel bezeichnet werden könnte. Zumeist wird eher am Spiel-Prinzip etwas verändert und die optischen Änderungen bilden eigentlich eine Dreingabe zur Komplettierung des Eindrucks. Ein gutes Beispiel hierfür sind Capture the flag (CTF) und Navy-Seals-Quake. Letzteres liegt normalerweise in einem Unterverzeichnis namens "\NAVY". Allgemein befinden sich alle MODs in einem Unterverzeichnis von \QUAKE. Ja, im Prinzip betrachtet Quake sich selbst als MOD, namens ID1.

Solche MODs lassen sich in Quake(1) noch nicht aus dem laufenden Spiel heraus starten, sondern nur von der command line:

quake -game navy

Für eine MOD, die im Unterverzeichnis \QUAKE\NAVY liegt.

Kombinationen von verschiedenen MODs, ähnlich wie in DooM, sind NICHT möglich. Es kann zum Beispiel nicht mit den "Deathmatch 3"-Regeln in einem der Mission-Packs gespielt werden. Nur die "ID1"-MOD ist mit anderen kombinierbar.

Demos aufnehmen

In Quake (1) können Demos grundsätzlich nur im disconnected-en Zustand aufgenommen werden. Die Meldung, die erscheint, wenn man es trotzdem im bereits laufenden Spiel probiert ist

Damit gibt uns das Programm schon den entscheidenden Hinweis, was zu tun ist. Verwunderlich ist am Anfang nur: Man war eben nicht zu irgendeinem Server verbunden, sondern wollte nur eine Runde im Endlevel herumspringen und ein Demo davon aufnehmen, wie man Chton in Rekordzeit kaltstellen kann. Wie also disconnecten, wenn man noch nicht mal connected war?

Ganz einfach, wenn Quake behauptet, wir sind connected, dann geben wir einfach nur ein "disconnect". Nun sind wir in der Lage ein Demo aufzunehmen.

Die typische Dateinamenerweiterung für Quake(1)-Demos ist .DEM. Nehmen wir also einmal an, Du möchtest ein Demo aufnehmen, welches dann TEST1.DEM heißen soll (es ist sinnvoll die Namen durchzunumerieren, da während einer Netzwerk-Session meist wenig Zeit bleibt, um sich Namen einfallen zu lassen, und außerdem ist es dann später bei der Aufarbeitung leichter die chronologische Reihenfolge festzustellen). Dazu mußt Du in der Console einfach folgendes eingeben:

record test1

Auch hier ist es wichtig (wie bei den externen Levels) nicht die Dateinamenerweiterung .DEM mit anzugeben!

Demos abspielen

Quake speichert alle Demos, die aufgenommen werden im zum GAME (also der MOD) zugehörigen Verzeichnis. Bei einem Standard-Quake Level wäre das also in \QUAKE\ID1.
Sie werden dort mit der Dateinamenerweiterung .DEM abgespeichert und können nur in der richtigen MOD bzw. im richtigen Game abgespielt werden. Dazu holt man die Console herunter ("~") und gibt dort ein:

playdemo test1

um unser vorher aufgenommenes Demo abzuspielen.

 

... als Benchmark

  1. TimeRefresh

    Will man jedoch die Grenzen seines Systems erfahren, muß man es bis an die "Edge" belasten und dort dann die Performance beobachten. Wenn wir uns erinnern, fällt uns spontan ein Weg ein, wie man Quake zum Ruckeln bringen kann:
    Man muß sich eigentlich nur in einem Raum einmal um seine Achse drehen, die Anzahl der dargestellten Bilder und die dafür benötigte Zeit zählen und dann den Quotienten daraus bilden.

    Genau das macht die Quake-Engine, wenn man in die Console folgenden Befehl eingibt. Um jedoch die bereits erwähnte Einheitlichkeit zu erreichen, einigen wir uns hiermit auf ein Level. Am stärksten geht der Rechner in der Empfangshalle (dort, wo man den Schwierigkeitsgrad auswählen kann) in die Knie'. Aber leider ist diese Einstellung für einen Test zu subjektiv, da emporspringende Lavaklumpen am rechten Bildrand die FrameRate negativ beeinflussen, was an sich nicht schlimm ist, aber da diese Lava nicht regelmäßig erscheint, sind die Ergebnisse des Tests nicht maßgebend, da zeitpunktabhängig.

    Was also liegt näher als das erste Level zu wählen?? Somit geben wir folgende Befehle in die Console ein:

    • map e1m1 [return]
    • timerefresh [return] und [~], um die Console wieder zu schliessen

    Der Player wird sich jetzt selbstständig einmal um seine eigene Achse drehen und anschließend wird das Meßergebnis auf der Console erscheinen.

  2. TimeDemo

    Was wohl auch schon jedem aufgefallen sein wird: Die Demos sind statisch. Was ich damit meine ist, daß es wohl sehr nahe liegt, gerade diese Unveränderbarkeit/Unbeeinflußbarkeit für unsere Testzwecke auszunutzen!

    Der folgende Befehl, in der Console eingegeben, startet das Erste der drei "mitgelieferten" Demos und veranlaßt Quake, dieses so schnell es nur geht abzuspielen, sich die Zeit und die Zahl der gezeigten (bzw. die berechneten) Bilder zu merken und auch hier einen Quotienten zu bilden: Bilder pro Zeiteinheit ------> Frames per second

    timedemo demo1 [return]

letzte änderung 25.01.2007