AI在游戏I - 自主运动


这篇文章是我在WTM上谈论的第一部分,属于这个根帖。

人工智能的最根本要求之一是在游戏中明智地移动角色。我的意思是说,如何自己动手,

在这一点上,我们有两个选择:指导行为和地层。

指导行为Steering Behaviors

定义

转向行为是一组算法,允许角色根据策略以不同的方式移动到环境中。

 

策略

所以,fi,跟随你的怪物,当你走近他时,使用追求的策略。当你跑出他的范围之外,他会走回到他困扰他之前的地步,雇用一个到达的策略。一旦他在那里,他将实行一个漫游的战略,这将使他在一个范围内随机移动。

战略也可以结合起来,例如,敌人可以追赶你,同时逃避地牢的墙壁。

下面的gifs显示了一些这些策略如何使用我心爱的gdx-ai测试

到达行为(Arrive behavior):

到达

追求行为(Pursue behavior):

追求法律意见:当我们提供AI时,章鱼(或类似的生物)可能会造成任何伤害,我不承担任何责任。我只是做数学

您还可以使用BlendedSteering行为组合多种行为。

我在YouTube频道分享了这些行为的截图:到达 Arrive),漫游 wander),追求 pursue),混合转向(BlendedSteering)。

 

集体策略(Group strategies

转向行为可以适用于个人和团体。唯一的区别是,当个人需要一个目标时,团体使用邻近区域。

例如,在下面的图像中,我们正在应用凝聚行为,这是一种产生线性加速度的组行为,它尝试将代理移动到由给定域定义的直接区域中的代理的质心。

凝聚

相比之下,分离行为会产生从邻近区域内的其他邻居排斥的转向加速度:

分割

履行

为了实现我们使用calculateSteering方法中的SteeringBehavior类,它接收一个可操纵剂(实体,这是我们希望应用的行为),并返回计算SteeringAcceleration。该输出封装线性和角加速度,以便您在物理引擎上使用它们。

 

参考

我已经写了几个帖子谈论过去的转向动作,发现他们在这里这里这里。您还可以在这里检查davebaol的测试并在维基上阅读更深入的解释。

 

2.形成运动(Formation Motion

定义

当一群人以一种凝聚力的方式移动时,我们考虑一个形式。

gdxAi使用所谓的“槽”来管理地层。那些愿意属于组织的实体必须分配一个插槽。其中一个插槽被设置为前导,并且组合中的所有其他插槽相对于此插槽定义。实际上,它定义了地层中位置和方向的“零”。

在下图中,红色的航天器是领先者。当它移动时,其他航天器将遵循V形式:

vformation

 

如果需要,前导槽可以被锚点替换,这只是一个具有相关位置的不可见点。例如,在下面的图片中,光标只有他的位置,并且不会以任何方式与其环境进行交互,即使小猫形成将遵循它:

anchorpoint

 

履行

(非常)总结如下图:

编队

类设有FormationPattern。形成图案表示地层的形状。例如,在上面的例子中,我们使用V形成模式。

Formation类执行魔术并输出一组插槽。这些插槽必须使用SlotAssignmentStrategy分配给成员候选人。这种分配策略将根据每个插槽的作用而改变,但这是另一个故事

 

参考

为了更好的理解,请在gdxAi wiki上寻找这个主题。这里可以找到由组织管理框架提供的所有工具。

结论

所以我们到目前为止是:

  • 指导行为使用策略。  维基
  • 使用槽形成运动。维基

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值