Mit dem Entwickleremulator von Google Play Spiele auf dem PC entwickeln

Der Emulator für Entwickler für Google Play Spiele auf dem PC ist ein Emulator für Entwickler für Google Play Spiele auf dem PC. Im Gegensatz zur Spielerfahrung können Sie Ihre eigenen Pakete installieren und debuggen. Sie können auch verschiedene Player-Konfigurationen wie das Seitenverhältnis, die Mausemulation 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 „Google Play Spiele-Entwickleremulator“ und eine Desktopverknüpfung zum Starten des Emulators. Der Emulator bleibt in der Taskleiste, wenn Sie das Fenster schließen.

Melde dich an.

Sie werden aufgefordert, sich in Ihrem Google-Konto anzumelden, wenn Sie den Emulator zum ersten Mal ausführen. Verwenden Sie dieselben Anmeldedaten, die Sie auch für die Entwicklung verwenden möchten.

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

Nach dem Starten sehen Sie einen typischen Android-Startbildschirm. Linksklicks werden wie im Maus-Emulationsmodus direkt in Fingertipps umgewandelt. Für die Entwicklung sideloaded Games werden in der Anwendungsliste angezeigt, die Sie aufrufen können, indem Sie auf dem Desktop nach oben klicken und ziehen (was einem Aufwärtsswipe auf einem Smartphone oder Tablet entspricht).

Zusätzlich zur Mausübersetzung bietet der Google Play Spiele auf dem PC-Entwickleremulator Tastenkombinationen zur Verbesserung der Navigation:

  • Strg + H: Die Startseitentaste wird gedrückt.
  • Strg + B: Drücke die Zurück-Taste.
  • F11 oder Alt + Eingabetaste: Zwischen Vollbild- und Fenstermodus wechseln
  • Umschalttaste + Tabulatortaste: Öffnet das Google Play Spiele auf dem PC-Overlay, einschließlich der aktuellen Tastenzuordnungen für das Input SDK.

Spiel installieren

Der Emulator für Google Play Spiele auf dem PC für Entwickler verwendet die Android Debug Bridge (adb), um Pakete zu installieren.

adb-Kompatibilität

Aktuelle Versionen von adb sind mit dem Entwickleremulator für Google Play Spiele 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. Sie sollten Folgendes sehen:

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

    • Wenn Sie einen Fehler erhalten, 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
  • Gib adb install path\to\your\game.apk ein, um das Spiel zu installieren. Wenn Sie ein Android App Bundle (.aab) erstellt haben, folgen Sie der Anleitung für bundletool und verwenden Sie stattdessen bundletool install-apks.

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

    • Geben Sie adb shell monkey -p your.package.name 1 ein, um das Spiel auszuführen. Ersetzen Sie dabei your.package.name durch den Paketnamen des Spiels.
    • Klicken Sie im Entwickleremulator für Google Play Spiele auf dem PC auf das Symbol, um Ihr Spiel auszuführen. Genau wie auf einem Android-Smartphone musst du auf dem Startbildschirm nach oben wischen, um die Liste der installierten Spiele aufzurufen.

Spiel debuggen

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

adb logcat funktioniert wie erwartet, ebenso wie Tools, mit denen sich die logcat-Ausgabe formatieren oder filtern lässt, einschließlich Android Studio.

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

erweitert.

Entwicklereinstellungen

Der Emulator für Entwickler für Google Play Spiele auf dem PC ist auf die Effizienz von Entwicklern und nicht auf die Nutzererfahrung ausgerichtet. Das bedeutet, dass Sie uneingeschränkten Zugriff auf das Android-System haben. Sie können beispielsweise den Standard-Android-Launcher anstelle von Google Play Spiele auf dem PC verwenden und Funktionen steuern, die sonst automatisch für Spieler aktiviert und deaktiviert werden.

Mauseingabe wird getestet

Während der Entwicklung wird im Google Play Spiele auf dem PC-Entwickleremulator standardmäßig die Touchbedienung emuliert, anstatt dass Sie die Maus direkt verwenden können. 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 Spiele auf dem PC bietet zwei Mausmodi: einen emulierten Modus, in dem Mausklicks in einzelne Taps übersetzt werden, und einen Passthrough-„PC-Modus“, in dem Spiele Mausaktionen nativ verarbeiten und den Mauszeiger erfassen können. Weitere Informationen zur Mauseingabe in Google Play Spiele 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 Entwickleremulator wird mit einem Seitenverhältnis von 16:9 gestartet. Der Player-Client leitet sein Seitenverhältnis dagegen vom primären Display ab. Wenn Sie mit der rechten Maustaste auf das Taskleistensymbol klicken, Entwickleroptionen und dann eine beliebige Option im Bereich Anzeigeverhältnis auswählen, können Sie testen, wie das Spiel auf den Bildschirmen verschiedener Nutzer 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 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 hätte ein Seitenverhältnis von 16/9 oder ungefähr 1.778. Sie sollten daher ein Mindestseitenverhältnis von 1 festlegen, damit das Seitenverhältnis nicht kleiner als quadratisch wird:

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

Was getestet werden sollte

Wenn Ihr Spiel im Manifest nur Hochformat 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 müssen Sie prüfen, ob Ihr Spiel mit den breitesten und schmalsten Querformaten funktioniert, die Sie in Ihrem Manifest unterstützen. Denken Sie daran, 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 Spiele auf dem PC verwendet Vulkan zum Rendern Ihrer Spiele. Das ist sowohl in Android- als auch in PC-Umgebungen üblich. Eine Sandboxing-Ebene wird verwendet, um die PC- und Android-Umgebungen zu isolieren. Da viele Spiele immer noch OpenGL ES zum Rendern verwenden, konvertiert ANGLE OpenGL ES-Befehle in Vulkan-Befehle, die mit dem Host-PC kompatibel sind.

Google Play Spiele auf dem PC maximiert die Spielekompatibilität und minimiert den Entwicklungsaufwand, indem es mobilfreundliche 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 getestet werden sollte

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

Durch die ANGLE-Konvertierung Ihrer OpenGL ES-Befehle in Vulkan entsteht zusätzlicher Aufwand. Prüfen Sie, ob Sie Ihre erwarteten Leistungsziele erreichen, und erwägen Sie, zu einem Vulkan-basierten Renderer zu wechseln.

Profilerstellung für Ihr PC-Spiel

Da der Emulator dieselbe Technologie wie der Client für Endnutzer 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 sich einen Perfetto-Trace an:

  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 dauert der Trace 10 Sekunden.
    2. Die Argumente nach dem Flag --time geben an, welche Ereignisse verfolgt werden sollen. In diesem Beispiel steht gfx für Grafiken, wm für die Fensterverwaltung und sched für Informationen zur Prozessplanung. Dies sind häufige Flags für das Profiling 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 heruntergeladen haben, in Ihrem Verzeichnis Downloads/.
  4. Untersuchen 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 in der ersten Zeile zu finden.
    2. Sie können heran- und herauszoomen, indem Sie die Ctrl-Taste gedrückt halten und das Mausrad verwenden.
    3. Bei Verwendung des Ereignisses sched gibt es eine Zeile für jeden Thread, in der angezeigt wird, wann der Status des Threads „running“ (wird ausgeführt), „runnable“ (ausführbar), „sleeping“ (wird in den Ruhezustand versetzt) oder „blocked“ (blockiert) ist.
    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 „Abschnitte“ auswählen, um zu sehen, wie lange sie gedauert haben. Alternativ können Sie eine Zeile ziehen, um unten einen Abschnitt mit allen „Abschnitten“ zu öffnen, in dem die Dauer aller Abschnitte im ausgewählten Zeitraum angezeigt wird.

Grafikprofilerstellung

Mit RenderDoc ist es möglich, einige Grafikprofilerstellungen durchzuführen.

  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 Logdateien an einem erreichbaren Ort in der Emulator-Sandbox zu speichern.

  3. Wenn Sie das Vulkan-Backend verwenden. Wählen Sie Grafikeinstellungen > Vulkan Instance Implicit Layers aus und prüfen Sie, ob VKLAYER_RENDERDOC_Capture aktiviert ist.

  4. Starten Sie den Entwickleremulator für Google Play Spiele auf dem PC. Ein RenderDoc-Overlay wird oben gezeichnet, solange die Unterstützung aktiviert ist.

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

  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 Win+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.

Klicken Sie entweder auf die Schaltfläche Neu, um eine neue Umgebungsvariable zu erstellen, oder wählen Sie eine Variable aus und klicken Sie auf die Schaltfläche Bearbeiten, 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. Um beispielsweise ANDROID_EMU_RENDERDOC auf den Typ "1" festzulegen:

$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. Um beispielsweise ANDROID_EMU_RENDERDOC auf den Typ "1" festzulegen:

set ANDROID_EMU_RENDERDOC="1"

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

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

Tools auf dem neuesten Stand halten

In Android Studio wird eine Version von adb installiert, die mit dem Entwickleremulator kompatibel ist. Einige Game-Engines enthalten jedoch eine ältere Version von adb. In diesem Fall finden Sie nach der Installation des Entwickler-Emulators 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 Entwickleremulator geliefert wird, möglicherweise jedes Mal neu starten und neu verbinden, wenn Sie die App bereitstellen.

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

Begrenzter Speicher

In Android 11 (API‑Level 30) oder höher ist Scoped Storage enthalten, das App- und Nutzerdaten auf externen Speichermedien besser schützt. Neben der Kompatibilität Ihres Spiels mit den Anforderungen an den eingeschränkten Speicher müssen Sie zusätzliche Schritte ausführen, um APK-Erweiterungsdateien (OBB) oder Asset-Daten in den Google Play Games auf PC-Entwickleremulator zu laden. Gehen Sie so vor, 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 die 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 Paketsichtbarkeit können Apps, die auf Android 11 (API-Level 30) oder höher ausgerichtet sind, keine Informationen zu anderen auf einem Gerät installierten Apps abfragen. Das bedeutet, dass Ihr Spiel nicht auf Play-Dienste zugreifen kann, wenn es über adb sideloaded wird, anstatt über den Play Store installiert zu werden. Wenn Sie Ihre IAP mit einem per Sideloading installierten 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 Verbraucherclient installieren

Sie können ein Spiel erst auf dem Client für Privatnutzer installieren, wenn es im Play Spiele-Dienste-Katalog aufgeführt ist. Nachdem Ihr Spiel einen einzelnen Release hat, können Sie einen internen Test-Track erstellen, um zukünftige Updates vor der Veröffentlichung zu validieren.

Der Player-Client unterstützt die entwicklerorientierten Funktionen des Google Play Spiele auf dem PC-Entwickler-Emulators nicht. Diese Funktion eignet sich am besten, um das Spiel vor der Veröffentlichung zu testen und die gesamte Spielerfahrung nach der ersten Veröffentlichung zu prüfen.