ओकारिना ऑफ टाइम में आश्चर्यजनक गड़बड़ के लिए, स्टार फॉक्स 64 से मॉडल जोड़ना संभव था

छवि

खेल के बारे में लेख लिखने के वर्षों में, मैंने कई अद्भुत glitches , एक लंबे समय के लिए अज्ञात कोड , मनमाने ढंग से कोड के निष्पादन के साथ चालें और क्लासिक गेम और उपकरणों के अंदर गहराई से छिपी सामग्री की खोज करने के बारे में बात की। लेकिन मुझे इस ट्विच वीडियो के लिए कुछ भी तैयार नहीं किया जा सका जिसमें स्टार फॉक्स 64 से फ्लाइंग अरविंग के एक बेड़े ने लिंक पर हमला करने के लिए ओकारिना की दुनिया पर हमला किया।

आप केवल एक प्रशंसक-निर्मित कार्टून या रोम हैक में ऐसे दृश्य को देखने की उम्मीद करते हैं जो निंटेंडो को इंटरनेट से लेना पसंद है । लेकिन इस वीडियो के बारे में सबसे आश्चर्यजनक बात यह है कि यह मानक कंसोल और N64 नियंत्रकों का उपयोग करके टाइम रोम के मूल जापानी Ocarina का एक अनमॉडिफाइड संस्करण दिखाता है।

पूरी सुबह मुझे पता चला कि यह कैसे संभव है। इसे समझाने के लिए, आपको निंटेंडो 64 मशीन भाषा निर्देशों, ओकोरिना ऑफ टाइम मेमोरी मैनेजमेंट और मध्य 90 के दशक की खेल विकास प्रक्रिया के मूल में गहराई से जाना होगा। यदि आप मेरी तरह उत्सुक हैं, तो हमसे जुड़ें।

आउटडेटेड लिंक और ताज़ा कोड


यह अद्भुत मार्ग पिछले साल अक्टूबर में एक महत्वपूर्ण गड़बड़ की खोज के साथ शुरू हुआ था: एमुलेटर का उपयोग करने वाले खिलाड़ी ग्लिच्सएंड0स्टफ और निंटेंडो 64 के मेमोरी क्षेत्रों के सावधानीपूर्वक अध्ययन ने ओकारिना ऑफ टाइम में पुराने लिंक को हेरफेर करने का एक तरीका खोजा

वास्तव में, गड़बड़ यह है कि खिलाड़ी आइटम को उठाता है, और फिर गेम को सीधे लिंक के हाथों से उतारने के लिए ट्रिक करता है, जब यह एक नए लोडिंग स्थान (उदाहरण के लिए, अगले कमरे) की दहलीज को पार करता है। इस स्तर पर, गेम इस आइटम द्वारा कब्जा किए गए मेमोरी क्षेत्र को मुक्त करता है ताकि इसे उनके लोडिंग के दौरान अन्य इन-गेम ऑब्जेक्ट के लिए उपयोग किया जा सके। लेकिन एक ही समय में, खेल को लगता है कि लिंक कुछ पकड़ रहा है , इसलिए यह सूचक को मुक्त मेमोरी में "आउटडेटेड लिंक" को अपडेट करना जारी रखता है, डेटा को गैर-मौजूद वस्तु की स्थिति और कोण का प्रतिनिधित्व करते हुए लिखता है। सावधानीपूर्वक हेरफेर के साथ, इस सूचक का उपयोग तब मनमाने मूल्यों के साथ नए लोड किए गए ऑब्जेक्ट के डेटा को "भ्रष्ट" करने के लिए किया जा सकता है।


स्पेस फाइटर्स लिंक के साथ तुलना नहीं कर सकते।


स्टार फॉक्स 64 से आने वाला नुकसान उठा सकता है और लिंक को शूट कर सकता है क्योंकि वे हमेशा खेल में होते हैं।


जेड बटन के साथ लक्ष्य करना अरविंग के तल पर एक बूमरैंग को लक्षित करना आसान बनाता है।


लिंक में एक "खाली" वस्तु है - ग्लिच के लिए तैयारी मनमाने कोड के निष्पादन के साथ की जाती है।


तकनीक का सबसे महत्वपूर्ण हिस्सा गड़बड़ स्थिति में कैमरे को ठंड करना है।


सीधे शीर्षक पर जाने के लिए नियंत्रक 3 के एनालॉग जॉयस्टिक के आवश्यक बटन / पदों को रखने के लिए एक उपकरण।


फ़ाइल नाम दर्ज करने के दस मिनट बाद, Arwing कोड डाउनलोड करने के लिए तैयार है

प्रारंभ में, इस ट्रिक का उपयोग खेल को केवल "खराब" करने के लिए किया गया था, उदाहरण के लिए, नए आइटमों को खजाने की छाती में लोड करने के लिए या कमरे के अंदर अन्य वस्तुओं की स्थिति को बदलने के लिए (जैसा कि यहां विस्तार से बताया गया है )। हालांकि, कुछ समय बाद, खिलाड़ियों को पता चला कि एक ही विधि का उपयोग व्यक्तिगत कोडांतरक कूद कोड को संशोधित करने के लिए किया जा सकता है, जो उस गेम को बताता है जहां उसे कुछ गेम इवेंट करते समय अगले निर्देश को देखने की आवश्यकता होती है।

इस तरह से वांछित कोड डालने पर, आप गेम को एक्स और वाई स्लिपशॉट के लिए अंतिम ज्ञात रोटेशन मान वाले मेमोरी क्षेत्र में जाने के लिए मजबूर कर सकते हैं। यदि इन मानों को बिल्कुल निर्दिष्ट किया जाता है, तो उन्हें एक अन्य कूद कोड के रूप में व्याख्या किया जाएगा, जो स्मृति क्षेत्र में एक संक्रमण को निष्पादित करता है जहां वर्तमान फ़ाइल का नाम संग्रहीत है। फिर इस फ़ाइल नाम की व्याख्या सामान्य N64 मशीन कोड के रूप में की जाएगी, इसलिए खिलाड़ी जल्दी से उस खेल में किसी भी स्थान पर जा सकता है जिसे उसे ज़रूरत है (बेशक, अगर वह फ़ाइल नाम के द्विआधारी वर्णों को संबंधित ऑपकोड में कनवर्ट करता है)।


एक पुरानी लिंक के साथ गड़बड़ व्याख्या जो मूल रूप से चेस्ट में आइटम को बदलने के लिए उपयोग की गई थी।

संक्रमण कोड के साथ इस हेरफेर का उपयोग करने का पहला गंभीर उदाहरण कैप्शन के साथ गेम के कटकैन को लोड कर रहा था। इस प्रकार, खिलाड़ी ने "किसी भी%" श्रेणी में खेल के गति के लिए एक नया विश्व रिकॉर्ड बनाया । खेल के प्रारंभिक क्षेत्र में इसे जल्दी से करने के लिए, आपको "बातचीत के दौरान चलना" कैमरा गड़बड़ सहित अन्य ग्लिच का उपयोग करने की आवश्यकता है, जो आपको सही समय और स्थानों पर पत्थरों को लोड और अनलोड करने की अनुमति देता है। इसके अलावा, आपको पहले और तीसरे निंटेंडो 64 पोर्ट से जुड़े नियंत्रकों के एनालॉग जॉयस्टिक के कुछ बटन और स्थिति रखने की आवश्यकता है ताकि उनके संकेतों को कैप्शन के साथ एक क्यूटेसन स्थान कोड के रूप में व्याख्या की जाए।

अरवलिंग खोलना


ऊपर वर्णित विधि काफी अच्छी है अगर आप बस कटक में जाना चाहते हैं। लेकिन उसके पास एक गंभीर सीमा है: ओकारिना ऑफ टाइम फाइल सिस्टम आठ वर्णों तक सीमित है, अर्थात, फ़ाइल नाम को केवल मशीन कोड निर्देशों के एक जोड़े में परिवर्तित किया जा सकता है। सौभाग्य से, इन दो अनुदेश स्लॉट का उपयोग व्यावहारिक रूप से चरित्र सीमा को समाप्त करने के लिए भी किया जा सकता है।

यह एक बेहद भ्रामक तरीके से किया जाता है, जिसे इस पास्टबिन और इस वीडियो में विस्तार से वर्णित किया गया है। यह कहने के लिए पर्याप्त है कि यह तीन बार ऊपर वर्णित विधि का उपयोग करता है, जो फ़ाइल नाम स्थिति संकेतक की महत्वपूर्ण जांच को समाप्त करता है, और फिर इस सूचक को नकारात्मक स्थिति मान पर सेट करता है।


Ocarina के समय में मनमाना कोड निष्पादन की विस्तृत व्याख्या

नतीजतन, खिलाड़ियों को सैकड़ों वर्णों के कोड को लंबे समय तक दर्ज करने का अवसर दिया जाता है, जो उन्हें ऊपर बताए गए कोड संक्रमण विधि को लागू करने के लिए मशीन निर्देशों के बहुत अधिक जटिल अनुक्रमों को प्रीलोड करने की अनुमति देता है। लेकिन यह अभी भी Arwing पर हमला करने के लिए आवश्यक ग्राफिक्स, एनिमेशन और गेमप्ले लॉजिक को एनकोड करने के लिए पर्याप्त नहीं है। सौभाग्य से, निनटेंडो ने समय के कारतूसों के सभी ओकारिना के अंदर इस सभी Arwing कोड को आसानी से छिपाकर हमें बहुत मदद की।

क्यों? चरित्र और ग्राफिक डिजाइनर सटोरू टकिजावा ने 2011 के साक्षात्कार में इवाता अक्स को बताया कि यह ज़ेल्डा में दुश्मनों में से एक को स्थानांतरित करने के लिए कोड का पुन: उपयोग करने का एक तरीका था:

वोल्वागिया एक अजगर है, इसलिए यह लहरों में गिरता है और आगे बढ़ता है। मैंने बस ड्रैगन मॉडल के बॉस प्रोग्रामर कज़ुकी मोरीटा भागों को सौंप दिया, और उन्होंने तुरंत इसे गति में सेट कर दिया। यह मेरे लिए एक रहस्य बना रहा कि वह कैसे सफल हुआ ... इसलिए मैं उससे पूछने का विरोध नहीं कर सका। उन्होंने जवाब दिया कि यह स्टार फॉक्स 64 के लिए प्रोग्रामिंग के समान था। इस खेल में एक दृश्य है जिसमें एक और फाइटर अरविंग की पूंछ पर लटका हुआ है, और फाइटर की उड़ान की गति बिल्कुल वैल्वागिया के समान है। मैं चकित था, यह मेरे लिए एक वास्तविक चमत्कार था।



2007 का एक वीडियो जिसमें कोकिंग फ़ॉरेस्ट में फ्लाइंग (गेमशार्क कोड और एमुलेटर का इस्तेमाल करते हुए) को दिखाया गया है।

वोल्वगिया के लिए आवश्यक एनिमेशन की नकल करने के बाद, मोरीटा ने खेल के कचरा डेटा में अरविंग कोड के पूरे ब्लॉक को छोड़ दिया है। कई साल पहले, डेटा शोधकर्ताओं ने इस बारे में सीखा। और एक दशक से भी अधिक समय से, खिलाड़ियों ने गेमशार्क जैसे धोखा उपकरणों का उपयोग करके कोड के इन छिपे हुए हिस्सों को एक्सेस करने का तरीका जाना है, जो कि दुश्मनों को अरविंग के साथ बदलने के लिए स्मृति में मूल्यों को बदलते हैं।

लेकिन लेख में वर्णित मेमोरी हेरफेर के साथ चाल के लिए धन्यवाद, एक बाहरी धोखा डिवाइस की अब आवश्यकता नहीं है। 23 जनवरी को, ZFG1 खिलाड़ी ने एक बार और सभी के लिए एक अनचाहे ज़ेल्डा रोम और मानक निनटेंडो 64 कंसोल का उपयोग करके ट्विच स्ट्रीम में इसे साबित किया। परिणाम एक ऐसा खेल था जिसमें सभी दरवाजों को बदल दिया गया था, जो कि अरविंग द्वारा प्रतिस्थापित किया गया था, लिंग के चारों ओर उड़ते हुए, उस पर ब्लास्टर्स के हानिकारक शॉट्स के साथ हमला किया गया, और नीचे खटखटाने पर जमीन पर गिर गया।

इस क्लिप को रिकॉर्ड करने की तैयारी में एक घंटे से अधिक का समय लगा , जिसके दौरान मनमाने कोड निष्पादन के तीन चक्र बनाए गए और 10 मिनट के भीतर Arwing को लोड करने के लिए फ़ाइल का नाम श्रमसाध्य रूप से दर्ज किया गया। लेकिन एक ही समय में, यह क्लिप एक समुदाय के महीनों और वर्षों के काम की परिणति थी, जो पूरी तरह से क्लासिक गेम और इसकी चमक को समझने और मास्टर करने की इच्छा से ग्रस्त था।

मनोरंजन मूल्य के अलावा, क्लिप “ज़ेल्डिंग इन ज़ेल्डा” ने साबित किया कि समुदाय, कंप्यूटर विशेषज्ञों का एक समूह, पर्याप्त समय और प्रयास के साथ, क्लासिक गेमिंग उपकरण और सॉफ़्टवेयर के साथ अद्भुत काम कर सकता है।

Source: https://habr.com/ru/post/hi485908/


All Articles