Unity - A计划(永久有效期) 扫二维码继续学习 二维码时效为半小时

(197评价)
价格: 4431.00元
服务端怪物AI要怎么实现
小明发起了问答2017-06-18
1
回复
610
浏览

一款即时战斗的多人RPG游戏,假如我有100个地图,每个地图30个怪物左右,我想实现每个怪物在间隔一定时间后移动一步。

一种方式是在客户端计算,然后告诉服务端A怪物往左移,B怪物往上移,然后同步给地图所有玩家,但是既然在客户端计算逻辑肯定不安全,而且那么多客户端,我也不知道服务端应该听谁的。

另一种方式是在服务端计算,每间隔一定时间,然后去遍历所有的怪物,然后去计算,但是这样效率好像会大大降低,假如怪物是1秒移动一次,那服务端岂不是一秒得遍历100*30=3000次外加逻辑判断等。

我想请教下老师,客户端计算也好,服务端计算也好,有没有好的思路呢?

所有回复
  • siki 2017-06-18

    1,客户端计算的话,可以随机选择其中一个客户端,你可以选择延迟最小的一个比如A,检测A有没有掉线,如果A掉线,切换到别的客户端计算

    2,服务器端的话,那就得所有的怪物都在服务器端进行寻路计算了,要自己写寻路算法,可以使用A*

    还有-5条回复,点击查看
    你还没有登录,请先登录注册
发表回复
你还没有登录,请先 登录或 注册!