首页> 中国专利> 基于分布式服务器的回合制网络游戏的实现方法

基于分布式服务器的回合制网络游戏的实现方法

摘要

本发明公布了一种基于分布式服务器的回合制网络游戏的实现方法,当需要开启一场回合制战斗时,首先通过创建域的方式在战斗处理服务器上创建一个战斗域,随后将需要参加回合制战斗的玩家对象上与战斗相关的数据抽取出来,通过远程调用的方式发送到该战斗处理服务器上的战斗域中,并在该战斗域中根据接收到的数据创建相对应的玩家对象镜像,然后进行战斗流程处理直至战斗结束,最后,将玩家对象镜像的数据抽取出来,通过远程调用的方式发送到其对应的玩家对象所在的玩家服务器上,并覆盖玩家对象原有的数据;本发明能够更加轻松地处理回合制战斗游戏过程中的逻辑和数据,极大地降低了开发成本,提升了开发速度。

著录项

  • 公开/公告号CN101751513A

    专利类型发明专利

  • 公开/公告日2010-06-23

    原文格式PDF

  • 申请/专利权人 厦门市吉比特网络技术有限公司;

    申请/专利号CN200910113102.3

  • 发明设计人 卢竑岩;叶振华;

    申请日2009-12-23

  • 分类号G06F19/00;

  • 代理机构厦门市新华专利商标代理有限公司;

  • 代理人朱凌

  • 地址 361009 福建省厦门市软件园二期观日路26号205室

  • 入库时间 2023-12-18 00:22:50

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2012-12-12

    授权

    授权

  • 2011-01-26

    实质审查的生效 IPC(主分类):G06F19/00 申请日:20091223

    实质审查的生效

  • 2010-06-23

    公开

    公开

说明书

技术领域

本发明涉及网络游戏领域,尤其是一种基于分布式服务器的回合制网络游戏的实现方法。

背景技术

基于分布式服务器的网络游戏中,所有的游戏资源都分布在各个不同的服务器上,如果访问不在当前主机的数据资源,就需要通过访问域的方式进行远程调用,而不能像传统单一服务器下开发的网络游戏,以直接通过访问对象的方式进行。这样就给开发工作带来不便利性,使得开发人员需要通过更多更复杂的逻辑代码才能实现原来在单一服务器下很容易达成的目标。同时,由于大量数据访问和接口调用需要通过远程访问的方式,若网络突然出现中断,导致通信不可用,就会增加了系统的不可靠性,这样在需要实现对可靠性有较高要求的系统时,复杂度增大了很多。

发明内容

为了解决上述问题,本发明提供一种具有高度可靠性和易于开发的基于分布式服务器的回合制网络游戏的实现方法。

为达成上述目的,本发明的技术方案是:

一种基于分布式服务器的回合制网络游戏的实现方法,当需要开启一场回合制战斗时,首先通过创建域的方式在战斗处理服务器上创建一个战斗域,随后将需要参加回合制战斗的玩家对象上与战斗相关的数据抽取出来,通过远程调用的方式发送到该战斗处理服务器上的战斗域中,并在该战斗域中根据接收到的数据创建相对应的玩家对象镜像,然后进行战斗流程处理直至战斗结束,最后,将玩家对象镜像上与战斗有关的数据抽取出来,通过远程调用的方式发送到其对应的玩家对象所在的玩家服务器上,并覆盖玩家对象原有的数据。

采用本发明的技术方案后,由于将所有参与回合制战斗的玩家对象的与战斗相关的数据发送到同一台服务器上,并在该服务器上还原了玩家镜像对象,所以开发者可以在内存中直接以面向玩家对象的方式访问数据,编写战斗控制逻辑。这样比每次需要访问数据时都通过远程调用的方式从另一台主机获取便利了很多,程序人员无需考虑远程调用的异步性、不可靠性,从而能够更加轻松地处理回合制战斗过程中的逻辑和数据,极大地降低了开发成本,提升了开发速度。

附图说明

图1是本发明中数据处理流程图;

图2是本发明中数据处理关系图;

图3是本发明中网络拓扑图。

以下结合附图和具体实施例对本发明作进一步详述。

具体实施方式

如图3,本发明一种基于分布式服务器的回合制网络游戏的实现方法,主要包括多个玩家(客户端)、若干存储有玩家对象数据的服务器(玩家服务器)、至少一个用于承载回合制战斗过程的服务器(战斗处理服务器)。

所述的玩家对象数据是与用来表示玩家在网络游戏实现过程中的实例化对象相关的数据,即与存储于玩家服务器中玩家对象相应的数据段数据和代码段数据。

如图2所示,当存储于玩家服务器A的玩家对象1、玩家对象2和存储于玩家服务器B的玩家对象3、玩家对象4共同开启一场回合制战斗时,在战斗处理服务器C创建一个战斗域,并将所有需要进入回合制战斗的玩家对象在该战斗域中生成玩家对象镜像,将该玩家对象数据传输给该战斗域中对应的玩家对象镜像,即在战斗域内根据接收到的数据重新还原成对应逻辑对象和数据,与真正玩家对象一一映射;在战斗过程中,只针对所有的玩家对象镜像进行访问,并且在战斗结束后,再将与玩家对象镜像相关的数据回传至其对应的玩家对象所在的玩家服务器并覆盖该玩家对象的数据。

所述的玩家对象和玩家对象镜像的不同之处主要在于:

1、数据段不同

玩家对象镜像的数据段所拥有的数据部分和玩家对象的重叠;在玩家对象战斗过程中所需要访问使用到的数据段且玩家对象拥有的部分即为重叠部分数据;而玩家对象所拥有的与战斗无关的数据则是玩家对象的独有数据;在战斗过程中,因为战斗过程所产生的其他临时性数据则为玩家对象镜像的独有数据。

一般来讲,玩家对象和玩家对象镜像都有表示该玩家对象的生命力、行动力、攻击力等相关数据,这是重叠数据部分;但是玩家对象上用来记录玩家游戏时间、游戏坐标等与战斗过程无关的数据是玩家对象的独有数据;在战斗过程中,需要记录当前玩家对象状态的数据,比如中毒、禁制等数据则是玩家对象镜像的独有数据。

另外,玩家对象数据中需要记录玩家的网络连接端口号,而玩家对象镜像数据中需要记录对应玩家对象的目标数据。

2.代码段不同

由于玩家对象是用来表示玩家游戏过程中的实例化对象,所以其逻辑代码需要涉及到游戏过程中的所有操作;而玩家对象镜像只用来处理玩家对象在回合制战斗过程中的操作逻辑,所以其代码段的内容与玩家对象的不同。其中最明显的区别在于:玩家对象需要提供一个发送数据包的逻辑功能,该段逻辑代码的主要作用就是将需要发送给玩家对象镜像的数据按照玩家对象上记录的网络连接端口号发送过去;而玩家对象镜像明显不具有该段逻辑代码,且也不可能与玩家存在网络连接关系,所以玩家对象的逻辑代码其主要功能是将需要发送给玩家的数据通过远程通信调用的方式先发送给玩家对象,再由玩家对象通过网络连接发送给玩家。

如图1所示,本发明需要开启一场回合制战斗时,首先通过创建域的方式在战斗处理服务器上创建一个战斗域,随后将需要参加回合制战斗的玩家对象上标注战斗标记,然后将与战斗相关的数据抽取出来,通过远程调用的方式发送到该战斗处理服务器上的战斗域中,并在该战斗域中根据接收到的数据创建相对应的玩家对象镜像,然后,进行战斗流程处理直至战斗结束,最后,将玩家对象镜像上与战斗有关的数据抽取出来,通过远程调用的方式发送到该对应的玩家对象所在的玩家服务器上,并覆盖玩家对象原有的数据,同时去掉玩家对象上的战斗标记。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号