เนื้อหาในเว็บไซต์นี้ได้รับการแปลโดยใช้ปัญญาประดิษฐ์ (AI) หรือเทคโนโลยีการแปลด้วยเครื่อง และอาจมีข้อผิดพลาด

Skip to content

วิธีทำงานของระบบรายงานภายในเกมบน Roblox

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

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

ในช่วงเวลาที่มีการใช้งานสูงสุด แพลตฟอร์ม Roblox ประมวลผลการอัปเดตอวาตาร์ถึง 274 ล้านครั้งต่อวัน1 การรายงานและตรวจสอบการละเมิดในเนื้อหา 3D แบบไดนามิกที่ผู้ใช้สร้างขึ้นประเภทนี้เป็นเรื่องที่ท้าทาย เนื่องจากไม่เสมอไปที่จะทิ้งร่องรอยที่ชัดเจนเหมือนเนื้อหาแบบคงที่ เช่น บันทึกข้อความหรือโพสต์บนโซเชียลมีเดีย ในบทความบล็อกนี้ เราจะอธิบายวิธีการของเราในการเก็บรวบรวมข้อมูลและบริบททางภาพที่จำเป็นเพื่อดำเนินการตามรายงานของผู้เล่น ตั้งแต่แนวทาง ray casting ขั้นต้นของเราในการระบุอวาตาร์ที่ละเมิดกฎ ไปจนถึงระบบปัจจุบันของเรา ซึ่งผสานรวมกับโมเดลข้อมูลของ Roblox เพื่อให้ผู้เล่นสามารถรายงานวัตถุเกม 3D ใด ๆ ได้อย่างแม่นยำ

รายงานจากผู้เล่นเป็นส่วนสำคัญในการระบุการละเมิดนโยบายที่อาจเกิดขึ้นตั้งแต่เนิ่นๆ และเมื่อเร็วๆ นี้ เราได้ปรับปรุงกระบวนการรายงานเพื่อให้ผู้เล่นสามารถรายงานหรือบล็อกสิ่งใดก็ตามที่ทำให้พวกเขารู้สึกไม่สบายใจหรือไม่ปลอดภัยได้ทันที รายงานจากผู้เล่นในปัจจุบันส่งผลให้มีการลบอวาตาร์ที่ละเมิดนโยบายมากกว่า 19,000 ตัวต่อเดือนโดยอัตโนมัติ และทำหน้าที่เป็นสัญญาณเตือนสำคัญในการตรวจจับเกมที่ไม่เหมาะสมตั้งแต่เนิ่นๆ2

ความท้าทายในการจับภาพเนื้อหาแบบไดนามิก

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

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

An example where layering two separate shirts, one with the letters “CK” on the sleeve and one with the letters “FU” on the torso, results in profanity that could evade moderation systems. Generating an ID for this avatar makes it possible to report and review.

การตรวจจับภาพโปรไฟล์ที่ละเมิดในอวกาศ 3 มิติ 

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

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

เราจำเป็นต้องหาวิธีดึงข้อมูลเพิ่มเติมออกมา เพื่อเปลี่ยนภาพ 2D ที่ถ่าย ณ จุดเวลาเดียว ให้กลายเป็นหลักฐานที่สามารถนำไปใช้ได้ 

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

An illustration of how ray casting helps determine which region in the 2D screenshot belongs to which avatar.
 A screenshot of a game with bounding boxes around avatars and tighter convex hulls that pinpoint where the avatar is on-screen.

จากจุดนั้น ข้อมูลบริบทอื่นๆ เกี่ยวกับการละเมิดนโยบายที่อาจเกิดขึ้นสามารถถูกรวบรวมแบบไม่พร้อมกันได้ ปัจจุบัน ระบบจะเปิดใช้งานกลไกนี้โดยอัตโนมัติเมื่อผู้เล่นเริ่มรายงาน 

โหมดไฮไลต์

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

Highlight Mode allows players to highlight what they want to report using the in-game report UI (e.g., the green circle around the duck avatar).

ด้วยเวอร์ชันแรกนี้ของเครื่องมือรายงานใหม่ เราเก็บข้อมูลเฉพาะ ID ของอวาตาร์เท่านั้น หากผู้เล่นเลือกสิ่งอื่น เราจะไม่เก็บ ID ของวัตถุนั้น เราสามารถวิเคราะห์รายงานเพื่อหาข้อมูลเชิงลึกและบริบทที่กว้างขึ้น ติดต่อกับผู้พัฒนา และตัดสินใจว่าจะดำเนินการอย่างไรต่อไป 

แต่เราวางแผนไว้ว่าจะมีกลไกที่ให้ผู้เล่นสามารถเน้นวัตถุใดก็ได้ในเกมได้อย่างแม่นยำ และบันทึกข้อมูลของมันโดยตรงลงในรายงานของพวกเขา

การเก็บข้อมูลแบบจำลองสำหรับประเภทเนื้อหาทั่วไป

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

ในสภาพแวดล้อมที่หนาแน่น ซึ่งมีวัตถุหลายสิบชิ้น เช่น หิน พุ่มไม้ และดอกไม้ ที่ทับซ้อนกันและเคลื่อนไหว การใช้ ray casting ในวงกลมจะไม่สามารถระบุดอกไม้หรือพุ่มไม้ชิ้นเดียวได้อย่างน่าเชื่อถือ เราจำเป็นต้องให้ผู้เล่นสามารถเน้นวัตถุได้ด้วยความแม่นยำมากขึ้น และเราต้องการวิธีเพื่อเก็บข้อมูลที่เกี่ยวข้องกับวัตถุใดก็ตามในเกม 

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

Highlight Mode now clones key objects in the game’s data model and allows players to directly highlight the object they’re reporting.

วิธีนี้ช่วยให้ผู้รายงานมีอำนาจควบคุมเนื้อหาที่รายงานได้มากขึ้น และให้เรามีข้อมูลเมตาที่จำเป็นเพื่อประเมินประเภทเนื้อหาที่หลากหลายยิ่งขึ้น นอกจากนี้ เรายังแนบภาพหน้าจอไปยังรายงานโดยอัตโนมัติ เพื่อช่วยในการตรวจสอบและควบคุมเนื้อหา 

ความสมบูรณ์ของข้อมูล

คำถามสำคัญหนึ่งที่เราได้ตั้งขึ้นตั้งแต่เริ่มต้นโครงการคือว่าเราควรเก็บหลักฐานบนอุปกรณ์ของผู้ใช้หรือบนเซิร์ฟเวอร์เกม 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.