Eksperymenty pozwalają na przeprowadzanie testów A/B w grze i matchmakingu, aby zmierzyć przyczynowy wpływ zmian w twojej grze. Na przykład, możesz pokazać różne doświadczenia wprowadzające różnym graczom i zmierzyć różnice w czasie gry, retencji i innych kluczowych wskaźnikach wydajności.
Eksperymenty są doskonałe do mierzenia następujących aspektów:
- Zaangażowanie - Procesy wprowadzające, systemy postępu, schematy sterowania, niestandardowy matchmaking
- Monetyzacja - Widoczność sklepu i doświadczenie użytkownika, rodzaje pakietów startowych, ceny

Tworzenie eksperymentów
Eksperymenty występują w dwóch typach:
- Eksperymenty w grze pozwalają na mierzenie wpływu różnych wartości konfiguracyjnych.
- Eksperymenty matchmakingowe pozwalają na mierzenie wpływu różnych konfiguracji niestandardowego matchmakingu. W przeciwieństwie do eksperymentów w grze, możesz uruchomić tylko jeden eksperyment matchmakingowy w danym czasie.
Jeśli nie masz jeszcze konfiguracji, stwórz jedną dla swojej gry.
Na stronie Creator Hub Eksperymenty dla swojej gry, kliknij Utwórz eksperyment.
Dla Typu, wybierz W doświadczeniu.
Określ nazwę, wskaźnik celu i planowany czas trwania eksperymentu. Eksperymenty trwają od 14 do 60 dni.
Niezależnie od tego, co wybierzesz jako wskaźnik celu, eksperymenty śledzą wszystkie wskaźniki z listy.
Wybierz procentowy zasięg. Ta liczba to procent graczy, których chcesz uwzględnić w eksperymencie.
Ogólnie rzecz biorąc, im więcej osób uwzględnisz w eksperymencie, tym lepsze dane, ale użyj swojego osądu, co jest najlepsze dla twojej gry.
Określ warianty i procenty.
Warianty to alternatywne wartości dla twojej konfiguracji. Dla numerycznego klucza konfiguracyjnego bossHealth z wartością kontrolną 500, możesz określić wariant 300. Możesz mieć do dwóch wariantów i jednej kontroli w eksperymencie.
Procenty określają, jak przypisać warianty w ramach zasięgu eksperymentu. Rozważ następujący przykład:
- Wybierasz ogólny zasięg 40%.
- Określasz dwa warianty i podział 50/50 między nimi a kontrolą.
W tym przykładzie 60% twoich użytkowników jest wykluczonych z eksperymentu; ci użytkownicy otrzymują kontrolę i nie mają wpływu na wyniki eksperymentu. Około 20% twoich użytkowników otrzymuje kontrolę jako część eksperymentu. Kolejne 20% otrzymuje wariant. W zależności od liczby graczy, ta dystrybucja może nie być wystarczająco duża, aby uzyskać użyteczne wyniki.

Ostatnim krokiem jest harmonogram. Możesz rozpocząć eksperymenty natychmiast lub zaplanować je na późniejszą datę i godzinę. Po zaplanowaniu eksperymentu nie możesz zmienić jego konfiguracji (czas trwania, procent zasięgu, warianty itp.), ale możesz go przeplanować.
Wskaźniki
Eksperymenty śledzą wszystkie następujące wskaźniki przez czas trwania eksperymentu.
| Wskaźnik | Opis |
|---|---|
| D1 retencja | Procent graczy, którzy wrócili do twojej gry po jednym dniu. |
| D7 retencja | Procent graczy, którzy wrócili do twojej gry po jednym tygodniu. |
| Czas gry | Średni czas, jaki gracze spędzili w twojej grze. Skumulowany przez czas trwania eksperymentu. |
| ARPU | Średni przychód na użytkownika. Przychód podzielony przez liczbę graczy. Skumulowany przez czas trwania eksperymentu. |
| ARPPU | Średni przychód na płacącego użytkownika. Przychód podzielony przez liczbę graczy, którzy zakupili przedmiot związany z grą. Skumulowany przez czas trwania eksperymentu. |
| Wskaźnik konwersji płacących | Procent graczy, którzy zakupili przedmiot związany z grą. |
| Czas sesji | Czas gry podzielony przez liczbę sesji. Skumulowany przez czas trwania eksperymentu. |
Status eksperymentu
Strona Eksperymenty pokazuje następujące statusy dla eksperymentów.
| Status | Opis |
|---|---|
| Zakończony | Eksperyment się zakończył, co następuje, gdy zatrzymasz go ręcznie, gdy osiągniesz decyzję lub automatycznie krótko po dacie decyzji (14 dni po dla eksperymentów w grze, natychmiast dla matchmakingu). Możesz nadal przeglądać szczegóły i wyniki. |
| Decyzja potrzebna | Eksperyment osiągnął swoją datę decyzji. Teraz jest dobry czas, aby przeglądać wyniki. |
| W trakcie | Eksperyment jest w toku, ale jeszcze nie osiągnął daty decyzji. |
| Zaplanowany | Eksperyment jest zaplanowany na rozpoczęcie w przyszłej dacie. |
| Szkic | Eksperyment nie został jeszcze rozpoczęty ani zaplanowany. Możesz dokończyć jego konfigurację. |
Dodaj eksperymenty do swojego kodu
Zastosowanie eksperymentów w grze jest podobne do zastosowania konfiguracji. Główna różnica polega na użyciu ConfigService:GetConfigForPlayerAsync() zamiast ConfigService:GetConfigAsync().
GetConfigForPlayerAsync() pobiera specyficzny dla gracza zrzut. Gdy wywołasz GetValue(), zrzut sprawdza, czy istnieje aktywny eksperyment i zapisuje (lub nie zapisuje) użytkownika na podstawie procentu zasięgu.
local ConfigService = game:GetService("ConfigService")
local Players = game:GetService("Players")
local function onPlayerAdded(player)
local playerConfig = ConfigService:GetConfigForPlayerAsync(player)
local leaderboardColor = playerConfig:GetValue("leaderboardColor")
end
Players.PlayerAdded:Connect(onPlayerAdded)Musisz wywołać GetConfigForPlayerAsync() osobno dla każdego gracza; GetConfigAsync() nie stosuje eksperymentów.
Po wywołaniu GetValue() na zrzucie specyficznym dla gracza, gracz związany z tym zrzutem jest zapisany w eksperymencie dla tego klucza i tylko tego klucza. Wszystkie kolejne wywołania metody zwracają tę samą kontrolę lub wariant przez czas trwania eksperymentu. Tylko pierwsze wywołanie jest losowe.
Zapis w eksperymentach nie jest ograniczony do nowych użytkowników. Nawet jeśli użytkownik wcześniej otrzymał wartość z GetConfigAsync(), nadal możesz zapisać go w eksperymencie, używając zrzutu specyficznego dla gracza z GetConfigForPlayerAsync().
Jeśli klucz w zrzucie specyficznym dla gracza nie ma aktywnego eksperymentu, GetValue() zwraca standardową wartość konfiguracyjną (lub nil, jeśli nie ma wartości).
Ukierunkowane zapisy
Jeśli chcesz ukierunkować część swoich graczy, którzy spełniają określone kryteria, musisz napisać dodatkowy kod, aby sprawdzić te kryteria, a następnie wywołać GetValue(), aby zapisać ich w eksperymencie. Rozważ następujący przykład:
- Chcesz przetestować nowy schemat sterowania w swojej grze.
- Nie chcesz uwzględniać istniejących graczy (którzy są prawdopodobnie przyzwyczajeni do istniejącego schematu), tylko nowych graczy.
Twój kod może wyglądać mniej więcej tak:
local function getControlScheme(player, racesCompleted)
if racesCompleted > 0 then
return "standardScheme"
else
-- Gracz jest nowy, zapisz w eksperymencie
local playerConfigSnapshot = ConfigService:GetConfigForPlayerAsync(player)
if playerConfigSnapshot:GetValue("useNewControlScheme") then
return "newScheme"
else
return "standardScheme"
end
end
endJeśli chcesz, aby schemat sterowania utrzymywał się w kolejnych sesjach, prawdopodobnie musisz dodać wartość do wpisu gracza w magazynie danych.
Wyświetlanie i interpretacja wyników
Po tym, jak eksperyment trwał co najmniej 24 godziny, kliknij Wyświetl, aby zobaczyć szczegóły i wyniki.

Możesz zobaczyć całkowitą liczbę zapisanych graczy, a także liczbę graczy, którzy otrzymali wartość kontrolną i każdy wariant. Wczesne przeglądanie tej strony w eksperymencie jest przydatne wyłącznie do upewnienia się, że eksperyment działa prawidłowo, nie do podejmowania działań. Przed podjęciem działań zapoznaj się z Najlepszymi praktykami.
Po zakończeniu eksperymentu sprawdź zakładkę Wyniki. Szukaj statystycznie istotnych zmian w wskaźnikach celu, które pulpit nawigacyjny podświetla na zielono lub czerwono. Te zmiany są bardziej prawdopodobne, aby pokazać wpływ twojego wariantu i mniej prawdopodobne, aby były fałszywymi pozytywami lub negatywami.

Najedź kursorem na dowolny wskaźnik, aby zobaczyć przycisk Wyświetl zaufanie, który pokazuje przedział ufności.
Wskaźnik jest statystycznie istotny, gdy przedział ufności dla jego procentowej zmiany nie pokrywa się z 0%. W następującym przykładzie, D1 retencja wzrosła o 17,4%, z dolnymi i górnymi granicami 8,02% i 22,03%, co czyni tę zmianę statystycznie istotną.

Dla wygody strona wyników pozwala na zastąpienie domyślnej wartości konfiguracyjnej jednym z wariantów z eksperymentu. Kliknij Podejmij decyzję, aby wybrać wariant lub Zmień zwycięzcę, jeśli zmienisz zdanie. Jeśli następnie wrócisz do strony Konfiguracje, powinieneś zobaczyć nową wartość.
Najlepsze praktyki dla eksperymentów
Użyj minimalnego wykrywalnego efektu (MDE), aby zdecydować, czy twój eksperyment jest wart przeprowadzenia.
Roblox oblicza MDE na podstawie twojego wskaźnika celu i liczby graczy na wariant, co opiera się na dziennych aktywnych użytkownikach, procencie zasięgu, czasie trwania eksperymentu i podziałach wariantów. Jeśli MDE jest zbyt wysoki dla twojego wskaźnika celu (na przykład, więcej niż 100%), jest mało prawdopodobne, że osiągniesz istotność statystyczną. Gry z mniej niż 1,000 dziennymi aktywnymi użytkownikami mogą mieć trudności z uzyskaniem użytecznych danych z eksperymentów.

Zacznij od hipotezy. Zamiast po prostu zmieniać zmienną i sprawdzać wyniki, napisz stwierdzenie przyczynowo-skutkowe dotyczące tego, co zmieniłeś, co oczekujesz, że się wydarzy, i dlaczego. W miarę przeprowadzania coraz większej liczby eksperymentów, posiadanie zestawu napisanych hipotez, które towarzyszą twoim wynikom, może pomóc w wyjaśnieniu twojego myślenia i zainspirować nowe pomysły na eksperymenty.
Pozwól eksperymentom trwać przez pełny czas. Efekt nowości (tymczasowe zainteresowanie zmianą nie dlatego, że jest lepsza, ale dlatego, że jest nowa) może mocno zniekształcić wczesne wyniki, czasami powodując, że wchodzą i wychodzą z istotności statystycznej. Kończenie eksperymentów zbyt wcześnie zwiększa szanse na podjęcie przedwczesnych działań na podstawie anomalii, które więcej danych mogłoby wygładzić lub nawet zaprzeczyć.
Nie działaj bez istotności statystycznej. Nawet pozornie duże zmiany w zachowaniu graczy mogą nie być statystycznie istotne, zazwyczaj z powodu małej próbki. Jeśli zmiana nie jest statystycznie istotna, zignoruj ją.
Unikaj zmian podczas eksperymentów. Poważne błędy oczywiście wymagają poprawek, ale zmiany w treści gry mogą wpływać na zachowanie graczy i unieważnić twoje wyniki, nawet jeśli zmiany wydają się niezwiązane z twoim eksperymentem. Podobnie, uruchamiaj eksperymenty jednocześnie tylko wtedy, gdy jesteś pewien, że nie będą miały wpływu na siebie nawzajem.
Używaj przedziałów ufności do głębszej analizy wskaźników i sprawdzania granicznych przypadków istotności statystycznej. Jeśli przedział ufności jest zbyt szeroki, wskaźnik może nigdy nie osiągnąć istotności statystycznej.
Jeśli jeden wskaźnik znacznie wzrasta, a inny znacznie spada, musisz zdecydować, czy kompromis jest wart tego, być może w połączeniu z innymi statystycznie istotnymi ruchami.
Eksperymenty dostarczają silnych sygnałów, ale istotność statystyczna dotyczy prawdopodobieństw, a nie pewności—stąd przedział ufności. Zmienność danych, rozmiar próbki i wielkość zmiany wpływają na prawdopodobieństwo wykrycia, czy wariant wpłynął na zachowanie graczy. Jakiekolwiek działania, które podejmujesz na podstawie wyników eksperymentu, powinny być zrównoważone z danymi jakościowymi, takimi jak opinie graczy i twoja ogólna wizja gry.
Dokumentuj swoje odkrycia i decyzje. Nawet jeśli nie używasz ich do przeprowadzania dodatkowych eksperymentów, posiadanie zbioru wiedzy i dowodów może informować, jak projektujesz swoje gry.