-
-
Notifications
You must be signed in to change notification settings - Fork 2
bug: opening-narrative always returns generic stub — ignores campaign setting, name, and character #722
Copy link
Copy link
Open
Labels
bugSomething isn't workingSomething isn't workinggame-engineGame mechanics/rulesGame mechanics/rulespriority:criticalBlocking/broken functionalityBlocking/broken functionality
Description
Summary
POST /campaign/{campaign_id}/opening-narrative always returns a hardcoded template regardless of the actual campaign content:
{
"scene_description": "You find yourself in a Dark dungeon world during the start of a new adventure. The atmosphere is charged with possibility as your adventure continues.",
"quest_hook": "Dark omens have troubled the land...",
"suggested_actions": ["Look around", "Speak with nearest person", "Check equipment"]
}This is a stub implementation that:
- Only uses the campaign
tonefield for minimal customisation - Completely ignores: campaign name, world description, plot hooks, key NPCs, setting
- Returns identical
suggested_actionsfor every campaign - Returns the same sentence structure regardless of campaign context
The opening narrative is the first thing a player sees when entering the game — this stub immediately breaks immersion and makes all campaigns feel identical.
Confirmed via API test
Running on 4 different campaigns with different names, settings, and tones all returned the same template structure with only the tone keyword substituted.
Files
backend/app/api/routes/session_routes.py—get_opening_narrative()
Fix
Call NarratorAgent.generate_scene_description() or DungeonMasterAgent.process_input() with the campaign context to generate a real AI narrative. Use the campaign's world_description, plot_hooks, key_npcs, and setting as context.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
bugSomething isn't workingSomething isn't workinggame-engineGame mechanics/rulesGame mechanics/rulespriority:criticalBlocking/broken functionalityBlocking/broken functionality