90 lines
3.9 KiB
TypeScript
90 lines
3.9 KiB
TypeScript
/**
|
||
* 剧本评审包生成:把评审简报、框架、支线与九章同源全文合成一个文件,
|
||
* 供上传给 ChatGPT / 其他 AI 做外部评审。
|
||
*
|
||
* 运行:pnpm script:review
|
||
* 输出:docs/script/review-bundle.md(生成物,内容更新后重跑本脚本刷新)
|
||
*/
|
||
import { readFileSync, writeFileSync } from 'node:fs';
|
||
import { join, dirname } from 'node:path';
|
||
import { fileURLToPath } from 'node:url';
|
||
import './build-season-script';
|
||
|
||
const ROOT = join(dirname(fileURLToPath(import.meta.url)), '..');
|
||
|
||
function readDoc(rel: string): string {
|
||
return readFileSync(join(ROOT, rel), 'utf-8');
|
||
}
|
||
|
||
const today = new Date().toISOString().slice(0, 10);
|
||
|
||
const HEADER = `# 《苍梧疑冢》剧本评审包
|
||
|
||
> 生成时间:${today}(由 pnpm script:review 从仓库母文档自动合成)
|
||
> 本文档供外部 AI 评审使用,包含:评审简报、框架、支线、整季设计及九章同源全文。
|
||
|
||
---
|
||
|
||
## 一、这是什么
|
||
|
||
一款互动叙事("影游")交友产品的第一季剧本。核心机制:用户以"时空档案馆采集员"身份
|
||
玩考古探险剧情,**在知情同意后,从剧情选择和自愿讲述中整理待验证的相处线索**。
|
||
原型保留七维试验接口:依恋、冲突处理、价值观、情绪调节、风险偏好、阅读求知与择偶偏好,
|
||
不将输出当作人格诊断,也不声称已经完成真人匹配或验证恋爱预测力。
|
||
因此剧本同时承担两个职责:① 作为互动小说要好看;② 让日常取舍自然显现,为未来交友提供可核对的线索。
|
||
|
||
## 二、请评审什么(按优先级)
|
||
|
||
1. **无正确答案铁律**:每个选择点的选项之间,是否存在社会赞许性上的"最优解"?
|
||
如果有玩家能轻易看出"选这个显得我更好"的选项,请逐条指出。
|
||
2. **分支完整性**:是否存在死路(选了某选项后剧情断裂)、逻辑矛盾
|
||
(前后文信息冲突)、变量引用错误(某旗标从未被设置却被读取)。
|
||
3. **测量有效性**:各选择点声称承载的人格维度,其选项差异是否真的能区分该维度?
|
||
有没有选项名义上测 A 维度、实际上更测 B 维度的错位?
|
||
4. **叙事质量**:节奏、NPC 声口一致性、悬念铺设;指出任何出戏、拖沓或工具化的段落。
|
||
5. **合规**:主角方必须始终是记录/保护者(不是盗墓);指出任何可能被理解为
|
||
鼓励破坏文物、盗掘的表述。
|
||
6. **可玩性 > 测量的优先级冲突**:指出任何"为了测量牺牲剧情自然度"的明显痕迹。
|
||
|
||
请逐章给出:严重问题(必须改)/ 建议改进 / 亮点(值得保留)。
|
||
|
||
## 三、当前完整性快照(${today})
|
||
|
||
- **九章主线**:49 个交互点、122 条按钮出口,已接入应用。含全部分支后续、谜题提示与预写变体。
|
||
- **自适应支线**:5 条支线 × 2 变体,已有引擎条件插入及回归校验。
|
||
- **结局**:三种见证方式、三种档案馆治理与三种个人尾声可组合;不是27条完全独立长剧情。
|
||
- **验证边界**:自动测试验证路径与数据约束,文学性、选项等值及匹配预测力仍需真人验证。
|
||
|
||
---
|
||
---
|
||
|
||
# 母文档 1:故事框架(设定、NPC、弧线、选择点地图、测量规则)
|
||
|
||
${readDoc('docs/story-framework.md')}
|
||
|
||
---
|
||
---
|
||
|
||
# 自适应支线剧本
|
||
|
||
${readDoc('docs/script/adaptive-branches.md')}
|
||
|
||
---
|
||
|
||
# 当前整季设计与伏笔核销
|
||
|
||
${readDoc('docs/script/season-design.md')}
|
||
|
||
# 当前九章可玩剧本全文(运行台词权威版本)
|
||
|
||
${readDoc('docs/script/season1-full.md')}
|
||
`;
|
||
|
||
const outPath = join(ROOT, 'docs/script/review-bundle.md');
|
||
writeFileSync(outPath, HEADER, 'utf-8');
|
||
|
||
const lines = HEADER.split('\n').length;
|
||
const chars = HEADER.length;
|
||
console.log(`✓ 评审包已生成:${outPath}`);
|
||
console.log(`✓ 规模:${lines} 行 / ${chars} 字符(约 ${Math.round(chars / 1.8)} tokens 量级,注意评审模型的上下文上限)`);
|