Instanziieren (Fortsetzung)

Wiederholung

Das Instanziieren hat mehrere praktische Einsatzmöglichkeiten. Sie haben:

  • Die Möglichkeit Szenen aufzuteilen und diese einfacher zu Hand haben.

  • Ein Werkzeug zum gleichzeitigen Bearbeiten mehrerer Nodes.

  • Einen Weg Ihren komplexen Spielfluss oder sogar UI's (in Godot sind UI Elemente auch Nodes) zu organisieren und einzubetten.

Designsprache

Die größte Stärke des Instanziierens von Szenen ist jedoch, dass es sich als ausgezeichnete Designsprache verwenden lässt. Dies ist der zentrale Unterschied zwischen Godot und allen anderen Engines die es so gibt. Godot wurde von Grund auf um dieses Konzept herum entworfen.

Bei der Erstellung von Spielen mit Godot wird empfohlen, die meisten gängigen Entwurfsmuster, wie MVC- oder Entity-Relationship-Diagramme, zu vergessen und stattdessen Szenen auf einem natürlicheren Weg zu gestalten. Stellen Sie sich zunächst die sichtbaren Elemente in Ihrem Spiel vor, die nicht nur von einem Programmierer, sondern von jedermann benannt werden können.

So könnte man sich zum Beispiel einen einfachen Shooter vorstellen:

../../_images/shooter_instancing.png

Solch ein Diagramm kann man für jedes mögliche Spiel erstellen. Schreiben Sie auf, welche Teile des Spiels Sie visualisieren können und fügen Pfeile hinzu, um die Beziehungen zwischen den Komponenten zu repräsentieren.

Sobald Sie solch ein Diagramm haben, empfiehlt es sich für jedes Element im Diagramm eine Szene zu erstellen. Um die Beziehungen zu verwirklichen werden Sie das Instanziieren (entweder im Code oder direkt im Editor) verwenden.

Bei der Programmierung von Spielen (oder Software im Allgemeinen) wird viel Zeit darauf verwendet, eine Architektur zu entwerfen und Spielekomponenten an diese Architektur anzupassen. Das auf Szenen basierende Design ersetzt diesen Ansatz und macht die Entwicklung viel schneller und einfacher, sodass Sie sich auf die Spielelogik selbst konzentrieren können. Da die meisten Spielekomponenten direkt einer Szene zugeordnet sind, erfordert die Verwendung eines solchen Designs, das auf Szenen-Instantiierung basiert, wenig anderen architektonischen Code.

Schauen wir uns ein etwas komplexeres Beispiel eines Open-World-Spiels mit vielen Nutzerinhalten (Assets) und verschachtelten Elementen an:

../../_images/openworld_instancing.png

Schauen Sie sich das Raumelement an. Nehmen wir an, wir haben dort angefangen. Wir könnten ein paar verschiedene Raumszenen mit verschiedenen Anordnungen von Möbeln (auch Szenen) erstellen. Später könnten wir eine Hausszene erstellen, die die Räume verbindet und so das Innere abbildet.

Dann könnten wir eine „Festung“-Szene erstellen, die aus vielen instanziierten Häusern besteht. Dann könnten wir anfangen, auf dem Gelände der Weltkarte zu arbeiten und die Festung hinzuzufügen.

Später könnten wir Szenen anlegen, die Wachen repräsentieren (und andere NPCs) und diese der Festung hinzufügen. Das Resultat wäre, dass sie indirekt der kompletten Spielwelt hinzugefügt werden.

Mit Godot ist es einfach Ihr Spiel auf diese Weise zu erweitern, da Sie lediglich weitere Szenen erstellen und instanziieren müssen. Darüber hinaus ist die Benutzeroberfläche des Editors so gestaltet, dass sie sowohl für Programmierer als auch für Nichtprogrammierer anwenderfreundlich ist. Ein typisches Entwicklerteam kann 2D- oder 3D-Künstler, Leveldesigner, Spieldesigner und Animatoren umfassen, die alle mit der Editorschnittstelle arbeiten.

Informationsüberfluss!

Dies ist eine Menge an Informationen auf hohem Niveau, die auf einmal auf Sie zukommen. Der wichtigste Teil dieser Anleitung bestand jedoch darin ein Bewusstsein dafür zu schaffen, wie Szenen und Instanzen in realen Projekten verwendet werden.

Alles, was wir hier beschrieben haben wird mit der Zeit ganz natürlich für Sie, wenn Sie anfangen Spiele zu erstellen und die Konzepte in die Praxis umzusetzen. Kümmern Sie sich für das Erste nicht darum und beginnen mit der nächsten Anleitung!