วิธีทำงานของระบบรายงานภายในเกมบน Roblox
เทคโนโลยีเบื้องหลังการบันทึกข้อมูลรายงานอย่างละเอียดในสภาพแวดล้อม 3D แบบไดนามิก

- Roblox ประมวลผลการอัปเดตอวตาร์ 274 ล้านครั้งต่อวัน และนี่เป็นเพียงประเภทหนึ่งของเนื้อหาที่ผู้ใช้สร้างขึ้น ซึ่งเราตรวจสอบเพื่อป้องกันการละเมิดความปลอดภัย1
- รายงานจากผู้เล่นเป็นส่วนสำคัญในการตรวจพบการละเมิดตั้งแต่เนิ่นๆ และเราต้องการให้ผู้เล่นสามารถรายงานสิ่งที่พวกเขาเห็นและเชื่อว่าไม่เหมาะสมหรือขัดกับนโยบายของเราได้อย่างง่ายดาย
- เนื่องจากการละเมิดในเนื้อหา 3D แบบไดนามิกที่ผู้ใช้สร้างขึ้นอาจยากต่อการตรวจจับ เราจึงใช้เทคโนโลยี ray casting การคัดลอกแบบจำลองข้อมูล และส่วนติดต่อผู้ใช้ (UI) สำหรับการรายงานที่ได้รับการปรับปรุงใหม่ เพื่อช่วยผู้เล่นระบุและรายงานวัตถุเฉพาะ พร้อมด้วยข้อมูลและหลักฐานทางภาพที่จำเป็นให้เราสามารถดำเนินการได้
ในช่วงเวลาที่มีการใช้งานสูงสุด แพลตฟอร์ม Roblox ประมวลผลการอัปเดตอวาตาร์ถึง 274 ล้านครั้งต่อวัน1 การรายงานและตรวจสอบการละเมิดในเนื้อหา 3D แบบไดนามิกที่ผู้ใช้สร้างขึ้นประเภทนี้เป็นเรื่องที่ท้าทาย เนื่องจากไม่เสมอไปที่จะทิ้งร่องรอยที่ชัดเจนเหมือนเนื้อหาแบบคงที่ เช่น บันทึกข้อความหรือโพสต์บนโซเชียลมีเดีย ในบทความบล็อกนี้ เราจะอธิบายวิธีการของเราในการเก็บรวบรวมข้อมูลและบริบททางภาพที่จำเป็นเพื่อดำเนินการตามรายงานของผู้เล่น ตั้งแต่แนวทาง ray casting ขั้นต้นของเราในการระบุอวาตาร์ที่ละเมิดกฎ ไปจนถึงระบบปัจจุบันของเรา ซึ่งผสานรวมกับโมเดลข้อมูลของ Roblox เพื่อให้ผู้เล่นสามารถรายงานวัตถุเกม 3D ใด ๆ ได้อย่างแม่นยำ
รายงานจากผู้เล่นเป็นส่วนสำคัญในการระบุการละเมิดนโยบายที่อาจเกิดขึ้นตั้งแต่เนิ่นๆ และเมื่อเร็วๆ นี้ เราได้ปรับปรุงกระบวนการรายงานเพื่อให้ผู้เล่นสามารถรายงานหรือบล็อกสิ่งใดก็ตามที่ทำให้พวกเขารู้สึกไม่สบายใจหรือไม่ปลอดภัยได้ทันที รายงานจากผู้เล่นในปัจจุบันส่งผลให้มีการลบอวาตาร์ที่ละเมิดนโยบายมากกว่า 19,000 ตัวต่อเดือนโดยอัตโนมัติ และทำหน้าที่เป็นสัญญาณเตือนสำคัญในการตรวจจับเกมที่ไม่เหมาะสมตั้งแต่เนิ่นๆ2
ความท้าทายในการจับภาพเนื้อหาแบบไดนามิก
เนื่องจากเนื้อหา 3D แบบไดนามิกที่ผู้ใช้สร้างขึ้นสามารถรวมกันและใช้ในบริบทต่าง ๆ ได้ การอธิบายแบบง่าย ๆ หรือภาพหน้าจอจึงไม่เสมอไปที่จะให้ข้อมูลที่จำเป็นให้เราดำเนินการได้ เนื้อหาแบบคงที่ เช่น โพสต์บนโซเชียลมีเดีย ความคิดเห็นในฟอรัม และวิดีโอ ทำหน้าที่เป็นเอกสารถาวรของปัญหา ทำให้การรายงานและตรวจสอบหลักฐานเป็นเรื่องง่าย การสนทนาแบบข้อความและเสียงถูกบันทึกไว้บน Roblox แต่เนื้อหาประเภทอื่นที่ผู้ใช้สร้างขึ้นไม่ทิ้งร่องรอยที่ชัดเจนเช่นนี้ รูปภาพสามารถถูกโหลดมาจากส่วนอื่น ๆ ของแพลตฟอร์มได้ การโต้ตอบแบบไดนามิกอาจไม่ถูกบันทึกไว้ และผู้เล่นบางครั้งอาจรวมชิ้นส่วนเสื้อผ้าที่ดูไม่มีปัญหาเมื่อใช้แยกกัน เพื่อสร้างชุดแต่งตัวที่ไม่เหมาะสม
เพื่อจับการละเมิดนโยบายในสถานการณ์แบบไดนามิก ผู้รายงานจำเป็นต้องมีวิธีระบุองค์ประกอบเฉพาะภายในเกมก่อนเป็นอันดับแรก ต่อมา กลไกการระบุนี้ต้องให้รหัสวัตถุ (object ID) ของเนื้อหาที่ถูกรายงาน เพื่อให้สามารถประเมินวัตถุที่ถูกต้องได้

การตรวจจับภาพโปรไฟล์ที่ละเมิดในอวกาศ 3 มิติ
เครื่องมือรายงานของเราในอดีตพึ่งพาหลักฐานจากบันทึกการสนทนาเป็นหลัก รายงานเหล่านั้นไม่มีข้อมูลภาพใดๆ ทำให้เกิดช่องว่างใหญ่ในการเข้าใจ เมื่อเราเริ่มพัฒนาเครื่องมือรายงานที่สามารถจับภาพบริบทเพิ่มเติมเกี่ยวกับการละเมิดประเภทอื่นๆ ได้ เราจึงมุ่งเน้นไปที่วัตถุชนิดหนึ่งที่ผู้เล่นทุกคนมีปฏิสัมพันธ์ด้วย นั่นคือ อวาตาร์ ผู้เล่นสามารถปรับแต่งอวาตาร์เพื่อแสดงตัวตนบน Roblox ได้ และการเก็บข้อมูลเกี่ยวกับอวาตาร์หมายความว่าเราจะสามารถเชื่อมโยงการละเมิดกับผู้เล่นเฉพาะได้ แม้จะไม่มีหลักฐานเป็นลายลักษณ์อักษรในแชทก็ตาม ระบบที่สามารถระบุข้อมูลอวาตาร์ได้อย่างมีประสิทธิภาพจะเป็นพื้นฐานสำคัญสำหรับวัตถุประเภทอื่น ๆ ในอนาคตด้วย
วิธีแก้ปัญหาที่เป็นไปได้รวมถึงการถ่ายภาพหน้าจอหรือบันทึกวิดีโอพื้นหลังเพื่อเสริมรายงานด้วยหลักฐานเพิ่มเติม เราเริ่มทดสอบด้วยภาพหน้าจอ เนื่องจากเป็นวิธีที่ง่ายในการรวบรวมข้อมูลเชิงลึก แม้ว่าจะไม่สามารถจับภาพการละเมิดทุกกรณีได้ก็ตาม แต่เราพบข้อจำกัดอย่างรวดเร็ว: ภาพ 2D ไม่ช่วยให้เราแยกแยะอวาตาร์ของผู้เล่นออกจากอวาตาร์อื่น ๆ และ NPC ในพื้นที่ 3D ได้ เราไม่สามารถระบุ ID ผู้ใช้ของผู้ละเมิดที่อาจเกิดขึ้นได้อย่างแม่นยำเสมอไป เมื่ออวาตาร์ทับซ้อนกัน

เราจำเป็นต้องหาวิธีดึงข้อมูลเพิ่มเติมออกมา เพื่อเปลี่ยนภาพ 2D ที่ถ่าย ณ จุดเวลาเดียว ให้กลายเป็นหลักฐานที่สามารถนำไปใช้ได้
เราตัดสินใจใช้เทคนิค ray casting เป็นวิธีที่มีประสิทธิภาพในการแยกข้อมูลที่เกี่ยวข้องในพื้นที่ 3D และแสดงมันในภาพ 2D ณ เวลาที่รายงานถูกเปิด เมื่อผู้เล่นเปิดรายงาน เราจะรวบรวมรายชื่อผู้เล่นในเซสชันก่อน และกรองผู้เล่นที่ไม่อยู่ใน viewport ออก จากนั้นใช้ ray casting เพื่อกำหนดกรอบขอบเขต (bounding boxes) สำหรับอวตารของผู้เล่นแต่ละคน พร้อมกันนั้น เราบันทึกเนื้อหาของเฟรมบัฟเฟอร์ใน Roblox Engine ลงในภาพหน้าจอโดยอัตโนมัติ ด้วยวิธีนี้ ภาพหน้าจอ 2D ธรรมดาสามารถถูกจับคู่กับข้อมูลเชิงพื้นที่ที่เพียงพอเกี่ยวกับโลก 3D เพื่อแยกแยะผู้ละเมิดที่อาจเกิดขึ้นจากอวตารอื่น ๆ และสภาพแวดล้อมรอบข้าง Ray casting ช่วยให้เราสามารถกำหนดกรอบขอบเขตได้ในเวลาเฉลี่ย 3.5 มิลลิวินาที วิธีที่ช้ากว่าอาจต้องมีการหยุดชั่วคราวที่ดูไม่ธรรมชาติ ซึ่งจะทำให้ประสบการณ์การเล่นถูกรบกวน


จากจุดนั้น ข้อมูลบริบทอื่นๆ เกี่ยวกับการละเมิดนโยบายที่อาจเกิดขึ้นสามารถถูกรวบรวมแบบไม่พร้อมกันได้ ปัจจุบัน ระบบจะเปิดใช้งานกลไกนี้โดยอัตโนมัติเมื่อผู้เล่นเริ่มรายงาน
โหมดไฮไลต์
ถัดไป เราต้องการอินเทอร์เฟซการรายงานที่ใช้งานง่าย เพื่อให้ผู้เล่นสามารถระบุเนื้อหาที่ละเมิดได้อย่างรวดเร็ว เราได้อัปเดตอินเทอร์เฟซการรายงานด้วย “โหมดเน้น” (Highlight Mode) เพื่อให้ผู้เล่นสามารถเน้นรายการที่ละเมิดและเพิ่มข้อมูลเพิ่มเติมลงในรายงาน เมื่อผู้เล่นคลิกที่รายการที่ละเมิด เราจะส่งลำแสงกระจายเป็นวงกลมรอบเคอร์เซอร์ของผู้เล่น หากพวกเขาเลือกอวาตาร์ของผู้เล่น เราสามารถเก็บข้อมูลเมตาดาต้าที่จำเป็นทั้งหมดเพื่อตรวจสอบรายงานและดำเนินการ ในการวิจัยผู้ใช้ภายใน ระบบโหมดเน้นได้รับการตอบรับที่ดี รวมถึงจากผู้เล่นวัยเด็ก (อายุ 9-13 ปี) ที่ตอนนี้สามารถเน้นปัญหาและส่งรายงานได้อย่างสำเร็จได้ง่ายขึ้น

ด้วยเวอร์ชันแรกนี้ของเครื่องมือรายงานใหม่ เราเก็บข้อมูลเฉพาะ ID ของอวาตาร์เท่านั้น หากผู้เล่นเลือกสิ่งอื่น เราจะไม่เก็บ ID ของวัตถุนั้น เราสามารถวิเคราะห์รายงานเพื่อหาข้อมูลเชิงลึกและบริบทที่กว้างขึ้น ติดต่อกับผู้พัฒนา และตัดสินใจว่าจะดำเนินการอย่างไรต่อไป
แต่เราวางแผนไว้ว่าจะมีกลไกที่ให้ผู้เล่นสามารถเน้นวัตถุใดก็ได้ในเกมได้อย่างแม่นยำ และบันทึกข้อมูลของมันโดยตรงลงในรายงานของพวกเขา
การเก็บข้อมูลแบบจำลองสำหรับประเภทเนื้อหาทั่วไป
แม้ว่าวิธีการใช้รังสีวงกลม (circular ray casting) ของเราจะทำงานได้ดีในการแยกแยะจำนวนอวาตาร์หรือโฆษณาที่จำกัดภายในพื้นที่มุมมองของผู้เล่น แต่วิธีการนี้ไม่สามารถขยายขนาดได้เพื่อใช้กับทุกวัตถุในเกม ลองพิจารณาสภาพแวดล้อมด้านล่างนี้:

ในสภาพแวดล้อมที่หนาแน่น ซึ่งมีวัตถุหลายสิบชิ้น เช่น หิน พุ่มไม้ และดอกไม้ ที่ทับซ้อนกันและเคลื่อนไหว การใช้ ray casting ในวงกลมจะไม่สามารถระบุดอกไม้หรือพุ่มไม้ชิ้นเดียวได้อย่างน่าเชื่อถือ เราจำเป็นต้องให้ผู้เล่นสามารถเน้นวัตถุได้ด้วยความแม่นยำมากขึ้น และเราต้องการวิธีเพื่อเก็บข้อมูลที่เกี่ยวข้องกับวัตถุใดก็ตามในเกม
เครื่องยนต์ของ Roblox เก็บข้อมูลแสดงภาพโลก 3D ไว้ในโมเดลข้อมูลอยู่แล้ว แต่โมเดลข้อมูลทั้งหมดของเกมอาจมีขนาดถึงหลายกิกะไบต์ เพื่อเพิ่มประสิทธิภาพด้านความเร็ว เราได้สร้างกลไกการคัดลอก (กลไกที่เราพัฒนาขึ้นครั้งแรกสำหรับ Translation Feedback) ซึ่งจะคัดลอกเฉพาะวัตถุหลักที่จำเป็นสำหรับการเรนเดอร์ฉากเท่านั้น เมื่อมีเวอร์ชันที่คัดลอกของโมเดลข้อมูลนี้แล้ว เราจึงสามารถใช้โหมด Highlight Mode เพื่อวางผู้รายงานลงในโลกที่คัดลอก ซึ่งผู้เล่นจะสามารถเลือกวัตถุที่ต้องการรายงานใน 3D ได้อย่างแม่นยำ

วิธีนี้ช่วยให้ผู้รายงานมีอำนาจควบคุมเนื้อหาที่รายงานได้มากขึ้น และให้เรามีข้อมูลเมตาที่จำเป็นเพื่อประเมินประเภทเนื้อหาที่หลากหลายยิ่งขึ้น นอกจากนี้ เรายังแนบภาพหน้าจอไปยังรายงานโดยอัตโนมัติ เพื่อช่วยในการตรวจสอบและควบคุมเนื้อหา
ความสมบูรณ์ของข้อมูล
คำถามสำคัญหนึ่งที่เราได้ตั้งขึ้นตั้งแต่เริ่มต้นโครงการคือว่าเราควรเก็บหลักฐานบนอุปกรณ์ของผู้ใช้หรือบนเซิร์ฟเวอร์เกม Roblox รองรับสคริปต์ฝั่งผู้ใช้ที่อาจอัปเดตเฉพาะสถานะฝั่งผู้ใช้เท่านั้น และไม่ส่งผลต่อเซิร์ฟเวอร์ นอกจากนี้ เอฟเฟกต์ฟิสิกส์บางประเภทเป็นแบบไม่กำหนดค่าแน่นอน (non-deterministic) ซึ่งหมายความว่า การเก็บหลักฐานฝั่งเซิร์ฟเวอร์อาจไม่แสดงสิ่งที่ผู้รายงานได้ประสบอย่างแม่นยำ เราตัดสินใจใช้การบันทึกข้อมูลด้านไคลเอนต์เพื่อให้แน่ใจว่าผู้รายงานสามารถบันทึกภาพที่สะท้อนสิ่งที่พวกเขาเห็นได้อย่างถูกต้อง แต่สิ่งนี้มาพร้อมกับการแลกเปลี่ยน: ผู้มีเจตนาร้ายอาจเข้าถึงไคลเอนต์และสร้างหลักฐานปลอมได้
เพื่อลดความเสี่ยงนี้ เราตรวจสอบความแม่นยำด้วยสัญญาณต่าง ๆ และคัดกรองการแสดงผลจากฝั่งลูกค้าที่ไม่ถูกต้องออก เช่นเดียวกับนักอุตุนิยมวิทยาที่สามารถสร้างการพยากรณ์อากาศที่แม่นยำได้ แม้จะไม่ได้รับข้อมูลที่แม่นยำจากทุกสถานีวัดอากาศ
งานในอนาคต
ด้วยการปรับปรุงเหล่านี้และความสามารถในการบันทึกข้อมูลภาพที่ละเอียดยิ่งขึ้น ระบบปัจจุบันสามารถลบอวาตาร์ที่ละเมิดนโยบายได้มากกว่า 19,000 ตัวต่อเดือนโดยอัตโนมัติ และได้กลายเป็นสัญญาณสำคัญในการตรวจจับเกมที่ไม่เหมาะสม นอกจากนี้ เรายังเห็นการรับใช้ระบบอย่างแพร่หลาย โดยมีรายงานที่ตรงตามเงื่อนไขประมาณ 19% ที่รวมคำอธิบายภาพไว้ด้วย2
เรากำลังดำเนินการในขั้นตอนการปรับปรุงถัดไป โดยพัฒนาวิธีการตรวจจับการละเมิดแบบไดนามิก (เช่น การใช้เอโมติคอนร่วมกับ movement ของผู้เล่น) ที่ไม่สามารถระบุได้จากภาพถ่าย ณ จุดเวลาเดียว ในปลายปีนี้ เราวางแผนที่จะเปิดใช้งานการบันทึกลำดับเวลาของฉากที่ถูกแจ้งเตือน เมื่อ Roblox ยังคงมอบเครื่องมือให้ผู้สร้างเพื่อสร้างปฏิสัมพันธ์ในเกมที่มีความหลากหลายมากขึ้น ทีมความปลอดภัยของเราจะยังคงส่งเสริมสภาพแวดล้อมที่ปลอดภัยสำหรับผู้เล่นทุกคน
เราขอขอบคุณ Rayan Hussain, Ryan Liu, Bridget Daly, Agatha Kielczewski, Alex Leavitt, Ying Liao และ Andrew Xu สำหรับการทำงานในโครงการนี้
1 ตามข้อมูลจากครึ่งแรกของปี 2025
2ตามข้อมูลจากวันที่ 1 มีนาคม ถึง 1 เมษายน 2026.


