CN103297249B - 游戏广播通知方法及*** - Google Patents
游戏广播通知方法及*** Download PDFInfo
- Publication number
- CN103297249B CN103297249B CN201210055788.7A CN201210055788A CN103297249B CN 103297249 B CN103297249 B CN 103297249B CN 201210055788 A CN201210055788 A CN 201210055788A CN 103297249 B CN103297249 B CN 103297249B
- Authority
- CN
- China
- Prior art keywords
- game
- role
- screen
- gateway
- notice
- 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
Links
Landscapes
- Telephonic Communication Services (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明涉及一种游戏广播通知方法及***,所述方法包括:将游戏客户端通过游戏网关与游戏服务器连接;将游戏服务器上的每个地图场景等分为多个可配置用于通知的屏幕区域;所述游戏网关根据游戏客户端各玩家的操作指令实时记录每个地图场景中在各屏幕区域上的角色;所述游戏服务器向所述游戏网关发送待通知消息和待通知范围,游戏网关根据待通知范围向游戏客户端相应屏幕区域上的角色发送待通知消息。本发明可以使游戏网关不仅负责游戏客户端和游戏服务器之间的通信数据转发,也参与到整个游戏的消息广播逻辑中去,为游戏玩家提供可靠的通知广播,解决了由通知风暴产生的游戏服务的开销几何级数增长的问题,保证服务器的平稳开销。
Description
技术领域
本发明涉及一种游戏广播通知方法及***。
背景技术
网络游戏有着庞大的玩家市场,特别MMORPG(大型多人在线)在市场更是占据着巨大的比重。而目前这类游戏中由于玩家众多,并且总是非平衡的分布在游戏的各个场景中,因此会在玩家角色聚集的地图场景区域会产生通知风暴,从而会给游戏带来各种各样的问题,所谓通知风暴是指在游戏的某些地图场景的特殊位置中存在大量的角色,每个角色都会因自身状态变化而使服务器进行消息广播,而且服务器广播的开销又和区域内的角色数量紧密相关。
如图1所示,在游戏服务器上的每个地图场景中,由于游戏中每个角色13都是出现在自己显示器屏幕11的中心点,它需要关注的场景交互就是以它为中心点的整个显示器屏幕11上,通知屏12的大小一般需要设置得大于显示器屏幕11,以保证记录到角色在显示器屏幕11的边缘活动的信息,游戏服务器需要缓存每个玩家的通知屏12内的所有角色的坐标,然而当玩家移动造成其角色所在坐标变化时,游戏服务器就需要根据该玩家屏幕区域的变动而重新计算包括新的显示器屏幕14中新的通知屏15内的所有角色的坐标,因此会使游戏过程中该地图场景中的游戏通知的游戏服务器开销呈几何级数的增长。
发明消息
本发明的目的在于提供一种游戏广播通知方法及***,能够解决游戏中产生通知风暴时对游戏服务器带来的巨大开销的问题,使整个游戏服务器的开销保持在比较平稳的状态。
为解决上述问题,本发明提供一种游戏广播通知方法,包括:
将游戏网关同时与游戏客户端和游戏服务器连接;
将所述游戏服务器上的每个地图场景等分为多个大于四分之一显示屏大小的屏幕区域;
所述游戏网关根据所述游戏客户端各玩家的操作指令实时记录每个地图场景中在各屏幕区域上的角色;以及
所述游戏服务器向所述游戏网关发送待通知消息和待通知范围,所述游戏网关根据所述待通知范围向游戏客户端相应屏幕区域上的角色发送待通知消息。
进一步的,在上述方法中,采用多台并行游戏网关分别与多台游戏客户端和多台游戏服务器连接。
进一步的,在上述方法中,所述待通知范围包括待通知的地图场景。
进一步的,在上述方法中,所述待通知范围包括待通知的地图场景中所在的位置及以所述所在的位置为中心的通知屏的大小。
进一步的,在上述方法中,所述所在的位置是地图场景中的一个屏幕区域。
进一步的,在上述方法中,当一角色进入一地图场景时,所述游戏服务器向所述游戏网关发送待通知的所述角色在所述地图场景中出现的消息、待通知的所述地图场景中所述角色所在的位置、及以所述所在的位置为中心的相邻若干个屏幕区域的通知屏,所述游戏网关向所述游戏客户端通知屏内的其它角色发送所述角色在地图场景中出现的消息。
进一步的,在上述方法中,所述通知屏的屏幕区域为九个。
进一步的,在上述方法中,当所述角色在所述地图场景中移动时,若所述角色仅在所述所在的位置中移动,则所述游戏服务器向所述游戏网关发送待通知的所述角色在屏幕区域中移动的消息、待通知的所述地图场景中所述角色所在的位置及所述通知屏,所述游戏网关向所述游戏客户端通知屏内的其它角色发送所述角色在屏幕区域中移动的消息。
进一步的,在上述方法中,当所述角色在所述地图场景中移动时,若所述角色从所述所在的位置移动到新的所在的位置,则所述游戏服务器向所述游戏网关发送待通知的所述角色在屏幕区域中移动、出现和消失的消息、待通知的所述地图场景中所述角色新的所在的位置和所述图场景中所述角色原来所在的位置、及以所述角色新的所在的位置为中心的相邻若干个屏幕区域的新的通知屏和以所述角色原来所在的位置为中心的相邻若干个屏幕区域的原来的通知屏,所述游戏网关同时向所述游戏客户端新的通知屏和原来的通知屏的相应屏幕区域中的其它角色分别发送所述角色在屏幕区域中移动、出现或消失的消息。
进一步的,在上述方法中,所述游戏网关同时向所述游戏客户端新的通知屏和原来的通知屏的相应屏幕区域中的其它角色分别发送所述角色在屏幕区域中移动、出现或消失的消息的步骤中,所述游戏网关向不与所述游戏客户端新的通知屏重合的所述原来的通知屏的部分屏幕区域内的其它角色发送所述角色在屏幕区域中消失的消息。
进一步的,在上述方法中,所述游戏网关同时向所述游戏客户端新的通知屏和原来的通知屏的相应屏幕区域中的其它角色分别发送所述第一角色在屏幕区域中移动、出现或消失的消息的步骤中,所述游戏网关向与所述游戏客户端新的通知屏重合的所述原来的通知屏的部分屏幕区域内的其它角色发送所述角色在屏幕区域中移动的消息。
进一步的,在上述方法中,所述游戏网关同时向所述游戏客户端新的通知屏和原来的通知屏的相应屏幕区域中的其它角色分别发送所述第一角色在屏幕区域中移动、出现或消失的消息的步骤中,所述游戏网关向不与所述游戏客户端原来的通知屏重合的所述新的通知屏的部分屏幕区域内的其它角色发送所述角色在屏幕区域中出现的消息。
进一步的,在上述方法中,当所述角色离开所述地图场景时,所述游戏服务器向所述游戏网关发送待通知的所述角色在所述地图场景中消失的消息,待通知的所述地图场景中所述角色原来所在的位置、及以所述原来所在的位置为中心的相邻若干个屏幕区域的原来的通知屏,所述游戏网关向所述游戏客户端原来的通知屏内的其它角色发送所述角色在地图场景中出现的消息。
根据本发明的另一面,提供一种游戏广播通知***,包括:
游戏服务器,用于存储各种地图场景、将的每个地图场景等分为多个大于四分之一显示屏大小的屏幕区域,向游戏网关发送待通知消息和待通知范围;
游戏网关,用于同时与游戏客户端和游戏服务器连接,实时记录每个地图场景中在各屏幕区域上的角色,根据所述待通知范围向游戏客户端相应屏幕区域上的角色发送待通知消息;以及
游戏客户端,用于接受玩家的操作指令并与所述游戏网关通信。
进一步的,在上述***中,采用多台并行游戏网关分别与多台游戏客户端和多台游戏器服务连接。
进一步的,在上述***中,所述游戏服务器向游戏网关发送的待通知范围包括待通知的地图场景或待通知的地图场景中所在的位置及以所述所在的位置为中心的通知屏的大小。
进一步的,在上述***中,当所述游戏客户端接收到一角色进入一地图场景时,
所述游戏服务器,用于向所述游戏网关发送待通知的所述角色在所述地图场景中出现的消息、待通知的所述地图场景中所述角色所在的位置、及以所述所在的位置为中心的相邻若干个屏幕区域的通知屏;
所述游戏网关,用于向所述游戏客户端通知屏内的其它角色发送所述角色在地图场景中出现的消息。
进一步的,在上述***中,当所述游戏客户端接收到所述角色在所述地图场景中移动时,若所述角色仅在所述所在的位置中移动,
所述游戏服务器,用于向所述游戏网关发送待通知的所述角色在屏幕区域中移动的消息、待通知的所述地图场景中所述角色所在的位置及所述通知屏;
所述游戏网关,用于向所述游戏客户端通知屏内的其它角色发送所述角色在屏幕区域中移动的消息。
进一步的,在上述***中,当所述游戏客户端接收到所述角色在所述地图场景中移动时,若所述角色从所述所在的位置移动到新的所在的位置,
所述游戏服务器,用于向所述游戏网关发送待通知的所述角色在屏幕区域中移动、出现和消失的消息、待通知的所述地图场景中所述角色新的所在的位置和所述图场景中所述角色原来所在的位置、及以所述角色新的所在的位置为中心的相邻若干个屏幕区域的新的通知屏和以所述角色原来所在的位置为中心的相邻若干个屏幕区域的原来的通知屏;
所述游戏网关,用于同时向所述游戏客户端新的通知屏和原来的通知屏的相应屏幕区域中的其它角色分别发送所述第一角色在屏幕区域中移动、出现或消失的消息。
进一步的,在上述***中,当所述游戏客户端接收到所述角色离开所述地图场景时,
所述游戏服务器,用于向所述游戏网关发送待通知的所述角色在所述地图场景中消失的消息,待通知的所述地图场景中所述角色原来所在的位置、及以所述原来所在的位置为中心的相邻若干个屏幕区域的原来的通知屏;
所述游戏网关向所述游戏客户端原来的通知屏内的其它角色发送所述角色在地图场景中出现的消息。
与现有技术相比,本发明通过将游戏网关同时与游戏客户端和游戏服务器连接,然后将所述游戏服务器上的每个地图场景等分为多个大于四分之一显示屏大小的屏幕区域,并且所述游戏网关实时记录每个地图场景中在各屏幕区域上的角色,以及所述游戏服务器向所述游戏网关发送待通知消息、待通知范围,最后所述游戏网关根据所述待通知范围向游戏客户端相应屏幕区域上的角色发送待通知消息,该方法基于分布式网络架构,具有比较好的横向和纵向扩展能力,使游戏网关不仅负责游戏客户端和游戏服务器之间的通信数据转发,也参与到整个游戏的消息广播逻辑中去,为游戏玩家提供可靠的通知广播,解决了由通知风暴产生的游戏服务的开销几何级数增长的问题,保证服务器的平稳开销,该方法应用面比较广泛,适合各种类型MMO游戏中产生的广播通知。
附图说明
图1是现有技术的通知屏示意图;
图2是本发明一实施例的游戏广播通知方法的流程图;
图3是本发明一实施例的游戏广播通知方法的网络架构原理图;
图4是本发明一实施例的通知屏示意图;
图5是本发明一实施例的游戏广播通知***的功能模块示意图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
如图1所示,本发明提供一种游戏广播通知方法,包括:
步骤S1,预先将游戏网关同时与游戏客户端和游戏服务器连接,具体的,请结合图3,为了提高游戏网关的处理能力,可采用多台并行游戏网关(GateServer)分别与多台游戏客户端(Client)和多台游戏服务器(GameServer)连接,游戏客户端与游戏服务器互不可见,它们之间的通信全部由游戏网关进行转发,游戏网关、游戏客户端和游戏服务器的数量都可以动态扩展,本方法是以分布式的服务器架构与基于它的通信方式为基础的,游戏服务器和游戏网关都支持横向扩展,其中游戏服务器和游戏网关每个都是互连的,于是游戏网关可以通过与每一个游戏服务器的连接来管理相应游戏服务器上的在线角色数据;
步骤S2,预先将所述游戏服务器上的每个地图场景等分为多个大于四分之一显示屏大小的屏幕区域,具体的,为了减轻后续游戏网关的计算频率我们把每个地图场景中等分为多个大于四分之一显示屏大小的屏幕区域,然后每一个屏幕区域用一个单独的屏幕区域ID去标识,该屏幕区域ID可以直接由角色的坐标计算出来,也可以由该ID获取到该屏幕区域的所有玩家,这样就可以让为同一屏幕区域内所有的玩家共同维护一份该屏幕区域内的所有角色的坐标信息,只有玩家移动产生跨越屏幕时,游戏网关才会重新计算相应屏幕区域内所有角色的坐标信息,这样可减少游戏网关的计算次数,提高游戏网关的效率;
步骤S3,所述游戏网关根据所述游戏客户端各玩家的操作指令实时记录每个地图场景中在各屏幕区域上的角色,具体的,要让游戏网关负担游戏服务器的广播通知功能,首先让游戏网关与游戏服务器一样的保存角色所在的所在地图场景的屏幕区域ID,事实上,地图场景中的大部分通知区域都是没有角色的,因此只需记录下有角色的屏幕区域就够了;
步骤S4,需要发送待通知消息时,所述游戏服务器向所述游戏网关发送待通知消息、待通知范围,具体的,所述待通知范围一种情况下可包括待通知的地图场景,即通知一整个地图场景(全场景广播)或多个完整的地图场景(全服广播),游戏服务器告知游戏网关要通知的地图场景ID,另外,所述待通知范围在另一种情况下也可包括待通知的地图场景中所在的位置及以所述所在的位置为中心的通知屏的大小,即限定通知某个地图场景中的局部范围,并选择性地发送出现、移动或消失的消息,然后由游戏查找通知范围内的所有角色即可;
步骤S5,所述游戏网关根据所述待通知范围向游戏客户端相应屏幕区域上的角色发送待通知消息,具体的,当步骤S4中游戏服务器需要通知一整个地图场景(全场景广播)或多个完整的地图场景(全服广播)时,则本步骤中游戏网关遍历相应游戏服务器的指定场景的所有屏幕区域,对所有屏幕区域的在线角色进行屏幕区域广播,若指定地图场景ID为OXFFFFFFFF则代表全服广播,全服广播就是遍历相应游戏服务器上所有场景便并逐一进行场景广播通知。
详细的,步骤S4中,所述所在的位置可以是地图场景中的一个屏幕区域,角色所在的位置的修改只有一种方式即移动,所有角色在移动时都需通过游戏客户端告知游戏网关该角色的新的所在位置,如果该角色离开场景了,也就意味着该角色不会再收通知屏范围内的广播通知,则游戏服务器需告知游戏网关将该角色从该通知屏内删除,若需要选择性地向某个地图场景中的局部范围发送出现、移动或消失的消息,又可细分为如下几种方式:
1)请进一步参考图4,当一角色41进入一地图场景42时,步骤S4中,所述游戏服务器向所述游戏网关发送待通知的所述角色在所述地图场景42中出现的消息、待通知的所述地图场景42中所述角色41所在的位置43即某个屏幕区域(以地图场景ID和屏幕区域ID标识的屏幕区域)、及以所述所在的位置43为中心的相邻若干个屏幕区域的通知屏44,本实施例中,所述通知屏44的屏幕区域为九个,通知屏44范围是按矩形范围来计算的,这样可方便变更游戏服务器的通知范围,此时游戏网关只需计算出九个屏幕区域,遍历该九个屏幕区域内的角色并给这些角色转发消息,当然也可以根据需要增大通知屏的大小;相应的,由于游戏网关已事先记录了通知屏44内的所有角色,步骤S5中,所述游戏网关向所述游戏客户端通知屏44内的其它角色45发送所述角色41在地图场景中出现的消息,具体的,这里因为屏幕区域都是事先定义好的,每个角色41不一定都站在屏幕的的中心处,此时为了保证每个角色41仍旧可以获取以该角色41为中心的整个屏幕区域的场景信息,需要把场景交互区域从原来的一个屏幕区域扩大到以用户所在屏幕区域为中心的周围九个屏幕区域中,当然该每个屏幕区域大小是可变的,但必须要确保每个屏幕区域大于原显示屏大小的四分之一,这里利用分布式的服务器架构,把查找消息发送目标和转发消息的工作交由游戏网关来处理,以减轻游戏服务器的工作负担,此方式属于普通范围屏幕区域广播,本实施例中为以九个屏幕区域为通知屏44。
2)当所述角色在所述地图场景中移动时,若所述角色仅在所述所在的位置43即特定的一个屏幕区域43中移动,则步骤S4中,所述游戏服务器向所述游戏网关发送待通知的所述角色在屏幕区域中移动的消息、待通知的所述地图场景42中所述角色所在的位置43及所述通知屏44;相应的,步骤S5中,所述游戏网关向所述游戏客户端通知屏44内的其它角色45发送所述角色在屏幕区域中移动的消息,此方式属于普通范围屏幕区域广播,本实施例中为以九个屏幕区域为通知屏。
3)当所述角色41在所述地图场景42中移动时,若所述角色从所述所在的位置43移动到新的所在的位置46即从一个屏幕区域43移动到另一个屏幕区域46,则步骤S4中,所述游戏服务器向所述游戏网关发送待通知的所述角色在屏幕区域中移动、出现和消失的消息、待通知的所述地图场景中所述角色新的所在的位置46和所述图场景42中所述角色原来所在的位置43、及以所述角色新的所在的位置46为中心的相邻若干个屏幕区域的新的通知屏47和以所述角色原来所在的位置43为中心的相邻若干个屏幕区域的原来的通知屏44;相应的,步骤S5中,所述游戏网关同时向所述游戏客户端新的通知屏47和原来的通知屏44的相应屏幕区域中的其它角色分别发送所述角色在屏幕区域中移动、出现或消失的消息,具体来说,步骤S5中,所述游戏网关向不与所述游戏客户端的新的通知屏重合的所述原来的通知屏的部分屏幕区域内的其它角色发送所述角色在屏幕区域中消失的消息;所述游戏网关向与所述游戏客户端新的通知屏重合的所述原来的通知屏的部分屏幕区域内的其它角色发送所述角色在屏幕区域中移动的消息;所述游戏网关向不与所述游戏客户端原来的通知屏重合的所述新的通知屏的部分屏幕区域内的其它角色发送所述角色在屏幕区域中出现的消息,此方式属于特殊范围屏幕区域广播,本实施例中包括互相重叠的分别由九个屏幕区域构成的两个通知屏,即原来的通知屏44和新的通知屏47。
4)当所述角色离开所述地图场景时,步骤S4中,所述游戏服务器向所述游戏网关发送待通知的所述角色在所述地图场景中消失的消息,待通知的所述地图场景中所述角色原来所在的位置、及以所述原来所在的位置为中心的相邻若干个屏幕区域的原来的通知屏;相应的,步骤S5中,所述游戏网关向所述游戏客户端原来的通知屏内的其它角色发送所述角色在地图场景中出现的消息,同时,游戏服务器也可通知游戏网关删除该原来的通知屏,此方式属于普通范围屏幕区域广播,本实施例中为以九个屏幕区域为通知屏。
本发明使游戏服务器上的消息广播的开销与地图场景区域内的角色数量没有任何关系,可解决MMO游戏中产生通知风暴时对***带来的巨大开销的问题,使游戏服务器处在一个稳定的环境中,虽然会在游戏网关上增加些开销去做相关的逻辑处理,但同时却弥补了游戏网关上的资源浪费(因为原本的游戏网关只能进行数据包的转发,开销很小),使整个分布式的游戏服务器和游戏网关资源利用率都处在比较平稳的环境,本方法可以快速移植到各个开发阶段的MMO类型及会产生通知风暴的游戏类型中,使游戏开发人员未来的工作重点只需要在游戏内容方面,而不用考虑是否会产生广播风暴。
如图4所示,本发明还提供一种游戏广播通知***,包括游戏服务器1、游戏网关2及游戏客户端3。
游戏服务器1用于存储各种地图场景、将的每个地图场景等分为多个大于四分之一显示屏大小的屏幕区域,向游戏网关2发送待通知消息、待通知范围,具体的,所述游戏服务器1向游戏网关2发送的待通知范围包括待通知的地图场景或待通知的地图场景中所在的位置及以所述所在的位置为中心的通知屏的大小,所述所在的位置是地图场景中的一个屏幕区域,其中将的每个地图场景等分为多个大于四分之一显示屏大小的屏幕区域,可为同一屏幕区域内所有的玩家共同维护一份该屏幕区域内的所有角色的坐标信息,只有玩家移动产生跨越屏幕时,游戏网关才会重新计算相应屏幕区域内所有角色的坐标信息,这样可减少游戏网关的计算次数,提高游戏网关的效率。
游戏网关2用于同时与游戏客户端3和游戏服务器1连接,实时记录每个地图场景中在各屏幕区域上的角色,根据所述待通知范围向游戏客户端3相应屏幕区域上的角色发送待通知消息,具体的,采用多台并行游戏网关2分别与多台游戏客户端3和多台游戏服务器1连接,游戏服务器1和游戏网关2都支持横向扩展,其中游戏服务器1和游戏网关2每个都是互连的,于是游戏网关2可以通过与每一个游戏服务器1的连接来管理相应游戏服务器上的在线角色数据。
游戏客户端3用于接受玩家的操作指令并与所述游戏网关2通信。
具体的,当游戏客户端3接收到一角色进入一地图场景时,所述游戏服务器1用于向所述游戏网关2发送待通知的所述角色在所述地图场景中出现的消息、待通知的所述地图场景中所述角色所在的位置、及以所述所在的位置为中心的相邻若干个屏幕区域的通知屏,优选的,所述通知屏的屏幕区域为九个;相应的,所述游戏网关2用于向所述游戏客户端3通知屏内的其它角色发送所述角色在地图场景中出现的消息;
当所述游戏客户端3接收到所述角色在所述地图场景中移动时,若所述角色仅在所述所在的位置中移动,所述游戏服务器1用于向所述游戏网关2发送待通知的所述角色在屏幕区域中移动的消息、待通知的所述地图场景中所述角色所在的位置及所述通知屏;所述游戏网关2用于向所述游戏客户端3通知屏内的其它角色发送所述角色在屏幕区域中移动的消息;
当所述游戏客户端1接收到所述角色在所述地图场景中移动时,若所述角色从所述所在的位置移动到新的所在的位置,所述游戏服务器1用于向所述游戏网关发送待通知的所述角色在屏幕区域中移动、出现和消失的消息、待通知的所述地图场景中所述角色新的所在的位置和所述图场景中所述角色原来所在的位置、及以所述角色新的所在的位置为中心的相邻若干个屏幕区域的新的通知屏和以所述角色原来所在的位置为中心的相邻若干个屏幕区域的原来的通知屏;所述游戏网关2用于同时向所述游戏客户端新的通知屏和原来的通知屏的相应屏幕区域中的其它角色分别发送所述第一角色在屏幕区域中移动、出现或消失的消息,具体的,所述游戏网关2向不与所述游戏客户端3新的通知屏重合的所述原来的通知屏的部分屏幕区域内的其它角色发送所述角色在屏幕区域中消失的消息;所述游戏网关2向与所述游戏客户端3新的通知屏重合的所述原来的通知屏的部分屏幕区域内的其它角色发送所述角色在屏幕区域中移动的消息;所述游戏网关2向不与所述游戏客户端3原来的通知屏重合的所述新的通知屏的部分屏幕区域内的其它角色发送所述角色在屏幕区域中出现的消息;
当所述游戏客户端3接收到所述角色离开所述地图场景时,所述游戏服务器1用于向所述游戏网关发送待通知的所述角色在所述地图场景中消失的消息,待通知的所述地图场景中所述角色原来所在的位置、及以所述原来所在的位置为中心的相邻若干个屏幕区域的原来的通知屏;所述游戏网关2向所述游戏客户端3原来的通知屏内的其它角色发送所述角色在地图场景中出现的消息。
发明通过将游戏网关同时与游戏客户端和游戏服务器连接,然后将所述游戏服务器上的每个地图场景等分为多个大于四分之一显示屏大小的屏幕区域,并且所述游戏网关实时记录每个地图场景中在各屏幕区域上的角色,以及所述游戏服务器向所述游戏网关发送待通知消息、待通知范围,最后所述游戏网关根据所述待通知范围向游戏客户端相应屏幕区域上的角色发送待通知消息,该方法基于分布式网络架构,具有比较好的横向和纵向扩展能力,使游戏网关不仅负责游戏客户端和游戏服务器之间的通信数据转发,也参与到整个游戏的消息广播逻辑中去,为游戏玩家提供可靠的通知广播,避免由通知风暴产生的游戏服务的开销几何级数增长的问题,保证服务器的平稳开销,该算法应用面比较广泛,适合各种类型MMO游戏中产生的广播通知。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的***而言,由于与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
显然,本领域的技术人员可以对发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包括这些改动和变型在内。
Claims (20)
1.一种游戏广播通知方法,其特征在于,包括:
将游戏网关同时与游戏客户端和游戏服务器连接;
将所述游戏服务器上的每个地图场景等分为多个大于四分之一显示屏大小的屏幕区域;
所述游戏网关根据所述游戏客户端各玩家的操作指令实时记录每个地图场景中在各屏幕区域上的角色;以及
所述游戏服务器向所述游戏网关发送待通知消息和待通知范围,所述游戏网关根据所述待通知范围向游戏客户端相应屏幕区域上的角色发送所述待通知消息。
2.如权利要求1所述的游戏广播通知方法,其特征在于,采用多台并行游戏网关分别与多台游戏客户端和多台游戏服务器连接。
3.如权利要求1所述的游戏广播通知方法,其特征在于,所述待通知范围包括待通知的地图场景。
4.如权利要求1所述的游戏广播通知方法,其特征在于,所述待通知范围包括待通知的地图场景中角色所在的位置及以所述所在的位置为中心的通知屏的大小。
5.如权利要求4所述的游戏广播通知方法,其特征在于,所述所在的位置是地图场景中的一个屏幕区域。
6.如权利要求5所述的游戏广播通知方法,其特征在于,当一角色进入一地图场景时,所述游戏服务器向所述游戏网关发送待通知的所述角色在所述地图场景中出现的消息、待通知的所述地图场景中所述角色所在的位置、及以所述所在的位置为中心的相邻若干个屏幕区域的通知屏,所述游戏网关向所述游戏客户端通知屏内的其它角色发送所述角色在地图场景中出现的消息。
7.如权利要求6所述的游戏广播通知方法,其特征在于,所述通知屏的屏幕区域为九个。
8.如权利要求7所述的游戏广播通知方法,其特征在于,当所述角色在所述地图场景中移动时,若所述角色仅在所述所在的位置中移动,则所述游戏服务器向所述游戏网关发送待通知的所述角色在屏幕区域中移动的消息、待通知的所述地图场景中所述角色所在的位置及所述通知屏,所述游戏网关向所述游戏客户端通知屏内的其它角色发送所述角色在屏幕区域中移动的消息。
9.如权利要求8所述的游戏广播通知方法,其特征在于,当所述角色在所述地图场景中移动时,若所述角色从所述所在的位置移动到新的所在的位置,则所述游戏服务器向所述游戏网关发送待通知的所述角色在屏幕区域中移动、出现和消失的消息、待通知的所述地图场景中所述角色新的所在的位置和所述图场景中所述角色原来所在的位置、及以所述角色新的所在的位置为中心的相邻若干个屏幕区域的新的通知屏和以所述角色原来所在的位置为中心的相邻若干个屏幕区域的原来的通知屏,所述游戏网关同时向所述游戏客户端新的通知屏和原来的通知屏的相应屏幕区域中的其它角色分别发送所述角色在屏幕区域中移动、出现或消失的消息。
10.如权利要求9所述的游戏广播通知方法,其特征在于,所述游戏网关同时向所述游戏客户端新的通知屏和原来的通知屏的相应屏幕区域中的其它角色分别发送所述角色在屏幕区域中移动、出现或消失的消息的步骤中,所述游戏网关向不与所述游戏客户端新的通知屏重合的所述原来的通知屏的部分屏幕区域内的其它角色发送所述角色在屏幕区域中消失的消息。
11.如权利要求10所述的游戏广播通知方法,其特征在于,所述游戏网关同时向所述游戏客户端新的通知屏和原来的通知屏的相应屏幕区域中的其它角色分别发送所述角色在屏幕区域中移动、出现或消失的消息的步骤中,所述游戏网关向与所述游戏客户端新的通知屏重合的所述原来的通知屏的部分屏幕区域内的其它角色发送所述角色在屏幕区域中移动的消息。
12.如权利要求11所述的游戏广播通知方法,其特征在于,所述游戏网关同时向所述游戏客户端新的通知屏和原来的通知屏的相应屏幕区域中的其它角色分别发送所述角色在屏幕区域中移动、出现或消失的消息的步骤中,所述游戏网关向不与所述游戏客户端原来的通知屏重合的所述新的通知屏的部分屏幕区域内的其它角色发送所述角色在屏幕区域中出现的消息。
13.如权利要求12所述的游戏广播通知方法,其特征在于,当所述角色离开所述地图场景时,所述游戏服务器向所述游戏网关发送待通知的所述角色在所述地图场景中消失的消息,待通知的所述地图场景中所述角色原来所在的位置、及以所述原来所在的位置为中心的相邻若干个屏幕区域的原来的通知屏,所述游戏网关向所述游戏客户端原来的通知屏内的其它角色发送所述角色在地图场景中消失的消息。
14.一种游戏广播通知***,其特征在于,包括:
游戏服务器,用于存储各种地图场景、将每个地图场景等分为多个大于四分之一显示屏大小的屏幕区域,向游戏网关发送待通知消息和待通知范围;
游戏网关,用于同时与游戏客户端和游戏服务器连接,实时记录每个地图场景中在各屏幕区域上的角色,根据所述待通知范围向游戏客户端相应屏幕区域上的角色发送待通知消息;以及
游戏客户端,用于接受玩家的操作指令并与所述游戏网关通信。
15.如权利要求14所述的游戏广播通知***,其特征在于,采用多台并行游戏网关分别与多台游戏客户端和多台游戏器服务连接。
16.如权利要求14所述的游戏广播通知***,其特征在于,所述游戏服务器向游戏网关发送的待通知范围包括待通知的地图场景或待通知的地图场景中角色所在的位置及以所述所在的位置为中心的通知屏的大小。
17.如权利要求14所述的游戏广播通知***,其特征在于,当所述游戏客户端接收到一角色进入一地图场景时,
所述游戏服务器,用于向所述游戏网关发送待通知的所述角色在所述地图场景中出现的消息、待通知的所述地图场景中所述角色所在的位置、及以所述所在的位置为中心的相邻若干个屏幕区域的通知屏;
所述游戏网关,用于向所述游戏客户端通知屏内的其它角色发送所述角色在地图场景中出现的消息。
18.如权利要求17所述的游戏广播通知***,其特征在于,当所述游戏客户端接收到所述角色在所述地图场景中移动时,若所述角色仅在所述所在的位置中移动,
所述游戏服务器,用于向所述游戏网关发送待通知的所述角色在屏幕区域中移动的消息、待通知的所述地图场景中所述角色所在的位置及所述通知屏;
所述游戏网关,用于向所述游戏客户端通知屏内的其它角色发送所述角色在屏幕区域中移动的消息。
19.如权利要求18所述的游戏广播通知***,其特征在于,当所述游戏客户端接收到所述角色在所述地图场景中移动时,若所述角色从所述所在的位置移动到新的所在的位置,
所述游戏服务器,用于向所述游戏网关发送待通知的所述角色在屏幕区域中移动、出现和消失的消息、待通知的所述地图场景中所述角色新的所在的位置和所述图场景中所述角色原来所在的位置、及以所述角色新的所在的位置为中心的相邻若干个屏幕区域的新的通知屏和以所述角色原来所在的位置为中心的相邻若干个屏幕区域的原来的通知屏;
所述游戏网关,用于同时向所述游戏客户端新的通知屏和原来的通知屏的相应屏幕区域中的其它角色分别发送所述角色在屏幕区域中移动、出现或消失的消息。
20.如权利要求19所述的游戏广播通知***,其特征在于,当所述游戏客户端接收到所述角色离开所述地图场景时,
所述游戏服务器,用于向所述游戏网关发送待通知的所述角色在所述地图场景中消失的消息,待通知的所述地图场景中所述角色原来所在的位置、及以所述原来所在的位置为中心的相邻若干个屏幕区域的原来的通知屏;
所述游戏网关向所述游戏客户端原来的通知屏内的其它角色发送所述角色在地图场景中消失的消息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210055788.7A CN103297249B (zh) | 2012-03-05 | 2012-03-05 | 游戏广播通知方法及*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210055788.7A CN103297249B (zh) | 2012-03-05 | 2012-03-05 | 游戏广播通知方法及*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103297249A CN103297249A (zh) | 2013-09-11 |
CN103297249B true CN103297249B (zh) | 2018-04-13 |
Family
ID=49097604
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210055788.7A Active CN103297249B (zh) | 2012-03-05 | 2012-03-05 | 游戏广播通知方法及*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103297249B (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105025061B (zh) * | 2014-04-29 | 2018-09-21 | 中国电信股份有限公司 | 构建云端共享游戏场景的方法与服务器 |
CN105991591B (zh) * | 2015-02-13 | 2019-02-26 | 广州四三九九信息科技有限公司 | 游戏aoi同步方法 |
CN105381612A (zh) * | 2015-10-15 | 2016-03-09 | 福建天晴数码有限公司 | 基于屏幕消息广播的处理方法及*** |
CN107096226B (zh) * | 2017-03-30 | 2019-02-26 | 腾讯科技(深圳)有限公司 | 在客户端中显示帐号信息的方法和装置 |
CN109364480A (zh) * | 2018-10-26 | 2019-02-22 | 杭州电魂网络科技股份有限公司 | 一种信息同步方法和装置 |
CN109731336B (zh) | 2018-12-27 | 2022-09-09 | 三星电子(中国)研发中心 | 一种游戏应用的控制方法和装置 |
CN109947241B (zh) * | 2019-01-31 | 2023-03-21 | 广州思锋信息科技有限公司 | 交互应用中多方参与交互的控制方法及服务器 |
CN112354175A (zh) * | 2020-12-02 | 2021-02-12 | 网易(杭州)网络有限公司 | 游戏广播通知方法、装置、设备和存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1743043A (zh) * | 2005-06-19 | 2006-03-08 | 珠海市西山居软件有限公司 | 一种网络游戏***及其实现方法 |
CN1877590A (zh) * | 2006-07-11 | 2006-12-13 | 北京金山软件有限公司 | 一种在手机网络游戏中显示非主角玩家的方法 |
CN101266633A (zh) * | 2006-11-29 | 2008-09-17 | 优万科技(北京)有限公司 | 无缝超大规模虚拟游戏世界平台 |
CN101604358A (zh) * | 2009-07-13 | 2009-12-16 | 优万科技(北京)有限公司 | 一种资源更新方法、装置和*** |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101068180B (zh) * | 2007-06-15 | 2010-04-07 | 腾讯科技(深圳)有限公司 | 网络游戏的主控***、管理***及管理方法 |
-
2012
- 2012-03-05 CN CN201210055788.7A patent/CN103297249B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1743043A (zh) * | 2005-06-19 | 2006-03-08 | 珠海市西山居软件有限公司 | 一种网络游戏***及其实现方法 |
CN1877590A (zh) * | 2006-07-11 | 2006-12-13 | 北京金山软件有限公司 | 一种在手机网络游戏中显示非主角玩家的方法 |
CN101266633A (zh) * | 2006-11-29 | 2008-09-17 | 优万科技(北京)有限公司 | 无缝超大规模虚拟游戏世界平台 |
CN101604358A (zh) * | 2009-07-13 | 2009-12-16 | 优万科技(北京)有限公司 | 一种资源更新方法、装置和*** |
Also Published As
Publication number | Publication date |
---|---|
CN103297249A (zh) | 2013-09-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103297249B (zh) | 游戏广播通知方法及*** | |
CN105991591B (zh) | 游戏aoi同步方法 | |
CN112316424B (zh) | 一种游戏数据处理方法、装置及存储介质 | |
CN104539743B (zh) | 一种云计算***及其控制方法 | |
CN108619720A (zh) | 动画的播放方法和装置、存储介质、电子装置 | |
US9550125B2 (en) | Dynamic and scalable topology for virtual world environments | |
CN104363475B (zh) | 一种观众分组关联的方法、装置和*** | |
CN108257219A (zh) | 一种实现全景多点漫游的方法 | |
EP2798617B1 (en) | Method and apparatus for providing perspective-based content placement | |
JP6081037B1 (ja) | 画像受信再生装置、画像生成送信装置、表示システム、画像受信再生方法、画像生成送信方法、画像受信再生プログラム及び画像生成送信プログラム | |
US10592933B2 (en) | Managing ephemeral locations in a virtual universe | |
CN108141409A (zh) | 通信***、地址通知装置、通信控制装置、终端、通信方法以及程序 | |
CN105872038A (zh) | 云桌面***的高并发处理方法及装置 | |
CN105871989A (zh) | 直播视频的获取方法及装置 | |
CN103152429B (zh) | 基于web跨平台与拼墙互动的方法及装置 | |
CN108040063A (zh) | 一种全球游戏网络实时通信方法和装置 | |
CN109429266A (zh) | 网络通信***的控制方法与边缘运算装置 | |
KR101401961B1 (ko) | 증강현실 컨텐츠 공유시스템 및 방법 | |
CN109364480A (zh) | 一种信息同步方法和装置 | |
KR20170055881A (ko) | 온라인 게임 제공 시스템 및 방법 | |
CN112023396B (zh) | 云游戏数据交互方法及装置、计算机可读介质及电子设备 | |
CN109999490A (zh) | 一种降低联网云应用延迟的方法及*** | |
CN110349270A (zh) | 基于现实空间定位的虚拟沙盘呈现方法 | |
Opoku | A simultaneous-movement mobile multiplayer game design based on adaptive background partitioning technique | |
CN103152611B (zh) | 一种流媒体管道业务的控制方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
EXSB | Decision made by sipo to initiate substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |