一种组队游戏的方法和装置与流程

文档序号:12024642阅读:268来源:国知局
一种组队游戏的方法和装置与流程

本发明涉及计算机领域,尤其涉及一种组队游戏的方法和装置。



背景技术:

随着网络直播的迅速发展,网络直播的内容也越来越丰富。例如,目前一种新的直播内容为游戏,许多喜爱游戏的观看用户可以观看主播用户的玩游戏过程,或者学习经验。然而,目前观看用户尚不能在观看过程中与直接与主播组队游戏。



技术实现要素:

本发明实施例提供了一种组队游戏的方法和装置,用于实现观看用户在观看游戏直播的过程中与主播用户组队游戏的技术效果。

第一方面,本发明提供了一种组队游戏的方法,包括:

在主播端设备进行游戏直播时,接收网络直播服务器发送的表示一目标观看用户请求与主播用户组队游戏的组队申请信息;所述主播端设备运行所述游戏的游戏进程和所述直播的直播进程,所述组队申请信息由所述目标观看用户通过接收直播的观看端设备发送给所述网络直播服务器;

基于所述组队申请信息,在所述直播进程中获取所述目标观看用户参与所述游戏所凭借的第一游戏角色身份标识;

通过所述直播进程和所述游戏进程之间的命名管道,将所述第一游戏角色身份标识发送到所述游戏进程;

基于所述第一游戏角色身份标识在所述游戏进程中建立包括所述主播用户和所述目标观看用户的游戏队伍。

可选的,在通过所述直播进程和所述游戏进程之间的命名管道,将所述第一游戏角色身份标识发送到所述游戏进程之前,还包括:

基于所述第一游戏角色身份标识,判断所述目标观看用户是否满足与所述主播用户包含在同一个所述游戏队伍中的第一预设条件;

当所述目标观看用户不满足所述第一预设条件时,通过所述命名管道在所述游戏进程中生成用于使所述目标观看用户满足所述第一预设条件的第一请求;

通过所述命名管道获得所述游戏进程接收到的所述直播进程的所述第一请求的通过响应;其中,若获得所述通过响应,则表示所述目标观看用户满足了所述第一预设条件。

可选的,在通过所述直播进程和所述游戏进程之间的命名管道,将所述第一游戏角色身份标识发送到所述游戏进程之前,还包括:

在所述直播进程中创建所述命名管道的服务端;

在所述游戏进程中注入用于加载所述命名管道的客户端的预设程序;

运行所述预设程序,以在所述游戏进程中加载所述客户端,所述客户端将连接所述服务端,完成构建所述命名管道。

可选的,在所述游戏进程中注入用于加载所述命名管道的客户端的预设程序,包括:

向所述游戏进程提供所述预设程序的磁盘路径;

按照所述磁盘路径在所述游戏进程中加载所述预设程序。

可选的,基于所述第一游戏角色身份标识在所述游戏进程中建立包括所述主播用户和所述目标观看用户的游戏队伍,包括:

通过所述命名管道在所述游戏进程中调用用于建立游戏队伍的函数;

将所述第一游戏角色身份标识传入所述用于建立游戏队伍集合的函数;

执行所述用于建立游戏队伍集合的函数,构建所述游戏队伍。

第二方面,本发明提供了一种组队游戏的装置,包括:

第一接收模块,用于在主播端设备进行游戏直播时,接收网络直播服务器发送的表示一目标观看用户请求与主播用户组队游戏的组队申请信息;所述主播端设备运行所述游戏的游戏进程和所述直播的直播进程,所述组队申请信息由所述目标观看用户通过接收直播的观看端设备发送给所述网络直播服务器;

获取模块,用于基于所述组队申请信息,在所述直播进程中获取所述目标观看用户参与所述游戏所凭借的第一游戏角色身份标识;

发送模块,用于通过所述直播进程和所述游戏进程之间的命名管道,将所述第一游戏角色身份标识发送到所述游戏进程;

建立模块,用于基于所述第一游戏角色身份标识在所述游戏进程中建立包括所述主播用户和所述目标观看用户的游戏队伍。

可选的,所述装置还包括:

判断模块,用于在通过所述直播进程和所述游戏进程之间的命名管道,将所述第一游戏角色身份标识发送到所述游戏进程之前,基于所述第一游戏角色身份标识,判断所述目标观看用户是否满足与所述主播用户包含在同一个所述游戏队伍中的第一预设条件;

生成模块,用于当所述目标观看用户不满足所述第一预设条件时,通过所述命名管道在所述游戏进程中生成用于使所述目标观看用户满足所述第一预设条件的第一请求;

第二接收模块,用于通过所述命名管道获得所述游戏进程接收到的所述直播进程的所述第一请求的通过响应;其中,若获得所述通过响应,则表示所述目标观看用户满足了所述第一预设条件。

可选的,所述装置还包括构建模块,用于在通过所述直播进程和所述游戏进程之间的命名管道,将所述第一游戏角色身份标识发送到所述游戏进程之前,在所述直播进程中创建所述命名管道的服务端;在所述游戏进程中注入用于加载所述命名管道的客户端的预设程序;运行所述预设程序,以在所述游戏进程中加载所述客户端,所述客户端将连接所述服务端,完成构建所述命名管道。

可选的,所述构建模块用于向所述游戏进程提供所述预设程序的磁盘路径;按照所述磁盘路径在所述游戏进程中加载所述预设程序。

可选的,所述建立模块用于通过所述命名管道在所述游戏进程中调用用于建立游戏队伍的函数;将所述第一游戏角色身份标识传入所述用于建立游戏队伍集合的函数;执行所述用于建立游戏队伍集合的函数,构建所述游戏队伍。

本申请实施例中的上述一个或多个技术方案,至少具有如下一种或多种技术效果:

在本发明实施例的技术方案中,在主播端设备进行游戏直播时,接收网络直播服务器发送的表示一目标观看用户请求与主播用户组队游戏的组队申请信息;所述主播端设备运行所述游戏的游戏进程和所述直播的直播进程,所述组队申请信息由所述目标观看用户通过接收直播的观看端设备发送给所述网络直播服务器;基于所述组队申请信息,在所述直播进程中获取所述目标观看用户参与所述游戏所凭借的第一游戏角色身份标识;通过所述直播进程和所述游戏进程之间的命名管道,将所述第一游戏角色身份标识发送到所述游戏进程;基于所述第一游戏角色身份标识在所述游戏进程中建立包括所述主播用户和所述目标观看用户的游戏队伍。由此可见,在接收所述目标观看用户的所述组队申请信息时,获得所述目标观看用户的所述第一游戏角色身边标识,通过所述直播进程与所述游戏进程直接的所述命名管道将所述第一游戏角色身份标识发送到所述游戏进程中,进而在所述游戏进程中基于所述第一游戏角色身份标识创建所述游戏队伍,使得在直播游戏过程中,所述主播用户和所述目标观看用户能够在同一游戏队伍中参与游戏。由此解决了观看用户不能在观看过程中与直接与主播组队游戏的技术问题。对所述观看用户而言,通过在网络直播中发送所述组队申请信息,就可以在观看直播的同时与主播组队游戏。

附图说明

图1为一种可能的网络架构示意图;

图2为本发明实施例中组队游戏的方法流程图;

图3为本发明实施例中直播进程和游戏进程示意图;

图4为本发明实施例中组队游戏的装置示意图。

具体实施方式

本发明实施例提供了一种组队游戏的方法和装置,用于实现观看用户在观看游戏直播的过程中与主播用户组队游戏的技术效果。

为了解决上述技术问题,本发明提供的技术方案总体思路如下:

在接收目标观看用户的组队申请信息时,获得所述目标观看用户的第一游戏角色身边标识,通过直播进程与游戏进程直接的命名管道将所述第一游戏角色身份标识发送到所述游戏进程中,进而在所述游戏进程中基于所述第一游戏角色身份标识创建所述游戏队伍,使得在直播游戏过程中,所述主播用户和所述目标观看用户能够在同一游戏队伍中参与游戏。

下面通过附图以及具体实施例对本发明技术方案做详细的说明,应当理解本申请实施例以及实施例中的具体特征是对本申请技术方案的详细的说明,而不是对本申请技术方案的限定,在不冲突的情况下,本申请实施例以及实施例中的技术特征可以相互组合。

本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。

为了更加清楚地介绍本发明实施例中的组队游戏的方法,首先对本发明实施例所应用的网络架构进行介绍。请参考图1,为一种可能的网络架构示意图。如图1所示,在一次网络直播中,主播端设备可以有一个,观看端设备则可以有一个或多个,主播端设备和观看端设备均通过网络接入网络直播服务器。主播持主播端设备进行图像和音频采集,并由主播端设备将采集到的图像和音频发送至网络直播服务器。网络直播服务器对图像和音频进行解析和处理后,将图像和音频发送到所有观看端设备。

在本发明实施例中,网络直播具体为游戏直播,即图像和音频至少包括游戏的图像和音频,进一步还可以包括主播的图像和音频。网络直播的进程和游戏的进程均运行在主播端设备中。

每个观看用户在自己持有的观看端设备上观看游戏直播。并且,每个观看用户均可以通过自己的观看端设备发送弹幕、评论或礼物等观看信息。

本发明第一方面提供了一种组队游戏的方法,请参考图2,为本发明实施例中组队游戏的方法流程图。该方法包括:

s101:在主播端设备进行游戏直播时,接收网络直播服务器发送的表示一目标观看用户请求与主播用户组队游戏的组队申请信息;

s102:基于所述组队申请信息,在所述直播进程中获取所述目标观看用户参与所述游戏所凭借的第一游戏角色身份标识;

s103:通过所述直播进程和所述游戏进程之间的命名管道,将所述第一游戏角色身份标识发送到所述游戏进程;

s104:基于所述第一游戏角色身份标识在所述游戏进程中建立包括所述主播用户和所述目标观看用户的游戏队伍。

具体来讲,本发明实施例直播的游戏,对应的进程运行在主播端设备中。进一步,如果该游戏具体为网络游戏,则主播端设备进一步还可以接入不同于网络直播服务器的游戏服务器。另外,主播端设备要直播游戏,故而主播端设备也会运行有直播进程。

在主播端设备对游戏进行直播的任意时刻,主播端设备都可以接收网络直播服务器发送的表示目标观看用户请求与主播用户组队游戏的组队申请信息。具体来讲,目标观看用户为观看游戏直播的一名观看用户。目标观看用户在观看端设备上生成组队申请信息,由该观看端设备将组队申请信息发送给网络直播服务器,然后再由网络直播服务器将组队申请信息转发给主播端设备。

在具体实现过程中,组队申请信息可以通过弹幕、评论或者礼物等形式发送,本发明不做具体限制。

在具体实现过程中,为了避免参与游戏的观看用户过多,可以预先设置成为目标观看用户的条件。在一种实施方式中,可以由网络直播服务器设置能够与主播用户组队游戏的目标观看用户。或者在其他实施方式中,也可以由主播用户自行设置成为目标观看用户的第二预设条件,第二预设条件例如用户等级达到预设等级,或者在直播间停留时长达到预设时长、或者进入直播间的次数达到预设次数等等。那么,根据主播用户设置的第二预设条件,直播端设备在直播进程中可以过滤出目标观看用户。

接下来,在s102中,主播端设备基于组队申请信息,在直播进程中获取目标观看用户的第一游戏角色身份标识。第一游戏角色身份标识为目标用户参与游戏所凭借的身份标识,例如id、昵称或账户等。另外,本发明实施例中的主播用户在进行游戏直播,故而主播用户也凭借自己在游戏中的身份标识参与游戏,本发明实施例将主播用户的游戏身份标识称为“第二游戏角色身份标识”。

命名管道namedpipes是一种进程间通信机制,可在同一台计算机的不同进程之间或在跨越一个网络的不同计算机的不同进程之间,支持可靠的、单向或双向的数据通信。它屏蔽了底层的网络协议细节。为了能够实现观看直播的观看用户与主播用户组队游戏,本发明实施例在直播进程和游戏进程中构建了命名管道,在s103中,通过命名管道将直播进程中第一游戏角色身份标识发送给游戏进程。

由于主播用户本身已经在进行游戏,所以游戏进程已有主播用户的第二游戏角色身份标识。那么,在s104中,基于第一游戏角色身份标识在游戏中建立游戏队伍,且第一游戏角色身份标识和第二游戏角色身份标识均加入该游戏队伍,由此使得目标观看用户可以与主播用户在同一个游戏队伍中共同进行游戏。

在接收目标观看用户的组队申请信息时,获得目标观看用户的第一游戏角色身边标识,通过直播进程与游戏进程直接的命名管道将第一游戏角色身份标识发送到游戏进程中,进而在游戏进程中基于第一游戏角色身份标识创建游戏队伍,使得在直播游戏过程中,主播用户和目标观看用户能够在同一游戏队伍中参与游戏。由此解决了观看用户不能在观看过程中与直接与主播组队游戏的技术问题。对所述观看用户而言,通过在网络直播中发送所述组队申请信息,就可以在观看直播的同时与主播组队游戏。

下面对s101如何接收组队申请信息进行介绍。

在一种实施方式中,观看用户可以通过发送预设内容的弹幕或评论来生成组队申请信息,那么主播端设备接收组队申请信息,则具体包括:接收观看用户发送的多个弹幕或评论;判断每个所述弹幕或所述评论的内容是否符合所述预设内容;如果所述弹幕或所述评论的内容符合所述预设内容,确定所述弹幕或所述评论为所述组队申请信息,并确定发送所述弹幕或所述评论的观看用户为所述目标观看用户。

具体来讲,预设内容可以缺省设置,也可以由主播用户自行设置。预设内容例如为“组队申请@”或“一起开黑”等,本发明不做具体限制。主播端设备从主播进程中读取每条弹幕或评论,逐一验证弹幕或评论的内容是否与预设内容一致。以预设内容为“组队申请@”为例,如果弹幕或评论的内容为“组队申请@”,则确定该条弹幕或评论为组队申请信息,且发送该条弹幕或评论的观看用户为目标观看用户;如果弹幕或评论的内容不为“组队申请@”,则确定该条弹幕或评论不为组队申请信息。

在另一种实施方式中,观看用户可以通过购买预设礼物赠送给主播用户来生成组队申请信息,那么主播端设备接收组队申请信息,则具体包括:接收观看用户赠送的虚拟礼物;判断所述虚拟礼物是否为所述预设礼物;如果所述虚拟礼物为所述预设礼物,确定接收到所述组队申请信息,并确定赠送所述预设礼物的观看用户为所述目标观看用户。

类似地,虚拟礼物可以由网络直播服务器缺省设置,也可以由主播用户自行设置,本发明不做具体限制。当网络直播服务器将观看用户购买并赠送的虚拟礼物推送到直播进程中后,主播端设备判断直播进程中收到的虚拟礼物为预设礼物,则确定接收到组队申请信息。

另外,在上文中介绍到,为了避免组队游戏的观看用户过多,因此,与上述两种实施方式结合,在另一种实施方式中,不仅需要判断弹幕或评论的内容是否为预设内容,或者判断虚拟礼物是否为预设礼物,还需要判断观看用户是否满足第二预设条件。如果该观看用户满足第二预设条件,同时弹幕或评论的内容符合预设内容,或者同时虚拟礼物为预设礼物,则确定接收到了组队申请信息,且该观看用户为目标观看用户。如果该观看用户不满足第二预设条件,则即使弹幕或评论的内容符合预设内容,或者虚拟礼物为预设礼物,也不会确定接收到了组队申请信息,且该观看用户不为目标观看用户。

下面对s102如何获取第一游戏角色身份标识进行介绍。

如果目标观看用户观看直播所凭借的第一直播身份标识与参与游戏所凭借的第一游戏角色身份标识能够共用,则在一种实施方式中,主播端设备获取组队申请信息对应的观看用户的第一直播身份标识,就获得了第一游戏角色身份标识。

而如果第一直播身份标识与第一游戏角色身份标识不能共用,则在另一种实施方式中,目标观看用户需要在网络直播服务器中提交第一游戏角色身份标识,并将第一游戏角色身份标识与自己的第一直播身份标识绑定。

进一步,如果目标观看用户需要组队参与多个游戏,则可以向网络直播服务器提交多个第一游戏角色身份标识以及游戏识别标识(例如游戏编号或游戏名称),并将每个第一游戏角色身份标识与游戏识别标识绑定,然后再与自己的第一直播身份标识绑定。

举例来说,观看用户向网络直播服务器提交如下信息:

uid:000

游戏名称1:1

游戏的角色名1:101

游戏名称2:2

游戏的角色名3:201

上述信息表示,该目标观看用户的第一直播身份标识具体为uid000。该观看用户凭借第一游戏角色身份标识101参与游戏名称为1的游戏,凭借第一游戏角色身份标识201参与游戏名称为2的游戏。并且,游戏名称1与游戏的角色名1绑定,游戏名称2与游戏的角色名2绑定,以及uid与绑定后的游戏名称1与游戏的角色名1绑定,与绑定后的游戏名称2与游戏的角色名2绑定。

那么,在该种实施方式中,主播端设备接收组队申请信息后,获取目标观看用户的第一直播身份标识,然后再获取与第一直播身份标识绑定的第一游戏角色身边标识。

进一步,如果第一直播身份标识绑定了多个第一游戏角色身份标识,则根据当前直播的游戏的游戏标识,获取与该游戏标识绑定的第一游戏角色身份标识。以上文中的例子来说,若在直播游戏1的过程中接收到uid为000的目标观看用户发送的组队申请信息,则根据uid000和游戏名称1获取第一游戏角色身份标识101。

另外,本领域技术人员应当理解,即使第一直播身份标识与第一游戏角色身份标识不能共用,第一直播身份标识与第一游戏角色身份标识也可以相同。并且多个第一游戏角色身份标识也可以相同。

下面对s103如何通过命名管道发送第一游戏角色身份标识进行介绍。

具体来讲,本发明实施例中直播进程和游戏进程均运行在主播端设备中,如图3所示,为直播进程和游戏进程的示意图。为实现从直播进程控制游戏进程建立包括目标观看用户和主播用户的游戏队伍,在s103之前,需要在两个进程间构建命名管道。本发明实施例中,构建命名管道的具体方式为:

在所述直播进程中创建所述命名管道的服务端;

在所述游戏进程中注入用于加载所述命名管道的客户端的预设程序;

运行所述预设程序,以在所述游戏进程中加载所述客户端,所述客户端将连接所述服务端,完成构建所述命名管道。

具体来讲,命名管道包括两端,本发明实施例将注入直播进程且发送第一游戏角色身份标识的一端称为“服务端”,将注入游戏进程且接收第一游戏角色身份标识的一端称为“客户端”。

首先,直播进程调用主播端设备的创建命名管道的系统函数创建命名管道,创建出的命名管道的服务端就注入直播进程中。然后,等待客户端连接。

以主播端设备具体为运行windows系统的pc为例,直播进程调用windowsapi(应用程序编程接口,applicationprogramminginterface)函数中创建命名管道createnamedpipe函数创建命名管道。在具体实现过程中,命名管道的名字自定义一个唯一的名字即可。然后再调用连接命名管道connectnamedpipe函数等待客户端连接。

当主播端设备为运行其他系统的其他设备时,例如运行安卓系统的手机时,调用相应的系统函数来创建命名管道即可,这里就不再一一赘述了。

而对于命名管道的客户端,由于主播端设备中的游戏程序为已发布程序,无法直接创建客户端,因此本发明实施例向游戏进程注入一预设程序,该预设程序的逻辑为加载客户端。在游戏进程中运行该预设程序,预设程序加载客户端,进而将命名管道的客户端注入游戏进程。接着,客户端根据命名管道的名字,连接直播进程中的服务端,从而完成直播进程和游戏进程之间构建命名管道。

其中,向游戏进程注入预设程序通过如下过程实现:

向所述游戏进程提供所述预设程序的磁盘路径;

按照所述磁盘路径在所述游戏进程中加载所述预设程序。

更具体地说,向游戏进程注入预设程序通过如下过程实现:

在所述游戏进程的内存空间分配出一预置空间;

将所述预设程序的磁盘路径写入所述预置空间;

在所述游戏进程中创建一用于基于所述磁盘路径注入所述预设程序的远程线程;

运行所述远程线程。

沿用上文中的例子,主播端设备为windows系统的pc机。直播进程通过windowsapi函数中的virtualallocex函数在游戏进程的内存空间中分配出预置内存。其中,virtualallocex函数的作用是在指定进程的虚拟空间保留或提交内存区域。然后,通过windowsapi函数中的writeprocessmemory函数将预设程序的磁盘路径写入到预置内存中。其中,writeprocessmemory函数的作用是写入某一进程的内存区域。接着,直播进程调用windowsapi函数中的创建远程线程createremotethread函数在游戏进程中创建一个远程线程。其中,远程线程表示一个线程在另一个线程中创建的线程。本发明实施例的远程线程所执行的逻辑为调用loadlibrary函数加载写入预置内存的磁盘路径,将按照磁盘路径在游戏进程中加载预设程序,由此将预设程序注入游戏进程。其中,loadlibrary函数用于载入指定的动态链接库,并将它映射到当前进程使用的地址空间。

通过上述实施方式,就将预设程序注入了游戏进程。然后在游戏进程中运行预设程序,由此在游戏进程中加载客户端,进而使客户端注入游戏进程。

由上述描述可以看出,通过向游戏进程中注入用于加载客户端的预设程序,实现了间接在游戏进程中注入客户端,从而为实现观看用户与主播用户组队游戏提供可能。

加载完成的客户端进一步还需要连接服务端才能够与直播进程交互。具体来讲,客户端加载完成后,根据预设程序所已知的命名管道名字,在系统中寻找并连接命名管道的服务端,并在连接上服务端后通知服务端客户端已完成连接,从而使得直播进程按照需要发送信息给游戏进程。

沿用上文中的例子,主播端设备为windows系统的pc机。加载完成的客户端调用创建数据createfile函数来连接命名管道,并调用等待命名管道waitnamedpipe函数监测并等待服务端的响应。当根据命名管道的名字连接到服务端后,客户端调用写数据writefile函数向服务端管道中写入表示客户端端已完成连接的数据。然后,调用读数据readfile函数来读取命名管道中接收的第一游戏角色身份标识。另一方面,服务端通过connectnamedpipe函数等待命名管道的客户端连接,调用readfile来读取客户端发送过来的表示客户端已完成连接的数据后,进而确定命名管道构建完成。然后,服务器端调用writefile函数往命名管道中写入s102获取的所有第一游戏角色身份标识。

接下来,对s104中如何建立包括目标观看用户和主播用户的游戏队伍。在本发明实施例中,s104通过如下过程实现:

通过所述命名管道在所述游戏进程中调用用于建立游戏队伍的函数;

将所述第一游戏身份标识传入所述用于建立游戏队伍集合的函数;

执行所述用于建立游戏队伍集合的函数,构建所述游戏队伍集合。

具体来讲,由于建立游戏队伍进行游戏,具体是通过调用游戏中的用于建立游戏队伍的函数来实现的,因此,需要确定建立游戏队伍所需要调用的游戏函数。

在一种实施方式中,可以预先获取所有游戏函数,并建立每个游戏函数与功能的映射关系。那么,直播进程接收到组队申请信息,对照映射关系就可以确定出建立游戏队伍所需调用的游戏函数,从而通过命名管道在游戏进程中调用并执行该用于建立游戏队伍的函数。

如上文所述,主播端设备中的游戏程序为已发布程序,不方便获取游戏函数。根据经验,游戏函数在游戏进程中以一个具体地址存在,因此,在另一种实施方式中,利用反汇编,通过调用汇编语言的形式调用游戏函数。

具体来讲,本发明实施例通过例如windbg等动态调试工具寻找用于建立游戏队伍的函数,以及确定该游戏函数需传入的参数。windbg是在windows平台下用户态和内核态调试工具。相比较于visualstudio,它是一个轻量级的调试工具。举例来说,通过如下内嵌汇编代码确定并调用用于建立游戏队伍的函数。

上述asm{}中的内容为内嵌在直播应用的代码中的汇编代码。rolenam和rolethis和invitefriends这3个参数的值则是内存地址,3个内存地址具体则是通过windbg动态调试分析来找到。然后通过传入cpu寄存器中的ecx寄存器位已经实例化的组队对象的地址。最后通过汇编指令call来调用用于建立游戏队伍的函数。

通过反汇编的方式在命名管道的客户端调用用于建立游戏队伍的函数之后,将第一游戏角色身份标识传入用于建立游戏队伍的函数,然后执行该用于建立游戏队伍的函数,实现构建包括第一游戏角色身份标识和第二游戏角色身份标识的游戏队伍。

可选的,在具体实现过程中,当前直播的游戏可能要求用户之间满足第一预设条件才能在同一个游戏队伍中共同进行游戏。其中,第一预设条件例如为好友关系或相互授权信任关系等,本发明不做具体限制。因此,s103之前,还可以进一步包括:

基于所述第一游戏角色身份标识,判断所述目标观看用户是否满足与所述主播用户包含在同一个所述游戏队伍中的第一预设条件;

当所述目标观看用户不满足所述第一预设条件时,通过所述命名管道在所述游戏进程中生成用于使所述目标观看用户满足所述第一预设条件的第一请求;

通过所述命名管道获得所述游戏进程接收到的所述直播进程的所述第一请求的通过响应;其中,若获得所述通过响应,则表示所述目标观看用户满足了所述第一预设条件。

为方便说明,下面以第一预设条件具体为好友关系为例来进行介绍。首先基于第一游戏角色身份标识,判断第一游戏角色身份标识与第二游戏角色身份标识之间是否具有好友关系。

在一种实施方式中,类似于上述调用用于建立游戏队伍的函数,通过反汇编确定出判断好友关系的函数,进而通过命名管道将第一游戏角色身份标识传输到游戏进程,且具体传入判断好友关系的函数,由此使得游戏进程通过第一游戏角色身份标识和已有的第二游戏角色身份标识判断目标观看用户与主播用户是否为好友关系。然后通过命名管道的客户端将判断好友关系的函数返回的结果发送回直播进程。如果返回的结果表示目标观看用户与主播用户不为好友关系,则执行“通过所述命名管道在所述游戏进程中生成用于使所述目标观看用户满足所述第一预设条件的第一请求”,反之,如果返回的结果表示目标观看用户与主播用户已为好友关系,则不执行“通过所述命名管道在所述游戏进程中生成用于使所述目标观看用户满足所述第一预设条件的第一请求”。

或者,在另一种实施方式中,在直播进程中记录与主播用户具有好友关系的观看用户,那么通过判断目标观看用户是否被记录来判断目标观看用户是否与主播用户具有好友关系。如果目标观看用户被记录在与主播用户具有好友关系的观看用户中,则不执行“通过所述命名管道在所述游戏进程中生成用于使所述目标观看用户满足所述第一预设条件的第一请求”;反之,如果目标观看用户未被记录在与主播用户具有好友关系的观看用户中,则执行“通过所述命名管道在所述游戏进程中生成用于使所述目标观看用户满足所述第一预设条件的第一请求”。

接下来,当目标观看用户不满足第一预设条件,即与主播用户不为好友关系时,直播进程通过命名管道在游戏进程中生成用于使目标观看用户满足第一预设条件的第一请求。在本发明实施例中,具体为通过命名管道在游戏进程中生成添加目标观看用户为好友的好友请求。

具体来讲,与上述实施方式类似,通过反汇编确定添加好友的函数在游戏进程中的地址,然后直播进程调用该地址中的添加好友的函数,从而添加目标观看用户为好友。举例来说,通过如下代码实现

通过上述代码,直播进程就在游戏进程中调用添加好友函数,并且将第一游戏角色身份标识传入添加好友函数。进一步,添加好友函数运行,生成添加目标观看用户为好友的好友请求,并将好友请求发送到目标观看用户的主播端设备。

接下来,目标观看用户将在观看端设备上接收到好友请求。如果目标观看用户通过与主播用户建立好友关系,则执行通过好友请求的操作。观看端设备生成并向主播端设备中的游戏进程发送通过响应。

接着,如果游戏进程中接收到了通过响应,命名管道的客户端获取该通过响应,并向命名管道中写入通过响应。进而,直播进程从命名管道中接收通过响应。在本发明实施例中,直播进程在发送第一请求后如果接收到了通过响应,那么可以确定目标观看用户与主播用户建立了好友关系。反之,直播进程在发送第一请求后如果未接收到了通过响应,那么可以确定目标观看用户与主播用户尚未建立了好友关系。

进一步,在目标观看用户满足第一预设条件后,如果目标观看用户发送组队申请信息,直播进程就可以如上文所述的方法建立目标观看用户与主播用户的游戏队伍,从而使得目标观看用户在观看游戏直播的同时与主播用户一起组队进行游戏,提高了观看用户的体验。

基于与前述实施例中组队游戏的方法同样的发明构思,本发明第二方面还提供一种组队游戏的装置,如图4所示,包括:

第一接收模块101,用于在主播端设备进行游戏直播时,接收网络直播服务器发送的表示一目标观看用户请求与主播用户组队游戏的组队申请信息;所述主播端设备运行所述游戏的游戏进程和所述直播的直播进程,所述组队申请信息由所述目标观看用户通过接收直播的观看端设备发送给所述网络直播服务器;

获取模块102,用于基于所述组队申请信息,在所述直播进程中获取所述目标观看用户参与所述游戏所凭借的第一游戏角色身份标识;

发送模块103,用于通过所述直播进程和所述游戏进程之间的命名管道,将所述第一游戏角色身份标识发送到所述游戏进程;

建立模块104,用于基于所述第一游戏角色身份标识在所述游戏进程中建立包括所述主播用户和所述目标观看用户的游戏队伍。

进一步,本发明实施例中组队游戏的装置还包括:

判断模块,用于在通过所述直播进程和所述游戏进程之间的命名管道,将所述第一游戏角色身份标识发送到所述游戏进程之前,基于所述第一游戏角色身份标识,判断所述目标观看用户是否满足与所述主播用户包含在同一个所述游戏队伍中的第一预设条件;

生成模块,用于当所述目标观看用户不满足所述第一预设条件时,通过所述命名管道在所述游戏进程中生成用于使所述目标观看用户满足所述第一预设条件的第一请求;

第二接收模块,用于通过所述命名管道获得所述游戏进程接收到的所述直播进程的所述第一请求的通过响应;其中,若获得所述通过响应,则表示所述目标观看用户满足了所述第一预设条件。

进一步,本发明实施例中组队游戏的装置还包括构建模块,用于在通过所述直播进程和所述游戏进程之间的命名管道,将所述第一游戏角色身份标识发送到所述游戏进程之前,在所述直播进程中创建所述命名管道的服务端;在所述游戏进程中注入用于加载所述命名管道的客户端的预设程序;运行所述预设程序,以在所述游戏进程中加载所述客户端,所述客户端将连接所述服务端,完成构建所述命名管道。

进一步,构建模块用于向所述游戏进程提供所述预设程序的磁盘路径;按照所述磁盘路径在所述游戏进程中加载所述预设程序。

建立模块104用于通过所述命名管道在所述游戏进程中调用用于建立游戏队伍的函数;将所述第一游戏角色身份标识传入所述用于建立游戏队伍集合的函数;执行所述用于建立游戏队伍集合的函数,构建所述游戏队伍。

前述图1-图3实施例中的组队游戏的方法的各种变化方式和具体实例同样适用于本实施例的组队游戏的装置,通过前述对组队游戏的方法的详细描述,本领域技术人员可以清楚的知道本实施例中组队游戏的装置的实施方法,所以为了说明书的简洁,在此不再详述。

本申请实施例中的上述一个或多个技术方案,至少具有如下一种或多种技术效果:

在本发明实施例的技术方案中,在主播端设备进行游戏直播时,接收网络直播服务器发送的表示一目标观看用户请求与主播用户组队游戏的组队申请信息;所述主播端设备运行所述游戏的游戏进程和所述直播的直播进程,所述组队申请信息由所述目标观看用户通过接收直播的观看端设备发送给所述网络直播服务器;基于所述组队申请信息,在所述直播进程中获取所述目标观看用户参与所述游戏所凭借的第一游戏角色身份标识;通过所述直播进程和所述游戏进程之间的命名管道,将所述第一游戏角色身份标识发送到所述游戏进程;基于所述第一游戏角色身份标识在所述游戏进程中建立包括所述主播用户和所述目标观看用户的游戏队伍。由此可见,在接收所述目标观看用户的所述组队申请信息时,获得所述目标观看用户的所述第一游戏角色身边标识,通过所述直播进程与所述游戏进程直接的所述命名管道将所述第一游戏角色身份标识发送到所述游戏进程中,进而在所述游戏进程中基于所述第一游戏角色身份标识创建所述游戏队伍,使得在直播游戏过程中,所述主播用户和所述目标观看用户能够在同一游戏队伍中参与游戏。由此解决了观看用户不能在观看过程中与直接与主播组队游戏的技术问题。对所述观看用户而言,通过在网络直播中发送所述组队申请信息,就可以在观看直播的同时与主播组队游戏。

本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1