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.

34 V. Bestehende Systeme<br />

Informationen gefüllt, wobei Daten der Instanzdefinition die der Musterdefinition überschreiben.<br />

5.1.2 Einordnung<br />

Bei der Einordnung in die Taxonomie ist festzustellen, dass Spielobjekte k<strong>ein</strong>e eigenen Daten<br />

enthalten, sondern lediglich die Komponenten, mit deren Hilfe das Verhalten modelliert ist,<br />

<strong>ein</strong>en Zustand besitzen. Sowohl die Komponentendefinition als auch die Definition der Typen<br />

als Muster und der Spielobjekte an sich geschieht data-driven in Textdateien nach <strong>ein</strong>em proprietären<br />

Format.<br />

Es wird zwar k<strong>ein</strong>e explizite Aussage darüber getätigt, aber theoretisch ließen sich mit diesem<br />

System Objekte zur Laufzeit aus weiteren Definitionsdateien nachladen. Ebenso können<br />

zur Laufzeit bestehende Skripte geändert sowie neue hinzugefügt werden, die dann von weiteren,<br />

nachzuladenden Objekten als Komponenten enthalten werden können. Da die gesamte<br />

Typhierarchie vorgehalten wird und jeder Typ nur die Änderungen gegenüber s<strong>ein</strong>em Vorgänger<br />

speichert, können zur Laufzeit Typen geändert und weitere geladen werden. Sofern die Spielobjekte<br />

Referenzen auf ihren Typ halten und ebenfalls nur die Differenzen ihrer Daten zu denen<br />

ihres Typs speichern, würde sich damit die Änderung <strong><strong>ein</strong>es</strong> Typs auch auf dessen Instanzen<br />

auswirken.<br />

Zu der Kommunikation oder die Anordnung der Objekte zu<strong>ein</strong>ander betreffenden Fragen wird<br />

k<strong>ein</strong>e Aussage gemacht.<br />

Eine Übersicht über die Einordnung in die Taxonomie erkennt man auf Abbildung 5.2<br />

5.1.3 Evaluation<br />

Dieses Modell zieht s<strong>ein</strong>e Vorteile insbesondere daraus, dass alle Elemente data-driven definiert<br />

werden können. Verhalten wird unter anderem in Skriptdateien abgelegt, Muster und ihre Instanzen<br />

in Textdateien. Dadurch, dass die Definition von Objekttypen nicht durch <strong>ein</strong>e statische<br />

Vererbungshierarchie erfolgt, sondern durch das Kombinieren von unabhängigen Komponenten,<br />

lassen sich beliebig unterschiedliche Spielobjekte anlegen. Leistungskritische Komponenten können<br />

in der verwendeten Programmiersprache entwickelt werden, solche, die häufigen Änderungen<br />

während der <strong>Entwicklung</strong> unterliegen, in der Skriptsprache.<br />

Vor allem zur <strong>Entwicklung</strong> ist es von Vorteil, dass Typen, Spielobjekte und Verhalten, abgesehen<br />

von den C++-Komponenten, zur Laufzeit ohne Neukompilierung des Systems ausgetauscht<br />

werden könnten. Im Fall der Typen hat dies aber den Nachteil <strong>ein</strong>er größeren Speicherbelegung,<br />

weil die inneren Knoten der Hierarchie nicht verworfen werden können. Zudem bedarf es <strong>ein</strong>er<br />

längeren Zeit, <strong>für</strong> <strong>ein</strong> Objekt <strong>ein</strong> Datum festzustellen, wenn dazu der Typ des Objekts und<br />

dessen Vorfahren in der Hierarchie befragt werden müssen.<br />

Mit Hilfe entsprechender <strong>Entwicklung</strong>swerkzeuge, die auf Grund des Baukastenprinzips des<br />

Systems <strong>ein</strong>fach zu entwerfen sind, können somit sowohl Spieldesigner als auch Endanwender<br />

äußerst flexibel Spielinhalt nach ihren Wünschen formen. All dies fördert die Erweiterbarkeit<br />

34 <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!