瓶颈是内容成本,不是画质算法
Nanite 改变行业不是因为光栅化更优雅,而是它消灭了 LOD 制作这道人力工序。任何不削减人的工作量的技术,都进不了生产管线。
v0.1 架构基线 · 立项第 1 天 · 2026-10-22
MagicEngine 是 AI 原生、预算感知的跨端游戏引擎。内容以可读、可验证、可复现的 MIR 存在,由 Agent 生成,由编译链按目标平台的预算编译成包——从 4 MB 微信小游戏到主机 3000 万面。
// 预算不是事后统计,是节点的一等属性
scene "night_street" {
budget { tri=50k tex=28MB
draw=96 ms=9.2 mem=400MB }
node n_1a7 : mesh/street_lamp {
attrs { mat="metal:painted" }
budget { tri=1.2k ms=0.06 }
provenance { by="agent:artisan" seed=0x9f2a }
}
node n_3f : light/cluster {
attrs { count=6 radius=8m }
budget { ms=0.8 }
}
}
这三条决定了架构长什么样,也决定了什么不做。
Nanite 改变行业不是因为光栅化更优雅,而是它消灭了 LOD 制作这道人力工序。任何不削减人的工作量的技术,都进不了生产管线。
Cocos / Unity / Unreal 的 AI 都挂在引擎外面,天花板是人的手速。我们让 AI 直接产出 MIR 变换,由校验器硬门禁、由编译器落盘,人只 review。
同一份 MIR 编译到 WebGL2 与编译到主机,预算差四个数量级(5 万面 vs 3000 万面)。平台差异写进类型系统,而不是运行时用 #ifdef 兜。
别人做“引擎 + AI 助手”,我们做“内容即程序”。差别全在这三处。
小游戏跑在 WASM + WebGL2 上:没有 NPU,没有 CUDA,单线程为主。运行时跑模型不成立,所以大模型只在工具期工作,产出被烘焙成确定性数据。
MIR 之于游戏引擎,如同 MLIR 之于编译器:资产不再是二进制 blob,而是带类型的程序,可读、可 diff、可 review。
tri / tex / draw / ms / memseed + model + recipe 三元组锁定复现项目里声明目标:微信 iOS / 低端机 / 30fps / 峰值 600MB。引擎把这条契约编译成每个资源的预算,并在 CI 里持续验证。
微信 iOS 已有原生 Metal(compute / indirect / UAV 可用),安卓仍是 WebGL2(无 compute)。同一个“微信小游戏”,是两份不同的 lower 结果。
| Compute Shader | ✗ 无 |
|---|---|
| Indirect Draw | ✗ 无 |
| Mesh Shader | ✗ 无 |
| 硬件光追 | ✗ 无 |
| 稀疏 / 虚拟纹理 | ✗ 无 |
| 目标分辨率 | 720–1080p |
| 三角面 / 帧 | 5 万 |
| Draw call / 帧 | < 100 |
| 帧率 | 30 |
| 峰值内存 | 400MB |
Tier 0 是硬边界:没有 compute、没有 indirect,“GPU driven”在小游戏低端机上不成立。几何走编译期 LOD 链,光照走烘焙 + SH 探针。
MIR 到可执行包是一条标准的多 pass 流水线。降级在编译期决定,不给运行时留 if。
virtual_geometry 在 WebGL2 目标上被合法化成“预烘焙 cluster LOD 链”,而不是报错不支持。
它是唯一的非确定性 pass,必须记录完整 provenance,并支持 --no-ai 复现 bug。
把 30MB 内容按场景可达性切成“4MB 主包 + N 个 CDN 分包”,与链接器分配段地址同理。
每个阶段都以一款真实上线的产品为交付物。P0 的唯一目的不是“做出引擎”,而是用最小成本验证:AI 生成的内容能不能真的省下人力。
一款真实上线的微信小游戏:主包 ≤4MB,低端安卓 30fps 稳定,全程零手写 shader。
微信 + 抖音双端;Metal 后端解锁 compute;TAA 与超分必须在 P1 做完。
虚拟几何、Character Stack、HWRT-DDGI。“逼真”从这一阶段才真正开始。
主机正式支持、大世界流式、运行时 AI;授权与云烘焙服务。
.mir 到屏幕闭环,预算超限精确报节点架构是提案,但这几件是实测过的:可复现、可校验、有数字。
12 条配方确定性合成,两次构建 MD5 完全一致
峰值 / 削波 / LUFS / 频谱质心 / 接缝 / 直流 / 静音
3 个会否决商用的已排除,主选与备选均已实测
80 个文件过归属守卫:42 ok / 38 note / 0 fail
不是 demo,是可回滚的资产流。音效以“配方 + 种子”入库,输出 ogg;wav 是 16MB 中间产物,永不进版本控制,任何时候都能确定性重建。声学体检抓到过真实音色错误(雨声频谱质心 8289Hz 偏高,修正后 4562Hz)——这类问题人耳要听三十遍才确认。
架构的第一性工作是划边界。以下每一项都是主动放弃,违反即失控。