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.

22 III. Taxonomie<br />

Ersteres beschreibt <strong>ein</strong> Modell, in dem zwischen zwei Spielobjekten k<strong>ein</strong>e direkte Kompositionsbeziehung<br />

vorhanden ist.<br />

Zweiteres repräsentiert <strong>ein</strong> System, in dem Spielobjekte wiederum andere Spielobjekte enthalten<br />

können. Es entsteht <strong>ein</strong>e Baumstruktur [Hannah, 2004] oder <strong>ein</strong> Graph. Letztere Option konnten<br />

wir wahrsch<strong>ein</strong>lich wegen der <strong>ein</strong>hergehenden Komplexität nicht ausfindig machen. Ersteres<br />

hingegen bietet den Vorteil <strong>ein</strong>er zusätzlichen logischen Strukturierung, die es erlaubt, effizient<br />

<strong>für</strong> <strong>ein</strong>e Operation relevante Teilmengen ausfindig zu machen und auf diesen zu arbeiten. Dabei<br />

ist es <strong>ein</strong>fach modellierbar, dass Operationen, die auf <strong>ein</strong> Spielobjekt angewendet werden, auch<br />

<strong>für</strong> dessen Kinder gültig sind. Eine strukturierte Anordnung der Objekte bringt allerdings auch<br />

immer <strong>ein</strong>en Verwaltungsaufwand und <strong>ein</strong>en bestimmten Zugriffsmechanismus mit sich, denn<br />

auf <strong>ein</strong>e Baumstruktur wird anders zugegriffen als zum Beispiel auf <strong>ein</strong>e Liste.<br />

Mit Hilfe der Gruppierung können Teilmengen der Spielobjekte in Hinblick auf bestimmte Aufgaben<br />

zusammengefasst werden. So ist es denkbar, jeweils die zur Zeit <strong>für</strong> den Szenegraphen<br />

relevanten Objekte in <strong>ein</strong>er Gruppe zu halten oder solche Objekte zu gruppieren, die hinsichtlich<br />

der Kommunikation mit anderen Teilnehmern betreffend gleiche Eigenschaften aufweisen<br />

[Griwodz, 2002].<br />

3.2 Dynamik zur Laufzeit<br />

Eine der zentralen Fragen an <strong>ein</strong> Objektmodell ist, wie wandlungsfähig es zur Laufzeit ist. Dadurch<br />

kann sich entscheiden, ob <strong>ein</strong> System <strong>für</strong> <strong>ein</strong>en bestimmten Einsatzzweck geeignet ist oder<br />

nicht. Gerade Betreiber von Onlinespielen können es sich nur in größeren Zeitabständen leisten,<br />

ihre Server <strong>für</strong> Wartungsarbeiten herunterzufahren. In Hinblick auf die vorigen Untersuchungen<br />

interessieren folgende Fragen:<br />

• Kann das System zur Laufzeit Spielobjekte nachladen?<br />

• Kann das System zur Laufzeit Verhalten nachladen?<br />

• Kann das System zur Laufzeit Typen nachladen?<br />

• Können Typen zur Laufzeit geändert werden, so dass dies Auswirkungen auf bereits geladene<br />

Spielobjekte hat?<br />

Jedes denkbare komplexere Spiel ist auf die erste dieser Anforderungen angewiesen, es sei denn,<br />

<strong>ein</strong> komplettes Spiel wird ab s<strong>ein</strong>em Start im Speicher gehalten. Das ist aber <strong>für</strong> die wenigsten<br />

Spiele vertretbar.<br />

Gerade die drei letzten Fragen betreffen die Zeit der <strong>Entwicklung</strong> <strong><strong>ein</strong>es</strong> Spiels, in der oft Spielelemente<br />

zum Test ausgetauscht werden müssen, sowie eben jene Onlinespiele, die auch im<br />

Produktionsbetrieb die Möglichkeiten <strong>für</strong> Veränderungen offen halten müssen. Wie wir bisher<br />

gesehen haben, wird Flexibilität jedoch stets mit Kosten an Speicherplatz oder Rechenzeit erkauft.<br />

Es gilt also <strong>für</strong> jedes Produkt abzuwiegen, welche Anforderungen wirklich nötig sind.<br />

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