游戏开发论坛

 找回密码
 立即注册
搜索
查看: 7289|回复: 22

[讨论] 问个问题,关于wow的怪物ai

[复制链接]

134

主题

1802

帖子

1914

积分

金牌会员

Rank: 6Rank: 6

积分
1914
发表于 2011-1-6 15:37:00 | 显示全部楼层 |阅读模式
游戏中卡怪后让怪物自动脱战的ai是怎么设计的?

15

主题

727

帖子

736

积分

高级会员

Rank: 4

积分
736
发表于 2011-1-6 15:45:00 | 显示全部楼层

Re:问个问题,关于wow的怪物ai

应该是有个计时机制,如果进入战斗后,保持多少分钟的正常攻击状态,但却无法攻击到敌人,就会在计时到期后清除怪物状态,并将其重置回战斗触发前的坐标点。。

15

主题

727

帖子

736

积分

高级会员

Rank: 4

积分
736
发表于 2011-1-6 15:46:00 | 显示全部楼层

Re:问个问题,关于wow的怪物ai

推论证据1,法系怪很少主动脱离战斗。

41

主题

2104

帖子

2109

积分

金牌会员

Rank: 6Rank: 6

积分
2109
发表于 2011-1-6 15:49:00 | 显示全部楼层

Re:问个问题,关于wow的怪物ai

副本里的规则是

1、怪打不到当前目标
2、寻路也没有路径能够接近当前目标
3、前两条情况的时间持续几个几秒


野外还有另一种情况是把2替换为你没有对怪造成新的仇恨,1、3不变

134

主题

1802

帖子

1914

积分

金牌会员

Rank: 6Rank: 6

积分
1914
 楼主| 发表于 2011-1-6 15:54:00 | 显示全部楼层

Re:问个问题,关于wow的怪物ai

那么有个问题,如果走计时,那会不会造成服务器效率问题?
我后来想了下,是不是这样,在怪物攻击人的时候,发动的指令没有结果,连续2次,哪就会启动debug,让怪物收到的伤害变成未命中。再次发送指令,无响应若干次,脱离战斗?

这样的一个问题是,在风筝的时候为何不会脱战,是因为寻路作为另一个判断依据?或者保持仇恨?

15

主题

727

帖子

736

积分

高级会员

Rank: 4

积分
736
发表于 2011-1-6 15:55:00 | 显示全部楼层

Re:问个问题,关于wow的怪物ai

副本里的2应该不是条件。同样野外的2也应该不是条件。仅仅是满足LS的这个条件,必定得满足第一条或者其他情况,所以才有的错觉。
野外的2,正确条件应该是还有“脱离战斗触发范围”在起作用。推论证据,试着将一只怪,打带跑引到一定范围外,其必然自动归位(所以必须是范围是条件,而没对怪造成新仇恨则不是)。

7

主题

776

帖子

907

积分

高级会员

Rank: 4

积分
907
发表于 2011-1-6 16:02:00 | 显示全部楼层

Re:问个问题,关于wow的怪物ai

当前攻击目标丢失, 怪物退出战斗状态, 返回本次战斗进入前,位置.

15

主题

727

帖子

736

积分

高级会员

Rank: 4

积分
736
发表于 2011-1-6 16:02:00 | 显示全部楼层

Re:问个问题,关于wow的怪物ai

理论上,计时有很多种方法。最简单的一种就是记录触发事件的time(),在每一次执行时,简单比较下现在的time()。time()是个函数,似乎是记录距离格林威治时间到现在所逝去的毫秒数。耗费一次记录,一次获取time(),一次判断,效率不会降低。
理应不是发动指令没效果,风筝时,野外会脱战的,除了部分副本也都会。你带过小号就知道了。

寻路应不会作为脱战与否的判定条件。个人实践没有办法得到这方面因素参与的证据。

41

主题

2104

帖子

2109

积分

金牌会员

Rank: 6Rank: 6

积分
2109
发表于 2011-1-6 16:04:00 | 显示全部楼层

Re:问个问题,关于wow的怪物ai

每个生物都有一个tick函数的,这个函数按一定频率重复调用,每次调用的时候处理ai

无非是几个条件都返回false的时候有一个数字累加,累加到一定程度就脱战。多一个比较和加法运算不会对服务器造成效率的影响

15

主题

727

帖子

736

积分

高级会员

Rank: 4

积分
736
发表于 2011-1-6 16:05:00 | 显示全部楼层

Re: Re:问个问题,关于wow的怪物ai

turwater: Re:问个问题,关于wow的怪物ai

当前攻击目标丢失, 怪物退出战斗状态, 返回本次战斗进入前,位置.

对,但关键就是“当前攻击目标丢失”的判定条件
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2025-5-14 19:42

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表