公开/公告号CN105338081A
专利类型发明专利
公开/公告日2016-02-17
原文格式PDF
申请/专利权人 网易(杭州)网络有限公司;
申请/专利号CN201510716752.2
申请日2015-10-29
分类号H04L29/08(20060101);A63F13/58(20140101);A63F13/35(20140101);A63F13/335(20140101);G06F9/44(20060101);
代理机构44100 广州新诺专利商标事务所有限公司;
代理人吴静芝;林玉芳
地址 310052 浙江省杭州市滨江区长河街道网商路599号4幢7层
入库时间 2023-12-18 14:21:19
法律状态公告日
法律状态信息
法律状态
2019-03-01
授权
授权
2016-03-16
实质审查的生效 IPC(主分类):H04L29/08 申请日:20151029
实质审查的生效
2016-02-17
公开
公开
技术领域
本发明属于数据通信技术领域,特别涉及一种应用于游戏中回合制多单位战斗的数据处 理方法、系统、客户端及服务器端。
背景技术
回合制战斗是游戏中的一种战斗模式,也即,在开始战斗后,属于同一方的多个战斗单 位(多个战斗单位也即多个玩家在战斗中所使用的战斗角色)采用轮流行动的制度,且战斗 双方采用轮流攻击的方式。当其中一方的当前战斗单位战亡,则轮到该战亡方的另一战斗单 位进行第二轮对战,以此类推,直到其中一方的所有战斗单位均战亡,才会结束回合制战斗。
由于在回合制战斗中,每轮对战每个战斗方仅需要通过一个战斗单位进行对战,其它战 斗单位为非战斗状态或观战状态。这么一来,必须区分当前战斗单位和非战斗单位,合理处 理战斗数据,以方便玩家能够直观地辨别出当前战斗单位的战斗状态及非战斗单位的状态。 现有技术中通常是通过以下方式实现当前战斗单位和非战斗单位的区分及战斗数据处理的:
1)现有技术的其中一种技术方案是:非战斗单位通过隐身的方式显示于战斗回合制战斗 场景中,而当前战斗单位并不做任何处理,由此区分非战斗单位和战斗单位。具体地,非战 斗单位是通过其召唤兽的技能或通过隐身道具在其非战斗回合中实现隐身的效果,隐身的具 体表现为角色形象半透明状态,由此使得非战斗单位在当前回合不受绝大部分攻击影响。而 当当前战斗单位战亡时,战亡方的其它战斗单位中的其中一个玩家可通过利用药品和技能去 除自身的隐身状态,实现对战亡单位的顶替,继续下一回合战斗。
由此可知,现有技术中在回合制战斗中,当前战斗单位和非战斗单位均可由其玩家进行 操作,则必会导致所有战斗单位的数据会时刻发生变化,因此服务器需要不断地读取所有战 斗单位的战斗数据及操作数据,以及时得知所有战斗单位的当前状态,并将相应的操作效果 反馈至客户端,实现战斗回合依序进行。从而导致服务器每一战斗回合均需要处理庞大的数 据量,增加了服务器的负担,占用了服务器的内存及造成服务器处理速度降低;且在网络条 件不佳或同时在线人数较多的情况下,容易出现非常明显的卡机现象。
2)现有技术的另一种技术方案是:处于非战斗状态下的其它玩家通过点击战斗中的队伍 成员的头像后再点击观战按钮实现非战斗单位切入到战斗场景。具体地,客户端是通过读取 角色数据并在战斗场景中创造对应于非战斗单位的假象单位,实现非战斗单位的镜像形象形 成于战斗场景中,则战斗场景中的非战斗单位的假象单位是没有任何操作的权限的,非战斗 单位需要退出战斗时,客户端直接删除非战斗单位的镜像数据,不影响现有角色。但是,非 战斗单位的镜像数据是不会与服务器发生任何交互,导致服务器无法实现非战斗单位替补已 战亡的战斗单位继续下一回合战斗,影响对战的及时性和体验性。
发明内容
本发明的目的是为了解决上述现有技术的缺点和不足,提供一种回合制游戏的数据处理 方法、系统、客户端及服务器端,在保证多轮回合战斗正常进行的情况下,减少服务器与客 户端交互的数据量,减轻服务器的数据处理负担及减少服务器中战斗数据所占用的内存空间, 从而提升服务器的处理和响应速率,增强玩家体验感。首先,本发明提供了一种回合制游戏 的数据处理方法,其特征在于:包括以下步骤:
服务器初始化并记录当前战斗单位的全部战斗数据、及所有非战斗单位的部分战斗数据, 并发送至客户端;
客户端显示当前战斗单位及所有非战斗单位的位置和外观;
服务器发送回合战斗指令至客户端;
客户端接收回合战斗指令,显示并触发当前战斗单位的操作界面,产生操作指令,并发 送至服务器;
服务器根据操作指令更新当前战斗单位的战斗数据及处理得到与操作指令相应的战斗结 果,并将战斗结果发送至客户端;
客户端播放战斗结果,当前战斗单位的战斗回合结束,并返回一播放完成信息至服务器;
服务器接收播放完成信息,根据战斗结果获取当前战亡的战斗单位,调用并记录其所属 战斗队伍中其中一非战斗单位的其它战斗数据,实现该非战斗单位作为新的参战单位以替代 当前战斗单位,且服务器发送一删除指令及新的参战单位的其它战斗数据至客户端;
客户端根据删除指令删除对应于新的参战单位的非战斗单位,并显示新的参战单位及其 操作界面,执行下一回合战斗。
通过上述技术方案,本发明通过服务器仅记录当前战斗单位的所有战斗数据并仅记录非 战斗单位的部分数据,并根据客户端发送的当前战斗单位操作指令自行完成操作序列的计算 并得到战斗结果,再根据战斗结果决定是否增加非战斗单位的其它战斗数据(如血量、技能、 状态等),由此保证了多轮回合战斗正常进行的情况下,减少服务器与客户端交互的数据量, 并减轻服务器的数据处理负担及减少服务器中非战斗单位的战斗数据所占用的内存空间,从 而提升服务器的处理和响应速率,增强玩家体验感。
作为本发明的进一步改进,在步骤客户端显示当前战斗单位及所有非战斗单位的位置和 外观中,具体包括以下步骤:
创建所有非战斗单位的假象模型;
设置所有假象模型的透明度,实现所有假象模型的隐身;
客户端显示当前战斗单位及所有非战斗单位的假象模型的位置和外观。
通过上述步骤,进一步减少了客户端和服务器的交互的数据量,从而进一步减少了服务 器的负担及提高了客户端的响应速率。
进一步,客户端根据删除指令删除对应于新的参战单位的非战斗单位的假象模型。
进一步,服务器初始化并记录的当前战斗单位的全部战斗数据为当前战斗单位的人物、 召唤兽及非人控制玩家角色的账号数据、位置数据、抗性数据、血量数据、状态数据及技能 数据;及服务器初始化并记录的非战斗单位的部分数据为非战斗单位的人物、召唤兽及非人 控制玩家角色的账号数据和位置数据。此处设置有利于进一步减少服务器的数据量及负担。
进一步,在步骤服务器调用并记录其中一非战斗单位的其它战斗数据中,所述其它战斗 数据为该作为新的参战单位的非战斗单位的抗性数据、血量数据、状态数据及技能数据。
进一步,客户端接收到删除指令后,还删除已战亡的当前战斗单位的人物、召唤兽及非 人控制玩家角色的抗性数据、血量数据、状态数据及技能数据。此处设置有利于进一步减少 客户端的数据存储量,释放客户端的内存,并提高客户端的处理效率。
进一步,若服务器超时未接收到操作指令,则服务器补充默认战斗指令至客户端,并由 客户端结束当前回合的操作。此处设置有利于保证一个回合的顺利进行,从而进一步增强玩 家的体验效果。
进一步,在回合战斗中,服务器可生成非战斗单位的对话信息,并发送至客户端,由客 户端显示。此处设置有利于丰富战斗场景及增加战斗氛围,并丰富世界观及优化玩家的体验 效果。
进一步,在回合战斗中,服务器还可生成非战斗单位的动作信息,并发送至客户端,由 客户端播放。此处设置进一步丰富了战斗场景及增加战斗氛围,也进一步丰富了世界观及优 化玩家的体验效果。
相应地,本发明还提供了能够实现上述回合制游戏的数据处理方法的一种回合制游戏的 数据处理系统,其包括服务器端和客户端;
所述服务器端包括:
数据初始化模块,用于初始化当前战斗单位的全部战斗数据及所有非战斗单位的部分战 斗数据;
战斗数据存储发送模块,用于存储数据初始化模块中所述当前战斗单位的全部战斗数据 及所有非战斗单位的部分战斗数据,并发送至客户端;
指令发送模块,用于发送回合战斗指令至客户端;
指令接收模块,用于接收由客户端发送的操作指令;
战斗处理模块,用于根据操作指令更新战斗数据存储发送模块中当前战斗单位的战斗数 据,并根据操作指令处理得到相应的战斗结果,并发送该战斗结果至客户端;
以及状态判断模块,用于根据战斗结果获取当前战亡的战斗单位,调用并记录其所属战 斗队伍中其中一非战斗单位的其它战斗数据,实现该非战斗单位作为新的参战单位替代当前 战斗单位,并控制战斗数据存储发送模块发送新的参战单位的其它战斗数据至客户端;且状 态判断模块发送一删除指令至客户端。
所述客户端包括:
数据接收模块,用于接收由战斗数据存储发送模块发送的当前战斗单元的全部战斗数据 及所有非战斗单元的部分战斗数据,并接收由战斗数据存储发送模块发送的新的参战单位的 其它战斗数据;
存储模块,用于存储由数据接收模块接收到的当前战斗单元的全部战斗数据及非战斗单 元的部分战斗数据;
指令接收模块,用于接收由服务器端的指令发送模块发送的回合战斗指令;
显示模块,用于根据存储模块存储的战斗数据显示当前战斗单位及非战斗单位的位置和 外观;并根据客户端的指令接收模块接收到的回合战斗指令显示当前战斗单位的操作界面;
操作模块,用于触发操作界面,产生操作指令,并发送至服务器端的指令接收模块;
播放模块,用于接收由服务器端的战斗处理模块发送的战斗结果,并于显示模块中播放 战斗结果,并返回一播放完成信息至服务器端的状态判断模块;
以及删除模块,用于根据由状态判断模块发送的删除指令,删除显示模块中所述新的参 战单位对应的非战斗单位。
所述客户端还包括模型创建模块;所述模型创建模块用于根据数据接收模块中所有非战 斗单元的战斗数据分别创建所有非战斗单位的假象模型,并用于设置所有假象模型的透明度, 实现所有假象模型的隐身;且所述模型创建模块用于发送所有假象模型至所述显示模块,由 显示模块显示。
所述删除模块用于根据删除指令删除显示模块中所述新的参战单位对应的非战斗单位的 假象模型。
所述数据初始化模块初始化的当前战斗单位的全部战斗数据为当前战斗单位的人物、召 唤兽及非人控制玩家角色的账号数据、位置数据、抗性数据、血量数据、状态数据及技能数 据;及其初始化的非战斗单位的部分数据为非战斗单位的人物、召唤兽及非人控制玩家角色 的账号数据和位置数据。
所述状态判断模块控制战斗数据存储模块调用的非战斗单位的其它战斗数据为该作为新 的参战单位的非战斗单位的抗性数据、血量数据、状态数据及技能数据。
所述删除模块还用于根据删除指令删除数据接收模块中已战亡的当前战斗单位的人物、 召唤兽及非人控制玩家角色的抗性数据、血量数据、状态数据及技能数据。
若客户端的操作模块超时未发送操作指令至服务器端的指令接收模块,则客户端的指令 接收模块还用于接收由服务器端的指令发送模块发送的补充默认战斗指令,实现客户端的操 作模块结束当前回合的操作。
所述服务器端还包括辅助信息模块;所述辅助信息模块用于在回合战斗中生成非战斗单 位的对话信息,并发送至客户端的数据接收模块;所述数据接收模块还用于接收到由所述辅 助信息模块发送的对话信息后,将对话信息发送至显示模块;所述显示模块还用于接收到由 所述数据接收模块发送的对话信息后,显示所述对话信息。
所述辅助信息模块还用于在回合战斗中还可生成非战斗单位的动作信息,并发送至客户 端的数据接收模块;所述数据接收模块还用于接收到由所述辅助信息模块发送的动作信息后, 将动作信息发送至显示模块;所述显示模块还用于接收到由所述数据接收模块发送的动作信 息后,根据动作信息播放与其相应的非战斗单位的动作。
由于本发明的回合制游戏的数据处理系统能够实现本发明的回合制游戏的数据处理方 法,故本发明的回合制游戏的数据处理系统具有本发明的回合制游戏的数据处理方法的上述 技术效果。
另外,根据本发明的回合制游戏的数据处理系统,本发明还单独提供了一种游戏系统的 客户端,其包括
数据接收模块,用于接收由服务器端初始化的当前战斗单元的全部战斗数据及所有非战 斗单元的部分战斗数据,并接收由服务器端判断当前操作单位为战亡状态时所发送的对应于 其中一非战斗单位的新的参战单位的其它战斗数据;
存储模块,用于存储由数据接收模块接收到的当前战斗单元的全部战斗数据及非战斗单 元的部分战斗数据;
指令接收模块,用于接收由服务器端发送的回合战斗指令;
显示模块,用于根据存储模块存储的战斗数据显示当前战斗单位及非战斗单位的位置和 外观;并根据指令接收模块接收到的回合战斗指令显示当前战斗单位的操作界面;
操作模块,用于触发操作界面,产生操作指令,并发送至服务器端;
播放模块,用于接收由服务器端发送的战斗结果,并于显示模块中播放战斗结果,并返 回一播放完成信息至服务器端;
以及删除模块,用于根据由服务器端发送的删除指令,删除显示模块中所述新的参战单 位对应的非战斗单位。
所述游戏系统的客户端还包括模型创建模块;所述模型创建模块用于根据数据接收模块 中所有非战斗单元的战斗数据分别创建所有非战斗单位的假象模型,并设置所有假象模型的 透明度,实现所有假象模型的隐身;且用于发送所有假象模型至所述显示模块,由显示模块 显示。
所述删除模块还用于根据删除指令删除显示模块中所述新的参战单位对应的非战斗单位 的假象模型。
所述数据接收模块接收由的服务器端初始化的当前战斗单位的全部战斗数据为当前战斗 单位的人物、召唤兽及非人控制玩家角色的账号数据、位置数据、抗性数据、血量数据、状 态数据及技能数据;及数据接收模块接收由服务器端初始化的非战斗单位的部分数据为非战 斗单位的人物、召唤兽及非人控制玩家角色的账号数据和位置数据。
所述数据接收模块接收由服务器端发送的新的参战单位的其它战斗数据为该新的参战单 位的抗性数据、血量数据、状态数据及技能数据。
所述删除模块还用于根据删除指令删除数据接收模块中已战亡的当前战斗单位的人物、 召唤兽及非人控制玩家角色的抗性数据、血量数据、状态数据及技能数据。
若操作模块超时未发送操作指令至服务器端,则指令接收模块还用于接收由服务器端发 送的补充默认战斗指令,并控制操作模块结束当前回合的操作。
在回合战斗中,所述数据接收模块还用于接收由服务器端生成的非战斗单位的对话信息, 并发送至显示模块,由显示模块显示。
在回合战斗中,所述数据接收模块还用于接收由服务器端生成的非战斗单位的动作信息, 并发送至显示模块,由显示模块播放。
由于此处的游戏系统的客户端与所述回合制游戏的数据处理系统中的客户端结构相同, 故此处的游戏系统的客户端具有所述回合制游戏的数据处理系统中的客户端的上述技术效 果。
另外,根据本发明的回合制游戏的数据处理系统,本发明还单独提供了一种游戏系统的 服务器端,其包括:
数据初始化模块,用于初始化当前战斗单位的全部战斗数据及所有非战斗单位的部分战 斗数据;
战斗数据存储发送模块,用于存储数据初始化模块中所述当前战斗单位的全部战斗数据 及所有非战斗单位的部分战斗数据,并发送至客户端;
指令发送模块,用于发送回合战斗指令至客户端;
指令接收模块,用于接收由客户端发送的操作指令;
战斗处理模块,用于根据操作指令更新战斗数据存储发送模块中当前战斗单位的战斗数 据,并根据操作指令处理得到相应的战斗结果,并发送该战斗结果至客户端;
以及状态判断模块,用于根据战斗结果获取当前战亡的战斗单位,调用并记录其所属战 斗队伍中其中一非战斗单位的其它战斗数据,实现该非战斗单位作为新的参战单位替代当前 战斗单位,并控制战斗数据存储发送模块发送新的参战单位的其它战斗数据至客户端;且状 态判断模块还用于发送一删除指令至客户端。
所述数据初始化模块初始化的当前战斗单位的全部战斗数据为当前战斗单位的人物、召 唤兽及非人控制玩家角色的账号数据、位置数据、抗性数据、血量数据、状态数据及技能数 据;及其初始化的非战斗单位的部分数据为非战斗单位的人物、召唤兽及非人控制玩家角色 的账号数据和位置数据。
所述状态判断模块控制战斗数据存储发送模块调用的非战斗单位的其它战斗数据为该作 为新的参战单位的非战斗单位的抗性数据、血量数据、状态数据及技能数据。
若指令接收模块超时未接收到操作指令,则指令接收模块还用于控制指令发送模块补充 默认战斗指令至客户端,实现客户端结束当前回合的操作。
所述游戏系统的服务器端还包括辅助信息模块;所述辅助信息模块用于在回合战斗中生 成非战斗单位的对话信息,并发送至客户端。
所述辅助信息模块还用于在回合战斗中生成非战斗单位的动作信息,并发送至客户端。
由于此处的游戏系统的服务器端与所述回合制游戏的数据处理系统中的服务器端结构相 同,故此处的游戏系统的服务器端具有所述回合制游戏的数据处理系统中的服务器端的上述 技术效果。
为了更好地理解和实施,下面结合附图详细说明本发明。
附图说明
图1是本发明的回合制游戏的数据处理方法的总流程框图;
图2是本发明的回合制游戏的数据处理方法进一步完善后的流程框图;
图3是本发明中战斗双方在回合制多单位战斗游戏时于游戏界面的位置及显示状态示意 图;
图4是本发明的回合制游戏的数据处理系统的结构框图;
图5是本发明的回合制游戏的数据处理系统进一步完善后的结构框图。
具体实施方式
为了解决现有技术中由于在回合制多单位战斗中的服务器必须读取所有战斗单元的战斗 数据而导致服务器每一战斗回合均需要处理庞大的数据量,增加服务器的负担,占用了服务 器的内存及造成服务器处理速度降低、并容易在网络条件不佳或同时在线人数较多的情况下 出现非常明显的卡机现象等问题,同时也为了解决现有技术中由于在回合制多单元战斗中的 的非战斗单位的假象单位直接采用镜像数据,不具有任何操作的权限而无法与服务器发生任 何交互,导致服务器无法实现非战斗单位替补已战亡的战斗单位继续下一回合战斗,影响对 战的及时性和体验性的问题;本发明探索通过服务器仅记录当前战斗单位的所有战斗数据并 仅记录非战斗单位的位置数据和账号数据,然后根据客户端发送的当前战斗单位操作指令自 行完成操作序列的计算并得到战斗结果,再根据战斗结果决定是否增加非战斗单位的其它战 斗数据(如血量、技能、状态等)的方式,以保证多轮回合战斗正常进行的情况下,减少服 务器与客户端交互的数据量,并减轻服务器的数据处理负担及减少服务器中非战斗单位的战 斗数据所占用的内存空间,从而提升服务器的处理和响应速率,增强玩家体验感。以下,具 体地说明本发明的技术方案。
请参阅图1,本发明回合制游戏的数据处理方法,包括以下步骤:
步骤S1:服务器初始化并记录当前战斗单位的全部战斗数据、及所有非战斗单位的部分 战斗数据,并发送至客户端;
为了减少服务器的数据量及负担,作为一种更优的技术方案,在步骤S1中,服务器初始 化并记录的当前战斗单位的全部战斗数据为当前战斗单位的人物、召唤兽及非人控制玩家角 色的账号数据、位置数据、抗性数据、血量数据、状态数据及技能数据;及服务器初始化并 记录的非战斗单位的部分数据为非战斗单位的人物、召唤兽及非人控制玩家角色的账号数据 和位置数据。也即,服务器仅记录当前战斗单位的全部战斗数据,并仅记录非战斗单位的账 号数据和位置数据。
步骤S2:客户端显示当前战斗单位及所有非战斗单位的位置和外观;
请参阅图2,为了进一步减少客户端和服务器的交互的数据量,从而进一步减少服务器 的负担及提高客户端的响应速率,作为一种更优的技术方案,所述步骤S2中具体包括以下步 骤:
步骤S21:创建所有非战斗单位的假象模型;
步骤S22:设置所有假象模型的透明度,实现所有假象模型的隐身;也即,在步骤S22 中,通过设置所有非战斗单位的假象模型的透明度使其呈现隐身效果,不仅方便了当前战斗 单位与非战斗单位的区分识别,而且减少了服务器与客户端的数据交互;
步骤S23:客户端显示当前战斗单位及所有非战斗单位的假象模型的位置和外观。
步骤S3:服务器发送回合战斗指令至客户端;
步骤S4:客户端接收回合战斗指令,显示并触发当前战斗单位的操作界面,产生操作指 令,并发送至服务器;
步骤S5:服务器根据操作指令更新当前战斗单位的战斗数据及处理得到与操作指令相应 的战斗结果,并将战斗结果发送至客户端;
步骤S6:客户端播放战斗结果,当前战斗单位的战斗回合结束,并返回一播放完成信息 至服务器;
步骤S7:服务器接收播放完成信息,获取当前战亡的战斗单位,调用并记录其所属战斗 队伍中其中一非战斗单位的其它战斗数据,实现该非战斗单位作为新的参战单位以替代当前 战斗单位,且服务器发送一删除指令及新的参战单位的其它战斗数据至客户端;在该步骤S7 中,所述其它战斗数据为该作为新的参战单位的非战斗单位的抗性数据、血量数据、状态数 据及技能数据;
步骤S8:客户端根据删除指令删除对应于新的参战单位的非战斗单位,并显示新的参战 单位及其操作界面,执行下一回合战斗;在步骤S8中,客户端根据删除指令删除对应于新的 参战单位的非战斗单位的假象模型。
请参阅图2,为了进一步减少客户端的数据存储量,释放客户端的内存,以提高客户端 的处理效率,作为一种更优的技术方案,还包括步骤S9:客户端接收到删除指令后,还删除 已战亡的当前战斗单位的人物、召唤兽及非人控制玩家角色的抗性数据、血量数据、状态数 据及技能数据。
请参阅图2,为了保证一个回合的顺利进行,以增强玩家的体验效果,作为一种更优的 技术方案,对步骤S5进一步完善,完善后的步骤S5包括以下步骤:
步骤S51:设定服务器的操作指令接收时限;
步骤S52:判断服务器是否在操作指令接收时限内接收到由客户端发送的操作指令;
如果服务器在操作指令接收时限内接收到客户端发送的操作指令,则服务器根据操作指 令更新当前战斗单位的战斗数据及处理得到与操作指令相应的战斗结果,并将战斗结果发送 至客户端;
如果服务器在操作指令接收时限内未接收到客户端发送的操作指令,也即服务器超时未 接收到操作指令,则服务器补充默认战斗指令至客户端,并由客户端结束当前回合的操作, 同时服务器根据前一操作指令生成一战斗结果并发送至客户端。
进一步,为了丰富战斗场景及增加战斗氛围,丰富世界观及优化玩家的体验效果,作为 一种更优的技术方案,在回合战斗中,服务器可生成非战斗单位的对话信息,并发送至客户 端,由客户端显示。进一步,在回合战斗中,服务器还可生成非战斗单位的动作信息,并发 送至客户端,由客户端播放。
以下,假设战斗双方分别具有3个战斗单位,并以属于同一战斗队伍的3个战斗单位进 行回合制战斗游戏为例,进一步说明本发明的回合制游戏的数据处理方法:
设同一战斗队伍中的3个战斗单位分别为当前战斗单位的第一战斗单位、及为非战斗单 位的第二战斗单位和第三战斗单位,请参阅图3,图中A所指示的区域表示当前战斗单位的 第一战斗单位的真实显示状态,及图中B和C所指示的阴影部分分别表示为非战斗单位的第 二战斗单位和第三战斗单位的隐身状态。则3个战斗单位进入回合制战斗时,服务器即刻发 起战斗,并初始化和记录第一战斗单位(即当前战斗单位)的人物、召唤兽及非人控制玩家 角色的账号数据、位置数据、抗性数据、血量数据、状态数据及技能数据、以及初始化和记 录第二战斗单位和第三战斗单位的的人物、召唤兽及非人控制玩家角色的账号数据和位置数 据;并将初始化好的数据发送至客户端;
客户端接收到第一战斗单位(第一战斗单位也可理解为真正战斗的单位、真实的战斗单 位)、第二战斗单位和第三战斗单位(第二战斗单位和第三战斗单位也可理解为当前回合不战 斗的单位、假的战斗单位)的战斗数据后,客户端创建具有隐身效果的第二战斗单位和第三 战斗单位的假象模型,并显示第一战斗单位、第二战斗单位的假象模型和第三战斗单位的假 象模型的位置和外观;由此通过假象模型显示于战斗场景而不是真实的战斗单位,不能进行 操作,并由于服务器得知第二战斗单位和第三战斗单位的位置和账号,则不需要对第二战斗 单位和第三战斗单位的数据进行读取及更新;
客户端显示第一战斗单位、第二战斗单位和第三战斗单位的位置和外观后,服务器便发 送一回合战斗指令至客户端;
客户端接收到回合战斗指令后,即刻弹出第一战斗单位的参战角色及召唤兽或宝宝(BB) 的操作界面,并于操作界面中完成战斗操作。操作完成后,客户端将操作指令,也即将操作 数据发送给服务器;
当服务器超时未接收到操作指令或者服务器接收到所有参战战斗单位的操作指令后,客 户端结束当前操作阶段;且服务器会对超时的战斗单位补充默认战斗指令。当服务器在时限 内接收到所有操作指令时,服务器根据操作指令更新当前战斗单位的战斗数据,并处理得到 与操作指令相应的战斗结果,并将战斗结果发送至客户端;
随后,客户端播放第一战斗单位的战斗结果,播放完毕后即将播放完成信息返回至服务 器;
服务器接收到播放完成信息后,便获取当前战亡的战斗单位,及调用并记录其所属战斗 队伍中其中一非战斗单位的其它战斗数据。也即,设当前战亡的战斗单位为第一战斗单位, 则服务器调用并记录与第一战斗单位同属于同一战斗队伍的第二战斗单位(也可调用第三战 斗单位,此处仅作为说明作用,选择第二战斗单位)的人物、召唤兽及非人控制玩家角色的 抗性数据、血量数据、状态数据及技能数据,由于第二战斗单位的位置数据及账号数据已在 初始化时进行记录,故此处不需再次记录;并将第二战斗单位的战斗数据替代第一战斗单位 的战斗数据,此时第二战斗单位为真实战斗单位并接着战亡的第一战斗单位进行下一回合的 战斗。并且,服务器将第二战斗单位的抗性数据、血量数据、状态数据及技能数据发送至客 户端。同时,服务器发送一删除指令至客户端;
客户端接收到删除指令及第二战斗单位的抗性数据、血量数据、状态数据及技能数据后, 即刻删除第二战斗单位的假象单位,并将真实的第二战斗单位的战斗数据加载至战斗场景中, 以实现第二战斗单位的战斗回合的开始。
由此通过上述过程,继续实现第二战斗单位的战斗回合,并在第二战斗单位战亡后,继 续实现第三战斗单位的战斗回合。
请参阅图4,相应地,本发明还提供了一种能够实现上述回合制游戏的数据处理方法的 一种回合制游戏的数据处理系统,其包括服务器端1和客户端2。
具体地,所述服务器端1包括:
数据初始化模块11,用于初始化当前战斗单位的全部战斗数据及所有非战斗单位的部分 战斗数据;在本实施例中,所述数据初始化模块11初始化的当前战斗单位的全部战斗数据为 当前战斗单位的人物、召唤兽及非人控制玩家角色的账号数据、位置数据、抗性数据、血量 数据、状态数据及技能数据;及其初始化的非战斗单位的部分数据为非战斗单位的人物、召 唤兽及非人控制玩家角色的账号数据和位置数据;
战斗数据存储发送模块12,用于存储数据初始化模块11中所述当前战斗单位的全部战 斗数据及所有非战斗单位的部分战斗数据,并发送至客户端2;
指令发送模块13,用于发送回合战斗指令至客户端2;
指令接收模块14,用于接收由客户端2发送的操作指令;
战斗处理模块15,用于根据指令接收模块14中的操作指令更新战斗数据存储发送模块 12中当前战斗单位的战斗数据,并根据操作指令处理得到相应的战斗结果,并发送该战斗结 果至客户端2;
以及状态判断模块16,用于根据战斗结果获取当前战亡的战斗单位,调用并记录其所属 战斗队伍中其中一非战斗单位的其它战斗数据,记录的其它战斗数据保存至战斗数据存储发 送模块12,实现该非战斗单位作为新的参战单位替代当前战斗单位,并控制战斗数据存储发 送模块12发送新的参战单位的其它战斗数据至客户端2;且状态判断模块16用于发送一删 除指令至客户端2。
在本实施例中,所述状态判断模块16用于控制战斗数据存储模块调用的非战斗单位的其 它战斗数据为该作为新的参战单位的非战斗单位的抗性数据、血量数据、状态数据及技能数 据。
具体地,所述客户端2包括:
数据接收模块21,用于接收由战斗数据存储发送模块12发送的当前战斗单元的全部战 斗数据及所有非战斗单元的部分战斗数据,并接收由战斗数据存储发送模块12发送的新的参 战单位的其它战斗数据;
存储模块22,用于存储由数据接收模块21接收到的当前战斗单元的全部战斗数据及非 战斗单元的部分战斗数据;
指令接收模块23,用于接收由服务器端1的指令发送模块13发送的回合战斗指令;
显示模块24,用于根据存储模块22存储的战斗数据显示当前战斗单位及非战斗单位的 位置和外观;并根据客户端2的指令接收模块23接收到的回合战斗指令显示当前战斗单位的 操作界面;
操作模块25,用于触发操作界面,产生操作指令,并发送至服务器端1的指令接收模块 14;
播放模块26,用于接收由服务器端1的战斗处理模块15发送的战斗结果,并于显示模 块24中播放战斗结果,并返回一播放完成信息至服务器端1的状态判断模块16;
以及删除模块27,用于根据由状态判断模块16发送的删除指令,删除显示模块24中所 述新的参战单位对应的非战斗单位。
请同时参阅图5,为了进一步减少客户端2和服务器端1的交互的数据量,从而进一步 减少服务器端1的负担及提高客户端2的响应速率,作为一种更优的技术方案,所述客户端 2还包括模型创建模块28。所述模型创建模块28用于根据数据接收模块21中所有非战斗单 元的战斗数据分别创建所有非战斗单位的假象模型,并设置所有假象模型的透明度,实现所 有假象模型的隐身;且所述模型创建模块28发送所有假象模型至所述显示模块24,由显示 模块24显示。因此,所述显示模块24显示的是非战斗单位的假象模型的位置和外观,也即, 显示模块24中显示的是非战斗单位的一个假象模型,而不是非战斗单位本身,由此进一步减 少数据量的处理。同理,所述删除模块27根据删除指令删除的是显示模块24中所述新的参 战单位对应的非战斗单位的假象模型。
为了进一步减少客户端2的数据存储量,释放客户端2的内存,以提高客户端2的处理 效率,作为一种更优的技术方案,所述删除模块27还用于根据删除指令删除数据接收模块 21中已战亡的当前战斗单位的人物、召唤兽及非人控制玩家角色的抗性数据、血量数据、状 态数据及技能数据。
为了保证一个回合的顺利进行,以增强玩家的体验效果,作为一种更优的技术方案,所 述服务器端1的指令接收模块14内设有一操作指令接收时限;若客户端2的操作模块25超 时未发送操作指令至服务器端1的指令接收模块14,则客户端2的指令接收模块23还用于 接收由服务器端1的指令发送模块13发送的补充默认战斗指令,实现客户端2的操作模块 25结束当前回合的操作。
请同时参阅图5,为了丰富战斗场景及增加战斗氛围,丰富世界观及优化玩家的体验效 果,作为一种更优的技术方案,所述服务器端1还包括辅助信息模块17;所述辅助信息模块 17用于在回合战斗中生成非战斗单位的对话信息,并发送至客户端2的数据接收模块21,并 由所述数据接收模块21将接收到的对话信息发送至显示模块24,由显示模块24显示。也即, 此时所述数据接收模块21还用于接收到由所述辅助信息模块17发送的对话信息后,将对话 信息发送至显示模块24;所述显示模块24还用于接收到由所述数据接收模块21发送的对话 信息后,显示所述对话信息。进一步,所述辅助信息模块17还用于在回合战斗中生成非战斗 单位的动作信息,并发送至客户端2的数据接收模块21,并由所述数据接收模块21将接收 到的动作信息发送至显示模块24,由显示模块24播放。也即,此时所述数据接收模块21还 用于接收到由所述辅助信息模块17发送的动作信息后,将动作信息发送至显示模块24;所 述显示模块24还用于接收到由所述数据接收模块21发送的动作信息后,根据动作信息播放 与其相应的非战斗单位的动作。
以下,假设战斗双方分别具有3个战斗单位,并以属于同一战斗队伍的3个战斗单位进 行回合制战斗游戏为例,进一步说明本发明的回合制游戏的数据处理系统的工作原理:
设同一战斗队伍中的3个战斗单位分别为当前战斗单位的第一战斗单位、及为非战斗单 位的第二战斗单位和第三战斗单位。则3个战斗单位进入回合制战斗时,服务器端1即刻发 起战斗,其数据初始化模块11初始化第一战斗单位(即当前战斗单位)的人物、召唤兽及非 人控制玩家角色的账号数据、位置数据、抗性数据、血量数据、状态数据及技能数据、以及 初始化和记录第二战斗单位和第三战斗单位的的人物、召唤兽及非人控制玩家角色的账号数 据和位置数据,并将上述数据记录存储至战斗数据存储发送模块12;随后战斗数据存储发送 模块12将初始化好的数据发送至客户端2的数据接收模块21;
客户端2的数据接收模块21接收到第一战斗单位(第一战斗单位也可理解为真正战斗的 单位、真实的战斗单位)、第二战斗单位和第三战斗单位(第二战斗单位和第三战斗单位也可 理解为当前回合不战斗的单位、假的战斗单位)的战斗数据后,存储至客户端2的存储模块 22;同时模型创建模块28根据数据接收模块21接收到的第二战斗单元和第三战斗单元的数 据创建具有隐身效果的第二战斗单位和第三战斗单位的假象模型,并发送至显示模块24。随 后,显示模块24于战斗场景中显示第一战斗单位、第二战斗单位的假象模型和第三战斗单位 的假象模型的位置和外观;由此通过假象模型显示于战斗场景而不是真实的战斗单位,不能 进行操作,并由于服务器端1得知第二战斗单位和第三战斗单位的位置和账号,则不需要对 第二战斗单位和第三战斗单位的数据进行读取及更新;
客户端2的显示模块24显示第一战斗单位、第二战斗单位和第三战斗单位的位置和外观 后,服务器端1的指令发送模块13便发送一回合战斗指令至客户端2的指令接收模块23;
客户端2的指令接收模块23接收到回合战斗指令后,显示模块24即刻弹出第一战斗单 位的参战角色及召唤兽或宝宝(BB)的操作界面,随后通过操作模块25于操作界面中完成 战斗操作。操作完成后,客户端2的操作模块25将操作指令,也即将操作数据发送给服务器 端1的指令接收模块14;
当服务器端1的指令接收模块14超时未接收到操作指令或者服务器端1的指令接收模块 14接收到所有参战战斗单位的操作指令后,客户端2的操作模块25结束当前操作阶段;且 服务器端1的指令发送模块13会对超时的战斗单位补充默认战斗指令。当服务器端1的指令 接收模块14在时限内接收到所有操作指令时,服务器端1的战斗处理模块15根据操作指令 更新当前战斗单位的战斗数据,并处理得到与操作指令相应的战斗结果,并将战斗结果发送 至客户端2的播放模块26;
随后,客户端2的播放模块26播放第一战斗单位的战斗结果,播放完毕后即将播放完成 信息返回至服务器端1的状态判断模块16;
服务器端1的状态判断模块16接收到播放完成信息后,便获取当前战亡的战斗单位,调 用并记录其所属战斗队伍中其中一非战斗单位的其它战斗数据。也即,设当前战亡的战斗单 位为第一战斗单位则服务器端1的状态判断模块16控制战斗数据存储发送模块12调用并记 录与第一战斗单位同属于同一战斗队伍的第二战斗单位(也可调用第三战斗单位,此处仅作 为说明作用,选择第二战斗单位)的人物、召唤兽及非人控制玩家角色的抗性数据、血量数 据、状态数据及技能数据,由于第二战斗单位的位置数据及账号数据已在初始化时进行记录, 故此处不需再次记录;并将第二战斗单位的战斗数据替代第一战斗单位的战斗数据,此时第 二战斗单位为真实战斗单位并接着战亡的第一战斗单位进行下一回合的战斗。并且,服务器 端1的战斗数据存储发送模块12将第二战斗单位的抗性数据、血量数据、状态数据及技能数 据发送至客户端2。同时,服务器端1发送一删除指令至客户端2的删除模块27;
客户端2的删除模块27接收到删除指令及第二战斗单位的抗性数据、血量数据、状态数 据及技能数据后,即刻删除第二战斗单位的假象单位,并控制显示模块24将真实的第二战斗 单位的战斗数据加载至战斗场景中,以实现第二战斗单位的战斗回合的开始。
由此通过上述过程,继续实现第二战斗单位的战斗回合,并在第二战斗单位战亡后,继 续实现第三战斗单位的战斗回合。
相对于现有技术,本发明通过服务器仅记录当前战斗单位的所有战斗数据并仅记录非战 斗单位的位置数据和账号数据,并根据客户端发送的当前战斗单位操作指令自行完成操作序 列的计算并得到战斗结果,再根据战斗结果决定是否增加非战斗单位的其它战斗数据(如血 量、技能、状态等),由此保证了多轮回合战斗正常进行的情况下,减少服务器与客户端交互 的数据量,并减轻服务器的数据处理负担及减少服务器中非战斗单位的战斗数据所占用的内 存空间,从而提升服务器的处理和响应速率,增强玩家体验感。
另外,本发明还单独提供了一种游戏系统的客户端及一种游戏系统的服务器端;该游戏 系统的客户端和游戏系统的服务器端的结构分别与本发明中回合制游戏的数据处理系统的客 户端和服务器端的结构相同,故在此不再赘述。
本发明并不局限于上述实施方式,如果对本发明的各种改动或变形不脱离本发明的精神 和范围,倘若这些改动和变形属于本发明的权利要求和等同技术范围之内,则本发明也意图 包含这些改动和变形。
机译: 客户端服务器系统,为该系统提供服务器端程序的方法,其服务器设备以及服务器端程序
机译: 用于在两个客户端之间与客户端服务器通信协议的服务器端上的一个客户端共享浏览器会话的系统
机译: 此(Live Vest)系统是客户端和服务器端技术的组合,允许从服务器异步向客户端发送数据,以便服务器可以启动与客户端的联系。