Treści na tej stronie zostały przetłumaczone przy użyciu sztucznej inteligencji (AI) lub technologii tłumaczenia maszynowego i mogą zawierać błędy.

Skip to content

Jak działają relacje z gry w serwisie Roblox

Technologia umożliwiająca rejestrowanie szczegółowych raportów w dynamicznych środowiskach 3D

  • Roblox przetwarza codziennie 274 miliony aktualizacji awatarów, a to tylko jeden z rodzajów treści tworzonych przez użytkowników, które moderujemy pod kątem naruszeń zasad bezpieczeństwa.1  
  • Zgłoszenia graczy odgrywają kluczową rolę we wczesnym wykrywaniu naruszeń, dlatego chcemy ułatwić graczom zgłaszanie wszystkiego, co uznają za nieodpowiednie lub niezgodne z naszymi zasadami. 
  • Ponieważ wykrywanie naruszeń w dynamicznych, generowanych przez użytkowników treściach 3D może być trudne, wykorzystujemy ray casting, klonowanie modeli danych oraz zmodernizowany interfejs zgłaszania, aby pomóc graczom w identyfikowaniu i zgłaszaniu konkretnych obiektów wraz z danymi i dowodami wizualnymi niezbędnymi do podjęcia przez nas działań.

W szczytowych momentach platforma Roblox przetwarza 274 miliony aktualizacji awatarów dziennie Zgłaszanie i weryfikacja nadużyć w tego typu dynamicznych, tworzonych przez użytkowników treściach 3D stanowi wyzwanie, ponieważ nie zawsze pozostawiają one wyraźny ślad, jak ma to miejsce w przypadku treści statycznych, takich jak log tekstowy czy post w mediach społecznościowych. W tym wpisie na blogu opisujemy nasze podejście do gromadzenia danych i kontekstu wizualnego niezbędnych do podjęcia działań w odpowiedzi na zgłoszenia graczy – od naszego początkowego podejścia opartego na ray castingu do identyfikacji awatarów naruszających zasady, po nasz obecny system, który integruje się z modelem danych Roblox, dzięki czemu gracze mogą precyzyjnie zgłaszać dowolny obiekt 3D w grze.

Zgłoszenia graczy stanowią kluczowy element wczesnego wykrywania potencjalnych naruszeń zasad, dlatego niedawno zaktualizowaliśmy nasz proces zgłaszania, aby ułatwić graczom natychmiastowe zgłaszanie lub blokowanie wszystkiego, co sprawia, że czują się niekomfortowo lub niebezpiecznie. Zgłoszenia graczy skutkują obecnie automatycznym usuwaniem ponad 19 000 awatarów naruszających zasady miesięcznie i stanowią ważny wczesny sygnał pozwalający wykrywać nieodpowiednie gry.2

Wyzwanie związane z rejestrowaniem treści dynamicznych

Ponieważ dynamiczne treści 3D tworzone przez użytkowników mogą być łączone i wykorzystywane w różnych kontekstach, proste opisy lub zrzuty ekranu nie zawsze dostarczają nam danych niezbędnych do podjęcia działań. Treści statyczne, takie jak posty w mediach społecznościowych, komentarze na forach i filmy, stanowią trwałą dokumentację danego problemu, ułatwiając zarówno zgłaszanie, jak i weryfikację dowodów. Czat tekstowy i głosowy są dokumentowane w serwisie Roblox, ale inne rodzaje treści tworzonych przez użytkowników nie pozostawiają tak wyraźnego śladu. Obrazy mogą być wczytywane z innych miejsc na platformie, dynamiczne interakcje mogą nie być dokumentowane, a gracze czasami łączą pojedyncze, nieszkodliwe elementy ubioru, tworząc strój, który jest nieodpowiedni. 

Aby uchwycić naruszenia zasad w sytuacjach dynamicznych, zgłaszający musi najpierw mieć możliwość zidentyfikowania konkretnych elementów w grze. Po drugie, mechanizm identyfikacji musi dostarczać identyfikatory obiektów dla zgłaszanych treści, tak aby można było ocenić właściwy obiekt. 

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.

Wykrywanie obraźliwych awatarów w przestrzeni 3D 

Nasze poprzednie narzędzie do zgłaszania naruszeń opierało się głównie na dowodach z logów czatu. Zgłoszenia nie zawierały żadnych informacji wizualnych, co powodowało duże luki w zrozumieniu sytuacji. Kiedy zaczęliśmy pracować nad narzędziem do zgłaszania naruszeń, które mogłoby uchwycić więcej kontekstu wokół innych rodzajów naruszeń, skupiliśmy się najpierw na obiekcie, z którym każdy gracz wchodzi w interakcję: awatarach. Gracze mogą dostosowywać awatary, aby reprezentowały ich w Roblox, a zebranie informacji o awatarze oznaczało, że będziemy w stanie powiązać naruszenia z konkretnymi graczami, nawet jeśli w czacie nie ma żadnych śladów. System, który mógłby skutecznie identyfikować dane awatarów, stanowiłby również ważną podstawę dla innych rodzajów obiektów w przyszłości. 

Potencjalne rozwiązania obejmowały wykonywanie zrzutów ekranu lub nagrań tła w celu uzupełnienia zgłoszeń o dodatkowe dowody. Zaczęliśmy testować zrzuty ekranu, ponieważ były one łatwym sposobem na zebranie informacji, nawet jeśli nie uchwyciły wszystkich możliwych naruszeń. Szybko natrafiliśmy na ograniczenie: obraz 2D nie pomagał nam odróżnić awatara gracza od innych awatarów i postaci niezależnych (NPC) w przestrzeni 3D. Nie zawsze byliśmy w stanie dokładnie zidentyfikować identyfikatora użytkownika potencjalnego sprawcy naruszenia, gdy awatary nakładały się na siebie.

Musieliśmy wymyślić, jak wyodrębnić więcej informacji, abyśmy mogli przekształcić obraz 2D zarejestrowany w jednym momencie w dowód, na podstawie którego można podjąć działania. 

Zdecydowaliśmy się na metodę ray casting jako skuteczną technikę wyodrębniania istotnych informacji w przestrzeni 3D i przedstawiania ich na obrazie 2D w momencie zgłoszenia. Gdy gracz otwiera zgłoszenie, najpierw gromadzimy listę graczy uczestniczących w sesji i odfiltrowujemy tych, którzy nie znajdują się w polu widzenia. Następnie wykorzystujemy metodę ray casting do określenia prostokątów ograniczających awatary poszczególnych graczy. Jednocześnie automatycznie zapisujemy zawartość bufora klatek silnika Roblox jako zrzut ekranu. W ten sposób prosty zrzut ekranu 2D można połączyć z wystarczającą ilością danych przestrzennych dotyczących świata 3D, aby odróżnić potencjalnego sprawcę naruszenia od innych awatarów i otaczającego środowiska. Metoda ray casting pozwala nam określić prostokąty ograniczające średnio w ciągu 3,5 milisekundy. Wolniejsze metody wymagałyby uciążliwej przerwy, zakłócającej wrażenia z gry. 

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.

Stamtąd można asynchronicznie gromadzić inne informacje kontekstowe dotyczące potencjalnego naruszenia zasad. Obecnie system automatycznie uruchamia ten mechanizm, gdy gracz zgłasza incydent. 

Tryb podświetlania

Następnie potrzebowaliśmy intuicyjnego interfejsu zgłaszania, aby gracze mogli szybko zidentyfikować treści naruszające zasady. Zaktualizowaliśmy nasz interfejs zgłaszania, dodając tryb podświetlania, który pozwala graczom zaznaczać elementy naruszające zasady i uzupełniać zgłoszenia o dodatkowe informacje. Gdy gracz klikał na element naruszający zasady, wokół kursora gracza pojawiał się krąg promieni. Jeśli gracz zaznaczył awatar innego gracza, mogliśmy zebrać wszystkie niezbędne metadane, aby przeanalizować zgłoszenie i podjąć odpowiednie działania. W ramach wewnętrznych badań użytkowników tryb podświetlania spotkał się z pozytywnym odbiorem, w tym wśród młodszych graczy (w wieku 9–13 lat), którzy mogli teraz łatwiej zaznaczyć problem i pomyślnie złożyć zgłoszenie.

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

W tej początkowej wersji nowego narzędzia do raportowania rejestrowaliśmy wyłącznie identyfikatory awatarów. Jeśli gracz wybierał coś innego, nie rejestrowaliśmy identyfikatora obiektu. Mogliśmy analizować raporty w poszukiwaniu wniosków i szerszego kontekstu, kontaktować się z programistami i decydować, jakie dalsze kroki podjąć. 

Jednak wyobrażaliśmy sobie mechanizm, który pozwoliłby graczom precyzyjnie zaznaczyć dowolny element w grze i zarejestrować jego dane bezpośrednio w raporcie.

Rejestrowanie modelu danych dla ogólnych typów treści

Chociaż nasze podejście oparte na promieniach o kształcie koła sprawdzało się dobrze przy rozróżnianiu ograniczonej liczby awatarów lub reklam w polu widzenia gracza, nie dało się go zastosować do każdego obiektu w grze. Rozważmy poniższe środowisko:

W gęstym środowisku, w którym dziesiątki obiektów, takich jak skały, krzewy i kwiaty, nakładają się na siebie i są animowane, rzutowanie promieni w okręgu nie pozwoliłoby niezawodnie zidentyfikować pojedynczego kwiatu lub krzewu. Musieliśmy umożliwić graczom bardziej precyzyjne zaznaczanie obiektów oraz znaleźć sposób na przechwytywanie danych związanych z dowolnym obiektem w grze. 

Silnik Roblox już przechowuje reprezentację świata 3D w swoim modelu danych, ale cały model danych dla jednej gry może zajmować gigabajty. Aby zoptymalizować szybkość działania, stworzyliśmy mechanizm klonowania (mechanizm, który po raz pierwszy opracowaliśmy dla funkcji Translation Feedback), który klonuje tylko kluczowe obiekty potrzebne do renderowania sceny. Gdy już dysponujemy tą sklonowaną wersją modelu danych, możemy wykorzystać tryb zaznaczania (Highlight Mode), aby przenieść zgłaszającego do sklonowanego świata, gdzie gracz może precyzyjnie zaznaczyć w 3D to, co chce zgłosić. 

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

Takie podejście zapewnia użytkownikowi większą kontrolę nad tym, co zgłasza, a nam dostarcza metadane niezbędne do oceny znacznie szerszego zakresu rodzajów treści. Do zgłoszenia automatycznie dołączamy również zrzut ekranu, aby ułatwić proces moderacji. 

Integralność danych

Jednym z kluczowych pytań, które zadajemy sobie od początku projektu, jest to, czy powinniśmy przechwytywać dowody na urządzeniu klienta, czy na serwerze gry. Roblox obsługuje skrypty po stronie klienta, które mogą aktualizować wyłącznie stan klienta, a nie serwera. Ponadto niektóre efekty fizyczne są niedeterministyczne, co oznacza, że przechwycenie po stronie serwera może nie odzwierciedlać dokładnie tego, czego doświadczył zgłaszający. Zdecydowaliśmy się na przechwytywanie po stronie klienta, aby zapewnić, że zgłaszający może uchwycić wierne odzwierciedlenie tego, co widzi, ale wiąże się to z pewnym kompromisem: złośliwy użytkownik mógłby potencjalnie uzyskać dostęp do klienta i sfałszować dowody. 

Aby temu zapobiec, weryfikujemy dokładność za pomocą różnych sygnałów i odrzucamy niedokładne dane z klienta. Analogicznie, meteorolodzy potrafią sporządzać dokładne prognozy pogody, nawet jeśli nie otrzymują dokładnych odczytów ze wszystkich stacji meteorologicznych. 

Dalsze działania  

Dzięki tym ulepszeniom oraz możliwości rejestrowania bogatszych informacji wizualnych system automatycznie usuwa obecnie ponad 19 000 awatarów naruszających zasady miesięcznie i stał się ważnym sygnałem służącym do wykrywania nieodpowiednich rozgrywek. Odnotowaliśmy również wysoki poziom akceptacji – około 19% kwalifikujących się zgłoszeń zawiera adnotacje wizualne.2 

Pracujemy już nad kolejną fazą ulepszeń, opracowując sposób wykrywania dynamicznych naruszeń (takich jak emotikony w połączeniu z ruchem gracza), których nie da się ustalić na podstawie migawek z konkretnego momentu. Jeszcze w tym roku planujemy umożliwić rejestrowanie sekwencji czasowej zgłaszanej sceny. Ponieważ Roblox nadal zapewnia twórcom narzędzia do budowania bogatszych interakcji w grze, nasz zespół ds. bezpieczeństwa będzie nadal dbał o bezpieczne środowisko dla wszystkich graczy.

Chcielibyśmy podziękować Rayanowi Hussainowi, Ryanowi Liu, Bridget Daly, Agacie Kielczewski, Alexowi Leavittowi, Ying Liao i Andrew Xu za pracę nad tym projektem.

1Na podstawie danych z pierwszej połowy 2025 r.

2Na podstawie danych z okresu od 1 marca do 1 kwietnia 2026 r.