首页> 中国专利> 网络休闲游戏录放方法

网络休闲游戏录放方法

摘要

本发明公开了一种网络休闲游戏录放方法,其特点在于,该方法通过含有消息引擎以及播放控制模块构成的游戏录放模块的游戏客户端执行网络休闲游戏的录放,所述方法包括下述步骤:A.游戏开启后,播放控制模块通过消息引擎接收,并复制游戏过程中游戏服务器发来的所有网络消息,并将这些消息分类存放在游戏客户端形成录像文件;D.当收到打开录像文件的指令时,播放控制模块与游戏客户端建立连接,并获得该游戏客户端与游戏服务器之间的消息接口;E.播放控制模块读取录像文件中的游戏消息,并将其还原为消息流,通过上述游戏客户端与游戏服务器之间的消息接口发送给游戏客户端展现。应用本发明的方法可以支持不同的休闲游戏。

著录项

  • 公开/公告号CN101059823A

    专利类型发明专利

  • 公开/公告日2007-10-24

    原文格式PDF

  • 申请/专利权人 腾讯科技(深圳)有限公司;

    申请/专利号CN200610035154.X

  • 发明设计人 王琛;

    申请日2006-04-19

  • 分类号G06F19/00(20060101);G06F17/30(20060101);H04L12/58(20060101);

  • 代理机构

  • 代理人

  • 地址 518057 广东省深圳市福田区振兴路赛格科技园2栋东403室

  • 入库时间 2023-12-17 19:16:00

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2010-03-17

    地址不明的通知 收件人:谢安昆宋志强 文件名称:发明专利证书 申请日:20060419

    地址不明的通知

  • 2009-12-02

    授权

    授权

  • 2007-12-19

    实质审查的生效

    实质审查的生效

  • 2007-10-24

    公开

    公开

说明书

技术领域

本发明属于网络游戏领域,尤其涉及一种网络休闲游戏录放方法。

 背景技术

“网络游戏”也就是人们一般所指的“在线游戏”,是通过互联网进行、可以多人同时参与的电脑游戏,通过人与人之间的互动达到交流、娱乐和休闲的目的。

网络休闲游戏是一种内容相对单一的网络游戏,包括棋牌类游戏及其它益智趣味类网络游戏等。棋牌类游戏,顾名思义就是把生活中的棋牌类游戏(包括麻将)移植到网络上,游戏玩家通过网络这一平台与人对垒。益智趣味类网络游戏的涵盖面较广,它基本包括了除棋牌类以外的所有桌面网络游戏,如连连看、一起来找茬等,这其中有很多是流行的单机游戏改编而成,以实时比赛的方式实现互动,有些还在游戏中增加了部分道具以增强互动感。

网络游戏中,通过重构游戏局面,可以让游戏玩家享受到反复游戏的乐趣。另一方面,由于对相同结构游戏的熟练程度和能力的区别,在竞技类游戏中必然存在高手与低手的区别。玩家是愿意去观赏其它杰出玩家的艺术般的表演的。由此,休闲游戏录放系统便应运而生。游戏录放是经常在中小型竞技类电脑游戏中拥有的功能,玩家可以对自己的游戏过程进行录像,并把录像内容保存成文件,观看时用游戏客户端打开即可。

现有的游戏录放方法,其基本原理是将游戏过程中发生的事件按照时间顺序记录下来,并保存。以现有围棋游戏的录放方法为例,该方法包括:

1.获得玩家每一次落子时,该棋子的颜色,以及棋子落在棋盘上的坐标值;

2.记录上述的棋子颜色以及棋子落在棋盘上的坐标值,按玩家落子的先后顺序依次保存;

3.播放录像时,按照信息保存的先后顺序,读取预先保存的棋子的颜色以及棋子落在棋盘上的坐标值;

4.将每条信息中所指定颜色的棋子,按照该条信息中所指定的位置,在棋盘上一一绘制出来。

在上述过程中,围棋游戏的录放方法与游戏本身的特性相关,比如:围棋中的棋子的坐标。对于不同种类的游戏,比如,象棋等其它的休闲游戏基本无法通用。

发明内容

本发明的目的在于提供一种网络休闲游戏录放方法,旨在解决现有技术中网络休闲游戏录放方法无法通用的问题。

为了实现上述发明目的,本发明的主要技术方案为:

一种网络休闲游戏录放方法,其特征在于,该方法通过含有消息引擎以及播放控制模块构成的游戏录放模块的游戏客户端执行网络休闲游戏的录放,所述方法包括下述步骤:

A.游戏开启后,播放控制模块通过消息引擎接收,并复制游戏过程中游戏服务器发来的所有网络消息,并将这些消息分类存放在游戏客户端形成录像文件;

D.当收到打开录像文件的指令时,播放控制模块与游戏客户端建立连接,并获得该游戏客户端与游戏服务器之间的消息接口;

E.播放控制模块读取录像文件中的游戏消息,并将其还原为消息流,通过上述游戏客户端与游戏服务器之间的消息接口发送给游戏客户端展现。

优选的,在步骤A和D之间还包括步骤B.将额外消息数据分类存储在录像文件中。

优选的,所述步骤B包括:

B1)当游戏结束时,游戏服务器根据当前游戏的特性,判断是否有播放录像所需的必要额外消息数据需要向游戏客户端发送;如果没有,步骤B结束,如果有,进行步骤B2);

B2)游戏服务器将当前游戏中包含有的播放录像所需额外消息数据发送给游戏客户端;

B3)游戏客户端对额外消息数据单独打包并通过消息引擎提供的接口将其与其他消息分开保存在录像文件中。

优选的,所述步骤B3)中,收集完录像所需的所有消息后,保存成文件之前,还包括:将消息压缩打包,并做加密处理。

优选的,在步骤D之前还包括:

C.播放控制模块通过消息引擎将游戏客户端在系统中的注册ID保存在录像文件中;

步骤D包括:

D1)当收到打开录像文件的指令时,播放控制模块读取录像文件中包含的游戏客户端在系统中的注册ID;

D2)播放控制模块通过游戏客户端在系统中的注册ID查询对应的游戏客户端在本地的路径;

D3)播放控制模块启动其对应的游戏客户端;

D4)播放控制模块查询已经启动的客户端所开放的接口,并与之建立连接。

优选的,游戏客户端与游戏服务器之间的消息接口包括:游戏逻辑消息传递接口,通用游戏消息传递接口,聊天消息传递接口。

优选的,每条游戏消息中包含有时间戳,步骤E包括:

E1)读取录像文件中的游戏消息,将其还原为消息流;

E2)按照每条游戏消息信息中所包含的时间戳建立计时器循环;

E3)按照每条游戏消息信息中所包含的时间戳,将各个消息通过上述网络休闲游戏客户端与游戏服务器之间的消息接口发送给游戏客户端;

E4)游戏客户端按照原有的消息处理逻辑,展现游戏过程。

优选的,消息引擎封装在一个动态链接库中,所述步骤A之前还包括:

开启游戏客户端;

在游戏开启前,在游戏客户端上首先加载存放有消息引擎的动态链接库。

优选的,录像文件中存储的消息包括:游戏过程消息,游戏静态消息,以及游戏附属消息;游戏过程消息,即游戏过程中收到的消息;游戏静态消息,即重复录像时需要单独保存的消息;游戏附属消息,即在某些游戏过程中对过程消息进行附属说明的消息。

优选的,录像文件以*.qrr文件的形式保存,录像文件保存时设置该文件的打开方式为由游戏录放模块打开。

本发明通过在游戏客户端不加处理得记录游戏过程中游戏客户端与游戏服务器之间的交互信息,并利用游戏客户端本身具有的消息处理单元,通过游戏客户端与游戏服务器之间的消息接口模拟游戏服务器与游戏客户端之间的通信过程的方法,实现了对网络休闲游戏的录放,在本发明的方法中,没有涉及对特定游戏特性的处理,故应用本发明的方法可以支持不同的休闲游戏使用。

附图说明

图1是本发明提供的网络休闲游戏录像方法的实现流程图;

图2是本发明提供的网络休闲游戏播放方法的实现流程图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

本发明的网络休闲游戏录放方法通过含有消息引擎以及播放控制模块构成的游戏录放模块的游戏客户端执行网络休闲游戏的录放。消息引擎是提供所有消息流处理的接口,其封装在一个动态链接库(DLL)中。该动态链接库中包装了所有引擎提供接口的具体实现方法;而对于接口的使用不需要关心具体实现方法。播放控制模块,用于解析录像文件,启动对应客户端播放器,并对播放过程进行简单的控制。标准的网络休闲游戏的过程就是网络消息在服务器与客户端之间传递的过程,播放控制模块的核心作用就是记录游戏中所接收的来自服务器的所有消息,并分类保存。

结合图1所示,网络休闲游戏的录制过程如下:

首先,游戏客户端启动;在游戏开始之前,游戏客户端首先加载存放有消息引擎的动态链接库;

当游戏开始后,播放控制模块通过消息引擎接收,并复制与当前游戏相关的每一条网络消息,将这些消息按接收的顺序分类存放在本地客户端形成录像文件;接收的网络消息包括:游戏过程消息,即游戏过程中收到的消息;游戏静态消息,即重复录像时需要单独保存的消息,比如:该局游戏中有哪几个玩家,各自在开始时是怎样的状态;游戏附属消息,即在某些游戏过程中对过程消息进行附属说明的消息。

当游戏结束时,游戏服务器针对录像功能判定对于重现游戏过程而言,是否需要额外消息数据,即服务器在本局游戏中向其它游戏玩家发送的游戏消息,这些消息在服务器端均有保存,但客户端在游戏过程中无法正常收到。对于需要获得额外消息数据的游戏,游戏服务器将额外消息数据(比如棋牌游戏中,开局时,对局几方的起手牌)发送给游戏客户端,游戏客户端对额外消息数据单独打包并通过消息引擎提供的接口将其与其他消息分开保存在录像文件中。

一般而言,对于游戏重现时显现的信息与游戏过程中显现的信息完全一样的游戏,就不需要从服务器获得一些额外消息数据,例如:围棋,跳棋,象棋等游戏,在游戏时,游戏客户端即展现了游戏双方的信息,游戏重现时需要展现的也是游戏双方的信息;如果,对于游戏重现时显现的信息会与游戏过程中显现的信息不完全一样的游戏,就需要从服务器获得在游戏过程中没有获得的部分额外消息数据,例如:在麻将游戏中,游戏客户端仅展现己方麻将牌的情况以及3家其它玩家的出牌状况,但是不会显现在每一操作中,其它3家玩家的麻将牌情况,而在游戏重现时,则需要将所有玩家的麻将牌的情况全部展现出来。

上述所有的录像相关信息均按照游戏指定的文件名,将该局游戏相关的所有信息按照时间顺序记录在客户端,保存为档案文件,例如:可以保存为*.qrr文件。

最后,保存游戏客户端的CLSID。CLSID即为该录像对应游戏客户端在系统中的注册ID,播放控制模块通过此ID与该游戏客户端建立COM连接,并得到其与大厅通信的三个消息传递接口,即游戏逻辑消息传递接口,通用游戏消息传递接口,聊天消息传递接口。

结合图2所示,对网络休闲游戏进行重现播放的过程入下:

预先在游戏大厅安装的时候,在注册表中注册.qqr文件的关联打开方式为由播放控制模块关联打开。

游戏客户端收到打开录像文件的指令时,首先在注册表中查找该类型文件对应的执行方式,由于安装时已经进行了注册,所以此时会自动调用播放控制模块打开录像文件。即:首先读取文件中包含的CLSID,启动其对应的游戏客户端,其次,并将文件中的数据还原为游戏中的三种消息流,即游戏过程消息传递消息流,游戏静态消息传递消息流,游戏附属消息传递消息流。

游戏消息流被正确分解出来之后,播放控制模块按照每条游戏消息信息中所包含的时间戳建立计时器循环,将各个消息通过之前得到的消息传递接口发送给游戏客户端,模拟游戏大厅和游戏通信的过程。

游戏客户端则按照原有的消息处理逻辑,模拟当时游戏的全过程。

游戏的过程,就是与大厅通信,处理消息的过程,所以游戏本身提供了对这些消息的处理单元。而在上述的游戏重现播放的过程中,消息的来源并非即时来自于服务器,而是由播放控制模块解析了已经保存的游戏消息,并模拟服务器,通过同样方式发送给客户端,从而达到采取原有游戏逻辑播放录像的目的。

在同样的发明原理下,也可以将各个游戏录像注册为不同的文件类型,在各个游戏内部封装外部消息处理模块。对于某些竞技型游戏,可以将消息流的记录保存转化为操作流的保存。

以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

去获取专利,查看全文>

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号