Artificial intelligence 街机/策略游戏AI编程中最佳目标算法的选择

Artificial intelligence 街机/策略游戏AI编程中最佳目标算法的选择,artificial-intelligence,neural-network,game-engine,Artificial Intelligence,Neural Network,Game Engine,我只想知道街机/战略游戏中使用的各种AI算法或逻辑,用于为单个单位寻找/选择最佳攻击目标 因为,我必须编写一个小的AI逻辑,在这里,他们的一组部队将受到各种坦克的攻击,所以我一直在寻找更好的逻辑或算法,以便为部队选择一个最佳目标攻击坦克 现有数据包括: 加油机位置、射程、生命值、伤害 请任何人知道解决此问题的最佳算法/逻辑,尽早响应 提前感谢,, Ramanand.我将以类似于RPG玩家的视角来表达这一点: 为了给你的其他敌人以致命的一击,你会先击倒哪个角色?打倒该党的治疗者是常识,因为他们可以

我只想知道街机/战略游戏中使用的各种AI算法或逻辑,用于为单个单位寻找/选择最佳攻击目标

因为,我必须编写一个小的AI逻辑,在这里,他们的一组部队将受到各种坦克的攻击,所以我一直在寻找更好的逻辑或算法,以便为部队选择一个最佳目标攻击坦克

现有数据包括: 加油机位置、射程、生命值、伤害

请任何人知道解决此问题的最佳算法/逻辑,尽早响应

提前感谢,,
Ramanand.

我将以类似于RPG玩家的视角来表达这一点:

为了给你的其他敌人以致命的一击,你会先击倒哪个角色?打倒该党的治疗者是常识,因为他们可以治愈团队的其他成员。一旦治疗者离开,团队需要使用药物——供应有限——一旦药物耗尽,团队就完蛋了

类似的逻辑也适用于坦克计划。在你的AI中,你需要找出哪些坦克能为用户的舰队提供最大的力量和支持,并首先消灭它们。不要关注任何其他坦克,除非它们在实现目标时变得至关重要:首先杀死团队中最强壮、最有用的成员

所以我要把我觉得最有可能与你们坦克属性有关的东西分解一下

RANGE: Far range tanks can hit from a distance but have weak STRENGTH in their attacks.

TANKER POSITION: Closer tanks are faster tanks, but have less STRENGTH in their attacks.  Also low HITPOINTS because they're meant for SPEED, and not for DAMAGE.

TANKER HP: Higher HP means a slower-moving tank, as they're stronger.  But they won't be close to the front lines.

DAMAGE: Higher DAMAGE means a STRONGER tank with lots of HP, but SLOWER as well to move.
因此,如果我是你,我会首先关注那些拥有最高HP/最强攻击的坦克,然后是最近的,然后担心远程坦克-在它们进入你的攻击半径之前,你不能对它们做任何事情:p

算法会很简单。如果你有一个团队中的坦克列表,请为它们创建一个自定义排序(使用CompareTo),并按类别将具有最高可能生命的坦克排序到列表顶部,然后是以速度为重点的坦克,然后是射程


然后浏览列表中的每一项。如果有可能攻击坦克(0),攻击。如果没有,请转到坦克(1)。

我将用类似于RPG玩家的视角来表达这一点:

为了给你的其他敌人以致命的一击,你会先击倒哪个角色?打倒该党的治疗者是常识,因为他们可以治愈团队的其他成员。一旦治疗者离开,团队需要使用药物——供应有限——一旦药物耗尽,团队就完蛋了

类似的逻辑也适用于坦克计划。在你的AI中,你需要找出哪些坦克能为用户的舰队提供最大的力量和支持,并首先消灭它们。不要关注任何其他坦克,除非它们在实现目标时变得至关重要:首先杀死团队中最强壮、最有用的成员

所以我要把我觉得最有可能与你们坦克属性有关的东西分解一下

RANGE: Far range tanks can hit from a distance but have weak STRENGTH in their attacks.

TANKER POSITION: Closer tanks are faster tanks, but have less STRENGTH in their attacks.  Also low HITPOINTS because they're meant for SPEED, and not for DAMAGE.

TANKER HP: Higher HP means a slower-moving tank, as they're stronger.  But they won't be close to the front lines.

DAMAGE: Higher DAMAGE means a STRONGER tank with lots of HP, but SLOWER as well to move.
因此,如果我是你,我会首先关注那些拥有最高HP/最强攻击的坦克,然后是最近的,然后担心远程坦克-在它们进入你的攻击半径之前,你不能对它们做任何事情:p

算法会很简单。如果你有一个团队中的坦克列表,请为它们创建一个自定义排序(使用CompareTo),并按类别将具有最高可能生命的坦克排序到列表顶部,然后是以速度为重点的坦克,然后是射程


然后浏览列表中的每一项。如果有可能攻击坦克(0),攻击。如果没有,则使用坦克(1)。

目标是一次只攻击一个对手,并且一次最多接收一个敌人的火力(不过,最好没有)

理想情况下,你可以通过躲在掩体后面和侧翼进行突然袭击来攻击坦克。这允许你一次摧毁一个坦克,同时不受火力或很少受到火力

如果你没有掩护,那么你应该利用敌人作为掩护。移动到一个将敌人置于敌人后面的位置。这也提高了你击球的机会

你也可以使用射程来减少多个敌人的火力。撤退,直到你只在一个敌人的射程之内

如果敌人都能向你开火,你想攻击一个目标直到它不再是威胁,然后移动到下一个目标。目标是尽可能快地减少你受到的火力

如果一个以上的敌人可以同时向你开火,并且你可以选择你的目标,那么你应该向一个能让你以最小的代价降低最大伤害的敌人开火。只需将生命值除以伤害,然后攻击效果最小的一个。你也应该在任何其他相关的统计数字。射程可能对你和敌人都有同样的影响,但考虑到机动避开射击的能力,距离较近的敌人伤害更大,在计算中应该给予一定的权重

如果移动降低了被击中的可能性,那么你应该继续移动,通常是绕着对手的侧翼旋转

球队战术主要包括侧翼和转移


弹药情况如何,是否有可能错过一个固定目标?

目标是一次只攻击一个对手,一次最多接收一个敌人的火力(但最好没有)

理想情况下,你可以通过躲在掩体后面和侧翼进行突然袭击来攻击坦克。这允许你一次摧毁一个坦克,同时不受火力或很少受到火力

如果你没有掩护,那么你应该利用敌人作为掩护。移动到一个将敌人置于敌人后面的位置。这也提高了你击球的机会

你也可以使用射程来减少多个敌人的火力。撤退,直到你只剩下w