DeLoPoGa (Demo Low Poly Game)

In dem Seminar „Untersuchung und Implementierung spezifischer Anforderungen verschiedener Game-Genres für Game-Engines“ im Master Game Engineering und Visual Computing ging es darum, für allgemein wiederverwendbare Teile eines Spiels eine Bibliothek zu schreiben und diese in einem beispielhaften Spiel zum Einsatz zu bringen. Hierbei entstanden je eine Bibliothek für das Item-System, dem Dialog- und Story-System und dem System für die künstliche Intelligenz.

Kurzbeschreibung

KI-System:

Mit der Bibliothek können grundlegende Techniken aus dem Bereich der künstlichen Intelligenz umgesetzt werden. Dies umfasst das Generieren eines Navigationsgraphen, um mithilfe von dem Wegfindungsalgorithmus A* den kürzesten Weg zu bestimmen. Durch Steering Behaviour können NPCs entlang des errechneten Pfades navigiert werden. Die Bibliothek beinhaltet außerdem Implementierungen für grundsätzlichen Verhaltensweisen von NPCs wie das Verfolgen eines Ziels, das Weglaufen vor einer Gefahr sowie das Patrouillieren entlang eines gegebenen Pfades, die mittels Steering Behaviour und Finite State Machines umgesetzt sind. Wenn weitere Zustände oder Verhaltensweisen benötigt werden, können auf Basis der entsprechenden Klassen neue erzeugt werden.

Item-System:

Im Rahmen des Seminarprojekts wurde eine Bibliothek für Gegenstände in Spielen entwickelt. Hierbei wurde insbesondere auf die Erweiterbarkeit und Anpassbarkeit geachtet, so dass den Nutzern des Gegenstandssystems die Möglichkeit gegeben wird, die Bibliothek für spielspezifische Inhalte einzusetzen. Die Bibliothek bietet Schnittstellen, um eigene Gegenstände in einer JSON-Datei zu definieren. Das Verhalten eines Gegenstands wird dabei von Gegenstandseigenschaften bestimmt, welche der Nutzer mit wenigen Handgriffen selbst implementieren kann. Des Weiteren bietet die Bibliothek ein Inventar-, ein Attribut-, ein Crafting- und ein einfaches Beute(Loot)-System. Auch hier lassen sich die meisten Inhalte mittels einer JSON-Datei konfigurieren.

Dialog- und Story-System:

Die Erzählung von Geschichten in Spielen nimmt oftmals einen großen Stellenwert ein. Denn in der Regel wird die Geschichte im Spiel interaktiv erzählt, indem der Spieler Entscheidungen treffen kann, um den Ausgang der Geschichte zu beeinflussen. Im Seminarprojekt wurde hierfür ein Storymodul entwickelt, mit welchem der Nutzer unterschiedliche Erzählstränge und Entscheidungen mithilfe einer JSON-Datei modellieren kann. Allerdings sind viele Elemente einer Story vom speziellen Spiel abhängig. Aus diesem Grund müssen die Bedingungen der Übergänge der Story vom Nutzer selbst implementiert werden.

Zusätzlich wurde ein Dialogsystem entwickelt, um Gespräche zwischen NPCs und dem Spielercharakter entwerfen zu können. Hierbei kann in einer JSON-Datei der Dialog-Graph definiert werden, wobei auch Verzweigungen und Schleifen zulässig sind.

DeLoPoGa:

Lord Kezan van Hastus wurde vor langer Zeit von dem mächtigen Molokan entführt und dient ihm seit jeher als Nahrungsquelle! Es ist an dir ihn zu finden und aus seiner Gefangenschaft zu befreien. Sammele Waffen und Rüstungen, um dich gegen die Schergen des großen Molokan zu wappnen. Braue verschiedene Tränke aus Kräutern und sei immer auf der Hut, von keinem der feindlichen Diener erwischt zu werden. Doch kann man Kezan letzten Endes überhaupt trauen oder ist er vielleicht bereits von dem mächtigen Molokan verdorben worden? Deine Entscheidungen verändern den Verlauf und Ausgang der Geschichte bei dem vielleicht auch dein Schicksal auf dem Spiel steht!

Quellenangabe

Icons und Texturen:

  • Warcraft III – The Frozen Throne, Blizzard Entertainement
  • www.hiveworkshop.com