Internal Areas Obwohl FarCry speziell für eindrucksvolle Outdoor-Level designt wurde, wäre kein Spiel komplett ohne die Möglichkeit auch Maps mit Innenräumen zu gestalten. Die Kreierung von Innenraumsequenzen ist genauso einfach wie das Bauen von Räumen mit Wänden, Boden, Decke und Türen. Allerdings sind ein paar technische Aspekte zu beachten, was den Sichtradius des Spielers und der KI in diesen Bereichen betrifft. Außerdem müssen wir dem Licht und den Portalen, die einen Zugang zu Innenräumen ermöglichen, spezielle Aufmerksamkeit widmen. Daher halten einige das Designen von Indoor-Levels für einen ganz eigenen Punkt im Vergleich zu Außenarealen.
Allgemeines
Um die Grundlagen für euer Indoor-Level zu legen, ändert am besten die typische Ansichtanordnung des Editors auf vier anstatt nur zwei Sichtfenster. Dies könnt ihr in der Option "Configuration Layout" im "Display"-Menü tun. So stehen euch Fenster mit Ansichten von vorne, oben und der Seite zur Verfügung und außerdem noch die "Perspective View" mit dem Endresultat, wie es im Spiel später aussieht. Damit könnt ihr die Positionen von Wänden, Türen usw. einfacher sehen und festlegen. Arbeitet mit allen vier Fenster zur gleichen Zeit oder klickt auf eines um es zu fokussieren und mehr Platz zum Werkeln zu haben.
Bauen von Böden und Decken
Wählt aus der "Brush"-Objektliste einmal ein "Floor"-Objekt (Bodenobjekt) aus, damit ihr einen solchen setzen könnt. Im "glm"-Ordner werdet ihr eine Menge an nützlichen "Floor"-Objekten, aber auch Türen usw. finden können (wie z.B. "floor4x4y" aus dem Verzeichnis "ww2_indust_set1"). Setzt das "Floor"-Objekt auf eure Karte und nutzt die Klonen-Funktion (Strg + C) um schnell eine größere Bodenfläche zu bauen. Wenn ihr mit dem Ergebnis zufrieden seid, dann solltet ihr diese Objekten "freezen" (einfrieren), damit ihr nicht durch einen dummen Unfall im späteren Verlauf den Boden einmal bewegt oder löscht. Außerdem ist es hilfreich bei vielen Objekten in einem Indoor-Level die Anzeige von deren Namen zu deaktivieren. Geht dafür einfach in die "Preferences" im Menü "Tools" und deaktiviert den Eintrag "Text Labels" im "Viewports"-Verzeichnis. Decken werden übrigens genau wie Böden eingesetzt, aber diese kommen erst zum Schluss.
"VisAreas" sind unabdinglich
Die so genannten "VisAreas" (sichtbare Bereiche) definieren für den Spieler und die KI sichtbare Bereiche der Map, können aber auch einen Einblick in diese von draußen verhindern. "Portals" (Portale) ermöglichen euch von draußen in "VisAreas" oder von einer in eine andere "VisArea" hineinzuschauen. Ihr könnt auch ohne die Nutzung von "VisAreas" und "Portals" arbeiten, riskiert dadurch aber erhebliche Probleme für eure Map im Bereich Belichtung und anderen Dingen.
Um eine "VisArea" einzubauen, platziert diese wie ein "Shape"-Objekt und macht beim letzten Eckpunkt einen Doppelklick um den abgesteckten Bereich abzuschließen. Es ist sehr wichtig, dass die "VisArea" bis in die hinterste Ecke eures Bodens reicht. Nehmt also beim Erstellen einer solchen am besten die Top-View und zoomt evtl. ein wenig heran. Überprüft nun die Position und Höhe der "VisArea". Verschiebt sie wenn nötig UNTER euren Boden und setzt die Höhe auf das Maximum der Höhe eures geplanten Gebäudes. Jedes Objekt, egal ob Bodenplatte oder Wandblock, außerhalb der "VisArea" wird im Spiel nicht angezeigt.
Zwei Räume durch Portale miteinander "verbinden"
Ein Portal muss sehr exakt und genau gesetzt werden und auch danach müsst ihr vermutlich noch dessen Größe und Höhe verändern, damit dieses nicht in der Nähe umstehende Objekte ausschließt. Platziert die Punkte eines Portals zwischen zwei "VisAreas" genauso, wie ihr es bei diesen auch getan habt. Haltet aber die Fläche des Portals so schmal wie möglich und setzt die Seiten so nah wie möglich and die "VisAreas" heran (berühren sollen diese sich aber nicht). Am besten ihr nutzt auch hier die Top-View und ein ganz kleines Grid. Nun stellt ihr noch die Höhe des Portals ein, damit der gesamte Durchgang der zwei Räume, die durch die beiden "VisAreas" definiert werden, vom Portal überdeckt wird. Hier dürfen aber auch wieder keine Seiten berührt werden.
Objekte, die sich durch zwei Räume erstrecken
Überschneidungen von Portalen und Objekten können im Spiel recht problematisch sein. Wenn ihr ein Objekt in eurer Karte habt, das von einer "VisArea" in eine andere übergeht (zum Beispiel ein langes Gasrohr), wird der Spieler dieses nicht sehen können. Ein Objekt, dessen Zentrum in einer "VisArea" liegt, in die der Spieler durch ein Portal hineinblicken kann, ist also dadurch unsichtbar (sogar wenn er direkt auf dieses schaut). Daher muss jedes solcher Objekte sein Zentrum im Portal haben, welches die beiden "VisAreas" miteinander verbindet.
Gerade bei Wänden kann das sehr schwierig werden. Versucht eure Level so zu gestalten, dass die eine Wand an der Seite ihrer "VisArea" endet und die nächste auch in der nächsten "VisArea" anfängt. So vermeidet ihr große Probleme im späteren Designverlauf.
Setzen von Wänden
Am einfachsten macht ihr euch das Leben, in dem ihr Wandobjekte von der gleichen Größe wie die vorher gesetzten Bodenobjekte nehmt (Bsp.: "4x4 floor"-Objekte und "300 x 400" Wandobjekte). Wände müssen unbedingt in euren "VisAreas" liegen, so dass ihr diese am besten so setzt, dass der Boden noch etwas hinter ihnen hinausgeht. Auch hier macht sich die Klonen-Funktion wieder bezahlt, da es sehr mühsam ist jedes Objekt einzeln einzusetzen. Wenn ihr in euren "VisAreas" arbeitet, dann setzt euren "Brush Selector" so ein, dass er nur "Brushes" auswählt. Sonst habt ihr schnell eine "VisArea" oder ein Portal ohne es zu wollen verschoben. Mit dem Konsolenbefehl "r_gamma 2" könnt ihr außerdem die Helligkeit etwas erhöhen, um genau zu sehen, was ihr in eurem Level einsetzt.
Zusammenbasteln von Türen
Türen sind vermutlich das am schwierigsten einzusetzende Element, da ihr kaum eine Tür finden werdet, die genau in eure Lücke zwischen zwei Wänden passen wird. Stattdessen müsst ihr eine Türe aus den individuellen Teilstücken zusammenbauen, die es in den Verzeichnissen zu finden gibt. "Industrial"-Türen sind recht einfach und gut für den Anfang, Teile wie "_sidestraight_", "_topstraight_" oder "_corner_" für diese befinden sich im selben Verzeichnis wie Wände und Böden. Setzt die Teile nach eurem Belieben ein und manövriert sie so, dass kein Spielraum mehr zwischen Türe und Wand besteht.
Überprüfung auf Konflikte durch das Portal
Wenn alles richtig eingesetzt ist, solltet ihr die Größe eures Portals, welches die Lücke in der Wand abdeckt, überprüfen. Zu große Ausmaße verschwenden Performance, während eine zu kleine Größe einige Teile der Türe verschwinden lässt. Das Zentrum eines jeden Objekts der Türe muss im Portal liegen. Wenn ihr das Portal nicht mehr ausgewählt habt könnt ihr sehen, ob alle Teile der Türe angezeigt werden. Ist dies nicht der Fall heißt es für Portal verschieben oder Größe verändern.
Die vier Lichttypen
Für Innenlevel ist das Licht natürlich ungemein wichtig. Es gibt verschiedene Lichttypen, die ihr einsetzen könnt:
1. Dynamic Lights (dynamisches Licht)
2. Radiosity Lights
3. Dynamic Fake Lights (dynamisches gefälschtes Licht)
4. Non-Dynamic Fake Lights (nicht-dynamisches gefälschtes Licht)
Dynamisches Licht
Einer der Schlüsselaspekte beim Einsatzen von dynamischem Licht ist, dass dieses nicht durch Portale scheint und somit in manchen räumlichen Gegebenheiten einen sehr unrealistischen Look mit sich bringt. Natürlich könnt ihr den Parameter "Affect This Area Only" auf "False" (also deaktivieren) stellen, aber dies kostet immense Prozessorgeschwindigkeit und lässt das Licht manchmal in falsche Bereiche scheinen.
Geht lieber sicher, dass euer dynamisches Licht nicht in Portale hinein scheint oder nur zu einem ganz kleinen Teil, den ihr mit Bodentexturen und grundlegenden Lichteinstellungen verwischen könnt.
Radiosity Lights
Da dynamisches Licht in einigen Situationen aufgrund seiner Funktionsweise nicht eingebracht werden kann, braucht ihr die "Radiosity Lights" um solche Bereiche nach euren Wünschen auszuleuchten. Normalerweise platziert man Dynamic Lights an der Decke während Radiosity Lights auf den Boden gesetzt werden, aber das hängt auch von dem jeweiligen Raum ab. Manchmal ist es nötig mehrere um ein großes Objekt herumzusetzen, damit dieses gut belichtet ist.
Die Radiosity Einstellungen für ein Dynamic Light Objekt:
- Fake Radiosity: True
- Light Type: 1
- Use in Real Time: False
- Low Diffuse Multiplier: 0.1 (oder eine ähnlich niedrige Zahl)
- Cast Light Map: True
Um den Lichteffekt von Radiosity Lights im Level zu begutachten müsst ihr die "Generate Lightmaps"-Funktion im "Game"-Menü ausführen.
Fake Lights
Ihr könnt auch "Fake Lights" mit einem Dynamic Light Objekt in eure Map einbauen. Diese generieren zwar auch z.B. einen Lichtstrahl, werden aber nicht so komplex berechnet und wirken sich daher nie auf die Gesamtbelichtung des Raums aus. Daher benötigen sie auch weit weniger Prozessor-Performance wie "richtige" Dynamic Lights, schaffen aber einen ähnlichen Effekt.
Grundlegendes zum Brush
Damit eure Innenräume auch mit den Außenarealen zusammenarbeiten, müsst ihr sie durch Löcher im Terrain miteinander verbinden. Um ein solches Loch zu schneiden, wählt den "Hole Brush" aus dem "Terrain"-Bereich der RollUpBar aus. So habt ihr einen Brush zur Verfügung, der sich nur durch die roten Quadrate von den anderen unterschiedet. Diese verdeutlichen die Form und Größe des Lochs, da solche nicht rund sein können wie die eigentliche Form des Brush.
Schneiden und Verbinden
Um nun ein Loch zu schaffen, versichert euch dass der ausgewählte Brush "Make Hole" ist und klickt irgendwo auf das Terrain. Genauso könnt ihr auch Löcher wieder entfernen. Nutzt dafür den "Remove Hole" Brush und klickt auf die gleiche Stelle. Wenn ihr die "Strg"-Taste gedrückt haltet, könnt ihr schnell von einem zum anderen Modus wechseln. Ein solches Loch lässt die KI und den Spieler passieren. Trotzdem sind die Polygone des dortigen Terrains dennoch existent, sie werden nur nicht mehr während einer Kollisionsabfrage berechnet. Damit ein solches Loch nun mit euren Innenräumen in Verbindung steht, muss der Eingang dieser nahe an das Loch gesetzt werden. Außerdem solltet ihr noch ein Portal einbauen, damit der Spieler von draußen in das Loch und die Innenbereiche blicken kann.