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!