游戏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引擎设计——设想
- AI:从游戏引擎--到AI
- 游戏AI设计经验分享——行为树研究
- AI入门——阐述游戏AI设计的两个禁忌及解决方法(转)
- 即时战略游戏将领指挥AI方案设想(转帖)
- 游戏AI设计
- 游戏中的ai设计
- 坦克大战ai引擎设计
- 游戏AI引擎的三层体系结构分析
- AI编辑器设想
- 游戏AI设计(转)
- 游戏AI的综合设计
- 游戏AI的综合设计
- 游戏中的人工智能AI设计
- 游戏AI的综合设计
- 游戏服务器引擎设计
- 游戏服务器引擎设计
- 我的游戏引擎设计——“SI引擎草案(一)原理和框架”
- System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35
- JSP验证码的实现
- 关于IE6下浮动引起padding加倍的假象(能让人吐血)
- css滤镜
- vs2008保存超级慢
- 游戏AI引擎设计——设想
- filter 相关知识
- 带搜索框的listbox 例子
- 守护进程
- ASP VB.NET 下载服务器文件到客户端
- C:/WINDOWS/system32/drivers/etc/hosts 文件有什么作用
- android Socket连接【java.net包实现的socket连接client】
- JS代码在IE和Firefox间的区别及其他
- Android通过Socket(TCP/IP)与PC通讯