CN113797543A - 游戏处理方法、装置、计算机设备、存储介质及程序产品 - Google Patents

游戏处理方法、装置、计算机设备、存储介质及程序产品 Download PDF

Info

Publication number
CN113797543A
CN113797543A CN202111137789.1A CN202111137789A CN113797543A CN 113797543 A CN113797543 A CN 113797543A CN 202111137789 A CN202111137789 A CN 202111137789A CN 113797543 A CN113797543 A CN 113797543A
Authority
CN
China
Prior art keywords
detection
feasible region
game
ray
region detection
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
CN202111137789.1A
Other languages
English (en)
Other versions
CN113797543B (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 CN202111137789.1A priority Critical patent/CN113797543B/zh
Publication of CN113797543A publication Critical patent/CN113797543A/zh
Application granted granted Critical
Publication of CN113797543B publication Critical patent/CN113797543B/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/60Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor
    • A63F13/63Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor by the player, e.g. authoring using a level editor

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Image Processing (AREA)
  • Image Analysis (AREA)

Abstract

本申请实施例提供了一种游戏处理方法、装置、计算机设备、存储介质及程序产品,该游戏处理方法包括:获取游戏对象在目标游戏的游戏地图中的位置信息;根据游戏对象的位置信息确定射线检测起点;以射线检测起点为中心,在游戏地图中沿多个方向发射可行区域检测射线,并基于以射线检测起点为中心发射的可行区域检测射线,对游戏地图进行自扩散的可行区域检测,可行区域检测包括短距离可行区域检测或长距离可行区域检测中的至少一种;根据可行区域检测结果,确定游戏对象在游戏地图中的可行区域。采用本申请实施例,可以高效且准确地在游戏地图中自动确定可行区域。

Description

游戏处理方法、装置、计算机设备、存储介质及程序产品
技术领域
本申请涉及计算机技术领域,尤其涉及一种游戏处理方法、装置、计算机设备、存储介质及程序产品。
背景技术
游戏地图中的可行区域也可称为可移动区域,是指游戏对象在游戏地图中可以移动或可以到达的区域,确定出游戏地图中的可行区域是游戏领域的一项重要任务。
目前,游戏地图中可行区域的确定方式可以包括以下三种:①基于人工标注的游戏地图中的可行位置点序列确定可行区域;②基于录制的游戏对局视频中游戏对象的移动区域确定可行区域;③通过训练深度估计模型,将游戏图像输入至深度估计模型中进行检测,并基于深度估计模型的检测结果确定可行区域。在实际的游戏场景中,通常设置有多张游戏地图,并且游戏地图通常是复杂多样,在这样的情况下,上述三种方式确定可行区域的效率均不高,并且容易漏掉游戏地图中的部分可行区域,导致确定的可行区域不够全面准确。
发明内容
本申请实施例提供了一种游戏处理方法、装置、计算机设备、存储介质及程序产品,可以高效且准确地在游戏地图中自动确定可行区域。
一方面,本申请实施例提供了一种游戏处理方法,该游戏处理方法包括:
获取游戏对象在目标游戏的游戏地图中的位置信息;
根据游戏对象的位置信息确定射线检测起点;
以射线检测起点为中心,在游戏地图中沿多个方向发射可行区域检测射线,并基于以射线检测起点为中心发射的可行区域检测射线,对游戏地图进行自扩散的可行区域检测;可行区域检测包括短距离可行区域测检或长距离可行区域检测中的至少一种;
根据可行区域检测结果,确定游戏对象在游戏地图中的可行区域。
相应地,本申请实施例提供了一种游戏处理装置,该游戏处理装置包括:
获取单元,用于获取游戏对象在目标游戏的游戏地图中的位置信息;
处理单元,用于根据游戏对象的位置信息确定射线检测起点;
处理单元,还用于以射线检测起点为中心,在游戏地图中沿多个方向发射可行区域检测射线,并基于以射线检测起点为中心发射的可行区域检测射线,对游戏地图进行自扩散的可行区域检测;可行区域检测包括短距离可行区域测检或长距离可行区域检测中的至少一种;
处理单元,还用于根据可行区域检测结果,确定游戏对象在游戏地图中的可行区域。
在一种实现方式中,可行区域检测的检测次数为N,N为正整数;每一次可行区域检测均用于确定一个候选点集合,每个候选点集合用于记录每一次可行区域检测过程中检测到的候选点;处理单元,用于基于以射线检测起点为中心发射的可行区域检测射线,对游戏地图进行自扩散的可行区域检测时,具体用于执行如下步骤:
基于以射线检测起点为中心发射的可行区域检测射线,对游戏地图进行第一次可行区域检测,得到第一候选点集合;
若第一候选点集合不为空,则将第一候选点集合中的候选点确定为扩散的射线检测起点,以扩散的射线检测起点为中心,在游戏地图中沿多个方向发射可行区域检测射线,并基于以扩散的射线检测起点为中心发射的可行区域检测射线,对游戏地图进行第二次可行区域检测,得到第二候选点集合;
若第二候选点集合不为空,则继续将第二候选点集合中的候选点确定为新的扩散的射线检测起点,并继续执行后续次的可行区域检测,直至得到的候选点集合为空为止。
在一种实现方式中,可行区域检测的检测次数为N,N为正整数;每一次可行区域检测均用于确定一个候选点集合,每个候选点集合用于记录每一次可行区域检测过程中检测到的候选点;可行区域检测结果包括N个候选点集合;处理单元,用于根据可行区域检测结果,确定游戏对象在游戏地图中的可行区域时,具体用于执行如下步骤:
获取N个候选点集合之间的并集;
根据并集中的候选点在游戏地图中的位置,确定游戏对象在游戏地图中的可行区域。
在一种实现方式中,可行区域检测的检测次数为N,N为正整数;任一次可行区域检测表示为第i次可行区域检测,i为大于1且小于或等于N的整数;第i次可行区域检测用于确定第i个候选点集合;第i次可行区域检测过程中发射的可行区域检测射线,是以第i-1次可行区域检测确定的候选点集合中的候选点为中心发射的;第i次可行区域检测过程中发射的任一条可行区域检测射线表示为目标可行区域检测射线;处理单元,用于执行第i次可行区域检测时,具体用于执行如下步骤:
采用目标可行区域检测射线,对游戏地图进行短距离可行区域检测;
若短距离可行区域检测的检测结果指示目标可行区域检测射线在游戏地图中检测到基准点,则根据检测到的基准点确定候选点;
若短距离可行区域检测的检测结果指示目标可行区域检测射线在游戏地图中未检测到基准点,则采用目标可行区域检测射线,对游戏地图进行长距离可行区域检测,并在长距离可行区域检测的检测结果指示目标可行区域检测射线在游戏地图中检测到基准点时,根据检测到的基准点确定候选点;
对候选点进行自扩散检测,若自扩散检测结果指示候选点满足自扩散条件,则将候选点添加至第i个候选点集合中。
在一种实现方式中,处理单元,用于采用目标可行区域检测射线,对游戏地图进行短距离可行区域检测时,具体用于执行如下步骤:
采用目标可行区域检测射线,按照可行检测长度对游戏地图进行碰撞检测;
若目标可行区域检测射线在可行检测长度内未发生碰撞,则将目标可行区域检测射线在可行检测长度的终点确定为参考点;
以参考点为中心发射基准点检测射线,并采用基准点检测射线按照基准点检测长度对游戏地图进行碰撞检测;
若基准点检测射线在基准点检测长度内发生碰撞,则将发生碰撞的碰撞点确定为检测到的基准点,并生成短距离可行区域检测的检测结果,短距离可行区域检测的检测结果指示目标可行区域检测射线在游戏地图中检测到基准点;
其中,目标可行区域检测射线的发射方向与基准点检测射线的发射方向相互垂直。
在一种实现方式中,处理单元,用于采用目标可行区域检测射线,对游戏地图进行长距离可行区域检测时,具体用于执行如下步骤:
采用目标检测长度对可行检测长度进行更新,得到新的可行检测长度;
采用目标可行区域检测射线,按照新的可行检测长度对游戏地图进行基准点检测;
若目标可行区域检测射线按照新的可行检测长度未检测到基准点,则继续对新的可行检测长度进行更新,并继续执行后续的基准点检测,直至目标可行区域检测射线在更新后的可行检测长度内发生碰撞,或者目标可行区域检测射线在更新后的可行检测长度内检测到基准点,或者更新后的可行检测长度超过检测长度阈值为止;
当目标可行区域检测射线在更新后的可行检测长度内检测到基准点时,生成长距离可行区域检测的检测结果,长距离可行区域检测的检测结果指示目标可行区域检测射线在游戏地图中检测到基准点。
在一种实现方式中,处理单元,用于对候选点进行自扩散检测时,具体用于执行如下步骤:
获取历史点集合,历史点集合中的历史点是根据i-1个候选点集合中的候选点确定的,i-1个候选点集合是第i次可行区域检测之前的i-1次可行区域检测所确定的;
计算候选点与历史点集合中的各个历史点之间的距离;
确定候选点与各个历史点之间的距离中的最小距离;
若最小距离超过距离阈值,则确定候选点满足自扩散条件。
在一种实现方式中,处理单元,用于以射线检测起点为中心,在游戏地图中沿多个方向发射可行区域检测射线时,具体用于执行如下步骤:
以射线检测起点为中心,在游戏地图中沿目标方向发射第一条可行区域检测射线;
若第一条可行区域检测射线在目标方向上检测到候选点,则采用第一角度对目标方向进行更新,得到新的目标方向;并以射线检测起点为中心,在游戏地图中沿新的目标方向发射第二条可行区域检测射线;
或者,若第一条可行区域检测射线在目标方向上未检测到候选点,则采用第二角度对目标方向进行更新,得到新的目标方向;并以射线检测起点为中心,在游戏地图中沿新的目标方向发射第二条可行区域检测射线;
若新的目标方向对应的角度未超过角度阈值,则继续采用第一角度或第二角度对新的目标方向进行更新,并继续以射线检测起点为中心发射新的可行区域检测射线,直至更新后的目标方向对应的角度超过角度阈值为止。
在一种实现方式中,处理单元,用于以射线检测起点为中心,在游戏地图中沿多个方向发射可行区域检测射线时,具体用于执行如下步骤:
以射线检测起点为中心,在游戏地图中沿目标方向发射第一条可行区域检测射线;
采用目标角度对目标方向进行更新,得到新的目标方向;
以射线检测起点为中心,在游戏地图中沿新的目标方向发射第二条可行区域检测射线;
若新的目标方向对应的角度未超过角度阈值,则继续采用目标角度对新的目标方向进行更新,并继续以射线检测起点为中心发射新的可行区域检测射线,直至更新后的目标方向对应的角度超过角度阈值为止。
在一种实现方式中,处理单元,用于根据游戏对象的位置信息确定射线检测起点时,具体用于执行如下步骤:
根据位置信息确定游戏对象在游戏地图中的初始位置点;
将初始位置点确定为射线检测起点;或者,对初始位置点进行偏移处理,将偏移后的初始位置点确定为射线检测起点。
在一种实现方式中,处理单元,还用于执行如下步骤:
将确定的可行区域加载至目标游戏中;基于导航算法在可行区域中对游戏对象进行智能导航,或者基于可行区域对目标游戏进行测试。
相应地,本申请实施例提供一种计算机设备,该计算机设备包括处理器和计算机可读存储介质,其中:
处理器,适于实现计算机程序;计算机可读存储介质存储有计算机程序,计算机程序适于由处理器加载并执行上述的游戏处理方法。
相应地,本申请实施例提供一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序,该计算机程序被计算机设备的处理器读取并执行时,使得计算机设备执行上述的游戏处理方法。
相应地,本申请实施例提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述的游戏处理方法。
本申请实施例中,根据游戏对象在游戏地图中的位置信息确定射线检测起点后,可以以射线检测起点为中心,在游戏地图中沿多个方向发射可行区域检测射线,对游戏地图进行自扩散的可行区域检测,并根据可行区域检测结果确定游戏对象在游戏地图中的可行区域。可见,通过自扩散的可行区域检测方式,用于对游戏地图进行可行区域检测的射线不断地进行自动扩散、自动检测,这样可以提升游戏地图中可行区域的检测效率,从而可以提升游戏地图中可行区域的确定效率;并且可行区域检测射线在游戏地图中不断地自动扩散,可以避免出现对游戏地图中的部分区域漏检测的情况,这样使得确定出的可行区域更加准确。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种游戏地图的示意图;
图2是本申请实施例提供的一种游戏处理方法的流程示意图;
图3a是本申请实施例提供的一种射线检测起点的确定过程的示意图;
图3b是本申请实施例提供的一种游戏地图中的可行区域的示意图;
图4是本申请实施例提供的另一种游戏处理方法的流程示意图;
图5a是本申请实施例提供的一种可行区域检测射线的发射方式的示意图;
图5b是本申请实施例提供的另一种可行区域检测射线的发射方式的示意图;
图5c是本申请实施例提供的一种短距离可行区域检测过程的示意图;
图5d是本申请实施例提供的一种短距离可行区域检测的检测结果示意图;
图5e是本申请实施例提供的一种长距离可行区域检测过程的示意图;
图6是本申请实施例提供的另一种游戏处理方法的流程示意图;
图7是本申请实施例提供的一种游戏处理装置的结构示意图;
图8是本申请实施例提供的一种计算机设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请的一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请实施例提供一种游戏处理方案,该游戏处理方案可以高效且准确地确定出游戏对象在目标游戏的游戏地图中的可行区域。为了更清楚地对游戏处理方案进行理解,下面先对该方案中涉及的一些关键术语进行介绍:
(1)目标游戏。本申请实施例提及的目标游戏可以包括网络游戏,网络游戏也可称为在线游戏,一般可以是指以互联网为传播媒介,以游戏服务器(GameServer)和用户终端为游戏处理设备,以运行在用户终端中的游戏客户端(GameClient)为信息交互窗口的,旨在实现娱乐、休闲、交流和取得虚拟成就的具有可持续性的个体性多用户在线游戏。游戏客户端是指与游戏服务器相对应,为参与网络游戏的用户提供本地游戏服务的程序;游戏服务器是指为游戏客户端提供数据计算、校验、存储和转发功能的服务设备。并且,本申请实施例对网络游戏的游戏类型不作限定;例如,本申请所提及的网络游戏可以是云游戏,也可以是普通游戏,也就是说,目标游戏可以是云游戏,也可以是普通游戏;本申请所提及的网络游戏可以是动作、冒险、角色扮演、枪战等任意类型的游戏,也就是说,目标游戏可以是动作、冒险、角色扮演、枪战等任意类型的游戏。
其中,普通游戏可以是指:直接在用户终端内安装的游戏客户端中运行的游戏。云游戏(Cloud Gaming)又可称为游戏点播(Gaming on Demand),可以是指在游戏服务器中运行的游戏;也就是说,在云游戏场景下,所有的云游戏都不在用户终端的游戏客户端中运行,而是在游戏服务器中运行;游戏服务器将云游戏中的游戏画面、游戏音频压缩编码为媒体流,然后通过网络将媒体流传输给用户终端中的游戏客户端进行图像显示和音频播放。可见,游戏客户端无需拥有强大的图形处理与数据运算能力,拥有基本的流媒体播放能力即可,与获取用户输入的操作指令并将用户输入的操作指令发送给游戏服务器的能力即可。当用户在游戏客户端的游戏界面中执行各种操作时,游戏客户端会将这些操作产生的操作数据上报给游戏服务器,由游戏服务器在对应的云游戏中根据操作数据而刷新云游戏的游戏画面,再将刷新后的游戏画面返回至游戏客户端中进行显示,以实现云游戏的游玩。
(2)游戏地图。游戏地图也可称为游戏世界、场景地图等,是指游戏中向游戏对象提供的具体游戏场景,游戏地图中一般可以包括道路、障碍物、河流、高山、树木、草丛等场景元素;并且,游戏地图中一般设置有游戏任务,游戏任务是指有目的的指引游戏玩家进行游戏活动,并给予游戏玩家一定奖励的手段,例如游戏中拾取物品、消灭游戏对手等游戏任务;游戏玩家可以通过游戏对象在游戏地图中执行这些游戏任务等来实现游戏的游玩。
(3)游戏对象。游戏对象可以是指游戏玩家在游戏中的虚拟游戏角色,游戏玩家可以通过控制游戏对象在游戏地图中移动、执行游戏任务等来实现游戏的游玩;本申请实施例不对游戏对象的形态进行限定,游戏对象可以是人物角色、动物角色等。
(4)游戏地图中的可行区域和非可行区域。游戏地图中的可行区域可以包括:游戏地图中不会与游戏对象产生碰撞的区域(例如游戏地图中的可行道路等)、游戏地图中位于游戏对象的移动范围之内的区域(例如通过跳高或跳远可达的区域等),这些区域是游戏对象在游戏地图中可以移动或可以到达的区域。游戏地图中的非可行区域可以包括:游戏地图中会与游戏对象(即游戏玩家在游戏中的虚拟游戏角色)产生碰撞的区域(例如游戏地图中的障碍物形成的区域等)、游戏地图中超出游戏对象的移动范围的区域(例如通过跳高仍然不可达的高山、障碍物顶部,通过跳远仍然不可跨越的悬崖等形成的区域)等,这些区域是游戏对象在游戏地图中不可移动或不可到达的区域。如图1所示的游戏地图中,箱子、墙壁等障碍物101会与游戏对象102产生碰撞,因此箱子、墙壁等障碍物101所占据的区域是游戏地图中的非可行区域;而地面是游戏对象可以移动或可以到达的区域,因此地面是游戏地图中的可行区域。
并且,本申请实施例提供的游戏处理方案所实现的功能可以被集成于一个工具包中,任意游戏可以通过接入该工具包具备游戏处理功能,即任意游戏在接入该工具包后可以具备确定游戏对象在游戏地图中的可行区域的能力;该工具包可以包括:SDK(SoftwareDevelopment Kit,软件开发工具包)、插件等等;其中,SDK是指辅助开发某一类软件的相关文档、范例和工具的集合,插件是指一种遵循一定规范的应用程序接口编写出来的程序。由前述内容可知,目标游戏可以是普通游戏,也可以是云游戏;当目标游戏是普通游戏时,目标游戏运行于用户终端内安装的游戏客户端中,游戏客户端可以接入该工具包,使得游戏客户端具备确定游戏对象在目标游戏的游戏地图中的可行区域的能力;当目标游戏是云游戏时,目标游戏运行于云端的游戏服务器中,游戏服务器可以接入该工具包,使得游戏服务器具备确定游戏对象在目标游戏的游戏地图中的可行区域的能力。
另外,本申请实施例提供的游戏处理方案可以由一个计算机设备执行,该计算机设备可以是用户终端或游戏服务器;此处所提及的用户终端可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表、车载终端、智能电视等,但并不局限于此;此处所提及的游戏服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN(Content Delivery Network,内容分发网络)、以及大数据和人工智能平台等基础云计算服务的云服务器。本申请实施例中提及的多个所指示的数量为两个或两个以上,提及的多次所指示的数量为两次或两次以上,在此说明。
基于上述描述,下面结合图2至图6所示实施例对游戏处理方案进行更为详细地介绍。
本申请实施例提出一种游戏处理方法,该游戏处理方法主要介绍射线检测起点的确定方式,自扩散的可行区域检测的大致过程,以及基于可行区域检测结果确定可行区域的过程,该游戏处理方法可以由前述所提及的计算机设备执行。如图2所示,该游戏处理方法可以包括以下步骤S201至S204:
S201,获取游戏对象在目标游戏的游戏地图中的位置信息。
本申请实施例中确定目标游戏的游戏地图中的可行区域的过程,可以是在目标游戏的游戏对局中进行的,在此方式下,游戏对象的位置信息可以是在目标游戏的游戏对局的游戏地图中获取到的,游戏对局是指目标游戏的一盘或一局;具体来说,当目标游戏的游戏对局开启后,可以通过位置获取函数或位置获取接口,获取游戏对象在目标游戏的游戏对局的游戏地图中的位置信息。或者,本申请实施例中确定目标游戏的游戏地图中的可行区域的过程,可以是针对单独的游戏地图(例如单独的游戏地图资源)执行的,而非在游戏对局中执行,在此方式下,游戏对象的位置信息可以是在目标游戏的游戏地图中设置的目标位置信息。
其中,游戏对象在游戏地图中的位置信息,即游戏对象在游戏地图中的坐标信息,是用于指示游戏对象在游戏地图中的位置的信息,可以采用三维坐标向量进行表示;游戏对象在游戏地图中的位置信息可以包括:游戏对象在游戏地图中的位置的横轴(即X轴)坐标值、纵轴(即Y轴)坐标值、以及竖轴(即Z轴)坐标值;游戏对象在游戏地图中的位置可以是指游戏对象的指定部位在游戏地图中的位置,例如可以是指游戏对象的脚在游戏地图中的位置,本申请实施例对此不作限定。
S202,根据游戏对象的位置信息确定射线检测起点。
游戏对象的位置信息可以用于确定游戏对象在游戏地图中的初始位置点,获取到游戏对象在目标游戏的游戏地图中的位置信息之后,可以根据游戏对象的位置信息确定游戏对象在游戏地图中的初始位置点,然后可以根据初始位置点确定射线检测起点。
在一种实现方式中,可以将基于位置信息确定的初始位置点,直接确定为射线检测起点。在此方式中,根据游戏对象的位置信息确定射线检测起点的过程可以包括:基于位置信息确定游戏对象在游戏地图中的初始位置点,将初始位置点确定为射线检测起点。该方式可以适用于游戏对象不具备跳高能力的目标游戏中,游戏对象不具备跳高能力的目标游戏是指:目标游戏支持游戏对象在游戏地图中沿水平空间的各方向移动(例如向左移动、向右移动、向前移动、向后移动等),但不支持游戏对象在游戏地图中沿垂直空间的各方向移动(例如向上移动,向下移动等);其中,水平空间是指水平线所属的空间,沿水平空间的各个方向发射的射线均是水平射线,与水平线平行;垂直空间是指铅垂线所属的空间,沿垂直空间的各个方向发射的射线均是垂直射线,与铅垂线平行。在游戏对象不具备跳高能力的目标游戏中,由于游戏对象在目标游戏中不具备跳高能力,因此游戏对象不能通过跳跃到达一些障碍物的顶部,这样只需以初始位置点为中心发射可行区域检测射线进行可行区域检测,这样与可行区域检测射线产生碰撞的障碍物所占据的区域,就是游戏对象不可到达或不可移动的非可行区域。
在另一种实现方式中,可以将对基于位置信息确定的初始位置点进行偏移处理后的位置点,确定为射线检测起点。在此方式中,根据游戏对象的位置信息确定射线检测起点的过程可以包括:基于位置信息确定游戏对象在游戏地图中的初始位置点,对初始位置点进行偏移处理,将偏移处理后的初始位置点确定为射线检测起点。其中,对初始位置点进行偏移处理具体可以是指:将初始位置点的位置信息中的竖轴(即Z轴)坐标值增加跳跃高度值,得到初始位置点更新后的位置信息,并基于初始位置点更新后的位置信息确定偏移处理后的初始位置点,即将初始位置点更新后的位置信息指示的位置点确定为偏移处理后的初始位置点;此处的跳跃高度值可以是指游戏对象在目标游戏中跳高时能够跳跃的最大高度值。如图3a所示,初始位置点(x,y,z)是基于游戏对象的位置信息确定的,射线检测起点(x,y,z+跳跃高度值)是采用跳跃高度值对初始位置点进行偏移处理后得到的。该方式可以适用于游戏对象具备跳高能力的目标游戏中,游戏对象具备跳高能力的目标游戏是指:目标游戏既支持游戏对象在游戏地图中沿水平空间的各个方向移动,又支持游戏对象在游戏地图中沿垂直空间的各个方向移动的游戏;由于游戏对象在目标游戏中具备跳高能力,因此游戏对象可以通过跳跃到达一些障碍物的顶部,对于这些障碍物,若直接以初始位置点为中心发射可行区域检测射线,那么可行区域检测射线将会与这些障碍物发生碰撞,从而可行区域检测射线将返回不可到达的错误信息;也就是说,对于游戏对象具备跳高能力的目标游戏,若不采用跳跃高度值对游戏对象在游戏地图中的初始位置点进行偏移处理,将会导致对游戏地图中的部分可行区域漏检测。
S203,以射线检测起点为中心,在游戏地图中沿多个方向发射可行区域检测射线,并基于以射线检测起点为中心发射的可行区域检测射线,对游戏地图进行自扩散的可行区域检测。
在确定射线检测起点之后,可以射线检测起点为中心,在游戏地图中沿多个方向发射可行区域检测射线,并基于以射线检测起点为中心发射的可行区域检测射线,对游戏地图进行自扩散的可行区域检测。本申请实施例中,可行区域检测射线是在水平空间上沿着多个方向发射的,多个方向中相邻两个方向之间的夹角可以是相同的(例如均为固定的目标角度),也可以是不相同的(例如一部分夹角为第一角度,另一部分夹角为第二角度)。
自扩散的可行区域检测具体可以是指:对游戏地图进行一次或多次可行区域检测,每一次可行区域检测均可以用于确定一个候选点集合,每个候选点集合可以用于记录一次可行区域检测过程中检测到的候选点;对于自扩散的可行区域检测包括一次可行区域检测的情况,在该一次可行区域检测的过程中,可行区域检测射线均是以根据位置信息确定的射线检测起点为中心发射的;对于自扩散的可行区域检测包括多次可行区域检测的情况,用于进行当前次可行区域检测的可行区域检测射线,是以当前次的上一次可行区域检测确定的候选点集合中的候选点为中心发射的,此处作为中心的候选点可以是候选点集合中的全部或部分候选点,全部或部分候选点可以同时发射可行区域检测射线进行检测,也可以按照候选点确定时间的先后顺序依次发射可行区域检测射线进行检测,例如候选点集合中候选点A的确定时间早于候选点B的确定时间,则以候选点A为中心发射可行区域检测射线的时间可以早于以候选点B为中心发射可行区域检测射线的时间,本申请实施例对此不作限定。当作为中心的候选点是候选点集合中的全部候选点时,可以对游戏地图进行充分全面地检测,避免对游戏地图中的可行区域漏检测的情况发生;当作为中心的候选点是候选点集合中的部分候选点时,部分候选点可以是按照筛选规则从候选点集合中筛选出的,筛选规则例如可以包括筛选出候选点集合中位于游戏地图的目标区域或指定方向的候选点,这样可以检测出游戏对象在游戏地图的目标区域中或指定方向的可行区域,使得可行区域的检测方式更加灵活多样。
任一次的可行区域检测可以包括短距离可行区域检测或长距离可行区域检测中的至少一种。其中,短距离可行区域检测是指:采用可行区域检测射线,按照可行检测长度在游戏地图中检测候选点的过程;短距离可行区域检测可以适用于对射线检测起点附近的候选点进行检测;可行检测长度可以根据经验值设定,例如可以是1米。长距离可行区域检测是指:采用可行区域检测射线,按照延长的可行检测长度在游戏地图中检测候选点的过程;延长的可行检测长度可以是采用目标检测长度对可行检测长度进行延长(即更新)得到的,延长的可行检测长度等于可行检测长度与目标检测长度之和;可行检测长度最多可延长至检测长度阈值,也就是说,延长的可行检测长度不能超过检测长度阈值;目标检测长度可以是根据经验值设定的,例如可以是0.5米;长距离可行区域检测可以适用于对射线检测起点周围跳远可达的候选点进行检测,检测长度阈值可以是指游戏对象在目标游戏中跳远时能够跳跃的最大长度值。
S204,根据可行区域检测结果,确定游戏对象在游戏地图中的可行区域。
对游戏地图进行自扩散的可行区域检测之后,可以根据可行区域检测结果,确定游戏对象在游戏地图中的可行区域。当自扩散的可行区域检测包括一次可行区域检测时,可行区域检测结果包括该一次可行区域检测确定的候选点集合,根据可行区域检测结果,确定游戏对象在游戏地图中的可行区域可以包括:根据该一次可行区域检测确定的候选点集合中的候选点在游戏地图中的位置,确定游戏对象在游戏地图中的可行区域,也就是说,可行区域是该一次可行区域检测确定的候选点集合中的候选点在游戏地图中的位置所共同组成的区域。当自扩散的可行区域检测包括多次可行区域检测时,可行区域检测结果包括多次可行区域检测确定的候选点集合,根据可行区域检测结果,确定游戏对象在游戏地图中的可行区域可以包括:获取多个候选点集合之间的并集,根据并集中的候选点在游戏地图中的位置,确定游戏对象在游戏地图中的可行区域,也就是说,可行区域是多次可行区域检测确定的所有候选点集合中的候选点在游戏地图中的位置所共同组成的区域。举例来说,游戏对象在如图3b的第一幅图所示的游戏地图中的可行区域如图3b的第二幅图所示,图3b的第二幅图中的黑点表示自扩散的可行区域检测确定的各个候选点。
本申请实施例中,以游戏对象在目标游戏的游戏地图中的初始位置点为中心发射的可行区域检测射线,可以用于对游戏对象不具备跳高能力的目标游戏中的游戏地图进行可行区域检测;以对游戏对象在目标游戏的游戏地图中的初始位置点进行偏移处理后的位置点为中心发射的可行区域检测射线,考虑了游戏对象通过跳跃可达到一些障碍物的顶部的情况,可以用于对游戏对象具备跳高能力的目标游戏中的游戏地图进行可行区域检测;可见,本申请实施例提供的游戏处理方案可以适用于不同类型的游戏中,可以在不同类型的游戏中高效且准确地确定游戏对象在游戏地图中的可行区域。
本申请实施例提出一种游戏处理方法,该游戏处理方法主要介绍自扩散的可行区域检测的详细过程(具体包括可行区域检测射线自扩散的详细过程,基于可行区域检测射线的短距离可行区域检测过程、长距离可行区域检测过程,以及候选点的自扩散检测过程(即冗余检测过程)等),以及确定出的可行区域在目标游戏中的具体应用场景,该游戏处理方法可以由前述所提及的计算机设备执行。如图4所示,该游戏处理方法可以包括以下步骤S401至S406:
S401,获取游戏对象在目标游戏的游戏地图中的位置信息。
本申请实施例中步骤S401的执行过程与上述图2所示实施例中步骤S201的执行过程相同,本申请实施例中步骤S401的执行过程具体可参见上述图2所示实施例中步骤S201的描述,在此不再赘述。
S402,根据游戏对象的位置信息确定射线检测起点。
本申请实施例中步骤S402的执行过程与上述图2所示实施例中步骤S202的执行过程相同,本申请实施例中步骤S402的执行过程具体可参见上述图2所示实施例中步骤S202的描述,在此不再赘述。
S403,以射线检测起点为中心,在游戏地图中沿多个方向发射可行区域检测射线。
由前述内容可知,可行区域检测射线是在游戏地图中沿水平空间的多个方向发射的,多个方向中相邻两个方向之间的夹角可以是相同的(例如均为固定的目标角度),也可以是不相同的(例如一部分夹角为第一角度,另一部分夹角为第二角度),下面分别对这两种情况下的可行区域检测射线的发射过程进行介绍:
(1)当发射可行区域检测射线的多个方向中,相邻两个方向之间的夹角相同时,可行区域检测射线的发射过程可以包括:以射线检测起点为中心,在游戏地图中沿目标方向发射第一条可行区域检测射线;采用目标角度(可以根据经验值设定,例如可以是10度)对目标方向进行更新,得到新的目标方向;以射线检测起点为中心,在游戏地图中沿新的目标方向发射第二条可行区域检测射线;若新的目标方向对应的角度未超过角度阈值,则继续采用目标角度对新的目标方向进行更新,并继续以射线检测起点为中心发射新的可行区域检测射线,直至更新后的目标方向对应的角度超过角度阈值为止。也就是说,可以以射线检测起点为中心,在水平空间中每间隔目标角度发射一条可行区域检测射线,直至发射的最后一条可行区域检测射线对应的角度超过(大于或等于)角度阈值为止。如图5a所示,以发射第一条可行区域检测射线时的目标方向对应的角度是0度,目标角度是10度为例,以射线检测起点为中心一共发射了36条可行区域检测射线。
需要说明的是,上述可行区域检测射线的发射过程中,发射各条可行区域检测射线的时间点之间存在一定的时间间隔,例如在第一时间点发射第一条可行区域检测射线,在第二时间点发射第二条可行区域检测射线,第二时间点晚于第一时间点。容易想到的是,还可以保持相邻两条可行区域检测射线之间的夹角不变,以射线检测起点为中心同时发射所有的可行区域检测射线;例如,相邻两条可行区域检测射线之间的夹角均为10度,以射线检测起点为中心同时发射36条可行区域检测射线。
(2)当发射可行区域检测射线的多个方向中,相邻两个方向之间的夹角不相同时,可行区域检测射线的发射过程可以包括:以射线检测起点为中心,在游戏地图中沿目标方向发射第一条可行区域检测射线;若第一条可行区域检测射线在目标方向上检测到候选点(即检测到基准点),则采用第一角度(可以根据经验值设定,例如可以是90度)对目标方向进行更新,得到新的目标方向;并以射线检测起点为中心,在游戏地图中沿新的目标方向发射第二条可行区域检测射线;或者,若第一条可行区域检测射线在目标方向上未检测到候选点,则采用第二角度(可以根据经验值设定,例如可以是10度)对所述目标方向进行更新,得到新的目标方向;并以射线检测起点为中心,在游戏地图中沿新的目标方向发射第二条可行区域检测射线;若新的目标方向对应的角度未超过角度阈值,则继续采用第一角度或第二角度对新的目标方向进行更新,并继续以射线检测起点为中心发射新的可行区域检测射线,直至更新后的目标方向对应的角度超过角度阈值为止。也就是说,当前可行区域检测射线的发射方向(或发射角度)与上一次发射的可行区域检测射线的候选点(或基准点)检测结果相关;若上一次发射的可行区域检测射线能够检测到候选点,则当前可行区域检测射线的发射角度与上一次发射的可行区域检测射线的发射角度之间间隔第一角度;若上一次发射的可行区域检测射线未检测到候选点,则当前可行区域检测射线的发射角度与上一次发射的可行区域检测射线的发射角度之间间隔第二角度。其中,第一角度大于第二角度。
如图5b所示,以发射第一条可行区域检测射线时的目标方向对应的角度是0度,第一角度是90度,第二角度是10度为例,第一条可行区域检测射线检测到候选点,则第二条可行区域检测射线的发射角度与第一条可行区域检测射线的发射角度之间间隔90度,第二条可行区域检测射线未检测到候选点,则第三条可行区域检测射线的发射角度与第二条可行区域检测射线的发射角度之间间隔10度,第三条可行区域检测射线以及后续的可行区域检测射线均未检测到候选点,以射线检测起点中心一共发射了28条可行区域检测射线。
在此对设置第二角度大于第一角度的原因进行说明,当确定第一条可行区域检测射线检测到候选点时,若此时第二条可行区域检测射线的发射角度与第一条可行区域检测射线的发射角度之间的间隔角度为较小的第一角度,那么即使第二条可行区域检测射线可以检测到候选点,第二条可行区域检测射线检测到的候选点也会因不满足自扩散条件而无法添加至候选点集合中,因此当第一条可行区域检测射线检测到候选点时,可以采用较大的第二角度来确定第二条可行区域检测射线的发射方向,避免重复进行无效的检测,通过减少可行区域检测射线的发射数量,来提升游戏地图的检测效率。而当确定第一条可行区域检测射线未检测到候选点时,若此时第二条可行区域检测射线的发射角度与第一条可行区域检测射线的发射角度之间的间隔角度为较大的第二角度,这样将导致游戏地图的部分区域未被检测到,这部分未检测到的区域中可能存在可行区域,这样会严重影响游戏地图的检测效果,因此当第一条可行区域检测射线未检测到候选点时,可以采用较小的第一角度来发确定第二条可行区域检测射线的发射方向,避免对游戏地图的部分区域漏检测的情况发生,以此来提升游戏地图的检测效果。需要说明的是,基于可行区域检测射线对游戏地图进行基准点检测(即候选点检测)的过程,以及检测候选点是否满足自扩散条件的过程可参见步骤S404的具体描述。
S404,基于以射线检测起点为中心发射的可行区域检测射线,对游戏地图进行N次可行区域检测,确定N个候选点集合。
由前述内容可知,自扩散的可行区域检测具体可以是指:对游戏地图进行一次或多次可行区域检测;在此可将可行区域检测的检测次数表示为N次,每一次可行区域检测均可以用于确定一个候选点集合,每个候选点集合可以用于记录每一次可行区域检测过程中检测到的候选点,N次可行区域检测可以确定N各候选点集合,N为正整数。
基于以射线检测起点为中心发射的可行区域检测射线,对游戏地图进行自扩散的可行区域检测的过程,即基于以射线检测起点为中心发射的可行区域检测射线,对游戏地图进行N次可行区域检测,确定N个候选点集合的过程,具体可以包括:基于以射线检测起点为中心发射的可行区域检测射线,对游戏地图进行第一次可行区域检测,得到第一候选点集合;若第一候选点集合不为空,则将第一候选点集合中的候选点确定为扩散的射线检测起点,以扩散的射线检测起点为中心,在游戏地图中沿多个方向发射可行区域检测射线,并基于以扩散的射线检测起点为中心发射的可行区域检测射线,对游戏地图进行第二次可行区域检测,得到第二候选点集合;若第二候选点集合不为空,则继续将第二候选点集合中的候选点确定为新的扩散的射线检测起点,并继续执行后续次的可行区域检测,直至得到的候选点集合为空为止。也就是说,若第一次可行区域检测确定的候选点集合不为空,则可以将第一次可行区域检测确定的候选点集合中的候选点,确定为第二次可行区域检测中扩散的射线检测起点;从而可以扩散的射线检测起点为中心发射新的可行区域检测射线,并基于新的可行区域检测射线进行第二次可行区域检测,重复该过程直至确定的候选点集合为空时停止。
需要说明的是,N次可行区域检测中的各次可行区域检测的检测过程是相同的,各次可行区域检测的检测过程相同包括两部分的内容:第一部分是各次可行区域检测的检测过程中,可行区域检测射线的发射方式均是相同的,均可采用上述步骤S403中介绍的可行区域检测射线的发射方式中的任意一种;第二部分是各次可行区域检测的检测过程中,可行区域检测射线的检测方式均是相同的。
在此,以N次可行区域检测中的任一次可行区域检测的检测过程为例进行介绍,N次可行区域检测中的其他次可行区域检测的检测过程均可参见该任一次可行区域检测的检测过程。其中,N次可行区域检测中的任一次可行区域检测可以表示为第i次可行区域检测,i为大于1且小于或等于N的整数;第i次可行区域检测可以用于确定第i个候选点集合;第i次可行区域检测过程中发射的可行区域检测射线,是以第i-1次可行区域检测确定的候选点集合中的候选点为中心发射的;第i次可行区域检测过程中各条可行区域检测射线的检测过程均是相同的,在此以第i次可行区域检测过程中发射的任一条可行区域检测射线为例进行介绍,第i次可行区域检测过程中发射的任一条可行区域检测射线可以表示为目标可行区域检测射线。第i次可行区域检测中的目标可行区域检测射线的检测过程可以包括:
(1)采用目标可行区域检测射线,对游戏地图进行短距离可行区域检测。
由前述内容可知,短距离可行区域检测是指:采用可行区域检测射线,按照可行检测长度在游戏地图中检测候选点的过程;短距离可行区域检测可以适用于对射线检测起点附近的候选点进行检测。短距离可行区域检测过程可参见图5c,具体可以包括:采用目标可行区域检测射线,按照可行检测长度(可以根据经验值设定,例如可以是1米)对游戏地图进行碰撞检测;若目标可行区域检测射线在可行检测长度内发生碰撞,则确定目标可行区域检测射线未检测到基准点,目标可行区域检测射线的检测过程结束,可以开启目标可行区域检测射线的下一条可行区域检测射线的检测过程;若目标可行区域检测射线在可行检测长度内未发生碰撞,则将目标可行区域检测射线在所述可行检测长度的终点确定为参考点,以及以参考点为中心发射基准点检测射线,并采用基准点检测射线按照基准点检测长度(可以根据经验值设定,例如可以是2米)对游戏地图进行碰撞检测;若基准点检测射线在基准点检测长度内发生碰撞,则将发生碰撞的碰撞点确定为检测到的基准点,并生成短距离可行区域检测的检测结果,短距离可行区域检测的检测结果指示目标可行区域检测射线在游戏地图中检测到基准点。其中,目标可行区域检测射线的发射方向与基准点检测射线的发射方向相互垂直,也就是说,基准点检测射线属于垂直空间。
由于短距离可行区域检测过程中设置的可行检测长度较短,并且相邻两条可行区域检测射线之间的角度间隔较小,因此通过短距离可行区域检测过程,能快速且准确地确定出狭窄区域中存在的候选点,如图5d所示的短距离可行区域检测的检测结果,黑色的两条可行区域检测射线可以在狭窄通道中检测到候选点,其余灰色的可行区域检测射线均不能在狭窄通道中检测到候选点。
其中,采用目标可行区域检测射线,按照可行检测长度对游戏地图进行碰撞检测,可以包括:检测目标可行区域检测射线在可行区域长度内的障碍物碰撞情况;若目标可行区域检测射线在可行区域长度内未检测到障碍物,则可以确定目标可行区域检测射线在可行检测长度内未发生碰撞;若目标可行区域检测射线在可行区域长度内检测到障碍物,则可以确定目标可行区域检测射线在可行检测长度内发生碰撞。进一步地,若目标可行区域检测射线在可行区域长度内检测到障碍物,则还可以获取检测到的障碍物的属性信息,障碍物的属性信息可以用于指示该障碍物在游戏地图中的存在状态,障碍物的存在状态可以包括可消除状态或不可消除状态中的任一种;处于可消除状态的障碍物在游戏地图中是临时存在的、可以消除的,例如可以打开的门、可以用水熄灭的火焰、可以打败的NPC(Non-Player Character,非玩家角色)等;处于不可消除状态的障碍物在游戏地图中是永久存在的、不可以消除的,例如不可消除的墙壁、高山等;若检测到的障碍物的属性信息指示该障碍物在游戏地图中的存在状态为可消除状态,则可以确定检测到的障碍物可以消除,即可以确定目标可行区域检测射线在可行检测长度内未发生碰撞;若检测到的障碍物的属性信息指示该障碍物在游戏地图中的存在状态为不可消除状态,则可以确定检测到的障碍物不可以消除,即可以确定目标可行区域检测射线在可行检测长度内发生碰撞。
上述采用目标可行区域检测射线,按照可行检测长度对游戏地图进行碰撞检测的检测方式可以适用于在游戏对局中对游戏地图进行可行区域检测,也可以适用于对单独的游戏地图进行可行区域检测。对于在游戏对局中对游戏地图进行可行区域检测的过程而言还存在一种碰撞检测方式,若目标可行区域检测射线在可行区域长度内检测到障碍物,则可以获取游戏对象的属性信息和检测到的障碍物的属性信息;游戏对象的属性信息可以用于指示游戏对象的游戏等级;障碍物的属性信息可以用于指示该障碍物在游戏地图中的存在状态,当障碍物处于可消除状态时,障碍物的属性信息中还可以包括消除等级,消除等级用于指示消灭该障碍物的游戏对象应具备的最低游戏等级,即游戏等级为该最低游戏等级的游戏对象可以消除该障碍物,游戏等级高于该最低游戏等级的游戏对象可以消除该障碍物。若检测到的障碍物的属性信息指示该障碍物在游戏地图中的存在状态为可消除状态,则可以对游戏对象的游戏等级与障碍物的消除等级进行匹配检查;若游戏对象的游戏等级与障碍物的消除等级匹配,则可以确定检测到的障碍物可以消除,即可以确定目标可行区域检测射线在可行检测长度内未发生碰撞;若游戏对象的游戏等级与障碍物的消除等级不匹配,则可以确定检测到的障碍物不可以消除,即可以确定目标可行区域检测射线在可行检测长度内发生碰撞;其中,游戏对象的游戏等级与障碍物的消除等级匹配是指:游戏对象的游戏等级高于或等于障碍物的消除等级;游戏对象的游戏等级与障碍物的消除等级不匹配是指:游戏对象的游戏等级低于障碍物的消除等级。
(2)若短距离可行区域检测的检测结果指示目标可行区域检测射线在游戏地图中检测到基准点,则根据检测到的基准点确定候选点。
若短距离可行区域检测的检测结果指示目标可行区域检测射线在游戏地图中见得到基准点,则可以对检测到的基准点进行偏移处理,并将偏移处理后的基准点确定为候选点。其中,对检测到的基准点进行偏移处理,与对初始位置点进行偏移处理的过程类似,可以包括:将检测到的基准点的位置信息中的竖轴坐标值增加跳跃高度值,得到基准点更新后的位置信息,并基于基准点更新后的位置信息确定候选点,即将基准点更新后的位置信息指示的位置点确定为候选点。
(3)若短距离可行区域检测的检测结果指示目标可行区域检测射线在游戏地图中未检测到基准点,则采用目标可行区域检测射线,对游戏地图进行长距离可行区域检测,并在长距离可行区域检测的检测结果指示目标可行区域检测射线在游戏地图中检测到基准点时,根据检测到的基准点确定候选点。
在介绍长距离可行区域检测之前,需要对短距离可行区域检测和长距离可行区域检测适用的游戏进行说明。短距离可行区域检测适用于游戏对象不具备跳远能力的目标游戏;游戏对象不具备跳远能力的目标游戏可以是指:除普通移动(例如行走、奔跑等)外,目标游戏不支持游戏对象在水平空间上进行长距离跳跃;对于游戏对象不具备跳远能力的目标游戏而言,若基准点检测射线在基准点检测长度内未发生碰撞,则可以确定目标可行区域检测射线采用短距离可行区域检测的检测方式未检测到基准点,目标可行区域检测射线的检测过程结束,可以开启目标可行区域检测射线的下一条可行区域检测射线的检测过程。长距离可行区域检测适用于游戏对象具备跳远能力的目标游戏;游戏对象具备跳远能力的目标游戏可以是指:除普通移动(例如行走、奔跑等)外,目标游戏还支持游戏对象在水平空间上进行长距离跳跃;对于游戏对象具备跳远能力的目标游戏而言,若基准点检测射线在基准点检测长度内未发生碰撞,即目标可行区域检测射线采用短距离可行区域检测的检测方式未检测到基准点时,可以继续采用长距离可行区域检测过程进行基准点检测。
长距离可行区域检测过程可以适用于对射线检测起点周围跳远可达的候选点进行检测,例如两个候选点之间是隔空的(例如游戏中的断崖),游戏对象需要跳远才能从一个候选点达到另一个候选点。长距离可行区域检测过程可以包括:采用目标检测长度(可以根据经验值设定,例如可以是0.5米)对可行检测长度进行更新,得到新的可行检测长度(即上述延长的可行检测长度);采用所述目标可行区域检测射线,按照新的可行检测长度对游戏地图进行基准点检测;若目标可行区域检测射线按照新的可行检测长度未检测到基准点,则继续对新的可行检测长度进行更新,并继续执行后续的基准点检测,直至目标可行区域检测射线在更新后的可行检测长度(即上述延长的可行检测长度)内发生碰撞,或者目标可行区域检测射线在更新后的可行检测长度内检测到基准点,或者更新后的可行检测长度超过检测长度阈值(例如可以是指游戏对象在目标游戏中跳远时能够跳跃的最大长度值)为止。如图5e所示的目标可行区域检测射线的检测过程示例,目标可行区域检测射线通过短距离可行区域检测过程未检测到基准点,因此采用长距离可行区域检测过程继续进行检测,在采用目标检测长度对可行检测长度进行两次更新后,目标可行区域检测射线成功检测到基准点。
其中,若目标可行区域检测射线在更新后的可行检测长度内发生碰撞,则可以确定目标可行区域检测射线未检测到基准点,目标可行区域检测射线的检测过程结束,可以开启目标可行区域检测射线的下一条可行区域检测射线的检测过程。或者,若目标可行区域检测射线在更新后的可行检测长度内检测到基准点,则可以生成长距离可行区域检测的检测结果,长距离可行区域检测的检测结果指示目标可行区域检测射线在游戏地图中检测到基准点;并且还可以根据检测到的基准点确定候选点,长距离可行区域检测中根据检测到的基准点确定候选点的过程,与短距离可行区域检测中根据检测到的基准点确定候选点的过程相同,具体可以参见上述短距离可行区域检测中根据检测到的基准点确定候选点的过程。或者,若更新后的可行检测长度超过(大于或等于)检测长度阈值,则可以确定目标可行区域检测射线未检测到基准点,目标可行区域检测射线的检测过程结束,可以开启目标可行区域检测射线的下一条可行区域检测射线的检测过程。
还需说明的是,由前述内容可知,对于游戏对象不具备跳高能力的目标游戏而言,可以将游戏对象在游戏地图中的初始位置点直接确定为射线检测起点。由于该类游戏支持游戏对象在游戏地图中沿水平空间的各方向移动,但不支持游戏对象在游戏地图中沿垂直空间的各方向移动,因此在可行区域检测过程中不需要发射基准点检测射线进行检测,若可行区域检测射线在可行检测长度内未检测到碰撞,则可以直接将可行区域检测射线在可行检测长度的终点确定为检测到的候选点。
(4)对候选点进行自扩散检测,若自扩散检测结果指示候选点满足自扩散条件,则将候选点添加至第i个候选点集合中。
根据检测到的基准点确定的候选点可能存在不满足自扩散条件的情况,即根据检测到的基准点确定的候选点可能是冗余候选点,这样的候选点是不能添加至候选点集合中的,因此需要对根据检测到的基准点确定的候选点进行自扩散检测,将满足自扩散条件的候选点添加至候选点集合中,候选点的自扩散检测过程可以包括:获取历史点集合,历史点集合中的历史点是根据i-1个候选点集合中的候选点确定的,i-1个候选点集合是第i次可行区域检测之前的i-1次可行区域检测所确定的;计算候选点与历史点集合中的各个历史点之间的距离;确定候选点与各个历史点之间的距离中的最小距离;若最小距离超过(即大于或等于)距离阈值,则确定候选点满足自扩散条件,可以将候选点添加至第i个候选点集合中;若最小距离未超过(小于)距离阈值,则确定候选点不满足自扩散条件,不能将候选点添加至第i个候选点集合中。
S405,获取N个候选点集合之间的并集。
S406,根据并集中的候选点在游戏地图中的位置,确定游戏对象在游戏地图中的可行区域。
本申请实施例中步骤S405和步骤S406的执行过程与上述图2所示实施例中步骤S204的执行过程相同,本申请实施例中步骤S405和步骤S406的执行过程具体可参见上述图2所示实施例中步骤S204的描述,在此不再赘述。
确定出游戏对象在目标游戏的游戏地图中的可行区域之后,可以对可行区域进行存储;目标游戏中可能存在多张不同的游戏地图,可以按照本申请实施例提供的游戏处理方案依次确定出游戏对象在目标游戏的各张游戏地图中的可行区域,并对各张游戏地图的可行区域均进行存储。对目标游戏的各张游戏地图中的可行区域进行存储,这样是为了便于在需要使用目标游戏的各张游戏地图中的可行区域时,可直接从内存中对目标游戏的各张游戏地图中的可行区域进行读取使用。
另外,若检测到目标游戏中的任一张游戏地图(例如可以是目标游戏地图)存在更新事件,则可以采用全量更新或差量更新的方式,对内存中存储的游戏对象在更新前的目标游戏地图中的可行区域进行更新。其中,全量更新的方式可以包括:采用本申请实施例提供的游戏处理方案确定出游戏对象在更新后的目标游戏地图中的可行区域,并采用游戏对象在更新后的目标游戏地图中的可行区域,对内存中存储的游戏对象在更新前的目标游戏地图中的可行区域进行替换存储。
差量更新的方式可以包括:确定更新后的目标游戏地图与更新前的目标游戏地图之间差异区域;若差异区域是更新后的目标游戏地图相较于更新前的目标游戏地图减少的区域,则可以将内存中存储的更新前的目标游戏地图的可行区域中,位于差异区域中的候选点进行删除,便可以得到游戏对象在更新后的目标游戏地图中的可行区域;若差异区域是更新后的目标游戏地图相较于更新前的目标游戏地图增加的区域,则可以确定出游戏对象在差异区域中的可行区域,并根据游戏对象在差异区域中的可行区域,对内存中存储的游戏对象在更新前的目标游戏地图中的可行区域进行更新,更新后的目标游戏地图中的可行区域等于:游戏对象在差异区域中的可行区域与游戏对象在更新前的目标游戏地图中的可行区域之间的合并区域。
在此对目标游戏的游戏地图中的可行区域的具体应用场景(包括智能导航、由此测试等场景)进行介绍。其中,目标游戏的游戏地图中的可行区域可以应用于对游戏对象进行智能导航的场景中;详细来说,当游戏玩家在目标游戏中选定一张游戏地图开启游戏对局后,可以将选定的游戏地图中的可行区域加载至目标游戏的游戏对局中,从而可以基于导航算法在可行区域中对游戏对象进行智能导航,帮助游戏对象在游戏地图中智能规避障碍物。目标游戏的游戏地图中的可行区域还可以应用于对目标游戏进行性能测试的场景中;详细来说,当游戏玩家(此处的游戏玩家可以是目标游戏的测试人员)在目标游戏中选定一张游戏地图开启游戏对局后,可以将选定的游戏地图中的可行区域加载至目标游戏的游戏对局中,游戏玩家可以控制游戏对象在选定的游戏地图中,基于选定的游戏地图中的可行区域进行自动探索,并在自动探索过程中记录游戏对局的性能数据,还可根据性能数据生成游戏对局的性能测试报告。
综上内容,本申请实施例提供的游戏处理方法可总结为图6所示的流程示意图,首先可以获取游戏对象在目标游戏的游戏地图中的位置信息,并根据游戏对象的位置信息确定射线检测起点;然后可以以射线检测起点为中心,在游戏地图中沿多个方向发射可行区域检测射线,基于可行区域检测射线在游戏地图中进行第一次的短距离可行区域检测、长距离可行区域检测以及自扩散检测(即冗余检测)之后可以得到一个候选点集合;若候选点集合不为空,则将候选点集合中的候选点作为射线检测起点,继续发射可行区域检测射线进行后续次的短距离可行区域检测、长距离可行区域检测以及自扩散检测,直至得到的候选点集合为空为止,最后可以根据各次检测得到的候选点集合中的候选点在游戏地图中对应的位置,确定游戏地图中的可行区域,大大提升了可行区域的检测效率和准确率。并且,可行区域检测过程中的短距离可行区域检测过程可以用于确定射线检测起点附近的候选点,长距离可行区域检测过程可以用于确定游戏对象通过跳远可达的候选点,可以有效避免对游戏地图中的部分区域漏检测的情况发生,从而可以更加准确地确定出游戏对象在游戏地图中的可行区域。
上述游戏处理方法以自扩散的可行区域检测是以迭代的方式进行的,即用于进行当前次可行区域检测的可行区域检测射线,是以当前次的上一次可行区域检测确定的候选点集合中的候选点为中心发射的为例进行介绍。在一种实现方式中,自扩散的可行区域检测还可以是以深度遍历的方式进行的,深度遍历方式下的自扩散的可行区域检测可以包括:基于以射线检测起点为中心发射的可行区域检测射线,对游戏地图进行第一次可行区域检测,得到第一候选点集合;若第一候选点集合不为空,则可以将第一候选点集合中的目标候选点(此处第一候选点集合中的目标候选点是指第一候选点集合中的任一候选点)确定为扩散的射线检测起点,以扩散的射线检测起点为中心,在游戏地图中沿多个方向发射可行区域检测射线,并基于以扩散的射线检测起点为中心发射的可行区域检测射线,对游戏地图进行第二次可行区域检测,得到第二候选点集合。
若第二候选点集合不为空,则将第二候选点集合中的目标候选点(此处第二候选点集合中的目标候选点是指第二候选点集合中的任一候选点)确定为新的扩散的射线检测起点,并基于以新的扩散的射线检测起点为中心发射的可行区域检测射线,继续执行后续的可行区域检测,直至确定的候选点均被遍历完为止。
若第二候选点集合为空,则将第一候选点集合中除目标候选点之外的其他任一个候选点作为新的扩散的射线检测起点,并基于以新的扩散的射线检测起点为中心发射的可行区域检测射线,继续执行后续的可行区域检测,直至确定的候选点均被遍历完为止。深度遍历方式下的自扩散的可行区域检测,在真实游戏对局中进行可行区域检测时能够达到更好地效果,每次确定的射线检测起点可以作为游戏对象的可行位置点,可以一遍检测一遍控制游戏对象移动至游戏地图中的可行位置点,高效智能地规避障碍物。
上述详细阐述了本申请实施例的方法,为了便于更好地实施本申请实施例的上述方案,相应地,下面提供了本申请实施例的装置。
请参见图7,图7是本申请实施例提供的一种游戏处理装置的结构示意图,该游戏处理装置可以设置于本申请实施例提供的计算机设备中,计算机设备可以是上述方法实施例中提及的用户终端或游戏服务器;在一些实施例中,该游戏处理装置可以是运行于计算机设备中的一个计算机程序(包括程序代码),该游戏处理装置可以用于执行图2或图4所示的方法实施例中的相应步骤。请参见图7,该游戏处理装置可以包括如下单元:
获取单元701,用于获取游戏对象在目标游戏的游戏地图中的位置信息;
处理单元702,用于根据游戏对象的位置信息确定射线检测起点;
处理单元702,还用于以射线检测起点为中心,在游戏地图中沿多个方向发射可行区域检测射线,并基于以射线检测起点为中心发射的可行区域检测射线,对游戏地图进行自扩散的可行区域检测;可行区域检测包括短距离可行区域测检或长距离可行区域检测中的至少一种;
处理单元702,还用于根据可行区域检测结果,确定游戏对象在游戏地图中的可行区域。
在一种实现方式中,可行区域检测的检测次数为N,N为正整数;每一次可行区域检测均用于确定一个候选点集合,每个候选点集合用于记录每一次可行区域检测过程中检测到的候选点;处理单元701,用于基于以射线检测起点为中心发射的可行区域检测射线,对游戏地图进行自扩散的可行区域检测时,具体用于执行如下步骤:
基于以射线检测起点为中心发射的可行区域检测射线,对游戏地图进行第一次可行区域检测,得到第一候选点集合;
若第一候选点集合不为空,则将第一候选点集合中的候选点确定为扩散的射线检测起点,以扩散的射线检测起点为中心,在游戏地图中沿多个方向发射可行区域检测射线,并基于以扩散的射线检测起点为中心发射的可行区域检测射线,对游戏地图进行第二次可行区域检测,得到第二候选点集合;
若第二候选点集合不为空,则继续将第二候选点集合中的候选点确定为新的扩散的射线检测起点,并继续执行后续次的可行区域检测,直至得到的候选点集合为空为止。
在一种实现方式中,可行区域检测的检测次数为N,N为正整数;每一次可行区域检测均用于确定一个候选点集合,每个候选点集合用于记录每一次可行区域检测过程中检测到的候选点;可行区域检测结果包括N个候选点集合;处理单元702,用于根据可行区域检测结果,确定游戏对象在游戏地图中的可行区域时,具体用于执行如下步骤:
获取N个候选点集合之间的并集;
根据并集中的候选点在游戏地图中的位置,确定游戏对象在游戏地图中的可行区域。
在一种实现方式中,可行区域检测的检测次数为N,N为正整数;任一次可行区域检测表示为第i次可行区域检测,i为大于1且小于或等于N的整数;第i次可行区域检测用于确定第i个候选点集合;第i次可行区域检测过程中发射的可行区域检测射线,是以第i-1次可行区域检测确定的候选点集合中的候选点为中心发射的;第i次可行区域检测过程中发射的任一条可行区域检测射线表示为目标可行区域检测射线;处理单元702,用于执行第i次可行区域检测时,具体用于执行如下步骤:
采用目标可行区域检测射线,对游戏地图进行短距离可行区域检测;
若短距离可行区域检测的检测结果指示目标可行区域检测射线在游戏地图中检测到基准点,则根据检测到的基准点确定候选点;
若短距离可行区域检测的检测结果指示目标可行区域检测射线在游戏地图中未检测到基准点,则采用目标可行区域检测射线,对游戏地图进行长距离可行区域检测,并在长距离可行区域检测的检测结果指示目标可行区域检测射线在游戏地图中检测到基准点时,根据检测到的基准点确定候选点;
对候选点进行自扩散检测,若自扩散检测结果指示候选点满足自扩散条件,则将候选点添加至第i个候选点集合中。
在一种实现方式中,处理单元702,用于采用目标可行区域检测射线,对游戏地图进行短距离可行区域检测时,具体用于执行如下步骤:
采用目标可行区域检测射线,按照可行检测长度对游戏地图进行碰撞检测;
若目标可行区域检测射线在可行检测长度内未发生碰撞,则将目标可行区域检测射线在可行检测长度的终点确定为参考点;
以参考点为中心发射基准点检测射线,并采用基准点检测射线按照基准点检测长度对游戏地图进行碰撞检测;
若基准点检测射线在基准点检测长度内发生碰撞,则将发生碰撞的碰撞点确定为检测到的基准点,并生成短距离可行区域检测的检测结果,短距离可行区域检测的检测结果指示目标可行区域检测射线在游戏地图中检测到基准点;
其中,目标可行区域检测射线的发射方向与基准点检测射线的发射方向相互垂直。
在一种实现方式中,处理单元702,用于采用目标可行区域检测射线,对游戏地图进行长距离可行区域检测时,具体用于执如下步骤:
采用目标检测长度对可行检测长度进行更新,得到新的可行检测长度;
采用目标可行区域检测射线,按照新的可行检测长度对游戏地图进行基准点检测;
若目标可行区域检测射线按照新的可行检测长度未检测到基准点,则继续对新的可行检测长度进行更新,并继续执行后续的基准点检测,直至目标可行区域检测射线在更新后的可行检测长度内发生碰撞,或者目标可行区域检测射线在更新后的可行检测长度内检测到基准点,或者更新后的可行检测长度超过检测长度阈值为止;
当目标可行区域检测射线在更新后的可行检测长度内检测到基准点时,生成长距离可行区域检测的检测结果,长距离可行区域检测的检测结果指示目标可行区域检测射线在游戏地图中检测到基准点。
在一种实现方式中,处理单元702,用于对候选点进行自扩散检测时,具体用于执行如下步骤:
获取历史点集合,历史点集合中的历史点是根据i-1个候选点集合中的候选点确定的,i-1个候选点集合是第i次可行区域检测之前的i-1次可行区域检测所确定的;
计算候选点与历史点集合中的各个历史点之间的距离;
确定候选点与各个历史点之间的距离中的最小距离;
若最小距离超过距离阈值,则确定候选点满足自扩散条件。
在一种实现方式中,处理单元702,用于以射线检测起点为中心,在游戏地图中沿多个方向发射可行区域检测射线时,具体用于执行如下步骤:
以射线检测起点为中心,在游戏地图中沿目标方向发射第一条可行区域检测射线;
若第一条可行区域检测射线在目标方向上检测到候选点,则采用第一角度对目标方向进行更新,得到新的目标方向;并以射线检测起点为中心,在游戏地图中沿新的目标方向发射第二条可行区域检测射线;
或者,若第一条可行区域检测射线在目标方向上未检测到候选点,则采用第二角度对目标方向进行更新,得到新的目标方向;并以射线检测起点为中心,在游戏地图中沿新的目标方向发射第二条可行区域检测射线;
若新的目标方向对应的角度未超过角度阈值,则继续采用第一角度或第二角度对新的目标方向进行更新,并继续以射线检测起点为中心发射新的可行区域检测射线,直至更新后的目标方向对应的角度超过角度阈值为止。
在一种实现方式中,处理单元702,用于以射线检测起点为中心,在游戏地图中沿多个方向发射可行区域检测射线时,具体用于执行如下步骤:
以射线检测起点为中心,在游戏地图中沿目标方向发射第一条可行区域检测射线;
采用目标角度对目标方向进行更新,得到新的目标方向;
以射线检测起点为中心,在游戏地图中沿新的目标方向发射第二条可行区域检测射线;
若新的目标方向对应的角度未超过角度阈值,则继续采用目标角度对新的目标方向进行更新,并继续以射线检测起点为中心发射新的可行区域检测射线,直至更新后的目标方向对应的角度超过角度阈值为止。
在一种实现方式中,处理单元702,用于根据游戏对象的位置信息确定射线检测起点时,具体用于执行如下步骤:
根据位置信息确定游戏对象在游戏地图中的初始位置点;
将初始位置点确定为射线检测起点;或者,对初始位置点进行偏移处理,将偏移后的初始位置点确定为射线检测起点。
在一种实现方式中,处理单元702,还用于执行如下步骤:
将确定的可行区域加载至目标游戏中;基于导航算法在可行区域中对游戏对象进行智能导航,或者基于可行区域对目标游戏进行测试。
根据本申请的一个实施例,图2或图4所示的方法所涉及的各个方法步骤可以是由图7所示的游戏处理装置中的各个单元来执行的。例如,图2所示的步骤S201可由图7所示的获取单元701来执行,图2所示的步骤S202至步骤S204可由图7所示的处理单元702来执行。又如,图4所示的步骤S401可由图7所示的获取单元701来执行,图4所示的步骤S402至步骤S406可由图7所示的处理单元702来执行。
根据本申请的另一个实施例,图7所示的游戏处理装置中的各个单元可以分别或全部合并为一个或若干个另外的单元来构成,或者其中的某个(些)单元还可以再拆分为功能上更小的多个单元来构成,这可以实现同样的操作,而不影响本申请的实施例的技术效果的实现。上述单元是基于逻辑功能划分的,在实际应用中,一个单元的功能也可以由多个单元来实现,或者多个单元的功能由一个单元实现。在本申请的其它实施例中,游戏处理装置也可以包括其它单元,在实际应用中,这些功能也可以由其它单元协助实现,并且可以由多个单元协作实现。
根据本申请的另一个实施例,可以通过在包括中央处理单元(CPU)、随机存取存储介质(RAM)、只读存储介质(ROM)等处理元件和存储元件的例如计算机的通用计算设备上运行能够执行如图2或图4所示的相应方法所涉及的各步骤的计算机程序(包括程序代码),来构造如图7中所示的游戏处理装置,以及来实现本申请实施例的游戏处理方法。计算机程序可以记载于例如计算机可读存储介质上,并通过计算机可读存储介质装载于上述计算设备中,并在其中运行。
本申请实施例中,根据游戏对象在游戏地图中的位置信息确定射线检测起点后,可以以射线检测起点为中心,在游戏地图中沿多个方向发射可行区域检测射线,对游戏地图进行自扩散的可行区域检测,并根据可行区域检测结果确定游戏对象在游戏地图中的可行区域。可见,通过自扩散的可行区域检测方式,用于对游戏地图进行可行区域检测的射线不断地进行自动扩散、自动检测,这样可以提升游戏地图中可行区域的检测效率,从而可以提升游戏地图中可行区域的确定效率;并且可行区域检测射线在游戏地图中不断地自动扩散,可以避免出现对游戏地图中的部分区域漏检测的情况,这样使得确定出的可行区域更加准确。
基于上述方法以及装置实施例,本申请实施例提供了一种计算机设备,该计算机设备可以是前述所提及的用户终端或游戏服务器。请参见图8,图8是本申请实施例提供的一种计算机设备的结构示意图。图8所示的计算机设备至少包括处理器801、输入接口802、输出接口803以及计算机可读存储介质804。其中,处理器801、输入接口802、输出接口803以及计算机可读存储介质804可通过总线或其他方式连接。
输入接口802可以用于获取游戏对象在目标游戏的游戏地图中的位置信息;输出接口803可以用于输出游戏地图中的可行区域。
计算机可读存储介质804可以存储在计算机设备的存储器中,计算机可读存储介质804用于存储计算机程序,计算机程序包括计算机指令,处理器801用于执行计算机可读存储介质804存储的程序指令。处理器801(或称CPU(Central Processing Unit,中央处理器))是计算机设备的计算核心以及控制核心,其适于实现一条或多条计算机指令,具体适于加载并执行一条或多条计算机指令从而实现相应方法流程或相应功能。
本申请实施例还提供了一种计算机可读存储介质(Memory),计算机可读存储介质是计算机设备中的记忆设备,用于存放程序和数据。可以理解的是,此处的计算机可读存储介质既可以包括计算机设备中的内置存储介质,当然也可以包括计算机设备支持的扩展存储介质。计算机可读存储介质提供存储空间,该存储空间存储了计算机设备的操作系统。并且,在该存储空间中还存放了适于被处理器加载并执行的一条或多条的计算机指令,这些计算机指令可以是一个或一个以上的计算机程序(包括程序代码)。需要说明的是,此处的计算机可读存储介质可以是高速RAM存储器,也可以是非不稳定的存储器(Non-VolatileMemory),例如至少一个磁盘存储器;可选的还可以是至少一个位于远离前述处理器的计算机可读存储介质。
在一种实现方式中,可由处理器801加载并执行计算机可读存储介质804中存放的一条或多条计算机指令,以实现上述有关图2或图4所示的游戏处理方法的相应步骤。具体实现中,计算机可读存储介质804中的计算机指令由处理器801加载并执行如下步骤:
获取游戏对象在目标游戏的游戏地图中的位置信息;
根据游戏对象的位置信息确定射线检测起点;
以射线检测起点为中心,在游戏地图中沿多个方向发射可行区域检测射线,并基于以射线检测起点为中心发射的可行区域检测射线,对游戏地图进行自扩散的可行区域检测;可行区域检测包括短距离可行区域测检或长距离可行区域检测中的至少一种;
根据可行区域检测结果,确定游戏对象在游戏地图中的可行区域。
在一种实现方式中,可行区域检测的检测次数为N,N为正整数;每一次可行区域检测均用于确定一个候选点集合,每个候选点集合用于记录每一次可行区域检测过程中检测到的候选点;计算机可读存储介质804中的计算机指令由处理器801加载并执行基于以射线检测起点为中心发射的可行区域检测射线,对游戏地图进行自扩散的可行区域检测时,具体用于执行如下步骤:
基于以射线检测起点为中心发射的可行区域检测射线,对游戏地图进行第一次可行区域检测,得到第一候选点集合;
若第一候选点集合不为空,则将第一候选点集合中的候选点确定为扩散的射线检测起点,以扩散的射线检测起点为中心,在游戏地图中沿多个方向发射可行区域检测射线,并基于以扩散的射线检测起点为中心发射的可行区域检测射线,对游戏地图进行第二次可行区域检测,得到第二候选点集合;
若第二候选点集合不为空,则继续将第二候选点集合中的候选点确定为新的扩散的射线检测起点,并继续执行后续次的可行区域检测,直至得到的候选点集合为空为止。
在一种实现方式中,可行区域检测的检测次数为N,N为正整数;每一次可行区域检测均用于确定一个候选点集合,每个候选点集合用于记录每一次可行区域检测过程中检测到的候选点;可行区域检测结果包括N个候选点集合;计算机可读存储介质804中的计算机指令由处理器801加载并执行根据可行区域检测结果,确定游戏对象在游戏地图中的可行区域时,具体用于执行如下步骤:
获取N个候选点集合之间的并集;
根据并集中的候选点在游戏地图中的位置,确定游戏对象在游戏地图中的可行区域。
在一种实现方式中,可行区域检测的检测次数为N,N为正整数;任一次可行区域检测表示为第i次可行区域检测,i为大于1且小于或等于N的整数;第i次可行区域检测用于确定第i个候选点集合;第i次可行区域检测过程中发射的可行区域检测射线,是以第i-1次可行区域检测确定的候选点集合中的候选点为中心发射的;第i次可行区域检测过程中发射的任一条可行区域检测射线表示为目标可行区域检测射线;计算机可读存储介质804中的计算机指令由处理器801加载并执行第i次可行区域检测时,具体用于执行如下步骤:
采用目标可行区域检测射线,对游戏地图进行短距离可行区域检测;
若短距离可行区域检测的检测结果指示目标可行区域检测射线在游戏地图中检测到基准点,则根据检测到的基准点确定候选点;
若短距离可行区域检测的检测结果指示目标可行区域检测射线在游戏地图中未检测到基准点,则采用目标可行区域检测射线,对游戏地图进行长距离可行区域检测,并在长距离可行区域检测的检测结果指示目标可行区域检测射线在游戏地图中检测到基准点时,根据检测到的基准点确定候选点;
对候选点进行自扩散检测,若自扩散检测结果指示候选点满足自扩散条件,则将候选点添加至第i个候选点集合中。
在一种实现方式中,计算机可读存储介质804中的计算机指令由处理器801加载并执行采用目标可行区域检测射线,对游戏地图进行短距离可行区域检测时,具体用于执行如下步骤:
采用目标可行区域检测射线,按照可行检测长度对游戏地图进行碰撞检测;
若目标可行区域检测射线在可行检测长度内未发生碰撞,则将目标可行区域检测射线在可行检测长度的终点确定为参考点;
以参考点为中心发射基准点检测射线,并采用基准点检测射线按照基准点检测长度对游戏地图进行碰撞检测;
若基准点检测射线在基准点检测长度内发生碰撞,则将发生碰撞的碰撞点确定为检测到的基准点,并生成短距离可行区域检测的检测结果,短距离可行区域检测的检测结果指示目标可行区域检测射线在游戏地图中检测到基准点;
其中,目标可行区域检测射线的发射方向与基准点检测射线的发射方向相互垂直。
在一种实现方式中,计算机可读存储介质804中的计算机指令由处理器801加载并执行采用目标可行区域检测射线,对游戏地图进行长距离可行区域检测时,具体用于执行如下步骤:
采用目标检测长度对可行检测长度进行更新,得到新的可行检测长度;
采用目标可行区域检测射线,按照新的可行检测长度对游戏地图进行基准点检测;
若目标可行区域检测射线按照新的可行检测长度未检测到基准点,则继续对新的可行检测长度进行更新,并继续执行后续的基准点检测,直至目标可行区域检测射线在更新后的可行检测长度内发生碰撞,或者目标可行区域检测射线在更新后的可行检测长度内检测到基准点,或者更新后的可行检测长度超过检测长度阈值为止;
当目标可行区域检测射线在更新后的可行检测长度内检测到基准点时,生成长距离可行区域检测的检测结果,长距离可行区域检测的检测结果指示目标可行区域检测射线在游戏地图中检测到基准点。
在一种实现方式中,处理单元,用于对候选点进行自扩散检测时,具体用于执行如下步骤:
获取历史点集合,历史点集合中的历史点是根据i-1个候选点集合中的候选点确定的,i-1个候选点集合是第i次可行区域检测之前的i-1次可行区域检测所确定的;
计算候选点与历史点集合中的各个历史点之间的距离;
确定候选点与各个历史点之间的距离中的最小距离;
若最小距离超过距离阈值,则确定候选点满足自扩散条件。
在一种实现方式中,计算机可读存储介质804中的计算机指令由处理器801加载并执行以射线检测起点为中心,在游戏地图中沿多个方向发射可行区域检测射线时,具体用于执行如下步骤:
以射线检测起点为中心,在游戏地图中沿目标方向发射第一条可行区域检测射线;
若第一条可行区域检测射线在目标方向上检测到候选点,则采用第一角度对目标方向进行更新,得到新的目标方向;并以射线检测起点为中心,在游戏地图中沿新的目标方向发射第二条可行区域检测射线;
或者,若第一条可行区域检测射线在目标方向上未检测到候选点,则采用第二角度对目标方向进行更新,得到新的目标方向;并以射线检测起点为中心,在游戏地图中沿新的目标方向发射第二条可行区域检测射线;
若新的目标方向对应的角度未超过角度阈值,则继续采用第一角度或第二角度对新的目标方向进行更新,并继续以射线检测起点为中心发射新的可行区域检测射线,直至更新后的目标方向对应的角度超过角度阈值为止。
在一种实现方式中,计算机可读存储介质804中的计算机指令由处理器801加载并执行以射线检测起点为中心,在游戏地图中沿多个方向发射可行区域检测射线时,具体用于执行如下步骤:
以射线检测起点为中心,在游戏地图中沿目标方向发射第一条可行区域检测射线;
采用目标角度对目标方向进行更新,得到新的目标方向;
以射线检测起点为中心,在游戏地图中沿新的目标方向发射第二条可行区域检测射线;
若新的目标方向对应的角度未超过角度阈值,则继续采用目标角度对新的目标方向进行更新,并继续以射线检测起点为中心发射新的可行区域检测射线,直至更新后的目标方向对应的角度超过角度阈值为止。
在一种实现方式中,计算机可读存储介质804中的计算机指令由处理器801加载并执行根据游戏对象的位置信息确定射线检测起点时,具体用于执行如下步骤:
根据位置信息确定游戏对象在游戏地图中的初始位置点;
将初始位置点确定为射线检测起点;或者,对初始位置点进行偏移处理,将偏移后的初始位置点确定为射线检测起点。
在一种实现方式中,计算机可读存储介质804中的计算机指令由处理器801加载还用于执行如下步骤:
将确定的可行区域加载至目标游戏中;基于导航算法在可行区域中对游戏对象进行智能导航,或者基于可行区域对目标游戏进行测试。
本申请实施例中,根据游戏对象在游戏地图中的位置信息确定射线检测起点后,可以以射线检测起点为中心,在游戏地图中沿多个方向发射可行区域检测射线,对游戏地图进行自扩散的可行区域检测,并根据可行区域检测结果确定游戏对象在游戏地图中的可行区域。可见,通过自扩散的可行区域检测方式,用于对游戏地图进行可行区域检测的射线不断地进行自动扩散、自动检测,这样可以提升游戏地图中可行区域的检测效率,从而可以提升游戏地图中可行区域的确定效率;并且可行区域检测射线在游戏地图中不断地自动扩散,可以避免出现对游戏地图中的部分区域漏检测的情况,这样使得确定出的可行区域更加准确。
根据本申请的一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述各种可选方式中提供的游戏处理方法。
以上所述,为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。

Claims (15)

1.一种游戏处理方法,其特征在于,所述方法包括:
获取游戏对象在目标游戏的游戏地图中的位置信息;
根据所述游戏对象的位置信息确定射线检测起点;
以所述射线检测起点为中心,在所述游戏地图中沿多个方向发射可行区域检测射线,并基于以所述射线检测起点为中心发射的可行区域检测射线,对所述游戏地图进行自扩散的可行区域检测;所述可行区域检测包括短距离可行区域检测或长距离可行区域检测中的至少一种;
根据可行区域检测结果,确定所述游戏对象在所述游戏地图中的可行区域。
2.如权利要求1所述的方法,其特征在于,所述可行区域检测的检测次数为N,N为正整数;每一次可行区域检测均用于确定一个候选点集合,每个候选点集合用于记录每一次可行区域检测过程中检测到的候选点;
所述基于以所述射线检测起点为中心发射的可行区域检测射线,对所述游戏地图进行自扩散的可行区域检测,包括:
基于以所述射线检测起点为中心发射的可行区域检测射线,对所述游戏地图进行第一次可行区域检测,得到第一候选点集合;
若所述第一候选点集合不为空,则将所述第一候选点集合中的候选点确定为扩散的射线检测起点,以所述扩散的射线检测起点为中心,在所述游戏地图中沿多个方向发射可行区域检测射线,并基于以所述扩散的射线检测起点为中心发射的可行区域检测射线,对所述游戏地图进行第二次可行区域检测,得到第二候选点集合;
若所述第二候选点集合不为空,则继续将所述第二候选点集合中的候选点确定为新的扩散的射线检测起点,并继续执行后续次的可行区域检测,直至得到的候选点集合为空为止。
3.如权利要求1所述的方法,其特征在于,所述可行区域检测的检测次数为N,N为正整数;每一次可行区域检测均用于确定一个候选点集合,每个候选点集合用于记录每一次可行区域检测过程中检测到的候选点;所述可行区域检测结果包括N个候选点集合;
所述根据可行区域检测结果,确定所述游戏对象在所述游戏地图中的可行区域,包括:
获取所述N个候选点集合之间的并集;
根据所述并集中的候选点在所述游戏地图中的位置,确定所述游戏对象在所述游戏地图中的可行区域。
4.如权利要求1所述的方法,其特征在于,所述可行区域检测的检测次数为N,N为正整数;任一次可行区域检测表示为第i次可行区域检测,i为大于1且小于或等于N的整数;所述第i次可行区域检测用于确定第i个候选点集合;所述第i次可行区域检测过程中发射的可行区域检测射线,是以第i-1次可行区域检测确定的候选点集合中的候选点为中心发射的;所述第i次可行区域检测过程中发射的任一条可行区域检测射线表示为目标可行区域检测射线;所述第i次可行区域检测的过程,包括:
采用所述目标可行区域检测射线,对所述游戏地图进行短距离可行区域检测;
若短距离可行区域检测的检测结果指示所述目标可行区域检测射线在所述游戏地图中检测到基准点,则根据检测到的基准点确定候选点;
若短距离可行区域检测的检测结果指示所述目标可行区域检测射线在所述游戏地图中未检测到基准点,则采用所述目标可行区域检测射线,对所述游戏地图进行长距离可行区域检测,并在长距离可行区域检测的检测结果指示所述目标可行区域检测射线在所述游戏地图中检测到基准点时,根据检测到的基准点确定候选点;
对所述候选点进行自扩散检测,若自扩散检测结果指示所述候选点满足自扩散条件,则将所述候选点添加至所述第i个候选点集合中。
5.如权利要求4所述的方法,其特征在于,所述采用所述目标可行区域检测射线,对所述游戏地图进行短距离可行区域检测,包括:
采用所述目标可行区域检测射线,按照可行检测长度对所述游戏地图进行碰撞检测;
若所述目标可行区域检测射线在所述可行检测长度内未发生碰撞,则将所述目标可行区域检测射线在所述可行检测长度的终点确定为参考点;
以所述参考点为中心发射基准点检测射线,并采用所述基准点检测射线按照基准点检测长度对所述游戏地图进行碰撞检测;
若所述基准点检测射线在所述基准点检测长度内发生碰撞,则将发生碰撞的碰撞点确定为检测到的基准点,并生成短距离可行区域检测的检测结果,所述短距离可行区域检测的检测结果指示所述目标可行区域检测射线在所述游戏地图中检测到基准点;
其中,所述目标可行区域检测射线的发射方向与所述基准点检测射线的发射方向相互垂直。
6.如权利要求5所述的方法,其特征在于,所述采用所述目标可行区域检测射线,对所述游戏地图进行长距离可行区域检测,包括:
采用目标检测长度对所述可行检测长度进行更新,得到新的可行检测长度;
采用所述目标可行区域检测射线,按照所述新的可行检测长度对所述游戏地图进行基准点检测;
若所述目标可行区域检测射线按照所述新的可行检测长度未检测到基准点,则继续对所述新的可行检测长度进行更新,并继续执行后续的基准点检测,直至所述目标可行区域检测射线在更新后的可行检测长度内发生碰撞,或者所述目标可行区域检测射线在更新后的可行检测长度内检测到基准点,或者更新后的可行检测长度超过检测长度阈值为止;
当所述目标可行区域检测射线在更新后的可行检测长度内检测到基准点时,生成长距离可行区域检测的检测结果,所述长距离可行区域检测的检测结果指示所述目标可行区域检测射线在所述游戏地图中检测到基准点。
7.如权利要求4所述的方法,其特征在于,所述对所述候选点进行自扩散检测,包括:
获取历史点集合,所述历史点集合中的历史点是根据i-1个候选点集合中的候选点确定的,所述i-1个候选点集合是所述第i次可行区域检测之前的i-1次可行区域检测所确定的;
计算所述候选点与所述历史点集合中的各个历史点之间的距离;
确定所述候选点与所述各个历史点之间的距离中的最小距离;
若所述最小距离超过距离阈值,则确定所述候选点满足自扩散条件。
8.如权利要求1所述的方法,其特征在于,所述以所述射线检测起点为中心,在所述游戏地图中沿多个方向发射可行区域检测射线,包括:
以所述射线检测起点为中心,在所述游戏地图中沿目标方向发射第一条可行区域检测射线;
若所述第一条可行区域检测射线在所述目标方向上检测到候选点,则采用第一角度对所述目标方向进行更新,得到新的目标方向;并以所述射线检测起点为中心,在所述游戏地图中沿所述新的目标方向发射第二条可行区域检测射线;或者,
若所述第一条可行区域检测射线在所述目标方向上未检测到候选点,则采用第二角度对所述目标方向进行更新,得到新的目标方向;并以所述射线检测起点为中心,在所述游戏地图中沿所述新的目标方向发射第二条可行区域检测射线;
若所述新的目标方向对应的角度未超过角度阈值,则继续采用第一角度或第二角度对所述新的目标方向进行更新,并继续以所述射线检测起点为中心发射新的可行区域检测射线,直至更新后的目标方向对应的角度超过所述角度阈值为止。
9.如权利要求1所述的方法,其特征在于,所述以所述射线检测起点为中心,在所述游戏地图中沿多个方向发射可行区域检测射线,包括:
以所述射线检测起点为中心,在所述游戏地图中沿目标方向发射第一条可行区域检测射线;
采用目标角度对所述目标方向进行更新,得到新的目标方向;
以所述射线检测起点为中心,在所述游戏地图中沿所述新的目标方向发射第二条可行区域检测射线;
若所述新的目标方向对应的角度未超过角度阈值,则继续采用目标角度对所述新的目标方向进行更新,并继续以所述射线检测起点为中心发射新的可行区域检测射线,直至更新后的目标方向对应的角度超过所述角度阈值为止。
10.如权利要求1所述的方法,其特征在于,所述根据所述游戏对象的位置信息确定射线检测起点,包括:
根据所述位置信息确定所述游戏对象在所述游戏地图中的初始位置点;
将所述初始位置点确定为所述射线检测起点;或者,对所述初始位置点进行偏移处理,将偏移后的初始位置点确定为所述射线检测起点。
11.如权利要求1所述的方法,其特征在于,所述方法还包括:
将确定的可行区域加载至所述目标游戏中;
基于导航算法在所述可行区域中对所述游戏对象进行智能导航,或者基于所述可行区域对所述目标游戏进行测试。
12.一种游戏处理装置,其特征在于,所述游戏处理装置包括:
获取单元,用于获取游戏对象在目标游戏的游戏地图中的位置信息;
处理单元,用于根据所述游戏对象的位置信息确定射线检测起点;
所述处理单元,还用于以所述射线检测起点为中心,在所述游戏地图中沿多个方向发射可行区域检测射线,并基于以所述射线检测起点为中心发射的可行区域检测射线,对所述游戏地图进行自扩散的可行区域检测;所述可行区域检测包括短距离可行区域检测或长距离可行区域检测中的至少一种;
所述处理单元,还用于根据可行区域检测结果,确定所述游戏对象在所述游戏地图中的可行区域。
13.一种计算机设备,其特征在于,所述计算机设备包括:
处理器,适于实现计算机程序;
计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序适于由所述处理器加载并执行如权利要求1至11任一项所述的游戏处理方法。
14.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序适于由处理器加载并执行如权利要求1至11任一项所述的游戏处理方法。
15.一种计算机程序产品,其特征在于,所述计算机程序产品包括计算机指令,所述计算机指令被处理器执行时实现如权利要求1至11任一项所述的游戏处理方法。
CN202111137789.1A 2021-09-27 2021-09-27 游戏处理方法、装置、计算机设备、存储介质及程序产品 Active CN113797543B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111137789.1A CN113797543B (zh) 2021-09-27 2021-09-27 游戏处理方法、装置、计算机设备、存储介质及程序产品

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111137789.1A CN113797543B (zh) 2021-09-27 2021-09-27 游戏处理方法、装置、计算机设备、存储介质及程序产品

Publications (2)

Publication Number Publication Date
CN113797543A true CN113797543A (zh) 2021-12-17
CN113797543B CN113797543B (zh) 2023-06-23

Family

ID=78938611

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111137789.1A Active CN113797543B (zh) 2021-09-27 2021-09-27 游戏处理方法、装置、计算机设备、存储介质及程序产品

Country Status (1)

Country Link
CN (1) CN113797543B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116036601A (zh) * 2023-01-28 2023-05-02 腾讯科技(深圳)有限公司 游戏处理方法、装置及计算机设备、存储介质

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150346964A1 (en) * 2014-05-30 2015-12-03 Gree, Inc. Non-transitory computer-readable storage medium, control method of computer, and computer
CN106582023A (zh) * 2016-12-01 2017-04-26 北京像素软件科技股份有限公司 一种游戏寻路方法和装置
JP6189515B1 (ja) * 2016-11-01 2017-08-30 株式会社コロプラ ゲーム方法およびゲームプログラム
CN110193198A (zh) * 2019-05-23 2019-09-03 腾讯科技(深圳)有限公司 对象跳跃控制方法、装置、计算机设备及存储介质
CN111714891A (zh) * 2020-06-22 2020-09-29 苏州幻塔网络科技有限公司 角色攀爬方法、装置、计算机设备及可读存储介质
CN112044074A (zh) * 2020-09-04 2020-12-08 网易(杭州)网络有限公司 对非玩家角色寻路的方法、装置、存储介质及计算机设备
CN113244619A (zh) * 2021-06-23 2021-08-13 腾讯科技(深圳)有限公司 数据处理方法、装置、设备及存储介质
CN113426124A (zh) * 2021-06-30 2021-09-24 网易(杭州)网络有限公司 游戏中的显示控制方法、装置、存储介质及计算机设备

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150346964A1 (en) * 2014-05-30 2015-12-03 Gree, Inc. Non-transitory computer-readable storage medium, control method of computer, and computer
JP6189515B1 (ja) * 2016-11-01 2017-08-30 株式会社コロプラ ゲーム方法およびゲームプログラム
CN106582023A (zh) * 2016-12-01 2017-04-26 北京像素软件科技股份有限公司 一种游戏寻路方法和装置
CN110193198A (zh) * 2019-05-23 2019-09-03 腾讯科技(深圳)有限公司 对象跳跃控制方法、装置、计算机设备及存储介质
CN111714891A (zh) * 2020-06-22 2020-09-29 苏州幻塔网络科技有限公司 角色攀爬方法、装置、计算机设备及可读存储介质
CN112044074A (zh) * 2020-09-04 2020-12-08 网易(杭州)网络有限公司 对非玩家角色寻路的方法、装置、存储介质及计算机设备
CN113244619A (zh) * 2021-06-23 2021-08-13 腾讯科技(深圳)有限公司 数据处理方法、装置、设备及存储介质
CN113426124A (zh) * 2021-06-30 2021-09-24 网易(杭州)网络有限公司 游戏中的显示控制方法、装置、存储介质及计算机设备

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116036601A (zh) * 2023-01-28 2023-05-02 腾讯科技(深圳)有限公司 游戏处理方法、装置及计算机设备、存储介质

Also Published As

Publication number Publication date
CN113797543B (zh) 2023-06-23

Similar Documents

Publication Publication Date Title
JP5495514B2 (ja) ゲームユーザの入力パターンをコピーしてゲームを遂行するゲームai制御システム及びプログラム
KR101401607B1 (ko) 가상 세계에서의 위치 추적
CN109675313B (zh) 随机游戏地图的生成方法及装置、电子设备、存储介质
EP3575958B1 (en) Object moving method and device, storage medium, and electronic device
CN111729311B (zh) 攀爬跳跃方法、装置、计算机设备及计算机可读存储介质
US11992762B2 (en) Server-based generation of a help map in a video game
Kasapakis et al. Occlusion handling in outdoors augmented reality games
CN111202985A (zh) 2d游戏中的路径规划方法、系统及电子设备
CN113797543B (zh) 游戏处理方法、装置、计算机设备、存储介质及程序产品
US20220305386A1 (en) Playtesting coverage with curiosity driven reinforcement learning agents
CN113244619B (zh) 数据处理方法、装置、设备及存储介质
CN116036601B (zh) 游戏处理方法、装置及计算机设备、存储介质
KR101868286B1 (ko) 게임 맵 랜덤 생성 장치 및 방법
CN113117343A (zh) 游戏互动方法、系统、服务器及存储介质
KR20210106152A (ko) 복귀 지원 시스템을 제공하는 게임 제공 장치 및 게임 제공 장치의 동작 방법
CN114011069A (zh) 虚拟对象的控制方法、存储介质和电子设备
KR100855451B1 (ko) 컴퓨터 게임을 위한 캐릭터 네비게이션 방법
KR102195471B1 (ko) 게임 난이도 결정 방법 및 장치
CN114247132B (zh) 虚拟对象的控制处理方法、装置、设备、介质及程序产品
US20230158406A1 (en) Gps seed for game play
KR102699095B1 (ko) 통합 게임 신고 서비스를 제공하는 방법 및 장치
CN117009206A (zh) 一种热点聚集位置的预测方法、装置、设备及存储介质
CN114768254A (zh) 虚拟场景的寻路方法、设备、电子设备及存储介质
CN115957505A (zh) 游戏中的寻路方法、装置、计算机设备及可读存储介质
CN118416471A (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
GR01 Patent grant
GR01 Patent grant