Αυτή είναι η ενδιαφέρουσα ιστορία του Backwards Compatibility

Ίσως η πιο πετυχημένη E3 παρουσίαση της Microsoft έλαβε τόπο το 2015. Το πλήθος είχε ενθουσιαστεί τόσο πολύ με το Backwards Compatibility και το χειροκρότημα που σύλλεξε ο Phil Spencer στο βαμμένο πράσινο Galen Center του Los Angeles ήταν απερίγραπτο. Όμως, μία τέτοια προσθήκη απαιτούσε πάρα πολύ δουλειά από την μεριά της Microsoft, δεν ήταν ένας απλός software emulator όπως πολλοί πιστεύουν. Ο άνθρωπος πίσω από το project είναι ο Kevin La Chapelle, ο οποίος μαζί με μια μικρή ομάδα κατάφερε να φέρει την προς τα πίσω συμβατότητα στην τελευταία γενιά κονσολών.

Όλα ξεκίνησαν από ξεχωριστές ερευνητικές ομάδες της Microsoft που έκαναν ένα πείραμα για την κυκλοφορία του Xbox One. Πολλές φορές οι ομάδες δούλευουν ανεξάρτητα, κάτι κοινό για μια εταιρία του βεληνεκούς της Microsoft, ενώ όταν τα πειράματα αναπτυχθούν αρκετά και γίνουν πιο απαιτητικά ανταλλάζουν πληροφορίες. Κάπως έτσι ήταν όταν ο Kevin Gammill και ο Kareem Choudhry βρήκαν δύο ομάδες που μπορούσαν να βοηθήσουν με την συμβατότητα του απογόνου του Xbox 360, το οποίο ήδη μπορούσε να τρέξει τίτλους του πρώτου Xbox μέσω ενός emulator γνωστός ως Fission ανάμεσα στους εργαζόμενους.

To 2007, μια ομάδα δούλευε πάνω σε έναν PowerPC CPU εξομοιωτή, παίρνοντας 32-bit κώδικα και προσπαθούσε να τον τρέξει σε 64-bit αρχιτεκτονική, ίδια με αυτή που η τρίτη γενιά Xbox θα ενσωμάτωνε. Αντίθετα, στο μακρινό Πεκίνο, μια δεύτερη ομάδα έγραφε ένα εξομοιωτή εικονικής GPU, βασισμένο στην κάρτα γραφικών του 360. Ο Choudhry ένωσε τις δύο ομάδες και σαν αποτέλεσμα γεννήθηκε η πρώτη ιδέα του Backwards Compatibility, πολύ πριν το One πάρει σάρκα και οστά. Όσο προχωρούσε η ανάπτυξη του Xbox One, τόσο προχωρούσε και η συμβατότητα. Ήταν το 2011 όταν η ομάδα βγήκε στο συμπέρασμα ότι δεν γινόταν μόνο με λογισμικό. Ο Gammill εξήγησε ότι ένα τέτοιο software θα απαιτούσε δύο με τρεις πυρήνες από τους έξι του One. Άλλη μια λύση ήταν το SoC, δηλαδή να βάλουν το chip του 360 στο One, κάτι που δεν ήταν ακατόρθωτο ούτε ακριβό. Κάπως έτσι έκανε η Sony που έβαζε του PS2 στο PS3, όμως αυτό θα έβαζε ένα όριο στις δυνατότητες της BC ομάδας. Έπρεπε να σκεφτούν πιο μακροπρόθεσμα και έτσι ενσωμάτωσαν κάποιες απαιτητικές λειτουργίες μέσα στο πυρίτιο του Xbox One, όπως middleware για XMA ήχο και μορφές texture.

Από εκεί, το project έμεινε στάσιμο για αρκετό καιρό, όμως το 2014 αφού ο Phil Spencer αντικατάστησε τον Don Mattrick, μαζί με τον Choudhry επανέφεραν το έργο από την χειμερία νάρκη. Ένα από τα πρώτα βήματα που έκαναν ήταν να φέρουν τον La Chapelle στην ομάδα, ο οποίος με την σειρά του εμπλούτισε την ομάδα με τον Jonathan Morrison και μαζί βρήκαν τον Barry Bond. Ο Barry Bond ήταν μέλος σε μια ομάδα που δούλευε πάνω στο Trioxide, κάποιοι θα θυμούνται το 2008 μια φήμη ενός emulator που θα μπορούσε να παίζει παιχνίδια του X360, PS3 και Wii στο PC. Οι τέσσερις τους, λοιπόν, ξεκίνησαν να δουλεύουν εντατικά πάνω στο BC, όμως πρώτα χρειαζόταν ένα πειραματόζωο.

 

Έπρεπε να βρούνε ένα παιχνίδι που θα ολοκληρωνόταν σε λογικό χρονικό διάστημα, θα είχε online στοιχεία από το Xbox Live και θα ήταν σχετικά εύκολο. Διάλεξαν το Castle Crashers της The Behemoth, όμως αυτό που κατάλαβαν είναι ότι δεν είναι εύκολο να εξομοιώσεις ένα παλιό παιχνίδι σε νεώτερη πλατφόρμα. Όταν προέκυπτε ένα πρόβλημα η οθόνη γέμιζε με σύμβολα και νούμερα, που με την σωστή αποκρυπτογράφηση μπορούσαν να εντοπίσουν την πηγή του θέματος. Ο La Chapelle προσπάθησε να επικοινωνήσει με την The Behemoth για να βρει βοήθεια και τύχαινε ο CEO τους να ήταν πρώην εργαζόμενος της Microsoft. Με την κατάλληλη καθοδήγηση η ομάδα κατάφερε να προχωρήσει δέκα φορές γρηγορότερα, όμως τότε συνειδητοποίησε ότι υπάρχει ένα ακόμα εμπόδιο στην πορεία τους.

Αυτό που τους δυσκόλεψε ήταν ότι τα save δεν δούλευαν στην νεώτερη κονσόλα. Έπρεπε να παίξουν το παιχνίδι χειροκίνητα ώστε να πάρουν όλα τα δεδομένα που χρειαζόταν. Σε αυτό βοήθησε και πάλι ο La Chapelle, αφού έγινε άσσος στο Castle Crashers και έγινε η “μηχανή των save”. Αργότερα, δημιούργησαν ένα σύστημα που μπορούσε να μεταφέρει τα αρχεία από το ένα προφίλ προγραμματιστή στο άλλο και η ομάδα ξεπέρασε και αυτή την αναποδιά. Έτσι, όλοι τους δεσμεύτηκαν να ανακοινώσουν την δουλειά τους στην E3 του 2015 και να κυκλοφορήσουν το Backwards Compatibility το φθινόπωρο με 100 συμβατούς τίτλους. Ο αγώνας τώρα ξεκινούσε και η ανηφόρα ήταν απότομη. Κοντά στην E3, η πρώτη παρτίδα ήταν γεμάτη παιχνίδια που δεν έπαιζαν, ή έπαιζαν πολύ άσχημα. Μάλιστα ένα από αυτά έτρεχε στο 1fps, όμως ο δοκιμαστής το τερμάτισε ασχέτως. Το πρόβλημα έγινε εφιάλτης για τον La Chapelle και την ομάδα των 25, πλέον, ατόμων, ώσπου ο Morrison κατάφερε και έσπασε τον γρίφο κατά την εβδομάδα της έκθεσης.

Κάθισε και αναρωτήθηκε τι διαφορές έχει το X360 και o Fission emulator. Η απάντηση είναι ο χρονοπρογραμματιστής της CPU, δηλαδή ο μηχανισμός που ρυθμίζει που θα πάνε τα δεδομένα και με ποια ταχύτητα. Στο Xbox 360 έτρεχε σε μια ταχύτητα, ενώ στον εξομοιωτή στην προκαθορισμένη ρύθμιση του Xbox One. Όταν έληξε η E3 ήταν το πρώτο πράγμα που δοκίμασαν όταν γύρισαν πίσω και τα αποτελέσματα ήταν παραπάνω από θετικά. Η ομάδα έμεινε πιστή στην υπόσχεση της και έφεραν τα πρώτα 104 παιχνίδια του 360 στο One πάνω στην ώρα.

Αυτό που αποδείχθηκε προβληματικό ήταν το Reach. Η ομάδα είχε θέσει ως υπόσχεση από την αρχή τα παιχνίδια να τρέχουν στο One τουλάχιστον όπως έτρεχαν στο 360, όχι χειρότερα και αυτή ήταν η μόνη φορά που αθέτησαν τον λόγο τους. Κατάλαβαν ότι ο τρόπος δοκιμής των τίτλων ήταν υποκειμενικός και ως αποτέλεσμα έφτιαξαν ένα σετ εργαλείων που θα τους βοηθούσε να γίνουν πιο αντικειμενικοί. Έτσι γεννήθηκε το XCPA, ή αλλιώς Xbox Compatibility Performance Analyzer όπως ήταν και το πλήρες όνομα του. Το εργαλείο μπορούσε να προσδιορίσει αν το πρόβλημα που αντιμετώπιζαν ήταν κάποιο bug στον κώδικα του παιχνιδιού ή ήταν λάθος του emulator. Το πρόγραμμα είχε δύο παράθυρα που έτρεχαν το ίδιο παιχνίδι και ένα γράφημα που απεικονίζει τον χρονισμό των καρέ. Όσο το χαμηλότερο, τόσο το καλύτερο και όταν υπήρχε κάποιο πρόβλημα ο χρονισμός ανέβαινε. Έτσι μπορούσαν να βρουν προβλήματα που θα ήταν αδύνατο να αποκαλυφθούν διαφορετικά και να τα διορθώσουν.

Με αυτό το εργαλείο κατάφεραν και έφεραν εκατοντάδες παιχνίδια στο Backwards Compatibility, ενώ η διαδικασία γινόταν όλο και πιο εύκολη. Με όλες τις πληροφορίες και γνώσεις που μάζεψαν, η ομάδα έγραψε μια έκθεση για τους developers που τους υποδεικνύει πως να γράφουν κώδικα που θα αντέξει στην ροή του χρόνου και θα κάνει την μελλοντική συμβατότητα πιο εύκολη. Με αυτές τις γνώσεις, οι developers με την σειρά τους κατάφεραν να συνθέσουν καλύτερα παιχνίδια και πλέον το Xbox One X έχει την δυνατότητα να τρέχει τους Backwards Compatibility τίτλους ακόμα καλύτερα. Το επόμενο βήμα ήταν να φέρουν και παιχνίδια του OG Xbox στο Xbox One. Το project ονομάστηκε Fusion και τον Νοέμβριο του 2016 ο Spencer Perreault μπήκε στην ομάδα με αυτόν τον μοναδικό του στόχο.

Αυτό που δοκίμασε πρώτα είναι να προσομοιώσει τον Fission emulator του Xbox 360 στο Xbox. Αυτό όμως απέτυχε παταγωδώς όπως ήταν λογικό. Το αρχικό Xbox διαχειρίζεται τη μνήμη του σε βήματα των 4 kilobyte, ενώ το Xbox One με βήματα των 64 kilobyte. Άλλη μια σημαντική διαφορά ήταν η αρχιτεκτονική των επεξεργαστών τους. Το OG Xbox είχε 32-bit CPU, όμως το One 64-bit. Το πρόβλημα της συμβατότητας με το OG Xbox είχε γίνει μέρος της ζωής του Perreault. Το Dolphin είναι ένα εργαλείο που υπήρχε σε κάθε debug και developer kit του πρώτου Xbox και ήταν το πρώτο πρόγραμμα που κατάφερε να τρέξει. Ουσιαστικά ήταν μια εφαρμογή χρονισμού CPU που χρησιμοποιούσαν στην Microsoft σαν benchmark και ήταν ενσωματωμένο σε κάθε σύστημα που έχουν φτιάξει. Δεν είναι τίποτα περισσότερο από μερικά δελφίνια που κολυμπούσαν ανέμελα, όμως το πρόγραμμα έτρεχε και ας μην ήταν τόσο σταθερό όσο το περίμενε. Τότε, ο La Chapelle αποφάσισε να δοκιμάσει παιχνίδια από την προσωπική του συλλογή. Περίπου το 10% αυτών έτρεξαν, πολλά όμως είχαν σοβαρά θέματα στα γραφικά τους.

Δύο μήνες μετά και με αρκετή δουλειά το ποσοστό άγγιξε το 90%. Δοκίμασαν πολλά διάφορα παιχνίδια και αυτό τους βοήθησε ακόμα περισσότερο, ανάμεσα τους και τα 13 πρώτα συμβατά παιχνίδια στο Xbox One που ανακοίνωσαν πρόσφατα. Το αποκορύφωμα είναι ότι μπόρεσαν να βελτιώσουν τα παιχνίδια, με υψηλότερη ανάλυση στα 1080p και ομαλότερα καρέ. Κάτι τέτοιο ήταν πάντα διαθέσιμο, όμως η τεχνολογία της εποχής δεν επέτρεπε τέτοια απεικόνιση. Βέβαια, πάντα θα υπάρχει ένα όριο στο πλήθος των παιχνιδιών του OG Xbox που θα μπορέσουν να γίνουν Backwards Compatible. Αυτό έχει να κάνει με νομικούς λόγους κυρίως αφού πολλοί από τους δημιουργούς δεν υφίστανται πλέον, τα συμβόλαιά έχουν χαθεί μιας και έχουν υπογραφεί σε χαρτί ή τα δικαιώματα για μουσική ή άλλες άδειες έχουν λήξει. Αυτό που θα βοηθήσει να ξεπεραστούν πολλές από τις προκλήσεις είναι να ενδιαφερθεί ο κόσμος. Οι φαν έχουν το κλειδί για να καταφέρει η ομάδα κάτι παραπάνω. Μπορεί να υπάρχουν σοβαρά προβλήματα σε ορισμένες περιπτώσεις, όμως οι εκδότες μπορούν να πάρουν ένα θετικό μήνυμα από τα δεδομένα των καταναλωτών.

Το Backwards Compatibility τελικά ήταν πολύ πιο περίπλοκο από ότι όλοι μας νομίζαμε στην αρχή. Βέβαια η ομάδα κατάφερε να θέσει τα θεμέλια και για μελλοντικά παιχνίδια. Ως αποτέλεσμα, δεν θα μας κάνει καθόλου εντύπωση αν δούμε κάτι παρόμοιο από την πρώτη μέρα κυκλοφορίας της νέας γενιάς Xbox. Ίσως να έχουμε και εκεί μια μοναδική ιστορία πίσω από κάτι φαινομενικά τόσο απλό. Εσείς τι πιστεύετε; Άξιζε τόση δουλειά για Backwards Compatibility; 

Μην ξεχάσετε να μας ακολουθήσετε στα παρακάτω Social Media. Busted είστε!