Tutorial: Natürliche Beschleunigungen by Codo

Dies ist eine Fortsetzung zum Tutorial „Natürlich wirkende Animationen bei menschlichen Charakteren”.

Beschleunigungen

Einer der Hauptgründe, warum Animationen häufig seltsam aussehen, ist ein falsches Beschleunigungsverhalten und falsche Reaktionen des Körpers auf äußere Beschleunigungen.

Dies liegt meistens daran, wie Animationen häufig erstellt werden: Man bestimmt Anfang und Endpunkt einer Bewegung, und das Programm berechnet die Bewegung zwischen diesen beiden Punkten. Das führt oft dazu, dass die Bewegung auf die Frames oder Keys (Ankerpunkte der Animation) in gleichmäßigen Zeitabständen aufgeteilt wird.

Beispiel: Ein Körper soll sich auf gerader Strecke bewegen. Überlässt man die Animation der Bewegung nun dem Programm, bekommt man unter Umständen eine solche Aufteilung. Der Pfeil zeigt in eine Raumrichtung, beispielsweise die x-Achse, die Zahlen stehen für die Nummer des Frames.

Das sieht zwar schön gleichmäßig aus, aber warum das häufig schlecht ist, und wie man es besser machen sollte, wollen wir heute klären. Dafür müssen wir ein bisschen Theorie machen, aber das ist schnell geschafft.

Beschleunigung — die Theorie

Zunächst müssen wir erst Mal den Begriff klären: Was ist eine Beschleunigung? Es ist die Veränderung einer Bewegung. Aber wann verändert sich eine Bewegung? Das lässt sich in zwei Punkte unterteilen:

Die Geschwindigkeit ändert sich
Fährt man auf die Autobahn, erhöht man die Geschwindigkeit. Dementsprechend fühlt man auch, wie man in den Sitz gepresst wird. Fährt das Auto aber erst einmal mit konstanter Geschwindigkeit, fühlt man auch keinen Druck mehr, auch wenn man mit 300 km/h über eine deutsche Autobahn donnert.

Als Änderung der Geschwindigkeit gilt natürlich genauso auch eine Verlangsamung. Im allgemeinen Sprachgebrauch nennt man es nur nicht Beschleunigung, aber physikalisch ist Bremsen auch eine Beschleunigung.

Die Richtung ändert sich
Auch das ist eine Beschleunigung. Man merkt es im Auto, wenn man in eine Kurve fährt, wie man zur Seite gedrückt wird. Auch ein sich mit gleicher Geschwindigkeit im Kreis bewegender Körper wird also ständig beschleunigt.

Merke: Sich auf einer geraden Bahn mit konstanter Geschwindigkeit bewegende Körper werden nicht beschleunigt.

Trägheit

Wir wissen, was Beschleunigungen sind, und daraus leitet sich praktisch unmittelbar ab, was Trägheit ist. Alles was eine Masse hat, wehrt sich sozusagen gegen jegliche Beschleunigung. Ein ruhender Gegenstand will einfach da bleiben, wo er ist.

Merke: Je schwerer ein Körper ist, umso mehr Kraft muss auf ihn ausgeübt werden, damit er sich in Bewegung setzt.

Aber genauso wird er etwas dagegen haben, wenn man ihn wieder stoppen will, oder seine Bewegungsbahn von seiner geraden Linie lenken will.

Merke: Ein sich bewegender Körper will in seiner (geradlinigen) Bewegung bleiben. Es wird Kraft benötigt, um ihn abzubremsen oder seine Richtung zu ändern.

Beschleunigungen in Animationen

So, die Theorie haben wir! Jetzt schauen wir mal, was wir mit dem Wissen anfangen können.
Ein menschlicher Körper ist als ganzes eine träge Masse. Man muss also Kräfte ausüben, um ihn in Bewegung zu setzen oder diese Bewegung zu verändern. Aber auch einzelne Körperteile, z.B. ein Arm oder ein Bein, sind träge Körper.

Und wie setzt man nun überhaupt Beschleunigung und Trägheit in der Praxis um? Im Grunde ist es einfach. Man sollte einfach Bewegungen vermeiden, die von 0 auf 100 (oder umgekehrt) in 0 Sekunden beschleunigen. Das ist in dem oben gezeigten Diagramm der Fall, wenn man davon ausgeht, dass das Würfelchen am Anfang und Ende liegen soll.

Merke: Eine beschleunigte Bewegung fängt langsam an und wird dann immer schneller.

Im Diagramm sieht das dann so aus.

In den ersten Frames wird noch nicht viel Weg zurück gelegt, aber die Abstände werden in den späteren Frames immer größer. Wer es genau wissen will: Der zurückgelegte Weg wird mit dem Quadrat der Zeit größer (multipliziert mit einem Faktor, der die Größe der Beschleunigung festlegt).

Beispiel:

  • 1 Sekunde, 1 Meter
  • 2 Sekunden, 4 Meter
  • 3 Sekunden, 9 Meter
  • 4 Sekunden, 16 Meter
  • 5 Sekunden, 25 Meter

Der ganze Prozess rückwärts ist dann übrigens schon das Bremsen!

Doch halt, würde das nicht bedeuten, dass der Körper sich irgendwann unendlich schnell bewegt? Ja. Aber in der Realität sorgen Reibungskräfte dafür, dass irgendwann eine konstante Geschwindigkeit erreicht wird.

Noch einmal zum Vergleich: So sieht eine unbeschleunigte Bewegung aus.

Der pro Frame zurückgelegte Weg ist immer gleich groß.

Natürlich beschleunigen nicht alle Körper gleich schnell. Je mehr Kraft aufgewendet wird, und / oder je leichter sie sind, desto schneller beschleunigen sie. Man muss hier nicht herum rechnen, aber man sollte ein intuitives Gefühl entwickeln, wie beschleunigte Bewegungen aussehen.

Merke: Alle Bewegungen haben eine Beschleunigungs- und eine Bremsphase. Wirklich alle!

Manchmal ist sie nur sehr kurz. Aber sie ist immer da. Das gilt auch nicht nur für den Körperschwerpunkt sondern auch für die einzelnen Körperteile! Je größer und schwerer der Körperteil, desto deutlicher sollte die Trägheit dargestellt werden.

Wie sich ein menschlicher Körper selbst in Bewegung setzt

Jetzt wollen wir mal schauen, inwiefern uns die Theorie hilft, Animationen von menschlichen Charakteren zu verbessern.

Möglichkeit 1) Muskelarbeit
Natürlich sind Muskeln die Grundlage sämtlicher Bewegungen, aber hier meine ich Bewegungen die ausschließlich auf Kontraktion der Muskeln basieren. Ein Beispiel ist Abspringen aus der Hocke.

Möglichkeit 2) Schwerkraft
Man kann sich insbesondere beim Anlaufen auch die Schwerkraft zu Nutze machen. Besonders extrem wird dies beim Start von Sprintern deutlich. Auf Wikipedia habe ich folgende Briefmarke gefunden:

Niemand würde in einer solchen Position stehen können (siehe erstes Tutorial). Wozu dann diese extrem vorgebeugte Haltung? Das Vorbeugen in der Beschleunigungsphase verhindert das Umfallen nach hinten! Man stelle sich jemanden vor, der kerzengerade steht. Würden dessen Beine jetzt plötzlich losrennen, würde der Oberkörper aufgrund seiner Trägheit verharren, und die Beine würden unter ihm nach vorn weglaufen. Der Sprinter muss sich also genau so stark vorbeugen, dass die Schwerkraft den eben beschriebenen Effekt kompensiert. Je näher er seiner Endgeschwindigkeit kommt (desto kleiner die Beschleunigung wird), desto aufrechter wird sein Sprint. Das ist also keine Option, sondern eine Notwendigkeit.

Möglichkeit 3) Ausholen

Als Ausholen bezeichne ich Bewegungen, die erst einmal in die scheinbar falsche Richtung gehen, um die eigentliche Bewegung einzuleiten. Das kann mehrere Zwecke erfüllen.

  • Man verlängert den Weg, der für eine Beschleunigung zur Verfügung steht. So kann eine höhere Geschwindigkeit erreicht werden. Ein Ball fliegt weiter, wenn man ihn mit einer weiten Ausholbewegung wirft, da er auf dem längeren Armweg stärker beschleunigt werden kann.
  • Man setzt Muskeln in einem für sie effektiveren Bereich ein oder macht die Bewegung dadurch erst möglich. Aus einer nur leichten Kniebeuge springt man schlechter ab als aus einer tiefen. Siehe auch Punkt 1.
  • Man kann durch Ausholbewegungen die Schwerkraft ausnutzen. Man stelle sich eine sehr schwere Kugel vor, die an einem langen Seil befestigt ist. Will man sie zum Schwingen bringen, gibt es eine schlaue, und eine weniger schlaue Möglichkeit:
    • Man schiebt die Kugel aus der Ruheposition an.
    • Man zieht die Kugel etwas zurück und stößt sie dann nach vorne.

    Garantiert kommt man mit B) weiter, da hier auf dem Abwärtsweg Beschleunigung durch die Schwerkraft „geschenkt” wird.

Hier ein Beispiel für eine typische Ausholbewegung. Lara nimmt ihre Arme vor dem Absprung nach hinten, um sie dann in einer sehr schnellen Bewegung nach oben zu werfen. Die Arme erzeugen eine Beschleunigung in die Sprungrichtung, so dass die Bewegung unterstützt wird.

Abbremsen

Auf Grund der Komplexität des menschlichen Körpers ist Abbremsen nicht das gleiche wie in Bewegung setzen. Natürlich sind immer noch die gleichen Regeln am Werk, aber man kann auch hier ein paar vereinfachte, typische Abläufe feststellen.

Möglichkeit 1) Muskelspannung
Unsere Muskeln können nicht nur eine Bewegung auslösen, sondern auch eine Bewegung stoppen. Wenn man dies allerdings zu abrupt animiert, sieht es unglaubwürdig aus.

Ein schönes Beispiel ist die Vorwärtsrolle aus dem Sprinten in die Hockposition.

Lara kommt bereits in Phase 2 in der Endposition an, aber ihr Körper will sich auf Grund der Trägheit noch weiter bewegen. In Phase 3 sieht man den Oberkörper daher ein wenig nach vorne kippen, was sie dann durch Anspannung der Muskulatur kompensiert. Diese subtile Kippbewegung macht die ganze Animation glaubwürdiger als wenn sie nach einer derartig schnellen vorangehenden Bewegung plötzlich in der Hockposition „versteinert.”

Möglichkeit 2) Schwerkraft

Man kann auch die Schwerkraft ausnutzen, um eine Bremsbewegung zu unterstützen. Hier ebenfalls ein Beispiel für Abbremsen nach dem Sprinten. Lara lehnt sich leicht zurück. Würde sie nicht schnell unterwegs sein, wäre diese Haltung sehr instabil.

Quiiiieeetsch.

Indem die Kraft, die Lara sonst nach hinten umfallen lassen würde, mit der Vorwärtsbewegung überlagert wird, wird ein Teil dieser kompensiert, so dass das Abbremsen leichter fällt. Mit dem Fuß über den Boden zu schaben erzeugt auch eine Menge Reibung, so dass noch mehr Bewegungsenergie abgebaut wird.

Möglichkeit 3) Ausholen
Das geht auch beim Bremsen! Schaut mal hier die Arme von Lara an, wenn sie nach einer Rutschpartie rückwärts auf festen Boden ankommt.

Nichts geht mehr?

Hier noch ein paar Tipps, wie man vorgehen kann, wenn Animationen seltsam aussehen, aber man nicht so recht weiter kommt. Manchmal sieht man eben den Wald vor lauter Bäumen nicht mehr, wenn man zu lange an etwas herum gewerkelt hat.

Lass die Animation rückwärts laufen.
Genauso wie es bei einer Zeichnung helfen kann, sie auf den Kopf zu drehen oder mit Hilfe von durchscheinenden Licht von Hinten anzuschauen, kann eine Veränderung der Perspektive helfen, die Animation objektiver zu beurteilen.

Lass die Animation langsam oder schnell laufen.
Auch eine Veränderung der zeitlichen Perspektive kann hilfreich sein. Vor allem die langsam laufende Animation zeigt häufig Fehler im Beschleunigungsverhalten.

Einzelne Punkte anschauen
Je nachdem, mit welchen Programm man arbeitet, hat man die Option, sich sogenannte Bewegungsbahnen der einzelnen Meshes anzuschauen. Hier sieht man sehr schön, wenn es irgendwelche Phasen in der Bewegung gibt, die „ausreißen.” Das müssen keine Fehler sein, aber es lohnt sich, solche Stellen zu überprüfen.

Allgemein kann man sagen, dass Bewegungsbahnen eher Kreisen, Ellipsen und Schlaufen beschreiben sollten. Auch enge Schlaufen, die zu Umkehrpunkten verengt sind, sind in der Regel in Ordnung. Vermeiden sollte man Quadrate oder andere Vielecke. Auch wenn die Bewegungsbahn aussieht wie die Krabbelspur einer betrunkenen Ameise sollte man noch mal genauer hinschauen.

Was anderes machen
Ernsthaft. Nach einer Nacht oder einen Spaziergang später ist man ein besserer, eigener Kritiker als nach fünf Stunden Arbeitsmarathon.

Wenn du diesen Text oder Teile davon anderswo veröffentlichen möchtest, frage bitte uns oder Codo vorher um Erlaubnis. Vielen Dank!

Dieser Content wurde im Rahmen des TRForge Adventskalenders 2012 erstellt.
Falls vom Autoren selbst nicht anders angegeben, respektiere bitte die allgemeinen Benutzungsrichtlinien zur Nutzung von TRForge-Inhalten.

Tutorial: Natürliche Animationen by Codo

Natürlich wirkende Animationen bei menschlichen Charakteren

Neue Animationen sind mehr als nur eine optische Spielerei. Sie können auch das Gameplay eines Levels aufwerten. Selbst bei Gegnern mit neuen Meshes und Texturen verraten die klassischen Animationen schnell, um welchen es sich eigentlich handelt. Und wenn Lara auf einmal an neue Orte klettern oder springen kann, ist das doch auch sehr nett. Außerdem werden für Cutscenes häufig neue Animationssequenzen benötigt.

Es gibt verschiedene Möglichkeiten, Animationen für den Gebrauch im Tomb Raider Leveleditor zu erstellen oder zu verändern. Dieses Tutorial behandelt NICHT diese technischen Aspekte. Wer sich dafür interessiert, sollte hier nachschauen:

Creating Custom Animations

Hier geht es also nur ganz allgemein um Positionen und Animationen von menschlichen Charakteren. Es ist daher komplett unabhängig davon, mit welchen Tools gearbeitet wird. Ich werde zwar immer Lara als Beispiel benutzen, es gilt aber genauso für jede andere menschliche oder menschenähnliche Figur. Möglicherweise hilft das Tutorial dem einen oder anderen auch in anderen Bereichen, zum Beispiel beim Zeichnen. Jetzt aber los!

Warum wirken so viele Animationen „steif” oder „seltsam”?

Es fällt jedem auf, wenn eine Animation nicht richtig ist. Aber nicht jeder kann erkennen, was der Grund dafür ist. Ist es der Oberkörper? Die Beine? Alles zusammen? Wer selbst animieren möchte, sollte seine Wahrnehmung für solche Nuancen schärfen.

Die ernüchternde Nachricht zuerst: Position und Bewegung von Körpern ist hoch komplex und unterliegt unzähligen physikalischen Gesetzen.
Die erleichternde Nachricht: Es muss gar nicht perfekt sein.

Tatsächlich empfinden wir von Motion Capturing erfasste Bewegungen sogar häufig als unnatürlich. Offenbar gibt es dabei auch eine Art Uncanny Valley.
Wir befinden uns immer noch in einem Computerspiel, da ist Vereinfachung und übertreibung erlaubt und erwünscht. Es reicht daher, die wichtigsten Dinge im Gedächtnis zu behalten und zu lernen, auf seine Intuition zu hören. Unbewusst haben wir nämlich großes Wissen darüber abgespeichert, wie Bewegungen aussehen müssen. Und nun die erste große Erkenntnis, die ganz allgemein gilt.

Merke: Betrachte das Po-Mesh als Ausgangspunkt aller Bewegungen. Fange hier die Animation an!

Das ist natürlich mit mehr Arbeit verbunden, als den Po ruhig zu halten und nur die Gliedmaßen zu bewegen. Kippt man den Po beispielsweise, dreht sich der komplette Körper mit, so dass man Oberkörper und Beine wieder in die Vertikale zurückdrehen muss. Aber die Arbeit ist es wert. Die folgenden Beispiele zeigen, dass man selten darauf verzichten kann, das Po-Mesh zu animieren.

Korrekte Körperhaltung und langsame Bewegungen

In diesem Kapitel geht es um Körper in Ruhe und in Bewegungen, die in jeder Phase gestoppt werden können, ohne dass die in der Bewegung eingefrorene Figur umfallen würde. Dies ist beispielsweise beim Gehen der Fall, beim Laufen aber nicht mehr.

Und so findet man raus, ob eine Ruheposition stabil ist:
Das Po-Mesh ist nicht nur deswegen wichtig, weil es der „Anker” der restlichen Körperteile ist. Der Körperschwerpunkt befindet sich bei jedem Menschen mehr oder weniger innerhalb des Bauches etwas oberhalb der Hüften, zumindest wenn er aufrecht und frei im Raum steht. Will man überprüfen, ob die Füße so stehen, dass die Figur nicht umkippt, ist die Vorstellung hilfreich, dass zwischen ihren Beinen ein Gewicht an einem Band baumelt. Okay, das sieht sehr, sehr seltsam aus.

Schwerpunkt

Nun stellt man sich außerdem vor, um die Außenseite der Füße wäre ein Gummiband gespannt. Befindet sich das Gewicht nun auf der Fläche, die vom Gummiband aufgespannt ist, steht die Figur sicher. Das gilt allerdings nur, wenn der Oberkörper aufgerichtet ist!

Merke: überlege dir, wo der Schwerpunkt des Körpers liegt, und passe die Pose entsprechend an.

Nun ein kleines Beispiel. Lara soll lässig mit eingeknickter Hüfte herumstehen. Da drehe ich erst einmal das gesamte Objekt um das Basismesh, den Popo. Dann müssen Beine und Oberkörper wieder in Richtung der Horizontalen gedreht werden.

Hüfte gedreht (1) Hüfte gedreht (2)

Im Bild rechts habe ich das linke Bein weiter unter den Körper geschoben. Warum das? Menschen stehen so, weil damit ein Bein entlastet wird, in diesem Fall das rechte. Das linke trägt also mehr vom Körpergewicht, daher ist es dichter am Körperschwerpunkt (denkt an das baumelnde Gewicht!) Diese Pose ist dennoch reichlich seltsam. So sieht es nach ein paar kleinen Korrekturen aus:

Hüfte gedreht (3)

Schon viel besser, oder nicht? Was habe ich da gemacht? Zunächst habe ich den rechten Arm hängen lassen. Es würde sonst Kraft kosten, ihn in der vorherigen Position zu halten. Ein etwas subtilerer, aber sehr wichtiger Schritt ist es auch, die Schultern der Hüfte anzupassen. Genau hinsehen: Die linke Schulter hängt jetzt tiefer als die rechte. So wirkt die Pose entspannter und stabiler.

So sollte man es nicht machen:

Tomb Raider Legend

Aaaaah.

Merke: Die Position der Hüfte und Schultern ist sowohl in statistischen Positionen als auch in Bewegungen fast immer entgegen gesetzt.

Zurück zu unserem Beispiel. Auch wenn jetzt von der Statik her die Pose in Ordnung ist, wirkt sie noch etwas verkrampft. Wer will, kann sich ja mal probeweise so hinstellen. Man fühlt sich wie ein Gorilla, nicht wahr? Wohin nur mit den verdammten Händen? Nun ist nicht gerade „zufällig” ein Bier oder eine Zigarette zur Hand, an der Lara sich lässig „festhalten” kann. Also was nun? Schauen wir uns an, was Profis machen, die oft mit leeren Händen in der öffentlichkeit herumstehen müssen.

Merkel

Nee, dann nehmen wir doch lieber eine Pose aus dem Modekatalog.

Modelpose

Merke: Hat deine Figur gerade nichts zu tun, lasse sie möglichst nicht wie einen Gorilla mit betäubten Armen herumstehen.

Endlich wissen wir, warum man Lara auf Wallpapern selten ohne ihre Waffen sieht. 😉

Gehen-Animation

Ich widme dem Gehen hier ein eigenes kleines Unterkapitel, da es wohl die Bewegung ist, die am häufigsten für Cutscenes erstellt wird. Gehen ist eine recht komplexe Abfolge von Bewegungen, aber mit dem bisher Gelernten sollte es schon möglich sein, eine halbwegs anständige Animation zu erstellen.

Hier sind ein paar Punkte, die man sich klar machen sollte.

  • Ein Fuß bleibt immer im Kontakt mit dem Boden.
  • Die Füße bleiben normalerweise in jeder Phase der Bewegung parallel und etwa hüftbreit auseinander. Es gibt aber auch andere Gangarten. Strebt man einen natürlichen Eindruck an, sollte man sich keine weiblichen Laufstegmodels als Referenz nehmen. Diese laufen meist mit beiden Füßen auf einer gerade Linie, oder überkreuzen diese Linie sogar. Männer neigen dazu, die Füße nach außen zu drehen.
  • Die Hüfte knickt leicht (!) auf der Seite des Beines nach oben ein, das gerade den Großteil des Körpergewichtes trägt. Die Schulter auf der Seite bewegt sich entsprechend der Hüfte-Schulter-Gegenbewegung leicht nach unten.
  • Ebenso dreht sich die Hüfte leicht (!) mit nach vorne, wenn der Fuß auf dieser Seite nach vorne geht, und die Schulter gleichzeitig nach hinten. Die übertreibung dieser Schulterbewegung führt zu einem machohaften Gang.
  • Die Arme schwingen entgegengesetzt zu den Füßen. Bei der Armbewegung sollte man es nicht übertreiben, allerdings sollte man auch nicht den Gorilla mit betäubten Armen machen.

Hier ein kleines Beispiel, in dem dies alles zur Anwendung kommt.

Die erste Animation zeigt, wie wichtig es ist, die Hüfte und den Torso zu animieren. Die ganze Bewegung sieht grauenhaft steif aus. Die zweite Animation beinhaltet dagegen ein leichtes Auf und Ab bei jedem Schritt und die Hüfte-Schulter-Gegenbewegungen. Ich habe sie hier absichtlich sehr subtil gemacht, so dass man sehen kann, wie stark sich bereits diese kleinen aber wichtigen änderungen auf den Gesamteindruck auswirken.

Der Nachteil der zweiten Methode ist, dass es viel länger dauert. Ich habe für die zweite Animation mehr als dreimal so viel Zeit benötigt wie für die erste, da mit jeder Bewegung der Hüfte auch Torso und Beine wieder „korrigiert” werden müssen. Und die Animation ist noch lange nicht perfekt!

Merke: Es gibt keinen Weg daran vorbei, dass gutes Animieren viel Zeit kostet.

Verlagerung des Schwerpunktes

Nun ein weiteres Szenario: Lara möchte aus dem Stehen etwas aufheben, das vor ihren Füßen liegt. Ist doch einfach, oder? Man bückt aus der Hüfte mit dem Oberkörper nach vorne, und dann führt man noch einen Arm runter. Richtig?

Bücken (1)

Nee, sieht komisch aus.

Versucht doch mal, euch mit dem Rücken an die Wand zu stellen und durch Bücken etwas hochzuheben, das direkt vor euren Fußspitzen liegt. Wenn es klappt: Glückwunsch, sehr gute Körperkontrolle. Den meisten wird es nicht gelingen. Der Grund dafür ist die Verlagerung des Körperschwerpunktes durch das Vorbeugen des Oberkörpers. Unsere Muskeln können zwar einen Teil der Schwerpunktverlagerung kompensieren, so dass wir unsere Haltung nicht verändern müssen. Dies ist jedoch sehr anstrengend, daher neigen wir eher dazu, mit dem Körper auszuweichen. Das Gewicht des Oberkörpers geht hier beim Bücken nach vorne, daher wandert der Körperschwerpunkt zu den Zehenspitzen und darüber hinaus. Wenn wir nicht gerade mit dem Po an der Wand stehen, gleichen wir das aus, indem wir den Po über die Hacken schieben. Darüber müssen wir gar nicht nachdenken. Als Baby haben wir nämlich oft genug einen Swan-Dive ins Parkett gemacht, so dass sich die richtige Bewegung in unser Muskelgedächtnis eingebrannt hat. So ist es richtig. Die Veränderung ist wieder sehr subtil, aber der Unterschied ist enorm.

Bücken (2)

Wer kommt auch mit den Fingern an die Zehenspitzen? Naaaa? 😀
Lara ist sehr gelenkig, daher wird sie diese übung wohl problemlos bewältigen. Wer es weniger nach Turnhalle aussehen lassen möchte, lässt sie etwas in die Knie gehen, damit die Muskeln auf der Beinrückseite nicht so stark gedehnt werden müssen.

Bücken (3)

Nur sehr damenhaft ist die Pose nicht geworden. o.O

Bücken (4)

Aber darum ging es in dem Beispiel ja auch nicht. 😉

Merke: Entscheide, ob eine Bewegung akrobatisch/angespannt oder entspannt/beiläufig aussehen soll. Im letzten Fall solltest du starke Belastungen oder Dehnungen der Muskeln vermeiden und entlastende Ausweichbewegungen einbauen.

Ein bisschen Studium der wichtigsten Muskelgruppen und ihren jeweiligen Funktionen schadet daher nicht. 😉

Tragen von Gegenständen

Was passiert eigentlich, wenn man einen schweren Gegenstand hält? Das ist mit dem bisher Gelerntem einfacher umzusetzen als es aussieht. Man betrachtet Körper und Gegenstand als eine Einheit und überlegt sich wieder, wo der Schwerpunkt ungefähr liegt. Wer eine schwere Kiste trägt, muss es also irgendwie schaffen, den Gesamtschwerpunkt aus Körper und Kiste wieder auf die imaginäre Fläche zwischen den Füßen zu bekommen, ansonsten fliegt man auf die Nase. Ein paar Möglichkeiten, die mehr oder weniger praktikabel sind:

Tragen

Mit der ersten, etwas eigenwilligen Haltung ruiniert man garantiert seinen Rücken. Die zweite fällt nicht jedem gleich ein, aber der Rücken wird es einem danken. Die rechte Version dürften die meisten für kurze Strecken verwenden.

Merke: Für das Tragen von Gegenständen gelten die gleichen Regeln wie für den gesamten Körper. Betrachte Körper und Gegenstand als Einheit.

Mit dem ganzen Körper Kraft auf einen Gegenstand ausüben

Schiebt Lara einen schweren Gegenstand, zieht an einer Kette oder drückt eine Platte in die Wand verlagert sie ebenfalls ihr Gewicht, um die Kraft ihrer Muskeln zu unterstützen. Man verleiht den Bewegungen sozusagen „Nachdruck.”
Dieser Wandschalter hier sieht beispielsweise sehr leichtgängig aus.

Wandschalter (1)

Wie kann man es schaffen, damit es aussieht als hätte Lara etwas mehr zu kämpfen, so wie man es bei einem antiken Mechanismus erwarten würde? Man lässt sie das Gewicht ihres Oberkörpers einsetzen. Schauen wir uns die klassische Wandhebel-Animation an.

Wandschalter (2)

Beim Herunterziehen hängt sie sich ein wenig an den Schalter, so dass ihr Gewicht mitzieht. In der zweiten Phase stützt sie sich mit dem Oberkörper auf den Schalter. Sieht schon mehr nach Arbeit aus, oder? Wenn die Muskelkraft nicht ausreicht, kann es notwendig sein, das gesamte Körpergewicht einzusetzen.

Wandschalter (3)

Merke: Muskelarbeit alleine sieht meist nach wenig Bemühungen aus. Setze zusätzlich Verlagerung des Schwerpunktes ein.


Wenn du diesen Text oder Teile davon anderswo veröffentlichen möchtest, frage uns oder Codo bitte vorher um Erlaubnis. Vielen Dank!

Dieser Content wurde im Rahmen des TRForge Adventskalenders 2012 erstellt.
Falls vom Autoren selbst nicht anders angegeben, respektiere bitte die allgemeinen Benutzungsrichtlinien zur Nutzung von TRForge-Inhalten.

Tutorial: Items am Rand eines Feldes platzieren by uranos1

Wer sich mit dem Levelbau auch nur ein bisschen befasst hat, weiß, dass alle Level in einer Blockstruktur aufgebaut sind. Nach diesem Raster aus Quadraten richtet sich auch die Objektplatzierung aus. Wenn man ein Objekt im Level platzieren will, kann man es nicht frei irgendwo hin setzen. Es kann nur auf einem bestimmten Bodenquadrat platziert werden, wo es dann in der Mitte sitzt. Sicher kann das Objekt auch so gestaltet sein, dass es am Rand eines Feldes erscheint. Beim Drehen kann es dann an alle Ränder bewegt werden, allerdings nicht in die Mitte. Will man ein Objekt im Level einmal am Rand und einmal in der Mitte eines Bodenfeldes haben, muss man es in zwei verschiedene Objekt-Slots kopieren. Nun, das ist zwar ein wenig umständlich, aber kein großes Problem.
Es gibt aber Objekte, wo das nicht so einfach möglich ist. Items, zum Beispiel, die Lara aufsammeln kann. Auch wenn man das Objekt so verändert, dass es am Rand eines Quadrates erscheint, muss Lara doch wieder in der Mitte stehen, um es aufsammeln zu können. Aber das ist eben der Leveleditor, da kann man nichts machen, richtig?
Falsch!
Wenn wir mal überlegen, gab es das bis TR3 noch. Und tatsächlich ist es auch im Leveleditor möglich. Und dazu braucht man keine aufwändigen Patches oder außergewöhnliche Levelbau-Fähigkeiten. Nur einen kleinen Trick.

Der grundlegende Trick ist ganz einfach: Man platziert das Item einfach an der Wand! Nun ganz so einfach ist es tatsächlich nicht, denn wenn man es einfach so probiert mit „Place Object“ und dann eine Wand anklickt, landet das Objekt nur IN der Wand, und auch wieder in der Mitte. Also platziert man das Objekt zuerst einmal vor der Wand auf dem Boden. Jetzt kommt der eigentliche Trick. Man wählt das Objekt aus und wählt dann im Menü „Move Object“. Damit kann man Objekte innerhalb eines Raumes an eine andere Stelle setzen. Das ist ganz praktisch, weil dabei alle Trigger des Objektes erhalten bleiben, und man sie nicht neu setzen muss, was der Fall wäre, wenn man es löschen und neu setzen würde. Jedenfalls kann man mit „Move Object“ ein Objekt nicht nur auf ein anderes Bodenfeld versetzen, sondern auch an eine Wand!

Dabei sollte man allerdings nur Wände wählen, die in der 2D-Ansicht unten oder rechts liegen. Wenn man es an den beiden anderen Wänden versucht, tauchen die Items stattdessen häufig einfach irgendwo anders auf.

Nun kann man das Item auch einfach so lassen. Man kann es noch passend drehen, das funktioniert genauso wie sonst auch. Und dann hat man ein Item an der Wand, das man ohne Brechstange mitnehmen kann. Sicher praktisch bei Items, die nicht mit der Brechstange funktionieren: Warum nicht einmal eine Torch an der Wand befestigen, die man direkt einsammeln kann? Damit das Einsammeln funktioniert sollte man natürlich 3 oder 4 im OCB eintragen, damit Lara die Animation ausführt, als wenn sie etwas von einem Podest nimmt.

Mit Floor+ oder Q auf der Tastatur kann man das Item nun auch von der Wand wegbewegen. Wenn man ein Item am Boden platziert, bewegt es sich so nach oben. Platziert man es an der Decke, bewegt es sich so nach unten. Ist es nun aber an der Wand platziert, bewegt es sich so gerade von der Wand weg in den Raum hinein. Achtmal bewegt, ist es ein Square weiter. Was bedeutet, dass es dazwischen nun 7 neue Positionen einnehmen kann, die beim normalen Platzieren auf dem Boden nicht möglich waren. Man kann ein Item bis ganz durch den Raum zur gegenüberliegenden Wand bewegen. Deshalb macht es auch nichts, dass das Ganze nur an zwei Wänden funktioniert. Allerdings sollte man ein Item nicht weiter aus dem Raum herausbewegen.

Wenn man mit Floor+ nun aber nicht mehr die Höhe ändert, wie stellt man sie dann ein? Dies muss man nun durch die Einteilung der Wand machen. Denn so wie ein am Boden platziertes Item immer in der Mitte des Squares liegt, befindet sich ein an der Wand platziertes Item in der Mitte des Wandsegments. Wenn eine Wand von null Click bis acht Click Höhe geht, befindet sich ein daran platziertes Item in vier Click Höhe. Zieht man nun die Deckeneinteilung auf vier Click Höhe herunter, geht das Wandsegment nur noch von null bis vier Click und das Item ist nun auf zwei Click Höhe. Das wäre z.B. genau die richtige Höhe für ein niedriges Podest (OCB 4). Natürlich kann man auch die Bodeneinteilung anheben, um so das Item höher zu bekommen.

Nun braucht man die Einteilung der Wand, aber normalerweise für die Texturierung, für die man vielleicht eine andere Einteilung der Wand bräuchte als für das Item. Außerdem kann man es so nicht bis auf Bodenhöhe herunter bewegen. Deshalb braucht man zuweilen noch einen weiteren Trick die Wand hinter der Wand. Dazu macht man den Raum einfach zwei Squares größer nach rechts und/oder unten und zieht eine Reihe Walls ein. Das ist nun unsere eigentliche sichtbare Wand. Diese kann man nun so einteilen wie man will. Die Wand dahinter kann man nun nutzen, um seine Items zu platzieren, und Decke und Boden so einstellen, dass sich die Items auf der richtigen Höhe befinden.

Grundsätzlich lassen sich alle Objekte so platzieren. Bei einigen kann es aber sein, dass sie dann nicht mehr richtig funktionieren. Pushables z.B. lassen sich nicht mehr verschieben, wenn sie nicht mittig auf einem Square stehen.
Beim Triggern sollte man beachten, dass der Trigger, z.B. bei Schaltern, dort platziert werden muss, wo sich das Objekt schließlich befindet, und nicht zwangsläufig an der Wand.

So, ich hoffe, das Tutorial war hilfreich und in der Zukunft werden Items nicht mehr immer nur langweilig in der Mitte eines Ganges herumlungern, sondern auch mal etwas versteckt in den Ecken anzutreffen sein.

Viel Spaß beim Levelbau!

Dieser Content wurde im Rahmen des TRForge Adventskalenders 2011 erstellt.
Falls vom Autoren selbst nicht anders angegeben, respektiere bitte die allgemeinen Benutzungsrichtlinien zur Nutzung von TRForge-Inhalten.

Tutorial: Realistische Spielphysik by Codo

Die klassische Tomb Raider Engine ist weit davon entfernt, eine physikalisch korrekte Welt darzustellen. Lara springt weiter und höher als jede Olympiasiegerin, es werden riesige Felsquader mit Leichtigkeit verschoben, die Wasserwellen ähneln eher einer gespannten Folie als echtem Wasser…
Aber für gutes Gameplay ist auch nicht zwangsläufig notwendig, die natürliche Welt perfekt nachzubauen. Absichtlich gebrochene Regeln können einen besonderen spielerischen und atmosphärischen Reiz ausmachen.

Wer aber Wert darauf legt, ein möglichst realistisch erscheinendes Level zu bauen, sollte zumindest versuchen, einige grobe Fehler zu umgehen, sofern die Engine dies überhaupt zulässt. Vielen Spielern wird das womöglich nicht einmal auffallen, aber man kann Realismus beispielsweise sehr gut als Grundlage für Rätsel benutzen. Wie vieles ist dies eine persönliche Entscheidung. Dieses Tutorial ist keinesfalls als Belehrung zu verstehen sondern als Gedankenanstoß. Natürlich erhebt es auch keinen Anspruch auf Vollständigkeit.

Verbundene Wasserräume

Flüssigkeiten haben einige Eigenschaften, die uns intuitiv teilweise seltsam vorkommen. Eines davon ist das sogenannte Prinzip der Kommunizierenden Röhren.
Es besagt, dass alle Gefäße/Räume den gleichen Wasserstand einnehmen, wenn sie miteinander verbunden werden.

Das erscheint simpel, wird aber dennoch gerne vergessen. Der Grund für dieses Verhalten ist sogar ziemlich kompliziert: Der Druck am Boden eines wassergefüllten Gefäßes ist alleine abhängig von dem Füllstand, aber unabhängig von dem Füllvolumen und der Geometrie des Gefäßes. Aber wir wollen hier nicht zu sehr ins Detail gehen. Wichtig ist die Konsequenz: Selbst ein riesiger Wassertank wird mit einer verbundenen dünnen Röhre den gleichen Füllstand einnehmen.

Strömungen

Ein beliebtes Spielelement sind Strömungen. Aber wie bekommt man sie halbwegs realistisch hin? Auch hierbei ist es nicht unbedingt intuitiv klar, wie sich die Strömungsgeschwindigkeiten mit den Raumgeometrien verändern.
Nehmen wir zum Beispiel eine Röhre, die sich auf die Hälfte ihres Durchschnittes reduziert. Wird das Wasser gleich schnell, langsamer oder schneller strömen?

Es strömt schneller! Die Geschwindigkeit ist umgekehrt proportional zum durchströmten Querschnitt. Das ist merkwürdig, denn woher kommt diese Beschleunigung? Die Ursache ist, dass Flüssigkeiten (fast) nicht zusammendrückbar sind, daher fließt durch jeden Abschnitt des Rohres die gleiche Flüssigkeitsmenge. Ist der Strömungsquerschnitt verengt, kommt es daher zu einem Druck- und Geschwindigkeitsanstieg.

Wasser und Eis

Wie wäre es mit einem Rätsel, bei dem man einen im Wasser frei schwimmenden Eisblock schmelzen muss, um den Wasserstand zu erhöhen? Leider ist das komplett unrealistisch. Der Wasserstand wird nach dem Schmelzen absolut gleich bleiben. Der Grund dafür ist, dass das Eis zwar eine geringere Dichte und höheres Volumen aber genauso viel Masse wie im geschmolzenen Zustand hat. Der Auftrieb des Eises ist genauso groß wie die vom Körper verdrängte Masse.
übrigens ist der Dichteunterschied zwischen Eis und Wasser gar nicht mal so groß. Bei Eisbergen ragen nur 15% aus dem Wasser heraus!

Laserstrahlen

Hollywood zeigt uns gerne wunderschöne Laserstrahlen. In sauberen Galerien, sogar am helllichten Tag. Doch das ist totaler Schwachsinn. Man dürfte (abgesehen von einem Punkt an einer vom Lichtstrahl getroffenen Wand) eigentlich gar nichts sehen.
Es gibt schließlich einen guten Grund, weswegen in Diskotheken Nebelmaschinen zum Einsatz kommen. An den Partikeln wird das Licht gestreut, so dass ein Teil davon in unser Auge fallen kann. Ein nicht gestreuter Lichtstrahl fliegt einfach am Auge vorbei, d.h. er ist für uns unsichtbar.
Wie man in Tomb Raider Legend sieht, kann man diese Eigenschaften des Lichtes sogar für Rätsel benutzen.

Übrigens: Es ist nicht sehr schlau, Laserlicht aus dem sichtbaren Wellenlängenbereich für Bewegungsmelder zu benutzen. Es wird daher ausschließlich infrarotes Laserlicht verwendet. Macht das Gameplay mit Laserlicht dann völlig unmöglich? Natürlich nicht. Es ist alles eine Frage der Kreativität. Es gibt Spiele, die dies berücksichtigen.

Dekorative Lichtstrahlen

Das gleiche Problem wie bei Lasern findet sich auch bei Lichtstrahlen, die durch Dächer, Fenster oder ähnliches in Räume fallen. Die Räume sollten idealerweise staubig oder nebelig sein, damit der Effekt realistisch wirkt.
Auch sollten solche Lichtstrahlen innerhalb eines Levels, oder wenigstens innerhalb eines Raumes, immer aus der gleichen Richtung kommen. Die Sonne wird ja nicht plötzlich ihre Position ändern.
So etwas sieht zwar nett aus, würde aber nur auf Tatooine passieren können:

Die Energieerhaltung beim Rollingball

Der Rollingball ist einer der wenigen Bestandteile der klassischen TR-Engine, die so etwas wie eine echte Physik programmiert bekommen haben. Daher muss man häufig auch die Bodenstrukturen ausführlich testen, damit er seinen vorgesehenen Weg nimmt. Allerdings hat der Rollingball einen Haken: Er verliert nur auf ebenen Flächen Energie. In der Realität würde vor allem die ständige Reibung mit dem Untergrund überall dafür sorgen. Normalerweise fällt diese Eigenschaft auch kaum auf, in symmetrischen Bahnen dagegen sehr.

Da sich in der Mitte ein flacher Bereich befindet, verhält sich der Rollingball quasi realistisch, d.h. er wird mit jedem Durchgang an Höhe verlieren und in der Mitte zum Liegen kommen.

Hier wird der Rollingball dagegen unendlich hin und her rollen und dabei stets die gleiche Höhe erreichen. Das sieht schon sehr merkwürdig aus. Diese Eigenschaft ist aber auch überaus praktisch, denn so kann der Rollingball als Auslöser für zyklische Ereignisse verwendet werden.

Der Rollingball hat noch einige andere Merkwürdigkeiten. Es spielt beispielsweise keine Rolle aus welcher Höhe man ihn fallen lässt, seine potentielle Energie ist immer die gleiche. Daher wird er immer zur gleichen Stelle auf einer aufsteigenden Rampe rollen. Man sollte den Rollingball auf der Rampe liegend starten, wenn es realistisch aussehen soll.

Ein anderes seltsame Verhalten tritt auf symmetrischen Rampen ohne flache Bereiche und mit größer werdender Steigung auf. Ich habe beobachtet, dass er immer auf der drei-Click-Steigung umdrehen wird. Aber ich bin nicht sicher, ob das auch in jeder anderen Umgebung der Fall ist.

Dieser Content wurde im Rahmen des TRForge Adventskalenders 2011 erstellt.
Falls vom Autoren selbst nicht anders angegeben, respektiere bitte die allgemeinen Benutzungsrichtlinien zur Nutzung von TRForge-Inhalten.

Tutorial: Friedliche Charaktere (Teil 2) by uranos

Inhalt

1. Wächter
1.1. AI-Objekte
1.1.1. AI_GUARD
1.1.2. AI_MODIFY
1.1.3. AI_AMBUSH
1.1.4. AI_PATROL1 und AI_PATROL2
1.1.5. AI_FOLLOW
1.2. Auswahl an friedlichen Charakteren
1.2.1. TROOPS
1.2.2. SCORPION
1.2.3. BABOON_NORMAL
1.2.4. SAS
1.2.5. KNIGHTS_TEMPLAR und HAMMERHEAD
1.2.6. JEAN_YVES
2. Führer
2.1. ENEMY_JEEP
2.1.1. Die Route festlegen
2.1.2. Besondere Aktionen
2.1.3. Den Fortschritt steuern
2.2. GUIDE
2.2.1. Die Route festlegen
2.2.2. Besondere Aktionen
2.2.3. Den Fortschritt steuern
2.3. VON_CROY
2.3.1. Die Route festlegen
2.3.2. Besondere Aktionen
2.3.3. Flipeffect 45
2.3.4. Den Fortschritt steuern
2.4. Mehrere Führer in einem Level

2. Führer

Als Führer eigenen sich einmal, wie der Name schon sagt, der GUIDE, ein menschlicher Charakter mit einer Fackel, mit der er auch etwas anzünden kann; des weiteren VON_CROY, auch ein menschlicher Charakter, der vielfältige Bewegungen hat, und deshalb Lara auch in schwierigem Gelände folgen kann; und schließlich ENEMY_JEEP, ein Fahrzeug, das man steuern kann, allerdings nicht so viele besondere Bewegungen und Aktionen zu Verfügung hat.

Um sie zu steuern kann man ausschließlich AI_FOLLOW benutzen. Alle anderen AI-Objekte werden ignoriert, oder lassen den Führer nur sinnlos im Kreis rennen.

Der Aufbau erfolgt in drei Schritten:

  • Die Route festlegen: Zuerst muss man den genauen Weg festlegen, dem der GUIDE, VON_CROY oder ENEMY_JEEP folgen soll.
  • Besondere Aktionen: Man definiert welche Aktionen GUIDE oder VON_CROY ausführen sollen.
  • Den Fortschritt steuern: Zum Schluss muss man noch steuern, der Führer weiter gehen bzw. fahren soll, und wo er wieder warten soll.

2.1. ENEMY_JEEP

2.1.1. Die Route festlegen

Zuerst muss man den genauen Weg festlegen, dem der ENEMY_JEEP folgen soll. Dazu platziert man zuerst ein AI_FOLLOW auf dem Feld mit ihm. Weitere platziert man an bestimmten Punkten, an denen er vorbei kommen soll. Er wird dabei immer den leichtesten und kürzesten Weg wählen.

Ebenfalls mit einplanen sollte man Punkte, an denen der ENEMY_JEEP stehen bleiben soll. Es kann immer nur an Punkten mit AI_FOLLOW angehalten werden, nie dazwischen.

Hat man alle gesetzt, muss man sie noch nummerieren, indem man jeweils eine Zahl im OCB des AI_FOLLOW einträgt. Dabei muss das AI_FOLLOW unter dem ENEMY_JEEP und das erste, zu dem er fahren soll, immer die gleiche Nummer haben. Beim ENEMY_JEEP sollte man unbedingt mit -2 anfangen zu nummerieren. Also -2 beim AI_FOLLOW unter dem ENEMY_JEEP, das erste dann auch -2, das nächste -1, danach 0, 1, 2 usw. Ansonsten funktioniert er nicht richtig und fährt sinnlos durch die Gegend.

Wichtig ist, dass es im ganzen Level keine weiteren AI_FOLLOW mit den gleichen Nummern gibt, da die KI sonst durcheinander kommt, und der ENEMY_JEEP nicht mehr weiß, wo er hin soll. Das bedeutet, dass wenn man AI_FOLLOW schon bei richtigen Gegnern oder Freunden eingesetzt hat, beispielsweise beim HORSEMAN, dann sollte man dort Nummern verwenden, die man beim ENEMY_JEEP nicht benutzen wird. Das geht am besten, indem man dann beim HORSEMAN eine sehr hohe Zahl verwendet, wie 500.

2.1.2. Besondere Aktionen

Dieser hat nur eine einzige Aktion. Bei Punkten, an denen er halten soll, muss das Codebit <2> im AI_FOLLOW aktiviert werden. Nur an diesen Punkten wird er bremsen und kann daher anhalten.

2.1.3. Den Fortschritt steuern

Natürlich kann man den ENEMY_JEEP auch nur ein kurzes Stück fahren lassen. Üblicherweise soll er jedoch Lara einen längeren Weg zeigen und sie begleiten. Und dazu ist es notwendig, dass er auch mal anhält und auf Lara wartet, damit sie ihn nicht aus den Augen verliert, und wenn sie nahe genug ist wieder weiterfährt. Um zu steuern wie weit er fahren und wo er warten soll, dienen Flipeffect-30-Auslöser.

Der ENEMY_JEEP ist bereits vor dem Triggern zu sehen. Er fährt los, wenn er getriggert wird, oder auch wenn Lara in den JEEP einsteigt. Dann fährt er bis zu dem ersten AI_FOLLOW bei dem das Codebit <2> aktiviert ist. Und auch danach wird er immer nur an AI_FOLLOWs anhalten bei denen <2> aktiviert ist, bei allen anderen wird er einfach weiter fahren.

Damit er sich weiter bewegt, wenn er einmal angehalten hat, muss ein Flipeffect 30 aktiviert werden. Dazu klickt man im Trigger-Menü auf „Object” und stellt das um auf „Flipeffect” im Zahlenfeld dahinter trägt man die „30” ein. Jetzt kommt ganz wichtig der Timer: Hier trägt man die Nummer des AI_FOLLOWs ein, zu dem unser lieber Freund fahren soll. Trägt man hier also eine „4” ein, wird er bis zu dem AI_FOLLOW fahren, das auch „4” im OCB stehen hat, und dort warten. Nun muss man den Trigger noch setzten. Normalerweise setzt man ihn in die Nähe des letzten Wartepunktes, damit er weiterfährt, sobald sich Lara nähert. Man kann den Flipeffect aber auch mit einem Hebel auslösen, der eine Tür öffnet, vor der er wartet.

Es ist nicht notwendig, Flipeffect-30-Auslöser für alle AI_FOLLOWs zu setzten. Man kann problemlos auch ein paar überspringen. Wartet also der ENEMY_JEEP an AI_FOLLOW 4, kann der nächste Flipeffect-30-Auslöser auch mit einer „10” im Timer gesetzt werden. Wird dieser aktiviert, wird ENEMY_JEEP über die AI_FOLLOWs 5,6,7,8 und 9 hinweg fahren, direkt zur Nummer 10 und dann dort wieder warten.

Beachten sollte man aber, dass es immer nur vorwärts geht. Wurde der Flipeffect-30-Auslöser mit Timer „10” erst aktiviert, wird der ENEMY_JEEP auch versuchen bis zum AI_FOLLOW 10 zu gelangen. Das gilt auch, wenn gleich danach noch ein Flipeffect-30 mit der Nummer 8 aktiviert wird. Wenn der Flipeffect-30 für Nummer 10 erst einmal aktiviert worden ist, wird an der 8 nicht mehr stehen geblieben.

Das gleiche gilt sogar bei Levelwechseln, wenn ein ENEMY_JEEP im ersten und der nächste in zweiten Level ist. Denn die Flipeffect-30 gelten global für eine gesamte Levelserie. Wird in einem Level ein Flipeffect-30 mit dem Timer 10 aktiviert, werden auch in allen folgenden Leveln die ENEMY_JEEPs und auch die GUIDEs und VON_CROYs bis zum AI_FOLLOW 10 fahren/laufen. Man muss also entweder im folgenden Level gleich mit einer höheren Nummer anfangen zu nummerieren, oder man muss beim Levelwechsel RESETHUB einsetzten, damit alles wieder zurückgesetzt wird.


2.2. GUIDE

2.2.1. Die Route festlegen

Zuerst muss man den genauen Weg festlegen, dem der GUIDE folgen soll. Dazu platziert man zuerst ein AI_FOLLOW auf dem Feld mit dem Führer. Weitere platziert man an bestimmten Punkten, an denen der Führer vorbei kommen soll. Er wird dabei immer den leichtesten und kürzesten Weg wählen. Liegt ein AI_FOLLOW an einem Ende einer Grube und das nächste am anderen Ende, wird der GUIDE auf dem kürzeren Weg außen herum gehen. Soll er auf der anderen Seite entlang gehen, sollte man dort noch ein AI_FOLLOW dazwischen setzen. Insgesamt gilt: lieber ein paar mehr als zu wenig setzen.

Ebenfalls mit einplanen sollte man Punkte, an denen eine besondere Animation ausgeführt werden soll, beispielsweise eine Fackel angezündet, oder Inschrift gelesen werden soll. Dort muss auf jeden Fall jeweils ein AI_FOLLOW liegen. Das gleiche gilt für Punkte, an denen der Charakter stehen bleiben soll. Es kann immer nur an Punkten mit AI_FOLLOW angehalten werden, nie dazwischen.

Hat man alle gesetzt muss man sie noch nummerieren, indem man jeweils eine Zahl im OCB des AI_FOLLOW einträgt. Dabei muss das AI_FOLLOW unter dem Führer und das erste, zu dem er laufen soll, immer die gleiche Nummer haben. Danach wird fortlaufend nummeriert, jede Zahl um 1 größer. Dabei sollte keine Zahl ausgelassen werden. Bei welcher Zahl man anfängt zu nummerieren, ist beim GUIDE völlig egal. Normalerweise fängt man einfach bei 0 an zu zählen, man kann aber problemlos genauso gut bei 78 anfangen. Das ist besonders von Belang, wenn man mehrere GUIDE in einem Level einsetzen will.

Wichtig ist, dass es im ganzen Level keine weiteren AI_FOLLOW mit den gleichen Nummern gibt, da die KI sonst durcheinander kommt, und der GUIDE nicht mehr weiß, wo er hin soll. Das bedeutet, dass wenn man AI_FOLLOW schon bei richtigen Gegnern oder Freunden eingesetzt hat, beispielsweise beim HORSEMAN, dann sollte man dort Nummern verwenden, die man beim ENEMY_JEEP nicht benutzen wird. Das geht am besten, indem man dann beim HORSEMAN eine sehr hohe Zahl verwendet, wie 500.

2.2.2. Besondere Aktionen

Der GUIDE kann ja nicht einfach nur herumlaufen, sondern auch noch besondere Aktionen ausführen, um Lara zu unterstützen. Um festzulegen, wann er diese ausführt, nutzt man die Codebits der AI_FOLLOWs. Werden bei einem AI_FOLLOW verschiedene Codebits aktiviert, wird der Führer an diesem Punkt eine besondere Aktion ausführen. Beachten sollte man jedoch, dass das flache Ende des Kegels beim AI_FOLLOW immer vorne ist. Bei Punkten, an denen er einfach nur vorbei läuft, ist es egal, wie das AI_FOLLOW gedreht ist. Bei bestimmten Aktionen wie dem Aktivieren von Schaltern sollte man das AI_FOLLOW auch in die richtige Richtung zum Schalter hin drehen.

Bei fast allen Aktionen, kann der Führer einen Heavy-Trigger auslösen, wenn dieser unter dem AI_FOLLOW platziert ist.

<1> Der GUIDE tritt zur Wand vor und hebt die Fackel um dort eine Wandfackel anzuzünden. Man sollte dort einen FLAME_EMITTER2 viereinhalb Klick über dem Boden (9 mal anheben) platzieren, mit einem HEAVY unter dem AI_FOLLOW.

<2> Der GUIDE geht in die Hocke und klopft mit der Fackel auf den Boden, um so eine Falle auszulösen. Natürlich kann man auch etwas anderes als eine Falle damit auslösen. Man muss nur wieder einen HEAVY unter das AI_FOLLOW legen. Mit dieser Aktion wartet er immer bis Lara nahe genug ist, um sie mit ansehen zu können.

<4> Der GUIDE beugt sich mit der Fackel vor um etwas am Boden auf dem Feld vor ihm anzuzünden. Dort sollte man einen FLAME_EMITTER platzieren. Wieder wird ein HEAVY unter dem AI_FOLLOW ausgelöst und wieder wartet der GUIDE damit auf Lara.

<5> Der GUIDE nimmt eine Fackel aus der Wandhalterung geht einen Schritt weiter und zündet sie an. Die Aktion sollte man nur einmalig und gleich am Anfang der Route benutzen, ansonsten sieht es komisch aus, wenn er mit nichts in der Hand etwas anzündet. Damit der die Fackel korrekt nimmt sollte man die Fackel aus den settomb-Wad verwenden und sie auf dem gleichen Feld wie das AI_FOLLOW platzieren.
Es ist auch möglich den GUIDE Lara folgen zu lassen. Dazu setzt platziert man bei ihm ein AI_FOLLOW und ein weiteres mit gleicher Nummer, bei dem man Codebit <5> aktiviert. Dann platziert man keines weiter. Der GUIDE wird nun die Fackel nehmen und damit Lara mit etwas Abstand folgen.

<3+5> Der GUIDE hebt die Fackel und schaut nach oben, um eine Inschrift zu lesen. Er wartet damit bis Lara nahe genug bei ihm ist.

<1+2+3+4+5> Der GUIDE verschwindet vollständig. Das kann man am Ende seiner Route benutzen, damit er nicht mehr irgendwo herum steht.

2.2.3. Den Fortschritt steuern

Natürlich kann man den GUIDE auch nur ein kurzes Stück laufen lassen. Üblicherweise soll er jedoch Lara einen längeren Weg zeigen und sie begleiten. Und dazu ist es notwendig, dass er auch mal anhält und auf Lara warten, damit sie ihn nicht aus den Augen verliert. Und dann wenn sie nahe genug ist wieder weitergeht. Um zu steuern wie weit er geht und wo er warten sollen, dienen Flipeffect-30-Auslöser.

Der GUIDE wird nach dem Triggern zunächst bis zum ersten AI_FOLLOW laufen, bei dem Codebit <5> aktiviert ist. Dort wird er die Fackel nehmen und sie anzünden, und dort warten. Bei allen AI_FOLLOWs vorher wird er einfach vorbei laufen und nicht anhalten. Hat er die Fackel aber einmal, kann er an jedem beliebigen AI_FOLLOW wieder anhalten.

Damit er sich weiter bewegt, muss ein Flipeffect 30 aktiviert werden. Dazu klickt man im Trigger-Menü auf „Object” und stellt das um auf „Flipeffect” im Zahlenfeld dahinter trägt man die „30” ein. Jetzt kommt ganz wichtig der Timer: Hier trägt man die Nummer des AI_FOLLOWs ein, zu dem unser lieber Freund gehen soll. Trägt man hier also eine „4” ein, wird der GUIDE bis zu dem AI_FOLLOW laufen, das auch „4” im OCB stehen hat, und dort warten. Nun muss man den Trigger noch setzten. Normalerweise setzt man ihn in die Nähe des letzten Wartepunktes, damit er weiterläuft, sobald sich Lara nähert. Man kann den Flipeffect aber auch mit einem Hebel auslösen, der eine Tür öffnet, vor der er wartet.

Es ist nicht notwendig, Flipeffect-30-Auslöser für alle AI_FOLLOWs zu setzten. Man kann problemlos auch ein paar überspringen. Wartet also der GUIDE an AI_FOLLOW 4 kann der nächste Flipeffect-30-Auslöser auch mit einer „10” im Timer gesetzt werden. Wird dieser aktiviert, wird der GUIDE über die AI_FOLLOWs 5,6,7,8 und 9 hinweg gehen, direkt zur Nummer 10 und dann dort wieder warten.

Beachten sollte man aber, dass es immer nur vorwärts geht. Wurde der Flipeffect-30-Auslöser mit Timer „10” erst aktiviert, wird der GUIDE auch versuchen bis zum AI_FOLLOW 10 zu gelangen. Das gilt auch, wenn gleich danach noch ein Flipeffect-30 mit der Nummer 8 aktiviert wird. Wenn der Flipeffect-30 für Nummer 10 erst einmal aktiviert worden ist, wird an der 8 nicht mehr stehen geblieben.

Das gleiche gilt sogar bei Levelwechseln, wenn der ein GUIDE im ersten und der nächste im zweiten Level ist. Denn die Flipeffect-30 gelten global für eine gesamte Levelserie. Wird in einem Level ein Flipeffect-30 mit dem Timer 10 aktiviert werden auch in allen folgenden Leveln die GUIDEs (oder VON_CROYs) bis zum AI_FOLLOW 10 laufen. Man muss also entweder im folgenden Level gleich mit einer höheren Nummer anfangen zu nummerieren, oder man muss beim Levelwechsel RESETHUB einsetzten, damit alles wieder zurückgesetzt wird.

Aber auch wenn man nur einen Führer im Level einsetzt, ist es wichtig darauf zu achten, in welcher Reihenfolge die Flipeffect-30 ausgelöst werden können. Wenn der GUIDE also z.B. vor einer verschlossenen Tür warten muss, so sollte kein Flipeffect-30 hinter der Tür von Lara ausgelöst werden können, bevor nicht auch die Tür offen ist. Denn sonst wird der GUIDE sinnlos gegen die verschlossene Tür anrennen. Dies kann man auf drei Arten lösen:

  • Auch Lara kommt nicht in das Gebiet hinter der Tür, bevor diese nicht offen ist. Oft ist es aber so, dass Lara dahinter soll, um dem GUIDE die Tür von der anderen Seite zu öffnen. Dann kommt diese Variante nicht in Betracht.
  • Hinter der Tür ist eine weitere, die nur von GUIDE geöffnet werden kann, und hinter die Lara alleine nicht kommt. Dann setzt man einen Flipeffect-30-Auslöser mit auf den Hebel für die erste Tür, damit der GUIDE bis zur zweiten Tür geht und diese öffnet, und alle weiteren Flipeffect-30-Auslöser liegen dann erst hinter der zweiten Tür.
  • Man verwendet Trigggertriggerer, um die Flipeffect-30-Auslöser zu sperren. Und löst diese erst aus, wenn die richtigen Türen geöffnet, oder der GUIDE bereits einen bestimmten Punkt erreicht hat.

2.3. VON_CROY

2.3.1. Die Route festlegen

Zuerst muss man den genauen Weg festlegen, dem VON_CROY folgen soll. Dazu platziert man zuerst ein AI_FOLLOW auf dem selben Feld mit ihm. Weitere platziert man an bestimmten Punkten, an denen er vorbei kommen soll. Er wird dabei immer den leichtesten und kürzesten Weg wählen. Liegt ein AI_FOLLOW an einem Ende einer tiefen Grube und das nächste am anderen Ende wir der VON_CROY außen herum gehen, auf der Seite die kürzer ist. Soll er auf der anderen Seite entlang gehen, sollte man noch ein AI_FOLLOW dazwischen setzen an diesem Grubenrand, an dem er entlang gehen soll. VON_CROY hat jedoch Animationen zum klettern und wird daher bei einer flacheren Grube den direkten Weg nehmen und am einen Ende hinunter klettern und am anderen wieder aus der Grube hinaus. Das gilt auch, wenn unten Stacheln sind, da diese VON_CROY nicht kümmern. Will man also nicht dass er dort einfach hindurch läuft muss man weitere AI_FOLLOW neben der Grube setzen, damit er genau dort entlang geht. Auch wird er über keine Gräben springen, wenn er eine Möglichkeit hat außen herum zu gehen. Insgesamt gilt: lieber ein paar mehr AI_FOLLOWs als zu wenig setzen.

Ebenfalls mit einplanen sollte man Punkte, an denen eine besondere Animation ausgeführt werden, soll, beispielsweise ein Schalter betätigt, oder gesprungen werden soll, dort muss auf jeden Fall jeweils ein AI_FOLLOW liegen. Das gleiche gilt für Punkte an denen der Charakter stehen bleiben soll. Es kann immer nur an Punkten mit AI_FOLLOW angehalten werden, nie dazwischen.

Hat man alle gesetzt muss man sie noch nummerieren, indem man jeweils eine Zahl im OCB des AI_FOLLOW einträgt. Dabei muss das AI_FOLLOW unter VON_CROY und das erste, zu dem er laufen soll, immer die gleiche Nummer haben. Danach wird fortlaufend nummeriert, jede Zahl um 1 größer. Dabei sollte keine Zahl ausgelassen werden. Bei welcher Zahl man anfängt ist jedoch relativ egal. Üblicherweise fängt man einfach bei 0 an zu zählen, man kann aber auch mit jeder anderen Zahl anfangen. Will man jedoch spezielle Sequenzen einsetzen, in denen er mit Lara reden soll, geht das nur bei bestimmten Nummern. In diesem Fall ist man nicht ganz so frei darin, mit welcher Zahl man anfängt.

Wichtig ist, dass es im ganzen Level keine weiteren AI_FOLLOW mit den gleichen Nummern gibt, da die KI sonst durcheinander kommt, und VON_CROY nicht mehr weiß, wo er hin soll. Das bedeutet, dass wenn man AI_FOLLOW schon bei richtigen Gegnern oder Freunden eingesetzt hat, beispielsweise beim HORSEMAN, dann sollte man dort Nummern verwenden, die man bei VON_CROY nicht benutzen wird. Das geht am besten, indem man dann beim HORSEMAN eine sehr hohe Zahl verwendet, wie 500.

2.3.2. Besondere Aktionen

VON_CROY kann ja nicht einfach nur herumlaufen, sondern auch noch besondere Aktionen ausführen, um Lara zu unterstützen. Er hat sogar noch mehr Bewegungen als der GUIDE. Um festzulegen, wann er diese ausführt nutzt man die Codebits der AI_FOLLOWs. Werden bei einem AI_FOLLOW verschiedene Codebits aktiviert, wird VON_CROY an diesem Punkt eine besondere Aktion ausführen. Beachten sollte man jedoch, dass das flache Ende des Kegels beim AI_FOLLOW immer vorne ist. Bei Punkten, an denen er einfach nur vorbei läuft ist es egal, wie das AI_FOLLOW gedreht ist. Bei bestimmten Aktionen, wie dem Aktivieren von Schaltern sollte man das AI_FOLLOW auch in die richtige Richtung zum Schalter hin drehen.

Bei fast allen Aktionen kann er einen Heavy-Trigger auslösen, wenn dieser unter dem AI_FOLLOW platziert ist.

<1> VON_CROY springt zu einem Spalt hoch und hangelt weiter. Damit das funktioniert, muss man das Ganze auch richtig aufbauen: Das flache Ende des AI_FOLLOWs muss zum Spalt gedreht sein. Dieser muss genau 6 Klick über dem Boden sein, da VON_CROY genau so hoch springt. Dann kann er nur nach rechts weiter hangeln, nicht nach links. An der Stelle, wo er sich hoch ziehen soll, muss das nächste AI_FOLLOW platziert sein (ohne aktive Codebits), auch zum Spalt gedreht und auf gleicher Höhe wie das vorige mit Codebit <1>. Das nächste (dritte) AI_FOLLOW muss dann oben am Spalt sein, wo er steht, wenn er sich hoch gezogen hat. Wenn man das nicht richtig aufbaut wird CON_CROY nur blöd herumhängen, oder sich wieder fallen lassen und Lara hinter her rennen.
Es ist damit aber auch möglich, dass er sich direkt 6 Klick hochzieht. Dazu muss man einfach nur das zweite AI_FOLLOW nicht rechts vom ersten, sondern auf dem gleichen Feld wie dieses. Das dritte wieder oben. Dann springt er an die Kante und zieht sich direkt nach oben.

<2> VON_CROY klettert an einer Kante hinunter. Niedrige Blöcke bis 4 Klick klettert VON_CROY ganz alleine hinunter, wenn sie auf dem Weg liegen. Soll er jedoch tiefere Abgründe hinunter springen, sollte man oben an der Kante ein AI_FOLLOW mit Codebit 2 platzieren.

<3> VON_CROY betätigt einen Schalter. Nun eigentlich fummelt er nur etwas an der Wand herum. Man sollte also eine entsprechende Wandtextur oder ein Objekt verwenden, damit es so aussieht als würde er etwas wichtiges machen. Mit dieser Aktion wartet er immer bis Lara nahe herangekommen ist.

<2+3> VON_CROY führt einen kurzen Sprung aus. Er springt über ein Feld hinweg. Man sollte darauf achten, dass der Landepunkt auf gleicher Höhe ist, wie der Absprungpunkt, sonst springt VON_CROY daneben und benimmt sich danach eventuell komisch.

<3+5> VON_CROY nimmt Anlauf, springt und zieht sich an der Kante hoch. Er überbrückt dabei eine Distanz von drei Feldern. Auch hier sollte man darauf achten, dass am anderen Ende eine Kante ist, wo er sich hochziehen kann, und dass diese auf gleicher Höhe wie der Absprungpunkt ist. Vorteilhaft ist es, das nächste AI_FOLLOW am Landepunkt zu platzieren. Ist das nächste weiter weg, kann es sein, dass sich VON_CROY im Sprung schon in die entsprechende Richtung dreht und deshalb daneben springt. Deshalb sollte das nächste AI_FOLLOW gerade in Sprungrichtung liegen.

<1+3> VON_CROY blickt zu Boden, und dreht den Kopf nach links und rechts. Das kann man z.B. vor einem Sprung benutzen, damit er prüfend in den Abgrund schaut. Das nächste AI_FOLLOW setzt man dann auf das gleiche Feld mit Codebits <3+5>. Oder man kann es vor einem Kriechgang einsetzten, um Lara zu verdeutlichen, dass sie jetzt da durch muss, und dass er wartet.
Es gibt aber noch eine besondere Aktion, die VON_CROY bei diesen Codebits ausführen kann: Einen mittleren Sprung über zwei Felder hinweg. Das funktioniert aber nur bei dem AI_FOLLOW mit der Nummer 6 im OCB und nur in Verbindung mit Flipeffect 45, mit dem Timerwert 6, der in der Nähe von Lara ausgelöst werden muss. Siehe Flipeffect 45. Tatsächlich ist dies wohl die einzige Möglichkeit VON_CROY einen Sprung über zwei Felder hinweg ausführen zu lassen.

<5> Sind Gegner in der Nähe, wird VON_CROY an diesen Punkten seine Route verlassen und diese mit seinem Messer angreifen. Wenn alle tot sind, geht er weiter zum nächsten AI_FOLLOW. Sind keine Gegner aktiv, wenn er dieses AI_FOLLOW erreicht, läuft er direkt weiter zum nächsten. VON_CROY wird an einem AI_FOLLOW mit Codebit <5> niemals stehen bleiben.

<2+5> VON_CROY holt sein Buch aus der Jacke und liest darin. Funktioniert nur in Verbindung mit Flipeffect 45.

VON_CROY kann außerdem an der Decke entlanghangeln. Dazu bedarf es keines besonderen Codebits, aber eines genauen Aufbaus. Am Startpunkt und am Endpunkt der Hangelstrecke muss die Decke genau 6 Klick über dem Boden sein, da VON_CROY nur so hoch springen kann. Dort wird jeweils ein AI_FOLLOW ohne aktive Codebits platziert. Alternativ kann man bei dem AI_FOLLOW am Startpunkt auch die Codebits <1+3> aktivieren, damit er vor dem Hangeln nochmal einen prüfenden Blick in die Tiefe wirft. Dazwischen sollten keine weiteren sein. Ist die Hangelstrecke richtig definiert, sodass auch Lara dort entlanghangeln kann, wird es auch VON_CROY tun.

2.3.3. Flipeffect 45

Bei VON_CROY gibt es noch eine Besonderheit. Mit Hilfe von von Flipeffect 45 kann man mit ihm kleine Sequenzen starten, in denen er etwas erzählt. Dazu klickt man im Trigger-Menü auf Object, um hier als Triggerziel nun Flipeffect statt Object auszuwählen. Dahinter trägt man die Nummer 45 ein, da es ja eine Flipeffect 45 werden soll. Nun ist noch eines wichtig: der Timer-Eintrag. Dieser wurde hier zweckentfremdet, löst also nichts zeitversetzt aus, sondern bestimmt das Ziel des Flipeffects. Hier trägt man die Nummer des AI_FOLLOWs ein, auf das der Effekt wirken soll. Dann platziert man den Trigger in der Nähe des entsprechenden AI_FOLLOWs, so dass er von Lara ausgelöst werden muss. Er sollte unbedingt von Lara aktiviert werden, entweder direkt als TRIGGER oder auch über einen Schalter, jedenfalls nicht als Heavy, durch ein anderes Objekt.

Zu beachten ist, dass der Effekt nur wirkt, wenn VON_CROY am AI_FOLLOW noch nicht vorbei gegangen ist. Deshalb sollte man unbedingt dafür sorgen, dass er dort stehen bleibt. Ebenfalls wirkt er nicht bei AI_FOLLOWs bei denen Codebit <5> aktiviert ist.

Wird der Flipeffect 45 aktiviert bewirkt er nun folgendes:

  1. VON_CROY wird sofort zu dem entsprechenden AI_FOLLOW hin teleportiert, sofern er noch nicht da ist. Er überspringt dabei alle vorherigen AI_FOLLOWs und löst deshalb eventuell platzierte Heavys nicht mehr aus.
  2. Er dreht sich Richtung Lara und bewegt sich, als ob er redet. Sind bei dem AI_FOLLOW die Codebits <2+5> aktiv holt er erst sein Buch aus der Jackentasche und liest darin.
  3. Zusätzlich wird ein bestimmtes Audio abgespielt. Welches das ist hängt ab vom Timerwert, also damit auch der Nummer des AI_FOLLOW. Die Nummer des abgespielten Audios ist hardcoded, und kann nicht beeinflusst werden. Auch funktioniert der Effekt nur bei bestimmten Nummern überhaupt. Deshalb muss man beim platzieren der AI_FOLLOWs genau aufpassen und eventuell noch welche zusätzlich platzieren, damit man an der entscheidenden Stelle eines hat mit einer funktionierenden Nummer. Das Audio muss man dann mit der Nummer speichern, die bei diesem AI_FOLLOW durch den Flipeffekt abgespielt wird.
  4. Eine Kamera zeigt VON_CROY von vorne. Dabei werden Balken eingeblendet, wie bei einer Flyby. Sie ist solange aktiv wie das Audio lang ist. Ist das entsprechende Audio nicht vorhanden, blendet die Kamera gar nicht mehr von alleine ab. Meist kann der Effekt durch Druck auf die „Umsehen”-Taste jedoch abgebrochen werden. Bei ein paar Nummern funktioniert das jedoch nicht.
  5. Bei ganz bestimmten Nummern wird noch ein zusätzlicher Effekt ausgelöst. Die Nummern sind aber auch hardcoded und der Effekt kann daher nicht bei anderen Nummern verwendet werden.
    1. Wenn beim AI_FOLLOW mit der Nummer 6 die Codebits <1+3> aktiviert sind, und der Flipeffekt 45 aktiviert wird, wird VON_CROY zuerst auch reden und das Audio 017 wird abgespielt. Danach jedoch wird VON_CROY zwei Felder nach vorne springen. Er wird nicht nach unten sehen, wie er es normalerweise bei diesen Codebits tut. Damit das gut funktioniert sollte man dafür sorgen, dass es an diesem Punkt auch einen Graben gibt, der so breit ist. Will man nicht, dass er an diesem Punkt springt, braucht man nur bei dem AI_FOLLOW Nummer 6 andere oder keine Codebits zu aktivieren. Dann wird VON_CROY nach dem Reden normal weiter laufen.
    2. Wird der Flipeffekt 45 mit Timer 14 aktiviert wird VON_CROY beim AI_FOLLOW Nummer 14 in 6 Klick Höhe an der Kante hängen und sich dort hochziehen, und dabei den Kopf Lara zuwenden und mit ihr reden. Das ist natürlich nur sinnvoll, wenn dort auch eine Kante im Level ist, damit er sich nicht in der Luft hochzieht und dann wieder runter fällt. Das AI_FOLLOW 14 sollte also das zweite an einem Spalt sein. Siehe Codebit <1>. Diese Bewegung führt VON_CROY immer aus, egal welche Codebits bei diesem AI_FOLLOW aktiviert sind. Will man nicht, dass er klettert sondern nur mit Lara redet, darf man bei Nummer 14 keinen Flipeffect 45 verwenden, sondern sollte zwei zusätzliche AI_FOLLOW setzen um die nächste Brauchbare Nummer zu nutzen, die 16.

Funktionierende Nummern sind:

Timer Audio-Nummer besonderes
0 31
1 62
3 30
4 24
6 17 mit Codebits <1+3> Sprung 2 Felder weit
7 44 dauert etwas bis die Kamera einblendet
9 46
11 11
12 10 komischer Kamerawinkel, dauert etwas bis die Kamera einblendet
13 45 komischer Kamerawinkel
14 13 VON_CROY klettert Kante hoch (6 klick)
16 39
18 66
19 34
24 70
25 28 Lara und VonCroy rechts unten im Bild
34 68 Kamera zeigt von beiden weg
35 26
36 43
43 37 kein Abbruch möglich
46 36
47 21
48 25
49 23 dauert etwas bis die Kamera einblendet
53 38 kein Abbruch möglich
55 ? komischer Kamerawinkel
56 36
57 21 kein Abbruch möglich
58 25
59 25 kein Abbruch möglich

2.3.4. Den Fortschritt steuern

Natürlich kann man VON_CROY auch nur ein kurzes Stück laufen lassen. Üblicherweise soll er jedoch Lara einen längeren Weg zeigen und sie begleiten. Und dazu ist es notwendig, dass er auch mal anhält und auf Lara wartet, damit sie ihn nicht aus den Augen verliert. Und dann wenn sie nahe genug ist wieder weitergeht. Um zu steuern wie weit er geht und wo er warten soll, dienen Flipeffect-30-Auslöser.

VON_CROY läuft zunächst nur bis zum ersten AI_FOLLOW und wird dort warten, bis er mit einem Flipeffect-30 zum weiter laufen bewegt wird. Er kann bei fast jedem AI_FOLLOW anhalten, außer jenen, bei denen Codebit <5> aktiviert ist.

Damit er sich weiter beweget, muss ein Flipeffect 30 aktiviert werden. Dazu klickt man im Trigger-Menü auf „Object” und stellt das um auf „Flipeffect” im Zahlenfeld dahinter trägt man die „30” ein. Jetzt kommt ganz wichtig der Timer: Hier trägt man die Nummer des AI_FOLLOWs ein, zu dem unser lieber Freund gehen soll. Trägt man hier also eine „4” ein, wird VON_CROY bis zu dem AI_FOLLOW laufen, das auch „4” im OCB stehen hat, und dort warten. Nun muss man den Trigger noch setzten. Normalerweise setzt man ihn in die Nähe des letzten Wartepunktes, damit er weiterläuft, sobald sich Lara nähert. Man kann den Flipeffect aber auch mit einem Hebel auslösen, der eine Tür öffnet, vor der er wartet.

Es ist nicht notwendig, Flipeffect-30-Auslöser für alle AI_FOLLOWs zu setzten. Man kann problemlos auch ein paar überspringen. Wartet also z.B. der Guide an AI_FOLLOW 4 kann der nächste Flipeffect-30-Auslöser auch mit einer „10” im Timer gesetzt werden. Wird dieser aktiviert, wird der GUIDE über die AI_FOLLOWs 5,6,7,8 und 9 hinweg gehen, direkt zur Nummer 10 und dann dort wieder warten.

Beachten sollte man aber, dass es immer nur vorwärts geht. Wurde der Flipeffect-30-Auslöser mit Timer „10” erst aktiviert, wird VON_CROY auch versuchen bis zum AI_FOLLOW 10 zu gelangen. Das gilt auch, wenn gleich danach noch ein Flipeffect-30 mit der Nummer 8 aktiviert wird. Wenn der Flipeffect-30 für Nummer 10 erst einmal aktiviert worden ist, wird an der 8 nicht mehr stehen geblieben.

Das gleiche gilt sogar bei Levelwechseln, wenn ein VON_CROY im ersten und der nächste im zweiten Level ist. Denn die Flipeffect-30 gelten global für eine gesamte Levelserie. Wird in einem Level ein Flipeffect-30 mit dem Timer 10 aktiviert werden auch in allen folgenden Leveln die VON_CROYs bis zum AI_FOLLOW 10 laufen. Man muss also entweder im folgenden Level gleich mit einer höheren Nummer anfangen zu nummerieren, oder man muss beim Levelwechsel RESETHUB einsetzten, damit alles wieder zurückgesetzt wird.

Es ist wichtig darauf zu achten, in welcher Reihenfolge die Flipeffect-30 ausgelöst werden können. Wenn VON_CROY also z.B. vor einer verschlossenen Tür warten muss, so sollte kein Flipeffect-30 hinter der Tür von Lara ausgelöst werden können, bevor nicht auch die Tür offen ist. Denn sonst wird er nur sinnlos gegen die verschlossene Tür anrennen. Dies kann man auf drei Arten lösen:

  • Auch Lara kommt nicht in das Gebiet hinter der Tür, bevor diese nicht offen ist. Oft ist es aber so, dass Lara dahinter soll, um VON_CROY die Tür von der anderen Seite zu öffnen. Dann kommt diese Variante nicht in Betracht.
  • Hinter der Tür ist eine weitere, die nur von VON_CROY geöffnet werden kann, und hinter die Lara alleine nicht kommt. Dann setzt man einen Flipeffect-30-Auslöser mit auf den Hebel für die erste Tür, damit der GUIDE bis zur zweiten Tür geht und diese öffnet, und alle weiteren Flipeffect-30-Auslöser liegen dann erst hinter der zweiten Tür.
  • Man verwendet Trigggertriggerer, um die Flipeffect-30-Auslöser zu sperren. Und löst diese erst aus, wenn die richtigen Türen geöffnet, oder VON_CROY bereits einen bestimmten Punkt erreicht hat.

2.4. Mehrere Führer in einem Level

Es ist auch möglich mehrere GUIDEs und/oder VON_CROYs im Level zu haben. Da bei den AI_FOLLOWs aber keine Nummern doppelt vorkommen dürfen, muss man bei ihnen unterschiedlich nummerieren. Beim ENEMY_JEEP kann man nur bei -2 anfangen zu nummerieren, daher kann man davon maximal einen im Level haben. Bei GUIDE und VON_CROY kann man aber auch andere Nummern verwenden. Soll ein GUIDE noch vor dem ENEMY_JEEP auftauchen, muss man bei ihm negative Nummern verwenden. Man fängt also z.B. bei -40 an und nummeriert bei -12. Beim letzten AI_FOLLOW aktiviert man dann alle Codebits, um ihn verschwinden zu lassen, damit er nicht weiter läuft, zum ersten AI_FOLLOW des ENEMY_JEEPs.

Will man später im Level weitere GUIDEs oder VON_CROY nimmt man für diese einfach höhere Nummern und fängt bei einem bei 100 an und beim nächsten bei 200.

Beachten sollte man hier aber besonders, dass Flipeffect-30-Auslöser immer nur mit aufsteigenden Nummern verwendet werden können. Wurde der Flipeffect-30-Auslöser mit Timer „104” erst einmal aktiviert, um den zweiten GUIDE im Level zu seinem vierten punkt laufen zu lassen, wird auch der GUIDE, der bei dem AI_FOLLOW 0 losgelaufen ist, versuchen bis zum AI_FOLLOW 104 zu gelangen. Das gilt auch, wenn gleich danach noch ein Flipeffect-30 mit der Nummer 8 aktiviert wird. Flipeffecte mit niedrigerer Nummer haben keine Wirkung mehr. Deshalb können Führer in einem Level nur in einer einzigen bestimmten Reihenfolge verwendet werden. Man kann z.B. einen GUIDE benutzen mit den AI_FOLLOWs Nummer 0 bis 34 und dann einen VON_CROY mit den Nummern 50 bis 72. Der GUIDE wird mit Flipeffect-30-Auslösern immer weiter geschickt bis zum letzten AI_FOLLOW seiner Route, wo die Codebits <1+2+3+4+5> aktiviert sein sollten, damit er verschwindet. Danach kann dann auch der VON_CROY ausgelöst werden. Das der letzte Flipeffect-30 den Timer 34 hatte, wird VON_CROY erst einmal stehen bleiben und kann mit einem Flipeffect-30 mit dem Timer 53 dazu gebracht werden zum AI_FOLLOW mit der Nummer 53 im OCB zu laufen. Alles kein Problem.

Probleme gibt es aber, wenn der Spieler im Level eine Möglichkeit hat, VON_CROY zuerst auszulösen. Dann wird er die Flipeffect-30-Auslöser mit den hohen Nummern aktivieren. Wird danach der GUIDE ausgelöst, wird er deshalb versuchen zum AI_FOLLOW mit der letzten Nummer zu gelangen, die auch VON_CROY besucht hat, und deshalb seine gesamte Route zurücklegen, ohne anzuhalten. Deshalb sollte man solche Situationen durch geschicktes Leveldesign vermeiden.

Das gleiche gilt sogar bei Levelwechseln, wenn der eine im ersten und der nächste in zweiten Level ist. Denn die Flipeffect-30 gelten global für eine gesamte Levelserie. Wird in einem Level ein Flipeffect-30 mit dem Timer 10 aktiviert werden auch in allen folgenden Leveln die GUIDEs und VON_CROYs bis zum AI_FOLLOW 10 laufen. Man muss also entweder im folgenden Level gleich mit einer höheren Nummer anfangen zu nummerieren, oder man muss beim Levelwechsel RESETHUB einsetzten, damit alles wieder zurückgesetzt wird.


Urheberrechtshinweis: Die vorliegende Publikation ist geistiges Eigentum des Autors und urheberrechtlich geschützt. Der Autor behält sich alle Rechte vor. Es ist gestattet den Text zum Zwecke des privaten Gebrauchs zu speichern, kopieren oder auszudrucken. Eine Vervielfältigung, Verbreitung, Bereithaltung zum Abruf oder Online-Zugänglichmachung (Übernahme in andere Webseite) des Werkes, des Layouts der Webseite, sonstiger Inhalte (z.B. Bilder) ganz oder teilweise, in veränderter oder unveränderter Form ist nur nach vorheriger ausdrücklicher Zustimmung des Autors zulässig.
Tomb Raider und Lara Croft sind eingetragene Warenzeichen von Eidos Interactive Limited.

Dieser Content wurde im Rahmen des TRForge Adventskalenders 2010 erstellt.
Falls vom Autoren selbst nicht anders angegeben, respektiere bitte die allgemeinen Benutzungsrichtlinien zur Nutzung von TRForge-Inhalten.

Tutorial: Friedliche Charaktere (Teil 1) by uranos

Friedliche Charaktere

Neben richtigen Gegnern, die Lara angreifen, kann man in seinem Level auch andere Personen einsetzen, die sich ihr gegenüber friedlich verhalten. Manche laufen nur herum, manche können ihr auch im Kampf gegen Gegner beistehen, oder ihr den Weg zeigen. Dies kann sinnvoll sein, um friedliche Level, etwa Adventslevel oder Level für Kinder, zu beleben. Oder auch um eine bestimmte Passage einfacher zu machen, dem Spieler etwas zu zeigen, oder einfach die Geschichte voran bringen.

Dabei gibt es zwei Gruppen: Einmal die Wächter, die sich zunächst friedlich verhalten, aber auch angreifen, sobald Lara zuerst aggressiv wird. Ihnen kann man verschiedenes, aber nur eher simples Verhalten zuweisen.

Dann gibt es noch die Führer. Denen kann man deutlich komplexeres Verhalten zuweisen, um den Weg zu zeigen, und Lara zu helfen. Sie können auch nicht von Lara angegriffen bzw. getötet werden. So ist sicher gestellt, dass sie ihre Route nicht abbrechen, und auch alle Ereignisse auslösen, die sie auslösen sollen. Man kann sie aber auch nutzen, um Zwischensequenzen zu gestalten, oder auch um einfach einem Level mit lauter friedlichen Einwohnern mehr Leben einzuhauchen, um neben den Wächtern noch etwas Abwechslung zu haben.

Wie man diese einsetzt und ihr Verhalten steuert, wird in diesem Tutorial beschrieben.

Inhalt
1. Wächter
1.1. AI-Objekte
1.1.1. AI_GUARD
1.1.2. AI_MODIFY
1.1.3. AI_AMBUSH
1.1.4. AI_PATROL1 und AI_PATROL2
1.1.5. AI_FOLLOW
1.2. Auswahl an friedlichen Charakteren
1.2.1. TROOPS
1.2.2. SCORPION
1.2.3. BABOON_NORMAL
1.2.4. SAS
1.2.5. KNIGHTS_TEMPLAR und HAMMERHEAD
1.2.6. JEAN_YVES
2. Führer
(kommt dann im zweiten Teil des Tutorials)

1. Wächter

Entscheidend für alles Verhalten eines Charakters, also wie er sich bewegt, welche KI man ihm zuweisen kann, wie er mit anderen Objekten interagiert, etc. ist der Slot in dem er steckt. Man kann Gegner in allen Farben und Formen gestalten, das Verhalten wird jedoch vom Slot, also dem Namen des Objektes im Wad bestimmt. Es ist durchaus möglich auch einen menschlichen Gegner im Slot BABOON_NORMAL zu animieren, allerdings wird er immer noch charakteristische Eigenschaften des BABOON_NORMALs haben. Er kann nur laufen, nicht springen, fliegen, o.ä., er kann nur Nahkampfattacken, wenn er einmal angegriffen wurde, und er wird zufällig in der Gegend herum laufen, wenn ihm mittels AI-Objekten kein anderes Verhalten zugewiesen wurde.

1.1. AI-Objekte

Die AI-Objekte sind wohl die wichtigste Methode, um den Gegnern ein spezifisches Verhalten zuzuweisen, deshalb sollte sie sowieso in keinem Level fehlen. Sie steuern aber auch genauso das Verhalten der friedlichen Charaktere im Level.

Es sind Nullmesh-Objekte, die wie auch andere Effekte, im Leveleditor durch einen weiß-roten Kegel dargestellt werden, der im Spiel aber nicht sichtbar wird. Sie brauchen nicht getriggert werden, sie müssen nur auf dem selben Feld wie der Gegner/Freund platziert werden und gegebenenfalls auf die Zielfelder zu denen sie sollen. Daraus ergibt sich allerdings schon die erste Einschränkung: Wenn man das Verhalten der Gegner/Freunde beeinflussen will, darf man nicht zwei auf dem selben Feld einsetzen.

Nicht alle Charaktere funktionieren aber mit allen AI-Objekten, manche lassen nur bestimmtes Verhalten zu und ignorieren andere AI-Objekte.

Bei allen AI-Objekten gilt, vorne, also wohin der Gegner blickt, ist immer dort, wo das flache Ende des Kegels ist. Auch wenn das Nullmesh-Objekt leicht an einen Pfeil erinnern könnte, ist vorne nicht dort, wohin die Spitze zeigt, sondern auf der anderen Seite!

1.1.1. AI_GUARD

Der Wächter bleibt auf seiner Position stehen und sieht sich nur um. Das AI_GUARD muss einfach auf dem selben Feld wie der Wächter platziert werden und braucht keine weiteren Einstellungen.

1.1.2. AI_MODIFY

Dieses funktioniert nur in Verbindung mit AI_GUARD. Es muss auf dem selben Feld platziert werden und bewirkt, dass der Wächter stramm da steht und den Kopf nicht mehr dreht.

1.1.3. AI_AMBUSH

Es lässt einen Gegner von seinem Startpunkt aus zu einem bestimmten Punkt laufen, wo er auch einen Heavytrigger auslösen kann. Im Prinzip muss man dazu nur ein AI_AMBUSH auf das Feld mit dem Gegner platzieren und ein zweites auf das Feld, zu dem er laufen soll. Auf dem Zielfeld kann man einem Heavy-Trigger platzieren, der dann vom Gegner ausgelöst wird, sobald er dort ankommt. Wichtig ist, dass der Heavy auf dem gleichen Feld wie der AI_AMBUSH liegt, denn Heavy-Trigger, die einfach nur auf dem Weg liegen, werden nicht ausgelöst.

Will man mehrere Gegner/Freunde mit AI_AMBUSH steuern und einfach mehrere davon platziert, sorgt das bei den Gegnern/Freunden für Verwirrung, denn woher sollen sie denn wissen, zu welchem AI_AMBUSH sie laufen soll und welches für einen anderen vorgesehen ist? Aber dieses Problem lässt sich sehr einfach lösen: Man muss die AI-Objekte nur nummerieren. Man gibt bei zwei zusammengehörigen AI_AMBUSH im OCB eine Nummer ein. Eine beim AI_AMBUSH beim Gegner und die gleiche Nummer noch einmal am Zielfeld. Hat man also z.B. drei TROOPS, die irgendwo hin laufen sollen, setzt man unter den einen ein AI_AMBUSH mit einer 1 im OCB und dort, wo er hin laufen soll, auch eines mit einer 1 im OCB. Beim anderen TROOPS setzt man ein AI_AMBUSH mit einer 2 und dort, wo dieser hin laufen soll auch eines mit einer 2, und bei dritten TROOPS macht man das gleiche mit einer 3 im OCB. So weiß immer jeder, wo er hin laufen soll. Welche Nummer man wählt ist eigentlich egal, denn die Zahlen haben bei den AI-Objekten keine andere Funktion. Man kann also statt 1, 2 und 3 auch 12, 35 und 42 nehmen. Wichtig ist nur, dass jeweils zusammengehörige AI-Objekte die gleiche Nummer haben.

1.1.4. AI_PATROL1 und AI_PATROL2

Sie lassen einen Wächter zwischen zwei Punkten immer hin und her patrouillieren. Dazu muss wieder ein AI_PATROL1 auf dem Feld mit dem Wächter platziert werden, ein zweites dort, wo er zuerst hin laufen soll, um seine Patrouille zu beginnen, und ein AI_PATROL2 am zweiten Wendepunkt der Patrouille. Ist der Wächter einmal am zweiten AI_PATROL1 angekommen, läuft er immer wieder zwischen diesem und dem AI_PATROL2 hin und her. Dabei kann er auch wieder Heavy-Trigger auslösen, die unter den AI-Objekten platziert sind. (Keine dazwischen!)

Wichtig ist das auch immer alle drei nötigen Objekte platziert werden und der Wächter sie auch erreichen kann, sonst läuft er nur sinnlos herum. Wenn man mehrere Wächter oder auch Gegner im Level patrouillieren lassen will, sollte man die AI-Objekte wieder nummerieren, wie auch die AI_AMBUSH. Alle drei zusammengehörigen AI_PATROL-Objekte bekommen jeweils die gleiche Nummer.

Man kann sie sogar einen unterschiedlichen Hin- und Rückweg zwischen den beiden Wendepunkten nehmen lassen. Dazu macht man die Räume, in denen die AI_PATROLs liegen, zu Flipmaps (mit gleicher Nummer) und setzt in den beiden Varianten an unterschiedlichen Positionen Boxes, sodass mal der eine Weg und mal der andere blockiert ist. Die Flipmap löst man dann vorher irgendwo aus und platziert unter den AI_PATROLs Heavys für Flipon (im Normalraum) und Flipoff (im Flipraum). So schaltet der Gegner selbst zwischen den Wegen um, und kann so auch im Kreis gehen, anstatt einfach nur hin und her.

1.1.5. AI_FOLLOW

Dieses ist wohl das interessanteste AI-Objekt. Es ist unbedingt notwendig, um die Führer zu steuern, die Lara den Weg zeigen sollen. Eine Reihe von AI_FOLLOWs geben ihnen eine genaue Route vor, und steuern auch weiteres Verhalten.

Aber auch bei den Wächtern kann AI_FOLLOW verwendet werden. Bei ihnen kann man allerdings nicht so komplexes Verhalten bewirken, es kann jedoch ähnlich dem AI_AMBUSH verwendet werden. Man platziert eines auf dem Feld mit dem Wächter und ein anderes dort, wo er hin laufen soll. Wenn man es bei mehreren Wächtern oder Gegnern einsetzt, kann man die AI-Objekte auch wieder nummerieren. (Wenn man ENEMY_JEEP, GUIDE oder VON_CROY im Level benutzt, sollte man für die Gegner und Freunde bei den AI_FOLLOWs einfach ganz hohe Nummern nehmen, damit es garantiert keine Nummer doppelt gibt und die KI nicht durcheinander kommt.) Der Unterschied zum AI_AMBUSH ist nun, dass die Wächter/Gegner, bei denen es funktioniert, am Ziel spezielle Animationen ausführen.


1.2. Auswahl an friedlichen Charakteren

1.2.1. TROOPS

Das ist in der Regel ein menschlicher Charakter mit einer Schusswaffe. Wird er ohne AI-Objekte eingesetzt läuft er nach zufälligem Muster ein wenig in der Gegend herum. Soll er stattdessen still an einer Stelle stehen bleiben, sollte man AI_GUARD benutzen. Mit AI_MODIFY kann man zusätzlich verhindern, dass er den Kopf dreht.

Man kann ihn mit AI_AMBUSH an eine bestimmte Stelle laufen lassen und löst dort unter den AI_AMBUSH einen Heavy-Trigger aus. So kann man ihn z.B. eine Tür öffnen lassen. Nach Möglichkeit sollte man dann am Zielfeld eine Hebelattrappe platzieren, damit es den Anschein hat, als hätte er den betätigt. Man kann aber auch die Tür so setzen, dass sie nach außen aufgeht und dann TROOPS direkt davor laufen lassen. Dann sieht es aus als hätte er sie aufgedrückt.

AI_PATROL funktionieren auch TROOPS. Setzt man sie nahe beieinander, sieht es aus, als würde er etwas bewachen. Man kann die beiden Wendepunkte aber auch weiter auseinander legen und Hindernisse auf der direkten Strecke platzieren, bzw. die grauen Boxes setzen. Dann sieht es eher aus, als wenn er den Weg entlang schlendert.

Mit AI_FOLLOW kann man ihn auch zu einen Zielpunkt laufen lassen. Der Unterschied zum Verhalten mit AI_AMBUSH ist jedoch, dass er auf dem Weg immer auf Lara wartet. Dies ist also gut geeignet, wenn er Lara etwas zeigen soll.

Er greift auch Gegner an, und kann so Lara im Kampf unterstützen, oder in Leveln, in denen sie keine Waffen hat, für ihre Sicherheit sorgen. Ein guter Effekt in einem Level wäre z.B. auch, wenn man ihn, nachdem Lara von Gegnern eingekreist wird, die auch gerade erst ausgelöst wurden, mittels AI_AMBUSH zu Lara laufen lässt, um sie zu retten.

Man kann ihn aber auch als einzige Verteidigung in Leveln einsetzten, in denen Lara keine eigenen Waffen hat. Ist also ein Gegner hinter Lara her, muss sie zum nächsten TROOPS laufen, und bei ihm bleiben, bis er den Gegner getötet hat.

Hilfreich ist sicher auch zu wissen, dass er fast die gleichen Animationen wie der SAS. Es ist daher problemlos möglich einen Gegner im SAS-Slot in diesen Slot zu kopieren um ihn friedlich zu machen. Nur die Scorpion-Attacke wird dann wahrscheinlich nicht funktionieren. (Siehe da.)

1.2.2. SCORPION

Dieser greift auch andere Gegner an, und kann so Lara im Kampf unterstützen. Allerdings ist er nicht wirklich friedlich und greift auch Lara an, wenn keine anderen Gegner mehr da sind. Man kann aber mit einem Trick verhindern, dass er das tut und ihn so halbwegs friedlich machen: Da er immer erst alle anderen Gegner angreift, muss man nur in der Nähe außerhalb Laras Sichtweite und vor allem seiner Reichweite einen Gegner platzieren. Solange dieser aktiv ist, wird der SCORPION in der Nähe hektisch herum laufen, aber Lara nicht angreifen.

Er greift aber auch TROOPS an, und dieser ihn, sodass man nicht beide als Unterstützer gleichzeitig einsetzen kann, sondern nur als Rivalen.

Man kann ihn auch direkt einen TROOPS attackieren lassen, damit Lara diesen retten muss. Dazu platziert man einen TROOPS auf dem Feld vor einem SCORPION und gibt bei beiden eine 1 im OCB ein, dann hält der SCORPION den TROOPS fest und tötet ihn nach einer Weile, sofern Lara in der Zwischenzeit nicht eingreift. Dieser Effekt eignet sich auch gut für Zwischensequenzen.

Bei SCORPION funktionieren keine AI-Objekte.

1.2.3. BABOON_NORMAL

Das ist im Original ein Affe. Er läuft immer ein paar Schritte, und bleibt dann wieder stehen, um sich zu kratzen, oder anderes zu tun. Er ignoriert dabei Lara völlig. Angreifen wird er nur, wenn man auf ihn schießt. Seine Besonderheit ist, dass er nach dem Tod immer wieder neu ausgelöst werden kann.

Er kann auch mit AI_GUARD an einer Stelle festgehalten werden. AI_MODIFY hat jedoch keinen Effekt. AI_PATROL und AMBUSH funktionieren ganz normal.

Ein besonderes Verhalten kann mit AI_FOLLOW erreicht werden: BABOON_NORMAL kann einen Hebel ziehen, um beispielsweise einen Durchgang zu öffnen. Wenn man die originale Animation verwendet, sollte man das AI_FOLLOW vor eine neun Klick hohe Plattform setzen, das flache Ende zur Wand. Oben sollte dann der Hebel sein. Dieser ist ein normales Animating, das man sich am besten aus dem TR4-Level „Die Mastaba” holt. Es muss 6 Klicks angehoben werden. Getriggert wird dieses durch einen Heavy, den man unter dem AI_FOLLOW unten vor dem Hebel platziert. Wenn man Erfahrung beim Animieren von Objekten hat, kann man die Animation des Affen natürlich auch ändern, sodass er etwas anderes tut.

Nachdem der BABOON_NORMAL den Hebel gezogen hat (oder etwas anderes getan hat, wenn die Animation verändert wurde), kann er noch weitere Trigger über Heavy auslösen. Die müssen dabei auf dem Feld nördlich (nördlich im Spiel, entspricht rechts im Planview des Leveleditors) vom AI_FOLLOW platziert werden. Wichtig ist, dass diese unbedingt auf dem Feld nördlich vom AI_FOLLOW liegen, auch dann wenn der Hebel auf einem anderen Feld ist, etwa südlich vom AI_FOLLOW, weil der Affe von Norden her kam! Er löst trotzdem nach seiner Animation immer den Heavy-Trigger aus, der nördlich vom AI_FOLLOW liegt.

Beachten sollte man auch, dass er BABOON etwas unstet ist. Auch mit AI_FOLLOW wird nicht auf direktem Weg laufen, sondern immer mal stehen bleiben, sich kratzen, oder auch Umwege laufen bevor er das Ziel erreicht. Deshalb ist es empfehlenswert, den Bewegungsbereich des Affen möglichst klein zu halten, damit er nicht zu viel Zeit vertrödelt, sonst kann es sein, dass der Spieler einige Minuten warten muss, ehe der BABOON die Aktion ausführt und es weiter geht. Und das sollte man nach Möglichkeit vermeiden, es sei denn, man hat einen verdammt guten Grund dafür.

1.2.4. SAS

Das ist normalerweise ein Gegner, der Lara bekämpft. Er hat jedoch eine Besonderheit: Wird ihm mit einem AI-Objekt ein spezielles Verhalten zugewiesen, bleibt er dabei zunächst friedlich gegenüber Lara, und wird sie nicht gleich angreifen, wenn er sie entdeckt. Er greift erst an, wenn Lara Aggression zeigt. Dazu muss sie ihn allerdings nicht direkt angreifen, sondern es reicht wenn sie einen anderen Gegner angreift, oder einfach in die Luft schießt. In Leveln ohne Waffen kann er jedoch als völlig friedlicher Charakter eingesetzt werden.

Das Verhalten bei den AI-Objekten ist das gleiche wie bei TROOPS.

1.2.5. KNIGHTS_TEMPLAR und HAMMERHEAD

Beide * sind eigentlich Gegner und können auch nicht wirklich friedlich gemacht werden. Aber: Wenn sie mit einem AI_FOLLOW gesteuert werden, führen sie am Zielpunkt automatisch immer wieder ihre Angriffsanimation aus. Sie greifen nicht mehr normal an, sind dann also als Gegner nun ungeeignet, aber dieser Verhalten eignet sich unter Umständen gut für Zwischensequenzen. Wenn man am Ziel noch etwas anders platziert, sieht es so aus, als würde der Gegner das angreifen. Der KNIGHTS_TEMPLAR kann sogar Barrikaden im SHATTER9-Slot zerstören, wenn sie hinter dem Feld mit dem AI_FOLLOW stehen.

1.2.6. JEAN_YVES

Dieser kann sich nicht im Level umher bewegen, sondern bleibt immer in einem Raum. Er kann jedoch verschiedene Animationen in zufälliger Reihenfolge ausführen, sodass er lebendiger aussieht, als wenn man einfach Animatings nehmen würde. Daher eignet sich dieser Slot gut um Stadtlevels zu beleben.

Er hat 16 Animationen, die in 4 Gruppen á 4 Animationen unterteilt sind. Wird er ausgelöst, führt er nur die ersten 4 Animationen (0 bis 3) aus. Beim Original-Objekt sitzt er dabei am Schreibtisch. Um zur nächsten Gruppe zu wechseln, muss Lara nur einen Flipeffect-30 mit dem Timer 1 aktivieren. Da dieser global wirkt, kann dies auch in einem anderen Level geschehen. So war es im Original-Spiel auch. Ist JEAN_YVES also in Level 1 und Lara aktiviert in Level 2 eine Flipeffect 30, wirkt dieser auch auf JEAN_YVES sobald sie wieder in Level 1 zurückkommt.

Nachdem der Flipeffect-30 mit Timer 1 aktiviert wurde, führt JEAN_YVES die zweite Gruppe mit Animationen (4 bis 7) in zufälliger Reihenfolge aus. Er steht dabei am Bücherregal. Mit Timer 2 wechselt er zur dritten Animationsgruppe (8 bis 11) und mit Timer 3 und alle anderen aufwärts schließlich zur vierten (12 bis 15). Dabei gilt: Wurde ein Flipeffect-30 einmal aktiviert, geht es nicht wieder zurück. Ein weiterer Flipeffect-30 mit niedrigerer Timer-Nummer hat keinen Effekt.

Deshalb kann man ihn schlecht im gleichen Level mit GUIDE, VON_CROY oder ENEMY_JEEP verwenden, da diese auch mit Flipeffect-30 gesteuert werden, und bei ihnen schnell höhere Timer-Werte verwendet werden. JEAN_YVES würde dann nur noch die seine letzte Animationsgruppe ausführen.

Und im zweiten Teil folgt dann die Erklärung zu den Führern.

Urheberrechtshinweis: Die vorliegende Publikation ist geistiges Eigentum des Autors und urheberrechtlich geschützt. Der Autor behält sich alle Rechte vor. Es ist gestattet den Text zum Zwecke des privaten Gebrauchs zu speichern, kopieren oder auszudrucken. Eine Vervielfältigung, Verbreitung, Bereithaltung zum Abruf oder Online-Zugänglichmachung (Übernahme in andere Webseite) des Werkes, des Layouts der Webseite, sonstiger Inhalte (z.B. Bilder) ganz oder teilweise, in veränderter oder unveränderter Form ist nur nach vorheriger ausdrücklicher Zustimmung des Autors zulässig.
Tomb Raider und Lara Croft sind eingetragene Warenzeichen von Eidos Interactive Limited.

Dieser Content wurde im Rahmen des TRForge Adventskalenders 2010 erstellt.
Falls vom Autoren selbst nicht anders angegeben, respektiere bitte die allgemeinen Benutzungsrichtlinien zur Nutzung von TRForge-Inhalten.

Tutorial: Farben, Atmosphäre und Beleuchtung by Nadine (Horus)

Da viele Leute mit der Beleuchtung und den Farben in ihren Levels Probleme haben oder es schwierig finden die passende Atmosphäre zu erschaffen habe ich dieses kleine Tutorial zur Beleuchtung geschrieben. Es basiert auf der Methode die auch in den originalen Tomb Raider Spielen (verstärkt in TR4 und TR5) benutzt wurde.

1 – Atmosphäre und Stimmung durch Farben

Als erstes sollten wir klarstellen mit welchen Farben wir bestimmte Stimmungen in unseren Levels erreichen können.

Kalt und Eisig: Das ist noch recht einfach, hellgrau und Farben mit wenig Sättigung sind hier am besten. Mit einem stark bewölktem Himmel kann ein grauer Fog Bulb eine schöne dicke, trübe Atmosphäre erreichen. Man kann allerdings auch einen klaren, kalten Effekt (rechtes Bild) erschaffen, dafür braucht man nur ein kaltes helles blau am Himmel.

Kühl: Hier ist Blau gefragt. In warmen Umgebungen (rechter Screenshot) kann auch Grün benutz werden um z.B. Wasser kühl und einladend erscheien zu lassen. Sehr zarte blaue Fog Bulbs sind hier sehr nützlich.

Unheimlich/gruselig: Um ein gruseliges Level zu bauen muss man nicht zwingend alles dunkel beleuchten. Sieh dir die beiden unteren Screenshots an: beide haben sehr zurückhaltende Farben. Im rechten kann man zwar teils pinke, blaue oder grüne Stellen erkennen aber die Farben haben nur wenig Sättigung. Im dritten Screenshot wurde ein wenig hellgrüner Nebel (Texturen & Fog Bulb) hinzugefügt, das kann teils auch eine schöne giftige oder unwirkliche Atmosphäre erschaffen.

Feucht/Staubig: Diese Effekte kann man nur mit Fog Bulbs erreichen. Links ist ein dicker Helltürkiser Nebel der die Luft dort feucht und schwer wirken lässt. Rechts scheint die Luft voll von Staub des zerstörten Gebäudes zu sein da hier ein bräunlicher Fog Bulb eingesetzt wurde. In solchen Räumen machen sich Flame Emitter übrigens immer gut.

Warm/Heiß: Orange und Rot sind hier Pflicht. Links wird die Szene von einer tiefen Sonne mit orangem Licht beleuchtet, dies lässt die Umgebung warm erscheinen. Rechts ist eine Kombination aus mitteldichten Nebel, leuchtenden Lavatexturen und Flame Emittern, alles schön Rot bis Gelborange – Lara muss dort förmlich schwitzen…


2 – Nachtlevel und Dunkle Ecken

Kein Spieler läuft gerne in einem Rabenschwarzen Level herum. Also muss man als Levelbauer einen Weg finden einen Level oder ein Gebiet dunkel erscheinen zu lassen ohne das es wirlkich dunkel ist.

Nacht: Mondlich ist eigentlich farblos aber kühle Blautöne können das Level interessanter wirken lassen (links). Wenn es gewisse etwas fehlt, versuch einige gelbliche oder orange Akzente bei Fenstern oder Lampen zu setzen um mehr Kontrast im Level zu erreichen.

Dunkle Ecken: Sieh dir den linken Screenshot an, hinten hat die Höhle einen Eingang wo Licht herein kommt. Der vordere Teil der Höhle ist aber leicht grünlich ausgeleuchtet. Ähnliches kannst du auch im rechten Screenshot sehen: Der Eingang rechts lässt etwas licht herein, aber direkt über dem Eingang ist ein türkises Licht.
Wenn man mal ehrlich ist gibt es keine Erklärung warum dort blaues oder grünes Licht sein sollte – genau genommen wären solche Stellen auch einfach nur dunkel. Aber genau solche dunklen Ecken wirken auf das Auge im Kontrast zu hellen (mit Sonnenlicht beleuchteten Stellen) grünlich. Einfach gesagt: Schwarz oder Dunkelgrau wirkt neben hellbraun z.B. grünlich. Das nennt man Simultankontrast. Man kann diesen Effekt verstärken und diese dunklen Ecken grünlich färben um das Level interssanter wirken zu lassen und dem Auge in seinem Empfinden entgegenzukommen. So ein Simultankontrast kann man auch in der Kunst häufig entdecken, z. B. in den Schattenbereichen dieses Bildes.


3 – Farbschema

Hast du je darüber nachgedacht welche Farben in deinem Level dominant sind? Ein durchgehendes Farbschema kann ein Level stark aufwerten – und dies kann man über zwei einfache Wege erreichen.

A: Farben in den Texturen: vereinfacht gesagt kann man eine Grundfarbe für z.B. sein Mauerwerk wählen und eine passende Farbe für die Dekoration. Im Linken Screenshot ist die Grundfarbe hellbraun mit blauen und dunkelbraunen Dekorationselementen (Geländer, Borte, Türen, Säulen…). Rechts ist die Grundfarbe ein rötliches Braun und die Dekoration (und das Wasser weiter unten) ist grünlich Türkis.

B: Ambient Light und die Farben der Light Bulbs: Dies habe ich bereits in meinem ersten Beleuchtungstutorial erwähnt. Es ist eine sehr gute Idee kühle Farben wie Grün oder Blau mit warmen Farben wie Orange oder Gelb zu benutzen.
Erster Screenshot: Brauntöne zusammen mit einem zarten Blau.
Zweiter Screenshot: Orangefarbenes licht, türkisfarbener Nebel und rötbräunlicher Fels.
Dritter Screenshot: Blaues Umgebungslicht und orange Light Bulbs durch die Lampen.
Vierter Screenshot: grünes Umgebungslicht mit goldenen Light Bulbs.


Ich hoffe dass dir dieses Tutorial irgendwie helfen konnte deine Beleuchtungsfähigkeiten zu verbessern oder zu verfeinern. Happy Building!

Dieser Content wurde im Rahmen des TRForge Adventskalenders 2008 erstellt.
Falls vom Autoren selbst nicht anders angegeben, respektiere bitte die allgemeinen Benutzungsrichtlinien zur Nutzung von TRForge-Inhalten.