Java libGDX:在侧卷轴上实现AI
我正在做一个2D侧滚游戏 说明: 我使用libGDX和AI扩展。这款游戏将在android上发布(人工智能不应该消耗太多)。我的地形不是基于栅格的,它是程序生成的多边形高度贴图(没有洞穴)。 有3种类型的敌人(NPC)-近距离,远距离(子弹)和联合作战 实体有3种移动方式-左、右和跳跃。所有这些都可以像图片上那样在地面上盘旋。我极力主张使节点与地形之间有y偏移,但如果玩家跳跃,近战敌人就不会有路径(我没有测试,但我假设是这样) 我在基于网格的游戏中看到了很多例子,但在我的场景中没有 对不起,我的知识不多,我几天前刚刚在人工智能开发中学习 问题:Java libGDX:在侧卷轴上实现AI,java,libgdx,artificial-intelligence,path-finding,Java,Libgdx,Artificial Intelligence,Path Finding,我正在做一个2D侧滚游戏 说明: 我使用libGDX和AI扩展。这款游戏将在android上发布(人工智能不应该消耗太多)。我的地形不是基于栅格的,它是程序生成的多边形高度贴图(没有洞穴)。 有3种类型的敌人(NPC)-近距离,远距离(子弹)和联合作战 实体有3种移动方式-左、右和跳跃。所有这些都可以像图片上那样在地面上盘旋。我极力主张使节点与地形之间有y偏移,但如果玩家跳跃,近战敌人就不会有路径(我没有测试,但我假设是这样) 我在基于网格的游戏中看到了很多例子,但在我的场景中没有 对不起,我
- 人工智能(来自libGDX)与(几乎)无限的世界兼容吗
- 我应该如何设置节点
- AI可以用来计算子弹射向玩家吗
- 首先,我不知道libGDX,但如果你想拥有一个无限的世界,你必须对它进行编程。这意味着您可以随机生成地形,并在不再需要时在内存中销毁它。如果你想无限地向左和向右移动,那么如果内存已满,你必须在硬盘上高效地存储你的世界。对于你的多边形,如果你想回到你的化身,你只需要存储节点和一些数字作为周围元素的参考
第二,因为游戏是二维的,所以可能的路径非常简单,不需要路径查找算法。所以你不需要节点或者类似的东西。你需要的是像打盒子这样的东西,这样你的敌人就知道他们什么时候互相打。AI只需要知道你的头像是左还是右,以及它是否可以直接访问。这是简单的几何计算。如果有可能跳过其他敌人,就好像他们可以穿过他们寻找路径一样
最后,用线性代数简单地计算子弹的方向,以获得从你的化身到你的敌人的直线。你只需要计算它是否与其他敌人或地形相交,就可以知道你的化身是否会被击中
这里唯一的人工智能方面是确定敌人的行为。这一点可以通过a来实现,敌人的状态有
瞄准
,等待
,跟随
或射击
。取决于你的头像离你有多远或者你能到达它的距离,状态会发生变化