Auto- und Kamera-Template

Das Auto-Template enthält sämtliche Funktionen und Aktionen, die Sie brauchen, wenn Sie sich dranmachen, ein Autorennspiel zu erstellen. In A7 sind die Autotemplates nicht im Project-Manager enthalten. Wen Sie einen oder mehrere der unten beschriebenen Skripte verwenden möchten, kopieren Sie diese bitte manuell aus templates\code in Ihren Work-Ordner. Bitte bearbeiten Sie nicht die Originaldateien im Ordner templates\code. In A8 werden die Auto-Templates vom Projekt-Manager unterstützt und können hinzugefügt, weggenommen oder individuell angepasst werden.

Hie das Beispiel eines einfachen aber doch voll funktionsfähigen Main-Skripts, das sämtliche Auto-Templates benutzt:

#include <acknex.h>
#include "car.h" // include player's car code
#include "camera.h" // include the car camera code
#include "car_ai.h" // include the enemy cars AI code
#include "car_props.h" // include the template car speedometer, racing timer, semaphore
#include "car_tracks.h" // include racetracks detection code for ice, grass, water and oil
function main() { video_mode = 8; // run at a 1024x768 pixels resolution level_load("racetrack01.wmb"); // use your own level name here }

Je nachdem was Sie brauchen, können Sie eines oder mehrere der .h-Skripte einfügen. Sie alle sind entweder eigenständig oder 'includen' die Extradateien automatisch.

car.h

Diese Skriptdatei enthält den Car-Code für den Player. Sobald Sie sie in Ihre Main-Skriptdatei einfügen, erscheint eine Action namens "t_players_car" (A7) oder "car_player" (A8) in der Aktionsliste von WED und kann einem Autokörpermodell (ohne Räder) zugewiesen werden. Klicken Sie rechts auf die Datei t_car.h unter WEDs Resources / Script Files und wählen Sie, wenn Sie die Eigenschaften des Autos verändern wollen, "Customize". Die Eigenschaften (Properties) sind dieselben wie in der car_c-Bibliothek.

Um die Parameter des Playerautos von WED aus einzustellen, können Sie auch skill1(Player_speed) ... skill20 (Car_dampwheel) verwenden. Für ein Luftkissenfahrzeug mit unsichtbaren Rädern setzen Sie Flag1. Die Default-Werte funktionieren mit den meisten Automodellen gut.

camera.h

Dieses Skript gibt dem Player die Möglichkeit eine der 6 eingebauten Kameras (Orbit, Chase, Cockpit, Fixiert, 1.Person, 3.Person) für das Spiel zu verwenden. Den Defaultmodus der Kamera können Sie bei Spielstart einstellen und ebenso ihre Verfolgungsgeschwindigkeit, die Winkel und Offsets. Dazu bearbeiten Sie die Datei camera.h in WED.

car_ai.h

Binden Sie dieses Skript in Ihre Main-Datei ein und Sie können die folgenden Aktionen in WEDs Aktionsliste benutzen:

1) t_race_finisher. Diese Aktion kann jedweder Entity, die am Ende des Levels platziert ist zugewiesen werden. Sobald eines der Autos (Player-Auto oder ein Feindauto) dieser Entity nahekommen, wird das Rennen für das betreffende Auto vorbei sein. Und ist die Rennstrecke sehr weit: nur zu, fügen Sie soviele t_race_finisher-Entities in Ihr Level ein wie Sie brauchen

2) t_ai_car. Weisen Sie diese Aktion einem Feindauto-Modell zu (bis zu 1.000 lassen sich in einem Level verwenden) und es wird sich selbst automatisch einstellen. Sie können auch für jedes Auto individuelle Parameter einstellen indem Sie, wenn Sie wollen, seine Skills skill1 (Ai_speed)... skill9 (Ai_scan_range) verwenden.

Achten Sie darauf, in WED auch wirklich einen eigenen Pfad für jedes Auto zu erstellen und seinen Ursprung nah an die Startposition des Autos zu setzen. Beim Starten erkennen die Autos den Pfad, der ihnen am nächsten ist und benutzen ihn.

Unter WEDs Tab "resources -> script files" können Sie das Skript t_car_ai.h nach eigenen Wünschen einstellen. Der Auslösewert "end of race" setzt die Distanz (in Quants) bei der das Rennen aus ist sobald die Autos der Entity, der die Aktion "t-race_finisher" zugewiesen ist, nahekommen.

car_props.h

Das Skript beinhaltet verschiedene Eigenschaften:

1) Tacho;

2) Hochpräzisions-Zeitmesser;

3) Semaphor;

4) Wasser-Shader (hilfreich, wenn in Ihrem Level Wasser vorkommt).

Tacho, Zeitmesser und Semaphore werden automatisch aktiviert indem einfach nur die Datei t_car_props.h ins Projekt eingefügt wird. Trotzdem können Sie deren Verhalten aus WED heraus individuell einstellen oder sie auch ganz abschalten.

Das Wasser benutzt Gamestudios eingebauten Shader, der mit der Bibliothek mtlFX.c mitgeliefert wird. Weisen Sie Ihrem Wasser-Modell oder -Terrain die Aktion fx_water zu und, sofern Ihre Engineversion und Ihre Videokarte das unterstützen, wird diese aktiv (hierzu wird eine Videokarte V.S. / P.S. 2.0 oder besser benötigt). Haben Sie eine schwache Videokarte oder eine niedrige Engineversion, wird das Wasser einen einfachen Texturverschiebungseffekt benutzen.

car_tracks.h

Dieses Skript modifiziert das Verhalten des Player-Autos (Geschwindigkeit, Reibung, Drehung, etc.) wenn es über die vereisten, grasbewachsenen oder ölverschmierten Bereiche des Levels fährt: das Auto wird langsamer sobald wenigstens eines seiner Räder das Gras berührt und wird deutlisch schwieriger zu Steuern sein sobald seine Räder auf die vereisten Bereiche geraten. Berühren seine Räger eine ölige Stelle im Level, wird es ausser Kontrolle geraten. Zusätzlich hierzu generiert das Skript Wasserspritz-Partikeleffekte sowie Wasser-Soundeffekte wenn die Räder des Players auf eine Wasseroberfläche im Level kommen.

Sie fangen an indem Sie der Terrain- oder Modell-Entity, die Sie für's Level benutzen, die Aktion namens "tcar_terrain" zuweisen. Das Verhalten von Gras, Eis usw. wird durch die Farbe der Leveltextur ausgelöst. Wenn Sie also dieses Feature benutzen wollen, muß eine spezielle Bitmap erstellt werden. Exportieren Sie hierfür die Skin des Terrains oder Modells, das Sie für's Level verwenden und nennen Sie sie "colormap.tga". Färben Sie in Ihrem bevorzugten Malprogramm die Bereiche, die vereist sein sollen in RGB = 255 255 255 ein. Für das Gras (die Bereiche, die das Auto abbremsen) nehmen Sie RGB = 0 255 0, für's Ölige nehmen Sie RGB = 0 0 0 und RGB = 0 0 255 brauchen Sie für das Wasser. Hier ist ein Beispiel einer colormap.tga:

In diesem Beispiel fährt das Playerauto in den roten Bereichen völlig normal, in den grünen, blauen, weißen und schwarzen Bereichen wird es von Gras, Wasser, Eis und Öl beeinflußt. Die aktiven colormap.tga-Farben wie auch die Eigenschaften der Wasserpartikel lassen sich von WED heraus individuell einstellen - siehe unten.