Phase 4: quests, and the framework under them #80

Open
opened 2026-07-31 16:13:55 +00:00 by sickday · 0 comments
Owner

Last phase, and the only one whose first task is engine rather than content.

The framework comes first: a state machine per quest, a manager, the
journal, and the sync that keeps a client's quest list honest across a logout.
Roughly two thousand lines in the sister project. It is the last
engine-shaped thing on the whole roadmap
, and it is deliberately last, for a
reason this project has learned twice: a framework with no consumer is exactly
the shape that ships encoded, tested and idle, and whose gaps are only found
when something finally calls it. Build it with the first quest, not before it.

Everything it stands on already exists. Dialogue with its four queue strengths
and the per-kind acceptance rules; items; NPCs that can be talked to and can
die; varbits, which are what quest state is actually stored in and which are
already a window-into-a-varp rather than storage of their own.

There is very little to port. The sister project shipped two quests and a
tutorial. So past the framework this is the phase where the two projects
diverge and "what does the sister project do" stops being the useful question —
the wiki and the cache become the only sources, which is the arrangement the
rest of this repo already runs on.

One era note, since quests are where it bites hardest: the target is
2017-07-13, so the quest list is large, and the temptation is to take a modern
quest guide at face value. Quests are reworked more often than most content
— rewritten dialogue, changed requirements, added skips — so the changes
section applies here exactly as it does to a formula.

Done when a quest can be started, left half-finished across a logout, and
completed.

Last phase, and the only one whose first task is engine rather than content. **The framework comes first**: a state machine per quest, a manager, the journal, and the sync that keeps a client's quest list honest across a logout. Roughly two thousand lines in the sister project. It is **the last engine-shaped thing on the whole roadmap**, and it is deliberately last, for a reason this project has learned twice: a framework with no consumer is exactly the shape that ships encoded, tested and idle, and whose gaps are only found when something finally calls it. Build it with the first quest, not before it. Everything it stands on already exists. Dialogue with its four queue strengths and the per-kind acceptance rules; items; NPCs that can be talked to and can die; varbits, which are what quest state is actually stored in and which are already a window-into-a-varp rather than storage of their own. **There is very little to port.** The sister project shipped two quests and a tutorial. So past the framework this is the phase where the two projects diverge and "what does the sister project do" stops being the useful question — the wiki and the cache become the only sources, which is the arrangement the rest of this repo already runs on. One era note, since quests are where it bites hardest: the target is 2017-07-13, so the quest list is large, and the temptation is to take a modern quest guide at face value. Quests are **reworked** more often than most content — rewritten dialogue, changed requirements, added skips — so the changes section applies here exactly as it does to a formula. **Done when** a quest can be started, left half-finished across a logout, and completed.
Sign in to join this conversation.
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
Revenant/Server#80
No description provided.