CN111773713B - 游戏场景中生成游戏对象的方法、装置及系统 - Google Patents

游戏场景中生成游戏对象的方法、装置及系统 Download PDF

Info

Publication number
CN111773713B
CN111773713B CN202010568426.2A CN202010568426A CN111773713B CN 111773713 B CN111773713 B CN 111773713B CN 202010568426 A CN202010568426 A CN 202010568426A CN 111773713 B CN111773713 B CN 111773713B
Authority
CN
China
Prior art keywords
game
sub
effective
generating
game map
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.)
Active
Application number
CN202010568426.2A
Other languages
English (en)
Other versions
CN111773713A (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.)
Netease Hangzhou Network Co Ltd
Original Assignee
Netease Hangzhou Network 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 Netease Hangzhou Network Co Ltd filed Critical Netease Hangzhou Network Co Ltd
Priority to CN202010568426.2A priority Critical patent/CN111773713B/zh
Publication of CN111773713A publication Critical patent/CN111773713A/zh
Application granted granted Critical
Publication of CN111773713B publication Critical patent/CN111773713B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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
    • 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

Landscapes

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

Abstract

本发明的实施例公开一种游戏场景中生成游戏对象的方法、装置及系统。所述方法包括:基于控制指令在与游戏地图对应的第一数值范围内随机产生一个数值作为有效数值;所述游戏地图具有有效区域;所述有效区域由几何图形划分成至少一个子区域;所述第一数值范围中的数值与所述游戏地图中的所述子区域对应;查找与所述有效数值对应的所述子区域;其中,与所述有效数值对应的所述子区域为目标子区域;在所述目标子区域内随机生成一个坐标点作为有效坐标点;在所述游戏地图中的所述有效坐标点生成游戏对象。所述装置用于实现所述方法。所述系统包括所述装置。本发明的实施例可提高效率和响应速度。

Description

游戏场景中生成游戏对象的方法、装置及系统
技术领域
本发明涉及游戏开发技术领域,特别涉及一种游戏场景中生成游戏对象的方法、装置及系统。
背景技术
游戏开发中经常需要在大场景中随机生成游戏对象比如非玩家角色(Non-PlayerCharacter,或Non-Playable Character,简称NPC),非玩家角色的位置必须是一个合法的坐标点。所谓合法坐标点即该点不可为阻挡点或者无法到达的坐标点。如果生成的非玩家角色位置是非法坐标点,则玩家不可到达该坐标点,会影响游戏体验。
对于上述技术问题,一般做法是随机在大地图上生成一个坐标点,如果判断出该坐标点不合法则重新生成,直到随机出合法坐标点位置。
上述方法虽然有效,但效率很低,当地图的阻挡区域较多时可能需要很多次随机才能找到合法坐标点。一种改进方案是提前填好一些有效点,然后直接在这些有效点中随机,这种方案虽然能保证一次随处有效点,但需要提前找到有效点,这显然不是一种最优方案。
直接随机的方案效率较低,如果碰到极端情况,可能一直随机不出有效坐标点,降低系统响应速度;提前填好固定坐标点,然后随机的方案需要提前找出很多坐标点。
以上背景技术内容的公开仅用于辅助理解本发明的发明构思及技术方案,其并不必然属于本发明的现有技术,在没有明确的证据表明上述内容在本发明的申请日之前已经公开的情况下,上述背景技术不应当用于评价本发明的新颖性和创造性。
发明内容
本发明提出一种游戏场景中生成游戏对象的方法、装置及系统,可提高效率和响应速度。
在第一方面,本发明提供一种游戏场景中生成游戏对象的方法,包括:C1、基于控制指令在与游戏地图对应的第一数值范围内随机产生一个数值作为有效数值;所述游戏地图具有有效区域;所述有效区域由几何图形划分成至少一个子区域;所述第一数值范围中的数值与所述游戏地图中的所述子区域对应;C2、查找与所述有效数值对应的所述子区域;其中,与所述有效数值对应的所述子区域为目标子区域;C3、在所述目标子区域内随机生成一个坐标点作为有效坐标点;C4、在所述游戏地图中的所述有效坐标点生成游戏对象。
在第二方面,本发明还提供一种游戏场景中生成游戏对象的方法,包括:D1、用几何图形将游戏地图中的有效区域划分为至少一个子区域;D2、标记每个所述子区域在所述游戏地图中的位置;D3、对每个所述子区域的大小进行计算,得到表征所述子区域的大小的量值;D4、基于所有的所述量值生成第一数值范围;所述第一数值范围中的数值与所述游戏地图中的子区域对应;D5、向计算装置传输第一数据,以使所述计算装置基于所述第一数据实现:在所述第一数值范围内随机产生一个数值作为有效数值以查找与所述有效数值对应的所述子区域;其中,与所述有效数值对应的所述子区域为目标子区域;在所述目标子区域内随机生成一个坐标点作为有效坐标点;在所述游戏地图中的所述有效坐标点生成游戏对象。
在一些优选的实施方式中,与所述子区域对应的所有所述数值在所述第一数值范围中的占比与所述子区域的大小成正比。
在一些优选的实施方式中,所述C3具体为:根据至少一部分标记信息,在所述目标子区域内随机生成一个坐标点作为有效坐标点;所述标记信息标记所述目标子区域在所述游戏地图中的位置。
在一些优选的实施方式中,所述标记信息包括坐标点、所述几何图形的几何量和所述几何图形的形状信息中的一者或多者。
在一些优选的实施方式中,还包括:D1、用几何图形将所述游戏地图中的有效区域划分为至少一个所述子区域;D2、标记每个所述子区域在所述游戏地图中的位置;D3、对每个所述子区域的大小进行计算,得到表征所述子区域的大小的量值;D4、基于所有的所述量值生成所述第一数值范围。
在一些优选的实施方式中,所述D2具体为:用坐标点和所述几何图形的几何量标记每个所述子区域在所述游戏地图中的位置;或者,用坐标点和所述几何图形的形状信息标记每个所述子区域在所述游戏地图中的位置。
在一些优选的实施方式中,所述D4包括:将所有的所述量值累加,得到累加值;根据所述累加值生成所述第一数值范围。
在一些优选的实施方式中,所述根据所述累加值生成所述第一数值范围具体为:将零至所述累加值形成的数值范围作为所述第一数值范围;
所述D4还包括:将所述第一数值范围划分为与各个所述子区域对应的子范围,各个所述子范围的跨度与相应的所述子区域对应的所述量值的大小成正比。
在一些优选的实施方式中,各个所述子范围的跨度为相应的所述子区域对应的所述量值的大小。
在一些优选的实施方式中,表征所述子区域的大小的量值包括:所述几何图形的面积的数值、所述几何图形的周长的数值、所述几何图形的半径的数值、所述几何图形的直径的数值和所述几何图形的对角线的数值。
在一些优选的实施方式中,所述几何图形的形状为矩形;
所述D2为:用所述矩形的两个对角点在所述游戏地图中的坐标点,标记每个所述矩形在所述游戏地图中的位置;
所述D3为:对每个所述子区域的面积进行计算,得到每个所述子区域的面积的量值;
所述C3为:根据所述目标子区域的形状和所述矩形的两个对角点在所述游戏地图中的坐标点,确定所述目标子区域的坐标随机范围,在所述坐标随机范围内随机生成一个坐标点作为有效坐标点。
在一些优选的实施方式中,所述矩形的两个对角点在所述游戏地图中的坐标点分别为(x1,y1)和(x2,y2);所述目标子区域的坐标随机范围为[x1,x2]和[y1,y2];在[x1,x2]随机生成一个值,记为x0;在[y1,y2]随机生成一个值,记为y0;所述有效坐标点为(x0,y0)。
在一些优选的实施方式中,所述几何图形的形状的具体形式包括矩形、圆形、三角形和边数大于四的正多边形。
在一些优选的实施方式中,所述几何量包括半径和边长。
在一些优选的实施方式中,所述游戏对象包括非玩家对象和玩家对象;所述非玩家对象包括非玩家角色和游戏物品。
在一些优选的实施方式中,还包括:向客户端发送第二数据,以使所述客户端显示所述游戏对象。
在一些优选的实施方式中,还包括:加载所述游戏地图。
在第三方面,本发明提供一种游戏场景中生成游戏对象的装置,包括有效数值生成单元、查找单元、有效坐标生成单元和游戏对象生成单元;
所述有效数值生成单元用于在与游戏地图对应的第一数值范围内随机产生一个数值作为有效数值;所述游戏地图具有有效区域;所述有效区域由几何图形划分成至少一个子区域;所述第一数值范围中的数值与所述游戏地图中的所述子区域对应;
所述查找单元用于查找与所述有效数值对应的所述子区域;其中,与所述有效数值对应的所述子区域为目标子区域;
有效坐标生成单元用于在所述目标子区域内随机生成一个坐标点作为有效坐标点;
游戏对象生成单元用于在所述游戏地图中的所述有效坐标点生成游戏对象。
在一些优选的实施方式中,所述查找单元具体用于根据至少一部分标记信息,在所述目标子区域内随机生成一个坐标点作为有效坐标点;所述标记信息标记所述目标子区域在所述游戏地图中的位置。
在一些优选的实施方式中,还包括有效区域划分单元、位置标记单元、大小计算单元和数值范围生成单元;
所述有效区域划分单元用于用几何图形将所述游戏地图中的有效区域划分为至少一个所述子区域;
位置标记单元用于标记每个所述子区域在所述游戏地图中的位置;
大小计算单元用于对每个所述子区域的大小进行计算,生成表征所述子区域的大小的量值;
数值范围生成单元用于基于所有的所述量值生成所述第一数值范围。
在一些优选的实施方式中,所述位置标记单元具体用于:用坐标点和所述几何图形的几何量标记每个所述子区域在所述游戏地图中的位置;或者,用坐标点和所述几何图形的形状信息标记每个所述子区域在所述游戏地图中的位置。
在一些优选的实施方式中,所述数值范围生成单元具体用于:将所有的所述量值累加,得到累加值;根据所述累加值生成所述第一数值范围。
在一些优选的实施方式中,所述数值范围生成单元还用于:将所述第一数值范围划分为与各个所述子区域对应的子范围,各个所述子范围的跨度与相应的所述子区域对应的所述量值的大小成正比。
在一些优选的实施方式中,所述几何图形的形状为矩形;
所述位置标记单元具体用于:用所述矩形的两个对角点在所述游戏地图中的坐标点,标记每个所述矩形在所述游戏地图中的位置;
所述大小计算单元具体用于:对每个所述子区域的面积进行计算,得到每个所述子区域的面积的量值;
所述有效坐标生成单元具体用于:根据所述目标子区域的形状和所述矩形的两个对角点在所述游戏地图中的坐标点,确定所述目标子区域的坐标随机范围,在所述坐标随机范围内随机生成一个坐标点作为有效坐标点。
在第四方面,本发明提供一种计算装置,包括一个或多个处理器、存储器和一个或多个程序;其中所述一个或多个程序被存储在所述存储器中并被配置为由所述一个或多个处理器执行,所述一个或多个程序包括用于执行上述方法的指令。
在第五方面,本发明提供一种开发装置,包括一个或多个处理器、存储器和一个或多个程序;其中所述一个或多个程序被存储在所述存储器中并被配置为由所述一个或多个处理器执行,所述一个或多个程序包括用于执行上述方法的指令。
在第六方面,本发明提供一种计算机可读存储介质,所述计算机可读存储介质中存储有程序指令,所述程序指令被计算机的处理器执行时使所述处理器执行上述方法。
与现有技术相比,本发明的实施例的有益效果有:
用几何图形对游戏地图中的有效区域进行划分,得到与第一数值范围中的数值对应的子区域;在第一数值范围内随机产生一个数值作为有效数值;基于第一数值范围与子区域的对应关系,查找有效数值对应的子区域,作为目标子区域并在目标子区域内随机生成一个坐标点作为有效坐标点;后续在游戏地图中的有效坐标点生成游戏对象;可保证一次就随机生成有效坐标点,可提高效率和响应速度。
附图说明
图1示出本发明第一实施例的游戏场景中生成游戏对象的系统的信息交互图;
图2示出本发明第二实施例的游戏场景中生成游戏对象的方法的流程;
图3示出本发明第一实施例的游戏地图;
图4示出本发明第一实施例的累加值与各个子区域之间的对应关系;
图5示出本发明第一实施例的有效数值与目标子区域之间的对应关系;
图6示出本发明第二实施例的游戏场景中生成游戏对象的装置的结构;
图7示出本发明第一实施例的开发装置的结构;
图8示出本发明第一实施例的计算装置的结构。
具体实施方式
为了使本发明实施例所要解决的技术问题、技术方案及有益效果更加清楚明白,以下结合图1至图8及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
需要说明的是,当元件被称为“固定于”或“设置于”另一个元件,它可以直接在另一个元件上或者间接在该另一个元件上。当一个元件被称为是“连接”另一个元件,它可以是直接连接到另一个元件或间接连接至该另一个元件上。另外,连接即可以是用于固定作用也可以是用于电路连通作用。
需要理解的是,术语“长度”、“宽度”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明实施例和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多该特征。在本发明实施例的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
第一实施例
本实施例提供一种游戏场景中生成游戏对象的方法,包括两部分,分别为预处理部分和后处理部分。其中,后处理部分是基于预处理部分的处理结果来进行的。
参考图1,本实施例提供一种游戏场景中生成游戏对象的系统;该系统包括开发装置10、计算装置20和客户端30。预处理部分和后处理部分在不同的装置上执行:预处理部分在开发装置10上先产生处理结果,然后该处理结果以数据的形式传输至计算装置20,后处理部分在计算装置20上基于该处理结果运行;计算装置20与客户端30进行通信,具体是向客户端30发送数据以使客户端30上显示相应的游戏对象。
下面结合本实施例的方法和系统对本实施例进行详细说明。
游戏对象为非玩家对象,具体为非玩家角色。在其它实施例中,非玩家对象是游戏物品,比如游戏中的宝箱和药品。在其它实施例中,游戏对象是玩家对象;其中,玩家对象包括玩家角色和用于辅助玩家角色的对象比如宠物或玩家角色的分身。
参考图1,本实施例的游戏场景中生成游戏对象的方法的预处理部分包括步骤D1至步骤D5。如前所述,由开发装置10执行步骤D1至步骤D5。其中,开发装置10为微服务器或者个人计算机。
步骤D1、用几何图形将游戏地图中的有效区域划分为至少一个子区域。
开发装置10加载所要处理的游戏地图,比如读取游戏地图的数据或者将游戏地图在屏幕上显示出来;然后用矩形对游戏地图中的有效区域进行划分。其中,矩形可以是长方形或正方形。基于有效区域的分布情况,需要用多个矩形标出有效区域,比如多个尺寸不同的矩形,直到将所有的有效区域都标出。
由矩形标出的有效区域为子区域。子区域的形状为矩形的。子区域的数量为多个。
在其它实施例中,用圆形、三角形或边数大于四的正多边形对游戏地图中的有效区域进行划分。此外,还可以结合不同形状的几何图形,比如用矩形和圆形,对游戏地图中的有效区域划分。
步骤D2、标记每个子区域在游戏地图中的位置。
具体是用标记信息标记目标子区域在游戏地图中的位置。其中,标记信息包括坐标点、几何图形的几何量和几何图形的形状信息中的一者或多者。
对于矩形的子区域,用坐标点标记其在游戏地图中的位置;具体的,用矩形的两个对角点在游戏地图中的坐标点,标记每个矩形在游戏地图中的位置。
由于子区域的形状是矩形的,两个对角坐标点可限定其在游戏地图中的位置。
参考图3,外边界的矩形1表示整个游戏地图(或者说整个大地图场景),带阴影线的不规则区域表示阻挡区域2,外边界内的矩形表示有效的区域(在图3中,有效区域并没有全部标记出,只画出部分用于展示);只需要用两个对角坐标点来描述一个子区域3,例如:图3中的r1矩形区域用P1(x1,y1)和P2(x2,y2)两个点即可表示。
步骤D3、对每个子区域的大小进行计算,得到表征子区域的大小的量值。
对每个矩形子区域的面积进行计算;具体是根据每个矩形子区域的两个对角坐标点来计算面积,得到每个矩形子区域的面积的数值;例如:r1矩形区域的面积s1=(|x1-x2|*|y1-y2|)。如此,表征子区域的大小的量值就是矩形的面积的数值。
在其它实施例中,对每个子区域的大小进行计算是计算几何图形的周长、几何图形的半径、几何图形的直径或者几何图形的对角线,比如:圆形的半径或直径、纵横比恒定的矩形比如正方形的对角线;如此,表征子区域的大小的量值包括:几何图形的周长的数值、几何图形的半径的数值、几何图形的直径的数值和几何图形的对角线的数值。
步骤D4、基于所有的量值生成第一数值范围。
参考图3和图4,假设共有m个矩形子区域3,将所有的量值累加,也就是将所有的矩形子区域的面积的数值累加在一起,得到累加值t,其中,t=s1+s2+...+sm;累加值t为所有矩形子区域的面积的数值总和。然后,根据累加值t生成第一数值范围。该第一数值范围是与指定的游戏地图相对应的。
根据累加值生成第一数值范围的一种方式为:将零至累加值t形成的数值范围作为第一数值范围;比如,累加值t为18,则将0至18(也即[0,18])作为第一数值范围(也即[0,t])。在其它实施例中,将大于零的数至累加值t形成的数值范围作为第一数值范围。
第一数值范围中的数值与游戏地图中的子区域对应;示例的,与子区域对应的所有数值在第一数值范围中的占比与子区域的大小成正比,也就是:某个子区域的大小(比如面积的数值)越大,则第一数值范围中与该子区域对应的数值就越多(或者说与该子区域对应的数值范围就越大)。
第一数值范围中与游戏地图中的某个子区域对应的所有数值,可以是连在一起的,也可以是间断或者分散的。参考图4,所有数值连在一起的一种实现方式为:将第一数值范围划分为与各个子区域对应的子范围,各个子范围的跨度与相应的子区域对应的量值的大小成正比;比如:各个子范围的跨度为相应的子区域对应的量值的大小;或者,各个子范围的跨度为相应的子区域对应的量值缩小或放大后得到的值。
得到第一数值范围后,开发装置10将第一数值范围与指定的游戏地图关联在一起作为第一数据存储在自身的存储器中。
步骤D5、向计算装置传输第一数据。
预处理部分完成之后,就可运行后处理部分。开发装置10将第一数据传输给计算装置20;具体是通过网络传输给计算装置20。在其它实施例中,开发装置10通过存储介质将第一数据传输给计算装置20。计算装置20接收到第一数据后,基于第一数据执行后处理部分。示例的,第一数据包括第一数值范围的数据和具有子区域的游戏地图的数据,只要能使计算装置20基于第一数据执行后处理部分即可。其中,计算装置20为服务器。
参考图1,本实施例的游戏场景中生成游戏对象的方法的后处理部分包括步骤C1至步骤C4。
步骤C1、基于控制指令在与游戏地图对应的第一数值范围内随机产生一个数值作为有效数值。
需要生成非玩家角色的每张游戏地图都对应有第一数值范围。不同的游戏地图对应的第一数值范围可以相同,也可以不同。
计算装置20在收到控制指令后,比如由游戏管理员触发的指示生成非玩家角色的指令,在第一数值范围内随机产生的数值具有相同的精度,比如都是精确到小数点后一位或者都为整数。以第一数值范围[0,18]为例:在第一次生成非玩家角色时,随机产生一个数值比如3.1作为有效数值r;在第二次生成非玩家角色时,随机产生一个数值比如8.8作为有效数值r。
步骤C2、查找与有效数值对应的子区域;其中,与有效数值对应的子区域为目标子区域。
如前所述,第一数值范围中的数值与游戏地图中的子区域是对应的,因此,根据产生的有效数值r可以找到对应的子区域。参考图5,将找到的子区域作为目标子区域sn。
步骤C3、在目标子区域内随机生成一个坐标点作为有效坐标点。
根据目标子区域sn在游戏地图中的位置,可在目标子区域内随机生成一个坐标点作为有效坐标点。
由于各个子区域都是矩形的,它们在游戏地图中的位置由矩形的两个对角坐标点限定,找到目标子区域sn之后,根据目标子区域sn的形状和矩形的两个对角点在游戏地图中的坐标点,确定目标子区域的坐标随机范围。然后,在坐标随机范围内随机生成一个坐标点作为有效坐标点。具体而言,参考图3,假设某个矩形的两个对角点在游戏地图中的坐标点分别为(x1,y1)和(x2,y2),其中,x1小于x2,y1小于y2;那么,目标子区域sn的x坐标随机范围就是[x1,x2],y坐标随机范围就是[y1,y2];在[x1,x2]随机生成一个值,记为x0;在[y1,y2]随机生成一个值,记为y0;便可得到有效坐标点(x0,y0)。
步骤C4、在游戏地图中的有效坐标点生成游戏对象。
得到有效坐标点之后,按要求在游戏地图中的有效坐标点生成非玩家角色。此外,计算装置20向客户端30传输第二数据,第二数据比如为包含有效坐标点的数据,使得客户端30在屏幕上的有效坐标点显示生成的非玩家角色;其中,客户端30可以是移动终端或者个人计算机。如此,用户通过客户端30控制玩家角色可到达该非玩家角色所在的坐标点。示例的,在大型多人在线角色扮演游戏(MMORPG)中,多个玩家角色在游戏副本地图(也即前述游戏地图)中完成任务后,计算装置20在游戏副本地图的有效区域中随机生成一个非玩家角色,最先达到该非玩家角色所在位置的玩家角色可获得除任务奖励之外的额外奖励。
在其它实施例中,用坐标点和几何图形的几何量标记每个子区域在游戏地图中的位置;其中,几何量包括半径和边长;比如,用圆心坐标点和半径来标记圆形的子区域在游戏地图中的位置。在后续的步骤C3中,将圆心角和到圆心的距离作为坐标随机范围,根据随机得到的圆心角和到圆心的距离计算出一个坐标点作为有效坐标点。
在其它实施例中,对于圆形的子区域,用两个坐标点和几何图形为圆形的形状信息标记每个子区域在游戏地图中的位置;也即,用坐标点和几何图形的形状信息标记每个子区域在游戏地图中的位置;其中,前述两个坐标点是位于圆形的边上的。在后续的步骤C3中,根据前述两个坐标点计算出圆心坐标点,将圆心角和到圆心的距离作为坐标随机范围,再根据随机得到的圆心角和到圆心的距离计算出一个坐标点作为有效坐标点。
参考图7,本实施例的开发装置10的一种形式为:包括一个或多个处理器301A、存储器302A和一个或多个程序;其中一个或多个程序被存储在存储器302A中并被配置为由一个或多个处理器301A执行,一个或多个程序包括用于执行上述游戏场景中生成游戏对象的方法的指令。
参考图8,本实施例的计算装置20的一种形式为:包括一个或多个处理器301B、存储器302B和一个或多个程序;其中一个或多个程序被存储在存储器302B中并被配置为由一个或多个处理器301B执行,一个或多个程序包括用于执行上述游戏场景中生成游戏对象的方法的指令。
根据上述可知,用几何图形对游戏地图中的有效区域进行划分,得到与第一数值范围中的数值对应的子区域3;子区域3对应的所有数值在第一数值范围中的占比与子区域3的大小成正比;在第一数值范围内随机产生一个数值作为有效数值;基于第一数值范围与子区域3的对应关系,查找有效数值对应的子区域3,作为目标子区域并在目标子区域内随机生成一个坐标点作为有效坐标点;后续在游戏地图中的有效坐标点生成非玩家角色;即使地图区域是连续空间,也能形成所有的有效区域的坐标点集合;可保证一次就能在游戏地图的有效区域随机生成有效坐标点,能保证非玩家角色出现在有效区域的每个坐标点的概率相等,可提高系统的效率和响应速度,从而提高用户体验。
第二实施例
本实施例与第一实施例的区别在于:预处理部分和后处理部分在同一个装置比如计算装置20上执行;在同一个装置上,预处理部分先产生处理结果,后处理部分再基于该处理结果运行,也即,先运行预处理部分,然后再运行后处理部分。
具体的,参考图2,在本实施例中,预处理部分包括前述步骤D1至步骤D4,后处理部分包括前述步骤C1至步骤C4。
本实施例还提供一种游戏场景中生成游戏对象的装置;该装置为前述计算装置20。参考图6,本实施例的计算装置20包括有效区域划分单元101、位置标记单元102、大小计算单元103、数值范围生成单元104、有效数值生成单元201、查找单元202、有效坐标生成单元203和游戏对象生成单元204。
由有效区域划分单元101实现步骤D1。由位置标记单元102实现步骤D2。由大小计算单元103实现步骤D3。由数值范围生成单元104实现步骤D4。由有效数值生成单元201实现步骤C1。由查找单元202实现步骤C2。由有效坐标生成单元203实现步骤C3。由游戏对象生成单元204实现步骤C4。
本发明的实施例的游戏场景中生成游戏对象的方法将矩形的面积作为随机权重在有效区域内随机生成有效坐标点,为一种基于区域的带权重的生成游戏对象位置的方法。
本发明的实施例不需要把所有的有效点都标记出,只需用矩形区域将有效区域标记出;用矩形面积随机找出目标子区域,然后在目标子区域随机生成有效坐标点;在随机过程中每个坐标点被选中的概率相等,可保证随机的公平性,且一次就能在游戏地图的有效区域随机生成有效坐标点;可减少工作量以及占用的系统资源,可大大提高效率和响应速度,可提高用户体验。
本领域的技术人员可以理解实施例方法中的全部或部分流程可以由计算机程序来命令相关的硬件完成,程序可存储于计算机可读取存储介质中,程序在执行时,可包括如各方法实施例的流程。而前述的存储介质包括:ROM或随机存储记忆体RAM、磁碟或者光盘等各种可存储程序代码的介质。
以上内容是结合具体/优选的实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,其还可以对这些已描述的实施方式做出若干替代或变型,比如实施例方法中步骤的顺序改变,而这些替代或变型方式都应当视为属于本发明的保护范围。

Claims (13)

1.一种游戏场景中生成游戏对象的方法,其特征在于,包括:
C1、基于控制指令在与游戏地图对应的第一数值范围内随机产生一个数值作为有效数值;所述游戏地图具有有效区域;所述有效区域由几何图形划分成至少一个子区域;所述第一数值范围中的数值与所述游戏地图中的所述子区域对应;
C2、查找与所述有效数值对应的所述子区域;其中,与所述有效数值对应的所述子区域为目标子区域;
C3、在所述目标子区域内随机生成一个坐标点作为有效坐标点;
C4、在所述游戏地图中的所述有效坐标点生成游戏对象;
步骤C1包括:
D1、用几何图形将所述游戏地图中的有效区域划分为至少一个所述子区域;
D2、标记每个所述子区域在所述游戏地图中的位置;
D3、对每个所述子区域的大小进行计算,得到表征所述子区域的大小的量值;
D4、基于所有的所述量值生成所述第一数值范围;其中,将所述第一数值范围划分为与各个所述子区域对应的子范围,各个所述子范围在所述第一数值范围中的占比与相应的所述子区域对应的所述量值的大小成正比。
2.根据权利要求1所述方法,其特征在于,所述C3具体为:根据至少一部分标记信息,在所述目标子区域内随机生成一个坐标点作为有效坐标点;所述标记信息标记所述目标子区域在所述游戏地图中的位置。
3.根据权利要求2所述方法,其特征在于:所述标记信息包括坐标点、所述几何图形的几何量和所述几何图形的形状信息中的一者或多者。
4.根据权利要求1所述方法,其特征在于,所述D4包括:将所有的所述量值累加,得到累加值;根据所述累加值生成所述第一数值范围。
5.根据权利要求4所述方法,其特征在于,
所述根据所述累加值生成所述第一数值范围具体为:将零至所述累加值形成的数值范围作为所述第一数值范围。
6.根据权利要求5所述方法,其特征在于:各个所述子范围的跨度为相应的所述子区域对应的所述量值的大小。
7.根据权利要求1所述方法,其特征在于,所述几何图形的形状为矩形;
所述D2为:用所述矩形的两个对角点在所述游戏地图中的坐标点,标记每个所述矩形在所述游戏地图中的位置;
所述D3为:对每个所述子区域的面积进行计算,得到每个所述子区域的面积的量值;
所述C3为:根据所述目标子区域的形状和所述矩形的两个对角点在所述游戏地图中的坐标点,确定所述目标子区域的坐标随机范围,在所述坐标随机范围内随机生成一个坐标点作为有效坐标点。
8.根据权利要求7所述方法,其特征在于:所述矩形的两个对角点在所述游戏地图中的坐标点分别为(x1,y1)和(x2,y2);所述目标子区域的坐标随机范围为[x1,x2]和[y1,y2];在[x1,x2]随机生成一个值,记为x0;在[y1,y2]随机生成一个值,记为y0;所述有效坐标点为(x0,y0)。
9.根据权利要求1所述方法,其特征在于,所述D2具体为:用坐标点和所述几何图形的几何量标记每个所述子区域在所述游戏地图中的位置;或者,用坐标点和所述几何图形的形状信息标记每个所述子区域在所述游戏地图中的位置。
10.根据权利要求9所述方法,其特征在于,
所述游戏对象包括非玩家对象和玩家对象;所述非玩家对象包括非玩家角色和游戏物品;
所述几何量包括半径和边长;
所述几何图形的形状的具体形式包括矩形、圆形、三角形和边数大于四的正多边形;
还包括:加载所述游戏地图;
还包括:向客户端发送第二数据,以使所述客户端显示所述游戏对象;
表征所述子区域的大小的量值包括:所述几何图形的面积的数值、所述几何图形的周长的数值、所述几何图形的半径的数值、所述几何图形的直径的数值和所述几何图形的对角线的数值。
11.一种计算装置,其特征在于:包括一个或多个处理器、存储器和一个或多个程序;其中所述一个或多个程序被存储在所述存储器中并被配置为由所述一个或多个处理器执行,所述一个或多个程序包括用于执行根据权利要求1至10任一项所述方法的指令。
12.一种游戏场景中生成游戏对象的系统,其特征在于:包括根据权利要求11所述计算装置。
13.一种计算机可读存储介质,其特征在于:所述计算机可读存储介质中存储有程序指令,所述程序指令被计算机的处理器执行时使所述处理器执行根据权利要求1至10任一项所述方法。
CN202010568426.2A 2020-06-19 2020-06-19 游戏场景中生成游戏对象的方法、装置及系统 Active CN111773713B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010568426.2A CN111773713B (zh) 2020-06-19 2020-06-19 游戏场景中生成游戏对象的方法、装置及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010568426.2A CN111773713B (zh) 2020-06-19 2020-06-19 游戏场景中生成游戏对象的方法、装置及系统

Publications (2)

Publication Number Publication Date
CN111773713A CN111773713A (zh) 2020-10-16
CN111773713B true CN111773713B (zh) 2024-01-19

Family

ID=72756900

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010568426.2A Active CN111773713B (zh) 2020-06-19 2020-06-19 游戏场景中生成游戏对象的方法、装置及系统

Country Status (1)

Country Link
CN (1) CN111773713B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112396697B (zh) * 2020-11-20 2022-12-06 上海莉莉丝网络科技有限公司 游戏地图内区域生成方法、系统及计算机可读存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180078215A (ko) * 2018-07-02 2018-07-09 주식회사 패튼코 게임 맵을 제공 및 표시하는 방법
CN109675316A (zh) * 2019-01-08 2019-04-26 网易(杭州)网络有限公司 游戏场景图生成方法及装置
CN110215706A (zh) * 2019-06-20 2019-09-10 腾讯科技(深圳)有限公司 虚拟对象的位置确定方法、装置、终端及存储介质
CN111135574A (zh) * 2019-12-25 2020-05-12 网易(杭州)网络有限公司 游戏场景生成方法、装置、计算机可读介质及电子设备

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180078215A (ko) * 2018-07-02 2018-07-09 주식회사 패튼코 게임 맵을 제공 및 표시하는 방법
CN109675316A (zh) * 2019-01-08 2019-04-26 网易(杭州)网络有限公司 游戏场景图生成方法及装置
CN110215706A (zh) * 2019-06-20 2019-09-10 腾讯科技(深圳)有限公司 虚拟对象的位置确定方法、装置、终端及存储介质
CN111135574A (zh) * 2019-12-25 2020-05-12 网易(杭州)网络有限公司 游戏场景生成方法、装置、计算机可读介质及电子设备

Also Published As

Publication number Publication date
CN111773713A (zh) 2020-10-16

Similar Documents

Publication Publication Date Title
CN112862935B (zh) 游戏角色的运动处理方法及装置、存储介质、计算机设备
CN110833694B (zh) 游戏中的显示控制方法及装置
CN109741436B (zh) 一种渲染矢量数据的方法及装置
KR102539606B1 (ko) 가상 객체의 이동을 제어하기 위한 방법과 장치, 및 단말기와 저장 매체
CN109675309B (zh) 一种游戏场景的构造方法和装置
CN112090078B (zh) 游戏角色移动控制方法、装置、设备和介质
US20230082928A1 (en) Virtual aiming control
CN111773713B (zh) 游戏场景中生成游戏对象的方法、装置及系统
US20230298237A1 (en) Data processing method, apparatus, and device and storage medium
CN116628123B (zh) 基于空间数据库的动态切片生成方法和系统
CN111813952A (zh) 一种知识图谱的三维展示方法及装置
JP2015080673A (ja) 仮想空間の表示画像を生成するためのシステム、プログラム及び方法
CN114241105A (zh) 界面渲染方法、装置、设备和计算机可读存储介质
CN116966561A (zh) 游戏中的战术指挥方法、装置和电子设备
JP5617021B1 (ja) 仮想空間の表示画像を生成するためのシステム、プログラム及び方法
CN114781140A (zh) 激光雷达点云仿真方法、装置和计算机设备
CN114490753A (zh) 展示地图信息的方法、装置、电子设备及介质
CN114155334A (zh) 一种场景渲染方法、装置、计算机设备及存储介质
CN113797531A (zh) 遮挡剔除实现方法、装置、计算机设备及存储介质
CN113786611B (zh) 一种游戏场景中的树木展示方法、装置和系统
CN117065331B (zh) 一种游戏场景加载控制方法及系统
CN112402972B (zh) 游戏单位分散方法及系统
CN116416137B (zh) 图像拼接方法、装置、设备和存储介质
CN112052864B (zh) 一种图像绘制方法、装置、电子设备及可读存储介质
CN110703963B (zh) 3d文字展示方法、介质、设备及装置

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