CN113209632B - 一种云游戏的处理方法、装置、设备及存储介质 - Google Patents

一种云游戏的处理方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN113209632B
CN113209632B CN202110639180.8A CN202110639180A CN113209632B CN 113209632 B CN113209632 B CN 113209632B CN 202110639180 A CN202110639180 A CN 202110639180A CN 113209632 B CN113209632 B CN 113209632B
Authority
CN
China
Prior art keywords
game
client
ith
user interface
processing
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
Application number
CN202110639180.8A
Other languages
English (en)
Other versions
CN113209632A (zh
Inventor
曹文升
操伟
陈瑭羲
袁利军
王晓杰
张冲
翟萌
朱星元
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN202110639180.8A priority Critical patent/CN113209632B/zh
Publication of CN113209632A publication Critical patent/CN113209632A/zh
Application granted granted Critical
Publication of CN113209632B publication Critical patent/CN113209632B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/70Game security or game management aspects
    • A63F13/77Game security or game management aspects involving data related to game devices or game servers, e.g. configuration data, software version or amount of memory
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/30Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
    • A63F13/35Details of game servers

Abstract

本申请实施例提供了一种云游戏的处理方法、装置、设备及存储介质,该云游戏的处理方法包括:获取接入至目标云游戏的N个客户端,N个客户端接入至目标云游戏的同一游戏进程中,游戏进程包括N路处理资源,N个客户端与N路处理资源一一对应,N为大于1的整数;调用N个客户端中的每个客户端各自对应的处理资源,获取游戏进程中与每个客户端相适配的游戏资源数据,并向每个客户端传输游戏资源数据;当捕获到N个客户端中的任一个客户端的输入事件时,调用产生输入事件的客户端对应的处理资源响应输入事件。采用本申请实施例,可以有效提升游戏服务器的资源利用率,降低游戏服务器的运行成本。

Description

一种云游戏的处理方法、装置、设备及存储介质
技术领域
本申请涉及计算机技术领域,尤其涉及云游戏技术领域,具体涉及一种云游戏的处理方法、一种云游戏的处理装置、一种云游戏的处理设备及一种计算机可读存储介质。
背景技术
随着计算机技术的飞速发展,云游戏在游戏市场中占据着越来越重要的地位。云游戏是指游戏逻辑运行在游戏服务器中的游戏,用户只需要拥有基础的客户端,客户端只需要接收并播放游戏音视频流,以及向游戏服务器发送用户的操作数据,即可在低配置设备上体验高质量游戏。
目前的云游戏方案采用容器化技术,让每个用户的游戏进程运行在云端不同的虚拟机上,通过在云端模拟用户在自己的设备上运行云游戏的过程,实现在云端运行云游戏的功能。所谓容器化技术是指采用Docker(一种应用容器引擎)或其他类似方案实现将物理机隔离成多个虚拟环境的技术;在采用容器化技术的云游戏方案中,每个用户的游戏进程都需要加载一份游戏资源(例如场景资源、角色皮肤资源等),无法做到游戏资源复用,游戏服务器的资源利用率低,并且游戏服务器能够承载的用户数量少,游戏服务器的运行成本高。
发明内容
本申请实施例提供了一种云游戏的处理方法、装置、设备及存储介质,可以有效提升游戏服务器的资源利用率,降低游戏服务器的运行成本。
一方面,本申请实施例提供了一种云游戏的处理方法,该云游戏的处理方法包括:
获取接入至目标云游戏的N个客户端,N个客户端接入至目标云游戏的同一游戏进程中,游戏进程包括N路处理资源,N个客户端与N路处理资源一一对应,N为大于1的整数;
调用N个客户端中的每个客户端各自对应的处理资源,获取游戏进程中与每个客户端相适配的游戏资源数据,并向每个客户端传输游戏资源数据;
当捕获到N个客户端中的任一个客户端的输入事件时,调用产生输入事件的客户端对应的处理资源响应输入事件。
一方面,本申请实施例提供了一种云游戏的处理装置,该云游戏的处理装置包括:
获取单元,用于获取接入至目标云游戏的N个客户端,N个客户端接入至目标云游戏的同一游戏进程中,游戏进程包括N路处理资源,N个客户端与N路处理资源一一对应,N为大于1的整数;
处理单元,用于调用N个客户端中的每个客户端各自对应的处理资源,获取游戏进程中与每个客户端相适配的游戏资源数据,并向每个客户端传输游戏资源数据;
处理单元,还用于当捕获到N个客户端中的任一个客户端的输入事件时,调用产生输入事件的客户端对应的处理资源响应输入事件。
在一种实现方式中,N个客户端中的任一个客户端表示为第i个客户端,i为小于或等于N的正整数;处理单元,还用于执行如下步骤:
当第i个客户端接入至游戏进程时,在游戏进程中创建第i个客户端对应的第i路处理资源,第i路处理资源是N路处理资源中的任一路。
在一种实现方式中,处理资源包括渲染纹理,第i路处理资源包括第i个渲染纹理;第i个渲染纹理与一个场景相机相绑定,并且第i个渲染纹理与一个用户界面相机相绑定;与第i个客户端相适配的游戏资源数据包括游戏视频流;
处理单元,用于调用所述N个客户端中的每个客户端各自对应的处理资源,获取所述游戏进程中与所述每个客户端相适配的游戏资源数据时,具体用于执行如下步骤:
按照第i个客户端的视角,通过场景相机捕获游戏进程中的场景内容,并通过用户界面相机捕获游戏进程中的用户界面内容;
调用第i个渲染纹理对场景内容和用户界面内容进行渲染,得到游戏画面数据;
对游戏画面数据进行编码,得到游戏视频流。
在一种实现方式中,N个客户端中,一个客户端对应一个场景相机和一个用户界面相机;或者,N个客户端中,一个客户端对应一个用户界面相机,多个客户端复用一个场景相机。
在一种实现方式中,处理资源包括专有音轨,第i路处理资源包括第i路专有音轨;与第i个客户端相适配的游戏资源数据包括游戏音频流;
处理单元,用于调用所述N个客户端中的每个客户端各自对应的处理资源,获取所述游戏进程中与所述每个客户端相适配的游戏资源数据时,具体用于执行如下步骤:
获取游戏进程的全局音频;
在游戏进程中捕获第i个客户端的专有音频;
在第i路专有音轨中对全局音频和专有音频进行混合处理,得到游戏音频流。
在一种实现方式中,全局音频是指N个客户端共享的音频,全局音频包括以下至少一种:目标云游戏的背景音频,目标云游戏的环境音频;
专有音频是指第i个客户端的私有音频,专有音频包含以下至少一种:第i个客户端的用户界面音频、第i个客户端在目标云游戏中的会话音频。
在一种实现方式中,输入事件为触发场景更新的事件;处理资源包括渲染纹理,第i路处理资源包括第i个渲染纹理;第i个渲染纹理与一个场景相机相绑定;与第i个客户端相适配的游戏资源数据包括游戏视频流;
处理单元,用于调用产生所述输入事件的客户端对应的处理资源响应所述输入事件时,具体用于执行如下步骤:
根据输入事件,通过场景相机捕获游戏进程中更新后的场景内容;
调用第i个渲染纹理对更新后的场景内容进行渲染,并将渲染后的场景内容更新至游戏视频流。
在一种实现方式中,输入事件为触发用户界面更新的事件;处理资源包括渲染纹理,第i路处理资源包括第i个渲染纹理;第i个渲染纹理与一个用户界面相机相绑定;与第i个客户端相适配的游戏资源数据包括游戏视频流;
处理单元,用于调用产生输入事件的客户端对应的处理资源响应输入事件时,具体用于执行如下步骤:
根据输入事件,通过用户界面相机捕获游戏进程中的用户界面内容;
根据用户界面内容,在游戏进程中对输入事件对应的操作进行模拟;以及,调用第i个渲染纹理对用户界面内容及模拟的操作进行渲染,并将渲染后的内容更新至游戏视频流。
在一种实现方式中,处理资源包括传输通道,第i路处理资源包括第i个传输通道;处理单元,用于向每个客户端传输所述游戏资源数据时,具体用于执行如下步骤:
通过第i个传输通道,将与第i个客户端相适配的游戏资源数据传输至第i个客户端。
一方面,本申请实施例提供一种云游戏的处理设备,该云游戏的处理设备包括处理器和计算机可读存储介质,其中:
处理器,适于实现计算机程序;以及,计算机可读存储介质,计算机可读存储介质存储有计算机程序,计算机程序适于由处理器加载并执行上述的云游戏的处理方法。
相应的,本申请实施例提供一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序,该计算机程序被计算机设备的处理器读取并执行时,使得计算机设备执行上述的云游戏的处理方法。
相应的,本申请实施例提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述的云游戏的处理方法。
本申请实施例中,多个客户端可以接入至目标云游戏的同一游戏进程中,并且每个客户端各自对应游戏进程的一路处理资源,可以调用每个客户端各自对应的处理资源,获取游戏进程中与每个客户端相适配的游戏资源数据,并向每个客户端传输各自的游戏资源数据;并且当捕获到任一个客户端的输入事件时,可以调用产生输入事件的客户端对应的处理资源响应输入事件。可见,本申请实施例支持多个客户端接入至目标云游戏的同一游戏进程中,并且通过每个客户端在游戏进程中各自对应的处理资源,可以在游戏进程中对每个客户端的游戏资源数据和输入事件进行隔离;多个客户端均接入至目标云游戏的同一游戏进程中,这样游戏资源便只需加载一次,让每个客户端都能重复使用该游戏资源,有效提升了游戏服务器的资源利用率;并且游戏服务器能够承载的用户数量明显增加,有效降低了游戏服务器的运行成本。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出了本申请一个示例性实施例提供的一种区块链的结构示意图;
图2示出了本申请一个示例性实施例提供的一种云游戏的处理系统的架构示意图;
图3示出了本申请另一个示例性实施例提供的一种云游戏的处理系统的架构示意图;
图4示出了本申请一个示例性实施例提供的一种云游戏的处理方法的流程示意图;
图5a示出了本申请一个示例性实施例提供的一种游戏画面的示意图;
图5b示出了本申请一个示例性实施例提供的一种游戏进程中的数据隔离方案的示意图;
图6示出了本申请另一个示例性实施例提供的一种云游戏的处理方法的流程示意图;
图7示出了本申请一个示例性实施例提供的一种云游戏的处理装置的结构示意图;
图8示出了本申请一个示例性实施例提供的一种云游戏的处理设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
为了能够对更清楚地理解本申请实施例提供的技术方案,下面对本申请实施例涉及的技术术语进行介绍:
(1)云游戏(Cloud Gaming)。云游戏又可称为游戏点播(Gaming on Demand),是一种以云计算技术为基础的游戏方式。云游戏使图形处理与数据运算能力相对有限的轻端设备(Thin Client)能运行高品质游戏。在云游戏场景下,所有的游戏进程都不在用户使用的终端的客户端中运行,而是在游戏服务器中运行;游戏服务器将游戏进程中的游戏画面、游戏音频压缩编码为媒体流,然后通过网络将媒体流传输给用户使用的客户端,媒体流中可以包括游戏视频流和游戏音频流。用户使用的客户端无需拥有强大的图形处理与数据运算能力,仅仅需要拥有基本的流媒体播放能力,与获取用户输入的操作指令并将用户输入的操作指令发送给游戏服务器的能力即可。
其中,云计算技术为游戏服务器提供图形处理能力与数据运算能力,以支撑云游戏的顺利运行。云计算(Cloud Computing)是一种计算模式,它将计算任务分布在大量计算机构成的资源池上,使各种应用系统能够根据需要获取计算力、存储空间和信息服务。提供资源的网络被称为“云”。“云”中的资源在使用者看来是可以无限扩展的,并且可以随时获取、按需使用、随时扩展、按使用付费。作为云计算的基础能力提供商,会建立云计算资源池(简称云平台),一般称为IaaS(Infrastructure as a Service,基础设施即服务)平台,在云计算资源池中部署多种类型的虚拟资源,供外部客户选择使用。云计算资源池中主要包括:计算设备(为虚拟化机器,包含操作系统)、存储设备、网络设备。按照逻辑功能划分,在IaaS层上可以部署PaaS(Platform as a Service,平台即服务)层,PaaS层之上再部署SaaS(Software as a Service,软件即服务)层,也可以直接将SaaS部署在IaaS上。PaaS为软件(例如数据库、web容器等)运行的平台。SaaS为各式各样的业务软件(例如web门户网站、短信群发器等)。一般来说,SaaS和PaaS相对于IaaS是上层。
云计算可以是指IT(Internet Technology,互联网技术)基础设施的交付和使用模式,指通过网络以按需、易扩展的方式获得所需资源;广义云计算指服务的交付和使用模式,指通过网络以按需、易扩展的方式获得所需服务。这种服务可以是IT和软件、互联网相关,也可是其他服务。云计算是网格计算(Grid Computing)、分布式计算(DistributedComputing)、并行计算(Parallel Computing)、效用计算(UtilityComputing)、网络存储(Network StorageTechnologies)、虚拟化(Virtualization)、负载均衡(Load Balance)等传统计算机和网络技术发展融合的产物。随着互联网、实时数据流、连接设备多样化的发展,以及搜索服务、社会网络、移动商务和开放协作等需求的推动,云计算迅速发展起来。不同于以往的并行分布式计算,云计算的产生从理念上将推动整个互联网模式、企业管理模式发生革命性的变革。
(2)游戏进程。游戏进程也可以理解为云游戏实例,一个游戏进程即是一个云游戏实例,云游戏部署和运行在云游戏实例上,云游戏实例代表着虚拟计算资源,虚拟计算机资源可以包括:CPU(Central Processing Unit,中央处理器)、操作系统、网络、磁盘、GPU(Graphics Processing Unit,图形处理器)等基础计算组件的集合;也就是说,游戏进程是成功启动、可实际操作的云游戏。
云游戏的实现原理大致包括:①终端(例如手机、PC(个人计算机)等)中可包含云游戏的客户端,用户可以通过客户端进入云游戏中进行游玩。②游戏服务器为参与云游戏的客户端启动云游戏的游戏进程;例如,某个用户使用客户端进入云游戏中进行游玩,这时游戏服务器会在云端启动并运行一个游戏进程,那么该游戏进程与用户所使用的客户端相对应,由这个游戏进程来为客户端提供云游戏的游戏画面。③客户端显示其对应的游戏进程返回的游戏画面;当用户在游戏画面中执行各种操作(例如触屏操作、鼠标键盘操作)时,客户端会将这些操作产生的操作数据上报给游戏服务器,由游戏服务器在对应的游戏进程中根据操作数据而刷新云游戏的游戏画面,再将刷新后的游戏画面返回至客户端中进行显示。其中,用户在游戏画面中执行的操作可以包括移动操作、选择操作等等;例如,用户将游戏画面中的游戏角色从游戏画面中的第一位置移动至游戏画面中的第二位置;又如,用户选中(例如单击、双击、长按等等)游戏画面中的某个游戏控件。
(3)区块链技术。区块链是分布式数据存储、P2P(Peer to Peer,点对点)传输、共识机制、加密算法等计算机技术的新型应用模式。区块链本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块(也可称为区块),每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个数据块。区块链以密码学方式保证数据不可篡改和不可伪造。
图1示出了本申请一个示例性实施例提供的一种区块链的结构示意图,区块链由多个区块组成,创始块中可以包括区块头和区块主体,区块头中存储有输入信息特征值、版本号、时间戳和难度值,区块主体中存储有输入信息;创始块的下一区块以创始块为父区块,下一区块中同样包括区块头和区块主体,区块头中存储有当前区块的输入信息特征值、父区块的区块头特征值、版本号、时间戳和难度值,并以此类推,使得区块链中每个区块中存储的区块数据均与父区块中存储的区块数据存在关联,保证了区块中输入信息的安全性。
基于上述描述,本申请实施例提供一种云游戏的处理方案,在该云游戏的处理方案中,可以支持多个(例如可以是两个或两个以上)用户接入至云游戏的同一游戏进程中,并且一个用户对应该游戏进程的一路处理资源;通过每个用户各自对应的处理资源,可以在游戏进程中对各个用户的游戏资源数据(例如游戏视频流、游戏音频流等)和输入事件(例如触屏事件、鼠标键盘事件等)进行隔离。可见,在该云游戏的处理方案中,由于多个用户接入至同一个游戏进程中,场景资源、角色皮肤资源等只需要加载一次,每个用户都可以重复使用这些资源,这样可以提升游戏服务器的资源利用率;另外,相较于为一个用户启动一个游戏进程的方式,本方案的一个游戏进程中可以接入更多的用户,游戏服务器能够承载的用户数量明显增多,这样降低了游戏服务器的运行成本;并且多个用户在同一个游戏进程中游玩,有利于在多个用户之间进行数据同步,有效提升了游戏服务器的运行性能。
下面结合图2和图3对适于实现本申请实施例提供的云游戏的处理方案的云游戏的处理系统进行介绍。图2示出了本申请一个示例性实施例提供的一种云游戏的处理系统的架构示意图,云游戏的处理系统可以包括游戏服务器201和N个终端202,N为大于1的整数;图2所示的云游戏的处理系统以N=3为例,即以云游戏的处理系统包括3个终端为例进行说明。其中,游戏服务器201可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN(Content Delivery N etwork,内容分发网络)服务、以及大数据和人工智能平台等基础云计算服务的云服务器,也可以是区块链网络中的节点服务器;游戏服务器201可以用于运行云游戏的游戏进程,以供用户接入并游玩。N个终端202中的任一个终端202可以是智能手机、平板电脑、笔记本电脑、台式计算机、车载设备、智能音箱、智能手表、智能电视等,但并不局限于此;终端202中运行有客户端,客户端可以为以下任一种:独立的应用程序、API(Application ProgrammingInterface,应用程序编程接口)或者SDK(Software Development Kit,软件开发工具包),用户可以通过客户端参与云游戏的游玩。游戏服务器201和N个终端202之间可以通过有线通信或无线通信方式进行直接或间接地连接,本申请在此不做限制。
在由游戏服务器和N个终端组成的云游戏的处理系统中,N个用户可以分别通过N个终端中运行的N个客户端接入至云游戏的同一个游戏进程中,游戏进程中可以包括N路处理资源,一个客户端对应一路处理资源;游戏服务器通过调用N个客户端中的每个客户端各自对应的处理资源,可以获取游戏进程中与每个客户端相适配的游戏资源数据,并向每个客户端传输各自对应的游戏资源数据,以实现N个客户端也就是N个用户的游戏资源数据之间的隔离;其中,与每个客户端相适配的游戏资源数据可以包括每个客户端在游戏进程中的游戏视频流和每个客户端在游戏进程中的游戏音频流;另外,当捕获到N个客户端中的任一个客户端的输入事件时,通过调用产生该输入事件的客户端对应的处理资源,可以响应该输入事件,以实现N个用户的输入事件之间的隔离。
图3示出了本申请另一个示例性实施例提供的一种云游戏的处理系统的架构示意图,如图3所示,终端可以包括硬件和SDK;其中,硬件可以包括显示屏、操作系统等。SDK可以是指客户端,可以用于对登录客户端的用户进行账号鉴权,例如对用户输入的账号密码与客户端中存储的账号密码进行比对;还可以用于播放游戏服务器发送的游戏视频流和游戏音频流等游戏资源数据。
游戏服务器可以是由多个物理服务器构成的服务器集群,服务器集群中可以包括登录服务器、匹配服务器、进程服务器、数据库服务器以及媒体流服务器等。其中,登录服务器可以用于对游戏进程或云游戏进行接入管理,例如登录服务器可以用于判断接入某个游戏进程的用户是否已经达到上限,或者登录服务器可以用于判断接入某个云游戏的用户是否已经达到上限。匹配服务器可以用于在用户与云游戏之间进行匹配,例如匹配服务器可以用于将用户接入至该用户请求接入的云游戏;或者匹配服务器可以用于在用户与游戏进程之间进行匹配,例如匹配服务器可以用于将用户接入至该用户请求接入的游戏进程。进程服务器可以用于运行游戏进程,以及对其运行的游戏进程进行管理;例如进程服务器可以在用户请求启动游戏进程时判断进程服务器中已启动的游戏进程数量是否达到阈值,若已达到阈值则拒绝启动新的游戏进程,若未已达到阈值则允许启动新的游戏进程;又如,进程服务器可以在游戏进程结束时立即释放游戏进程,以减少对进程服务器的内存占用,以便于启动新的游戏进程。数据库服务可以用于提供数据存储服务,例如场景资源、角色皮肤资源等游戏资源可以存储于数据库服务器中,当进程服务器启动游戏进程时,可以从数据库服务器中加载这些游戏资源。媒体流服务器可以用于对游戏视频进行编码处理,得到游戏视频流,并且可以对游戏音频进行编码处理,得到游戏音频流,并且可以将与每个用户各自相适配的游戏视频流和游戏音频流传输至各个用户。
运行于游戏服务器中的游戏进程中可以包括N路处理资源、房间管理模块和核心引擎等。其中,N路处理资源中的每路处理资源可以包括渲染纹理、专有音轨以及传输通道等,也就是说游戏进程中可以包括N个渲染纹理,N路专有音轨以及N个传输通道,一个用户对应一个渲染纹理、一路专有音轨和一个传输通道;每个用户对应的渲染纹理可以用于获取与该用户相适配的游戏视频流;每个用户对应的专有音轨可以用于获取与该用户相适配的游戏音频流;每个用户对应的传输通道,可以用于将与该用户相适配的游戏视频流和游戏音频流传输至该用户,也可以用于接收该客户端的输入事件。房间管理模块可以用于对游戏进程进行房间管理,游戏进程可以被划分为一个或多个房间,房间管理模块可以将接入游戏进程的客户端分配至对应的房间中,使得属于同一个房间的用户之间可以一起游玩,例如一个房间内的用户可以是一个游戏队伍,另一个房间内的用户可以是另一个游戏队伍。核心引擎可以是指一些已编写好的可编辑电脑游戏系统或者一些交互式实时图像应用程序的核心组件,本申请实施例提及的游戏引擎例如可以是Unity游戏引擎;渲染纹理可以与核心引擎中的场景相机和用户界面(User Interface,UI)相机进行绑定,渲染纹理可以对场景相机捕获到的场景内容和用户界面相机捕获到的用户界面内容进行渲染,从而得到游戏视频流。
终端与游戏服务器之间可以通过网络层进行通信,其中具体可以是通过网络层中的通信协议进行通信,例如该通信协议可以是WebRTC(Web Real-Time Communication,网页即时通信)协议,WebRTC是一个支持网页浏览器进行实时语音对话或视频对话的API。
可以理解的是,图2或图3所示实施例描述的云游戏的处理系统是为了更加清楚的说明本申请实施例的技术方案,并不构成对于本申请实施例提供的技术方案的限定,本领域普通技术人员可知,随着系统架构的演变和新业务场景的出现,本申请实施例提供的技术方案对于类似的技术问题,同样适用。
基于上述的云游戏的处理系统,下面对云游戏的处理方案进行更为详细地介绍。图4示出了本申请一个示例性实施例提供的一种云游戏的处理方法的流程示意图,该云游戏的处理方法可以由本申请实施例提供的云游戏的处理设备执行,云游戏的处理设备可以是图2或图3所示的云游戏的处理系统中的云游戏的服务器。该云游戏的处理方法可以包括以下步骤S401至步骤S403:
S401,获取接入至目标云游戏的N个客户端。
N个用户分别通过N个客户端接入至目标云游戏中,N个客户端接入至目标云游戏的同一游戏进程中,游戏进程可以包括N路处理资源,N个客户端与N路处理资源一一对应,也就是说,一个客户端对应一路处理资源,N为大于1的整数。
N个客户端中的任一个客户端可以表示为第i个客户端,第i个客户端对应N路处理资源中的第i路处理资源,第i路处理资源是N路处理资源中的任一路,i为小于或等于N的正整数。第i路处理资源是在第i个客户端请求接入游戏进程时创建的。具体来说,游戏服务器可以获取第i个客户端针对目标云游戏的游戏进程的接入请求,然后可以响应于第i个客户端的接入请求,将第i个客户端接入游戏进程中;当第i个客户端接入至游戏进程时,可以在游戏进程中创建第i个客户端对应的第i路处理资源。
S402,调用N个客户端中的每个客户端各自对应的处理资源,获取游戏进程中与每个客户端相适配的游戏资源数据,并向每个客户端传输游戏资源数据。
处理资源可以包括渲染纹理、专有音轨和传输通道。本申请实施例以第i个客户端为例,调用第i个客户端对应的第i路处理资源,获取游戏进程中与第i个客户端相适配的游戏资源数据,并向第i个客户端传输与第i个客户端相适配的游戏资源数据,具体可以包括以下几种情况:
(1)处理资源可以包括渲染纹理(RenderTexture),一个客户端对应一个渲染纹理,渲染纹理是一种特殊的纹理类型,可以用于对游戏内容进行渲染得到游戏画面数据。其中,游戏内容可以包括场景内容和用户界面内容,场景内容是指游戏中的树木、道路、建筑等内容,用户界面内容是指游戏中可由用户操作的内容,例如游戏中的虚拟键盘、虚拟控件等等;图5a示出了本申请一个示例性实施例提供的一种游戏画面的示意图,在图5a所示的游戏画面中,舞台、凳子、楼梯等是场景内容,“开始游戏”、“退出游戏”等虚拟控件是用户界面内容。游戏画面数据中可以包括多张(例如两张或两张以上)游戏画面,游戏画面是指可以在客户端中显示的画面,游戏画面通常是由游戏场景画面和用户界面画面叠加得到的,游戏场景画面由场景内容渲染得到,用户界面画面由用户界面内容渲染得到。
第i个客户端的第i路处理资源包括第i个渲染纹理,第i个渲染纹理可以与一个场景相机相绑定,并且第i个渲染纹理也可以与一个用户界面相机相绑定。其中,场景相机与用户在游戏进程中的视角相关联,视角是指用户在游戏进程中的观看角度,视角不同场景相机所捕获到的场景内容便不同,进而游戏玩家所观看到的渲染的游戏场景画面也不同,场景相机可以用于按照用户的视角捕获游戏进程中的场景内容;用户界面相机可以用于捕获用户在游戏进程中的用户界面内容;与第i个客户端相适配的游戏资源数据可以以包括游戏视频流。
调用第i个客户端对应的第i路处理资源,获取游戏进程中与第i个客户端向适配的游戏资源数据,可以包括:按照第i个客户端的视角,通过场景相机捕获游戏进程中的场景内容,并通过用户界面相机捕获游戏进程中的用户界面内容;调用第i个渲染纹理对场景内容和用户界面内容进行渲染,得到游戏画面数据;对游戏画面数据进行编码,得到游戏视频流。
其中,调用第i个渲染纹理对场景内容和用户界面内容进行渲染的过程可以包括:将场景内容渲染至第i个渲染纹理中,得到游戏场景画面数据,游戏场景画面数据中可以包括多张游戏场景画面;通过用户界面相机对用户界面内容进行渲染,得到用户界面画面数据,用户界面画面数据中可以包括多张用户界面画面;将用户界面画面数据叠加至第i个渲染纹理中,得到游戏画面数据。然后,可以将包含游戏画面数据的第i个渲染纹理发送至视频编码器(例如可以是上述的媒体流服务器),视频编码器可以从第i个渲染纹理读取游戏画面数据,并对游戏画面数据进行编码处理,得到游戏视频流。通过上述渲染过程可知,场景内容和用户界面内容的渲染过程是分别进行的,场景内容采用渲染纹理进行渲染,用户界面内容采用用户界面相机进行渲染,然后在渲染纹理中对场景内容渲染得到的游戏场景画面数据和用户界面内容渲染得到的用户界面画面数据进行叠加形成游戏画面数据;采用对场景内容和用户界面内容进行分开渲染的方式,可以合理分配渲染资源,提升渲染速度和渲染效率。举例来说,如果将场景内容和用户界面内容集中渲染,例如集中于渲染纹理中进行渲染,那么每渲染一帧场景内容都需要渲染一次用户界面内容;对于一些场景内容切换频率高、用户界面内容切换频率低的游戏(例如竞技游戏等),可能存在场景内容切换多次但用户界面内容没有发生变化的情况,这样的情况下将场景内容和用户界面内容进行集中渲染,将会导致渲染速度和效率均比较低,因此采用将场景内容和用户界面内容进行分开渲染的方式可以在渲染效率和渲染速度方面进行提升。
由于各个客户端针对用户界面画面的输入事件往往是不相同的,输入事件是指根据用户在客户端中显示的用户界面画面中的输入操作(例如触屏操作、鼠标键盘操作等)产生的事件,例如一个用户点击用户界面中的音效设置控件,另一个用户点击用户界面画面中的角色设置控件;这样游戏服务器响应于各个输入事件所渲染的用户界面画面也是不相同的,例如响应于点击音效设置控件的输入操作所渲染的用户界面画面包括音效设置窗口,而响应于点击角色设置控件的输入操作所渲染的用户界面画面包括角色形象,因此一个客户端往往对应一个用户界面相机。而对于场景相机,客户端与场景相机的对应关系可以包括以下两种:一对一的对应关系,即一个客户端可以对应一个场景相机;此对应关系可以适用于各个客户端在游戏进程中的场景内容不一致的游戏游玩场景中,例如每个客户端可以通过各自对应的场景相机控制在游戏进程中的视角,这样各个客户端所呈现的游戏场景画面便不相同,因此可以建立一个客户端对应一个场景相机的对应关系,这样可以保证各个用户在游戏进程中的场景内容之间彼此隔离、互不干扰,提升各个客户端中游戏画面的呈现效果,使得多用户接入的游戏进程顺利运行。另一种是多对一的对应关系,即在N个客户端中,多个客户端可以复用一个场景相机;此对应关系可以适用于各个客户端在游戏进程中的场景内容相同的游戏游玩场景中,例如对于不支持视角切换的游戏,各个客户端所呈现的游戏场景画面是相同的,因此可以让多个客户端复用一个场景相机,这样可以提升游戏服务器中场景相机的资源利用率。另外,客户端与场景相机之间的对应关系可以是一对一的对应关系,也可以是多对一的对应关系,这样可以使得云游戏的处理方案适用于多种游戏游玩场景中。
下面对游戏资源数据渲染过程中涉及的代码示例进行简单的介绍:
①创建渲染纹理、绑定场景相机和用户界面相机的过程可参见下述代码示例:
//给每个客户端生成一个渲染纹理
public void InitPlayer()
{
//创建渲染纹理
RT=new RenderTexture(Width,Height,0,RenderTextureFormat.ARGB32);
//将渲染纹理与场景相机进行绑定
player.Camera.targetTexture=RT;
//将渲染纹理与用户界面相机进行绑定
player.UICamera.targetTexture=RT;
}
②调用渲染纹理对场景内容和所述用户界面内容进行渲染,得到游戏画面数据的过程可参见下述代码示例:
//调用渲染纹理对场景内容和用户界面内容进行渲染
public void Update()
{
//将场景相机捕获到的场景内容渲染至渲染纹理中
player.SceneCamera.Render();
//调用用户界面相机的渲染方法,将用户界面内容渲染至渲染纹理中
player.UICamera.Render();
}
③从渲染纹理读取游戏画面数据,并对游戏画面数据进行编码处理,得到游戏视频流的过程可参见下述代码示例:
//获取包含游戏画面数据的渲染纹理
RenderTexture.active=rt;
//新建一个二维纹理,二维纹理是指一种二维的纹理类型,可以用于读取渲染纹理中的游戏画面数据,并将游戏画面数据转换为二维图片;创建二维纹理时需要创建纹理的宽度(width)、纹理的高度(height)、纹理中像素数据的格式(TextureFormat.ARGB32)等变量
tex2d=new Texture2D(width,height,TextureFormat.ARGB32,false);
//将渲染纹理中的游戏画面数据读取至创建的二维纹理中
tex2d.ReadPixels(new Rect(0,0,width,height),0,0);
//在二维纹理中应用读取的游戏画面数据
tex2d.Apply();
//将二维纹理中的游戏画面数据转为图片进行存储,此处以PNG(一种位图格式)为例,即读取到的游戏画面数据中的游戏画面以PNG格式存储
byte[]pngShot=tex2d.EncodeToPNG();
(2)处理资源可以包括专有音轨,专有音轨是指与接入游戏进程的客户端所对应的音轨,一个客户端对应一路专有音轨,专有音轨可以用于获取其对应的客户端在游戏进程中的专有音频。第i个客户端的第i路处理资源包括第i路专有音轨,也就是说第i路专有音轨可以在游戏进程中获取第i个客户端的专有音频;与第i个客户端相适配的游戏资源数据包括游戏音频流。
调用第i个客户端对应的第i路处理资源,获取游戏进程中与第i个客户端向适配的游戏资源数据,可以包括:获取游戏进程的全局音频;在游戏进程中捕获第i个客户端的专有音频,具体可以是调用第i路专有音轨在游戏进程中捕获第i个客户端的专有音频;以及在第i路专有音轨中对全局音频和专有音频进行混合处理,得到游戏音频流。在第i路专有音轨中对全局音频和所述专有音频进行混合处理,得到游戏音频流,具体可以包括:在第i路专有音轨中对全局音频和专有音频进行混合处理,得到游戏音频;对游戏音频进行编码处理,得到游戏音频流。
其中,第i个客户端的专有音频是指第i个客户端的私有音频,第i个客户端的专有音频可以包括以下至少一种:第i个客户端的用户界面音频、第i个客户端在目标云游戏中的会话音频;第i个客户端的用户界面音频可以是根据第i个客户端对应的用户在用户界面画面中的输入操作产生的,例如用户点击用户界面画面中的某个虚拟控件,那么第i个客户端的用户界面音频可以是指该虚拟控件所对应的音效。全局音频可以是由游戏进程的全局音轨捕获到的,全局音轨是在游戏进程成功启动之后创建的,全局音频是指N个客户端共享的音频,全局音频包括可以以下至少一种:目标云游戏的背景音频(例如背景音乐),目标云游戏的环境音频(例如风声、水流声等等)。
在一种实现方式中,可以在专有音轨中直接对全局音频和专有音频进行混合处理。在另一种实现方式中,专有音轨中可以包括音频处理组件,音频处理组件可以是指对音频处理方法简单封装组合,例如音频处理组件可以是FMOD、WWise等;可以在专有音轨中采用音频处理组件对全局音频和专有音频进行混合处理。下面以FMOD音频处理组件为例对全局音频和专有音频的混合处理流程进行介绍,该处理流程可包括:①采用两个FMOD音频处理组件同时播放全局音频和专有音频,其中一个FMOD音频处理组件用于播放全局音频,另一个FMOD音频处理组件用于播放专有音频;②将两个FMOD音频处理组件同时播放的全局音频和专有音频进行混合处理,得到游戏音频;③通过播放回调方式获取该游戏音频;④对游戏音频进行规范化处理,以去除游戏音频中的杂音。杂音是指影响游戏音频的音频质量的音频(例如高频噪音、低频噪音等等),对游戏音频进行规范化处理,可以是将游戏音频的特征数据归一化至指定区间(例如区间[-1,1])之内。通过对游戏音频进行规范化处理,可以提升游戏音频的音频质量。⑤将去除杂音后的游戏音频写入至传输通道的缓冲区中,等待通过传输通道传输游戏音频。
另外,如前述内容可知,游戏服务器与客户端之间是通过网络层中的通信协议进行通信的,为了保证游戏音频能够稳定可靠地传输,需要按照通信协议的规定对游戏音频进行编码处理。对游戏音频进行编码处理的过程可以包括:①从传输通道的缓冲区中获取待传输的游戏音频,以及获取通信协议规定的标准编码参数,标准编码参数可以包括但不限于以下至少一种:采样率、位宽、声道数、目标时间长度内的采样点总数等等;其中,采样率也可称采样频率,是指单位时间(例如1秒)内从游戏音频中提取并组成离散序列的采样点个数,例如1秒从游戏音频中提取48000个采样点;位宽是指每个采样点所占位数,例如每个采样点占4比特或8比特等等;声道数是指播放游戏音频时的声道数量,例如声道数为1表示单声道,声道数为2表示双声道;目标时间长度内的采样点总数是指在目标时间长度(例如10毫秒)内对游戏音频进行采样时的采样点总数。②采用标准编码参数对待传输的游戏音频进行编码处理,得到游戏音频流;其中,游戏音频流中包括多个音频帧,每个音频帧的时间长度可以为目标时间长度。缓冲区中的游戏音频经上述编码处理之后,就会经传输通道传输至客户端。本实施例中采用通信协议所规定的标准编码参数进行编码处理可以确保游戏音频流能够稳定可靠地传输至客户端。
(3)处理资源可以包括传输通道,一个客户端对应一个传输通道,传输通道可以用于在游戏服务器与客户端之间进行数据传输。第i个客户端的第i路处理资源包括第i个传输通道,第i个客户端与游戏服务器之间可以通过第i个传输通道进行数据传输;向第i个客户端传输与第i个客户端相适配的游戏资源数据,可以包括:通过第i个传输通道,将与第i个客户端相适配的游戏资源数据传输至第i个客户端。
另外,当第i个客户端产生输入事件时,可以通过第i个传输通道捕获第i个客户端产生的输入事件,并将输入事件对应的操作数据注入到游戏进程中。其中,输入事件可以是指根据用户针对第i个客户端的输入操作所产生的事件,输入操作可以包括但不限于以下至少一种:用户针对第i个客户端的触屏操作、鼠标键盘触发操作、语音输入操作等等;相应地,输入事件对应的操作数据可以包括触屏坐标数据、鼠标键盘触发坐标数据,输入的语音数据;触屏坐标数据可以是指用户的触屏位置在游戏画面中的坐标,例如用户选中游戏画面中的某个虚拟控件,那么此时触屏坐标数据可以包括该虚拟控件在游戏画面中的坐标;同理,鼠标键盘触发坐标数据可以是指用户的鼠标键盘触发位置在游戏画面中的坐标,例如用户通过鼠标选中游戏画面中的某个虚拟控件,那么此时鼠标键盘触发坐标数据可以包括该虚拟控件在游戏画面中的坐标,又如用户通过键盘中的按键将将游戏画面中的游戏角色从游戏画面中的第一位置移动至游戏画面中的第二位置,那么此时鼠标键盘触发坐标数据可以包括第一位置在游戏画面中的坐标和第二位置在游戏画面中的坐标。
综上(1)至(3)的内容,调用N个客户端中的每个客户端各自对应的处理资源,获取游戏进程中与每个客户端相适配的游戏资源数据,并向每个客户端传输游戏资源数据的过程可以总结为图5b所示的示意图,图5b示出了本申请一个示例性实施例提供的一种游戏进程中的数据隔离方案的示意图,N个客户端接入至同一游戏进程中,通过N个场景相机或一个场景相机可以实现N个客户端的场景内容之间相互隔离,通过N个用户界面相机可以实现N个客户端的用户界面内容之间相互隔离,通过N路专有音轨相机和共享的全局音轨可以实现N个客户端的游戏音频之间相互隔离,通过N个传输通道实现N个客户端的输入事件之间相互隔离。
S403,当捕获到N个客户端中的任一个客户端的输入事件时,调用产生输入事件的客户端对应的处理资源响应输入事件。
第i个客户端是N个客户端中的任一个客户端,针对第i个客户端,当捕获到第i个客户端的输入事件时,可以调用第i个客户端对应的第i路处理资源响应输入事件。
在一种实现方式中,输入事件可以是触发场景更新的事件,例如用户通过触屏操作切换游戏视角的事件,在此情况下,调用第i个客户端对应的第i路处理资源响应输入事件可以是指:根据输入事件更新场景内容,对更新后的场景内容进行渲染,并将渲染后的场景内容更新至游戏视频流中。在另一种实现方式中,输入事件可以是触发用户界面更新的事件,例如用户通过触屏操作点击某个虚拟控件的事件,在此情况下,调用第i个客户端对应的第i路处理资源响应输入事件可以是指:根据输入事件,捕获游戏进程中的用户界面内容;在游戏进程中对输入事件对应的操作进行模拟,并对用户界面内容及模拟的操作进行渲染,并将渲染后的内容更新至游戏视频流。
本申请实施例中,多个客户端可以接入至目标云游戏的同一游戏进程中,并且通过每个客户端在游戏进程中各自对应的处理资源,可以在游戏进程中对每个客户端的游戏资源数据和输入事件进行隔离;多个客户端均接入至目标云游戏的同一游戏进程中,这样游戏资源便只需加载一次,让每个客户端都能重复使用该游戏资源,有效提升了游戏服务器的资源利用率;并且游戏服务器能够承载的用户数量明显增加,有效降低了游戏服务器的运行成本。另外,客户端与场景相机之间的对应关系可以是一对一的对应关系,也可以是多对一的对应关系;在一个客户端对应一个场景相机的对应关系中,可以保证各个用户在游戏进程中的场景内容之前彼此隔离、互不干扰,提升各个客户端中游戏画面的呈现效果,使得多用户接入的游戏进程顺利运行;多个客户端对应一个场景相机的对应关系中,可以提升游戏服务器中场景相机的资源利用率;客户端与场景相机之间的多种对应关系,使得云游戏的处理方案适用于多种游戏游玩场景中。
图6示出了本申请一个示例性实施例提供的一种云游戏的处理方法的流程示意图,该云游戏的处理方法可以由游戏服务器和客户端交互执行,该云游戏的处理方法可以包括以下步骤S601至步骤S609:
S601,第j个客户端向游戏服务器发送针对目标云游戏的游玩请求。
第j个客户端是N个客户端中请求创建目标云游戏的游戏进程的客户端,j为小于或等于N的正整数,且i不等于j。第j个客户端可以向游戏服务器发送的针对目标云游戏的游玩请求。
S602,游戏服务器响应于第j个客户端的游玩请求,启动目标云游戏的游戏进程,将第j个客户端接入至游戏进程中。
当游戏服务器接收到第j个客户端针对目标云游戏的游玩请求时,游戏服务器可以获取游戏服务器中已创建的目标云游戏的游戏进程的数量。若已创建的目标云游戏的游戏进程的数量未超过(即小于)进程创建阈值,则游戏服务器可以响应于第j个客户端的游玩请求,启动目标云游戏的游戏进程,将第j个客户端接入至游戏进程中。若已创建的目标云游戏的游戏进程的数量等于进程创建阈值,则游戏服务器可以拒绝响应第j个客户端的游玩请求。
在将第j个客户端接入至游戏进程中之后,第j个客户端与游戏服务器之间可以交换编码信息。第j个客户端与游戏服务器之间可以交换编码信息具体可以包括:当第j个客户端接入至游戏进程之后,第j个客户端向游戏服务器发送设备分辨率;游戏服务器可以根据第j个客户端的设备分辨率对编码分辨率进行调整,并将调整后的编码分辨率发送至第j个客户端进行确认,以便于在第j个客户端确认调整后的编码分辨率之后,游戏服务器可以采用调整后的编码分辨率对游戏进程中第j个客户端的游戏视频进行编码处理。其中,设备分辨率可以是指运行第j个客户端的终端的设备分辨率,终端的设备分辨率可以是指终端的显示屏幕的所有可视面积上水平像素的数量和垂直像素的数量;例如终端的设备分辨率为720×960,表示第一终端的显示屏幕的所有可视面积上水平显示720个像素,垂直显示960个像素。编码分辨率可以是指编码后的游戏画面中水平像素的数量和垂直像素的数量;例如编码分辨率为720×960,表示编码后的游戏画面中水平显示720个像素,垂直显示960个像素。编码分辨率与设备分辨率相互适应,编码后的游戏画面在第j个客户端中显示时便不会出现拉伸或压缩等影响游戏画面显示的问题,此处编码分辨率与设备分辨率相互适应是指:设备分辨率中的水平像素的数量和垂直像素的数量之间第一比值,与编码分辨率中的水平像素的数量和垂直像素的数量之间的第二比值相同,也就是第一比值与第二比值相同;也就是说,根据第j个客户端的设备分辨率对编码分辨率进行调整的过程,就是调整编码分辨率中的水平像素的数量和垂直像素的数量,使得第二比值与第一比值相同的过程。通过第j个客户端与游戏服务器之间可以交换编码信息,可以提升游戏画面在第j个客户端中的显示效果。
S603,游戏服务器在游戏进程中创建全局音轨。
在目标云游戏的游戏进程成功启动之后,游戏服务器可以在游戏进程中创建全局音轨,全局音轨可以用于在游戏进程中捕获接入至游戏进程中的各个客户端共享的全局音频。
S604,游戏服务器在游戏进程中创建第j个客户端的第j路处理资源。
当第j个客户端接入至目标云游戏的游戏进程时,可以在游戏进程中创建第j个客户端对应的第j路处理资源。
需要说明的是,本申请实施例中步骤S603和步骤S604的执行过程部不分先后;也就是说,游戏服务器可以先在游戏进程中创建全局音轨,然后在游戏进程中创建第j个客户端的第j路处理资源;或者,游戏服务器可以先在游戏进程中创建第j个客户端的第j路处理资源,然后在游戏进程中创建全局音轨;或者,游戏服务器可以在游戏进程中创建全局音轨的过程中在游戏进程中创建第j个客户端的第j路处理资源。
S605,第i个客户端向游戏服务发送游戏进程的接入请求。
S606,游戏服务器响应于第i个客户端的接入请求,将第i个客户端接入至游戏进程中。
当游戏服务器接收到第i个客户端的接入请求时,游戏服务器可以获取游戏进程中已接入的客户端的数量;若游戏进程中已接入的客户端的数量未超过(即小于)进程接入阈值,则游戏服务器可以响应于第i个客户端的接入请求,将第i个客户端接入至游戏进程中;若游戏进程中已接入的客户端的数量等于进程接入阈值,则游戏服务器可以拒绝响应第i个客户端的接入请求。
第i个客户端的游戏请求中还可以包括第i个客户端欲接入的游戏进程中的目标房间的房间标识,游戏服务器响应于第i个客户端的接入请求,可以将第i个客户端接入至游戏进程的目标房间中。值得注意的是,游戏进程可以包括为一个或多个房间;当游戏进程包括一个房间时,整个游戏进程便是一个房间;当游戏进程包括多个房间时,属于同一个房间的客户端可以执行游戏进程的一套游戏玩法逻辑;例如在组队竞技的云游戏中,一个房间内的用户可以是一个游戏队伍,另一个房间内的用户可以是另一个游戏队伍;又如,在跳舞竞赛的云游戏中,一个房间内的用户跳街舞,另一个房间内的用户可以跳爵士舞。通过这样的方式,可以在一个游戏进程中可以实现多套游戏玩法逻辑,提高了游戏进程的灵活性和多样性。
在将第i个客户端接入至游戏进程中之后,第i个客户端与游戏服务器之间可以交换编码信息;第i个客户端与游戏服务器之间交换编码信息的过程可参见上述第j个客户端与游戏服务器之间交换编码信息的过程,这两个过程是相似的。
S607,游戏服务器创建第i个客户端的第i路处理资源。
S608,游戏服务器调用第i个客户端对应的第i路处理资源,获取游戏进程中与第i个客户端相适配的游戏资源数据,并向第i个客户端传输与第i个客户端向适配的游戏资源数据;以及调用第j个客户端对应的第j路处理资源,获取游戏进程中与第j个客户端相适配的游戏资源数据,并向第j个客户端传输与第j个客户端向适配的游戏资源数据。
游戏服务器调用第i个客户端对应的第i路处理资源,获取游戏进程中与第i个客户端相适配的游戏资源数据,并向第i个客户端传输与第i个客户端相适配的游戏资源数据的执行过程可参见上述图4所示实施例中步骤S403的描述,在此不再赘述;游戏服务器调用第j个客户端对应的第j路处理资源,获取游戏进程中与第j个客户端相适配的游戏资源数据,并向第j个客户端传输与第j个客户端相适配的游戏资源数据的过程,与上述图4所示实施例中步骤S403中关于第i个客户端的描述相似,可参见上述图4所示实施例中步骤S403中关于第i个客户端的描述,在此不再赘述。
S609,当捕获到第i个客户端的输入事件时,调用第i个客户端对应的第i路处理资源响应第i个客户端的输入事件;以及当捕获到第j个客户端的输入事件时,调用第j个客户端对应的第i路处理资源响应第j个客户端的输入事件。
调用第i个客户端对应的第i路处理资源响应第i个客户端的输入事件的过程与调用第j个客户端对应的第i路处理资源响应第j个客户端的输入事件的过程相似,在此以调用第i个客户端对应的第i路处理资源响应第i个客户端的输入事件为例进行说明,响应第j个客户端的过程可参见响应第i个客户端的过程。
输入事件可以是触发场景更新的事件,在此情况下,调用第i个客户端对应的第i路处理资源响应第i个客户端的输入事件可以包括:根据输入事件,通过第i个客户端对应的场景相机捕获游戏进程中更新后的场景内容;调用第i个渲染纹理对更新后的场景内容进行渲染,并将渲染后的场景内容更新至游戏视频流。举例来说,输入事件可以是指用户将第i个客户端的视角从第一视角切换至第二视角的输入操作所产生的事件,游戏服务器可以对输入操作进行模拟,将场景相机所关联的视角从第一视角切换至第二视角,并调用场景相机捕获从第一视角切换至第二视角而更新后的场景内容,以实现游戏视频流的更新。
输入事件也可以是触发用户界面更新的事件,在此情况下,调用第i个客户端对应的第i路处理资源响应第i个客户端的输入事件可以包括:根据输入事件,通过用户界面相机捕获游戏进程中的用户界面内容;根据用户界面内容,在所述游戏进程中对输入事件对应的操作进行模拟;以及,调用第i个渲染纹理对用户界面内容及模拟的操作进行渲染,并将渲染后的内容更新至游戏视频流。举例来说,输入事件可以是指用户点击第i个客户端显示的游戏画面中的音效控件的输入操作所产生的事件,游戏服务器可以根据输入事件对应的操作数据(例如音效控件在第i个客户端显示的游戏画面中的坐标),通过用户界面相机捕获游戏进程中的用户界面内容(例如捕获到游戏进程中的音效控件),然后游戏服务器可以对用户点击音效控件的操作进行模拟,以对用户界面内容进行更新,例如更新后的用户界面内容中包括音效设置窗口,然后可以调用第i个渲染纹理对用户界面内容及模拟的操作进行渲染,以实现游戏视频流的更新。
本申请实施例中,多个客户端可以接入至目标云游戏的同一游戏进程中,并且通过每个客户端在游戏进程中各自对应的处理资源,可以在游戏进程中对每个客户端的游戏资源数据和输入事件进行隔离;多个客户端均接入至目标云游戏的同一游戏进程中,这样游戏资源便只需加载一次,让每个客户端都能重复使用该游戏资源,有效提升了游戏服务器的资源利用率;并且游戏服务器能够承载的用户数量明显增加,有效降低了游戏服务器的运行成本。另外,通过将游戏进程划分为多个房间,可以在一个游戏进程中可以实现多套游戏玩法逻辑,提高了游戏进程的灵活性和多样性。此外,在创建游戏进程之前,先对进程创建资格进行检查(例如对目标云游戏中已创建的游戏进程的数量是否超过进程创建阈值进行判断),避免创建过多的游戏进程对游戏服务器的运行性能产生影响,设置进程创建阈值可以提升游戏服务器的运行性能。
上述详细阐述了本申请实施例的方法,为了便于更好地实施本申请实施例的上述方案,相应地,下面提供了本申请实施例的装置。
请参见图7,图7示出了本申请一个示例性实施例提供的一种云游戏的处理装置的结构示意图,该云游戏的处理装置可以设置于本申请实施例提供的云游戏的处理设备中,云游戏的处理设备可以是图2或图3所示的云游戏的处理系统中的游戏服务器;该云游戏的处理装置可以用于执行图4或图6所示的方法实施例中的相应步骤。请参见图7,该云游戏的处理装置可以包括如下单元:
获取单元701,用于获取接入至目标云游戏的N个客户端,N个客户端接入至目标云游戏的同一游戏进程中,游戏进程包括N路处理资源,N个客户端与N路处理资源一一对应,N为大于1的整数;
处理单元702,用于调用N个客户端中的每个客户端各自对应的处理资源,获取游戏进程中与每个客户端相适配的游戏资源数据,并向每个客户端传输游戏资源数据;
处理单元702,还用于当捕获到N个客户端中的任一个客户端的输入事件时,调用产生输入事件的客户端对应的处理资源响应输入事件。
在一种实现方式中,N个客户端中的任一个客户端表示为第i个客户端,i为小于或等于N的正整数;处理单元702,还用于执行如下步骤:
当第i个客户端接入至游戏进程时,在游戏进程中创建第i个客户端对应的第i路处理资源,第i路处理资源是N路处理资源中的任一路。
在一种实现方式中,处理资源包括渲染纹理,第i路处理资源包括第i个渲染纹理;第i个渲染纹理与一个场景相机相绑定,并且第i个渲染纹理与一个用户界面相机相绑定;与第i个客户端相适配的游戏资源数据包括游戏视频流;
处理单元702,用于调用所述N个客户端中的每个客户端各自对应的处理资源,获取所述游戏进程中与所述每个客户端相适配的游戏资源数据时,具体用于执行如下步骤:
按照第i个客户端的视角,通过场景相机捕获游戏进程中的场景内容,并通过用户界面相机捕获游戏进程中的用户界面内容;
调用第i个渲染纹理对场景内容和用户界面内容进行渲染,得到游戏画面数据;
对游戏画面数据进行编码,得到游戏视频流。
在一种实现方式中,N个客户端中,一个客户端对应一个场景相机和一个用户界面相机;或者,N个客户端中,一个客户端对应一个用户界面相机,多个客户端复用一个场景相机。
在一种实现方式中,处理资源包括专有音轨,第i路处理资源包括第i路专有音轨;与第i个客户端相适配的游戏资源数据包括游戏音频流;
处理单元702,用于调用所述N个客户端中的每个客户端各自对应的处理资源,获取所述游戏进程中与所述每个客户端相适配的游戏资源数据时,具体用于执行如下步骤:
获取游戏进程的全局音频;
在游戏进程中捕获第i个客户端的专有音频;
在第i路专有音轨中对全局音频和专有音频进行混合处理,得到游戏音频流。
在一种实现方式中,全局音频是指N个客户端共享的音频,全局音频包括以下至少一种:目标云游戏的背景音频,目标云游戏的环境音频;
专有音频是指第i个客户端的私有音频,专有音频包含以下至少一种:第i个客户端的用户界面音频、第i个客户端在目标云游戏中的会话音频。
在一种实现方式中,输入事件为触发场景更新的事件;处理资源包括渲染纹理,第i路处理资源包括第i个渲染纹理;第i个渲染纹理与一个场景相机相绑定;与第i个客户端相适配的游戏资源数据包括游戏视频流;
处理单元702,用于调用产生所述输入事件的客户端对应的处理资源响应所述输入事件时,具体用于执行如下步骤:
根据输入事件,通过场景相机捕获游戏进程中更新后的场景内容;
调用第i个渲染纹理对更新后的场景内容进行渲染,并将渲染后的场景内容更新至游戏视频流。
在一种实现方式中,输入事件为触发用户界面更新的事件;处理资源包括渲染纹理,第i路处理资源包括第i个渲染纹理;第i个渲染纹理与一个用户界面相机相绑定;与第i个客户端相适配的游戏资源数据包括游戏视频流;
处理单元702,用于调用产生输入事件的客户端对应的处理资源响应输入事件时,具体用于执行如下步骤:
根据输入事件,通过用户界面相机捕获游戏进程中的用户界面内容;
根据用户界面内容,在游戏进程中对输入事件对应的操作进行模拟;以及,调用第i个渲染纹理对用户界面内容及模拟的操作进行渲染,并将渲染后的内容更新至游戏视频流。
在一种实现方式中,处理资源包括传输通道,第i路处理资源包括第i个传输通道;处理单元702,用于向每个客户端传输所述游戏资源数据时,具体用于执行如下步骤:
通过第i个传输通道,将与第i个客户端相适配的游戏资源数据传输至第i个客户端。
根据本申请的一个实施例,图7所示的云游戏的处理装置中的各个单元可以分别或全部合并为一个或若干个另外的单元来构成,或者其中的某个(些)单元还可以再拆分为功能上更小的多个单元来构成,这可以实现同样的操作,而不影响本申请的实施例的技术效果的实现。上述单元是基于逻辑功能划分的,在实际应用中,一个单元的功能也可以由多个单元来实现,或者多个单元的功能由一个单元实现。在本申请的其它实施例中,该云游戏的处理装置也可以包括其它单元,在实际应用中,这些功能也可以由其它单元协助实现,并且可以由多个单元协作实现。根据本申请的另一个实施例,可以通过在包括例如中央处理单元(CPU)、随机存取存储介质(RAM)、只读存储介质(ROM)等处理元件和存储元件的通用计算机的通用计算设备上运行能够执行如图4或图6中所示的相应方法所涉及的各步骤的计算机程序(包括程序代码),来构造如图7中所示的云游戏的处理装置,以及来实现本申请实施例的云游戏的处理方法。计算机程序可以记载于例如计算机可读存储介质上,并通过计算机可读存储介质装载于上述计算设备中,并在其中运行。
本申请实施例中,多个客户端可以接入至目标云游戏的同一游戏进程中,并且每个客户端各自对应游戏进程的一路处理资源,可以调用每个客户端各自对应的处理资源,获取游戏进程中与每个客户端相适配的游戏资源数据,并向每个客户端传输各自的游戏资源数据;并且当捕获到任一个客户端的输入事件时,可以调用产生输入事件的客户端对应的处理资源响应输入事件。可见,本申请实施例支持多个客户端接入至目标云游戏的同一游戏进程中,并且通过每个客户端在游戏进程中各自对应的处理资源,可以在游戏进程中对每个客户端的游戏资源数据和输入事件进行隔离;多个客户端均接入至目标云游戏的同一游戏进程中,这样游戏资源便只需加载一次,让每个客户端都能重复使用该游戏资源,有效提升了游戏服务器的资源利用率;并且游戏服务器能够承载的用户数量明显增加,有效降低了游戏服务器的运行成本。
请参见图8,图8示出了本申请一个示例性实施例提供的一种云游戏的处理设备的结构示意图,该云游戏的处理设备至少包括处理器801、计算机可读存储介质802以及通信接口803。其中,处理器801、计算机可读存储介质802以及通信接口803可通过总线或者其它方式连接。通信接口803可以用于接收客户端的游玩请求、客户端的接入请求等等,通信接口803还可以向客户端发送与该客户端相适配的游戏资源数据等等。计算机可读存储介质802可以存储在存储器中,计算机可读存储介质802用于存储计算机程序,计算机程序包括计算机指令。处理器801用于执行计算机指令。处理器801(或称CPU(Central ProcessingUnit,中央处理器))是云游戏的处理设备的计算核心以及控制核心,其适于实现一条或多条计算机指令,具体适于加载并执行一条或多条计算机指令从而实现相应方法流程或相应功能。
本申请实施例还提供了一种计算机可读存储介质(Memory),计算机可读存储介质是云游戏的处理设备中的记忆设备,用于存放程序和数据。可以理解的是,此处的计算机可读存储介质802既可以包括云游戏的处理设备中的内置存储介质,当然也可以包括云游戏的处理设备所支持的扩展存储介质。计算机可读存储介质提供存储空间,该存储空间存储了云游戏的处理设备的操作系统。并且,在该存储空间中还存放了适于被处理器801加载并执行的一条或多条的计算机指令,这些计算机指令可以是一个或多个的计算机程序(包括程序代码)。需要说明的是,此处的计算机可读存储介质802可以是高速RAM存储器,也可以是非不稳定的存储器(Non-Volatile Memory),例如至少一个磁盘存储器;可选的还可以是至少一个位于远离前述处理器801的计算机可读存储介质。
该云游戏的处理设备可以是图2或图3所示的云游戏的处理系统中的游戏服务器,该计算机可读存储介质802中存储有计算机程序,计算机程序包括一条或多条计算机指令;由处理器801加载并执行一条或多条计算机指令,以实现图4或图6所示方法实施例中的相应步骤;具体实现中,计算机可读存储介质802中的计算机指令由处理器801加载并执行如下步骤:
获取接入至目标云游戏的N个客户端,N个客户端接入至目标云游戏的同一游戏进程中,游戏进程包括N路处理资源,N个客户端与N路处理资源一一对应,N为大于1的整数;
调用N个客户端中的每个客户端各自对应的处理资源,获取游戏进程中与每个客户端相适配的游戏资源数据,并向每个客户端传输游戏资源数据;
当捕获到N个客户端中的任一个客户端的输入事件时,调用产生输入事件的客户端对应的处理资源响应输入事件。
在一种实现方式中,N个客户端中的任一个客户端表示为第i个客户端,i为小于或等于N的正整数;计算机可读存储介质802中的计算机指令由处理器801加载并且还用于执行如下步骤:
当第i个客户端接入至游戏进程时,在游戏进程中创建第i个客户端对应的第i路处理资源,第i路处理资源是N路处理资源中的任一路。
在一种实现方式中,处理资源包括渲染纹理,第i路处理资源包括第i个渲染纹理;第i个渲染纹理与一个场景相机相绑定,并且第i个渲染纹理与一个用户界面相机相绑定;与第i个客户端相适配的游戏资源数据包括游戏视频流;
计算机可读存储介质802中的计算机指令由处理器801加载并执行调用所述N个客户端中的每个客户端各自对应的处理资源,获取所述游戏进程中与所述每个客户端相适配的游戏资源数据时,具体用于执行如下步骤:
按照第i个客户端的视角,通过场景相机捕获游戏进程中的场景内容,并通过用户界面相机捕获游戏进程中的用户界面内容;
调用第i个渲染纹理对场景内容和用户界面内容进行渲染,得到游戏画面数据;
对游戏画面数据进行编码,得到游戏视频流。
在一种实现方式中,N个客户端中,一个客户端对应一个场景相机和一个用户界面相机;或者,N个客户端中,一个客户端对应一个用户界面相机,多个客户端复用一个场景相机。
在一种实现方式中,处理资源包括专有音轨,第i路处理资源包括第i路专有音轨;与第i个客户端相适配的游戏资源数据包括游戏音频流;
计算机可读存储介质802中的计算机指令由处理器801加载并执行调用所述N个客户端中的每个客户端各自对应的处理资源,获取所述游戏进程中与所述每个客户端相适配的游戏资源数据时,具体用于执行如下步骤:
获取游戏进程的全局音频;
在游戏进程中捕获第i个客户端的专有音频;
在第i路专有音轨中对全局音频和专有音频进行混合处理,得到游戏音频流。
在一种实现方式中,全局音频是指N个客户端共享的音频,全局音频包括以下至少一种:目标云游戏的背景音频,目标云游戏的环境音频;
专有音频是指第i个客户端的私有音频,专有音频包含以下至少一种:第i个客户端的用户界面音频、第i个客户端在目标云游戏中的会话音频。
在一种实现方式中,输入事件为触发场景更新的事件;处理资源包括渲染纹理,第i路处理资源包括第i个渲染纹理;第i个渲染纹理与一个场景相机相绑定;与第i个客户端相适配的游戏资源数据包括游戏视频流;
计算机可读存储介质802中的计算机指令由处理器801加载并执行调用产生所述输入事件的客户端对应的处理资源响应所述输入事件时,具体用于执行如下步骤:
根据输入事件,通过场景相机捕获游戏进程中更新后的场景内容;
调用第i个渲染纹理对更新后的场景内容进行渲染,并将渲染后的场景内容更新至游戏视频流。
在一种实现方式中,输入事件为触发用户界面更新的事件;处理资源包括渲染纹理,第i路处理资源包括第i个渲染纹理;第i个渲染纹理与一个用户界面相机相绑定;与第i个客户端相适配的游戏资源数据包括游戏视频流;
计算机可读存储介质802中的计算机指令由处理器801加载并执行调用产生输入事件的客户端对应的处理资源响应输入事件时,具体用于执行如下步骤:
根据输入事件,通过用户界面相机捕获游戏进程中的用户界面内容;
根据用户界面内容,在游戏进程中对输入事件对应的操作进行模拟;以及,调用第i个渲染纹理对用户界面内容及模拟的操作进行渲染,并将渲染后的内容更新至游戏视频流。
在一种实现方式中,处理资源包括传输通道,第i路处理资源包括第i个传输通道;计算机可读存储介质802中的计算机指令由处理器801加载并执行向每个客户端传输所述游戏资源数据时,具体用于执行如下步骤:
通过第i个传输通道,将与第i个客户端相适配的游戏资源数据传输至第i个客户端。
本申请实施例中,多个客户端可以接入至目标云游戏的同一游戏进程中,并且每个客户端各自对应游戏进程的一路处理资源,可以调用每个客户端各自对应的处理资源,获取游戏进程中与每个客户端相适配的游戏资源数据,并向每个客户端传输各自的游戏资源数据;并且当捕获到任一个客户端的输入事件时,可以调用产生输入事件的客户端对应的处理资源响应输入事件。可见,本申请实施例支持多个客户端接入至目标云游戏的同一游戏进程中,并且通过每个客户端在游戏进程中各自对应的处理资源,可以在游戏进程中对每个客户端的游戏资源数据和输入事件进行隔离;多个客户端均接入至目标云游戏的同一游戏进程中,这样游戏资源便只需加载一次,让每个客户端都能重复使用该游戏资源,有效提升了游戏服务器的资源利用率;并且游戏服务器能够承载的用户数量明显增加,有效降低了游戏服务器的运行成本。
根据本申请的一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述各种可选方式中提供的云游戏的处理方法。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。

Claims (11)

1.一种云游戏的处理方法,其特征在于,所述方法包括:
获取接入至目标云游戏的N个客户端,所述N个客户端接入至所述目标云游戏的同一游戏进程中,所述游戏进程包括N路处理资源,所述N个客户端与所述N路处理资源对应,N为大于1的整数;一路所述处理资源包括渲染纹理,所述渲染纹理分别与一个场景相机和一个用户界面相机相绑定;所述场景相机用于捕获场景内容;所述用户界面相机用于捕获用户界面内容,并对捕获到的用户界面内容渲染得到用户界面画面数据;所述N个客户端中,一个客户端对应一个用户界面相机,多个客户端复用一个场景相机;
调用所述N个客户端中的每个客户端各自对应的处理资源,获取所述游戏进程中与所述每个客户端相适配的游戏资源数据,并向所述每个客户端传输所述游戏资源数据;所述游戏资源数据包括对游戏画面数据进行编码得到的游戏视频流,所述游戏画面数据是通过调用渲染纹理对场景相机捕获到的场景内容进行渲染后,与用户界面相机渲染得到的用户界面画面数据相叠加得到的;
当捕获到所述N个客户端中的任一个客户端的输入事件时,调用产生所述输入事件的客户端对应的处理资源响应所述输入事件。
2.如权利要求1所述的方法,其特征在于,所述N个客户端中的任一个客户端表示为第i个客户端,i为小于或等于N的正整数;所述方法还包括:
当所述第i个客户端接入至所述游戏进程时,在所述游戏进程中创建所述第i个客户端对应的第i路处理资源,所述第i路处理资源是所述N路处理资源中的任一路。
3.如权利要求2所述的方法,其特征在于,所述处理资源包括渲染纹理,所述第i路处理资源包括第i个渲染纹理;所述第i个渲染纹理与一个场景相机相绑定,并且所述第i个渲染纹理与一个用户界面相机相绑定;与所述第i个客户端相适配的游戏资源数据包括游戏视频流;
所述调用所述N个客户端中的每个客户端各自对应的处理资源,获取所述游戏进程中与所述每个客户端相适配的游戏资源数据,包括:
按照所述第i个客户端的视角,通过所述场景相机捕获所述游戏进程中的场景内容,并通过所述用户界面相机捕获所述游戏进程中的用户界面内容;
调用所述第i个渲染纹理对所述场景内容和所述用户界面内容进行渲染,得到游戏画面数据;
对所述游戏画面数据进行编码,得到所述游戏视频流。
4.如权利要求2所述的方法,其特征在于,所述处理资源包括专有音轨,所述第i路处理资源包括第i路专有音轨;与所述第i个客户端相适配的游戏资源数据包括游戏音频流;
所述调用所述N个客户端中的每个客户端各自对应的处理资源,获取所述游戏进程中与所述每个客户端相适配的游戏资源数据,包括:
获取所述游戏进程的全局音频;
在所述游戏进程中捕获所述第i个客户端的专有音频;
在所述第i路专有音轨中对所述全局音频和所述专有音频进行混合处理,得到所述游戏音频流。
5.如权利要求4所述的方法,其特征在于,所述全局音频是指所述N个客户端共享的音频,所述全局音频包括以下至少一种:所述目标云游戏的背景音频,所述目标云游戏的环境音频;
所述专有音频是指所述第i个客户端的私有音频,所述专有音频包含以下至少一种:所述第i个客户端的用户界面音频、所述第i个客户端在所述目标云游戏中的会话音频。
6.如权利要求2所述的方法,其特征在于,所述输入事件为触发场景更新的事件;所述处理资源包括渲染纹理,所述第i路处理资源包括第i个渲染纹理;所述第i个渲染纹理与一个场景相机相绑定;与所述第i个客户端相适配的游戏资源数据包括游戏视频流;
所述调用产生所述输入事件的客户端对应的处理资源响应所述输入事件,包括:
根据所述输入事件,通过所述场景相机捕获所述游戏进程中更新后的场景内容;
调用所述第i个渲染纹理对所述更新后的场景内容进行渲染,并将渲染后的场景内容更新至所述游戏视频流。
7.如权利要求2所述的方法,其特征在于,所述输入事件为触发用户界面更新的事件;所述处理资源包括渲染纹理,所述第i路处理资源包括第i个渲染纹理;所述第i个渲染纹理与一个用户界面相机相绑定;与所述第i个客户端相适配的游戏资源数据包括游戏视频流;
所述调用产生所述输入事件的客户端对应的处理资源响应所述输入事件,包括:
根据所述输入事件,通过所述用户界面相机捕获所述游戏进程中的用户界面内容;
根据所述用户界面内容,在所述游戏进程中对所述输入事件对应的操作进行模拟;以及,
调用所述第i个渲染纹理对所述用户界面内容及模拟的操作进行渲染,并将渲染后的内容更新至所述游戏视频流。
8.如权利要求2所述的方法,其特征在于,所述处理资源包括传输通道,所述第i路处理资源包括第i个传输通道;所述向所述每个客户端传输所述游戏资源数据,包括:
通过所述第i个传输通道,将与所述第i个客户端相适配的游戏资源数据传输至所述第i个客户端。
9.一种云游戏的处理装置,其特征在于,所述装置包括:
获取单元,用于获取接入至目标云游戏的N个客户端,所述N个客户端接入至所述目标云游戏的同一游戏进程中,所述游戏进程包括N路处理资源,所述N个客户端与所述N路处理资源一一对应,N为大于1的整数;一路所述处理资源包括渲染纹理,所述渲染纹理分别与一个场景相机和一个用户界面相机相绑定;所述场景相机用于捕获场景内容;所述用户界面相机用于捕获用户界面内容,并对捕获到的用户界面内容渲染得到用户界面画面数据;所述N个客户端中,一个客户端对应一个用户界面相机,多个客户端复用一个场景相机;
处理单元,用于调用所述N个客户端中的每个客户端各自对应的处理资源,获取所述游戏进程中与所述每个客户端相适配的游戏资源数据,并向所述每个客户端传输所述游戏资源数据;所述游戏资源数据包括对游戏画面数据进行编码得到的游戏视频流,所述游戏画面数据是通过调用渲染纹理对场景相机捕获到的场景内容进行渲染后,与用户界面相机渲染得到的用户界面画面数据相叠加得到的;
所述处理单元,还用于当捕获到所述N个客户端中的任一个客户端的输入事件时,调用产生所述输入事件的客户端对应的处理资源响应所述输入事件。
10.一种云游戏的处理设备,其特征在于,所述设备包括:
处理器,适于实现计算机程序;以及,
计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序适于由所述处理器加载并执行如权利要求1至8任一项所述的云游戏的处理方法。
11.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质包括计算机程序,所述计算机程序适于由处理器加载并执行如权利要求1至8任一项所述的云游戏的处理方法。
CN202110639180.8A 2021-06-08 2021-06-08 一种云游戏的处理方法、装置、设备及存储介质 Active CN113209632B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110639180.8A CN113209632B (zh) 2021-06-08 2021-06-08 一种云游戏的处理方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110639180.8A CN113209632B (zh) 2021-06-08 2021-06-08 一种云游戏的处理方法、装置、设备及存储介质

Publications (2)

Publication Number Publication Date
CN113209632A CN113209632A (zh) 2021-08-06
CN113209632B true CN113209632B (zh) 2022-08-12

Family

ID=77083230

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110639180.8A Active CN113209632B (zh) 2021-06-08 2021-06-08 一种云游戏的处理方法、装置、设备及存储介质

Country Status (1)

Country Link
CN (1) CN113209632B (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111569417A (zh) * 2020-04-30 2020-08-25 北京视博云信息技术有限公司 一种云游戏的外设数据传输方法及系统
CN113407292B (zh) * 2021-08-16 2022-02-22 北京蔚领时代科技有限公司 Ui数据处理系统
CN113750526A (zh) * 2021-09-08 2021-12-07 网易(杭州)网络有限公司 游戏逻辑处理方法、装置以及电子设备
CN114404960A (zh) * 2022-02-07 2022-04-29 腾讯科技(深圳)有限公司 云游戏资源数据处理方法、装置、计算机设备和存储介质
CN114510152B (zh) * 2022-04-18 2022-07-26 梯度云科技(北京)有限公司 基于容器构建元宇宙系统的方法及装置
CN115065684B (zh) * 2022-08-17 2022-12-02 腾讯科技(深圳)有限公司 数据处理方法、装置、设备以及介质
CN115364477A (zh) * 2022-09-09 2022-11-22 网易(杭州)网络有限公司 云游戏控制方法、装置、电子设备及存储介质

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107223270A (zh) * 2016-12-28 2017-09-29 深圳前海达闼云端智能科技有限公司 一种显示数据处理方法及装置
CN110392020A (zh) * 2018-04-18 2019-10-29 网宿科技股份有限公司 一种流媒体资源的传输方法及系统
CN111084983A (zh) * 2019-11-25 2020-05-01 腾讯科技(深圳)有限公司 一种云游戏服务方法、装置、设备及存储介质
CN111951366A (zh) * 2020-07-29 2020-11-17 北京蔚领时代科技有限公司 一种云原生3d场景游戏方法和系统
CN112070874A (zh) * 2020-10-19 2020-12-11 珠海金山网络游戏科技有限公司 一种图像渲染的方法和装置
CN112312111A (zh) * 2020-10-30 2021-02-02 北京字节跳动网络技术有限公司 虚拟图像的显示方法、装置、电子设备及存储介质
CN112870711A (zh) * 2021-04-28 2021-06-01 腾讯科技(深圳)有限公司 一种云游戏的处理方法、装置、设备及存储介质

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107223270A (zh) * 2016-12-28 2017-09-29 深圳前海达闼云端智能科技有限公司 一种显示数据处理方法及装置
CN110392020A (zh) * 2018-04-18 2019-10-29 网宿科技股份有限公司 一种流媒体资源的传输方法及系统
CN111084983A (zh) * 2019-11-25 2020-05-01 腾讯科技(深圳)有限公司 一种云游戏服务方法、装置、设备及存储介质
CN111951366A (zh) * 2020-07-29 2020-11-17 北京蔚领时代科技有限公司 一种云原生3d场景游戏方法和系统
CN112070874A (zh) * 2020-10-19 2020-12-11 珠海金山网络游戏科技有限公司 一种图像渲染的方法和装置
CN112312111A (zh) * 2020-10-30 2021-02-02 北京字节跳动网络技术有限公司 虚拟图像的显示方法、装置、电子设备及存储介质
CN112870711A (zh) * 2021-04-28 2021-06-01 腾讯科技(深圳)有限公司 一种云游戏的处理方法、装置、设备及存储介质

Also Published As

Publication number Publication date
CN113209632A (zh) 2021-08-06

Similar Documents

Publication Publication Date Title
CN113209632B (zh) 一种云游戏的处理方法、装置、设备及存储介质
US11617947B2 (en) Video game overlay
US11712622B2 (en) Gaming system
JP6310073B2 (ja) 描画システム、制御方法、及び記憶媒体
US9937423B2 (en) Voice overlay
US20130339222A1 (en) System architecture and methods for composing and directing participant experiences
WO2022257699A1 (zh) 图像画面显示方法、装置、设备、存储介质及程序产品
EP4223379A1 (en) Cloud gaming processing method, apparatus and device, and storage medium
GB2517102A (en) Qualified video delivery
KR20120119504A (ko) 게임 스트리밍 서비스 시스템 및 방법
WO2024037110A1 (zh) 数据处理方法、装置、设备以及介质
CN104998412A (zh) 一种单机游戏实现方法及装置
WO2022267701A1 (zh) 虚拟对象的控制方法、装置、设备、系统及可读存储介质
JP2016524730A (ja) 情報処理装置並びにその制御方法、及びプログラム
WO2024061243A1 (en) Live stream interactive method, device, apparatus and storage medium
WO2024027611A1 (zh) 视频直播方法、装置、电子设备以及存储介质
JP2023524930A (ja) アバターを利用したカンファレンス処理方法およびシステム
JP2023527624A (ja) コンピュータプログラムおよびアバター表現方法
CN115703008A (zh) 游戏数据处理方法及装置、云游戏系统、电子设备
US11013994B2 (en) Method for playing back applications from a cloud, telecommunication network for streaming and for replaying applications (APPs) via a specific telecommunication system, and use of a telecommunication network for streaming and replaying applications (APPs)
CN114554228A (zh) 云应用的处理方法、装置、设备和存储介质
CN116958399A (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
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40051663

Country of ref document: HK

GR01 Patent grant
GR01 Patent grant