Le contenu de ce site a été traduit à l'aide de l'intelligence artificielle (IA) ou d'une technologie de traduction automatique, et peut contenir des erreurs.

Skip to content

Comment fonctionne le journalisme en jeu sur Roblox

La technologie permettant de générer des rapports détaillés dans des environnements 3D dynamiques

  • Roblox traite quotidiennement 274 millions de mises à jour d’avatars, et ce n’est là qu’un type parmi d’autres de contenu généré par les utilisateurs que nous modérons afin de détecter les violations des règles de sécurité.1  
  • Les signalements des joueurs jouent un rôle crucial dans la détection précoce des infractions, et nous souhaitons leur permettre de signaler facilement tout contenu qu’ils jugent inapproprié ou contraire à nos règles. 
  • Comme les infractions dans le contenu 3D dynamique généré par les utilisateurs peuvent être difficiles à détecter, nous utilisons le ray casting, le clonage de modèles de données et une interface utilisateur de signalement entièrement repensée pour aider les joueurs à identifier et à signaler des objets spécifiques, en fournissant les données et les preuves visuelles nécessaires pour que nous puissions intervenir.

En période de pointe, la plateforme Roblox traite 274 millions de mises à jour d’avatars par jour Signaler et examiner les abus dans ce type de contenu 3D dynamique généré par les utilisateurs est un véritable défi, car celui-ci ne laisse pas toujours de traces explicites comme le font les contenus statiques, tels qu’un journal de discussion ou une publication sur les réseaux sociaux. Dans cet article de blog, nous décrivons notre approche pour recueillir les données et le contexte visuel nécessaires à la prise en compte des signalements des joueurs, depuis notre méthode initiale de « ray casting » pour identifier les avatars abusifs jusqu’à notre système actuel, qui s’intègre au modèle de données Roblox afin que les joueurs puissent signaler avec précision n’importe quel objet de jeu en 3D.

Les signalements des joueurs jouent un rôle crucial dans la détection précoce des violations potentielles de nos règles, et nous avons récemment mis à jour notre processus de signalement afin de permettre aux joueurs de signaler ou de bloquer plus facilement et immédiatement tout élément qui les met mal à l’aise ou en insécurité. Les signalements des joueurs entraînent désormais la suppression automatique de plus de 19 000 avatars enfreignant nos règles chaque mois et constituent un signal précoce important pour détecter les jeux inappropriés.2

Le défi de la capture de contenu dynamique

Étant donné que le contenu 3D dynamique généré par les utilisateurs peut être combiné et utilisé dans différents contextes, de simples descriptions ou captures d’écran ne fournissent pas toujours les données nécessaires pour nous permettre d’intervenir. Le contenu statique, comme les publications sur les réseaux sociaux, les commentaires sur les forums et les vidéos, constitue une documentation permanente d’un problème, ce qui facilite à la fois le signalement et l’examen des preuves. Les discussions textuelles et vocales sont enregistrées sur Roblox, mais d’autres types de contenu généré par les utilisateurs ne laissent pas de traces aussi explicites. Les images peuvent être importées depuis d’autres parties de la plateforme, les interactions dynamiques peuvent ne pas être documentées, et les joueurs combinent parfois des éléments vestimentaires inoffensifs pris isolément pour former une tenue inappropriée. 

Afin de repérer les violations des règles dans des situations dynamiques, un modérateur doit tout d’abord disposer d’un moyen d’identifier des éléments spécifiques au sein d’un jeu. Ensuite, le mécanisme d’identification doit fournir des identifiants d’objet pour le contenu signalé, afin que l’objet concerné puisse être évalué correctement. 

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.

Détection d’avatars malveillants dans un espace 3D 

Notre ancien outil de signalement s’appuyait principalement sur des preuves issues des historiques de discussion. Les signalements ne comportaient aucune information visuelle, ce qui laissait de grandes lacunes dans la compréhension des faits. Lorsque nous avons commencé à travailler sur un outil de signalement capable de saisir davantage de contexte autour d’autres types d’infractions, nous nous sommes d’abord concentrés sur un type d’objet avec lequel chaque joueur interagit : les avatars. Les joueurs peuvent personnaliser leurs avatars pour se représenter sur Roblox, et la collecte d’informations sur un avatar nous permettrait d’associer les infractions à des joueurs spécifiques, même en l’absence de traces écrites dans le chat. Un système capable d’identifier efficacement les données des avatars constituerait également une base importante pour d’autres types d’objets à l’avenir. 

Parmi les solutions envisageables figuraient la prise de captures d’écran ou l’enregistrement de l’arrière-plan afin d’étayer les signalements avec davantage de preuves. Nous avons commencé par tester les captures d’écran, car elles constituaient un moyen simple de recueillir des informations, même si elles ne permettaient pas de saisir toutes les infractions possibles. Nous nous sommes rapidement heurtés à une limite : une image en 2D ne nous aidait pas à distinguer l’avatar d’un joueur des autres avatars et PNJ dans un espace en 3D. Nous ne pouvions pas toujours identifier avec précision l’identifiant de l’utilisateur potentiellement en infraction lorsque les avatars se chevauchaient.

Nous devions trouver un moyen d’extraire davantage d’informations afin de transformer une image 2D prise à un instant donné en preuve exploitable. 

Nous avons opté pour le ray casting, une méthode efficace pour isoler les informations pertinentes dans l’espace 3D et les représenter dans une image 2D au moment où un signalement est effectué. Lorsqu’un joueur ouvre un signalement, nous commençons par rassembler la liste des joueurs présents dans la session et filtrons ceux qui ne se trouvent pas dans le champ de vision. Nous utilisons ensuite le ray casting pour déterminer les boîtes englobantes de chaque avatar de joueur. En parallèle, nous enregistrons automatiquement le contenu du tampon de trame du moteur Roblox sous forme de capture d’écran. Ainsi, une simple capture d’écran 2D peut être associée à suffisamment de données spatiales sur le monde 3D pour distinguer le contrevenant potentiel des autres avatars et de l’environnement environnant. Le ray casting nous permet de déterminer les boîtes englobantes en 3,5 millisecondes en moyenne. Des méthodes plus lentes auraient nécessité une pause gênante, perturbant l’expérience. 

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.

À partir de là, d’autres informations contextuelles concernant une éventuelle violation des règles peuvent être recueillies de manière asynchrone. Aujourd’hui, le système déclenche automatiquement ce mécanisme lorsqu’un acteur lance un signalement. 

Mode « Mise en évidence »

Ensuite, nous avions besoin d’une interface de signalement intuitive afin que les joueurs puissent identifier rapidement les contenus non conformes. Nous avons mis à jour notre interface de signalement en y ajoutant un « Mode Mise en évidence » permettant aux joueurs de surligner les éléments incriminés et d’annoter leurs signalements avec davantage d’informations. Lorsqu’un joueur cliquait sur un élément incriminé, nous projetions un faisceau de rayons formant un cercle autour de son curseur. S’il sélectionnait l’avatar d’un autre joueur, nous pouvions capturer toutes les métadonnées nécessaires pour examiner son signalement et prendre les mesures qui s’imposaient. Lors d’une étude interne menée auprès des utilisateurs, le « Mode Mise en évidence » a été très bien accueilli, notamment par les plus jeunes joueurs (âgés de 9 à 13 ans) qui pouvaient désormais signaler plus facilement un problème et mener à bien leur signalement.

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).

Avec cette première version du nouvel outil de signalement, nous ne capturions que les identifiants des avatars. Si un joueur sélectionnait autre chose, nous ne capturions pas d’identifiant d’objet. Nous pouvions examiner les signalements pour en tirer des enseignements et mieux comprendre le contexte, contacter les développeurs et décider de la marche à suivre. 

Mais nous avions imaginé un mécanisme permettant aux joueurs de mettre précisément en évidence n’importe quel élément d’un jeu et d’en capturer les données directement dans leur rapport.

Capture du modèle de données pour les types de contenu génériques

Si notre approche par ray casting circulaire fonctionnait bien pour différencier le nombre limité d’avatars ou de publicités dans la zone d’affichage d’un joueur, elle n’était pas évolutive pour tous les objets d’un jeu. Prenons l’exemple de l’environnement ci-dessous :

Dans un environnement dense où des dizaines d’objets tels que des rochers, des arbustes et des fleurs se chevauchent et s’animent, le ray casting circulaire ne permettrait pas d’identifier de manière fiable une seule fleur ou un seul arbuste. Nous devions permettre aux joueurs de mettre en évidence des objets avec plus de précision, et nous avions besoin d’un moyen de capturer les données associées à n’importe quel objet du jeu. 

Le moteur de Roblox stocke déjà une représentation du monde en 3D dans son modèle de données, mais la taille totale de ce modèle peut atteindre plusieurs gigaoctets pour un jeu. Afin d’optimiser la vitesse, nous avons créé un mécanisme de clonage (que nous avions initialement développé pour la fonctionnalité « Translation Feedback ») qui ne clone que les objets clés nécessaires au rendu d’une scène. Une fois que nous disposons de cette version clonée du modèle de données, nous pouvons alors utiliser le « mode mise en évidence » pour placer le signalant dans le monde cloné, où le joueur peut mettre en évidence avec précision ce qu’il souhaite signaler en 3D. 

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

Cette approche donne au contributeur davantage de contrôle sur ce qu’il signale et nous fournit les métadonnées nécessaires pour évaluer un plus grand nombre de types de contenu. Nous joignons également automatiquement une capture d’écran au signalement afin de faciliter l’examen par les modérateurs. 

Intégrité des données

Une question clé que nous nous posons depuis le début du projet est de savoir si nous devons capturer les preuves sur l’appareil du client ou sur le serveur du jeu. Roblox prend en charge les scripts côté client qui peuvent mettre à jour uniquement l’état du client, et non celui du serveur. De plus, certains effets physiques sont non déterministes, ce qui signifie qu’une capture côté serveur pourrait ne pas refléter exactement ce que le signalant a vécu. Nous avons opté pour la capture côté client afin de garantir que le signalant puisse enregistrer une représentation fidèle de ce qu’il voit, mais ce choix comporte un inconvénient : un acteur malveillant pourrait potentiellement accéder à un client et fabriquer de fausses preuves. 

Pour pallier ce risque, nous vérifions l’exactitude à l’aide de divers signaux et éliminons les représentations client inexactes. À titre d’analogie, les météorologues peuvent établir des prévisions météorologiques précises même s’ils ne reçoivent pas de relevés exacts de toutes les stations météorologiques. 

Travaux futurs  

Grâce à ces améliorations et à la capacité de capturer des informations visuelles plus riches, le système supprime désormais automatiquement plus de 19 000 avatars enfreignant les règles chaque mois et est devenu un indicateur important pour détecter les parties inappropriées. Nous avons également constaté une forte adoption, avec environ 19 % des signalements éligibles comprenant des annotations visuelles.2 

Nous travaillons déjà à la prochaine phase d’améliorations, en développant un moyen de détecter les infractions dynamiques (telles que les émoticônes combinées aux mouvements des joueurs) qui ne peuvent être identifiées par des instantanés ponctuels. D’ici la fin de l’année, nous prévoyons de permettre la capture d’une séquence temporelle de la scène faisant l’objet du signalement. Alors que Roblox continue de fournir aux créateurs les outils nécessaires pour développer des interactions plus riches au sein du jeu, notre équipe chargée de la sécurité continuera à promouvoir un environnement sûr pour tous les joueurs.

Nous tenons à remercier Rayan Hussain, Ryan Liu, Bridget Daly, Agatha Kielczewski, Alex Leavitt, Ying Liao et Andrew Xu pour leur travail sur ce projet.

1D'après les données du premier semestre 2025.

2D'après les données du 1er mars au 1er avril 2026.