本文目录 14 节
《僵尸危机:方块头》大版本更新宣发片:网页 Canvas 游戏逐帧实录,一条片子跑完立项到 B站发布
入档:2026-10-18 来源:
{aigc-creative-archive}/80_僵尸危机_更新宣发片/(00_项目档案.md、01_脚本/分镜脚本_v1.md、06_剪辑/的卡点与出片脚本、06_剪辑/游戏录制/的录制管线、07_封面/、08_发布包/),游戏仓库lebronfzc/jiangshiweijifzc(forkMr-Salticidae/zombie-world),以及创作会话里作者(跳蛛先生)的原话 复盘依 aigc-postmortem:先冻结事实,再写判断。
事实记录(不可修改区)
- 作品:《僵尸危机:方块头 · 经典复刻版》大版本更新的 B站宣发片。16:9、66.3 秒、1920×1080、30fps,游戏画面全部真实实录,配乐 Suno,无口播。自有作品,不是比赛。项目
80_僵尸危机_更新宣发片。 - 游戏:HTML5 Canvas 俯视角打僵尸(致敬 Boxhead),发布在 B站 Toy(公开版
zombie-crisis-boxhead,id19242799980544)。 - 时段:2026-10-07 立项 + 分镜 + Suno brief + 给游戏配 BGM(
feat/bgm)。2026-10-15 搭录制管线、11 镜全实录、占位→全实录粗剪。2026-10-17 配乐卡点、改长、首页重排、二维码、正式版、两个上游 PR、Toy 提审过审、封面 + 文案、作者投稿发布。2026-10-18 00:21 发布。 - 构成:13 段。11 段游戏实录(O01 开场、F01 开房、F02 三人同屏、F03 金币吸附、F04 波间商店、F05 自动瞄准、F06 油桶连爆、F07 手机竖屏、F08 一键横屏、C01 无双高潮、C02 三人守波)+ O02 标题卡 + E00 更新清单卡 + E01 片尾卡(嵌玩家入口二维码)。
- 定稿母版:
06_剪辑/成片/僵尸危机宣发片_粗剪_20261017_0805_无角标.mp4。- 1920×1080、30fps、66.30 秒。
- 响度 -16.6 LUFS,真峰 -1.8 dBFS,LRA 2.9。
- 双语说明字幕逐镜头烧录(中上英下,复用 77 号规范)。
- 配乐:作者自己在 Suno 6.0 Simple Mode 跑的《8-Bit Victory》(电吉他 + 8-bit),147.5 BPM。宣发版由
配乐剪辑.py按小节线剪出(保留整首头尾、只删中间重复段)。 - Toy:公开版
19242799980544,两次toy update均约 3 分钟过审(首页重排 + BGM + 探针修复一版;移动端走动换枪修复一版)。线上 mtime 1792256789。 - 发布:作者本人 B站投稿 BV1sDJq6aEBx,标题「僵尸危机:方块头 大版本更新!三人联机、手机竖屏都能玩」,1 分 07 秒,合集「DEV LAB」第 3 集,话题「AI整活全宇宙」,发布 2026-10-18 00:21。
- 公开数据快照(发布约 6 小时,B站公开接口):播放 138、点赞 37、投币 28、收藏 32、分享 1、评论 21、弹幕 0。首小时数据未单独回填(公开接口拿不到完播率)。
- 上游 PR #3(BGM + 探针)、PR #4(首页重排 + 换枪修复)均未合并,线上版本比上游 main 新。
- 数据来源:ffprobe/ffmpeg ebur128、录制产物逐帧哈希、
toy mylist --json、B站 web-interface 公开接口、作者看片/真机走查原话。助手没有人耳、没有真机。
一句话
77 号《右下角的池塘》跑通的”屏幕内用引擎逐帧实录、不录屏不让 AI 画”配方,这次换到网页 Canvas 游戏上第二次成立:把 Godot 的 --write-movie 换成 Playwright 接管页面时钟逐帧截图 + 离线音频渲染,11 个镜头(含手机触摸、B站容器模拟、本机三人联机)全是真实游戏逻辑跑出来的。作者一条片子从立项推到 B站发布,中途还顺手修了一个线上手机 bug。
一、过程(作者决定 vs 助手动作)
| 节点 | 作者决定(原话/要点) | 助手动作 |
|---|---|---|
| 10-07 立项 | 16:9 / 30-45 秒 / Suno 配乐 + 游戏原声 / 无口播;顺手给游戏配 BGM | 分镜 v1(12 镜 38.5 秒)、Suno brief、feat/bgm(代码合成芯片音乐 + 修线上错误探针) |
| 10-15 | 「先搭录制管线出占位粗剪」 | 网页版逐帧录制管线(接管页面时钟 + 离线音频)、占位粗剪 38.5 秒 |
| 10-15 | 「把 11 个镜头都写完再给我看」「记得把项目拉取到本地」 | 正式 clone 到 D:\jiangshiweijifzc;写完 11 镜操作脚本(单人键盘自驾、手机 CDP 触摸、本机三人联机);全实录粗剪 38.5 秒 |
| 10-17 | Suno 6.0 出了《8-Bit Victory》,「这一条已经非常完美」 | 自动卡点(BPM/拍/小节线/drop),12 切点全落拍,C01 对 drop;带配乐粗剪 37.53 秒 |
| 10-17 | 「有点短,不是一个完整的作品」「不能低于 60 秒」 | 改配乐剪辑思路:保留整首头尾、只删中间重复段;成片 66.3 秒,七个功能镜头放宽、全部重录;新增 C02、E00 |
| 10-17 | 「非常完美,提交 git」 | 本地提交 9d1c2d5 |
| 10-17 | 「首页太乱,而且需要滚动,重新设计」 | 查出根因:一条样式写错,背景装饰僵尸被当正常内容把标题按钮下顶约 240px;修掉一屏放完,五屏截图验证不滚动 |
| 10-17 | 「用玩家入口生成二维码出正式版」「发上游 PR」「去执行更新动作等待审核」 | segno 生成玩家入口二维码嵌 E01;两个上游 PR;toy update 提审约 3 分钟过 |
| 10-18 | 真机走查通过「封面是不是还没做」「去掉 B站点开就玩」 | 补 16:9 / 4:3 封面(正式版 2.5 秒抽帧)+ 发布文案;按两次要求删掉封面标语和标题里的「B站点开就玩」 |
| 10-18 | 作者自己投稿,回填 BV | 回填 README/档案/文案,提交 74a24ed |
| 10-18 | 「移动端不能移动时换枪」 | 定位 + 修复(见下)、重打包 toy update 重新过审、更新 PR #4 |
二、结果:做到什么、没做到什么
做到的(事实项)
- 网页 Canvas 逐帧确定性录制:Playwright 在页面脚本加载前注入虚拟时钟,接管
performance.now/Date/requestAnimationFrame/setTimeout/setInterval,Math.random固定种子;AudioContext换OfflineAudioContext跟同一时钟走。同一 4 秒 PREVIEW 连录 3 次,120 帧逐帧哈希完全一致,原声两次差 -162 dB(浮点舍入)。 - 三类镜头都走真实游戏逻辑:单人 6 条键盘自驾(往
keys按 WASD/空格/Shift);手机 2 条 390×844 视口 + CDP 原生多指触摸(F08 模拟 B站 App 容器的 4 个接口);联机 2 条本机起同提交server/server.js、3 个独立浏览器真实开房→输码→准备→开局。 - 只拍真实机制:击杀、爆炸、金币吸附、商店结账、自动瞄准、无双都是游戏自己跑出来的。布置(跳波、快进无敌、给连击解锁武器、给金币)只用来快进到要拍的那一刻,诚实边界写进录制 README。
- 卡点工具自洽:
卡点.py(numpy + ffmpeg,无 librosa)合成 128/150/170 BPM 已知答案曲校验,BPM 误差 <1%,drop 差 <0.05 秒;修过反拍误判和半速误判。 - 片长保护:
剪辑_main.py对卡点后变长、还没重录的镜头末帧定格补齐并标「短 x 秒·要重录」,片长不缩、音画不错位。 - 诚实边界守住:封面/文案只说三人、不说流畅联机、不提 iOS;手机横屏/刘海功能过审后真机走查才发片。
没做到 / 留的尾
- 首小时数据未回填:公开接口拿不到完播率,发布文案里「完播率 >30%、互动率 >3% 再投流」的判断缺一项。
- 线上 Toy 与录制提交逐字节核对没做。
- 上游两个 PR 未合并:线上版本比上游 main 新,要和作者对齐。
- F08 容器是模拟的:只实现游戏用到的 4 个接口,真机效果靠作者走查,没对照 SDK 文档逐条核。
- 三人联机只在本机跑通,没经公网。
三、方法论沉淀
网页 Canvas 游戏的逐帧确定性实录:接管页面时钟
核心:网页游戏做宣发片,画面既不录屏也不让 AI 画——在页面脚本加载前注入虚拟时钟接管 performance.now/Date/rAF/setTimeout/setInterval,Math.random 固定种子,AudioContext 换 OfflineAudioContext 跟同一时钟走;按 60Hz 推进每两步截一帧得 30fps,游戏原声录完一次离线渲染、帧对帧对齐。
来源:80 号 11 个镜头全部用这套录。
验证状态:⚠️ 首次(一个网页项目)。是 游戏宣传片实录_引擎逐帧录制与脚本代打_v1(77 号 Godot --write-movie)的网页对应实现,同一思路第二种引擎,算同向第二例。
操作规则:
- 时钟接管必须在游戏脚本之前注入(Playwright
addInitScript)。dt 有上限(本作 0.033)时别用 30Hz 步长,会被夹慢约 1%,用 60Hz 两步一帧。 - 导出要发布的提交到独立副本录,录哪个 sha 记进录制记录,发片前和线上 Toy 版本核对。
- 布置(跳波、无敌、给金币、解锁武器)只用来快进到要拍那一刻;开录后画面里发生的事必须游戏自己跑,不改伤害判定、不摆假画面。
- 单人走键盘、手机走 CDP 原生触摸、联机本机起同提交服务端开多浏览器——都走游戏真实输入/网络路径。
边界:联机按真实时间限流,虚拟时间得按真实节拍推;只在这一个 Canvas 项目成立过。
宣发片「太短不像完整作品」:配乐留整首头尾、只删中间
核心:短宣发片让人觉得”不完整”,往往是配乐从歌中间截进来、结尾直接掐断。解法不是硬加镜头,而是用整首歌的头(前奏→主歌进入)和尾(尾声自然收),只剪掉中间重复的主歌/间奏段,让观众听到一首歌完整的起承转合。
来源:37.5 秒版作者判「不是完整作品」;改成保留整首头尾后 66.3 秒,作者「非常完美」。
验证状态:⚠️ 首次。与 音频也能蒙眼剪辑_突然静音是剪出来的_v1 同向——结构感是剪出来的。
操作规则:配乐剪辑.py 按小节线找「前奏+第一段主歌」做头、「尾声」做尾,中间重复乐段整节删除,接缝落小节线重拍 + 20ms 交叉淡化。片长由”要讲几个功能镜头”反推中间保留多少段。
观测手段本身要先被证伪(线上错误探针)
核心:装了错误探针不等于探针在工作。本作 08-21 加的全局错误探针因字符串里混进真换行整段解析失败,window.onerror 从没装上,线上红条一次都不可能出现——修好后要故意抛一次错确认红条真的出现,并补 HTML 内联脚本的语法解析测试(node --check 查不到 HTML 里的脚本)。
验证状态:⭐⭐ 与 沉默失败先装嘴律_够不到的环境先给它一层能看见的报错_v1 同一项目、同一探针的续例。
四、助手误判全记录
- ⚠️ 档案与本机工作副本对不上没第一时间察觉:档案写 BGM 在
feat/bgm/music.js/7051392,本机D:\zombie-world是从 fork 全新 clone、这些全不在、HEAD 也不对。开录前必须先核”要录哪个提交”,不能在对不上的工作区贸然开录。正解是按作者给的上游地址重新 clone 到固定本地路径。 - ⚠️ F01 字幕压住联机面板标题,来回取景三次:推近→整屏→整屏才解决,中间还有一次剪辑和录制并行跑、剪辑读到旧 F01。取景时就该给字幕预留位置,并发出片要串行化读写。
- ⚠️ C02 想当然拍”三人打 BOSS”:录了 60 秒 BOSS 都没走到三人附近,改成”三人守尸潮”并改镜头说明。AI 无法导演 NPC 走位,拍前先确认该局面在游戏里自然可达。
- ⚠️ 本轮最大的教训——长文档一次性写入反复撞后端 5xx:复盘主文档太长,连续多轮”现在一次性写进知识库”都在写入时被中断,空转十几轮没落盘一个字。正解是分段落盘:先 create 骨架+事实区,再多次 insert 追加各节,每段都短,中断也不丢已写部分。(见下方新方法论)
五、下次改进
- 开工前先核对本机工作副本与档案记录的分支/提交/关键文件是否一致,对不上先停下来重新定位版本,再开录。
- 大文档(复盘、长文案、长配置)默认分段写:骨架先落盘,再分节 insert,不要赌一次长写入能在超时前完成。
- 宣发片配乐先想清楚”要讲几个功能镜头、片长下限多少”,再决定配乐留多长,避免先出短片再被打回重排全部镜头。
- 发布后 24 小时内回填首小时数据(完播率只有创作者后台看得到)。
六、未知与未验证
- 首小时完播率/互动率、“B站点开就玩”入场票的实际效果。
- F08 容器真机表现(只过作者走查,没对 SDK 文档逐条核)。
- 上游两个 PR 是否会合并、线上与上游 main 的差异如何收敛。
- Suno 6.0 的质量跃升是否稳定(作者凭 Simple Mode 一条就定稿,没做多条盲选)。
关联文档
- 配方母本(77 号 Godot 游戏实录):游戏宣传片实录_引擎逐帧录制与脚本代打_v1 · 2026-09-29_右下角的池塘_游戏宣传微电影_实录混剪到双语字幕发布_复盘_v1
- 同一游戏的线上探针教训:沉默失败先装嘴律_够不到的环境先给它一层能看见的报错_v1
- 字幕规范:影视级双语字幕_中上英下与libass逐镜头烧录_v1
- 声音结构是剪出来的:音频也能蒙眼剪辑_突然静音是剪出来的_v1
- Toy 版本指纹/外层地址:2026-07-11_B站Toy同步事故复盘_版本指纹与外部cron兜底_v1
- 封面以剧照为底、AI 只排版:2026-10-14_SeeBay宣传片护航_八轮生成到一条直出与台词高频化复盘_v1
- 项目档案(库外):
{aigc-creative-archive}/80_僵尸危机_更新宣发片/00_项目档案.md