我正在在 Unity 上开发一款 3D 打击游戏 "Final Straw",其中一个我正在探索的问题是如何让战斗在玩家被多个敌人包围时感到电影化。

一个大挑战是敌人位置:敌人需要自然地围绕玩家移动、避免拥挤,取而代之的是轮流攻击,而不是一次性冲进去。

在研究这个问题的过程中,我发现了一场旧的GDC演讲,“Marvel's Spider-Man AI Postmortem”,由 Insomniac Games 的 Adam Noonchester 进行。

其中一节解释了他们的战斗系统如何使用 攻击令牌来控制哪些敌人被允许攻击,而其他敌人则围绕玩家移动。它还讨论了他们如何使用 梯度下降山爬 来评估和改进敌人位置的战斗。

这对我来说是一个非常有用的参考资料,我想它可能对其他开发者也很有用,他们正在开发类似的游戏。

GDC演讲:
https://youtu.be/LxWq65CZBU8?t=1349

Final Straw在Steam:
https://store.steampowered.com/app/5035710