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.

30 IV. Anforderungen<br />

4.2 Unabhängigkeit des Systems vom Spieldesign<br />

Bei der Spieleentwicklung kommt es auf das schnelle Umsetzen von Inhalt durch Projektmitglieder,<br />

die k<strong>ein</strong>e oder kaum Erfahrungen mit Programmiersprachen haben, an. Deren Arbeit<br />

aber unterliegt während des Projektes <strong>ein</strong>er andauernden <strong>Entwicklung</strong> und häufigen Tests. Eine<br />

stetige Neukompilierung der gesamten Codebasis ist aber nicht akzeptabel.<br />

Deswegen geschieht die Spezifikation von Entitäten über externe Datencontainer. Ein solcher<br />

als data-driven bezeichneter Ansatz, wie er in Kapitel 3.1 <strong>ein</strong>geführt wurde, erlaubt den Einsatz<br />

unabhängiger Werkzeuge zur Gestaltung des Spielinhalts und die mühelose Anpassung des<br />

Spielverhaltens.<br />

4.3 Persistenz<br />

Jedes Spiel benötigt <strong>ein</strong>e Möglichkeit, s<strong>ein</strong>en aktuellen Zustand persistent zu machen. Dies<br />

kann zum Beispiel durch <strong>ein</strong>e Datenbank, aber auch <strong>ein</strong>fach mit Hilfe von Dateien realisiert<br />

werden. Um die Austauschbarkeit dieser Wege zu ermöglichen, braucht es <strong>ein</strong>er <strong>ein</strong>heitlichen<br />

Schnittstelle, deren Realisierungen an spezifische Anforderungen angepasst sind.<br />

4.4 Performanz<br />

Immer noch ist die Netzwerkschnittstelle <strong>ein</strong>er der engsten Flaschenhälse beim Einsatz von<br />

Multiplayer-Spielen. Dies betrifft sowohl die Latenz bei der Kommunikation zwischen zwei<br />

Netzwerkknoten als auch die genutzte Bandbreite. Während ersteres heute zwar das größere<br />

Problem darstellt, aber vornehmlich durch die Netzwerkarchitektur des Spiels bestimmt und<br />

letztlich durch physikalische Gesetze begrenzt ist, lässt sich zweiteres hingegen in begrenztem<br />

Maß auch von anderen Subsystemen be<strong>ein</strong>flussen. Zur Unterstützung von Nutzern mit geringerer<br />

Bandbreite ist das Bereitstellen der Objekte oder Teilen derselben zur Versendung über das<br />

Netzwerk also kritisch, denn liefert dies doch die Basis <strong>für</strong> jede weitere Optimierung beziehungsweise<br />

Reduzierung des Datenstroms. Geeignete Mechanismen wie die mögliche Priorisierung<br />

<strong>ein</strong>zelner Nachrichten sollen hier Abhilfe schaffen. Schließlich bleibt es jedoch anderen Arbeiten<br />

vorbehalten, den Netzwerkstrom zu steuern. Gleichwohl soll <strong>ein</strong>e Schnittstelle zwischen Datenstruktur<br />

und Netzwerkschicht angeboten werden, die in flexibler Weise an unterschiedliche<br />

Einsatzszenarios angepasst werden kann.<br />

Ebenso bedingt die mögliche Verwendung in Echtzeit-Spielen <strong>ein</strong>e gewisse Leistungsfähigkeit in<br />

Hinblick auf die Reaktivität. Spieler werden k<strong>ein</strong>e erkennbare Verzögerung zwischen Eingabe<br />

und Ausführung <strong>ein</strong>er Aktion dulden. Dies wird nicht nur durch die Netzwerkschicht bestimmt,<br />

sondern auch durch weitere Teile des Systems.<br />

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