Entwicklung, Optimierung und Veröffentlichung von Synthety-Spielen auf Unity

Bild

Guten Tag allerseits. Endlich wurde mein Handyspiel Synthety veröffentlicht. Habr sparte oft mit Rat und Hilfe, und ich beschloss, meine Entwicklungserfahrung von Grund auf zu teilen und den eingeschlagenen Weg zusammenzufassen.

Ein bisschen kurz über alles.

Synthety ist ein Quest-Abenteuerspiel. Das Ziel des Spiels ist es, einen Ausweg vom aktuellen Ort zum nächsten zu finden. Dazu müssen Sie mit Charakteren kommunizieren, mit umgebenden Objekten interagieren, Rätsel lösen und vieles mehr. Vom Beginn der Entwicklung bis zur Veröffentlichung des Spiels flogen sie ungefähr sechs Monate lang. Das Spiel wurde auf der Unity-Engine in C # entwickelt. In diesem Beitrag möchte ich Tipps und Tricks zur Entwicklung und Veröffentlichung des Spiels geben.

Inhalt


  1. Entwicklung und Optimierung.
  2. Google Release und Umsatzgenerierung.
  3. Weitere Maßnahmen.

1. Entwicklung und Optimierung


Ich teile Handyspiele in 4 Kategorien ein. Zeitkillerspiele, soziale Spiele, MMORPG (auf jeden Fall nennen sie sich so) und atmosphärische Spiele. Ich habe das Genre der atmosphärischen Spiele gewählt, das der Kunst am nächsten kommt, und ich betrachte Spiele als Teil der Kunst. Sie können Spiele dieses Genres auf verschiedene Arten erstellen. Ich persönlich habe die folgenden Grundbedingungen gewählt, um ein Spiel für mich selbst zu erstellen: ein Gefühl für die lebende Welt, die Charaktere und die Handlung. Dies erfordert atmosphärische Grafiken, ein ausgeklügeltes Level-Design und Interaktivität mit den Objekten der Welt, und all dies wirkt sich auf die Optimierung des Spiels aus.

1.1 Spieloptimierung


Im Gegensatz zu Hypercools mit einer einfachen visuellen Darstellung und einer kleinen Anzahl von Objekten auf der Bühne, aber einer großen Anzahl von Ebenen (ca. 200-400) liegt der Schwerpunkt in meinem Spiel nicht auf der Anzahl der Ebenen, sondern auf der Qualität. Qualität erfordert jedoch Optimierung. Die wichtigsten Optimierungswerkzeuge, die ich in Unity verwendet habe:

  • Lightmapping
  • Okklusions-Keulung
  • Mesh Baker
  • Andere Optimierung.

1.1.1 Lightmapping Im Internet

gibt es viele Beiträge zum Thema Backbeleuchtung , aber ich habe keine spezifischen Werte für Backparameter gesehen, die zumindest der Ausgangspunkt für die Einstellungen wären. Daher füge ich einen Bildschirm mit meinen Parametern hinzu, die auf drei Computern (MacBook Pro, Dell G17 und Desktop-Computer) getestet wurden.

Bild

Das Ergebnis des Backens ist überall ungefähr gleich. Als Beispiel für das Backen anhand dieser Einstellungen:

Bild

Von hier aus können Sie das Backen Ihrer Szene konfigurieren, indem Sie nur drei Parameter ändern, um Ihre Ziele zu erreichen:

  • Lightmap-Auflösung (bessere Qualität, aber größere Backtextur);
  • Direkter und indirekter Beitrag (von welchen Lichtquellen wird der Einfluss von gerichteten oder allen nicht direkten Lichtquellen wie PointLight oder SpotLight stärker beeinflusst);
  • Indirekte Intensität (Umgebungslichtintensität, insbesondere wenn Sie einen Farbverlauf haben, berücksichtigt nur die Himmelsfarbe, es ist Umgebungsfarbe, wenn der Parameter Farbe eingestellt ist)

1.1.2 Okklusions-Keulung Hier ist

alles ganz einfach. Der Hauptzweck dieses Tools besteht darin, die Anzahl der Tris auf dem Bildschirm zu verringern. Standard-Unity-Parameter sind ausreichend. Eine Abnahme des kleinsten Verschlusses und des kleinsten Lochs führt zu einer Zunahme der Datengröße, es wurden jedoch keine signifikanten Dreifachverringerungen beobachtet. Tipp: Wenn Sie eine orthografische Kamera verwenden, konfigurieren Sie Schnittebenen so, dass die Objekte, die angezeigt werden sollen, und nicht die Objekte, die nicht einmal sichtbar sind, in die Kamera gelangen.

1.1.3 MeshBaker Backt

Modelle in Stapeln in einem, wodurch Drawcalls perfekt reduziert werden. Es gibt ein gutes kostenloses Tool. .

Sie können Modelle in Stapeln von 64.000 Tris backen (statische Butching-Pausen über 64.000 Tris). Ich persönlich empfehle jedoch die Verwendung rein nativer Unity-Tools, um das Risiko eines Anwendungsfehlers bei bestimmten Telefonmodellen zu verringern.

1.1.4 Andere Optimierung

Ich empfehle nicht, einen Standard-Shader für mobile Geräte zu verwenden. Insbesondere empfehle ich die Verwendung von Material mit einem diffusen Shader für Objekte mit sekundärer Sichtbarkeit. Im Allgemeinen denke ich, dass der ToonyShader-Shader ziemlich billig ist, aber in Bezug auf die Grafik akzeptabel.

Verwenden Sie keine vertikale Synchronisierung (Vsync), sondern stattdessen

Application.targetFrameRate=300;

Das Backen funktioniert nur bei statischen Objekten (statisch), und ich empfehle, dass alle dynamischen Objekte mit einer gerichteten Lichtquelle beleuchtet werden (oder mehreren, aber teilen Sie die Keulungsmaske in jede Gruppe von Objekten auf, sodass jedes Objekt seine eigene Lichtquelle hat). Verwenden Sie auch einen gefälschten Schattenprojektor. Verwenden Sie Spot- und Point-Licht nicht in Echtzeit. Verwenden Sie Lichtsonden (Backen mit Beleuchtung), um die Beleuchtung eines dynamischen Objekts im Bereich gebackener Objekte zu ändern.

Bild

Bild

2. Lassen Sie los


Wie die Anwendung auf Google Play veröffentlicht wird, wurde bereits an vielen Stellen geschrieben, insbesondere an
habr.com/en/company/livetyping/blog/326874. Daran

ist nichts auszusetzen, und jeder Schritt wird kontrolliert, und wenn etwas falsch gemacht wird, wird ein Fehler generiert mit einer Erklärung, was falsch gemacht wurde (und außerdem hat jeder Artikel einen Link zum Zertifikat).

Ich bin ein Entwickler aus Weißrussland in Minsk. In Belarus können Sie Zahlungen von Google Play nur per Banküberweisung erhalten. Sie müssen sich mit einem Antrag auf Registrierung eines einzelnen Unternehmers an die örtliche Stadtverwaltung wenden (das Formular finden Sie auf der Website der Stadtverwaltung, da diese nicht verpflichtet ist, sie Ihnen zu geben, füllen Sie sie vor der Reise selbst aus). Dort erhalten Sie am selben Tag ein Zertifikat bei UNP. Sie benötigen diese Zahlerkontonummer, um ein Bankkonto bei einem einzelnen Unternehmer zu eröffnen (innerhalb von 20 Tagen empfehle ich Ihnen, zum Finanzamt zu kommen und ein vereinfachtes Steuersystem zu beantragen). Dementsprechend müssen Sie dann die Bank anrufen (die billigsten in der Wartung sind BPS Sberbank und Belgazprombank) und erklären, dass Sie ein Girokonto in Fremdwährung und Landeswährung auf IP eröffnen möchten. Der Manager teilt Ihnen das Datum mit, an dem Sie unterschreiben müssen, und am selben Tag erhalten Sie die Kontodaten.Diese Angaben werden von Google im Entwicklerkonto unter "Einstellungen" / Zahlungseinstellungen / Ertragsmethode eingetragen.

3. Weitere Maßnahmen


Nach der Veröffentlichung wird Ihr Spiel oder Ihre Anwendung in einer großen Liste derselben Anwendungen bei Google angezeigt. Und auch in derselben großen Liste im AppStore (wo ich bald Synthety veröffentlichen werde). Werbung und Reklame sind erforderlich. Dafür nutze und plane ich persönlich insbesondere den Facebook-Verkehr für dieses Spiel. Aber das ist eine ganz andere Geschichte. Wenn es Leute gibt, die interessiert sind, werde ich einen separaten Beitrag verfassen.

Ich helfe gerne persönlich und kommentiere, wenn jemand Fragen hat, da in diesem Beitrag 10 Prozent von allem, was der Entwickler zu tun hat. Gerne helfe ich auch mindestens einer Person.

Vielen Dank für Ihre Aufmerksamkeit . Wenn Sie interessiert sind, können Sie das Spiel auf Anfrage von Synthety jetzt bei Google Play spielen.

All Articles