QuestLine โ Roadmap
Last updated: March 13, 2026Development roadmap for QuestLine โ what's done, what's next, and what's on the horizon. A Corn Collective production.
QuestLine Roadmap
Done (completed as of March 13)
- Core combat loop (attack, damage, heal, initiative)
- Character creation (join, class selection)
- Level up โ
level_uptool handles HP, proficiency, spell slots (March 6) - Short/long rest tools โ HP recovery, spell slot refresh (March 6)
- Map generation
- Inventory system
- Campaign lore loading โ fixed
campaign_dirresolution bug (March 6) - Narrative log (append_narrative)
send_group_messageas tool โ DM's only way to talk, plain text = internal monologue (March 2)- 3-second debounce batching โ multiple player messages โ one API call (March 2)
- Natural language intent parser โ AI-powered, replaced rigid command parser (March 1)
- Combat prompt tuning (tools first, narrate second) โ "THIS IS NON-NEGOTIABLE" (March 6)
- DM silence rules โ expanded enumerated list + IO-layer OOC filter (March 12)
- No unnecessary quotes rule (March 12)
- Dice roll formatting โ ๐ข/๐ด/๐ฒ on separate lines (March 7)
- Spawn with no gear โ scavenge before first combat (prompt fix) (March 7)
- Campaign-reskinned equipment (no generic D&D items, prompt fix) (March 7)
- DM auto-initiates on session start โ
[SESSION_START]protocol (March 7) end_campaigntool โ final epilogue, summary, outcome, session lock (March 6)- Dead lobby tools removed from service (session mgmt via REST API) (March 6)
state_dirtycheck before DB save (March 6)- Signal bot setup โ +14844820890, registered on Hetzner (March 11)
- OOC message handling โ web:
mode:"ooc"bypasses agent; Signal:ooc:prefix dropped at IO layer (March 12) - Action limit โ hard cap of 3
send_group_messagecalls per turn (March 6) - Session start protocol โ set scene, ask if party complete, STOP (March 7)
- Player joined mid-session โ private whisper with recap + weave into scene (March 7)
- Brevity rules tightened โ "1 sentence. Max 2." for routine actions (March 6)
- Combat workflow in prompt โ spawn โ start_combat โ get_initiative โ attack/damage โ next_turn โ end_combat (March 6)
- Rest pacing guidance โ DM offers rests organically, not player-managed (March 7)
- Emoji notation standard (questline-dm) โ stat lines beneath prose (March 7)
Now (v1 โ remaining)
- ASI at levels 4, 8, 12, 16, 19
- Class features on level up (Extra Attack, etc.)
- New spells known/prepared on level up
- Hit dice total increase on level up
- Turn order / initiative bugs from playtest
- Bespoke feats: prompt guidance for DM to grant narrative abilities based on player behavior (use
update_playerโ no new tools needed). Moved to v1 from v1.5 (March 6).
Soon (v1.5 โ polish)
- Lobby phase โ pre-game in the same chat thread (no separate screen). DM greets players as they join (campaign-agnostic, neutral host). Character creation in lobby. No fiction until creator hits "Begin Adventure."
[SESSION_START]fires then.session.phase:lobbyโactive. Design decided March 7. - Death/TPK policy (casual/standard/hardcore toggle)
- DM Signal tags (@mentions for turn order)
- "New" line marker for async catch-up (Trey)
- DM auto-recap whisper when player returns (Trey)
- Color-coded player names (Twitch-style)
- Context window management (structured state docs, tiered summarization) โ key scaling challenge
- Author names in chat bubbles
- iOS keyboard/viewport fix (input field jumps to top, chat history disappears)
- Chat history rehydration on WebSocket reconnect
- Loop detection / max retry limit
- Tap DM message โ auto-scroll to triggering player message with highlight (Billy)
- Campaign name + act marker in banner (Trey)
- Online status in room info API โ
WebAdapterhas methods but they're never called pc:prefix (player chat, DM ignores completely) vsooc:(DM hears but stays OOC) (Sean, March 12 โ not yet implemented)- Stripe billing integration โ setup pending (carried since March 7)
- New campaigns wired up in DB: Mice of Maplewood, Threshold (March 7)
- Campaign narrator rethink โ skeleton DM doesn't fit Infinite Costco thematically (March 7)
- Side-based initiative โ roll once per side, winning side acts any order (Kyle, March 1 โ consensus pending)
- AFK handling โ turn timer, proxy commands, or side-based initiative (March 1)
Later (v2 โ features)
- Solo Prologues (fka "alone mode"): players spawn solo at different map points, play through whisper channels, converge into party. Tutorial phase + asymmetric experiences + convergence. Elden Ring analogy (Ryan). Strong group consensus, March 6.
- Split view toggle (DM narration top / party chat bottom) โ Billy's mockups
- Fog of war
- Voice chat integration for playtests (Trey's idea)
- Live/catch-up mode toggle (Billy's mockup v2)
- Billy's property system (emergent physics vs dice) โ AI holds hidden element property tables, outcomes from element interactions. Noita/Rain World/Divinity:OS emergence. Strong group support. May be the sweet spot for "AI as engine, not author." (March 1, reinforced March 13)
- Campaign settings (difficulty, rest frequency, permadeath toggle)
- Multi-campaign support (multiple groups, different worlds)
- Per-player avatar (initials + color, skull for DM)
prefers-color-schemelight/dark support- Settings panel: display name, avatar color, credits, active sessions
- Experience level setting for new players vs veterans
- NPC personality tags: ~50 tokens per NPC, track personality/speech/disposition in structured state
- Interstitial data: capture tone, demeanor, key dialogue in compressed form (Trey)
Ideas (unscoped)
- Song generation for tavern scenes
- NPC voice acting via TTS
- Player-crafted items
- PvP mechanics
- Cross-campaign persistent world state
- Trey's biofilm campaign: players are bacteria, solo prologues, converge into biofilm
- Film Reroll mode โ reenact movies, each person gets a character
- Collaborative campaign dev โ each person designs a room/zone
- Open source BYOK (bring your own key) release
- Roblox port (Ryan's agency has Roblox experience)
- Game jam โ everyone builds their own version, play each other's
Active Playtest: KIRKLAND SIGNATURE EDITION
- Campaign: The Infinite Costco #4488 (post-apocalyptic warehouse)
- Players: Sean (Martha), Andrew (union organizer cleric), Matt (Dale, box-cutter hero)
- Running on: Signal via questline-dm (deprecated codebase, last campaign before sunset)
- Cost: ~$1.30/person/session, group willing to pay ~$2
Open Questions
- Name: murmur.game leading candidate, no decision. questline.gg considered.
- AI's role in product: Group discomfort with AI as core creative output. Preference for AI-as-infrastructure. Needs in-person discussion. (March 13)
- Rolls + HUD: Full group (Ryan, Billy, Kyle) needs to weigh in before building (March 7)
- Platform: Signal for playtesting, web for production. Signal useful for notifications/engagement but web is primary.
Built by the Corn Collective. All shucks, no bucks.