gpt4 book ai didi

game-ai - 最终幻想战术类游戏的人工智能

转载 作者:行者123 更新时间:2023-12-03 14:52:46 25 4
gpt4 key购买 nike

我正在按照最终幻想战术实现一个基于小网格、基于回合的策略。

你对我如何处理目标选择、 Action 和技能选择过程有什么想法吗?

我正在考虑将这些决定断开,但这三个决定在很大程度上是相互关联的。
(例如,除非我知道要攻击谁,以及我将使用的技能范围有多大,否则我无法决定移动到哪里,反之亦然,除非我知道要攻击多少回合,否则我无法决定攻击谁将带我到达每个目标)

我想走向一个统一的系统,但是尝试以类似于杀戮地带 1 AI 的方式使用的潜在实地研究中的东西让我陷入了局部最大值。

=== 更新 1

我目前正在尝试使用潜在领域/影响图来生成我做出决定的数据。

我不知道如何处理拥有许多技能,以及不会造成伤害而是增益/减益或改变世界的技能。

其他人建议使用目前在围棋游戏中使用的蒙特卡洛树搜索。

我相信我的 Actor 将使用的空间不适合它,因为游戏中的许多 Action 都不会导致你可以攻击和影响世界的位置(我所处的世界比最终幻想战术更大)

在最终幻想战术中它可能会成功应用,尽管分支因子比 9x9 Go 大得多(据我了解)

===

在此先感谢,Xtapodi。

ps.1 - 一个问题是,要准确地知道敌人有多远,我需要找到他的路径,因为虽然敌人在附近,但一个不可逾越的悬崖可能会将我们隔开,需要 4 个转弯才能绕过。或者更糟糕的是,一个单位挡住了路,比如说一座桥,所以实际上没有办法接触到他。

最佳答案

我使用的一种方法是做一个两遍系统。

首先,找出你的单位可以去哪里。使用 A* 或其他标记地形以查看该单位本回合可以移动多远。

一旦你知道了这一点,就可以逐步了解你可用的战术(近战攻击、治疗友方单位等),并为该战术的所有可用用途分配一个适应度函数。如果您通过标记的地形,您可以非常快速地确定您可能的战术空间是什么。

这为您提供了一个可用策略列表及其每一步的适应度函数。选择最好的一个或从顶部随机化。如果没有任何可用的策略,请重复该过程,将地形标记为两个移动,依此类推。

我所说的适应度函数是决定在某个单位或位置上执行策略的“值(value)”。例如,您的“治疗友方单位”战术决策阶段可能会遍历所有友方单位。如果一个友方单位在范围内(即,可以从你的单位可以到达的位置到达),将其添加到可能的战术列表中,并为其赋予一个健康等级,例如,100 *(1.0 - 单位健康),其中单位生命值范围从 0 到 1。因此,将一个角色恢复到仅剩 10% 的生命值将值 90 点,而一个仅下降 5% 的单位将只值 5,并且该单位甚至不会考虑治疗未受伤的单元。特殊单位(即保留胜利条件所需的“保护boss”场景单位)可以被赋予更高的基数,以便他们得到友军单位的更多关注。

同样,您的“近战攻击”决策阶段将遍历所有可到达的敌方单位,计算可能的伤害,并将其与单位的生命值进行比较。给每个单位一个“攻击意愿”,然后将它乘以你可能做的剩余生命值的百分比,你就有了一个非常详细的适应度函数,它有利于尽可能消除单位,但仍然追求高值(value)目标。

使用这样的过程,您将获得一个选项列表,例如“移动到位置 A 并治愈友方单位 B:50 分”、“移动到位置 C 并攻击敌方单位 D:15 分”等。突然,它是真的很容易选择战术。

可以通过将策略的适合度乘以实现它所必须采取的路径的适合度来添加更多细节。例如,如果您为了治疗友方单位而必须移动到的地方使您处于严重危险中(即站在熔岩空间或其他地方),您可以通过将该策略的适用性乘以.2 左右,以便单位仍然可以考虑它,但前提是它真的很重要。所有这一切都需要编写一个算法来评估给定位置的适应性,并且可以像预先计算的“地形期望”数字一样简单,也可以像维护敌方单位的“威胁图”一样复杂。

当然,困难的部分是找到使引擎变得智能的正确措施。但这是您系统调整的有趣部分。

关于game-ai - 最终幻想战术类游戏的人工智能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3133273/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com