Mit dem Entwickleremulator von Google Play Spiele auf dem PC entwickeln

Der Emulator für Entwickler von Google Play Games auf dem PC ist ein Emulator für Google Play Games auf dem PC, der speziell für Entwickler entwickelt wurde. Im Gegensatz zur Nutzererfahrung können Sie Ihre eigenen Pakete installieren und debuggen. Sie können auch verschiedene Spielerkonfigurationen wie das Seitenverhältnis, die Maus-Emulation und das Grafik-Backend simulieren, um sicherzustellen, dass Ihr Spiel auf einer Vielzahl von PC-Konfigurationen wie erwartet funktioniert.

Emulator starten

Nach der Installation haben Sie ein Startmenüelement „Emulator für Entwickler von Google Play Games“ und eine Desktopverknüpfung zum Starten des Emulators. Der Emulator bleibt in der Taskleiste, wenn Sie das Fenster schließen.

Anmelden

Sie werden beim ersten Ausführen des Emulators aufgefordert, sich in Ihrem Google-Konto anzumelden. Verwenden Sie dieselben Anmeldedaten, die Sie für die Entwicklung verwenden möchten.

Sie können sich abmelden, indem Sie mit der rechten Maustaste auf das Taskleistensymbol klicken, Entwickler Optionen auswählen und dann auf Abmeldung erzwingen klicken. Der Emulator wird dann sofort neu gestartet und Sie werden aufgefordert, sich noch einmal anzumelden.

Nach dem Start sehen Sie einen typischen Android-Startbildschirm. Linksklicks werden im Maus-Emulationsmodus direkt in Fingertipps übersetzt. Spiele, die für die Entwicklung sideloaded wurden, werden in der Anwendungsliste angezeigt. Sie können sie aufrufen, indem Sie auf dem Desktop nach oben klicken und ziehen (als würden Sie auf einem Smartphone oder Tablet nach oben wischen).

Neben der Mausübersetzung bietet der Emulator für Entwickler von Google Play Games auf dem PC Tastenkombinationen zur Verbesserung der Navigation:

  • Strg + H: Startbildschirm aufrufen
  • Strg + B: Button „Zurück“ drücken
  • F11 oder Alt + Eingabetaste: Zwischen Vollbild- und Fenstermodus wechseln
  • Umschalt + Tab: Google Play Games auf dem PC-Overlay öffnen, einschließlich der aktuellen Tastenbelegungen für das Input SDK

Spiel installieren

Der Emulator für Entwickler von Google Play Games auf dem PC verwendet die Android Debug Bridge (adb) zum Installieren von Paketen.

adb-Kompatibilität

Aktuelle Versionen von adb sind mit dem Emulator für Entwickler von Google Play Games auf dem PC kompatibel. Außerdem wird bei der Installation des Emulators eine kompatible Version unter C:\Program Files\Google\Play Games Developer Emulator\current\emulator installiert.

Damit Sie dieser Anleitung folgen können, muss adb in Ihrem $PATH verfügbar sein. Mit dem Befehl adb devices können Sie prüfen, ob adb richtig konfiguriert ist.

adb devices
List of devices attached
localhost:6520  device

Spiel installieren

  • Google Play Games for PC Emulator starten
  • Geben Sie adb devices in die Eingabeaufforderung ein. Hier sollten Sie dies sehen:

    adb devices
    List of devices attached
    localhost:6520 device
  • Fehlerbehebung:

    • Wenn ein Fehler auftritt, prüfen Sie, ob Sie die Anleitung unter adb Kompatibilität befolgt haben.
    • Wenn kein Gerät angezeigt wird, versuchen Sie, die Verbindung über Port 6520 wiederherzustellen:
    adb connect localhost:6520
  • Geben Sie adb install path\to\your\game.apk ein, um Ihr Spiel zu installieren. Wenn Sie ein Android App Bundle (aab) erstellt haben, folgen Sie der Anleitung für bundletool und verwenden Sie bundletool install-apks stattdessen.

  • Führen Sie Ihr Spiel auf eine der folgenden Arten aus:

    • Geben Sie adb shell monkey -p your.package.name 1 ein, um Ihr Spiel auszuführen. Ersetzen Sie your.package.name dabei durch den Paketnamen Ihres Spiels.
    • Klicken Sie im Emulator für Entwickler von Google Play Games auf dem PC auf das Symbol, um Ihr Spiel auszuführen. Wie auf einem Android-Smartphone müssen Sie auf dem Startbildschirm nach oben wischen, um die Liste der installierten Spiele zu sehen.

Spiel debuggen

Verwenden Sie die Android Debug Bridge (adb), um das Spiel zu debuggen, wie bei jedem anderen Spiel. Der Emulator wird als Gerät angezeigt, das über localhost:6520 verbunden ist.

adb logcat funktioniert wie erwartet, ebenso wie Tools, mit denen die logcat-Ausgabe formatiert oder gefiltert werden kann, einschließlich Android Studio.

Zusätzlich zu adb können Sie auf Protokolle im Verzeichnis %LOCALAPPDATA%\Google\Play Games Developer Emulator\Logs zugreifen. Am nützlichsten ist hier AndroidSerial.log. Es enthält alles, was adb logcat ab dem Start des Emulators ausgeben würde.

Entwicklereinstellungen

Der Emulator für Entwickler von Google Play Games auf dem PC konzentriert sich auf die Effizienz von Entwicklern und nicht auf die Nutzererfahrung. Das bedeutet, dass Sie uneingeschränkten Zugriff auf das Android-System haben, einschließlich der Verwendung des Standard-Android-Launchers anstelle der Google Play Games auf dem PC-Oberfläche. Außerdem haben Sie die Möglichkeit, Funktionen zu steuern, die für Spieler automatisch aktiviert und deaktiviert werden.

Mauseingabe testen

Während der Entwicklung verwendet der Emulator für Entwickler von Google Play Games auf dem PC standardmäßig die Touch-Emulation, anstatt Ihnen die direkte Mauseingabe zu ermöglichen. Sie können die direkte Mauseingabe aktivieren, indem Sie mit der rechten Maustaste auf das Taskleistensymbol klicken, Entwickleroptionen, und dann PC-Modus (KiwiMouse) auswählen.

Google Play Games auf dem PC hat zwei Mausmodi: einen emulierten Modus, der Mausklicks in einzelne Tippen übersetzt, und einen Passthrough-PC-Modus, mit dem Spiele Mausaktionen nativ verarbeiten und den Mauszeiger erfassen können. Weitere Informationen zur Mauseingabe in Google Play Games auf dem PC finden Sie unter Mauseingabe einrichten.

Im Player-Client wird die Emulation deaktiviert, indem Sie Folgendes in Ihr Manifest einfügen:

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

Dieses Funktions-Flag hat in der Entwicklungsumgebung keine Auswirkungen.

Seitenverhältnisse testen

Der Emulator für Entwickler wird im Seitenverhältnis 16:9 gestartet. Im Gegensatz dazu leitet der Player-Client sein Seitenverhältnis vom primären Display ab. Wenn Sie mit der rechten Maustaste auf das Taskleistensymbol klicken, Entwickleroptionen und dann eine Option im Bereich Anzeigeverhältnis auswählen, können Sie testen, wie das Spiel auf den Bildschirmen verschiedener Spieler aussieht.

Die bevorzugte Methode zum Konfigurieren des Seitenverhältnisses ist die Verwendung von android:minAspectRatio und android:maxAspectRatio.

Ein Spiel im Hochformat hat beispielsweise ein Seitenverhältnis von 9/16 oder 0.5625. Sie können also ein maximales Seitenverhältnis von 1 festlegen, um zu verhindern, dass Ihr Spiel breiter als quadratisch wird:

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

Ein Spiel im Querformat hat ein Seitenverhältnis von 16/9 oder ungefähr 1.778. Sie können also ein minimales Seitenverhältnis von 1 festlegen, um zu verhindern, dass es schmaler als quadratisch wird:

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

Was sollte getestet werden?

Wenn Ihr Spiel im Manifest nur den Hochformatmodus unterstützt, können Sie im Drop-down-Menü 9:16 (Hochformat) auswählen, um zu sehen, wie es auf den PCs der Spieler aussieht. Andernfalls prüfen Sie, ob Ihr Spiel mit den breitesten und schmalsten Querformatverhältnissen funktioniert, die Sie in Ihrem Manifest unterstützen. Beachten Sie, dass 16:9 (Standard) (oder 9:16 (Hochformat) , wenn Ihr Spiel nur im Hochformat verfügbar ist) für die vollständige Zertifizierung erforderlich ist.

Rendering-Backends testen

Google Play Games auf dem PC verwendet Vulkan zum Rendern Ihrer Spiele. Das ist sowohl in Android- als auch in PC-Umgebungen üblich. Eine Sandbox-Ebene wird verwendet, um die PC- und Android-Umgebungen zu isolieren. Da viele Spiele immer noch OpenGL ES zum Rendern verwenden, ANGLE konvertiert OpenGL ES-Befehle in Vulkan-Befehle, die mit dem Host-PC kompatibel sind.

Google Play Games auf dem PC maximiert außerdem die Spielkompatibilität und minimiert den Aufwand für Entwickler, indem es für Mobilgeräte optimierte Texturformate wie ETC1 und ETC2 zur Laufzeit automatisch in PC-freundliche Formate konvertiert. Die besten Ergebnisse erzielen Sie, wenn Sie diese Konvertierung vermeiden und Formate verwenden, die von PC-GPUs unterstützt werden, z. B. DXTC oder BPTC.

Was sollte getestet werden?

Wenn in Ihrem Spiel unerwartete Rendering-Artefakte auftreten, prüfen Sie Ihre Quellgrafiken und erwägen Sie, zu einem PC-freundlichen Format zu wechseln. Achten Sie genau auf Texturen, die für komplexere Effekte verwendet werden, da Probleme mit normalen oder Cube-Maps oft schwieriger zu erkennen sind als Probleme mit Albedo.

Die Konvertierung Ihrer OpenGL ES-Befehle in Vulkan durch ANGLE führt zu einem gewissen Mehraufwand. Prüfen Sie, ob Sie Ihre erwarteten Leistungsziele erreichen, und erwägen Sie, zu einem Vulkan-basierten Renderer zu wechseln.

PC-Spiel profilieren

Da der Emulator dieselbe Technologie wie der Nutzer-Client verwendet, ist er eine geeignete Umgebung für die Leistungsprofilierung.

Perfetto ist ein Tool zur Analyse der Leistung unter Android. So erfassen und sehen Sie einen Perfetto-Trace:

  1. Starten Sie an einer PowerShell-Eingabeaufforderung einen Trace mit adb.

    adb shell perfetto --time 10s gfx wm sched --out /data/misc/perfetto-traces/example.trace
    
    1. Das Flag --time gibt die Dauer des zu erfassenden Traces an. In diesem Beispiel beträgt der Trace 10 Sekunden.
    2. Die Argumente nach dem Flag --time geben an, welche Ereignisse getracet werden sollen. In diesem Beispiel steht gfx für Grafiken, wm für die Fensterverwaltung und sched für Informationen zur Prozessplanung. Dies sind gängige Flags für die Profilierung von Spielen. Eine vollständige Referenz ist verfügbar.
    3. Das Flag --out gibt die Ausgabedatei an, die im nächsten Schritt aus dem Emulator auf den Hostcomputer übertragen wird.
  2. Trace vom Host abrufen

    adb pull /data/misc/perfetto-traces/example.trace $HOME/Downloads/example.trace
    
  3. Trace in der Perfetto-Benutzeroberfläche öffnen

    1. Öffnen Sie ui.perfetto.dev.
    2. Wählen Sie links oben unter Navigation die Option Trace-Datei öffnen aus.
    3. Öffnen Sie die Datei example.trace, die Sie im vorherigen Schritt in Ihr Verzeichnis Downloads/ heruntergeladen haben.
  4. Prüfen Sie den Trace in der Perfetto-Benutzeroberfläche. Ein paar Tipps:

    1. Jeder Prozess hat eine eigene Zeile, die erweitert werden kann, um alle Threads in diesem Prozess anzuzeigen. Wenn Sie ein Spiel profilieren, ist der Prozess wahrscheinlich die erste Zeile.
    2. Sie können mit gedrückter Strg-Taste und dem Mausrad zoomen.
    3. Wenn Sie das Ereignis sched verwenden, gibt es eine Zeile für jeden Thread, in der der Status des Threads angezeigt wird: „running“ (wird ausgeführt), „runnable“ (ausführbar), „sleeping“ (wird inaktiviert) oder „blocked“ (blockiert).
    4. Wenn Sie ein Ereignis wie gfx aktivieren, können Sie die verschiedenen Grafikaufrufe sehen, die von verschiedenen Threads ausgeführt werden. Sie können einzelne „Slices“ auswählen, um zu sehen, wie lange sie gedauert haben. Alternativ können Sie eine Zeile ziehen, um unten einen Bereich „Slices“ zu öffnen, in dem die Dauer aller Slices im ausgewählten Zeitraum angezeigt wird.

Grafikprofilierung

Mit RenderDoc ist eine gewisse Grafikprofilierung möglich.

  1. Legen Sie die Umgebungsvariable ANDROID_EMU_RENDERDOC auf einen nicht leeren String fest (z. B. "1").
  2. Legen Sie die Umgebungsvariable TMP auf %USERPROFILE%\AppData\LocalLow fest. Dadurch wird Renderdoc angewiesen, die Protokolldateien an einem erreichbaren Ort in der Emulator-Sandbox zu platzieren.

  3. Wenn Sie das Vulkan-Backend verwenden. Wählen Sie Grafikeinstellungen > Vulkan-Instanz – Implizite Ebenen aus und prüfen Sie, ob VKLAYER_RENDERDOC_Capture aktiviert ist.

  4. Starten Sie den Emulator für Entwickler von Google Play Games auf dem PC. Solange die Unterstützung aktiviert ist, wird oben ein RenderDoc-Overlay angezeigt.

  5. Starten Sie RenderDoc jederzeit vor oder nach dem Start des Emulators für Entwickler von Google Play Games auf dem PC.

  6. Klicken Sie auf Datei > An laufende Instanz anhängen und wählen Sie crosvm aus.

Umgebungsvariablen angeben

Damit Renderdoc funktioniert, müssen Sie Umgebungsvariablen in Windows hinzufügen oder ändern. Sie können Umgebungsvariablen über die Benutzeroberfläche, PowerShell oder cmd.exe ändern.

Benutzeroberfläche verwenden
  • Drücken Sie die Windows-Taste + R, um das Dialogfeld „Ausführen“ zu öffnen.
  • Geben Sie sysdm.cpl ein, um das Fenster Systemeigenschaften zu öffnen.
  • Wählen Sie den Tab Erweitert aus, falls er noch nicht aktiv ist.
  • Klicken Sie auf die Schaltfläche Umgebungsvariablen.

Hier können Sie entweder auf die Schaltfläche Neu klicken, um eine neue Umgebungsvariable zu erstellen, oder eine Variable auswählen und auf die Schaltfläche Bearbeiten klicken, um sie zu bearbeiten.

PowerShell verwenden

Geben Sie in einem PowerShell-Fenster Folgendes ein:

$Env:VARIABLE_NAME=VALUE

Ersetzen Sie VARIABLE_NAME und VALUE durch die gewünschten Werte. Wenn Sie beispielsweise ANDROID_EMU_RENDERDOC auf "1" setzen möchten, geben Sie Folgendes ein:

$Env:ANDROID_EMU_RENDERDOC="1"
cmd.exe verwenden

Geben Sie in einem cmd.exe-Fenster Folgendes ein:

set VARIABLE_NAME=VALUE

Ersetzen Sie VARIABLE_NAME und VALUE durch die gewünschten Werte. Wenn Sie beispielsweise ANDROID_EMU_RENDERDOC auf "1" setzen möchten, geben Sie Folgendes ein:

set ANDROID_EMU_RENDERDOC="1"

Tipps für Android 11 (API-Level 30) oder höher

Google Play Games auf dem PC wird mit den neuesten Android-Releases aktualisiert. Hier sind einige Tipps für die Arbeit mit der neuesten Android-Version.

Tools auf dem neuesten Stand halten

Android Studio installiert eine Version von adb, die mit dem Emulator für Entwickler kompatibel ist. Einige Game-Engines enthalten jedoch eine ältere Version von adb. In diesem Fall finden Sie nach der Installation des Emulators für Entwickler eine kompatible Version von adb unter C:\Program Files\Google\Play Games Developer Emulator\current\emulator.

Wenn Sie eine Version von adb starten, wird die andere beendet. Wenn Ihre Game-Engine also automatisch eine eigene adb-Instanz startet, müssen Sie die Version von adb, die mit dem Emulator für Entwickler geliefert wird, bei jeder Bereitstellung neu starten und wieder verbinden.

Wenn Sie ein Android App Bundle verwenden, müssen Sie die neueste Version von Bundletool aus dem GitHub-Repository installieren.

Begrenzter Speicher

Android 11 (API-Level 30) oder höher umfasst begrenzten Speicher, der einen besseren Schutz für App- und Nutzerdaten auf externen Speichermedien bietet. Sie müssen nicht nur dafür sorgen, dass Ihr Spiel mit den Anforderungen für begrenzten Speicher kompatibel ist, sondern auch zusätzliche Schritte ausführen, um APK-Erweiterungsdateien (obb) oder Asset-Daten in den Emulator für Entwickler von Google Play Games auf dem PC zu laden. Führen Sie diese Schritte aus, wenn Sie Probleme beim Zugriff auf diese Dateien über Ihr Spiel haben:

  1. Erstellen Sie ein Verzeichnis, das Ihre App lesen kann.
  2. Übertragen Sie Ihre Erweiterungsdateien auf den Emulator.
adb shell mkdir /sdcard/Android/obb/com.example.game
adb push main.com.example.game.obb /sdcard/Android/obb/com.example.game

Sichtbarkeit von Paketen

Aufgrund der neuen Regeln zur Sichtbarkeit von Paketen können Apps, die auf Android 11 (API-Level 30) oder höher ausgerichtet sind, keine Informationen zu den anderen Apps abfragen, die auf einem Gerät installiert sind. Das bedeutet, dass Ihr Spiel nicht auf Play-Dienste zugreifen kann, wenn es über adb per Sideload übertragen wird, anstatt über den Google Play Store installiert zu werden. Wenn Sie Ihre In-App-Käufe mit einem sideloaded Spiel testen möchten, müssen Sie der Datei AndroidManifest.xml eine Abfrage für das Paket "com.android.vending" hinzufügen:

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

Spiel im Nutzer-Client installieren

Sie können ein Spiel erst dann im Nutzer-Client installieren, wenn es im Katalog der Play Games-Dienste aufgeführt ist. Nachdem Ihr Spiel einen Release hat, können Sie einen internen Testtrack erstellen, um zukünftige Updates vor der Veröffentlichung zu prüfen.

Der Player-Client unterstützt die entwicklerorientierten Funktionen des Emulators für Entwickler von Google Play Games auf dem PC nicht. Er eignet sich am besten für die Qualitätssicherung des Spiels vor der Veröffentlichung, um die End-to-End-Nutzererfahrung nach der ersten Veröffentlichung zu testen.