14.09.2013 Aufrufe

Entwicklung eines flexiblen Objektmodells für ein ... - Jens Pfau

Entwicklung eines flexiblen Objektmodells für ein ... - Jens Pfau

Entwicklung eines flexiblen Objektmodells für ein ... - Jens Pfau

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

36 V. Bestehende Systeme<br />

und Anordnung der Spielobjekte sowie Möglichkeiten, den Zustand des Systems persistent zu<br />

machen. Auch die Kommunikation der Objekte mit weiteren Komponenten des Systems sowie<br />

der Synchronisierung mit anderen Teilnehmern bedarf <strong><strong>ein</strong>es</strong> eigenen Entwurfs.<br />

5.2 Thief und Deus Ex<br />

In den Spielen Thief und Deus Ex [Church, 2002; Duran, 2003; Doherty, 2003] werden die<br />

Spielobjekte mit Hilfe von Komponenten emuliert, wie in Kapitel 3.1.1.1 bereits vorgestellt.<br />

Deshalb soll hier k<strong>ein</strong>e erneute Beschreibung der Datenmodellierung gegeben werden. Es ist<br />

wichtig, dass der Begriff „Komponenten“ hier anders gebraucht wird als in der Beschreibung<br />

von Dungeon Siege (Kapitel 5.1).<br />

5.2.1 Systembeschreibung<br />

Ebenso wie die Daten der Spielobjekte wird deren Verhalten als Komponenten beschrieben. Die<br />

IDs der Objekte, die <strong>ein</strong> bestimmtes Verhalten zeigen können, werden in der entsprechenden<br />

Komponente, die dieses Verhalten implementiert, hinterlegt. Solche Komponenten können dann<br />

zum Beispiel Skriptobjekte, aber auch Objekte der Programmiersprache s<strong>ein</strong>.<br />

Objekttypen werden in der gleichen Struktur gehalten; <strong>ein</strong>e spezifische Instanz oder <strong>ein</strong> weiterer<br />

Typ erbt die Eigenschaften, sowohl Daten als auch Verhalten, ihres Vaters. Das erfordert, dass<br />

in <strong>ein</strong>er weiteren Datenstruktur die Vererbungslinien der Typen und Objekte hinterlegt sind.<br />

Sowohl die Beschreibungen der Daten und Spielobjekte als auch die der Typen werden datadriven<br />

abgelegt. Dies wird vor allem dadurch untersützt, dass Spielobjekte nichts weiteres als<br />

zusammengesteckte Eigenschaften sind.<br />

Spielobjekte können indirekt dadurch gruppiert werden, dass sie mit anderen den Eintrag in<br />

bestimmten Komponenten gem<strong>ein</strong>sam haben. Dies lässt, wie bereits erwähnt, andere Subsysteme<br />

des Spiels nur auf den <strong>für</strong> sie bedeutenden Informationen arbeiten.<br />

Spielobjekte und Typen, die genauso wie Spielobjekte modelliert werden, können zur Laufzeit<br />

nachgeladen werden. Das gleiche trifft <strong>für</strong> die Verhaltenskomponenten zu, die in <strong>ein</strong>er Skriptsprache<br />

definiert sind. Ob in diesem Modell Typen zur Laufzeit änderbar sind, so dass sich auch<br />

deren Kinder und Instanzen ändern, ist aus den Quellen nicht erkennbar. Das hängt zum <strong>ein</strong>en<br />

davon ab, ob vererbte Eigenschaften in dem Kindobjekt gehalten oder weiterhin aus der Vaterklasse<br />

angefordert werden. Zum anderen ist dies in zweitem Fall davon abhängig, ob erfolgreiche<br />

Zugriffe auf Eigenschaften in <strong>ein</strong>em Cache gehalten werden.<br />

5.2.2 Einordnung<br />

Aus den oben gegebenen Informationen und der Beobachtung, dass in den Quellen k<strong>ein</strong>e die<br />

Kommunikation betreffenden Themen behandelt werden, ergibt sich <strong>für</strong> dieses Modell die in<br />

36 <strong>Jens</strong> <strong>Pfau</strong> · Stephan Mehlhase

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!