Platzhalter fr Bild Bild auf Titelfolie hinter das
Platzhalter für Bild, Bild auf Titelfolie hinter das Logo einsetzen Modellbasierte Entwicklung von Textadventures Gil Engel, Tobias Franz, Tilman Stehr, 17. Oktober 2016
Gliederung § Problemstellung und Motivation § Überblick über das Tool § Metamodell & Grafische Editoren § Diagramm zum Spielüberblick § Lösbarkeitsanalyse § Spielumgebung § Demo 17. Oktober 2016 | Engel, Franz, Stehr | Textadventures | Seite 2
Warum Textadventures? § „Interactive Fiction“ § Spieler kann sich die Spielwelt selbst vorstellen § „Ohne Phantasie hätte die Menschheit den Mut zum Weiterexistieren längst verloren. “ Zum Erstellen wird nur eine Story benötigt 17. Oktober 2016 | Engel, Franz, Stehr | Textadventures | Seite 3 Christian Morgenstern, deutscher Schriftsteller
Problem und Motivation § Kompliziert zu überblicken § Schwierig für Nicht-Programmierer § Randfälle schwer abzudecken § Bausteinsystem → auch für Nicht-Programmierer § Vergleich von Entwicklungsständen § Programm verwaltet Randfälle § Analyse des modellierten Abenteuers auf Lösbarkeit § Viele Fallentscheidungen § Modellbasierten Tools → z. B. Generierung von Karten, Handbuch Quelle: Warner Bros. Pictures „Sherlock Holmes: Spiel im Schatten“, 2011 17. Oktober 2016 | Engel, Franz, Stehr | Textadventures | Seite 4
Konzept Spielorte GMF Spielelemente Verwendung bildlicher Vorstellungskraft Abentuer GMF Xtext Textuelle Präzision Problemstellungen Xtext 17. Oktober 2016 | Engel, Franz, Stehr | Textadventures | Seite 5
Der Weg zum Abenteuer Abentuer Metamodell Instanz von Abentuer Beschreibungs Instanz referenziert In sta Instanz von nz v on Zustands Metamodell Instanz von Dritte Instanzebene 17. Oktober 2016 | Engel, Franz, Stehr | Textadventures | Seite 6 Spiel Zustand
Das Zusammenspiel Spielüberblick Abenteuer. Beschreibung Abenteuer DSL – Nutzer-Input Graphisch – Spielort Graphisch – Spielelemente Graphisch – Dialoge Game-Engine DSL – Spielaufgabe Game-Editor Model Checker Lösbarkeit 17. Oktober 2016 | Engel, Franz, Stehr | Textadventures | Seite 7 Spielzustand
Beispiel-Adventure Save the Prince 17. Oktober 2016 | Engel, Franz, Stehr | Textadventures | Seite 8
Spielorte: Rooms 17. Oktober 2016 | Engel, Franz, Stehr | Textadventures | Seite 9
Spielelemente: Items 17. Oktober 2016 | Engel, Franz, Stehr | Textadventures | Seite 10
Spielelemente: Actors & Dialogs 17. Oktober 2016 | Engel, Franz, Stehr | Textadventures | Seite 11
Graphischer Editor Diagramm- Layout Definition Anpassungen Eugenia GMF Live sync 17. Oktober 2016 | Engel, Franz, Stehr | Textadventures | Seite 12 Regelerweiterungen Editorerweiterungen Modell ↔ Diagramm GEF
Das Zusammenspiel Spielüberblick Abenteuer. Beschreibung Abenteuer DSL – Nutzer-Input Graphisch – Spielort Graphisch – Spielelemente Graphisch – Dialoge Game-Engine DSL – Spielaufgabe Game-Editor Model Checker Lösbarkeit 17. Oktober 2016 | Engel, Franz, Stehr | Textadventures | Seite 13 Spielzustand
Problemstellungen: Conditions & Actions § Item § Use. Action § Pick. Up. Action § Drop. Action § Door § Enter. Action § Actor § Talk. To. Action § Hand. Over. Item. Action § Receive. Item. Action 17. Oktober 2016 | Engel, Franz, Stehr | Textadventures | Seite 15 14
Textueller Editor für Conditions: Condition DSL Eigener Editor Xtext Editor Grammatik für Conditions in JFace Dialog Conditions EMF. Edit Embedded Xtext Editor 17. Oktober 2016 | Engel, Franz, Stehr | Textadventures | Seite 15 Xtext Grammar
Das Zusammenspiel Spielüberblick Abenteuer. Beschreibung Abenteuer DSL – Nutzer-Input Graphisch – Spielort Graphisch – Spielelemente Graphisch – Dialoge Game-Engine DSL – Spielaufgabe Game-Editor Model Checker Lösbarkeit 17. Oktober 2016 | Engel, Franz, Stehr | Textadventures | Seite 16 Spielzustand
Spielzustandsgraph Start End • Darstellung der Spielhandlung • Verschiedene Lösungswege • Parallele Aufgaben Zur Unterstützung des Abenteuer-Entwickler Option 1 Aufgabe 1 Start End Option 2 17. Oktober 2016 | Engel, Franz, Stehr | Textadventures | Seite 17 Aufgabe 2
Generierung des Graphen 1) Rekursive Transformation der Gewinnbedingung Startzustand 2) Durchlauf des Graphen vom Startzustand aus mögliche Aktionen zur Erfüllung der Spielbedingungen Ablauf der Aktionen vom Startzustand aus Siegbedingung 17. Oktober 2016 | Engel, Franz, Stehr | Textadventures | Seite 18
Das Zusammenspiel Spielüberblick Abenteuer. Beschreibung Abenteuer DSL – Nutzer-Input Graphisch – Spielort Graphisch – Spielelemente Graphisch – Dialoge Game-Engine DSL – Spielaufgabe Game-Editor Model Checker Lösbarkeit 17. Oktober 2016 | Engel, Franz, Stehr | Textadventures | Seite 19 Spielzustand
Game Solvability Abenteuer Modelchecker Datei 17. Oktober 2016 | Engel, Franz, Stehr | Textadventures | Seite 20 CTL Checker Spiel-zustand
Game Solvability Abenteuer Modelchecker Datei CTL Checker Spielzustand 17. Oktober 2016 | Engel, Franz, Stehr | Textadventures | Seite 21
Game Solvability § Überprüfung durch Computation Tree Logic § Läuft als Hintergrundprozess Abenteuer § Erzeugt ein Gegenbeispiel bei Nichterfüllbarkeit Modelchecker Datei CTL Checker Spielzustand 17. Oktober 2016 | Engel, Franz, Stehr | Textadventures | Seite 22
Das Zusammenspiel Spielüberblick Abenteuer. Beschreibung Abenteuer DSL – Nutzer-Input Graphisch – Spielort Graphisch – Spielelemente Graphisch – Dialoge Game-Engine DSL – Spielaufgabe Game-Editor Model Checker Lösbarkeit 17. Oktober 2016 | Engel, Franz, Stehr | Textadventures | Seite 23 Spielzustand
Command DSL & Player Initial Inventory Abenteuer • Stick • String […] M 2 M Inventory initialer • Spielzustand Stick • String combine Stick Spieland String Kommando Xtext-DSL § Eingeschränkte Scopes § Validation § Content Assist […] Game-Engine Inventory neuer • Spielzustand Fishing Rod […] 17. Oktober 2016 | Engel, Franz, Stehr | Textadventures | Seite 24 Eclipse-Editor für Savegame-Dateien You tie the String to Kommandothe stick. You now Beschreibung have Fishing Rod.
Das Zusammenspiel Spielüberblick Abenteuer. Beschreibung Abenteuer DSL – Nutzer-Input Graphisch – Spielort Graphisch – Spielelemente Graphisch – Dialoge Game-Engine DSL – Spielaufgabe Game-Editor Model Checker Lösbarkeit 17. Oktober 2016 | Engel, Franz, Stehr | Textadventures | Seite 25 Spielzustand
Abenteuer-Beschreibung Abenteuer aktueller Spielzustand Generator § § § § 17. Oktober 2016 | Engel, Franz, Stehr | Textadventures | Seite 26 Übersichtskarte Räume Items Bedingungen in lesbarer Form Kombinationen Inventar Erfüllungszustand von Bedingungen
Demo 17. Oktober 2016 | Engel, Franz, Stehr | Textadventures | Seite 27
You have won Save. The. Prince! Website & Download: http: //textadventure. tilman. ninja 17. Oktober 2016 | Engel, Franz, Stehr | Textadventures | Seite 28
You have won Save. The. Prince! Spielüberblick Abenteuer. Beschreibung Abenteuer DSL – Nutzer-Input Graphisch – Spielort Graphisch – Spielelemente Graphisch – Dialoge Game-Engine DSL – Spielaufgabe Game-Editor Model Checker Lösbarkeit 17. Oktober 2016 | Engel, Franz, Stehr | Textadventures | Seite 29 Spielzustand
- Slides: 29