一种无动态阻挡网络游戏系统及其处理方法

文档序号:6487928阅读:221来源:国知局
一种无动态阻挡网络游戏系统及其处理方法
【专利摘要】本申请公开了一种无动态阻挡网络游戏系统及其处理方法,该系统在非用户控制角色(NPC)选中用户角色作为近距交互目标之后,确定此前与该用户角色发生所述近距交互的所有角色的总数N,确定模拟旋转弧度C=N×a,所述a为指定基准弧度;之后执行位置分配,即:以用户角色的当前坐标点为圆心,计算所述NPC从当前坐标向指定方向模拟旋转C弧度后的目的坐标;判断地图上在目的坐标处是否有静态阻挡,如果有则将当前弧度C递加指定弧度后得到新的弧度C,重新执行本位置分配步骤;否则命令所述NPC移动到该目的坐标处,并与目标用户角色进行所述近距交互。利用本发明,可以降低用户角色和NPC的模型重叠的几率,进而提升用户体验,同时降低系统的开销。
【专利说明】—种无动态阻挡网络游戏系统及其处理方法
【技术领域】
[0001]本申请涉及计算机数据处理【技术领域】,尤其涉及一种无动态阻挡网络游戏系统及 其处理方法。
【背景技术】
[0002]网络游戏(Online Game)又称“在线游戏”,是指以互联网为传输媒介,以游戏服务 器和用户设备(如计算机、智能手机、平板电脑等)为处理终端,以游戏客户端或网页为信息 交互窗口的旨在实现娱乐、休闲、交流和取得虚拟成就的具有可持续性的多人在线游戏。
[0003]在目前的网络游戏系统中,主要包括以下两种角色间的交互模式:
[0004]一、用户与用户之间形成的互动竞技交互模式(PVP,Player VS Player),意为用 户对战,网络游戏系统中需要包括PVP相关的处理系统,用于处理PVP模式下的交互指令和 数据。
[0005]二、用户与环境的互动竞技交互模式(PVE, Player VS Environment),意为用户与 非用户控制角色(NPC, Non-Player-Controlled Character)之间形成的互动竞技。所述 NPC由网络游戏系统中的NPC系统控制,NPC系统中包括NPC的仿真智能(Al,Artificial Intelligence)模块,这些Al模块是指指游戏中NPC的控制逻辑,可以使游戏中的NPC拥有 独立的仿真智能的能力,用户角色可以与NPC角色进行游戏交互,例如对话、获得服务或者 进行战斗等游戏交互。
[0006]在目前的网络游戏系统,尤其是国战类的网络游戏系统中,主要是以PVP模式为 主导,但网络游戏中也需要提供比较丰富的PVE模式来满足角色的成长需求,同时也要求 PVE模式的运行处理中能有较好的用户体验。
[0007]目前网络游戏系统可以根据角色之间的阻挡方式分为有动态阻挡的网络游戏系 统和无动态阻挡的网络游戏系统。
[0008]所述有动态阻挡的网络游戏系统是指在该游戏系统中,角色模型不但可以被地图 中的固定场景(如山、石头、房屋等)阻挡,而且还可以被其它角色模型阻挡。所述角色模型 是该角色的模拟的2D或3D形象,在2D网络游戏中通常为2D形象,在3D网络游戏中通常 为3D形象。
[0009]所述非动态阻挡的网络游戏系统是指在该游戏系统中,角色模型可以被地图中的 固定场景阻挡,但是不必被其它动态的角色模型阻挡。
[0010]在国战网络游戏中,由于参与游戏的角色的数量众多,为了保证画面中角色模型 所处位置清晰度,保证为用户提供良好的画面操作体验,需要网络游戏系统所控制的各个 角色模型之间在进行近距交互时,在视觉上尽量不能相互重叠。所述近距交互例如可以是 NPC角色攻击用户角色的攻击交互,或者其它的对话交互等。
[0011]在有动态阻挡的网络游戏系统中,由于该游戏系统有一套专用的阻挡算法来实时 计算角色模型间的动态阻挡信息,因此各个角色模型之间在视觉上相互重叠的概率较低, 其画面操作体验较好,但是由于要实时计算的动态阻挡信息,因此服务器的系统开销太大,其中包括CPU的开销和存储资源的开销。
[0012]在无动态阻挡的网络游戏系统中,由于其不必实时计算动态阻挡信息,其系统开 销相对有动态阻挡的游戏系统较小,因此,目前在以PVP模式为主以PVE模式为辅的大型国 战网络游戏中通常采用无动态阻挡方式。
[0013]在目前的无动态阻挡的网络游戏中,为了能解决用户角色和NPC在近距交互的过 程中减少模型重叠的问题,给用户提供比较好的PVE视觉体验;需要NPC系统的Al模块实 时检测计算与角色之间的坐标位置并能够动态调整NPC角色自身的坐标。具体包括:
[0014]假设NPC角色的当前坐标为(xl,yl),半径为rl,用户角色的当前坐标为(x2,y2), 半径为r2,NPC角色与用户角色发生近距交互(如NPC角色攻击用户角色)的半径为ar ;当 NPC角色产生攻击目标时,在每个NPC角色的驱动时钟周期来到时,计算NPC角色和用户角 色之间的坐标点的距离值S。
[0015]如果s>rl+r2+ar,则所述NPC角色继续向目标角色移动并向视野中的所有角色发 送移动消息包;
[0016]如果s〈rl+r2+ar,则所述NPC角色立刻停止移动并向视野中的所有角色发送移动 停止消息包。
[0017]所述攻击同一个用户的NPC角色根据收到的其它NPC角色发送的是否移动的消息 包来动态计算并调整自身的坐标位置,从而避免与其它NPC角色模型重合。
[0018]因此,目前的无动态阻挡的网络游戏系统中,为了能解决用户角色和NPC在近距 交互的过程中减少模型重叠的几率,每个NPC需要在每次驱动时钟周期到来时进行实时的 复杂的动态计算,即:不但要计算自身与攻击目标之间的距离S,还要根据s的长短判断是 否移动并发送相关的消息包,同时还要接收其它NPC的消息包根据其它NPC的移动情况重 新计算自身的坐标位置,所要进行的运算量非常大,会占用大量的系统开销,如CPU开销、 存储开销、带宽开销等。尤其是在大型网络游戏系统中,服务器中的NPC角色数量通常会达 到万以上的数量级,这时对NPC角色进行驱动的NPC系统的开销更是非常巨大的。

【发明内容】

[0019]有鉴于此,本发明的主要目的在于提供一种无动态阻挡网络游戏系统及其处理方 法,以降低用户角色和NPC的模型重叠的几率,同时降低网络游戏系统的开销。
[0020]本发明的技术方案是这样实现的:
[0021]一种无动态阻挡网络游戏系统的处理方法,该方法在非用户控制角色NPC选中用 户角色作为近距交互目标之后,包括:
[0022]确定所述NPC选中所述用户角色为近距交互目标前,与该用户角色发生所述近距 交互的所有角色的总数N,确定模拟旋转弧度C=NXa,其中所述a为指定的基准弧度;
[0023]执行位置分配步骤,具体包括:以用户角色的当前坐标点为圆心,计算所述NPC从 当前坐标向指定方向模拟旋转C弧度后的目的坐标;判断地图上在所述目的坐标处是否有 静态阻挡,如果有则将当前模拟旋转弧度C递加指定弧度后得到新的模拟旋转弧度C,重新 执行本位置分配步骤;否则命令所述NPC移动到该目的坐标处,并与目标用户角色进行所 述近距交互。
[0024]一种无动态阻挡网络游戏系统,包括:[0025]状态监测模块,用于监测NPC的近距交互状态,在NPC选中用户角色作为近距交互 目标后触发所述模拟旋转弧度确定模块和位置分配模块;
[0026]模拟旋转弧度确定模块,用于确定模拟旋转弧度C=NX a,其中所述N为所述NPC选 中所述用户角色为近距交互目标前,与该用户角色已经发生所述近距交互的所有角色的总 数,所述a为指定的基准弧度;
[0027]位置分配模块,用于以用户角色的当前坐标点为圆心,计算所述NPC从当前坐标 向指定方向模拟旋转C弧度后的目的坐标;判断地图上在所述目的坐标处是否有静态阻 挡,如果有则将当前模拟旋转弧度C递加指定弧度后得到新的模拟旋转弧度C,重新执行本 位置分配步骤;否则命令所述NPC移动到该目的坐标处,并与目标用户角色进行所述近距交互。
[0028]与现有技术相比,本发明在用户角色和NPC发生近距交互时,根据与用户角色发 生近距交互的NPC的数量决定模拟旋转弧度,并以该模拟旋转弧度进行模拟旋转后确定目 的坐标,在没有静态阻挡的情况下命令NPC移动到目的坐标。从而可以使与同一个用户角 色进行近距交互的所有NPC可以在该用户角色周围相对均匀的分布,降低了 NPC之间以及 NPC与用户角色之间的模型重叠的几率,给用户提供了比较好的PVE视觉体验,同时运算过 程简单,不需要NPC角色之间进行实时的复杂的动态交互计算,降低了对网络游戏系统的 开销。
【专利附图】

【附图说明】
[0029]图1为本发明所述无动态阻挡网络游戏系统的处理方法的一种主要流程图;
[0030]图2为本发明所述的无动态阻挡网络游戏系统的一种组成示意图;
[0031]图3为本发明所述NPC与用户角色进行近距交互时对NPC进行位置分配的一种示 意图;
[0032]图4为利用本发明所述的处理方法对所有与用户角色发生近距交互的NPC进行位 置分配的一种示意图;
[0033]图5为分级划分视野范围区域的一种示意图;
[0034]图6为本发明所述的无动态阻挡网络游戏系统的又一种组成示意图。
【具体实施方式】
[0035]下面结合附图及具体实施例对本发明再作进一步详细的说明
[0036]图1为本发明所述无动态阻挡网络游戏系统的处理方法的一种主要流程图;参见 图1,该方法主要包括:
[0037]101、监测非用户控制角色NPC的近距交互状态,在NPC选中用户角色作为近距交 互目标之后,执行后续步骤。所述用户角色就是用户控制角色,即游戏操作者的角色。所述 近距交互是指游戏角色之间进行近距离的指令交互,例如NPC攻击用户角色就是近距交互 的一种。所述近距交互也不限定于角色的攻击,也可是其它近距离的交互,例如角色间的对 话或其他动作交互。
[0038]102、确定所述NPC选中所述用户角色为近距交互目标前,与该用户角色发生所述 近距交互的所有角色的总数N,确定模拟旋转弧度C=NXa,其中所述a为指定的基准弧度。[0039]103、执行位置分配步骤,具体包括:以用户角色的当前坐标点为圆心,计算所述 NPC从当前坐标向指定方向模拟旋转C弧度后的目的坐标;判断地图上在所述目的坐标处 是否有静态阻挡,如果有则将当前模拟旋转弧度C递加指定弧度后得到新的模拟旋转弧度 C,重新执行本位置分配步骤;否则命令所述NPC移动到该目的坐标处,并与目标用户角色 进行所述近距交互。所述指定方向可以指定逆时针方向,也可以指定顺时针方向。
[0040]图2为本发明所述的无动态阻挡网络游戏系统的一种组成示意图。本发明所述的 无动态阻挡网络游戏系统200与现有的无动态阻挡网络游戏系统的区别是本发明具有如 下模块,用于执行本发明的方法:
[0041]状态监测模块201,用于监测NPC的近距交互状态,在NPC选中用户角色作为近距 交互目标后触发所述模拟旋转弧度确定模块202和位置分配模块203 ;
[0042]模拟旋转弧度确定模块202,用于确定模拟旋转弧度C=NXa,其中所述N为所述 NPC选中所述用户角色为近距交互目标前,与该用户角色已经发生所述近距交互的所有角 色的总数,所述a为指定的基准弧度;
[0043]位置分配模块203,用于以用户角色的当前坐标点为圆心,计算所述NPC从当前坐 标向指定方向模拟旋转C弧度后的目的坐标;判断地图上在所述目的坐标处是否有静态阻 挡,如果有则将当前模拟旋转弧度C递加指定弧度后得到新的模拟旋转弧度C,重新执行本 位置分配步骤;否则命令所述NPC移动到该目的坐标处,并与目标用户角色进行所述近距交互。
[0044]由于本发明主要是对网络游戏系统中的NPC进行处理,因此上述模块通常设置在 网络游戏系统中的NPC系统内,属于NPC的Al模块中的一部分,至于本发明所述的无动态 阻挡网络游戏系统的其它处理模块,可以采用现有的无动态阻挡网络游戏系统的相关模 块,本发明不再赘述。
[0045]本发明中,所述基准弧度a可以为:/m,其中m为正整数,所述递加的指定弧度也 可以为在一种较佳的实施例中,所述基准弧度a和所述递加的指定弧度为/4。
[0046]如图3所示为本发明所述NPC与用户角色进行近距交互时对NPC进行位置分配 的一种示意图。参见图3,其中虚线圆圈301以用户角色坐标点为圆心,其半径为用户角色 模型半径r2与NPC模型半径rl之和,所述虚线圆圈302和虚线圆圈301之间的半径差为 NPC与用户角色发生近距交互的有效交互范围,例如对于攻击交互,所述虚线圆圈302和虚 线圆圈301之间的半径差就是NPC的有效攻击范围。本发明所述步骤101中,监测NPC的 近距交互状态可以利用现有技术的NPC系统的方式来监测,本说明书不再赘述。
[0047]当某一个NPC选中用户角色作为近距交互的目标后,例如图3所示NPC311选中用 户角色310为攻击目标后,执行所述步骤102。在步骤102中,如果所述NPC311是与所述用 户角色310发生所述近距交互的第一个NPC,例如如果该NPC311是第一个攻击该用户角色 310的NPC,则该NPC311选中用户角色310为近距交互目标前与该用户角色310发生所述 近距交互的所有角色的总数N=0,因此所述模拟旋转弧度C=NXa=0。那么在步骤103中,第 一个攻击所述用户角色310的NPC311不进行所述模拟旋转,而是直接以该NPC311的当前 坐标作为目的坐标,判断地图上在该目的坐标处是否有静态阻挡,所述静态阻挡就是角色 模型可以被游戏系统的地图中的固定场景阻挡,例如所述目的坐标处为诸如山、石头、房屋 等静态阻挡物体,则该目的坐标出就有静态阻挡,如果所述目的坐标处没有所述静态阻挡物体,则该目的坐标处没有静态阻挡。
[0048]如果所述目的坐标处没有静态阻挡则命令所述NPC311移动到该目的坐标处,并与目标用户角色310进行所述近距交互。此时由于NPC311是第一个攻击用户角色310的 NPC,当前坐标已经是目的坐标,因此不必移动,就在当前坐标攻击所述用户角色310。
[0049]如果所述目的坐标处有静态阻挡则将当前模拟旋转弧度C (当前C=O)递加指定弧度后得到新的模拟旋转弧度C,例如所述指定弧度为/4时,则新的模拟旋转弧度C= /4, 之后重新执行步骤103。所述步骤103中,所述以用户角色的当前坐标点为圆心,计算所述 NPC从当前坐标向指定方向模拟旋转C弧度后的目的坐标的具体处理过程包括以下步骤 131 至 133:
[0050]131、如图3所示,以所述用户角色310的当前坐标点为坐标原点,确定该用户角色 310和所述NPC311的当前坐标点连线与地图参考线(通常为水平线)之间的夹角弧度A ;
[0051]132、以所述弧度A为基准向所述指定方向(例如可以指定为逆时针方向,当然也可以指定为顺时针方向)模拟旋转所述C弧度后得到弧度B ;
[0052]133、计算所述目的坐标的X坐标和y坐标,其中:
[0053]X坐标=用户角色的X坐标+ (NPC模型半径rl+用户角色模型半径r2+NPC进行所述近距交互的有效距离si) Xcos(B);
[0054]y坐标=用户角色的y坐标+ (NPC模型半径rl+用户角色模型半径r2+NPC进行所述近距交互的有效距离si) Xsin(B);
[0055]所述NPC进行所述近距交互的有效距离为:从NPC进行所述近距交互的有效距离范围内选择的一个值。例如对于攻击交互,在一种优选实施方式中可以进行优化选择,如果某种NPC的最大有效攻击距离小于200厘米,则从该最大有效攻击距离的709^90%范围之内随机选择一个值作为所述Si。如果某种NPC的最大有效攻击距离大于200厘米,则从该最大有效攻击距离的359^45%范围之内随机选择一个值作为所述Si。
[0056]在计算出目的坐标的X和y坐标后,则命令所述NPC311移动到该目的坐标。由于在NPC311移动的过程中,所述用户角色310也可能会移动,因此在所述NPC311移动到所述目的坐标的过程中,进一步包括:
[0057]判断所述目的坐标与所述用户角色310的当前坐标之间的距离是否超过该 NPC311进行所述近距交互的最大有效距离(例如该NPC的最大有效攻击距离),如果未超过,则继续向所述目的坐标移动;否则调小该NPC进行所述近距交互的有效距离Si,例如如果某种NPC的最大有效攻击距离小于200厘米,则从该最大有效攻击距离的19^8%范围之内随机选择一个值作为所述sI,如果某种NPC的最大有效攻击距离大于200厘米,则从该最大有效攻击距离的209^35%范围之内随机选择一个值作为所述Si ;在调小所述Si之后,重新计算所述目的坐标的X坐标和y坐标,并命令所述NPC向新的目的坐标移动。
[0058]在一种实施例中,所述步骤103中,当所述目的坐标处有静态阻挡时,还可进一步判断当前的模拟旋转弧度C是否为2 (即模拟旋转是否达到整整一圈),如果是则取消NPC 311对用户角色310进行近距交互的关系(例如取消NPC311对用户角色310的攻击关系), 否则将当前模拟旋转弧度C递加所述指定弧度后得到新的模拟旋转弧度C,重新执行所述步骤103。
[0059]如果所述NPC311成功移动到了目的坐标,并与所述用户角色310进行近距交互(例如NPC311开始攻击用户角色310),之后如果有新的NPC选中用户角色310作为近距交互目标(例如选中用户角色310作为攻击目标)之后,则对该NPC同样执行上述的步骤102 和步骤103,只不过所述与该用户角色发生所述近距交互的所有角色的总数N不再是0,从而初始的模拟旋转弧度C也不是O。
[0060]图4为利用本发明所述的处理方法对所有与用户角色发生近距交互的NPC进行位置分配的一种示意图。参见图4,针对所有将所述用户角色310作为近距交互目标的NPC, 如图4中的NPC311至NPC316,都要执行所述步骤102和103,最终所有将所述用户角色310 作为近距交互目标的NPC不但处在与用户角色310进行所述近距交互(如攻击用户角色)的有效交互范围内,即所述虚线圆圈302和虚线圆圈301之间,从而使得NPC模型和用户角色模型之间不会重叠,而且NPC模型也相对均衡地分配在用户角色310的周围,使得NPC模型之间的重叠几率也非常低,因此本发明可以给用户提供比较好的PVE视觉体验。如果NPC 模型偏大(如所述NPC316)的情况下,则NPC模型之间会有部分重合,但是不影响总体的PVE 视觉体验。如本领域技术人员所知道的,所述NPC模型和用户角色模型是指在网络游戏中所述NPC和用户角色分别对应的2D形象或3D形象,在2D网络游戏中通常为2D形象,在3D 网络游戏中通常为3D形象。本发明可以适用于2D网络游戏也可以适用于3D网络游戏,但尤其适用于3D网络游戏。
[0061]同时,由于本发明处理简单,不需要像现有技术那样在NPC角色之间进行实时的复杂的动态交互计算,因此降低了对网络游戏系统的开销。
[0062]由于某些NPC与用户角色坐标点连线与地图参考线之间的夹角弧度A有可能很大,例如接近2 ,如果再逆时针旋转所述模拟旋转弧度C会大于2 ,因此在一种实施例中,如果所述基准弧度a和所述递加的指定弧度为:/m,则在步骤102中,在得到所述总数 N之后,利用C=NX a确定模拟旋转弧度C之前,进一步包括:对N模M,所述M=2 /a,再将所述模值赋给N ;之后再利用C=NXa确定所述C。
[0063]本发明中,所述NPC由网络游戏系统中的NPC系统驱动,为了进一步降低对网络游戏系统的开销,尤其是降低NPC系统的开销,在一种实施例中,本发明的方法进一步包括: 监测网络游戏系统服务器的当前负载状况,根据监测到的负载状况动态调整所述NPC系统对所述NPC的驱动(Tick)时钟间隔,其中所述网络游戏系统服务器的当前负载越大则对应调整的NPC的驱动时钟间隔越长。
[0064]例如如下表1为驱动·时钟间隔长短的优缺点:
[0065]
【权利要求】
1.一种无动态阻挡网络游戏系统的处理方法,其特征在于,在非用户控制角色NPC选中用户角色作为近距交互目标之后,包括:确定所述NPC选中所述用户角色为近距交互目标前,与该用户角色发生所述近距交互的所有角色的总数N,确定模拟旋转弧度C=NXa,其中所述a为指定的基准弧度;执行位置分配步骤,具体包括:以用户角色的当前坐标点为圆心,计算所述NPC从当前坐标向指定方向模拟旋转C弧度后的目的坐标;判断地图上在所述目的坐标处是否有静态阻挡,如果有则将当前模拟旋转弧度C递加指定弧度后得到新的模拟旋转弧度C,重新执行本位置分配步骤;否则命令所述NPC移动到该目的坐标处,并与目标用户角色进行所述近距交互。
2.根据权利要求1所述的方法,其特征在于,所述以用户角色的当前坐标点为圆心,计算所述NPC从当前坐标向指定方向模拟旋转C弧度后的目的坐标,具体包括:以所述用户角色的当前坐标点为坐标原点,确定该用户角色和所述NPC的当前坐标点连线与地图参考线之间的夹角弧度A ;以所述弧度A为基准向所述指定方向模拟旋转所述C弧度后得到弧度B ;计算所述目的坐标的X坐标和y坐标,其中:X坐标=用户角色的X坐标+ (NPC模型半径rl+用户角色模型半径r2+NPC进行所述近距交互的有效距离si) Xcos(B);I坐标=用户角色的I坐标+ (NPC模型半径rl+用户角色模型半径r2+NPC进行所述近距交互的有效距离si) Xsin(B);`NPC进行所述近距交互的有效距离为:从NPC进行所述近距交互的有效距离范围内选择的一个值。
3.根据权利要求2所述的方法,其特征在于,在所述NPC移动到所述目的坐标的过程中,进一步包括:判断所述目的坐标与所述用户角色的当前坐标之间的距离是否超过该NPC进行所述近距交互的最大有效距离,如果未超过,则该NPC继续向所述目的坐标移动;否则调小该 NPC进行所述近距交互的有效距离Si,并重新计算所述目的坐标的X坐标和y坐标,并命令该NPC向新的目的坐标移动。
4.根据权利要求2所述的方法,其特征在于,所述基准弧度a为:/m,其中m为正整数;所述递加的指定弧度为:n /m ;所述在确定所述N之后,确定模拟旋转弧度C之前,进一步包括:对N模M,所述M=2 /a,再将所述模值赋给N ;之后再利用C=NXa确定所述C。
5.根据权利要求4所述的方法,其特征在于,当所述目的坐标处有静态阻挡时,进一步判断当前的模拟旋转弧度C是否为2^1,如果是则取消所述NPC对所述用户角色进行近距交互的关系,否则将当前模拟旋转弧度C递加指定弧度后得到新的模拟旋转弧度C,重新执行所述位置分配步骤。
6.根据权利要求1至5任一项所述的方法,其特征在于,该方法进一步包括:监测网络游戏系统服务器的当前负载状况,根据监测到的负载状况动态调整对所述NPC的驱动时钟间隔,其中所述网络游戏系统服务器的当前负载越大则对应调整的NPC的驱动时钟间隔越长。
7.根据权利要求1至5任一项所述的方法,其特征在于,该方法进一步包括:对所述NPC视野范围内的角色对象进行视野搜索,根据搜索结果维护视野列表中的角色对象个数;根据该NPC视野列表中的角色对象个数动态调整该NPC的触发视野搜索的移动距离和视野搜索范围,其中:所述NPC视野列表中的角色对象个数越多,则对应调整的该 NPC的触发视野搜索的移动距离越小、视野搜索范围越小。
8.根据权利要求7所述的方法,其特征在于,所述NPC对视野范围内的角色对象进行视野搜索,根据搜索结果维护视野列表中的角色对象个数,根据该NPC视野列表中的角色对象个数动态调整该NPC的触发视野搜索的移动距离和视野搜索范围,具体包括:在游戏地图上划分第一级视野范围区域和第二级视野范围区域,其中第一级视野范围区域为第二级视野范围区域的整数倍;NPC默认在跨第一级视野范围区域时对该第一级视野范围区域内的角色对象进行一次视野搜索;在NPC每次进行视野搜索之后根据搜索结果维护该NPC视野列表中的角色对象个数, 并判断该NPC视野列表中的角色对象的个数是否超过指定的阈值,如果未超过则后续在跨第一级视野范围区域时对该第一级视野范围区域内的角色对象进行一次视野搜索,否则后续在跨第二级视野范围区域时对该第二级视野范围区域内的角色对象进行一次视野搜索。
9.根据权利要求7或8所述的方法,其特征在于,所述对NPC视野范围内的角色对象进行视野搜索,根据搜索结果维护视野列表中的角色对象个数,具体包括:搜索出在所述NPC视野范围内的所有角色对象;确定所搜索出的各个角色对象的类型;根据所述角色对象的类型、以及预先设定的各角色对象类型的视野加入关系信息,判定是否将所述角色对象加入该NPC的视野列表;删除在原视野列表中存在,但在新的视野范围内搜索不到的角色对象。
10.根据权利要求1至5任一项所述的方法,其特征在于,该网络游戏系统在计算地图中任两个坐标点间的距离时,包括:以所述两个坐标点的连线作为一直角三角形的斜边,以该两个坐标点作为该直角三角形的顶点绘制直角三角形;确定所述直角三角形的两个直角边的长度,其中A为长直角边的长度,B为短直角边的长度;采用S=A+B/2计算所述两个坐标点间的距离。
11.一种无动态阻挡网络游戏系统,其特征在于,包括:状态监测模块,用于监测NPC的近距交互状态,在NPC选中用户角色作为近距交互目标后触发所述模拟旋转弧度确定模块和位置分配模块;模拟旋转弧度确定模块,用于确定模拟旋转弧度C=NX a,其中所述N为所述NPC选中所述用户角色为近距交互目标前,与该用户角色已经发生所述近距交互的所有角色的总数, 所述a为指定的基准弧度;位置分配模块,用于以用户角色的当前坐标点为圆心,计算所述NPC从当前坐标向指定方向模拟旋转C弧度后的目的坐标;判断地图上在所述目的坐标处是否有静态阻挡,如果有则将当前模拟旋转弧度C递加指定弧度后得到新的 模拟旋转弧度C,重新执行本位置分配步骤;否则命令所述NPC移动到该目的坐标处,并与目标用户角色进行所述近距交互。
12.根据权利要求11所述的系统,其特征在于,该系统进一步包括:负载监测调节模块,用于监测网络游戏系统服务器的当前负载状况,根据监测到的负载状况动态调整对所述NPC的驱动时钟间隔,其中所述网络游戏系统服务器的当前负载越大则对应调整的NPC的驱动时钟间隔越长。
13.根据权利要求11所述的系统,其特征在于,该系统进一步包括:视野搜索模块,用于对所述NPC视野范围内的角色对象进行视野搜索,根据搜索结果维护视野列表中的角色对象个数;根据该NPC视野列表中的角色对象个数动态调整该NPC 的触发视野搜索的移动距离和视野搜索范围,其中:所述NPC视野列表中的角色对象个数越多,则对应调整的该NPC的触发视野搜索的 移动距离越小、视野搜索范围越小。
【文档编号】G06F19/00GK103593546SQ201210293556
【公开日】2014年2月19日 申请日期:2012年8月17日 优先权日:2012年8月17日
【发明者】刘林, 丁晓成 申请人:腾讯科技(深圳)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1