Robloxにおけるゲーム内レポートの仕組み
ダイナミックな3D環境における詳細なレポートの取得を支える技術

- Robloxでは1日あたり2億7400万件のアバター更新を処理していますが、これは当社が安全上の違反について監視を行っているユーザー生成コンテンツの一例に過ぎません。1
- プレイヤーからの通報は、違反を早期に特定する上で極めて重要な役割を果たしており、プレイヤーが不適切または当社のポリシーに違反していると判断した内容を簡単に通報できるようにしたいと考えています。
- 動的なユーザー生成3Dコンテンツにおける違反行為の捕捉は困難な場合があるため、当社はレイキャスティング、データモデルの複製、および全面的に刷新された通報UIを活用し、プレイヤーが具体的なオブジェクトを特定して通報できるよう支援しています。これにより、当社が措置を講じるために必要なデータや視覚的な証拠が提供されます。
ピーク時には、Robloxプラットフォームは1日あたり2億7400万件のアバター更新を処理しています。¹ このような動的なユーザー生成3Dコンテンツにおける不正行為の報告と審査は、テキストログやソーシャルメディアの投稿といった静的なコンテンツのように、必ずしも明確な痕跡が残るわけではないため、困難を伴います。 このブログ記事では、プレイヤーからの報告に基づいて対応するために必要なデータや視覚的コンテキストを収集するための当社のアプローチについて解説します。これには、不適切なアバターを特定するための初期のレイキャスティング手法から、Robloxデータモデルと統合され、プレイヤーがあらゆる3Dゲームオブジェクトを正確に報告できるようになった現在のシステムまでが含まれます。
プレイヤーからの通報は、ポリシー違反の疑いがあるものを早期に特定する上で極めて重要な役割を果たしています。そこで当社は最近、通報フローを更新し、プレイヤーが不快感や不安を感じるものを即座に通報またはブロックしやすくしました。現在、プレイヤーからの通報により、毎月19,000件以上のポリシー違反アバターが自動的に削除されており、不適切なゲームを検出するための重要な早期のシグナルとなっています。2
動的コンテンツの把握における課題
動的なユーザー生成3Dコンテンツは、さまざまな文脈で組み合わされて使用される可能性があるため、単純な説明やスクリーンショットだけでは、当社が措置を講じるために必要なデータが常に得られるとは限りません。ソーシャルメディアの投稿、フォーラムのコメント、動画などの静的コンテンツは、問題の恒久的な記録として機能するため、証拠の報告や確認が容易です。テキストチャットやボイスチャットはRoblox上に記録されますが、その他の種類のユーザー生成コンテンツには、そのような明確な痕跡が残らない場合があります。 画像はプラットフォーム内の別の場所から読み込まれることがあり、動的なやり取りは記録されない場合もあり、プレイヤーが個々には無害な衣類アイテムを組み合わせて、不適切な服装を作り出すこともあります。
動的な状況におけるポリシー違反を捕捉するためには、まず通報者がゲーム内の特定の要素を特定する手段を必要とします。次に、その特定メカニズムは、通報されたコンテンツのオブジェクトIDを提供し、正しいオブジェクトが評価されるようにする必要があります。

3D空間における不適切なアバターの検出
従来の通報ツールは、主にチャットログの証拠に依存していました。通報内容には視覚的な情報が一切含まれていなかったため、状況把握に大きな隔たりが生じていました。他の種類の違反行為に関するより多くの文脈を捉えることができる通報ツールの開発に着手した際、私たちはまず、すべてのプレイヤーが関わるある種のオブジェクト、すなわちアバターに注目しました。 プレイヤーはRoblox上で自分自身を表現するためにアバターをカスタマイズできます。アバターに関する情報を収集できれば、チャットに記録が残っていなくても、違反行為を特定のプレイヤーと結びつけることが可能になります。アバターデータを効果的に識別できるシステムは、将来的に他の種類のオブジェクトに対処するための重要な基盤ともなるでしょう。
考えられる解決策としては、スクリーンショットや背景の録画を行い、報告にさらなる証拠を補足することが挙げられました。 スクリーンショットは、すべての違反を網羅できなくても、洞察を収集する簡単な方法であったため、まずはスクリーンショットを用いたテストを開始しました。しかし、すぐに限界に直面しました。2D画像では、3D空間内の他のアバターやNPCと、対象となるプレイヤーのアバターを区別することができませんでした。アバターが重なっている場合、違反の疑いがあるユーザーのIDを常に正確に特定することはできなかったのです。

ある特定の時点に撮影された2D画像を、実用的な証拠に変換するために、より多くの情報を抽出する方法を模索する必要がありました。
そこで、3D空間内の関連情報を抽出し、報告の時点における2D画像として表現するための効率的な手法として、レイキャスティングを採用しました。プレイヤーが報告を開くと、まずそのセッションに参加しているプレイヤーのリストを収集し、ビューポート内にいないプレイヤーを除外します。次に、レイキャスティングを使用して各プレイヤーアバターのバウンディングボックスを特定します。 同時に、Robloxエンジンのフレームバッファの内容を自動的にスクリーンショットとして保存します。これにより、単純な2Dスクリーンショットに、3Dワールドに関する十分な空間データを組み合わせることができ、違反の疑いがあるプレイヤーを他のアバターや周囲の環境から区別できるようになります。レイキャスティングを用いることで、バウンディングボックスの算出を平均3.5ミリ秒で完了できます。これより処理に時間がかかる手法では、不自然な一時停止が生じ、ユーザー体験を損なうことになっていたでしょう。


そこから、ポリシー違反の可能性があることに関するその他の文脈情報を非同期で収集することができます。現在、プレイヤーが報告を開始すると、システムはこのメカニズムを自動的に起動します。
ハイライトモード
次に、プレイヤーが違反コンテンツを素早く特定できるよう、直感的な報告インターフェースが必要でした。そこで、報告インターフェースを「ハイライトモード」に更新し、プレイヤーが問題のある項目をハイライト表示したり、報告に詳細情報を付記したりできるようにしました。プレイヤーが問題のある項目をクリックすると、プレイヤーのカーソルの周囲に円状に光線が広がるようにしました。プレイヤーのアバターを選択した場合、報告を審査して対応するために必要なすべてのメタデータを取得できるようになりました。 社内ユーザー調査では、「ハイライトモード」は好評を博しました。特に、9歳から13歳の若いプレイヤーからは、問題箇所を簡単にハイライトして、報告を無事に完了できるようになったと好評でした。

この新しいレポートツールの初期バージョンでは、アバターのIDのみを収集していました。プレイヤーがそれ以外のものを選択した場合、オブジェクトIDは収集されませんでした。レポートを分析して洞察やより広い文脈を把握し、開発者に連絡を取り、今後の対応を決定することができました。
しかし、私たちは、プレイヤーがゲーム内の任意のアイテムを正確にハイライトし、そのデータをレポートに直接取り込めるような仕組みを構想していました。
汎用コンテンツタイプ向けのデータモデル取得
円形のレイキャスティングというアプローチは、プレイヤーのビューポート内に存在する限られた数のアバターや広告を区別するには有効でしたが、ゲーム内のあらゆるオブジェクトに対応するにはスケーラビリティに欠けていました。以下の環境を例に考えてみましょう:

岩や低木、花など、数十ものオブジェクトが重なり合い、アニメーションする密集した環境では、円形にレイキャスティングを行っても、特定の花や低木を確実に特定することはできません。プレイヤーがオブジェクトをより正確にハイライトできるようにする必要があり、またゲーム内の任意のオブジェクトに関連付けられたデータを取得する方法も必要でした。
Robloxのエンジンは、すでにデータモデル内に3D世界の表現を保存していますが、ゲーム全体のデータモデルのサイズはギガバイト規模になることもあります。速度を最適化するため、シーンのレンダリングに必要な主要なオブジェクトのみを複製するクローン生成メカニズム(当初は「Translation Feedback」向けに開発した仕組み)を作成しました。 このデータモデルのクローン版が完成すれば、ハイライトモードを使用してレポーターをクローンされたワールドに配置し、プレイヤーが報告したい対象を3D空間内で正確にハイライトできるようになります。

このアプローチにより、投稿者は自身の投稿内容をより細かく制御できるようになり、私たちもより多くのコンテンツタイプを評価するために必要なメタデータを得ることができます。また、モデレーション審査を円滑にするため、報告には自動的にスクリーンショットが添付されます。
データの完全性
プロジェクト開始当初から私たちが検討してきた重要な課題の一つは、証拠をクライアントのデバイス上でキャプチャすべきか、それともゲームサーバー上でキャプチャすべきかという点です。Robloxは、サーバーではなくクライアントの状態のみを更新するクライアントサイドスクリプトをサポートしています。さらに、一部の物理エフェクトは非決定論的であるため、サーバーサイドでのキャプチャでは、報告者が実際に体験した内容を正確に再現できない可能性があります。 報告者が目にした状況を忠実に再現できるよう、クライアント側のキャプチャを採用することに決定しましたが、これにはトレードオフが伴います。悪意のある者がクライアントにアクセスし、証拠を捏造する可能性があるからです。
これを軽減するため、我々は様々なシグナルを用いて正確性を検証し、不正確なクライアントの表現を排除しています。例えるなら、気象学者はすべての気象観測所から正確な観測値を受け取っていなくても、正確な天気予報を作成できるのと同じです。
今後の取り組み
これらの改善と、より豊富な視覚情報をキャプチャできるようになったおかげで、本システムは現在、毎月19,000件以上のポリシー違反アバターを自動的に削除しており、不適切なゲームプレイを検出するための重要な指標となっています。また、本システムの採用も進んでおり、報告対象となるケースの約19%で視覚的な注釈が添付されています。2
私たちはすでに次の段階の改善に取り組み始めており、特定の時点のスナップショットでは判断できない動的な違反(プレイヤーの動きと組み合わされたエモートなど)を検出する方法を開発中です。今年後半には、報告対象のシーンのタイムシーケンスをキャプチャする機能を有効にする予定です。Robloxがクリエイターに、より豊かなゲーム内インタラクションを構築するためのツールを提供し続ける中、当社の安全チームはすべてのプレイヤーのために安全な環境を促進し続けていきます。
本プロジェクトに携わってくれたRayan Hussain、Ryan Liu、Bridget Daly、Agatha Kielczewski、Alex Leavitt、Ying Liao、Andrew Xuの皆さんに感謝申し上げます。
1 2025年上半期のデータに基づく。
2 2026年3月1日から4月1日までのデータに基づく。


