knowhow_v1.md 18 KB

古风互动剧本生成深度调研报告

调研目标:为 lemonv_drama 模板 Agent 构建古风互动剧本生成的知识体系
生成时间:2026-04-13
产出 Agent:Hunter


1. 古风互动剧本创作方法论

1.1 核心定义与边界

古风互动剧本是将中国传统美学、古典叙事结构与现代交互式叙事(Branching Narrative)相结合的内容形态。它不同于单纯的历史小说,也不同于现代视觉小说,而是强调:

  • 古典意境:诗词意象、山水留白、气韵生动。
  • 玩家选择:通过关键节点的分支推动剧情。
  • 多结局结构:HE(团圆)、BE(悲剧)、NE(隐逸)、TE(真结局)。
  • 视听沉浸:角色图与场景图作为氛围放大器。

1.2 经典叙事结构:起承转合 + 三幕式

将现代三幕式结构(Setup / Confrontation / Resolution)映射到古典"起承转合":

三幕式 起承转合 功能描述 古风技巧
第一幕:setup 起 交代时代、地点、主角身份,抛出核心冲突 用一首定场诗、一段楔子引入
第二幕A:confrontation 承 冲突升级,角色关系复杂化 插叙背景、引入次要势力
第二幕B:twist 转 关键反转,信任崩塌/身份揭露 以"信物"、"旧诗"、"梦境"预埋线索
第三幕:resolution 合 收束所有线索,导向多结局 以"选择"决定主角的道/情/义/生

1.3 古风剧本的"四境"美学框架

由中国古典诗学引申的四大意境类型,可用于快速定调:

  1. 雄浑境 —— 庙堂、战争、家国大义(如《长安十二时辰》)。
  2. 冲淡境 —— 江湖隐逸、山水田园(如《笑傲江湖》后期)。
  3. 绮丽境 —— 宫廷、爱情、脂粉繁华(如《甄嬛传》《梦华录》)。
  4. 凄婉境 —— 离别、追忆、宿命悲剧(如《如懿传》《东宫》)。

每部剧本应在开始阶段锁定 1-2 个主境,以保证美学统一。

1.4 互动分支设计原则

分支密度

  • 短剧本(3000-5000字):2-3 个分支节点,3-4 个结局。
  • 中剧本(8000-15000字):4-6 个分支节点,5-8 个结局。
  • 长剧本(20000字以上):7-10 个分支节点,真结局需特定条件解锁。

选择的古典化表达

现代 Galgame 常见直白选项(A.相信她 / B.怀疑她),古风剧本应转化为情境化选择:

  • 将玉佩还她,轻声宽慰
  • 默然收好玉佩,转身离去
  • 摔碎玉佩,一刀两断

道具(玉佩、折扇、书信)成为选择的情感载体。

结局设计模板

结局类型 触发条件 情感基调 命名示例
HE 信任值 ≥ 80 团圆、释然 长相守
BE 信任值 ≤ 20 或关键选择错误 生离死别 尘满面
NE 走中间路线,不站队任何势力 隐逸超脱 归去来
TE 收集全部隐藏线索 真相揭露、宿命轮回 浮生记

2. 现代素材改编技巧

2.1 素材类型与改编映射

lemonv_drama 的输入源包括新闻、故事、段子。需建立稳定的"现代→古风"转换映射:

现代素材类型 核心冲突提取 古风转化方向 典型案例
社会热点/新闻 利益冲突、阶层对立、道德困境 朝堂权谋、江湖恩怨、家族兴衰 "豪门争产"→"世子夺嫡"
情感故事 失恋、暗恋、三角关系 才子佳人、宫廷爱恨、仙侠虐恋 "异地恋分手"→"将军出征,红颜易老"
网络段子/梗 身份错位、误会、反转 穿越、性别互换、失忆认亲 "甲方乙方"→"主仆契约"
悬疑案件 谋杀、失踪、复仇 公案小说、江湖追杀、宫廷阴谋 "密室杀人"→"深宫疑云"

2.2 改编四步法

Step 1: 提炼核(Core Extraction)

剥离现代语境,保留最底层的冲突结构:

  • 谁 vs 谁(二元对立)
  • 争什么(欲望对象:权力、爱情、清白、复仇)
  • 阻碍是什么(外部规则/内部性格)

Step 2: 时代锚定(Era Anchoring)

根据冲突性质选择最契合的朝代背景:

  • 唐:开放、繁华、胡汉交融(适合爱情、商战、异域题材)
  • 宋:文人治国、市井经济发达(适合才子佳人、悬疑探案)
  • 明:厂卫制度、海禁与走私(适合谍战、江湖、海盗题材)
  • 清:宫廷制度森严、民族矛盾(适合宫斗、压抑爱情)
  • 架空上古/神话:规则自由,适合仙侠、封神改编

Step 3: 角色古风化(Character Re-skin)

将现代角色职业/身份映射到古代身份谱系:

现代身份 古风身份(男性) 古风身份(女性)
CEO/高管 王爷 / 世子 / 掌门 公主 / 贵妃 / 女掌门
程序员/工程师 机关师 / 铸剑师 / 医师 绣娘 / 药仙 / 机关师
记者/自媒体 说书人 / 游方书生 / 密探 歌姬 / 女史 / 江湖百晓生
警察/律师 捕快 / 状师 / 锦衣卫 女捕快 / 医判 / 暗卫
医生/护士 神医 / 毒师 / 御医 医女 / 蛊师 / 仙侍
学生/年轻人 书生 / 剑客 / 小厮 小姐 / 丫鬟 / 侠女

Step 4: 情感放大(Emotional Amplification)

古风叙事擅长以延迟满足和象征物放大情感:

  • 将现代的"微信拉黑"转化为"书信焚毁"。
  • 将现代的"分手"转化为"断簪绝情"或"和离书"。
  • 将现代的"加班猝死"转化为"鞠躬尽瘁,油尽灯枯"。

2.3 古风对白撰写的"三化"原则

  1. 文言化:关键情绪句使用四字句、对仗句。"我从未爱过你" → "此情已逝,此生勿复相见。"
  2. 意象化:用自然景物代替直接抒情。"我很伤心" → "梧桐更兼细雨,到黄昏、点点滴滴。"
  3. 礼制化:对话符合古代身份等级。平民对官员不可直呼"你",需用"大人"、"小人";情侣间表意需含蓄,多用"卿"、"妾"、"君"。

3. 角色图与场景图 Prompt 设计

3.1 角色图描述 Prompt 工程

角色图 Prompt 需要兼顾造型准确性与美学风格统一性。

基础结构模板

[ subject ], [ era style ], [ appearance details ], [ outfit & accessories ],
[ expression & pose ], [ lighting & atmosphere ], [ art style ], [ quality tags ]

古风角色图关键词库

时代风格(Era Style)

  • 唐代: Tang dynasty, luxurious silk robes, elaborate hairpins, plump beauty standard
  • 宋代: Song dynasty, elegant hanfu, understated jewelry, scholar aesthetic
  • 明代: Ming dynasty, high collar, intricate embroidery, official hat
  • 仙侠: xianxia fantasy, ethereal floating ribbons, glowing accessories, supernatural aura
  • 武侠: wuxia, martial artist, sword at waist, wind-swept cloak

外貌细节(Appearance)

  • 男性:long black hair in topknot, sharp phoenix eyes, high nose bridge, pale skin, thin lips
  • 女性:flowing black hair with ornate hairpins, almond-shaped eyes, willow eyebrows, cherry lips, jade-like skin

服饰道具(Outfit & Accessories)

  • 宫廷:dragon-patterned brocade, phoenix crown, jade pendant, silk fan
  • 江湖:linen warrior robes, leather belt, bronze sword, bamboo flute
  • 仙侠:layered translucent gauze, celestial sashes, jade flute, floating lotus petals

艺术风格(Art Style)

  • 国风插画:Chinese ink wash painting style, Guofeng art, highly detailed
  • 二次元古风:anime style, pastel colors, soft lighting, 8k
  • 真人感:photorealistic, cinematic lighting, depth of field, 85mm lens

示例 Prompt

A Song dynasty young scholar, long black hair tied with a white silk ribbon, wearing a light blue hanfu robe with bamboo patterns, holding a folding fan, standing under a willow tree by a lake, soft morning light, Chinese ink wash painting style, serene expression, dreamy atmosphere, 8k, highly detailed.

3.2 场景图描述 Prompt 工程

场景图需服务于剧情氛围,而非单纯展示风景。

基础结构模板

[ location type ], [ time & weather ], [ architectural elements ], [ natural elements ],
[ mood & atmosphere ], [ color palette ], [ lighting ], [ art style ]

场景类型与关键词映射

场景功能 场景类型 关键词示例
权力对峙 宫廷大殿 imperial palace hall, dragon pillars, red carpet, golden throne, tense atmosphere
秘密相会 园林回廊 classical Chinese garden, moon gate, red lanterns, jasmine flowers, romantic twilight
决战/冲突 悬崖/竹林 bamboo forest, misty mountains, sword clash, falling leaves, dramatic lighting
离别/伤感 渡口/长亭 ancient ferry, weeping willows, misty river, gray sky, melancholic atmosphere
修炼/顿悟 仙山云海 floating peaks above clouds, celestial palace, aurora lights, ethereal mist
市井喜剧 古代街市 bustling Tang dynasty market, red lanterns, food stalls, warm sunset, lively crowds

示例 Prompt

A Tang dynasty palace garden at night, red lanterns hanging from pavilions, lotus pond with blooming flowers, full moon reflected in water, a couple standing on a stone bridge, romantic and melancholic atmosphere, soft moonlight, traditional Chinese painting style, rich crimson and jade green palette, 8k, cinematic composition.

3.3 Prompt 的负面词与质量增强

负面词(Negative Prompt)

  • modern clothing, glasses, wristwatch, telephone, plastic, western architecture, distorted hands, low quality

正向增强词

  • masterpiece, best quality, ultra-detailed, intricate details, soft shadows, depth of field, dynamic angle

4. 剧本数据库 Schema 设计

4.1 设计原则

  • JSON 灵活性:剧本内容结构复杂且多变,主体内容以 JSON 存储在 data 字段中。
  • 关系型索引:常用查询字段(title, era, genre, status)保持为独立列以支持高效检索。
  • 版本控制:支持剧本的多版本迭代,通过 version 字段区分。
  • 素材溯源:source 字段记录原始现代素材,确保可追溯。

4.2 推荐 Schema

主表:dramas

CREATE TABLE dramas (
  id TEXT PRIMARY KEY,                    -- 剧本唯一ID,如 drama_001
  title TEXT NOT NULL,                    -- 剧本标题
  era TEXT NOT NULL,                      -- 时代背景:唐/宋/明/清/仙侠/神话/民间
  genre TEXT NOT NULL,                    -- 题材:宫廷/武侠/仙侠/民间/神话
  status TEXT DEFAULT 'draft',            -- 状态:draft / review / published / archived
  word_count INTEGER,                     -- 预估字数
  version INTEGER DEFAULT 1,              -- 版本号
  source_type TEXT,                       -- 素材类型:news / story / joke / poem / other
  source_content TEXT,                    -- 原始素材摘要
  source_url TEXT,                        -- 原始素材URL(如有)
  created_at TEXT NOT NULL,               -- 创建时间 ISO8601
  updated_at TEXT NOT NULL,               -- 更新时间 ISO8601
  created_by TEXT,                        -- 创建者/agent ID
  data JSON NOT NULL                      -- 完整剧本JSON
);

CREATE INDEX idx_dramas_era ON dramas(era);
CREATE INDEX idx_dramas_genre ON dramas(genre);
CREATE INDEX idx_dramas_status ON dramas(status);
CREATE INDEX idx_dramas_created_at ON dramas(created_at);

角色关联表:characters(可选,用于独立做角色检索)

CREATE TABLE characters (
  id TEXT PRIMARY KEY,
  drama_id TEXT NOT NULL,
  name TEXT NOT NULL,
  role_type TEXT,        -- protagonist / deuteragonist / antagonist / supporting
  gender TEXT,           -- male / female / other
  age_range TEXT,        -- 少年 / 青年 / 中年 / 老年
  image_prompt TEXT,
  FOREIGN KEY (drama_id) REFERENCES dramas(id) ON DELETE CASCADE
);
CREATE INDEX idx_characters_drama_id ON characters(drama_id);
CREATE INDEX idx_characters_name ON characters(name);

场景关联表:scenes(可选)

CREATE TABLE scenes (
  id TEXT PRIMARY KEY,
  drama_id TEXT NOT NULL,
  name TEXT NOT NULL,
  location TEXT,
  time_of_day TEXT,      -- dawn / day / dusk / night
  atmosphere TEXT,
  image_prompt TEXT,
  FOREIGN KEY (drama_id) REFERENCES dramas(id) ON DELETE CASCADE
);
CREATE INDEX idx_scenes_drama_id ON scenes(drama_id);

4.3 剧本 JSON Schema(data 字段)

{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "properties": {
    "meta": {
      "type": "object",
      "properties": {
        "id": { "type": "string" },
        "title": { "type": "string" },
        "era": { "type": "string" },
        "genre": { "type": "string" },
        "word_count": { "type": "integer" },
        "created_at": { "type": "string" },
        "updated_at": { "type": "string" },
        "author_note": { "type": "string" },
        "aesthetic_theme": { "type": "string" }
      }
    },
    "characters": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "id": { "type": "string" },
          "name": { "type": "string" },
          "role": { "type": "string" },
          "gender": { "type": "string" },
          "age": { "type": "string" },
          "identity": { "type": "string" },
          "persona": {
            "type": "object",
            "properties": {
              "appearance": { "type": "string" },
              "personality": { "type": "string" },
              "background": { "type": "string" },
              "motivation": { "type": "string" }
            }
          },
          "image_prompt": { "type": "string" },
          "voice_profile": { "type": "string" }
        }
      }
    },
    "scenes": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "id": { "type": "string" },
          "name": { "type": "string" },
          "location": { "type": "string" },
          "time": { "type": "string" },
          "atmosphere": { "type": "string" },
          "props": { "type": "array", "items": { "type": "string" } },
          "image_prompt": { "type": "string" },
          "bgm_suggestion": { "type": "string" }
        }
      }
    },
    "plots": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "id": { "type": "string" },
          "type": { "type": "string", "enum": ["opening", "development", "twist", "ending"] },
          "title": { "type": "string" },
          "content": { "type": "string" },
          "scene_id": { "type": "string" },
          "characters_present": { "type": "array", "items": { "type": "string" } },
          "choices": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": { "type": "string" },
                "text": { "type": "string" },
                "next_plot_id": { "type": "string" },
                "affection_delta": { "type": "integer" },
                "trait_test": { "type": "string" }
              }
            }
          }
        }
      }
    },
    "endings": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "id": { "type": "string" },
          "name": { "type": "string" },
          "type": { "type": "string", "enum": ["HE", "BE", "NE", "TE"] },
          "condition": { "type": "string" },
          "summary": { "type": "string" },
          "quality": { "type": "integer", "minimum": 1, "maximum": 10 },
          "unlock_requirements": { "type": "array", "items": { "type": "string" } }
        }
      }
    }
  },
  "required": ["meta", "characters", "scenes", "plots", "endings"]
}

4.4 数据库写入最佳实践

  1. 原子性写入:一次性将完整 JSON 写入 data 字段,避免部分更新导致结构损坏。
  2. 时间戳统一:所有时间使用 ISO 8601 格式(YYYY-MM-DDTHH:mm:ssZ)。
  3. ID 生成:使用 drama_${timestamp}_${random4} 保证唯一性和可读性。
  4. 全文搜索优化:若使用 SQLite FTS5,可为 title、source_content、data→>$.meta.author_note 建立虚拟表。

5. 关键数据源与参考标准

5.1 古风剧本素材来源

  • 中华典藏(古籍全文):历史背景、典故引用
  • 古诗词网(诗词库):定场诗、对白意象
  • 豆瓣阅读/长佩文学(古风分类):市场风向、热门题材
  • 橙光/易次元/闪艺(互动阅读平台):分支设计、UI 交互参考
  • Bilibili 古风区/抖音古风短剧:视听趋势、流行梗的古风化

5.2 图片生成 API 参考

  • Midjourney:最强古风氛围,需掌握 --niji 6 参数
  • Stable Diffusion XL + 国风 LoRA:成本最低,可本地部署
  • DALL·E 3:对中文 Prompt 理解最好,适合角色一致性控制
  • ** NovelAI**:二次元古风首选

5.3 历史/文学校验来源

  • 维基百科中国历史朝代页面:时代背景、服饰制度
  • 《中国古代服饰研究》(沈从文):服饰细节
  • 《礼记》《周礼》《唐律疏议》:礼制、法律细节
  • 汉语大词典/汉典:古文用词准确性校验

6. 总结

本报告系统梳理了 lemonv_drama 所需的核心知识域:

  1. 创作方法论:以"起承转合+三幕式"为骨架,"四境"美学为血肉,分支节点为经络。
  2. 改编技巧:建立"现代素材→古风冲突→古代身份→情感放大"的流水线。
  3. Prompt 工程:角色图与场景图分别遵循"造型+时代+氛围"和"地点+时间+情绪"的结构化 Prompt 模板。
  4. 数据库设计:关系型列支持检索,JSON 列支持灵活内容,可选拆分 characters/scenes 表增强可查询性。

下一步建议:基于本报告的方法论,批量采集 50+ 组 "现代素材 → 古风剧本" 的 seed data,供 Digester 和 Evolver 使用。