Projektdokumentation

Programmierung grafischer Systeme

 

 

 

an der

Fachhochschule Schmalkalden

 

 

fhS

 

 

Fachbereich Informatik

Prof. Dr. Ralf Böse

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Eingereicht von

 

Torsten Ehrhardt                  Andre´ Großenbach             Stefan John

Matrikel-Nr.: 231258            Matriktel-Nr.: 230180           Matrikel-Nr.: 230252

ceenen@gmx.net                 andre@mess-regel.de        s.john@stud.fh-sm.de

 

 

 

 

 

 

 

 

 

 

Schmalkalden, 08.03.2007

 


Dokumentation Programmierung grafischer Systeme. 3

Motivation. 3

Effekte. 3

Wasser 3

Spiegelung. 4

Stencilschatten. 4

Netzwerkanbindung. 5

Externe Modelle. 5

Steuerung. 6

Animation. 6

Interaktion. 6

Soundkulisse. 6

Weitere Effekte. 7

Vorstellung des Entwicklerteams. 7


Dokumentation Programmierung grafischer Systeme

 

Motivation

Aus dem großen Erfolg des Kinofilms „Fluch der Karibik“ entstand die Idee, diese Atmosphäre in einem Spiel zu bannen. Aus punktuellen Versuchen entwickelte sich im Fortgang des Projektes ein iterativer Entwicklungsprozess, in dessen Verlauf weitere Erkenntnisse gewonnen und Features programmiert wurden.

Effekte

Wasser

Muttels Multitexturingverfahren mit zwei sich gegeneinander verschiebenden Texturen, die durch Sinus- und Kosinuskurven einen Welleneffekt erzeugen, wird der Effekt von Wasser simuliert. In Verbindung mit der sich drehenden Kamera wirkt die Szene sehr lebendig und bewegt.

Spiegelung

Das Schiff wird durch inverse Skalierung an der X-Z-Ebene unter Wasser noch einmal gezeichnet und erzeugt dadurch einen Spiegeleffekt. Auch die Kanonenkugel spiegelt sich auf diese Art und Weise im Wasser.

Stencilschatten

Das Schiff wird auf die X-Z-Ebene projiziert und der Stencil Buffer damit geschrieben. Dann wird ein schwarzes Rechteck darüber gezeichnet und nur an den Stellen, an denen der Buffer geschrieben wurde, wird das Rechteck sichtbar. Dies erzeugt einen Schatten.

 


Netzwerkanbindung

Über ein eigenes auf Sockets basierendes Netzwerkprotokoll ist eine Vernetzung von multiplen Instanzen möglich, um so eine Interaktion zwischen mehreren Mitspielern zu erzeugen (Multiplayer). Dabei werden sowohl die Bewegungen, als auch Position von Schiff und Kanonenkugel übertragen und ermöglichen so, einen unerbittlichen Mehrspieler-Schiffskampf, bei dem die Schiffe auch versenkt werden können.

Externe Modelle

In Maya wurden einige Modelle (Insel, Bäume, Häuser) modelliert und über einen RTG-Loader in die Szene eingefügt.


Steuerung

Der Spieler steuert das Schiff über Tastatureingaben. Über die Pfeiltasten kann das Schiff bewegt werden. Es sind Vorwärts- und Rückwärtsfahrten, sowie eine Veränderung des Richtungsvektors möglich.

Über die Mausposition ist eine Drehung der Szene möglich. Das Mausrad ermöglicht ein stufenloses heran- und herauszoomen.

Abbildung 1: Tastaturschema

Animation

Um der Szene einen lebendigen Charakter zu verleihen, wurden die Bäume, die sich auf der Insel befinden durch Rotationsanimation zum Leben erweckt.

Das Schiff wiegt auf den Wellen. Jedes Schiff und jeder Baum hat seine eigene Bewegung, so dass sich nicht alle Objekte gleichmäßig bewegen.

Die Sturmkonstante steuert die Stärke der Wellen.

Interaktion

Bei Betätigung der Leertaste wird eine Kanonenkugel abgefeuert, die eine ballistische Flugparabel beschreibt. Erkennt die Kollisionsdetektion ein Auftreffen der Kugel auf der Wasseroberfläche, wird eine Wellenausbreitungssimulation initiiert. Grafisch wird dies durch ein animiertes, skalierendes Sprite dargestellt. Die Textur wurde in Paint erstellt und mit Photoshop grafisch aufgewertet.

Bei Einschlag der Kugel in das gegnerische Schiff, sinkt das getroffene Schiff. Durch Betätigung der Taste ‚Q’ kann das Schiff zurück auf die Wasseroberfläche gesetzt werden.

  

Soundkulisse

Beim Starten des Spieles wird eine Hintergrundmusik abgespielt.

Das Abfeuern der Kanonenkugel wird akustisch unterlegt.

Auch das Auftreffen der Kugel auf der Wasseroberfläche wird durch Soundeffekte bereichtet.

Die Immersion des Spiels wird damit enorm gesteigert.

 

Weitere Effekte

Um eine Tiefenwirkung zu erzielen, wurde blauer Nebel eingesetzt, der eine atmosphärische Blaufärbung simuliert.

Auch Wolken durften im grafischen Ensemble der Effekte nicht fehlen.

Vorstellung des Entwicklerteams

André Großenbach       Art Director, Asset Manager, Base Engine Programmer,
Chief Information Officer CIO

 

Torsten Ehrhardt          Lead Programmer, Network Programmer, Project Manager

 

Stefan John                   Technical Director, Lead Programmer, Chief Executive Officer CEO