CN107018191B - 一种控制游戏的方法和装置 - Google Patents
一种控制游戏的方法和装置 Download PDFInfo
- Publication number
- CN107018191B CN107018191B CN201710206427.0A CN201710206427A CN107018191B CN 107018191 B CN107018191 B CN 107018191B CN 201710206427 A CN201710206427 A CN 201710206427A CN 107018191 B CN107018191 B CN 107018191B
- Authority
- CN
- China
- Prior art keywords
- game
- participation information
- live broadcast
- server
- live
- 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
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
- H04L67/025—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP] for remote control or remote monitoring of applications
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/45—Controlling the progress of the video game
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/85—Providing additional services to players
- A63F13/86—Watching games played by other players
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/47—End-user applications
- H04N21/472—End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/47—End-user applications
- H04N21/478—Supplemental services, e.g. displaying phone caller identification, shopping application
- H04N21/4781—Games
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F2300/00—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
- A63F2300/50—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers
- A63F2300/57—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers details of game services offered to the player
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F2300/00—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
- A63F2300/60—Methods for processing data by generating or executing the game program
- A63F2300/63—Methods for processing data by generating or executing the game program for controlling the execution of the game in time
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Databases & Information Systems (AREA)
- Human Computer Interaction (AREA)
- Information Transfer Between Computers (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
本发明实施例提供了一种控制游戏的方法和装置,用于实现观看用户在观看游戏直播的过程中参与游戏。所述方法包括:在主播端设备进行游戏直播时,接收网络直播服务器发送的用于参与所述游戏的游戏参与信息;所述游戏运行在所述主播端设备中,所述游戏参与信息由接收直播的观看端设备发送给所述网络直播服务器;将所述游戏参与信息发送给所述游戏;基于所述游戏参与信息控制所述游戏。
Description
技术领域
本发明涉及计算机领域,尤其涉及一种控制游戏的方法和装置。
背景技术
随着网络直播的迅速发展,网络直播的内容也越来越丰富。例如,目前一种新的直播内容为游戏,许多喜爱游戏的观看用户可以观看主播用户的玩游戏过程,或者学习经验。然而,目前观看用户尚不能在观看过程中同步参与游戏。
发明内容
本发明实施例提供了一种控制游戏的方法和装置,用于实现观看用户在观看游戏直播的过程中参与游戏。
第一方面,本发明提供了一种控制游戏的方法,包括:
在主播端设备进行游戏直播时,接收网络直播服务器发送的用于参与所述游戏的游戏参与信息;所述游戏运行在所述主播端设备中,所述游戏参与信息由接收直播的观看端设备发送给所述网络直播服务器;
将所述游戏参与信息发送给所述游戏;
基于所述游戏参与信息控制所述游戏。
可选的,所述直播对应的进程为直播进程,所述游戏对应的进程为游戏进程,将所述游戏参与信息发送给所述游戏,包括:
在所述直播进程与所述游戏进程之间构建命名管道;
通过所述命名管道将所述游戏参与信息从所述直播进程发送到所述游戏进程。
可选的,在所述直播进程与所述游戏进程之间构建命名管道,包括:
在所述直播进程中创建所述命名管道的服务端;所述服务端为发送所述游戏参与信息的一端;
在所述游戏进程中注入用于加载所述命名管道的客户端的预设程序;所述客户端为接收所述游戏参与信息的一端;
运行所述预设程序,以在所述游戏进程中加载所述客户端,所述客户端将连接所述服务端。
可选的,在所述游戏进程中注入用于加载所述命名管道的客户端的预设程序,包括:
向所述游戏进程提供所述预设程序的磁盘路径;
按照所述磁盘路径在所述游戏进程中加载所述预设程序。
可选的,基于所述游戏参与信息控制所述游戏,包括:
基于所述游戏参与信息确定所述游戏参与信息需要调用的所述游戏的游戏函数;
调用并执行所述游戏函数,以控制所述游戏。
可选的,所述游戏函数具体为所述游戏中任一游戏角色的技能函数。
第二方面,本发明提供了一种控制游戏的装置,包括:
接收模块,用于在主播端设备进行游戏直播时,接收网络直播服务器发送的用于参与所述游戏的游戏参与信息;所述游戏运行在所述主播端设备中,所述游戏参与信息由接收直播的观看端设备发送给所述网络直播服务器;
发送模块,用于将所述游戏参与信息发送给所述游戏;
控制模块,用于基于所述游戏参与信息控制所述游戏。
可选的,所述直播对应的进程为直播进程,所述游戏对应的进程为游戏进程,所述发送模块包括:
构建单元,用于在所述直播进程与所述游戏进程之间构建命名管道;
发送单元,用于通过所述命名管道将所述游戏参与信息从所述直播进程发送到所述游戏进程。
可选的,所述构建单元用于在所述直播进程中创建所述命名管道的服务端;所述服务端为发送所述游戏参与信息的一端;在所述游戏进程中注入用于加载所述命名管道的客户端的预设程序;所述客户端为接收所述游戏参与信息的一端;运行所述预设程序,以在所述游戏进程中加载所述客户端,所述客户端将连接所述服务端。
可选的,所述构建单元用于向所述游戏进程提供所述预设程序的磁盘路径;按照所述磁盘路径在所述游戏进程中加载所述预设程序。
可选的,所述控制模块用于基于所述游戏参与信息确定所述游戏参与信息需要调用的所述游戏的游戏函数;调用并执行所述游戏函数,以控制所述游戏。
可选的,所述游戏函数具体为所述游戏中任一游戏角色的技能函数。
本申请实施例中的上述一个或多个技术方案,至少具有如下一种或多种技术效果:
在本发明实施例的技术方案中,在主播端设备进行游戏直播时,接收网络直播服务器发送的用于参与所述游戏的游戏参与信息;所述游戏运行在所述主播端设备中,所述游戏参与信息由接收直播的观看端设备发送给所述网络直播服务器,然后将所述游戏参与信息发送给所述游戏,以及基于所述游戏参与信息参与并控制所述游戏。由此可见,通过将接收到的所述游戏参与信息发送给所述游戏,并且基于所述游戏参与信息控制所述游戏,故而实现了基于观看用户发送的信息控制所述游戏。那么,对所述观看用户而言,通过在网络直播中发送所述游戏参与信息,就可以对直播的游戏进行控制,进而实现了观看游戏直播的过程中参与游戏。
附图说明
图1为一种可能的网络架构示意图;
图2为本发明实施例中控制游戏的方法流程图;
图3为本发明实施例中直播进程和游戏进程示意图;
图4为本发明实施例中控制游戏的装置示意图。
具体实施方式
本发明实施例提供了一种控制游戏的方法和装置,用于实现观看用户在观看游戏直播的过程中参与游戏。
为了解决上述技术问题,本发明提供的技术方案总体思路如下:
在本发明实施例的技术方案中,在主播端设备进行游戏直播时,接收网络直播服务器发送的用于参与所述游戏的游戏参与信息;所述游戏运行在所述主播端设备中,所述游戏参与信息由接收直播的观看端设备发送给所述网络直播服务器,然后将所述游戏参与信息发送给所述游戏,以及基于所述游戏参与信息参与并控制所述游戏。由此可见,通过将接收到的所述游戏参与信息发送给所述游戏,并且基于所述游戏参与信息控制所述游戏,故而实现了基于观看用户发送的信息控制所述游戏。那么,对所述观看用户而言,通过在网络直播中发送所述游戏参与信息,就可以对直播的游戏进行控制,进而实现了观看游戏直播的过程中参与游戏。
下面通过附图以及具体实施例对本发明技术方案做详细的说明,应当理解本申请实施例以及实施例中的具体特征是对本申请技术方案的详细的说明,而不是对本申请技术方案的限定,在不冲突的情况下,本申请实施例以及实施例中的技术特征可以相互组合。
本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
为了更加清楚地介绍本发明实施例中的控制游戏的方法,首先对本发明实施例所应用的网络架构进行介绍。请参考图1,为一种可能的网络架构示意图。如图1所示,在一次网络直播中,主播端设备可以有一个,观看端设备则可以有一个或多个,主播端设备和观看端设备均通过网络接入网络直播服务器。主播持主播端设备进行图像和音频采集,并由主播端设备将采集到的图像和音频发送至服务器。服务器对图像和音频进行解析和处理后,将图像和音频发送到所有观看端设备。
在本发明实施例中,网络直播具体为游戏直播,即图像和音频至少包括游戏的图像和音频,进一步还可以包括主播的图像和音频。网络直播的进程和游戏的进程均运行在主播端设备中。
每个观看用户在自己持有的观看端设备上观看游戏直播。并且,每个观看用户均可以通过自己的观看端设备向服务器发送弹幕、评论或礼物等观看信息。
本发明第一方面提供了一种控制游戏的方法,请参考图2,为本发明实施例中控制游戏的方法流程图。该方法包括:
S101:在主播端设备进行游戏直播时,接收网络直播服务器发送的用于参与所述游戏的游戏参与信息;
S102:将所述游戏参与信息发送给所述游戏;
S103:基于所述游戏参与信息控制所述游戏。
具体来讲,本发明实施例直播的游戏,对应的进程运行在主播端设备中。进一步,如果该游戏具体为网络游戏,则主播端设备进一步还可以接入不同于网络直播服务器的游戏服务器。游戏参与信息用于控制游戏进而参与游戏,本发明实施例中的游戏参与信息进一步用于控制游戏中一个游戏角色的多个游戏技能中的任一游戏技能。游戏参与信息由任意观看用户通过观看端设备发送到网络直播服务器,再由网络直播服务器转发到主播端设备。游戏参与信息可以通过弹幕、评论或者礼物等形式发送,本发明不做具体限制。
在具体实现过程中,为了避免参与游戏的观看用户过多,可以预先选择一个或多个能够参与游戏的观看用户。在一种实施方式中,可以由网络直播服务器指定能够参与游戏的观看用户,或者在其他实施方式中,也可以由网络主播自行选择。根据能够参与游戏的观看用户的用户标识,从所有接收到的观看信息中筛选出能够参与游戏的观看用户的观看信息,并进一步筛选出包括游戏参与信息的观看信息。
举例来说,游戏参与信息通过弹幕来发送,且具体协议为在弹幕内容的开头加上“技能”的类型标识,并随后附上技能编号,技能编号表示所该游戏参与信息将要控制的游戏技能为哪个。那么,能够参与游戏的观看用户则假设通过发送内容为“技能1”的弹幕来参与游戏,进而控制游戏角色使用第1个技能。那么,直播进程接收所有观看信息,并筛选出“技能1”的弹幕,进而获取表示控制游戏角色使用第1个技能的游戏参与信息。
在上述例子中,可以预先将游戏角色的多个游戏技能编号,并向观看用户展示,以便观看用户发送准确的技能编号。
然后,在S102中,直播进程将游戏参与信息发送到游戏进程中,由此将游戏参与信息发送给游戏。最后,在S103中,基于游戏参与信息控制游戏。
由上述描述可以看出,通过将接收到的游戏参与信息发送给游戏,并且基于游戏参与信息控制游戏,故而实现了基于观看用户发送的信息控制游戏。那么,对观看用户而言,通过在网络直播中发送游戏参与信息,就可以对直播的游戏进行控制,进而实现了观看游戏直播的过程中参与游戏。
下面对将游戏参与信息发送给游戏的具体实施方式进行介绍。
具体来讲,本发明实施例中直播进程和游戏进程均运行在主播端设备中,如图3所示,为直播进程和游戏进程的示意图。为实现根据观看用户发送的游戏参与信息控制游戏,就需要将主播进程中的游戏参与信息跨线程发送给游戏进程中。为实现不同进程间的通信,本发明实施具体实施方式为:
在所述直播进程与所述游戏进程之间构建命名管道;
通过所述命名管道将所述游戏参与信息从所述直播进程发送到所述游戏进程。
命名管道Named Pipes是一种进程间通信机制,可在同一台计算机的不同进程之间或在跨越一个网络的不同计算机的不同进程之间,支持可靠的、单向或双向的数据通信。它屏蔽了底层的网络协议细节。
为了实现直播进程与游戏进程间的通信,如图3所示,本发明实施例在直播进程与游戏进程构建命名管道,构建完成后,通过命名管道将直播进程的游戏参与信息发送到游戏进程中。
其中,构建命名管道的具体实施方式如下:
在所述直播进程中创建所述命名管道的服务端;所述服务端为发送所述游戏参与信息的一端;
在所述游戏进程中注入用于加载所述命名管道的客户端的预设程序;所述客户端为接收所述游戏参与信息的一端;
运行所述预设程序,以在所述游戏进程中加载所述客户端,所述客户端将连接所述服务端。
具体来讲,命名管道包括两端,本发明实施例将注入直播进程且发送游戏参与信息的一端称为“服务端”,将注入游戏进程且接收游戏参与信息的一端称为“客户端”。
首先,直播进程调用主播端设备的创建命名管道系统函数创建命名管道,创建出的命名管道的服务端就注入直播进程中。然后,等待客户端连接。
以主播端设备具体为运行Windows系统的PC为例,直播进程调用WindowsAPI(应用程序编程接口,Application Programming Interface)函数中的创建命名管道CreateNamedPipe函数创建命名管道。在具体实现过程中,命名管道的名字自定义一个唯一的名字即可。然后再调用连接命名管道ConnectNamedPipe函数等待客户端连接。
当主播端设备为运行其他系统的其他设备时,例如运行安卓系统的手机时,调用相应的系统函数来创建命名管道即可,这里就不再一一赘述了。
而对于命名管道的客户端,由于主播端设备中的游戏程序为已发布程序,无法直接创建客户端,因此本发明实施例向游戏进程注入一预设程序,该预设程序的逻辑为加载客户端。因此,在游戏进程中运行该预设程序,从而预设程序加载客户端,进而将命名管道的客户端注入游戏进程。接着,客户端端根据命名管道的名字,连接直播进程中的服务端,从而完成直播进程和游戏进程之间构建命名管道。
其中,向游戏进程注入一预设程序通过如下过程实现:
向所述游戏进程提供所述预设程序的磁盘路径;
按照所述磁盘路径在所述游戏进程中加载所述预设程序。
更具体地说,向游戏进程注入一预设程序通过如下过程实现:
在所述游戏进程的内存空间分配出一预置空间;
将所述预设程序的磁盘路径写入所述预置空间;
在所述游戏进程中创建一用于基于所述磁盘路径注入所述预设程序的远程线程;
运行所述远程线程。
沿用上文中的例子,主播端设备为Windows系统的PC机。主播端设备通过WindowsAPI函数中的VirtualAllocEx函数在游戏进程的内存空间中分配出预置内存。其中,VirtualAllocEx函数的作用是在指定进程的虚拟空间保留或提交内存区域。然后,通过WindowsAPI函数中的WriteProcessMemory函数将预设程序的磁盘路径写入到预置内存中。其中,WriteProcessMemory函数的作用是写入某一进程的内存区域。接着,调用WindowsAPI函数中的创建远程线程CreateRemoteThread函数在游戏进程中创建一个远程线程。其中,远程线程表示一个线程在另一个线程中创建的线程。本发明实施例的远程线程所执行的逻辑为调用LoadLibrary函数加载写入预置内存的磁盘路径,将按照磁盘路径在游戏进程中加载预设程序,由此将预设程序注入游戏进程。其中,LoadLibrary函数用于载入指定的动态链接库,并将它映射到当前进程使用的地址空间。
通过上述实施方式,就将预设程序注入了游戏进程。然后在游戏进程中运行预设程序,由此在游戏进程中加载客户端,进而使客户端注入游戏进程。
由上述描述可以看出,通过向游戏进程中注入用于加载客户端的预设程序,实现了间接在游戏进程中注入客户端,从而实现观看用户参与并控制有效。
加载完成的客户端进一步还需要连接服务端才能够接收直播进程的游戏参与信息。具体来讲,客户端加载完成后,根据预设程序所包括的命名管道名字,在系统中寻找并连接命名管道的服务端,并在连接上服务端后通知服务端客户端已完成连接,从而使得服务端可以开始发送游戏参与信息。
沿用上文中的例子,主播端设备为Windows系统的PC机。加载完成的客户端调用创建数据CreateFile函数来连接命名管道,并调用等待命名管道WaitNamedPipe函数监测并等待服务端的响应。当根据命名管道的名字连接到服务端后,客户端调用写数据WriteFile函数向服务端管道中写入表示客户端端已完成连接的数据。然后,调用读数据ReadFile函数来读取命名管道中接收的游戏参与信息。另一方面,服务端通过ConnectNamedPipe函数等待命名管道的客户端连接,调用ReadFile来读取客户端发送过来的表示客户端发送的表示客户端已完成连接的数据后,进而确定命名管道构建完成。然后,服务器端调用WriteFile函数往命名管道中写入S101获取的所有游戏参与信息。
接下来,对S103中如何基于游戏参与信息控制游戏进行介绍。在本发明实施例中,S103通过如下过程实现:
基于所述游戏参与信息确定所述游戏参与信息需要调用的所述游戏的游戏函数;
调用并执行所述游戏函数,以控制所述游戏。
具体来讲,由于用户参与并控制游戏,具体是通过调用游戏中的游戏函数来实现的,因此,为了调用对应的游戏函数,则需要确定游戏参与信息所需要调用的游戏函数。
在一种实施方式中,可以预先获取所有游戏函数,并建立每个游戏函数与游戏参与信息的映射关系。那么,直播进程接收到游戏参与游戏,对照映射关系就可以确定出该游戏参与信息所需调用的游戏函数,从而通过命名管道在游戏进程中调用并执行该游戏参与信息所需调用的游戏函数。
举例来说,游戏参与信息具体为“技能1”,对照映射关系,确定游戏角色的第1个技能所对应的游戏函数为函数A。因此,通过命名管道调用函数A,进而使得游戏角色使用第1个技能。
如上文所述,由于主播端设备中的游戏程序为已发布程序,不方便获取游戏函数。根据经验,游戏角色的技能控制对象都会存储一份指针在游戏角色对象中,在角色对象中可以找到指针,从而进一步的找到实现技能的游戏函数。找到游戏函数后,就可以确定需要传入的参数、使用该函数的条件(例如CD冷却时间或者技能的能量条是否满等)以及调用游戏函数。因此,在另一种实施方式中,利用反汇编,通过调用汇编语言的形式调用游戏函数。
具体来讲,本发明实施例通过例如WinDbg等动态调试工具寻找游戏参与信息需要调用的游戏函数,以及使用该游戏函数需传入的参数。Windbg是在Windows平台下用户态和内核态调试工具。相比较于Visual Studio,它是一个轻量级的调试工具。举例来说,通过如下内嵌汇编代码确定并调用游戏函数。
SpellIndex为技能索引号,例如上文中“技能1”对应的索引号为1。
其中SpellThis、JudgeCastSpell和CastSpell的值为内存地址,通过WinDbg动态调试分析找到。传入ecx寄存器的是已经实例化的游戏函数的地址。最后通过汇编指令call调用游戏函数。
在具体实现过程中,也可以编写其他反汇编的代码调用游戏函数,本发明不做具体限制。
进一步,如果调用游戏函数是有条件的,则在执行上述代码前,通过以下代码判断是否满足调用游戏函数的条件。
如果Ret中的值为True,则表示调用游戏函数的条件满足,进而调用并执行上文中反汇编调用游戏函数的代码。
基于与前述实施例中控制游戏的方法同样的发明构思,本发明第二方面还提供一种控制游戏的装置,如图4所示,包括:
接收模块101,用于在主播端设备进行游戏直播时,接收网络直播服务器发送的用于参与所述游戏的游戏参与信息;所述游戏运行在所述主播端设备中,所述游戏参与信息由接收直播的观看端设备发送给所述网络直播服务器;
发送模块102,用于将所述游戏参与信息发送给所述游戏;
控制模块103,用于基于所述游戏参与信息控制所述游戏。
具体来讲,所述直播对应的进程为直播进程,所述游戏对应的进程为游戏进程,发送模块102包括:
构建单元,用于在所述直播进程与所述游戏进程之间构建命名管道;
发送单元,用于通过所述命名管道将所述游戏参与信息从所述直播进程发送到所述游戏进程。
进一步,构建单元用于在所述直播进程中创建所述命名管道的服务端;所述服务端为发送所述游戏参与信息的一端;在所述游戏进程中注入用于加载所述命名管道的客户端的预设程序;所述客户端为接收所述游戏参与信息的一端;运行所述预设程序,以在所述游戏进程中加载所述客户端,所述客户端将连接所述服务端。
进一步,构建单元用于向所述游戏进程提供所述预设程序的磁盘路径;按照所述磁盘路径在所述游戏进程中加载所述预设程序。
具体来讲,控制模块103用于基于所述游戏参与信息确定所述游戏参与信息需要调用的所述游戏的游戏函数;调用并执行所述游戏函数,以控制所述游戏。
游戏函数具体为所述游戏中任一游戏角色的技能函数。
前述图1-图3实施例中的控制游戏的方法的各种变化方式和具体实例同样适用于本实施例的控制游戏的装置,通过前述对控制游戏的方法的详细描述,本领域技术人员可以清楚的知道本实施例中控制游戏的装置的实施方法,所以为了说明书的简洁,在此不再详述。
本申请实施例中的上述一个或多个技术方案,至少具有如下一种或多种技术效果:
在本发明实施例的技术方案中,在主播端设备进行游戏直播时,接收网络直播服务器发送的用于参与所述游戏的游戏参与信息;所述游戏运行在所述主播端设备中,所述游戏参与信息由接收直播的观看端设备发送给所述网络直播服务器,然后将所述游戏参与信息发送给所述游戏,以及基于所述游戏参与信息参与并控制所述游戏。由此可见,通过将接收到的所述游戏参与信息发送给所述游戏,并且基于所述游戏参与信息控制所述游戏,故而实现了基于观看用户发送的信息控制所述游戏。那么,对所述观看用户而言,通过在网络直播中发送所述游戏参与信息,就可以对直播的游戏进行控制,进而实现了观看游戏直播的过程中参与游戏。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (7)
1.一种控制游戏的方法,其特征在于,包括:
在主播端设备进行游戏直播时,接收网络直播服务器发送的用于参与所述游戏的游戏参与信息;所述游戏运行在所述主播端设备中,所述游戏参与信息由接收直播的观看端设备发送给所述网络直播服务器;
将所述游戏参与信息发送给所述游戏;
基于所述游戏参与信息控制所述游戏;
所述直播对应的进程为直播进程,所述游戏对应的进程为游戏进程,将所述游戏参与信息发送给所述游戏,包括:
在所述直播进程与所述游戏进程之间构建命名管道;
通过所述命名管道将所述游戏参与信息从所述直播进程发送到所述游戏进程;
基于所述游戏参与信息控制所述游戏,包括:基于所述游戏参与信息确定所述游戏参与信息需要调用的所述游戏的游戏函数;调用并执行所述游戏函数,以控制所述游戏,其中,游戏角色的技能控制对象都会存储一份指针在游戏角色对象中,在角色对象中可以找到指针,利用反汇编,通过调用汇编语言的形式调用游戏函数。
2.如权利要求1所述的方法,其特征在于,在所述直播进程与所述游戏进程之间构建命名管道,包括:
在所述直播进程中创建所述命名管道的服务端;所述服务端为发送所述游戏参与信息的一端;
在所述游戏进程中注入用于加载所述命名管道的客户端的预设程序;所述客户端为接收所述游戏参与信息的一端;
运行所述预设程序,以在所述游戏进程中加载所述客户端,所述客户端将连接所述服务端。
3.如权利要求2所述的方法,其特征在于,在所述游戏进程中注入用于加载所述命名管道的客户端的预设程序,包括:
向所述游戏进程提供所述预设程序的磁盘路径;
按照所述磁盘路径在所述游戏进程中加载所述预设程序。
4.如权利要求1所述的方法,其特征在于,所述游戏函数具体为所述游戏中任一游戏角色的技能函数。
5.一种控制游戏的装置,其特征在于,包括:
接收模块,用于在主播端设备进行游戏直播时,接收网络直播服务器发送的用于参与所述游戏的游戏参与信息;所述游戏运行在所述主播端设备中,所述游戏参与信息由接收直播的观看端设备发送给所述网络直播服务器;
发送模块,用于将所述游戏参与信息发送给所述游戏;
控制模块,用于基于所述游戏参与信息控制所述游戏,包括:基于所述游戏参与信息确定所述游戏参与信息需要调用的所述游戏的游戏函数;调用并执行所述游戏函数,以控制所述游戏,其中,游戏角色的技能控制对象都会存储一份指针在游戏角色对象中,在角色对象中可以找到指针,利用反汇编,通过调用汇编语言的形式调用游戏函数;
所述直播对应的进程为直播进程,所述游戏对应的进程为游戏进程,所述发送模块包括:
构建单元,用于在所述直播进程与所述游戏进程之间构建命名管道;
发送单元,用于通过所述命名管道将所述游戏参与信息从所述直播进程发送到所述游戏进程。
6.如权利要求5所述的装置,其特征在于,所述构建单元用于在所述直播进程中创建所述命名管道的服务端;所述服务端为发送所述游戏参与信息的一端;在所述游戏进程中注入用于加载所述命名管道的客户端的预设程序;所述客户端为接收所述游戏参与信息的一端;运行所述预设程序,以在所述游戏进程中加载所述客户端,所述客户端将连接所述服务端。
7.如权利要求6所述的装置,其特征在于,所述构建单元用于向所述游戏进程提供所述预设程序的磁盘路径;按照所述磁盘路径在所述游戏进程中加载所述预设程序。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710206427.0A CN107018191B (zh) | 2017-03-31 | 2017-03-31 | 一种控制游戏的方法和装置 |
PCT/CN2017/082733 WO2018176559A1 (zh) | 2017-03-31 | 2017-05-02 | 一种控制游戏的方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710206427.0A CN107018191B (zh) | 2017-03-31 | 2017-03-31 | 一种控制游戏的方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107018191A CN107018191A (zh) | 2017-08-04 |
CN107018191B true CN107018191B (zh) | 2020-06-16 |
Family
ID=59444893
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710206427.0A Active CN107018191B (zh) | 2017-03-31 | 2017-03-31 | 一种控制游戏的方法和装置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN107018191B (zh) |
WO (1) | WO2018176559A1 (zh) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110321229A (zh) * | 2018-03-28 | 2019-10-11 | 努比亚技术有限公司 | 一种游戏协助方法、终端及计算机可读存储介质 |
CN109173272A (zh) * | 2018-08-06 | 2019-01-11 | 广州华多网络科技有限公司 | 基于直播的游戏交互方法、系统、服务器及装置 |
CN109224456B (zh) * | 2018-08-06 | 2022-05-27 | 广州方硅信息技术有限公司 | 直播间游戏组队方法、基于直播的游戏交互系统及服务器 |
CN110881144B (zh) * | 2018-09-05 | 2022-06-21 | 武汉斗鱼网络科技有限公司 | 一种基于直播平台的数据处理方法以及相关设备 |
CN109275040B (zh) * | 2018-11-06 | 2021-02-19 | 网易(杭州)网络有限公司 | 基于游戏直播的交互方法、装置和系统 |
CN109348248B (zh) * | 2018-11-27 | 2021-09-03 | 网易(杭州)网络有限公司 | 一种游戏直播的数据处理方法、系统和装置 |
CN110418151B (zh) * | 2019-07-24 | 2021-09-24 | 网易(杭州)网络有限公司 | 游戏直播中弹幕信息发送、处理方法、装置、设备、介质 |
CN111818348B (zh) * | 2019-12-25 | 2021-08-24 | 厦门雅基软件有限公司 | 直播互动方法、装置、电子设备和计算机可读存储介质 |
CN111491214A (zh) * | 2020-04-09 | 2020-08-04 | 网易(杭州)网络有限公司 | 基于云游戏的直播交互方法及系统、电子设备、存储介质 |
CN111790144B (zh) * | 2020-07-03 | 2024-06-25 | 珠海金山数字网络科技有限公司 | 基于直播界面的游戏方法及装置、游戏直播互动系统 |
CN112619165A (zh) * | 2020-12-18 | 2021-04-09 | 咪咕互动娱乐有限公司 | 游戏用户选择方法、系统、服务器和存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105797373A (zh) * | 2016-05-24 | 2016-07-27 | 武汉斗鱼网络科技有限公司 | 一种利用弹幕控制游戏操作技能的方法及装置 |
CN106528096A (zh) * | 2016-10-20 | 2017-03-22 | 武汉斗鱼网络科技有限公司 | 一种在d3d12全屏游戏源上绘制弹幕图像的方法及系统 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001239066A (ja) * | 2000-03-01 | 2001-09-04 | Casio Comput Co Ltd | ネットワークゲームシステムおよびネットワークゲーム配信方法ならびにネットワークゲーム参加方法 |
US20040187148A1 (en) * | 2003-03-19 | 2004-09-23 | Anthony Cassella | Methods and computer program for multimedia interaction |
CN109743335A (zh) * | 2014-08-01 | 2019-05-10 | 广州华多网络科技有限公司 | 交互系统、服务器、客户端和交互方法 |
CN104363471A (zh) * | 2014-11-21 | 2015-02-18 | 广州华多网络科技有限公司 | 一种基于视频直播的互动方法及相关设备、系统 |
CN106303586A (zh) * | 2016-08-18 | 2017-01-04 | 北京奇虎科技有限公司 | 一种网络直播的方法、主播端设备、观众端设备 |
-
2017
- 2017-03-31 CN CN201710206427.0A patent/CN107018191B/zh active Active
- 2017-05-02 WO PCT/CN2017/082733 patent/WO2018176559A1/zh active Application Filing
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105797373A (zh) * | 2016-05-24 | 2016-07-27 | 武汉斗鱼网络科技有限公司 | 一种利用弹幕控制游戏操作技能的方法及装置 |
CN106528096A (zh) * | 2016-10-20 | 2017-03-22 | 武汉斗鱼网络科技有限公司 | 一种在d3d12全屏游戏源上绘制弹幕图像的方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
WO2018176559A1 (zh) | 2018-10-04 |
CN107018191A (zh) | 2017-08-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107018191B (zh) | 一种控制游戏的方法和装置 | |
CN107281756B (zh) | 一种组队游戏的方法和装置 | |
CN109582463B (zh) | 资源配置方法、装置、终端及存储介质 | |
CN109032793B (zh) | 资源配置的方法、装置、终端及存储介质 | |
JP7423134B2 (ja) | インタラクティブシーンの起動方法、装置、コンピュータプログラム、クライアント側及びサーバー | |
CN105051694B (zh) | 移动计算设备应用共享 | |
CN112988400B (zh) | 显存优化方法、装置、电子设备以及可读存储介质 | |
CN105354143A (zh) | 一种用于应用程序的测试方法及装置 | |
WO2014086225A1 (en) | Screenshot method and device | |
CN107391219A (zh) | 函数编译方法和装置 | |
WO2018128261A1 (ko) | 사용자 활동 정보를 공유하는 방법 및 시스템 | |
CN112023402B (zh) | 游戏数据处理方法、装置、设备以及介质 | |
CN112346935A (zh) | 渲染耗时的获取、显示方法、性能监控方法、装置及设备 | |
CN108446146A (zh) | 一种游戏数据采集方法及装置 | |
CN113824983A (zh) | 数据匹配方法、装置、设备及计算机可读存储介质 | |
CN115955590A (zh) | 视频处理方法、装置、计算机设备、介质 | |
CN114885199A (zh) | 实时互动方法、装置、电子设备、存储介质及系统 | |
CN110362375A (zh) | 桌面数据的显示方法、装置、设备和存储介质 | |
CN107743615B (zh) | 映像产生过程中的内容测试 | |
CN108449643B (zh) | 一种跨应用控制方法及装置 | |
CN113612850B (zh) | 云平台对接调试方法、装置、电子设备及存储介质 | |
CN113144606B (zh) | 虚拟对象的技能触发方法及相关设备 | |
EP3848800B1 (en) | Method and apparatus for displaying message box, terminal and storage medium | |
CN113230661A (zh) | 数据同步方法、装置、计算机可读介质及电子设备 | |
CN109388498A (zh) | 一种互斥的处理方法、装置、设备及介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20230413 Address after: Room 1010-A79, 10th Floor, Building B, Zhongcheng International, No. 26 Wenjing Road, Xi'an Economic and Technological Development Zone, Shaanxi Province, 710000 Patentee after: Xi'an Yunqu Play Network Technology Co.,Ltd. Address before: 430000 East Lake Development Zone, Wuhan City, Hubei Province, No. 1 Software Park East Road 4.1 Phase B1 Building 11 Building Patentee before: WUHAN DOUYU NETWORK TECHNOLOGY Co.,Ltd. |