Πώς οι Ocarina of Time speedrunners σπάνε το παιχνίδι με νέους τρόπους

σεβαστείτε την επιλεγμένη εικόνα 2
Αυτή η ιστορία είναι μέρος της σειράς ReSpec του Jacob Roach, που καλύπτει τον κόσμο των παιχνιδιών και του υλικού για υπολογιστή.

Το ReSpec είναι συνήθως μια στήλη για τον υπέροχο, τεχνικό κόσμο των παιχνιδιών υπολογιστή, αλλά περιστασιακά υπάρχουν θέματα που είναι πολύ καλά για να τα προσπεράσουμε. The Legend of Zelda:Οκαρίνα του Χρόνου είναι παγκοσμίως αναγνωρισμένο ως ένα το καλύτερα παιχνίδια Nintendo 64 που έχει δημιουργηθεί ποτέ, και ενώ δεν είναι τίτλος υπολογιστή, οι υψηλότερου επιπέδου, οι πιο τεχνικές ταχύτητες του παιχνιδιού εκθέτουν τον τρόπο με τον οποίο λειτουργούν τα παιχνίδια σε ένα θεμελιώδες επίπεδο. Το πιο σημαντικό, αυτά τα απίστευτα κατορθώματα είναι δυνατά μόνο με πολλή προσπάθεια της κοινότητας.

Περιεχόμενα

  • Μακριά από αυθαίρετο
  • Hacking on the fly

Προτεινόμενα βίντεο

Οκαρίνα του Χρόνου είναι ένα παιχνίδι που θα χρειαζόταν ένας κανονικός παίκτης περίπου 30 ώρες για να κερδίσει. οι πιο επιδέξιοι speedrunners, που στοχεύουν να παίξουν το παιχνίδι όσο το δυνατόν γρηγορότερα, μπορούν να το νικήσουν σε περίπου τρεις ώρες και 40 λεπτά χωρίς προβλήματα. Ωστόσο, η κατηγορία Any% του παιχνιδιού, η οποία αναθέτει στους παίκτες να ολοκληρώσουν το παιχνίδι ανεξάρτητα από τις μεθόδους που χρησιμοποιούνται, μειώνεται στα τρία λεπτά, 54 δευτερόλεπτα και 566 χιλιοστά του δευτερολέπτου. Και ναι, αυτά τα χιλιοστά του δευτερολέπτου έχουν σημασία. Ο κάτοχος της δεύτερης θέσης είναι λιγότερο από ένα ολόκληρο δευτερόλεπτο πίσω από το παγκόσμιο ρεκόρ.

Το παιχνίδι Ocarina of Time για το Nintendo 64.

Ακόμα κι αν είναι τόσο αξιοσημείωτο κατόρθωμα, δεν είναι μόνο αυτό Οκαρίνα του Χρόνου τα speedruns φέρνουν στο τραπέζι. Στο Summer Games Done Quick 2022, έναν εξαμηνιαίο μαραθώνιο speedrunning για φιλανθρωπικό σκοπό, υπήρχε μια έκθεση που υπογράμμισε ένα ομάδα speedrunner που επαναπρογραμματίζει το παιχνίδι εν κινήσει για να εμφανίσει νέα γραφικά, να παίξει νέα μουσική και ακόμη και να εκτελέσει μια συνομιλία Twitch επικάλυμμα. Και όλα αυτά έγιναν σε ένα στοκ αντίγραφο του παιχνιδιού χωρίς προπρογραμματισμό.

ο Οκαρίνα του Χρόνου Η κοινότητα του speedrunning συνέχισε να σπάει το παιχνίδι με φαινομενικά ακατόρθωτους τρόπους. Επικοινώνησα με δύο από τα κορυφαία μυαλά της κοινότητας για να μάθω τι κάνει το κλασικό παιχνίδι Nintendo 64 και όλα καταλήγουν σε ένα exploit: Arbitrary Code Execution.

Μακριά από αυθαίρετο

Κονσόλα Nintendo 64 και παιχνίδια.
Rob Tek/Shutterstock

Το Arbitrary Code Execution, ή ACE, ακούγεται πολύ πιο εκφοβιστικό από ό, τι είναι στην πραγματικότητα. Είναι ένας όρος που χρησιμοποιείται στην ασφάλεια στον κυβερνοχώρο που ουσιαστικά σημαίνει την εκτέλεση κώδικα (ή ενός προγράμματος) που δεν πρέπει να εκτελείται. Αυτός είναι ο Dannyb, ένας speedrunner Οκαρίνα του Χρόνου που κατέχει το ρεκόρ της δεύτερης θέσης στην κατηγορία Any%, που περιγράφεται στο ACE Ocarina of Time: "Η αυθαίρετη εκτέλεση κώδικα στο OoT είναι μια εκμετάλλευση με την οποία ένας παίκτης μπορεί να χρησιμοποιήσει ενέργειες εντός του παιχνιδιού για να οργανώσει μια δέσμη δεδομένων στη μνήμη μιμηθείτε τον κώδικα παιχνιδιού και, στη συνέχεια, χειριστείτε την τοποθεσία όπου το παιχνίδι θέλει να εκτελέσει τον κώδικα ώστε να είναι το μέρος όπου μόλις το κάναμε αυτό τακτοποίηση.»

Με τις σωστές ενέργειες, ο dannyb λέει ότι οι παίκτες είναι σε θέση να «τρέξουν ουσιαστικά όποιον κώδικα μας αρέσει μέσα από το παιχνίδι και να κάνουν το παιχνίδι να κάνει πράγματα που δεν είχε προγραμματιστεί να κάνει». Αυτές οι ενέργειες περιλαμβάνουν πράγματα τόσο φαινομενικά άχρηστα όσο το όνομα που εισάγετε όταν ξεκινάτε το παιχνίδι. Αυτή ακριβώς είναι η ενέργεια που επέτρεψε Οκαρίνα του Χρόνου να χτυπηθεί τόσο γρήγορα.

Σε ένα παιχνίδι σαν Οκαρίνα του Χρόνου, το παιχνίδι ελέγχει τη μνήμη του για να ικανοποιηθεί μια συγκεκριμένη απαίτηση για να κερδίσει το παιχνίδι. Ο στόχος σε ένα Any% speedrun είναι να αναδιατάξετε τη μνήμη για να κοιτάξετε το όνομα του χαρακτήρα σας αντί για το πού φαίνεται συνήθως. Αυτό ονομάζεται Stale Reference Manipulation, ή SRM, και ο dannyb λέει ότι το exploit είναι αυτό που έσπασε Οκαρίνα του Χρόνου τα speedruns ανοίγουν με μεγάλο τρόπο.

[Πρώην παγκόσμιο ρεκόρ] OoT Any% Speedrun σε 3:55.300!

«Το ACE σε κάθε βιντεοπαιχνίδι χρειάζεται πάντα αυτά τα δύο πράγματα: βελτιστοποιημένο έλεγχο σε κάποια περιοχή της μνήμης, έτσι ώστε ο παίκτης να μπορεί Κάντε τα δεδομένα εκεί να μιμούνται κώδικα και η δυνατότητα αλλαγής της τοποθεσίας εκτέλεσης κώδικα να είναι το μέρος όπου ο προσαρμοσμένος κώδικας ψέματα. Το 2019, ανακαλύφθηκε ένα σφάλμα που ονομάζεται Stale Reference Manipulation στο OoT, το οποίο άνοιξε τη δεύτερη απαίτηση σε μεγάλο βαθμό», είπε ο Dannyb.

Στην περίπτωση ενός κανονικού Οκαρίνα του Χρόνου εκτελέστε, φαινομενικά τυχαίες ενέργειες αθροίζονται για να ξεγελάσουν το παιχνίδι για να ελέγξει περιοχές (όπως το όνομα του χαρακτήρα σας) για απαιτήσεις ολοκλήρωσης, ενώ δεν θα έπρεπε. Είναι μια διαδικασία δύο μερών. Δημιουργήστε ένα ωφέλιμο φορτίο δεδομένων, όπως το όνομα του χαρακτήρα σας και χειριστείτε τη μνήμη με SRM για να δείξετε προς αυτό το ωφέλιμο φορτίο.

Hacking on the fly

Εκθεση OoT Triforce Percent ACE: Το TASBot μας φέρνει εδώ μαζί στο SGDQ 2022! (Beta + νέο περιεχόμενο)

Έτσι χτυπούσαν οι ταχύδρομοι Οκαρίνα του Χρόνου μέσα σε λίγα λεπτά, αλλά δεν εξηγεί πλήρως πώς η βιτρίνα Triforce% που ονομάστηκε με αγάπη μπόρεσε να προσθέσει νέα υφή, μοντέλα, μουσική, κώδικας και ακόμη και επικάλυψη Twitch στο παιχνίδι χωρίς καμία τροποποίηση στο φυσίγγιο. Η Savestate, ένα από τα μυαλά πίσω από αυτό το πολυετές έργο, εξήγησε ότι έχει να κάνει με την προετοιμασία της κονσόλας Nintendo 64 για να κατανοήσει τα δεδομένα του ελεγκτή ως δεδομένα παιχνιδιού.

Είναι μια βιτρίνα που είναι δυνατή μόνο χάρη στο TASBot, το οποίο είναι σε θέση να εκτελεί εισόδους σε απάνθρωπες ταχύτητες. Όπως εξηγεί το Savestate, «Τροποποιούμε μια εντολή στη μνήμη για να ξεκινήσει η ανάγνωση των δεδομένων του ελεγκτή ως οδηγίες N64. Κανονικά, αυτό θα συντριβή, αλλά χάρη στον TASBot, είναι σε θέση να προσομοιώνει ελεγκτές και να τους χειρίζεται σε απάνθρωπη ταχύτητες ώστε να μοιάζει με οδηγίες N64, έτσι ώστε το παιχνίδι να εκτελεί τα δεδομένα του ελεγκτή ως ένα σύνολο προκαθορισμένων οδηγίες."

Οι δρομείς μπορούν να προσθέσουν όποιον κωδικό θέλουν στο παιχνίδι μόνο μέσω των εισόδων του ελεγκτή.

Εν ολίγοις, η βιτρίνα Triforce% χρησιμοποιεί ACE και SRM όπως συνηθίζεται Οκαρίνα του Χρόνου speedrun, αλλά αλλάζει συγκεκριμένα τον τρόπο με τον οποίο η κονσόλα Nintendo 64 κατανοεί τις οδηγίες. Με αυτήν τη ρύθμιση, οι δρομείς μπορούν να προσθέσουν όποιον κωδικό θέλουν στο παιχνίδι μόνο μέσω των εισόδων του ελεγκτή. Ο Savestate συνέχισε: «Δεν υπάρχει καμία τροποποίηση της κασέτας παιχνιδιού. Για να μεταφέρουμε προσαρμοσμένα δεδομένα στη μνήμη, χρησιμοποιούμε ένα σφάλμα που μας επιτρέπει να αρχίσουμε να προσθέτουμε και να τροποποιούμε στοιχεία μνήμη με τη βοήθεια του TASBot ενώ διασυνδέεται μόνο με την κονσόλα N64 μέσω του ελεγκτή της λιμάνια.»

Θύρα ελεγκτή στο Nintendo 64.

Αυτά τα κατορθώματα δεν ανακαλύπτονται απλώς τυχαία. Η Savestate εξήγησε ότι το Οκαρίνα του Χρόνου Η κοινότητα έχει αναπτύξει εργαλεία για να εξετάσει τον τρόπο διάταξης της μνήμης στο παιχνίδι, καθώς και προγράμματα για την προσομοίωση διαφορετικών ρυθμίσεων μνήμης. Οι εξομοιωτές όπως το Project64 βοηθούν πολύ, επιτρέποντας στους δρομείς και στους προγραμματιστές εργαλείων να εξετάσουν τον τρόπο με τον οποίο το παιχνίδι εκτελεί τον κώδικα βήμα προς βήμα.

Οκαρίνα του Χρόνου είναι ένα από τα πιο εμβληματικά παιχνίδια που έγιναν ποτέ και η ισχυρή, αφοσιωμένη κοινότητα του speedrunning επέτρεψε στο παιχνίδι να ευδοκιμήσει με νέες εξελίξεις για δεκαετίες μετά την αρχική του κυκλοφορία. Εκμεταλλεύσεις όπως αυτό που τροφοδοτεί πιο γρήγορα Οκαρίνα του Χρόνου Τα speedruns ευτελίζουν την πρόκληση που συνήθως σχετίζεται με το να κερδίσεις ένα παιχνίδι όσο το δυνατόν γρηγορότερα, αλλά επίσης επισημάνετε την απίστευτη τεχνική τεχνογνωσία και την προσπάθεια της κοινότητας που καταβάλλεται για την ανατομή και την ανάλυση των αγαπημένων Παιχνίδια.

Η κοινότητα γνωρίζει επίσης αυτή την ισορροπία, σύμφωνα με τον dannyb: «Η κατηγορία Any% speedrun του OoT είναι η μόνη στους κύριους πίνακες κατάταξης που επιτρέπει στο ACE ως έγκυρο τρόπο για την ολοκλήρωση του στόχου. Για οτιδήποτε άλλο, απαγορεύουμε το ACE για να διατηρήσουμε τη μοναδικότητα που έφερε στη ζωή αυτές τις κατηγορίες εξαρχής».

Αυτό το άρθρο είναι μέρος του ReSpec – μια συνεχιζόμενη διεβδομαδιαία στήλη που περιλαμβάνει συζητήσεις, συμβουλές και εμπεριστατωμένες αναφορές σχετικά με την τεχνολογία πίσω από τα παιχνίδια υπολογιστή.

Συστάσεις των συντακτών

  • Το Zelda: Ocarina of Time μπαίνει στο Hall of Fame των βιντεοπαιχνιδιών
  • Η επέκταση N64 του Switch Online δεν θα είναι πλήρης χωρίς ημιδιαφανή χειριστήρια