|
发表于 2010-8-17 10:11:00
|
显示全部楼层
Re:MMORPG中如何制作一个野怪?求达人帮忙解答~
你这个应该是在实现怪物的AI吧?不觉得应该设置多种AI然后以配置的方式给每一只怪配置一种吗?我是做WEBGAME的,如果你做客户端游戏,服务器够硬的话可以把每一只怪都变成一个实体来做,只是那种开销很大,没做过不了解
我没做程序,但是之前策划AI的时候和程序解释的实现方式是用了这样一种方法:为了节省服务器的开销,服务器里用了一条线程监测所有的怪物AI.把怪分为不同的AI等级,每一个等级的行为不同.如你所说会主动攻击玩家的怪,实现方式应该是这条监测怪物AI的线程在每隔X毫秒的时候进行一次处理,处理的内容是扫描自身附近N范围内的空间是否存在可攻击目标和是否遭受到攻击.
同样,每一只怪除了配有一个AI等级(主动攻击 被动攻击 不会攻击)外,还有追击距离和移动距离.
因此,在监测AI这条线程一直扫描的同时,当他的追击目标离开了追击距离或者丢失追击目标时,他就放弃追击回到原来位置.
至于你所说的调用移动函数,不知道你们是怎么做这个移动函数,但是我们当初实现的方式是给每只怪设定一个移动距离,然后AI在扫描的时候在移动范围内随机给该怪物定一个目的地,然后怪物就开始自己移动了.
PS:如果你是定了3个点让它绕圈圈,想想如果画面上很多怪的时候那情景会有多怪.而且定3点也只是三角形,两点之间的移动是做不到弧形的,如果你在服务端把两点用函数计算出弧形,那么客户端同样要用相同的公式去计算,这样无疑是加大了同步的难度.
感觉你说的这些很像学校里面出的题目,难道LZ还是在校生? |
|