一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

直播间游戏同步方法、系统、装置、设备及存储介质与流程

2022-07-22 22:56:08 来源:中国专利 TAG:


1.本技术涉及网络直播技术领域,特别是涉及一种直播间游戏同步方法、系统、装置、设备及存储介质。


背景技术:

2.网络直播是指主播通过网络直播平台在网络上向观众分享直播音视频流的技术。借助开放、共享的网络直播平台,人们可以更加方便地展示自己的才华,在才艺展示过程中,观众可以通过参与直播互动来表达对主播的喜爱,受到观众喜爱的主播可以获得网络直播平台的分成,得到一定的收益;由于直播工作不受主播学历以及直播场地影响,普通人均可以通过直播的方式实现就业,可以有效带动社会就业。
3.在观看直播过程中,观众可以通过参与直播界面的游戏来与直播间内的其他观众或主播进行互动,对于多人在线游戏,在游戏过程中往往需要在客户端和服务端之间传输同步数据,从而实现游戏过程的同步。
4.现有技术中的游戏同步方法包括状态同步和帧同步,其中,状态同步是指客户端上传操作至服务器,服务器对游戏行为进行计算生成游戏同步数据;帧同步是指客户端上传操作至服务器,服务器将其下发至接收客户端,接收客户端生成对应的游戏同步数据,状态同步增加了服务器的计算压力以及传输数据量,帧同步需要占用接收客户端的性能,容易出现游戏不同步的情况,影响观众的直播互动体验。


技术实现要素:

5.基于此,本技术的目的在于,提供一种直播间游戏同步方法、系统、装置、设备及存储介质,提出一种直播间游戏同步方法,可以提高游戏互动过程中同步效率。
6.根据本技术实施例的第一方面,提供一种直播间游戏同步方法,所述直播间游戏同步方法包括:
7.第一客户端接收用户对直播间的操作指令;其中,所述直播间内设有游戏区域,所述游戏区域包括至少一个游戏元素;
8.第一客户端若确定所述操作指令为游戏操作指令,第一客户端获取所述直播间对应游戏的游戏运算规则,根据所述游戏操作指令以及所述游戏运算规则,获取游戏同步数据;所述游戏同步数据用于确定所述游戏区域内的游戏元素的运动轨迹;
9.第一客户端对所述游戏同步数据进行压缩,通过第一数据传输通道将压缩数据发送至第一服务器端;
10.所述第一服务器端将所述压缩数据转发至直播间内的第二客户端;
11.所述第二客户端对所述压缩数据进行解压,获取游戏同步数据,根据所述游戏同步数据在直播间界面展示所述游戏区域内的游戏元素的运动轨迹。
12.根据本技术实施例的第二方面,提供一种直播间游戏同步装置,所述装置包括:
13.操作指令接收模块,用于接收用户对直播间的操作指令;其中,所述直播间内设有
游戏区域,所述游戏区域包括至少一个游戏元素;
14.同步数据获取模块,用于若确定所述操作指令为游戏操作指令,获取所述直播间对应游戏的游戏运算规则,根据所述游戏操作指令以及所述游戏运算规则,获取游戏同步数据;所述游戏同步数据用于确定所述游戏区域内的游戏元素的运动轨迹;
15.压缩模块,用于对所述游戏同步数据进行压缩,通过第一数据传输通道将压缩数据发送至第一服务器端;
16.转发模块,用于将所述压缩数据转发至直播间内的第二客户端;
17.展示模块,用于对所述压缩数据进行解压,获取游戏同步数据,根据所述游戏同步数据在直播间界面展示所述游戏区域内的游戏元素的运动轨迹。
18.根据本技术实施例的第三方面,提供一种直播间游戏同步系统,包括第一客户端、第二客户端和第一服务器端;
19.所述第一客户端接收用户对直播间的操作指令;其中,所述直播间内设有游戏区域,所述游戏区域包括至少一个游戏元素;
20.若所述第一客户端确定所述操作指令为游戏操作指令,第一客户端获取所述直播间对应游戏的游戏运算规则,根据所述游戏操作指令以及所述游戏运算规则,获取游戏同步数据;所述游戏同步数据用于确定所述游戏区域内的游戏元素的运动轨迹;
21.所述第一客户端对所述游戏同步数据进行压缩,通过第一数据传输通道将压缩数据发送至第一服务器端;
22.所述第一服务器端将所述压缩数据转发至直播间内的第二客户端;
23.所述第二客户端对所述压缩数据进行解压,获取游戏同步数据,根据所述游戏同步数据在直播间界面展示所述游戏区域内的游戏元素的运动轨迹。
24.根据本技术实施例的第四方面,提供一种电子设备,包括:处理器和存储器;其中,所述存储器存储有计算机程序,所述计算机程序适于由所述处理器加载并执行任意一项所述的直播间游戏同步方法。
25.根据本技术实施例的第五方面,提供一种计算机可读存储介质,其上储存有计算机程序,该计算机程序被处理器执行时实现任意一项所述的直播间游戏同步方法。
26.在本技术实施例中,第一客户端在接收到用户对直播间的游戏操作指令,获取直播间对应游戏的游戏运算规则,根据游戏操作指令以及游戏运算规则获取用于确定游戏区域内的游戏元素的运动轨迹的游戏同步数据,对游戏同步数据进行压缩,通过第一数据传输通道将压缩数据发送至第一服务器端,第一服务器端将所述压缩数据转发至直播间内的第二客户端,游戏同步数据直接由第一客户端运算得到,可有效降低第一服务器端的计算压力;第二客户端对压缩数据进行解压并直接根据游戏同步数据在直播间界面展示游戏区域内的游戏元素的运动轨迹,提高游戏同步效率。
27.应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本技术。
28.为了更好地理解和实施,下面结合附图详细说明本技术。
附图说明
29.图1为本技术一个实施例提供的一种直播间游戏同步方法的应用环境的示意图;
30.图2为本技术一个实施例提供的一种直播间游戏同步方法的流程图;
31.图3为本技术一个实施例提供的一种直播间显示界面的示例图;
32.图4为本技术另一个实施例提供的一种直播间显示界面的示例图;
33.图5为本技术另一个实施例提供的一种直播间显示界面的示例图;
34.图6为本技术一个实施例提供的一种直播间游戏同步装置的结构示意图;
35.图7为本技术一个实施例提供的一种直播间游戏同步系统的结构示意图;
36.图8为本技术一个实施例提供的一种电子设备的结构示意图。
具体实施方式
37.为使本技术的目的、技术方案和优点更加清楚,下面将结合附图对本技术实施例方式作进一步地详细描述。
38.应当明确,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本技术保护的范围。
39.下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本技术相一致的所有实施方式。相反,它们仅是如所附权利要求书中所详述的、本技术的一些方面相一致的装置和方法的例子。
40.在本技术的描述中,需要理解的是,术语“第一”、“第二”、“第三”等仅用于区别类似的对象,而不必用于描述特定的顺序或先后次序,也不能理解为指示或暗示相对重要性。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本技术中的具体含义。在本技术和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。在此所使用的词语“如果”/“若”可以被解释成为“在
……
时”或“当
……
时”或“响应于确定”。此外,在本技术的描述中,除非另有说明,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
41.请参阅图1,图1为本技术一个实施例提供的一种直播点赞互动方法的应用场景示意图,该应用场景包括本技术实施例提供的服务器101、主播端102和观众端103。主播端102与观众端103通过服务器100进行交互。
42.其中,所述主播端102是指发送网络直播视频的一端,通常来说是网络直播中主播所采用的客户端。
43.所述观众端103是指接收和观看网络直播视频的一端,通常来说是网络直播中观看视频的观众所采用的客户端。
44.需要指出的是,在现有技术中会存在对“客户端”这一概念的多种理解,例如:可以将其理解为安装在计算机设备中的应用程序,或者,也可以将其理解为相对应于服务器的硬件设备。
45.在本技术实施例中,所称的“客户端”是指相对应于服务器的硬件设备,更具体来说,是指计算机设备,例如:智能手机、智能交互平板以及个人计算机等。
46.在客户端为智能手机、智能交互平板等移动设备时,用户可以在客户端上安装匹配的移动端应用程序,也可以在客户端上访问web端应用程序。
47.在客户端为个人计算机(pc机)等非移动设备时,用户可以在客户端上安装匹配的pc端应用程序,同样也可以在客户端上访问web端应用程序。
48.其中,移动端应用程序是指可安装在移动设备中的应用程序,pc端应用程序是指可安装在非移动设备中的应用程序,web端应用程序是指需通过浏览器访问的应用程序。
49.具体地,web端应用程序依据客户端类型的差异,又可以分为移动版本和pc版本,两者的页面布局方式以及可提供的服务器支持可能存在差别。
50.在本技术实施例中,提供至用户的直播应用程序的类型分为移动端直播应用程序、pc端直播应用程序和web端直播应用程序。用户可以依据其采用客户端的类型不同,自主选择其参与网络直播的方式。
51.所述主播端102和观众端103所指向的硬件,本质上是指计算机设备,具体地,如图1所示,其可以是智能手机、智能交互平板和个人计算机等类型的计算机设备。所述主播端102和观众端103均可以通过公知的网络接入方式接入互联网,与服务器101建立数据通信链路。
52.所述服务器101作为一个业务服务器,其可以负责进一步连接起相关音频数据服务器、视频流服务器以及其他提供相关支持的服务器等,以此构成逻辑上相关联的服务机群,来为相关的终端设备,例如图1中所示的主播端102和观众端103提供服务。
53.本技术实施例中,主播端102与观众客户端103可以加入同一个直播间(即直播频道),上述的直播间是指依靠互联网技术实现的一种聊天室,通常具备音视频播控功能。主播用户通过主播端102在直播间内进行直播,观众端103的观众可以登录服务器10进入直播间观看直播。
54.在直播间内,主播与观众之间可以通过语音、视频、文字等公知的线上交互方式来实现互动,一般是主播以音视频流的形式为观众用户表演节目,并且在互动过程中还可产生经济交易行为。当然,直播间的应用形态并不局限于在线娱乐,也可推广到其他相关场景中,例如视频会议场景、产品推介销售场景以及其他任何需要类似互动的场景中。
55.具体地,观众观看直播的过程如下:观众可以点击访问安装在观众端103上的直播应用程序(例如yy),并选择进入任意一个直播间,触发观众端103为该观众加载直播间界面,该直播间界面内包括若干交互组件,通过加载这些交互组件可以使观众在直播间内观看直播,并进行多种线上互动。
56.现有技术中,为提高直播间的互动趣味性,主播端102可以在直播间内创建直播间(即游戏频道),将对应用户标识的观众端拉入直播间内,观众端103可以选择在直播间内参与游戏互动,成为游戏玩家,观众端103也可以选择观看直播间内的游戏互动,成为游戏观众。
57.然而,对于直播间的多人在线游戏,在游戏过程中往往需要在客户端和服务端之间传输同步数据,从而实现游戏过程的同步。现有的游戏同步数据的数据量较大,对传输网络的带宽要求较高,容易出现游戏不同步的情况,影响观众的直播互动体验。
58.因此,针对上述问题,本技术提供了一种直播间游戏同步方法,可以提高游戏互动过程中同步数据的传输效率。
59.下面将结合附图,对本技术实施例提供的一种直播间游戏同步方法进行详细介绍。
60.请参阅图2,本技术实施例提供一种直播间游戏同步方法,包括如下步骤:
61.s101:第一客户端接收用户对直播间的操作指令;其中,所述直播间内设有游戏区域,所述游戏区域包括至少一个游戏元素;
62.操作指令为用户对直播间的操作指令
63.其中,直播间可以为游戏服务器端创建的一个虚拟的房间,直播间可以是开放式的,所有直播间内的用户均可以加入直播间;直播间也可以是封闭式的,只有受到邀请的用户可以加入直播间,其中,直播间的邀请用户可以由直播间的创建者,例如主播或者主持人确定。
64.直播间的用户可以通过参与直播间的游戏互动成为游戏玩家,也可以选择仅观看直播间的游戏互动而作为该直播间的游戏观众。
65.在一个可选的实施例中,所有直播间内的用户均可以成为游戏玩家,在另一个可选的实施例中,也可以限定游戏玩家为在直播间麦序上的用户。
66.在本技术实施例中,第一客户端可以是游戏玩家所在的客户端。
67.请参阅图3,其为本技术一个实施例的直播间显示界面示意图。如图3所示,该直播间内设置有可供用户进行游戏互动的游戏区域20,游戏区域内设置有多个游戏元素201,用户可以通过触发游戏区域的游戏元素201生成游戏操作指令。
68.游戏元素201可以在游戏区域20内处于静止、匀速运动或者按照一定规律运动。在本技术实施例中,游戏元素201可以在游戏区域20内处于静止状态。
69.s102:第一客户端若确定所述操作指令为游戏操作指令,第一客户端获取所述直播间对应游戏的游戏运算规则,根据所述游戏操作指令以及所述游戏运算规则,获取游戏同步数据;所述游戏同步数据用于确定所述游戏区域内的游戏元素的运动轨迹;
70.其中,不同的游戏具有不同的游戏运算规则,游戏运算规则可以用于计算游戏操作指令后对游戏区域内各游戏元素产生的影响及作用。
71.游戏操作指令可以直接或间接地作用在游戏区域内的一个或多个游戏元素上,在受到游戏操作指令作用时,游戏元素改变原来的运动状态,例如,游戏元素可以是由原来的静止状态转换为运动状态。
72.游戏操作指令作用的游戏元素的数量、直接作用的游戏元素以及受到游戏操作指令影响而发生运动状态改变(间接作用)的游戏元素可以根据具体的游戏运算规则以及游戏操作指令进行确定。
73.可以根据游戏运算规则以及游戏操作指令确定有较大概率受到游戏操作指令影响发生运动状态改变的游戏元素,获取该游戏元素的元素标识,将该元素标识对应的游戏元素纳入游戏同步数据的计算中,对于有较大概率不会受到游戏操作指令影响而发生运动状态改变的游戏元素,则无需计算其运动参数,从而可以降低运动参数计算的数据量,提高数据处理效率。
74.例如,对于桌球游戏,当用户击中桌球台面的其中一个桌球,桌球由原来的静止状态变为运动状态,桌球运动过程中可能与桌球台面的其他桌球碰撞,使得其他桌球的运动状态也发生了改变,此时,可以根据击球的角度、力度及桌球的速度等运动参数,确定桌球
台面的被击中的桌球,计算其对应运动参数作为游戏同步数据。对于游戏背景或悬浮在游戏区域内外的位置固定的游戏元素则无需对其进行计算,以提高数据处理效率。
75.在一个可选的实施例中,所述游戏操作指令包括操作力度信息;
76.所述获取位于第一区域范围内的游戏元素的运动参数的步骤具体包括:
77.第一客户端根据所述操作力度信息和所述游戏运算规则,获取所述游戏元素的起始速度信息;
78.第一客户端根据预设的第一阻尼系数和所述起始速度信息,基于预设的速度调整公式调整游戏元素的运动速度,当所述游戏元素的运动速度为0时,获取所述游戏元素的结束位置信息。
79.操作力度信息可以该游戏对应的游戏规则及用户的游戏操作确定,例如,可以设置为根据游戏元素的按压时长来确定操作力度,其中,按压时长越长,操作力度越大,当用户停止按压时,根据按压时长获取操作力度信息。
80.游戏运算规则可用于实现操作力度信息与起始速度信息之间的转换,例如,当操作力度越大,游戏元素运动的起始速度越大。
81.阻尼系数可用于模拟现实世界对物体的阻力,在本技术实施例中,为了提高游戏的真实性,在游戏元素开始运动时,利用阻尼系数阻止游戏元素的运动,使游戏元素的速度呈衰减状态。
82.游戏元素在阻尼力作用下随着时间的推移,运动速度逐渐减小,其中,第一阻尼系数越大,游戏元素的速度衰减越大,游戏元素从运动状态到停止运动状态耗费的时间越短。
83.速度调整公式用于指示时间、阻尼系数、起始速度和实时运动速度之间的关联关系,具体地,可以根据时间与阻尼系数计算游戏元素的衰减速度,再将其与起始速度相加,得到实时运动速度,在本技术实施例中,将目标时间、第一阻尼系数和起始速度信息代入速度调整公式,获取目标时间后游戏元素的实时运动速度。
84.其中,第一阻尼系数的具体数值以及速度调整公式可以根据具体的游戏内容进行设置。
85.由于阻尼系数在游戏元素处于高速运动时其衰减速度呈线性,而当游戏元素处于低速运动时衰减速度变慢,此时,处于运动状态的游戏元素往往需要较长时间才能停止,影响游戏同步数据的获取,因此,在一个优选的实施例中,所述调整所述游戏元素的运动速度的步骤包括
86.当所述游戏元素的运动速度大于预设的低速阈值时,根据预设的第一阻尼系数,基于速度调整公式调整下一时刻的游戏元素的运动速度;
87.当所述游戏元素的运动速度小于预设的低速阈值时,按照以下方式,获取游戏元素的阻尼系数:
[0088][0089]
其中,d1表示下一时刻的阻尼系数,d2表示第一阻尼系数,d3表示当前时刻的阻尼系数,v表示当前时刻的速度,s表示预设的速度阈值;
[0090]
根据所述下一时刻的阻尼系数,基于速度调整公式调整下一时刻的游戏元素的运动速度。
[0091]
当游戏元素的运动速度小于预设的低速阈值,令阻尼系数以指数增加方式增加,从而加快低速运动的游戏元素的速度衰减,提高同步数据获取效率。
[0092]
在另一个实施例中,还可以结合第一客户端的帧率确定是否阻尼系数以指数增加方式增加,第一客户端的帧率可以用于确定第一客户端的渲染性能,当渲染性能较差、渲染速度较慢,对应的帧率下降。
[0093]
具体地,当游戏元素的运动速度大于预设的低速阈值且第一客户端的帧率小于预设帧率阈值时,按照上述计算方式,获取下一时刻的阻尼系数,基于速度调整公式调整下一时刻的游戏元素的运动速度。
[0094]
s103:第一客户端对所述游戏同步数据进行压缩,通过第一数据传输通道将压缩数据发送至第一服务器端;
[0095]
压缩是指在不丢失有用信息的前提下,缩减数据量以减少存储空间,提高其传输、存储和处理效率,或按照一定的算法对数据进行重新组织,减少数据的冗余和存储的空间。
[0096]
第一数据传输通道可以用于实现第一客户端和第一服务器端之间的游戏同步数据的接收和发送。
[0097]
其中,第一数据传输通道可以是基于websocket协议的长连接通道,用于为用户在游戏互动过程中提供服务。
[0098]
第一服务器端可以是游戏服务器端,游戏服务器端可以为直播间的游戏互动提供相应的游戏互动服务。
[0099]
在本技术实施例中,为了提高游戏同步数据传输效率,先将游戏同步数据压缩为内存占用更小的数据包,再通过专用的第一数据传输通道来对该压缩数据包进行传输,从而提高游戏的同步速度和用户的游戏互动体验。
[0100]
在压缩游戏同步数据时,可以对游戏同步数据中的所有数据均采同一种压缩方式实现游戏同步数据的压缩,其中,压缩方式可以根据用户实际的传输需求选取,例如可以采用json编码压缩、protobuf编码压缩等现有的数据压缩方式。
[0101]
或者,在一个优选的实施例中,对所述游戏同步数据进行压缩具体包括:
[0102]
根据所述游戏同步数据的数据类型以及字节长度,从预设的多种压缩方式中获取与其数据类型以及字节长度对应的压缩方式,对所述游戏同步数据进行压缩。
[0103]
由于本技术的游戏同步数据基于游戏元素的运动参数获取,且用于确定游戏元素在游戏区域内的运动轨迹,该游戏同步数据可以包括位置坐标、速度、数量等涉及具体的数字的数据。
[0104]
因此,针对上述游戏同步数据,游戏同步数据的数据类型可以是游戏同步数据的数字表示,例如单精度浮点数、双精度浮点数和整型数据等数字表示。
[0105]
预设的压缩方式可以为用户经过预先一定数据的测试得到的对应数据类型以及对应字节长度的最优压缩方式,其中,预设的多种压缩方式包括但不限于json编码压缩、protobuf编码压缩、数据取整、数据合并等。
[0106]
具体地,在本技术实施例中,所述预设的多种压缩方式包括:
[0107]
若所述游戏同步数据的数据类型为浮点数,对其进行放大取整,转换为整型数据;
[0108]
若所述游戏同步数据的字节长度小于预设阈值,将所述字节长度小于预设阈值的若干个游戏同步数据合并存储在预设的二进制数值中。
[0109]
对于单精度浮点数(4字节)或者双精度浮点数(8字节)的数据,对其进行放大取整,转换为2字节或4字节的整型数据,降低游戏同步数据的内存占用。
[0110]
字节长度的阈值可以根据用户实际需求进行设置,在该实施例中,对于字节长度较小的数据,则可以将其合并存储在一个二进制数值中,以降低传输的数据量,提高传输效率。
[0111]
其中,二进制数值的位数可以根据游戏同步数据的大小进行确定,例如可以设置为8位的二进制数值。
[0112]
优选地,若游戏同步数据为不分正负的数据,还可以进一步将其转换为1字节的无符号整数,以进一步压缩数据。
[0113]
现有技术中,在对游戏同步数据进行传输时,往往将其转换为更加便于传输的protobuf格式,由于protobuf协议本身会额外带一些字段,影响生成的数据包的大小。因此,针对上述问题,本技术在转换为整型数据之后,还包括:
[0114]
按照预设的映射规则,将所述整型数据存储在二进制数组中的对应位置;其中,所述映射规则用于确定所述整型数据在所述二进制数组中的位置。
[0115]
二进制数组的大小可以根据游戏同步数据的具体内容进行设置。
[0116]
例如,对于起始位置坐标、结束位置、速度和加速度依次放在该二进制数组的第16、32、48等位置。在解压时,只需读取二进制数据对应位置的数据,即可得到游戏同步数据。
[0117]
s104:所述第一服务器端将所述压缩数据转发至直播间内的第二客户端;
[0118]
第二客户端可以是指与发出游戏操作指令的第一客户端处于同一直播间的其他客户端;其中,第二客户端可以是直播间内的主播端、直播间除上述发出游戏操作指令的客户端的游戏玩家所在的客户端以及直播间观看游戏互动的游戏观众所在的客户端。
[0119]
s105:所述第二客户端对所述压缩数据进行解压,获取游戏同步数据,根据所述游戏同步数据在直播间界面展示所述游戏区域内的游戏元素的运动轨迹。
[0120]
第二客户端可以根据游戏同步数据,在其对应的直播间界面中看到游戏玩家的游戏过程。以桌球为例,第二客户端根据球体的运动数据,在其直播间内渲染球体的运动轨迹,并更新游戏区域内各球体的位置信息。
[0121]
在本技术实施例中,第一客户端在接收到用户对直播间的游戏操作指令,获取直播间对应游戏的游戏运算规则,根据游戏操作指令以及游戏运算规则获取用于确定游戏区域内的游戏元素的运动轨迹的游戏同步数据,对游戏同步数据进行压缩,通过第一数据传输通道将压缩数据发送至第一服务器端,第一服务器端将所述压缩数据转发至直播间内的第二客户端,游戏同步数据直接由第一客户端运算得到,可有效降低第一服务器端的计算压力;第二客户端对压缩数据进行解压并直接根据游戏同步数据在直播间界面展示游戏区域内的游戏元素的运动轨迹,提高游戏同步效率。
[0122]
请参阅图4,其为本技术一个实施例的直播间显示界面示意图。如图4所示,该直播间显示界面包括有可供用户进行游戏互动的游戏区域300,游戏区域300包括多个与桌球相关的游戏元素,例如球杆301和多个球体302。
[0123]
用户可以控制球杆301以一定力度和角度进行击球操作。此时,游戏操作指令可以包括击球角度信息、击球力度信息以及球杆301作用的球体标识。
[0124]
球杆301作用在某个球体上使得该球体从静止状态转变为运动状态,该球体运动过程中碰撞游戏区域内的其它球体,使得游戏区域内的多个球体从静止状态转变为运动状态。
[0125]
如图4所示,多个球体在游戏区域的运动轨迹较为复杂,若直接将多个球体运动过程中的所有运动参数来作为游戏同步数据,每一次游戏操作都会带来大量的游戏同步数据,影响游戏同步数据的传输效率。
[0126]
因此,本技术实施例中,根据游戏运算规则确定待获取的运动参数,这里的待获取的运动参数可以是用于确定游戏元素的位置变化以及速度变化的关键运动参数,该关键运动参数可以包括游戏元素运动起始位置、运动结束位置、运动速度和加速度等信息。
[0127]
具体地,所述游戏同步数据包括游戏元素的初始位置信息、运动加速度信息、运动速度信息以及游戏元素结束运动后的结束位置信息;
[0128]
根据所述游戏同步数据在所述直播间界面展示所述游戏区域内的游戏元素的运动轨迹的步骤包括:
[0129]
根据所述游戏元素的初始位置信息、运动加速度信息、运动速度信息以及结束位置信息,在所述直播间界面内渲染并展示所述游戏元素的运动轨迹。
[0130]
在一个可选的实施例中,在执行游戏操作指令之后,第一客户端还可以计算该游戏操作指令获取的游戏分值,并上报至第一服务器端以实现第一客户端的游戏分值更新。
[0131]
具体地,在获取直播间内对应游戏的游戏运算规则之后,还包括以下步骤:
[0132]
第一客户端根据游戏操作指令和所述游戏运算规则,获取游戏得分信息;
[0133]
第一客户端将所述游戏得分信息进行压缩并通过第三数据传输通道传输至所述第一服务器端;其中,所述游戏得分信息包括游戏分值和客户端标识;
[0134]
所述第一服务器端对所述压缩的游戏得分信息进行解压,根据所述游戏得分信息更新对应客户端标识的游戏分值。
[0135]
例如:桌球游戏中会判断球杆碰撞的球体是否为目标球体(通常为白球),若是,判断该球体的最终位置是否在球袋内,若否,再判断该球体最先碰撞的一个球体是否为该对应的计分球体,若是,继续判断该球体在此次游戏操作后的最终位置是否在球袋内,有几个球体在此次游戏操作后的最终位置在球袋内以及相应的游戏分值,最后,得到该游戏玩家此次游戏操作的游戏分值,再根据该游戏玩家此次游戏操作的游戏分值,更新游戏玩家对应的游戏分值。
[0136]
在本实施例中,可以在游戏玩家每参与一场游戏互动后,更新其该游戏下的游戏分值,从而在其游戏分值满足奖励条件时,下发奖励数据至其对应的客户端中,从而提高用户参与游戏互动的积极性,进一步地提高其直播参与度,改善直播互动体验。
[0137]
在一个可选的实施例中,第一服务器端会统计游戏互动的游戏结果信息以及多场游戏互动的游戏结果信息,形成游戏榜单,将游戏榜单下发到对应的客户端中,从而使所有用户可以查看游戏榜单,了解游戏结果。同时,用户还可以将榜单分享到第三方平台,便于吸引更多的用户参与游戏互动。
[0138]
在一个可选的实施例中,可以基于protobuf协议,对所述游戏得分信息进行编码压缩。相较于现有的json编码压缩,基于protobuf协议进行编码压缩占用的空间更小,传输效率和编解码速度更快,可以有效提高游戏得分数据的更新效率。
[0139]
在一个可选的实施例中,直播间游戏同步方法还包括:
[0140]
若所述操作指令为互动操作指令,第一客户端获取执行所述互动操作指令后生成的互动操作数据,通过第二数据传输通道将所述互动操作数据发送至第二服务器端。
[0141]
互动操作指令用于用户对直播间执行的互动操作,其中,互动操作包括但不限于上麦、下麦、点赞、发言、赠送虚拟礼物等。
[0142]
互动操作数据为用户在直播间内执行互动操作指令后产生的互动数据。
[0143]
请参阅图5,其为一个实施例中直播间界面的示意图。如图5所示,直播间界面可以包括游戏区域20和互动区域40。
[0144]
其中,游戏区域20可以包括多个游戏元素201,用户可在游戏区域20触发或移动游戏元素201生成游戏操作指令,以执行相应的游戏操作。
[0145]
互动区域40可以包括多个互动控件401,用户可通过触发对应互动控件401生成互动操作指令,以执行对应的互动操作,所述互动操作包括但不限于点赞、发言、赠送虚拟礼物等。
[0146]
优选的,所述第一客户端获取互动操作数据的步骤具体包括:
[0147]
获取直播间对应的互动运算规则,获取互动操作数据。
[0148]
在该实施例中,将直播间对应的互动运算规则和游戏的游戏运算规则进行分离,根据操作指令调用对应的运算规则进行数据处理,游戏同步数据和互动操作数据之间相互独立,可以提高数据的获取效率。
[0149]
第二数据传输通道为与第一数据传输通道不同的数据传输通道,互动操作数据无需在游戏同步过程中进行传输,因此,本技术实施例中利用不同的数据传输通道实现互动操作数据与游戏同步数据的独立传输,以避免数据传输通道被其中一个数据占用影响另一个数据的正常传输。
[0150]
第二服务器端可以是房间服务器端,房间服务器端可以为直播间的直播互动业务提供相应的直播互动服务。
[0151]
在本技术实施例中,第一客户端接收用户的操作指令,若操作指令为游戏操作指令,第一客户端获取直播间对应游戏的游戏运算规则,根据游戏运算规则及游戏操作指令获取游戏同步数据,对游戏同步数据进行压缩,通过第一数据传输通道将压缩数据发送至第一服务器端,若操作指令为互动操作指令,第一客户端获取互动操作数据,通过第二数据传输通道将互动操作数据发送至第二服务器端,将直播间的互动操作与游戏操作进行分离,并通过不同的数据传输通道独立地进行数据传输,避免两者互相影响,可以有效提高直播间的数据传输效率。
[0152]
本实施例提供一种直播间游戏同步装置,可以用于执行本技术实施例的直播间游戏同步方法。对于本实施例中未披露的细节,请参照本技术的方法实施例。
[0153]
请参阅图6,图6是本技术实施例公开的一种直播间游戏同步装置的结构示意图。所述的直播间游戏同步装置包括:
[0154]
操作指令接收模块501,用于接收用户对直播间的操作指令;其中,所述直播间内设有游戏区域,所述游戏区域包括至少一个游戏元素;
[0155]
同步数据获取模块502,用于若确定所述操作指令为游戏操作指令,获取所述直播间对应游戏的游戏运算规则,根据所述游戏操作指令以及所述游戏运算规则,获取游戏同
步数据;所述游戏同步数据用于确定所述游戏区域内的游戏元素的运动轨迹;
[0156]
压缩模块503,用于对所述游戏同步数据进行压缩,通过第一数据传输通道将压缩数据发送至第一服务器端;
[0157]
转发模块504,用于将所述压缩数据转发至直播间内的第二客户端;
[0158]
展示模块505,用于对所述压缩数据进行解压,获取游戏同步数据,根据所述游戏同步数据在直播间界面展示所述游戏区域内的游戏元素的运动轨迹。
[0159]
如图7所示,本技术实施例还提供了一种直播间游戏同步系统600,包括第一客户端601、第二客户端602和第一服务器端603;
[0160]
第一客户端601接收用户对直播间的操作指令;其中,所述直播间内设有游戏区域,所述游戏区域包括至少一个游戏元素;
[0161]
第一客户端若确定所述操作指令为游戏操作指令,第一客户端601获取所述直播间对应游戏的游戏运算规则,根据所述游戏操作指令以及所述游戏运算规则,获取游戏同步数据;所述游戏同步数据用于确定所述游戏区域内的游戏元素的运动轨迹;
[0162]
第一客户端601对所述游戏同步数据进行压缩,通过第一数据传输通道将压缩数据发送至第一服务器端;
[0163]
所述第一服务器端603将所述压缩数据转发至直播间内的第二客户端602;
[0164]
所述第二客户端602对所述压缩数据进行解压,获取游戏同步数据,根据所述游戏同步数据在直播间界面展示所述游戏区域内的游戏元素的运动轨迹。
[0165]
本实施例提供一种电子设备,可以用于执行本技术实施例的直播间游戏同步方法的全部或部分步骤。对于本实施例中未披露的细节,请参照本技术的方法实施例。
[0166]
请参阅图8,图8为本技术实施例提供的电子设备的结构示意图。所述电子设备700可以但不限于是各种服务器、个人计算机、笔记本电脑、智能手机、平板电脑等设备的一个或多个的组合。
[0167]
在本技术较佳实施例中,所述电子设备700包括存储器701、至少一个处理器702、至少一条通信总线703及收发器704。
[0168]
本领域技术人员应该了解,图8示出的电子设备的结构并不构成本技术实施例的限定,既可以是总线型结构,也可以是星形结构,所述电子设备700还可以包括比图示更多或更少的其他硬件或者软件,或者不同的部件布置。
[0169]
在一些实施例中,所述电子设备700是一种能够按照事先设定或存储的指令,自动进行数值计算和/或信息处理的设备,其硬件包括但不限于微处理器、专用集成电路、可编程门阵列、数字处理器及嵌入式设备等。所述电子设备700还可包括客户设备,所述客户设备包括但不限于任何一种可与客户通过键盘、鼠标、遥控器、触摸板或声控设备等方式进行人机交互的电子产品,例如,个人计算机、平板电脑、智能手机、数码相机等。
[0170]
需要说明的是,所述电子设备700仅为举例,其他现有的或今后可能出现的电子产品如可适应于本技术,也应包含在本技术的保护范围以内,并以引用方式包含于此。
[0171]
在一些实施例中,所述存储器701中存储有计算机程序,所述计算机程序被所述至少一个处理器702执行时实现如所述实施例一的直播间游戏同步方法中的全部或者部分步骤。所述存储器701包括只读存储器(read-only memory,rom)、可编程只读存储器(programmable read-only memory,prom)、可擦除可编程只读存储器
(erasableprogrammable read-only memory,eprom)、一次可编程只读存储器(one-timeprogrammable read-only memory,otprom)、电子擦除式可复写只读存储器(electrically-erasable programmable read-only memory,eeprom)、只读光盘(compactdisc read-only memory,cd-rom)或其他光盘存储器、磁盘存储器、磁带存储器、或者能够用于携带或存储数据的计算机可读的任何其他介质。
[0172]
在一些实施例中,所述至少一个处理器702是所述电子设备700的控制核心(control unit),利用各种接口和线路连接整个电子设备700的各个部件,通过运行或执行存储在所述存储器701内的程序或者模块,以及调用存储在所述存储器701内的数据,以执行电子设备700的各种功能和处理数据。例如,所述至少一个处理器702执行所述存储器中存储的计算机程序时实现本技术实施例中所述的直播间游戏同步方法的全部或者部分步骤;或者实现直播间游戏同步装置的全部或者部分功能。所述至少一个处理器702可以由集成电路组成,例如可以由单个封装的集成电路所组成,也可以是由多个相同功能或不同功能封装的集成电路所组成,包括一个或者多个中央处理器(centralprocessing unit,cpu)、微处理器、数字处理芯片、图形处理器及各种控制芯片的组合等。
[0173]
在一些实施例中,所述至少一条通信总线703被设置为实现所述存储器701以及所述至少一个处理器702等之间的连接通信。
[0174]
所述电子设备700还可以包括多种传感器、蓝牙模块、wi-fi模块等,在此不再赘述。
[0175]
本实施例提供一种计算机可读存储介质,其上储存有计算机程序,所述指令适于由处理器加载并执行本技术实施例一的直播间游戏同步方法,具体执行过程可以参见实施例一的具体说明,在此不进行赘述。
[0176]
对于设备实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的设备实施例仅仅是示意性的,其中所述作为分离部件说明的组件可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本技术方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
[0177]
本领域内的技术人员应明白,本技术的实施例可提供为方法、系统、或计算机程序产品。因此,本技术可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本技术可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
[0178]
本技术是参照根据本技术实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0179]
以上仅为本技术的实施例而已,并不用于限制本技术。对于本领域技术人员来说,
本技术可以有各种更改和变化。凡在本技术的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本技术的权利要求范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献