【问题标题】:2D fighting game AI, trained to mimic the player's playstyle?2D 格斗游戏 AI,被训练来模仿玩家的游戏风格?
【发布时间】:2014-04-18 15:31:40
【问题描述】:
我不希望 AI 能够击败玩家,我希望 AI 分析玩家的游戏风格并模仿它。
我目前的计划是跟踪玩家的每一个动作,并根据情况将其分组。因此,如果我在远距离射击很多,“远距离”动作组中的大部分都是火球;当 AI 在远程时,它会查看“远程”组中的动作,然后它最终会做大部分火球。当我在近距离时,它会有不同的动作集。
但是这样做需要太多的动作组。根据我的状态、敌人的状态、我们的距离、谁被逼入绝境、我们的血量差异等,每种情况都会是一组不同的动作。有 100 多个。
是否有替代方法?还是我走在正确的轨道上?
【问题讨论】:
标签:
javascript
machine-learning
artificial-intelligence
【解决方案1】:
它们并不都是不同的组,而是嵌套的组。
distance Far{
when winning{
attack{
moves:
frequency:
}
defense{
moves:
frequency:
}
}
when even{
///
}
when losing{
///
}
}
通过巧妙地嵌套它们,您可以加快处理速度并使其相对容易跟踪。在上面的例子中,如果距离很远,检查是赢、输还是大致平局,然后比较攻击和防御频率。根据攻击与防御频率选择攻击或防御组。从移动组中按频率选择特定移动。