PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : MS bastelt an Optimierung der Bandbreitennutzung von Spielen


Thorwan
2007-09-13, 16:04:54
Microsoft forscht derzeit an einer auf P2P-basierenden Technologie welche es ermöglicht, auch mit verhältnismäßig niedrigen (Upload-)Bandbreiten Multiplayergames von hunderten oder gar tausenden Spielern zum Laufen zu bekommen. Zum testen des Verfahrens wurde Quake 3 Arena modifiziert. Die verwendeten Ansätze klingen gar nicht mal schlecht:

"Focus Sets" und "Bounded Attention": Menschliche Spieler haben dem Forschungspapier zufolge eine begrenzte Aufnahmefähigkeit, wenn es um Gegner geht. Focus Sets nutzen den Umstand, dass der menschliche Spieler sich nur auf eine konstante Anzahl von Gegnern konzentrieren kann und passt die Anzahl der notwendigen Aktualisierungen entsprechend an. Die Anzahl der Aktualisierungen wird dabei anhand der vermuteten Aufmerksamkeit angepasst. Die Bewertung dessen übernimmt der Client und schickt - etwa an ein Ziel direkt vor den Augen des Spielers, auf welches er gerade schießt - genug Datenpakete für ein gutes Spielerlebnis.

"Pairwise Rapid Agreement": Wichtige Kommunikation zwischen Spielern wird priorisiert vermittelt. Für Quake III Arena haben die Forscher nur vier Interaktionen dieses Typs entdeckt, die in jedem Fall sofort zugänglich sein müssen: Ein Spieler fügt dem anderen Schaden zu, ein Spieler stirbt und ein anderer bekommt Punkte gut geschrieben, ein Spieler nimmt einen Gegenstand auf und ein Spieler öffnet eine Tür.

Eine interessante Optimierung stellt die "Guidable AI" dar: Hierbei ersetzt der Client mit einer künstlichen Intelligenz die Gegner, die wenig priorisiert werden oder bei denen zu wenige Datenpakete vorliegen. In bisherigen Spielen sieht man dies etwa durch teleportierende Charaktere, hier fehlen die Datenpakete zwischen den Positionen. Die Guidable AI soll zum einen sicherstellen, dass die Bewegungen flüssig bleiben und zum anderen einen realistischen Weg gehen, da die Guidable AI den nächsten Schritt versucht vorherzusagen und umzusetzen.

Quelle: Golem - Microsoft Research: Deathmatch mit tausend Spielern (http://www.golem.de/0709/54749.html)

Das Paper gibt es hier (https://research.microsoft.com/~lorch/papers/iptps2007.pdf).

Results. We use four metrics, described below, user satisfaction. Results given by all four metrics two main conclusions. First, players have a favorable impression of low-bandwidth games Donnybrook than without. Second, with Donnybrook, are about as satisfied with a low-bandwidth game are with an unlimited-bandwidth game.
Aber:
One anomaly is the single player who prefers LoBW to LoBW-Donny. This is because, in his words, “It brings back my memory of playing Quake I over a 28.8k modem.” ;)

Gast
2007-09-13, 16:49:02
Lustiger letzter Kommentar. :D

Der Gedanke klingt nicht schlecht. Aber sowas birgt auch Probleme. Wenn die KI den Weg falsch vorhersagt, was sie wahrscheinlich oder zumindest ab und zu tut, dann nützt mir das auch wenig. Dann schieße ich auf einen Geist.

Und wie ist das mit der Aufmerksamkeit? Wenn es danach geht was man zu sehen bekommt, dann sollte das eigentlich nichts neues sein vom Ding her. Und gerade bei einem Spiel wie Q3 nicht praktikabel, weil man bei den schnellen Bewegungen dort nicht die langsamen Reaktionszeiten des Systems akzeptieren könnte.

Monger
2007-09-13, 17:08:06
Der Gedanke klingt nicht schlecht. Aber sowas birgt auch Probleme. Wenn die KI den Weg falsch vorhersagt, was sie wahrscheinlich oder zumindest ab und zu tut, dann nützt mir das auch wenig. Dann schieße ich auf einen Geist.

Deshalb erhöht "DonnyBrook" dramatisch die Updaterate, sobald du das Fadenkreuz auf jemanden richtest, oder schlicht näher kommst.


Und wie ist das mit der Aufmerksamkeit? Wenn es danach geht was man zu sehen bekommt, dann sollte das eigentlich nichts neues sein vom Ding her.

Du solltest die Studie lesen! Es sind nur sechs Seiten, und ich fand das ziemlich spannend.
Sie machen die Updategeschwindigkeit abhängig von der Entfernung, vom Fokus und von der Interaktion, d.h. jemand der auf dich schießt, wird bevorzugt aktualisiert.


Ich finde das einen sehr kleveren Ansatz. Ich kann mir schon vorstellen dass Profispieler das vielleicht nicht so mögen werden, aber für jedes Spiel wo außenrum zwar eine Menge passiert, man aber nicht unmittelbar davon betroffen ist (typisches Beispiel: Battlefield), könnte das eine ziemlich interessante Technik sein.
Schade, dass es immer ziemlich lange dauert, bis (wenn überhaupt) mal solche Technologie vom Labor in die Praxis rutscht...

Gast
2007-09-13, 22:35:14
Interessant, hab's auch auf Golem aufgeschnappt. Aber ist Valve nicht mit einem ähnlichen System auf die Schnauze gefallen? (CS Source) - ich erinnere mich leider nur noch vage da an etwas ...

Neosix
2007-09-13, 23:09:40
ich bin für alles dafür um endlich richtige massenschlachten mit 100ten von spielern gleichzeitig zu ermöglichen. und das auf jeder! seite,
man stelle sich eine lange front. man sieht 90% der spieler nicht. man weiß aber das die da sind und weiterkämpfen. und man jederzeit an jedem ort eingreifen kann. ich finde daher diesen ansatz im prinzip nicht schlecht. es würden auch kaum bis garkeine nachteile entstehen solange die es auch richtig umsetzen.

Gast
2007-09-23, 10:26:06
Ich finde die Idee und den Ansatz ja auch nicht verkehrt, aber kommt die ganze Sache in Zeiten von DSL und Kabelmodem nicht etwas spät?

Leitungen mit 16MBit/s Down und 1MBit/s Up sind heutzutage ja keine Seltenheit mehr. Die Pings entsprechend niedrig >20ms.

Mark
2007-09-23, 10:38:58
auch wenn die leitungen stärker werden, die ansprüche an das spielerlebnis steugen ebenfalls.

stell dir mal ein battlefield2 mit 500 gegnern vor. da kann die leitung noch so groß sein.

K4mPFwUr$t
2007-09-23, 10:45:01
jup, das hat nichts damit zu tuen.
auch wenn man z.b bei source tick99 verwendet kommt man nicht auf genug durchsatz an daten für z.b 500 leute. der server muss ja auch die eingehenten und ausgehenten infos verarbeiten.

PS: ich habe 16/1mbit FP

Monger
2007-09-23, 10:51:57
Ich finde die Idee und den Ansatz ja auch nicht verkehrt, aber kommt die ganze Sache in Zeiten von DSL und Kabelmodem nicht etwas spät?

Leitungen mit 16MBit/s Down und 1MBit/s Up sind heutzutage ja keine Seltenheit mehr. Die Pings entsprechend niedrig >20ms.

Zum einen mal: an was MS da forscht, ist ja eine P2P Lösung. Server mit ausreichend Bandbreite sind nach wie vor teuer und entsprechend selten. Bei BF1942 gab es nicht wirklich viele Server, die 64 Spieler unterstützt haben. Eine vernünftige P2P Lösung würde die gesamte Serverproblematik komplett eliminieren.

Zum anderen: das absolute Limit was zumindest ich in einem Shooter gesehen habe, lag bei 150 Spielern - nämlich in Joint Operations. Das finde ich noch nicht wirklich viel, und BF2 musste ja sogar gegenüber dem Vorgänger massiv zurückrudern, um einen halbwegs flüssigen Spielfluss garantieren zu können.
Momentan steigt der Bandbreitenbedarf tendentiell eher schneller als sich schnellere Breitbandlösungen verbreiten, z.B. wegen physikalischen Effekten wo halt viel durch die Luft, was mit dem Spieler kollidieren könnte.


Wenn MS diese Technologie irgendwann mal als Middleware vertreiben sollte, bin ich sicher dass sie ne Menge Interessenten haben werden.

d2kx
2007-09-23, 12:12:03
Ja, Massenschlachten werden bestimmt klasse in Zukunft :) Vielleicht gibt es auch mal Spiele mit 3 Teams in Echtzeit.

Gast
2007-09-23, 13:28:31
auch wenn die leitungen stärker werden, die ansprüche an das spielerlebnis steugen ebenfalls.

stell dir mal ein battlefield2 mit 500 gegnern vor. da kann die leitung noch so groß sein.

Bei 500 Gegnern müssen dann auch die maps gigantisch sein.

Monger
2007-09-23, 16:38:42
Bei 500 Gegnern müssen dann auch die maps gigantisch sein.

Ist bei MMORPGs schon lange üblich, und wäre auch bei Shootern nicht undenkbar - wenn der Netcode mitmachen würde.

Gast
2007-10-14, 03:30:20
Hmm, da kann man ja sogar negativ auf einen "Technologie-Nutzer" eingehen, "wenn man seinen skill betrachtet", in Verbindung mit "killerspielen".



;)

Gast
2007-10-14, 04:23:02
Ist bei MMORPGs schon lange üblich, und wäre auch bei Shootern nicht undenkbar - wenn der Netcode mitmachen würde.

Der Netcode war und ist nie das Problem.

Das Problem bei großen Welten ist die Bandbreite die nötig ist. Magst du in Counter-Strike noch mit 8-10 KB/s bei 20 Playern auskommen, wird dies bei 1000 Playern zu wenig sein. Logische Konsequenz.

Da die Mehrheit der Spieler nicht über 100 MBit/s Glasfaser verfügt (und nie verfügen wird) kann die Welt nicht darauf aufgebaut werden.

Es ist somit nötig, Informationen wegfallen zu lassen, so wie es hier geschieht. Spieler die nicht in unmittelbarer nähe sind, interessieren praktisch nicht, da ihre Aktionen nicht von Bedeutung sind.
Spieler die in der nähe aber nicht sichtbar sind, interessieren auch nicht so wirklich, da reicht eine von der CPU berechnete Route die mit sehr wenigen Koordinaten des echten Spielers geschmückt wird.
Erst wenn sie Einfluss auf das Spielgeschehen nehmen, muss jede Aktion übertragen werden.

MrMostar
2007-10-14, 14:56:15
Die meisten der genannten Punkte sind bei CSS schon umgesetzt, z. B. werden alle weiter entfernten Spieler nur ca. alle Sekunde upgedatet.
auch die verringerte Datenrate bei Nichtsichtbarkeit sowie Bewegungsvohersage ist schon umgesetzt, was sich bei CSS leider bei folgendem Szenario negativ bemerkbar macht:
Wenn man am Ende eines sehr langen Ganges vorbeiläuft und durch diesen Gang gesnipert wird, fällt man erst etwa eine halbe Sekunde, nachdem man den Gangeingang passiert hat, tot um(trotz niedriger pingzeiten), wobei man vom Server einige Meter in den Gangeingangsbereich zurückversetzt wird. Dies wird oft als cheaten missverstanden, wird aber eigentlich von den verringerten Datenraten verursacht.

K4mPFwUr$t
2007-10-14, 16:13:53
das kann man aber mehr oder minder beeinflussen. das dumme ist wenn man an der ecke steht, kann es vorkommen das man den gegner nicht sieht und er von einem die halbe körperseite.
dazu gab es mal ein paar schöne vergleiche.

aber der output ist meistens an die FPS gekoppelt. das problem bei einer riesen map wäre klar denkbar. nebendessen das man ein potente grafikkarte braucht.

aths
2007-10-14, 16:24:42
Die Problematik ist interessant und natürlich forscht nicht nur Microsoft daran.

Meine eigenen Überlegungen gingen bisher vor allem in die Richtung, wie man mit massivem Instancing trotzdem das Gefühl einer großen Welt aufrecht erhalten kann.

Einige der oben zitierten Ansätze wie automatische Interpolation (mittels "KI") werden in einigen Spielen schon mehr oder minder gut umgesetzt.