适用于游戏AI的CoreML,具有多个输入和多个输出

时间:2018-08-14 08:39:32

标签: swift neural-network game-development coreml

我正在玩2D游戏,我希望AI敌人在某些情况下可以追击/攻击/避开主角。

我一直在思考AI需要做什么:

  1. 处理所见内容
  2. 向上,向下,向左,向右移动
  3. 攻击

鉴于CoreML的突出表现,我可以构建一个* .mlmodel来拍摄场景图片和其他一些输入,并输出5条消息,例如上,下,左,右,攻击

对于游戏的每个框架,我都认为它起作用:

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

CoreML可以处理吗?

2 个答案:

答案 0 :(得分:2)

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

此外,对于您的游戏而言,对敌方AI使用少数规则可能比使用机器学习模型更容易-而且更快。

答案 1 :(得分:2)

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

具体来说,您描述的追逐/攻击/回避动作与几年前"DemoBots" sample code project中的动作类似。那应该是一个很好的起点。 Deeper into GameplayKit with DemoBots WWDC video可能也是很好的资源。