Pixonic steigerte durch Optimierung für große Bildschirme die Interaktion auf ChromeOS um 25 %

Hintergrund

Pixonic ein Team von Videospielentwicklern mit Hauptsitz in Moskau, stolz auf Er nutzte jede Gelegenheit, seine mobilen Apps zu aktualisieren, von Gamern. Eines der bekanntesten Titel des Unternehmens ist War Robots Ein PvP-Spiel für 12 Personen, in dem Spieler sich operieren und sich messen maßgeschneiderte Roboter auf einem Schlachtfeld.

War Robots wurde 2014 veröffentlicht und wurde ursprünglich für die Android-App Geräten der frühen Generation, die sich per Touchpad bewegen und keine Maus bedienen können. Die Das Team von Pixonic, selbst begeisterte Gamer, erkannte, dass die App einige um eine bessere User Experience auf einer breiteren Palette von Geräten zu bieten, wie Laptops und Tablets. War Robots konnte bereits auf allen Android-Geräten gespielt werden. da auf Chromebooks eine Vollversion des Android-Frameworks ausgeführt wird in einem Container. Durch weitere Codierungsanpassungen konnte Pixonic Vorteile von ChromeOS“ voll funktionsfähig sind.

Das Pixonic-Team hat „War Robots“ so optimiert, auf größeren Bildschirmen.

Vorgehensweise

Zum Starten der Optimierungen fügte Pixonic ein Metadaten-Tag in AndroidManifest.xml hinzu, das dem System mitteilt, dass es für die vollständige ChromeOS-Unterstützung bereit ist und die Touch-Emulation deaktiviert werden muss:

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

Außerdem hat Pixonic den minSdk-Wert der App auf 24 gesetzt, damit die Unity-Gaming-Engine Mausklicks und alle bewegungsbezogenen API-Ereignisse direkt empfangen (nicht nur Touchpad-Ereignisse).

Tastatur- und Mausunterstützung

In Third-Person-PvP-Spielen wie War Robots ist es viel einfacher, sich zu bewegen und zu zielen mit der Tastatur und der Maus, vor allem auf Geräten mit größerem Bildschirm. Im nächsten Schritt überarbeitete Pixonic deshalb den Code so, dass im Kampfmodus des Spiels sowohl Tastatur und Maus als auch weiterhin der Touchscreen zur Steuerung verwendet werden konnten.

Um die richtigen Steuerelemente zur richtigen Zeit bereitzustellen, entwickelte das Team von Pixonic neuen Code So prüfen Sie den aktuellen Spielmodus des Nutzers:

@Override
public void onConfigurationChanged(Configuration newConfig) {
    boolean hasQwertyKeyboard = newConfig.keyboard == Configuration.KEYBOARD_QWERTY && newConfig.hardKeyboardHidden == Configuration.HARDKEYBOARDHIDDEN_NO;
    try {
        UnityPlayer.UnitySendMessage("Receiver", "ConfigChange", new JSONObject().put("keyboard", hasQwertyKeyboard).toString());
    } catch (JSONException e) {
        e.printStackTrace();
    }
}

Wenn eine QWERTY-Tastatur erkannt wird, passt sich das Spiel an den Desktopmodus an. Die Der Joystick unten links verschwindet und alle verfügbaren Aktionen (wie das Sortieren von Waffen, Fähigkeiten und Menüs) sind gekennzeichnet mit Tastenkombinationen.

War Robots im Laptopmodus.

Wenn keine Tastatur erkannt wird, erscheint der Joystick links unten und die Tastenkombinationen werden unten rechts nicht angezeigt.

War Robots im Spielmodus für Tablets/Mobilgeräte.

Als Nächstes wollte Pixonic den Cursor ausblenden, wenn ein Spieler mit der Maus, um die Kamera zu drehen. Durch eine Ausrichtung auf Android 7.0 (API-Level 24) oder könnte das Team ein beliebiges Zeigersymbol festlegen. In diesem Fall verwendete das Team eine transparente Bitmap, damit der Cursor im Spiel selbst unsichtbar bleibt:

public boolean setPointerVisibility(boolean visible) {
    View = activity.findViewById(android.R.id.content);
    view.setPointerIcon(PointerIcon.getSystemIcon(activity, visible ? PointerIcon.TYPE_DEFAULT : PointerIcon.TYPE_NULL));
}

Dadurch wurde sichergestellt, dass der Cursor deaktiviert und unsichtbar wird, wenn alle anderen Fenster geschlossen sind und ein Kampf läuft. Wenn Pop-up-Fenster wie Pause-Menü platzierte, hat Pixonic den Cursor sichtbar gemacht und sein Standardsymbol angezeigt.

Anpassung von Spielanleitungen und -mechaniken

Für eine bessere Nutzererfahrung hat Pixonic außerdem neuen Code entwickelt, um verschiedene Gameplay-Tutorials basierend auf dem aktuellen Gerätemodus des Nutzers. Wenn ein Spieler wechselt zwischen Tablet und Laptop spielen. Tutorial für den anderen Modus, wird die Anleitung angezeigt, bevor das Spiel fortgesetzt wird.

Spielanleitungen im Laptopmodus mit Tastatur- und Mauseingabe

Gameplay-Tutorial im Tablet-Modus mit Touchscreen-Steuerung.

Im Laptopmodus deaktiviert Pixonic außerdem die Touchscreen-Kamera da die Spieler die Kamera mit einer Maus steuern, während alle wie gewohnt funktionieren. Um Berührungen von Mausbewegungen zu unterscheiden, Das Team verwendet die Property Input.touchCount (in Unity-Skripts):

if(Input.touchCount > 0) {
    // this is screen touch event
} else {
    // this is mouse (touchpad) event
}

Unterstützung für Mehrfenstermodus

Im letzten Schritt wollte Pixonic dafür sorgen, dass das Spiel beim Starten nicht automatisch im Vollbildmodus gestartet wird. Das Aktivieren von Spielen im Fenstermodus unter ChromeOS ermöglicht Nutzer gleichzeitig ihre Lieblingsstreamer beim Spielen ansehen können, ihre Roboter lesen und sich auf dem Website des Spiels ansehen oder eine Schlacht in wenn du dir ein separates Video ansiehst.

Dazu hat Pixonic die Größe von UnityPlayerActivity angepasst:

<activity android:name="com.unity3d.player.UnityPlayerActivity" ....
    android:resizeableActivity="true">

Die Benutzeroberfläche des Spiels kann nur Größenbereich hat, hat das Team die minimalen unterstützten Fenstergrößen festgelegt:

<activity … >
    <layout android:gravity="center" android:minHeight="800dp" android:minWidth="1200dp" />
</activity>

Pixonic nutzte Meta-Tags, um den Vollbildmodus für ein immersives Spielerlebnis zu bieten. Standardeinstellung und wie gewünscht im Querformat.

<application>
    <meta-data android:name="WindowManagerPreference:FreeformWindowSize" android:value="maximize" />
    <meta-data android:name="WindowManagerPreference:FreeformWindowOrientation" android:value="landscape" />
    ….
</application>

War Robots wird im Fenstermodus gestartet.

So verhinderten die Entwickler auch gleichzeitig, dass das Spiel pausiert wird, wenn der Spieler in den Mehrfenstermodus wechselt. Außerdem passt sich das Heads-up-Display im Kampf so dynamisch an die jeweilige Fenstergröße an.

Ergebnisse

Dank der umfangreichen Bibliothek mit Online-Ressourcen kann das gesamte Das fünfköpfige Entwicklungsteam von Pixonic brauchte dafür nur zwei Wochen.

Seitdem haben mehr als 100.000 Spieler „War Robots“ bereits auf ChromeOS gespielt Pixonic hat die neuesten Optimierungen eingeführt. Weil das Gameplay jetzt nutzen den zusätzlichen Platz auf größeren Bildschirmen, immersiver und interaktiver als zuvor. Tatsächlich sind die Nutzersitzungen 25% länger auf Chromebooks im Vergleich zu anderen Android-Geräten. Frühes Feedback und manche Unternehmen haben sogar festgestellt, Das für Chromebooks optimierte Spiel läuft flüssiger als das von BlueStacks Emulator.

Aufgrund des Erfolgs planen die Entwickler von Pixonic, Grafiken auf allen Android-Geräten, damit das Gameplay noch besser an PC-Qualität wird Nutzererfahrung.

Mit unseren Best Practices können Sie Ihre Apps für ChromeOS optimieren.