निष्पक्ष पासे, निष्पक्ष खेल
हर बैकगैमौन खिलाड़ी जो आख़िरी रोल के डबल से हारा है, उसने यह सोचा है: क्या ये पासे निष्पक्ष हैं? किसी भी बैकगैमौन ऐप से पूछने के लिए यही सही सवाल है। यहाँ ठीक-ठीक बताया गया है कि हमारे पासे कैसे बनते हैं, क्यों कोई भी, हम भी नहीं, उन्हें झुका नहीं सकता, और बाकी खेल को भी ईमानदार कैसे रखा जाता है।
किसी भी समाप्त हुए खेल को स्वयं सत्यापित करें
बातें सस्ती होती हैं, इसलिए यहाँ वह हिस्सा है जिसे आप स्वयं चला सकते हैं। जब कोई मैच समाप्त होता है, तो हम उसका सर्वर सीड, वह प्रतिबद्धता जिसे हमने पहले रोल से पहले प्रकाशित किया था, और वे सारी कड़ियाँ प्रकट करते हैं जो दोनों पक्षों ने खेल के दौरान प्रकाशित कीं। उस रिवील बंडल को नीचे चिपकाएँ, या खेल को उसकी आईडी से खोजें: यह पृष्ठ उसी रिकॉर्ड से हर पासे को फिर से निकालता है, ठीक वही गणना जो हमारे सर्वरों ने चलाई थी, और रोल दर रोल दिखाता है कि दर्ज मान मेल खाते हैं या नहीं। इसमें कहीं भी हमारी बात पर भरोसा करने की ज़रूरत नहीं है: गणना खुली है और कोई भी उसे दोहरा सकता है। यह पृष्ठ जानबूझकर जो एक काम नहीं करता, वह है हरा “सिद्ध रूप से निष्पक्ष” तमग़ा देना, क्योंकि वह उसे ईमानदारी से अर्जित नहीं कर सकता। जो मान आपके अपने डिवाइस ने पहले रोल से पहले लिखकर जमा दिए थे, उन्हें यह कभी नहीं देखता, और जिस रिकॉर्ड की पूरी शृंखला किसी सधे हुए नक़ली से बदल दी गई हो, वह भी यहाँ उतनी ही सफ़ाई से फिर से निकल आता है। इसे केवल आपके डिवाइस में जमे मानों से बाइट-दर-बाइट मिलान ही ख़ारिज कर सकता है, और वे मान सिर्फ़ आपके ऐप के पास होते हैं। इसीलिए इस पृष्ठ की ईमानदार सीमा “संगत” है, और सबसे मज़बूत फ़ैसला ऐप की “सत्यापित करें” स्क्रीन दे सकती है।
पासे: सिद्ध रूप से निष्पक्ष, सर्वर पर फेंके जाते हैं
समाप्त हो चुके किसी ऑनलाइन मैच का हर रोल हमारे गेम सर्वरों पर बनता है और वह सिद्ध रूप से निष्पक्ष है, वह भी बिना आपके हम पर भरोसा किए। पहले रोल से पहले हम उस गुप्त सीड की प्रतिबद्धता प्रकाशित करते हैं जिससे पासे निकलेंगे, और दोनों खिलाड़ियों के ऐप भी अपनी-अपनी शृंखला की प्रतिबद्धता करते हैं; यह सब किसी के पासा फेंकने से पहले ही एक ही रिकॉर्ड में जमा दिया जाता है। इसके बाद हर रोल दोनों पक्षों की शृंखला से एक-एक नई कड़ी ख़र्च करता है: जिसकी बारी है वह अपनी कड़ी बारी की शुरुआत में प्रकाशित करता है, प्रतिद्वंद्वी अपनी कड़ी तभी छोड़ता है जब वह पहली जम चुकी होती है, और पासा सबसे अंत में निकाला जाता है। इसलिए किसी भी पासे का आख़िरी अज्ञात इनपुट हमेशा बोर्ड की दूसरी ओर होता है। शुरुआती पासे भी अपवाद नहीं हैं: जब तक दोनों पक्ष अपना योगदान न दें, उनमें से एक भी अस्तित्व में नहीं आता। इस तरह हर पासा पहले से प्रतिबद्ध मानों का निर्धारित परिणाम है: कोई भी, हम भी नहीं, न पासा चुन सकता है, न उसकी जगह दूसरा रख सकता है, न चुपचाप दोबारा फेंक सकता है। यह दावा पूरी हो चुकी फेंक के मान के बारे में है और वहीं रुक जाता है: मैच रद्द होना, संदेश का पहुँचना या न पहुँचना, और किसका समय समाप्त हुआ, ये सब इससे बाहर हैं। ऊपर दिया गया औज़ार समाप्त हो चुके खेल के हर पासे को प्रकाशित रिकॉर्ड से दोबारा निकालता है, यह गणना कोई भी दोहरा सकता है। जो वह नहीं कर सकता वह है यह पुष्टि करना कि वह रिकॉर्ड आपका ही मैच है: उसके लिए वे मान चाहिए जो आपके डिवाइस ने खेल से पहले जमा दिए थे, और वे सिर्फ़ आपके ऐप के पास हैं, इसलिए यह आख़िरी क़दम ऐप की “सत्यापित करें” स्क्रीन पर उठता है।
उतना ही महत्वपूर्ण यह है कि रोल कहाँ होता है। पासे कभी आपके डिवाइस पर उत्पन्न नहीं होते, आपका फ़ोन केवल वह रोल दिखाता है जो सर्वर पहले ही बना चुका होता है। यह एक डिज़ाइन निर्णय पासों की धोखाधड़ी के पूरे परिवार को समाप्त कर देता है: एक बदला हुआ ऐप दोबारा नहीं फेंक सकता, एक लैग का झटका किसी फेंक को दोहरा नहीं सकता, और कोई भी क्लाइंट-साइड चाल अगली संख्या को झाँक नहीं सकती, क्योंकि अगली संख्या पढ़े जाने के लिए आपके फ़ोन पर होती ही नहीं: वह सर्वर पर निकाली जाती है, वह भी तभी जब दोनों पक्ष उस बारी की अपनी कड़ी छोड़ चुके हों।
और रोल कभी समायोजित नहीं किए जाते। कोई «एंगेजमेंट कर्व» नहीं, कोई वापसी की युक्ति नहीं, हार की लय में फँसे खिलाड़ियों के लिए कोई बढ़ावा नहीं। जनरेटर न जानता है न परवाह करता है कि कौन जीत रहा है।
बोर्ड: हर एक चाल पर सत्यापित
निष्पक्ष पासों का ज़्यादा अर्थ नहीं होता अगर बोर्ड स्वयं खिसक जाए या उससे छेड़छाड़ हो जाए, इसलिए खेल एक सख़्त सर्वर-प्राधिकृत मॉडल पर चलता है। आपका डिवाइस सर्वर को कभी नहीं बताता कि बोर्ड कैसा दिखता है, वह केवल आपका इरादा भेजता है («इस गोटी को 13-पॉइंट से 8-पॉइंट पर ले जाओ»)। सर्वर उस चाल को आधिकारिक नियमों और आधिकारिक बोर्ड के विरुद्ध जाँचता है; अवैध चालें बस अस्वीकार कर दी जाती हैं, चाहे बदला हुआ क्लाइंट कुछ भी दावा करे।
फिर आती है दोहरी जाँच: हर स्थिति अपडेट के साथ, सर्वर सच्ची बोर्ड स्थिति की एक संक्षिप्त छाप (हैश) प्रसारित करता है। आपका डिवाइस अपने स्थानीय बोर्ड से वही छाप गणना करके तुलना करता है। यदि एक भी गोटी अलग हो, तो क्लाइंट अपनी प्रति फेंक देता है और सर्वर से फिर से समक्रमित हो जाता है। इस तरह यह सिद्ध होता है कि दोनों खिलाड़ी हर पल एक ही खेल देख रहे होते हैं, असमक्रमण एक ही आने-जाने में स्वयं ठीक हो जाते हैं, और ऐसी कोई खिड़की नहीं होती जिसमें किसी पुराने या छेड़े गए बोर्ड पर खेला जा सके।
प्रतिद्वंद्वी: Glicko-2 मैचमेकिंग
निष्पक्षता इससे भी जुड़ी है कि आप किसका सामना करते हैं। यहाँ रेटिंग Glicko-2 का उपयोग करती है, Elo का एक आधुनिक उत्तराधिकारी जो आपकी खेल-शक्ति और उस अनुमान में सिस्टम के भरोसे, दोनों को ट्रैक करता है, ताकि नए खिलाड़ी पचास खेलों तक दूसरों की सीढ़ी बनने के बजाय अपने असली स्तर पर तेज़ी से पहुँच जाएँ। मैचमेकिंग आपको समान रेटिंग के प्रतिद्वंद्वियों से जोड़ती है, और रेटेड परिणाम हर खेल के बाद इसमें वापस जुड़ते हैं।
परिणाम: जब आप जीतते हैं, तो आपने किसी बराबरी वाले को मात दी। जब आप हारते हैं, तो सीखने के लिए कुछ असली होता है, अक्सर रणनीति गाइडों में।
निष्पक्ष पासे वास्तव में कैसे महसूस होते हैं
यहाँ असहज सच्चाई है: सचमुच यादृच्छिक पासे अधिकांश लोगों की अपेक्षा से अधिक उतार-चढ़ाव भरे महसूस होते हैं। असली यादृच्छिकता लगातार चार डबल, एक-पॉइंट बोर्ड के सामने प्रवेश की जद्दोजहद, और आख़िरी रोल के चमत्कार पैदा करती है, ठीक उन्हीं आवृत्तियों पर जो प्रायिकता बताती है। 17/36 का एक शॉट लगातार दो बार चूकना चौथाई से भी अधिक बार होता है। स्मृति कांडों को सहेजती है और सामान्य को छोड़ देती है, इसीलिए हर अनुभवी ऑनलाइन खिलाड़ी के पास «धाँधली वाले पासों» की एक कहानी होती है और यहाँ किसी भी सांख्यिकीय जाँच ने कभी एक को भी सही साबित नहीं किया।
यदि आप अपनी सहज-बुद्धि को समायोजित करना चाहते हैं, तो प्रायिकता की बुनियादी बातें गाइड असली संख्याएँ रखता है, 36 संयोजन, हर दूरी पर हिट की संभावना, बार से प्रवेश के अवसर। यह जानना कि कोई विशेष संख्या 36 में 11 बार आती है, «असंभव दुर्भाग्य» को «एक आम मंगलवार» में बदल देता है।
गहरा तकनीकी संस्करण चाहते हैं, जनरेटर की श्रेणियाँ, कमिट-रिवील प्रमाण कैसे काम करता है, और «धाँधली» वाली लय का मनोविज्ञान? ब्लॉग में यह सब है: सर्वर-साइड RNG वास्तव में कैसे काम करती है।
हमारी प्रतिबद्धता
- सर्वर पर बने, सिद्ध रूप से निष्पक्ष पासे: कभी किसी डिवाइस पर नहीं फेंके जाते, किसी खिलाड़ी या स्थिति के लिए कभी समायोजित नहीं होते, और उन इनपुट से निकलते हैं जिनकी प्रतिबद्धता दोनों पक्ष पहले रोल से पहले करते हैं; खेल ख़त्म होने पर हर पासा प्रकाशित रिकॉर्ड से दोबारा निकाला जा सकता है, और मैच आपका ही था इसकी पुष्टि ऐप करता है।
- स्रोत पर नियम-प्रवर्तन: हर चाल सर्वर द्वारा सत्यापित; बदले हुए क्लाइंट कुछ हासिल नहीं करते।
- निरंतर बोर्ड सत्यापन: हर अपडेट पर हैश-जाँच, किसी भी बेमेल पर स्वयं ठीक होना।
- कौशल-आधारित जोड़ी: Glicko-2 रेटिंग और रेटिंग-आधारित मैचमेकिंग।
निष्पक्ष पासों का अर्थ है कि मेज़ पर बचा एकमात्र बढ़त कौशल है, और कौशल सीखा जा सकता है। नियमों से शुरू करें, रणनीति से उसे तेज़ करें, और उसे सीधे आज़माएँ: नीचे की मेज़ मुफ़्त है, आपके ब्राउज़र में, बिना किसी इंस्टॉल के।