Überblick über Godots Schlüsselkonzepte
Jede Spiele-Engine basiert auf Abstraktionen, die Sie brauchen, um ihre Anwendungen zu entwickeln. In Godot ist ein Spiel ein Baum aus Nodes, die man zu Szenen zusammenfasst. Sie können diese Nodes dann miteinander verknüpfen, so dass sie über Signale kommunizieren können.
Das sind die vier Konzepte, die Sie hier lernen werden. Wir werden sie kurz betrachten, um Ihnen ein Gefühl dafür zu vermitteln, wie die Engine funktioniert. In der Artikelreihe „Erste Schritte“ werden Sie sie in der Praxis anwenden.
Szenen
In Godot gliedern Sie Ihr Spiel in wiederverwendbare Szenen. Eine Szene kann ein Charakter, eine Waffe, ein Menü in der Benutzeroberfläche, ein einzelnes Haus, ein ganzes Level oder alles andere sein, was Sie sich vorstellen können. Godots Szenen sind flexibel; sie übernehmen die Rolle von Prefabs und Szenen, die einige andere Game Engines verwenden.
Sie können auch Szenen verschachteln. Zum Beispiel können Sie Ihren Charakter in ein Level setzen und eine Szene als Child dieses Levels per Drag&Drop ablegen.
Nodes
Eine Szene besteht aus einem oder mehreren Nodes. Nodes sind die kleinsten Bausteine Ihres Spiels, die Sie in Bäumen anordnen. Hier ist als Beispiel der Nodes eines Charakters.
Er besteht aus einem CharacterBody2D-Node namens „Player“, einem Camera2D, Sprite2D, und CollisionShape2D.
Bemerkung
Die Node-Namen enden mit „2D“, da es sich um eine 2D-Szene handelt. Ihre 3D-Gegenstücke haben Namen, die mit „3D“ enden. Beachten Sie, dass „Spatial“-Nodes ab Godot 4 jetzt „Node3D“ genannt werden.
Beachten Sie, dass Nodes und Szenen im Editor gleich aussehen. Wenn Sie einen Node-Baum als Szene speichern, wird sie als einzelner Node angezeigt, wobei dessen interne Struktur im Editor verborgen bleibt.
Godot bietet eine umfangreiche Bibliothek von Basis-Node-Typen, die Sie kombinieren und erweitern können, um noch leistungsfähigere Nodes zu erstellen. Ob 2D-, 3D- oder Benutzeroberflächen, mit diesen Nodes können Sie die meisten Dinge tun.
Der Szenenbaum
Alle Szenen des Spiels kommen im Szenenbaum (engl. Scene Tree) zusammen, buchstäblich ein Baum von Szenen. Und da Szenen wiederum Bäume von Nodes sind, ist auch der Szenenbaum ein Baum von Nodes. Aber es ist einfacher, sich Ihr Spiel in Szenen vorzustellen, da sie Charaktere, Waffen, Türen oder die Benutzeroberfläche darstellen können.
Signale
Nodes senden Signale aus, wenn ein Ereignis eintritt. Mit diesem Feature können Sie Nodes miteinander kommunizieren lassen, ohne sie im Code fest zu verdrahten. Das gibt Ihnen eine große Flexibilität bei der Strukturierung Ihrer Szenen.
Bemerkung
Signale sind Godots Version des Observer-Design Patterns. Sie können hier mehr darüber lesen: https://gameprogrammingpatterns.com/observer.html
For example, buttons emit a signal when pressed. You can connect a piece of code to this signal which will run in reaction to this event, like starting the game or opening a menu.
Andere Built-in-Signale können Ihnen mitteilen, wenn zwei Objekte zusammengestoßen sind, wenn ein Charakter oder ein Monster einen bestimmten Bereich betreten hat und vieles mehr. Sie können auch neue Signale definieren, die auf Ihr Spiel zugeschnitten sind.
Zusammenfassung
Nodes, Szenen, der Szenenbaum und Signale sind vier zentrale Konzepte in Godot, mit denen Sie ständig arbeiten werden.
Nodes sind die kleinsten Bausteine Ihres Spiels. Man kombiniert sie, um Szenen zu erstellen, die man dann wiederum kombiniert und in den Szenenbaum einfügt. Mithilfe von Signalen können Sie Nodes dazu bringen, auf Ereignisse in anderen Nodes oder anderen Zweigen des Szenenbaums zu reagieren.
Nach diesem kurzen Überblick haben Sie wahrscheinlich viele Fragen. Haben Sie Geduld mit uns, denn Sie werden im Laufe der Artikelreihe „Erste Schritte“ viele Antworten erhalten.