游戏AI引擎设计——设想

来源:互联网 发布:oracle 全文检索 优化 编辑:程序博客网 时间:2024/05/17 06:02

       好久没写了,一直对AI比较感兴趣,最近看了些书对AI引擎的设计有点感觉和想法,不过现在只是有了一些想法,并没有实现和测试,先发出来免得以后搞忘了。

       这里针对的AI是解决决策性问题,不包含具体执行问题。例如:A角色和角色B战斗,那么A的行为判断将由AI负责,AI决定是继续奋战到底,还是逃跑,引诱,等。行为执行过程使用更简单和成熟的计算方式,逃跑路线,躲避、追踪目标的具体计算都有很详细的计算方法讲解,这些不在本文讨论范围内。随后本文所谈到的AI都是针对决策性的AI

       我希望游戏中AI表现的更理智些,不只是简单的条件判断,状态转换,if >80% 攻击 if <10% 逃跑。更甚者那种没有一点智商的,看着自己濒临死亡了仍然浴血奋战,真是勇气可嘉啊!

       AI作为角色的大脑指挥者,需要环境信息、角色自身信息、外部输入信息。AI做出决策后,直接指导角色行为,角色自身会有所改变,也会影响其所在环境,这些受决策影响改变的信息也会反馈AI

 关系和流程

       AI系统通过感知器接受输入数据,处理完成后通过传递器输出数据。感知器和传递器把游戏数据和AI能解释的信息互相转换。数据的映射w=a(x)

 

信息处理 

决策方式多种多样,我希望能使用简单的组件组装AI,同时可插拔。能够使用一个决策方式或者多个方式共同作用,也能够通过简单的基本单元组合成复杂的体系。

多个决策方式共同作用在动画《新世纪福音战士》中有直接表现,NERV的超级电脑系统由作为人类所扮演的三个社会角色组成,最后总合得到结果。

这与游戏角色在战斗时做出决定时从多个方面考虑类似。当从多个方面衡量的时候需要一个方法来平衡各方面的权重,决定最终的结果。在《游戏编程精粹4》中提到“仲裁者”就是对多个“决策者”(军师、参谋)评估出最后策略

当然,仲裁者如何权衡各决策者的结果,投票或其他,有很多方式可以选择,如果让仲裁者有可塑性也许会表现出有趣现象,不同情况下倾向于某个或某些决策者。

 

AI模型 

我还希望AI具备学习系统,可以选择需要对记忆数据,记忆可以是唯一全局的,也或者每个决策者一个记忆数据库。哪种方式好就不清楚了,显然可见的是存储大小上的差别。

现在想到的就这么多,后面再想具体的决策方式。

这都是自己想的可行性“待定”,哈哈,其实我希望的有点多。

原创粉丝点击