Roblox पर इन-गेम रिपोर्टिंग कैसे काम करती है
गतिशील 3D वातावरण में विस्तृत रिपोर्ट कैप्चर करने के पीछे की तकनीक

- Roblox प्रतिदिन 274 मिलियन अवतार अपडेट्स प्रोसेस करता है, और यह केवल एक प्रकार की उपयोगकर्ता-निर्मित सामग्री है जिसे हम सुरक्षा उल्लंघनों के लिए मॉडरेट करते हैं।1
- खिलाड़ियों की रिपोर्टें उल्लंघनों की जल्दी पहचान का एक महत्वपूर्ण हिस्सा हैं, और हम खिलाड़ियों के लिए यह आसान बनाना चाहते हैं कि वे जो कुछ भी अनुचित समझते हैं या जो हमारी नीतियों के खिलाफ है, उसकी रिपोर्ट कर सकें।
- चूंकि गतिशील, उपयोगकर्ता-निर्मित 3D सामग्री में उल्लंघनों को पकड़ना चुनौतीपूर्ण हो सकता है, हम खिलाड़ियों को कार्रवाई करने के लिए आवश्यक डेटा और दृश्य साक्ष्य के साथ विशिष्ट वस्तुओं की पहचान करने और उनकी रिपोर्ट करने में मदद करने के लिए रे कास्टिंग, डेटा मॉडल क्लोनिंग और एक पूरी तरह से बदले हुए रिपोर्टिंग UI का लाभ उठाते हैं।
चरम पर, Roblox प्लेटफ़ॉर्म प्रतिदिन 274 मिलियन अवतार अपडेट्स को प्रोसेस करता है।1 इस प्रकार की गतिशील, उपयोगकर्ता-निर्मित 3D सामग्री में दुरुपयोग की रिपोर्टिंग और समीक्षा करना चुनौतीपूर्ण है क्योंकि यह हमेशा वह स्पष्ट निशान नहीं छोड़ती है जो एक टेक्स्ट लॉग या सोशल मीडिया पोस्ट जैसी स्थिर सामग्री छोड़ती है। इस ब्लॉग पोस्ट में, हम खिलाड़ी रिपोर्टों पर कार्रवाई करने के लिए आवश्यक डेटा और दृश्य संदर्भ को कैप्चर करने के अपने दृष्टिकोण का वर्णन करते हैं, जिसमें अपमानजनक अवतारों की पहचान करने के लिए हमारा शुरुआती रे-कास्टिंग दृष्टिकोण, और हमारा वर्तमान सिस्टम शामिल है, जो रोब्लॉक्स डेटा मॉडल के साथ एकीकृत है ताकि खिलाड़ी किसी भी 3D गेम ऑब्जेक्ट की सटीक रूप से रिपोर्ट कर सकें।
खिलाड़ियों की रिपोर्टें संभावित नीति उल्लंघनों की जल्दी पहचान करने का एक महत्वपूर्ण हिस्सा हैं, और हमने हाल ही में अपने रिपोर्टिंग फ्लो को अपडेट किया है ताकि खिलाड़ियों के लिए तुरंत ऐसी किसी भी चीज़ की रिपोर्ट करना या उसे ब्लॉक करना आसान हो जाए जो उन्हें असहज या असुरक्षित महसूस कराती है। अब खिलाड़ी रिपोर्टों के परिणामस्वरूप प्रति माह 19,000 से अधिक नीति-उल्लंघन करने वाले अवतारों को स्वचालित रूप से हटा दिया जाता है और यह अनुचित खेलों का पता लगाने के लिए एक महत्वपूर्ण शुरुआती संकेत के रूप में काम करती हैं।2
गतिशील सामग्री को कैप्चर करने की चुनौती
चूंकि गतिशील, उपयोगकर्ता-निर्मित 3डी सामग्री को संयोजित किया जा सकता है और विभिन्न संदर्भों में उपयोग किया जा सकता है, इसलिए सरल विवरण या स्क्रीनशॉट हमेशा हमारे लिए कार्रवाई करने के लिए आवश्यक डेटा प्रदान नहीं करते हैं। सोशल मीडिया पोस्ट, फोरम टिप्पणियों और वीडियो जैसी स्थिर सामग्री किसी मुद्दे के स्थायी दस्तावेज़ के रूप में कार्य करती है, जिससे सबूतों की रिपोर्ट करना और समीक्षा करना दोनों आसान हो जाता है। टेक्स्ट और वॉयस चैट को Roblox पर प्रलेखित किया जाता है, लेकिन अन्य प्रकार की उपयोगकर्ता-निर्मित सामग्री ऐसा स्पष्ट निशान नहीं छोड़ती है। छवियाँ प्लेटफ़ॉर्म पर कहीं और से लोड की जा सकती हैं, गतिशील इंटरैक्शन का दस्तावेजीकरण नहीं हो सकता है, और खिलाड़ी कभी-कभी व्यक्तिगत रूप से हानिरहित कपड़ों की वस्तुओं को मिलाकर एक ऐसा पोशाक बना लेते हैं जो अनुचित होता है।
गतिशील परिस्थितियों में नीति उल्लंघनों को पकड़ने के लिए, एक रिपोर्टर को पहले गेम के भीतर विशिष्ट तत्वों की पहचान करने का एक तरीका चाहिए। दूसरा, पहचान तंत्र को रिपोर्ट की गई सामग्री के लिए ऑब्जेक्ट आईडी प्रदान करने की आवश्यकता है ताकि सही ऑब्जेक्ट का मूल्यांकन किया जा सके।

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

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


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

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

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

यह दृष्टिकोण खिलाड़ी को यह अधिक नियंत्रण देता है कि वे क्या रिपोर्ट कर रहे हैं और हमें कई अन्य सामग्री प्रकारों का मूल्यांकन करने के लिए आवश्यक मेटाडेटा प्रदान करता है। हम रिपोर्ट के साथ स्वचालित रूप से एक स्क्रीनशॉट भी संलग्न करते हैं ताकि मॉडरेशन समीक्षा में सहायता मिल सके।
डेटा अखंडता
परियोजना की शुरुआत से ही हम एक महत्वपूर्ण सवाल पूछते आ रहे हैं कि क्या हमें सबूत क्लाइंट के डिवाइस पर कैप्चर करना चाहिए या गेम सर्वर पर। Roblox क्लाइंट-साइड स्क्रिप्ट्स का समर्थन करता है जो केवल क्लाइंट की स्थिति को अपडेट कर सकती हैं, न कि सर्वर को। इसके अलावा, कुछ फिजिक्स इफेक्ट्स गैर-निर्धारित (nondeterministic) होते हैं, जिसका अर्थ है कि सर्वर-साइड कैप्चर में ठीक वही नहीं दिख सकता जो रिपोर्टर ने अनुभव किया था। हमने क्लाइंट-साइड कैप्चर को इसलिए चुना ताकि यह सुनिश्चित हो सके कि रिपोर्टर जो देख रहा है, उसका एक सटीक प्रतिनिधित्व कैप्चर कर सके, लेकिन इसके साथ एक समझौता भी आता है: एक बुरा खिलाड़ी संभावित रूप से क्लाइंट तक पहुंच बना सकता है और सबूत गढ़ सकता है।
इसे कम करने के लिए, हम विभिन्न संकेतों के साथ सटीकता की पुष्टि करते हैं और गलत क्लाइंट प्रस्तुतियों को हटा देते हैं। एक उपमा के रूप में, मौसम विज्ञानी सटीक मौसम पूर्वानुमान तैयार कर सकते हैं, भले ही उन्हें हर मौसम स्टेशन से सटीक रीडिंग न मिल रही हो।
भविष्य का कार्य
इन सुधारों और अधिक समृद्ध दृश्य जानकारी कैप्चर करने की क्षमता के कारण, सिस्टम अब प्रति माह 19,000 से अधिक नीति-उल्लंघन करने वाले अवतारों को स्वचालित रूप से हटा रहा है और अनुचित खेलों का पता लगाने के लिए एक महत्वपूर्ण संकेत बन गया है। हमने इसे अपनाने की दर भी देखी है, जिसमें लगभग 19% योग्य रिपोर्टों में दृश्य अटूट शामिल हैं।2
हम पहले से ही सुधारों के अगले चरण पर काम कर रहे हैं, एक ऐसा तरीका विकसित कर रहे हैं जिससे गतिशील उल्लंघनों (जैसे खिलाड़ी की गति के साथ इमोट्स का संयोजन) का पता लगाया जा सके, जिन्हें समय-विशेष के स्नैपशॉट से निर्धारित नहीं किया जा सकता। इस साल के अंत में, हम रिपोर्ट किए जा रहे दृश्य के समय अनुक्रम को कैप्चर करने की सुविधा सक्षम करने की योजना बना रहे हैं। जैसे-जैसे रॉब्लॉक्स रचनाकारों को बेहतर इन-गेम इंटरैक्शन बनाने के लिए उपकरण प्रदान करता रहेगा, हमारी सुरक्षा टीम सभी खिलाड़ियों के लिए एक सुरक्षित वातावरण को बढ़ावा देना जारी रखेगी।
हम इस परियोजना पर उनके काम के लिए रयान हुसैन, रयान लियू, ब्रिजेट डेली, एगाथा कील्चेव्स्की, एलेक्स लेविट, यिंग लियाओ, और एंड्रयू झू का धन्यवाद करना चाहेंगे।
1H1, 2025 के डेटा पर आधारित।
2मार्च 1 से अप्रैल 1, 2026 तक के डेटा पर आधारित।


