
策略游戏
🏦 场景与客户
一家有策略品类积累的工作室,立项一款回合制策略游戏,题材是大陆争霸,目标平台 PC 与主机。团队二十余人,程序 6 人,策划 5 人。
卡点有两处。一是 AI:早期 AI 只会按固定优先级出兵,玩家两局就看穿,后期靠资源碾压毫无博弈;换成更复杂的搜索式 AI 后,一回合要算十几秒,玩家等到失去耐心。二是规模:地图铺开后单位数量上去,回合结算卡顿,动画一场打半分钟。
📅 实施节奏
- 第 1–3 周:给 AI 分档,明确每档的计算预算与行为目标,不再追求单一「聪明 AI」
- 第 4–7 周:把回合结算拆成逻辑与表现两层,逻辑先算完并产出事件流,表现层再逐条播放
- 第 8–11 周:做结算耗时预算表,每类行为限定耗时上限,超出的行为换更省的实现
- 第 12 周起:建立回放与复盘能力,用固定种子验证改动是否影响了平衡
🗝️ 方案要点
- AI 分档预算:简单档用规则与权重;高难档用有限深度的搜索,并在时间预算内随时可中断返回当前最优解
- 事件流驱动表现:逻辑层一次算完整回合,输出「谁对谁造成多少伤害」的事件列表,表现层负责播完
- 确定性随机:所有随机由种子驱动的统一序列产生,保证同一局面可复现
- 可跳过:表现层支持加速与跳过,玩家想快就能快,不再被动画绑住
⚖️ 选型与权衡
| 选择点 | 方案 | 权衡 |
|---|---|---|
| AI 策略 | 规则权重 + 有限深度搜索 | 既有博弈感又能在预算内返回;代价是 AI 会有明显的能力断层,玩家能感到难度是「切的档」而非自然过渡 |
| 结算架构 | 逻辑与表现分离 | 支持加速、跳过与回放;代价是开发量翻倍,每个行为都要写两套描述 |
| 大地图单位 | 分层降级表现 | 远处单位简化渲染,性能可控;代价是镜头快速拉动时会有明显的「画质跳变」 |
| 平衡调整 | 靠回放与种子验证 | 结论可靠;代价是每次改动都要跑一批回放,迭代速度慢于拍脑袋 |
🚧 实施难点与排查
- AI 思考卡顿:早期在主线程同步搜索。改为限定预算并在超时前返回当前最优,卡顿消失
- 结算期间无法操作:逻辑与表现耦合在一个循环里。拆开后逻辑先出结果,表现可加速可跳过
- 同一局面结果不一致:随机数取用顺序受遍历顺序影响。统一随机序列并固定遍历顺序后解决
- AI 只会一招:评估函数权重单一,导致它永远选同一种打法。加入局势相关的权重切换后行为明显丰富
💵 成本与收益
- 成本:AI 与结算重构约 4 人 × 10 周;计算都在本地,无持续服务端成本
- 收益:一场战斗的等待时间大幅缩短;AI 分档让新手与老手都能找到合适难度
- 省钱的点:回放验证把平衡问题挡在版本发布前,避免上线后再做紧急平衡补丁
🛡️ 风险与保障
- 性能下限:结算耗时预算随机器档位调整,低配机器优先保证不卡
- 可控性:AI 行为可在内部工具里逐步观察,便于定位「AI 做蠢事」的具体环节
- 回滚:平衡改动带版本,出现严重失衡可退回上一版
- 可追溯:每局保留种子与操作序列,玩家反馈的异常局可完整复盘
♾️ 可复用与演进
- 「AI 预算分档 + 逻辑表现分离 + 种子确定性」对回合制、战棋、卡牌对战都通用
- 演进方向:用回放数据训练更贴近人类打法的 AI,而不是更会算的 AI
- 再进一步:把战斗回放做成玩家社区的内容素材,支撑战报与攻略生态













































































































