Algorithmen für Computerspiele

Ähnliche Dokumente
Themen. Transportschicht. Internet TCP/UDP. Stefan Szalowski Rechnernetze Transportschicht

2 Kommunikationssysteme. vs2 1

Verteilte Systeme. Protokolle. by B. Plattner & T. Walter (1999) Protokolle-1. Institut für Technische Informatik und Kommunikationsnetze

.NET Networking 1. Proseminar Objektorientiertes Programmieren mit.net und C# Matthias Jaros. Institut für Informatik Software & Systems Engineering

LAN & Internet. Grundlagen Netzwerke LAN-2. Saarpfalz-Gymnasium. Router. Router LAN-3. Router. Kommunikation in Rechnernetzen

Themen. Vermittlungsschicht. Routing-Algorithmen. IP-Adressierung ARP, RARP, BOOTP, DHCP

Vorlesung Rechnernetze

Verteilte Systeme - Java Networking (Sockets) -

Informations- und Kommunikationssysteme

Netzwerke, Kapitel 3.1

Bernd Blümel. Verschlüsselung. Prof. Dr. Blümel

Vorlesung 11. Netze. Peter B. Ladkin Sommersemester 2001

Multiplayer-Technologien

Computeranwendung in der Chemie Informatik für Chemiker(innen) 4. Netzwerke

Computernetze 1. Inhalt

Grundlagen. Vortrag von. Veranstaltung. Rüdiger Busch. Rechnernetze 1

Rechnern netze und Organisatio on

Internetanwendungstechnik. TCP/IP- und OSI-Referenzmodell. Gero Mühl

UDP User Datagramm Protokoll

Netzwerk-Programmierung. Netzwerke.

TCP Teil 2. TCP Teil 2: Tilmann Kuhn Betreuer: Dr. Thomas Fuhrmann 1/18

Beyond Music File Sharing: A Technical Introduction to P2P Networks

Vorlesung 11: Netze. Sommersemester Peter B. Ladkin

Einführung: Grundlegende Design-Prinzipien des Internet B. Plattner, H. Lubich Internet Intro 1

Rechnernetze Übung 11

One way Delay (OWD) Determination Techniques

Rechnernetze I. Rechnernetze I. 1 Einführung SS Universität Siegen Tel.: 0271/ , Büro: H-B 8404

Peer-to-Peer- Netzwerke

Vorlesung SS 2001: Sicherheit in offenen Netzen

Systeme II. Christian Schindelhauer Sommersemester Vorlesung

Rechnernetze Übung 11. Frank Weinhold Professur VSR Fakultät für Informatik TU Chemnitz Juni 2012

Verteilte Betriebssysteme

Netzwerke. Netzwerk - Programmierung. Alexander Sczyrba. Madis Rumming.

Netzwerk-Programmierung in C

Konsequenz für Forwarding Tabellen

Protokolle und Schichten. Grundlagen der Rechnernetze Einführung 41

Netzwerke. Netzwerk-Programmierung. Sven Hartmeier.

Oberseminar Netzwerk & Systemmanagement OLSR-NG Optimized Link State Routing Next Generation

Netzwerk-Programmierung. Netzwerke. Alexander Sczyrba Michael Beckstette.

Rechnernetze I SS Universität Siegen Tel.: 0271/ , Büro: H-B Stand: 25.

Hardware II. Netzwerke. Wozu dient ein Rechnernetz? Ein Rechnernetz dient dem direkten Datenaustausch zwischen zwei oder mehreren Rechnern.

3. VDMA-Tagung Steuerungstechnik Integration von Antrieb und Steuerung

Verteilte Systeme / Kooperierende Roboter

Multiuser Client/Server Systeme

Klausur Rechnernetze für Studierende des Studiengangs Scientific Programming und Auszubildende zum Beruf des Math.-Tech. Software-Entwicklers

Inhaltsverzeichnis VII. Teil I: PC- und Mikrocomputer-Technik

Telekommunikationsnetze 2

57. DFN-Betriebstagung Überblick WLAN Technologien

Technische Informatik II FS 2008

VS3 Slide 1. Verteilte Systeme. Vorlesung 3 vom Dr. Sebastian Iwanowski FH Wedel

FCoE (Fibre Channel over Ethernet) Eine Lösung für konvergente Datencenter

Überblick. Zeit Motivation Network Time Protocol (NTP) Logische Uhren. c td VS (SS16) Zeit 9 1

P2P Content Sharing mit WebRTC. Christian Vogt - Max Jonas Werner -

Interoperabilität von OPC UA und DDS. Mahyar Azarmipour Lehrstuhl für Prozessleittechnik RWTH Aachen Winterkolloquium

TCP/UDP. Transport Layer

Das ISO/OSI Referenzmodell Internet (TCP/IP) Referenzmodell. Standard Elemente Schichten im ISO/OSI Referenzmodell.

, Franz J. Hauck, Verteilte Systeme, Univ. Ulm, [2006w-MMK-F-SIP.fm, ]

P2P Ansätze für Multiplayer Games. Tonio Triebel Universität Mannheim

Internet und WWW Übungen

Fernwartung mit IPX/S Geräten Konfiguration mit Fritz!Box 7270

Byzantinische Fehlertoleranz durch Gruppenkommunikation am Beispiel des Rampart-Toolkit Frank Mattauch

NAT Network Adress Translation

Mehrprozessorarchitekturen

[DNS & DNS SECURITY] 1. DNS & DNS Security

Near Field Communication (NFC) in Cell Phones

Protokollgraph. Host 1. Host 2. Protokoll 2. Protokoll 1. Protokoll 3. Protokoll 4. Grundlagen der Rechnernetze Einführung 46

PC PC PC. Computernetze. Netzstruktur für kleine Netze -abgeschlossenes Netz LAN=Local Area Network. Fachhochschule Dortmund

Dirk Becker. OpenVPN. Das Praxisbuch. Galileo Press

Breitband ISDN Lokale Netze Internet WS 2009/10. Martin Werner, November 09 1

Transkript:

Algorithmen für Computerspiele Multiplayer Technologien

Gliederung 1. Einleitung 2. Das Internet 3. Existierende Probleme und Lösungen 4. Abschließende Worte

1.1 Motivation Gemeinsames Spielen Künstliche Intelligenz Echte Intelligenz E-Sport Kapazitäten sind begrenzt

1.2 Multiplayer Games Shooter (Counter Strike, Battlefield) Strategiespiele (Starcraft, Warcraft III) MMORPGs (World of Warcraft, Guild Wars 2) Sportspiele (FIFA, Rennspiele) Browsergames (Die Stämme, Farmerama)

2. Das Internet Netzwerke Entwicklung des Internets Protokolle Peer-to-Peer Client/Server

2.1 Netzwerke Entfernung Ort Beispiel 1 Meter System Multicomputer 10 1.000 Meter Raum, Gebäude, Campus Local Area Network (LAN) 10 Kilometer Stadt Metropolitan Area Network (MAN) 100 1.000 Kilometer Kontinent 10.000 Kilometer Planet Internet Wide Area Network (WAN)

2.1 Netzwerke

2.2 Entwicklung des Internets Vorläufer des Internets Time-Sharing System Distributed Network ARPANET

2.3 Protokolle ISO OSI Schichtenmodell Kommunikationsprotokolle Aufeinander aufbauend

2.3 Protokolle Internet Protocol (IP) Verbindungslos Paketorientiert ermöglicht Adressierung Datenverlust möglich

2.3 Protokolle User Datagram Protocol (UDP) Baut auf IP auf Verbindungslos Datenverlust möglich, keine Reihenfolgensicherung

2.3 Protokolle Transmission Control Protocol (TCP) Baut auf IP auf Verbindungsorientiert Datenverlust wird erkannt und behoben Fehlerbehandlung, Flusskontrolle, kein Datenverlust

2.4 Peer-to-Peer Peer Rechner direkt verbunden Vorteile Skalierbarkeit Robust gegen Ausfälle Jeder PC kann Dienste anbieten Nachteile Dezentral, somit schwer administrierbar Wenig Sicherheit

2.5 Client/Server Client Server Vorteile Zentralisiert, leicht administrierbar Sicherheit Keine Mehrfachspeicherung von Daten Nachteile Single-Point-of-Failure Schwierige Skalierbarkeit

3. Probleme und Lösungen Problem 1: Infrastruktur Hard- und Software Problem 2: Bandbreite Geschickte Programmierung Problem 3: Latenz Dead Reckoning Problem 4: Cheats NEO

3.1 Infrastruktur Hardware Lokal (Router, Leitung, PC-Hardware) Global (Serverkapazität, Bandbreite, Leitung) Software Lokal (Firmware, Treiber) Global (Firmware, Treiber, Software der Anbieter) Lösungsmöglichkeiten Hardware aufrüsten Software aktuell halten Neue Technologien

3.2 Bandbreite Welche Daten sind wichtig? Nur Referenzen Senden Berechnungen zum Client auslagern Angepasste Datenstrukturen Nur veränderte Daten übertragen Datenkomprimierung Worst-case Test

3.2 Bandbreite Wahl des Protokolls Paketreihenfolge Packet Bloating Paketfrequenz

3.3 Latenz Verzögerungszeit Die Zeit die eine Nachricht vom Sender zum Empfänger benötigt Setzt sich zusammen aus Probleme Ausbreitungsverzögerung Übertragungsverzögerung Wartezeit Informationen werden nicht rechtzeitig übermittelt

3.3.1 Dead Reckoning Distributed Interactive Simulation (DIS) Prinzip Jeder Teilnehmer simuliert Objekte unabhängig Z.B. Fahrzeuge Objekterzeuger sendet Information einmal Teilnehmer berechnen Bewegungen nun selbst Vergleich zwischen realer und simulierter Wirklichkeit Sammlung von Algorithmen

3.3.1 Dead Reckoning Protocol Data Unit (PDU) Identifikation Position Geschwindigkeit Beschleunigung Richtung Lebenspunkte

3.3.1 Dead Reckoning Reale und Simulierte Wirklichkeit Smoothing/Interpolation

3.3.1 Dead Reckoning Algorithmen Position t1 = Position t0 Position t1 = Position t0 + v t1 t0 Position t1 = Position t0 + v t1 t0 + 1/2a(t1 t0)

3.3.1 Dead Reckoning Erweiterungen Viele weitere Dinge können mittels DR simuliert werden Z.B. Geschützturm auf einem Fahrzeug Verträge Grenzen Objektsprung Viele unberechenbare Objekte

3.4 Cheats Erlangung nicht vorgesehener Vorteile Singleplayer Einfacher Spaß Ranglistenverfälschung Multiplayer Unfair

3.4 Cheats Game Level Cheats Spielregeln brechen Application Level Cheats Veränderungen am Programmcode Network Level Cheats Denial-of-service attack Protocol Level Cheats Modifizierung des Protokolls

3.4 Cheats Protocol Level Cheats Fixed-Delay Cheat Timestamp Cheat Suppressed Update Cheat Inconsistency Cheat Collusion Cheat

3.4.1 NEO New Event Ordering Protocol Peer-to-Peer Architektur MMOGs Verhindert Protocol Level Cheats Langsam gegenüber wenigen, schnell gegenüber vielen

3.4.1 NEO Authentifizierungskomponente Spieler sind eindeutig identifizierbar Generiert Schlüssel für das Spiel Kommunikationskomponente Selbstorganisierend, spiegelt die Struktur der virtuellen Welt Events erreichen nur die Spieler die sie tatsächlich sehen Speicherkomponente Speichert den Spielstatus Distributed Hash Table Berechnungskomponente Scheduling

3.4.1 NEO Zeit wird in Runden eingeteilt Jeder Spieler sendet in jeder Runde (verschlüsselte) Updates In der nachfolgenden Runde werden die Schlüssel versendet Kommen Updates nicht rechtzeitig an kann der Spieler nicht mitspielen Es reicht eine Mehrheit zu erreichen Einzelne Spieler mit hoher Latenz verzögern so nicht alles

3.4.1 NEO Nachrichtenformat Zeitstempel Signatur Verschlüsselte Nachricht für die aktuelle Runde Schlüssel für die Nachricht der vorherigen Runde Bit-Vektor mit erhaltenen Nachrichten (Voting) Nachricht wird akzeptiert wenn sie eine Mehrheit erreicht hat

3.4.1 NEO Fixed-Delay-Cheat Runden Zu spät ankommende Updates werden ignoriert Timestamp Cheat Nach Rundenende kann kein Spieler mehr Züge machen Suppressed Update Cheat NEO beobachtet Senderate Fehlen Updates von einer Person erhält diese ebenfalls keine Updates mehr

3.4.1 NEO Inconsistency Cheat Signaturen Statusabgleich Collusion Cheat Nötige Mehrheit kann beliebig angepasst werden Authentifizierungskomponente verhindert mehrfaches einloggen Augenzeugen

4. Ende Zusammenfassung Multiplayer immer beliebter Verschiedene Architekturen Begrenzte Kapazität Allgemeine, kleinere Lösungen Komplexere Lösungen Fragen

3.3.2 Hybrid Game Architecture Kombination von Server/Client und Peer-to-Peer Nutzt Server u.a. zur Cheatverhinderung Umgeht den Server als Flaschenhals Teilw. geringere Latenz (Server nicht immer beteiligt) Fokus auf Rollenspiele Statusverändernde Bewegungen Zentralserver Positionsbewegungen Regionale Server

3.3.2 Hybrid Game Architecture Zentralserver Registriert Spieler Überwacht Spieler Entfernt Spieler Wählt Regionale Server Regionale Server Spieler Vorzugsweiße in Zentralserver Nähe Geographisch zusammenliegende Spieler werden dann je einem Regionalen Server zugewiesen

3.3.2 Hybrid Game Architecture Bewegungen werden nur Regional behandelt Statusverändernde Updates dagegen Global

3.3.2 Hybrid Game Architecture Sparsamer Umgang mit Bandbreite Bewegungen werden nur regional behandelt Statusupdates werden nur zur den regionalen Server geschickt Cheats Zentralserver kontrolliert Statusverändernde Aktionen Problem Regionale Server müssen gefunden werden Zentralserver misst Spieler pathrate Maximale Latenz

3.3.2 Hybrid Game Architecture Evaluation Versuchsaufbau Einfaches, selbst entwickeltes Spiel Simulierte Spieler Verhalten Internetverbindung Künstlich erzeugte hohe Datenmengen Vergleich zwischen Client/Server und Hybrid Architecture Messungen Ein- und ausgehende Bandbreite Latenz jedes Zuges

3.3.2 Hybrid Game Architecture Unterschiedliche Regionendichte

3.3.2 Hybrid Game Architecture Anzahl Regionaler Server

3.3.2 Hybrid Game Architecture Ergebnisse Spart Bandbreite für den Zentralserver Geringe Latenz wenn genug Regionale Server zur Verfügung stehen