Files
jev-match-game/scripts/build-script-review.ts

90 lines
3.9 KiB
TypeScript
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
/**
* 剧本评审包生成:把评审简报、框架、支线与九章同源全文合成一个文件,
* 供上传给 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 量级,注意评审模型的上下文上限)`);