मुझे प्रोग्राम के बाहर ही अपने प्रोग्राम में कंटेंट का पता लगाने से रोकने के लिए एन्क्रिप्शन का उपयोग करने का यह विचार रहा है। यूजर्स को ऐसा लग सकता है कि गेम में कभी भी इस्तेमाल किए गए टेक्सचर का इस्तेमाल गेम के डेटा के दौरान किसी तरह के ईस्टर एग का हिस्सा नहीं होगा। अगर यह ऑनलाइन पोस्ट किया गया है तो यह हर किसी के लिए इसे बर्बाद कर सकता है।
एक गुप्त कमरे की कल्पना करें जहां खिलाड़ी को खेल में एक सुरक्षा द्वार पर सही संख्याओं को दबाया जाना चाहिए, जो कि सही होने पर सही डिक्रिप्शन कुंजी उत्पन्न करना चाहिए और फिर स्तर के उस हिस्से को डिक्रिप्ट करके दरवाजा खोलना चाहिए। इस प्रकार ईस्टर अंडा बनाना अन्यथा दुर्गम हो जाता है, जबकि गेम-डेटा को देखने के बाद भी कुंजी वास्तव में संग्रहीत नहीं होती है, यह उपयोगकर्ता-इनपुट के आधार पर उत्पन्न होता है।
यहाँ एक और उदाहरण है जो मैं कल्पना कर रहा था। मेरे पास 20 स्तरों के साथ एक पहेली गेम है, प्रत्येक एक अलग कुंजी का उपयोग करके एन्क्रिप्ट किया गया है। प्रोग्राम के साथ डिक्रिप्शन कुंजी को स्टोर करने के बजाय सीधे किसी को प्रोग्राम को डिकंपाइल करने और इसे खोजने की अनुमति देता है, मैं इसके बजाय पिछली पहेली के समाधान के आधार पर एन्क्रिप्शन / डिक्रिप्शन कुंजी उत्पन्न करता हूं। इस तरह खिलाड़ी को वास्तव में गेम-डेटा के माध्यम से देखते हुए, अगले स्तर के बारे में कोई भी जानकारी प्राप्त करने से पहले पहेली का पता लगाना होगा।
खिलाड़ी, अगर जानकार, यह आसानी से "आसानी से" दे सकता है कि पहेली समाधानों की संख्या संभवतः डिक्रिप्शन कुंजी की संख्या कम है। यह वास्तव में पहेली की एक जटिलता है और यहाँ बहुत महत्वपूर्ण नहीं है। हालाँकि मैंने इसके बारे में यहाँ पर एक उत्तर दिया है
क्या आज ऐसे कार्यक्रम / खेल हैं जिन्होंने कुछ ऐसा किया है? उनके खेल में एन्क्रिप्टेड सामग्री संग्रहीत? और अगर नहीं तो क्यों? क्या इसके बारे में बहुत सारे नियम और विनियमन हैं, या तो स्टोर या देश स्तर पर? क्या किसी को कोई स्पष्ट नुकसान दिखाई देता है जो मुझे याद आ रहा है? यूजर-एक्सपीरियंस जैसी चीजों को नजरअंदाज करने पर विचार मुझे अच्छा लगता है और मुझे उत्सुक बनाता है कि मैंने ऐसा क्यों नहीं देखा।
संपादित करें : यह स्पष्ट नहीं हो सकता है कि मैं क्या कह रहा हूं, इसलिए यहां एक अधिक ठोस उदाहरण है।
मान लीजिए कि मेरे पास एक फ़ंक्शन है जो 20 वर्णों की स्ट्रिंग में लेता है और एक सममित कुंजी बनाता है जिसका उपयोग मैं खेल में कुछ सामग्री को एन्क्रिप्ट / डिक्रिप्ट करने के लिए कर सकता हूं। उपयोगकर्ता को उस सामग्री को प्राप्त करने का एकमात्र तरीका उन 20 वर्णों को जानना और उसी कुंजी को उत्पन्न करना है। यह कुंजी कभी भी सीधे संग्रहीत नहीं होती है और उपयोगकर्ता इनपुट के आधार पर मक्खी पर उत्पन्न होती है। इन पात्रों को खेल में छिपाया जा सकता है जो किताबें, संवाद, एनपीसी के साथ हो सकते हैं, शायद बॉक्स के पीछे भी खेल के बाहर।
तो 2 * 10 ^ 28 संभावित संयोजनों के साथ इसे आज़माने के लिए संभवत: अधिक संभावना होगी कि लोग गेम-डेटा के माध्यम से सामग्री को उस तरीके से प्राप्त करेंगे जो इसके बजाय।
संपादित 2 : उपभोक्ता को भेजे जाने से पहले विचाराधीन सामग्री को एक मनमानी और गुप्त कुंजी के साथ एन्क्रिप्ट किया जाएगा । इस कुंजी को स्पष्ट रूप से गेम के साथ शिप नहीं किया जाएगा। वह या वह किसी तरह कुंजी के आधार पर किए गए सुरागों की एक श्रृंखला को देखते हुए कुंजी को एक साथ जोड़ देगा, और यह पूरे खेल में या कहीं और छिपा होता है। हालांकि यह प्रणाली उपयोगकर्ता के लिए पारदर्शी होगी क्योंकि आपको पता नहीं होगा कि सामग्री तब तक एन्क्रिप्ट की गई थी जब तक आप वास्तव में गेम-डेटा के माध्यम से नहीं देखते थे।
जैसा कि बहुत कुछ ने उल्लेख किया है कि इसमें एक स्पष्ट नकारात्मक पहलू है कि इसका उपयोग मामला सीमित है। एक बार एक व्यक्ति ने यह पता लगा लिया कि वह इसे हर किसी के साथ साझा कर सकता है, यदि कुंजी / समाधान नहीं है तो सामग्री ही। हालाँकि यदि आपका इरादा कुछ ऐसा गुप्त रखना है कि एक व्यक्ति को इसे हल करने में सक्षम नहीं होना चाहिए और इसे हल करने के लिए लोगों को एक साथ काम करना होगा, या आप डरते हैं कि आपका ईस्टर अंडे इतनी अच्छी तरह से छिपा हुआ है (डिजाइन द्वारा) कि यह अधिक संभावना है कि कोई इसे गेम खेलने के बजाय कोड में पाएगा। तब मुझे लगता है कि यह बहुत अच्छा काम कर सकता है।
मैं व्यक्तिगत रूप से केवल एक बार प्रति गेम और केवल उन चीजों के लिए इसका उपयोग करने की सिफारिश करूंगा जो कोर गेम-प्ले को प्रभावित नहीं करती हैं, जैसे ईस्टर अंडे, एक गुप्त अंत। किसी भी पहेली को इतना जटिल या अच्छी तरह से छिपाना होगा कि वह लोगों को इस सामग्री को एन्क्रिप्ट करने के लिए धीमा कर सके और अगर यह पहेली प्रगति कर रहे लोगों के रास्ते में खड़ी हो गई, तो किसी को भी शायद कोई मज़ा नहीं आ रहा है।