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