CN111214828A - 游戏运行方法、装置、设备、介质及云端游戏平台 - Google Patents
游戏运行方法、装置、设备、介质及云端游戏平台 Download PDFInfo
- Publication number
- CN111214828A CN111214828A CN202010006310.XA CN202010006310A CN111214828A CN 111214828 A CN111214828 A CN 111214828A CN 202010006310 A CN202010006310 A CN 202010006310A CN 111214828 A CN111214828 A CN 111214828A
- Authority
- CN
- China
- Prior art keywords
- game
- client
- cloud
- video frame
- server
- 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.)
- Pending
Links
Images
Classifications
-
- 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/30—Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
- A63F13/35—Details of game servers
-
- 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/30—Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
- A63F13/31—Communication aspects specific to video games, e.g. between several handheld game devices at close range
-
- 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/50—Controlling the output signals based on the game progress
- A63F13/52—Controlling the output signals based on the game progress involving aspects of the displayed game scene
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5011—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
- G06F9/5016—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/5044—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering hardware capabilities
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本公开提供一种游戏运行方法、装置、设备、介质及云端游戏平台。所述方法应用于云端游戏服务器,云端游戏服务器安装有若干游戏,包括:根据客户端发送的第一游戏的启动请求,启动第一游戏;将第一游戏的游戏画面渲染为视频帧,并以视频流的方式发送给客户端;接收客户端对视频帧的操作指令,根据操作指令渲染下一帧视频帧,并发送给客户端。游戏无需安装在用户的个人终端上,而是安装在云端游戏服务器,用户只需通过客户端访问云端游戏服务器,即可启动游戏,可以大大释放用户的个人终端的空间内存,并且,无需要求个人终端有较好的性能。
Description
技术领域
本公开涉及网络游戏技术领域,尤其涉及一种游戏运行方法、装置、设备、介质及云端游戏平台。
背景技术
目前,玩电子游戏是一种相对热门的大众的娱乐消遣方式,电子游戏的类型也越来越多。相关技术中,玩家根据自己的兴趣,需将电子游戏的软件下载安装到个人终端(如智能手机、计算机等),才可以运行游戏,这样,电子游戏的软件会占用个人终端的空间内存,并且,一些大型的电子游戏,需要个人终端有较好的性能来支持运行,否则,会影响用户体验。
发明内容
为克服相关技术中存在的问题,本公开提供了一种游戏运行方法、装置、设备、介质及云端游戏平台。
根据本公开实施例的第一方面,提供一种游戏运行方法,应用于云端游戏服务器,所述云端游戏服务器安装有若干游戏,所述方法包括:
根据客户端发送的第一游戏的启动请求,启动所述第一游戏;
将所述第一游戏的游戏画面渲染为视频帧,并以视频流的方式发送给所述客户端;
接收所述客户端对所述视频帧的操作指令,根据所述操作指令渲染下一帧视频帧,并发送给所述客户端。
在一个可选的实施例中,所述操作指令与所述视频流通过不同的传输信道传输。
在一个可选的实施例中,所述云端游戏服务器包括多个独立的内存空间,一个内存空间用于运行一个指定客户端请求启动的游戏。
在一个可选的实施例中,在根据客户端发送的第一游戏的启动请求,启动所述第一游戏之前,还包括:
接收客户端在指定应用内的登录信息,其中,所述登录信息为客户端的用户账号登录所述指定应用的标识,所述指定应用为提供云端游戏服务的应用;
检测当前是否有处于空闲状态的内存空间;
如果否,则将所述登录信息发送给云端游戏服务器集群中的其他云端游戏服务器,以使其他云端游戏服务器基于所述客户端的启动请求,启动所述第一游戏;
如果是,则分配一个内存空间给所述客户端,并在所述内存空间内接收所述客户端发送的第一游戏的启动请求。
在一个可选的实施例中,所述登录信息包括用户账号,在确定所述客户端在所述云端游戏服务器的内存空间之后,且在启动所述第一游戏之前,还包括:
在所述内存空间加载所述用户账号关联的所有游戏。
在一个可选的实施例中,所述用户账号还为所述云端游戏服务所提供的所有游戏的玩家账号,在启动所述第一游戏之前,还包括:
在所述内存空间加载所述用户账号在所述第一游戏的玩家数据;
所述启动所述第一游戏的步骤包括:
基于所述玩家数据启动所述第一游戏。
在一个可选的实施例中,所述启动请求携带客户端系统信息,所述启动所述第一游戏的步骤包括:
根据所述客户端系统信息,启动与所述客户端的系统所适配的所述第一游戏的游戏版本。
在一个可选的实施例中,所述启动请求携带客户端系统信息,所述将所述第一游戏的游戏画面渲染为视频帧的步骤包括:
根据所述客户端系统信息,将所述第一游戏的游戏画面渲染为与所述客户端的系统分辨率所适配的视频帧。
在一个可选的实施例中,所述启动请求携带游戏版本选择信息,所述启动所述第一游戏的步骤包括:
根据所述游戏版本选择信息,启动对应的所述第一游戏的游戏版本。
在一个可选的实施例中,所述启动请求携带客户端系统信息和游戏版本选择信息,所述启动所述第一游戏的步骤包括:
根据所述游戏版本选择信息,启动对应的所述第一游戏的游戏版本;
所述将所述第一游戏的游戏画面渲染为视频帧的步骤包括:
根据所述客户端系统信息,将所述第一游戏的游戏画面渲染为与所述客户端的系统分辨率所适配的视频帧。
在一个可选的实施例中,所述启动请求携带实体手柄连接标识,所述方法还包括:
根据所述实体手柄连接标识为是否连接状态,确定是否在所述视频帧中添加虚拟手柄图标。
在一个可选的实施例中,所述方法还包括:
基于所接收到所述客户端发送的切换到第二游戏的切换请求,启动并切换到所述第二游戏,将所述第二游戏的游戏画面渲染为视频帧,以视频流的方式发送给所述客户端。
根据本公开实施例的第二方面,提供一种游戏运行方法,应用于客户端,所述方法包括:
向云端游戏服务器发送第一游戏的启动请求;
接收所述云端游戏服务器发送的所述第一游戏的视频流,所述视频流包括至少一个视频帧,所述视频帧为所述云端游戏服务器根据所述第一游戏的游戏画面渲染而成;
将针对所述视频帧的操作指令发送给所述云端游戏服务器;
接收所述云端游戏服务器的下一帧视频帧,所述下一帧视频帧为所述云端游戏服务器根据所述操作指令渲染而成。
在一个可选的实施例中,所述操作指令与所述视频流通过不同的传输信道传输。
在一个可选的实施例中,在向云端游戏服务器发送第一游戏的启动请求之前,包括:
基于用户账号在指定应用内登录,并向所述云端游戏服务器发送登录信息,以使所述云端游戏服务器分配内存空间,其中:
所述用户账号为用户登录指定应用的账号,所述登录信息为客户端的用户账号登录所述指定应用的标识,所述指定应用为提供云端游戏服务的应用;
所述云端游戏服务器包括多个独立的内存空间,一个内存空间用于运行一个指定客户端请求启动的游戏。
在一个可选的实施例中,在指定应用内登录之后,还包括:
显示所述用户账号锁关联的所有游戏的标识,所述标识用于描述游戏的唯一性。
在一个可选的实施例中,所述用户账号还为所述云端游戏服务所提供的所有游戏的玩家账号。
在一个可选的实施例中,所述视频帧包括虚拟手柄图标。
在一个可选的实施例中,所述启动请求包括实体手柄连接标识,所述方法还包括:
当检测到接入实体手柄时,将所述实体手柄连接信息标记为连接状态。
在一个可选的实施例中,所述方法还包括:
向所述云端游戏服务器发送切换到第二游戏的切换请求,以使所述云端游戏服务器启动并切换到所述第二游戏;
接收所述云端游戏服务器发送的所述第二游戏的视频流。
根据本公开实施例的第三方面,提供一种云端游戏平台,所述平台包括客户端和云端游戏服务器,所述客户端和所述云端游戏服务器通信连接,
所述客户端被配置为向所述云端游戏服务器发送第一游戏的启动请求;
所述云端游戏服务器被配置为根据所述启动请求,启动所述第一游戏;
所述云端游戏服务器被配置为将所述第一游戏的游戏画面渲染为视频帧,并以视频流的方式发送给所述客户端;
所述客户端被配置为接收所述云端游戏服务器反馈的所述视频流,并将针对所述视频帧的操作指令发送给所述云端游戏服务器;
所述云端游戏服务器被配置为接收所述操作指令,根据所述操作指令渲染下一帧视频帧,并发送给所述客户端;
所述客户端被配置为接收所述下一帧视频帧。
在一个可选的实施例中,所述云端游戏服务器包括多个内存空间,一个内存空间用于运行一个指定客户端请求启动的游戏。
在一个可选的实施例中,所述客户端被配置为在向所述云端游戏服务器发送第一游戏的启动请求之前,基于用户账号在指定应用内登录,并向所述云端游戏服务器发送登录信息,其中,所述用户账号为用户登录指定应用的账号,所述登录信息为客户端的用户账号登录所述指定应用的标识,所述指定应用为提供云端游戏服务的应用;
所述云端游戏服务器被配置为接收所述登录信息,检测当前是否有处于空闲状态的内存空间;
如果否,则将所述登录信息发送给云端游戏服务器集群中的其他云端游戏服务器,以使其他云端游戏服务器基于所述客户端的启动请求,启动所述第一游戏;
如果是,则分配一个处于空闲状态的内存空间给所述客户端,并在所述内存空间内接收所述客户端发送的第一游戏的启动请求。
在一个可选的实施例中,所述云端游戏服务器被配置为在确定所述客户端的内存空间之后,且在启动所述第一游戏之前,在所述内存空间加载所述用户账号关联的所有游戏。
在一个可选的实施例中,所述用户账号还为所述云端游戏服务所提供的所有游戏的玩家账号;
所述云端游戏服务器被配置为在启动所述第一游戏之前,在所述内存空间加载所述用户账号在所述第一游戏的玩家数据,并基于所述玩家数据启动所述第一游戏。
在一个可选的实施例中,所述平台还包括数据服务器,所述云端游戏服务器与所述数据服务器通信连接,所述数据服务器存储有各用户账号关联的所有游戏的信息以及在各个游戏中的玩家数据;
所述云端游戏服务器被配置为从所述数据服务器获取所述用户账号关联的所有游戏的信息,并在所述内存空间加载所述用户账号关联的所有游戏。
在一个可选的实施例中,所述云端游戏服务器被配置为接收到所述客户端的退出游戏指令时,将所述用户账号在所述第一游戏的当前玩家数据存储于本地并发送给所述数据服务器,基于所述退出游戏指令关闭所述第一游戏;
所述数据服务器被配置为接收所述当前玩家数据,并将所述用户账号在所述第一游戏的玩家数据更新为所述当前玩家数据。
在一个可选的实施例中,所述云端游戏服务器还与所述第一游戏的游戏服务器通信连接,
所述云端游戏服务器被配置为将所述用户账号在所述第一游戏的当前玩家数据发送给所述第一游戏的游戏服务器,以使所述第一游戏的游戏服务器同步所述用户账号的当前玩家数据。
在一个可选的实施例中,所述启动请求携带客户端系统信息,所述云端游戏服务器被配置为根据所述客户端系统信息,启动与所述客户端的系统所适配的所述第一游戏的游戏版本。
在一个可选的实施例中,所述启动请求携带客户端系统信息,所述云端游戏服务器被配置为根据所述客户端系统信息,将所述第一游戏的游戏画面渲染为与所述客户端的系统分辨率所适配的视频帧。
在一个可选的实施例中,所述启动请求携带游戏版本选择信息,所述云端游戏服务器被配置为根据所述游戏版本选择信息,启动对应的所述第一游戏的游戏版本。
在一个可选的实施例中,所述启动请求携带客户端系统信息和游戏版本选择信息,所述云端游戏服务器被配置为根据所述游戏版本选择信息,启动对应的所述第一游戏的游戏版本;根据所述客户端系统信息,将所述第一游戏的游戏画面渲染为与所述客户端的系统分辨率所适配的视频帧。
在一个可选的实施例中,所述启动请求携带实体手柄连接信息,所述云端游戏服务器被配置为根据所述实体手柄连接标识为是否连接状态,确定是否在所述视频帧中添加虚拟手柄图标。
在一个可选的实施例中,所述平台还包括鉴权服务器,所述鉴权服务器与所述云端游戏服务器通信连接,
所述客户端被配置为在发送第一游戏的启动请求之前,基于用户账号和用户密码在指定应用内登录,并将所述用户账号和所述用户密码发送给所述云端游戏服务器,其中,所述指定应用为提供云端游戏服务的应用;
所述云端游戏服务器被配置为将所述用户账号和所述用户密码转发给所述鉴权服务器;
所述鉴权服务器被配置为验证所述用户账号和所述用户密码为通过时,生成令牌Token并发送给所述云端游戏服务器;
所述云端游戏服务器被配置为将所述Token转发给所述客户端;
所述客户端被配置为保存所述Token,以保存所述用户账号在所述指定应用的登录状态时效。
在一个可选的实施例中,所述客户端向被配置为所述云端游戏服务器发送第一游戏的启动请求时,发送所述Token;
所述云端游戏服务器被配置为将所述用户账号和所述Token转发给所述鉴权服务器;
所述鉴权服务器被配置为验证所述用户账号和所述Token为通过时,向所述云端游戏服务器返回验证通过的第一验证结果;
所述云端游戏服务器被配置为基于所述第一验证结果启动所述第一游戏。
在一个可选的实施例中,所述云端游戏服务器还与各游戏的游戏服务器通信连接;
所述云端游戏服务器被配置为基于所述第一验证结果启动所述第一游戏之后,将所述用户账号和所述Token发送给所述第一游戏的游戏服务器,以使所述游戏服务器基于所述用户账号和所述Token验证用户有效性;
所述云端游戏服务器被配置为接收到所述第一游戏的游戏服务器返回验证通过的第二验证结果,在本地保存所述Token,以保存所述用户账号在所述第一游戏的登录状态时效。
在一个可选的实施例中,所述平台还包括管理服务器,所述管理服务器包括存储有云端游戏服务所提供的所有游戏的游戏库,所述管理服务器与所述云端游戏服务器通信连接;
所述云端游戏服务器被配置为在接收所述启动请求后,从所述游戏库获取所述第一游戏的配置信息,并基于所述配置信息启动所述第一游戏。
根据本公开实施例的第四方面,提供一种游戏运行装置,应用于云端游戏服务器,所述云端游戏服务器安装有若干游戏,所述装置包括:
启动模块,被配置为根据客户端发送的第一游戏的启动请求,启动所述第一游戏;
渲染模块,被配置为将所述第一游戏的游戏画面渲染为视频帧;
第一发送模块,被配置为将所述视频帧以视频流的方式发送给所述客户端;
第一接收模块,被配置为接收所述客户端对所述视频帧的操作指令;
第二发送模块,被配置为根据所述操作指令渲染下一帧视频帧,并发送给所述客户端。
根据本公开实施例的第五方面,提供一种游戏运行装置,应用于客户端,所述装置包括:
第一发送模块,被配置为向云端游戏服务器发送第一游戏的启动请求;
第一接收模块,被配置为接收所述云端游戏服务器发送的所述第一游戏的视频流,所述视频流包括至少一个视频帧,所述视频帧为所述云端游戏服务器根据所述第一游戏的游戏画面渲染而成;
第二发送模块,被配置为将针对所述视频帧的操作指令发送给所述云端游戏服务器;
第二接收模块,被配置为接收所述云端游戏服务器的下一帧视频帧,所述下一帧视频帧为所述云端游戏服务器根据所述操作指令渲染而成。
根据本公开实施例的第六方面,提供一种服务器,包括处理器及用于存储处理器可执行指令的存储器,所述处理器被配置为执行第一方面任意实施例中所述的游戏运行方法的步骤。
根据本公开实施例的第七方面,提供一种电子设备,包括处理器及用于存储处理器可执行指令的存储器,所述处理器被配置为执行第二方面任意实施例中所述的游戏运行方法的步骤。
根据本公开实施例的第八方面,提供一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现第一方面任意实施例中所述的游戏运行方法的步骤。
根据本公开实施例的第九方面,提供一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现第二方面任意实施例中所述的游戏运行方法的步骤。
本公开的实施例提供的技术方案可以包括以下有益效果:
本技术方案中,云端游戏服务器安装有各种游戏,用户可以通过客户端选择要玩的第一游戏,并向云端游戏服务器发送启动第一游戏的请求,云端游戏服务器接收客户端的启动请求,并启动第一游戏,云端游戏服务器将第一游戏启动后所显示的游戏画面渲染为视频帧,并以视频流的方式传送给客户端,客户端接收到视频流,用户可以根据视频流所呈现的游戏画面,在客户端上发送游戏相关的操作指令,云端游戏服务器会根据接收到的操作指令,在运行中的第一游戏中,执行对应的操作,并将执行操作后的第一游戏的画面再渲染成下一帧视频帧,发送给客户端,用户则能够在客户端上得到反馈。这样,游戏无需安装在用户的个人终端上,而是安装在云端游戏服务器,用户只需通过客户端访问云端游戏服务器,即可启动游戏,可以大大释放用户的个人终端的空间内存,并且,无需要求个人终端有较好的性能。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
为了更清楚地说明本公开实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为一示例性实施例示出的一种游戏运行方法的流程示意图。
图2为一示例性实施例示出的一种游戏运行方法的流程示意图。
图3为一示例性实施例示出的一种游戏运行方法的流程示意图。
图4为一示例性实施例示出的另一种游戏运行方法的流程示意图。
图5为一示例性实施例示出的另一种游戏运行方法的流程示意图。
图6为一示例性实施例示出的另一种游戏运行方法的流程示意图。
图7A为一示例性实施例示出的一种云端游戏平台的结构示意图。
图7B为一示例性实施例示出的一种云端游戏平台的交互流程示意图。
图8为一示例性实施例示出的一种游戏运行装置的结构示意图。
图9为一示例性实施例示出的另一种游戏运行装置的结构示意图。
图10为一示例性实施例示出的一种服务器的结构示意图。
图11为一示例性实施例示出的一种电子设备的结构示意图。
具体实施方式
下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。基于本公开中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本公开保护的范围。
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
在本公开使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本公开。在本公开和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本公开可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本公开范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
下面结合附图,对本公开的游戏运行方法、装置、设备、介质及云端游戏平台进行详细说明。在不冲突的情况下,下述的实施例及实施方式中的特征可以相互组合。
本公开提供一种游戏运行方法,所述游戏运行方法应用于云端游戏服务器,所述云端游戏服务器安装有若干游戏,用户可以通过客户端请求所述云端游戏服务器,客户端可以是智能手机、计算机、平板电脑、智能电视等设备。图1为本公开一示例性实施例示出的一种游戏运行方法的流程示意图。如图1所示,该游戏运行方法包括以下步骤101至103:
步骤101,根据客户端发送的第一游戏的启动请求,启动所述第一游戏。
在步骤101中,用户可以通过客户端选择启动第一游戏,向云端游戏服务器发送启动请求,云端游戏服务器可以接收到客户端的启动第一游戏的请求,基于启动请求启动第一游戏。
步骤102,将所述第一游戏的游戏画面渲染为视频帧,并以视频流的方式发送给所述客户端。
在步骤102中,云端游戏服务器在本地启动第一游戏后,可以将第一游戏所显示的游戏画面渲染为视频帧,以视频流的方式进行传输,对应发送给请求启动第一游戏的客户端,也就是说,客户端接收到的是第一游戏画面的视频流,并进行播放呈现给用户,而不是客户端在运行第一游戏。相较于相关技术中用户需要在客户端安装游戏并运行游戏,本公开的客户端可以不要求有较好的图形运算及数据处理能力。
步骤103,接收所述客户端对所述视频帧的操作指令,根据所述操作指令渲染下一帧视频帧,并发送给所述客户端。
在步骤103中,客户端接收到的游戏画面为视频,且可以接收到用户对视频帧进行的操作,然而,这些操作并不是在客户端上得到响应,客户端将操作指令发送给云端游戏服务器,云端游戏服务器根据接收到的操作指令,对在云端游戏服务器上运行的第一游戏执行相对应的操作。在执行相应的操作后,云端游戏服务器对第一游戏所引起变化的游戏画面再渲染成下一帧视频帧,并发送给客户端,以使客户端显示操作后的游戏画面。
在本公开一种可能的实施方式中,所述操作指令与所述视频流通过不同的传输信道传输。这样,操作指令和视频流在独立的传输信道传输,可以提高传输速度,减小云端游戏服务器响应接收的操作指令和向客户端反馈游戏画面的延时。
在本公开一种可能的实施方式中,所述操作指令与所述视频流通过高速网络传输。这样,可以进一步提高传输速度,以减小延时。
在本公开一种可能的实施方式中,在将所述视频帧发送给所述客户端之前,还包括:在所述视频帧添加虚拟手柄图标。当客户端为具有触摸屏的设备(如智能手机、平板电脑等),用户可以通过手指在触摸屏上触摸产生触摸信号,客户端接收到的操作指令为触摸信号。为了便于用户辨别在触摸屏上的哪些位置可以触发操作指令,以及可以触发哪些类型的操作指令,云端游戏服务器在将游戏画面渲染为视频帧时,在视频帧添加有虚拟手柄图标。
例如,虚拟手柄图标可以包括操作方向变换的图标;又如,虚拟手柄图标可以包括操作游戏功能的图标;又如,虚拟手柄图标可以包括操作游戏设置的图标。
在本公开一种可能的实施方式中,所述启动请求携带实体手柄连接标识,所述方法还包括:根据所述实体手柄连接标识为是否连接状态,确定是否在所述视频帧中添加虚拟手柄图标。通常地,实体手柄有具体的实体按键提示用户可以通过按键触发哪些类型的操作指令。当云端游戏服务器获取到的实体手柄连接标识为连接状态,可以在将游戏画面渲染为视频帧时,不在视频帧中添加虚拟手柄图标。当云端游戏服务器获取到的实体手柄连接标识为未连接状态,则可以在将游戏画面渲染为视频帧时,在视频帧中添加虚拟手柄图标。实体手柄可以是游戏手柄、键盘、鼠标、电视机遥控器等设备。
本示例性实施例提供的上述方法,云端游戏服务器安装有各种游戏,用户可以通过客户端选择要玩的第一游戏,并向云端游戏服务器发送启动第一游戏的请求,云端游戏服务器接收客户端的启动请求,并启动第一游戏,云端游戏服务器将第一游戏启动后所显示的游戏画面渲染为视频帧,并以视频流的方式传送给客户端,客户端接收到视频流,用户可以根据视频流所呈现的游戏画面,在客户端上发送游戏相关的操作指令,云端游戏服务器会根据接收到的操作指令,在运行中的第一游戏中,执行对应的操作,并将执行操作后的第一游戏的画面再渲染成下一帧视频帧,发送给客户端,用户则能够在客户端上得到反馈。这样,游戏无需安装在用户的个人终端上,而是安装在云端游戏服务器,用户只需通过客户端访问云端游戏服务器,即可启动游戏,可以大大释放用户的个人终端的空间内存,并且,无需要求个人终端有较好的性能。
云端游戏服务器相对于个人使用的计算机,具有较高的性能,可以快速运行计算,且负载能力较强,为了尽可能地利用云端游戏服务器,云端游戏服务器可以支持多个客户端同时访问,以及同时响应多个客户端的请求运行游戏。
在本公开一种可能的实施方式中,所述云端游戏服务器包括多个独立的内存空间,一个内存空间用于运行一个指定客户端请求启动的游戏。云端游戏服务器可以划分多个独立的内存空间,一个指定客户端使用一个内存空间,或者说,在客户端请求访问云端游戏服务器的期间内,每个内存空间只服务于一个指定客户端,云端游戏服务器在一个内存空间内响应一个指定客户端的启动请求,启动游戏。由于每个内存空间都是相对独立的,云端游戏服务器在每个内存空间内响应每个客户端的请求,可以互不影响。这样,当同时有多个客户端请求启动同一个游戏,云端游戏服务器可以分别在它们对应的内存空间内启动该游戏。
图2为本公开一示例性实施例示出的一种游戏运行方法的流程示意图,本实施例在前述实施例的基础上,针对云端游戏服务器如何给客户端分配内存空间进行一示例性说明。如图2所示,该游戏运行方法包括以下步骤201至207:
步骤201,接收客户端在指定应用内的登录信息,其中,所述登录信息为客户端的用户账号登录所述指定应用的标识,所述指定应用为提供云端游戏服务的应用。
在步骤201中,客户端可以安装有提供云端游戏服务的指定应用,客户端可以基于该指定应用与云端游戏服务器通信。用户可以通过客户端在该指定应用上注册用户账号,来获取云端游戏服务。
当用户通过客户端在指定应用内登录自己的用户账号时,客户端会向云端游戏服务器发送登录信息,登录信息可以标识该客户端的用户使用用户账号登录指定应用,登录信息可以包括用户账号,还可以包括用户IP地址、登录时间、登录状态等任意一种或多种信息,本公开不作具体限定。云端游戏服务器接收到登录信息,可以表示该用户当前处于登录状态,可以表示用户有请求云端游戏服务的意向。
在本公开一种可能的实施方式中,接收客户端的登录信息的云端游戏服务器可以是该客户端上一次请求云端游戏服务时连接使用的云端游戏服务器。
在本公开一种可能的实施方式中,接收客户端的登录信息的云端游戏服务器可以是该客户端的用户注册用户账号时所分配的固定的云端游戏服务器。
在本公开一种可能的实施方式中,接收客户端的登录信息的云端游戏服务器可以是该客户端当前所在地区的云端游戏服务器。
步骤202,检测当前是否有处于空闲状态的内存空间;如果是,执行步骤204至207;否则,执行步骤203。
在步骤202中,云端游戏服务器的多个内存空间的数量有限,或者说,云端游戏服务器可以支持提供服务的客户端的数量有限,因此,在接收到客户端的登录信息时,云端游戏服务器检测自身当前是否有处于空闲状态的内存空间,可以提供该登录信息对应的客户端进行连接使用。
步骤203,将所述登录信息发送给云端游戏服务器集群中的其他云端游戏服务器,以使其他云端游戏服务器基于所述客户端的启动请求,启动所述第一游戏。
在步骤203中,该云端游戏服务器检测到自身当前的多个内存空间均处于非空闲状态,也就是说,在接收到上述客户端的登录信息时,其多个内存空间均有其他客户端正在连接使用,无法向上述客户端提供一个空闲的内存空间以连接使用,因此,将上述客户端的登录信息转发给云端游戏服务器集群中的其他云端游戏服务器,以便其他云端游戏服务器提供服务。
应该理解的是,提供云端游戏服务的是一个云端游戏服务器集群,该云端游戏服务器集群包括多台云端游戏服务器,每台云端游戏服务器可以安装有若干游戏,可以向较大数量的客户端提供云端游戏服务。当一台云端游戏服务器的内存空间都被使用时,则转给其他云端游戏服务器提供服务。
在本公开一种可能的实施方式中,该云端游戏服务器可以将上述客户端的登录信息转发给上述客户端当前所在地区的其他云端游戏服务器。这样,可以减小其他云端游戏服务器与客户端的通信链路,减少通信延时。
在本公开一种可能的实施方式中,该云端游戏服务器在将所述登录信息发送给客户端当前所在地区的其他云端游戏服务器之前,可以先询问其他云端游戏服务器是否有处于空闲状态的内存空间。
如果有至少一个当前所在地区的其他云端游戏服务器应答有处于空闲状态的内存空间,该云端游戏服务器则将所述登录信息发送给其中一个应答的云端游戏服务器。
如果上述客户端当前所在地区的其他云端游戏服务器均没有处于空闲状态的内存空间,该云端游戏服务器可以询问与当前所在地区相邻的其他地区的云端游戏服务器,以将所述登录信息转发至相邻地区的云端游戏服务器提供服务。这样,可以尽可能地减小其他云端游戏服务器与客户端的通信链路,减少通信延时。
例如,一个北京用户通过客户端登录指定应用,客户端将该用户的登录信息发送给北京地区的其中一台云端游戏服务器,如果该云端游戏服务器当前没有空闲的内存空间,则询问北京地区的其他云端游戏服务器是否有空闲的内存空间,以优先转给北京地区的其他云端游戏服务器提供服务,如果北京地区的其他云端游戏服务器当前也没有空闲的内存空间,该云端游戏服务器则询问河北地区的云端游戏服务器是否有空闲的内存空间,以转给河北地区的云端游戏服务器提供服务。
步骤204,分配一个处于空闲状态的内存空间给所述客户端,并在所述内存空间内接收所述客户端发送的第一游戏的启动请求。
在步骤204中,该云端游戏服务器检测到自身当前有至少一个处于空闲状态的内存空间,可以分配一个空闲的内存空间给上述发送登录信息的客户端,并可以在该内存空间内提供服务,接收客户端发送的第一游戏的启动请求,以在该内存空间内启动运行第一游戏。
由于该云端游戏服务器所分配的内存空间,在此之前可能没有安装有该用户账号关联的所有游戏。在本公开一种可能的实施方式中,在确定所述客户端在所述云端游戏服务器的内存空间之后,且在启动所述第一游戏之前,还包括:在所述内存空间加载所述用户账号关联的所有游戏。云端游戏服务器在确定分配给该客户端的内存空间后,将该客户端的用户账号关联的所有游戏拉取的所分配的内存空间,并进行加载安装。这样,可以根据该客户端的启动请求,快速地启动所请求的游戏。
在本公开一种可能的实施方式中,云端游戏服务器的内存空间可以在设定时间段内保留一个用户账号关联的所有游戏,或者说,当一个用户账号被首次分配到一个内存空间进行连接使用,该用户账号断开连接使用时,云端游戏服务器不会马上卸载该用户账号所关联的所有游戏,而是在设定时间段内保留该用户账号所关联的所有游戏。这样,如果在该设定时间段内,该用户账号再次被分配到同一个内存空间,云端游戏服务器可以无需加载安装该用户账号关联的所有游戏,可以简化云端游戏服务器的处理过程,提高云端游戏服务器运行速度,并且,可以快速响应客户端,提高用户体验。
步骤205,根据客户端发送的第一游戏的启动请求,启动所述第一游戏。
步骤206,将所述第一游戏的游戏画面渲染为视频帧,并以视频流的方式发送给所述客户端。
步骤207,接收所述客户端对所述视频帧的操作指令,根据所述操作指令渲染下一帧视频帧,并发送给所述客户端。
步骤205至207同上述步骤101至103中相关技术相同,在此不再赘述。
在本公开一种可能的实施方式中,所述用户账号还可以为所述云端游戏服务所提供的所有游戏的玩家账号,也就是说,用于登录云端游戏服务应用的用户账号,还可以作为云端游戏服务所可以提供的所有游戏的玩家账号。这样,可以避免用户每玩一个游戏需要注册一个玩家账号,可以便于用户记忆、管理账号,提高用户体验。
在本公开一种可能的实施方式中,在启动所述第一游戏之前,还包括:在所述内存空间加载所述用户账号在所述第一游戏的玩家数据;所述启动所述第一游戏的步骤包括:基于所述玩家数据启动所述第一游戏。云端游戏服务器在获取到客户端发送的第一游戏的启动请求后,先加载该客户端的用户账号在第一游戏的玩家数据,例如,玩家信息、玩家装备、玩家的游戏进度等,以便云端游戏服务器启动第一游戏时,能够快速登录该玩家账号,也能够快速加载到该用户账号当前的游戏进度。
应该理解的是,当云端游戏服务器接收到客户端发送的第一游戏的退出请求时,可以保存客户端的用户账号当前的游戏数据,例如,游戏进度、游戏时长等,再退出第一游戏。
此外,当用户退出指定应用时,云端游戏服务器可以检测到与该客户端断开连接,由此,云端游戏服务器可以将分配给该客户端的内存空间的状态改为空闲状态,以使将该内存空间分配给其他待服务的客户端。
由于客户端每次被分配的云端游戏服务器、内存空间可能相同,也可能不相同,在本公开一种可能的实施方式中,所述云端服务器可以在设定时间段内在内存空间上存储客户端所加载的游戏和相关的数据。这样,如果客户端在设定时间段内再次被分配同一个内存空间,则无需再次加载该客户端的有和相关数据。如果在设定时间段内该客户端没有再次被分配到同一个内存空间,云端游戏服务器可以删除该客户端所加载的游戏和相关的数据,以释放内存空间。
可以理解的是,如果客户端在设定时间段内再次被分配同一个内存空间,向该客户端再次提供云端游戏服务,本次客户端下线时,可以重新计算设定时间段。
图2所示的示例性实施例提供的上述方法,在用户通过客户端登录云端游戏服务的应用时,云端游戏服务器即可接收到该客户端的登录信息,并为该客户端分配空闲的内存空间以后续启动运行云端游戏,如果该云端游戏服务器检测到没有空闲的内存空间,则会向云端游戏服务器集群中的其他云端游戏服务器转发该客户端的登录信息,以便其他云端游戏服务器分配空闲的内存空间提供服务。这样,在用户通过客户端登录云端游戏服务的应用时就分配确定好提供服务的云端游戏服务器和内存空间,可以减少用户在后续请求启动游戏的等待时间,提高用户体验。
本公开的云端游戏服务器,可以支持各种类型的客户端接入使用,客户端可以是智能手机、计算机、平板电脑、智能电视等。而不同类型的客户端所使用的操作系统不一定相同,可以包括但不限于以下几种:安卓(Andriod)系统、苹果(ios)系统、微软(Windows)系统等等。而云端游戏服务器所安装的各种游戏也可以有支持不同操作系统的游戏版本。
在本公开一种可能的实施方式中,所述启动请求携带客户端系统信息,所述启动所述第一游戏的步骤包括:根据所述客户端系统信息,启动与所述客户端的系统所适配的所述第一游戏的游戏版本。云端游戏服务器可以安装有游戏的多种版本,客户端发送的启动请求中可以携带有客户端系统信息,在接收客户端发送的第一游戏的启动请求时,获取客户端系统信息,基于客户端的操作系统去启动合适的第一游戏的游戏版本。这样,可以针对客户端的操作系统启动对应的游戏版本,使得渲染的视频帧也可以适配客户端的性能,提高用户体验。
例如,获取的客户端系统信息为该客户端的操作系统是Windows系统,则启动第一游戏的Windows版本;又如,获取的客户端系统信息为该客户端的操作系统是安卓系统,则可以通过安卓虚拟器启动第一游戏的安卓版本;又如,获取的客户端系统信息为该客户端的操作系统是苹果系统,则可以通过苹果虚拟器启动第一游戏的苹果版本。
然而,也有些游戏可能只支持一种游戏版本。在本公开一种可能的实施方式中,所述将所述第一游戏的游戏画面渲染为视频帧的步骤包括:根据所述客户端系统信息,将所述第一游戏的游戏画面渲染为与所述客户端的系统分辨率所适配的视频帧。这样,如果当前发送第一游戏的启动请求的客户端的操作系统与第一游戏的游戏版本所支持的系统不一致,云端游戏服务器可以根据获取的客户端系统信息,将第一游戏的游戏画面渲染为与客户端操作系统的分辨率相适配的视频帧,以适配客户端的性能,提高用户体验。
可以理解的是,客户端系统信息可以包括以下一项或多项信息:操作系统类型、客户端型号、显示屏分辨率、客户端的性能等等。
另外,有些游戏可以支持多种游戏版本,但是各个游戏版本中的玩家账号是独立的,不可以通用,例如,同一玩家账号在安卓系统、苹果系统和Windows系统的玩家信息、游戏进度是不相同的。
在本公开一种可能的实施方式中,所述启动请求携带游戏版本选择信息,所述启动所述第一游戏的步骤包括:根据所述游戏版本选择信息,启动对应的所述第一游戏的游戏版本。用户在指定应用上选择启动第一游戏时,还可以选择第一游戏的游戏版本,云端游戏服务器在接收客户端发送的第一游戏的启动请求时,获取游戏版本选择信息,基于用户的选择去启动相应游戏版本的第一游戏。
然而,用户选择的游戏版本所支持的系统可能与客户端的操作系统不一致。在本公开一种可能的实施方式中,所述启动所述第一游戏的步骤包括:根据所述游戏版本选择信息,启动对应的所述第一游戏的游戏版本;所述将所述第一游戏的游戏画面渲染为视频帧的步骤包括:根据所述客户端系统信息,将所述第一游戏的游戏画面渲染为与所述客户端的系统分辨率所适配的视频帧。这样,可以根据用户的选择启动相应游戏版本第一游戏,并根据客户端的操作系统将第一游戏的游戏画面渲染为与操作系统分辨率相适配的视频帧。这样,不仅可以满足用户的选择,还适配客户端的性能,从而提高用户体验。
图3为本公开一示例性实施例示出的一种游戏运行方法的流程示意图,本实施例在前述实施例的基础上,针对云端游戏服务器如何切换游戏进行一示例性说明。如图3所示,该游戏运行方法包括以下步骤301至304:
步骤301,根据客户端发送的第一游戏的启动请求,启动所述第一游戏。
步骤302,将所述第一游戏的游戏画面渲染为视频帧,并以视频流的方式发送给所述客户端。
步骤303,接收所述客户端对所述视频帧的操作指令,根据所述操作指令渲染下一帧视频帧,并发送给所述客户端。
步骤301至303同上述步骤101至103中相关技术相同,在此不再赘述。
步骤304,基于所接收到所述客户端发送的切换到第二游戏的切换请求,启动并切换到所述第二游戏,将所述第二游戏的游戏画面渲染为视频帧,以视频流的方式发送给所述客户端。
在步骤304中,用户可以在客户端上操作切换游戏,也就是说,用户在玩第一游戏时,可以操作切换启动玩第二游戏。基于用户的操作,云端游戏服务器可以接收到客户端发送的切换到第二游戏的切换请求,可以启动并切换到第二游戏,并将第二游戏的游戏画面渲染为视频帧,以视频流的方式发送给客户端,以使客户端向用户播放显示第二游戏的游戏画面视频,用户可以基于游戏画面视频执行相应的操作来玩第二游戏。
图3所示的示例性实施例的上述方法,云端游戏服务器可以响应用户在玩第一游戏时,选择切换第二游戏的需求,及时启动并切换第二游戏,将第二游戏的游戏画面渲染成视频帧发送给客户端,可以提高用户体验。
本公开还提供了另一种游戏运行方法,所述游戏运行应用于客户端,客户端可以是智能手机、计算机、平板电脑、智能电视等设备。图4为本公开一示例性实施例示出的一种游戏运行方法的流程示意图,本实施例在图1所示的示例性实施例的基础上进行一示例性说明。如图4所示,该游戏运行方法包括以下步骤401至404:
步骤401,向云端游戏服务器发送第一游戏的启动请求。
在步骤401中,用户可以在客户端上操作选择第一游戏,客户端基于用户的选择操作向云端游戏服务器发送启动第一游戏的请求。
步骤402,接收所述云端游戏服务器发送的所述第一游戏的视频流,所述视频流包括至少一个视频帧,所述视频帧为所述云端游戏服务器根据所述第一游戏的游戏画面渲染而成。
在步骤402中,客户端可以接收到云端游戏基于启动请求所发送的第一游戏所显示的游戏画面的视频流,并播放显示给用户。
步骤403,将针对所述视频帧的操作指令发送给所述云端游戏服务器。
在步骤403中,用户可以根据客户端显示的第一游戏的视频帧,通过触摸屏或者实体的游戏手柄来触发第一游戏相关的操作,客户端将操作指令发送给云端游戏服务器,以使云端游戏服务器可以执行操作指令,从而实现用户对第一游戏的操作。
步骤404,接收所述云端游戏服务器的下一帧视频帧,所述下一帧视频帧为所述云端游戏服务器根据所述操作指令渲染而成。
在步骤404中,客户端可以接收云端游戏服务器所反馈的针对操作指令产生变化的游戏画面对应的视频帧,以向用户显示对第一游戏的操作有效。
在本公开一种可能的实施方式中,所述操作指令与所述视频流通过不同的传输信道传输。这样,操作指令和视频流在独立的传输信道传输,可以提高传输速度,减小云端游戏服务器响应接收的操作指令和向客户端反馈游戏画面的延时。
在本公开一种可能的实施方式中,所述操作指令与所述视频流通过高速网络传输。这样,可以进一步提高传输速度,以减小延时。
由于客户端可以是如智能手机、平板电脑等具有触摸屏的设备,用户可以通过手指在触摸屏上触摸产生触摸信号,客户端接收到的操作指令为触摸信号。为了便于用户辨别在触摸屏上的哪些位置可以触发操作指令,以及可以触发哪些类型的操作指令,在本公开一种可能的实施方式中,所述视频帧包括虚拟手柄图标。
在本公开一种可能的实施方式中,所述虚拟手柄图标可以是云端游戏服务器在将游戏画面渲染为视频帧时所添加的。例如,虚拟手柄图标可以包括操作方向变换的图标;又如,虚拟手柄图标可以包括操作游戏功能的图标;又如,虚拟手柄图标可以包括操作游戏设置的图标。
在本公开另一种可能的实施方式中,所述虚拟手柄图标可以是客户端在视频帧所播放的位置上添加显示的。例如,客户端可以在播放视频帧的窗口内添加虚拟手柄图标,用户可以在播放视频帧的窗口内根据显示的虚拟手柄图标触发相应的操作,客户端接收该窗口内的触摸信号,作为操作指令发送给云端游戏服务器。又如,客户端可以在播放视频帧的窗口上叠加一个透明窗口,在透明窗口上添加虚拟手柄图标,这个透明窗口可以接收用户产生的触摸信号,作为操作指令发送给云端游戏服务器。
由于客户端还可以是其他不具有触摸屏的设备,这类型的客户端可以通过外接实体手柄来提供用户对游戏进行操作,而实体手柄可以是游戏手柄、键盘、鼠标、电视机遥控器等设备。
针对虚拟手柄图标是云端游戏服务器添加的情况,在本公开一种可能的实施方式中,所述启动请求携带实体手柄连接标识,所述方法还包括:当检测到接入实体手柄时,将所述实体手柄连接信息标记为连接状态。客户端可以将接入实体手柄的情况发送给云端游戏服务器,以使云端游戏服务器在渲染游戏画面时,不在视频帧上添加虚拟手柄的图标,以使播放的视频流画面更为简洁,从而不影响用户观看,提高用户体验。
针对虚拟手柄图标是客户端添加的情况,在本公开另一种可能的实施方式中,当客户端检测到接入实体手柄时,不在视频帧所播放的位置上添加虚拟手柄图标。例如,客户端不在播放视频帧的窗口内添加虚拟手柄图标。又如,客户端不在播放视频帧的窗口上叠加包括虚拟手柄图标的透明窗口。
图4所示的示例性实施例提供的上述方法,云端游戏服务器安装有各种游戏,用户可以通过客户端选择要玩的第一游戏,并向云端游戏服务器发送启动第一游戏的请求,云端游戏服务器接收客户端的启动请求,并启动第一游戏,云端游戏服务器将第一游戏启动后所显示的游戏画面渲染为视频帧,并以视频流的方式传送给客户端,客户端接收到视频流,用户可以根据视频流所呈现的游戏画面,在客户端上发送游戏相关的操作指令,云端游戏服务器会根据接收到的操作指令,在运行中的第一游戏中,执行对应的操作,并将执行操作后的第一游戏的画面再渲染成下一帧视频帧,发送给客户端,用户则能够在客户端上得到反馈。这样,游戏无需安装在用户的个人终端上,而是安装在云端游戏服务器,用户只需通过客户端访问云端游戏服务器,即可启动游戏,可以大大释放用户的个人终端的空间内存,并且,无需要求个人终端有较好的性能。
图5为本公开一示例性实施例示出的另一种游戏运行方法的流程示意图,本实施例在图4所示实施例的基础上,针对客户端如何被分配到云端游戏服务器的内存空间进行一示例性说明。如图5所示,该游戏运行方法包括以下步骤501至507:
步骤501,基于用户账号在指定应用内登录,并向所述云端游戏服务器发送登录信息,以使所述云端游戏服务器分配内存空间。
其中:所述用户账号为用户登录指定应用的账号,所述登录信息为客户端的用户账号登录所述指定应用的标识,所述指定应用为提供云端游戏服务的应用;所述云端游戏服务器包括多个独立的内存空间,一个内存空间用于运行一个指定客户端请求启动的游戏。
在步骤501中,客户端安装有提供云端游戏服务的应用,且可以基于用户输入的用户账号在该指定应用上登录,以获取云端游戏服务。并且,向云端游戏服务器发送登录信息,通知云端游戏服务器当前客户端所登录的用户账号处于登录状态,可以表示用户有请求云端游戏服务的意向,以使云端游戏服务器给客户端分配一个内存空间。
步骤502,在指定应用内登录之后,显示所述用户账号锁关联的所有游戏的标识,所述标识用于描述游戏的唯一性。
在步骤502中,客户端上登录用户的账号后,根据用户账号所关联的游戏,在指定应用内显示所有游戏的标识,以使用户可以根据标识选择要启动运行的游戏。例如,该标识可以是游戏名称,又如,该标识可以是游戏图标。
在本公开一种可能的实施方式中,游戏的标识链接有启动游戏的接口。这样,用户通过点击游戏的标识,可以触发客户端发送启动请求。
可以理解的是,显示所述用户账号锁关联的所有游戏的标识与并向所述云端游戏服务器发送登录信息两个步骤的执行顺序可以调换,或者可以同时执行。
步骤503,向云端游戏服务器发送第一游戏的启动请求。
步骤504,接收所述云端游戏服务器发送的所述第一游戏的视频流,所述视频流包括至少一个视频帧,所述视频帧为所述云端游戏服务器根据所述第一游戏的游戏画面渲染而成。
步骤505,将针对所述视频帧的操作指令发送给所述云端游戏服务器。
步骤506,接收所述云端游戏服务器的下一帧视频帧,所述下一帧视频帧为所述云端游戏服务器根据所述操作指令渲染而成。
步骤503至506同上述步骤401至404中相关技术相同,在此不再赘述。
在本公开一种可能的实施方式中,所述用户账号还可以为所述云端游戏服务所提供的所有游戏的玩家账号。也就是说,用于登录云端游戏服务应用的用户账号,还可以作为云端游戏服务所可以提供的所有游戏的玩家账号。这样,可以避免用户每玩一个游戏需要注册一个玩家账号,可以便于用户记忆、管理账号,提高用户体验。
在本公开一种可能的实施方式中,所述启动请求包括以下至少一种信息:客户端系统信息、游戏版本选择信息。
在本公开一种可能的实施方式中,所述游戏版本和/或所述客户端系统包括以下至少一种:安卓系统、苹果系统及Windows系统。
图6为本公开一示例性实施例示出的另一种游戏运行方法的流程示意图,本实施例在前述实施例的基础上,针对客户端如何请求切换游戏进行一示例性说明。如图6所示,该游戏运行方法包括以下步骤601至606:
步骤601,向云端游戏服务器发送第一游戏的启动请求。
步骤602,接收所述云端游戏服务器发送的所述第一游戏的视频流,所述视频流包括至少一个视频帧,所述视频帧为所述云端游戏服务器根据所述第一游戏的游戏画面渲染而成。
步骤603,将针对所述视频帧的操作指令发送给所述云端游戏服务器。
步骤604,接收所述云端游戏服务器的下一帧视频帧,所述下一帧视频帧为所述云端游戏服务器根据所述操作指令渲染而成。
步骤601至604同上述步骤401至404中相关技术相同,在此不再赘述。
步骤605,向所述云端游戏服务器发送切换到第二游戏的切换请求,以使所述云端游戏服务器启动并切换到所述第二游戏。
在步骤605中,客户端可以在指定应用内显示切换游戏功能的标识,用户选择点击该标识,可以触发客户端向云端服务器发送切换游戏的请求。如果客户端是不具有触摸屏的设备,可以通过实体手柄操作功能按键,或者通过操作按键来选择切换游戏功能的标识。用户还可以选择切换哪个游戏,客户端再将具有准确需求的切换请求发送给云端服务器,以使云端服务器切换到用户选择的游戏。
步骤606,接收所述云端游戏服务器发送的所述第二游戏的视频流。
在步骤606中,客户端发起了第二游戏的切换请求后,接收云端游戏服务器所响应的第二游戏的视频流,并进行播放显示,这样,用户可以根据视频流对第二游戏进行响应的操作。
图6所示的示例性实施例的上述方法,用户可以在通过客户端玩第一游戏时,选择切换第二游戏的需求,云端游戏服务器可以及时启动并切换第二游戏,将第二游戏的游戏画面渲染成视频帧发送给客户端,可以提高用户体验。
本公开还提供了一种云端游戏平台,图7A为本公开一示例性实施例示出的一种云端游戏平台的结构示意图,图7B为本公开一示例性实施例示出的一种云端游戏平台的交互流程示意图。如图7A所示,所述平台70包括客户端71和云端游戏服务器72,所述客户端和所述云端游戏服务器通信连接。所述客户端可以是智能手机、计算机、平板电脑、智能电视等设备,图7A以智能电视为例。如图7B所示,所述客户端71和所述云端游戏服务器72之间的交互过程包括:
所述客户端71被配置为向所述云端游戏服务器72发送第一游戏的启动请求;
所述云端游戏服务器72被配置为根据所述启动请求,启动所述第一游戏;
所述云端游戏服务器72被配置为将所述第一游戏的游戏画面渲染为视频帧,并以视频流的方式发送给所述客户端71;
所述客户端71被配置为接收所述云端游戏服务器72反馈的所述视频流,并将针对所述视频帧的操作指令发送给所述云端游戏服务器72;
所述云端游戏服务器72被配置为接收所述操作指令,根据所述操作指令渲染下一帧视频帧,并发送给所述客户端;
所述客户端71被配置为接收所述下一帧视频帧。
在本公开一种可能的实施方式中,所述云端游戏服务器包括多个内存空间,一个内存空间用于运行一个指定客户端请求启动的游戏。
在本公开一种可能的实施方式中,所述客户端被配置为在向所述云端游戏服务器发送第一游戏的启动请求之前,基于用户账号在指定应用内登录,并向所述云端游戏服务器发送登录信息,其中,所述用户账号为用户登录指定应用的账号,所述登录信息为客户端的用户账号登录所述指定应用的标识,所述指定应用为提供云端游戏服务的应用;
所述云端游戏服务器被配置为接收所述登录信息,检测当前是否有处于空闲状态的内存空间;
如果否,则将所述登录信息发送给云端游戏服务器集群中的其他云端游戏服务器,以使其他云端游戏服务器基于所述客户端的启动请求,启动所述第一游戏;
如果是,则分配一个处于空闲状态的内存空间给所述客户端,并在所述内存空间内接收所述客户端发送的第一游戏的启动请求。
在本公开一种可能的实施方式中,所述云端游戏服务器被配置为在确定所述客户端的内存空间之后,且在启动所述第一游戏之前,在所述内存空间加载所述用户账号关联的所有游戏。
在本公开一种可能的实施方式中,所述用户账号还为所述云端游戏服务所提供的所有游戏的玩家账号;
所述云端游戏服务器被配置为在启动所述第一游戏之前,在所述内存空间加载所述用户账号在所述第一游戏的玩家数据,并基于所述玩家数据启动所述第一游戏。
在本公开一种可能的实施方式中,所述平台还包括数据服务器,所述云端游戏服务器还与所述数据服务器通信连接,其中,所述数据服务器存储有各用户账号关联的所有游戏的信息以及在各个游戏中的玩家数据;
所述云端游戏服务器被配置为从所述数据服务器获取所述用户账号关联的所有游戏的信息,并在所述内存空间加载所述用户账号关联的所有游戏。
云端游戏平台具有独立的数据服务器来存储注册用户所关联的所有游戏的信息和各注册用户在各游戏中的玩家数据,这样,云端游戏服务器向数据服务器拉取客户端登录的用户账号所关联的游戏和玩家数据,以向客户端提供云端游戏服务。这样,数据服务器专用于存储各用户账号关联的所有游戏的信息以及在各个游戏中的玩家数据,云端游戏服务器专用于向客户端提供云端游戏服务,可以明确云端游戏平台的各服务器的分工,可以无需占用云端游戏服务器的存储空间,以提高运行速度,从而提高用户体验。
在本公开一种可能的实施方式中,所述云端游戏服务器被配置为接收到所述客户端的退出游戏指令时,将所述用户账号在所述第一游戏的当前玩家数据存储于本地并发送给所述数据服务器,基于所述退出游戏指令关闭所述第一游戏;
所述数据服务器被配置为接收所述当前玩家数据,并将所述用户账号在所述第一游戏的玩家数据更新为所述当前玩家数据。
当客户端发送退出游戏指令时,云端游戏服务器可以及时存储当前玩家数据并同步发送给数据服务器备份,能够提高数据的完整性。
在本公开一种可能的实施方式中,所述云端游戏服务器还与所述第一游戏的游戏服务器通信连接,所述云端游戏服务器被配置为将所述用户账号在所述第一游戏的当前玩家数据发送给所述第一游戏的游戏服务器,以使所述第一游戏的游戏服务器同步所述用户账号的当前玩家数据。
在本公开一种可能的实施方式中,所述启动请求携带客户端系统信息,所述云端游戏服务器被配置为根据所述客户端系统信息,启动与所述客户端的系统所适配的所述第一游戏的游戏版本。
在本公开一种可能的实施方式中,所述启动请求携带客户端系统信息,所述云端游戏服务器被配置为根据所述客户端系统信息,将所述第一游戏的游戏画面渲染为与所述客户端的系统分辨率所适配的视频帧。
在本公开一种可能的实施方式中,所述启动请求携带游戏版本选择信息,所述云端游戏服务器被配置为根据所述游戏版本选择信息,启动对应的所述第一游戏的游戏版本。
在本公开一种可能的实施方式中,所述启动请求携带客户端系统信息和游戏版本选择信息,所述云端游戏服务器被配置为根据所述游戏版本选择信息,启动对应的所述第一游戏的游戏版本;根据所述客户端系统信息,将所述第一游戏的游戏画面渲染为与所述客户端的系统分辨率所适配的视频帧。
在本公开一种可能的实施方式中,所述云端游戏服务器安装的游戏版本和/或所述客户端的系统包括以下至少一种:安卓系统、苹果系统及Windows系统。
在本公开一种可能的实施方式中,所述启动请求携带实体手柄连接信息,所述云端游戏服务器被配置为根据所述实体手柄连接标识为是否连接状态,确定是否在所述视频帧中添加虚拟手柄图标。
当用户通过客户端登录指定应用时,需要云端游戏服务的鉴权。在本公开一种可能的实施方式中,所述平台还包括鉴权服务器,所述鉴权服务器与所述云端游戏服务器通信连接,
所述客户端被配置为在发送第一游戏的启动请求之前,基于用户账号和用户密码在指定应用内登录,并将所述用户账号和所述用户密码发送给所述云端游戏服务器,其中,所述指定应用为提供云端游戏服务的应用;
所述云端游戏服务器被配置为将所述用户账号和所述用户密码转发给所述鉴权服务器;
所述鉴权服务器被配置为验证所述用户账号和所述用户密码为通过时,生成令牌Token并发送给所述云端游戏服务器;
所述云端游戏服务器被配置为将所述Token转发给所述客户端;
所述客户端被配置为保存所述Token,以保存所述用户账号在所述指定应用的登录状态时效。
这样,用户在下一次打开客户端的指定应用,无需重新输入用户账号及用户密码,实现自动登录,提高用户体验。
在本公开一种可能的实施方式中,所述客户端被配置为向所述云端游戏服务器发送第一游戏的启动请求时,发送所述Token;
所述云端游戏服务器被配置为将所述用户账号和所述Token转发给所述鉴权服务器;
所述鉴权服务器被配置为验证所述用户账号和所述Token为通过时,向所述云端游戏服务器返回验证通过的第一验证结果;
所述云端游戏服务器被配置为基于所述第一验证结果启动所述第一游戏。
这样,可以保持用户账号的身份验证,使得用户账号所在客户端发送的请求都可以提供验证,云端游戏服务器基于验证通过响应客户端的请求。
在本公开一种可能的实施方式中,所述云端游戏服务器还与各游戏的游戏服务器通信连接;
所述云端游戏服务器被配置为基于所述第一验证结果启动所述第一游戏之后,将所述用户账号和所述Token发送给所述第一游戏的游戏服务器,以使所述游戏服务器基于所述用户账号和所述Token验证用户有效性;
所述云端游戏服务器被配置为接收到所述第一游戏的游戏服务器返回验证通过的第二验证结果,在本地保存所述Token,以保存所述用户账号在所述第一游戏的登录状态时效。
这样,用户在下一次请求启动第一游戏时,可以实现自动登录,提高用户体验。
在本公开一种可能的实施方式中,所述平台还包括管理服务器,所述管理服务器包括存储有云端游戏服务所提供的所有游戏的游戏库,所述管理服务器与所述云端游戏服务器通信连接;
所述云端游戏服务器被配置为在接收所述启动请求后,从所述游戏库获取所述第一游戏的配置信息,并基于所述配置信息启动所述第一游戏。
这样,将云端游戏平台所提供的所有游戏的配置信息存储于管理服务器,当客户端向云端游戏服务器请求启动第一游戏时,云端游戏服务器向管理服务器获取第一游戏的配置信息并启动,可以大大释放云端游戏服务器的内存空间,从而提高运行速度。
在本公开一种可能的实施方式中,所述管理服务器还与所述客户端通信连接,所述管理服务器包括内容管理系统,
所述管理服务器被配置为获取所述客户端所关联的用户账号的用户行为信息,根据所述用户行为信息向所述用户账号推送游戏推荐信息。
也就是说,管理服务器还能根据用户账号在指定应用上的用户行为信息,如常玩的游戏、游戏时长,根据这些信息向该用户账号推送相关或者相似类型的游戏,显示在指定应用上,以使用户有兴趣请求启动相关的游戏。
本公开还提供了一种游戏运行装置,图8为本公开一示例性实施例示出的一种游戏运行装置的结构示意图。该游戏运行装置应用于云端游戏服务器,所述云端游戏服务器安装有若干游戏,如图8所示,该游戏运行装置80包括:
启动模块810,被配置为根据客户端发送的第一游戏的启动请求,启动所述第一游戏;
渲染模块820,被配置为将所述第一游戏的游戏画面渲染为视频帧;
第一发送模块820,将所述视频帧以视频流的方式发送给所述客户端;
第一接收模块830,被配置为接收所述客户端对所述视频帧的操作指令;
第二发送模块840,被配置为根据所述操作指令渲染下一帧视频帧,并发送给所述客户端。
在本公开一示例性实施例中,所述操作指令与所述视频流通过不同的传输信道传输。
在本公开一示例性实施例中,所述云端游戏服务器包括多个独立的内存空间,一个内存空间用于运行一个指定客户端请求启动的游戏。
在本公开一示例性实施例中,所述装置还包括:
第二接收模块,被配置为在根据客户端发送的第一游戏的启动请求,启动所述第一游戏之前,接收客户端在指定应用内的登录信息,其中,所述登录信息为客户端的用户账号登录所述指定应用的标识,所述指定应用为提供云端游戏服务的应用;
检测模块,被配置为检测当前是否有处于空闲状态的内存空间;
第三发送模块,被配置为如果否,则将所述登录信息发送给云端游戏服务器集群中的其他云端游戏服务器,以使其他云端游戏服务器基于所述客户端的启动请求,启动所述第一游戏;
分配模块,被配置为如果是,则分配一个处于空闲状态的内存空间给所述客户端;
第三接收模块,被配置为在所述内存空间内接收所述客户端发送的第一游戏的启动请求。
在本公开一示例性实施例中,所述登录信息包括用户账号,所述装置还包括:
第一加载模块,被配置为在确定所述客户端在所述云端游戏服务器的内存空间之后,且在启动所述第一游戏之前,在所述内存空间加载所述用户账号关联的所有游戏。
在本公开一示例性实施例中,所述用户账号还为所述云端游戏服务所提供的所有游戏的玩家账号,所述装置还包括:
第二加载模块,被配置为在启动所述第一游戏之前,在所述内存空间加载所述用户账号在所述第一游戏的玩家数据;
所述启动模块被配置为基于所述玩家数据启动所述第一游戏。
在本公开一示例性实施例中,所述启动请求携带客户端系统信息,
所述启动模块被配置为根据所述客户端系统信息,启动与所述客户端的系统所适配的所述第一游戏的游戏版本。
在本公开一示例性实施例中,所述启动请求携带客户端系统信息,
所述渲染模块被配置为根据所述客户端系统信息,将所述第一游戏的游戏画面渲染为与所述客户端的系统分辨率所适配的视频帧。
在本公开一示例性实施例中,所述启动请求携带游戏版本选择信息,
所述启动模块被配置为根据所述游戏版本选择信息,启动对应的所述第一游戏的游戏版本。
在本公开一示例性实施例中,所述启动请求携带客户端系统信息和游戏版本选择信息,
所述启动模块被配置为根据所述游戏版本选择信息,启动对应的所述第一游戏的游戏版本;
所述渲染模块被配置为根据所述客户端系统信息,将所述第一游戏的游戏画面渲染为与所述客户端的系统分辨率所适配的视频帧。
在本公开一示例性实施例中,所述游戏版本和/或所述客户端系统包括以下至少一种:安卓系统、苹果系统及Windows系统。
在本公开一示例性实施例中,所述启动请求携带实体手柄连接标识,所述装置还包括:
添加模块,被配置为根据所述实体手柄连接标识为是否连接状态,确定是否在所述视频帧中添加虚拟手柄图标。
在本公开一示例性实施例中,所述装置还包括切换模块,
所述启动模块被配置为基于所接收到所述客户端发送的切换到第二游戏的切换请求,启动所述第二游戏;
所述切换模块被配置为切换到所述第二游戏;
所述渲染模块被配置为将所述第二游戏的游戏画面渲染为视频帧;
所述第一发送模块被配置为将所述视频帧以视频流的方式发送给所述客户端。
本公开还提供了另一种游戏运行装置,图9为本公开一示例性实施例示出的另一种游戏运行装置的结构示意图。该游戏运行装置应用于客户端,如图9所示,该游戏运行装置90包括:
第一发送模块910,被配置为向云端游戏服务器发送第一游戏的启动请求;
第一接收模块920,被配置为接收所述云端游戏服务器发送的所述第一游戏的视频流,所述视频流包括至少一个视频帧,所述视频帧为所述云端游戏服务器根据所述第一游戏的游戏画面渲染而成;
第二发送模块930,被配置为将针对所述视频帧的操作指令发送给所述云端游戏服务器;
第二接收模块940,被配置为接收所述云端游戏服务器的下一帧视频帧,所述下一帧视频帧为所述云端游戏服务器根据所述操作指令渲染而成。
在本公开一示例性实施例中,所述操作指令与所述视频流通过不同的传输信道传输。
在本公开一示例性实施例中,所述装置还包括:
登录模块,被配置为在向云端游戏服务器发送第一游戏的启动请求之前,基于用户账号在指定应用内登录
第三发送模块,被配置为向所述云端游戏服务器发送登录信息,以使所述云端游戏服务器分配内存空间,其中:
所述用户账号为用户登录指定应用的账号,所述登录信息为客户端的用户账号登录所述指定应用的标识,所述指定应用为提供云端游戏服务的应用;
所述云端游戏服务器包括多个独立的内存空间,一个内存空间用于运行一个指定客户端请求启动的游戏。
在本公开一示例性实施例中,所述装置还包括:
显示模块,被配置为在指定应用内登录之后,显示所述用户账号锁关联的所有游戏的标识,所述标识用于描述游戏的唯一性。
在本公开一示例性实施例中,所述用户账号还为所述云端游戏服务所提供的所有游戏的玩家账号。
在本公开一示例性实施例中,所述启动请求包括以下至少一种信息:客户端系统信息、游戏版本选择信息。
在本公开一示例性实施例中,所述游戏版本和/或所述客户端系统包括以下至少一种:安卓系统、苹果系统及Windows系统。
在本公开一示例性实施例中,所述视频帧包括虚拟手柄图标。
在本公开一示例性实施例中,所述启动请求包括实体手柄连接标识,所述装置还包括:
标记模块,被配置为当检测到接入实体手柄时,将所述实体手柄连接信息标记为连接状态。
在本公开一示例性实施例中,所述装置还包括:
第四发送模块,被配置为向所述云端游戏服务器发送切换到第二游戏的切换请求,以使所述云端游戏服务器启动并切换到所述第二游戏;
第三接收模块,被配置为接收所述云端游戏服务器发送的所述第二游戏的视频流。
关于上述各示例性实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的示例性实施例中进行了详细的描述,此处将不作详细阐述说明。
本公开还提供了一种服务器,图10为本公开一示例性实施例示出的一种服务器的结构示意图。如图10所示,根据一示例性实施例示出的一种游戏运行装置100,例如,装置100可以被提供为一服务器,例如,云端游戏服务器。参照图10,装置100包括处理组件1022,其进一步包括一个或多个处理器,以及由存储器1032所代表的存储器资源,用于存储可由处理组件1022的执行的指令,例如应用程序。存储器1032中存储的应用程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,处理组件1022被配置为执行指令,以执行上述应用于线上购物系统的服务器的游戏运行方法。
装置100还可以包括一个电源组件1026被配置为执行装置100的电源管理,一个有线或无线网络接口1050被配置为将装置100连接到网络,和一个输入输出(I/O)接口1058。装置100可以操作基于存储在存储器1032的操作系统,例如Android、IOS、WindowsServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM或类似。
其中,当所述存储器1332中的指令由所述处理组件1022执行时,使得装置100能够执行一种游戏运行的方法,包括:
根据客户端发送的第一游戏的启动请求,启动所述第一游戏;
将所述第一游戏的游戏画面渲染为视频帧,并以视频流的方式发送给所述客户端;
接收所述客户端对所述视频帧的操作指令,根据所述操作指令渲染下一帧视频帧,并发送给所述客户端。
本公开还提供了一种电子设备,图11为本公开一示例性实施例示出的一种电子设备的结构示意图。如图11所示,根据一示例性实施例示出的一种游戏运行装置110,例如,装置110可以被提供为一电子设备,该电子设备可以是智能手机、计算机、平板电脑、智能电视等终端。
参照图11,装置110可以包括以下一个或多个组件:处理组件1101,存储器1102,电源组件1103,多媒体组件1104,音频组件1105,输入/输出(I/O)的接口1106,传感器组件1107,以及通信组件1108。
处理组件1101通常控制装置110的整体操作,诸如与显示,电话呼叫,数据通信,相机操作和记录操作相关联的操作。处理组件1101可以包括一个或多个处理器1109来执行指令,以完成上述的方法的全部或部分步骤。此外,处理组件1101可以包括一个或多个模块,便于处理组件1101和其它组件之间的交互。例如,处理部件1101可以包括多媒体模块,以方便多媒体组件1104和处理组件1101之间的交互。
存储器1102被配置为存储各种类型的数据以支持在装置110的操作。这些数据的示例包括用于在装置110上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。存储器1102可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
电源组件1103为装置110的各种组件提供电力。电源组件1103可以包括电源管理系统,一个或多个电源,及其它与为装置110生成、管理和分配电力相关联的组件。
多媒体组件1104包括在所述装置110和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件1104包括一个前置摄像头和/或后置摄像头。当装置110处于操作模式,如拍摄模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是一个固定的光学透镜系统或具有焦距和光学变焦能力。
音频组件1105被配置为输出和/或输入音频信号。例如,音频组件1105包括一个麦克风(MIC),当装置110处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器1102或经由通信组件1108发送。在一些实施例中,音频组件1105还包括一个扬声器,用于输出音频信号。
I/O接口1102为处理组件1101和外围接口模块之间提供接口,上述外围接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。
传感器组件1107包括一个或多个传感器,用于为装置110提供各个方面的状态评估。例如,传感器组件1107可以检测到装置110的打开/关闭状态,组件的相对定位,例如所述组件为装置110的显示器和小键盘,传感器组件1107还可以检测装置110或装置110一个组件的位置改变,用户与装置110接触的存在或不存在,装置110方位或加速/减速和装置110的温度变化。传感器组件1107可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件1107还可以包括光传感器,如CMOS或CCD图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件1107还可以包括加速度传感器,陀螺仪传感器,磁传感器,压力传感器或温度传感器。
通信组件1108被配置为便于装置110和其它设备之间有线或无线方式的通信。装置110可以接入基于通信标准的无线网络,如WiFi、2G、3G、4G、5G以及更多代的移动通信,或它们的组合。在一个示例性实施例中,通信组件1108经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信组件1108还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其它技术来实现。
在示例性实施例中,装置110可以被一个或多个应用专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其它电子元件实现,用于执行上述方法。
在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括指令的存储器112,上述指令可由装置110的处理器1109执行以完成上述方法。例如,所述非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
其中,当所述存储介质中的指令由所述处理器执行时,使得装置110能够执行另一种游戏运行方法,包括:
向云端游戏服务器发送第一游戏的启动请求;
接收所述云端游戏服务器发送的所述第一游戏的视频流,所述视频流包括至少一个视频帧,所述视频帧为所述云端游戏服务器根据所述第一游戏的游戏画面渲染而成;
将针对所述视频帧的操作指令发送给所述云端游戏服务器;
接收所述云端游戏服务器的下一帧视频帧,所述下一帧视频帧为所述云端游戏服务器根据所述操作指令渲染而成。
本公开还提供了一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现以下步骤:
根据客户端发送的第一游戏的启动请求,启动所述第一游戏;
将所述第一游戏的游戏画面渲染为视频帧,并以视频流的方式发送给所述客户端;
接收所述客户端对所述视频帧的操作指令,根据所述操作指令渲染下一帧视频帧,并发送给所述客户端。
本公开还提供了另一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现以下步骤:
向云端游戏服务器发送第一游戏的启动请求;
接收所述云端游戏服务器发送的所述第一游戏的视频流,所述视频流包括至少一个视频帧,所述视频帧为所述云端游戏服务器根据所述第一游戏的游戏画面渲染而成;
将针对所述视频帧的操作指令发送给所述云端游戏服务器;
接收所述云端游戏服务器的下一帧视频帧,所述下一帧视频帧为所述云端游戏服务器根据所述操作指令渲染而成。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本公开方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
上述对本公开特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
本领域技术人员在考虑说明书及实践这里申请的发明后,将容易想到本公开的其它实施方案。本公开旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未申请的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。
以上所述仅为本公开的较佳实施例而已,并不用以限制本公开,凡在本公开的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本公开保护的范围之内。
Claims (26)
1.一种游戏运行方法,其特征在于,应用于云端游戏服务器,所述云端游戏服务器安装有若干游戏,所述方法包括:
根据客户端发送的第一游戏的启动请求,启动所述第一游戏;
将所述第一游戏的游戏画面渲染为视频帧,并以视频流的方式发送给所述客户端;
接收所述客户端对所述视频帧的操作指令,根据所述操作指令渲染下一帧视频帧,并发送给所述客户端。
2.根据权利要求1所述的游戏运行方法,其特征在于,所述操作指令与所述视频流通过不同的传输信道传输。
3.根据权利要求1所述的游戏运行方法,其特征在于,所述云端游戏服务器包括多个独立的内存空间,一个内存空间用于运行一个指定客户端请求启动的游戏。
4.根据权利要求3所述的游戏运行方法,其特征在于,在根据客户端发送的第一游戏的启动请求,启动所述第一游戏之前,还包括:
接收客户端在指定应用内的登录信息,其中,所述登录信息为客户端的用户账号登录所述指定应用的标识,所述指定应用为提供云端游戏服务的应用;
检测当前是否有处于空闲状态的内存空间;
如果否,则将所述登录信息发送给云端游戏服务器集群中的其他云端游戏服务器,以使其他云端游戏服务器基于所述客户端的启动请求,启动所述第一游戏;
如果是,则分配一个内存空间给所述客户端,并在所述内存空间内接收所述客户端发送的第一游戏的启动请求。
5.根据权利要求4所述的游戏运行方法,其特征在于,所述登录信息包括用户账号,在确定所述客户端在所述云端游戏服务器的内存空间之后,且在启动所述第一游戏之前,还包括:
在所述内存空间加载所述用户账号关联的所有游戏。
6.根据权利要求5所述的游戏运行方法,其特征在于,所述用户账号还为所述云端游戏服务所提供的所有游戏的玩家账号,在启动所述第一游戏之前,还包括:
在所述内存空间加载所述用户账号在所述第一游戏的玩家数据;
所述启动所述第一游戏的步骤包括:
基于所述玩家数据启动所述第一游戏。
7.根据权利要求1所述的游戏运行方法,其特征在于,所述启动请求携带客户端系统信息,所述启动所述第一游戏的步骤包括:
根据所述客户端系统信息,启动与所述客户端的系统所适配的所述第一游戏的游戏版本。
8.根据权利要求1所述的游戏运行方法,其特征在于,所述启动请求携带客户端系统信息,所述将所述第一游戏的游戏画面渲染为视频帧的步骤包括:
根据所述客户端系统信息,将所述第一游戏的游戏画面渲染为与所述客户端的系统分辨率所适配的视频帧。
9.根据权利要求1所述的游戏运行方法,其特征在于,所述启动请求携带游戏版本选择信息,所述启动所述第一游戏的步骤包括:
根据所述游戏版本选择信息,启动对应的所述第一游戏的游戏版本。
10.根据权利要求1所述的游戏运行方法,其特征在于,所述启动请求携带客户端系统信息和游戏版本选择信息,所述启动所述第一游戏的步骤包括:
根据所述游戏版本选择信息,启动对应的所述第一游戏的游戏版本;
所述将所述第一游戏的游戏画面渲染为视频帧的步骤包括:
根据所述客户端系统信息,将所述第一游戏的游戏画面渲染为与所述客户端的系统分辨率所适配的视频帧。
11.根据权利要求1所述的游戏运行方法,其特征在于,所述启动请求携带实体手柄连接标识,所述方法还包括:
根据所述实体手柄连接标识为是否连接状态,确定是否在所述视频帧中添加虚拟手柄图标。
12.根据权利要求1所述的游戏运行方法,其特征在于,所述方法还包括:
基于所接收到所述客户端发送的切换到第二游戏的切换请求,启动并切换到所述第二游戏,将所述第二游戏的游戏画面渲染为视频帧,以视频流的方式发送给所述客户端。
13.一种游戏运行方法,其特征在于,应用于客户端,所述方法包括:
向云端游戏服务器发送第一游戏的启动请求;
接收所述云端游戏服务器发送的所述第一游戏的视频流,所述视频流包括至少一个视频帧,所述视频帧为所述云端游戏服务器根据所述第一游戏的游戏画面渲染而成;
将针对所述视频帧的操作指令发送给所述云端游戏服务器;
接收所述云端游戏服务器的下一帧视频帧,所述下一帧视频帧为所述云端游戏服务器根据所述操作指令渲染而成。
14.根据权利要求13所述的游戏运行方法,其特征在于,所述操作指令与所述视频流通过不同的传输信道传输。
15.根据权利要求13所述的游戏运行方法,其特征在于,在向云端游戏服务器发送第一游戏的启动请求之前,包括:
基于用户账号在指定应用内登录,并向所述云端游戏服务器发送登录信息,以使所述云端游戏服务器分配内存空间,其中:
所述用户账号为用户登录指定应用的账号,所述登录信息为客户端的用户账号登录所述指定应用的标识,所述指定应用为提供云端游戏服务的应用;
所述云端游戏服务器包括多个独立的内存空间,一个内存空间用于运行一个指定客户端请求启动的游戏。
16.根据权利要求15所述的游戏运行方法,其特征在于,在指定应用内登录之后,还包括:
显示所述用户账号锁关联的所有游戏的标识,所述标识用于描述游戏的唯一性。
17.根据权利要求15所述的游戏运行方法,其特征在于,所述用户账号还为所述云端游戏服务所提供的所有游戏的玩家账号。
18.根据权利要求13所述的游戏运行方法,其特征在于,所述视频帧包括虚拟手柄图标。
19.根据权利要求13所述的游戏运行方法,其特征在于,所述启动请求包括实体手柄连接标识,所述方法还包括:
当检测到接入实体手柄时,将所述实体手柄连接信息标记为连接状态。
20.根据权利要求13所述的游戏运行方法,其特征在于,所述方法还包括:
向所述云端游戏服务器发送切换到第二游戏的切换请求,以使所述云端游戏服务器启动并切换到所述第二游戏;
接收所述云端游戏服务器发送的所述第二游戏的视频流。
21.一种游戏运行装置,其特征在于,应用于云端游戏服务器,所述云端游戏服务器安装有若干游戏,所述装置包括:
启动模块,被配置为根据客户端发送的第一游戏的启动请求,启动所述第一游戏;
渲染模块,被配置为将所述第一游戏的游戏画面渲染为视频帧;
第一发送模块,被配置为将所述视频帧以视频流的方式发送给所述客户端;
第一接收模块,被配置为接收所述客户端对所述视频帧的操作指令;
第二发送模块,被配置为根据所述操作指令渲染下一帧视频帧,并发送给所述客户端。
22.一种游戏运行装置,其特征在于,应用于客户端,所述装置包括:
第一发送模块,被配置为向云端游戏服务器发送第一游戏的启动请求;
第一接收模块,被配置为接收所述云端游戏服务器发送的所述第一游戏的视频流,所述视频流包括至少一个视频帧,所述视频帧为所述云端游戏服务器根据所述第一游戏的游戏画面渲染而成;
第二发送模块,被配置为将针对所述视频帧的操作指令发送给所述云端游戏服务器;
第二接收模块,被配置为接收所述云端游戏服务器的下一帧视频帧,所述下一帧视频帧为所述云端游戏服务器根据所述操作指令渲染而成。
23.一种服务器,包括处理器及用于存储处理器可执行指令的存储器,其特征在于,所述处理器被配置为执行权利要求1至12任一项中所述的游戏运行方法的步骤。
24.一种电子设备,包括处理器及用于存储处理器可执行指令的存储器,其特征在于,所述处理器被配置为执行权利要求13至20任一项中所述的游戏运行方法的步骤。
25.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现权利要求1至12任一项中所述的游戏运行方法的步骤。
26.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现权利要求13至20任一项中所述的游戏运行方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010006310.XA CN111214828A (zh) | 2020-01-03 | 2020-01-03 | 游戏运行方法、装置、设备、介质及云端游戏平台 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010006310.XA CN111214828A (zh) | 2020-01-03 | 2020-01-03 | 游戏运行方法、装置、设备、介质及云端游戏平台 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111214828A true CN111214828A (zh) | 2020-06-02 |
Family
ID=70829448
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010006310.XA Pending CN111214828A (zh) | 2020-01-03 | 2020-01-03 | 游戏运行方法、装置、设备、介质及云端游戏平台 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111214828A (zh) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111782299A (zh) * | 2020-07-03 | 2020-10-16 | 珠海金山网络游戏科技有限公司 | 一种游戏接入方法及装置 |
CN111797024A (zh) * | 2020-07-16 | 2020-10-20 | 网易(杭州)网络有限公司 | 游戏测试方法、装置、系统、电子设备及存储介质 |
CN111970573A (zh) * | 2020-07-27 | 2020-11-20 | 西安万像电子科技有限公司 | 云游戏方法和系统 |
CN112272301A (zh) * | 2020-09-23 | 2021-01-26 | 西安万像电子科技有限公司 | 一种数据处理方法、装置、系统、设备及存储介质 |
CN112954020A (zh) * | 2021-01-28 | 2021-06-11 | 广州虎牙科技有限公司 | 游戏控制方法、装置、电子设备和计算机可读存储介质 |
CN113730919A (zh) * | 2021-09-10 | 2021-12-03 | 北京百度网讯科技有限公司 | 云应用预启动方法、装置、设备、存储介质以及程序产品 |
WO2022042004A1 (zh) * | 2020-08-28 | 2022-03-03 | 腾讯科技(深圳)有限公司 | 一种数据处理方法、装置及存储介质 |
CN114268626A (zh) * | 2020-09-16 | 2022-04-01 | 阿里巴巴集团控股有限公司 | 窗口处理系统、方法以及装置 |
WO2023029900A1 (zh) * | 2021-08-31 | 2023-03-09 | 腾讯科技(深圳)有限公司 | 视频帧的渲染方法、装置、设备以及存储介质 |
WO2024055865A1 (zh) * | 2022-09-16 | 2024-03-21 | 腾讯科技(深圳)有限公司 | 任务平台的展示方法、装置、设备及计算机程序产品 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103023872A (zh) * | 2012-11-16 | 2013-04-03 | 杭州顺网科技股份有限公司 | 一种云游戏服务平台 |
CN108066986A (zh) * | 2017-10-26 | 2018-05-25 | 咪咕互动娱乐有限公司 | 一种流媒体确定方法及装置和存储介质 |
CN110221878A (zh) * | 2019-06-17 | 2019-09-10 | 北京金山安全软件有限公司 | 一种游戏服务的更新方法、装置、电子设备及存储介质 |
CN110227260A (zh) * | 2019-08-07 | 2019-09-13 | 南昌黑鲨科技有限公司 | 云游戏加速方法、装置、可读存储介质及计算机设备 |
CN110227259A (zh) * | 2018-03-06 | 2019-09-13 | 华为技术有限公司 | 一种数据处理的方法、装置、服务器和系统 |
CN110368686A (zh) * | 2019-07-03 | 2019-10-25 | 上海闻泰信息技术有限公司 | 云游戏实现方法、装置、云端服务器、终端及介质 |
-
2020
- 2020-01-03 CN CN202010006310.XA patent/CN111214828A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103023872A (zh) * | 2012-11-16 | 2013-04-03 | 杭州顺网科技股份有限公司 | 一种云游戏服务平台 |
CN108066986A (zh) * | 2017-10-26 | 2018-05-25 | 咪咕互动娱乐有限公司 | 一种流媒体确定方法及装置和存储介质 |
CN110227259A (zh) * | 2018-03-06 | 2019-09-13 | 华为技术有限公司 | 一种数据处理的方法、装置、服务器和系统 |
CN110221878A (zh) * | 2019-06-17 | 2019-09-10 | 北京金山安全软件有限公司 | 一种游戏服务的更新方法、装置、电子设备及存储介质 |
CN110368686A (zh) * | 2019-07-03 | 2019-10-25 | 上海闻泰信息技术有限公司 | 云游戏实现方法、装置、云端服务器、终端及介质 |
CN110227260A (zh) * | 2019-08-07 | 2019-09-13 | 南昌黑鲨科技有限公司 | 云游戏加速方法、装置、可读存储介质及计算机设备 |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111782299A (zh) * | 2020-07-03 | 2020-10-16 | 珠海金山网络游戏科技有限公司 | 一种游戏接入方法及装置 |
CN111797024A (zh) * | 2020-07-16 | 2020-10-20 | 网易(杭州)网络有限公司 | 游戏测试方法、装置、系统、电子设备及存储介质 |
CN111970573A (zh) * | 2020-07-27 | 2020-11-20 | 西安万像电子科技有限公司 | 云游戏方法和系统 |
WO2022042004A1 (zh) * | 2020-08-28 | 2022-03-03 | 腾讯科技(深圳)有限公司 | 一种数据处理方法、装置及存储介质 |
CN114268626A (zh) * | 2020-09-16 | 2022-04-01 | 阿里巴巴集团控股有限公司 | 窗口处理系统、方法以及装置 |
CN112272301A (zh) * | 2020-09-23 | 2021-01-26 | 西安万像电子科技有限公司 | 一种数据处理方法、装置、系统、设备及存储介质 |
CN112954020A (zh) * | 2021-01-28 | 2021-06-11 | 广州虎牙科技有限公司 | 游戏控制方法、装置、电子设备和计算机可读存储介质 |
WO2023029900A1 (zh) * | 2021-08-31 | 2023-03-09 | 腾讯科技(深圳)有限公司 | 视频帧的渲染方法、装置、设备以及存储介质 |
CN113730919A (zh) * | 2021-09-10 | 2021-12-03 | 北京百度网讯科技有限公司 | 云应用预启动方法、装置、设备、存储介质以及程序产品 |
CN113730919B (zh) * | 2021-09-10 | 2024-01-09 | 北京百度网讯科技有限公司 | 云应用预启动方法、装置、设备、存储介质以及程序产品 |
WO2024055865A1 (zh) * | 2022-09-16 | 2024-03-21 | 腾讯科技(深圳)有限公司 | 任务平台的展示方法、装置、设备及计算机程序产品 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111214828A (zh) | 游戏运行方法、装置、设备、介质及云端游戏平台 | |
WO2022007513A1 (zh) | 一种视频投放方法、装置、设备及存储介质 | |
JP6324495B2 (ja) | チャットインターフェースでのゲーム実現の方法、装置および端末機器 | |
US20170155958A1 (en) | Method, Apparatus and System for Playing Multimedia Data, and Storage Medium | |
CN107526591B (zh) | 切换直播间类型的方法和装置 | |
CN112169320B (zh) | 应用程序的启动及存档方法、装置、设备及存储介质 | |
CN113032030A (zh) | 相机启动方法、装置、终端设备和存储介质 | |
CN113099262B (zh) | 信息展示方法、装置、电子设备及存储介质 | |
CN111641839B (zh) | 直播方法、装置、电子设备及存储介质 | |
CN109922098B (zh) | 一种内容分享方法、装置以及用于内容分享的装置 | |
US20220159336A1 (en) | Method and system for displaying screen | |
CN105912204B (zh) | 启动应用界面的方法及装置 | |
CN107272896B (zh) | Vr模式与非vr模式之间切换的方法及装置 | |
CN106775624B (zh) | 应用显示顺序的确定方法及装置 | |
CN109819341B (zh) | 视频播放方法、装置、计算设备及存储介质 | |
CN114189542A (zh) | 互动控制方法及设备 | |
CN114210071A (zh) | 游戏直播的显示方法和装置、存储介质及电子设备 | |
CN112333518B (zh) | 用于视频的功能配置方法、装置及电子设备 | |
CN110913276A (zh) | 数据处理的方法、装置、服务器、终端及存储介质 | |
CN112905096B (zh) | 显示控制方法、装置、终端设备及存储介质 | |
KR20230043030A (ko) | 게임 생방송 인터랙티브 방법, 장치, 전자 기기 및 저장 매체 | |
CN112801752B (zh) | 一种基于应用商城的页面显示方法、装置、设备及介质 | |
EP3001660B1 (en) | Method, device and system for telephone interaction | |
CN114286425A (zh) | 一种长连接建立系统、方法、装置、电子设备及存储介质 | |
CN113238887A (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 |