Optimierung von Steuerung, Speicher und Build-Größe für Greak: Erinnerungen an den Android Port von Azur

Im August 2021 lieferte Navegante griechisch: Erinnerungen an Azur online und im Geschäft für Konsolen und PC Plattformen der nächsten Generation gleichzeitig. In den letzten vier Jahren hat das Team seine Community eng und engagiert gehalten und Neuigkeiten zu Awards und Lizenzvergabemöglichkeiten geteilt, die ihnen geholfen haben, das geistige Eigentum über das Spiel hinaus auszuweiten.
Im letzten Jahr haben sie ein großartiges Programm von Google gefunden, bei dem Studios aus Lateinamerika Unterstützung angeboten wird, um ihre Spiele auf google play Pass zu bringen.
Wir sprachen mit Rodrigo Fernandez, Co-Kreativdirektor und leitender Programmierer bei Navegante, sowie mit Anahit Fernandez, leitender Produzent des Studios, und Nestor Gomez, leitender Programmierer. Das Trio diskutierte, wie das Team die Schwierigkeiten bei der Portierung des Titels auf Android überwunden hat.
Glückwunsch zur Einführung von Greak: Erinnerungen an Azur auf google play pass. Warum hat das Team entschieden, das Spiel nach vier Jahren auf Mobilgeräte zu portieren?
Rodrigo Fernandez: Wie sehr das Ökosystem für mobile Spiele von vor ein paar Jahren gereift ist, war sehr gespannt, insbesondere nachdem wir viele großartige mobile Indie-Spiele gesehen haben, die ein neues Publikum erreichen. Also haben wir nach Möglichkeiten gesucht und ein tolles Programm von Google gefunden.
Was war die größte Herausforderung, das Spiel auf Mobilgeräte zu bringen?
Rodrigo: Die größte Herausforderung war die Neugestaltung der Touchscreen-Steuerung und die geringere Bildschirmgröße. Wir hatten kleinere Shader-Probleme, die wir beheben mussten. Wir haben uns auch die Optimierung und das Hinzufügen von Leistungsoptionen im Spiel genauer angesehen.
Nestor Gomez: Die meisten Schwierigkeiten bereitete es, sicherzustellen, dass das Spiel auf so vielen Geräten wie möglich gut läuft, und die Mindest- und empfohlenen Spezifikationen festzulegen. Wir mussten eine gute Balance zwischen großartiger Spielerfahrung und maximaler Reichweite finden.
Anahit Fernandez: Was die kommerzielle Seite betrifft, so fand ich es herausfordernd, dass sich mobile Stores von denen für PC und Konsole unterscheiden. Von der Erstellung von Store-Assets und dem Schreiben von Beschreibungen bis hin zur Preisfindung und anderen Details war es eine riesige Lernerfahrung.

Wie wurde bei der Neugestaltung der Touchscreen-Steuerung vorgegangen?
Rodrigo: Wir haben versucht, das Erlebnis so nah wie möglich an einem vollständigen Controller zu halten. Es gibt jedoch bestimmte Tastenkombinationen, die sich nicht sehr gut reproduzieren lassen, wie das Kombinieren von Tasten zur Ausführung einer Aktion oder Mechaniken, die mehr Fingerfertigkeit erfordern. In solchen Fällen mussten wir bestimmte Aspekte des Spiels überarbeiten, um es zugänglicher zu machen, oder sie einfach komplett überarbeiten.
Nestor: Wir haben bei anderen mobilen Spielen recherchiert und das Design der Steuerungen iteriert, um sicherzustellen, dass sie sich komfortabel und intuitiv anfühlen. Ich denke, wir haben ein gutes Layout gefunden, das den Spielern gefallen wird. Wir sind auch sehr stolz darauf, externe Controller zu unterstützen, um den Spielern ein konsolenähnliches Erlebnis zu bieten. Sie können jederzeit zwischen Touchscreen und externen Controllern wechseln. Wir hoffen, das gefällt den Spielern.

Wie konnte das Team eine reibungslose Kampfleistung auf Mobilgeräten gewährleisten?
Rodrigo: Aufgrund der großen Auswahl an verfügbaren mobilen Geräten haben wir zusätzliche Einstellungen für den Player hinzugefügt, um die Renderqualität und die Ziel-Framerate anzupassen. So kann der Spieler auch auf Low-End-Geräten ein flüssiges und unterhaltsames Erlebnis haben.
Nestor: Wir haben viel Zeit damit verbracht, CPU, GPU, Speicher und Build-Größe zu optimieren. Mit dem Unity Profiler und anderen verfügbaren Tools haben wir einige Optimierungsrunden durchgeführt und das Spiel auf verschiedenen Geräten getestet, um unseren Fortschritt zu messen. Durch die ständige Messung von FPS, Speichernutzung und Build-Größe auf verschiedenen Geräten konnten wir den aktuellen Status und den zusätzlichen Optimierungsbedarf im Auge behalten.

Wie konnten Sie die Qualität des Spiels aufrechterhalten und gleichzeitig seine Größe reduzieren?
Rodrigo: Da mobile Geräte ausschließlich auf kleine Bildschirmgrößen beschränkt sind, haben wir uns darauf konzentriert, die Auflösung der Grafik-Assets und Videoclips zu reduzieren. Wir haben viele interne Tests durchgeführt, um sicherzustellen, dass diese Änderungen uns eine kleine Downloadgröße ermöglichen, ohne dass sie auffallen.
Nestor: Da das Spiel für größere Bildschirme entwickelt wurde, wussten wir, dass wir in den meisten Texturen eine zusätzliche Auflösung hatten. Wir gingen Hunderte von Texturen durch und prüften, ob wir sie verkleinern konnten. Wir haben auch das richtige Texturformat für jedes ausgewählt, um Speicher und Build-Größe zu sparen. Dadurch konnten wir die Build-Größe um fast 50 % reduzieren.

Welche Schritte haben Sie unternommen, um das Spiel für eine Vielzahl von Geräten zu optimieren?
Nestor: Der erste Schritt war, alles zu vermessen. Wir haben den Unity Profiler, den Frame Debugger, den Memory Profiler und einige externe Tools wie Android Studio und Asset Studio verwendet. Zu unseren Techniken zählten das Objektpooling, die Verwendung des Crunched-Texturformats ETC2, das Multithread-Rendering, die Reduzierung unnötiger Draw Calls, die Skalierung des Gameplay-Kamera-Renderings und die Bereinigung des Ressourcenordners.
Welche Tools und Funktionen von Unity waren am hilfreichsten?
Nestor: Wir haben in diesem Port viele Tools und Funktionen verwendet. Unity Remote hat uns geholfen, Touch-Eingaben zu simulieren, ohne einen neuen Build auf einem Gerät bereitstellen zu müssen, und mit der Patch- und Ausführungsoption konnten wir die Build-Zeit erheblich reduzieren.
Der Unity Profiler hat uns geholfen, Bereiche zu identifizieren, in denen wir zusätzliche Leistung erzielen können. Wir lieben die Timeline-Ansicht und wie sie eine großartige Ansicht dessen bietet, was in jedem Frame passiert. Mit dem Memory-Profiler haben wir unnötige Ressourcen identifiziert, die geladen wurden, was uns etwas wertvollen Speicher erspart hat. Für schnelle Speichernutzungsmessungen haben wir das Android Logcat Package verwendet, das sich auch hervorragend zum Prüfen von Nachrichten auf dem Gerät eignet.
Der Frame Debugger war eine großartige Möglichkeit, um zu erkennen, was das Batching zerstörte. Es ist wichtig, es sowohl auf dem Gerät als auch im Editor auszuführen. Auch bei Problemen, die im Editor nicht reproduzierbar waren, war es hilfreich, direkt aus Visual Studio heraus Fehler auf dem Gerät beheben zu können.
Wir haben das C#-Jobsystem nicht so umfassend genutzt, wie wir es gerne gehabt hätten. Wir haben unser Parallaxensystem jedoch auf IJobsParallelForTransform umgestellt, um ein Stück Code über Hunderte von Sprites parallel laufen zu lassen, um einige Millisekunden CPU zu sparen. Wir planen, es in Zukunft verstärkt in Projekten einzusetzen, um von den Leistungsverbesserungen zu profitieren, die es bieten kann.

Was ist Ihr größter Tipp für Entwickler, die PC und Konsolenspiele auf Mobilgeräte portieren möchten?
Nestor: Testen Sie so schnell wie möglich und so oft wie möglich auf einem Gerät. Das reicht von Touch-Controllern, Schrift-Rendering, Benutzererfahrung, Leistung, Speichernutzung, Build-Größe und Tool-Kompatibilität. Sie sollten auch Low-End- und Mittelklasse-Geräte zum Testen zur Verfügung haben, je nachdem, was Sie unterstützen möchten.
Anahit: Konzentrieren Sie sich zunächst auf Ihre Hauptplattformen und erweitern Sie diese dann, wenn Ihr Team über die erforderliche Bandbreite verfügt, auf andere Plattformen. In unserem Fall war die Community unglaublich unterstützend. Auch wenn es schon ein paar Jahre her ist: Erinnerungen an Azur kamen erstmals heraus, die Aufregung um diese Android Version machte diesen Prozess wert.
Nun, da Griechisch: Memories of Azur ist für Android erschienen. Was kommt als Nächstes?
Anahit: Wir arbeiten an dem zweiten Spiel unseres Studios, das wir später in diesem Jahr bekannt geben wollen!
Weitere Informationen zu Projekten Made with Unity finden Sie auf der Seite Ressourcen.
