Auto-Templates 1

Top  Previous  Next

Diesen Monat kehren die Templates ruhmreich zurück und zwar mit Folge Eins der Serie über Auto-Templates. Fangen wir also an und kopieren den Ordner \cartemplate in unseren GameStudio-Installationsordner.

 

Ich habe ein einfaches Testlevel für Sie erstellt: es heißt car_test. Also öffnen Sie es in WED. Sie können zwar Ihre eigenen Level nehmen aber jetzt arbeiten wir besser erstmal mit meinem Level.

 

aum85_templates1

 

Das Level ist sehr einfach: es besteht aus einer einzigen Terrain-Entity und dem Auto-Modell, das die Aktion namens CarInit zugewiesen hat. Auf geht´s, starten wir das Projekt!

 

aum85_templates2

 

Sehen Sie das kleine Autochen links auf dem Bildschirm? Sie sehen es tatsächlich? Nun, das ist das Player-Auto. Bewegen Sie es mithilfe der Tasten WSAD, der Pfeiltasten, der Maus oder eines Joysticks. Diese Einstellung wäre für eines dieser kleinen Autorennspiele perfekt. Ich habe die Kamera absichtlich in einer Höhe von über 2.000 Quants platziert, denn ich wollte einen möglichst großen Bereich überblicken können.

 

Betrachten wir uns den Inhalt der Main-Funktion: ob Sie es glauben oder nicht, aber mit nur 10 Codezeilen können Sie Ihr eigenes Auto-Demo erstellen!

 

#include <acknex.h>

#include "t_car.c" // car code

 

ENTITY* sky =

{

       type = "skycube+6.tga";

       flags2 = SKY | CUBE | SHOW;

}

 

function main()

{

       video_screen = 1; // start the game in full screen mode

       video_mode = 8; // run at a 1024x768 pixels resolution

       camera.arc = 100; // set a proper camera arc value

       level_load("car_test.wmb");

       wait (3);

       // let's set a decent camera position

       vec_set(camera.x, vector(4271, -6033, 2400));

       camera.pan = 180;

       camera.tilt = -90;

}

 

Das Skript enthält den Auto-Templatecode (t_car.c), erstellt einen Sky-Cube und macht den sichtbar. Es sagt der Main-Funktion, dass sie das Game im Vollbildmodus mit einer Video-Auflösung von 1024x768 Pixeln starten soll, setzt den Zoomfaktor (camera.arc) auf 100 und lädt dann unser Testlevel. Die letzten paar Zeilen warten bis das Level geladen ist und setzen dann eine fixe Kameraposition samt Winkeln.

 

Das ist es im Grossen und Ganzen! Wollen Sie ein Rennspiel mit Draufsicht von oben erstellen, müssen Sie einfach nur mein Level durch Ihres ersetzen und in der function main ( ) eine passende Kameraposition festlegen. Okay, okay, ich höre einige von Ihnen rufen: "was aber, wenn ich kein Draufsicht-Rennspiel will? Was, wenn ich eine Kamera mit 3.-Person-Perspektive will? Was, wenn ich eine Kamera mit 1.-Person-Perspektive verwenden will? Und was ist, wenn ich beides in meinem Spiel benutzen möchte?"

 

Sollten Sie von diesen Fragen gequält werden, keine Angst, denn die Lösung liegt nah: fügen Sie einfach mehr Code in Ihr Projekt ein und verwandeln Sie es so in ein 1.- / 3.- / Orbit-Kamera-Rennspiel:

 

#include <acknex.h>

#include "t_car.c"

#include "t_car_cameras.c" // new line of code

 

////////////////////////////////////////////////////////////////////////////////////////////

 

ENTITY* sky =

{

       type = "skycube+6.tga";

       flags2 = SKY | CUBE | SHOW;

}

 

///////////////////////////////////////////////////////////////////////////////////////

 

function main()

{

       video_screen = 1;

       video_mode = 8;

       camera.arc = 100;

       level_load("car_test.wmb");

}

 

Der Code ist jetzt sogar noch kürzer. Da wir die Datei "t_car_cameras.c" eingefügt haben, brauchen wir für die Kamera keine fixe Position in der Main-Funktion einzustellen. Also habe ich diese (nunmehr) nutzlosen Codezeilen gelöscht. Starten Sie das Projekt erneut und drücken Sie dann, um durch die 3 verfügmaren Kamera-Modi zu schalten, die "C"-Taste.

 

aum85_templates3

 

aum85_templates4

 

aum85_templates5

 

Nun, das nenne ich Fortschritt! Das Auto sowie die Kameras sind vollkommen anpassbar. Klicken Sie in WED auf den Knopf "Recources" und Sie sehen die Dateien "t_car.h" und "t_car_cameras.h" - das sind die Dateien, die Sie ganz nach Laune anpassen können.

 

aum85_templates6

 

Klicken Sie einfach auf eine dieser .h-Dateien und wählen Sie dann "Customize" aus dem Kontext-Menü. So gelangen Sie zum jeweiligen Anpass-Panel.

 

aum85_templates7

 

Tja, das ist ein ziemlich großes Anpass-Panel! Nur zu, spielen Sie mit den Werten. Aber lesen Sie was jedes Feld macht, ehe Sie seinen Wert verändern. Hilfe bekommen Sie indem Sie in der oberen rechten Ecke des Fensters auf "?" und dann auf das gewünschte Feld klicken. Sie haben vielleicht bemerkt, dass der Autokörper leichter ist als die Räder? Das ist kein Fehler - ich habe mich dazu entschlossen, auf diesem Weg die Stabilität des Autos zu erhöhen.

 

Wenn Sie ein anderes Auto-Modell und andere Räder verwenden, werden Sie den Wert "Wheel Offsets" ändern müssen. Schlußendlich können Sie, wenn Sie wollen, auch andere Dateinamen für die Räder und die Soundeffekte nehmen.

 

aum85_templates8

 

Das Anpassungspanel für die Kamera ist etwas einfacher. Wir können den Default-Kameramodus (chase, cockpit or orbit) wählen, die Bewegungsgeschwindigkeit, die Winkel- und Orbit-Abstände sowie die Offsets auf den X-, Y-, Z-Achsen. Experimentieren Sie mit verschiedenen Werten bis Sie eine Einstellung finden, die perfekt zu Ihrem Projekt passt. Nächsten Monat werden wir Gegner für unser Auto hinzufügen, also bleiben Sie dran.