Hauke Laging - Grazer Platz 22 - 12157 Berlin - Tel.: 030/32603660 - mobil: 0172/7630883 - E-Mail: hauke@laging.de

Idee einer auf Java basierenden Hardwarelösung für Netzwerkspiele

Version 1.0, 06.01.2000

Netzwerkspiele erfreuen sich wachsender Beliebtheit. Natürlich wird dies nicht von allen positiv bewertet, aber diesen Aspekt möchte ich hier außer Acht lassen, da dies das Anbieten entsprechender Produkte nicht verhindern sollte.

Die Problematiken

Ein meiner Erfahrung nach verbreitetes Problem ist (dank Windows?) die Konfiguration mehrerer Rechner in einer Weise, die problemloses Spielen erlaubt. Da Netzwerkspiele in der Regel das aufwendige Zusammentragen mehrerer Rechner als Basis haben, sind diese Probleme entsprechend ärgerlich, weil die verlorengehende Zeit durch den (selten) betriebenen Aufwand entsprechend kostbar ist.

Ein anderes, generelles Problem ist die Ungleichbehandlung der einzelnen Rechner. Wenn die Spielkoordination (der Server) auf einem der Rechner läuft, an denen gespielt wird, was zumeist der Fall ist, dann bekommt dieser Rechner die benötigten Informationen schneller als die anderen, wird aber selber gebremst, kann also nur eine schlechtere Grafikdarstellung anbieten. Der Effekt in der Darstellung wird noch dadurch verstärkt, dass langsame Rechner (nach Aussagen von Spiele-Profis) merklich später reagieren, was durchaus praktische Relevanz haben soll. Aus diesem Grund sollten viele Spieler ein großes Interesse an einer eleganten Lösung haben.

Die bisherige Lösung

Die beiden genannten Probleme werden heutzutage dadurch angegangen, dass ein sogenannter dedizierter Server verwendet wird, also ein Rechner, an dem nicht gespielt wird, sondern der nur Spiele koordiniert. Das Problem hierbei ist ganz einfach: Sie brauchen einen zusätzlichen PC, oder anders ausgedrückt, Sie müssen auf einen potentiellen "Client" verzichten (und die sind zumeist kostbar).

Die Java-Variante

Mir schwebt vor, dass eine kleine Box entwickelt wird, die dank (Textmode-)Java sehr kostengünstig auf irgendeinem RISC-Chip basiert und auch mit wenig Arbeitsspeicher auskommt (16, 32 MB). Diese Box hätte ein paar Netzwerkanschlüsse und würde als Server verwendet. Im Ergebnis sollte dies in derselben Weise funktionieren wie ein dedizierter Server, mit dem kleinen, aber feinen Unterschied, dass Sie dafür 300 und nicht 3000 DM bezahlt haben.

Ein normaler PC dürfte mit den üblichen Serverdiensten völlig unterfordert sein. Während des Spiels fallen meines Wissens nicht mehr Aufgaben an als das Austauschen der Informationen über Bewegung und sonstige Aktionen der Spieler (eventuell noch Computergegner). Es kommt in erster Linie auf kurze Latenzzeiten an, die erforderlichen Bandbreiten sind nicht sehr groß. Warum Java? Glücklicherweise erlebt die Linux-Gemeinde gerade den Anfang (so hoffe ich jedenfalls) einer neuen Epoche: Kommerzielle Spiele werden auch für Linux angeboten. Ein "richtiger" Linux-Benutzer wird den Kauf eines Geräts, das sinnvoll ausschließlich mit Windows zu betreiben ist, wohl kaum in Erwägung ziehen; hinzu kämen die Lizenzkosten. Dank Java wäre das Gerät auch anderweitig einsetzbar als für Netzwerkspiele, so dass die Option besteht, dass später noch Nachfragesegmente entstünden, mit denen bei der Entwicklung gar nicht gerechnet wurde.

Problematisch dabei wäre einzig der natürlich nicht zu vernachlässigende Umstand, dass die Spieleentwickler ihren Servercode für Java neu kompilieren müssten. Hier würde man sich zuvor natürlich erkundigen, mit wieviel Unterstützung zu rechnen wäre. Positiv ist, dass die Spielefirma schlechthin, ID Software (Quake) Windows überhaupt nicht wohlgesonnen ist. Microsoft soll gerüchteweise einige Anstrengungen unternommen haben, um ID bei der Unterstützung von Windows und Direct X zu halten. Diese Leute liefen also wahrscheinlich mit fliegenden Fahnen zu der neuen Option über. Für neue Spiele bräuchte nur noch ein Java-Server geschrieben zu werden, falls sich meine Annahme als korrekt erweist, dass die benötigte Rechenleistung auch in einer JVM problemlos zu erreichen ist.

Die Vorteile

Endlich hätten Sie als Spieler echtes Plug-and-Play. Sie müssen sich nur noch dieses kostengünstige Gerät kaufen und sind die Mehrzahl der nervigen Probleme los. Nie wieder macht der Absturz eines der Windows-Rechner das ganze Spiel zunichte, die Diskussionen und Test entfallen, wer sinnvollerweise auf seinem Rechner den Server mitlaufen ließe. Mit diesem Gerät ließen sich auch zwei echte Neuerungen verbinden: Irgendwie müsste natürlich auch dieser "Server" gesteuert werden. Dies würde wohl über ein Java-Programm geregelt - vielleicht auch einen "Mini-Webserver" in der Box, der nur eine einzige Seite darstellt, die ein Applet startet. In der Box würde dann ein Passwort in einem Flash-ROM o.ä. gespeichert. Es wäre nun aber auch möglich, die "Luxus-Version" mit einer kleinen Festplatte auszustatten, die es erlaubt, Spielkonfigurationen abzulegen. Die Box selber hätte eine Reihe von Knöpfen, über die die durchnumerierten Konfigurationen direkt gestartet werden könnten. Kein Hochfahren eines Windows-Rechners, per Knopfdruck ist ein Spiel sofort da - und ggf. sofort wieder weg.

Die zweite interessante Neuerung hat wenig mit der neuen Hardware zu tun. Da die unterschiedlichen Geschwindigkeiten der Rechner einzelnen Spielern Vorteile bescheren, könnte manuell (was problematisch wäre) oder gesteuert durch einen kleinen Benchmark, den die Clients vor der Anmeldung fahren (den die Spiele heutzutage sowieso enthalten), eine Anpassung vorgenommen werden, die dann z.B. zur Folge hätte, dass ein schnellerer Rechner alle Informationen 50 ms später bekommt. Auf diese Weise könnte die Ungleichheit im Spiel im wesentlichen kompensiert werden. Indem die Hersteller zur Implementierung dieser Option motiviert werden und die Server-Varianten für diese Box als erste dieses Feature bereitstellen, könnte durch geeignetes Marketing diese Innovation als zu dem Produkt gehörig vermittelt werden.

Was hätte Sun davon?

Es liegt natürlich zunächst einmal überhaupt nicht nahe, warum ausgerechnet Sun sich für die Entwicklung eines entsprechenden Geräts interessieren sollte. Bisher gibt es im Portfolio kein vergleichbares Produkt und kein einziges für die neue Zielgruppe. Mir erscheint aber gerade das als Vorteil. Ich sehe ein großes Problem darin, dass die großen Protagonisten von Java alle ausschließlich im professionellen Bereich angesiedelt sind. Natürlich gibt es viele Programmierer, die kleine Anwendungen in Java schreiben, aber die wird in der Windows-Welt wohl kaum jemand benutzen. Nach meinem Dafürhalten hat Java bei der Masse der Privatanwender ein völlig unbrauchbares Image. Von der Revolution, die vor ein paar Jahren mit der Einführung von Java optimistisch in Aussicht gestellt wurde, ist wenig zu sehen. Ich führe dies auch darauf zurück, dass der Bereich der Privatanwender so fürchterlich vernachlässigt wurde. Ich habe eine Revolution mit nur der Hälfte der Welt nie für allzu aussichtsreich gehalten. Ein neues Produkt in der oben skizzierten Art könnte nun genau in diesem Segment einen Imagewandel bewirken. Das Java-Logo auf einem populären Spielegerät täte den Großkunden sicher nicht weh, könnte der Masse der Nutzer aber vor Augen führen, wozu die Technologie geeignet ist.

Von den großen Firmen, die Java vorantreiben, halte ich aber nur Sun für geeignet, so etwas durchzuziehen. Mit StarOffice und der Verlagerung von Applikationen ins Web adressiert ja auch Sun inzwischen den Privatanwender. Insofern dürfte ein entsprechendes Engagement durch die gesteigerte Bekanntheit in diesem Bereich Sun auch direkt nützen.