Wenn Sie eine Idee für eine neue Spielmechanik oder sogar ein interessantes Konzept haben, werden Sie bald davon besessen sein und den immensen Drang verspüren, bereits etwas zu tun. Manchmal schreibt man solche Ideen irgendwo auf und bringt ihnen die Chance, später den gesamten Entwicklungszyklus in Gang zu setzen. Aber ich bin auf das Gegenteil gestoßen. Mein aktuelles Spiel wurde zu diesem riesigen Monster, das Finanzen und Zeit verschlang und viel größer wurde, als ich jemals gedacht hatte. Also musste ich es für eine Weile zurückstellen. Aber ich konnte nicht ohne Spieleentwicklung sitzen und in meiner Freizeit habe ich begonnen, an meinem neuen Projekt zu arbeiten! Außerdem war das ganz anders als die vorherigen, weil ich mich für das Handy entschieden habe. Wenn Sie daran interessiert sind, wie dieses Projekt durchgeführt wurde, von einer kleinen Idee bis zur endgültigen Veröffentlichung, dann lassen Sie uns darauf eingehen!

Klar, ich erzähle von meiner Erfahrung und meiner Vision, aber viele Dinge wären für jedes Projekt üblich, und vielleicht finden Sie einige nützliche Tipps für sich.
Bildhauerei auf der Ideengrundlage
Die Hauptidee war ziemlich einfach - machen wir ein Labyrinth, ein Labyrinth! Sie können zwar einige einfache Spiele in einem solchen Genre im Laden finden, aber ich glaube, dass Sie etwas mehr ins Spiel bringen sollten, als nur dem Genre-Klischee zu folgen. Ich bin tief besorgt über das Spieldesign im Allgemeinen und liebe die Geschichten und Abenteuererlebnisse mit einem deutlichen Anfang und dem markanten Ende. Ich konnte hier keine Ausnahme von meinen Idealen machen. Außerdem wollte ich eine interessante Spielmechanik. Mein Ansatz war es, dem Labyrinth-Konzept eine weitere Variable hinzuzufügen. Und nach einigem Brainstorming war die neue Idee geboren. Das war die Kette und das System der Kettenschalter. Die Bewegung des Hauptcharakters wird also durch die Kettenlänge und die vom Spieler gewählten Pfade eingeschränkt. In diesem Sinne müssen Sie nicht nur den Ausgang finden, sondern auch den kürzest möglichen Weg! Und was ist, wenn ich Ihnen sage, dass Ihre Kette ziemlich kurz ist und Sie erst nach einem Kettenschalter weiter gehen können, der den neuen Ankerpunkt und die neue Kette mit unterschiedlicher Länge versehen wird? Jetzt wird das Spiel schwieriger, da Sie die richtige Reihenfolge dieser Schalter im Labyrinth finden müssen. Und wenn Ihnen das nicht genug war - dann fügen wir Türen hinzu, die Sie mit speziellen Aktivatoren irgendwo in einem Labyrinth öffnen und dann zurückkommen müssen, um immer noch an die Schalter und die Kette zu denken.

Die Grenzen verstehen
Natürlich war es nicht einfach, all diese Funktionen im Voraus zu planen. Einige von ihnen wurden aufgrund technischer Einschränkungen und strengen Zeitmanagements hergestellt. Ziel war es, es so schnell wie möglich zu machen und die Komplexität aller Spielaspekte im Entwicklungsprozess nicht dramatisch zu erhöhen. Die Kette wurde unter Verwendung der Gelenke hergestellt und konnte nach einiger Zeit nicht mehr von der Physik der Spielmaschine verarbeitet werden und platzte buchstäblich in Stücke. Also musste ich seine Länge einschränken und trotzdem in der Lage sein, den Pfad fortzusetzen. In der Tat gab es eine Lösung, um vollständig benutzerdefinierte Kettenskripte zu schreiben, die die reale Physik vortäuschen, aber das war eine zeitaufwändige Aufgabe, die ich mir nicht leisten konnte.
Trotzdem habe ich es geschafft, die Kette etwas länger zu halten, und der erste Gedanke war, kleine Labyrinthkammern zu bauen, in denen man den kürzesten Weg finden muss, aber das war nicht genug. Wenn das ganze Spiel so war, wird es ziemlich langweilig, weil Sie nur eine sich wiederholende Aufgabe haben, ohne die Erfahrung oder sogar die Schwierigkeit zu ändern. Dennoch spielten diese Ideen eine Rolle im Endspiel.
Inspiration und Gedanken: Prototyping-Erfahrung
Nach einigen Prototypen war klar, dass Labyrinthe, in denen man vom kürzesten Weg in die Irre gehen und sogar etwas zurückverfolgen muss, die interessantesten waren. Die endgültige Entscheidung war also, nacheinander separate Spielabschnitte hinzuzufügen - die großen Labyrinthe mit mehreren Schaltern und die kleinen Labyrinthe mit dem kürzestmöglichen Weg. Alle waren mit einigen leeren Korridoren verbunden, um den Geist des Spielers vom Gefühl ständiger Herausforderung zu befreien. Aber genau zum Zeitpunkt des Testens kam eine andere Idee, die einen neuen kritischen Gedanken lieferte - wir brauchen mehr Spielmechanik. Weil es trotz einiger Schwierigkeitskurven immer noch nicht ausreichte, sich nacheinander in denselben Wänden dieser Labyrinthe zu befinden, um die Aufmerksamkeit der Spieler zu erhalten.
Vergessen Sie nicht, dass das Spiel auf die mobile Plattform ausgerichtet ist, um die Aufmerksamkeitsspanne zu addieren. Entwerfe es niemals für längere Spielsitzungen ohne Pause. Ich habe beschlossen, bei jedem Kettenschalter zu speichern, damit der Spieler jederzeit gehen kann und nie weit von der vorherigen Spielsitzung entfernt ist. Natürlich habe ich einige Absichten, wie das Spiel gespielt werden soll, aber meine maximal beabsichtigte ununterbrochene Sitzung beträgt ungefähr 5 Minuten. Dazu gehören nur Szenen, in denen die Musik präsentiert wird.
Um auf die Mechanik zurückzukommen, habe ich Rätsel hinzugefügt, bei denen die Kette das Werkzeug ist, um sie zu lösen. Es ist eine großartige Lösung für das Spieldesign, um Weltobjekte, mit denen Sie bereits vertraut sind, als neues Zweckwerkzeug wiederzuverwenden.

Es gab verschiedene Ideen für viele verschiedene Rätsel mit diesem neuen Werkzeug, aber die endgültige Entscheidung war, nur einen Typ mit unterschiedlichen Schwierigkeitsgraden zu implementieren. Wenn Sie der Meinung sind, dass Ihr Spiel all Ihre neuen Ideen und Variationen benötigt, Sie aber keine Zeit haben, sie umzusetzen, dann hören Sie auf! Ihr Ziel hier ist es, das Spiel zu beenden. In diesem Fall werden Sie diese Funktionen weder jetzt noch bis zum Ende des Entwicklungszyklus implementieren - die eine Lösung besteht darin, das Spiel später zu aktualisieren, und die zweite und radikalere -, später ein völlig neues Spiel mit all den fehlenden zu erstellen Funktionen. Wenn Sie das Kernprodukt in der Hand haben, ist es einfacher, fortzufahren. Lassen Sie einfach nicht zu, dass die Funktionen die Veröffentlichung stoppen. Tun Sie dies nur, wenn sie der entscheidende Teil des gesamten Produkts sind, der ihm ein einzigartiges Erlebnis verleiht, und Sie sich das Spiel ohne diese Funktionen nicht vorstellen können.
Über technische Dinge überfliegen: Wie die Welt gebaut wurde
Die Kette wurde mit konfigurierbaren Gelenken mit gesperrter Bewegung auf allen Achsen hergestellt. Dann als Kettensegmente instanziiert, wobei 4 starre Körper durch 4 Gelenke in einem Segment miteinander verbunden sind. Die Kettenquellen ähneln den Vertiefungen. Für ein einwandfreies Funktionieren habe ich nur Segmente entfernt, die unter die Oberfläche gingen, und neue instanziiert, als sich die letzte Verbindung des Segments der Oberfläche näherte. Außerdem war der starre Körper des letzten Gelenks auf vertikale Bewegung beschränkt, um nur als Anker zu dienen. Zusätzlich hat das Seil spezielles Kollisionsmaterial ohne viel Reibung.

Der Player wurde mit einem starren Körper erstellt, der einfach dem Zielskript folgt, um es zu verschieben. Auf dem Ziel befindet sich ein Navigationsagent. Wenn wir also unseren Joystick bewegen, bewegen wir das Ziel nur mit dem Navigationssystem, und der starre Körper des Spielers versuchte, das Ziel mit physischer Gewalt zu erreichen. Wenn wir nur das Navigationssystem hätten, könnte die Kette es nicht stoppen, und der Spieler fungierte genauso wie der kinematische starre Körper mit absoluter Positionskontrolle. Das einzige Problem bei der Kraftanwendung ist, dass wir mit der variablen Anzahl der Kettensegmente auch die Variable in der Masse an den Spieler gebunden haben. Wenn Sie dann am Ende der Kette zu viel Masse haben, explodiert diese. Andernfalls würde der Spieler von der Kette nach hinten gezogen oder bewegt sich überhaupt nicht. Also habe ich eine Massenänderung relativ zur tatsächlichen Kettenlänge angewendet. Die interessanteste Lösung gegen die Kettenexplosion - die Destabilisierung ihrer Physik - bestand darin, die maximale Geschwindigkeit in ihren einzelnen Teilen durch ein benutzerdefiniertes Skript zu begrenzen.
Das Labyrinth selbst bestand aus den kleineren Labyrinthen, Rätseln und Korridoren, die sie alle verbanden. Als ich anfing, diese Labyrinthe zu entwerfen, nahm ich einfach meinen Stift und das quadratische Papier und begann, sie Wand für Wand zu skizzieren. Aber nach zahlreichen Änderungen aufgrund des realen Prototyping und der Auswirkungen auf die Kette war ich mir sicher, dass dies die ineffektivste Art war, Dinge zu tun. Also habe ich ein benutzerdefiniertes Editorfenster für meine Labyrinthe erstellt. Es war genau wie Stift und Papier, aber mit einem gespeicherten Zustand, der das komplette Labyrinth aus vorgefertigten Wänden, Böden und Kettenquellen erzeugen konnte. Ich habe auch die Kontrolle über die Länge der Kettenquellen hinzugefügt und es war die vollständige Lösung für das Problem des Entwurfslabyrinths.

Denken Sie daran, dass Sie für die Instanziierung der
Editorzeit PrefabUtility- Methoden und nicht das übliche
Instantiate verwenden sollten, da sonst Klone Ihrer vorgefertigten Objekte vom ursprünglichen Fertighaus getrennt werden.
Nachbearbeitung
Es ist eine persönliche Präferenz, aber ich liebe die Nachbearbeitung und könnte mir mein Spiel ohne sie nicht vorstellen.
Bloom ist ein Muss, aber ich mag auch die
Schärfentiefe und die einfache
FXAA- Lösung. Mit dem neuen Nachbearbeitungsstapel waren die Schritte zur ordnungsgemäßen Implementierung recht einfach. Ich habe auch eine Trigger-Kugel über dem Player hinzugefügt, die ein anderes Profil mit dem Effekt "
Chromatische Aberration" hatte , das sich zum Zeitpunkt des Wechsels auf den Player bewegte. Plus, das separate Profil für das Ende des Films. Aber nach einem der Updates
funktionierte alles nicht mehr und nach dem Testen auf dem Gerät bin ich
auf ein anderes Problem gestoßen . Mit ein bisschen
RenderDoc war der Grund klar und sofort behoben, aber ich hoffe, dass wir den offiziellen Fix vom Unity-Team sehen werden.
Beginn der Optimierungsstraße
Als das Spiel fast fertig war und das erste Durchspielen auf meinem Gerät abgeschlossen war, habe ich versucht, das Spiel auf einem nicht so leistungsstarken Gerät zu starten, wie ich es früher in der Entwicklung hatte. Das war erbärmlich. Ich habe schon früher kleine Einbrüche auf meinem Gerät bemerkt, aber nach den ersten Schritten zur Lösung des Überhitzungsproblems dachte ich, dass ich niemals ein so dramatisches Stottern sehen würde.
Für die Überhitzung - die Schritte sind unkompliziert, ich brauchte keine 60 fps, also gesperrt auf 30. Plus Skalierer mit benutzerdefinierter Auflösung, der die kurze Bildschirmgröße auf 720p beschränkte. Ein anderer Trick mit dem Ändern von
Zeitschritten bei
Time Manager hat bei mir nicht funktioniert, da ich mich so stark auf Berechnungen der Physik verlassen habe. Als ich versucht habe, den Zeitschritt zu verlängern, explodierte die Kette ziemlich häufig und stieß an ihre Grenzen.
All diese Arbeiten wurden vor dem schwachen Gerätetest durchgeführt. Also habe ich angefangen, mir den Profiler genauer anzusehen.
Ein interessanter Punkt war, dass ich zu viele Audioquellen hatte, die ständig aktiviert waren. Aber ich brauchte sie nie alle gleichzeitig und die Ereignisse, sie zu spielen, waren ziemlich deterministisch. Ich habe fast alle Quellen standardmäßig deaktiviert und sie nur für die erforderliche Soundaktivierung aktiviert und sie dann direkt nach dem Ende des Sounds deaktiviert.
Einige Skripte profitierten von manuellen Updates anstelle der proprietären, insbesondere wenn ich viele ähnliche Objekte mit demselben Skript und einer
Update- Methode darin hatte.
Benennen Sie Ihre
Update- Methode
einfach in
ManualUpdate um und rufen Sie sie von außen auf. In meinem Fall waren alle meine Rätsel vor Ort und sie nannten ihre Aktualisierungsmethoden. Außerdem hatte jede Säule in jedem Rätsel ihre eigene Aktualisierungsmethode, und sogar die Auslöser der Säule hatten ihre eigenen Aktualisierungsmethoden. Ohne diese mehrfachen automatischen Aktualisierungen und das manuelle Aufrufen der Aktualisierungsmethode für jedes Objekt von einem einzigen Ort aus konnte ich den Overhead der internen Methodenaufrufe von Unity erheblich reduzieren.
Das vorletzte wichtige Element bei der Optimierung ist der Rendering-Teil. Wenn Sie Ihr Handyspiel mit
Standard- Shadern versenden möchten, sind Sie verrückt! In einigen seltenen Fällen mit geringer Materialanzahl und geringer Komplexität der Shader-Varianten können Sie dies möglicherweise erreichen, indem Sie nur auf Geräte der obersten Ebene abzielen, da der Standard-Shader Tonnen davon enthält. In meinem Fall habe ich jedoch fast alle Shader geändert, um benutzerdefinierte zu verwenden, basierend auf mobilen Oberflächenvarianten. Aber ich habe keine gute Möglichkeit gefunden, Metallic / Smoothness mit einem benutzerdefinierten Beleuchtungsmodell zu simulieren, sodass nur glänzende Metallic-Materialien einen Standard-Shader erhielten. Wenn Sie jedoch die kompilierten Versionen sehen, ist es kein Problem, die richtige zu wählen, wenn Sie über 190 Operationen im Standard-Shader haben, im Vergleich zu weniger als 70 in einer benutzerdefinierten. Denken Sie daran, dass der
PBR- Ansatz, der den Standard-Standard-Shader enthält, sehr
GPU- intensiv und für Mobilgeräte viel zu komplex ist. Sie sollten von Beginn der Entwicklung an speziell für Mobilgeräte optimierte Shader verwenden. Machen Sie sie für sich selbst oder verwenden Sie diejenigen, die in Unity eingebaut sind.
Der nächste Stopp: Frame-Debugger
Der nächste Leistungstipp besteht darin, den Frame-Debugger auf ungewöhnliche Stapelbrüche zu überprüfen. Oder nur um zu sehen, wie viele Drawcalls Sie benötigen, um die gesamte Szene zu rendern.
Ich hatte ein seltsames Verhalten, als der Debugger feststellte, dass einige Objekte, die nacheinander gerendert wurden, den Stapel trotz des gleichen Materials brechen. Sogar die Nachricht war unklar, weil sie besagte, dass ich verschiedene Lichtquellen für sie habe. Aber die ganze Szene verwendete die einzige gerichtete Lichtquelle! Diese Objekte hatten das gleiche Material und alle ihre Eigenschaften waren die gleichen! Aber nicht alle, weil ich mich nur mit den Material- und Rendereigenschaften befasst habe. Der wahre Grund war, dass ich meine Lichtquelle auf benutzerdefiniertes Keulen nach Schichten umgestellt habe. Und das Objekt der Unterbrechungssequenz befand sich in einer bestimmten Ebene, die einfach nicht beleuchtet war.
Wie auch immer, manchmal zeigt der Frame-Debugger eine seltsame Reihenfolge beim Rendern, die die Stapelverarbeitung unterbricht. Einige dieser Vorkommnisse waren lächerlich, und die manuelle Korrektur der Renderwarteschlange half, das Problem zu beheben.
Außerdem zeigte der Frame-Debugger, dass ich trotz fast aller gerenderten Objekte als statisch viele Stapel hatte, die keinen Sinn ergaben. Nur weil ich so viele davon hatte, hat der Batcher viele statische Batch-Netze erstellt und nie versucht, sie nach Position zu gruppieren. In diesem Fall hatte ich meine Labyrinthwände an einem Bildschirm aus 5 oder 6 verschiedenen Chargen. Aber die aus dem gleichen Material! Am Ende habe ich nur Bodenobjekte als statisch hinzugefügt, weil sie alle innerhalb eines einzigen Stapelnetzes entstanden sind. Und der Rest wurde ohne Probleme dynamisch gestapelt, wobei die Materialwarteschlange auf eine eindeutige korrigiert wurde. Das dynamische Batching hat einige Auswirkungen auf die
CPU , aber in meinem Fall war der Unterschied selbst auf dem schwachen Gerät im Vergleich zum benutzerdefinierten statischen Batching über die
StaticBatchingUtility nur geringfügig. Und dynamisches Batching war für mich beim Speichern von Drawcalls immer noch effektiver als benutzerdefiniertes statisches Batching an den Randfällen.
Die anderen Dinge, auf die der Frame-Debugger hinwies, waren die Schatten und Kaskaden. Wenn Sie neugierig sind, ist jede Schattenkaskade so ziemlich ein weiterer Schattenpass für den gesamten Bildschirm. Wenn Sie also mehrere Stapel im Schattenpass haben, multiplizieren Sie diese Zahl mit der Anzahl der Kaskaden, die Sie haben. Ich habe gerade die Kaskaden nach dieser Entdeckung deaktiviert. Aber ich brauchte immer noch anständige Echtzeitschatten und musste schließlich den Abstand der Kamera anpassen und bei mittlerer Qualität zu den eng anliegenden Schatten wechseln. Ich weiß, dass sie nicht die schönsten sind, aber es war viel besser als stabile mit schlechterer Auflösung oder gar keinen Schatten.
Der letzte innerhalb des Frame-Debuggers und der Leistung ist die Nachbearbeitung. Selbst wenn nur ein paar Effekte aktiviert waren, waren dies fast die schwersten - Blüte und Schärfentiefe. Beide verwendeten das Abtasten des Rahmens mit niedriger Auflösung, jedoch mit unterschiedlicher Eingabetextur und unterschiedlichen Filter-Shadern. Ich habe
Bloom bereits geändert, um den Fast-Mode-Quadratfilter im Shader anstelle eines komplexeren Kreises zu verwenden. Leider war das nicht genug. Daher habe ich den Auflösungsskalierungsfaktor im anfänglichen Bildpuffer des Effekts geändert. Standardmäßig wird die halbe Auflösung verwendet, aber ich habe große Verbesserungen festgestellt, wenn nicht die halbe Auflösung, sondern nur ein Drittel davon verwendet wurde. Das weitere Schrumpfen auf ein Viertel hatte fast keine Auswirkung auf die weitere Verschlechterung der Grafik. Meine Lösung für die Nachbearbeitung auf Mobilgeräten ist also ein Drittel! Oder mit vollständig kundenspezifischen Lösungen.
Fast da: Polnisch!
Natürlich ist jedes Projekt einzigartig, und Sie sollten insbesondere an Ihr Projekt denken, aber hier wollte ich nur zeigen, welche Teile ich für meinen Polierprozess verwendet habe und warum.
Die ersten Schritte zum Polieren wurden direkt nach dem ersten Alpha-Test und vor den Leistungsoptimierungen durchgeführt. Mit dem ersten Feedback habe ich kleinere Funktionen hinzugefügt, die fast vorhanden waren, aber nicht ganz aufgefallen sind.
Der erste war der farbige Boden, von dem ich von Beginn der Entwicklung an eine Vision hatte, aber im eigentlichen Prozess sahen alle Paletten, die mir einfielen, irgendwie unnatürlich aus. In der ersten Runde habe ich also nur mit dem Farbverlauf von hell nach dunkel während des gesamten Spielpfads geendet. Der Test zeigte jedoch, dass dies nicht ausreichte. Mit ein wenig Mühe durch alle Farbkombinationen wurde die richtige erstellt. Selbst dieses kleine visuelle Detail hatte einen spürbaren Einfluss auf das allgemeine Spielgefühl. Mit der Unterscheidung zwischen Stufen hatten Sie mehr Erfolgserlebnis und Fortschritt.
Die andere Idee war der Drang, mehr Spaß und ein dynamisches Gefühl für den Spieler zu haben. Obwohl ich anfangs kein Fan davon war, habe ich es geschafft, einen kleinen Kompromiss zu finden, der sich besser anfühlte, aber das ruhige Gefühl des Charakters nicht überarbeitete. Das war die Verriegelung des Kristalls innerhalb des Spielers, um sich niemals relativ zur Welt zu drehen. Aber für den Spieler, der sich wie der innere Kristall fühlte, drehte sich bei jeder Bewegung. Als ich noch ein Kind war, hatte ich einen Ball, in dem sich ein anderer befand. Dieser innere Teil schwebte in einer kleinen Menge flüssiger Substanz, die nicht wahrnehmbar war, und als Sie ihn auf die Oberfläche rollten, sah es so aus, als würde er schweben, ohne überhaupt zu rollen. Dieses Merkmal erinnerte mich leicht an dieses einzigartige Gefühl.
Nach all den Leistungsänderungen begann das Spiel auch auf diesem Gerät mit geringer Leistung wie beabsichtigt zu funktionieren. Nicht das niedrigste, aber das war OK für mich. Und dann habe ich etwas Zeit, um über andere Funktionen nachzudenken, die sich auf das allgemeine Spielgefühl auswirken und für meine Vision entscheidend waren.
Der erste ließ die Kratzer auf dem Boden und wurde ziemlich schnell als Abziehbildpool implementiert. Sie werden es vielleicht nie sehen, aber es summiert sich definitiv zur Labyrinthatmosphäre.
Das zweite Merkmal, das das allgemeine Gefühl in meinen Augen beeinflusste, waren einige Steine in den Korridoren, die der leeren kalten Welt mehr Dynamik verleihen sollten. Das war nur die Vision und auch ohne Probleme im letzten Spiel implementiert. Es war jedes Mal ein seltsam befriedigendes Gefühl, wenn man diese kleinen Steine in die Dunkelheit fallen sieht.
Freigabepunkt
Nachdem alle Tests abgeschlossen sind und Sie mit der Politur zufrieden sind, können Sie loslegen!
Für mich war das Hauptziel von Anfang an, Einzelspieler-Erfahrung ohne Ablenkung zu machen. Die Entscheidung war also klar: keine Werbung, keine Einkäufe im Spiel, keine Beuteboxen. Für diese Funktionen sollten Sie das Spiel von Anfang an so gestalten, dass Sie sich stark darauf verlassen können, dass sie ein wesentlicher Bestandteil der Erfahrung sind. In meinem Fall wusste ich, dass das gesamte Spiel für einen durchschnittlichen Spieler ungefähr drei bis vier Stunden Erfahrung sein wird. Also habe ich einen vernünftigen Festpreis platziert und losgelassen. Seit der Veröffentlichung ist nicht genug Zeit vergangen, um an wesentliche Verkäufe und auch noch ohne Werbung zu denken. Aber als Entwickler bin ich sehr zufrieden mit dem Spiel, und wenn es jemals jemandem gefallen wird, ist es ein Erfolg für mich.
PS
Am Ende blieben einige Merkmale zurück. Insbesondere muss noch etwas getan werden, um die Spielatmosphäre zu vervollständigen, aber es ändert die Erfahrung nicht radikal, so dass dies als Update nach der Veröffentlichung erfolgen kann. Der Rest der Funktionen konnte nie ausgehen. Leider habe ich gerade zum Zeitpunkt des Testens der endgültigen Version eine aufregende Idee. Ich denke, das ist passiert, weil es eine Woche Pause in der Entwicklung gab und ich nach einer Rückkehr einen neuen Blick habe. Vielleicht würde es eines Tages das zweite Spiel geben, aber im Moment werden alle Ideen darauf warten, dass ihre Stunde wieder in den neuen Entwicklungszyklus zurückgebracht wird.
PPSWenn Sie Tippfehler oder Grammatikfehler finden, senden Sie mir bitte persönliche Nachrichten, damit ich diese korrigieren kann.