Artificial intelligence 编码许多不同人工智能的方法?

Artificial intelligence 编码许多不同人工智能的方法?,artificial-intelligence,Artificial Intelligence,我现在正在做一个游戏。将会有很多不同的AI,每个敌人一个 我如何着手实施这一点?我是否创建了一个基类,从中为每一种AI类型派生一个类?我是不是只做了一个大班,所有的人工智能都在一个特定的案例中?也许是别的什么 我在Unity3d中用C做这个 谢谢 开始设计这样的东西的安全方法是创建一个单元AI接口,然后将每个AI放在一个单独的类中实现它。公共功能可以放在助手类中 关于对象层次结构,游戏AI应该遵循原则,就像其他一切一样 也许设计模式策略模式适合您的需要 它迫使您对每个AI使用类似的接口。 它允许

我现在正在做一个游戏。将会有很多不同的AI,每个敌人一个

我如何着手实施这一点?我是否创建了一个基类,从中为每一种AI类型派生一个类?我是不是只做了一个大班,所有的人工智能都在一个特定的案例中?也许是别的什么

我在Unity3d中用C做这个


谢谢

开始设计这样的东西的安全方法是创建一个单元AI接口,然后将每个AI放在一个单独的类中实现它。公共功能可以放在助手类中


关于对象层次结构,游戏AI应该遵循原则,就像其他一切一样

也许设计模式策略模式适合您的需要

它迫使您对每个AI使用类似的接口。 它允许您在运行时更改敌方对象的AI算法。
我想这要看情况了

有很多方法可以做到这一点

1经典的面向对象编程,您可以从AI接口派生出一个详细的类结构,然后从中构建您的类层次结构

2您可以使用面向组件的设计,然后创建一个AI组件,该组件可以使用不同的较小组件进行初始化和进一步扩展

3你可以走脚本路线,在你的引擎之外编写你的AI逻辑,这很好,因为它提供了核心引擎功能和你的特定游戏逻辑之间的分离

在我看来,这当然取决于你的特殊需要,我经常混合1和3,但我想你可以选择1 | | 2 | | 3,它们并不完全是排他性的

我认为你应该记住的另一件事是你的角色控制系统以及你如何实现它,角色控制系统将直接影响你如何实现你的AI系统架构


祝你好运:

这取决于你使用哪种语言;