游戏中的AI自动游逛是怎样一种原理?

大板牙花生 2016-06-23 03:04:32
这里想问的就是游戏中的AI角色,比如,在RPG中,一些NPC会随意的游走在大街上。
请问,除了其中会应用到A*算法,导航网格,这些基本的寻路算法外,一般是如何智能的做到可以自己行走的?如何编写这样的智能逻辑?
...全文
254 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
cxyOOOO 2016-06-27
  • 打赏
  • 举报
回复
查查Behavior Tree,或者FSM也可以。
列子汤问 2016-06-27
  • 打赏
  • 举报
回复
建立模型啊,很多游戏都是现成的框架了吧。 自己全部实现一遍太累。
大板牙花生 2016-06-27
  • 打赏
  • 举报
回复
引用 4 楼 DelphiGuy 的回复:
为了简化处理,通常NPC限定一个游走区域,它不超出这个区域,把区域再划分为若干格子(子区域),每个格子有一个出现概率,正常情况下,NPC从当前格子向一个出现概率高的格子走就可以了,再加上检测连通性、避障等的。
这个我知道。但问题现在就在于有障碍物,区域是多边形。当然也要考虑到效率问题,不是简简单单的寻路或是A*算法能解决的,因为AI不知道自己该往哪里走。想让他显得智能一些,又要高效一些,不可能每次走完都要用D或A*导航什么算法算一遍路径吧,如果很多个AI,这样吃不消的
ooolinux 2016-06-27
  • 打赏
  • 举报
回复
比如地图是二维格子型的,移动方向只有上下左右4个方向,最简单的做法,每次要移动的时候rand()%4,得到一个方向。 也可以追逐主角,如果x坐标小于主角.X坐标,x++; x坐标大于主角.X坐标,x--; y坐标也一样。 或者避开主角,刚好和追逐主角相反。 或者以一定的概率来追逐(避开),而不是这么毫不犹豫,只表示有追逐(避开)的倾向。
  • 打赏
  • 举报
回复
为了简化处理,通常NPC限定一个游走区域,它不超出这个区域,把区域再划分为若干格子(子区域),每个格子有一个出现概率,正常情况下,NPC从当前格子向一个出现概率高的格子走就可以了,再加上检测连通性、避障等的。
大板牙花生 2016-06-27
  • 打赏
  • 举报
回复
看了很多资料,但依然不是很明白,能否再详细一点?
ooolinux 2016-06-23
  • 打赏
  • 举报
回复
游戏设计概论(第4版) 胡昭民 此书AI一章有写到
赵4老师 2016-06-23
  • 打赏
  • 举报
回复
参考 Doom Quake3 源代码。

5,530

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 模式及实现
社区管理员
  • 模式及实现社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧