2 Punkte von GN⁺ 2024-10-19 | Noch keine Kommentare. | Auf WhatsApp teilen

Dungeons und Interfaces

Überblick

  • Im vorherigen Teil wurden das in der Spieleentwicklung häufig verwendete Architekturpattern Entity-Component-System (ECS) und das Paradigma der Metasprachenprogrammierung untersucht.
  • Dieses Mal wird mit diesen Techniken ein kleines Spiel aus dem Genre Dungeon Crawler erstellt, um daran das Systemdesign einer realen Spieleanwendung zu betrachten.

Vorbereitung

  • Die Common-Lisp-Umgebung wird eingerichtet und die benötigten Pakete werden aktualisiert.
  • Das Projekt wird mit einem cookiecutter-Template gestartet und die Fenstergröße des Spiels auf 1280x800 gesetzt.

Dungeon

  • Damit der Spieler den Dungeon erkunden kann, wird eine Dungeon-Karte benötigt.
  • Mit Tiled, einem Open-Source-Map-Editor, wird eine Dungeon-Karte erstellt; zum Laden als Lisp-Objekt wird die Bibliothek cl-tiled verwendet.
  • Nachdem die Map-Datei vorbereitet ist, werden einige Vorarbeiten durchgeführt, damit sie im Spiel geladen und genutzt werden kann.

Anwendung des ECS-Patterns

  • Die Map-Kacheldaten werden zur Verbesserung der Performance in den ECS-Store verschoben.
  • Das Framework cl-fast-ecs wird dem Projekt hinzugefügt und das ECS-System initialisiert.
  • Die Map-Kacheln werden als einzelne Entitäten gespeichert und die Systeme zu ihrer Verarbeitung definiert.

Animation

  • Tiled unterstützt animierte Kacheln, mit denen dem Spiel mehr Lebendigkeit verliehen werden kann.
  • Zur Implementierung der Animation wird die Codestruktur erweitert und refaktoriert.
  • Die Komponenten animation-frame und animation-state werden definiert, um den Animationszustand zu verwalten.
  • Das System update-animations wird definiert, um die Animationsframes zum passenden Zeitpunkt umzuschalten.

Zusammenfassung von GN⁺

  • Der Artikel erklärt, wie sich Spieleentwicklung mit dem ECS-Pattern effizient umsetzen lässt.
  • Er zeigt, wie sich mit Werkzeugen wie Tiled Maps einfach erstellen und verwalten lassen.
  • Er erläutert, wie Animationen dem Spiel mehr Lebendigkeit verleihen können.
  • Mit dem ECS-Pattern lassen sich Performance optimieren und eine kompakte Codestruktur beibehalten.
  • Ähnliche Projekte mit vergleichbarer Funktionalität sind unter anderem das ECS-System von Unity oder das Blueprint-System der Unreal Engine.

Noch keine Kommentare.

Noch keine Kommentare.