具有多个输入和多个输出的游戏 AI 的 CoreML

CoreML for Game AI with multiple inputs and multiple outputs

我正在玩 2D 游戏,我想要一个 AI 敌人在某些情况下 chase/attack/avoid 主角。

我一直在想AI需要做什么:

  1. 处理它可以看到的内容
  2. 上下左右移动
  3. 攻击

鉴于 CoreML 的突出地位,我能否构建一个 *.ml 模型,例如,可以接收场景图片和其他一些输入,并输出五个消息,如上、下、左、右, 攻击

我认为它的工作方式是,对于游戏的每一帧:

  1. 获取输入
  2. 发送到 CoreML 进行处理
  3. CoreML returns 所有 5 个输出
  4. 敌人 AI,对这些输出进行操作。

这是 CoreML 可以处理的吗?

是的,Core ML 可以做到这一点。然而,这里真正的问题不是 Core ML,而是创建(训练)模型。

此外,对于您的游戏来说,与使用机器学习模型相比,仅对敌人 AI 使用一些规则可能更容易,也更快。

虽然可以训练机器学习模型在适当的情况下执行这些操作,但我相信 GameplayKit 更接近您的要求。

具体来说,您描述的追逐/攻击/躲避动作与 "DemoBots" sample code project from a few years ago. That should be a good place to start. The Deeper into GameplayKit with DemoBots WWDC video 中的动作类似,也可能是一个很好的资源。