Distanzbasierte Sprachkommunikation für Peer-to-Peer-Spiele
Warum? Die erste Frage die ich mir stelle
Gemeinsamkeiten bisheriger Lösungen 1.Nicht ins Spiel integriert 2. Serverbasiert 3. Kanal-basiert Teamspeak, Ventrillo, Roger Wilco, XBox-Live Wir werden die 3 Punkte im Detail besprechen.
Nicht ins Spiel integriert Spieler 1 Spiele- server Spieler 2 Spieler 3 Audio- server Spieler 4 Resultierende Probleme: Warum brauche ich eine Extrasoftware und Hotkeys für de Steuerung? (Kontrolle) Warum kann ich nicht entscheiden wen ich hören will? (Kontrolle) Warum kann ich nicht mit meinem direkten Gegenüber sprechen? (Intuitiv) Warum sehe kann ich nicht erkennen wer mit mir spricht? (Intuitiv) Sprache ist losgelöst vom Spiel Spieledaten Audiodaten
Serverbasierte Audiokommunikation Spielewelt Reale Welt 1 1 2 3 S 2 S 4 4 3 Hohe Kosten für Anbieter einer solchen Lösung preise für einen TS server für 200Leute liegt bei 50€ im Monat. (WoW hat 10 Millionen Teilnehmer) Delay ist davon abhängig ob sich der server im „Schwerpunkt“ aller Teilnhemer befindet. Hohe Kosten für Anbieter Hohe Delays weit entfernte Spieler (z.B. #4)
Kanal-basiert : Modell Informations- quelle Ziel Transmitter Kanal Receiver Shannon, Weaver und Schramm Störung
Wenn man 2 Leute hat funktioniert Kommunikation über einen Kanal super Wenn man 2 Leute hat funktioniert Kommunikation über einen Kanal super! Siehe Telefon
Problem: Viele Teilnehmer, aber nur ein Kanal Wenn jetzt aus 2 Leuten 6 werden wird die Sache nicht mehr ganz so übersichtlich.
1-Kanal-Modell Informations- quelle Ziel Transmitter Receiver - Kanal ist limitiertert (Bsp. Reden zu viele Leute gleichzeitig kann keiner jemanden verstehen) - Störungen betreffen gleich alle (Bsp. Ein Spieler hört Musik und alle müssen mithören) - Keine Kontrolle über Empfang und Versand der Nachricht (Jeder bekommt alle Nachrichten auch wenn er das garnicht will) - Keine Zuordnung zwischen Sprache und Avataren (Bsp. Sprache kommt jederzeit und man weiß nicht von wem) Transmitter Störung Receiver
Resultierende Probleme 1. Sprache losgelöst vom Spiel 2. Hohe Kosten und Delay 3. Fehlende Kontrolle Warum brauche ich eine Extrasoftware und Hotkeys für de Steuerung? (Kontrolle) Warum kann ich nicht entscheiden wen ich hören will? (Kontrolle) Warum kann ich nicht mit meinem direkten Gegenüber sprechen? (Intuitiv) Warum sehe kann ich nicht erkennen wer mit mir spricht? (Intuitiv) Warum soll ich für Sprache im Spiel extra zahlen? (Kosten) Warum können nicht alle Provider einfach eine die Sprachkommunikation integrieren (Kosten)
Drei Ziele 1. Kosten senken 2. Kontrolle verbessern 3. Sprache ins Spiel integrieren
Peer-to-Peer – Die Lösung für alles?
1. Kosten senken
Peer-to-Peer Keine Kosten für Anbieter Direkte Wege Spielewelt Reale Welt 1 1 2 3 2 4 4 3 Keine Kosten für Anbieter Direkte Wege
2. Kontrolle verbessern
N-Kanal-Modell Informations- quelle Ziel Transmitter Kanal Receiver Jedes Gespräch erhält einen Kanal Genaue Adressierung Lokale Kontrolle Keine Interferenzen Transmitter Kanal Receiver Störung
3. Integration ins Spiel
Neue Probleme Wie kontrolliert man eine P2P-Audio- Konferenz? Wie nutzt man die geringe Bandbreite der Clients effizient?
Wie kontrolliert man eine P2P-Audio-Konferenz?
Session Initiation Protocol (SIP) Unterschied zwischen Signalisierung und Audiostrom Signalisierung / Audio Zentral Dezentral Serverbasierte Lösungen Hybrid Hier bisschen länger aufhalten. Zeigen warum man sich auf halben Weg aufhält. Serverbasierte Lösungen sind Teamspeak, Ventrillo etc... Hybrid dünn: Audio zentral aber signalisierung dezentral macht nicht so viel Sinn weil wir die größte Datenmenge zentralisieren Hybrid dick: Audio dezentral bei Clients und nur ein Server für Kontrolle nötig Dez Dez: Skype hoher Aufwand notwendig um ein funktionierendes P2P SIP zu ermöglichen. Skype hat keine Kontrolle übers Mixen. Das wichtige ist die dezentralisierung der Audioströme! P2P SIP ist möglich. Hybrid Komplett dezentrale Lösungen (z.B. Skype)
Hybrides dezentrales Audiomixing Client Client Mixer Mixer Registrar erklären. Konferenz Signalisierung Audiostrom Registrar
Wie nutzt man die geringe Bandbreite der Clients effizient?
Intuitive Lösung: Metaphern der Übertragung von Sprache
Walkie Talkies = 1-Kanal-Modell Mobil, Funktioniert ohne nummern, alle sind in einem Kanal. Man kann jeden erreichen.
Full-Mesh Spielewelt Bandbreite Knoten 1 2 Bandbreite Knoten 1 5 4 3 Will man tatsächlich das Audiosignal von 50 personen gleichzeitig hören?
Sprache per Luft = N-Kanal-Modell % Übertragung per Luft, man muss keine Nummern kennnen erreicht aber nur Leute in seiner umgebung.
Hörreichweite Area of Interest bei Sprache 1 Hörreichweite definiert wann eine Verbindung aufgebaut werden muss Beschränkt die Anzahl der Verbindungen
Partial-mesh 1 Spielewelt 2 5 Bandbreite Knoten 1 4 3
Proxemik
Proxemik-Zonen 10m 3m 1m Persönliche Zone Soziale Zone Öffentliche Zone
Schall in der Luft 100% 0% 1m 3m Persönliche Zone Soziale Zone Öffentliche Zone Lautstärke 100% Schematisch!! Schallintensität nimmt quadratisch ab. 0% 1m 3m Entfernung
Schall in der Luft 100% 0% 1m 3m Persönliche Zone Soziale Zone Öffentliche Zone Lautstärke 100% 0% 1m 3m Entfernung
Öffentliche Zone Aufbau der logischen SIP Verbindung 5 Aufbau der logischen SIP Verbindung Kein Austausch von Audioinformationen Techniken: Silence-Suppression mit RTP SIP-HOLD
Soziale Zone Anpassung der Lautstärke Metapher der Luftübertragung 5 Anpassung der Lautstärke Metapher der Luftübertragung Viele Spieler, mittlere Sprachqualität (8 KBit / s)
Persönliche Zone Keine Anpassung der Lautstärke 5 Keine Anpassung der Lautstärke Wenig Spieler, hohe Audioqualität (16 Kbit / s)
Partial-mesh mit drei Zonen 1 Spielewelt 2 Bandbreite Knoten 1 5 4 3 Bandbreite Knoten 4
Implementierung
Konferenzbrücke Slot1 Slot2 Slot3 Slot3 Slot3 Slot3 Slot4 Mic Komplett neu. Muss klar werden wo der Sender / Empfänger ist. Slot4
Mixing-Konzept Walkie-Talkie Luftübertragung
Proxemik-Logik Sip Anruf Sip Anruf beenden Konferenz verlassen 8 KBit Codec Öffentliche Zone Soziale Zone Private Zone Konferenz betreten 16 KBit Codec Silence Suppression Lautstärke anpassen
Messung Proxemik-Zonen
Vielen Dank für Ihre Aufmerksamkeit Fragen?
Zusätzliche Folien
Ausblick P2PSIP (DHT) 3D-Positionierung (HRTF) Variable Bitrate (Speex VBR) Supernodes Evaluierung im tatsächlichen Spiel
SIP im Protokollstapel
SIP Signalisierung
Messung SIP als Netzwerkschicht
SIP als Netzwerkschicht
Partial mesh worst case Spielewelt Bandbreite Knoten 1 1 2 3 4
PjSIP
Ventrillo Administration