|
Shooter template |
Top Previous Next |
|
Diesen Monat habe ich damit angefangen, am Shooter-Template zu arbeiten. Etwas vom Wichtigsten womit ein Shooter steht oder fällt ist der Bewegungscode des Players. Er muß sehr flüssig sein und daher mußte ich mit diesem Part sehr sorgfältig vorgehen. Ich habe viele bereits existierende Codeschnipsel für Shooter-Bewegung getestet und ein paar Dinge aus einem der alten C-Skript-Demos von Damocles gelernt. Der finale Code, denn ich für das Template ist schon sehr anders (und ich wage zu behaupten, ein bisschen besser) aber Damocles gebührt die Anerkennung - danke.
Also was haben wir auf Lager? Zunächst einmal ein komplettes Stadtlevel, das uns als Spieleumgebung dienen wird. Um ein wenig Platz auf der Disk zu sparen, ist die Stadt momentan von vier Terrains umgeben, die sehr kleine Skins verwenden. Ich habe schon noch ein paar Gebäude hinzugefügt (und einige davon lassen sich erkunden) aber vermutlich werde ich in den folgenden Versionen des Temlates wieder ein paar Dinge entfernen. Derzeit wird (hoffentlich) dieses kommpliziert aussehende Level die gute Qualität des Bewegungscodes demonstrieren und zwar mit flüssigem Fortbewegen, Treppensteigen (rauf und runter), gutem Springen usw.
Ich habe die Playerbewegung in keinster Weise eingeschränkt und so können Sie, wenn Sie wissen wo sie hinwollen, beispielsweise auch von Dach zu Dach springen. Kopieren Sie den Ordner \shootertemplate aus den AUM-Ressourcen dieses Monats in Ihren Gamestudio-Installationsordner und öffnen und starten Sie dann main.c. Sie werden sich in einem Trainingsbereich wiederfinden, der genauso aussieht wie das Bild unten.
Gehen Sie mithilfe der Tasten WSAD nahe an den Zaun heran und drücken Sie dann zum Drüberspringen die "Leertaste". Drücken und halten Sie die linke Shift-Taste und Sie verdoppeln die Bewegungsgeschwindigkeit. Der Code ist sehr flexibel und gut kommentiert. Öffnen Sie die Datei t_shooter_player.c in SED und Sie werden jede Menge an Variablen sehen, die es Ihnen erlauben, das Bewegungsverhalten anzupassen. Nur zu, spielen Sie mit ihnen bis Sie dieses traumhafte Bewegungscode-Erlebnis haben. :)
var tshooter_player_speed = 25; // player's movement speed var tshooter_fwdbk_accel = 7; // player's forward / backward acceleration var tshooter_side_accel = 3; // player's sideway (strafe) acceleration var tshooter_friction = 1.5; // player's friction - this value should always be greater than 1 var tshooter_fallspeed = 1; // player's fall down speed var tshooter_jump = 20; // player's jumping force var tshooter_resilience = 4; // pushes the player upwards a bit if it sinks too much in the floor var tshooter_disttoground = 64; // distance between the origin of player's model and the ground (used by the camera as well) var tshooter_camera_h = 12; // horizontal camera acceleration var tshooter_camera_h_frict = 0.95; // always use a value below 1 here var tshooter_camera_v = 8; // vertical camera acceleration var tshooter_camera_v_frict = 0.8; // always use a value below 1 here
Ich sehe Sie alle nächsten Monat wieder wenn wir mit ein paar Waffen herumspielen werden! Yeah! (Hatte das hier genug Testosteron in sich? Ich hoffe doch...)
|