| name | goal |
| description | Quest objectives that drive narrative — the WANTS of adventure |
| allowed-tools | ["read_file","write_file"] |
| tier | 1 |
| protocol | SCHEMA-MECHANISM |
| tags | ["moollm","quest","objective","narrative","game"] |
| related | ["adventure","character","needs","hero-story"] |
| adversary | aimlessness |
Goal
"A goal is not always meant to be reached. Often it serves simply as something to aim at."
— Bruce Lee
What Is It?
A Goal is a quest objective that drives the adventure forward. It defines what the player is trying to achieve and when they've succeeded (or failed).
Goals create narrative tension — the gap between current state and desired state.
Schema Mechanism Connection
From Gary Drescher's theory:
Context → Action → Result
Goals define the desired Result that motivates Action. The adventure is a laboratory for learning causal chains that achieve goals.
Goal Properties
| Property | Purpose |
|---|
id | Unique identifier |
name | Short display name |
description | What you're trying to achieve |
status | pending, active, complete, failed |
complete_when | Natural language condition |
fail_when | When goal becomes impossible |
reward | What you get on completion |
progress | Partial completion tracking |
Completion Conditions
Natural language conditions that compile to JS/PY:
complete_when: "player has the treasure"
complete_when_js: "(ctx) => ctx.player.inventory.includes('treasure')"
Rewards
Goals can grant various rewards:
reward:
buff: "Hero's Glory"
item: "champion-medal"
unlock: "secret-room"
narrative: "The kingdom celebrates!"
Progress Tracking
For multi-step goals:
progress:
collected: 3
needed: 5
Goal Hierarchies
Goals can nest:
parent: defeat-dragon
children:
- find-magic-sword
- learn-dragon-weakness
- reach-dragon-lair
Complete all children to complete the parent.
Failure Conditions
Goals can fail:
fail_when: "time reaches midnight AND prisoner is not freed"
fail_message: "You were too late."
Examples
Simple Quest
goal:
id: find-treasure
name: "Find the Treasure"
complete_when: "player has the treasure"
Timed Challenge
goal:
id: rescue-mission
name: "Save the Prisoner"
complete_when: "prisoner is freed"
fail_when: "10 turns pass without rescue"
priority: urgent
Collection Quest
goal:
id: gather-keys
name: "Collect All Keys"
complete_when: "player has 5 enchanted keys"
progress:
collected: 2
needed: 5
Related Skills
Protocol Symbol
SCHEMA-MECHANISM — Goals drive causal learning