Tworzenie za pomocą emulatora dla deweloperów Gier Google Play na PC

Emulator deweloperski Gier Google Play na PC to emulator przeznaczony dla deweloperów, którzy tworzą gry na PC. W odróżnieniu od wersji dla graczy możesz instalować i debugować własne pakiety. Możesz też symulować różne konfiguracje graczy, takie jak proporcje obrazu, emulacja myszy i backend graficzny, aby mieć pewność, że gra działa zgodnie z oczekiwaniami na różnych konfiguracjach komputerów.

Uruchamianie emulatora

Po zainstalowaniu w menu Start pojawi się element „Emulator deweloperski Gier Google Play”, a na pulpicie skrót do uruchamiania emulatora. Po zamknięciu okna emulator pozostanie w zasobniku systemowym.

Zaloguj się

Przy pierwszym uruchomieniu emulatora pojawi się prośba o zalogowanie się na konto Google. Użyj tych samych danych logowania, których zamierzasz używać podczas tworzenia aplikacji.

Aby się wylogować, kliknij prawym przyciskiem myszy ikonę w zasobniku systemowym, wybierz Opcje programisty, a potem kliknij Wymuś wylogowanie. Gdy to zrobisz, emulator natychmiast się ponownie uruchomi i poprosi o ponowne zalogowanie się.

Po uruchomieniu zobaczysz typowy ekran główny Androida. Kliknięcia lewym przyciskiem myszy są bezpośrednio przekładane na dotknięcia palcem, tak jak w trybie emulacji myszy. Gry wgrane z zewnątrz na potrzeby programowania pojawiają się na liście aplikacji, do której możesz przejść, klikając i przeciągając w górę na pulpicie (emulując przesunięcie w górę na telefonie lub tablecie).

Oprócz translacji myszy emulator deweloperski Gier Google Play na PC udostępnia skróty klawiszowe, które ułatwiają nawigację:

  • Ctrl + H: naciśnij przycisk strony głównej.
  • Ctrl + B: naciśnij przycisk Wstecz.
  • F11 lub Alt + Enter: przełączanie między trybem pełnoekranowym a okienkowym
  • Shift + Tab: otwórz nakładkę Gier Google Play na PC, w tym bieżące mapowania klawiszy dla pakietu SDK do obsługi danych wejściowych.

Instalowanie gry

Emulator dla deweloperów Gier Google Play na PC używa Android Debug Bridge (adb) do instalowania pakietów.

Zgodność z adb

Obecne wersje adb są zgodne z emulatorem dla deweloperów Gier Google Play na PC. Podczas instalowania emulatora w lokalizacji C:\Program Files\Google\Play Games Developer Emulator\current\emulator jest też instalowana zgodna wersja.

Aby wykonać te instrukcje, musisz mieć dostęp do adb w $PATH. Możesz sprawdzić, czy adb jest prawidłowo skonfigurowany, za pomocą polecenia adb devices.

adb devices
List of devices attached
localhost:6520  device

Instalowanie gry

  • Uruchom aplikację Google Play Games for PC Emulator
  • Wpisz adb devices w wierszu poleceń. Powinno się wyświetlić:

    adb devices
    List of devices attached
    localhost:6520 device
  • Rozwiązywanie problemów:

    • Jeśli pojawi się błąd, sprawdź, czy postępujesz zgodnie z instrukcjami w sekcji Zgodność z ADB.
    • Jeśli nie widzisz urządzenia, spróbuj ponownie połączyć się przez port 6520:
    adb connect localhost:6520
  • Wpisz adb install path\to\your\game.apk, aby zainstalować grę. Jeśli masz wygenerowany pakiet Android App Bundle (AAB), zapoznaj się z instrukcjami dotyczącymi bundletool i użyj bundletool install-apks.

  • Uruchom grę na jeden z tych sposobów:

    • Wpisz adb shell monkey -p your.package.name 1, aby uruchomić grę. Zastąp your.package.name nazwą pakietu gry.
    • W emulatorze dla deweloperów Gier Google Play na PC kliknij ikonę, aby uruchomić grę. Podobnie jak na telefonie z Androidem, musisz przesunąć palcem w górę na ekranie głównym, aby wyświetlić listę zainstalowanych gier.

Debugowanie gry

Użyj Android Debug Bridge (adb), aby debugować grę tak samo jak każdą inną. Emulator pojawi się jako urządzenie połączone przez localhost:6520.

adb logcat działa zgodnie z oczekiwaniami, podobnie jak narzędzia, które pomagają upiększać lub filtrować dane wyjściowe logcat, w tym Android Studio.

Oprócz adb dzienniki są dostępne w katalogu %LOCALAPPDATA%\Google\Play Games Developer Emulator\Logs. Najbardziej przydatna jest tu zmienna AndroidSerial.log, która reprezentuje wszystko, co adb logcat odpowie od momentu uruchomienia emulatora.

Ustawienia programisty

Emulator dla deweloperów Gier Google Play na PC koncentruje się na wydajności deweloperów, a nie na wrażeniach użytkowników. Oznacza to, że masz nieograniczony dostęp do systemu Android, w tym możliwość korzystania ze standardowego programu uruchamiającego Androida zamiast z Gier Google Play na PC, oraz kontrolę nad funkcjami, które w przypadku graczy są automatycznie włączane i wyłączane.

Testowanie sygnału myszy

Podczas tworzenia emulator dla deweloperów Gier Google Play na PC domyślnie emuluje dotyk zamiast bezpośredniego sterowania myszą. Aby włączyć bezpośrednie wprowadzanie danych za pomocą myszy, kliknij prawym przyciskiem myszy ikonę w zasobniku systemowym, wybierz Opcje programisty, a następnie Tryb PC (KiwiMouse).

Gry Google Play na PC mają 2 tryby myszy: tryb emulowany, który tłumaczy kliknięcia myszy na pojedyncze dotknięcia, oraz tryb przekazywania „PC”, który umożliwia grom natywne obsługiwanie działań myszy i przechwytywanie wskaźnika. Więcej informacji o obsłudze myszy w Grach Google Play na PC znajdziesz w artykule Konfigurowanie obsługi myszy.

W kliencie odtwarzacza emulację można wyłączyć, dodając do pliku manifestu ten kod:

<manifest ...>
  <uses-feature
      android:name="android.hardware.type.pc"
      android:required="false" />
  ...
</manifest>

Ta flaga funkcji nie ma wpływu na środowisko deweloperskie.

Testowanie formatów obrazu

Emulator dewelopera uruchamia się w formacie 16:9, w przeciwieństwie do klienta odtwarzacza, który określa format na podstawie wyświetlacza głównego. Klikając prawym przyciskiem myszy ikonę na pasku systemowym, wybierając Opcje programisty, a następnie dowolną opcję w sekcji Współczynnik proporcji, możesz sprawdzić, jak gra wygląda na ekranach różnych graczy.

Preferowaną metodą konfigurowania formatu obrazu jest użycie android:minAspectRatioandroid:maxAspectRatio.

Na przykład gra w formacie pionowym ma proporcje 9/16 lub 0.5625, więc możesz ustawić maksymalne proporcje 1, aby zapobiec rozszerzaniu się gry poza kwadrat:

<activity android:maxAspectRatio="1">
 ...
</activity>

Podobnie gra w orientacji poziomej miałaby format 16/9 lub w przybliżeniu 1.778, więc możesz ustawić minimalny format obrazu na 1, aby zapobiec jego zwężeniu poniżej kwadratu:

<activity android:minAspectRatio="1">
 ...
</activity>

Co testować

Jeśli Twoja gra obsługuje w pliku manifestu tylko tryb pionowy, możesz wybrać z menu opcję 9:16 (pionowy), aby zobaczyć, jak będzie wyglądać na komputerach graczy. W przeciwnym razie sprawdź, czy gra działa przy najszerszych i najwęższych proporcjach ekranu w trybie poziomym, które obsługuje plik manifestu. Pamiętaj, że 16:9 (domyślny) (lub 9:16 (pionowy), jeśli gra jest przeznaczona tylko do trybu pionowego) jest wymagany do uzyskania pełnego certyfikatu.

Testowanie backendów renderowania

Gry Google Play na PC wykorzystują Vulkan do renderowania gier, co jest powszechne zarówno w środowiskach Androida, jak i PC. Warstwa piaskownicy służy do izolowania środowisk PC i Androida. Wiele gier nadal używa OpenGL ES do renderowania, więc ANGLE przekształca polecenia OpenGL ES na polecenia Vulkan zgodne z komputerem hosta.

Podobnie Gry Google Play na PC maksymalizują zgodność gier i minimalizują wysiłek deweloperów, automatycznie konwertując w czasie działania formaty tekstur przyjazne dla urządzeń mobilnych, takie jak ETC1 i ETC2, na formaty przyjazne dla komputerów. Aby uzyskać najlepsze wyniki, unikaj tej konwersji, korzystając z formatów obsługiwanych przez karty graficzne na komputerach, takich jak DXTC lub BPTC.

Co testować

Jeśli w grze występują nieoczekiwane artefakty renderowania, sprawdź źródłową grafikę i rozważ przejście na format przyjazny dla komputerów. Zwróć szczególną uwagę na tekstury używane do bardziej zaawansowanych efektów, ponieważ problemy z mapami normalnych lub kostkowymi są często trudniejsze do wykrycia niż problemy z albedo.

Konwersja poleceń OpenGL ES na Vulkan przez ANGLE spowoduje pewne obciążenie. Sprawdź, czy osiągasz oczekiwane wyniki, i rozważ przejście na moduł renderujący oparty na Vulkanie.

Profilowanie gry na PC

Emulator korzysta z tej samej technologii co klient konsumencki, dlatego jest odpowiednim środowiskiem do profilowania wydajności.

Perfetto to narzędzie do analizowania wydajności na Androidzie. Ślad Perfetto możesz zebrać i wyświetlić, wykonując te czynności:

  1. W wierszu polecenia PowerShell rozpocznij śledzenie za pomocą polecenia adb.

    adb shell perfetto --time 10s gfx wm sched --out /data/misc/perfetto-traces/example.trace
    
    1. Flaga --time określa czas trwania śledzenia, które ma zostać zebrane. W tym przykładzie ślad trwa 10 sekund.
    2. Argumenty po fladze --time wskazują, które zdarzenia mają być śledzone. W tym przykładzie gfx oznacza grafikę, wm zarządzanie oknami, a sched informacje o planowaniu procesów. Są to typowe flagi profilowania gier. Dostępne jest pełne odniesienie.
    3. Flaga --out określa plik wyjściowy, który w następnym kroku zostanie pobrany z emulatora na komputer hosta.
  2. Pobieranie śladu z hosta

    adb pull /data/misc/perfetto-traces/example.trace $HOME/Downloads/example.trace
    
  3. Otwieranie śladu w interfejsie Perfetto

    1. Otwórz stronę ui.perfetto.dev.
    2. W lewym górnym rogu w sekcji Nawigacja kliknij Otwórz plik śledzenia.
    3. Otwórz pobrany w poprzednim kroku plik example.trace w katalogu Downloads/.
  4. Sprawdź ślad w interfejsie Perfetto. Wskazówki:

    1. Każdy proces ma własny wiersz, który można rozwinąć, aby wyświetlić wszystkie wątki w tym procesie. Jeśli profilujesz grę, jej proces prawdopodobnie znajduje się w pierwszym wierszu.
    2. Możesz powiększać i pomniejszać widok, przytrzymując klawisz Control i używając kółka przewijania.
    3. W przypadku zdarzenia sched każdy wątek ma swój wiersz, w którym podano, kiedy stan wątku to „running”, „runnable”, „sleeping” lub „blocked”.
    4. Po włączeniu zdarzenia, takiego jak gfx, możesz zobaczyć różne wywołania graficzne wykonywane przez różne wątki. Możesz wybrać poszczególne „wycinki”, aby sprawdzić, ile czasu zajęły, lub przeciągnąć wzdłuż wiersza, aby otworzyć sekcję „wycinków” u dołu i sprawdzić, ile czasu zajęły wszystkie wycinki w wybranym przedziale czasu.

Profilowanie grafiki

Za pomocą narzędzia RenderDoc można przeprowadzić profilowanie grafiki.

  1. Ustaw zmienną środowiskową ANDROID_EMU_RENDERDOC na niepusty ciąg znaków (np. "1").
  2. Ustaw zmienną środowiskową TMP na %USERPROFILE%\AppData\LocalLow. Dzięki temu Renderdoc umieści pliki dziennika w miejscu dostępnym w piaskownicy emulatora.

  3. Jeśli używasz backendu Vulkan. Wybierz Ustawienia grafiki > Warstwy niejawne instancji Vulkan i upewnij się, że pole wyboru VKLAYER_RENDERDOC_Capture jest zaznaczone.

  4. Uruchom emulator deweloperski Gier Google Play na PC. Nakładka RenderDoc jest rysowana u góry, o ile jest włączona.

  5. Uruchom RenderDoc w dowolnym momencie przed lub po uruchomieniu emulatora deweloperskiego Gier Google Play na PC.

  6. Kliknij Plik > Dołącz do działającej instancji i wybierz crosvm.

Określanie zmiennych środowiskowych

Aby Renderdoc działał, musisz dodać lub zmienić zmienne środowiskowe w systemie Windows. Zmienne środowiskowe możesz zmieniać za pomocą interfejsu, programu PowerShell lub cmd.exe.

Korzystanie z interfejsu
  • Naciśnij Win+R, aby otworzyć okno Uruchom.
  • Wpisz sysdm.cpl, aby otworzyć okno Właściwości systemu.
  • Wybierz kartę Zaawansowane, jeśli nie jest jeszcze aktywna.
  • Kliknij przycisk Zmienne środowiskowe.

Możesz kliknąć przycisk Nowy, aby utworzyć nową zmienną środowiskową, lub wybrać zmienną i kliknąć przycisk Edytuj, aby ją edytować.

Używanie programu PowerShell

W oknie PowerShell wpisz:

$Env:VARIABLE_NAME=VALUE

Zastąp VARIABLE_NAMEVALUE wartościami, które chcesz ustawić. Aby na przykład ustawić ANDROID_EMU_RENDERDOC na "1", wpisz:

$Env:ANDROID_EMU_RENDERDOC="1"
Używanie cmd.exe

W oknie cmd.exe wpisz:

set VARIABLE_NAME=VALUE

Zastąp VARIABLE_NAMEVALUE wartościami, które chcesz ustawić. Aby na przykład ustawić ANDROID_EMU_RENDERDOC na "1", wpisz:

set ANDROID_EMU_RENDERDOC="1"

Wskazówki dotyczące Androida 11 (poziom API 30) lub nowszego

Gry Google Play na PC są aktualizowane do najnowszych wersji Androida. Oto kilka wskazówek dotyczących korzystania z najnowszej wersji Androida.

Aktualizowanie narzędzi

Android Studio instaluje wersję adb zgodną z emulatorem dewelopera, ale niektóre silniki gier zawierają starszą wersję adb. W takim przypadku po zainstalowaniu emulatora dla deweloperów możesz znaleźć zgodną wersję adb na stronie C:\Program Files\Google\Play Games Developer Emulator\current\emulator.

Jeśli uruchomisz jedną wersję adb, druga zostanie zamknięta. Oznacza to, że jeśli silnik gry automatycznie uruchamia własną instancję adb, po każdym wdrożeniu może być konieczne ponowne uruchomienie i ponowne połączenie wersji adb dostarczonej z emulatorem deweloperskim.

Jeśli używasz pakietu Android App Bundle, musisz zainstalować najnowszą wersję Bundletoolrepozytorium GitHub.

Ograniczony dostęp do miejsca na dane

Android 11 (poziom 30 interfejsu API) lub nowszy zawiera pamięć o ograniczonym zakresie, która zapewnia lepszą ochronę danych aplikacji i użytkowników na pamięci zewnętrznej. Oprócz dostosowania gry do wymagań dotyczących pamięci o ograniczonym zakresie musisz wykonać dodatkowe czynności, aby załadować pliki rozszerzeń APK (obb) lub dane zasobów do emulatora deweloperskiego Gier Google Play na PC. Jeśli podczas próby uzyskania dostępu do tych plików z poziomu gry napotkasz problemy, wykonaj te czynności:

  1. Utwórz katalog, który aplikacja może odczytać.
  2. Prześlij pliki rozszerzeń do emulatora.
adb shell mkdir /sdcard/Android/obb/com.example.game
adb push main.com.example.game.obb /sdcard/Android/obb/com.example.game

Widoczność pakietu

Ze względu na nowe zasady dotyczące widoczności pakietów aplikacje kierowane na Androida 11 (poziom API 30) lub nowszego nie mogą wysyłać zapytań o informacje o innych aplikacjach zainstalowanych na urządzeniu. Oznacza to, że Twoja gra jest blokowana przed dostępem do Usług Play, gdy jest instalowana z innego urządzenia za pomocą adb zamiast ze Sklepu Play. Aby przetestować zakupy w aplikacji w przypadku gry wczytanej z zewnątrz, musisz dodać zapytanie do pakietu „com.android.vending” w pliku AndroidManifest.xml w ten sposób:

<manifest>
    <queries>
        <package android:name="com.android.vending" />
    </queries>
</manifest>

Instalowanie gry w aplikacji klienta

Nie możesz zainstalować gry na urządzeniu klienta, dopóki nie zostanie ona umieszczona w katalogu usług gier Play. Gdy Twoja gra będzie miała jedną wersję, możesz utworzyć ścieżkę testu wewnętrznego, aby przed opublikowaniem sprawdzać przyszłe aktualizacje.

Klient odtwarzacza nie obsługuje funkcji dla deweloperów w Emulatorze deweloperskim Gier Google Play na PC. Najlepiej użyć tej opcji do sprawdzenia jakości gry przed jej opublikowaniem, aby przetestować pełną ścieżkę gracza po początkowej publikacji.