- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第5章 游戏人工智能【荐】.pdf
Windows 程序设计(面向游戏)
5
5
第55章 游戏人工智能
5.1 AI
5.1 AI
55..11 移动型游戏AAII
我们常听到的AI(Artificial Intelligence)即人工智能,是一个内容相当广的研究领域。
它的主要目的是要让计算机本身按照某些法则来模拟出类似人类般的思考与预测能力,并结
合计算机具有快速数学运算能力的优点,创造出计算机在各方面的有效应用。
这一章要讨论的游戏人工智能,实际上只是整个人工智能研究领域中的一小部分。这里
用不到像神经网络、基因算法、模糊逻辑等复杂的人工智能理论。相反,只需利用自己本身
的思考模式去赋予游戏中角色的判断能力,来进行某些特定的行为,这样便可拓展出属于游
戏自己本身的人工智能,而这也是一般游戏开发过程中最常见的方式。
接下来将探讨一些游戏AI的基本概念,包括游戏角色的移动、路径搜寻和计算机的决
策方式等。通过这些主题的讨论,可增加对游戏AI 设计上的基本认识,激发设计游戏AI
的灵感。
5.1.1
5.1.1
55..11..11 追逐移动
凡是在游戏中会移动的物体,实际上几乎都涉及移动型的游戏AI,例如游戏中怪物追
逐或者躲避玩家和计算机角色的移动等都是移动型AI的例子。这一小节中先来介绍在游戏
程序中经常会看到的怪物追逐玩家这种追逐移动的设计方式。
追逐移动是通过计算机控制角色朝某一目标物接近来实现,要设计出这样的物体移动
模式很简单。以怪物追逐玩家的例子来说,只要在每次进行窗口贴图时,将怪物的所在坐标
与玩家角色的所在坐标做比较,递增或递减怪物X、Y轴上的贴图坐标,使得怪物每次进行
贴图时渐渐朝玩家角色所在的位置接近,便可产生追逐移动的效果。下面便是一个典型的怪
物追逐玩家的移动AI算法,其中“怪物X”、“怪物Y”、“玩家X”、“玩家Y”分别用来表
示怪物及玩家在X与Y轴上的贴图坐标。
if{怪物x玩家x}
怪物X--;
else
怪物X++;
if{怪物Y玩家Y}
怪物Y--;
else
怪物Y++;
以前面所说明的概念来看这段算法的内容应该不难理解,是让怪物能正确地往玩家角色
所在的目的地移动。不过一般在游戏程序当中,常会按照各种不同的情况(例如怪物本身的
追逐能力、游戏等级的难易度等)来加入怪物追逐移动的不确定性,以提高计算机角色移动
的多样化。
下面来看一个怪物追逐玩家的算法例子。这段算法是以上面的算法为基础修改,使得进
行追逐移动的怪物会按照自身生命值的多寡来决定是否进行追逐。在每次计算下次的位置坐
标时,也只有2/3的几率能正确地朝向玩家。其中以“怪物HP”来表示怪物当前的生命值。
111
Windows 程序设计(面向游戏)
if(怪物HP200) //生命值大于200时才追
{
p= rand()%3; //取随机数除以3的余数
ifp!=1) //余数不为1时进行追逐
{
if(怪物X玩家X)
怪物X--;
else
怪物X++;
if(怪物Y玩家Y)
怪物Y--;
else
怪物Y++;
}
else
怪物HP+=5;
文档评论(0)