CN111467808A - 一种游戏实体更新的方法和装置 - Google Patents

一种游戏实体更新的方法和装置 Download PDF

Info

Publication number
CN111467808A
CN111467808A CN202010313408.XA CN202010313408A CN111467808A CN 111467808 A CN111467808 A CN 111467808A CN 202010313408 A CN202010313408 A CN 202010313408A CN 111467808 A CN111467808 A CN 111467808A
Authority
CN
China
Prior art keywords
entity
determining
entities
position information
processed
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
CN202010313408.XA
Other languages
English (en)
Other versions
CN111467808B (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 CN202010313408.XA priority Critical patent/CN111467808B/zh
Publication of CN111467808A publication Critical patent/CN111467808A/zh
Application granted granted Critical
Publication of CN111467808B publication Critical patent/CN111467808B/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/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/69Generating 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 enabling or updating specific game elements, e.g. unlocking hidden features, items, levels or versions
    • 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/40Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment
    • A63F13/42Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment by mapping the input signals into game commands, e.g. mapping the displacement of a stylus on a touch screen to the steering angle of a virtual vehicle
    • A63F13/426Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment by mapping the input signals into game commands, e.g. mapping the displacement of a stylus on a touch screen to the steering angle of a virtual vehicle involving on-screen location information, e.g. screen coordinates of an area at which the player is aiming with a light gun

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Human Computer Interaction (AREA)
  • User Interface Of Digital Computer (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本发明实施例提供了一种游戏实体更新的方法和装置,通过终端提供图形用户界面,所述图形用户界面包含至少一虚拟角色,所述方法包括:获取虚拟角色的位置信息;根据虚拟角色的位置信息确定待处理实体集合;从待处理实体集合中,确定满足预设推送条件的目标实体;生成针对目标实体的推送消息,并将推送消息发送至客户端,以在客户端中根据推送消息对相应的目标实体进行处理。通过建立待处理实体集合,从而可以避免将待处理实体直接发送给客户端进行处理,降低客户端的性能开销。

Description

一种游戏实体更新的方法和装置
技术领域
本发明涉及网络游戏技术领域,特别是涉及一种游戏实体更新的方法和一种游戏实体更新的装置。
背景技术
在有大型场景的网络游戏中,由于一个地图上可能会有成千上万的实体(该实体可以是怪物或者其他玩家等),将这些实体的数据全部同步给游戏客户端,会对客户端造成很大的性能开销以及资源浪费。
目前,主要采用服务器AOI(Area Of Interest,感兴趣区域)推送来解决这个问题。推送的方法是实现一种基本的框架,当实体处于玩家附近的一个区域内(通过是圆形范围或者矩形范围,称为AOI区域)时,则将实体推送至该玩家的游戏客户端,当实体离开这个区域时,则将实体从该玩家的游戏客户端中移除。
如图1所示,假设有2个由玩家控制的虚拟对象P1,P2,怪物{m1,m2,m3,m4,m5}。假设P1对应的AOI区域为圆形区域1,P2对应的AOI区域为圆形区域2。那么需要推送给P1的怪物集合为{m1,m2,m3},需要推送给P2的怪物集合为{m3},不在圆形区域内的实体是玩家的客户端不关心的区域,不需要推送给玩家。然而,直接将AOI区域中的实体发送给客户端进行处理,推送的一些实体可能不符合客户端的显示条件,客户端将不会显示这些实体,对客户端造成额外的性能开销。
发明内容
鉴于上述问题,提出了本发明实施例以便提供一种克服上述问题或者至少部分地解决上述问题的一种游戏实体更新的方法和相应的一种游戏实体更新的装置。
本发明实施例公开了一种游戏实体更新的方法,通过终端提供图形用户界面,所述图形用户界面包含至少一虚拟角色,所述方法包括:
获取所述虚拟角色的位置信息;
根据所述虚拟角色的位置信息确定待处理实体集合;
从所述待处理实体集合中,确定满足预设推送条件的目标实体;
生成针对所述目标实体的推送消息,并将所述推送消息发送至客户端,以在所述客户端中根据所述推送消息对相应的所述目标实体进行处理。
可选地,所述待处理实体集合包括待推送实体集合,所述根据所述虚拟角色的位置信息确定待处理实体集合,包括:
根据所述虚拟角色的位置信息确定新的实体集合;
获取已显示的实体集合;
确定属于所述新的实体集合但不属于所述已显示的实体集合中的集合,为待推送实体集合。
可选地,所述待处理实体集合包括待移除实体集合,所述根据所述虚拟角色的位置信息确定待处理实体集合,包括:
获取已显示的实体集合;
确定所述已显示的实体集合为待移除实体集合。
可选地,所述从所述待处理实体集合中,确定满足预设推送条件的目标实体包括:
获取所述待推送实体集合中第一实体的位置信息;
根据所述虚拟角色的位置信息和第一实体的位置信息,确定所述虚拟角色与第一实体的距离;
当所述虚拟角色与第一实体的距离小于预设距离阈值,则确定所述第一实体为满足预设推送条件的目标实体。
可选地,所述从所述待处理实体集合中,确定满足预设推送条件的目标实体包括:
获取所述待移除实体集合中的第二实体的位置信息;
根据所述虚拟角色的位置信息和第二实体的位置信息,确定所述虚拟角色与第二实体的距离;
计算预设距离阈值加预设退出间隔的和值;
当所述虚拟角色与第二实体的距离大于所述和值时,则确定所述第二实体为满足预设推送条件的目标实体。
可选地,所述从所述待处理实体集合中,确定满足预设推送条件的目标实体包括:
确定所述虚拟角色所处的目标区域;
获取所述待推送实体集合中第三实体的位置信息,根据所述第三实体的位置信息确定第一位置;
当所述第一位置位于所述目标区域内时,则确定所述第三实体为满足预设推送条件的目标实体。
可选地,所述从所述待处理实体集合中,提取满足预设推送条件的目标实体包括:
确定所述虚拟角色所处的目标区域;
获取所述待移除实体集合中的第四实体的位置信息,根据所述第四实体的位置信息确定第二位置;
当所述第二位置位于所述目标区域内时,则确定所述第四实体为满足预设推送条件的目标实体。
本发明实施例还公开了一种游戏实体更新的装置,通过终端提供图形用户界面,所述图形用户界面包含至少一虚拟角色,所述装置包括:
位置获取模块,用于获取所述虚拟角色的位置信息;
集合确定模块,用于根据所述虚拟角色的位置信息确定待处理实体集合;
实体确定模块,用于从所述待处理实体集合中,确定满足预设推送条件的目标实体;
消息推送模块,用于生成针对所述目标实体的推送消息,并将所述推送消息发送至客户端,以在所述客户端中根据所述推送消息对相应的所述目标实体进行处理。
可选地,所述待处理实体集合包括待推送实体集合,所述集合确定模块,包括:
新的实体集合确定子模块,用于根据所述虚拟角色的位置信息确定新的实体集合;
已显示的实体集合获取子模块,用于获取已显示的实体集合;
第一集合确定子模块,用于确定属于所述新的实体集合但不属于所述已显示的实体集合中的集合,为待推送实体集合。
可选地,所述待处理实体集合包括待移除实体集合,所述集合确定模块,包括:
已显示的实体集合获取子模块,用于获取已显示的实体集合;
第二集合确定子模块,用于确定所述已显示的实体集合为待移除实体集合。
可选地,所述实体确定模块包括:
第一位置获取子模块,用于获取所述待推送实体集合中第一实体的位置信息;
第一距离确定子模块,用于根据所述虚拟角色的位置信息和第一实体的位置信息,确定所述虚拟角色与第一实体的距离;
第一实体确定子模块,用于当所述虚拟角色与第一实体的距离小于预设距离阈值,则确定所述第一实体为满足预设推送条件的目标实体。
可选地,所述实体确定模块包括:
第二位置获取子模块,用于获取所述待移除实体集合中的第二实体的位置信息;
第二距离确定子模块,用于根据所述虚拟角色的位置信息和第二实体的位置信息,确定所述虚拟角色与第二实体的距离;
第一计算子模块,用于计算预设距离阈值加预设退出间隔的和值;
第二实体确定子模块,用于当所述虚拟角色与第二实体的距离大于所述和值时,则确定所述第二实体为满足预设推送条件的目标实体。
可选地,所述实体确定模块包括:
第一区域确定子模块,用于确定所述虚拟角色所处的目标区域;
第三位置确定子模块,用于获取所述待推送实体集合中第三实体的位置信息,并根据所述第三实体的位置信息确定第一位置;
第三实体确定子模块,用于当所述第一位置位于所述目标区域内时,则确定所述第三实体为满足预设推送条件的目标实体。
可选地,所述实体确定模块包括:
第二区域确定子模块,用于确定所述虚拟角色所处的目标区域;
第四位置确定子模块,用于获取所述待移除实体集合中的第四实体的位置信息,并根据所述第四实体的位置信息确定第二位置;
第四实体确定子模块,用于当所述第二位置位于所述目标区域内时,则确定所述第四实体为满足预设推送条件的目标实体。
本发明实施例还公开了一种电子设备,包括:
一个或多个处理器;和
其上存储有指令的一个或多个机器可读介质,当由所述一个或多个处理器执行时,使得所述电子设备执行如本发明实施例所述的一个或多个的方法的步骤。
本发明实施例还公开了一种计算机可读存储介质,其上存储有指令,当由一个或多个处理器执行时,使得所述处理器执行如本发明实施例所述的一个或多个的方法的步骤。
本发明实施例包括以下优点:
在本发明实施例中,通过建立待处理实体集合,从而可以避免将待处理实体直接发送给客户端进行处理,在确定待处理实体集合之后,从待处理实体集合中确定满足预设推送条件的目标实体,向客户端发送针对目标实体的推送消息,以在客户端根据推送消息对相应的目标实体进行处理(包括新增实体和移除实体),从而能够让游戏开发人员灵活的指定AOI的推送实体集合,开发人员可以根据项目需要,灵活的制定规则来对客户端的实体数量进行优化,从而可以对客户端的流量和性能进行优化。同时,由于生成及发送推送消息至客户端是异步的,使得此过程对于游戏的客户端是透明的,游戏客户端不需要进行特殊的编码,实现对客户端不可见对象的优化,降低了客户端的流量消耗以及节约了客户端的计算资源。
附图说明
图1是现有技术中AOI区域的示意图;
图2是本发明的一种游戏实体更新的方法实施例的步骤流程图;
图3是本发明的一种AOI区域中的实体示意图;
图4是本发明的另一种AOI区域中的实体示意图;
图5是本发明的一种游戏实体更新的装置实施例的结构框图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
参照图2,示出了本发明的一种实体更新的方法实施例的步骤流程图,通过终端提供图形用户界面,所述图形用户界面包含至少一虚拟角色,具体可以包括如下步骤:
步骤101,获取所述虚拟角色的位置信息;
需要说明的是,终端可以包括各种智能设备,例如,手机、平板电脑、游戏机、个人电脑、PDA等。该终端的操作系统可以包括Android(安卓)、IOS、Windows Phone、Windows等等,通常可以支持各种游戏应用程序的运行。
在终端上运行游戏应用程序,并在终端的触控显示器上渲染图形用户界面,图形用户界面所显示的内容至少部分地包含一局部或全部的游戏场景,游戏场景的具体形态可以是方形,也可以是其它形状(比如,圆形等)。
具体地,游戏场景中包括至少一虚拟角色,该虚拟角色可以是玩家通过终端进行操控的游戏虚拟角色,可以通过图形用户界面所呈现,所呈现的内容可以包含虚拟角色的全部,也可以是虚拟角色的局部。例如,在第三人称视角游戏中,图形用户界面所呈现的内容可以包含虚拟角色的全部,或者,在第一人称视角游戏中,图形用户界面所呈现的内容可以包含虚拟角色的部分或局部。
此外,游戏场景中还可以包括虚拟对象,该虚拟对象可以是游戏中敌方玩家所控制的游戏虚拟角色,也可以是游戏开发者在某个具体游戏场景中预先设置的非玩家角色(Non-Practicing Character,NPC)。
在具体实现中,可以在监听到虚拟角色的位置发生变化时,获取虚拟角色的位置信息,该位置信息可以采用游戏场景中的坐标表示。此外,由于在一些游戏场景中NPC等会移动,导致虚拟角色不移动时,其周围的实体也会发生变化,因此,可以设定时间间隔,周期性获取虚拟角色的位置信息。
步骤102,根据所述虚拟角色的位置信息确定待处理实体集合;
其中,待处理实体集合可以是由一个或多个需要推送至玩家的客户端的实体组成的整体,该待处理实体集合中的实体用于更新到玩家的客户端。
具体的,可以根据虚拟角色的位置信息确定一个AOI区域,该可以AOI区域为:以虚拟角色为中心的一定范围内的圆形区域或矩形区域。进一步的,可以检测游戏场景中落入AOI区域内的实体,以这些实体确定一个新的AOI集合,获取已经推送并显示在玩家的客户端的实体集合(称已显示实体集合),通过比对新的AOI集合和已推送实体集合,从而确定待处理实体集合,该待处理实体集合可以包括新增进入AOI区域的实体集合A_in,和离开AOI区域的实体集合A_out。
在本发明的一种优选实施例中,待处理实体集合包括待推送实体集合,所述步骤102可以包括如下子步骤:
根据所述虚拟角色的位置信息确定新的实体集合;获取已显示的实体集合;确定属于所述新的实体集合但不属于所述已显示的实体集合中的集合,为待推送实体集合。
在本发明实施例中,待处理实体集合可以包括待推送实体集合,该待推送实体集合指在虚拟角色的位置信息更新之后,可能需要显示在玩家的客户端上,但是在先还没有推送给客户端的实体集合。通过获取新的实体集合和已显示的实体集合,确定属于新的实体集合但不属于已显示的实体集合中的集合为待推送实体集合。
具体的,可以根据虚拟角色的位置信息确定一个AOI区域,对于AOI区域可以使用传统的网格、灯塔、十字链表等AOI算法来检测AOI区域中的实体,得到与虚拟角色的位置信息对应的新的实体集合。进一步的,可以获取已显示的实体集合,该已显示的实体集合可以是由当前已经推送并显示在玩家的客户端上的一个或多个实体组成的整体。
在具体实现中,可以实时维护一已显示的实体集合,在向客户端推送需要新增的实体之后,对已显示的实体集合进行更新,以及在向客户端推送需要移除的实体之后,也对已显示的实体集合进行更新。从而,在需要确定客户端上已显示的实体时,直接获取维护的已显示的实体集合。此外,若是在先未维护已显示的实体集合,可以通过获取客户端上显示的所有实体,然后根据显示的所有实体,确定已显示的实体集合。
在本发明的一种优选实施例中,待处理实体集合还包括待移除实体集合,所述步骤102还可以包括如下子步骤:
获取已显示的实体集合;确定所述已显示的实体集合为待移除实体集合。
在本发明实施例中,待处理实体集合还可以包括待移除实体集合,该待移除实体集合指在先已经推荐并显示在玩家的客户端上,但是在玩家的位置信息更新之后,可能不需要再显示的实体集合。可以通过获取到已显示的实体集合,然后将已显示的实体集合确定为待移除的实体集合。
作为一种示例,如图3所示,玩家控制的虚拟角色为P1,P1对应AOI区域的新的实体集合为{m1,m2,m3},已显示的实体集合为{m2,m4},则可以根据新的实体集合与已显示的实体集合得到待处理实体集合{m1,m2,m3,m4},其中,待推送实体集合为{m1,m3},待移除实体集合为{m2,m4}。
步骤103,从所述待处理实体集合中,确定满足预设推送条件的目标实体;
其中,预设推送条件可以是预先设定的筛选规则。
在本发明实施例中,可以遍历待处理实体集合中的每一个实体,判断该实体是满足预设推送条件,若该实体满足预设推送条件,则确定该实体为目标实体,对该实体执行后续的步骤104;若实体不满足预设推送条件,则不对该实体执行后续的步骤104,继续遍历下一个实体,直到遍历完待处理实体集合中的所有实体。
步骤104,生成针对所述目标实体的推送消息,并将所述推送消息发送至客户端,以在所述客户端根据所述推送消息对相应的所述目标实体进行处理。
在本发明实施例中,可以生成针对目标实体的推送消息,并将推送消息发送至客户端,以在客户端中根据推送消息对相应的目标实体进行处理,更新渲染在图形用户界面的游戏场景上的实体,包括移除已渲染的实体和渲染新增的实体。具体的,当目标实体为需要新增显示在客户端上的实体时,针对目标实体的推送消息可以为新增目标实体的通知消息;当目标实体为需要移除显示在客户端上的实体时,针对目标实体的推送消息可以为移除目标实体的通知消息,客户端可以根据推送消息在游戏场景上新增目标实体,或从游戏场景中移除目标实体。
在本发明实施例中,在确定待处理实体集合之后,不将待处理实体集合中的实体推送给客户端,而是通知服务端的脚本层有实体进入或离开了AOI区域。然后,可以将对客户端的推送分为pick和throw两种操作,其中,pick操作会将处于AOI区域的待推送实体集合中符合要求的实体推送给玩家的客户端,throw操作会将处于AOI区域的待移除实体集合中符合要求的实体从客户端移除,并停止同步该实体的内容至客户端。通过建立待处理实体集合,从而可以避免将待处理实体直接发送给客户端进行处理,降低客户端的性能开销。转而由服务端首先对待处理实体集合进行维护,确定出需要客户端进行处理的目标实体后,再生成推送消息发送至客户端,生成及发送推送消息至客户端是异步的,从而可以实现对客户端不可见对象的优化,降低了客户端的流量消耗以及节约了客户端的计算资源。
通过这种方式,开发人员可以根据项目需要,灵活的制定规则来对客户端的实体数量进行优化。同时,此过程对于游戏的客户端是透明的,游戏客户端不需要进行特殊的编码。
由于如果所有的实体都是根据距离同等的推送,无法针对游戏需求针对性的推送。比如说,游戏客户端通常存在LOD(Level Of Distance,按距离分级)优化(如,室内NPC(Non-Player Characte,非玩家角色)的显示距离会很小),可能有很多实体虽然推送过去了但却不会显示出来,造成了网络资源和客户端计算资源的浪费;或者,由于游戏地图设计中常常会呈现局部区域实体聚集的问题,仍然会存在AOI区域内实体数量过多的问题。比如游戏中的交易摊位,可能会有大量的玩家聚集在附近,导致局部范围内的实体数量过多,对客户端的性能造成很大的影响。
在本发明实施例中,可以且不限于以下两种方式来解决上述问题。一方面,可以针对模型的消失距离作为进出推送集合的条件,当实体和玩家所控制的虚拟对象的距离小于消失距离时,进行pick操作,对于大于消失距离时已推送至客户端的实体的,则从待处理实体集合中执行throw进行移除,通过这种方式,实现了对实体的进出AOI距离定制化。另一方面,可以针对不同区域在进行划分,例如有门分离的室内和室外。当玩家进入室内时,pick待处理实体集合中处于室内的实体,室外的实体则从待处理实体集合中throw;当玩家从室内进入室外时反之处理。又或者在进行大型PVP时,可以编写规则限制只给客户端推送上限个实体,当实体数量超出限制时优先pick敌方实体,多出的友方实体提前从待处理实体集合中throw。
在本发明的一种优选实施例中,所述从所述待处理实体集合中,确定满足预设推送条件的目标实体包括:
获取所述待推送实体集合中第一实体的位置信息;根据所述虚拟角色的位置信息和第一实体的位置信息,确定所述虚拟角色与第一实体的距离;当所述虚拟角色与第一实体的距离小于预设距离阈值,则确定所述第一实体为满足预设推送条件的目标实体。
其中,预设距离阈值可以是预先设定的距离门限值,该预设距离阈值可以作为实体的隐藏距离。具体的,不同的实体根据开发人员的设置可以指定不同的预设距离阈值,比如一些室内的NPC隐藏距离会比较小,一些大型的直升飞机等实体,则隐藏距离会比较远。
在本发明实施例中,可以获取待推送实体集合中第一实体的位置信息,根据虚拟角色的位置信息和第一实体的位置信息,确定虚拟角色与第一实体的距离;当虚拟角色与第一实体的距离小于预设距离阈值,则确定第一实体为满足预设推送条件的目标实体。
在本发明的一种优选实施例中,所述从所述待处理实体集合中,确定满足预设推送条件的目标实体包括:
获取所述待移除实体集合中的第二实体的位置信息;根据所述虚拟角色的位置信息和第二实体的位置信息,确定所述虚拟角色与第二实体的距离;计算预设距离阈值加预设退出间隔的和值;当所述虚拟角色与第二实体的距离大于所述和值时,则确定所述第二实体为满足预设推送条件的目标实体。
在本发明实施例中,可以获取待移除实体集合中的第二实体的位置信息;根据虚拟角色的位置信息和第二实体的位置信息,确定虚拟角色与第二实体的距离;计算预设距离阈值加预设退出间隔的和值;当虚拟角色与第二实体的距离大于和值时,则确定第二实体为满足预设推送条件的目标实体。
其中,预设退出间隔可以是预先设定退出距离门限值。预设退出间隔的作用在于避免玩家在小范围来回移动时,导致实体频繁的进出待移除实体集合而导致流量和计算资源的浪费。
通过这个实施例的规则,实现了不同实体有不同的进出AOI区域的效果,使得客户端的可见性与服务端的可见性达成了一致,消除了被客户端隐藏的实体仍然占用客户端计算资源和网络开销的不良影响。
在本发明的一种优选实施例中,所述从所述待处理实体集合中,确定满足预设推送条件的目标实体包括:
确定所述虚拟角色所处的目标区域;获取所述待推送实体集合中第三实体的位置信息,根据所述第三实体的位置信息确定第一位置;当所述第一位置位于所述目标区域内时,则确定所述第三实体为满足预设推送条件的目标实体。
其中,目标区域可以是设定的距离虚拟角色一定范围内的区域,也可以是以游戏场景中的房间等建筑物作为参照物确定的区域,不同的实体可以根据开发人员的设置,可以制定其所处的不同区域。
在本发明实施例中,可以确定所述虚拟角色所处的目标区域,获取待推送实体集合中第三实体的位置信息,并根据第三实体的位置信息确定第一位置,当所述第一位置位于目标区域内时,则确定第三实体为满足预设推送条件的目标实体。
在本发明的一种优选实施例中,所述从所述待处理实体集合中,确定满足预设推送条件的目标实体包括:
确定所述虚拟角色所处的目标区域;获取所述待移除实体集合中的第四实体的位置信息,根据所述第四实体的位置信息确定第二位置;当第二位置位于目标区域内时,则确定所述第四实体为满足预设推送条件的目标实体。
在本发明实施例中,可以确定虚拟角色所处的目标区域,获取待移除实体集合中的第四实体的位置信息,根据第四实体的位置信息确定第二位置,当第二位置位于目标区域内时,则确定第四实体为满足预设推送条件的目标实体。
作为一种示例,如4图所示。在图中的矩形虚线区域为玩家控制的虚拟角色P1当前所处的区域,{m1,m2,m3,m4}为进入了AOI区域的实体集合(即新的实体集合)。pick操作会选中处于该区域中的{m1,m4}加入到待推送的实体集合;如果此前{m2}处于已显示的实体集合中,那么它将被移除并通知客户端销毁该实体。通过这种方式,处于区域内的客户端,不必额外拉取处于其他区域的不可见对象,节约了客户端的流量开销和计算资源。
在本发明实施例中,在将推送消息发送至客户端的步骤之后,还可以更新已显示的实体集合。具体的,若目标实体为待推送实体集合中的实体,则将目标实体添加至已显示的实体集合,若目标实体为待移除实体集合中的实体,则将目标实体从已显示的实体集合中删除。
在本发明实施例中,通过建立待处理实体集合,从而可以避免将待处理实体直接发送给客户端进行处理,在确定待处理实体集合之后,从待处理实体集合中确定满足预设推送条件的目标实体,向客户端发送针对目标实体的推送消息,以在客户端根据推送消息对相应的目标实体进行处理(包括新增实体和移除实体),从而能够让游戏开发人员灵活的指定AOI的推送实体集合,开发人员可以根据项目需要,灵活的制定规则来对客户端的实体数量进行优化,从而可以对客户端的流量和性能进行优化。同时,由于生成及发送推送消息至客户端是异步的,使得此过程对于游戏的客户端是透明的,游戏客户端不需要进行特殊的编码,实现对客户端不可见对象的优化,降低了客户端的流量消耗以及节约了客户端的计算资源。
需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。
参照图5,示出了本发明的一种游戏实体更新的装置实施例的结构框图,通过终端提供图形用户界面,所述图形用户界面包含至少一虚拟角色,具体可以包括如下模块:
位置获取模块501,用于获取所述虚拟角色的位置信息;
集合确定模块502,用于根据所述虚拟角色的位置信息确定待处理实体集合;
实体确定模块503,用于从所述待处理实体集合中,确定满足预设推送条件的目标实体;
消息推送模块504,用于生成针对所述目标实体的推送消息,并将所述推送消息发送至客户端,以在所述客户端中根据所述推送消息对相应的所述目标实体进行处理。
在本发明的一种优选实施例中,所述待处理实体集合包括待推送实体集合,所述集合确定模块502,包括:
新的实体集合确定子模块,用于根据所述虚拟角色的位置信息确定新的实体集合;
已显示的实体集合获取子模块,用于获取已显示的实体集合;
第一集合确定子模块,用于确定属于所述新的实体集合但不属于所述已显示的实体集合中的集合,为待推送实体集合。
在本发明的一种优选实施例中,所述待处理实体集合包括待移除实体集合,所述集合确定模块502,包括:
已显示的实体集合获取子模块,用于获取已显示的实体集合;
第二集合确定子模块,用于确定所述已显示的实体集合为待移除实体集合。
在本发明的一种优选实施例中,所述实体确定模块503包括:
第一位置获取子模块,用于获取所述待推送实体集合中第一实体的位置信息;
第一距离确定子模块,用于根据所述虚拟角色的位置信息和第一实体的位置信息,确定所述虚拟角色与第一实体的距离;
第一实体确定子模块,用于当所述虚拟角色与第一实体的距离小于预设距离阈值,则确定所述第一实体为满足预设推送条件的目标实体。
在本发明的一种优选实施例中,所述实体确定模块503包括:
第二位置获取子模块,用于获取所述待移除实体集合中的第二实体的位置信息;
第二距离确定子模块,用于根据所述虚拟角色的位置信息和第二实体的位置信息,确定所述虚拟角色与第二实体的距离;
第一计算子模块,用于计算预设距离阈值加预设退出间隔的和值;
第二实体确定子模块,用于当所述虚拟角色与第二实体的距离大于所述和值时,则确定所述第二实体为满足预设推送条件的目标实体。
在本发明的一种优选实施例中,所述实体确定模块503包括:
第一区域确定子模块,用于确定所述虚拟角色所处的目标区域;
第三位置确定子模块,用于获取所述待推送实体集合中第三实体的位置信息,并根据所述第三实体的位置信息确定第一位置;
第三实体确定子模块,用于当所述第一位置位于所述目标区域内时,则确定所述第三实体为满足预设推送条件的目标实体。
在本发明的一种优选实施例中,所述实体确定模块503包括:
第二区域确定子模块,用于确定所述虚拟角色所处的目标区域;
第四位置确定子模块,用于获取所述待移除实体集合中的第四实体的位置信息,并根据所述第四实体的位置信息确定第二位置;
第四实体确定子模块,用于当所述第二位置位于所述目标区域内时,则确定所述第四实体为满足预设推送条件的目标实体。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本发明实施例还提供了一种电子设备,包括:
一个或多个处理器;和
其上存储有指令的一个或多个机器可读介质,当由所述一个或多个处理器执行时,使得所述电子设备执行本发明实施例所述的方法的步骤。
本发明实施例还提供了一种计算机可读存储介质,其上存储有指令,当由一个或多个处理器执行时,使得所述处理器执行本发明实施例所述的方法的步骤。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本领域内的技术人员应明白,本发明实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本发明实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明实施例是参照根据本发明实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明实施例范围的所有变更和修改。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
以上对本发明所提供的一种游戏实体更新的方法和一种游戏实体更新的装置,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

Claims (10)

1.一种游戏实体更新的方法,其特征在于,通过终端提供图形用户界面,所述图形用户界面包含至少一虚拟角色,所述方法包括:
获取所述虚拟角色的位置信息;
根据所述虚拟角色的位置信息确定待处理实体集合;
从所述待处理实体集合中,确定满足预设推送条件的目标实体;
生成针对所述目标实体的推送消息,并将所述推送消息发送至客户端,以在所述客户端中根据所述推送消息对相应的所述目标实体进行处理。
2.根据权利要求1所述的方法,其特征在于,所述待处理实体集合包括待推送实体集合,所述根据所述虚拟角色的位置信息确定待处理实体集合,包括:
根据所述虚拟角色的位置信息确定新的实体集合;
获取已显示的实体集合;
确定属于所述新的实体集合但不属于所述已显示的实体集合中的集合,为待推送实体集合。
3.根据权利要求1所述的方法,其特征在于,所述待处理实体集合包括待移除实体集合,所述根据所述虚拟角色的位置信息确定待处理实体集合,包括:
获取已显示的实体集合;
确定所述已显示的实体集合为待移除实体集合。
4.根据权利要求2所述的方法,其特征在于,所述从所述待处理实体集合中,确定满足预设推送条件的目标实体包括:
获取所述待推送实体集合中第一实体的位置信息;
根据所述虚拟角色的位置信息和第一实体的位置信息,确定所述虚拟角色与第一实体的距离;
当所述虚拟角色与第一实体的距离小于预设距离阈值,则确定所述第一实体为满足预设推送条件的目标实体。
5.根据权利要求3所述的方法,其特征在于,所述从所述待处理实体集合中,确定满足预设推送条件的目标实体包括:
获取所述待移除实体集合中的第二实体的位置信息;
根据所述虚拟角色的位置信息和第二实体的位置信息,确定所述虚拟角色与第二实体的距离;
计算预设距离阈值加预设退出间隔的和值;
当所述虚拟角色与第二实体的距离大于所述和值时,则确定所述第二实体为满足预设推送条件的目标实体。
6.根据权利要求2所述的方法,其特征在于,所述从所述待处理实体集合中,确定满足预设推送条件的目标实体包括:
确定所述虚拟角色所处的目标区域;
获取所述待推送实体集合中第三实体的位置信息,根据所述第三实体的位置信息确定第一位置;
当所述第一位置位于所述目标区域内时,则确定所述第三实体为满足预设推送条件的目标实体。
7.根据权利要求3所述的方法,其特征在于,所述从所述待处理实体集合中,提取满足预设推送条件的目标实体包括:
确定所述虚拟角色所处的目标区域;
获取所述待移除实体集合中的第四实体的位置信息,根据所述第四实体的位置信息确定第二位置;
当所述第二位置位于所述目标区域内时,则确定所述第四实体为满足预设推送条件的目标实体。
8.一种游戏实体更新的装置,其特征在于,通过终端提供图形用户界面,所述图形用户界面包含至少一虚拟角色,所述装置包括:
位置获取模块,用于获取所述虚拟角色的位置信息;
集合确定模块,用于根据所述虚拟角色的位置信息确定待处理实体集合;
实体确定模块,用于从所述待处理实体集合中,确定满足预设推送条件的目标实体;
消息推送模块,用于生成针对所述目标实体的推送消息,并将所述推送消息发送至客户端,以在所述客户端中根据所述推送消息对相应的所述目标实体进行处理。
9.一种电子设备,其特征在于,包括:
一个或多个处理器;和
其上存储有指令的一个或多个机器可读介质,当由所述一个或多个处理器执行时,使得所述电子设备执行如权利要求1-7所述的一个或多个的方法的步骤。
10.一种计算机可读存储介质,其上存储有指令,当由一个或多个处理器执行时,使得所述处理器执行如权利要求1-7所述的一个或多个的方法的步骤。
CN202010313408.XA 2020-04-20 2020-04-20 一种游戏实体更新的方法和装置 Active CN111467808B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010313408.XA CN111467808B (zh) 2020-04-20 2020-04-20 一种游戏实体更新的方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010313408.XA CN111467808B (zh) 2020-04-20 2020-04-20 一种游戏实体更新的方法和装置

Publications (2)

Publication Number Publication Date
CN111467808A true CN111467808A (zh) 2020-07-31
CN111467808B CN111467808B (zh) 2023-04-07

Family

ID=71754297

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010313408.XA Active CN111467808B (zh) 2020-04-20 2020-04-20 一种游戏实体更新的方法和装置

Country Status (1)

Country Link
CN (1) CN111467808B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112245932A (zh) * 2020-10-21 2021-01-22 网易(杭州)网络有限公司 游戏资源的处理方法、装置以及服务端设备

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105991591A (zh) * 2015-02-13 2016-10-05 广州四三九九信息科技有限公司 游戏aoi同步方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105991591A (zh) * 2015-02-13 2016-10-05 广州四三九九信息科技有限公司 游戏aoi同步方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112245932A (zh) * 2020-10-21 2021-01-22 网易(杭州)网络有限公司 游戏资源的处理方法、装置以及服务端设备
CN112245932B (zh) * 2020-10-21 2024-03-22 网易(杭州)网络有限公司 游戏资源的处理方法、装置以及服务端设备

Also Published As

Publication number Publication date
CN111467808B (zh) 2023-04-07

Similar Documents

Publication Publication Date Title
US20210331074A1 (en) Dynamic game difficulty modification via swipe input parater change
CN109582463A (zh) 资源配置方法、装置、终端及存储介质
US20110016410A1 (en) Aging and Elimination of Avatars and Associated Objects from Computer Simulated Displayed Virtual Universes
CN109675309B (zh) 一种游戏场景的构造方法和装置
CN106582020B (zh) 一种游戏关卡处理方法和装置
CN109191550B (zh) 一种粒子渲染方法、装置、电子设备及存储介质
CN112891943B (zh) 一种镜头处理方法、设备以及可读存储介质
CN111558221B (zh) 虚拟场景的显示方法和装置、存储介质及电子设备
US10682571B2 (en) Systems and methods of automatic game creation
CN108939535B (zh) 虚拟场景的音效控制方法及装置、存储介质、电子设备
CN110716766A (zh) 游戏场景加载方法、装置、计算机可读介质及电子设备
CN113557748A (zh) 跨平台阻挡剧透服务
CN111760294B (zh) 控制游戏中非玩家游戏角色的方法及装置
CN111589135B (zh) 虚拟对象的控制方法、装置、终端及存储介质
CN111467808B (zh) 一种游戏实体更新的方法和装置
CN109289198B (zh) 一种感兴趣区域确定方法和装置
CN110801629B (zh) 虚拟对象生命值提示图形的显示方法、装置、终端及介质
CN110947182B (zh) 事件应对方法、装置、游戏终端及介质
CN112717400A (zh) 关卡画面的显示方法、装置、设备及介质
CN109718543B (zh) 一种同屏处理方法及装置
KR20140066267A (ko) 모바일 게임에서의 컨텐츠 데이터 캐싱 방법 및 캐싱 시스템을 포함한 게임 서버, 및 모바일 단말
CN114470746A (zh) 服务器系统、数据传输方法、装置、设备及存储介质
CN114669052A (zh) 一种游戏控制方法、装置、设备及存储介质
CN114887329A (zh) 虚拟对象控制方法、装置、设备及存储介质
CN111494955A (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