V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
tonychin
V2EX  ›  程序员

有没有熟悉游戏中类似追逐与逃脱的 AI 算法的?

  •  
  •   tonychin · 2014-05-19 11:21:13 +08:00 · 4475 次点击
    这是一个创建于 3871 天前的主题,其中的信息可能已经有所发展或是发生改变。
    最近要做一个类似的东西,大概就是一张地图里分布着几个 NPC 走动巡逻, 然后每个 NPC 都有自己的视线范围,一旦玩家出现在某个 NPC 视线范围,其他 NPC 就会被通知一起围捕玩家。这样的 NPC AI 算法该如何设计?要求越聪明越好。
    还有就是如果 NPC 角色和玩家互换呢?该如何设计 NPC 逃脱追捕的 AI 算法?

    求做过类似东西的大神指点,给一些相关的算法或者资料。
    7 条回复    2014-05-20 22:03:32 +08:00
    bigporker
        1
    bigporker  
       2014-05-19 11:50:14 +08:00   ❤️ 1
    前段时间刚实现一套类似的游戏AI系统
    不过是商业游戏,代码不方便公开

    一句话回答呢,没有一个固定的算法可以完成这个功能

    AI系统,可以看看基于状态机、行为树的实现
    视线范围,简单就是遍历判断距离,复杂的去看云风的一篇博客,游戏对象间距离判断
    NPC通知追捕,给其他NPC发个消息就行了
    NPC和玩家互换,改变他们的AI系统就行

    关于游戏设计的,现在业界没有一本经典书搞定所有的
    去搜搜一本专门讲 AI 设计的,具体名字记不清了,评论最高最好的那本就是
    虽然里面的思想有点儿老旧,不过搞定这种小游戏足够了
    tonychin
        2
    tonychin  
    OP
       2014-05-19 12:38:37 +08:00
    多谢 @bigporker 的回答。
    起因是在学校参加的一个小比赛,比赛的内容是每个人写两个这样的角色,然后在给定的服务端上边互相追逐和逃脱,比谁写的 AI 更聪明。在最短时间内抓到对方或者是逃脱对方的追捕。
    你说的讲 AI 设计的书是不是这一本呢?http://book.douban.com/subject/3081930
    bigporker
        3
    bigporker  
       2014-05-19 12:51:16 +08:00   ❤️ 1
    @tonychin 我看的是这本 http://item.jd.com/11093061.html
    你说的那本也可以,作为入门都足够了

    你说的这个比赛,要考虑地形、多个NPC围捕时的协作
    这两个是重点
    cherryodd
        4
    cherryodd  
       2014-05-19 19:01:51 +08:00
    是hw的决赛题目?
    tonychin
        5
    tonychin  
    OP
       2014-05-20 19:08:00 +08:00
    @cherryodd 对啊 你怎么知道的呢 你是谁哇?
    tonychin
        6
    tonychin  
    OP
       2014-05-20 19:19:23 +08:00
    多谢 @bigporker
    这两天看了这本书和另外一本讲游戏 AI 设计的书,对于追逐和逃脱的算法有了一些思路,正在试着实现。
    现在还有个问题是地图中有障碍物的情况下该怎么处理,比如两边角色如何利用地形选择对自己有利的路径。
    不知您可否提供些思路?
    tonychin
        7
    tonychin  
    OP
       2014-05-20 22:03:32 +08:00
    @bigporker 还有个问题就是初始状态 NPC 和玩家位置都是随机分配的,彼此都不在互相的视线范围内,这个时候该如何设计 NPC 的巡逻 AI 算法去尽快发现玩家?今天一直被这个问题困扰,希望能提供些思路经验,多谢!
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3507 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 21ms · UTC 00:16 · PVG 08:16 · LAX 16:16 · JFK 19:16
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.