关于AI服务器和场景服务器之间的关系

最近在开发RPG的服务端,被AI和场景之间的逻辑给搞晕了,所以发点想法出来大家探讨探讨。

首先、把AI分离出来的想法的原因。场景服务器的压力是最大的,所以把一些工作给分离出去,比如IO,就独立出网关服务器,负责通信;而驱动整个场景的怪物、和一些场景事件也算是比较复杂的事情,这里我们就要考虑如何去分离出这个工作。

接下来,就是分析下,哪些可以独立出来,哪些不可以?

第一、寻路。这点,老板要求游戏里面不能穿怪,于是乎,角色和怪物的行动就要检测每个点的位置上是否有角色或者怪,而另外怪物的一些巡逻路线也不能固定,由此得出,最多寻路这种事情还是放在场景服务器处理,但是可以分离的就是什么时候寻路。我们可以控制怪物在活动范围内的活跃度,比如每个一分钟才巡逻一次,而巡逻的具体策略,还是“见机行事”。

第二、攻击玩家。决定怪物是否攻击玩家的条件,必须和玩家的行为有关,所以没办法,只能放在场景服务器了。比如玩家进入到怪物的警戒线内,就需要通知怪物,怪物及时作出反应,这只能放在场景了。

第三、计算伤害。额,io的开销肯定比任何复杂的公式要消耗多了。

最后,我发现,能够分离的实在很少,很少,那么AI服务器是否就没有必要了呢?场景服务器的计算压力如何分担?


//傍晚想起来一个方式

想像一下,游戏场景里面任何一个单位,比如角色,通过人控制,而怪物通过AI控制,而AI服务器应该就是起着决策的作用,具体的实施还是在场景服务器里面执行,而这个执行策略应该有复杂程度高低之分,因此我们可以从整个游戏逻辑里面独立出一个策略AI的概念

所谓策略,包含,怪物复活机制,怪物的巡逻路线制定,BOSS的攻击策略,结合平台的活动,另外还有其他功能就不列举了,反正我们可以把一些涉及到怪物的内容都放在这个服务器上面。

之前所提到的怪物数据,我们可以有AI服务器保存备份,管理,新的怪物刷新都通过AI服务器控制,这样还有一个好处,我们可以把服务器的风险平摊。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值