1 / 34

Multiplayer & MMO Games

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

masako
Download Presentation

Multiplayer & MMO Games

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Multiplayer & MMO Games Edwin Foris

  2. Übersicht • Einführung • Anforderungen • Netzwerkarchitektur • Datenkommunikation • Interest Management • Publisher/Subscriber • Aura-Nimbus Modell • World Space Partitioning • Quadrate/Hexagone • Triangulation • Dead Reckoning • predictiontechnique • convergencetechnique

  3. Einführung • Was ist ein MMO? • Massively Multiplayer Online Game • mehrere tausend Spieler gleichzeitig möglich • persistente Welt

  4. Anforderungen • Netzwerkarchitektur • Client-Server • jeder Client hat Verbindung zum Server • Server leitet relevante Informationen an Client weiter • Server/Server-Cluster werden vom Spielehersteller bereitgestellt

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

  6. Anforderungen • Peer-to-Peer • keine zentrale Kontrolle • Computer untereinander verbunden • direkter Datenaustausch Vorteile: • Skalierbarkeit • Fehlertoleranz Nachteil: • Sicherheit und Datenaustausch nur schwer realisierbar

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

  8. Überblick • Einführung • Anforderungen • Netzwerkarchitektur • Datenkommunikation • Interest Management • Publisher/Subscriber • Aura-Nimbus Modell • World Space Partitioning • Quadrate/Hexagone • Triangulation • Dead Reckoning • predictiontechnique • convergencetechnique

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

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

  11. Interest Management • Aura-Nimbus Modell • Aura: Bereich, in dem ein Objekt wahrgenommen werden kann. • Nimbus: Bereich, den ein Objekt wahrnimmt.

  12. Interest Management

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

  14. Überblick • Einführung • Anforderungen • Netzwerkarchitektur • Datenkommunikation • Interest Management • Publisher/Subscriber • Aura-Nimbus Modell • World Space Partitioning • Quadrate/Hexagone • Triangulation • Dead Reckoning • predictiontechnique • convergencetechnique

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

  16. World Space Partitioning • 2. Möglichkeit: • Einteilung der Welt in gleiche Hexagone • Spieler registriert sich in den Hexagonen, die sich mit seiner Aura überschneiden

  17. World Space Partitioning • 3. Möglichkeit: • Aufteilung der Welt in Dreiecke (Triangulation) • 1. Schritt: Umwandlung der Spielwelt in ein Polygon mit Leerstellen

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

  19. World Space Partitioning

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

  21. World Space Partitioning

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

  23. World Space Partitioning

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

  25. World Space Partitioning

  26. Überblick • Einführung • Anforderungen • Netzwerkarchitektur • Datenkommunikation • Interest Management • Publisher/Subscriber • Aura-Nimbus Modell • World Space Partitioning • Quadrate/Hexagone • Triangulation • Dead Reckoning • predictiontechnique • convergencetechnique

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

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

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

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

  31. Dead Reckoning • convergencetechnique • Positionsänderung eines Objekts bei Update • Zero-order convergence setzt das Objekt auf die neue vorausberechnete Position  ruckartige Bewegungen

  32. Dead Reckoning • Linear convergence

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

  34. Vielen Dank für die Aufmerksamkeit! Fragen?

More Related