Einführung
- Der Autor, der sich für nichttraditionelle Programmierparadigmen interessiert, hat festgestellt, dass das Erlernen von Sprachen wie LISP und Prolog wirksam dabei hilft, das Denken zu stimulieren.
- LISP ist stark in funktionaler Programmierung und Meta-Sprachmustern, während Prolog in der logischen Programmierung beliebt ist.
- Prolog erschließt neue Horizonte des computationalen Denkens, indem es Datenstrukturen und Algorithmen als mathematische Relationen behandelt.
Das Potenzial von Prolog
- Prolog ist nützlich für die Implementierung relationaler Datenbanken und des Ein-/Ausgabeverhaltens digitaler Schaltungen.
- Logische Programmierung ist für datengetriebenes Design optimiert und besitzt großes Potenzial für den Entwurf und die Implementierung komplexer Systeme.
- Wenn die Kernmechaniken eines Spiels in Prolog implementiert werden, lässt sich ein robusteres und modulareres System aufbauen.
Welt und Akteure
- Die Kernidee der spielbezogenen Programmierung auf Prolog-Basis besteht darin, Relationen als grundlegendste Bausteine des Systems zu nutzen.
- Ein Spiel besteht aus Welt und Akteuren, wobei Akteure Objekte innerhalb der Welt sind, die verschiedene Ereignisse auslösen.
- Akteure besitzen einen eindeutigen Namen sowie Zustand und Verhalten.
Tags
- Jeder Akteur wird über einen eindeutigen Namen identifiziert, und seine Eigenschaften werden durch Tags beschrieben.
- Im Prolog-Code werden Tags als unäre Relationen dargestellt; zudem können Regeln festgelegt werden, sodass bei Zuweisung eines bestimmten Tags automatisch weitere Tags zugewiesen werden.
- Beispielsweise erhält ein Akteur mit dem Tag "bread" automatisch auch die Tags "flammable" und "decomposable".
Relationen
- Im Gameplay-System ist es wichtig, die Beziehungen zwischen Akteuren zu definieren.
- In Prolog lassen sich Beziehungen zwischen Akteuren mit binären Relationen definieren, und je nach Bedingungen können Beziehungen dynamisch abgeleitet werden.
- Zum Beispiel können Menschen Brot essen, und Schimmel kann Zersetzbares verrotten lassen.
Zusammenfassung von GN⁺
- Spielprogrammierung mit Prolog bietet eine neue Denkweise und ist nützlich für den Entwurf komplexer Systeme.
- Der deklarative Charakter logischer Programmierung ist für datengetriebenes Design optimiert.
- Der relationsbasierte Ansatz von Prolog ermöglicht es, die Kernmechaniken eines Spiels als robusteres und modulareres System zu implementieren.
- Ein ähnliches Projekt mit vergleichbaren Funktionen in der Branche sind die Unity-Game-Engine und objektorientierte Programmierumgebungen.
Noch keine Kommentare.