Code3Arena Tutorials
Diese Tutorials wurden in der Annahme geschrieben, dass du ein
Neuling in der Quake3 Programmierung bist. Wir schlagen vor, dass du sequentiell
mit dem ersten anfängst (die ersten fünf sind etwas einfacher als
der Rest), und die Sachen auch Schritt für Schritt nachprogrammierst.
Dies ist der beste Weg um sich besser mit dem Code vertraut zu machen und
möglichst viel dabei zu lernen. Nachdem du alle Tutorials durchgearbeitet
hast, solltest es für dich einfach sein deinen eigenen Mod zu schreiben.
Die Tutorials sind alle aus der Quake Community entstanden (hier
mal ein großes Danke an Alle!). Wenn auch du eine gute Idee hast und
Lust daran hast etwas für uns zu schreiben, dann nichts wie los!
Nun folgt eine Übersicht der Tutorials mit einer kurzen
Beschreibung dazu:
Tutorial#1: "Mod
making 101" von SumFuka
Heißt dich herzlich willkommen in der Welt der Mod-Bauer.
Tutorial#2: "Up
'n running" von SumFuka
Verrät Alles was man tun muß, um mit Microsoft Visual C++ seine
eigenen Quake3 Dateien zu erstellen.
Tutorial#3: "Hello,
Qworld!" von SumFuka
Der erste Test mit deinem Compiler. Dabei wird der "Slow-Rocket"
Mod erzeugt. Man darf aber nicht vergessen, diesen wieder rückgangig
zu machen!
Tutorial#4: "Permanent
haste" von SumFuka
Quake 3 done quick! Eine weitere schnell erstellte Modifikation, die jeden Spieler
(auch Bot) so schnell laufen lässt, als hätte er die Haste Rune. Anhand von Suchen
im Quellcode lernt man Vieles hinzu.
Tutorial#5: "Armor
piercing rails" von SumFuka
Zeigt Xaero, wo der Ziegenbock den Honig hat! Ändert den Quellcode so, dass man durch Wände
mit der Railgun schießen kann. Ein lernreiches Beispiel für die Verwendung von Vektoren.
Tutorial#6: "Bouncing
rockets" von AssKicka
Mit Raketen selbst in den Hintern schießen! An dem Beispiel von an Wänden abprallenden Raketen wird gezeigt,
wie man der Console einen neuen Befehle hinzufügen kann, und Code aus anderen Bereichen im Spiel weiter verwerten kann.
Tutorial#7: "Cloaking"
von AssKicka
Ein weiterer Befehl in der Konsole wir implementiert. Mit ihm kann man sich unsichtbar stellen,
jedoch wird währenddessen die Health vermindert.
Tutorial#8: "Ladders!"
von Calrathan
Anstatt Jump Pads kann man nun auch vertikal aufgestellte Leitern benutzen. Eine gute Übung, um mehr
über die Bewegungsfunktionen im Spiel zu erlernen. Auch die Wichtigkeit der Synchronität zwischen
Client und Server kommt dabei deutlich hervor.
Tutorial#9: "Saving
your favourite server" von HypoThermia
Eine gute Einführung in das Menü User Interface und den darin eingebauten Server Browser.
Nach dem Verständnis des Browsercodes wird diesem ein Knopf hinzu gefügt, mit dem man
seinen Lieblingsserver ohne darauf connected zu sein speichern kann. Auf dem Weg werden wir
auch noch einen Fehler im original Quake3 Source beheben.
Tutorial#10: "Flame
Thrower" von AssKicka
Dies ist ein großes Tutorial. Dabei lernt man, wie man eine neue Waffe in das Spiel einbaut. Der Prozess
wird anhand eines Flammenwerfers des Mods SolidGround erklärt. Es gibt vieles zu tun: Shader-, Modelle- und
Grafikzuweisungen im Quellcode.
Tutorial#11: "Vortex
Grenades" von AssKicka
Die Vortex Granate saugt nahe stehende Spieler in sich hinein, und explodiert dann.
Dabei lernt man auch wieder mehr zum Einsatz der Vektorrechnungen.
Tutorial#12: "Grapple"
von Matt Ownby
Der grapple hook wurde in Quake3 schon integriert, allerdings kurz vor der Veröffentlichung
wurde er deaktiviert. Dieses Tutorial schaltet ihn wieder ein, auch für den CTF Modus.
Tutorial#13: "Lightning
Discharge" von The SARACEN
Für die eingefleischten Quake (I) Spieler gibt es hier etwas ganz besonderes.
Es wird die Entladung der Lightning Gun unter Wasser implementiert. Dabei wird ein neues
"event" und eine neue "meansOfDeath" eingeführt.
Tutorial#14: "Locational
Damage" von Calrathan
Diese Anleitung implementiert komplexe Trefferzonen. Dabei gibt es nicht nur mehr Schaden, je nachdem
in welcher Höhe man den Gegner trifft, sondern es kommt auch darauf an, von wo aus geschossen wird.
Ein frontaler Schuß in das Gesicht der Polygonfigur erzeugt dabei 5.0x Schaden. Dabei benutzt man
wieder ein wenig Vektorrechnung, um die Schußrichtung zu bestimmen.
Tutorial#15: "Leg
Shots" von McBain
Dies ist eine Erweiterung für Tutorial 14. Wird der Gegner nun an einem Bein getroffen, so vermindert
sich seine Laufgeschwindigkeit. Der Effekt wird entweder durch einen Respawn oder Healthpacks wieder
aufgehoben.
Tutorial#16: "Weapon
Switching" von WarZone
Dies ist ein sehr hilfreiches Tutorial, das Standard für alle neuen Mods werden sollte.
Es erlaubt dem Spieler eine intelligente Auswahl der Waffenwechsel zu definieren. Jeder
Spieler kann seine eigene Reihenfolge festlegen, die am Anfang beim Lades der Map angezeit
wird. Lerne alles über die Funktionen zum Waffenwechsel, Munition ausgehen, Aufsammeln
neuer Waffen und vieles mehr!
Tutorial#17: "Scoreboard
frag-rate" von HypoThermia
Eine Modifikation für die Punktestatistik nach dem Match, mit dem man seine Frag-Rate sehen kann.
Dadurch kann ein besserer Vergleich gezogen werden, wenn du nicht von Anfang an in einem Match
dabei bist.
Tutorial#18: "Vortex
Grenades II" von TeknoDragon
Eine Erweiterung zu dem Vortex Granaten Tutorial 11. Granaten beschleunigen nun den Spieler. Zudem
gibt es kleine Erweiterungen und Feinheiten im Vergleich zum Original.
Tutorial#19: "Vulnerable
Missiles" von Lancer
Genug davon, dass alle Missiles auf dich losgeen? Dann schieße ab jetzt die Raketen einfach
selber ab. Dieses Tutorial macht die gefährlichen Waffen verwundbar.
Tutorial#20: "Spielerklassen " von Fritz
Dieser Artikel zeigt, wie einfach es ist sich eigene Spielerklassen zu schreiben. Als Beispiel schreibt man Code
für drei Klassen, die sich in den Waffen Railgun, BFG und Lightning Gun unterscheiden, abhängig vom ausgewählten
Modell.
Tutorial#29: "Schwingende Türen " by Valkyrie
Die einzigen Türen, die man bisher in Quake3 benutzen konnte waren solche wie in Star Trek - bis zu diesem Tutorial!
Spezielle Artikel:
Artikel#1: Entities von SumFuka
Hier erfährst du Alles über die Gegenstände in der Quake Welt,
wie sie funktionieren, und warum sie so wichtig sind.
Artikel#2: Vektoren von SumFuka
Vektormathematik ist unumgänglich zum Verstehen, möchte man
seinen eigenen Mod schreiben. Wir versuchen die Grundlagen möglichst einfach
zu erklären.
Artikel#3: Werde
mit Quake3 C vertraut von HypoThermia
Programmieren ist gut. Gut programmieren ist besser. Alleine durch die Plattformunabhängigkeit
von Quake3 gibt es einige spezielle Sachen zu beachten, bevor man wie wild losprogrammiert.
Artikel#4: Compilieren auf anderen Plattformen/Compilern ( Teil I ) von HypoThermia
Hier geht es um die Grundlagen des Compilens, worauf man achten sollte, und welche Fehlermeldungen einen erwarten können.
Artikel#5: Compilieren auf anderen Plattformen/Compilern ( Teil II ) von HypoThermia
Basierend auf dem Wissen des vorherigen Artikels vertieft man sich hier in der Welt der Compiler. Dabei werden u.a. spezielle Abfragen bei der Benutzung des Borland Compilers erklärt.
Spezielle Artikel, nur für die deutsche Version
geschrieben:
Artikel#X1: Flags und Bitfelder von [Win]Elchtest
Zur Manipulation bestimmter Statuseigenschaften benötigt man
sogenannte "Flags". Wie man mit diesen arbeitet, erfährst du hier.
Artikel#X2: Compilieren mit den ID Compilern (win32) von TTK-Bandit
Leider kommt es bei einigen immer noch zu Schwierigkeiten beim Compilieren und Ausführen der eigenen Projekte.
Dieses Tutorial wird nun endgültig Abhilfe schaffen!