非暂态计算机可读介质和视频游戏处理系统的制作方法

文档序号:24158836发布日期:2021-03-05 13:56阅读:101来源:国知局
非暂态计算机可读介质和视频游戏处理系统的制作方法

[0001]
本发明的实施例中的至少一个涉及包含有视频游戏处理程序的非暂态计算机可读介质(non-transitory computer-readable medium)和视频游戏处理系统,用于使服务器实现有关在虚拟空间中搜索(search)移动路径的功能。


背景技术:

[0002]
迄今为止,已提出了各种用于在视频游戏中移动角色的技术。
[0003]
在这样的技术中,存在一种通过使用与构成视频游戏的虚拟空间有关的位置信息来搜索角色的移动路径的技术,并且这样的技术利用导航网格(navigation mesh)和路点(waypoints)。为了抑制搜索移动路径所需的处理负荷的增加,存在一种确定搜索区域中的路径候选位置的布置的方案,使布置在预定范围外的路径候选位置之间的间隔大于布置在搜索区域的预定范围内的路径候选位置的间隔(参照jp2012-213485a;以下称为“专利文献1”)。
[0004]
然而,在现有技术中,随着成为搜索目标的路点(路径候选位置)的数量增加,路点的布置和针对所布置的路点的路径搜索所需的处理负荷增加。由于这个原因,当控制可以在虚拟空间中移动的诸如角色的对象的移动时,处理负荷可能会过大。


技术实现要素:

[0005]
本发明的目的在于提供一种包含有视频游戏处理程序的非暂态计算机可读介质和视频游戏处理系统,以解决上述问题,并减轻搜索对象的移动路径所需的处理负荷。
[0006]
根据本发明的一个非限制性方面,提供一种非暂态计算机可读介质,包含有视频游戏处理程序,该视频游戏处理程序用于使服务器实现有关在虚拟空间中搜索移动路径的功能。
[0007]
所述功能包括:设定功能,配置为设定与虚拟空间中的对象的可移动范围对应的导航网格。
[0008]
所述功能还包括:布置功能,配置为根据预定的布置规则而在所设定的导航网格上布置多个路点。
[0009]
所述功能还包括:生成功能,配置为通过基于预定的分类规则对布置在虚拟空间中的多个路点进行分组来生成多个区域。
[0010]
所述功能还包括:确定功能,配置为基于所生成的多个区域的布置来确定允许对象移动的区域(以下称为“可移动区域”)。
[0011]
所述功能还包括:搜索功能,配置为基于所确定的可移动区域中所包括的路点来搜索对象的移动路径。
[0012]
根据本发明的另一个非限制性方面,提供一种视频游戏处理系统,用于执行有关在虚拟空间中搜索移动路径的处理。在这种情况下,该视频游戏处理系统包括有通信网络、服务器以及用户终端。
[0013]
所述视频游戏处理系统包括:设定单元,其配置为设定与虚拟空间中的对象的可移动范围对应的导航网格。
[0014]
所述视频游戏处理系统还包括:布置单元,其配置为根据预定的布置规则而在所设定的导航网格上布置多个路点。
[0015]
所述视频游戏处理系统还包括:生成单元,其配置为通过基于预定的分类规则对布置在虚拟空间中的多个路点进行分组来生成多个区域。
[0016]
所述视频游戏处理系统还包括:确定单元,其配置为基于所生成的多个区域的布置来确定允许对象移动的区域(以下称为“可移动区域”)。
[0017]
所述视频游戏处理系统还包括:搜索单元,其配置为基于所确定的可移动区域中所包括的路点来搜索对象的移动路径。
[0018]
根据本发明的又一个非限制性方面,提供一种非暂态计算机可读介质,包含有视频游戏处理程序,该视频游戏处理程序用于使用户终端实现有关在虚拟空间中搜索移动路径的功能。
[0019]
所述功能包括:设定功能,配置为设定与虚拟空间中的对象的可移动范围对应的导航网格。
[0020]
所述功能还包括:布置功能,配置为根据预定的布置规则而在所设定的导航网格上布置多个路点。
[0021]
所述功能还包括:生成功能,配置为通过基于预定的分类规则对布置在虚拟空间中的多个路点进行分组来生成多个区域。
[0022]
所述功能还包括:确定功能,配置为基于所生成的多个区域的布置来确定允许对象移动的区域(以下称为“可移动区域”)。
[0023]
所述功能还包括:搜索功能,配置为基于所确定的可移动区域中包括的路点来搜索对象的移动路径。
[0024]
根据本申请的各实施例,解决了一个或两个以上的不足。
[0025]
通过以下参照附图对本发明的优选实施例的详细说明,本发明的前述及其它目的、特征和优点将变得更清晰。
附图说明
[0026]
图1是示出与本发明的实施例中的至少一个对应的视频游戏处理系统的配置的示例的框图;
[0027]
图2是示出与本发明的实施例中的至少一个对应的服务器的配置的框图;
[0028]
图3是示出与本发明的实施例中的至少一个对应的游戏处理的示例的流程图;
[0029]
图4是示出与本发明的实施例中的至少一个对应的游戏处理中的服务器侧的动作的示例的流程图;
[0030]
图5是示出与本发明的实施例中的至少一个对应的游戏处理中的终端侧的动作的示例的流程图;
[0031]
图6是示出与本发明的实施例中的至少一个对应的服务器的配置的框图;
[0032]
图7是示出与本发明的实施例中的至少一个对应的游戏处理的示例的流程图;
[0033]
图8是示出与本发明的实施例中的至少一个对应的服务器的配置的框图;
[0034]
图9是示出与本发明的实施例中的至少一个对应的游戏处理的示例的流程图;
[0035]
图10是示出与本发明的实施例中的至少一个对应的服务器的配置的框图;
[0036]
图11是用于说明与本发明的实施例中的至少一个对应的路点的削减的示例的说明图;
[0037]
图12是用于说明与本发明的实施例中的至少一个对应的不应削减的路点的示例的说明图;
[0038]
图13是用于说明与本发明的实施例中的至少一个对应的生成区域的方法的示例的说明图;
[0039]
图14是用于说明与本发明的实施例中的至少一个对应的信息的存储状态的示例的说明图;以及
[0040]
图15是示出与本发明的实施例中的至少一个对应的游戏处理的示例的流程图。
具体实施方式
[0041]
以下将参照附图说明根据本发明的实施例的示例。注意的是,以下说明的各实施例中的各种构成要素在无任何矛盾等的情况下可以适当地组合。另外,在某一实施例中已说明的内容可以在另一个实施例中省略。此外,可以省略与各实施例的特征部分无关的动作或处理的内容。此外,构成以下说明的各种流程的各种处理的顺序可以在处理内容没有任何矛盾等的情况下改变。
[0042]
[第一实施例]
[0043]
图1是示出根据本发明的一个实施例的视频游戏处理系统100的配置的示例的框图。如图1所示,视频游戏处理系统100包括视频游戏处理服务器10(以下称为“服务器10”)和由视频游戏处理系统100的用户分别使用的用户终端20、201~20n(“n”是任意的整数)。在这一点上,视频游戏处理系统100的配置不限于该配置。视频游戏处理系统100可以配置为多个用户使用单个的用户终端,或者可以配置为包括多个服务器。
[0044]
服务器10和多个用户终端20、201~20n中的每一个连接于诸如英特网的通信网络30。在这一点上,尽管在附图中没有示出,但是多个用户终端20、201~20n通过利用无线通信线路执行与由通信运营商管理的基站的数据通信而连接于通信网络30。
[0045]
视频游戏处理系统100包括服务器10和多个用户终端20、201~20n,从而实现用于响应用户的操作而执行各种处理的各种功能。
[0046]
服务器10由视频游戏处理系统100的管理者管理,并且具有向多个用户终端20、201~20n提供与各种处理有关的信息的各种功能。在本实施例中,服务器10由诸如www服务器的信息处理装置构成,并且服务器10包括用于存储各种信息的存储介质。在这一点上,服务器10具有像计算机一样的执行各种处理的一般配置,诸如控制部和通信部。然而,在此省略其说明。此外,在视频游戏处理系统100中,优选地,从减轻多个用户终端20、201~20n中的每一个的处理负荷的观点看,各种信息由服务器10管理。然而,用于存储各种信息的存储部可以包括存储区且处在服务器10能够访问存储区的状态。例如,服务器10可以配置为设置有在服务器10外部的专用的存储区。
[0047]
图2是示出视频游戏处理服务器10a(以下称为“服务器10a”)的配置的框图,其为服务器10的示例。如图2所示,服务器10a至少包括有设定单元11、布置单元12、生成单元13、
确定单元14以及搜索单元15。
[0048]
设定单元11具有设定与虚拟空间中的对象的可移动范围对应的导航网格的功能。
[0049]
在此,对象是指可以布置在虚拟空间中的对象。对象的配置没有特别限制。然而,优选地,对象可以被用户终端20的用户(或玩家)识别。作为对象的示例,包括用户可操作的角色(例如,玩家角色)和用户不能操作的角色(例如,非玩家角色)。
[0050]
此外,可移动范围是指允许对象在虚拟空间中移动的范围。可移动范围的配置没有特别限制。可移动范围可以由2d地图配置,或者可以由3d地图配置。
[0051]
此外,短语“设定与可移动范围对应的导航网格”是指导航网格与虚拟空间中的可移动范围相关联。设定导航网格的配置没有特别限制。例如,存在有一配置,在该配置中,对于从玩家的初始位置连续的各多边形设定可通行标志。
[0052]
布置单元12具有根据预定的布置规则而在所设定的导航网格上布置多个路点的功能。
[0053]
在此,每个路点是指能够与有关视频游戏的信息相关联的地点信息(spot information)。即,每个路点具有作为嵌入视频游戏所必要的信息的基础(base)的作用。每个路点的配置没有特别限制,只要每个路点可以指定导航网格上的位置即可。然而,优选地,每个路点配置为可以将路点与根据路径搜索的目的而能够有用的信息相关联。作为这样的配置的示例,存在有一配置,该配置中,包括在3d空间中的xyz位置和在路点下的导航网格多边形id。
[0054]
此外,根据预定的布置规则而布置多个路点的配置没有特别限制。布置单元12可以配置为不同地使用多个布置规则。作为布置规则的示例,包括基于玩家的初始位置并通过洪水填充算法(floodfill)布置路点的规则。
[0055]
生成单元13具有通过基于预定的分类规则对布置在虚拟空间中的多个路点进行分组来生成多个区域的功能。
[0056]
在此,基于预定的分类规则进行分组的配置没有特别限制。生成单元13可以配置为基于路点的布置而对路点进行分类,或者可以配置为基于与路点相关联的信息而对路点进行分类。作为这样的配置的示例,存在有一配置,在该配置中,基于每个路点和不可移动区域(例如,壁)之间的距离且通过分水岭(watershed)算法来对路点进行分类(或者导航网格由分类之后各路点的布置来分割)。
[0057]
此外,短语“通过分组来生成多个区域”是指将属于一组的路点所处的虚拟空间(或者所设定的导航网格)中的范围定义为区域。生成多个区域的配置没有特别限制。生成单元13可以配置为将表示属于一组的一组路点的信息作为区域而生成,或者可以配置为从属于一组的路点的布置中将表示导航网格的一部分的信息作为区域而生成。
[0058]
确定单元14具有基于所生成的多个区域的布置来确定允许对象移动的区域(以下称为“可移动区域”)的功能。
[0059]
在此,确定可移动区域的配置没有特别限制。确定单元14可以配置为能够将包括有移动开始位置的区域连接于包括有移动结束位置的区域的多个区域确定为可移动区域。作为这样的配置的示例,存在有一配置,在该配置中,通过将每个区域用作节点来利用公知的路径搜索技术。在这一点上,确定单元14可以配置为通过使用与位于各区域的边界上的路点相关联的信息来确定各区域的连接关系。
[0060]
搜索单元15具有基于所确定的可移动区域中所包括的路点来搜索对象的移动路径的功能。
[0061]
在此,基于可移动区域中包括的路点来搜索移动路径的配置没有特别限制。然而,优选地,搜索单元15配置为能够搜索满足搜索条件的一个路径或多个路径。作为这样的配置的示例,存在有一配置,在该配置中,通过将可移动区域中所包括的各路点用作节点来利用公知的路径搜索技术。
[0062]
多个用户终端20、201~20n中的每一个由用户管理,并且例如由诸如蜂窝电话终端、pda(个人数字助理)、便携式游戏装置或所谓的可穿戴设备的能够进行网络传送型游戏的通信终端来配置。在这一点上,视频游戏处理系统100可以包括的用户终端的配置不限于上述示例。用户终端20、201~20n中的每一个可以配置为用户能够识别视频游戏。作为用户终端的其他示例,存在有通过组合各种通信终端而获取的构成、个人计算机和固定式游戏装置。
[0063]
此外,多个用户终端20、201~20n中的每一个连接于通信网络30,并且包括用于通过与服务器10a通信而执行各种处理的硬件(例如,用于显示基于坐标的浏览器画面或游戏画面的显示装置等)和软件。在这一点上,多个用户终端20、201~20n中的每一个可以配置为能够彼此直接通信而无需通过服务器10a。
[0064]
接下来,将说明根据本实施例的视频游戏处理系统100(以下称为“系统100”)的动作。
[0065]
图3是示出由系统100执行的游戏处理的示例的流程图。在根据本实施例的游戏处理中,执行与控制视频游戏的进程有关的处理。以下,将以服务器10a和用户终端20(以下称为“终端20”)执行游戏处理的情况为例进行说明。
[0066]
例如,在访问服务器10a的终端20满足路点的布置条件的情况下,开始游戏处理。以下,将以操作终端20的用户输入对移动路径的搜索请求的情况为例进行说明。
[0067]
在游戏处理中,服务器10a首先设定导航网格(步骤s11)。在本实施例中,服务器10a指定要提供给终端20的虚拟空间,并且设定与对象在指定的虚拟空间中可移动的范围对应的导航网格。
[0068]
在设定导航网格后,服务器10a布置路点(步骤s12)。在本实施例中,服务器10a根据预定的布置规则而在所设定的导航网格上布置多个路点。
[0069]
在布置路点后,服务器10a生成多个区域(步骤s13)。在本实施例中,服务器10a通过根据预定的分类规则对布置在虚拟空间中的多个路点进行分组来生成多个区域。
[0070]
在生成多个区域后,服务器10a确定可移动区域(步骤s14)。在本实施例中,服务器10a基于所生成的多个区域的布置来确定适合从包括有移动开始位置的区域移动到包括有移动结束位置的区域的可移动区域。
[0071]
在确定可移动区域后,服务器10a基于可移动区域中包括的路点来搜索移动路径(步骤s15)。在本实施例中,服务器10a基于在所确定的可移动区域中所包括的路点来搜索从移动开始位置到移动结束位置的移动路径。
[0072]
图4是示出游戏处理中的服务器10a侧的动作的示例的流程图。在此,将再次说明系统100中的服务器10a的动作。
[0073]
在游戏处理中,服务器10a首先设定导航网格(步骤s101);在所设定的导航网格上
布置路点(步骤s102);通过基于预定的分类规则对所布置的多个路点进行分组来生成多个区域(步骤s103);基于所生成的多个区域的布置来确定可移动区域(步骤s104);以及基于可移动区域中包括的路点来搜索移动路径(步骤s105)。
[0074]
图5是示出在终端20执行游戏处理的情况下终端20侧的动作的示例的流程图。以下,将以终端20单独执行游戏处理的情况为例进行说明。在这一点上,除了终端20从服务器10接收各种信息以外,终端20的配置包括与服务器10的功能相同的功能。由于这个原因,从避免重复说明的角度省略其说明。
[0075]
在游戏处理中,终端20首先设定导航网格(步骤s201);在所设定的导航网格上布置路点(步骤s202);通过基于预定的分类规则对所布置的多个路点进行分组来生成多个区域(步骤s203);基于所生成的多个区域的布置来确定可移动区域(步骤s204);以及基于可移动区域中所包括的路点来搜索移动路径(步骤s205)。在本实施例中,终端20与服务器10a通信以获取在每个步骤中使用的信息。在这一点上,终端20可以配置为参考终端20中所包括的存储单元来指定在每个步骤中使用的信息。
[0076]
如上所述,作为第一实施例的一个方面,具有有关在虚拟空间中搜索移动路径的功能的服务器10a配置为包括有设定单元11、布置单元12、生成单元13、确定单元14和搜索单元15。因此,设定单元11设定与虚拟空间中的对象的可移动范围对应的导航网格;布置单元12根据预定的布置规则在所设定的导航网格上布置多个路点;生成单元13通过基于预定的分类规则对布置在虚拟空间中的多个路点进行分组来生成多个区域;确定单元14基于所生成的多个区域的布置来确定允许对象移动的区域(即可移动区域);以及搜索单元15基于可移动区域中所包括的路点来搜索对象的移动路径。因此,可以减轻搜索对象的移动路径所需的处理负荷。
[0077]
即,不仅通过布置路点而且通过确定可移动区域来搜索移动路径。由于这个原因,从而可以逐步地(stepwise)搜索移动路径。与将所有所布置的路点设定为搜索目标的情况相比,可以减轻搜索移动路径所需的处理负荷。
[0078]
在这一点上,虽然在上述第一实施例中没有特别提及,但是,服务器10a通过设定单元11、布置单元12、生成单元13和确定单元14执行每个处理时的时机没有特别限制。服务器10a可以配置为在开发视频游戏时或在进行视频游戏时执行处理。即,服务器10a可以配置为搜索单元15读取在玩家进行视频游戏之前生成的信息;根据视频游戏的状况更新所读取的信息;以及搜索移动路径。此外,服务器10a可以配置为搜索单元15通过使用根据视频游戏的进程而实时生成的信息(例如,路点的布置和所生成的区域)来搜索移动路径。
[0079]
[第二实施例]
[0080]
图6是示出视频游戏处理服务器10b(以下称为“服务器10b”)的配置的框图,其为视频游戏处理服务器10(参照图1)的示例。在本实施例中,服务器10b至少包括有设定单元11、布置单元12、生成单元13、确定单元14b以及搜索单元15。
[0081]
确定单元14b具有参考预定的存储单元(图中未示出)的功能,在存储单元中存储有多个路点中的每一个与其他路点之间的连接的信息(以下,也称为“连接信息”),并且确定单元14b具有基于布置在多个区域的边界上的路点的连接信息来确定可移动区域的功能。
[0082]
在此,连接信息是指关于与多个路点连接的信息。连接信息的配置没有特别限制,
只要确定单元14b能够指定对象是否能够从一个路点移动到另一个路点即可。作为连接信息的示例,包括对象能够从一路点移动到的另一个路点的识别信息。
[0083]
此外,多个区域的边界是指在虚拟空间中满足相邻条件的多个虚拟空间的边界。在属于一个区域的路点连接于属于另一区域的路点的情况下,可以确定对象能够在两个区域之间移动。另一方面,即使在两个相邻的区域中,在属于各区域的路点彼此不连接的情况下,可以确定对象不能在两个区域之间移动。通过指定虚拟空间中的多个区域之间的连接关系,可以通过与搜索移动路径相同的方法来确定可移动区域。
[0084]
图7是示出由视频游戏处理系统100(参照图1)执行的游戏处理的示例的流程图。以下,将以服务器10b和用户终端20(以下称为“终端20”)的动作为例进行说明。在这一点上,从避免重复说明的角度省略示出服务器10b和终端20中的每一个的动作的流程图。
[0085]
在生成多个区域后,服务器10b基于路点的连接信息来确定可移动区域(步骤s2-11)。在本实施例中,服务器10b基于在所生成的多个区域中所包括的路点之中布置在区域的边界处的路点的连接信息来搜索从移动开始位置到移动结束位置的移动路径。
[0086]
如上所述,作为第二实施例的一个方面,服务器10b配置为包括有设定单元11、布置单元12、生成单元13、确定单元14b以及搜索单元15。因此,确定单元14b参考预定的存储单元,在存储单元中存储有多个路点中的每一个与其他路点之间的连接信息,并且确定单元14b基于布置在多个区域的边界上的路点的连接信息来确定可移动区域。因此,为了指定多个区域之间的连接关系,可以无需生成新的信息就确定可移动区域。由于这个原因,可以减轻确定可移动区域来搜索移动路径所需的处理负荷。
[0087]
[第三实施例]
[0088]
图8是示出视频游戏处理服务器10c(以下称为“服务器10c”)的配置的框图,其为视频游戏处理服务器10(参照图1)的示例。在本实施例中,服务器10c至少包括有设定单元11、布置单元12、生成单元13c、确定单元14以及搜索单元15。
[0089]
生成单元13c具有在多个区域之中将满足预定的分割条件的区域分割以及将满足预定的合并条件的区域与其他区域合并的功能。即,生成单元13c具有调整多个区域的功能。
[0090]
在此,短语“将区域分割”是指使属于一个区域的多个路点中的每一个属于两个或两个以上的区域。此外,短语“区域合并”是指使属于两个或两个以上的区域的多个路点中的每一个属于一个区域。即,生成单元13c具有改变属于任何所生成的区域的每个路点的所属区域的功能。
[0091]
此外,将满足预定的分割条件的区域分割以及将满足预定的合并条件的区域与其他区域合并的配置没有特别限制。生成单元13c可以配置为所有所生成的区域中的每一个的尺寸都落入一定范围内,或者生成单元13c可以配置为提供分割条件和合并条件,使调整之后的每个区域满足多个尺寸条件中的任何一个。
[0092]
图9是示出由视频游戏处理系统100(参照图1)执行的游戏处理的示例的流程图。以下,将以服务器10c和用户终端20(以下称为“终端20”)的动作为例进行说明。在这一点上,从避免重复说明的角度省略示出服务器10c和终端20中的每一个的动作的流程图。
[0093]
在生成多个区域后,服务器10c调整(例如,分割或合并)多个区域(步骤s3-11)。在本实施例中,服务器10c调整所有所生成的区域中的每一个以使尺寸落入一定范围内。
[0094]
如上所述,作为第三实施例的一个方面,服务器10c配置为包括有设定单元11、布置单元12、生成单元13c、确定单元14以及搜索单元15。因此,生成单元13c在多个区域之中分割满足预定的分割条件的区域,并将满足预定的合并条件的区域与其他区域合并。因此,可以将所生成的区域作为单位(unit)来处理,且这样就可以提高区域的有用性。
[0095]
[第四实施例]
[0096]
图10是示出视频游戏处理服务器10z(以下称为“服务器10z”)的配置的框图,其为视频游戏处理系统100(参照图1)中的视频游戏处理服务器10的示例。在本实施例中,服务器10z至少包括有设定单元11z、布置单元12z、生成单元13z、确定单元14z、搜索单元15z以及削减(thinning)单元16z。
[0097]
设定单元11z具有设定与虚拟空间中的对象的可移动范围对应的导航网格的功能。以下,将以在出现士兵和武器的3d掩护射击(cover shooting)游戏的虚拟空间中设定导航网格的情况为例进行说明。
[0098]
在本实施例中,允许敌兵从地图的边缘搜索玩家。此外,敌兵可以在地图上的任何地方与玩家开战。因此,在导航网格上执行诸如步行或跑步的正常移动。
[0099]
在此,为了实现敌兵的功能,服务器10z可以搜索从地图的一端到另一端的长且大的路径。在本实施例中,为了抑制路径的搜索负荷,因此执行层次(hierarchical)型路径搜索。此外,敌兵不仅可以到达所布置的位置附近,而且可以到达玩家可以到达的地方。即,敌兵可以越过或攀爬掩蔽物(cover),或者经由门、窗和梯子移动。在本实施例中,为了确保移动的自由度,利用跳转链接(jump link)来使玩家和敌兵中的每一个穿过导航网格不连续的地方。
[0100]
此外,在本实施例中,作为关于导航的功能,还将说明通过导航网格(以下,也称为“navmesh”)的连续部分的移动、通过跳转链接在网格外的移动、用于减轻长且大的路径的搜索负荷的层次结构以及自动生成上述数据的功能。
[0101]
在此,作为用于上述功能的地形表示的示例,存在有导航网格、路点、连接图和基于路点的上层图(upper layer graph)。
[0102]
导航网格使用公知的技术(例如,重铸导航(recast navigation))。因此,在此省略其详细说明。在这一点上,在本实施例中,执行对从玩家初始位置连续的多边形设定可通行标志等。由于玩家可以攀爬具有一定高度的壁,因此也可对从玩家初始位置不连续但从玩家攀爬的壁连续的多边形设定可通行标志。在这种情况下,例如,搜索设置在偏离了从不相邻的多边形的边缘可以攀爬的高度距离的位置附近的网格。如果存在对应的网格,则从那里设定连续标记。
[0103]
布置单元12z具有根据预定的布置规则而在所设定的导航网格上布置多个路点的功能。以下,将以路点离线自动布置在导航网格上的情况为例进行说明。
[0104]
在此,路点是作为嵌入视频游戏所必要的信息的基础而发挥作用。在本实施例中,如果需要,诸如xyz位置、点下的导航网格多边形id、lof(火线(line of fire))、点属性、点连接信息、相邻的掩蔽物id、相邻的门id、相邻的梯子/窗id、射击掩蔽物列表、从点的位置到天花板的高度、越过相邻的掩蔽物时的高度、与壁的距离或骑在某个点上的损坏的暗机关(gimmick)id的信息与路点相关联。
[0105]
此外,在本实施例中,通过基于玩家初始位置并利用洪水填充算法(flood fill)
布置点,来自动布置路点。在这一点上,由于网格形状而可能未在所需位置处形成点。因此,布置单元12z可以配置为任意增加点。在这种情况下,布置单元12z可以配置为针对虚拟空间中的各种对象(例如,门、低掩蔽物、高掩蔽物的边缘和安装有梯子的位置)的位置接收路点的增加。
[0106]
削减单元16z具有从所布置的多个路点中削减(thin out)根据预定的选择规则而选择的一些路点的功能。以下,将以作为路点遍布(spread all over)之后的处理而削减路点的情况为例进行说明。在这一点上,优选地,削减之后的索引(index)在16位以内。这是因为不希望增加点的索引,因为它在这里和那里存储。此外,在索引的数量大的情况下,其搜索时的负荷增加过多。
[0107]
图11是用于说明削减路点的示例的说明图。在本实施例中,通过基于玩家初始位置1101在自动地布置多个路点(例如,路点1111和路点1112)之后以随机的方式来选择点((参照图11中的(a)),对所布置的路点进行削减(参照图11中的(b))。此外,在本实施例中,不应该被削减的一些点不会被削减。即,例如,在削减路点时使得削减之后的距离太宽的点、通过削减路点而将图形切断的点、通过削减路点而形成太迂回的路径的点、上层图节点的边界、成为诸如门等的动作的触发的位置等对应的路点被选择的情况下,不会削减所述对应的路点。
[0108]
图12是用于说明不应该被削减的路点的示例的说明图。如图12所示,如果在设定了导航网格的范围1201中删除了路点1211,就会丧失其上下部分之间的连接。即,导航网格上的射线投射(raycast)不会从路点1212和路点1213中的每一个穿过路点1211。因此,不削减路点1211。
[0109]
搜索单元15z具有基于削减一些路点之后的多个路点的布置来搜索对象的移动路径的功能。以下,将以通过使用将所布置的路点用作路径候选位置的公知的路径搜索技术来执行从起点到终点的路径(诸如从敌人的位置到玩家的位置的路径、从敌人的位置到目标对象的路径或从玩家的位置到由玩家选择的位置的路径)的路径搜索的情况为例进行说明。
[0110]
生成单元13z具有通过根据预定的分类规则对布置在虚拟空间中的多个路点进行分组来生成多个区域的功能。以下,以作为用于层次型路径搜索的最上层结构而生成位置接近的点在一定程度上集中并被标记的区域(ai区域)的情况为例进行说明。在这一点上,将标记边界的点连接的信息用作连接信息。
[0111]
在本实施例中,ai区域起着将这些点作为一定程度的整体(lump)的作用。优选地,ai区域配置为粗略地表达位置而不是过于详细。此外,ai区域还具有作为成本增加目标而防止对象穿过同一路径的作用。ai区域也可以用于玩家和敌人之间的影响度的图(势力图(influence map))等。此外,可以期望ai区域允许通过位置表示的层次化来减轻路径的搜索负荷。
[0112]
图13是用于说明生成区域的方法的示例的说明图。如图13中的(a)所示,在从地形1301生成区域(即根据本实施例的ai区域)的情况下,路点遍布在地形1301上;相邻的路点彼此连接;对每个路点设定距相应的壁的距离;并且通过分水岭(watershed)算法对所设定的距离进行分割。因此,如图13中的(b)所示,可以生成区域s1和区域s2。在这一点上,补充说明分水岭算法。在将距壁的距离视为高度的情况下,可以形成在其顶部具有路点1311的
第一山峰和在其顶部具有路点1312的第二山峰。当从最高点开始评估时,首先标记路点1311(标记1)。接着,通过降低要评估的高度,评估分别位于第一山峰中的路点1311的上侧和下侧的两个点和第二山峰的顶部(即路点1312)。在这种情况下,由于第二山峰的点在其顶部,所以标记路点1312(标记2)。由于第一山峰的两个点是第一山峰的一部分,所以以与第一山峰的顶部(即路点1311)(标记1)相同的方式来标记两个点。在这一点上,通过确定其相邻的点是否被标记可以确定某个点是否是山峰的一部分。接着,通过在降低要评估的高度之后执行相同的处理,在第一山峰的底部和第二山峰的底部标记剩余的点。最后,从其相邻的点标记不包括在第一山峰和第二山峰的各部分(即距相应的壁的距离被确定为0或最小的部分)。从上面可以标记出直到最低的高度的点。即,可以通过标记1的节点和标记2的节点生成上层图。
[0113]
此外,在本实施例中,基于预定的调整规则调整所生成的区域。即,从多个区域中分割满足预定的分割条件的每个区域,并且将满足预定的合并条件的区域与其他区域合并。通过以这种方式配置生成单元13z,每个过小的区域附接于相邻的大区域,并且过大的区域被重复分割以使得“其长边切成两半”。通过以这种方式形成具有一定尺寸的区域,可以将它们粗略地作为“单位”来处理。
[0114]
确定单元14z具有基于所生成的多个区域的布置来确定允许对象移动的区域(以下称为“可移动区域”)的功能。在本实施例中,以通过将各区域用作节点来利用公知的路径搜索技术的情况为例进行说明。
[0115]
如上所述,可以按照导航网格、路点图和上层图的顺序来创建数据,并且可以按照上层图、路点图和导航网格的顺序来实现路径搜索。
[0116]
在这一点上,路径搜索最终期望的移动路径是视频游戏的设计者所期望的顺利的(smooth)移动路径。即,优选地,确定单元16z配置为可以根据对象的类型来推导贝塞尔(bezier)曲线、直线或由于从对象的当前位置到目标位置的线不连续而需要动作的线。在本实施例中,通过在上层图级别中指定所需的动作和位置,在路点级别中指定所需的动作和位置,并搜索对象在指定的位置之间连续移动的移动路径,从而可以推导出各种线。在这一点上,可以通过穿过上层路径、在上层节点内创建路点的路径、连接所有节点的路点、沿点路径创建导航网格多边形列表、创建对象所穿过的边缘的列表以及通过使用边缘的中间点创建贝塞尔曲线来推导连续(或持续)移动的路径。
[0117]
图14是用于说明存储在服务器10提供的存储单元(图中未示出)中的信息的存储状态的示例的说明图。如图14所示,区域编号和属于区域的每个路点的识别信息在存储单元中作为区域相关信息而存储为彼此相关联。
[0118]
在此,区域编号是指每个所生成的区域(例如,ai区域)的识别信息。创建区域编号的配置没有特别限制。然而,优选地,服务器10z配置为可以唯一指定多个区域中的每一个。作为区域编号的示例,存在有附接于每个路点的标记。
[0119]
图15是示出由设置有服务器10z的视频游戏处理系统100z(以下称为“系统100z”)执行的游戏处理的示例的流程图。在根据本实施例的游戏处理中,执行与路点的布置有关的处理等。以下,将说明每个处理。在这一点上,可以在不与处理内容相矛盾等的情况下改变每个处理的顺序。
[0120]
例如,在访问服务器10z的用户终端20(以下称为“终端20”)满足路点的布置条件
的情况下,开始游戏处理。以下,将以操作终端20的用户输入用于移动路径的搜索请求的情况为例进行说明。
[0121]
在游戏处理中,系统100z首先设定导航网格(步骤s301)。在本实施例中,服务器10z指定要提供给终端20的虚拟空间,并且设定与在所指定的虚拟空间中对象可移动的范围对应的导航网格。
[0122]
在设定导航网格后,系统100z布置路点(步骤s302)。在本实施例中,服务器10z根据预定的布置规则而在所设定的导航网格上布置多个路点。
[0123]
在布置路点后,系统100z削减一些路点(步骤s303)。在本实施例中,服务器10z从所布置的多个路点中削减根据预定的选择规则而选择的一些路点。
[0124]
在削减一些路点后,系统100z生成多个区域(步骤s304)。在本实施例中,服务器10z通过根据预定的分类规则对布置在虚拟空间中的多个路点进行分组来生成多个区域。
[0125]
在生成多个区域后,系统100z确定可移动区域(步骤s305)。在本实施例中,服务器10z基于所生成的多个区域的布置确定适合从包括有移动开始位置的区域移动到包括有移动结束位置的区域的可移动区域。
[0126]
在确定可移动区域后,系统100z搜索移动路径(步骤s306)。在本实施例中,服务器10z基于布置在虚拟空间中的多个路点的布置来搜索对象的移动路径。
[0127]
如上所述,作为第四实施例的一个方面,具有有关在虚拟空间中搜索移动路径的功能的服务器10z配置为包括有设定单元11z、布置单元12z、生成单元13z、确定单元14z、搜索单元15z以及削减单元16z。因此,设定单元11z设定与虚拟空间中的对象的可移动范围对应的导航网格;布置单元12z根据预定的布置规则(例如,洪水填充算法)在所设定的导航网格上布置多个路点;生成单元13z通过基于预定的分类规则(例如,随机选择)对布置在虚拟空间中的多个路点进行分组来生成多个区域;确定单元14z基于所生成的多个区域的布置来确定允许对象移动的区域(即可移动区域);以及搜索单元15z基于可移动区域中包括的路点来搜索对象的移动路径。因此,可以减轻搜索对象的移动路径所需的处理负荷。
[0128]
即,不仅通过布置路点而且通过确定移动区域来搜索移动路径。由于这个原因,从而可以逐步地搜索移动路径。与将所有所布置的路点设定为搜索目标的情况相比,可以减轻搜索移动路径所需的处理负荷。
[0129]
此外,在上述第四实施例的示例中,服务器10z配置为通过使用将多个路点中的每一个距不可移动区域的距离作为参数的分水岭算法对多个路点进行分组以及基于属于同一组的路点的位置信息而生成多个区域中的每一个。因此,例如,与视频游戏的开发者进行路点分类而生成区域的情况相比,可以有效地生成多个区域。
[0130]
在这一点上,虽然在上述第四实施例中没有特别提及,但是,服务器10z通过设定单元11z、布置单元12z、生成单元13z、确定单元14z和削减单元16z执行各自的处理时的时机没有特别限制。服务器10z可以配置为在开发视频游戏时或在进行视频游戏时执行处理。具体地,服务器10z可以配置为独立于路径搜索而执行导航网格的设定、路点的布置和ai区域的生成,或者可以配置为这些与路径搜索一起以一系列的流程被执行。即,例如,服务器10z可以配置为:搜索单元15z根据视频游戏的进程来读取在玩家进行视频游戏之前生成的信息(例如,区域相关信息);根据视频游戏的状况更新所读取的信息(例如,可移动区域的改变);以及基于所更新的信息来搜索移动路径。此外,例如,服务器10z可以配置为搜索单
元15根据视频游戏的进程来设定导航网格,以及通过使用所生成的信息而实时搜索移动路径。
[0131]
在这一点上,虽然在上述第四实施例中没有特别提及,但是,服务器10z可以配置为:设定与虚拟空间中的对象的可移动范围对应的导航网格;根据预定的布置规则(例如,洪水填充算法)在所设定的导航网格上布置多个路点;从所布置的多个路点中削减根据预定的选择规则(例如,随机选择)而选择的一些路点;以及在存储单元中存储包含削减后的路点的布置的搜索用信息(例如,虚拟空间的地形表现)。在这种情况下,获取包含搜索用信息的与视频游戏有关的信息的服务器10z基于搜索用信息来搜索对象在虚拟空间中的移动路径。
[0132]
如上所述,根据本申请的实施例中的每一个能够解决一个或两个以上的不足。在这一点上,实施例中的每一个的效果是非限制性效果或是非限制性效果中的一个示例。
[0133]
在这一点上,在上述实施例中的每一个中,多个用户终端20、201~20n和服务器10中的每一个根据存储在相应终端或服务器所设有的存储装置中的各种控制程序(例如,视频游戏处理程序)来执行上述各种处理。
[0134]
此外,系统100的配置不限于已经作为上述实施例中的每一个的示例而说明的配置。例如,系统100可以配置为服务器10执行作为由用户终端20执行的处理而已经说明了的处理的一部分或全部。另外,系统100可以配置为多个用户终端20、201~20n中的任一个(例如,用户终端20)执行作为由服务器10执行的处理而已经说明了的处理的一部分或全部。此外,系统100可以配置为服务器10所包括的存储单元的一部分或全部包括在多个用户终端20、201~20n中的任一个中。即,系统100可以配置为根据系统100的用户终端20和服务器10中的任一个的功能的一部分或全部包括在另一个中。
[0135]
此外,系统100可以配置为程序使不包括任何通信网络的单个装置实现如上述各实施例的示例说明的功能的一部分或全部。
[0136]
[附录]
[0137]
已经描述了对上述实施例的说明,以便至少能够由本发明所属领域的普通技术人员实现以下的发明。
[0138]
(1)一种非暂态计算机可读介质,包括有视频游戏处理程序,该视频游戏处理程序用于使服务器实现有关在虚拟空间中搜索移动路径的功能,所述功能包括:
[0139]
设定功能,配置为设定与虚拟空间中的对象的可移动范围对应的导航网格;
[0140]
布置功能,配置为根据预定的布置规则而在所设定的导航网格上布置多个路点;
[0141]
生成功能,配置为通过基于预定的分类规则对布置在虚拟空间中的多个路点进行分组来生成多个区域;
[0142]
确定处理,配置为基于所生成的多个区域的布置来确定允许对象移动的区域(以下称为“可移动区域”);以及
[0143]
搜索功能,配置为基于所确定的可移动区域中所包括的路点来搜索对象的移动路径。
[0144]
(2)根据(1)所述的非暂态计算机可读介质,其中,
[0145]
确定功能包括有以下功能:参考预定的存储单元且在该存储单元中存储有多个路点中的每一个与其他路点之间的连接的信息,并且基于布置在多个区域的边界上的路点的
连接信息来确定可移动区域。
[0146]
(3)根据(1)或(2)所述的非暂态计算机可读介质,其中,
[0147]
生成功能包括有配置为在多个区域之中将满足预定的分割条件的区域分割以及将满足预定的合并条件的区域与其他区域合并的功能。
[0148]
(4)根据(1)至(3)中任一项所述的非暂态计算机可读介质,其中,
[0149]
生成功能包括有以下功能:通过使用将多个路点中的每一个距不可移动区域的距离作为参数的分水岭算法对多个路点进行分组,并且基于属于同一组的路点的位置信息生成多个区域中的每一个。
[0150]
(5)一种非暂态计算机可读介质,包括有视频游戏处理程序,该视频游戏处理程序用于使用户终端实现(1)至(4)中任一项所述的视频游戏处理程序使服务器实现的功能中的至少一个功能,用户终端能够与服务器通信。
[0151]
(6)一种服务器,安装有(1)至(5)中任一项所述的视频游戏处理程序。
[0152]
(7)一种视频游戏处理系统,用于执行有关在虚拟空间中搜索移动路径的处理,该视频游戏处理系统包括有通信网络、服务器以及用户终端,该视频游戏处理系统包括:
[0153]
设定单元,其配置为设定与虚拟空间中的对象的可移动范围对应的导航网格;
[0154]
布置单元,其配置为根据预定的布置规则而在所设定的导航网格上布置多个路点;
[0155]
生成单元,其配置为通过基于预定的分类规则对布置在虚拟空间中的多个路点进行分组来生成多个区域;
[0156]
确定单元,其配置为基于所生成的多个区域的布置来确定允许对象移动的区域(以下称为“可移动区域”);以及
[0157]
搜索单元,其配置为基于所确定的可移动区域中所包括的路点来搜索对象的移动路径。
[0158]
(8)根据(7)所述的视频游戏处理系统,其中,
[0159]
服务器包括有设定单元、布置单元、生成单元、确定单元以及搜索单元,
[0160]
而且其中,用户终端包括:输出单元,其配置为将显示由搜索单元搜索的移动路径的游戏画面输出到显示装置的显示屏。
[0161]
(9)一种非暂态计算机可读介质,包括有视频游戏处理程序,该视频游戏处理程序用于使用户终端实现有关在虚拟空间中搜索移动路径的终端功能,所述终端功能包括:
[0162]
配置为从服务器接收有关服务器所包括的服务器功能的信息的功能;以及
[0163]
配置为执行与服务器功能中的每一个对应的输入或输出的功能;
[0164]
其中,服务器包括有所述服务器功能,所述服务器功能包括:
[0165]
设定功能,配置为设定与虚拟空间中的对象的可移动范围对应的导航网格;
[0166]
布置功能,配置为根据预定的布置规则而在所设定的导航网格上布置多个路点;
[0167]
生成功能,配置为通过基于预定的分类规则对布置在虚拟空间中的多个路点进行分组来生成多个区域;
[0168]
确定功能,配置为基于所生成的多个区域的布置来确定允许对象移动的区域(以下称为“可移动区域”);以及
[0169]
搜索功能,配置为基于所确定的可移动区域中所包括的路点来搜索对象的移动路
径。
[0170]
(10)一种非暂态计算机可读介质,包含有视频游戏处理程序,该视频游戏处理程序用于使用户终端实现与在虚拟空间中搜索移动路径有关的功能,所述功能包括:
[0171]
设定功能,配置为设定与虚拟空间中的对象的可移动范围对应的导航网格;
[0172]
布置功能,配置为根据预定的布置规则而在所设定的导航网格上布置多个路点;
[0173]
生成功能,配置为通过基于预定的分类规则对布置在虚拟空间中的多个路点进行分组来生成多个区域;
[0174]
确定功能,配置为基于所生成的多个区域的布置来确定允许对象移动的区域(以下称为“可移动区域”);以及
[0175]
搜索功能,配置为基于所确定的可移动区域中所包括的路点来搜索对象的移动路径。
[0176]
(11)一种非暂态计算机可读介质,包含有视频游戏处理程序,该视频游戏处理程序用于使服务器实现(10)所述的视频游戏处理程序使用户终端实现的功能中的至少一个功能,服务器能够与用户终端通信。
[0177]
(12)一种用户终端,安装有根据(10)或(11)所述的视频游戏处理程序。
[0178]
(13)一种视频游戏处理方法,执行有关在虚拟空间中搜索移动路径的处理,该视频游戏处理方法包括:
[0179]
设定处理,配置为设定与虚拟空间中的对象的可移动范围对应的导航网格;
[0180]
布置处理,配置为根据预定的布置规则而在所设定的导航网格上布置多个路点;
[0181]
生成处理,配置为通过基于预定的分类规则对布置在虚拟空间中的多个路点进行分组来生成多个区域;
[0182]
确定处理,配置为基于所生成的多个区域的布置来确定允许对象移动的区域(以下称为“可移动区域”);以及
[0183]
搜索处理,配置为基于所确定的可移动区域中所包括的路点来搜索对象的移动路径。
[0184]
(14)一种视频游戏处理方法,通过视频游戏处理系统执行有关在虚拟空间中搜索移动路径的处理,该视频游戏处理系统包括有通信网络、服务器以及用户终端,该视频游戏处理方法包括:
[0185]
设定处理,配置为设定与虚拟空间中的对象的可移动范围对应的导航网格;
[0186]
布置处理,配置为根据预定的布置规则而在所设定的导航网格上布置多个路点;
[0187]
生成处理,配置为通过基于预定的分类规则对布置在虚拟空间中的多个路点进行分组来生成多个区域;
[0188]
确定处理,配置为基于所生成的多个区域的布置来确定允许对象移动的区域(以下称为“可移动区域”);以及
[0189]
搜索处理,配置为基于所确定的可移动区域中所包括的路点来搜索对象的移动路径。
[0190]
(15)一种非暂态计算机可读介质,包含有视频游戏处理程序,该视频游戏处理程序用于使计算机实现有关在虚拟空间中搜索移动路径的功能,所述功能包括:
[0191]
设定功能,配置为设定与虚拟空间中的对象的可移动范围对应的导航网格;
[0192]
布置功能,配置为根据预定的布置规则而在所设定的导航网格上布置多个路点;以及
[0193]
生成功能,配置为通过基于预定的分类规则对布置在虚拟空间中的多个路点进行分组来生成多个区域。
[0194]
(16)一种非暂态计算机可读介质,包含有视频游戏处理程序,该视频游戏处理程序用于使计算机实现有关在虚拟空间中搜索移动路径的功能,所述功能包括:
[0195]
确定功能,配置为基于信息确定布置在虚拟空间中的对象的可移动区域,所述信息通过配置为设定与虚拟空间中的对象的可移动范围对应的导航网格的设定功能、配置为根据预定的布置规则在所设定的导航网格上布置多个路点的布置功能以及配置为通过基于预定的分类规则对布置在虚拟空间中的多个路点进行分组来生成多个区域的生成功能而生成;以及
[0196]
搜索功能,配置为基于所确定的可移动区域中所包括的路点来搜索对象的移动路径。
[0197]
(17)一种非暂态计算机可读介质,包含有视频游戏处理程序,该视频游戏处理程序用于使计算机实现生成用于在虚拟空间中搜索移动路径的信息的功能,所述功能包括:
[0198]
设定功能,配置为设定与虚拟空间中的对象的可移动范围对应的导航网格;
[0199]
布置功能,配置为根据预定的布置规则而在所设定的导航网格上布置多个路点;
[0200]
生成功能,配置为通过基于预定的分类规则对布置在虚拟空间中的多个路点进行分组来生成多个区域;以及
[0201]
存储功能,配置为在存储单元中存储用于搜索的信息,所述信息包含所生成的多个区域。
[0202]
根据本发明的实施例,对于减轻搜索对象的移动路径所需的处理负荷是有用的。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1