CN111298439A - 数据处理方法、装置、介质及电子设备 - Google Patents

数据处理方法、装置、介质及电子设备 Download PDF

Info

Publication number
CN111298439A
CN111298439A CN202010070734.2A CN202010070734A CN111298439A CN 111298439 A CN111298439 A CN 111298439A CN 202010070734 A CN202010070734 A CN 202010070734A CN 111298439 A CN111298439 A CN 111298439A
Authority
CN
China
Prior art keywords
game
navigation
area
target
region
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202010070734.2A
Other languages
English (en)
Other versions
CN111298439B (zh
Inventor
蔺洁琼
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN202010070734.2A priority Critical patent/CN111298439B/zh
Publication of CN111298439A publication Critical patent/CN111298439A/zh
Application granted granted Critical
Publication of CN111298439B publication Critical patent/CN111298439B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/55Controlling game characters or game objects based on the game progress
    • A63F13/56Computing the motion of game characters with respect to other game characters, game objects or elements of the game scene, e.g. for simulating the behaviour of a group of virtual soldiers or for path finding
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/80Special adaptations for executing a specific game genre or game mode
    • A63F13/837Shooting of targets

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Processing Or Creating Images (AREA)

Abstract

本公开涉及人工智能技术领域,具体提供了一种数据处理方法、数据处理装置、介质及电子设备。本公开实施例中的数据处理方法包括:获取游戏的游戏场景信息,并获取游戏角色在所述游戏中的当前状态信息;根据所述游戏场景信息以及所述当前状态信息确定所述游戏中的目标区域,所述目标区域中包括至少一个导航区域;从所述目标区域中选取一个导航区域作为所述游戏角色的导航目标。该方法可以在保证导航准确性的同时降低计算资源的消耗。

Description

数据处理方法、装置、介质及电子设备
技术领域
本公开涉及人工智能技术领域,具体而言,涉及一种数据处理方法、数据处理装置、计算机可读介质以及电子设备。
背景技术
在电子游戏中通过配置能够模仿人类游戏行为的游戏AI,可以作为虚拟玩家参与到游戏进程中与真实的游戏用户进行互动,另外也可以帮助用户理解游戏规则或者在游戏过程中为用户提供游戏决策建议。
以第一人称射击类游戏(First-person shooting game,FPS)或者多人在线战术竞技游戏(Multiplayer Online Battle Arena,MOBA)为例,用户一般需要在游戏地图中的不同地图位置进行探索和移动以取得游戏胜利,具体移动位置和移动路径的选择与实际的游戏进度和游戏局势具有紧密关系,游戏AI在面对复杂的游戏局势时往往需要消耗大量计算资源却仍然难以做出符合用户行为习惯或者满足用户预期的位置导航决策。
因此,如何改善游戏AI在游戏场景中的导航准确性并且控制计算资源消耗是目前亟待解决的问题。
需要说明的是,在上述背景技术部分公开的信息仅用于加强对本申请的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。
发明内容
本公开的目的在于提供一种数据处理方法、数据处理装置、计算机可读介质以及电子设备,进而至少在一定程度上克服相关技术中存在的游戏AI导航准确性差、计算资源浪费等技术问题。
本公开的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本公开的实践而习得。
根据本公开实施例的一个方面,提供一种数据处理方法,该方法包括:获取游戏的游戏场景信息,并获取游戏角色在所述游戏中的当前状态信息;根据所述游戏场景信息以及所述当前状态信息确定所述游戏中的目标区域,所述目标区域中包括至少一个导航区域;从所述目标区域中选取一个导航区域作为所述游戏角色的导航目标。
根据本公开实施例的一个方面,提供一种数据处理装置,该装置包括:信息获取模块,被配置为获取游戏的游戏场景信息,并获取游戏角色在所述游戏中的当前状态信息;区域确定模块,被配置为根据所述游戏场景信息以及所述当前状态信息确定所述游戏中的目标区域,所述目标区域中包括至少一个导航区域;目标确定模块,被配置为从所述目标区域中选取一个导航区域作为所述游戏角色的导航目标。
在本公开的一些实施例中,基于以上技术方案,所述目标确定模块包括:导航区域确定单元,被配置为确定组成所述目标区域的一个或者多个导航区域;选取概率确定单元,被配置为获取各个所述导航区域的尺寸信息,并根据所述尺寸信息确定各个所述导航区域的选取概率;导航目标确定单元,被配置为按照所述选取概率在所述目标区域内进行采样以得到选定导航区域,并将所述选定导航区域确定为所述游戏角色的导航目标。
在本公开的一些实施例中,基于以上技术方案,所述导航目标确定单元包括:位置坐标获取子单元,被配置为获取所述选定导航区域中各个位置点的位置坐标;位置点选取子单元,被配置为从所述选定导航区域中随机选取一位置点作为选定位置点,并将所述选定位置点的位置坐标确定为所述游戏角色的导航目标。
在本公开的一些实施例中,基于以上技术方案,所述导航区域确定单元包括:粗粒度区域确定子单元,被配置为对所述目标区域进行区域划分以得到一个或者多个粗粒度区域;细粒度区域确定子单元,被配置为对所述粗粒度区域进行区域划分以得到一个或者多个细粒度区域;导航区域确定子单元,被配置为将所述粗粒度区域或者所述细粒度区域确定为组成所述目标区域的导航区域。
在本公开的一些实施例中,基于以上技术方案,所述区域确定模块包括:导航模型获取单元,被配置为获取与所述游戏场景信息相对应的导航模型;导航模型处理单元,被配置为通过所述导航模型对所述当前状态信息进行映射处理以得到所述游戏中的区域标识信息;目标区域确定单元,被配置为根据所述区域标识信息确定所述游戏中的目标区域。
在本公开的一些实施例中,基于以上技术方案,所述数据处理装置还包括:导航区域获取模块,被配置为根据所述游戏场景信息确定所述游戏角色在所述游戏中的可到达区域,并获取与所述可到达区域相对应的导航区域;合并区域获取模块,被配置为根据所述导航区域获得具有一种或者多种区域粒度的合并区域;导航模型训练模块,被配置为利用所述合并区域对所述导航模型进行训练以更新所述导航模型的模型参数。
在本公开的一些实施例中,基于以上技术方案,所述合并区域获取模块包括:区域特征获取单元,被配置为获取各个所述导航区域的区域特征信息;导航区域合并单元,被配置为根据所述区域特征信息对各个所述导航区域进行合并处理以得到具有一种或者多种区域粒度的合并区域。
在本公开的一些实施例中,基于以上技术方案,所述导航模型训练模块包括:状态信息获取单元,被配置为获取与所述游戏场景信息相关的游戏日志,并从所述游戏日志中获取所述游戏角色在每个游戏时间节点下的状态信息;目标位置获取单元,被配置为在所述游戏中选取一合并区域作为所述游戏角色的目标位置;导航模型训练单元,被配置为将所述状态信息以及所述目标位置的区域标识信息作为训练样本对所述导航模型进行训练以更新所述导航模型的模型参数。
在本公开的一些实施例中,基于以上技术方案,所述状态信息获取单元包括:时间间隔确定子单元,被配置为根据所述游戏场景信息确定所述游戏的游戏时间间隔;区间日志划分子单元,被配置为按照所述游戏时间间隔将所述游戏日志划分为对应于不同游戏时间区间的区间日志;状态信息获取子单元,被配置为从所述区间日志中获取在所述游戏时间区间内的每个游戏时间节点下的状态信息。
在本公开的一些实施例中,基于以上技术方案,所述目标位置获取单元包括:终点位置获取子单元,被配置为获取所述游戏角色在所述游戏时间区间内的最后一个游戏时间节点下的终点位置;目标位置确定子单元,被配置为将所述终点位置所在的合并区域确定为所述游戏角色在所述游戏时间区间内的目标位置。
在本公开的一些实施例中,基于以上技术方案,所述导航区域获取模块包括:场景模型获取单元,被配置为获取与所述游戏场景信息相关的场景模型,并获取组成所述场景模型的立体模型单元;可行走面筛选单元,被配置为从所述立体模型单元中筛选得到顶部为可行走面的可到达模型单元;可行走面划分单元,被配置为对所述可到达模型单元顶部的可行走面进行区域划分以得到所述游戏角色在所述游戏中的可到达区域;可到达区域切分单元,被配置为对所述可到达区域进行切分处理以得到与所述可到达区域相对应的导航区域。
在本公开的一些实施例中,基于以上技术方案,所述可到达区域切分单元包括:立体区域轮廓构建子单元,被配置为以所述可到达模型单元为单位构建所述可到达区域的立体区域轮廓;立体区域轮廓简化子单元,被配置为对所述立体区域轮廓进行简化处理以得到所述可到达区域的平面区域轮廓;平面区域轮廓切分子单元,被配置为对所述平面区域轮廓进行切分处理以得到与所述可到达区域相对应的导航区域。
根据本公开实施例的一个方面,提供一种计算机可读介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如以上技术方案中的各个方法。
根据本公开实施例的一个方面,提供一种电子设备,该电子设备包括:处理器;以及存储器,用于存储所述处理器的可执行指令;其中,所述处理器被配置为经由执行所述可执行指令来执行如以上技术方案中的各个方法。
在本公开实施例提供的技术方案中,基于游戏场景中的导航区域生成具有不同网格粒度的合并区域,并将粗细粒度不同的合并区域作为导航类深度学习AI的学习目标,通过对网格粒度的调整可以适应游戏场景的自身特点,而对不同的场景区域形成粒度适宜的合并区域,从而可以在保证导航准确性的同时降低计算资源的消耗,使得游戏中的导航类深度学习AI能够自动学习到人类玩家的行为目标,一方面能够大大减少游戏开发者的工作量;另一方面能够在AI能力、多样性以及拟人性上都有较大的的改善。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
在附图中:
图1示意性地示出了某一FPS游戏中的行为树结构示意图。
图2示意性地示出了应用本公开技术方案的示例性系统架构示意图。
图3示意性地示出了本公开一些实施例中数据处理方法的步骤流程图。
图4示意性地示出了本公开一些实施例中选取导航目标的步骤流程图。
图5示意性地示出了本公开一些实施例中确定目标区域的步骤流程图。
图6A示出了在一游戏地图中对应于“斜坡”区域的导航网格的唯一性标识的显示效果。
图6B示出了在一游戏地图中对应于“走廊”区域的导航网格的唯一性标识的显示效果。
图6C示出了在一游戏地图中对应于“空地”区域的导航网格的唯一性标识的显示效果。
图7示意性地示出了本公开一些实施例中训练导航模型的步骤流程图。
图8示意性地示出了本公开一些实施例中确定可到达区域并获取导航区域的步骤流程图。
图9示意性地示出了本公开一些实施例中对可到达区域进行切分处理的步骤流程图。
图10示意性地示出了本公开在一游戏场景中平面区域轮廓切分效果示意图。
图11示意性地示出了本公开一些实施例中获得合并区域的步骤流程图。
图12A示意性地示出了某一游戏场景中的部分导航区域示意图。
图12B示意性地示出了对图12A中导航区域进行区域合并后得到的一级合并区域示意图。
图12C示意性地示出了对图12B中一级合并区域进行区域合并后形成的二级合并区域示意图。
图13示意性地示出了本公开一些实施例中获取样本数据以训练导航模型的步骤流程图。
图14示意性地示出了本公开一些实施例中数据处理装置的结构框图。
图15示出了适于用来实现本公开实施例的电子设备的计算机系统的结构示意图。
具体实施方式
现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本公开将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。
此外,所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施例中。在下面的描述中,提供许多具体细节从而给出对本公开的实施例的充分理解。然而,本领域技术人员将意识到,可以实践本公开的技术方案而没有特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知方法、装置、实现或者操作以避免模糊本公开的各方面。
附图中所示的方框图仅仅是功能实体,不一定必须与物理上独立的实体相对应。即,可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
附图中所示的流程图仅是示例性说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解,而有的操作/步骤可以合并或部分合并,因此实际执行的顺序有可能根据实际情况改变。
在本领域的相关技术中,基于人工智能技术在电子游戏中配置游戏AI已经成为电子游戏行业的普遍做法。例如,游戏AI可以在游戏教学环节为用户提供游戏规则的教学和指引,也可以在游戏过程中为用户提供游戏决策建议,另外还可以作为虚拟玩家实现人机对战等等。
人工智能(Artificial Intelligence,AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换言之,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。
人工智能技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。
机器学习(Machine Learning,ML)是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。机器学习是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。机器学习和深度学习通常包括人工神经网络、置信网络、强化学习、迁移学习、归纳学习、式教学习等技术。
通过机器学习或者深度学习对游戏AI进行训练可以模拟真实用户的游戏决策行为,以便提高游戏AI的决策能力,使之能够做出符合人类行为逻辑的有效决策。但是,对于一些规则复杂多样的电子游戏而言,即便付出大量的训练时间和计算资源,也仍然难以获得很好的训练效果。尤其是在游戏地图中的导航应用,由于游戏地图中通常会存在各种或复杂或简单的地形、障碍物等元素,而且游戏局势瞬息万变,游戏AI难以准确地做出符合用户行为习惯或者满足用户预期的位置导航决策。
除了基于机器学习或者深度学习的导航模型训练以外,在本公开的相关技术中也可以采用传统导航方法进行导航决策,例如可以直接利用导航寻路工具集RecastNavigation为游戏地图提供导航网格设置和自动寻路功能。RecastNavigation是一款非常强大的寻路库,被广泛地应用于各大游戏引擎中,如Unreal、Unity等。RecastNavigation主要包括Recast、Detour和DetourCrowd等多个子集。Recast负责根据提供的游戏模型生成导航网格。Detour用于利用导航网格做寻路操作,这里的导航网格可以是Recast生成的,也可以是其他工具生成的。DetourCrowd提供了群体寻路行为的功能。
游戏开发者可以使用行为树等简单的算法为游戏AI提供导航目标,例如控制狙击手向狙击点移动,控制刺客敌方阵地内部移动等等。在该基础上,游戏开发人员可以使用行为树等方式为游戏中的游戏AI设置目标位置,使游戏AI能够完成相应的个体任务或者团队任务。图1示意性地示出了某一FPS游戏中的行为树结构示意图。在该FPS游戏中,可以根据游戏进度为各种游戏角色进行导航决策,以控制游戏角色向各自的导航位置进行移动。该游戏中的游戏角色主要包括攻击方和防守方两种,具体又可以包括狙击手、刺客等不同的角色类型。攻守双方需要在规定时间内完成对对方的击杀以及对目标点的占据等任务,以达成游戏胜利条件。
如图1所示,利用该行为树对游戏中的游戏对象进行导航决策的流程包括以下步骤:
步骤S110.判断游戏剩余时间是否小于预设时间阈值(如2分钟)。若判断结果为是,则控制当前游戏角色前往目标点。若判断结果为否,则执行步骤S120。
步骤S120.判断当前游戏角色是否为狙击手。若判断结果为是,则控制当前游戏角色前往狙击点。若判断结果为否,例如该游戏角色为刺客或者其他角色类型,则执行步骤S130。
步骤S130.判断当前游戏角色是否为攻击方。若判断结果为否,则控制当前游戏角色前往目标点,以对目标点进行防守。若判断结果为是,则执行步骤S140。
步骤S140.判断己方存活人数是否大于2或者判断己方存活人数是否大于或等于敌方存活人数。若判断结果为是,则控制当前游戏角色前往目标点,以对目标点进行攻击。若判断结果为否,则在己方出生点附近搜索敌人。
以上基于行为树的导航决策逻辑针对不同的游戏进度和游戏角色类型设定了不同的目标位置(如狙击点、目标点、己方出生点等等)以及游戏任务。基于这些人为预定义的逻辑,可使得游戏AI能够适合一些简单的游戏场景。然而,在行为树中的目标设置常常依赖于游戏开发者的手动设置,无法灵活应对复杂的游戏场景。如果要使得游戏AI更加精细地完成任务或进行团队协作,需要游戏开发者投入巨大的人力和物力资源对行为树的逻辑进行完善,并且仍有可能无法取得比较好的效果。这样的导航目标设置无法普遍性地应对游戏中的复杂场景,使得游戏AI的个人能力、团队能力以及多样性拟人性等都受到极大限制。
基于以上方案存在的问题,本公开提供了一种游戏地图的导航模型训练方法、基于人工智能的游戏地图的导航方法、游戏地图的导航模型训练装置、基于人工智能的游戏地图的导航、计算机可读介质以及电子设备。
图2示意性地示出了应用本公开技术方案的示例性系统架构示意图。
如图2所示,系统架构200可以包括客户端210、网络220和服务端230。客户端210可以包括智能手机、平板电脑、笔记本电脑、台式电脑等各种终端设备。服务端230可以包括网络服务器、应用服务器、数据库服务器等各种服务器设备。网络220可以是能够在客户端210和服务端230之间提供通信链路的各种连接类型的通信介质,例如可以是有线通信链路、无线通信链路等等。
根据实现需要,本公开实施例中的系统架构可以具有任意数目的客户端、网络和服务端。例如,服务端230可以是由多个服务器设备组成的服务器群组。另外,本公开实施例中的相关技术方案可以应用于客户端210,也可以应用于服务端230,或者可以由客户端210和服务端230共同实现,本公开对此不做特殊限定。
下面结合具体实施方式对本公开提供的技术方案做出详细说明。
图3示意性地示出了本公开一些实施例中数据处理方法的步骤流程图。如图3所示,该方法主要可以包括以下步骤:
步骤S310.获取游戏的游戏场景信息,并获取游戏角色在游戏中的当前状态信息。
在一款游戏中通常可以提供多种不同的游戏场景供用户进行选择,例如在一款FPS游戏中可以提供“火车站”、“城寨”等多种游戏地图,各种游戏地图具有各自不同的场景布局方式。游戏场景信息是对游戏场景(即游戏地图)的标识信息,例如可以是游戏场景的名称或者编号等等。当前状态信息是与游戏进度和游戏局势相关的游戏角色的属性状态,例如可以包括游戏角色的位置、生命值、击杀数、死亡数等等。随着游戏进行,游戏角色的当前状态也将不断变化。本步骤可以采用实时监控的方式获取游戏角色在每个游戏时间节点下对应的游戏状态。
步骤S320.根据游戏场景信息以及当前状态信息确定游戏中的目标区域,目标区域中包括至少一个导航区域。
对于一个游戏场景而言,在游戏场景内包括有大量的不同粒度的场景区域,这些场景区域是根据游戏场景内的地形特点、障碍物等信息对整体游戏场景进行区域划分得到的。本步骤根据游戏场景信息可以确定当前游戏内可供选择的所有场景区域,例如包括100个场景区域,然后再根据当前状态信息可以从这些场景区域中选取一个目标区域。每个目标区域中可以进一步包括至少一个导航区域,导航区域是游戏的导航寻路工具可以直接识别的对象。在一些可选的实施方式中,可以预先通过导航寻路工具(如导航寻路工具集RecastNavigation)生成游戏场景中的导航区域,再根据区域自身特征(如区域内的地形、障碍物等特征)进行区域合并以形成场景区域,合并的方式可以是通过分类算法或者聚类算法将相互邻接且特征相近的导航区域合并到一个场景区域内。例如,通过导航寻路工具生成游戏场景中的1000个导航区域,在对导航区域进行合并处理后得到100个场景区域。
步骤S330.从目标区域中选取一个导航区域作为游戏角色的导航目标。
相比于导航区域而言,目标区域是一个相对较大的区域范围,游戏的导航寻路工具无法对其进行直接识别。本步骤从目标区域中选取一个导航区域作为游戏角色的导航目标,游戏的导航寻路工具基于该导航目标以及游戏角色的当前位置,可以为游戏角色进行路线规划形成导航路径,再控制游戏角色由当前位置沿着导航路径向导航目标进行移动。
在本公开实施例提供的数据处理方法中,通过对导航区域进行合并形成场景区域,并将粗细粒度不同的场景区域作为导航类游戏AI的学习目标,可以缩小游戏AI在导航目标选取时的选取范围,游戏AI只需要在数量相对较少的若干场景区域之间做出导航决策,因此可以极大地降低游戏AI在训练和使用过程中的计算资源消耗。另外,适应游戏场景中不同位置的区域特点(如地形、障碍物等)形成粒度适宜的场景区域,可以保证游戏AI进行导航决策的准确性。
图4示意性地示出了本公开一些实施例中选取导航目标的步骤流程图。如图4所示,在以上实施例的基础上,步骤S330.从目标区域中选取一个导航区域作为游戏角色的导航目标,可以包括以下步骤:
步骤S410.确定组成目标区域的一个或者多个导航区域。
目标区域是由导航区域经过合并处理得到的,因此再对导航区域进行区域划分便可以得到内部的导航区域。本步骤可以先对目标区域进行区域划分以得到一个或者多个粗粒度区域,然后再对粗粒度区域进行区域划分以得到一个或者多个细粒度区域,最后可以根据导航需求将粗粒度区域或者细粒度区域确定为组成目标区域的导航区域。在一些可选的实施方式中,目标区域可先被切分为具有凸多边形结构且边数大于或等于三的粗粒度区域,再将粗粒度区域做进一步切分以形成具有三角形结构的细粒度区域。需要说明的是,粗粒度区域和细粒度区域可以根据需要切分为任意形状,本公开对此不做特殊限定。
步骤S420.获取各个导航区域的尺寸信息,并根据尺寸信息确定各个导航区域的选取概率。
根据每个导航区域的尺寸信息,可以计算得到各个导航区域相互之间的尺寸比例(例如面积比例),从而根据该尺寸比例确定每个导航区域的选取概率。举例而言,在目标区域内可以确定三个导航区域,根据尺寸信息确定的这三个导航区域的尺寸比例为5:3:2。基于该尺寸比例可以确定这三个导航区域的选取概率依次为50%、30%和20%。
步骤S430.按照选取概率在目标区域内进行采样以得到选定导航区域,并将选定导航区域确定为游戏角色的导航目标。
按照步骤S420确定的选取概率,可以在目标区域内进行采样,以从中选取一导航区域作为游戏角色的导航目标。仍以上一步骤中的三个导航区域为例,第一个导航区域的选取概率为50%,那么在本步骤中将其选中作为选定导航区域的概率即为50%。相应的,第二个导航区域被选中作为选定导航区域的概率为30%,而第三个导航区域被选中作为选定导航区域的概率则为20%。在得到选定导航区域后,可以获取选定导航区域中各个位置点的位置坐标,从选定导航区域中随机选取一个位置点作为选定位置点,并将选定位置点的位置坐标确定为游戏角色的导航目标。选定位置点可以是在选定导航区域中进行随机采样得到的,或者也可以利用导航寻路工具集RecastNavigation中提供的相关工具进行选取,本公开对此不做特殊限定。
在本公开实施例中,游戏AI只需要在游戏场景中预测目标区域即可,因此可以降低游戏AI的计算资源消耗。
目标区域的选取可以是利用预先训练的导航模型进行预测得到的,图5示意性地示出了本公开一些实施例中确定目标区域的步骤流程图。如图5所示,在以上各实施例的基础上,步骤S320中的根据游戏场景信息以及当前状态信息确定游戏中的目标区域,可以包括以下步骤:
步骤S510.获取与游戏场景信息相对应的导航模型。
针对每个不同的游戏场景,可以预先训练与之相对应的导航模型,导航模型可以是采用监督学习或者强化学习等训练方法训练得到的深度学习模型,例如可以采用包含卷积计算且具有深度结构的卷积神经网络(Convolutional Neural Networks,CNN)或者可以采用具有多层网络结构的全连接网络,本实施例对此不做特殊限定。
步骤S520.通过导航模型对当前状态信息进行映射处理以得到游戏中的区域标识信息。
游戏角色的当前状态信息可以进行特征提取形成特征向量,再将特征向量输入至导航模型中,可以经过映射处理得到游戏中的区域标识信息。举例而言,导航模型是具有多个隐藏层的全连接网络,输入导航模型的特征向量会先被映射至隐藏层特征空间,进行全连接处理后,再被映射至输出层特征空间,最终输出得到游戏中的区域标识信息,一个区域标识信息即代表了游戏场景中的一个目标区域。
步骤S530.根据区域标识信息确定游戏中的目标区域。
区域标识信息例如可以是为游戏中各个场景区域分配的一一对应的数字编号。图6A、图6B和图6C分别示出了在一游戏场景中为不同场景区域分配区域标识信息的显示效果。如图6A所示,对应于“斜坡”的两个场景区域分别分配了数字编码13和数字编码14。如图6B所示,对应于“走廊”的一个场景区域分配了数字编码27。如图6C所示,对应于“空地”的3个场景区域分别分配了数字编码55、56和57。利用导航模型输出的区域标识信息,可以在游戏中唯一确定一个与之对应的目标区域。例如,当导航模型输出的区域标识信息为数字编码27时,可以将如图6B中所示的对应于“走廊”的场景区域确定为目标区域。又例如,当导航模型输出的区域标识信息为数字编码56时,可以将如图6C中所示的位于“空地”中心的一个场景区域确定为目标区域。
图7示意性地示出了本公开一些实施例中训练导航模型的步骤流程图。如图7所示,导航模型的训练方法主要可以包括以下步骤:
步骤S710.根据游戏场景信息确定游戏角色在游戏中的可到达区域,并获取与可到达区域相对应的导航区域。
在游戏中具有道路、河流、草地、房屋建筑等各种不同的模型元素,通过不同类型和不同数量的模型元素的组合布局可以形成不同的游戏场景。按照游戏角色是否能够到达,可以对游戏中的游戏场景进行区域划分以形成可到达区域和不可到达区域两种类型。本步骤首先可以确定游戏角色的可到达区域,同时可以确定与可到达区域相对应的导航区域,该导航区域可以是组成游戏场景的具有不同形状和大小的网格结构,导航区域一般可以是多边形的结构。
步骤S720.根据导航区域获得具有一种或者多种区域粒度的合并区域。
游戏场景中的导航区域可以是组成可到达区域的网格单元,例如可以是三角形、四边形或者其他多边形网格单元。如果直接以导航区域作为游戏场景中的导航位置,在很大程度上可能无法满足实际的导航需求。例如,在一个游戏场景中可能包含10000个或者更多的导航区域,而数量庞大的导航区域也给游戏AI的导航决策带来了极大的计算负担。因此本步骤可以对导航区域进行不同程度的合并以进行区域粒度调整,从而得到具有一种或多种区域粒度的合并区域。例如,在游戏场景中相对空旷的平地区域,可以形成区域粒度相对较大的合并区域。而在建筑物或者障碍物附近,则可以形成区域粒度相对较小的合并区域。
步骤S730.利用合并区域对导航模型进行训练以更新导航模型的模型参数。
为各个合并区域分配区域标识信息后,可以将每个合并区域的区域标识信息作为导航模型的输出样本,对导航模型进行训练以更新导航模型的模型参数。通过对导航模型进行参数更新,可以不断进行模型优化,提高导航模型的导航精度,使得导航模型能够做出符合真实用户行为习惯或者满足用户预期的导航决策。
图8示意性地示出了本公开一些实施例中确定可到达区域并获取导航区域的步骤流程图。如图8所示,在以上各实施例的基础上,步骤S710.根据游戏场景信息确定游戏角色在游戏中的可到达区域,并获取与可到达区域相对应的导航区域,可以包括以下步骤:
步骤S810.获取与游戏场景信息相关的场景模型,并获取组成场景模型的立体模型单元。
立体模型单元是是游戏的场景模型在三维空间上分割而成的最小单位,可以通过立体渲染或者提取给定阈值轮廓的多边形等值面表现出来。本步骤可以将基于矢量的游戏场景模型转化为基于点阵的立体模型单元。立体模型单元也是游戏场景模型在渲染时的最基本单元。
步骤S820.从立体模型单元中筛选得到顶部为可行走面的可到达模型单元。
根据哪些立体模型单元顶部具有足够的空间可供游戏角色行走,以及根据预先设置的筛选参数,剔除过滤掉一些不符合要求的立体模型单元,可以初步计算出可行走面并筛选得到顶部为可行走面的可到达模型单元。
步骤S830.对可到达模型单元顶部的可行走面进行区域划分以得到游戏角色在游戏中的可到达区域。
针对可到达模型单元顶部的可行走面,可以进行区域划分以得到位置连续、相互不重叠且内部没有空隙的区域,这些区域即作为游戏角色的可到达区域。
步骤S840.对可到达区域进行切分处理以得到与可到达区域相对应的导航区域。
可到达区域虽然是不重叠且没有空隙的区域,但仍然有可能是凹多边形,无法保证该区域内任意两点在二维平面上可以直线到达。因此,本步骤对可到达区域进行切分处理可以形成与之对应的导航区域,导航区域可以是具有凸多边形结构的网格区域。
导航区域内的任意两个点在二维平面上都是可以直线到达的,因此在不考虑网格粒度是否适宜的情况下可以将导航区域作为导航寻路的基本单元。
图9示意性地示出了本公开一些实施例中对可到达区域进行切分处理的步骤流程图。如图9所示,在以上各实施例的基础上,步骤S840.对可到达区域进行切分处理以得到与可到达区域相对应的导航区域,可以包括以下步骤:
步骤S910.以可到达模型单元为单位构建可到达区域的立体区域轮廓。
以可到达模型单元作为基础单位进行边缘提取可以构建可到达区域的立体区域轮廓。
步骤S920.对立体区域轮廓进行简化处理以得到可到达区域的平面区域轮廓。
可到达模型单元的高度起伏变化会使其形成锯齿状的边缘形状,因此步骤S910构建得到的立体区域轮廓也会具有一定的锯齿结构。本步骤按照边缘的整体走向对立体区域轮廓进行简化处理可以得到消除锯齿结构的边缘流畅清晰的平面区域轮廓。
步骤S930.对平面区域轮廓进行切分处理以得到与可到达区域相对应的导航区域。
图10示意性地示出了本公开在一游戏场景中平面区域轮廓切分效果示意图,图中所示的上、下两个平面区域轮廓1010均可以经过切分处理后形成多个三角形结构的导航区域1020。
在一些可选的实施方式中,由平面区域轮廓切分形成的导航区域可以具有两种不同的区域粒度,例如可以包括区域粒度相对较大的粗粒度区域和区域粒度相对较小的细粒度区域。在确定导航区域时,可以首先将每个平面区域轮廓切分为至少两个具有凸多边形结构且边数大于或等于三的粗粒度区域;然后再将每个粗粒度区域网格切分为至少一个具有三角形结构的细粒度区域。
通过配置两种具有不同区域粒度的粗粒度区域和细粒度区域,可以为导航区域提供两种不同的区域粒度调整单元,在满足调整精度的同时,提高区域粒度调整效率。在满足基本粒度需求时,可以直接将导航区域作为导航模型的预测对象。而如果无法满足粒度需求,则可以进一步对导航区域进行合并处理以形成合并区域,并将合并区域作为导航模型的预测对象。
图11示意性地示出了本公开一些实施例中获得合并区域的步骤流程图。如图11所示,在以上各实施例的基础上,步骤S720.根据导航区域获得具有一种或者多种区域粒度的合并区域,可以包括以下步骤:
步骤S1110.获取各个导航区域的区域特征信息。
步骤S1120.根据区域特征信息对各个导航区域进行合并处理以得到具有一种或者多种区域粒度的合并区域。
在游戏场景中,不同的区域可以对应不同的导航精度,例如空旷的平地区域可以具有相对较低的导航精度,那么对应的合并区域应当具有相对较大的区域粒度。而障碍物附近需要具有相对较高的导航精度,对应的合并区域也应当具有相对较小的区域粒度。
图12A示意性地示出了某一游戏场景中的部分导航区域示意图。这部分区域是游戏地图内一个建筑物内的走廊区域,对应于该走廊区域的每个导航区域1210均为具有凸多边形结构的区域网格。图12B示意性地示出了对图12A中导航区域进行区域合并后得到的一级合并区域示意图,通过对导航区域1210进行一定程度的合并处理后,可以形成具有较大区域粒度的一级合并区域1220。图12C示意性地示出了对图12B中一级合并区域进行区域合并后形成的二级合并区域示意图,通过对一级合并区域1220进一步做合并处理,可以形成具有更大区域粒度的二级合并区域1230。
随着区域粒度的增大,游戏场景中的合并区域的数量也将不断减少,因此可以降低训练导航模型时对计算资源的消耗。举例而言,在某一游戏场景中最初可以形成2200多个粗粒度区域和40000多个细粒度区域。在通过合并导航区域的方式增大区域粒度后可以形成1100多个一级合并区域,相比于以粗粒度区域为基础的区域数量减少了50%以上。再继续通过合并一级合并区域的方式增大区域粒度后可以形成100个左右的轮廓集合,相比于以区域轮廓为基础的导航网格数量减少了90%以上。
在确定合并区域并对各个合并区域进行标识后,可以通过预先获取的样本数据对导航模型进行训练。用于训练导航模型的样本数据可以从用于记录历史游戏数据的游戏日志中提取得到。
图13示意性地示出了本公开一些实施例中获取样本数据以训练导航模型的步骤流程图。如图13所示,在以上各实施例的基础上,步骤S730.利用合并区域对导航模型进行训练以更新导航模型的模型参数,可以包括以下步骤:
步骤S1310.获取与游戏场景信息相关的游戏日志,并从游戏日志中获取游戏角色在每个游戏时间节点下的状态信息。
在一场游戏对局的游戏日志中,可以将每一个游戏帧对应确定为一个游戏时间节点,或者也可以每间隔一定数量的游戏帧确定一个游戏时间节点。随着游戏时间的进行,每个游戏时间节点下的游戏状态都会在一定程度上发生变化。游戏角色在每个游戏时间节点下的状态信息例如可以包括游戏内各个游戏角色的位置、生命值、击杀数、死亡数等等。
在一些可选的实施方式中,本步骤又可以进一步包括以下步骤:根据游戏场景信息确定游戏的游戏时间间隔;按照游戏时间间隔将游戏日志划分为对应于不同游戏时间区间的区间日志;从区间日志中获取在游戏时间区间内的每个游戏时间节点下的状态信息。
为了优化导航准确性,本公开实施例可以将一局游戏对应的游戏日志划分为对应于不同游戏时间区间的区间日志,用于划分游戏时间区间的游戏时间间隔与游戏场景相关。例如,如果游戏场景上的游戏节奏较快,游戏角色的游戏状态变化频繁,则可以选择相对较短的游戏时间间隔;而如果游戏场景上的游戏节奏较慢,游戏角色的游戏状态变化缓慢,则可以选择相对较长的游戏时间间隔。另外,游戏时间间隔的选取不宜过长或者过短,如果游戏时间间隔过短,容易导致导航指向性不够明显的问题,而如果游戏时间间隔过长,则又容易跨过游戏内的“团战”、“伏击”等重要游戏事件。在某一游戏场景中,例如可以将游戏时间间隔设置为3秒,那么可以将一局游戏的整体游戏时间划分为多个连续的时间长度为3秒的游戏时间区间,相应地可以将游戏日志划分为对应于每个3秒时长的游戏时间区间的区间日志。
步骤S1320.在游戏中选取一合并区域作为游戏角色的目标位置。
根据游戏日志中的游戏运行进度可以在游戏中选取一个合并区域作为游戏角色的目标位置。
在一些可选的实施方式中,本步骤又可以进一步包括以下步骤:获取游戏角色在游戏时间区间内的最后一个游戏时间节点下的终点位置;将终点位置所在的合并区域确定为游戏角色在游戏时间区间内的目标位置。举例而言,以游戏时间区间内的每一个游戏帧作为一个游戏时间节点,那么本公开实施例可以将一个游戏时间区间内最后一个游戏帧中的游戏角色的位置作为终点位置,并将各终点位置所在的导航网格确定为游戏角色在该游戏时间区间内的目标位置。
步骤S1330.将状态信息以及目标位置的区域标识信息作为训练样本对导航模型进行训练以更新导航模型的模型参数。
在确定每个时间节点下的状态信息以及对应的目标位置后,将状态信息与对应的目标位置的区域标识信息组成训练样本,并利用该训练样本对导航模型进行训练,通过深度学习提高导航模型为游戏角色提供导航位置的能力,使得导航模型能够根据游戏局势生成符合真实用户行为习惯或者满足用户预期的位置导航决策。
应当注意,尽管在附图中以特定顺序描述了本公开中方法的各个步骤,但是,这并非要求或者暗示必须按照该特定顺序来执行这些步骤,或是必须执行全部所示的步骤才能实现期望的结果。附加的或备选的,可以省略某些步骤,将多个步骤合并为一个步骤执行,以及/或者将一个步骤分解为多个步骤执行等。
以下介绍本公开的装置实施例,可以用于执行本公开上述实施例中的各个方法。
图14示意性地示出了本公开一些实施例中数据处理装置的结构框图。如图14所示,数据处理装置1400包括:信息获取模块1410,被配置为获取游戏的游戏场景信息,并获取游戏角色在游戏中的当前状态信息;区域确定模块1420,被配置为根据游戏场景信息以及当前状态信息确定游戏中的目标区域,目标区域中包括至少一个导航区域;目标确定模块1430,被配置为从目标区域中选取一个导航区域作为游戏角色的导航目标。
在本公开的一些实施例中,基于以上技术方案,目标确定模块1430包括:导航区域确定单元,被配置为确定组成目标区域的一个或者多个导航区域;选取概率确定单元,被配置为获取各个导航区域的尺寸信息,并根据尺寸信息确定各个导航区域的选取概率;导航目标确定单元,被配置为按照选取概率在目标区域内进行采样以得到选定导航区域,并将选定导航区域确定为游戏角色的导航目标。
在本公开的一些实施例中,基于以上技术方案,导航目标确定单元包括:位置坐标获取子单元,被配置为获取选定导航区域中各个位置点的位置坐标;位置点选取子单元,被配置为从选定导航区域中随机选取一位置点作为选定位置点,并将选定位置点的位置坐标确定为游戏角色的导航目标。
在本公开的一些实施例中,基于以上技术方案,导航区域确定单元包括:粗粒度区域确定子单元,被配置为对目标区域进行区域划分以得到一个或者多个粗粒度区域;细粒度区域确定子单元,被配置为对粗粒度区域进行区域划分以得到一个或者多个细粒度区域;导航区域确定子单元,被配置为将粗粒度区域或者细粒度区域确定为组成目标区域的导航区域。
在本公开的一些实施例中,基于以上技术方案,区域确定模块1420包括:导航模型获取单元,被配置为获取与游戏场景信息相对应的导航模型;导航模型处理单元,被配置为通过导航模型对当前状态信息进行映射处理以得到游戏中的区域标识信息;目标区域确定单元,被配置为根据区域标识信息确定游戏中的目标区域。
在本公开的一些实施例中,基于以上技术方案,数据处理装置1400还包括:导航区域获取模块,被配置为根据游戏场景信息确定游戏角色在游戏中的可到达区域,并获取与可到达区域相对应的导航区域;合并区域获取模块,被配置为根据导航区域获得具有一种或者多种区域粒度的合并区域;导航模型训练模块,被配置为利用合并区域对导航模型进行训练以更新导航模型的模型参数。
在本公开的一些实施例中,基于以上技术方案,合并区域获取模块包括:区域特征获取单元,被配置为获取各个导航区域的区域特征信息;导航区域合并单元,被配置为根据区域特征信息对各个导航区域进行合并处理以得到具有一种或者多种区域粒度的合并区域。
在本公开的一些实施例中,基于以上技术方案,导航模型训练模块包括:状态信息获取单元,被配置为获取与游戏场景信息相关的游戏日志,并从游戏日志中获取游戏角色在每个游戏时间节点下的状态信息;目标位置获取单元,被配置为在游戏中选取一合并区域作为游戏角色的目标位置;导航模型训练单元,被配置为将状态信息以及目标位置的区域标识信息作为训练样本对导航模型进行训练以更新导航模型的模型参数。
在本公开的一些实施例中,基于以上技术方案,状态信息获取单元包括:时间间隔确定子单元,被配置为根据游戏场景信息确定游戏的游戏时间间隔;区间日志划分子单元,被配置为按照游戏时间间隔将游戏日志划分为对应于不同游戏时间区间的区间日志;状态信息获取子单元,被配置为从区间日志中获取在游戏时间区间内的每个游戏时间节点下的状态信息。
在本公开的一些实施例中,基于以上技术方案,目标位置获取单元包括:终点位置获取子单元,被配置为获取游戏角色在游戏时间区间内的最后一个游戏时间节点下的终点位置;目标位置确定子单元,被配置为将终点位置所在的合并区域确定为游戏角色在游戏时间区间内的目标位置。
在本公开的一些实施例中,基于以上技术方案,导航区域获取模块包括:场景模型获取单元,被配置为获取与游戏场景信息相关的场景模型,并获取组成场景模型的立体模型单元;可行走面筛选单元,被配置为从立体模型单元中筛选得到顶部为可行走面的可到达模型单元;可行走面划分单元,被配置为对可到达模型单元顶部的可行走面进行区域划分以得到游戏角色在游戏中的可到达区域;可到达区域切分单元,被配置为对可到达区域进行切分处理以得到与可到达区域相对应的导航区域。
在本公开的一些实施例中,基于以上技术方案,可到达区域切分单元包括:立体区域轮廓构建子单元,被配置为以可到达模型单元为单位构建可到达区域的立体区域轮廓;立体区域轮廓简化子单元,被配置为对立体区域轮廓进行简化处理以得到可到达区域的平面区域轮廓;平面区域轮廓切分子单元,被配置为对平面区域轮廓进行切分处理以得到与可到达区域相对应的导航区域。本公开各实施例中提供的相关装置的具体细节已经在对应的方法实施例中进行了详细的描述,因此此处不再赘述。
图15示出了适于用来实现本公开实施例的电子设备的计算机系统的结构示意图。
需要说明的是,图15示出的电子设备的计算机系统1500仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图15所示,计算机系统1500包括中央处理单元(Central Processing Unit,CPU)1501,其可以根据存储在只读存储器(Read-Only Memory,ROM)1502中的程序或者从存储部分1508加载到随机访问存储器(Random Access Memory,RAM)1503中的程序而执行各种适当的动作和处理。在RAM 1503中,还存储有系统操作所需的各种程序和数据。CPU1501、ROM 1502以及RAM 1503通过总线1504彼此相连。输入/输出(Input/Output,I/O)接口1505也连接至总线1504。
以下部件连接至I/O接口1505:包括键盘、鼠标等的输入部分1506;包括诸如阴极射线管(Cathode Ray Tube,CRT)、液晶显示器(Liquid Crystal Display,LCD)等以及扬声器等的输出部分1507;包括硬盘等的存储部分1508;以及包括诸如LAN(Local AreaNetwork,局域网)卡、调制解调器等的网络接口卡的通信部分1509。通信部分1509经由诸如因特网的网络执行通信处理。驱动器1510也根据需要连接至I/O接口1505。可拆卸介质1511,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器1510上,以便于从其上读出的计算机程序根据需要被安装入存储部分1508。
特别地,根据本公开的实施例,各个方法流程图中所描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分1509从网络上被下载和安装,和/或从可拆卸介质1511被安装。在该计算机程序被中央处理单元(CPU)1501执行时,执行本申请的系统中限定的各种功能。
需要说明的是,本公开实施例所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(Erasable Programmable Read Only Memory,EPROM)、闪存、光纤、便携式紧凑磁盘只读存储器(Compact Disc Read-Only Memory,CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本公开中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、有线等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本公开的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本公开实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、触控终端、或者网络设备等)执行根据本公开实施方式的方法。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。

Claims (15)

1.一种数据处理方法,其特征在于,包括:
获取游戏的游戏场景信息,并获取游戏角色在所述游戏中的当前状态信息;
根据所述游戏场景信息以及所述当前状态信息确定所述游戏中的目标区域,所述目标区域中包括至少一个导航区域;
从所述目标区域中选取一个导航区域作为所述游戏角色的导航目标。
2.根据权利要求1所述的数据处理方法,其特征在于,所述从所述目标区域中选取一个导航区域作为所述游戏角色的导航目标,包括:
确定组成所述目标区域的一个或者多个导航区域;
获取各个所述导航区域的尺寸信息,并根据所述尺寸信息确定各个所述导航区域的选取概率;
按照所述选取概率在所述目标区域内进行采样以得到选定导航区域,并将所述选定导航区域确定为所述游戏角色的导航目标。
3.根据权利要求2所述的数据处理方法,其特征在于,所述将所述选定导航区域确定为所述游戏角色的导航目标,包括:
获取所述选定导航区域中各个位置点的位置坐标;
从所述选定导航区域中随机选取一位置点作为选定位置点,并将所述选定位置点的位置坐标确定为所述游戏角色的导航目标。
4.根据权利要求2所述的数据处理方法,其特征在于,所述确定组成所述目标区域的一个或者多个导航区域,包括:
对所述目标区域进行区域划分以得到一个或者多个粗粒度区域;
对所述粗粒度区域进行区域划分以得到一个或者多个细粒度区域;
将所述粗粒度区域或者所述细粒度区域确定为组成所述目标区域的导航区域。
5.根据权利要求1所述的数据处理方法,其特征在于,所述根据所述游戏场景信息以及所述当前状态信息确定所述游戏中的目标区域,包括:
获取与所述游戏场景信息相对应的导航模型;
通过所述导航模型对所述当前状态信息进行映射处理以得到所述游戏中的区域标识信息;
根据所述区域标识信息确定所述游戏中的目标区域。
6.根据权利要求5所述的数据处理方法,其特征在于,所述方法还包括:
根据所述游戏场景信息确定所述游戏角色在所述游戏中的可到达区域,并获取与所述可到达区域相对应的导航区域;
根据所述导航区域获得具有一种或者多种区域粒度的合并区域;
利用所述合并区域对所述导航模型进行训练以更新所述导航模型的模型参数。
7.根据权利要求6所述的数据处理方法,其特征在于,所述根据所述导航区域获得具有一种或者多种区域粒度的合并区域,包括:
获取各个所述导航区域的区域特征信息;
根据所述区域特征信息对各个所述导航区域进行合并处理以得到具有一种或者多种区域粒度的合并区域。
8.根据权利要求6所述的数据处理方法,其特征在于,所述利用所述合并区域对所述导航模型进行训练以更新所述导航模型的模型参数,包括:
获取与所述游戏场景信息相关的游戏日志,并从所述游戏日志中获取所述游戏角色在每个游戏时间节点下的状态信息;
在所述游戏中选取一合并区域作为所述游戏角色的目标位置;
将所述状态信息以及所述目标位置的区域标识信息作为训练样本对所述导航模型进行训练以更新所述导航模型的模型参数。
9.根据权利要求8所述的数据处理方法,其特征在于,所述从所述游戏日志中获取所述游戏角色在每个游戏时间节点下的状态信息,包括:
根据所述游戏场景信息确定所述游戏的游戏时间间隔;
按照所述游戏时间间隔将所述游戏日志划分为对应于不同游戏时间区间的区间日志;
从所述区间日志中获取在所述游戏时间区间内的每个游戏时间节点下的状态信息。
10.根据权利要求9所述的数据处理方法,其特征在于,所述在所述游戏地图中确定一合并区域作为所述游戏角色的目标位置,包括:
获取所述游戏角色在所述游戏时间区间内的最后一个游戏时间节点下的终点位置;
将所述终点位置所在的合并区域确定为所述游戏角色在所述游戏时间区间内的目标位置。
11.根据权利要求6所述的数据处理方法,其特征在于,所述根据所述游戏场景信息确定所述游戏角色在所述游戏中的可到达区域,并获取与所述可到达区域相对应的导航区域,包括:
获取与所述游戏场景信息相关的场景模型,并获取组成所述场景模型的立体模型单元;
从所述立体模型单元中筛选得到顶部为可行走面的可到达模型单元;
对所述可到达模型单元顶部的可行走面进行区域划分以得到所述游戏角色在所述游戏中的可到达区域;
对所述可到达区域进行切分处理以得到与所述可到达区域相对应的导航区域。
12.根据权利要求11所述的数据处理方法,其特征在于,所述对所述可到达区域进行切分处理以得到与所述可到达区域相对应的导航区域,包括:
以所述可到达模型单元为单位构建所述可到达区域的立体区域轮廓;
对所述立体区域轮廓进行简化处理以得到所述可到达区域的平面区域轮廓;
对所述平面区域轮廓进行切分处理以得到与所述可到达区域相对应的导航区域。
13.一种数据处理装置,其特征在于,包括:
信息获取模块,被配置为获取游戏的游戏场景信息,并获取游戏角色在所述游戏中的当前状态信息;
区域确定模块,被配置为根据所述游戏场景信息以及所述当前状态信息确定所述游戏中的目标区域,所述目标区域中包括至少一个导航区域;
目标确定模块,被配置为从所述目标区域中选取一个导航区域作为所述游戏角色的导航目标。
14.一种计算机可读介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至12中任一项所述的数据处理方法。
15.一种电子设备,其特征在于,包括:
处理器;以及
存储器,用于存储所述处理器的可执行指令;
其中,所述处理器配置为经由执行所述可执行指令来执行权利要求1至12中任一项所述的数据处理方法。
CN202010070734.2A 2020-01-21 2020-01-21 数据处理方法、装置、介质及电子设备 Active CN111298439B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010070734.2A CN111298439B (zh) 2020-01-21 2020-01-21 数据处理方法、装置、介质及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010070734.2A CN111298439B (zh) 2020-01-21 2020-01-21 数据处理方法、装置、介质及电子设备

Publications (2)

Publication Number Publication Date
CN111298439A true CN111298439A (zh) 2020-06-19
CN111298439B CN111298439B (zh) 2021-04-13

Family

ID=71161533

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010070734.2A Active CN111298439B (zh) 2020-01-21 2020-01-21 数据处理方法、装置、介质及电子设备

Country Status (1)

Country Link
CN (1) CN111298439B (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111744197A (zh) * 2020-08-07 2020-10-09 腾讯科技(深圳)有限公司 一种数据处理方法、装置、设备及可读存储介质
CN111773718A (zh) * 2020-07-10 2020-10-16 网易(杭州)网络有限公司 游戏行为的处理方法、装置、存储介质和电子装置
CN112121435A (zh) * 2020-09-18 2020-12-25 腾讯科技(深圳)有限公司 游戏寻路方法、装置、服务器和存储介质
CN112121422A (zh) * 2020-09-30 2020-12-25 腾讯科技(深圳)有限公司 界面显示方法、装置、设备及存储介质
CN113609171A (zh) * 2021-07-21 2021-11-05 车主邦(北京)科技有限公司 一种助力碳中和的地图展示方法及装置
CN114077243A (zh) * 2020-08-07 2022-02-22 上海联影医疗科技股份有限公司 一种医疗辅助设备的运动控制方法和系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106390456A (zh) * 2016-09-30 2017-02-15 腾讯科技(深圳)有限公司 游戏中角色行为的生成方法和装置
CN107875632A (zh) * 2017-12-06 2018-04-06 广州多益网络股份有限公司 实现人工智能行为的方法、系统及人工智能行为编辑器
CN107890675A (zh) * 2017-11-13 2018-04-10 杭州电魂网络科技股份有限公司 Ai行为实现方法和装置
CN108031121A (zh) * 2017-12-27 2018-05-15 苏州蜗牛数字科技股份有限公司 实现vr游戏中npc的ai行为的方法
US20190340495A1 (en) * 2018-05-02 2019-11-07 Linden David Aites Path Stack Neural Network AI

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106390456A (zh) * 2016-09-30 2017-02-15 腾讯科技(深圳)有限公司 游戏中角色行为的生成方法和装置
CN107890675A (zh) * 2017-11-13 2018-04-10 杭州电魂网络科技股份有限公司 Ai行为实现方法和装置
CN107875632A (zh) * 2017-12-06 2018-04-06 广州多益网络股份有限公司 实现人工智能行为的方法、系统及人工智能行为编辑器
CN108031121A (zh) * 2017-12-27 2018-05-15 苏州蜗牛数字科技股份有限公司 实现vr游戏中npc的ai行为的方法
US20190340495A1 (en) * 2018-05-02 2019-11-07 Linden David Aites Path Stack Neural Network AI

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111773718A (zh) * 2020-07-10 2020-10-16 网易(杭州)网络有限公司 游戏行为的处理方法、装置、存储介质和电子装置
CN111744197A (zh) * 2020-08-07 2020-10-09 腾讯科技(深圳)有限公司 一种数据处理方法、装置、设备及可读存储介质
CN114077243A (zh) * 2020-08-07 2022-02-22 上海联影医疗科技股份有限公司 一种医疗辅助设备的运动控制方法和系统
CN111744197B (zh) * 2020-08-07 2022-03-15 腾讯科技(深圳)有限公司 一种数据处理方法、装置、设备及可读存储介质
CN114077243B (zh) * 2020-08-07 2023-12-05 上海联影医疗科技股份有限公司 一种医疗辅助设备的运动控制方法和系统
CN112121435A (zh) * 2020-09-18 2020-12-25 腾讯科技(深圳)有限公司 游戏寻路方法、装置、服务器和存储介质
CN112121422A (zh) * 2020-09-30 2020-12-25 腾讯科技(深圳)有限公司 界面显示方法、装置、设备及存储介质
CN113609171A (zh) * 2021-07-21 2021-11-05 车主邦(北京)科技有限公司 一种助力碳中和的地图展示方法及装置

Also Published As

Publication number Publication date
CN111298439B (zh) 2021-04-13

Similar Documents

Publication Publication Date Title
CN111298439B (zh) 数据处理方法、装置、介质及电子设备
US11331575B2 (en) Virtual environment mapping system
CN110368690B (zh) 游戏决策模型训练方法、游戏策略生成方法及装置
CN109908591B (zh) 一种虚拟对象的决策方法、模型构建方法和装置
WO2018054330A1 (zh) 数据处理方法、装置和存储介质
CN111176758B (zh) 配置参数的推荐方法、装置、终端及存储介质
CN111282272B (zh) 信息处理方法、计算机可读介质及电子设备
CN111701246A (zh) 一种游戏ai的决策配置方法和装置
Cowling et al. Search in real-time video games
Merrick et al. A shape grammar approach to computational creativity and procedural content generation in massively multiplayer online role playing games
KR101938491B1 (ko) 딥 러닝 기반의 거리 안전도 점수 예측 방법
Zhu et al. Computer application in game map path-finding based on fuzzy logic dynamic hierarchical ant colony algorithm
Kuravsky et al. An applied multi-agent system within the framework of a player-centered probabilistic computer game
CN112121419A (zh) 虚拟对象控制方法、装置、电子设备以及存储介质
Li et al. Analysis of the challenges and solutions of building a smart city
Schumann et al. A rough set version of the Go game on Physarum machines
Tang From agent to avatar
CN111714890B (zh) 阻拦信息的生成方法和装置、存储介质、电子装置
CN117899483B (zh) 一种数据处理方法、装置、设备及存储介质
Blecic et al. Playing with automata. An innovative perspective for gaming simulation
CN110930824A (zh) 一种人工智能大数据九宫算术系统
CN115591240B (zh) 三维游戏场景的特征提取方法、装置、设备及存储介质
US20240160888A1 (en) Realistic, controllable agent simulation using guided trajectories and diffusion models
Ernest UAV Swarm Cooperative Control Based on a Genetic-Fuzzy Approach
CN112933605B (zh) 虚拟对象控制、模型训练方法、装置和计算机设备

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40024679

Country of ref document: HK

GR01 Patent grant
GR01 Patent grant