SuperAPI AI 工具集

godot-monte-carlo-balancer

测试与质量

查看项目

更新于 10-16 10:37

技能介绍

用途

该技能面向 Godot 游戏的平衡性审计与重新校准,通过构建一个“源码驱动、零配置”的蒙特卡洛平衡实验室,用模拟结果而非人工拍脑袋来判断难度与经济系统是否合理。核心原则是:不在模拟中手抄游戏数值,而是在启动时解析 Resources / 源码,使下一次运行自动反映设计者的改动。

主要能力

  • 抽象建模(Phase 0):将游戏映射为会话(Session)、威胁(Threat)、防御/能动性(Defense/agency)、故障(Faults)、资源(Resources)、局内经济(In-run economy)、元经济(Meta economy)、评级(Grade)等抽象行,并写入 BALANCE_PLAN.md;未映射的行不参与模拟。
  • 源码提取(Phase 1):采用 Resource 优先的决策树,先运行 inspect 再开始模拟,避免在 Resource 项目上使用正则农场式提取;仅对行内公式系数使用正则,并在发现非预期 (default!) 时停止修正。
  • 模拟引擎(Phase 2):以行为化的 PlayStyle × InputModel(鼠标 / 触屏 / 手柄)建模,包含移动端的 SessionModel、带种子的 SmallRng,并使用 rayon 并行独立任务。
  • 分析与报告(Phase 3):使用 Wilson / bootstrap 置信区间给出判定,辅以次要的能动性检查,并输出稳定的 JSON。
  • 经济与留存(Phase 4):分析生涯曲线、刷取行为、利息曲线、奖励节奏检查点。
  • 调优生成(Phase 5):按目标区间评分的暴力搜索,在 Resource-first 项目中输出 .tres。
  • 类型适配(Phase 6):对指标进行覆盖,并链接对应的领域技能链。
  • 校准(Phase 7):在完整矩阵签署前,用 3–5 个黄金用例与无头 Godot 对比(除非在 Phase 0 记录豁免)。

使用方式

提供 CLI 契约(需按 Phase 0 扩展 clap 桩):

balance-lab inspect
balance-lab simulate --level 3 --style average --runs 1000
balance-lab career --style casual --runs 200
balance-lab mode <key> --runs 500
balance-lab bruteforce --level 4 ...
balance-lab gen-level ...
balance-lab calibrate --cells golden.json
balance-lab --json <any command>
balance-lab --seed 42 <any command>

随附资源包括:平衡实验室模板(Cargo.toml + src/,复制到 tools/balance_lab/)、启动脚本 balance_lab.ps1 / balance_lab.sh、CI 感知的快照差异工具 compare_balance_snapshots.py,以及稳定的 --json 字段契约。

目标区间与判定规则

目标区间按 style × input_model 单元格定义,默认输入模型为鼠标:afk 胜率 5%–55%、casual 55%–90%、average 70%–95%、pro 90%–100%;触屏对应的 casual 为 55%–90%、average 65%–92%、pro 85%–100%。只有所有模拟单元格都落在区间内,关卡才算合格。若游戏在移动端发布,矩阵必须包含触屏输入模型;鼠标上合格但触屏上过难的关卡判为过难。

CI 判定规则:搜索/工作阶段每格 100–300 次运行,95% 置信区间与目标区间重叠即为 OK,否则为 TOO_HARD / TOO_EASY / INCONCLUSIVE;签署/DoD/快照阶段每格至少 1000 次,要求每个风格 × 已发布输入模型的 95% CI 完全落在区间内。战斗、教育、放置类游戏常以其他主指标替代胜率,需在 Phase 0 设定。

适用场景

关卡不公平、商店不可达、刷取漏洞、利息曲线断崖、内容更新后的重新校准、CI 中的平衡 JSON 差异检测等。

限制与禁止事项

资料明确列出大量禁止行为,包括:不得硬编码游戏数值或跳过已有 Resources / .tres;不得跳过内嵌公式;不得只模拟最优玩法;不得把人类建模为瞬时反应;不得对移动端复用桌面反应/点击参数;不得假设移动端会话不中断;不得让依赖精确度的机制未在触屏模型下测试;不得跳过元游戏;不得使用无种子或 HashMap 哈希的种子路径;不得在 rayon 任务间共享 RunState / RNG;不得从未经校准的物理/AI 模型声称数学平衡;不得仅凭单一平均值或点估计判定;不得在未检查资源流的情况下宣称可通关;不得将难度与经济分开平衡;不得在过度削弱刷取后不复查商店可达性;不得仅用 AFK→pro 的 PvE 区间平衡 PvP;不得孤立调优单个会话;不得接受未经模拟验证的生成内容;不得在 Resource-first 项目中生成 .gd 工厂;不得跨游戏源码编辑缓存 GameData;不得让设计者手动编译;不得仅用 stdout 面向智能体。

定价、价格、平台支持范围等具体信息暂未提供。