一种游戏回放方法、装置及存储介质与流程
未命名
10-08
阅读:117
评论:0
1.本发明涉及数据处理技术领域,尤其涉及一种游戏回放方法、装置及存储介质。
背景技术:
2.目前,为满足玩家能够了解自身的发挥和对手的技能与战术,通常会向玩家提供游戏回放视频,以便玩家对游戏进行复盘。
3.相关技术中,对于回放视频需要进行记录,采用的方法是游戏客户端进程(game client,简称gac)通过游戏屏幕进行视频转码,然后压缩音频源和视频源,并通过流媒体的方式将音频源和视频源进行上传,或者将上述音频源和视频源保存在本地,其中,上传后的视频资源可以存放在服务器中,以为其他视频客户端提供游戏回放视频的点播或直播业务。还可以是通过记录游戏服务端进程(game server,简称gas)发送下来的数据包构造相应的游戏指令,并将游戏指令记录下来,并将构造的游戏指令进行压缩并上传,当用户请求播放游戏回放时,该用户所在的游戏客户端重新解释上述游戏指令,并结合使用游戏客户端进行更新和渲染,以重现游戏过程。
4.基于上述的现有技术方案,采用通过对音频源和视频源进行上传至服务器或者存储在本地,造成存储空间的浪费以及流量的浪费;另外,通过记录的游戏指令结合游戏客户端进行更新和渲染以重现游戏过程,存在无效指令和指令解释错误的问题,使得游戏回放的可靠性差。
技术实现要素:
5.本发明提供了一种游戏回放方法、装置及存储介质,以解决现有游戏回放方法中存在的存储空间浪费、流量浪费和游戏回放可靠性差的问题。
6.根据本发明的一方面,提供了一种游戏回放方法,应用于服务端,该方法包括:
7.响应于客户端发送的针对游戏回放视频的游戏回放请求,从目标服务器获取与游戏回放请求对应的游戏回放数据,其中,游戏回放数据包括游戏行为日志和游戏场景索引数据,游戏行为日志用于记录游戏对象的行为执行时刻和行为结果;
8.将游戏回放数据反馈至客户端,以使客户端基于游戏场景索引数据渲染出游戏场景,并基于游戏行为日志还原游戏对象在游戏场景中的行为数据,得到游戏回放视频,并播放游戏回放视频。
9.可选地,在从目标服务器获取与游戏回放请求对应的游戏回放数据之前,还包括:
10.响应于客户端的回放记录触发请求,获取基于客户端输入的用户操作信息;
11.基于用户操作信息控制与用户操作信息对应的游戏对象执行响应行为,并基于响应行为生成游戏行为日志,其中,响应行为包括游戏对象的行为执行时刻和行为结果;
12.获取与用户操作信息对应的游戏场景的游戏场景索引数据,将游戏行为日志和游戏场景索引数据作为游戏回放数据,并将游戏回放数据发送至目标服务器中进行存储。
13.可选地,将游戏回放数据发送至目标服务器中进行存储,包括下述操作中的至少
一项:
14.将游戏回放数据采用哈夫曼算法进行编码压缩,将压缩后的游戏回放数据发送至目标服务器中进行存储;
15.将游戏回放数据采用snappy算法进行压缩,将压缩后的游戏回放数据发送至目标服务器中进行存储;
16.将游戏回放数据转换为protocol buffers协议格式,将格式转换后的游戏回放数据发送至目标服务器中进行存储。
17.可选地,从目标服务器获取与游戏回放请求对应的游戏回放数据,包括:
18.确定与游戏回放请求对应的请求发起对象,并对请求发起对象的操作权限进行验证;
19.可选地,在操作权限验证通过的情况下,从目标服务器获取与游戏回放请求对应的游戏回放数据。
20.可选地,该游戏回放方法还包括:在与从目标服务器访问失败或者从目标服务器中未获取与游戏回放请求对应的游戏回放数据的情况下,访问预先建立的与目标服务器对应的备份服务器,以从备份服务器获取与游戏回放请求对应的游戏回放数据。
21.根据本发明的另一方面,提供了一种游戏回放方法,应用于客户端,该方法包括:
22.响应于针对游戏回放视频的视频播放触发操作,向服务端发送与游戏回放视频对应的游戏回放请求;
23.接收服务端反馈的与游戏回放请求对应的游戏回放数据,其中,游戏回放数据包括游戏行为日志以及游戏场景索引数据,游戏行为日志用于记录游戏对象的行为执行时刻和行为结果;
24.基于游戏场景索引数据渲染出游戏场景,并基于游戏行为日志还原游戏对象在游戏场景中的行为数据,得到游戏回放视频,并播放游戏回放视频。
25.可选地,基于游戏场景索引数据渲染出游戏场景,包括:
26.获取承载客户端的游戏设备的设备信息,基于设备信息确定渲染级别,基于游戏场景索引数据和渲染级别渲染出游戏场景,其中,渲染级别与游戏画面的分辨率相关联。
27.根据本发明的另一方面,提供了一种游戏回放装置,配置于服务端,该装置包括:
28.回放请求接收模块,用于响应于客户端发送的针对游戏回放视频的游戏回放请求,从目标服务器获取与游戏回放请求对应的游戏回放数据,其中,游戏回放数据包括游戏行为日志和游戏场景索引数据,游戏行为日志用于记录游戏对象的行为执行时刻和行为结果;
29.回放数据发送模块,用于将游戏回放数据反馈至客户端,以使客户端基于游戏场景索引数据渲染出游戏场景,并基于游戏行为日志还原游戏对象在游戏场景中的行为数据,得到游戏回放视频,并播放游戏回放视频。
30.根据本发明的另一方面,提供了一种游戏回放装置,配置于客户端,该装置包括:
31.回放请求发起模块,用于响应于针对游戏回放视频的视频播放触发操作,向服务端发送与游戏回放视频对应的游戏回放请求;
32.回放数据接收模块,用于接收服务端反馈的与游戏回放请求对应的游戏回放数据,其中,游戏回放数据包括游戏行为日志以及游戏场景索引数据,游戏行为日志用于记录
游戏对象的行为执行时刻和行为结果;
33.回放视频播放模块,用于基于游戏场景索引数据渲染出游戏场景,并基于游戏行为日志还原游戏对象在游戏场景中的行为数据,得到游戏回放视频,并播放游戏回放视频。
34.根据本发明的另一方面,提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机指令,计算机指令用于使处理器执行时实现本发明任一实施例的游戏回放方法。
35.本发明实施例的技术方案,通过响应于客户端发送的针对游戏回放视频的游戏回放请求,从目标服务器获取与游戏回放请求对应的游戏回放数据,其中,游戏回放数据包括游戏行为日志和游戏场景索引数据,游戏行为日志用于记录游戏对象的行为执行时刻和行为结果,可以通过服务器接收的客户端发送的游戏回放请求,从目标服务器获取与游戏回放请求对应的游戏回放数据,实现了依据游戏回放请求得到对应的游戏回放数据,用于后续获取游戏场景的源数据。将游戏回放数据反馈至客户端,以使客户端基于游戏场景索引数据渲染出游戏场景,并基于游戏行为日志还原游戏对象在游戏场景中的行为数据,得到游戏回放视频,并播放游戏回放视频,可以快速获取游戏场景数据,有助于提高游戏回放视频的快速性,基于游戏行为日志还原游戏对象在游戏场景中的行为数据的方法提高了游戏回放视频获取的可靠性,本方案实现了通过游戏回放数据确定游戏回放视频和对游戏回放视频的播放功能,避免了对游戏回放视频的源数据的存储,减少了存储空间的浪费,提高了获取游戏回放视频的源数据的速度和可靠性,进一步提升了游戏回放的可靠性。
36.应当理解,本部分所描述的内容并非旨在标识本发明的实施例的关键或重要特征,也不用于限制本发明的范围。本发明的其它特征将通过以下的说明书而变得容易理解。
附图说明
37.为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
38.图1是根据本发明实施例提供的一种游戏回放方法的流程图;
39.图2是根据本发明实施例提供的一种游戏回放方法的流程图;
40.图3是根据本发明实施例提供的一种游戏回放方法的流程图;
41.图4是根据本发明实施例提供的一种游戏回放装置的结构示意图;
42.图5是根据本发明实施例提供的一种游戏回放装置的结构示意图;
43.图6是实现本发明实施例的游戏回放方法的电子设备的结构示意图。
具体实施方式
44.为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
45.需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
46.图1为本发明实施例提供了一种游戏回放方法的流程图,本实施例可适用于需要进行游戏回放的情况,该方法可以由游戏回放装置来执行,该游戏回放装置可以采用硬件和/或软件的形式实现,该游戏回放装置可配置于服务器中。如图1所示,该方法包括:
47.s110、响应于客户端发送的针对游戏回放视频的游戏回放请求,从目标服务器获取与游戏回放请求对应的游戏回放数据。
48.其中,游戏回放数据包括游戏行为日志和游戏场景索引数据,游戏行为日志用于记录游戏对象的行为执行时刻和行为结果。
49.其中,游戏回放请求具体可以理解为是用于播放游戏回放视频的请求,也可以理解为客户端想从存放数据的设备端获取游戏回放视频的请求,设备端可以是服务器端。服务端在接收到游戏回放数据后,可以获取用于生成游戏回放视频的游戏回访相关数据反馈给客户端。目标服务器指的是存储文件数据的设备,例如,可以是远程服务器,也可以是本地存储设备。游戏场景索引数据指的是不同游戏场景对应的游戏场景数据在目标服务器中的位置信息或者指针信息,可以理解为是快速获取游戏场景数据的一种方式。游戏场景索引数据与游戏场景之间是一一对应的关系,可以通过游戏场景索引数据快速获取对应的游戏场景的源数据。需要说明的是,游戏行为日志属于是除了游戏场景之外的游戏数据。游戏数据是具体可以理解为是游戏玩家在操作游戏对象而产生的数据。
50.具体的,用户可以在客户端发送想要回放游戏回放视频的游戏回放请求,目标服务端接收该游戏回放请求,并响应该游戏回放请求,从目标服务器中读取游戏回放请求对应的游戏回放数据,即读取游戏行为日志和游戏场景索引数据。
51.示例性的,游戏客户端会在游戏主菜单或者游戏内菜单上提供游戏回放功能按钮,用户点击游戏回放功能按钮后在游戏回放视频列表中选择想看的游戏视频标签,客户端基于游戏视频标签生成对应的游戏回放请求发送给目标服务器,目标服务器接收到游戏客户端的游戏回放请求后,在目标服务器中读取与该游戏回放请求对应的游戏视频标签对应的游戏回放数据,并将该游戏回放数据发送到游戏客户端。
52.为了保证数据访问安全,可以对获取游戏回放数据的请求发起对象进行权项验证。可选的,从目标服务器获取与游戏回放请求对应的游戏回放数据,包括:确定与游戏回放请求对应的请求发起对象,并对请求发起对象的操作权限进行验证;在操作权限验证通过的情况下,从目标服务器获取与游戏回放请求对应的游戏回放数据。
53.其中,请求发起对象可以是登录游戏客户端的对象。操作权限是控制和分配不同等级的用户可使用的操作的功能,可以理解的是,不同权限等级的对象的操作权限不相同,一般地,权限等级越高,被允许执行的操作越多。
54.具体的,在请求发起对象成功登录游戏客户端的情况下,可以获取请求发起对象
的登录信息,基于该登录信息进行验证,已确定该请求发起对象的操作权限,示例性的,可以通过判断该请求发起对象对应的操作权限中是否包含可对游戏回放视频的播放权限,或者,是否具有对目标服务器的访问权限,若是,则可以认定是该请求发起对象的操作权限验证通过,反之,则认定不通过。在该请求发起对象的操作权限验证通过的情况下,从目标服务器获取与游戏回放请求对应的游戏回放数据。
55.示例性的,对于游戏回放功能的使用可以启用对请求发起对象的账户登录验证,开启防火墙过滤,对于账户登录验证成功的请求发起对象可以使用游戏回放功能,并允许请求发起对象选择想要回放的游戏视频标签,若验证失败,则不允许使用游戏回放功能。需要说明的是,部分请求发起对象登录游戏是采用匿名的方式登录游戏界面的,可选地,对于选择匿名登录游戏的请求发起对象,可以使用游戏回放功能,但是通过设置netty中的高低水位线控制流量,在加载游戏回放视频的时候限制加载速度,可以限制其每秒内流量上限,可以有效放置恶意攻击,实现了服务器承载高并发的同时兼顾服务的稳定性。
56.在上述实施例的基础上,本发明实施例的游戏回放方法还可包括:在与从目标服务器访问失败或者从目标服务器中未获取与游戏回放请求对应的游戏回放数据的情况下,访问预先建立的与目标服务器对应的备份服务器,以从备份服务器获取与游戏回放请求对应的游戏回放数据。
57.需要说明的是,为了使提高数据存储的安全性和可靠性,对于目标服务器采用主从机制,会预先部署与目标服务器对应的备份服务器,当存在与从目标服务器访问失败或者从目标服务器中未获取与游戏回放请求对应的游戏回放数据的情况的时候,则可以自动切换访问与目标服务器对应的备份服务器,从备份服务器获取与游戏回放请求对应的游戏回放数据。
58.在一个具体的实施例中,目标服务器采用主从机制,在异地机房部署与主目标服务器对应的从服务器,在对数据进行持久化的时候,都会进行关系型数据库的二进制日志同步,保证主从服务器的操作一致。当其中一台服务器出现异常无法访问的时候,主从服务器会立刻自动切换,访问备份服务器,从备份服务器获取与游戏回放请求对应的游戏回放数据,保证数据服务的稳定且可用,降低服务器异常及数据丢失的风险。
59.在本实施例中,目标服务端接收该游戏回放请求,并响应该游戏回放请求,从目标服务器中读取游戏回放请求对应的游戏回放数据,即只需要读取游戏行为日志和游戏场景索引数据,有效地减小了文件传输的大小,有助于减少流量的浪费。
60.s120、将游戏回放数据反馈至客户端,以使客户端基于游戏场景索引数据渲染出游戏场景,并基于游戏行为日志还原游戏对象在游戏场景中的行为数据,得到游戏回放视频,并播放游戏回放视频。
61.其中,游戏场景可以理解为由地图、物品、障碍、天气以及非玩家角色等场景元素构成的虚拟场景。
62.具体的,客户端接收目标服务器反馈的游戏回放数据,读取游戏回放数据中的游戏场景索引数据,通过游戏场景索引从目标服务器中查找与之匹配的游戏场景数据,对获取的游戏场景数据进行渲染处理,重现游戏过程的可视化场景;通过运行游戏行为日志,还原游戏对象在日志中的行为时刻所产生的对应的行为结果,并在已经渲染的游戏场景中进行显示,形成游戏回放视频,通过客户端播放游戏回放视频。
63.在本实施例中,通过游戏场景索引数据得到游戏场景数据,可以快速读取目标服务器中的游戏场景数据,然后通过执行行为日志还原游戏对象在游戏场景中的行为,并在已经渲染的游戏场景中显示游戏对象及其行为,避免了直接读取游戏回放视频导致的流量浪费和提高了回放视频获取的可靠性。
64.本发明实施例的技术方案,通过响应于客户端发送的针对游戏回放视频的游戏回放请求,从目标服务器获取与游戏回放请求对应的游戏回放数据,其中,游戏回放数据包括游戏行为日志和游戏场景索引数据,游戏行为日志用于记录游戏对象的行为执行时刻和行为结果,可以通过服务器接收的客户端发送的游戏回放请求,从目标服务器获取与游戏回放请求对应的游戏回放数据,实现了依据游戏回放请求得到对应的游戏回放数据,用于后续确定游戏回放视频。将游戏回放数据反馈至客户端,以使客户端基于游戏场景索引数据渲染出游戏场景,并基于游戏行为日志还原游戏对象在游戏场景中的行为数据,得到游戏回放视频,并播放游戏回放视频,实现了通过游戏回放数据确定游戏回放视频,避免了对游戏回放视频的源数据的存储,降低了存储空间的浪费,提高了获取游戏回放视频的源数据的速度和可靠性,进一步提升了游戏回放的可靠性。
65.图2为本发明实施例提供的一种游戏回放方法的流程图,本实施例是在上述实施例的方法执行之前,将游戏回放数据存储在目标服务器的方法的进一步说明,如图2所示,该方法包括:
66.s210、响应于客户端的回放记录触发请求,获取基于客户端输入的用户操作信息。
67.其中,回放记录触发请求是通过特定触发方式而生成的回放记录请求。示例性地,触发方式可以是通过点击游戏界面上的回放记录按钮,还可以是在游戏客户端中在游戏开始前进行设置,在检测到达到设置的预设时间点或发生目标触发事件(如,进入预设场景,达到预设地点或者释放预设技能等)的情况下,发起回放记录触发请求,此处不做具体限定。用户操作信息是针对游戏角色所输入用于控制该游戏角色的控制信息,例如控制游戏角色移动的信息、控制游戏角色使用道具的信息等。
68.具体的,在游戏客户端,用户通过外接鼠标设备点击游戏客户端上的回放记录按钮或者通过点触游戏客户端的触摸屏上的回放记录按钮,触发回放记录的功能,一旦客户端的回放记录功能按钮被触发,则客户端将读取当前时刻的用户操作信息。
69.s220、基于用户操作信息控制与用户操作信息对应的游戏对象执行响应行为,并基于响应行为生成游戏行为日志,其中,响应行为包括游戏对象的行为执行时刻和行为结果。
70.在本发明实施例中,游戏对象可以包括用户控制的游戏角色,还可以包括与游戏角色发生交互行为的对象,例如,游戏场景中由于游戏角色的行为发生变化的场景对象,等。
71.具体的,根据用户输入的操作信息,游戏场景中的游戏对象执行该操作信息对应的响应行为,记录该响应行为的行为执行时刻、该响应行为的产生的行为结果,生成对应的游戏行为日志。
72.示例性的,用户通过游戏客户端对游戏中的游戏对象输入操作信息,控制游戏对象按照操作信息执行对应的响应行为,产生相应的行为结果,将执行用户操作过程中产生的数据依次记录在日志文件中,比如可以是名为gameclientlog的日志文件,此日志文件的
数据包括游戏对象的行为执行时刻和行为结果。
73.在本实施例中,通过将游戏对象执行用户操作信息产生对应的响应行为,基于响应行为生成游戏行为日志,可以作为游戏回放的数据信息完成后续的游戏回放功能。
74.s230、获取与用户操作信息对应的游戏场景的游戏场景索引数据,将游戏行为日志和游戏场景索引数据作为游戏回放数据,并将游戏回放数据发送至目标服务器中进行存储。
75.需要说明的是,不同的游戏场景会有对应的游戏场景索引数据,可以在游戏场景的开发过程中生成游戏场景对应的游戏场景索引。
76.具体的,在用户登录游戏客户端进入游戏场景并输入用户操作的情况下,客户端将读取当前游戏场景以及当前游戏场景的索引数据,将上一步骤中生成的游戏行为日志和对应的游戏场景索引数据作为游戏回放数据,将游戏回放数据通过无线传输技术发送至目标服务器中进行存储。
77.可选的,将游戏回放数据发送至目标服务器中进行存储,包括下述操作中的至少一项:将游戏回放数据采用哈夫曼算法进行编码压缩,将压缩后的游戏回放数据发送至目标服务器中进行存储;将游戏回放数据采用snappy算法进行压缩,将压缩后的游戏回放数据发送至目标服务器中进行存储;将游戏回放数据转换为protocol buffers协议格式,将格式转换后的游戏回放数据发送至目标服务器中进行存储。
78.将游戏回放数据采用哈夫曼算法进行编码压缩,将压缩后的游戏回放数据发送至目标服务器中进行存储。其中,哈夫曼算法是依照字符出现的概率来构造一种最优的编码方式,实现依据使用频率来最大化节省字符的存储空间和提高传输效率的目的。具体的,采用哈夫曼算法对游戏回放数据进行编码压缩,将压缩后的游戏回放数据发送到目标服务器进行存储。
79.将游戏回放数据采用snappy算法进行压缩,将压缩后的游戏回放数据发送至目标服务器中进行存储。其中,snappy算法采用的编码单元是字节,采用小端方式存储,同时兼顾可变长度编码,旨在提供高速压缩速度和合理的压缩率。具体的,通过调用snappy对游戏回放数据进行压缩处理,将压缩后的游戏回放数据发送至目标服务器中进行存储。
80.将游戏回放数据转换为protocol buffers协议格式,将格式转换后的游戏回放数据发送至目标服务器中进行存储。具体的,在进行协议传输前,通过数据转换功能将将游戏回放数据转换为protocol buffers协议格式,将转换后的游戏回放数据发送至目标服务器中进行存储。
81.需要说明的是,将游戏回放数据发送至目标服务器中进行存储的时候,可以采用上述三种压缩方法中的任意一种方法对游戏回放数据进行压缩,得到数据压缩处理结果;还可以是采用上述三种压缩方法中的任意两种方法对游戏回放数据进行二次压缩处理,得到压缩处理结果;还可以是通过上述三种方法对游戏回放数据进行三次压缩处理,得到压缩处理结果。将获取的压缩处理结果发送到目标服务器进行存储。
82.示例性地,可以先将游戏回放数据采用哈夫曼算法进行编码压缩,再采用snappy算法对编码压缩后的游戏回放数据进行二次压缩,最后,将二次压缩后的游戏回放数据转换为protocol buffers协议格式,将格式转换后的游戏回放数据发送至目标服务器中进行存储。
83.s240、响应于客户端发送的针对游戏回放视频的游戏回放请求,从目标服务器获取与游戏回放请求对应的游戏回放数据。
84.其中,游戏回放数据包括游戏行为日志和游戏场景索引数据,游戏行为日志用于记录游戏对象的行为执行时刻和行为结果。
85.s250、将游戏回放数据反馈至客户端,以使客户端基于游戏场景索引数据渲染出游戏场景,并基于游戏行为日志还原游戏对象在游戏场景中的行为数据,得到游戏回放视频,并播放游戏回放视频。
86.本实施例的技术方案,在从目标服务器获取与游戏回放请求对应的游戏回放数据之前,通过响应客户端的回放记录请求,获取用户操作信息,基于用户操作信息获取游戏场景的游戏场景索引数据,结合游戏对象执行响应行为生成游戏行为日志,将游戏行为日志和游戏场景的游戏场景索引数据作为游戏回放数据,采用数据压缩技术对游戏回放数据进行压缩处理,将压缩后的游戏回放数据发送到目标服务器中,实现了根据游戏回放视频的存储需求对该数据进行存储的功能和存储压缩处理后的回放数据的功能,有效地降低了传输过程中文件的大小,提高了游戏回放数据传输的速度。
87.图3为本发明实施例提供了一种游戏回放方法的流程图,本实施例可适用于需要进行游戏回放的情况,该方法可以由游戏回放装置来执行,该游戏回放装置可以采用硬件和/或软件的形式实现,该游戏回放装置可配置于客户端电子设备中。如图3所示,该方法包括:
88.s310、响应于针对游戏回放视频的视频播放触发操作,向服务端发送与游戏回放视频对应的游戏回放请求。
89.具体的,在游戏客户端上触发游戏回放视频的视频播操作,比如可以通过点击客户端上的游戏回放功能按钮,客户端生成游戏回放视频对应的游戏回放请求,并将该请求发送到服务端。
90.s320、接收服务端反馈的与游戏回放请求对应的游戏回放数据。
91.其中,游戏回放数据包括游戏行为日志以及游戏场景索引数据,游戏行为日志用于记录游戏对象的行为执行时刻和行为结果。
92.具体的,服务端基于接收到的游戏回放视频对应的游戏回放请求从目标服务器中读取与之匹配的游戏回放数据,由客户端接收服务端反馈的与游戏回放请求对应的游戏回放数据。
93.s330、基于游戏场景索引数据渲染出游戏场景,并基于游戏行为日志还原游戏对象在游戏场景中的行为数据,得到游戏回放视频,并播放游戏回放视频。
94.具体的,通过游戏场景索引数据从目标服务器中读取对应的游戏场景数据,通过渲染技术根据游戏场景数据进行渲染,重现游戏场景,其中,渲染处理可以通过layaair引擎渲染环境处理。然后客户端执行游戏行为日志,根据游戏行为日志中记录的游戏对象的行为执行时刻和行为结果还原游戏对象在游戏场景中的行为,并在已通过渲染处理得到的游戏场景中进行展示,得到游戏回放视频,通过客户端对该游戏回放视频进行播放。
95.可选的,基于游戏场景索引数据渲染出游戏场景,包括:获取承载客户端的游戏设备的设备信息,基于设备信息确定渲染级别,基于游戏场景索引数据和渲染级别渲染出游戏场景,其中,渲染级别与游戏画面的分辨率相关联。
96.其中,设备信息可以理解为游戏设备的硬件配置信息。考虑到在应用场景中,可以通过游戏设备的型号信息来确定游戏设备的硬件配置信息,因此,具体的,可以通过获取承载客户端的游戏设备的型号信息,可以根据不同的型号信息选择对应渲染级别,通过对应的渲染级别对游戏场景数据进行渲染,其中,游戏场景数据可以通过游戏场景索引数据从目标服务器中读取。需要说明的是,渲染级别与游戏画面的分辨率相关联,在一些场景中,渲染级别与游戏画面的分辨率是正相关,渲染级别越高,游戏画面的分辨率也越高。
97.在具体的实施例中,可以在游戏设置中设置访问承载游戏的设备的配置信息,若设备给予了访问权限,那么可以在渲染游戏场景数据之前访问设备的配置信息,比如获取显卡型号,基于显卡型号查找对应的显卡的性能参数,确定设备可以承受的最高分辨率,可以根据设备的最高分辨率自行设置渲染级别,依据当前渲染级别对游戏场景数据进行渲染,重现游戏场景的画面,游戏场景数据基于游戏场景索引数据从目标服务器中读取。
98.在本实施例中,根据游戏设备的配置信息得到对应的设备可以承受的最高分辨率,基于设备分辨率确定渲染等级,实现了多分辨率的渲染功能,从而达到更流畅的游戏体验。
99.在本发明实施例的技术方案中,通过应用在客户端的游戏回放方法,在游戏客户端上触发游戏回放视频的视频播操作,客户端生成游戏回放视频对应的游戏回放请求,并将该请求发送到服务端,服务端基于接收到的游戏回放视频对应的游戏回放请求从目标服务器中读取与之匹配的游戏回放数据,可以提高获取游戏回放数据的速度和准确性;由客户端接收服务端反馈的与游戏回放请求对应的游戏回放数据,通过游戏场景索引数据从目标服务器中读取对应的游戏场景数据,通过渲染技术根据游戏场景数据进行渲染,重现游戏场景,提高了游戏回放数据播放的可靠性。
100.图4为本发明实施例提供的一种游戏回放装置的结构示意图,该游戏回放装置配置于服务端。如图4所示,该装置包括:回放请求接收模块410和回放数据发送模块420。
101.其中,回放请求接收模块410,用于响应于客户端发送的针对游戏回放视频的游戏回放请求,从目标服务器获取与游戏回放请求对应的游戏回放数据,其中,游戏回放数据包括游戏行为日志和游戏场景索引数据,游戏行为日志用于记录游戏对象的行为执行时刻和行为结果;回放数据发送模块420,用于将游戏回放数据反馈至客户端,以使客户端基于游戏场景索引数据渲染出游戏场景,并基于游戏行为日志还原游戏对象在游戏场景中的行为数据,得到游戏回放视频,并播放游戏回放视频。
102.本发明实施例的技术方案,通过配置于服务端的游戏回放装置,响应于客户端发送的针对游戏回放视频的游戏回放请求,从目标服务器获取与游戏回放请求对应的游戏回放数据,其中,游戏回放数据包括游戏行为日志和游戏场景索引数据,游戏行为日志用于记录游戏对象的行为执行时刻和行为结果,可以通过服务器接收的客户端发送的游戏回放请求,从目标服务器获取与游戏回放请求对应的游戏回放数据,实现了依据游戏回放请求得到对应的游戏回放数据,用于后续确定游戏回放视频。将游戏回放数据反馈至客户端,以使客户端基于游戏场景索引数据渲染出游戏场景,并基于游戏行为日志还原游戏对象在游戏场景中的行为数据,得到游戏回放视频,并播放游戏回放视频,实现了通过游戏回放数据确定游戏回放视频,避免了对游戏回放视频的源数据的存储,降低了存储空间的浪费,提高了获取游戏回放视频的源数据的速度和可靠性,进一步提升了游戏回放的可靠性。
103.可选的,游戏回放装置还包括:
104.操作信息获取模块,用于在从目标服务器获取与游戏回放请求对应的游戏回放数据之前,响应于客户端的回放记录触发请求,获取基于客户端输入的用户操作信息;
105.回放数据生成模块,基于用户操作信息控制与用户操作信息对应的游戏对象执行响应行为,并基于响应行为生成游戏行为日志,其中,响应行为包括游戏对象的行为执行时刻和行为结果;
106.回放数据存储模块,用于获取与用户操作信息对应的游戏场景的游戏场景索引数据,将游戏行为日志和游戏场景索引数据作为游戏回放数据,并将游戏回放数据发送至目标服务器中进行存储。
107.可选的,回放数据存储模块,具体用于执行下述操作中的至少一项:
108.将游戏回放数据采用哈夫曼算法进行编码压缩,将压缩后的游戏回放数据发送至目标服务器中进行存储;
109.将游戏回放数据采用snappy算法进行压缩,将压缩后的游戏回放数据发送至目标服务器中进行存储;
110.将游戏回放数据转换为protocol buffers协议格式,将格式转换后的游戏回放数据发送至目标服务器中进行存储。
111.可选地,回放请求接收模块410,包括:
112.操作权限验证单元,用于确定与所述游戏回放请求对应的请求发起对象,并对所述请求发起对象的操作权限进行验证;
113.回放数据获取单元,用于在所述操作权限验证通过的情况下,从目标服务器获取与所述游戏回放请求对应的游戏回放数据。
114.可选的,游戏回放装置还包括:
115.回放数据获取模块,用于在与从目标服务器访问失败或者从目标服务器中未获取与游戏回放请求对应的游戏回放数据的情况下,访问预先建立的与目标服务器对应的备份服务器,以从备份服务器获取与游戏回放请求对应的游戏回放数据。
116.本发明实施例所提供的游戏回放装置可执行本发明任意实施例所提供的游戏回放方法,具备执行方法相应的功能模块和有益效果。
117.图5为本发明实施例提供的一种游戏回放装置的结构示意图,该游戏回放装置配置于客户端。如图5所示,该装置包括:回放请求发起模块510、回放数据接收模块520和回放视频播放模块530。
118.其中,回放请求发起模块510,用于响应于针对游戏回放视频的视频播放触发操作,向服务端发送与游戏回放视频对应的游戏回放请求;回放数据接收模块520,用于接收服务端反馈的与游戏回放请求对应的游戏回放数据,其中,游戏回放数据包括游戏行为日志以及游戏场景索引数据,游戏行为日志用于记录游戏对象的行为执行时刻和行为结果;回放视频播放模块530,用于基于游戏场景索引数据渲染出游戏场景,并基于游戏行为日志还原游戏对象在游戏场景中的行为数据,得到游戏回放视频,并播放游戏回放视频。
119.在本发明实施例的技术方案中,通过配置于在客户端的游戏回放装置,在游戏客户端上触发游戏回放视频的视频播操作,客户端生成游戏回放视频对应的游戏回放请求,并将该请求发送到服务端,服务端基于接收到的游戏回放视频对应的游戏回放请求从目标
服务器中读取与之匹配的游戏回放数据,可以提高获取游戏回放数据的速度和准确性;由客户端接收服务端反馈的与游戏回放请求对应的游戏回放数据,通过游戏场景索引数据从目标服务器中读取对应的游戏场景数据,通过渲染技术根据游戏场景数据进行渲染,重现游戏场景,提高了游戏回放数据播放的可靠性。
120.可选的,回放视频播放模块530,具体用于:
121.获取承载客户端的游戏设备的设备信息,基于设备信息确定渲染级别,基于游戏场景索引数据和渲染级别渲染出游戏场景,其中,渲染级别与游戏画面的分辨率相关联。
122.本发明实施例所提供的游戏回放装置可执行本发明任意实施例所提供的游戏回放方法,具备执行方法相应的功能模块和有益效果。
123.图6示出了可以用来实施本发明的实施例的电子设备10的结构示意图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备(如头盔、眼镜、手表等)和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本发明的实现。
124.如图6所示,电子设备10包括至少一个处理器11,以及与至少一个处理器11通信连接的存储器,如只读存储器(rom)12、随机访问存储器(ram)13等,其中,存储器存储有可被至少一个处理器执行的计算机程序,处理器11可以根据存储在只读存储器(rom)12中的计算机程序或者从存储单元18加载到随机访问存储器(ram)13中的计算机程序,来执行各种适当的动作和处理。在ram 13中,还可存储电子设备10操作所需的各种程序和数据。处理器11、rom 12以及ram 13通过总线14彼此相连。输入/输出(i/o)接口15也连接至总线14。
125.电子设备10中的多个部件连接至i/o接口15,包括:输入单元16,例如键盘、鼠标等;输出单元17,例如各种类型的显示器、扬声器等;存储单元18,例如磁盘、光盘等;以及通信单元19,例如网卡、调制解调器、无线通信收发机等。通信单元19允许电子设备10通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
126.处理器11可以是各种具有处理和计算能力的通用和/或专用处理组件。处理器11的一些示例包括但不限于中央处理单元(cpu)、图形处理单元(gpu)、各种专用的人工智能(ai)计算芯片、各种运行机器学习模型算法的处理器、数字信号处理器(dsp)、以及任何适当的处理器、控制器、微控制器等。处理器11执行上文所描述的各个方法和处理,例如游戏回放方法。
127.在一些实施例中,游戏回放方法可被实现为计算机程序,其被有形地包含于计算机可读存储介质,例如存储单元18。在一些实施例中,计算机程序的部分或者全部可以经由rom 12和/或通信单元19而被载入和/或安装到电子设备10上。当计算机程序加载到ram 13并由处理器11执行时,可以执行上文描述的游戏回放方法的一个或多个步骤。备选地,在其他实施例中,处理器11可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行游戏回放方法。
128.本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(fpga)、专用集成电路(asic)、专用标准产品(assp)、芯片上系统的系统(soc)、负载可编程逻辑设备(cpld)、计算机硬件、固件、软件、和/或它们的组合中实
现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
129.用于实施本发明的方法的计算机程序可以采用一个或多个编程语言的任何组合来编写。这些计算机程序可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器,使得计算机程序当由处理器执行时使流程图和/或框图中所规定的功能/操作被实施。计算机程序可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
130.在本发明的上下文中,计算机可读存储介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的计算机程序。计算机可读存储介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。备选地,计算机可读存储介质可以是机器可读信号介质。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom或快闪存储器)、光纤、便捷式紧凑盘只读存储器(cd-rom)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
131.为了提供与用户的交互,可以在电子设备上实施此处描述的系统和技术,该电子设备具有:用于向用户显示信息的显示装置(例如,crt(阴极射线管)或者lcd(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给电子设备。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
132.可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(lan)、广域网(wan)、区块链网络和互联网。
133.计算系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,又称为云计算服务器或云主机,是云计算服务体系中的一项主机产品,以解决了传统物理主机与vps服务中,存在的管理难度大,业务扩展性弱的缺陷。
134.应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发明中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本发明的技术方案所期望的结果,本文在此不进行限制。
135.上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。
技术特征:
1.一种游戏回放方法,其特征在于,应用于服务端,包括:响应于客户端发送的针对游戏回放视频的游戏回放请求,从目标服务器获取与所述游戏回放请求对应的游戏回放数据,其中,所述游戏回放数据包括游戏行为日志和游戏场景索引数据,所述游戏行为日志用于记录游戏对象的行为执行时刻和行为结果;将所述游戏回放数据反馈至所述客户端,以使所述客户端基于所述游戏场景索引数据渲染出游戏场景,并基于所述游戏行为日志还原所述游戏对象在所述游戏场景中的行为数据,得到所述游戏回放视频,并播放所述游戏回放视频。2.根据权利要求1所述的方法,其特征在于,在所述从目标服务器获取与所述游戏回放请求对应的游戏回放数据之前,还包括:响应于客户端的回放记录触发请求,获取基于所述客户端输入的用户操作信息;基于所述用户操作信息控制与所述用户操作信息对应的游戏对象执行响应行为,并基于所述响应行为生成游戏行为日志,其中,所述响应行为包括所述游戏对象的行为执行时刻和行为结果;获取与所述用户操作信息对应的游戏场景的游戏场景索引数据,将所述游戏行为日志和所述游戏场景索引数据作为游戏回放数据,并将所述游戏回放数据发送至目标服务器中进行存储。3.根据权利要求2所述的方法,其特征在于,所述将所述游戏回放数据发送至目标服务器中进行存储,包括下述操作中的至少一项:将所述游戏回放数据采用哈夫曼算法进行编码压缩,将压缩后的所述游戏回放数据发送至目标服务器中进行存储;将所述游戏回放数据采用snappy算法进行压缩,将压缩后的所述游戏回放数据发送至目标服务器中进行存储;将所述游戏回放数据转换为protocolbuffers协议格式,将格式转换后的所述游戏回放数据发送至目标服务器中进行存储。4.根据权利要求1所述的方法,其特征在于,所述从目标服务器获取与所述游戏回放请求对应的游戏回放数据,包括:确定与所述游戏回放请求对应的请求发起对象,并对所述请求发起对象的操作权限进行验证;在所述操作权限验证通过的情况下,从目标服务器获取与所述游戏回放请求对应的游戏回放数据。5.权利要求1所述的方法,其特征在于,还包括:在与从目标服务器访问失败或者从目标服务器中未获取与所述游戏回放请求对应的游戏回放数据的情况下,访问预先建立的与所述目标服务器对应的备份服务器,以从所述备份服务器获取与所述游戏回放请求对应的游戏回放数据。6.一种游戏回放方法,其特征在于,应用于客户端,包括:响应于针对游戏回放视频的视频播放触发操作,向服务端发送与所述游戏回放视频对应的游戏回放请求;接收所述服务端反馈的与所述游戏回放请求对应的游戏回放数据,其中,所述游戏回放数据包括游戏行为日志以及游戏场景索引数据,所述游戏行为日志用于记录游戏对象的
行为执行时刻和行为结果;基于所述游戏场景索引数据渲染出游戏场景,并基于所述游戏行为日志还原所述游戏对象在所述游戏场景中的行为数据,得到所述游戏回放视频,并播放所述游戏回放视频。7.根据权利要求6所述的方法,其特征在于,所述基于所述游戏场景索引数据渲染出游戏场景,包括:获取承载所述客户端的游戏设备的设备信息,基于所述设备信息确定渲染级别,基于所述游戏场景索引数据和所述渲染级别渲染出游戏场景,其中,所述渲染级别与游戏画面的分辨率相关联。8.一种游戏回放装置,其特征在于,配置于服务端,包括:回放请求接收模块,用于响应于客户端发送的针对游戏回放视频的游戏回放请求,从目标服务器获取与所述游戏回放请求对应的游戏回放数据,其中,所述游戏回放数据包括游戏行为日志和游戏场景索引数据,所述游戏行为日志用于记录游戏对象的行为执行时刻和行为结果;回放数据发送模块,用于将所述游戏回放数据反馈至所述客户端,以使所述客户端基于所述游戏场景索引数据渲染出游戏场景,并基于所述游戏行为日志还原所述游戏对象在所述游戏场景中的行为数据,得到所述游戏回放视频,并播放所述游戏回放视频。9.一种游戏回放装置,其特征在于,配置于客户端,包括:回放请求发起模块,用于响应于针对游戏回放视频的视频播放触发操作,向服务端发送与所述游戏回放视频对应的游戏回放请求;回放数据接收模块,用于接收所述服务端反馈的与所述游戏回放请求对应的游戏回放数据,其中,所述游戏回放数据包括游戏行为日志以及游戏场景索引数据,所述游戏行为日志用于记录游戏对象的行为执行时刻和行为结果;回放视频播放模块,用于基于所述游戏场景索引数据渲染出游戏场景,并基于所述游戏行为日志还原所述游戏对象在所述游戏场景中的行为数据,得到所述游戏回放视频,并播放所述游戏回放视频。10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使处理器执行时实现权利要求1-5或6-7中任一项所述的游戏回放方法。
技术总结
本发明公开了一种游戏回放方法、装置及存储介质。方法包括:响应于客户端发送的针对游戏回放视频的游戏回放请求,从目标服务器获取与游戏回放请求对应的游戏回放数据,其中,游戏回放数据包括游戏行为日志和游戏场景索引数据,游戏行为日志用于记录游戏对象的行为执行时刻和行为结果;将游戏回放数据反馈至客户端,以使客户端基于游戏场景索引数据渲染出游戏场景,并基于游戏行为日志还原游戏对象在游戏场景中的行为数据,得到游戏回放视频,并播放游戏回放视频。解决了现有方法对游戏回放视频进行存储导致的存储空间浪费、大视频文件传输导致的网络流量浪费的问题和可靠性差的问题,节省了存储空间,降低了流量的浪费,提高游戏回放的可靠性。戏回放的可靠性。戏回放的可靠性。
技术研发人员:马家杰
受保护的技术使用者:广州三七极梦网络技术有限公司
技术研发日:2023.08.04
技术公布日:2023/10/6
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
飞机超市 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/
上一篇:一种汽车维修用打磨装置 下一篇:一种粮食烘干机的底座总成的制作方法
