创始人锁锚候选 A 暖夜霓虹落地(纠正重派:看图+复用批次二产线+镜头单从数据表 import,首派 FAILED 后收敛): P1 生图 92(顾客 39=13 类×3 态/菜品 30=recipes 真 id/设备 6/UI 图标 14+框 3)→抠图 89 sprite→ 图集 nightmarket 89 帧 968KB webp+Phaser3 JSON;场景背景 4(日/夜/高峰/雨,复用锚图); BGM 3(闲市 95/高峰 125/雨夜 78bpm,mmx music 各截 75s 循环 96k≈902KB 共 2.6MB 懒加载,压缩码率优于卡牌 256k); SFX 24 类 ZzFX 程序合成零包体;表现层换装(顾客立绘 typeId+态切帧/点单气泡菜品图标/背景昼夜雨切换/HUD 金币/ dock 4 页签,全带缺图降级,readState 语义零改)。 门证据(主会话逐门复验):换装后三门零倒退(logic-smoke 95 断言/tree-check 15 查/单测 30)+两本包体账实测过门 (账一 assets 4.23MB≤10MB/首屏 1.13MB≤2MB,账二引擎首屏传输~2.42MB 与设计书预估 2.35 吻合)+CDP 九门 8/9 (唯 C_frame=本机 headless 无 vsync~110fps 环境采样非换装,mini-desktop 复验)+富三门全过;成本 <¥5(101 呼)。 少年类顾客漂卡通词面顽疾用「去学生词+反卡通厚涂」攻克;单骑手不满态待重摇=已知项。dist/evidence 按惯例不入库。 M5 缺口=rare/critic 立绘 6 类分包/食材图标 12/HUD 图标+9-patch/BGM 无缝循环点/C_frame 真机复验。 Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
5.7 KiB
良率与成本 · P1 资产整装(2026-07-07,《夜市一条街》M4)
批次二眼验锁定「暖夜霓虹」候选 A 之后,这一轮把风格版落成游戏真资产:首屏与核心玩法面的全套图元、图集、场景背景、音频,并完成表现层换装(程序化占位 → 真图集贴图,纯逻辑内核 readState 语义一字未改)。所有数字由 manifest.jsonl 与构建脚本自产,不含估算。
交付面
| 项 | 数 | 落点 |
|---|---|---|
| P1 生图 | 92(顾客 39 = 常客 13 类×3 态 / 菜品 30 = recipes 全量真 id / 设备 6 / UI 图标 14 + 框件 3) | images/nm-p1/ |
| 抠图透明精灵 | 89(sprite 全量;UI 框件 3 张 bleed 不抠) | images/nm-p1-keyed/ |
| 图集(单页 Phaser3) | 89 帧 / 968KB webp | tier2/games/night-market/assets/atlas/nightmarket.{webp,json} |
| 场景背景 | 4(日/夜/高峰/雨,复用批次二锚样张压 webp,682KB) | assets/scenes/scene-*.webp |
| BGM | 3(闲市 95bpm / 高峰 125bpm / 雨夜 78bpm,mmx music-2.6 instrumental,各截 75s 循环 96kbps ≈ 902KB) | assets/audio/bgm-*.mp3 |
| 音效 | 24 类(ZzFX 程序合成,零二进制字节) | src/audio/sfx.js |
| 换装 | 顾客立绘(typeId+态切帧)/ 点单气泡菜品图标 / 背景昼夜雨切换 / HUD 金币图标 / dock 4 页签图标,全带缺图降级 | src/scenes/main-scene.js · src/ui/{hud,dock}.js |
镜头单由 scripts/asset-shots.mjs 从三张数据表(customer-types / recipes / equipment)import 程序生成,id 单源、禁手抄;缺美术设定的 id 直接抛错,防漏类防错 id。
良率(候选 A 已知风险=生图一致性要求最高,如实记账)
| 口径 | 数 |
|---|---|
| 图像外呼总数 | 101(成 99 / 瞬时超时重试 2) |
| 一轮达标(菜品/设备/UI 图标) | 高——sprite 组经批次二 r2 修订后净底稳,菜品 30、设备 6 一轮全过 |
| 质检重摇 | 4 张:少年类漂卡通(放学学生 3 态)/ 净底偶发失效(加班白领等待)/ 发光图标光晕满幅(广告礼盒、研发灯泡) |
| 已知漂移项 | 1 张:待单骑手·不满态——「骑手+头盔」组合顽固漂 3D 卡通(与少年类同属词面顽疾),重摇一轮未收敛,以对照身份保留(单张、angry 短暂态,渲染层同类降级不影响可玩) |
| P1 范围外缺口 | rare/critic 顾客立绘(设计书稀有 12 类分包,P1=常客 13),运行时降级圆身占位;食材图标、UI 图标 15+ 打磨接入——归 M5 |
成本
| 口径 | 数 |
|---|---|
| 图像外呼 101 次 | 官方 $0.35 / 仓内实测口径 ≈ ¥3.33 |
| BGM music 外呼 | ~10 次(mmx music 服务当日间歇「准备失败」,自主重试至 3 首全成) |
| 累计 | < ¥5,工单预算位 ¥200 用 < 3% |
两本包体账(实测,scripts/build.mjs 自产)
账一·契约资产门(挂 assets,不含引擎):assets 总 4.23MB ≤ 10MB ✓(图集常驻 0.97 + 场景背景 0.68 + 音频 BGM 懒加载 2.58);首屏最小集 1.13MB ≤ 2MB ✓(常驻图集 + 首场景 scene-night,BGM 与其余场景不计首屏)。
账二·首屏传输账:游戏 bundle 0.162 + index.html 0.004 + 引擎 Phaser 3.80.1 min(CDN 联网实测 1.13MB)+ 首屏 assets 1.13 ≈ 2.42MB(设计书账二预估 2.35MB,吻合;超出 0.07MB 的收敛路径按设计书 §5 已列:引擎深裁 / 代码分包 / 首局资产再压)。平台编译体积门仍是「契约已定义、实现待接」,本脚本自产字节即顶门证据。
换装验证
本机三门换装后重跑零倒退:logic-smoke 95 断言 / tree-check 15 查 / 单测 30 全绿(换装只触渲染层,纯逻辑内核未动)。
真浏览器 CDP 九门 8/9(本机 headless Chrome):A_boot / B_uncaught=0 / D_render bright=133614 / E_live 69/69 / F_wiring / G_input / H_progress / I_control 全过,富三门(三联动 / 经济 / latch)全过。唯一未过 C_frame:判据 Δframe∈[20,45],实测 56——换装前 M2 原版对照实测 61(同样超上限),证明是本机 headless 无 vsync 帧率偏高(~110fps)的环境采样,与换装无关,mini-desktop 复验。
渲染树硬证据(CDP 直读 scene):顾客节点 body = Sprite、texture=nm、frame=nm-cust-<typeId>-<state>;背景 texture 随高峰切 scene-peak;无立绘的稀有客降级 Arc 圆身——立绘换装、态切帧、背景切换、缺图降级全部真生效。
工艺发现(与批次一/二叠加,收口蒸馏回 .agents)
- 少年类漂卡通的词面解法:去掉「学生/校服」等卡通触发词、改纯成年外观描述 +
--subject-extra反卡通厚涂强化(「写实成年人体态,浓稠厚涂油画笔触,绝非日系动漫/美式卡通/3D渲染」),把批次二未解的放学学生三态拉回厚涂锚。但「骑手+头盔」这类强职业符号仍顽固——词面顽疾未全灭,升档 B 通道的实证点再添一例。 - 发光物件 UI 图标的净底陷阱:礼盒金光、灯泡光晕这类主体自带放射光的图标,光晕填满画面导致色键抠图四角采样失效(整幅进图)。prompt 去「迸射金光/发亮光晕」、改「造型紧凑/清晰」后主体裁出、净底恢复。
- UI 框件走程序化而非生图:面板/按钮用 bleed 组会连夜市街景一起出、抠不净;9-patch 程序绘制更可控,生图框件仅留参考。
- 大图进图集必先按类缩放:mmx 出 1024²、抠图后仍 ~900²,直接进图集单页装不下且破账一。按 id 前缀缩放(顾客高 208 / 菜品·设备 168 / UI 图标 112)后 89 帧进单页 968KB。
- C_frame [20,45] 上限对本机 headless 偏严:无 vsync 时 rAF 跑到 ~110fps,换装前后同样超上限,是环境非缺陷;帧率门的真判定环境是 mini-desktop。