Cara Kerja Pelaporan Dalam Game di Roblox
Teknologi di Balik Pembuatan Laporan Terperinci dalam Lingkungan 3D yang Dinamis

- Roblox memproses 274 juta pembaruan avatar setiap hari, dan itu hanyalah salah satu jenis konten yang dibuat pengguna yang kami moderasi terkait pelanggaran keamanan.1
- Laporan pemain merupakan bagian penting dalam mengidentifikasi pelanggaran sejak dini, dan kami ingin memudahkan pemain untuk melaporkan apa pun yang mereka lihat dan dianggap tidak pantas atau melanggar kebijakan kami.
- Karena pelanggaran dalam konten 3D dinamis yang dibuat pengguna bisa sulit dideteksi, kami memanfaatkan ray casting, kloning model data, dan antarmuka pelaporan yang telah diperbarui untuk membantu pemain mengidentifikasi dan melaporkan objek tertentu dengan data dan bukti visual yang diperlukan agar kami dapat mengambil tindakan.
Pada puncaknya, platform Roblox memproses 274 juta pembaruan avatar setiap hari.1 Melaporkan dan meninjau penyalahgunaan dalam konten 3D dinamis yang dibuat pengguna ini cukup menantang karena tidak selalu meninggalkan jejak eksplisit seperti yang ditinggalkan oleh konten statis, misalnya log teks atau postingan media sosial. Dalam postingan blog ini, kami menjelaskan pendekatan kami dalam mengumpulkan data dan konteks visual yang diperlukan untuk menindaklanjuti laporan pemain, mulai dari pendekatan ray casting awal kami untuk mengidentifikasi avatar yang melanggar kebijakan, hingga sistem kami saat ini, yang terintegrasi dengan model data Roblox sehingga pemain dapat secara tepat melaporkan objek game 3D apa pun.
Laporan pemain merupakan bagian penting dalam mengidentifikasi potensi pelanggaran kebijakan sejak dini, dan kami baru-baru ini memperbarui alur pelaporan kami agar pemain lebih mudah segera melaporkan atau memblokir apa pun yang membuat mereka merasa tidak nyaman atau tidak aman. Laporan pemain kini mengakibatkan penghapusan otomatis lebih dari 19.000 avatar yang melanggar kebijakan setiap bulan dan berfungsi sebagai sinyal awal yang penting untuk mendeteksi game yang tidak pantas.2
Tantangan dalam Mendeteksi Konten Dinamis
Karena konten 3D dinamis yang dibuat pengguna dapat digabungkan dan digunakan dalam konteks yang berbeda, deskripsi sederhana atau tangkapan layar tidak selalu menyediakan data yang diperlukan bagi kami untuk mengambil tindakan. Konten statis seperti postingan media sosial, komentar forum, dan video berfungsi sebagai dokumentasi permanen suatu masalah, sehingga memudahkan pelaporan dan peninjauan bukti. Obrolan teks dan suara didokumentasikan di Roblox, tetapi jenis konten buatan pengguna lainnya tidak meninggalkan jejak yang begitu jelas. Gambar dapat dimuat dari tempat lain di platform, interaksi dinamis mungkin tidak didokumentasikan, dan pemain terkadang menggabungkan item pakaian yang secara individual tidak berbahaya untuk membentuk pakaian yang tidak pantas.
Untuk mendeteksi pelanggaran kebijakan dalam situasi dinamis, pelapor pertama-tama memerlukan cara untuk mengidentifikasi elemen spesifik di dalam game. Kedua, mekanisme identifikasi tersebut harus menyediakan ID objek untuk konten yang dilaporkan agar objek yang tepat dapat dievaluasi.

Mendeteksi Avatar yang Melanggar di Ruang 3D
Alat pelaporan kami sebelumnya terutama mengandalkan bukti log obrolan. Laporan tersebut tidak menyertakan informasi visual apa pun, sehingga menimbulkan kesenjangan besar dalam pemahaman. Ketika kami mulai mengembangkan alat pelaporan yang dapat menangkap lebih banyak konteks seputar jenis pelanggaran lainnya, kami pertama-tama berfokus pada jenis objek yang berinteraksi dengan setiap pemain: avatar. Pemain dapat menyesuaikan avatar untuk mewakili diri mereka di Roblox, dan dengan menangkap informasi tentang avatar, kami dapat mengaitkan pelanggaran dengan pemain tertentu meskipun tidak ada jejak tertulis dalam obrolan. Sistem yang dapat mengidentifikasi data avatar secara efektif juga akan menjadi landasan penting untuk jenis objek lain di masa depan.
Solusi potensial termasuk mengambil tangkapan layar atau rekaman latar belakang untuk melengkapi laporan dengan lebih banyak bukti. Kami mulai menguji dengan tangkapan layar karena ini merupakan cara yang mudah untuk mengumpulkan wawasan, meskipun tidak dapat menangkap semua kemungkinan pelanggaran. Kami segera menemui kendala: Gambar 2D tidak membantu kami membedakan avatar pemain dari avatar lain dan NPC di ruang 3D. Kami tidak selalu dapat mengidentifikasi ID pengguna pelaku potensial secara akurat ketika avatar saling tumpang tindih.

Kami perlu mencari cara untuk mengekstrak lebih banyak informasi agar dapat mengubah gambar 2D yang diambil pada satu titik waktu menjadi bukti yang dapat ditindaklanjuti.
Kami memutuskan untuk menggunakan ray casting sebagai metode yang efisien untuk mengisolasi informasi yang relevan dalam ruang 3D dan menampilkannya dalam gambar 2D pada saat laporan dibuat. Saat seorang pemain membuka laporan, pertama-tama kami mengumpulkan daftar pemain dalam sesi tersebut dan menyaring siapa saja yang tidak berada dalam viewport. Kemudian, kami menggunakan ray casting untuk menentukan kotak pembatas untuk setiap avatar pemain. Pada saat yang sama, kami secara otomatis menyimpan konten frame buffer mesin Roblox ke dalam tangkapan layar. Dengan cara ini, tangkapan layar 2D sederhana dapat dipadukan dengan data spasial yang cukup mengenai dunia 3D untuk membedakan pelaku potensial dari avatar lain dan lingkungan sekitarnya. Ray casting memungkinkan kami menentukan kotak pembatas rata-rata dalam 3,5 milidetik. Metode yang lebih lambat akan memerlukan jeda yang mengganggu, sehingga merusak pengalaman bermain.


Dari sana, informasi kontekstual lainnya mengenai potensi pelanggaran kebijakan dapat dikumpulkan secara asinkron. Saat ini, sistem secara otomatis memicu mekanisme ini ketika seorang pemain memulai laporan.
Mode Sorot
Selanjutnya, kami membutuhkan antarmuka pelaporan yang intuitif agar pemain dapat dengan cepat mengidentifikasi konten yang melanggar. Kami memperbarui antarmuka pelaporan kami dengan Mode Sorot agar pemain dapat menyorot item yang melanggar dan menambahkan keterangan pada laporan mereka dengan informasi lebih lanjut. Saat seorang pemain mengklik item yang melanggar, kami akan menampilkan serangkaian sinar dalam lingkaran di sekitar kursor pemain tersebut. Jika mereka memilih avatar pemain lain, kami dapat menangkap semua metadata yang diperlukan untuk meninjau laporan mereka dan mengambil tindakan. Dalam penelitian pengguna internal, Mode Sorot mendapat sambutan yang baik, termasuk dari pemain yang lebih muda (usia 9–13 tahun) yang kini dapat dengan lebih mudah menyoroti masalah dan berhasil menyelesaikan laporan.

Dengan versi awal alat pelaporan baru ini, kami hanya mencatat ID untuk avatar. Jika pemain memilih hal lain, kami tidak akan mencatat ID objek tersebut. Kami dapat menganalisis laporan untuk mendapatkan wawasan dan konteks yang lebih luas, menghubungi pengembang, dan memutuskan langkah selanjutnya.
Namun, kami membayangkan sebuah mekanisme yang memungkinkan pemain menyorot item apa pun dalam game secara tepat dan merekam datanya langsung dalam laporan mereka.
Pengambilan Model Data untuk Jenis Konten Umum
Meskipun pendekatan circular ray casting kami berhasil dengan baik untuk membedakan sejumlah avatar atau iklan yang terbatas dalam viewport pemain, pendekatan ini tidak dapat diterapkan pada setiap objek dalam game. Perhatikan lingkungan di bawah ini:

Dalam lingkungan yang padat di mana puluhan objek seperti batu, semak, dan bunga saling tumpang tindih dan bergerak, ray casting dalam lingkaran tidak akan dapat mengidentifikasi satu bunga atau semak secara andal. Kami perlu memungkinkan pemain untuk menyorot objek dengan lebih presisi, dan kami membutuhkan cara untuk menangkap data yang terkait dengan objek apa pun dalam game.
Mesin Roblox sudah menyimpan representasi dunia 3D dalam model datanya, tetapi ukuran keseluruhan model data untuk sebuah game bisa mencapai gigabyte. Untuk mengoptimalkan kecepatan, kami menciptakan mekanisme kloning (mekanisme yang pertama kali kami kembangkan untuk Translation Feedback) yang hanya mengkloning objek-objek kunci yang diperlukan untuk merender sebuah adegan. Setelah memiliki versi kloning dari model data ini, kami kemudian dapat menggunakan Mode Sorot untuk menempatkan pelapor ke dalam dunia kloning tersebut, di mana pemain dapat secara tepat menyorot apa yang ingin mereka laporkan dalam 3D.

Pendekatan ini memberikan pemain kendali lebih besar atas apa yang mereka laporkan dan memberi kami metadata yang diperlukan untuk mengevaluasi lebih banyak jenis konten. Kami juga secara otomatis melampirkan tangkapan layar ke laporan tersebut untuk membantu proses peninjauan moderasi.
Integritas Data
Salah satu pertanyaan kunci yang kami ajukan sejak awal proyek adalah apakah kami harus menangkap bukti di perangkat klien atau di server game. Roblox mendukung skrip sisi klien yang mungkin hanya memperbarui status klien, dan bukan di server. Selain itu, beberapa efek fisika bersifat nondeterministik, yang berarti penangkapan sisi server mungkin tidak menunjukkan persis apa yang dialami pelapor. Kami memutuskan untuk menggunakan penangkapan di sisi klien guna memastikan bahwa pelapor dapat merekam representasi yang akurat dari apa yang mereka lihat, namun hal ini memiliki risiko: pelaku jahat berpotensi mengakses klien dan memalsukan bukti.
Untuk memitigasi hal ini, kami memverifikasi keakuratan dengan berbagai sinyal dan menyaring representasi klien yang tidak akurat. Sebagai analogi, ahli meteorologi dapat menghasilkan prakiraan cuaca yang akurat meskipun mereka tidak menerima pembacaan yang akurat dari setiap stasiun cuaca.
Pekerjaan Selanjutnya
Berkat peningkatan ini dan kemampuan untuk merekam informasi visual yang lebih kaya, sistem kini secara otomatis menonaktifkan lebih dari 19.000 avatar yang melanggar kebijakan setiap bulan dan telah menjadi sinyal penting untuk mendeteksi permainan yang tidak pantas. Kami juga melihat adopsi yang kuat, dengan sekitar 19% dari laporan yang memenuhi syarat menyertakan anotasi visual.2
Kami sudah mulai mengerjakan fase perbaikan berikutnya, yaitu mengembangkan cara untuk mendeteksi pelanggaran dinamis (seperti emote yang dikombinasikan dengan gerakan pemain) yang tidak dapat ditentukan hanya dengan tangkapan layar pada satu titik waktu. Pada akhir tahun ini, kami berencana untuk mengaktifkan fitur perekaman urutan waktu dari adegan yang dilaporkan. Seiring dengan upaya Roblox dalam menyediakan alat bagi para kreator untuk membangun interaksi dalam game yang lebih kaya, tim keamanan kami akan terus berupaya menciptakan lingkungan yang aman bagi semua pemain.
Kami ingin mengucapkan terima kasih kepada Rayan Hussain, Ryan Liu, Bridget Daly, Agatha Kielczewski, Alex Leavitt, Ying Liao, dan Andrew Xu atas kontribusi mereka dalam proyek ini.
1Berdasarkan data dari H1, 2025.
2Berdasarkan data dari 1 Maret hingga 1 April 2026.


