Die Erstellung von Inhalten kann einer der zeitaufwändigsten Teile der Spieleentwicklung sein, weshalb der Aufbau eines Level-Editors so nützlich sein kann. In diesem Artikel werde ich meine Tipps zum Erstellen eines effizienten Level-Editors erläutern und erläutern, wie die Verwendung dieses Tools meinen Workflow beschleunigt hat.
Hier ist das Szenario: Sie haben Monate damit verbracht, an Ihrem Spiel zu arbeiten, und es beginnt sich endlich zu vereinen. Die Codebasis ist stark, und Sie sind an einem Punkt angelangt, an dem Sie mit der Erstellung von Levels für Ihr Spiel beginnen können.
Es gibt nur ein Problem - Ihre Level-Datei sieht folgendermaßen aus:
Objekttextur rockt4 Position 78 540 Drehung 0 Skala 1 1 Farbe 255 255 255 255 ScrollSpeed 1 1 CustomProperties End End Objekt Textur Gras1 Position 60 450 Rotation 0 Skala 1 1 Farbe 255 255 255 255 ScrollSpeed 1 1 CustomProperties Ende End Objekt Textur Gras2 Position 61 459 Rotation 0 Skala 1 1 Farbe 255 255 255 255 ScrollSpeed 1 1 CustomProperties End End
Yuck. Stellen Sie sich vor, Sie versuchen ganze Ebenen wie diese zu schaffen. Der Prozess wäre unglaublich langsam und zeitaufwändig - ganz zu schweigen von Frustration. Das Problem ist, dass es sehr schwierig ist, etwas zu bearbeiten, das eigentlich sein soll gesehen. Was kann man dagegen tun? Die Antwort liegt überraschenderweise im Kontext des Problems selbst.
Ebenen sind eine Form von visuell Kommunikation. Die Spieler betrachten keine Textdateien, sondern Bilder, Sprites, Animationen usw. Denken Sie an einen Maler: Picasso hat seine Bilder nicht durch Einfügen von RGB-Werten pro Pixel in einen Computer erstellt. Er malte seine Gemälde, na ja, sie malen. Um dieselbe Logik auf das Ebenen-Design anzuwenden, sollten wir ein Werkzeug erstellen, mit dem wir solche Ebenen visuell bearbeiten können - einen Ebenen-Editor.
Einer der wichtigsten Vorteile eines Level-Editors ist die Bequemlichkeit von WYSIWYG ("Was Sie sehen, was Sie bekommen" - was Sie im Editor sehen, ist das, was Sie im Spiel bekommen). Wie oben beschrieben, ist es viel einfacher zu entwerfen, wenn Sie sehen, was Sie bearbeiten.
Ein weiterer Vorteil besteht darin, dass eine schnellere und effizientere Entwurfsiteration möglich ist. Der Prozess des Leveldesigns kann in ein einfaches Flussdiagramm wie folgt unterteilt werden:
Es ist äußerst wichtig, dass Sie nahtlos zwischen der Entwurfs- und der Testphase wechseln können, da dies schnellere Iterationen und insgesamt weniger Zeitaufwand ermöglicht.
Der letzte Grund für einen Level-Editor ist, dass das Level-Design weniger technisch ist. Dies ist besonders wichtig, wenn Sie in einem Team arbeiten: Stellen Sie sich vor, Sie senden die obige Textdatei an die Künstler und sagen ihnen, dass sie Designebenen in diesem Format haben sollen!
Eine gute Kommunikation - sowohl verbal als auch visuell - ist innerhalb eines Teams unerlässlich, und ein Level-Editor kann nicht-technischen Designern das Leben erleichtern und potenzielle Kommunikationsbarrieren zwischen ihnen und den Entwicklern beseitigen.
Zusammenfassend sind die drei wichtigsten Gründe für einen Level-Editor, dass Sie Folgendes ermöglichen:
Sie fragen sich vielleicht, warum Sie einen eigenen Editor erstellen möchten, wenn bereits so viele frei verfügbar sind - und ich werde nicht lügen, es gibt einige großartige Editoren.
Hier sind einige davon, die ich für 2D-Spiele kenne:
Die Verwendung eines generischen, vorhandenen Editors hat Vor- und Nachteile. Es ist wahrscheinlich robust und gut gewartet, weiß jedoch nichts über Ihr Spiel. Daher müssen Sie möglicherweise clevere Tricks ausführen, damit es richtig mit Ihrem Spiel interagieren kann. Dies wirkt sich auf die Iterationszeit aus und kann zu unnötig mehr Zeit für die Erstellung von Inhalten führen.
Sie müssen auch lernen, wie man es benutzt. Wenn Sie jedoch Ihren eigenen Editor verwendet haben, wissen Sie offensichtlich schon alles darüber.
Hier ist meine persönliche Liste der Vor- und Nachteile für jeden Editor:
Vorgefertigt:
Selbst erstellt:
Es liegt an Ihnen, aber für diesen Artikel werde ich mich darauf konzentrieren, Ihre eigenen zu entwerfen.
Als Nächstes werde ich meine wichtigsten Tipps zum Erstellen eines robusten und effektiven Level-Editors weitergeben.
Es kann sein, dass Sie mehr Code für einen Level-Editor schreiben müssen. Aber warum machen Sie diesen Prozess nicht so schmerzlos wie möglich?
Wenn Sie sich an dem Punkt befinden, an dem Sie einen Level-Editor benötigen, haben Sie wahrscheinlich bereits ein wenig Struktur in Ihrer Spielarchitektur (Klassen, Schnittstellen, Vererbung usw.). Diesen Code wiederverwenden! Wenn Sie bereits eine Reihe von Klassen zum Zeichnen und Aktualisieren von Dingen für das Spiel haben, müssen Sie diese nicht für den Editor neu schreiben. Mit anderen Worten, schreiben Sie NICHT eine separate Engine für den Editor. Neben der Wiederverwendung von Spielcode können Sie die Kluft zwischen dem Level in Ihrem Editor und dem Spiel im Spiel verringern.
Es gibt zwei Ansätze für die Implementierung eines Level-Editors: Sie können ihn im Spiel haben oder als externe App erstellen. Wieder haben beide Ansätze ihre Höhen und Tiefen.
Der In-Game-Editor würde im Wesentlichen die Lücke zwischen Design und Testen beseitigen, würde aber beispielsweise viel mehr GUI-Arbeit erfordern. Der externe Editor kann GUI-Bibliotheken verwenden und verfügt über robuste Funktionen, die Iteration des Designtests ist jedoch etwas länger, da Sie ständig zwischen zwei verschiedenen Apps wechseln müssen.
Ich persönlich bevorzuge den ersten Ansatz, weil ich denke, dass er sich am natürlichsten anfühlt, und ich mag die Bequemlichkeit, sofort zwischen Design und Test zu wechseln.
Denken Sie daran, dass dieser Editor für Sie (oder Ihren Level-Designer, wenn Sie in einem Team arbeiten) ist. Es muss nicht schön aussehen. In der Tat ist dies wahrscheinlich Zeitverschwendung, es sei denn, Sie planen, den Editor zu verteilen. Konzentrieren Sie sich stattdessen darauf, einen Editor auf Funktionsebene so schnell wie möglich zu erstellen, damit Sie zur Erstellung von Inhalten gelangen können. (Später, wenn Ihr Spiel kurz vor dem Abschluss steht, können Sie Dinge in Betracht ziehen, wie den Editor "verschönern".)
Dies mag offensichtlich erscheinen, aber Verknüpfungen sind deine Freunde. Haben Sie einen Schlüssel für jede Aktion, von der Sie glauben, dass Sie sie tun. Ich meine es ernst; Dadurch sparen Sie viel Zeit beim Entwerfen. Wenn Sie beispielsweise im Level-Editor meines Spiels 'C' drücken, wird ein Duplikat des aktuell ausgewählten Objekts erstellt. Es ist einfach, aber immens nützlich und spart viel Zeit.
Als Beispiel möchte ich Ihnen den Herausgeber meines derzeit in Entwicklung befindlichen Spiels Mori zeigen. Hier ist eine Kachel, die ich gedreht und skaliert habe:
Ich muss nur 'C' und ... voila drücken!
Dies ist der schöne Teil des Entwerfens Ihres eigenen Editors: Er kann alles tun, was Sie möchten.
Jedes Spiel ist anders. Einige Spiele erfordern umfangreiches Scripting, während andere komplizierte KI-Verhaltensweisen beinhalten können. Alle diese können in den Editor integriert werden. Stellen Sie sich vor, Sie könnten einen Feind mit einem bestimmten Verhalten hinzufügen, indem Sie im Editor einige Tasten drücken. Stellen Sie sich jetzt vor, Sie versuchen das Gleiche zu tun, indem Sie einer Skriptdatei Code hinzufügen. Was scheint effizienter zu sein?
Es gibt bestimmte Konventionen, an die wir uns bei der Verwendung von Anwendungen gewöhnt haben. Dazu gehören Funktionen wie Rückgängig machen / Wiederholen, Kopieren / Einfügen, Warnmeldungen usw. Wenn Sie richtig planen, können Sie all dies ohne viel zusätzlichen Aufwand in Ihren Editor integrieren. Vertrauen Sie mir, Sie werden sich in Zukunft bedanken, wenn Sie diese haben.
Eine weitere Funktion, die Ihnen das Leben erleichtern kann, ist das Testen von Ebenen, ohne die Datei auf der Festplatte zu speichern. Dies erleichtert den Design-Test-Prozess erheblich. Mein Spiel verwendet ein Game-State-Management-System, so dass ich zwei separate "Bildschirme" für das Gameplay und die Bearbeitung habe.
Innerhalb des Spiels drückte ich eine Taste, um in den Editor zu gelangen. Dem Editor wird das Ebenenobjekt übergeben, das dann innerhalb des Editors bearbeitet werden kann. Von dort habe ich zwei Möglichkeiten: Ich kann das Level auf der Festplatte speichern oder eine bestimmte Taste drücken und das Level-Objekt übergeben zurück zum Gameplay-Bildschirm. Dadurch kann ich das Level sofort testen, ohne die Angst zu haben, meine alten Änderungen zu überschreiben.
Kurz gesagt, ein Level-Editor ist eine lohnende Investition in den Spielentwicklungsprozess. Es ermöglicht die visuelle Gestaltung von Ebenen, kürzere Iterationszeiten und einen geringeren technischen Anspruch für Designer.
Ich hoffe, Sie fanden diesen Artikel interessant und nützlich. Danke fürs vorbeischauen!