Ένα νέο εργαλείο που αναπτύχθηκε από την κοινότητα προγραμματισμού υπόσχεται να αλλάξει τον τρόπο με τον οποίο διατηρούνται και εκτελούνται παλιά παιχνίδια σε σύγχρονους υπολογιστές. Diferente από τις συμβατικές μεθόδους που προσομοιώνουν το αρχικό υλικό, αυτή η λύση εκτελεί μια πλήρη μετάφραση του κώδικα της κονσόλας στη γλώσσα των τρεχόντων επεξεργαστών. Η εξέλιξη επιτρέπει στους καθιερωμένους τίτλους να εκτελούνται εγγενώς σε συστήματα Windows και Linux, εξαλείφοντας ιστορικά σημεία συμφόρησης και ανοίγοντας πόρτες για γραφικές βελτιώσεις που θα ήταν αδύνατες μέσω της τυπικής εξομοίωσης.
Η πρωτοβουλία επιδιώκει να λύσει μία από τις μεγαλύτερες προκλήσεις στην ψηφιακή διατήρηση των βιντεοπαιχνιδιών: την πολυπλοκότητα της αρχικής αρχιτεκτονικής υλικού του Sony. Lançado πριν από περισσότερες από δύο δεκαετίες, η κονσόλα χρησιμοποίησε έναν ιδιόκτητο επεξεργαστή που κάνει την προσομοίωση σε τρέχοντα μηχανήματα μια απαιτητική εργασία όσον αφορά την επεξεργασία. Η νέα προσέγγιση παρακάμπτει αυτό το εμπόδιο μετατρέποντας τις αρχικές οδηγίες απευθείας σε μια μορφή που ο υπολογιστής κατανοεί εγγενώς, εξασφαλίζοντας ελαφρύτερη και αποτελεσματικότερη εκτέλεση.
Το λογισμικό λειτουργεί ως τεχνική γέφυρα μεταξύ του παρελθόντος και του παρόντος, ξαναγράφοντας το δυαδικό αρχείο του παιχνιδιού μέσω μιας διαδικασίας γνωστής ως στατική ανασύνταξη. Αντί να μεταφράζει τις ενέργειες του παιχνιδιού σε πραγματικό χρόνο καθώς παίζει ο χρήστης, το σύστημα επεξεργάζεται όλο τον κώδικα εκ των προτέρων. Το αποτέλεσμα είναι ένα εκτελέσιμο αρχείο που συμπεριφέρεται σαν μια εγγενής εφαρμογή υπολογιστή, αφαιρώντας την τυπική επιβάρυνση που προκύπτει όταν ένας εξομοιωτής πρέπει να ερμηνεύσει κάθε εντολή κονσόλας εικονικά.
Θεμελιώδεις διαφορές μεταξύ προσομοίωσης και επανασύνταξης
Η παραδοσιακή εξομοίωση, που παραδειγματίζεται από δημοφιλές λογισμικό όπως το PCSX2, βασίζεται σε μια τεχνική που ονομάζεται μετάφραση Just-In-Time. Μοντέλο Nesse, ο υπολογιστής πρέπει να εργάζεται συνεχώς για να μετατρέψει τον κώδικα κονσόλας σε κώδικα υπολογιστή ενώ το παιχνίδι εκτελείται. Embora αποτελεσματική, αυτή η μέθοδος είναι έντασης CPU και μπορεί να οδηγήσει σε τραυλισμό ή πτώση καρέ σε πιο σύνθετες σκηνές, καθώς το μηχάνημα πρέπει να μαντέψει και να μεταφράσει οδηγίες σε χιλιοστά του δευτερολέπτου.
Η στατική επανασύνταξη που προτείνεται από το νέο έργο εξαλείφει αυτή την ανάγκη για ταυτόχρονη μετάφραση. Ο κώδικας του παιχνιδιού, που αρχικά γράφτηκε για την αρχιτεκτονική MIPS, έχει μετατραπεί πλήρως σε x86-64, την τυπική αρχιτεκτονική των σύγχρονων υπολογιστών. Το Isso σημαίνει ότι μετά τη διαδικασία μετατροπής, το παιχνίδι δεν χρειάζεται πλέον εξομοιωτή που τρέχει πίσω του. Το Ele χρησιμοποιεί τώρα τους πόρους του επεξεργαστή και της κάρτας βίντεο απευθείας, επιτρέποντας πολύ μεγαλύτερη σταθερότητα.
Αυτή η αλλαγή παραδείγματος όχι μόνο βελτιώνει την απόδοση αλλά και διευκολύνει την εφαρμογή σύγχρονων χαρακτηριστικών. Το Desenvolvedores και οι λάτρεις του μπορούν να τροποποιήσουν τον αναμεταγλωττισμένο κώδικα πιο εύκολα, εισάγοντας υποστήριξη για τις τρέχουσες τεχνολογίες χωρίς τους περιορισμούς που επιβάλλονται από το προσομοιωμένο πρωτότυπο υλικό. Το εργαλείο αυτοματοποιεί μεγάλο μέρος αυτής της πολύπλοκης δουλειάς, κάνοντας τη μεταφορά κλασικών πιο προσιτή πραγματικότητα.
Γραφικές βελτιώσεις και ανώτερη απόδοση
Τα οπτικά οφέλη που παρέχει αυτή η τεχνική είναι άμεσα και μεταμορφωτικά για την εμπειρία του χρήστη. Το Jogos που έτρεχε αρχικά με τριάντα καρέ ανά δευτερόλεπτο μπορεί να ξεκλειδώσει αυτόν τον ρυθμό, φτάνοντας τα εξήντα, εκατόν είκοσι ή και περισσότερα καρέ ανά δευτερόλεπτο, ανάλογα με τη χωρητικότητα της οθόνης και του υπολογιστή. Η ρευστότητα Essa ανανεώνει το παιχνίδι, καθιστώντας την απόκριση ελέγχου ταχύτερη και ακριβέστερη από ό,τι στο αρχικό υλικό.
Η ανάλυση εικόνας λαμβάνει επίσης σημαντική επεξεργασία. Enquanto η αρχική κονσόλα λειτουργεί σε χαμηλές ρυθμίσεις κατάλληλες για τηλεοράσεις με λυχνία, η εκ νέου μεταγλωττισμένη έκδοση μπορεί να εκτελεστεί σε αναλύσεις 4K ή εξαιρετικά ευρεία εγγενώς. Οι υφές και τα τρισδιάστατα μοντέλα γίνονται πιο ευκρινώς και το χαρακτηριστικό αλαζόν των παλαιότερων παιχνιδιών μειώνεται δραστικά χωρίς να χρειάζονται βαριά φίλτρα μετά την επεξεργασία.
Ένα άλλο χαρακτηριστικό είναι η σχεδόν πλήρης εξάλειψη των χρόνων φόρτωσης. Como το παιχνίδι έχει άμεση πρόσβαση στη γρήγορη αποθήκευση των σύγχρονων SSD και στη μνήμη RAM του συστήματος, η φόρτωση των οθονών που χρειάζονταν αρκετά δευτερόλεπτα στην αρχική κονσόλα γίνεται στιγμιαία. Η ανάγνωση δεδομένων από τον εικονικό δίσκο επιταχύνεται, παρέχοντας μια απρόσκοπτη εμπειρία χωρίς διακοπές που σπάνε τον ρυθμό της αφήγησης ή της δράσης.
Η πρόκληση του Emotion Engine
Η μοναδική αρχιτεκτονική του PlayStation 2, με επίκεντρο τον επεξεργαστή Emotion Engine, ήταν πάντα εμπόδιο στην ακριβή εξομοίωση. Το τσιπ είχε σύνολα εντολών και διανυσματικούς συνεπεξεργαστές που δεν έχουν άμεσα ισοδύναμα στους σημερινούς υπολογιστές. Traduzir αυτή η πολύπλοκη λογική λειτουργίας απαιτούσε χρόνια αντίστροφης μηχανικής και λεπτομερούς μελέτης από την κοινότητα ανάπτυξης.
Το τρέχον έργο χρησιμοποιεί αυτόματα προφίλ για να κατανοήσει πώς κάθε παιχνίδι χρησιμοποιεί παλαιότερο υλικό. Αναλύοντας τη συμπεριφορά του αρχικού λογισμικού, το εργαλείο είναι σε θέση να χαρτογραφήσει κρίσιμες λειτουργίες και να τις ξαναγράψει σε γλώσσα C++, η οποία υποστηρίζεται και βελτιστοποιείται ευρέως. Η μέθοδος Esse διασφαλίζει ότι η λογική του παιχνιδιού παραμένει ανέπαφη, διατηρώντας τη φυσική, την τεχνητή νοημοσύνη και την αρχική μηχανική, αλλά με το τεχνολογικό πρόσχημα του σύγχρονου λογισμικού.
Η ψηφιακή συντήρηση αποκτά έναν ισχυρό σύμμαχο με αυτήν την τεχνολογία. Με την αποσύνδεση του λογισμικού από το παλαιού τύπου υλικό, διασφαλίζει ότι αυτά τα πολιτιστικά έργα είναι προσβάσιμα στο μέλλον, ακόμη και όταν οι αρχικές κονσόλες δεν λειτουργούν πλέον. Η δημιουργία αναγνώσιμου και επεξεργάσιμου πηγαίου κώδικα επιτρέπει τη διόρθωση αρχικών σφαλμάτων προγραμματισμού και την προσαρμογή του παιχνιδιού για νέα λειτουργικά συστήματα που ενδέχεται να προκύψουν.
Συμβατοί τίτλοι και μέλλον του έργου
Η ανάπτυξη του εργαλείου παρουσιάζει ήδη πρακτικά αποτελέσματα με τίτλους μεγάλης τεχνικής πολυπλοκότητας. Η πλατφόρμα δράσης Jogos που απαιτούσε εξαιρετική ακρίβεια στην αρχική κονσόλα ήταν η πρώτη που έλαβε πλήρη υποστήριξη, αποδεικνύοντας τη βιωσιμότητα της ιδέας. Η κοινότητα εργάζεται για να επεκτείνει τη λίστα συμβατότητας, χρησιμοποιώντας αποθετήρια ανοιχτού κώδικα για να συνεργαστεί στον εντοπισμό και τη μετάφραση συγκεκριμένων λειτουργιών για κάθε παιχνίδι.
Η συνεργατική φύση του έργου, που φιλοξενείται σε πλατφόρμες όπως το GitHub, επιτρέπει σε προγραμματιστές από όλο τον κόσμο να συνεισφέρουν. Το Ferramentas της αποσύνθεσης κώδικα βοηθά στον εντοπισμό τμημάτων που η αυτόματη μετατροπή δεν μπορεί να επιλύσει μόνη της, δημιουργώντας μια συλλογική προσπάθεια για τη βελτίωση της τεχνολογίας. Η προσδοκία είναι ότι, με την πάροδο του χρόνου, η βιβλιοθήκη των υποστηριζόμενων παιχνιδιών θα αυξηθεί εκθετικά, καλύπτοντας διάφορα είδη όπως RPG και παιχνίδια αγώνων.
Για τον τελικό καταναλωτή και τους λάτρεις του ρετρογράμματος, αυτό σημαίνει έναν νέο τρόπο να ξαναδείτε τα κλασικά. Το Não είναι απλώς για να παίξετε ξανά, αλλά για να ζήσετε αυτούς τους τίτλους με μια τεχνική ποιότητα που οι αρχικοί προγραμματιστές δεν μπορούσαν ποτέ να φανταστούν τη στιγμή της κυκλοφορίας. Η ένωση μεταξύ της νοσταλγίας των παλαιών παιχνιδιών και της δύναμης του σύγχρονου υλικού επαναπροσδιορίζει το πρότυπο ποιότητας για τη διατήρηση της ιστορίας των βιντεοπαιχνιδιών.
Τελικές λέξεις-κλειδιά: PlayStation 2, στατική εκ νέου μεταγλώττιση, εγγενής προσομοίωση, διατήρηση παιχνιδιών, gaming υπολογιστή, ανοιχτού κώδικα.
