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 platformę Gry Google Play na PC. W przeciwieństwie do użytkowników możesz instalować i debugować własne pakiety. Możesz też symulować różne konfiguracje graczy, takie jak format obrazu, emulacja myszy i backend graficzny, aby mieć pewność, że Twoja gra działa zgodnie z oczekiwaniami w różnych konfiguracjach PC.

Uruchamianie emulatora

Po zainstalowaniu emulatora w menu Start pojawi się element „Emulator deweloperski Gier Google Play”, a na pulpicie – skrót do uruchamiania emulatora. Gdy zamkniesz okno, emulator pozostanie w obszarze powiadomień.

Zaloguj się

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

Aby się wylogować, kliknij prawym przyciskiem myszy ikonę w obszarze powiadomień, wybierz kolejno Developer Options i Force sign out. Gdy to zrobisz, emulator natychmiast się ponownie uruchomi i poprosi o ponowne zalogowanie.

Po uruchomieniu emulatora zobaczysz typowy ekran główny Androida. Kliknięcia lewym przyciskiem myszy są bezpośrednio przekładane na dotknięcia palcem w trybie emulacji myszy. Gry zainstalowane z innego urządzenia na potrzeby tworzenia aplikacji 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 palcem w górę na telefonie lub tablecie).

Oprócz tłumaczenia myszy emulator deweloperski Gier Google Play na PC udostępnia skróty klawiszowe ułatwiające nawigację:

  • Ctrl + H: naciśnij przycisk Home.
  • Ctrl + B: naciśnij przycisk Wstecz.
  • F11 lub Alt + Enter: przełączanie między trybem pełnoekranowym a trybem 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 deweloperski Gier Google Play na PC używa narzędzia Android Debug Bridge (adb) do instalowania pakietów.

Zgodność z adb

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

Aby wykonać te instrukcje, narzędzie adb musi być dostępne w zmiennej $PATH. Możesz sprawdzić, czy adb jest prawidłowo skonfigurowane, za pomocą polecenia adb devices.

adb devices
List of devices attached
localhost:6520  device

Zainstaluj grę

  • Uruchom Google Play Games for PC Emulator
  • W wierszu polecenia wpisz adb devices. 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
  • Aby zainstalować grę, wpisz adb install path\to\your\game.apk. Jeśli masz pakiet Android App Bundle (aab), zapoznaj się z instrukcjami dotyczącymi narzędzia bundletool i użyj bundletool install-apks zamiast tego.

  • Uruchom grę, wykonując jedną z tych czynności:

    • Aby uruchomić grę, wpisz adb shell monkey -p your.package.name 1, zastępując your.package.name nazwą pakietu gry.
    • W emulatorze deweloperskim Gier Google Play na PC kliknij ikonę, aby uruchomić grę. Podobnie jak w przypadku telefonu z Androidem, aby zobaczyć listę zainstalowanych gier, musisz przesunąć palcem w górę na ekranie głównym.

Debugowanie gry

Do debugowania używaj narzędzia Android Debug Bridge (adb) tak jak w przypadku każdej innej gry. Emulator jest widoczny jako urządzenie połączone przez localhost:6520.

Polecenie adb logcat działa zgodnie z oczekiwaniami, podobnie jak narzędzia, które pomagają formatować 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 przydatny jest plik AndroidSerial.log, który zawiera wszystkie informacje, które adb logcat wyświetla od momentu uruchomienia emulatora.

Ustawienia programisty

Emulator deweloperski Gier Google Play na PC jest zoptymalizowany pod kątem wydajności deweloperów, a nie wrażeń użytkowników. Oznacza to, że masz nieograniczony dostęp do systemu Android, w tym do standardowego programu uruchamiającego Androida zamiast do 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 aplikacji emulator deweloperski Gier Google Play na PC domyślnie emuluje dotyk zamiast bezpośredniego sygnału myszy. Aby włączyć bezpośredni sygnał myszy, kliknij prawym przyciskiem myszy ikonę w obszarze powiadomień, wybierz kolejno Opcje programisty i 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 „PC”, który umożliwia grom natywną obsługę działań myszy i przechwytywanie wskaźnika. Więcej informacji o sygnale myszy w Grach Google Play na PC znajdziesz w artykule Konfigurowanie sygnału myszy.

W kliencie gracza emulacja jest wyłączona przez dodanie do manifestu tego kodu:

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

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

Testowanie formatów obrazu

Emulator deweloperski uruchamia się w formacie obrazu 16:9, w przeciwieństwie do klienta gracza, który pobiera format obrazu z wyświetlacza głównego. Klikając prawym przyciskiem myszy ikonę w zasobniku systemowym, wybierając kolejno Opcje programisty i dowolną opcję w sekcji Format obrazu, możesz sprawdzić, jak gra wygląda na różnych ekranach graczy.

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

Na przykład, gra w orientacji pionowej ma format obrazu 9/16 lub 0.5625, więc możesz ustawić maksymalny format obrazu na 1, aby gra nie była szersza niż kwadratowa:

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

Podobnie gra w orientacji poziomej ma format obrazu 16/9 lub około 1.778, więc możesz chcieć ustawić minimalny format obrazu na 1, aby gra nie była węższa niż kwadratowa:

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

Co należy przetestować

Jeśli Twoja gra obsługuje w manifeście tylko tryby pionowe, możesz wybrać 9:16 (pionowy) w menu, aby zobaczyć, jak gra wygląda na komputerach graczy. W przeciwnym razie sprawdź, czy gra działa w najszerszych i najwęższych formatach poziomych, które obsługujesz w manifeście. Pamiętaj, że do pełnej certyfikacji wymagany jest format 16:9 (domyślny) (lub 9:16 (pionowy) , jeśli gra jest tylko w orientacji pionowej).

Testowanie backendów renderowania

Gry Google Play na PC używają platformy Vulkan do renderowania gier, która jest wspólna dla środowisk Androida i PC. Do izolowania środowisk PC i Androida używana jest warstwa piaskownicy. Ponieważ wiele gier nadal używa do renderowania platformy OpenGL ES, ANGLE przekonwertuje 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, używając formatów obsługiwanych przez karty graficzne PC, takich jak DXTC lub BPTC.

Co należy przetestować

Jeśli w grze występują nieoczekiwane artefakty renderowania, sprawdź grafikę źródłową 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 normalnymi lub sześciennymi mapami są często trudniejsze do wykrycia niż problemy z albedo.

Konwersja poleceń OpenGL ES na Vulkan przez ANGLE spowoduje pewne obciążenie. Sprawdź, czy spełniasz oczekiwane cele dotyczące wydajności, i rozważ przejście na renderer oparty na platformie Vulkan.

Profilowanie gry na PC

Ponieważ emulator używa tej samej technologii co klient konsumencki, jest odpowiednim środowiskiem do profilowania wydajności.

Perfetto to narzędzie do analizowania wydajności na Androidzie. Aby zebrać i wyświetlić ślad Perfetto, wykonaj te czynności:

  1. W wierszu polecenia PowerShell uruchom śledzenie za pomocą narzędzia adb.

    adb shell perfetto --time 10s gfx wm sched --out /data/misc/perfetto-traces/example.trace
    
    1. Flaga --time określa czas trwania śledzenia. W tym przykładzie śledzenie 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 do profilowania gier, a pełne informacje o nich są dostępne.
    3. Flaga --out określa plik wyjściowy, który w następnym kroku zostanie pobrany z emulatora na komputer hosta.
  2. Pobierz ślad z hosta.

    adb pull /data/misc/perfetto-traces/example.trace $HOME/Downloads/example.trace
    
  3. Otwórz ślad w interfejsie Perfetto.

    1. Otwórz ui.perfetto.dev.
    2. W lewym górnym rogu w sekcji Nawigacja kliknij Otwórz plik śledzenia.
    3. Otwórz plik example.trace pobrany w poprzednim kroku do 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 jest prawdopodobnie pierwszym wierszem.
    2. Możesz powiększać i pomniejszać, przytrzymując klawisz Ctrl i używając kółka myszy.
    3. Gdy używasz zdarzenia sched, każdy wątek ma wiersz, w którym widać, kiedy stan wątku jest uruchomiony, gotowy do uruchomienia, uśpiony lub zablokowany.
    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 zobaczyć, jak długo trwały, lub przeciągnąć wiersz, aby otworzyć u dołu sekcję „wycinki” i zobaczyć, jak długo trwały wszystkie wycinki w wybranym oknie czasowym.

Profilowanie grafiki

Możesz przeprowadzić profilowanie grafiki za pomocą narzędzia RenderDoc.

  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 swoje pliki dziennika w miejscu dostępnym w piaskownicy emulatora.

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

  4. Uruchom emulator deweloperski Gier Google Play na PC. Jeśli obsługa jest włączona, u góry będzie rysowana nakładka RenderDoc.

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

  6. Kliknij kolejno Plik > Dołącz do uruchomionej 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 zmienić 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.
  • Jeśli nie jest jeszcze aktywna, wybierz kartę Zaawansowane.
  • Kliknij przycisk Zmienne środowiskowe.

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

Korzystanie z programu PowerShell

W oknie PowerShell wpisz:

$Env:VARIABLE_NAME=VALUE

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

$Env:ANDROID_EMU_RENDERDOC="1"
Korzystanie z cmd.exe

W oknie cmd.exe wpisz:

set VARIABLE_NAME=VALUE

Zastąp VARIABLE_NAME i VALUE 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 30 interfejsu API) lub nowszego

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

Aktualizowanie narzędzi

Android Studio instaluje wersję adb zgodną z emulatorem deweloperskim, ale niektóre silniki gier zawierają starszą wersję adb. W takim przypadku po zainstalowaniu emulatora deweloperskiego zgodną wersję adb znajdziesz w folderze 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 połączenie wersji adb dołączonej do emulatora deweloperskiego.

Jeśli używasz pakietu Android App Bundle, musisz zainstalować najnowszą wersję narzędzia Bundletool z repozytorium GitHub.

Ograniczony dostęp do miejsca na dane

Android 11 (poziom 30 interfejsu API) lub nowszy obejmuje ograniczony dostęp do miejsca na dane, który zapewnia lepszą ochronę danych aplikacji i użytkowników w pamięci zewnętrznej. Oprócz dostosowania swojej gry do wymagań dotyczących ograniczonego dostępu do miejsca na dane musisz wykonać dodatkowe czynności, aby wczytać pliki rozszerzeń APK (obb) lub dane zasobów do emulatora deweloperskiego Gier Google Play na PC. Jeśli masz problemy z dostępem do tych plików z gry, wykonaj te czynności:

  1. Utwórz katalog, do którego Twoja aplikacja może odczytywać dane.
  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 reguły widoczności pakietów aplikacje kierowane na Androida 11 (poziom 30 interfejsu API) lub nowszego nie mogą wysyłać zapytań o informacje o innych aplikacjach zainstalowanych na urządzeniu. Oznacza to, że Twoja gra nie może uzyskać dostępu do Usług Google Play, jeśli została zainstalowana z nieoficjalnego źródła za pomocą narzędzia adb zamiast ze Sklepu Play. Aby przetestować zakupy w aplikacji w grze zainstalowanej z innego urządzenia, 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 kliencie konsumenckim

Nie możesz zainstalować gry w kliencie konsumenckim, dopóki nie zostanie ona umieszczona w katalogu Usług Gier Play. Gdy gra będzie miała jedną wersję, możesz utworzyć ścieżkę testu wewnętrznego, aby sprawdzić przyszłe aktualizacje przed ich opublikowaniem.

Klient gracza nie obsługuje funkcji emulatora deweloperskiego Gier Google Play na PC przeznaczonych dla deweloperów. Najlepiej użyć go do kontroli jakości gry przed jej opublikowaniem, aby sprawdzić wrażenia gracza po pierwszej wersji.