爱音塔引擎模块与验收合同
本版是在Godot之上建立可被AI开发、检查、回放和调优的游戏层。Godot承担窗口、渲染、骨骼、音频与平台适配;本项目承担战斗规则、数值合同、对手策略、原始指令剑谱和体验流程。
战斗合同
- 模拟固定60Hz,位置以1/4096单位量化。相同Godot版本及本机环境的序列化往返回放已测试,跨平台逐位一致未测。
- 每次斩击只在配置的有效帧内检测剑刃扫掠;同一动作对同一目标最多命中一次。
- 起手与恢复期不允许任意免费取消。手动指令最多缓存9帧,供恢复结束后衔接;自动试验直接提交逐帧指令,不获得属性特权。
- 格挡要求来袭方向在正面角域内。闪避无敌13帧、动作18帧、冷却40帧,消耗26点气力,恢复期可受击。
- 同一帧双方命中先采集、再按采集时的防御状态结算,允许同归于尽,不由角色槽位抢先决定胜负。
- 飞剑只存在一份状态,去程与回程各有独立的一次命中额度。格挡飞剑会让它回返,不复制额外武器。
- 墨痕在核心内管理归属、寿命、半径和消耗,视觉只绘制这些数据;共鸣层数有明确上限,不能循环吃同一处墨迹。
- 对战双方同为200生命,使用相同的0.4伤害倍率。剧情与试剑数值分别配置,不借助暗中的敌我伤害补偿。
AI开发和调优合同
| 能力 | 本版实际实现 | 证据 |
|---|---|---|
| AI可编辑引擎能力 | GDScript模块、场景、Shader、JSON数值、可复现脚本和本地应用打包 | 仓内源文件与构建脚本 |
| 运行时对手AI | 延迟观察、可解释意图、行为统计、上局格挡与回剑风格适应 | opponent_brain.gd与行为检查 |
| 数值候选搜索 | 6组合法配置、每组48场,形成评分排名;脚本不静默修改正式配置 | evidence/v0.2/tuning/ |
| 提升候选 | 选择950生命、12基础伤害版本,再用后续独立种子复测,最后使用种子18000—18039跑480场 | 最终配置与balance-verified.json |
| 行为公平 | 不读当前玩家命令、参数只读、同帧交换结算、镜像槽位验证 | core-suite.json |
| 云端模型/联网服务 | 未接入,不作为离线运行依赖 | 无API密钥、无运行时网络Provider |
当前风格适应是规则与效用层的记忆,不是模型训练、神经网络在线学习或语言模型推理。自动玩家胜率仅用于比较这些脚本策略,不能推广成真人难度、用户需求或游戏好玩程度。
渲染预算
| 项 | 约束与实现 |
|---|---|
| 墨痕 | 最多24处,由一张场景平面和固定Shader数组绘制 |
| 瞬态粒子 | 固定384槽,优先使用空槽,记录峰值与覆盖次数 |
| 剑光与风环 | 固定32槽,复用ImmediateMesh与材质;剑尖轨迹读取实际骨骼位置 |
| 静态几何 | 方块按材质合批为MultiMesh;动物和人物保留真实蒙皮动画 |
| 围巾 | 复用同一动态网格,避免每帧创建Mesh资源 |
| 画质 | 精细为MSAA4×及环境效果,均衡为MSAA2×并减少环境效果 |
| 帧时记录 | 单调时钟记录帧间隔,跳过开战最初180帧;记录P50/P95/P99和样本量 |
固定容量不等于所有设备都达到60FPS,性能结论必须附带设备、分辨率、运行方式和具体样本。原生回归过程中截图、切换画质会影响帧时,这些结果不替代干净运行的测量。
商业质量尚缺的验收
| 缺口 | 实际验收线 |
|---|---|
| 角色和动作 | 专属角色造型、统一面数与材质、手脚接触和连招动作逐帧精修 |
| 手感与教学 | 真人首次进入、失败后理解、操作延迟与镜头遮挡的观察记录 |
| 内容与数值 | 更多交锋形态和关卡,针对真实玩法而非六种脚本继续验证 |
| 网络对战 | 另行实现服务器权威、延迟补偿、重连、状态同步和公平性测试 |
| 性能 | 明确最低设备与分辨率矩阵,在目标设备完成持续测量 |
| 发行 | 轻量导出、字体与完整许可审查、公证签名、商店流程和用户本人接受 |
上述未测项不以测试数量、文档完成或AI自评代签。