Bakar benutzt sogar den Begriff „negative Latenz“ zwischen dem Spieler und dem Streaming-Server. Das System sei dann schneller als lokale Systeme „egal wie schnell oder kraftvoll die lokale Maschine ist“.
Wie will man das erreichen, ohne Photonen zu tunneln oder per Teilchenbeschleuniger einen Riss im Raum-Zeit-Kontinuum zu provozieren? Die anvisierte Lösung hängt mit Maschine-Learning zusammen: So wird eine Art Puffer eingerichtet, welcher die Wahrscheinlichkeit von Latenzen abschätzt und ausgleicht. Sogar Eingaben könnten ausgeführt werden, bevor der Spieler überhaupt eine Taste bzw. den Stick drückt oder die Maus bewegt. Möglich werde solch eine (noch im den Kinderschuhen steckende) Technik lediglich mit der schieren Rechenpower von Cloud-Gaming-Services – so habe es der Branchen-Riese zusammengefasst, als pcgamesn.com nachhakte.
Entwickler Garrit Cooper (Intel, Black Ice) meldete sich auf Twitter zu Wort, um die in seinen Augen benutzte Technologie „Branch Prediction“ zu erläutern. Das System sei eine tolle Option für lange Spaziergänge in offenen Welten. In schneller Action mit präzisen Kontern stellt er dies jedoch in Frage. Um „Fehlvorhersagen“ auszugleichen, könnte man Figuren z.B. wie an einem Gummiband herumzucken sehen. Des Weiteren setze es Entwickler mit neuen Herausforderungen unter Druck – ähnlich wie auch das Abo-Modell eine neue Art von Druck erzeuge.
Branch Prediction solves this same problem – how do predict which way the program will decide a choice, before actually calculating the choice?
— Garrett 👻BOOper👻 (@superdupergc) October 9, 2019
So the way they work is you just guess, and then keep going with that assumption. If later you find out you’re wrong, you fix it
(The first branch predictions were really simple, you can just predict „yes, we will branch“. You’d think you’d be right 50% of the time, but actually it’s closer to 80% – because of loops. You get branches in loops often, and you usually branch back to the start of the loop) 3/?
— Garrett 👻BOOper👻 (@superdupergc) October 9, 2019
So branch prediction is great and useful and definitely speeds things up, but the problem is what to do when you guess wrong.
— Garrett 👻BOOper👻 (@superdupergc) October 9, 2019
Inevitably, you incur a relatively long time penalty for predicting wrong. This is where Stadia concerns me.
(4/?)
Stadia’s probably going to be great for taking long walks across open worlds, but what happens when you’re doing a bunch of fast paced combat where certain actions might be countered or actors removed?
— Garrett 👻BOOper👻 (@superdupergc) October 9, 2019
Well, do you remember playing WoW back in the day?
(5/?)
Remember when someone would desync, and they’d just keep walking into the distance? Or they’d rubber-band around? My guess is this is what Stadia is going to have to do to fix incorrect guesses.
— Garrett 👻BOOper👻 (@superdupergc) October 9, 2019
(6/?)
So it might be fine for most games, and only feel weird when you’re correcting it. I bet a lot of people won’t mind.
— Garrett 👻BOOper👻 (@superdupergc) October 9, 2019
But it might also result in some weird pressures on game design, the same way the subscription model also puts pressures. I am… not excited.
Das spart Übertragungsbandbreite, nicht Rechenaufwand in der Cloud.
Bei einem Schuss ist die Vorrausberechnung sogar relativ einfach, das ist eine relativ simple Berechnung (selbst mit Bulletdrop und PiPaPo), da kannst du dementsprechend auch mal eben die nächsten 20 Frames/Ticks schnell vorausberechnen, bzw. sogar in dem Frame in dem der Schuss abgefeuert wird vorrausberechnen in wievielen Frames er ein (statisches) Ziel treffen wird. Gegen menschliche Spieler ist das natürlich nicht so einfach, bzw. nicht statisch, weil man eben nicht sicher vorraus sagen kann, wo dieser Spieler X Frames später sein wird. Je weiter man da in die Zukunft geht, desto ungenauer wird das, aber hier geht es ja nur um ein paar Frames, um das Lag zu minimieren. Aber auch hier kann man anhand der angelernten Spielereingaben (vom vermeintlichen Ziel) durchaus für die nächsten paar Frames schonmal "schätzen", ob das ein Treffer werden könnte.
Ich kann dir nicht sagen, was ChrisJumper so macht, aber ich bin Entwickler und "darf" mich seit knapp einem halben Jahr mit genau solchem BigData-Kram beschäftigen. Ich würde mich daher jetzt sicher nicht als Data Scientist Experte bezeichnen, aber ja, ich gehe auch beruflich in diese Richtung.
Es geht u.U. nicht nur um Bewegungen einer Spielfigur, sondern z.B. auch um Schüsse und die kommen ggf. in wenigen Frames sehr weit. Mit ein paar Pixel vergleichen kommt man da nicht so weit.
@ChrisJumper um deine Aussagen besser einordnen zu können, bist du eher technikbegeistert, oder vom Fach?
Ich vermute Ersteres, lasse mich aber gerne korrigieren.
Die gehen natürlich davon aus das es ein Massen-Medium wird. Damit meine ich eben nicht die kleine Zahl an Steam Spielern für einen Titel, sondern das ganze wird größer gedacht.
Das ist ja auch aktuell schon so wenn eine KI, ein Videospiel aus den 80ern spielt, wohl aber zu Forschungszwecken. Das hat dann auch mehrere Millionen Stunden gespielt, aber in einer "viel kürzeren Zeit", weil es das halt auf einem schnelleren PC unter Last kann. Das meinte ich ja auch es muss nicht so spielen wie ein "Mensch", es muss das alles nur entsprechend Indizieren. Stell dir vor du speicherst ein Letsplay Video ab, hast dazu aber noch mehr Metainformationen und eine höhere Auflösung.
Aktuell werden diese Letsplays ja auch gestreamt. Man kann sagen: Das ist ja viel zu viel Aufwand.... aber praktisch gesehen denke ich das eher nicht. Es braucht jede Menge Speicherplatz, das ist richtig, aber später weniger Rechenkraft.
Google ist in all diesen Bereichen führend. Ich denke sie machen das auch nur nebenbei, ihnen geht es in erster Linie darum das sie ihre Bilderkennung und Bildgenerierung verbessern können. Letztlich nutzen sie halt die Eingaben der Nutzer dazu, dies automatisiert zu optimieren, weil die Gamer es halt spielen.
Du siehst das glaub ich zu verkrampft. Es geht nicht um die Eingabe, es geht darum das Googel das Ergebnis dieser Brechung schon vorher kennt oder...
Das ist eine ganz andere Aufgabenstellung. Es geht, wie schon oft gesagt wurde, eben nicht darum, einen Spielablauf vom Levelstart bis zum Endgegner zu "berechnen". Das würde ja eh nur bei 100% deterministischen Spielen gehen, andernfalls bräuchte das System Zugriff auf entweder die Grafikausgabe oder die Metadaten von der Spielsituation.
Falls Du menschliche Gegenspieler meinst: Warum sollte man die Aktionen von denen voraussagen können, aber nicht die vom eigenen Spieler?
Was meinst Du mit "Eingabe 0"?
Jaa man muss viele Beiträge überspringen. Aber wischendurch kommt auch so manche interessante Idee bei rum.