आप NES RNG को किसी ज्ञात स्थिति में कैसे सेट कर सकते हैं?

Dec 23 2020

क्लासिक Tetris विश्व चैम्पियनशिप का उपयोग करता है मूल एनईएस शान्ति प्रदान करने के लिए है कि modded कर रहे हैं एक ही RNG दोनों खिलाड़ियों के लिए:

खिलाड़ी एक ही आरएनजी होंगे

मैं सोच रहा हूं कि यह कैसे किया गया। तो, मेरा सवाल दो-गुना है:

  1. NES द्वारा किस यादृच्छिक बीज का उपयोग किया जाता है?
  2. इस बीज को कैसे हेरफेर किया जा सकता है?

जवाब

6 Tommy Feb 11 2021 at 02:26

समुदाय विकी, जैसा कि मेरे लिए यह स्पष्ट नहीं है कि क्यों @JaapJorisVens ने अपना उत्तर हटा दिया, यह प्रतीत होता है कि इसमें आवश्यक सुराग शामिल हैं:

कार्ट वे विशेष गाड़ियां हैं जिन्हें हमने बनाया है जिनमें 1000 चुनिंदा गेम हैं। यह उल्लेखनीय है कि गाड़ियां वास्तव में एडाप्टर्स हैं - अनिवार्य रूप से गेम जेनेसिस - जो तब तक कुछ नहीं करती हैं जब तक कि आपके पास मूल एनईएस टेट्रिस कार्ट प्लग न हो।

1000 खेलों में से प्रत्येक एक अद्वितीय यादृच्छिक बीज से मेल खाता है जो प्रत्येक खेल के लिए आरएनजी को आरंभीकृत करता है। अनुक्रम का उत्पादन करने के लिए बीज को प्रति टुकड़ा एक बार पुनरावृत्त किया जाता है। ...

कार्ट में आरएनजी एल्गोरिथ्म का हिस्सा काफी बड़ी तालिकाओं का उपयोग करता है ... प्रत्येक वर्ष हम एक नई गाड़ी बनाने के लिए इन तालिकाओं की सामग्री में फेरबदल करते हैं।

इसलिए:

  • मूल टेट्रिस का उपयोग किया जाता है;
  • टेट्रिस के रैंडम नंबर जेनरेटर को बदलने के लिए एक स्पैशल स्पेसिफिक कार्ट पोज़स्ट्रॉव की तरह काम करता है; तथा
  • विशेष रूप से, वह पस्चथ्रू डिवाइस स्पॉट करता है जब टेट्रिस अपने नए-टुकड़े अनुक्रम का प्रदर्शन कर रहा है और उस बिंदु पर अगले यादृच्छिक संख्या सम्मिलित करता है।

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

जाप के उत्तर के अन्य भागों में:

बीज को 'iterating' में शामिल गणित काफी विस्तृत है, जिसमें LFSR शामिल है (जैसा कि मानक NES कार्ट में उपयोग किया जाता है), कुछ लूपिंग काउंटर और कुछ लुकअप टेबल। प्रत्येक गेम से ठीक पहले, 0 और 999 के बीच एक यादृच्छिक संख्या को चुना जाता है और खिलाड़ियों को बताया जाता है कि कार्ट पर किस खेल का चयन करना है। एक खेल खेला जाता है के बाद, यह फिर से नहीं खेला जाता है।

इसलिए नया कार्यान्वयन और मूल दोनों रैखिक प्रतिक्रिया शिफ्ट रजिस्टर ('LFSR') हैं, जो कि शिफ्ट रजिस्टर हैं जिसमें बाहर जाने वाला बिट मौजूदा राज्य में बिट्स के कुछ अन्य संयोजन पर अनन्य-ओआरडी है। इसके माध्यम से एक n -bit रजिस्टर  एक निश्चित अनुक्रम में 2 n - 1 राज्यों के माध्यम से पुनरावृति कर सकता है जो पर्याप्त रूप से तिरछा है कि एक मानव इसे यादृच्छिक के रूप में व्याख्या कर सकता है।

यह कहा गया है, यह लगता है कि यादृच्छिक डिवाइस तालिकाओं को अनुक्रमित करने के लिए LFSR का उपयोग करने में passthrough डिवाइस आगे जाता है, इसलिए यह संभावना है कि LFSR का उपयोग सिर्फ इसलिए किया जा रहा है क्योंकि यह क्लासिक रिपल काउंटर की तुलना में एक साथ फेंकना आसान है।

काफी शायद मूल सिर्फ अपने सॉफ्टवेयर LFSR के उत्पादन का सीधे उपयोग करता है।