Roblox'ta Oyun İçi Haberler Nasıl Çalışır?
Dinamik 3D Ortamlarda Ayrıntılı Raporların Yakalanmasının Arkasındaki Teknoloji

- Roblox, günlük 274 milyon avatar güncellemesini işliyor ve bu, güvenlik ihlalleri açısından denetlediğimiz kullanıcı tarafından oluşturulan içerik türlerinden sadece biri.1
- Oyuncu bildirimleri, ihlalleri erken tespit etmenin çok önemli bir parçasıdır ve oyuncuların uygunsuz veya politikalarımıza aykırı olduğunu düşündükleri her şeyi kolayca bildirebilmelerini sağlamak istiyoruz.
- Dinamik, kullanıcı tarafından oluşturulan 3D içerikteki ihlalleri tespit etmek zor olabileceğinden, oyuncuların belirli nesneleri tanımlamasına ve bizim harekete geçmemiz için gerekli veri ve görsel kanıtlarla birlikte bildirmelerine yardımcı olmak amacıyla ışın izleme, veri modeli klonlama ve tamamen yenilenen bir bildirim kullanıcı arayüzünden yararlanıyoruz.
En yoğun dönemlerde, Roblox platformu günlük 274 milyon avatar güncellemesini işler.1 Bu tür dinamik, kullanıcı tarafından oluşturulan 3D içerikteki suistimalleri bildirmek ve incelemek zordur; çünkü bu içerikler, metin günlüğü veya sosyal medya gönderisi gibi statik içeriklerin her zaman bıraktığı açık izleri bırakmaz. Bu blog yazısında, oyuncuların bildirimleri üzerine harekete geçmek için gerekli veri ve görsel bağlamı yakalama yaklaşımımızı anlatıyoruz; bu yaklaşım, kötüye kullanılan avatarları tespit etmek için kullandığımız ilk ışın izleme yönteminden, oyuncuların herhangi bir 3D oyun nesnesini kesin bir şekilde bildirebilmeleri için Roblox veri modeliyle entegre olan mevcut sistemimize kadar uzanıyor.
Oyuncu bildirimleri, olası politika ihlallerini erken aşamada tespit etmenin hayati bir parçasıdır. Kısa süre önce, oyuncuların kendilerini rahatsız veya güvensiz hissettiren her şeyi anında bildirmelerini veya engellemelerini kolaylaştırmak için bildirim akışımızı güncelledik. Oyuncu bildirimleri sayesinde artık her ay 19.000’den fazla politika ihlali yapan avatar otomatik olarak kaldırılmaktadır ve bu bildirimler, uygunsuz oyunları tespit etmek için önemli bir erken uyarı işlevi görmektedir.2
Dinamik İçeriği Yakalamanın Zorluğu
Dinamik, kullanıcı tarafından oluşturulan 3D içerik farklı bağlamlarda birleştirilip kullanılabildiğinden, basit açıklamalar veya ekran görüntüleri her zaman harekete geçmemiz için gerekli verileri sağlamaz. Sosyal medya gönderileri, forum yorumları ve videolar gibi statik içerikler, bir sorunun kalıcı bir kaydı görevi görür ve kanıtların hem bildirilmesini hem de incelenmesini kolaylaştırır. Metin ve sesli sohbet Roblox’ta kaydedilir, ancak diğer türdeki kullanıcı tarafından oluşturulan içerikler bu kadar açık bir iz bırakmaz. Görseller platformun başka yerlerinden yüklenebilir, dinamik etkileşimler belgelenmeyebilir ve oyuncular bazen tek tek zararsız giysi öğelerini birleştirerek uygunsuz bir kıyafet oluşturabilir.
Dinamik durumlarda politika ihlallerini tespit edebilmek için, ihbar eden kişinin öncelikle oyun içindeki belirli öğeleri tanımlayabilmesi gerekir. İkinci olarak, doğru nesnenin değerlendirilebilmesi için tanımlama mekanizmasının ihbar edilen içerik için nesne kimlikleri sağlaması gerekir.

3D Uzayda Kötü Niyetli Avatarları Tespit Etme
Önceki bildirim aracımız, esas olarak sohbet günlüğü kanıtlarına dayanıyordu. Bildirimler herhangi bir görsel bilgi içermiyordu ve bu da konuyu anlamada büyük boşluklar bırakıyordu. Diğer ihlal türleriyle ilgili daha fazla bağlam bilgisi toplayabilen bir bildirim aracı üzerinde çalışmaya başladığımızda, öncelikle her oyuncunun etkileşimde bulunduğu bir nesne türüne odaklandık: avatarlar. Oyuncular, Roblox'ta kendilerini temsil etmek için avatarlarını özelleştirebilirler ve bir avatar hakkındaki bilgileri yakalamak, sohbette yazılı bir kanıt olmasa bile ihlalleri belirli oyuncularla ilişkilendirebilmemiz anlamına geliyordu. Avatar verilerini etkili bir şekilde tanımlayabilen bir sistem, gelecekte diğer nesne türleri için de önemli bir temel oluşturacaktı.
Olası çözümler arasında, raporları daha fazla kanıtla desteklemek için ekran görüntüsü almak veya arka plan kaydı yapmak yer alıyordu. Ekran görüntüleri, olası tüm ihlalleri yakalayamasa da içgörü toplamak için kolay bir yol olduğu için testlere ekran görüntüleri ile başladık. Kısa sürede bir sınırlamayla karşılaştık: 2D bir görüntü, bir oyuncunun avatarını 3D uzaydaki diğer avatarlar ve NPC’lerden ayırt etmemize yardımcı olmuyordu. Avatarlar üst üste geldiğinde, potansiyel ihlalcinin kullanıcı kimliğini her zaman doğru bir şekilde tespit edemiyorduk.

Tek bir zamanda çekilmiş 2D görüntüyü eyleme geçirilebilir kanıt haline getirebilmek için daha fazla bilgiyi nasıl çıkarabileceğimizi bulmamız gerekiyordu.
3D uzayda ilgili bilgileri izole etmek ve rapor anında bunları 2D görüntüde temsil etmek için verimli bir yöntem olarak ışın izlemeyi tercih ettik. Bir oyuncu bir raporu açtığında, önce oturumdaki oyuncuların listesini toplar ve görüntü alanında olmayanları filtreleriz. Ardından, ışın izlemeyi kullanarak her oyuncu avatarının sınır kutularını belirleriz. Aynı zamanda, Roblox motorunun kare tampon içeriğini otomatik olarak bir ekran görüntüsüne kaydediyoruz. Bu sayede, basit bir 2D ekran görüntüsü, potansiyel kural ihlalcisini diğer avatarlar ve çevresindeki ortamdan ayırt edebilmek için 3D dünya hakkında yeterli uzamsal veriyle eşleştirilebilir. Işın izleme yöntemi, sınır kutularını ortalama 3,5 milisaniye içinde belirlememizi sağlıyor. Daha yavaş yöntemler, deneyimi bozan rahatsız edici bir duraklama gerektirebilirdi.


Buradan, olası bir politika ihlaliyle ilgili diğer bağlamsal bilgiler eşzamansız olarak toplanabilir. Günümüzde sistem, bir oyuncu bir rapor başlattığında bu mekanizmayı otomatik olarak tetiklemektedir.
Vurgulama Modu
Ardından, oyuncuların ihlal içeren içeriği hızlı bir şekilde tespit edebilmeleri için sezgisel bir bildirim arayüzüne ihtiyacımız vardı. Bildirim arayüzümüzü Vurgulama Modu ile güncelledik; böylece oyuncular, ihlal içeren öğeleri vurgulayabilir ve bildirimlerine daha fazla bilgi ekleyebilirler. Bir oyuncu ihlal içeren bir öğeye tıkladığında, oyuncunun imlecinin etrafında dairesel bir ışın demeti yayılır. Eğer bir oyuncunun avatarını seçerlerse, bildirimi incelemek ve harekete geçmek için gerekli tüm meta verileri toplayabiliriz. Şirket içi kullanıcı araştırmalarında Vurgulama Modu, artık bir sorunu daha kolay bir şekilde vurgulayabilen ve raporlamayı başarıyla tamamlayabilen genç oyuncular (9-13 yaş) da dahil olmak üzere olumlu tepkiler aldı.

Yeni raporlama aracının bu ilk sürümünde, yalnızca avatarların kimliklerini yakaladık. Bir oyuncu başka bir şey seçtiğinde, nesne kimliğini yakalayamazdık. Raporları inceleyerek içgörüler ve daha geniş bir bağlam elde edebilir, geliştiricilerle iletişime geçebilir ve bir sonraki adımda ne yapacağımıza karar verebilirdik.
Ancak, oyuncuların oyundaki herhangi bir öğeyi tam olarak işaretleyip verilerini doğrudan raporlarına ekleyebilecekleri bir mekanizma tasarladık.
Genel İçerik Türleri için Veri Modeli Yakalama
Dairesel ışın yayma yaklaşımımız, oyuncunun görüş alanı içindeki sınırlı sayıdaki avatar veya reklamı ayırt etmek için iyi sonuç verse de, oyundaki her nesneye uygulanabilecek ölçekte değildi. Aşağıdaki ortamı ele alalım:

Kayalar, çalılar ve çiçekler gibi düzinelerce nesnenin üst üste bindiği ve hareket ettiği yoğun bir ortamda, daire şeklinde ışın atma yöntemi tek bir çiçeği veya çalıyı güvenilir bir şekilde tanımlayamazdı. Oyuncuların nesneleri daha hassas bir şekilde vurgulayabilmelerini sağlamalıydık ve oyundaki herhangi bir nesneyle ilişkili verileri yakalayabileceğimiz bir yönteme ihtiyacımız vardı.
Roblox’un motoru, 3B dünyanın bir temsilini zaten veri modelinde depoluyor; ancak bir oyunun tüm veri modelinin boyutu gigabaytlarca olabilir. Hızı optimize etmek için, bir sahneyi oluşturmak için gerekli olan yalnızca anahtar nesneleri kopyalayan bir klonlama mekanizması (ilk olarak Translation Feedback için geliştirdiğimiz bir mekanizma) oluşturduk. Veri modelinin bu klonlanmış versiyonuna sahip olduğumuzda, Vurgulama Modu’nu kullanarak raporlayıcıyı klonlanmış dünyaya yerleştirebiliriz; burada oyuncu, rapor etmek istediği öğeyi 3D ortamda hassas bir şekilde vurgulayabilir.

Bu yaklaşım, oyuncunun bildirdiği içerik üzerinde daha fazla kontrol sahibi olmasını sağlar ve bize çok daha fazla içerik türünü değerlendirmek için gerekli meta verileri sunar. Ayrıca, moderasyon incelemesine yardımcı olmak amacıyla rapora otomatik olarak bir ekran görüntüsü ekliyoruz.
Veri Bütünlüğü
Projenin başlangıcından beri sorduğumuz önemli sorulardan biri, kanıtları istemcinin cihazında mı yoksa oyun sunucusunda mı yakalamamız gerektiğiydi. Roblox, yalnızca istemci durumunu güncelleyebilen ve sunucuyu etkilemeyen istemci tarafı komut dosyalarını destekler. Ayrıca, bazı fizik efektleri belirsizdir; bu da sunucu tarafında yapılan bir yakalamanın, rapor eden kişinin deneyimlediklerini tam olarak gösteremeyebileceği anlamına gelir. Bildirim yapan kişinin gördüklerinin aslına sadık bir temsilini yakalayabilmesini sağlamak için istemci tarafında yakalama yapmaya karar verdik, ancak bunun bir dezavantajı var: Kötü niyetli bir kişi potansiyel olarak bir istemciye erişim sağlayıp kanıt uydurabilir.
Bunu azaltmak için, doğruluğu çeşitli sinyallerle doğrular ve hatalı istemci gösterimlerini eleriz. Bir benzetme olarak, meteorologlar her hava istasyonundan doğru ölçümler almıyor olsalar bile doğru hava tahminleri üretebilirler.
Gelecekteki Çalışmalar
Bu iyileştirmeler ve daha zengin görsel bilgileri yakalama yeteneği sayesinde, sistem artık her ay 19.000'den fazla kural ihlali yapan avatarı otomatik olarak kaldırıyor ve uygunsuz oyunları tespit etmek için önemli bir gösterge haline geldi. Ayrıca, uygun raporların yaklaşık %19'unda görsel açıklamalar bulunması, sistemin yaygın olarak benimsendiğini gösteriyor.2
Şu anda iyileştirmelerin bir sonraki aşaması üzerinde çalışıyoruz ve belirli bir andaki anlık görüntülerle tespit edilemeyen dinamik ihlalleri (oyuncu hareketleriyle birleştirilmiş emote'lar gibi) tespit etmenin bir yolunu geliştiriyoruz. Bu yılın ilerleyen aylarında, bildirilen sahnenin zaman dizisini yakalamayı mümkün kılmayı planlıyoruz. Roblox, içerik oluşturuculara oyun içi etkileşimleri daha zengin hale getirecek araçlar sunmaya devam ederken, güvenlik ekibimiz de tüm oyuncular için güvenli bir ortam sağlamaya devam edecektir.
Bu projede emek veren Rayan Hussain, Ryan Liu, Bridget Daly, Agatha Kielczewski, Alex Leavitt, Ying Liao ve Andrew Xu’ya teşekkür ederiz.
1 2025 yılının ilk yarısına ait verilere dayanmaktadır.
2 1 Mart – 1 Nisan 2026 tarihleri arasındaki verilere dayanmaktadır.


