Files
tianshu-engine/PRODUCTION.md

4.0 KiB
Raw Blame History

生产级交付检查清单

从"能跑的 Demo"到"能交付用户的生产级引擎",需要补全以下内容。


一、性能与加载(玩家打开游戏的前 3 秒)

# 项目 说明
1.1 启动加载优化 骨架屏 + 进度条 + 首场景预加载优先级。替代当前串行 fetch JSON → 无 loading 进度
1.2 视频预加载策略 LRU 缓存池3-5 个已解码视频),降低内存占用,提升预加载命中率
1.3 大场景 JSON 懒加载 章节级按需加载(只加载当前章节的场景定义和视频),避免整个 demo.json 一次性加载
1.4 资源压缩 视频 WebM/MP4 双编码 + Gzip/Brotli JSON
1.5 首屏时间目标 <200ms骨架屏 + 关键 CSS 内联)

二、可靠性与错误处理

# 项目 说明
2.1 视频加载失败 超时检测 + 重试(指数退避 3 次)+ 错误画面 + 跳过按钮ROADMAP P18
2.2 JSON 解析失败 格式验证 + 错误提示 + 降级到默认剧情
2.3 IndexedDB 不可用 检测 + 降级到 memory-only 模式 + 提示用户
2.4 内存溢出 视频缓存上限 + 自动释放最久未用的 buffer
2.5 浏览器兼容检测 检测 Web Audio API / Fullscreen API / <video> 支持,不支持的显示提示

三、部署与分发

# 项目 说明
3.1 构建产物分析 代码分割 + tree-shaking 验证
3.2 CDN 部署 public/videos/ 上传到 CDNvideoUrl 支持绝对路径
3.3 PWA 离线支持 Service Worker 缓存核心资源,离线也能玩
3.4 版本更新 Service Worker 检测新版本 + 提示刷新
3.5 多环境配置 环境变量控制 JSON 路径、CDN 域名

四、内容管线与制作效率

# 项目 说明
4.1 JSON Schema 验证 编辑器 + 引擎加载时验证 JSON 结构合法性
4.2 视频编码规范脚本 自动化 ffmpeg 批处理:统一编码参数、多场景生成
4.3 字幕工具链 Aegisub 兼容 + 时间轴自动校准
4.4 分支冲突检测 死路检测(某些分支永不触发)+ 循环检测
4.5 版本管理 场景 JSON 版本号 + 存档兼容性检测 + 迁移逻辑

五、分析

# 项目 说明
5.1 玩家行为统计 匿名收集中途退出位置、热门分支、平均通关时长
5.2 错误上报 window.onerror + Promise rejection 捕获 + 上报日志服务
5.3 A/B 测试 同一场景多个视频变体,按用户分流

六、安全

# 项目 说明
6.1 JSON 注入防护 禁止 eval所有外部数据只做 JSON.parse
6.2 XSS 检查 确认没有 v-html 使用点
6.3 存档篡改防护 存档加 HMAC 签名校验,防止本地修改成就

七、测试

# 项目 说明
7.1 单元测试 Engine / StateManager / VideoManager 核心逻辑测试
7.2 剧情路径遍历 自动遍历所有 choices 分支,验证无死路
7.3 跨浏览器测试 Chrome / Firefox / Safari 兼容矩阵
7.4 性能回归 Lighthouse + 自定义首屏/切换延迟基线

八、文档

# 项目 说明
8.1 API 文档 Engine 公开方法文档
8.2 场景 JSON 规范 完整字段参考手册
8.3 制作指南 如何从零制作一个交互式电影
8.4 部署指南 如何部署到服务器 / CDN / PWA

优先级建议

优先级 内容
P0 立即可做 JSON Schema 验证 (4.1)、场景分章节懒加载 (1.3)、错误处理 (2.1-2.5)
P1 短期 PWA 离线 (3.3)、视频编码规范脚本 (4.2)、单元测试 (7.1)
P2 中期 CDN 部署 (3.2)、分析 (5.1-5.2)、存档 HMAC (6.3)
P3 长期 A/B 测试 (5.3)、多环境配置 (3.5)、跨浏览器测试 (7.3)