基于游戏者的移动历史来进行非游戏者角色的路径寻找的游戏系统等的制作方法

文档序号:15283853发布日期:2018-08-28 23:51阅读:266来源:国知局
本发明涉及基于游戏者的移动历史来进行非游戏者角色的路径寻找的游戏系统、程序、服务器、电子装置和游戏控制方法。
背景技术
:近年来,越来越多的游戏者正享受多个游戏者可以经由网络参与的联网游戏。这些游戏是通过如下的游戏系统实现的,其中,在该游戏系统中,诸如游戏机、pc终端或移动电话等的电子装置进行与游戏运营商的服务器设备等的通信,并且操作电子装置的游戏者可以在与其它游戏者进行协作或者在竞技游戏内彼此进行对抗的情况下进行游戏。除了游戏者可以操作的游戏者角色以外,游戏内出现的角色还包括游戏者不能操作的非游戏者角色(以下称为“npc”),并且计算机可以控制npc,以使得npc独立采取动作。例如,在赛车游戏的情况下,专利文献1描述了用于基于游戏者的先前操作的记录来使npc(幽灵车(ghostcar))驱动的技术。另外,例如,在多个游戏者出现的游戏的情况下,发布了使除了游戏者角色的周围区域以外的虚拟空间内存在的npc向用作目标位置的特定目标移动的游戏。这些类型的游戏内的最普通的npc是被称为动作游戏或角色扮演游戏的类型中的普通的敌方角色,并且这些敌方角色被配置在游戏内,以对游戏者进行攻击或者采取干扰游戏者的动作的动作;即,这些敌方角色被配置成使得针对游戏者操作的游戏者角色。击败或躲避这些敌方角色是游戏的兴奋性方面之一。npc是通过使用游戏用的人工智能(ai)技术来控制的,并且在现有技术中,已经通过作为与人工智能的研究有关的领域之一的最短路径寻找方法来控制npc的移动。引用列表专利文献专利文献1:日本特开2000-237453技术实现要素:发明要解决的问题在如上所述通过使用特定目标作为目标位置来使npc移动的情况下,设置包括这些角色的搜索区域,进行到目标位置的路径寻找,并且根据搜索结果来使npc移动。尽管在3d游戏中,对于游戏者可以沿着各种路径移动的复杂地图创建各种策略,因而复杂地图是增加游戏的兴奋性的重要因素,但是对于路径寻找的执行存在以下问题。在传统3d游戏中,将诸如a星(a*(astar))算法或跳点搜索(jps(jumppointsearch))算法应用于3d地图,以使得选择npc的移动路径。在该方法中,路径寻找算法提取最短路径。因而,在地图变得更复杂的情况下,由不常沿最短路径移动的人移动的角色的路径与由计算机控制的npc的移动路径之间的差异变得更大。由于人和npc之间的这种类型的动作差异,因此npc的行为对于人的游戏者而言看起来不自然且单调。特别地,在游戏者看到即使用于沿短距离路径移动的操作复杂、但是npc也毫无困难地沿这些路径移动的过程的情况下,游戏者经常感觉不公平。作为用于选择与人的路径类似并且看起来自然的路径的方法,存在将模糊控制或代理模型应用为最短路径寻找算法中的权重的方法。尽管模糊控制或代理模型可以产生与人的行为看起来类似的行为,但是难以将模糊控制或代理模型应用于复杂地图,这是因为,在3d地图变得复杂的情况下,需要根据复杂性来准备控制参数。最短路径寻找算法的一个问题与计算量相关,因此在对最短路径寻找算法进行加权的情况下,难以在考虑到除了距离以外的各种因素的情况下进行路径寻找,并且极难调整参数,以从通常的最短路径或者使得移动操作能够更容易的路径中选择绕路很多的路径。特别地,在具有复杂结构的地图的情况下,除了诸如移动速度或确保视野等的路径上的距离以外,还应当考虑许多不同因素。因而,难以通过对最短路径寻找算法进行加权来获得对于人而言看起来自然的路径。本发明是考虑到上述情形而作出的,并且本发明的目的是提供在3d游戏的复杂地图上用于自动进行npc的移动路径的加权和确定、以使得游戏者识别为如同人正操作npc一样的功能,由此游戏者可以具有真实感和沉浸感。另外,为了在3d地图上的角色的位置强烈影响游戏者输赢的游戏中实现逼真的npc,本发明提供用于自动进行与游戏中的角色的强度或性质相对应的路径寻找的功能。另外,在一般游戏中,预期根据游戏者在游戏系统中变得熟练的速度,随着时间的经过而出现更强且更睿智的敌方。因而,本发明提供用于进行路径寻找的学习功能,以使得根据游戏者动作的改变来使npc的动作改变。用于解决问题的方案本发明是考虑到上述问题而作出的,并且具有以下特征。具体地,根据本发明的方面的系统包括服务器和经由网络连接至所述服务器的一个或多个电子装置,其中,通过将连接至所述服务器的所述电子装置的游戏者所操作的角色配置在共同的游戏场地中来进行游戏,所述游戏场地由分别定义所述角色的可移动位置的多个导航块构成,并且所述游戏场地包括由所述多个导航块构成的多个日志块,所述服务器或所述电子装置包括:移动开始确定部,用于为了使游戏者不操作的非游戏者角色移动而确定所述非游戏者角色的移动开始位置和移动目标位置;全局移动路径确定部,用于基于按从一个或多个游戏者所操作的游戏者角色的移动开始位置到移动目标位置的日志块的位置的顺序所表示的全局移动路径的历史信息,来确定从所确定出的移动开始位置到所确定出的移动目标位置的被所述一个或多个游戏者选择的频率最高的全局移动路径;局部移动路径确定部,用于从构成所确定出的全局移动路径的日志块中,选择没有包括所确定出的移动开始位置和移动目标位置的日志块中的任意导航块的位置作为子目的地位置,并且确定从所确定出的移动开始位置或子目的地位置到所确定出的全局移动路径上的下一日志块中的子目的地位置或者到所确定出的移动目标位置的路径;以及移动控制部,用于使所述非游戏者角色根据所确定出的路径移动。根据本发明的方面,所述局部移动路径确定部选择所述子目的地位置,使得能够确保仅通过所确定出的全局移动路径上的邻接日志块的路径。根据本发明的方面,根据游戏的进行度和游戏者的属性至少之一来将所述历史信息分成组,以及所述全局移动路径确定部基于与游戏者相对应的组的历史信息来确定被一个或多个游戏者选择的频率最高的全局移动路径。根据本发明的方面,所述游戏者的属性包括该游戏者的熟练度、总游戏时间、所使用的角色、所使用的角色的属性、计费金额、国籍以及进行各自的游戏的游戏者数量至少之一。根据本发明的方面,所述服务器或所述电子装置还包括移动路径学习部,以及所述移动路径学习部基于所述游戏者角色位于同一日志块内的时间段或者游戏的进行度来确定由日志块的位置表示的移动开始位置和移动目标位置,并且将从该移动开始位置到该移动目标位置的全局移动路径存储为所述历史信息。根据本发明的方面,所述历史信息是针对所述移动开始位置的日志块和移动结束位置的日志块的各组合而计算出的频率信息。根据本发明的方面的程序是一种游戏的程序,该游戏是通过将经由网络连接至服务器的一个或多个电子装置的游戏者所操作的角色配置在共同的游戏场地中来进行的,所述游戏场地由分别定义所述角色的可移动位置的多个导航块构成,并且所述游戏场地包括由所述多个导航块构成的多个日志块,所述程序使所述服务器执行以下步骤:为了使游戏者不操作的非游戏者角色移动而确定所述非游戏者角色的移动开始位置和移动目标位置;基于按从一个或多个游戏者所操作的游戏者角色的移动开始位置到移动目标位置的日志块的位置的顺序所表示的全局移动路径的历史信息,来确定从所确定出的移动开始位置到所确定出的移动目标位置的被所述一个或多个游戏者选择的频率最高的全局移动路径;从构成所确定出的全局移动路径的日志块中选择没有包括所确定出的移动开始位置和移动目标位置的日志块中的任意导航块的位置作为子目的地位置,并且确定从所确定出的移动开始位置或子目的地位置到所确定出的全局移动路径上的下一日志块中的子目的地位置或者到所确定出的移动目标位置的路径;以及使所述非游戏者角色根据所确定出的路径移动。根据本发明的方面,所述程序还使所述服务器执行以下步骤:基于所述游戏者角色位于同一日志块内的时间段或者游戏的进行度来确定由日志块的位置表示的移动开始位置和移动目标位置,并且将从该移动开始位置到该移动目标位置的全局移动路径存储为所述历史信息。根据本发明的方面的服务器是一种游戏系统中的服务器,所述游戏系统包括所述服务器和经由网络连接至所述服务器的一个或多个电子装置,其中,通过将连接至所述服务器的所述电子装置的游戏者所操作的角色配置在共同的游戏场地中来进行游戏,所述游戏场地由分别定义所述角色的可移动位置的多个导航块构成,并且所述游戏场地包括由所述多个导航块构成的多个日志块,所述服务器包括:移动开始确定部,用于为了使游戏者不操作的非游戏者角色移动而确定所述非游戏者角色的移动开始位置和移动目标位置;全局移动路径确定部,用于基于按从一个或多个游戏者所操作的游戏者角色的移动开始位置到移动目标位置的日志块的位置的顺序所表示的全局移动路径的历史信息,来确定从所确定出的移动开始位置到所确定出的移动目标位置的被所述一个或多个游戏者选择的频率最高的全局移动路径;局部移动路径确定部,用于从构成所确定出的全局移动路径的日志块中,选择没有包括所确定出的移动开始位置和移动目标位置的日志块中的任意导航块的位置作为子目的地位置,并且确定从所确定出的移动开始位置或子目的地位置到所确定出的全局移动路径上的下一日志块中的子目的地位置或者到所确定出的移动目标位置的路径;以及移动控制部,用于使所述非游戏者角色根据所确定出的路径移动。根据本发明的方面的电子装置是一种游戏系统中的电子装置,所述游戏系统包括服务器和经由网络连接至所述服务器的一个或多个电子装置,其中,通过将连接至所述服务器的所述电子装置的游戏者所操作的角色配置在共同的游戏场地中来进行游戏,所述游戏场地由分别定义所述角色的可移动位置的多个导航块构成,并且所述游戏场地包括由所述多个导航块构成的多个日志块,所述电子装置包括:移动开始确定部,用于为了使游戏者不操作的非游戏者角色移动而确定所述非游戏者角色的移动开始位置和移动目标位置;全局移动路径确定部,用于基于按从一个或多个游戏者所操作的游戏者角色的移动开始位置到移动目标位置的日志块的位置的顺序所表示的全局移动路径的历史信息,来确定从所确定出的移动开始位置到所确定出的移动目标位置的被所述一个或多个游戏者选择的频率最高的全局移动路径;局部移动路径确定部,用于从构成所确定出的全局移动路径的日志块中,选择没有包括所确定出的移动开始位置和移动目标位置的日志块中的任意导航块的位置作为子目的地位置,并且确定从所确定出的移动开始位置或子目的地位置到所确定出的全局移动路径上的下一日志块中的子目的地位置或者到所确定出的移动目标位置的路径;以及移动控制部,用于使所述非游戏者角色根据所确定出的路径移动。根据本发明的方面的游戏控制方法是一种游戏系统中的游戏控制方法,所述游戏系统包括服务器和经由网络连接至所述服务器的一个或多个电子装置,其中,通过将连接至所述服务器的所述电子装置的游戏者所操作的角色配置在共同的游戏场地中来进行游戏,所述游戏场地由分别定义所述角色的可移动位置的多个导航块构成,并且所述游戏场地包括由所述多个导航块构成的多个日志块,所述游戏控制方法包括以下步骤:为了使游戏者不操作的非游戏者角色移动而确定所述非游戏者角色的移动开始位置和移动目标位置;基于按从一个或多个游戏者所操作的游戏者角色的移动开始位置到移动目标位置的日志块的位置的顺序所表示的全局移动路径的历史信息,来确定从所确定出的移动开始位置到所确定出的移动目标位置的被所述一个或多个游戏者选择的频率最高的全局移动路径;从构成所确定出的全局移动路径的日志块中,选择没有包括所确定出的移动开始位置和移动目标位置的日志块中的任意导航块的位置作为子目的地位置,并且确定从所确定出的移动开始位置或子目的地位置到所确定出的全局移动路径上的下一日志块中的子目的地位置或者到所确定出的移动目标位置的路径;以及使所述非游戏者角色根据所确定出的路径移动,其中,以上步骤由所述服务器或所述电子装置来执行。发明的效果本发明使得能够在用于使npc从移动开始点到目的地的路径的搜索中,通过全局采用根据人移动路径频率信息计算出的人移动路径并且局部应用最短路径寻找算法来实现适合游戏并且对于人而言看起来自然的路径寻找。这使得游戏者可以在具有真实感和沉浸感的情况下进行游戏。另外,本发明将游戏者分类成预定组,并且通过使用所分类出的各游戏者的移动路径频率信息来自动进行与游戏内的角色的强度或性质相对应的路径寻找,由此控制npc。这使得可以与以往相比使npc的行为更自然,并且在针对长期运营的游戏标题中,使npc自动采用对于游戏者而言普通的移动策略。另外,本发明使得能够通过自动进行与游戏内的角色的强度或性质相对应的路径寻找而控制npc,来实现根据游戏者组在游戏中变得熟练的速度而改变它们的动作的npc。这在社交游戏中是特别有效的,其中在社交游戏中,根据游戏者组在游戏系统中变得熟练的速度来调整难度级别是重要的。附图说明图1示出根据本发明实施例的系统的整体结构。图2示出根据本发明实施例的服务器的硬件结构。图3示出根据本发明实施例的电子装置的硬件结构。图4是根据本发明实施例的游戏系统的功能框图。图5a示出如何通过使用日志网格(logmesh)来学习从游戏者角色的移动开始位置到移动结束位置的移动路径。图5b示出如何通过基于导航网格(navimesh)并基于所学习的路径来确定使npc移动所经由的路径。图6是示出根据本发明实施例的游戏系统内的服务器和电子装置中的信息处理的流程图。图7是示出在根据本发明实施例的游戏系统内的移动路径寻找的信息处理的流程图。图8示出根据本发明实施例的游戏系统的系统架构。具体实施方式以下将参考附图来说明本发明的实施例。在根据本实施例的游戏系统中,经由网络等来将一个或多个电子装置彼此连接,并且提供一个或多个游戏者可以通过在各电子装置处发送和接收信息而参与的游戏。尽管假定服务器/客户端系统作为根据如上所述经由网络将各电子装置彼此连接的本实施例的游戏系统,但是该游戏系统还可以利用诸如p-to-p等的无服务器系统来配置。另外,连接至网络的电子装置的数量可以是一个。尽管可以在无需连接至网络的情况下通过一个电子装置来实现本发明,但是在本说明书中,将主要说明通过经由网络将多个电子装置彼此连接的系统所实现的实施例。接着,将说明根据本发明实施例的游戏系统所提供的游戏的概要。在该游戏中,各电子装置上所操作的各角色被配置在作为游戏上的虚拟空间的游戏场地或游戏地图上,以使得各游戏者能够利用这些角色来进行游戏,并且游戏者不操作的非游戏者角色(npc)被配置在游戏场地上,并且控制包括npc的移动的npc动作。在本实施例中,游戏场地是三维虚拟空间,并且由导航网格(以下称为“导航网格(navimesh)”)构成。该导航网格(或游戏场地)由多个导航块构成,并且这些导航块定义角色在游戏场地上的可移动位置(可移动点)。例如,构成导航网络的各导航块是多边形,并且各多边形是表示与角色的可移动位置(可行走区域)不同的多边形,这与用于表示背景、对象等的多边形不同。在实施例中,根据地图数据来生成与导航网格有关的数据。另外,将构成导航网格的各多边形的数据存储在导航网格数据库中。在实施例中,导航网格数据库存储游戏内的场景的几何体的表面部分作为凸多边形。另外,由于本发明的技术特征是在需要移动npc的情况下确定从npc的移动开始位置到移动目标位置的路径,因此在该游戏中,需要随着游戏的进行而使角色在游戏场地上移动。例如,在该游戏中,在游戏者通关并进入下一关的情况下,或者在发生了特定事件的情况下,需要使包括npc的角色移动,以去击败目标敌方或者以获得目标物品。因而,事件是指由于游戏内的游戏者的操作或者游戏系统侧处理而发生的具有单一含义和一致性的处理或控制。另外,在本发明中,在确定npc从移动开始位置到移动目标位置的路径的情况下,假定如下:除非另有说明,否则移动目标位置在位于移动开始位置的npc的视野(或视点照相机)外。另外,在本发明中,定义由多个导航块构成的日志块,并且该日志块用于进行移动路径的频率计算。游戏场地还包括由多个日志块构成的日志网格。从网格结构的观点,日志网格具有比导航网格的粒度大的粒度的宽松网格,并且优选是具有与导航网格相同的外边界并且覆盖整个游戏场地的网格结构。另外,与导航网格的各网格区域相对应的区域(位置)是导航块,并且与日志网格的各网格区域相对应的区域是日志块。通过如上所述定义日志块(日志网格),可以基于游戏者角色通过的日志块位置的历史来把握全局移动路径的频率。将与构成日志网格的日志块有关的信息存储在日志网格数据库中,并且将与移动路径的频率有关的信息存储在路径频率信息数据库中。以下将详细说明这些特征。在本说明书中,除非另有说明,否则位置是指导航块中的位置。[系统结构]图1示出根据本发明的实施例的游戏系统100的整体结构的示例。系统100包括服务器200和多个电子装置300。尽管服务器200和电子装置300经由网络101而彼此连接,但是它们可以根据需要而单独连接。另外,在使多个电子装置之一用作服务器的情况下,系统100可以被配置成不包括服务器。另外,系统100还可以包括与能够设置在服务器200或电子装置300上的数据库分开的数据库150。在系统100包括数据库150的情况下,数据库150存储各种数据库,并且服务器200或电子装置300可以通过查询数据库150来获得期望数据。尽管假定以下主要使用服务器200中的数据库,但是这同样适用于使用直接连接至网络的数据库150的情况。[服务器结构的概要]图2是示出根据本发明的实施例的服务器200的硬件结构的框图。服务器200包括处理单元201、显示单元202、输入单元203、存储单元204和通信单元205。尽管这些组件经由总线210而彼此连接,但是可以根据需要将这些组件单独连接。处理单元201包括用于控制服务器200的组件的处理器,并且处理单元201通过使用存储单元204作为工作区域来执行各种处理。显示单元202具有用于向用户显示信息的功能。输入单元203具有用于接受来自用户的输入的功能,诸如为键盘或鼠标等。存储单元204包括硬盘、主存储器和缓冲存储器。将程序206存储在硬盘中。然而,硬盘可以是能够存储信息的任何类型的非易失性存储部或非易失性存储器,并且还可以是可移除的。存储单元204存储程序206以及在该程序的执行期间能够参考的各种数据。另外,存储单元204可以包括数据库207。在这种情况下,数据库207包括导航网格数据库、日志网格数据库以及用于存储移动路径的频率信息的路径频率信息数据库。通信单元205执行使用以太网(注册商标)线缆等的有线通信、或者诸如移动通信、无线lan通信等的无线通信,以连接至网络101。例如,服务器200是系统运营商等在运营并管理游戏服务时所使用的并且设置有上述硬件结构的信息处理设备。在服务器200从电子装置300接收到各种命令(请求)的情况下,服务器200可以分发(回复)在电子装置300上可以操作的游戏程序、或者利用符合电子装置300的标准的标记语言所创建的web页面、游戏画面等。尽管服务器200通过执行程序206来执行各种功能,但是还可以通过配置电子电路等来实现这些功能中的一部分。[电子装置的结构的概要]图3是示出根据本发明实施例的电子装置300的硬件结构的框图。电子装置300包括处理单元301、显示单元302、输入单元303、存储单元304和通信单元305。尽管这些组件经由总线310而彼此连接,但是可以根据需要将这些组件单独连接。电子装置300优选是智能电话;然而,其可以是配置有触摸输入装置的计算机,诸如移动电话、移动信息终端、平板电脑、视频游戏机、便携式视频游戏机或触摸板等。处理单元301基于程序、从输入单元303输入的数据或者从服务器接收到的数据来执行诸如游戏处理或图像生成处理等的各种处理。处理单元301包括用于控制电子装置300的组件的处理器,并且其通过使用存储单元304作为工作区域来执行各种处理。在处理单元301的控制下,显示单元(显示器)302显示与游戏的进行或游戏者的操作相对应的画面。尽管显示单元302优选是液晶显示器,但是其可以是有机el显示器、等离子体显示器等。输入单元303具有用于从用户接受输入的功能,诸如触摸屏、触摸板、键盘、鼠标或游戏控制器等。例如,在触摸屏的情况下,将基于游戏者所触摸的位置的输入供给至电子装置300。在这种情况下,显示单元302和输入单元303形成一体化结构,其中在该一体化结构中,接受通过游戏者触摸显示单元302的输入,并且通过输入单元303来检测与游戏者所触摸的位置相对应的坐标,并将坐标供给至电子装置300。尽管可以使用任何检测方法(例如,用于触摸屏的静电电容检测方法),但是优选地,输入单元303应当检测由游戏者的手指等在至少两个点同时进行的触摸,并将与所检测到的各位置相对应的坐标信息供给至电子装置300。存储单元304包括硬盘、主存储器和缓冲存储器。将程序306存储在硬盘中。然而,硬盘可以是能够存储信息的任何类型的非易失性存储部或非易失性存储器,并且可以是可移除的。例如,在电子装置300是智能电话的情况下,存储单元304包括rom和ram。存储单元304存储程序306以及在该程序的执行期间能够参考的各种数据。该程序可以包括诸如操作系统、视频游戏或web浏览器等的需要用户输入的所有类型的应用的程序。各种数据例如包括用于显示诸如游戏内出现的对象等的各种图像的图像数据、以及可以在游戏期间写入存储单元304的数据。代替服务器200所具有的数据库207,存储单元304可以包括数据库307。在这种情况下,数据库307包括导航网格数据库、日志网格数据库和可以存储移动路径的频率信息的路径频率信息数据库。通信单元305执行使用以太网(注册商标)线缆等的有线通信、或者诸如移动通信、无线lan通信等的无线通信,以连接至网络101。尽管电子装置300通过执行程序306来执行这些功能,但是还可以通过配置电子装置等来实现这些功能。[功能块]图4示出根据本发明的游戏系统的功能框图的示例。系统100包括输入接受部401、画面显示部402、移动控制部403、移动路径学习部404、移动路径频率确定部405、移动开始确定部406、全局移动路径确定部407、局部移动路径确定部408、存储部409和通信部410。如上所述,这些功能是通过使服务器200执行程序206来实现的、通过使电子装置300执行程序306来实现的,或者通过使服务器200执行程序206并且使电子装置300执行程序306来实现的。即,服务器200和电子装置300至少之一包括图4所示的各种功能。在通过加载程序来实现各种功能的情况下,显然特定部件的一部分功能可以通过其它部件来提供。输入接受部401是电子装置300的功能,并且具有用于检测游戏者的输入并且将该输入供给至电子装置300的功能。例如,在电子装置300具有触摸屏的情况下,输入接受部401检测游戏者所触摸的输入单元303上的位置,并且将该位置供给至电子装置300。画面显示部402具有用于将处理单元301所处理的图像输出数据显示在显示单元302上的功能。画面显示部402可以直接显示从服务器200接收到的web页面、游戏画面等。移动控制部403具有用于通过参考导航网格数据库来控制角色的移动(诸如确认可移动区域或控制移动速度等)的功能。另外,移动控制部403可以根据稍后将说明的局部移动路径确定部408所确定出的路径来使npc移动。移动路径学习部404具有用于针对游戏者角色的连续移动路径来学习从移动开始位置到移动结束位置(移动目标位置)的全局移动路径的功能。要学习的移动开始位置和移动结束位置是它们所位于的各日志块的位置,并且要学习的移动路径由通过的日志块的位置构成。另外,要学习的移动路径是一个或多个游戏者操作的游戏者角色的连续移动路径。即,移动路径学习部404存储按游戏者角色通过的日志块的位置(包括一个或多个游戏者操作的游戏者角色的移动开始位置和移动结束位置所用的日志块的位置)的顺序表示的全局移动路径。可以将全局移动路径的历史信息存储在可以包括在数据库207或307的路径历史信息数据库中。可选地,可以将历史信息直接传送至移动路径频率确定部405,而无需将其存储在路径历史信息数据库中。在实施例中,在随着游戏的进行而进入下一场景时或者在发生了特定事件时,在需要去击败目标敌方或者需要获得目标物品的情况下,移动路径学习部404判断为开始了连续移动路径并确定游戏者角色在该时刻所位于的日志块的位置作为移动开始位置,并且在游戏者角色到达目标位置的情况下判断为移动路径结束并确定游戏者角色在该时刻所位于的日志块的位置作为移动结束位置。在另一实施例中,在游戏者角色位于同一日志块内并持续预定时间以上的情况下,移动路径学习部404确定该日志块的位置作为移动开始位置,之后,在使游戏者角色的位置向另一日志块移动并且在该移动之后游戏者角色位于该日志块内并持续预定时间以上的情况下,移动路径学习部404确定该日志块的位置作为移动结束位置。在又一实施例中,移动路径学习部404可以通过根据游戏的进行度和操作要学习的游戏者角色的游戏者的属性这两者至少之一将所存储的历史信息分成组,来对该历史信息进行合计。游戏者的属性可以包括如下至少之一:游戏者的熟练度、游戏者的总游戏时间、游戏者所使用的角色、游戏者所使用的角色的属性(例如,角色所使用的武器、角色的等级、角色的与游戏场地的兼容性等)、游戏者的计费金额、游戏者所属的国家(例如,游戏者的国籍、游戏者的住址的国家、下载游戏的国家等)、以及进行游戏的游戏者数量。移动路径频率确定部405具有用于通过使用如上所述那样学习的全局移动路径的历史信息、针对移动开始位置(日志块的位置)和移动结束位置(日志块的位置)的各组合来计算或确定该全局移动路径的频率的功能。将全局移动路径的频率信息存储在路径频率信息数据库中。这里,如上所述,全局移动路径是按角色通过的日志块中的位置的顺序表示的移动路径。因而,通过参考日志网格数据库来创建路径历史信息数据库或路径频率信息数据库。另外,移动路径频率确定部405可以原样接收所学习的全局移动路径的历史信息,并且可以计算并确定移动路径频率。尽管在本实施例中优选将全局移动路径的历史信息和频率信息分别存储在独立数据库中,但是由于频率信息是基于历史信息所创建的信息,因此可以将历史信息说明为包含频率信息并具有更广的概念的构成要素。然而,在创建频率信息时,可以考虑实现本发明的游戏的类型、性质等并且将一些其它信息并入历史信息中来创建频率信息。因此,频率信息不必须是仅根据历史信息所创建的信息。在移动路径学习部404根据游戏的进行度以及操作游戏者角色的游戏者的属性至少之一来将全局移动路径的历史信息分成组的情况下,移动路径频率确定部405可以通过使用与电子装置300中实际进行游戏的游戏者相对应的组中的全局移动路径的历史信息来计算或确定移动路径的频率。移动开始确定部406具有用于确定npc的移动并确定移动开始位置和移动目标位置的功能。在随着游戏的进行而游戏者进入下一场景或者发生了特定事件的情况下,进行npc的移动的确定,以去击败目标敌方或者获得目标物品。该确定使得能够移动npc。通常,移动开始位置是npc在该确定的时刻存在的位置。全局移动路径确定部407基于如上所述所确定出的移动路径频率的程度,针对如上所述所确定出的移动开始位置(日志块的位置)和移动目标位置(日志块的位置),确定从移动开始位置到移动目标位置的全局移动路径。优选地,全局移动路径确定部407确定具有最高移动路径频率的全局移动路径。如上所述,全局移动路径是通过顺次配置从移动路径位置向移动目标位置所通过的日志块所表示的移动路径。由于全局移动路径是基于移动路径频率的程度来确定的,因此全局移动路径确定部407可以包括移动路径频率确定部405。局部移动路径确定部408从构成全局移动路径确定部所确定出的全局移动路径的日志块中,选择没有包括移动开始位置和移动目标位置的日志块中的任意导航块的位置作为子目的地位置。然后,根据所确定出的全局移动路径中的日志块的顺序,局部移动路径确定部408进行以下操作:(1)确定从移动开始位置到全局移动路径上的下一日志块中的子目的地位置的路径,(2)确定从子目的地位置到全局移动路径上的下一日志块中的另一子目的地位置的路径,或者(3)确定从子目的地位置到全局移动路径上的下一日志块中的移动目标位置的路径。在局部移动路径确定部408确定了上述三个路径(局部移动路径)之一以后,移动控制部403根据所确定出的路径来移动npc。优选地,所确定出的上述三个路径是通过使用传统最短路径寻找算法所确定出的最短路径。在npc的移动结束时,重复该路径确定以及npc的移动,直到npc到达最终目标位置为止。然而,在局部移动路径确定部408确定出上述全部三个路径之后,移动控制部403可以根据所确定出的路径来移动npc。在移动开始位置和移动目标位置位于邻接日志块中的情况下,子目的地不存在。在这种情况下,要搜索从移动开始位置到移动目标位置的路径。这里,以下将详细说明移动路径的学习和确定。图5a示出如何基于日志块学习移动路径,以及图5b示出如何在导航块上再现所学习的路径。如图5a和图5b所示,本发明使用作为相对宽松的3d网格的日志网格以及作为相对紧凑的3d网格的导航网格。这里,图5a所示的正方形与各日志块相对应,并且日志块分别具有如图5a所示的坐标位置。另外,图5b所示的正方形与各导航块相对应,并且导航块分别具有坐标位置。尽管为了方便说明而以二维方式示出这些附图,但是3d网格是三维数据,并且优选包括与高度有关的信息。具体地,图5a示出如何针对游戏者角色的连续移动路径学习从移动开始路径到移动结束位置的移动路径。在图5a中,游戏者角色从左上位置向右下位置移动。尽管在附图中为了方便说明示出如何学习从日志块位置上的移动开始位置(0,0)到移动结束位置(2,2)的移动路径,但是实际上日志块的任何位置可以是移动开始位置和移动结束位置,并且可以学习它们之间的移动路径。路径503-507表示游戏者(人)所操作的游戏者角色的移动路径,并且路径508表示最短路径。如在图5a中可以看到,在人的移动历史中包括采用较长绕路的许多路径。在本发明中,由于使用日志块来获得游戏者角色的移动历史,因此即使在历史项之间存在略微的差异,也可以将该移动历史作为向同一位置的移动的历史。具体地,如表1所示,可以根据构成日志网络的日志块来分割移动路径,并且在移动历史中累积频率。表1是路径频率信息数据库的实施例。表1所示的各对坐标与日志块的位置相对应。这里,起点(origin)是移动开始位置,并且目的地(destination)是移动结束位置。路径_起点(path_origin)是该移动路径的部分路径的开始位置,并且路径_目的地(path_dest)是部分路径的结束位置。另外,频率(frequency)是在从起点到目的地的移动中通过该部分路径的频率。这样,可以全局地学习在从一个点向另一点移动时所沿的路径。如上所述,这里,为了方便说明,尽管在表1中示出起点(0,0)和目的地(2,2)的组合,但是表1实际上包括所学习的起点和目的地的全部组合。[表1]起点目的地路径_起点路径_目的地频率(0,0)(2,2)(0,0)(0,1)4(0,0)(2,2)(0,0)(1,0)1(0,0)(2,2)(0,1)(0,2)3(0,0)(2,2)(0,1)(1,1)1(0,0)(2,2)(0,2)(1,2)3(0,0)(2,2)(1,0)(1,1)1(0,0)(2,2)(1,1)(2,1)1(0,0)(2,2)(1,2)(2,2)4(0,0)(2,2)(2,1)(2,2)1图5b示出如何在移动开始确定部406确定npc的移动并且确定移动开始位置501和移动目标位置502的情况下基于如利用图5a所说明那样学习的路径来确定npc移动所经由的路径。具体地,针对作为移动开始位置(npc的当前位置)的日志块位置(0,0)和作为移动目标位置的日志块位置(2,2)来查询路径频率信息数据库,并且在这两个点之间的部分路径中,提取具有最高频率的序列。在这种情况下,在起点(0,0)和目的地(2,2)之间的移动路径中,在从路径_起点(0,0)起的部分路径中,具有最高频率的路径是到路径_目的地(0,1)的部分路径。另外,在从路径起点(0,1)起的部分路径中,具有最高频率的路径是到路径_目的地(0,2)的部分路径。通过重复同样的处理以使得提取路径_起点(0,0)和路径_目的地(0,1)之间、路径_起点(0,1)和路径_目的地(0,2)之间、路径_起点(0,2)和路径_目的地(1,2)之间、以及路径_起点(1,2)和路径_目的地(2,2)之间的部分路径,确定按日志块位置的顺序所表示的全局移动路径{(0,0),(0,1),(0,2),(1,2),(2,2)}。从该全局移动路径,如图5b所示,生成子目的地509。子目的地509的位置是没有包括移动开始位置501和移动目标位置502的日志块中的任意导航块的位置,并且在确定了全局移动路径之后选择该子目的地509的位置。然后,根据所确定出的全局移动路径的日志块顺序进行以下操作,(1)确定从移动开始位置501到全局移动路径上的下一日志块(0,1)中的子目的地位置509的路径,(2)确定从日志块(0,1)中的子目的地位置509到全局移动路径上的下一日志块(0,2)中的子目的地位置509的路径和从日志块(0,2)中的子目的地位置509到全局移动路径上的下一日志块(1,2)中的子目的地位置509的路径,以及(3)确定从日志块(1,2)中的子目的地位置509到全局移动路径上的下一日志块(2,2)中的移动目标位置502的路径。在搜索子目的地位置之间的移动路径(局部移动路径)的情况下,优选使用传统的最短路径寻找算法,以确定最短路径。根据所确定出的局部移动路径来移动npc。关于npc的移动,可以每当确定出局部移动路径时移动npc,然后可以重复局部移动路径的确定和npc的移动。可选地,可以在确定了全部局部移动路径之后移动npc。这里,子目的地位置之间(从部分路径的开始位置到部分路径的结束位置)的移动路径不应当通过除这两个目标子目的地位置所位于的日志块以外的日志块。这是因为,否则,npc将不会通过所确定出的全局移动路径。因此,优选选择子目的地位置,以使得可以确保仅通过所确定出的全局移动路径上的邻接日志块的路径。这同样适用于从移动开始位置向子目的地位置的移动,或者从子目的地向移动目标位置的移动。如上所述,可以通过使用构成作为相对宽松的3d网格的日志网格的日志块以及构成作为相对紧凑的3d网格的导航网格的导航块,来实现自然的路径寻找。存储部409具有用于将程序、数据等存储在存储单元204或304中的功能。还可以在各种数据库中进行累积。移动路径学习部404还可以被认为是存储部409的一部分。通信部410具有用于进行无线通信和有线通信的功能。存储部409可以经由通信部410从服务器、光盘等获得程序或数据,并且可以存储程序或数据。[信息处理]本发明中的游戏系统中所提供的游戏是通过使服务器200执行程序206并使电子装置300执行程序306来实现的。关于以下所述的处理或操作,除非存在与处理或操作有关的矛盾,否则服务器200利用程序206的一部分所执行的处理或操作可以通过使电子装置300利用程序306的一部分执行处理或操作来实现,反之亦然。图6是示出根据实施例的系统100的服务器200和电子装置300中的信息处理的流程图。电子装置300通过执行程序306来启动游戏(步骤601),并且开始与服务器200的通信。例如,在使用智能电话作为电子装置300的情况下,程序306可以包括游戏应用程序,并且游戏者可以通过启动该应用程序来开始游戏。这使得服务器200识别电子装置300(步骤602)。然后,服务器200从例如程序206加载游戏场地,并且将与游戏场地有关的信息发送至电子装置300(步骤603)。然而,可以通过执行程序306来加载或生成游戏场地。接着,电子装置300生成游戏者角色(步骤604)。游戏者角色是通过游戏者的选择所生成的,或者是通过程序自动生成的。电子装置300将与所生成的游戏者角色有关的信息发送至服务器200(步骤604)。服务器200存储角色信息,并且还存储从其它游戏者发送来的角色信息(步骤605)。然而,在服务器200已经存储了从其它游戏者发送来的角色信息的情况下,或者在其它游戏者不存在的情况下,服务器200在步骤605中不存储从其它游戏者发送来的角色信息。这里,角色信息表示游戏内的角色的各种状况,并且可以包括该时刻的角色的操作或者游戏场地内的角色的位置信息。电子装置300和服务器200在彼此之间发送包括这种类型的角色信息等的游戏信息。然而,与游戏信息有关的数据结构不限于这些结构。服务器200将所存储的角色信息以及从程序206等加载的npc的角色信息的一部分或全部发送至各电子装置300(步骤606)。接着,电子装置300从服务器200接收角色信息,并且更新画面或者各角色的各种状况(步骤607)。所接收到的信息不必是游戏所需的全部信息,而可以仅是游戏者操作游戏所需的信息。随着游戏的进行,在游戏者角色被操作或者在游戏场地上发生事件的情况下,更新包括位置信息的角色信息。电子装置300以预定间隔向服务器200发送包括游戏者角色信息、对服务器的发送请求等的游戏信息(步骤608)。电子装置300可以如上所述定期向服务器200发送游戏信息,或者可以响应于来自服务器200的请求向服务器200发送游戏信息。服务器200存储从各电子装置300所接收到的游戏信息(步骤609),并且将包括所存储的角色信息和从程序206等加载的角色信息的一部分或全部的游戏信息(步骤610),并且电子装置300接收该信息。同样,服务器200可以以预定间隔向各电子装置300发送包括与各角色有关的信息的游戏信息,或者响应于来自电子装置300的请求而发送游戏信息。以下,重复步骤607~611,只要电子装置300继续执行游戏即可(步骤611)。在通过没有连接至网络的单个电子装置来实现本发明的情况下,通过使电子装置300执行程序306来实现本发明,并且电子装置300包括图4所示的全部功能。在这种情况下,不进行如图6所示的通信。然而,在服务器200包括图4所示的一部分功能的情况下,电子装置300需要连接至服务器200,因而电子装置300进行包括图6所示的流程图中的信息处理步骤中的一部分或全部的通信。图7是示出根据本发明实施例的游戏系统中的移动路径寻找的信息处理的流程图。在该流程图中,假定服务器200包括移动控制部403、移动路径学习部404、移动路径频率确定部405、移动开始确定部406、全局移动路径确定部407和局部移动路径确定部408。在执行图6的步骤607~611的同时,执行后述的流程图中的处理。然而,可以通过对要执行的处理进行修改以使得并入步骤607~611中,来将要执行的处理配置在单个流程图的信息处理中。首先,通过移动开始确定部406确定npc的移动来开始该流程图,并且移动开始确定部406确定移动开始位置(通常为npc的当前位置)和移动目标位置(步骤701)。移动开始确定部406在随着游戏的进行而游戏者进入下一场景或者发生了特定事件的情况下确定npc的移动并确定移动开始位置和移动目标位置,以去击败敌方或者以获得目标物品。优选地,通过适当参考导航网格数据库来将这些位置确定为导航块中的位置。接着,针对所确定出的移动开始位置和移动目标位置,全局移动路径确定部407基于移动路径频率确定部405所确定出的移动路径频率的程度来确定从移动开始位置到移动目标位置的全局移动路径(步骤702)。接着,局部移动路径确定部408从构成全局移动路径确定部所确定的全局移动路径的日志块中,确定没有包括移动开始位置和移动目标位置的日志块中的任意导航块的位置作为子目的地位置(步骤703)。然而,在移动开始位置和移动目标位置位于邻接的日志块中的情况下,子目的地不存在,因而不进行该确定。在确定了子目的地位置之后,搜索从移动开始位置到移动路径上的下一日志块的子目的地位置的路径(步骤704)。如上所述,这里的路径寻找应当优选为最短路径寻找。在子目的地不存在的情况下,要搜索从移动开始路径到移动目标位置的路径。接着,局部移动路径确定部408判断作为寻找的结果是否可以确定路径(步骤705)。不能确定路径的情况是指没有找到通过路径寻找的两个目标位置的路径的情况,或者发现了路径、但是所找到的路径通过除这两个位置所位于的日志块以外的日志块的情况。在可以确定路径的情况下,处理进入步骤706,而在不能确定路径的情况下,不能使npc移动,并且终止图7所示的信息处理流程,或者处理返回至步骤702或703(未示出)。可以将处理配置成使得:在不能确定路径的情况下,向管理者报告该情况。在确定了路径的情况下,移动控制部403根据所确定出的路径来移动npc(步骤706)。在npc的移动结束的情况下,判断是否到达移动目标位置(步骤707)。在到达移动目标位置的情况下,终止图7所示的信息处理流程。在没有到达移动目标位置的情况下,处理返回至步骤704,搜索从npc当前位于的子目的地位置到移动路径上的下一日志块中的子目的地位置或者到移动目标位置的路径,然后处理进入步骤705,并且重复这些处理步骤,直到npc到达移动目标位置为止。图7所示的信息处理流程是通过从游戏程序的主循环调用步骤701作为触发来执行的,或者是作为游戏程序的主循环的一部分而执行的。游戏程序的主循环包括各种中断处理,并且在执行预定类型的中断处理的情况下,终止图7所示的信息处理。例如,在npc遭遇作为敌方的游戏者角色的情况下,或者在诸如在到达最终目标位置之前终止了游戏阶段等时游戏场景状况被改变的情况下,执行预定类型的中断处理。[系统架构]如上所述,根据本实施例的系统可以利用单个电子装置来实现,或者利用经由网络将多个电子装置彼此连接的系统来实现。尽管系统具有图4所示的功能,但是根据实施例的系统架构800可以包括图8所示的9个模块。这种类型的模块化使得可以改变这些模块中的一些模块,并且将模块应用于各种游戏。输入模块801是用于接受从人经由正执行游戏的终端的用户界面的输入的模块。该模块与现有游戏系统具有的输入事件处理器相对应,并且具有与输入接受部401相对应的功能。移动控制模块802是用于控制游戏者角色的移动(诸如确认可移动区域或控制移动速度)的模块,并且具有与移动控制部403相对应的功能。由于需要导航网格db中所存储的导航块信息来控制游戏者角色的移动,因此移动控制模块802适当参考导航网格db。路径频率计算器803是针对游戏者角色的连续移动路径对构成日志网格的各日志块的频率进行累积的模块,并且具有与移动路径频率确定部405相对应的功能。日志网格db804是用于进行移动路径的频率计算并且用于存储与具有比导航网格的粒度大的粒度的日志网格有关的数据的数据库。自然路径频率db805是用于存储具有如表1所示的数据结构的移动路径频率信息的数据库,并且具有与路径频率信息数据库相对应的功能。动作确定ai模块806是用于确定npc的动作的软件模块,并且具有与移动开始确定部406相对应的功能。在该模块确定npc的移动时,输入起点(移动开始位置)和目的地(移动目标位置)作为自然路径寻找器807所用的参数。自然路径寻找器807是从自然路径频率db805中提取具有高频率的路径作为部分路径的序列并且通过使用人的移动路径历史来进行全局路径寻找的模块,并且具有与全局移动路径确定部407相对应的功能。最短路径寻找器808是通过使用构成导航网格的导航块来搜索基于自然路径寻找器807所输出的部分路径的移动路径作为最短路径的模块,并且具有与局部移动路径确定部408相对应的功能。该模块重复路径寻找并使npc移动,直到满足以下条件之一为止:(i)到达了移动目标位置,以及(ii)发生了诸如游戏者遭遇敌方等的中断。导航网格db809是用于存储与导航网格有关的数据的数据库。在上述处理或操作中,在特定步骤中,除非存在与处理或操作有关的矛盾(诸如在该步骤中使用尚不可用的数据等),否则可以自由改变处理或操作。另外,上述实施例是用于说明本发明的示例,并且本发明不限于这些实施例。本发明可以在不偏离本发明的精神的情况下以各种形式实现。附图标记列表100系统101网络150数据库200服务器201,301处理单元202,302显示单元203,303输入单元204,304存储单元205,305通信单元206,306程序207,307数据库210,310总线300电子装置401输入接受部402画面显示部403移动控制部404移动路径学习部405移动路径频率确定部406移动开始确定部407全局移动路径确定部408局部移动路径确定部409存储部410通信部501移动开始位置502移动结束位置(移动目标位置)503,504,505,506,507路径508最短路径509子目的地800系统架构801输入模块802移动控制模块803路径频率计算器804日志网格db805自然路径频率db806动作确定ai模块807自然路径寻找器808最短路径寻找器809导航网格db当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1