Quest Editor Handbuch¶
Der Quest Editor verwaltet Java- und H5P-Aufgaben, Ziele, Hinweise, Belohnungen und Rich-Content. Er ist damit die wichtigste Autorinnen- und Autorenoberfläche für den eigentlichen Lerninhalt.
Zugriff¶
- Editor mit
?editoröffnen - Tab Quest Editor wählen

Der Screenshot zeigt eine geöffnete Beispielquest. Sichtbar sind:
- links der rekursive Questbaum
- oben die Aktionsleiste mit Preview, Test und Save
- darunter die Quest-Tabs
- in der Mitte das Formular mit Rich-HTML-Beschreibung
Organisation im Baum¶
Quests liegen rekursiv in Ordnern. Der Baum unterstützt:
- neue Quest anlegen
- Ordner anlegen
- Verschieben per Drag and Drop
- Umbenennen
- Löschen
- weltspezifische Bearbeitung
Der Dateipfad bestimmt zugleich die logische Gruppierung im Spiel. Saubere Ordnerstrukturen helfen also nicht nur im Editor, sondern später auch bei der Wahrnehmung der Inhalte.
Die wichtigsten Tabs¶
Allgemein¶
Im Allgemein-Tab werden die Kerndaten gepflegt:
idtitleshortDescriptionvoicemaxAttemptstaskFormatdescriptionals HTML-Inhalt
Hier wird also festgelegt, wie die Aufgabe im Spiel erscheint, wie sie benannt ist und welcher Inhalt im eigentlichen Aufgabentext zu sehen sein soll.
Starter-Code¶

Nur bei Java-Quests vorhanden. Hier werden gepflegt:
- eine oder mehrere Dateien
readOnly-Dateien- versteckte Hilfsdateien
- optionale Zusatzdateien für den Spieler
Der Starter-Code ist didaktisch wichtig: Er kann Lernende gezielt führen, vorbereitete Klassen bereitstellen oder nur genau so viel Struktur vorgeben, wie für die Aufgabe nötig ist.
Lernziele¶

Hier liegen die eigentlichen Objectives. Unterstützt werden unter anderem:
outputcode_regexstructuremethod_calltest_casesvariable_valuesemantic_checkgraphics_assertjava_errorretry_counth5p_completedh5p_interactionh5p_statement
Die Lernziele sind der Kern der Auswertung. Hier wird festgelegt, woran das Spiel erkennt, ob eine Lösung fachlich und technisch korrekt ist.
Grafik-Objectives mit graphics_assert¶
graphics_assert ist für grafische Java-Aufgaben gedacht, also insbesondere:
World- und Actor-basierte 2D-AufgabenPApplet/ Processing- einfache
World3d-Szenen
Die Auswertung läuft gegen einen Laufzeit-Snapshot. Dieser wird erzeugt, wenn das Programm endet oder wenn das Grafikfenster manuell geschlossen wird. Dadurch lassen sich sowohl Spielzustände als auch echte Zeichenflächen prüfen.
Unterstützte Bereiche:
- Grafikmodus:
world2d,processing,world3d - Canvas-Größe
- Klassenname und Objektanzahl
- Java-Felder eines Runtime-Objekts
- Textinhalt von
Text-Objekten - Positionen
x/ymit Toleranz - Sichtbarkeit, Acting-Status, Destroyed-Status,
imageIndex - Pixel- und Farbprüfungen auf der Canvas
- Farbregionen mit Mindest- oder Maximalanzahl passender Pixel
Typische Konfiguration für einen Spielzustand:
Typische Konfiguration für ein sichtbares Objekt:
Typische Konfiguration für eine reine Processing-Ausgabe:
mode:processing
width:800
height:600
pixelX:10
pixelY:10
pixelColor:#3c3c3c
regionX:40
regionY:240
regionWidth:320
regionHeight:120
containsColor:#ffffff
minMatches:200
colorTolerance:20
Praxisregel: Erst Zustände und Objektstruktur prüfen, dann erst Pixel. Zustandsprüfungen sind deutlich robuster. Pixel- oder Regionsprüfungen eignen sich vor allem für reine Zeichenaufgaben ohne gut auswertbare Java-Felder.
Hinweise¶

Hinweise können:
- ab einer bestimmten Fehlversuchszahl erscheinen
- an Trigger-Objectives gebunden werden
- HTML enthalten
- sich auf bestimmte Dateien oder typische Fehler beziehen
Gute Hinweise lösen die Aufgabe nicht direkt, sondern stützen genau dort, wo typische Denk- oder Syntaxfehler auftreten.
Rewards¶

Hier werden Folgen einer Quest gepflegt, etwa:
onFinishonFail- Journal-Freischaltungen
- Variablen- und Geld-/XP-Belohnungen
- Trigger weiterer Interaktionen
Dieser Tab verbindet die Aufgabe mit dem Rest des Spiels. Eine Quest ist dadurch nicht nur eine isolierte Programmierübung, sondern Teil von Fortschritt, Story und Weltlogik.
Java- und H5P-Quests¶
Java¶
Der Standardmodus für Programmieraufgaben mit IDE, Starter-Code und Objectives gegen Java-Code.
H5P¶
Im H5P-Modus wird statt Starter-Code ein H5P-Inhalt referenziert. Zusätzlich kann angegeben werden:
contentPath- optionale Bibliotheks-Override-Angabe
Die passenden Inhalte werden über den H5P Importer vorbereitet.

Im Allgemein-Tab erscheint für H5P-Quests ein zusätzlicher Konfigurationsblock. Dort wird festgelegt:
- welches importierte H5P-Paket verwendet werden soll
- unter welchem
contentPathder Inhalt liegt - ob die Hauptbibliothek ausdrücklich überschrieben werden soll
H5P-Workflow Schritt für Schritt¶
- H5P-Paket über den H5P Importer importieren.
- Im Quest Editor das
Quest FormataufH5P Contentstellen. - Im Feld
H5P Content Pathden importierten Inhalt auswählen. - Nur bei Bedarf eine Bibliothek im Feld
Main Library Overrideeintragen. - Danach die Objectives auf H5P-kompatible Typen prüfen.
Rich-Content in Questbeschreibungen¶
Die description unterstützt:
- HTML
- Codeblöcke mit Syntax-Highlighting
- Tabellen
- Mermaid-Diagramme
- Mermaid-Objektdiagramme mit
object-diagram - NSD-Struktogramme mit
<nsd>
Beispiel: Mermaid in der Vorschau¶

Diese Vorschau zeigt:
- ein Mermaid-Klassendiagramm
- ein Mermaid-Objektdiagramm mit gerundeter Schulnotation
- die gleiche Darstellung, die später auch im Spiel im Questtext erscheint
Beispiel: NSD in der Vorschau¶

Diese Vorschau zeigt:
- eine echte Verzweigung im Struktogramm
- eine Schleife
- die Laufzeitdarstellung für Aufgaben- und Lerntexte
Mermaid und NSD sinnvoll einsetzen¶
Mermaid eignet sich besonders für:
- Klassendiagramme
- Objektdiagramme
- einfache Beziehungsübersichten
NSD eignet sich besonders für:
- lineare Abläufe
- Verzweigungen
- Schleifen
- die Vorbereitung von Methodenlogik vor dem eigentlichen Java-Code
Gerade im Schulkontext ist die Kombination stark: Das Diagramm erklärt die Aufgabe, der Code setzt sie um.
NSD-Grundbausteine¶
Für Struktogramme stehen eigene Tags zur Verfügung:
<befehl>für einfache Anweisungsblöcke<wenn>für Verzweigungen<sonst>für den Else-Zweig einer Verzweigung<schleife>für Wiederholungen
Ein einfaches Beispiel:
<nsd>
<wenn bedingung="akku < 20">
<befehl>return "warnung";</befehl>
</wenn>
<sonst>
<befehl>return "ok";</befehl>
</sonst>
</nsd>
So lassen sich Aufgaben formulieren, bei denen Lernende erst den Algorithmus lesen und danach dieselbe Logik in Java umsetzen.
Weitere Syntaxbeispiele für Schleifen, verschachtelte NSD, Assoziationen in Klassendiagrammen, Programmablaufpläne und ER-Diagramme stehen in den Quest-Design-Konzepten.
Preview und Test¶
Zwei Buttons sind im Alltag besonders wichtig:
- Preview: rendert die Beschreibung inklusive Mermaid und NSD so, wie sie später im Spiel erscheint
- Test: führt die Questprüfungen direkt aus
Gerade bei Rich-Content sollte der Button Preview immer Teil des normalen Arbeitsablaufs sein.
Häufige Fehler¶
- Das Questformat wird auf
H5P Contentgestellt, abercontentPathbleibt leer. - Es werden weiterhin Java-spezifische Lernziele erwartet, obwohl die Quest als H5P-Aufgabe gedacht ist.
- Hinweise und Beschreibung werden nicht in der Vorschau geprüft und enthalten deshalb fehlerhafte HTML- oder Diagrammblöcke.
- Der Starter-Code ist didaktisch zu umfangreich oder zu leer und führt die Lernenden dadurch entweder zu stark oder gar nicht.
Wo Quests gespeichert werden¶
Quests liegen unter:
Empfehlung für Autorinnen und Autoren¶
Ein guter Quest-Workflow ist:
- Titel, Kurztext und Voice setzen
- Aufgabenbeschreibung schreiben
- Starter-Code oder H5P-Inhalt festlegen
- Objectives und Hints definieren
- Rewards und
onFinishsetzen - Preview und Test durchlaufen
Gerade bei Grafikquests lohnt sich ein zusätzlicher Testlauf mit echter Ausführung: Fenster öffnen, Aufgabe bis zum relevanten Zustand bringen und erst dann schließen. Genau dieser Moment ist später auch die Basis für graphics_assert.