340 likes | 465 Views
Multiplayer & MMO Games. Edwin Foris. Übersicht. Einführung Anforderungen Netzwerkarchitektur Datenkommunikation Interest Management Publisher/Subscriber Aura-Nimbus Modell World Space Partitioning Quadrate/Hexagone Triangulation Dead Reckoning prediction technique
E N D
Multiplayer & MMO Games Edwin Foris
Übersicht • Einführung • Anforderungen • Netzwerkarchitektur • Datenkommunikation • Interest Management • Publisher/Subscriber • Aura-Nimbus Modell • World Space Partitioning • Quadrate/Hexagone • Triangulation • Dead Reckoning • predictiontechnique • convergencetechnique
Einführung • Was ist ein MMO? • Massively Multiplayer Online Game • mehrere tausend Spieler gleichzeitig möglich • persistente Welt
Anforderungen • Netzwerkarchitektur • Client-Server • jeder Client hat Verbindung zum Server • Server leitet relevante Informationen an Client weiter • Server/Server-Cluster werden vom Spielehersteller bereitgestellt
Anforderungen • Vorteile: • zentrale Kontrolle durch Provider • einfache Implementierung für den Datenaustausch und für die Gewährleistung der Sicherheit • Nachteile: • architektonischer Engpass • beschränkte Anzahl an Spielern
Anforderungen • Peer-to-Peer • keine zentrale Kontrolle • Computer untereinander verbunden • direkter Datenaustausch Vorteile: • Skalierbarkeit • Fehlertoleranz Nachteil: • Sicherheit und Datenaustausch nur schwer realisierbar
Anforderungen • Datenkommunikation • Unicast • Nachrichten werden an einen Empfänger übermittelt • Multicast • Nachrichten werden an einen oder mehrere Empfänger versendet, die einer Multicast- Gruppe beigetreten sind • Broadcast • Nachrichten werden an alle Empfänger übermittelt
Überblick • Einführung • Anforderungen • Netzwerkarchitektur • Datenkommunikation • Interest Management • Publisher/Subscriber • Aura-Nimbus Modell • World Space Partitioning • Quadrate/Hexagone • Triangulation • Dead Reckoning • predictiontechnique • convergencetechnique
Interest Management • Was ist das? • Vorgehensweise zur Bestimmung der für den Spieler relevanten Informationen • Wichtige Informationen hängen meist mit der Wahrnehmung des Spielcharakters (= Avatar) zusammen
Interest Management • Publisher/Subscriber Modell • Publisher = Objekte, die Events erzeugen • Subscriber = Objekte, die Events verbrauchen Ein Objekt kann auch beides sein, z.B. der Avatar eines Spielers. Interest Management bestimmt, wann ein Subscriber einen Publisher entdeckt und sich für Updates registriert bzw. wieder abmeldet.
Interest Management • Aura-Nimbus Modell • Aura: Bereich, in dem ein Objekt wahrgenommen werden kann. • Nimbus: Bereich, den ein Objekt wahrnimmt.
Interest Management • Vorteil des Aura-Nimbus Modells: • Nur relevante Informationen werden den Subscribern geschickt und von den Publishern erhalten. • Nachteil: • Hoher Berechnungsaufwand bei Überschneidung von Auren und Nimben mehrerer Objekte ohne Broad-/Multicast Aufteilung der Welt in feste Gebiete
Überblick • Einführung • Anforderungen • Netzwerkarchitektur • Datenkommunikation • Interest Management • Publisher/Subscriber • Aura-Nimbus Modell • World Space Partitioning • Quadrate/Hexagone • Triangulation • Dead Reckoning • predictiontechnique • convergencetechnique
World Space Partitioning • 1. Möglichkeit: • Aufteilung der Welt in gleich große Quadrate • jedem Quadrat wird eine Multicast-Gruppe zugeordnet • Aura umfasst 9 Quadrate • Spieler registriert sich in diesen Quadraten • Bei Veränderung in einem Quadrat wird jeder Spieler, der in diesem Quadrat registriert ist, informiert.
World Space Partitioning • 2. Möglichkeit: • Einteilung der Welt in gleiche Hexagone • Spieler registriert sich in den Hexagonen, die sich mit seiner Aura überschneiden
World Space Partitioning • 3. Möglichkeit: • Aufteilung der Welt in Dreiecke (Triangulation) • 1. Schritt: Umwandlung der Spielwelt in ein Polygon mit Leerstellen
World Space Partitioning • 2. Schritt: Algorithmus zur Erstellung von Dreiecken am Beispiel der Delaunay Triangulation • conforming Delaunay • constrained Delaunay • constrained conforming Delaunay Conforming Delaunay • UmkreisjedesDreiecksdarfkeineweiterenPunkteenthalten • zusätzliche Steiner Punktemöglich
World Space Partitioning • Nachteile: • zu lange und dünne Dreiecke • viele verschiedene Größen • schlechte Approximation an die Aura eines Spielers Constrained Delaunay • jedes Segment der Karte ist gezwungen Teil der Triangulation zu sein • keine Steiner Punkte • keine Umkreisbedingung
World Space Partitioning • Nachteile: • viele verschiedene Größen • große Dreiecke in Gebieten ohne Hindernisse • schlechte Approximation an die Aura eines Spielers ConstrainedConforming Delaunay • Constrained Delaunay Triangulation mit Steiner Punkten • Anzahl der Steiner Punkte variierbar
World Space Partitioning • Path Distance Algorithmus • kürzester Pfad zwischen den Mittelpunkten benachbarter Dreiecke • Subscriber an Dreiecken innerhalb einer bestimmten Reichweite interessiert • Ergebnisse können zwischengespeichert oder sogar vorausberechnet werden
Überblick • Einführung • Anforderungen • Netzwerkarchitektur • Datenkommunikation • Interest Management • Publisher/Subscriber • Aura-Nimbus Modell • World Space Partitioning • Quadrate/Hexagone • Triangulation • Dead Reckoning • predictiontechnique • convergencetechnique
Dead Reckoning • „Kurs Extrapolation“ • Herkunft aus der Nautik • Vorhersage der Position anhand von vorherigen Positions- und Geschwindigkeitsinformationen eines Knotens • verringert die Anzahl der gesendeten Informationen • bei falscher Vorhersage wird die Position korrigiert
Dead Reckoning • predictiontechnique • Verwendung von Polynomen und deren Ableitungen • Zero-order Predictiontechnique: Position • First-order Predictiontechnique: Position und Geschwindigkeit • Second-order Predictiontechnique: Position, Geschwindigkeit und Beschleunigung
Dead Reckoning • Polynome höheren Grades erhöhen das Risiko für ungenaue Vorhersagen • Vorhersage höhergradiger Polynome benötigt mehr Rechenaufwand und Bandbreite Einsatz von Hybrid-Systemen, die zwischen Polynomen ersten und zweiten Grades wechseln
Dead Reckoning • Approximation von Termen höheren Grades im empfangenden Knoten • Position History-Based Dead Reckoningprotocol (nur Positionsübermittlung) • Schätzen von Geschwindigkeit und Beschleunigung • Update bei Abweichung um einen gegebenen Bereich • Dynamische Änderung des Grenzbereichs im Verhältnis zur Entfernung
Dead Reckoning • convergencetechnique • Positionsänderung eines Objekts bei Update • Zero-order convergence setzt das Objekt auf die neue vorausberechnete Position ruckartige Bewegungen
Dead Reckoning • Linear convergence
Dead Reckoning • unnatürliche Bewegungen • Fließende Übergänge durch Kurvengleichung möglich • Je höher der Grad der Kurvenformel, desto höher der Rechenaufwand