Social Gaming: Es geht auch ohne Ballern

Wenn viele Spieler über den Browser quasi in Echtzeit miteinander kommunizieren, dann kann der Webserver ganz schön ins Schwitzen geraten. Denn herkömmliche Browser-Games setzen den Server unter stakkatoartigen Dauer-Beschuss (Polling). Moderne Lösungen ballern nicht, sondern setzen stattdessen auf punktgenau verzögerte Antwortzeiten. Minimierung der Serverlast und maximale Skalen-Tauglichkeit sind dann angesagt, wenn es zeitkritisch wird.

Beitrag von Dr. F. Hoffmann, 06/2013

 

Für jeden Spielhersteller wäre es ein großer Vorteil, wenn sein online-Game - ohne Zusatzsoftware und betriebssystem-spezifischer Installation - ganz einfach in jedem Web-Browser laufen würde. In der Tat sind  Multiuser-Games für den Browser eine echte Herausforderung: eines der Hauptprobleme ist die zeitliche Synchronisierung der Mitspieler. Denn das Web-Protokoll (HTTP) sieht nur eine zustandslose Kommunikation vor, d.h. eine Anfrage des Browsers (URL-Request) wird genau mit einer Antwort des Server (Response, z.B. HTML-Dokument) beantwortet – und damit ist die Sache erledigt. Eine vom Server selbst veranlasste Botschaft (Push) kann über das Web-Protokoll nicht versendet werden.

 

synchrone vs. asynchrone Kommunikation

Synchrone Kommunikation führt zu vorwiegend frustranem Dauerbeschuss des Webservers. Bei der asynchrone Kommunikation wird dagegen genau so lange gewartet bis die Aufgabe erledigt ist: das spart Energie.

 

Daher ist ein Warten auf im Hintergrund noch nicht erledigte Ereignisse ohne Weiteres nicht möglich. Aber ein solches Warten ist für ein Spiel mit mehreren Spielern geradezu charakteristisch; das kann z.B. die Prüfung einer einfachen Regel sein: haben alle Spieler ihre Antwort eingecheckt?.

Die klassische Lösung, das anvisierte Ereignis zu prüfen, besteht darin, den Browser in zeitlich kurzen Abständen immer wieder die gleichen Anfragen an den Server abfeuern zu lassen, bis dieser die erwartete Antwort sendet (sog. Polling). Wenn viele Spieler das gleichzeitig machen, entsteht augenblicklich ein großer Performance-Bedarf beim Game-Server, was wiederum zu Verzögerungen bei den eigentlichen Spielstands-Berechnungen und zu Ausfällen führen kann.

Polling-Technologien sind zwar relativ einfach zu implementieren und dann geeignet, wenn es nicht „auf die Sekunde“ ankommt. Tatsächlich sind viele Multiplayer-Games, die im Browser laufen, seitens der Spielregeln so gebaut, dass eine Synchronizität der Handlungen gar nicht erforderlich bzw. nicht erfolgkritisch ist.

 

Wenn es nun aber gerade darauf ankommt, dass die Spieler ein gemeinsames Erlebnis haben, dann braucht es neue Lösungsansätze: yeepa ermöglicht Spielern in einem zeitkritischen Wissens-Wettbewerb gegeneinander anzutreten. Die Software synchronisiert das rundenbasierte Browser-Spiel sehr präzise durch den Einsatz der neuartigen Technologie des Tornado-Webservers und spezieller Prüf-Protokolle, welche sämtliche Ereignisse der Spiel-Dramaturgie steuern,

Echte Interaktivität bedeutet, mit echten Spielern in Echtzeit zu interagieren – genau hier setzt das Konzept von yeepa an: Wissen ist ein sozialer Prozess – nicht virtuell, sondern ganz real.

 

Mehr über yeepa:
http://www.yeepa.de

 

Weitere Links
Polling: Den Server unter Dauerbeschuss setzen
http://de.wikipedia.org/wiki/Polling_%28Informatik%29
Asynchroner Webserver Tornado
http://www.tornadoweb.org

 

Dr. Frank Hoffmann

Dr. Frank Hoffmann
ist Berater für Informations-Management
und konzipiert attraktive Internet-Anwendungen