Πώς το “αρνητικό latency” μπορεί να βοηθήσει την περίπτωση του Google Stadia.
Η game-streaming υπηρεσία του Stadia της Google είναι ένα εντυπωσιακό άλμα στο μέλλον του gaming. Αλλά σε έναν κόσμο με διαφορετικές ταχύτητες ίντερνετ, περιορισμούς στα data caps και τον φόβο απώλειας της “ιδιοκτησίας”, μπορούμε να πούμε ότι το Stadia έχει μερικές προκλήσεις να αντιμετωπίσει. Οι μηχανικοί του νομίζουν πως μπορούν να αντιμετωπίσουν το πρόβλημα με το input lag με κάτι που η Google ονομάζει “αρνητικό latency”.
Αυτό μπορεί να ακούγεται οξύμωρο, αλλά (αντίθετα με τα memes που έχουν κυκλοφορήσει γι’ αυτό) η Google δεν ισχυρίζεται ότι ο χαρακτήρας στην οθόνη σας θα κάνει κινήσεις πριν πατήσετε κάποιο πλήκτρο. Αντί λοιπόν το παιχνίδι σας να παίζει σε αυτόματο πιλότο όπως το Lineage II: Revolution, η Google προσπαθεί να μειώσει τη διαφορά μεταξύ του υπολογιστή σας και των server της.
“Πάντα θα υπάρχει λίγο latency όταν στέλνουμε τα δεδομένα στο μηχάνημά σας, οπότε πρέπει να έχουμε μερικές λύσεις κατά νου ώστε να τους επιτρέπουμε (servers) να μεταδίδουν τα δεδομένα”, εξηγεί στο IGN ο μηχανικός υπολογιστών και indie game developer, Garrett Cooper. Με το να στέλνουν τα δεδομένα στον χρήστη το γρηγορότερο δυνατό, μπορούν να βοηθήσουν στη μείωση αυτού του latency—εξ’ ου και ο κάπως πολύπλοκος όρος, που έχει γίνει καραμέλα, του “αρνητικού latency”.
Η Google το κάνει να ακούγεται λες και είναι επαναστατική τεχνολογία, αλλά η πρόβλεψη εντολών δεν είναι κάτι νέο.
Υπάρχουν αρκετοί τρόποι να μεταδώσει τα δεδομένα η Google, αλλά το να προβλέψει τις εντολές του χρήστη είναι κάτι δύσκολο. Μιλώντας σε συνέντευξη στο περιοδικό Edge (την οποία αναφέρει εδώ το PCGamesN, αν δεν την έχετε διαβάσει), ο αντιπρόεδρος μηχανικής του Stadia, Madj Bakar, εξηγεί πως σε ένα-δύο χρόνια η υπηρεσία θα μπορεί “να έχει παιχνίδια που θα τρέχουν γρηγορότερα και θα δίνουν μία πιο ανταποκρίσιμη αίσθηση στο cloud, απ’ ό,τι δίνουν τοπικά, ανεξάρτητα του πόσο ισχυρό είναι το τοπικό μηχάνημα”.
Αυτή είναι μία ισχυρή δήλωση, οπότε ας γυρίσουμε λίγο πίσω και ας μιλήσουμε σχετικά με το πώς μπορεί να λειτουργήσει αυτή η τεχνολογία πρόβλεψης. Αντί να πατάει στην κυριολεξία τα κουμπιά για εσάς, είναι πιο πιθανό η Google να κάνει ένα pre-render συγκεκριμένων καρέ στο παρασκήνιο για να αντιστοιχούν στις πιθανές διαφορετικές κινήσεις που ίσως κάνετε. Με λίγη μηχανική εκμάθηση στη συνταγή (για να μην αναφέρουμε τη μερική συλλογή δεδομένων), ίσως ακόμα και να μπορούν να προβλέψουν τις πιθανότητες συγκεκριμένων εντολών ανάμεσα σε άλλες, για να κάνουν πιο ακριβείς τις προβλέψεις. Μόλις πατήσετε το κουμπί στο χειριστήριο σας, θα ανοίγουν το κουτί του Schrödinger και θα σερβίρουν τo pre-rendered καρέ το οποίο αντιστοιχεί στο πάτημα αυτού κουμπιού. Για παράδειγμα, αν το Stadia μπορεί να καταλάβει ότι βρίσκεστε στη μέση ενός multi-button combo, μπορεί να αρχίσει να αποδίδει την επόμενη κίνηση προτού πατήσετε στην πραγματικότητα το αντίστοιχο κουμπί, αλλά να περιμένει την καταγραφή της εντολής για να σας δείξει την κίνηση.
Η Google το κάνει να ακούγεται λες και είναι επαναστατική τεχνολογία, αλλά η πρόβλεψη εντολών δεν είναι κάτι νέο. Παρόμοια κόλπα χρονολογούνται από την εποχή των Duke Nukem 3D και QuakeWorld και έχουν χρησιμοποιηθεί έκτοτε σε πολλά διαδικτυακά παιχνίδια. Οι λάτρεις των fighting games χρησιμοποιούν middleware όπως το GGPO για να μειώσουν το latency όταν παίζουν στο διαδίκτυο και τα retro emulators ξεκίνησαν να δημιουργούν λειτουργίες πρόβλεψης εντολών για να καταφέρουν μία πιο σαν-CRT εμπειρία.
Προς τιμήν της Google, τα 3D παιχνίδια πρέπει να υπολογίσουν πολλές περισσότερες πιθανές εντολές από τα 2D retro sidescrollers. Ο δημιουργός του GGPO middleware, Tony Cannon, μας εξηγεί πως η δική του λύση συγκρίνεται με αυτό που μπορεί να καταφέρει η Google: “Το GGPO προβλέπει τις κινήσεις των άλλων παικτών στο παιχνίδι και υπολογίζει το πιο πιθανό αποτέλεσμα (των εντολών) άμεσα. Αν το αποτέλεσμα είναι σωστό, επιστρέφει στο παρελθόν για να διορθώσει το σφάλμα και γρήγορα εξομοιώνεται στο νέο πιο ακριβές παρόν”, λέει. “Βασιζόμενος σε αυτά που διάβασα, το Stadia είναι πολύ πιθανό να υπολογίζει πολλούς πιθανούς μέλλοντες και να τους στέλνει όλους στον client, μαζί με το υπάρχον καρέ. Αν η επόμενη εντολή του client αντιστοιχεί σε κάποια από αυτές των προβλέψεων, μπορεί να αποδώσει αυτό το καρέ άμεσα, παραβλέποντας την μετ’ επιστροφή στον server.”
“Το πρόβλημα που πρέπει να λύσουν”, λέει ο Cooper, “είναι το τι πρέπει να κάνουν όταν η πρόβλεψη είναι λάθος. Όπως ακριβώς γίνεται και όταν κάνεις αναζήτηση στο Netflix, ένα συγκεκριμένο σημείο της ταινίας, ο αλγόριθμος δεν μπορεί να το υπολογίσει και θα χρειαστεί να κάνει re-buffer. Στους όρους του Stadia, αυτό πιθανότατα σημαίνει επαναφορά της κατάστασης του παιχνιδιού στον server τους στη χρονική στιγμή που πατήσατε το πλήκτρο στο μηχάνημα, και έπειτα αποστολή (από τον server) των νέων μοτίβων, το συντομότερο δυνατό”. Δυστυχώς, αν το Stadia πρέπει να παίξει κυνηγητό με αυτό τον τρόπο, ίσως έχει ως αποτέλεσμα μία υποβαθμισμένη εμπειρία προς τον χρήστη. Ίσως η εικόνα να γίνεται λίγο θολή γι αυτά τα λίγα frames ή ίσως βιώσουμε “rubber-band” στην οθόνη μας με το σωστό σημείο. Αυτή η διόρθωση θα γίνεται πιθανότατα μέσα σε λίγα χιλιοστά του δευτερολέπτου, οπότε ο casual gamer ίσως να μην το προσέξει αλλά… οι βετεράνοι μπορούν, αυτό και μόνο ίσως είναι αρκετό για να κρατήσει κάποιους στα “locally-rendered” παιχνίδια, και όχι στη streaming υπηρεσία της Google.
Το άλλο μεγάλο μειονέκτημα είναι φυσικά η ιπποδύναμη που χρειάζεται για render πολλαπλών αποτελεσμάτων, προτού αυτά συμβούν. “Θα είναι πιο ακριβό να υπολογίσουν, να αποδώσουν και να κωδικοποιήσουν πολλαπλούς μέλλοντες συγκριτικά με το να έκαναν μόνο έναν”, λέει ο Cannon. “Από την άλλη, ο υπολογισμός γίνεται στο cloud, οπότε η αυξημένη ζήτηση θα επηρεάσει πρωτίστως το πόσο κοστίζει στη Google η λειτουργία της υπηρεσία, παρά τις απαιτήσεις της συσκευής που ανήκει στον καταναλωτή”. Έτσι, αν η Google πετάξει αρκετή σιλικόνη στο πρόβλημα, μπορούν να μειώσουν σημαντικά το latency μεταξύ του χειριστηρίου και της οθόνης σας, αλλά δεν θα είναι απαραίτητα τέλειο.
Όσο για το να είναι “πιο γρήγορο στο cloud”, βλέπετε… είναι πιθανό, αλλά εξαρτάται από πολλούς παράγοντες. “Αν το τοπικό σας σύστημα δεν μπορεί να κάνει αποδώσει τα καθεαυτά 4Κ καρέ τόσο γρήγορα όσο μπορεί να κατεβάσει 4Κ βίντεο, τότε θα δίνει μια γρήγορη αίσθηση”, λέει ο Cooper. Αν και αυτό είναι πιο πιθανό εάν οι προγραμματιστές δημιουργήσουν πιο περίπλοκα παιχνίδια με αυτό κατά νου—χρησιμοποιώντας έναν σκασμό από φυσικούς νόμου ή άλλα υπολογιστικά-βαριά εφέ. “Είμαι σίγουρος πως θα υπάρχουν games που έχουν καλύτερη αίσθηση σε τοπικό παιχνίδι (local), αλλά η πιθανότητα δημιουργίας νέου είδους ΑΑΑ παιχνιδιών, ίσως είναι δυνατή μόνο με το Cloud.”
Οπότε είμαι σκεπτικός πως αυτό θα πάει όπως ακριβώς λέει η Google ότι θα πάει, τουλάχιστον στο άμεσο μέλλον. Οι κονσόλες δεν πρόκειται να πάνε πουθενά και οι developers εξακολουθούν να φτιάχνουν τίτλους έχοντας το χαμηλότερο κοινό παρονομαστή στο μυαλό, εκτός και αν η Google δημιουργήσει αποκλειστικούς τίτλους για το Stadia, οι οποίοι θα εκμεταλλεύονται πλήρως αυτή την τεχνολογία και χωρίς να αντιμετωπίσουν τις πιθανές παγίδες της.
Από τεχνολογικής άποψης, μιλάμε για ένα σημαντικό επίτευγμα.
Μετάφραση: Μιχάλης Βιλιώτης
IGN Greece
Πηγή: IGN Greece