CN107551544B - 交互式游戏过程回放系统 - Google Patents

交互式游戏过程回放系统 Download PDF

Info

Publication number
CN107551544B
CN107551544B CN201710517707.3A CN201710517707A CN107551544B CN 107551544 B CN107551544 B CN 107551544B CN 201710517707 A CN201710517707 A CN 201710517707A CN 107551544 B CN107551544 B CN 107551544B
Authority
CN
China
Prior art keywords
game
instance
computing system
application
state
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
CN201710517707.3A
Other languages
English (en)
Other versions
CN107551544A (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.)
Electronic Technology Co
Original Assignee
Electronic Technology Co
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 Electronic Technology Co filed Critical Electronic Technology Co
Publication of CN107551544A publication Critical patent/CN107551544A/zh
Application granted granted Critical
Publication of CN107551544B publication Critical patent/CN107551544B/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/85Providing additional services to players
    • A63F13/86Watching games played by other players
    • 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/20Input arrangements for video game devices
    • 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/25Output arrangements for video game devices
    • 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
    • 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/32Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers using local area network [LAN] connections
    • 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/33Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers using wide area network [WAN] connections
    • 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/33Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers using wide area network [WAN] connections
    • A63F13/332Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers using wide area network [WAN] connections using wireless networks, e.g. cellular phone networks
    • 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/33Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers using wide area network [WAN] connections
    • A63F13/335Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers using wide area network [WAN] connections using Internet
    • 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
    • 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/45Controlling the progress of the video game
    • A63F13/48Starting a game, e.g. activating a game device or waiting for other players to join a multiplayer session

Abstract

本公开内容提供了一种用于在游戏应用程序和/或其他交互式计算环境内使用的视频回放系统。视频回放系统可以用于在执行游戏应用程序期间捕获游戏过程。可以对捕获到的游戏过程视频进行处理,并将其存储在游戏应用程序内或存储在网络可访问的位置中。

Description

交互式游戏过程回放系统
技术领域
本公开内容涉及一种用于在游戏应用程序和/或其他交互式计算环境中使用的视频回放系统。
背景技术
存在有许多致力于视频游戏玩家之间的竞赛的网站和资源。一些用户使用游戏应用程序记录游戏过程(gameplay,玩游戏、游戏玩法)的视频。游戏过程视频可以与其他用户共享以展示游戏过程的不同方面,显示游戏应用程序内的用户事件、困难任务的完成、成就或其他类型的事件。视频可以在视频上传网站上共享,以供其他用户查看。一些用户参与竞赛,并提供视频以用于展示特定游戏过程方面的完成情况,诸如视频游戏等级的最快完成时间或其他类型的事件。
发明内容
本公开内容的系统、方法和设备各自具有若干创新的方面,这些创新方面没有一个能单独地诠释本文公开的所有期望属性。
一种实施方案公开了一种计算系统,包括计算机硬件,该计算机硬件配置有特定的计算机可执行指令以执行游戏应用程序,该游戏应用程序被配置成:接收用以启动与游戏应用程序的第一实例对应的游戏应用程序的第二实例的输入,其中,游戏应用程序的第一实例在广播计算系统上执行;在计算系统上加载游戏应用程序;至少部分地基于所接收的用以启动第二实例的输入来确定与游戏应用程序的第一实例相关联的游戏标识符;至少部分地基于第一实例的游戏标识符来确定与游戏应用程序的第一实例相关联的游戏过程状态;生成游戏应用程序的第二实例内的确定的游戏状态,其中,所生成的第二实例的游戏过程状态与第一实例的游戏过程状态同时运行;以及生成指令以在计算系统上的游戏应用程序内执行游戏状态的第二实例。
另一实施方案公开了一种计算机实施的方法,包括:当由配置有特定的计算机可执行指令的计算系统实施时,接收用以启动与游戏应用程序的第一实例对应的游戏应用程序的第二实例的输入,其中,游戏应用程序的第一实例在广播计算系统上执行;在计算系统上加载游戏应用程序;至少部分地基于所接收的用以启动第二实例的输入来确定与游戏应用程序的第一实例相关联的游戏标识符;至少部分地基于第一实例的游戏标识符来确定与游戏应用程序的第一实例相关联的游戏过程状态;生成游戏应用程序的第二实例内的确定的游戏状态,其中,所生成的第二实例的游戏过程状态与第一实例的游戏过程状态同时运行;以及生成指令以在计算系统上的游戏应用程序内执行具有游戏状态的第二实例。
另一实施方案公开了一种包括计算机可执行指令的非暂时性计算机可读介质,该计算机可执行指令在由计算系统执行时使该计算系统执行游戏应用程序,该游戏应用程序被配置成:接收用以启动与游戏应用程序的第一实例对应的游戏应用程序的第二实例的输入,其中,游戏应用程序的第一实例在广播计算系统上执行;在计算系统上加载游戏应用程序;至少部分地基于所接收的用以启动第二实例的输入来确定与游戏应用程序的第一实例相关联的游戏标识符;至少部分地基于第一实例的游戏标识符来确定与游戏应用程序的第一实例相关联的游戏过程状态;生成游戏应用程序的第二实例内的确定的游戏状态,其中,所生成的第二实例的游戏过程状态与第一实例的游戏过程状态同时运行;以及生成指令以在计算系统上的游戏应用程序内执行游戏状态的第二实例。
虽然本文公开了某些实施方案和实施例,但发明主题超出具体公开的实施方案中的实施例延伸至其他可替代的实施方案和/或用途,并且延伸至其修改和等同方案。
附图说明
贯穿所有附图,重复使用的附图标记用以指示所引用元件之间的对应关系。附图被提供用以示出本文所描述的发明主题的实施方案,而非限制其范围。
图1示出了游戏系统的实施方案。
图2示出了游戏设备的实施方案。
图3示出了游戏系统的元件的实施方案。
图4示出了可以实施游戏过程回放系统的一个或多个实施方案的联网计算环境的实施方案。
图5示出了用于实施游戏过程回放系统的用户界面的实施方案。
图6A和图6B示出了用于游戏过程视频的回放的界面的实施方案。
图7示出了用于记录嵌入有状态参数的游戏过程视频的过程的实施方案的流程图。
图8示出了用于基于与游戏过程视频内识别出的游戏状态相关联的状态参数子集来创建游戏过程状态的过程的实施方案的流程图。
图9示出了用于使用外部视频播放器基于与识别出的游戏状态相关联的状态参数子集来创建游戏过程状态的过程的实施方案的流程图的实施方案。
图10示出了包括视频流送(stream,流式传输)服务端的联网计算环境的实施方案。
图11示出了视频流送服务端的用户界面的实施方案。
图12A和图12B示出了游戏应用程序的实例的游戏过程界面的实施方案。
图13示出了社交网络服务端的用户界面的说明性实施方案。
图14示出了用于持续记录嵌入有状态参数的游戏过程视频的过程的实施方案的流程图。
图15示出了用于在单独的计算系统上生成同时进行的游戏实例的过程1500的实施方案的流程图。
图16示出了用于使用交互式游戏应用程序服务端对游戏应用程序进行实时交互式游戏流送的过程1600的实施方案的流程图。
具体实施方式
概述
当比较游戏过程视频时,很难确定两个游戏过程视频是否在重现具有相同游戏过程参数的同一事件。例如,在游戏过程视频完成之后,并且在将该视频上传供其他用户查看之前,可以对用户记录的视频进行编辑。在这种情况下,很难识别出玩家修改或编辑视频的时间。在一些情况下,用户很难确定特定挑战或武艺(feat,功夫、技艺)的“获胜方”。
针对上述问题的一种方案是提供一种用于在游戏应用程序和/或其他交互式计算环境内使用的视频回放系统。该视频回放系统——也称为游戏过程回放系统——可以用于在游戏应用程序的执行期间捕获游戏过程。可以对捕获到的游戏过程视频进行处理,并且将其存储在游戏应用程序内或存储在网络可访问的位置中。游戏过程片段(footage,连续镜头)可以以一定时间间隔在游戏过程视频内存储游戏过程状态参数,上述游戏过程状态参数可以用于生成由游戏过程视频展现的游戏状态。
例如,用户可以在游戏内设置特定挑战或事件,并且记录游戏过程会话(session,场次)。在记录视频时,可以将游戏过程状态参数存储在该视频内。游戏过程状态参数可以用于重现游戏的状态,使得另一玩家可以重复特定的挑战或事件。当第二个玩家观看视频时,该玩家可以使用视频来重现该视频内的任意时间点处的事件。
游戏过程状态参数可以包括用于重现游戏内的游戏状态的总参数的子集。例如,这些游戏过程参数可以包括赛车游戏内一车辆的位置,其他车辆的位置,游戏内可能在局部区域影响游戏过程的其他特征诸如其他制品的动量、速度或定位。
在一些实施方案中,可以在记录视频期间以一定时间间隔保存这些识别出的游戏过程状态参数中的每一个。在每个间隔处,系统可以记录与限定的游戏过程参数集中的每个参数相关联的值。在一种实施方案中,状态参数数据可以存储在视频文件的数据流内。在一些实施方案中,状态参数数据可以存储为与视频分离开的数据,诸如存储为链接至视频流的文件。状态参数数据可以提供用于重现视频的游戏状态的独立的点,这可以允许用户重现在游戏过程视频内的多个点处的游戏状态。
虽然现在将参照附图描述本公开内容的具体实施方案和示例性应用,但这些实施方案和示例性应用意在说明而非限制本公开内容。具体地,虽然将关于视频回放系统的说明性部件来描述本公开内容的各种实施方案和各方面,但本公开内容的一个或多个方面可以应用于不同类型或配置的视频回放系统或其组合。
视频游戏系统实施方案
图1示出了根据本公开内容的实施方案的用于向用户提供一种或多种游戏的游戏系统10。系统10包括一个或多个游戏介质12(游戏A、游戏B、游戏C)、游戏设备14和显示器16。
游戏介质12可以包括一个或多个游戏应用程序,该一个或多个游戏应用程序可以由游戏设备14使用或执行,以使用户参与游戏。游戏介质12可以存储用于由系统10执行游戏的逻辑。在一种实施方案中,被提供用于由游戏设备14执行的游戏应用程序是电子视频游戏。游戏可以单独存储在物理介质上,诸如光盘只读存储器(CD-ROM)、数字通用光盘(DVD)、游戏盒带、闪盘驱动器或其他存储介质。游戏诸如游戏A可以插入到游戏设备14中、耦合至游戏设备或与游戏设备通信,使得游戏设备14可以读取在游戏介质12上发现的游戏应用程序和/或相关游戏数据的全部或一部分。在一些情况下,游戏应用程序可以至少部分地存储在游戏设备14上,或者可以诸如通过网络从另一计算系统访问。
游戏设备14是计算设备,其包括结合在一起的或以单独元件存在的一个或多个处理器——诸如中央处理单元(CPU)、图形处理单元(GPU)——和数据存储装置。在一些实施方案中,游戏设备14可以是为了执行游戏应用程序的目的而创建的专用计算设备。由游戏设备14执行的游戏可以使用特定的应用程序编程接口(API)来创建,或者可以被编译成可以特定于游戏设备14的特定指令集。在其他情况下,游戏设备14可以是能够执行游戏应用程序和非游戏应用程序的通用计算设备。例如,游戏设备14可以是膝上型计算机或台式计算机。游戏设备14还可以连接至网络,并且游戏设备14可以通过例如经过网络访问另一计算系统来访问游戏介质12上未包括的游戏。在一些这样的实施方案中,游戏A、游戏B和/或游戏C可以整体地或部分地通过网络被访问,并且可以不用单独地存储在游戏介质12上。为了允许用户从在游戏介质12上可获得的或经由网络可获得的多个可用游戏中进行选择,显示器16可以展现由游戏介质12上的游戏应用程序提供的游戏列表。
游戏应用程序也可以称为游戏代码和/或游戏程序。游戏应用程序应被理解为包括可以由游戏设备14使用以向用户提供要玩的游戏的软件代码。游戏应用程序可以包括向游戏设备14通知要执行的处理器指令的软件代码,但也可以包括在游戏过程中使用的数据,诸如与常量、图像以及由游戏开发者创建的其他数据结构相关的数据,包括预录的动画数据。用户可以通过用户输入/输出(I/O)设备与游戏应用程序和游戏设备14交互。
图2示出了根据本公开内容的游戏设备14的实施方案。游戏设备14的其他变型可以代替本文明确展现出的示例,诸如移除游戏设备的部件或向游戏设备添加部件。如所示的,游戏设备14包括处理单元20,该处理单元与游戏设备14的其他部件交互并且还与游戏设备14的外部部件交互。包括了与游戏介质12通信的游戏介质读取器22。游戏介质读取器22可以是能够读取光盘诸如CD-ROM或DVD的光盘读取器,或者是可以接收并读取来自游戏介质12的数据的任何其他类型的读取器。
游戏设备14可以包括单独的图形处理器24。在一些情况下,图形处理器24可以内置于处理单元20。在一些这样的情况下,图形处理器24可以与处理单元20共享随机存取存储器(RAM)。可替代地或另外地,游戏设备14可以包括与处理单元20分离开的分立图形处理器24。在一些这样的情况下,图形处理器24可以具有与处理单元20分离开的RAM。游戏设备14可以是手持式视频游戏设备、专用游戏控制台计算系统、通用膝上型计算机或台式计算机、智能电话、平板电脑、汽车控制台或其他适合的系统。
游戏设备14还包括用于实现输入/输出的各种部件,诸如I/O 32、用户I/O 34、显示I/O 36和网络I/O 38。I/O 32与存储元件40交互,并且通过设备42与可移动存储介质44交互,以便为游戏设备14提供存储。处理单元20可以通过I/O 32进行通信,以存储数据,诸如游戏状态数据和任何共享的数据文件。除了存储装置40和可移动存储介质44之外,游戏设备14还被示出为包括ROM(只读存储器)46和RAM 48。RAM 48可以用于诸如在游戏过程时被频繁访问的数据。
用户I/O 34用于在处理单元20和用户设备诸如游戏控制器之间发送和接收命令。显示I/O 36提供输入/输出功能,该输入/输出功能用于显示来自正在玩的游戏的图像。网络I/O 38用于网络的输入/输出功能。在执行游戏期间,诸如当在线玩游戏或在线访问游戏时,可以使用网络I/O 38。
由显示I/O 36产生的显示输出信号包括用于在显示设备上显示由游戏设备14产生的视觉内容的信号,上述视觉内容诸如为图形、用户界面、视频和/或其他视觉内容。游戏设备14可以包括被配置成接收由显示I/O 36产生的显示输出信号的一个或多个集成显示器。根据一些实施方案,由显示I/O 36产生的显示输出信号还可以输出至外置于游戏设备14的一个或多个显示设备,诸如显示器16。
游戏设备14还可以包括可以用于游戏的其他特征,诸如时钟50、闪存52和其他部件。还可以使用音频/视频播放器56播放视频序列,诸如影片。应该理解,可以在游戏设备14中设置其他部件,并且本领域技术人员将会理解游戏设备14的其他变型。
可以在ROM 46、RAM 48或存储装置40(其可以包括硬盘、其他磁存储装置、光存储装置、其他非易失性存储装置或这些存储装置的组合或变型)中存储程序代码。在常见布置中,程序代码的一部分存储在可编程的ROM(ROM、PROM、EPROM、EEPROM等)中,并且程序代码的一部分可以存储在可移动介质诸如游戏介质12(其可以是CD-ROM、盒带、存储芯片等,或者可以根据需求通过网络或其他电子通道获得)上。一般地,发现程序代码可以在有形非暂时性信号承载介质中体现。
根据需求,能够使用RAM 48(以及其他可能的存储装置)来存储变量和其他游戏和处理器数据。通常,使用RAM,并且RAM保存在游戏过程期间生成的数据,并且还可以使RAM的一部分保留用于帧缓冲、游戏状态和/或针对解读用户输入和生成游戏显示所需的或可用的其他数据。一般地,RAM 48是易失性存储装置,并且当游戏设备14关闭或断电时,存储在RAM 48内的数据可能丢失。
当游戏设备14读取游戏介质12并提供游戏时,可以从游戏介质12中读取信息并将该信息存储在存储设备诸如RAM 48中。另外地,来自存储装置40、ROM 46、经由网络(未示出)访问的服务器或者可移动存储介质46的数据可以被读取并加载到RAM 48中。虽然数据被描述为发现于RAM 48中,但将理解,数据不一定要存储在RAM 48中,而是可以存储在处理单元20能够访问的其他存储器中或者分布在若干介质诸如游戏介质12和存储装置40中。
图3更详细地示出了游戏系统10的一些元件的实施方案,尤其是在游戏应用程序内执行游戏过程时涉及的那些元件。游戏设备14提供用户输入以根据游戏规则130控制游戏的各方面。游戏规则130可以以指令的形式具体化在游戏介质12上。游戏规则130的示例包括用于得分、可能的输入、动作/事件、响应于输入的移动等的规则。其他部件可以控制接受哪些输入、和游戏如何进行、以及游戏过程的其他方面。图3中的元件示出了用于基于各种输入在游戏内生成并渲染动画的元件。
如图3所示,通过系统100,用户输入和游戏代码/数据可以用于生成显示视频。游戏系统还操纵游戏过程和展现对应的音频输出。图3的描述集中于生成游戏的显示视频的帧。游戏引擎102接收用户输入并且确定角色事件,诸如动作、碰撞、跑动、投掷、攻击和适用于游戏的其他事件。
角色事件被传输至角色移动引擎110,该角色移动引擎确定角色响应于事件应采取的适当运动,并将那些运动传递至物理引擎112。物理引擎112为角色确定新姿势,并将那些新姿势提供给蒙皮(skinning)和渲染引擎114。引擎114又将角色图像提供给对象组合器116,以将有生命对象、无生命对象和背景对象组合到完整场景中。该完整场景被传输至渲染器118,该渲染器由此生成新帧120。
游戏代码/数据104被示出为包括游戏规则130、预录运动捕获姿势/路径132、环境设置134、约束136(诸如强度和速度约束)和骨架模型138。执行游戏的设备可以具有用于游戏状态140、角色状态142和场景对象存储144的存储器106。角色状态142可以包括用于有生命的角色的当前姿势的存储。
在运行期间,游戏引擎102读取游戏规则130并考虑游戏状态140,以到达角色事件。角色移动引擎110读取预录姿势/路径132以及角色状态142。可选的碰撞检测过程可以基于碰撞得出角色的期望运动。运动可以被表达为一组外力、目标姿势等。根据需要,角色移动引擎110还可以使用示出的其他数据元件,诸如骨架模型138,也称为装备(rig)。装备通常用在角色动画中。典型的装备可以包括一些角色部件,诸如骨架结构以及将在骨架结构上蒙皮的网。典型的装备包括角色的骨架结构,并包括多个自由度。装备还可以包括一组动画控件,该组动画控件使动画绘制器能够移动角色的各个部件,以便创建动画的运动。角色移动引擎110还可以引入随机、个性的角色移动等。
物理引擎112可以使各种角色的骨架模型、环境设置134、角色状态诸如当前姿势(例如,以位置、关节角度或其他规格表达的身体部位的位置)以及身体部位的速度(线速度和/或角速度)和由角色移动引擎110提供的运动作为该物理引擎的输入,其中由角色移动引擎提供的运动可以为一些或所有的身体部位的一组力/力矩矢量的形式。根据该信息,物理引擎112使用物理规则生成角色的新姿势,并且那些新姿势可以用于更新角色状态142,并且还被提供给渲染引擎114。在使用隐形骨架模型的情况下,角色状态142可以包括角色的可见“图形”的当前位置以及隐形玩偶骨架角色的当前位置。
蒙皮和渲染引擎114将摆姿势的角色的身体部位的表面、颜色和纹理考虑在内,并渲染角色图像。然后对象组合器116可以将角色图像与从场景对象存储器114获得的无生命对象和背景对象组合,以向渲染器118提供完整的场景。
联网计算环境
图4示出了可以实施游戏过程回放系统的一个或多个实施方案的联网计算环境400的实施方案。联网计算环境400可以包括一个或多个用户计算系统410以及一个或多个交互式计算系统440。为了简化讨论,但又不限制本公开内容,图4示出了一个用户计算系统402和一个交互式计算系统440。用户计算系统410可以经由网络430与交互式计算系统440通信。虽然示出了仅一个网络430,但可以存在多个网络430。
网络
网络430可以包括任何类型的通信网络。例如,网络430可以包括广域网(WAN)、局域网(LAN)、蜂窝网络、自组网络、卫星网络、有线网络、无线网络等中的一个或多个。此外,在一些情况下,网络430可以包括互联网。
用户计算机系统
用户计算系统410可以包括硬件和软件资源108。计算资源108可以配备有促进经由网络430(例如互联网)或内联网进行通信的联网设施和网络软件应用程序(例如,网络浏览器或移动应用程序)。用户计算系统410可以具有不同的本地计算资源108,诸如中央处理单元和架构、存储器、大容量存储装置、图形处理单元、通信网络可用性和带宽。此外,用户计算系统410可以包括任何类型的计算系统。例如,用户计算系统410可以被实施为图1和图2中详细示出的计算设备14中的一种或多种。
游戏应用程序
用户计算系统410可以基于至少部分地存储在应用程序数据存储器106中的软件代码来执行游戏应用程序420。游戏应用程序420还可以被称为视频游戏、游戏、游戏代码和/或游戏程序。游戏应用程序420应被理解为包括可以由计算设备410使用以向用户提供要玩的游戏的软件代码。游戏应用程序420可以包括向计算设备410通知要执行的处理器指令的软件代码,但也可以包括在游戏过程中使用的数据,诸如与常量、图像和其他数据结构相关的数据。在示出的实施方案中,游戏应用程序420包括游戏引擎102、游戏数据104、游戏状态信息150、记录模块422和回放模块424。记录模块422和回放模块424可以用于实施游戏过程回放系统的各方面。
用户计算系统410能够执行可以存储在分布式环境中和/或可以在分布式环境中执行的游戏应用程序420,诸如视频游戏。例如,用户计算系统410可以执行游戏的一部分,而交互式计算系统440或交互式计算系统440的游戏应用程序托管(host,主、宿留)系统442可以执行游戏的另一部分。作为一个示例,游戏可以包括由用户计算系统410执行的客户端部分以及由一个或多个应用程序托管系统442执行的服务端部分。在一些实施方案中,应用程序420可以包括分布式应用程序,或者可以是包括在用户计算系统402上执行的部分和在应用程序托管系统442中的至少一个上执行的部分的应用程序。游戏应用程序可以是任何类型的游戏,包括多玩家游戏(诸如例如大型的多玩家在线角色扮演游戏(MMORPG)、多玩家第一人称射击(FPS)、移动在线战斗竞技(MOBA)、竞速游戏、运动类游戏和其他的多玩家游戏)和单玩家游戏(诸如例如角色扮演游戏(RPG)、冒险类游戏、益智类游戏和其他单玩家游戏)。
游戏引擎
游戏引擎102可以被配置成在计算设备410内执行游戏应用程序420的操作的方面。游戏应用程序内游戏过程的方面的执行可以至少部分地基于接收到的用户输入、游戏数据104和游戏状态信息150。游戏引擎102可以根据游戏规则在游戏内执行游戏过程。游戏规则的示例可以包括用于得分、可能的输入、动作/事件、响应于输入的移动等的规则。其他部件可以控制接受哪些输入、和游戏如何进行、以及游戏过程的其他方面。游戏引擎102可以接收用户输入并确定游戏中事件,诸如动作、跳跃、跑动、投掷、攻击和适用于游戏应用程序420的其他事件。在运行操作期间,游戏引擎102可以读取游戏数据104和游戏状态信息150,以确定适当的游戏中事件。
游戏数据
游戏数据104可以包括游戏规则、预录运动捕获姿势/路径、环境设置、环境对象、约束、骨架模型、指南信息、路线信息和/或其他游戏应用程序信息。游戏数据104的至少一部分可以存储在应用程序数据存储器106中。在一些实施方案中,游戏数据104的一部分可以远程地接收和/或存储在诸如与交互式计算系统440相关联的远程数据存储器(未示出)中。在这样的实施方案中,可以在游戏应用程序的运行期间接收游戏数据。
游戏状态信息
在运行期间,游戏应用程序420可以存储游戏状态信息150,该游戏状态信息可以包括游戏状态、角色状态、环境状态、场景对象存储、路线信息和/或与游戏应用程序420的运行状态相关联的其他信息。例如,游戏状态信息150可以识别游戏应用程序420在特定时间点的状态,诸如角色位置、角色定向、角色动作、游戏等级属性以及涉及游戏应用程序的状态的其他信息。游戏状态信息可以包括:持续变化的动态状态信息,诸如角色移动位置;以及静态状态信息,诸如游戏内游戏等级的识别。在一些实施方案中,可以周期性地诸如每秒多次更新游戏状态信息的至少一部分。在一些实施方案中,可以基于事件来更新游戏状态信息。
记录模块
在一些实施方案中,记录模块422在一些实现中可以被配置成实施对具有由游戏应用程序420嵌入的状态参数的游戏过程视频的记录。记录模块422可以包括对在记录游戏过程视频期间存储的限定的状态参数集进行识别。状态参数可以存储在视频文件内、存储在单独的文件中或存储在单独的位置,诸如基于网络的数据存储器。该限定的状态参数集可以是游戏应用程序用于限定游戏环境内的游戏状态的总状态参数的子集。在一些实施方案中,该限定的状态参数集可以是创建游戏过程状态所需的最低数量的状态参数。在一些实施方案中,所记录的状态参数可以限于影响玩家角色在游戏内的动作的状态参数。在一些实施方案中,该一个或多个参数可以由游戏经销商、用户或其他人预选择。
如本文所用的,术语“玩家角色”指由用户控制的虚拟实体。玩家角色可以指由用户控制的任何实体,包括但不限于人、车辆、一群人、团队、对象或任何其他实体。
在一些实施方案中,限定的参数包括用于在游戏应用程序内生成游戏状态的状态参数。状态参数的一些示例包括位置参数(诸如例如动量、角色位置、与其他角色的接近度等)、游戏环境参数(诸如例如游戏环境内部件的状态、游戏等级、摄像机位置、道具的位置等)、玩家角色参数(诸如例如玩家道具、玩家角色等级、玩家角色属性和技能等)、非玩家角色参数(诸如例如非玩家角色位置、与玩家的接近度、游戏状态内的活动)以及用于生成游戏状态的其他类型的状态参数。
可以根据特定游戏应用程序选择和限定参数。每个游戏应用程序可以具有被记录并用于生成游戏状态的不同参数。以限定的时间间隔记录与每个限定的状态参数相关联的值。在一些实施方案中,记录模块422基于在记录时游戏的状态动态地选择状态参数。例如,限定的状态参数的数量可以根据游戏的状态变化。在一些实施方案中,无论游戏的当前状态如何,该限定的状态参数集不变。在一些实施方案中,在每个时间间隔存储所有状态参数。
在一些实施方案中,记录模块422可以确定记录状态参数的频率。在一些实施方案中,该频率可以由开发者、用户或其他人确定。记录事件之间的限定时间间隔可以是周期性的。例如,可以每秒、每两秒、每500毫秒或以任何其他限定的时间段记录该限定的状态参数集。每个记录的状态参数数据集可以独立于其他的记录数据集,使得数据集不依靠之前的数据集来重现游戏状态。在一些实施方案中,系统可以使用多个数据集来重现游戏状态。下面关于图7讨论用于记录状态参数的过程的实施方案。
回放模块
在一些实现中,回放模块424可以被配置成基于存储在游戏过程视频内的状态参数重现游戏状态。回放模块424可以部分地基于与限定的状态参数集相关联的存储值并使用与游戏应用程序420相关联的额外信息来创建游戏状态。该额外信息可以用于补充游戏过程视频中未存储的信息。使用不是特定于所保存的游戏状态的信息可能造成游戏状态的某些方面的变化。例如,体育场中的粉丝、天气、颜色或游戏状态的其他元素可能与原始状态不同。有利地,在一些实施方案中,限定的状态参数可以被配置成仅存储创建会影响用户的游戏过程特性的游戏状态所需的信息。在一些实施方案中,回放模块可以同步与游戏过程视频相关联的视频、音频和其他数据。例如,视频、音频和游戏状态数据可以存储在不同位置,诸如单独的数据存储器,并且与游戏过程视频相关联的参考标识符可以用于访问相关联的游戏过程视频数据,诸如视频、音频、游戏状态数据等。
交互式计算系统
交互式计算系统440可以包括被配置成执行应用程序420的一部分的一个或多个计算系统。交互式计算系统440可以包括使多个用户能够访问应用程序420的一部分的一个或多个计算系统。在一些实施方案中,游戏应用程序托管系统442可以托管并维护数据存储器444,该数据存储器被配置成存储与游戏应用程序托管系统442和交互式计算系统440相关联的信息。数据存储器444可以包括游戏应用程序420的游戏过程视频。游戏应用程序托管系统442可以通过网络430使视频可用于游戏应用程序。游戏应用程序托管系统442可以对由各个游戏应用程序420生成的视频内容进行处理和分类。
应用程序托管系统
交互式计算系统440可以使多个用户或计算系统能够访问由应用程序托管系统440执行或托管的游戏应用程序420的一部分。在一些实施方案中,托管应用程序系统442可以执行托管系统,以用于执行游戏环境的各方面。例如,在一种实施方案中,游戏应用程序420可以记录角色在游戏环境内的位置和/或状态。在一些实施方案中,游戏应用程序420可以是单玩家游戏,其中,应用程序托管系统442可以在与游戏应用程序420的实例通信时提供额外的功能。在一些实施方案中,应用程序托管系统440可以提供用于托管多玩家游戏实例的专用托管服务端,或者可以促进创建由用户计算设备托管的游戏实例。在一些实施方案中,托管应用程序系统442可以为用户提供休息室或其他环境,以与彼此进行虚拟交互。
用户界面
图5示出了用于实施游戏过程回放系统的用户界面500的实施方案。用户界面500可以经由游戏应用程序诸如游戏应用程序420访问。例如,用户界面500可以由执行游戏应用程序的用户访问。游戏应用程序可以为用户提供前端,以访问多个游戏过程视频。视频可以是其他用户的视频和/或用户自己的视频。
用户界面500的该实施方案包括识别视频回放系统的标题502、包括多个视频508供用户选择的选择画面506。用户界面可以包括用于基于特定准则将视频分类的类别504。视频可以包括可以用于识别视频并且促进对特定类型视频的搜索的标签或其他标识符。类别可以基于评分、查看、推荐、主题或其他准则。用户界面500可以包括供用户搜索特定视频的功能。用户可以基于游戏特定准则,诸如游戏名称、游戏等级、用户名称等,来搜索视频。用户界面可以为用户提供允许用户选择要回放的视频的界面控件。
在一些实施方案中,用户可以由于上传、查看、播放游戏过程回放系统中的游戏过程视频以及以其他方式与游戏过程回放系统中的游戏过程视频互动而受到奖励。奖励可以以游戏中货币、经验值、货币信用或者可以用于例如鼓励使用和创建内容的其他激励的形式而生成。一些奖励可以基于用户创建的视频的受欢迎程度。例如,奖励可以基于查看数量、获赞数、分享次数或回应视频,或者用于评价视频上传的受欢迎程度和质量的其他度量。例如,如果用户的视频达到一定数量的分享,则用户可以收到成就、资料徽章或其他认可。
视频可以本地存储在用户系统上、存储在远程服务器上或以组合的方式存储。视频的位置可以取决于设备特性、设备设置、用户设置或其他因素。在一些实施方案中,可以经由一般视频播放器网络位置(诸如
Figure BDA0001336993020000171
Figure BDA0001336993020000172
)或经由移动应用程序访问视频。
游戏过程视频的回放示例
图6A和图6B示出了用于回放游戏过程视频的界面600的实施方案。图6A示出了视频在第一时间点T1处的回放,而图6B示出了视频在第二时间点T2处的回放。用户界面600包括查看器602和与查看器的操作相关联的控件,其中控件包括视频的时间线612和显示视频的当前时间或相对于视频的整个时间指示当前时间的控件614。用户可以操纵控件614以选择视频内的时间点。用户界面包括控件616,用户可以选择该控件以在选定时间点加载游戏。查看器示出了当前游戏状态。在图6A中,在T1处,查看器显示游戏内的玩家车辆604、非玩家车辆606和无生命对象诸如树608。在图6B中,在T2处,查看器显示游戏内的玩家车辆604、非玩家车辆606、第二非玩家车辆610和无生命对象诸如树608。其他的界面对象也可以用于该用户界面。
在T1、T2或视频内的其他时间点处,用户可以选择控件616以进入游戏。当用户选择进入游戏控件616时,回放系统识别与所选时间点相关联的所存储状态参数,其可以在用户选择的确切时间点之前或之后,或者在存储了参数的最近时间间隔处。
在视频内显示游戏状态时,游戏系统可以使用存储在视频内的限定的状态参数集的值来重现游戏状态。在每个时间间隔,限定状态变量的一个或多个所存储值可能不同。游戏应用程序加载并使用所存储值以创建视频中在用户选择的时间间隔处显示的游戏状态。一般地,一些状态参数在每个时间段具有不同的值。一般地,在每个间隔处存储所有的游戏过程参数将需要大量的数据。照此,限定的状态参数可以仅表示用于重现游戏状态的总状态参数的一部分。所记录的总游戏过程参数的部分被具体地限定为使得可以用限定的参数创建游戏状态。游戏应用程序可以提供在没有所有游戏状态参数的情况下重现游戏状态所需的额外信息。因此,实际的游戏过程和重现的游戏过程之间可能存在一些差别。在一些实施方案中,所有的游戏过程参数均可以被记录,并且可以用于创建与游戏的游戏过程状态尽可能接近的相同重现。
参照图6A,示出了T1处的游戏过程的实施例。该实施例的示例性状态参数可以包括游戏内玩家车辆604的位置、非玩家车辆606的位置、每个车辆的速度、车辆的类型以及等级。游戏应用程序可以使用该信息来重现车辆、车辆的速度和游戏等级内的位置。为了在游戏应用程序内生成确定的游戏状态,游戏引擎可以使用视频未记录的额外状态参数。例如,限定的状态参数可以不包括对生成确定的游戏状态而言不需要的对象。每个游戏应用程序可以具有相对于其他游戏应用程序而言独特的限定状态参数集,该独特的限定状态参数集用于创建视频内显示的游戏状态。游戏引擎可以使用游戏状态参数以及与限定的状态参数相关联的游戏规则。
游戏过程捕获过程
图7示出了用于记录与状态参数相关联的游戏过程视频的过程700的实施方案的流程图。过程700可以由可以在应用程序内记录游戏过程的任何系统实施。例如,过程700的整体或部分可以尤其由游戏应用程序420、或记录模块422、游戏引擎102实施。虽然任何数量的系统均可以整体地或部分地实施过程700,但为了简化讨论,将关于这些特定的系统描述过程700。
在框702处,系统可以接收用以启动游戏过程捕获过程的输入。游戏过程捕获过程可以通过用户提供用以启动捕获过程的命令而开始。在一些实施方案中,可以由系统基于用游戏生成的触发来生成用以启动捕获过程的输入。该触发可以基于游戏应用程序内进行的事件或动作,诸如取得特定成就或完成游戏的特定部分。在一些实施方案中,触发可以是用户限定的触发(例如,用户可以设置用户偏好,以自动地记录成就),由游戏应用程序限定,由外部系统、系统管理员等设置。触发可以提供输入以在与事件相关联之前开始记录限定时间段,并且可以包括记录之前和之后的时间。
在框704处,可以将标识符与所捕获视频相关联。标识符可以是可以用于识别视频和存储的状态数据的独特标识符。当将视频文件和状态数据存储在单独的位置时,标识符可以用于将视频与状态数据相关联。在框706处,基于接收到的输入启动游戏过程捕获。
在框708处,存储初始的状态参数值的集合。状态参数可以是游戏状态的总计状态参数的子集。子集可以基于单独的游戏应用程序限定。每个游戏应用程序可以使用不同的状态参数创建游戏状态。状态参数集可以包括一个或多个参数,包括位置参数(诸如例如动量、角色位置、与其他角色的接近度等)、游戏环境参数(诸如例如游戏环境内部件的状态、游戏等级、摄像机位置、道具的位置等)、玩家角色参数(诸如例如玩家道具、玩家角色等级、玩家角色属性和技能等)、非玩家角色参数(诸如例如非玩家角色位置、与玩家的接近度、游戏状态内的活动)以及用于生成游戏状态的其他类型的状态参数。状态参数值可以存储在与视频相关联的数据流中。在一些实施方案中,状态参数值与视频流分开存储,但可以随后链接至或关联于对应的视频帧。
在框710处,以限定的间隔存储状态参数的值。间隔可以是基于时间的或基于事件的。在每个基于时间的或基于事件的间隔处,存储与状态参数相关联的值。如前所述,值可以与视频一起存储在数据流中,或者可以存储在单独的位置。基于时间的间隔可以是周期性的,诸如每秒、每两秒、500毫秒或其他时间段。在一些实施方案中,时间间隔可以变化,例如,某些类型的游戏过程可以增加或降低基于时间的间隔的频率,诸如系列的快速动作或事件。基于事件的间隔可以是不规则的时间间隔。例如,基于事件的间隔可以基于触发事件或特定状态参数的值的改变被触发。例如,在基于轮次的游戏中,基于事件的间隔可以仅在每轮结束时出现。游戏应用程序可以限定基于事件的间隔何时触发状态参数的值的存储。
系统持续以限定时间间隔存储状态参数值,直到在框712处系统接收到用以结束游戏过程捕获过程的输入。在接收到用以结束游戏过程捕获过程的输入时,在框714处游戏过程捕获过程结束。系统可以对嵌入有状态参数的视频文件进行处理和保存。在一些实施方案中,视频被本地保存在计算系统上。在一些情况下,视频被上传至基于网络的存储位置,诸如视频数据存储器444。在一些实施方案中,视频可以本地存储并上传至视频数据存储器444。可以为视频编索引,以用于更好地搜索。
游戏过程回放过程
图8示出了用于基于与游戏过程视频内识别出的游戏状态相关联的状态参数子集来创建游戏过程状态的过程800的实施方案的流程图。过程800可以由可以基于应用程序的所存储状态参数在应用程序内生成游戏过程的任何系统实施。例如,过程800的整体或部分可以尤其由游戏应用程序420或回放模块424实施。虽然任何数量的系统均可以整体地或部分地实施过程800,但为了简化讨论,将关于这些特定的系统描述过程800。
在框802处,系统可以接收用以启动游戏过程视频回放的用户输入。该输入可以来自与用户界面诸如图5中示出的用户界面进行交互的用户。在框804处,系统可以启动游戏过程视频回放,诸如图6A和图6B中示出的。
在框806处,系统可以接收用以在与视频相同的点或附近的点处开始游戏的用户输入。在框808处,系统识别与识别出的时间相关联的状态参数数据。与视频相关联的状态参数数据可以是在识别出的时间之前或之后或者离识别出的时间最近的状态参数数据。识别出的状态参数数据可以在识别出的时间之前或之后。
在框810处,系统可以加载游戏应用程序。在游戏应用程序被加载之后,在框812处,系统可以基于状态参数数据确定游戏过程状态。状态参数数据包括用于根据识别出的时间生成游戏过程状态的状态参数集。状态参数数据为游戏过程应用程序提供必要的信息,以根据视频中识别出的时间或者离识别出的时间最近的存储有状态参数数据的时间或事件来确定游戏过程状态。
在框814处,系统可以生成确定的游戏状态。游戏应用程序可以使用来自游戏应用程序的额外状态参数信息以结合与视频相关联的状态参数数据生成游戏状态。由于状态参数数据包括游戏状态参数的子集,因此游戏应用程序提供必要的状态参数以为玩家创建可操作的游戏状态。例如,系统可以添加环境对象,诸如地形、树和其他元素。
在框816处,系统向用户提供对游戏状态的访问。用户可以在与游戏过程视频中基本上相同的状态下开始游戏过程。在用户希望改变游戏状态的方面而言,用户可以返回到游戏过程视频并选择不同的时间进入游戏。
用于外部播放器的游戏过程回放过程
图9示出了用于使用外部视频播放器基于与识别出的游戏状态相关联的状态参数子集来创建游戏过程状态的过程900的实施方案的流程图。过程900可以由可以基于应用程序的所存储状态参数在应用程序内生成游戏过程的任何系统实施。例如,过程900的整体或部分可以尤其由游戏应用程序420或回放模块424实施。虽然任何数量的系统均可以整体地或部分地实施过程900,但为了简化讨论,将关于这些特定系统描述过程900。
在框902处,系统从外部视频播放器接收用以启动游戏应用程序的游戏过程的命令。外部视频播放器可以是使用通用内容共享网站(例如YouTube)查看的视频。用户可以查看视频并激活视频内的调用特定游戏应用程序的统一资源定位符(URL)。
在框904处,系统可以基于与用以启动游戏应用程序的命令相关联的标识符来识别视频的状态参数数据。例如,标识符可以存储在与视频相关联的URL中。
在框906处,系统可以识别与来自外部视频播放器的请求相关联的时间。在框908处,系统识别与识别出的时间相关联的状态参数数据。与视频相关联的状态参数数据可以是离识别出的时间最近的状态参数数据。识别出的状态参数数据可以在识别出的时间之前或之后。
在框910处,系统可以加载到游戏应用程序系统中。在游戏应用程序被加载之后,在框912处,系统可以基于状态参数数据确定游戏过程状态。状态参数数据包括用于根据识别出的时间生成游戏过程状态的状态参数集。状态参数数据为游戏过程应用程序提供必要的信息,以根据视频中识别出的时间确定游戏过程状态。
在框914处,系统可以生成确定的游戏状态。游戏应用程序可以使用来自游戏应用程序的额外状态参数信息以结合与视频相关联的状态参数数据生成游戏状态。由于状态参数数据包括游戏状态参数的子集,因此游戏应用程序提供必要的状态参数以为玩家创建可操作的游戏状态。例如,系统可以添加环境对象,诸如地形、树和其他元素。
在框916处,系统向用户提供对游戏状态的访问。用户可以在与游戏过程视频中基本上相同的状态下开始游戏过程。在用户希望改变游戏状态的方面而言,用户可以返回到游戏过程视频并选择不同的时间进入游戏。
多玩家
在一些实施方案中,可以记录在单个游戏状态内包括多个玩家角色的游戏过程视频。在这样的实施方案中,状态参数数据可以细分为用于每个玩家的单独数据流。在一些实施方案中,可以为每个角色创建视频,而在其他实施方案中,单个视频可以包括多个角色的数据流,而不包括与其他角色的游戏过程相关联的单独音频/视觉流。在这样的实施方案中,玩家可以邀请朋友参与完成基于团队的游戏过程事件。
具有游戏过程内容的直播视频
在一些实施方案中,直播动作序列可以用作创建与直播视频匹配的游戏过程的模板,诸如例如来自影片的直播动作序列。可以在视频游戏应用程序内重现直播动作序列,并且可以向直播动作视频添加游戏过程信息。以这种方式,观看直播动作视频或影片的用户可以选择视频内的限定时间以进入视频游戏应用程序内的游戏过程状态。
跨平台使用
在一些实施方案中,视频可以跨不同游戏平台共享。例如,在第二运行环境中操作游戏应用程序的用户可以查看并使用在第一运行环境中运行的游戏应用程序中记录的视频。例如,操作PlayStation 4的用户可以记录可以在Xbox One上访问的嵌入有游戏过程参数的视频。
联网计算环境和视频流送服务端
图10示出了联网计算环境1000的实施方案。联网计算环境1000可以实施游戏过程回放系统的一个或多个实施方案。联网计算环境1000、可以包括广播计算系统1002、一个或多个查看者计算系统1004和1006以及一个或多个交互式计算系统440。为了简化讨论,但不限制本公开内容,图10示出了一个交互式计算系统440。广播计算系统1002和查看者计算系统1004、1006可以经由网络430与交互式计算系统440和视频流送服务端1010通信。虽然示出了仅一个网络430,但可以存在多个网络430。
视频流送服务端
视频流送服务端1010可以从广播内容的用户处流送内容。广播内容可以由广播计算系统1002提供。广播计算系统1002可以与在视频流送服务端1010上具有用户账户的用户相关联。广播用户可以提供与视频游戏应用程序相关联的广播,其中,该广播包括用户实时玩游戏应用程序的直播流。例如,广播可以包括视频游戏的攻略、电子竞技比赛的广播、创意内容和其他类型的内容。
视频流送服务端1010可以向查看用户——也被称为查看者——提供用于查看内容的各种选项。可以直播查看或按需查看来自视频流送服务端的内容。可以查看各种质量水平(诸如例如高清晰度或标准清晰度)的内容。使用查看者计算系统1004、1006与视频流送服务端1010对接的查看用户可以访问搜索功能,以访问各种类型的流送视频内容。例如,用户能够通过游戏标题、特色游戏、事件、广播者、受欢迎程度、视频游戏系统、最喜欢的频道或其他主题来搜索内容。视频流送服务端可以提供聊天功能,该聊天功能向用户提供与广播者和其他查看者通信的界面。聊天功能可以包括基于音频和文本的聊天系统。在一些实施方案中,流可以包括与广播者不同的解说者,该解说者提供对游戏应用程序的游戏过程的音频评论。流送视频服务端1010还可以提供将多个内容流并入到查看者能够查看的单个流中的流送能力。例如,流送通道可以包括:游戏应用程序420的流(包括来自游戏应用程序的游戏过程的音频和视频数据),也称为游戏过程流;以及广播者的流(包括广播者的音频和/或视频数据),也称为广播者流。
游戏应用程序接口模块1012
游戏应用程序接口模块1012可以被配置成与广播计算系统1002上的流送服务端模块1014对接,以便将内容直接流送至视频流送服务端1010。例如,游戏应用程序接口模块1012可以被配置成与以下项对接:游戏控制台(诸如例如
Figure BDA0001336993020000251
控制台)、游戏托管软件应用程序(诸如例如Electronic Art的Origin软件)、特定游戏应用程序、视频卡软件应用程序和提供可以向视频流送服务端1010广播游戏过程流的其他系统。在一些实施方案中,游戏过程流可以包括与游戏应用程序的直播游戏过程会话相关联的游戏过程数据,诸如游戏过程状态信息。游戏应用程序接口模块1012可以与交互式计算系统440通信。在一些实施方案中,游戏应用程序接口模块可以具有插件式模块,该插件式模块被配置成将与游戏过程流相关联的游戏过程信息传送至交互式计算系统440。例如,视频流送服务端1010可以向交互式游戏应用程序服务端1020提供游戏过程信息,该游戏过程信息用于向查看者诸如查看者计算系统1006提供对流送游戏应用程序的访问。
广播计算系统
广播计算系统1002可以包括硬件和软件计算资源108。广播计算系统1002可以具有不同的本地计算资源108、联网设施、一个或多个应用程序数据存储器106,并且广播计算系统可以被配置成执行游戏应用程序420。本文参考至少图4描述了包括游戏引擎102、游戏数据104、游戏状态信息150和记录模块422的游戏应用程序420的执行。在所示实施方案中,广播计算系统1002包括记录模块422。在一些实施方案中,游戏应用程序420可以额外地包括回放模块424,本文参考至少图4进一步描述了回放模块的运行。广播计算系统1002还包括流送服务端模块1014。广播计算系统1002可以是任何类型的计算系统,诸如游戏控制台、手持式游戏控制台、移动计算设备、膝上型计算机或台式计算机等。例如,用户计算系统410可以实施为图1、图2和图4中进一步详细示出的计算设备14中的一种或多种。
流送服务端模块1014
流送服务端模块1014可以被配置成与视频流送服务端1010上的游戏应用程序接口模块1012对接,以便将内容直接流送至视频流送服务端1010。例如,流送服务端模块1014可以集成到广播计算系统1002上的硬件和/或软件中。例如,流送服务端模块1010可以集成到计算系统的部件的硬件和/或固件(诸如例如游戏控制台)、游戏托管软件应用程序(诸如例如Electronic Art的Origin软件)、特定游戏应用程序、图形卡软件应用程序和提供用于与视频流送服务端1010对接以播放视频游戏应用程序420的游戏过程会话的功能的其他系统中。流送服务端模块还可以被配置成与视频流送服务端1010对接,以便提供游戏过程流(包括游戏应用程序的音频和/或视频流)和/或广播者流(包括广播者的音频和/或视频流)。在一些实施方案中,游戏过程流可以包括与游戏应用程序的直播游戏过程会话相关联的游戏过程数据,诸如游戏过程状态信息。
交互式计算系统
交互式计算系统440可以包括与游戏应用程序420相关联的一个或多个计算系统。此外,交互式计算系统440可以包括一个或多个游戏应用程序托管系统442,从而使多个用户能够访问应用程序420的一部分。在一些实施方案中,应用程序托管系统442可以被配置成执行在计算系统(诸如广播计算系统1002)上执行的游戏应用程序420的至少一部分。在一些实施方案中,游戏应用程序托管系统442可以托管并维护数据存储器444,该数据存储器被配置成存储与游戏应用程序托管系统442和交互式计算系统440相关联的信息。数据存储器444可以包括与多个游戏应用程序420相关联的游戏过程视频。在一些实施方案中,交互式计算系统440可以包括交互式游戏应用程序服务端1020。交互式计算系统可以与广播计算系统1002、查看者计算系统1004和1006以及视频流送服务端1010对接,以实施游戏应用程序回放系统的各方面。
交互式游戏应用程序服务端
交互式游戏应用程序服务端1020可以被配置成与交互式游戏应用程序客户端1022通信,以便使用在游戏应用程序流送服务端1020本地的计算资源执行游戏应用程序420。交互式游戏应用程序服务端1022可以被配置成将信息传送至交互式游戏应用程序客户端1020,以用于运行和输出由游戏流送服务端1020执行的游戏应用程序420。交互式游戏应用程序服务端1020的客户端(诸如查看者计算系统1006)可以交互地在客户端的计算系统上玩游戏应用程序,如同在本地运行一般。游戏流送服务端1022可以接收由查看者计算系统1006通过游戏流送客户端1022提供的用户输入,以控制游戏应用程序420的运行。例如,加载在交互式游戏应用程序服务端1020上的游戏应用程序可以输出到查看者计算系统上,并且可以基于从查看者计算系统1006接收的用户输入来控制游戏应用程序。
交互式游戏应用程序服务端可以基于标题为“Delivering and ConsumingInteractive Video Gaming Content(传输及消费交互视频游戏内容)”的公开号为2014/0274384的美国专利中公开的交互式游戏应用程序服务端的实施方案来实施,该专利的全部内容通过引用合并至本文。
游戏流送服务端1020可以独立于游戏应用程序托管系统442和数据存储器444运行。游戏流送服务端1020可以如参考广播计算系统1002和查看者计算系统1004所描述的执行游戏应用程序420。本文参考至少图1至图4进一步详细描述了由计算系统对游戏应用程序的执行。
查看者计算系统
计算环境1000示出了查看者计算系统1004和1006的实施方案。查看者计算系统1004、1006包括硬件和软件资源108。查看者计算系统1004、1006具有不同的本地计算资源108、联网设施和一个或多个应用程序数据存储器106。查看者计算系统1004、1006可以包括浏览器应用程序以用于浏览网络(诸如互联网)以及与视频流送服务端1010和/或交互式计算系统440对接。
查看者计算系统1004可以包括被配置成执行游戏应用程序420的软件和/或硬件。本文参考至少图4描述了包括游戏引擎102、游戏数据104、游戏状态信息150和记录模块422的游戏应用程序420的执行。在所示的实施方案中,查看者计算系统1004包括回放模块424。在一些实施方案中,查看者计算系统1004可以额外地包括记录模块422,本文参考至少图4进一步描述了记录模块的运行。查看者计算系统1002还包括浏览器应用程序1004。查看者计算系统1004可以包括任何类型的计算系统,诸如游戏控制台、手持式游戏控制台、移动计算设备、膝上型计算机或台式计算机等。例如,查看者计算系统1004可以被实施为图1、图2和图4中进一步详细示出的计算设备14中的一种或多种。
查看者计算系统1006包括浏览器应用程序1008和交互式游戏应用程序客户端1022。查看者计算系统1004可以包括任何类型的计算系统,诸如游戏控制台、手持式游戏控制台、移动计算设备、膝上型计算机或台式计算机等。然而,查看者计算系统1006可以不被配置成执行在系统上本地执行的游戏应用程序420。例如,查看者计算系统1006可以不具有能够执行游戏应用程序的硬件和/或软件计算资源。
交互式游戏应用程序客户端
交互式游戏应用程序客户端可以被配置成与交互式游戏应用程序服务端1020通信,以便流送一个或多个游戏应用程序420,从而使用交互式游戏应用程序服务端1020的计算资源执行游戏应用程序420。交互式游戏应用程序客户端1022可以被配置成与交互式游戏应用程序服务端1020通信,以便在查看者计算系统1006上输出执行的游戏应用程序。客户端1022可以提供一界面,该界面用于由用户提供的待被传送至游戏流送服务端1020以如同在查看者计算系统1006上本地执行一样控制流送游戏420的运行的输入。交互式游戏应用程序客户端1022可以向用户提供一界面,以选择通过游戏流送服务端1020能够使用的游戏应用程序420。
视频流送服务端用户界面的实施方案
图11示出了用于供查看者与视频流送服务端1010对接的用户界面1100的实施方案。可以通过视频流送服务端1010访问用户界面1100。例如,通过查看者计算系统1004、1006使用浏览器应用程序1008访问视频流送服务端1010,可以访问用户界面1100。广播计算系统1002可以提供与视频流送服务端1010的特定页面或频道相关联的游戏过程流和广播流。例如,每个频道可以与不同的广播用户相关联。
用户界面1100的该实施方案包括流部分1110、游戏过程交互部分1120、聊天部分1130和搜索部分1140。流部分提供了游戏过程流1112和/或广播流1114。游戏过程流1112可以提供在广播计算系统1002上执行游戏应用程序420的游戏过程流。可以在游戏应用程序420在广播计算系统1002上运行期间展示游戏过程流1112。可以随着游戏应用程序420在广播计算系统1002上的运行基本上实时地显示游戏过程流1112和/或广播流114。
在一些实施方案中,可以使用虚拟现实(VR)硬件查看游戏过程流1112。用户可以使用VR硬件从游戏应用程序内查看游戏过程流。在这样的情况下,可能需要查看者计算系统将游戏应用程序加载到计算系统上。例如,查看者能够从玩家角色的视角查看游戏应用程序。查看者可以以360度的自由度查看游戏环境。在一些实施方案中,流可以提供VR体验,在VR体验中,查看者可以在不加载游戏应用程序的情况下观看游戏流,和/或观看离线游戏流。
游戏过程交互部分1120可以包括供用户与广播者在玩的游戏应用程序420进行交互的各种选项。在所示的实施方案中,广播者提供游戏实例邀请控件(“和我竞赛”)、实时游戏过程控件1123(“虚影竞赛”)和游戏过程事件控件1124(“挑战”)。在一些实施方案中,可以基于查看者的账户状况显示控件1122和1124。在说明性实施例中,游客用户可能无法访问任何控件,视频流送服务端1010的注册成员可以访问事件控件1124,并且广播者频道的付费订户可以访问邀请控件1122、实时控件1123和事件控件1124。
控件1122、1123或1124可以包括用以加载与视频流相关联的游戏应用程序的嵌入指令。在视频游戏应用程序本地存储在查看者计算系统诸如查看者计算系统1004上的情况下,可以执行和加载视频游戏应用程序。在视频游戏应用程序没有本地加载在查看者计算系统诸如查看者计算系统1006上的情况下,指令可以请求用户输入该用户希望如何访问视频游戏。例如,界面可以提供通过交互式游戏应用程序服务端1020访问游戏的选项。在这种情况下,提示可以执行或提供对交互式游戏应用程序客户端1022的下载。在一些实施方案中,界面可以向用户提供将游戏下载至查看者计算系统本地的访问。例如,下载可以是用户可以下载的游戏应用程序的演示版本、限时版本或其他限制版本。游戏应用程序可以是在用户观看视频流的同时可以在后台下载的完整下载。可以使用对等数据传输技术从游戏过程应用程序的其他用户处下载该游戏应用程序。
邀请控件1122可以被配置成向用户提供加入广播者的游戏过程实例的访问。邀请控件可以被配置成使得与邀请控件交互的查看者可以加入广播者的游戏实例。例如,广播者可能正在玩具有一个或多个可用点的多玩家竞速游戏,并且查看者可以通过选择邀请控件1122尝试加入游戏的实例。邀请控件1122可以被配置成向查看者计算系统1004提供开始游戏应用程序的实例并且加入广播者的游戏实例的指令。邀请控件1122可以识别与广播者的游戏实例相关联的游戏标识符。游戏应用程序420和交互式计算系统440可以使用游戏标识符来访问广播者的游戏实例。
游戏过程事件控件1124可以被配置成使得与该控件交互的查看者可以访问由广播者生成的游戏过程事件。由广播者生成的游戏过程事件可以在游戏过程流期间生成。广播者可以在游戏过程期间的任意点处生成事件。例如,广播者可以生成与特定等级、成就、特技、作战相关联的事件或任何其他游戏过程事件。在一些实施方案中,游戏应用程序可以在限定时间段——也被称为捕获时间段——内持续记录状态信息。捕获时间段可以是任何限定的时长,诸如例如两分钟、一分钟、30秒、15秒或任何其他的时间段。可以使用循环或环形缓冲器在整个捕获时间段内以限定间隔(诸如例如每秒)存储状态信息。在整个比赛会话期间,循环缓冲器持续覆盖旧数据。以这种方式,广播者可以基于在捕获时间段内发生的游戏事件生成回放事件。可以在从广播者接收到生成事件的输入之前的预定时间量处生成回放事件。在一些实施方案中,生成的回放事件可以只包括仅单个时间点的状态信息。例如,可以生成在接收到输入之前15秒的时间点的游戏事件。在一些实施方案中,记录模块422可以生成与包括整个捕获时间段的状态信息的回放事件相关联的视频。回放事件视频可以与参考图6A和6B描述的游戏过程视频类似,其中查看者可以识别视频事件内的特定点以进入游戏应用程序。与事件输出1126相关联的状态信息可以存储在数据存储器444中,并且可以在用户选择事件输出1126时被访问。在一些实施方案中,记录模块422可以生成与回放事件对应的可共享媒体输出。媒体输出1126可以包括统一资源标识符(“URI”)、图像、图形交换格式(GIF)、视频或用户可以查看和共享的其他格式。可以在用户界面1100中显示与事件相关联的媒体输出1126。
当用户选择了回放事件时,游戏应用程序可以使用与该回放事件相关联的限定的状态参数集的值,以重现回放事件的游戏状态。游戏应用程序可以加载并使用所存储的值,以创建回放事件的游戏状态。限定的状态参数可以仅表示用于重现游戏状态的总状态参数的一部分。所记录的总游戏过程参数的部分被具体地限定为使得可以在限定的参数内创建游戏状态。游戏应用程序可以提供在没有所有游戏状态参数的情况下重现游戏状态所需的额外信息。在一些实施方案中,实际的游戏过程和重现的游戏过程之间可能存在一些差别。在一些实施方案中,所有的游戏过程参数均可以被记录,并且可以用于创建与游戏的游戏过程状态尽可能接近的相同重现。
实时控件1123可以被配置成使得与实时控件1122交互的查看者可以加入与广播者的游戏实例同时运行的游戏实例。本文参考图12A和图12B进一步详细地描述同时进行的游戏实例。
聊天部分1130可以为查看者提供与广播者通信的界面。聊天部分可以包括其他查看者输入的消息。聊天部分可以包括使用户与广播者通信的输入部分1132。如所示出的,聊天部分可以用于提供链接1134,诸如URI。URI可以是到由查看者中的一个响应于广播者发布的回放事件完成的回放事件的视频的链接。在一些实施方案中,界面1100可以包括供查看者与广播者对话的音频功能。
搜索部分1140可以包括用于基于特定搜索准则访问不同频道的类别。在一些实施方案中,频道可以包括可以用于识别频道并促进对特定类型的频道的搜索的标签或其他标识符。搜索可以基于评分、查看、推荐、主题或其他准则进行。用户还可以基于游戏特定准则诸如游戏名称、游戏等级等来进行搜索。视频流送服务端1010还可以整理并管理(curate)内容。系统可以过滤内容,以向搜索结果添加或从搜索结果中移除某些类型的内容或特定广播者。例如,可以对推广的广播者或游戏应用程序进行加权,以更频繁地展示在搜索结果中。
同时进行的游戏实例的实施方案
图12A和图12B示出了游戏应用程序的实例的游戏过程界面1200的实施方案。图12A示出了在第一计算系统(诸如广播计算系统1002)上执行的游戏应用程序的第一实例,也被称为主实例。图12B示出了在第二计算系统(诸如查看者计算系统1004或交互式游戏应用程序服务端1020)上执行的游戏应用程序的第二实例,也被称为副实例,第二实例与游戏应用程序的第一实例同时执行。用户界面1200示出了每个实例中的当前游戏状态。所示的用户界面1200是游戏应用程序的用户界面1200的非限制性实施例。
图12A示出了游戏应用程序的第一实例1202,包括游戏内的第一玩家车辆1204、非玩家车辆1208和无生命对象诸如树1210。第一实例在第一计算系统诸如广播计算系统1002上执行。第一玩家车辆1204表示广播者在游戏应用程序内正在控制的实体。
图12A示出了游戏应用程序的第二实例1203,包括游戏内的第二玩家车辆1206、第一玩家车辆虚影1204’、非玩家车辆1208和无生命对象诸如树1210。第二实例1203在第二计算系统诸如查看者计算系统1004或交互式游戏应用程序服务端1020上执行。第二玩家车辆1206表示查看者在游戏应用程序内正在控制的实体。第一玩家车辆1204’用虚线表示,以表明第一玩家车辆没有直接参与游戏应用程序的第二实例。第一玩家车辆虚影1204’在第二实例1203内的位置和动作基于第一玩家车辆1204在游戏应用程序的第一实例1202内的位置和动作。第二实例1203的执行与第一实例1202的执行并行。在第一实例1202和第二实例1203之间共享的状态信息可以用于确定在第二实例1203内显示的第一实例1202的方面。共享的状态信息可以限于限定的状态信息集。例如,共享的信息可以限于仅第一玩家角色1204的位置和动作,而没有其他实体诸如非玩家角色1208的位置和动作。游戏应用程序的第二实例1203内的其他实体和事件可以由游戏引擎根据正常运行参数进行控制。在一些实施方案中,与第二实例1203相关联的信息也与第一实例1202共享。例如,可以在第一实例内显示第二玩家车辆虚影。
在一些实施方案中,可以在第一实例1202之后基于游戏标识符生成第二实例1203。游戏标识符可以与第一游戏实例相关联,该第一游戏实例可以至少部分地在交互式计算系统440上运行。第二计算系统可以使用游戏标识符来生成与第一实例1202并行并且至少最初与第一实例1202同步的第二实例1203。例如,可以在第一计算系统启动竞赛之后生成第二实例1203。第二计算系统可以通过从交互式计算系统440检索状态信息来确定与第一实例1202相关联的游戏标识符并生成第二实例1203。在一些实施方案中,第二计算系统可以直接与第一计算设备通信,以生成第二实例1203。第二玩家可以接管第二实例1203中的玩家角色实体,并且第一玩家虚影角色可以放置在游戏内表示第一玩家角色在第二实例内基本上实时的位置处。在一些情况下,游戏实例内可以存在多个虚影玩家。例如,游戏应用程序可以支持限定数量的游戏应用程序运行同时进行游戏实例。在一些实施方案中,可以不存在虚影。
社交网络
图13示出了至少部分地由社交联网服务端生成的用户界面1300的说明性实施方案。在用户界面1300中,示出了第一微博消息1310。第一微博消息1310包含与包括在微博消息内的回放事件相关联的链接。第一微博消息1310还包括第一用户标识符1314。回放事件链接可以以任何数据格式提供,例如信息可以是URI、基于文本的、图像、视频、音频或社交联网服务端支持并且可以提供回放事件的嵌入链接的任何其他类型的信息。
当用户选择了回放事件链接时,该链接可以包括嵌入指令,用于使用户的计算系统加载游戏过程应用程序并启动与回放事件链接相关联的回放事件。回放事件链接可以引用包括与回放事件相关联的限定的状态参数集的值的数据存储器,游戏应用程序可以使用这些值来重现回放事件的游戏状态。游戏应用程序可以加载并使用所存储的值来创建回放事件的游戏状态。限定的状态参数可以仅表示用于重现游戏状态的总状态参数的一部分。记录的总游戏过程参数的部分被具体地限定为使得可以在限定的参数内创建游戏状态。游戏应用程序可以提供在没有所有的游戏状态参数的情况下重现游戏状态所需的额外信息。在一些实施方案中,实际的游戏过程和重现的游戏过程之间可能存在一些差别。在一些实施方案中,所有的游戏过程参数均可以被记录,并且可以用于创建与游戏的游戏过程状态尽可能接近的相同重现。
在一些实施方案中,与回放事件一起存储的数据可以包括与提供回放事件的初始链接的原始用户相关联的回放会话数据,其也可以被称为虚影玩家数据。当后续用户激活该链接时,该用户能够看到回放事件内与原始用户相关联的玩家实体。例如,当游戏应用程序加载了回放事件时,如果回放事件链接到跳跃,则后续用户可以看到原始玩家实体(诸如例如游戏环境内原始玩家实体的实际版本或虚影版本)在游戏环境内实施的技巧。另外,用户能够添加与事件的后续回放相关联的回放事件信息。例如,用户可以添加与其回放事件的版本相关联的回放事件数据。在这样的实施方案中,用户可以具有进行与事件相关联的编辑功能——诸如开始、停止和重播——的能力。在一些情况下,后续用户可以在与原始用户不同的位置处实施事件。例如,后续用户可以与原始用户同步进行不同的跳跃。后续用户的回放会话数据可以添加至回放事件。例如,激活回放事件的用户可以看到与原始玩家和三个其他玩家相关联的玩家数据。
例如,在所示实施方案中,用户界面1300还包括第二微博消息1320,也被称为回复微博消息。回复微博消息1320具有与第二用户账户相关联的用户标识符信息1324。回复微博消息1320包括到由第二用户执行的同一回放事件的另一版本的链接1322。链接1322可以是包括与第一用户1314和第二用户1324相关联的回放会话数据的回放事件链接。用户界面1300还包括第三微博消息1330。第三微博消息1320包括与第三用户账户相关联的链接1332和用户标识符信息1334。链接1330可以是包括与初始用户1314和第二用户1324以及第三用户1334相关联的回放会话数据的回放事件链接。在一些实施方案中,回放事件链接全部可以使用相同的URI以引用与事件相关联的同一数据存储位置。然后每当有人激活回放事件链接,都可以更新事件数据。在一些实施方案中,可以存储回放事件链接的不同实例,使得特定回放会话数据与每个事件链接相关联。
用户界面1300大体上示出了由可以用于在用户之间共享回放事件的社交联网服务端生成的用户界面的示例性实施方案。将理解的是,取决于给定的社交联网服务端、期望的功能和/或其他因素,这样的用户界面可以有许多变型。
在一些实施方案中,回放事件可以与额外的社交联网特征相关联。包括与后续用户相关联的相关事件的回放事件可以具有排行榜、评分或者可以用于评估具体回放事件的受欢迎程度的其他特征。在一些实施方案中,可以经由社交媒体服务端或聊天室使用可搜索标签(诸如话题标签)共享回放事件。可以在其他社交媒体或基于媒体流送网络的服务端的评论中共享回放事件。例如,用户可以响应于回放事件的YouTube视频用回放事件进行回应。
持续的游戏过程捕获过程
图14示出了用于持续记录包括游戏状态参数的游戏过程视频的过程1400的实施方案的流程图。过程1400可以由可以在应用程序内记录游戏过程的任何系统实施。例如,过程1400的整体或部分可以尤其由游戏应用程序420、记录模块422和游戏引擎102实施。虽然任何数量的系统均可以整体地或部分地实施过程1400,但为了简化讨论,将关于这些特定的系统描述过程1400。
在框1402处,系统可以接收用以启动游戏过程捕获过程以用于捕获回放事件的输入。游戏过程捕获过程可以通过用户提供用以启动捕获过程的命令而开始。在一些实施方案中,可以由系统基于用游戏生成的触发来生成用以启动捕获过程的输入。在一些实施方案中,只要用户开始游戏过程应用程序,游戏过程捕获过程就可以开始记录。触发可以基于游戏应用程序内进行的事件或动作,诸如取得特定成就或完成游戏的特定部分。
在框1404处,在一些实施方案中,可以将标识符与游戏过程会话相关联。标识符可以是可以用于识别游戏过程和存储的状态数据的独特标识符。当视频文件和状态数据存储在单独的位置时,标识符可以用于将视频与状态数据相关联。
在框1406处,以限定的间隔存储状态参数值。游戏应用程序可以在捕获时间段内持续记录状态信息。捕获时间段可以是任何限定的时长,诸如例如两分钟、一分钟、30秒、15秒或任何其他的时间段。可以使用循环或环形缓冲器在整个捕获时间段内以限定间隔(诸如例如每秒)存储状态信息。在整个比赛会话期间,循环缓冲器持续覆盖旧数据。以这种方式,广播者可以基于在捕获时间段内发生的游戏事件生成回放事件。
所存储的状态参数可以是游戏状态的总计状态参数的子集。子集可以基于单独的游戏应用程序限定。每个游戏应用程序可以使用不同的状态参数创建游戏状态。状态参数集可以包括一个或多个参数,包括位置参数(诸如例如动量、角色位置、与其他角色的接近度等)、游戏环境参数(诸如例如游戏环境内部件的状态、游戏等级、摄像机位置、道具的位置等)、玩家角色参数(诸如例如玩家道具、玩家角色等级、玩家角色属性和技能等)、非玩家角色参数(诸如例如非玩家角色位置、与玩家的接近度、游戏状态内的活动)以及用于生成游戏状态的其他类型的状态参数。状态参数的值可以存储在与视频相关联的数据流中。在一些实施方案中,状态参数值与视频流分开存储,但可以随后链接至或关联于对应的视频帧。
间隔可以是基于时间的或基于事件的。在每个基于时间的或基于事件的间隔处,存储与状态参数相关联的值。如前所述,值可以与视频一起存储在数据流中,或者可以存储在单独的位置。基于时间的间隔可以是周期性的,诸如每秒、每两秒、500毫秒或其他时间段。在一些实施方案中,时间间隔可以变化,例如,某些类型的游戏过程可以增加或降低基于时间的间隔的频率,诸如系列的快速动作或事件。基于事件的间隔可以是不规则的时间间隔。例如,基于事件的间隔可以基于触发事件或特定状态参数的值的改变被触发。例如,在基于轮次的游戏中,基于事件的间隔可以仅在每轮结束时出现。游戏应用程序可以限定基于事件的间隔何时触发状态参数的值的存储。系统以限定的时间间隔持续存储状态参数值。
在框1408处,系统接收用以生成回放事件的输入。基于该输入是如何生成的,系统可以生成与限定时间处的事件相关联的状态信息,或者可以生成回放事件的多个状态信息集。可以在从广播者接收到生成事件的输入之前的预定时间量处生成回放事件。在一些实施方案中,生成的回放事件可以只包括仅单个时间点的状态信息。例如,可以生成在接收到输入之前15秒的时间点的游戏事件。在一些实施方案中,记录模块可以生成与整个捕获时间段的状态信息的回放事件相关联的视频。在接收到生成回放事件的输入时,在框1410处系统确定与回放事件相关联的状态参数值。状态信息可以存储在用于回放事件的适当的数据存储器中,诸如数据存储器44。
在框1412处,系统生成与回放事件相关联的回放事件链接。例如,回放事件链接可以是可嵌入资源,诸如URI。在一些实施方案中,系统可以生成与回放事件相关联的可嵌入媒体文件。例如,系统可以生成与回放事件相关联的图像、GIF或视频文件。系统可以对嵌入有状态参数的事件数据进行处理并保存。在一些实施方案中,视频可以上传至基于网络的存储位置,诸如视频数据存储器444。在一些实施方案中,视频可以本地存储并上传至视频数据存储器444。
在框1414处,系统可选地向视频流送服务端输出捕获事件链接。捕获事件链接可以自动地输出至视频流送服务端。例如,如图11中所示。
在框1416处,回放事件过程结束。系统返回至框1406,以继续记录与游戏过程会话相关联的状态数据。
同时进行的游戏应用程序实例生成过程
图15示出了用于在单独的计算系统上生成同时进行的游戏实例的过程1500的实施方案的流程图。过程1500可以由可以在应用程序内基于与应用程序相关联的状态参数生成游戏过程的任何系统实施。例如,过程1500的整体或部分可以尤其由游戏应用程序420、回放模块424和/或游戏引擎102实施。虽然任何数量的系统均可以整体地或部分地实施过程1500,但为了简化讨论,将关于这些特定的系统描述过程1500。
在框1502处,第二计算系统可以接收用以启动与在第一计算系统上同时运行的第一游戏实例相关联的游戏应用程序的用户输入。该输入可以来自与用户界面诸如图11所示的实时用户界面控件1123交互的用户。
在框1504处,第二计算系统可以加载游戏应用程序。在游戏应用程序被加载之后,在框1506处,系统可以确定与第一游戏实例相关联的游戏标识符。在一些实施方案中,游戏标识符可以嵌入到实时用户界面控件中。
在框1508处,第二计算系统至少部分地基于游戏标识符来确定游戏过程状态。游戏标识符可以用于识别与第一游戏实例相关联的状态参数数据。状态参数数据可以包括用于生成第一游戏过程实例的游戏过程状态的状态参数集。状态参数数据提供游戏过程应用程序确定游戏过程状态所需的信息。在一些实施方案中,游戏应用程序可以与交互式计算系统通信,以识别与第一游戏实例相关联的状态参数。
在框1510处,第二计算系统可以可选地从游戏应用程序的与第一游戏实例同时运行的其他实例接收状态参数数据。例如,在一些游戏应用程序中,游戏应用程序可以生成与和主实例同时运行的一个或多个游戏过程实例相关联的“虚影”。例如,竞速游戏可以支持八个实例同时运行,每个游戏的状态信息均可以提供至请求的第二计算系统。
在框1512处,第二计算系统可以生成第二实例的确定的游戏状态。游戏应用程序可以使用来自游戏应用程序的额外状态参数信息以结合与视频相关联的状态参数数据生成游戏状态。由于状态参数数据包括游戏状态参数的子集,因此游戏应用程序提供必要的状态参数以为玩家创建可操作的游戏状态。例如,系统可以添加环境对象,诸如地形、树和其他元素。在一些实施方案中,第二计算系统可以制作第一游戏实例的并行副本,使得基本上所有的状态参数都是相同的。
在框1514处,系统向用户提供对游戏状态的访问。用户可以在与游戏过程视频中基本上相同的状态下玩第二游戏。第二实例与第一游戏实例并行,并且与第一游戏实例一起实时运行。例如,在竞速游戏中,第二计算系统的用户可以与第一计算系统的用户竞速,虽然他们在游戏应用程序的不同实例中操作。
游戏应用程序的实时游戏流送
图16示出了用于使用交互式游戏应用程序服务端对游戏应用程序进行实时交互式游戏流送的过程1600的实施方案的流程图。过程1600可以由可以向客户端计算系统提供基于网络的交互式游戏应用程序的任何系统实施。例如,过程1600的整体或部分可以尤其由交互式游戏应用程序服务端1020和交互式游戏应用程序客户端1022实施。虽然任何数量的系统均可以整体地或部分地实施过程1600,但为了简化讨论,将关于这些特定的系统描述过程1600。
在框1602处,系统从在客户端计算系统诸如查看者计算系统1006上的外部应用程序接收用以启动游戏应用程序的游戏过程的命令。该命令可以由从与视频流送服务端1010相关联的网站接纳的控件发送。例如,查看者计算系统1006的用户可以请求玩在视频流送服务端上流送的游戏应用程序。在一些实施方案中,游戏过程的请求可以经由交互式游戏应用程序客户端1022进行路由,交互式游戏应用程序客户端可以与交互式游戏应用程序服务端1020通信。在一些实施方案中,可以从通用内容共享网站(例如YouTube)上的外部视频播放器接收请求。用户可以查看视频,并且激活视频内的调用特定游戏应用程序的统一资源定位符(URL)。
在框1604处,交互式游戏应用程序服务端可以验证请求使用交互式游戏应用程序服务端的用户的账户凭证。例如,可以要求用户具有特定账户状态以使用交互式游戏应用程序服务端。在一些实施方案中,一些游戏应用程序可能要求免费账户,或可能要求账户持有人可以在有限的试用时间内访问游戏。例如,用户可以在交互式游戏应用程序服务端拒绝用户再访问之前玩限定时间量。在一些实施方案中,交互式游戏应用程序服务端可以验证请求的用户是否可以访问游戏应用程序的被请求实例的所有内容。例如,游戏应用程序的被请求实例可能包括用户可以访问的游戏应用程序中不包括的可下载内容(DLC)。在这样的情况下,客户端可以在授权访问游戏应用程序之前提供供购买的DLC。在一些情况下,交互式游戏应用程序服务端可以提供有限时间使用量的DLC以用于玩被请求实例。
在系统验证了用户可以访问被请求游戏后,在框1606处,系统可以加载游戏应用程序。交互式游戏应用程序服务端可以加载被请求的游戏应用程序,并且可以与请求计算设备上的交互式游戏应用程序客户端1022建立通信。
在框1608处,交互式游戏应用程序服务端可以确定与游戏应用程序相关联的游戏状态信息。例如,游戏状态信息可以与回放事件、同时进行的游戏实例或邀请参与现有游戏实例相关联。对于回放事件,系统可以从适当的数据储存库加载与事件相关联的状态参数数据。状态参数数据包括用于生成识别出的事件的游戏过程状态的状态参数集。状态参数数据可以提供游戏过程应用程序确定被请求事件的游戏过程状态所需的信息。
对于与同时进行的游戏实例对应的游戏过程状态,交互式游戏应用程序服务端可以至少部分地基于游戏标识符来确定游戏过程状态。游戏标识符可以用于识别与第一游戏实例相关联的状态参数数据。状态参数数据可以包括用于生成第一游戏过程实例的游戏过程状态的状态参数集。状态参数数据提供游戏过程应用程序确定游戏过程状态所需的信息。在一些实施方案中,游戏应用程序可以与交互式计算系统通信,以识别与第一游戏实例相关联的状态参数。对于游戏应用程序的同时运行的另一主实例,游戏过程状态信息可以基于游戏应用程序的现有实例。游戏过程状态信息可以用于将副实例的游戏过程状态与主实例同步。
对于邀请参与现有游戏实例,交互式游戏应用程序服务端可以确定与现有游戏实例相关联的游戏标识符。交互式游戏应用程序服务端可以与托管识别出的游戏实例的实体通信,并且可以与托管计算系统通信,以进入被请求的游戏实例。
在框1612处,交互式游戏应用程序服务端可以可选地从游戏应用程序的与第一游戏实例同时运行的其他实例接收状态参数数据。例如,在一些游戏应用程序中,游戏应用程序可以生成与与主实例同时运行的一个或多个游戏过程实例相关联的“虚影”。例如,竞速游戏可以支持八个实例同时运行,每个游戏的状态信息可以被提供至请求的第二计算系统。
在框1614处,交互式游戏应用程序服务端可以生成用于第二实例的确定的游戏状态。游戏应用程序可以使用来自游戏应用程序的额外状态参数信息以结合与视频相关联的状态参数数据生成游戏状态。由于状态参数数据包括游戏状态参数的子集,因此游戏应用程序提供必要的状态参数以为玩家创建可操作的游戏状态。例如,系统可以添加环境对象,诸如地形、树和其他元素。在一些实施方案中,第二计算系统可以制作第一游戏实例的并行副本,使得所有的状态参数基本上是相同的。
在框1616处,系统向用户提供通过交互式游戏应用程序客户端对游戏状态的访问。用户可以在与游戏过程事件基本上相同的状态、与主实例同时或在与游戏邀请相关联的特定游戏实例中开始游戏过程。
要理解的是,所有的目的或优点不一定可以根据本文描述的任何特定实施方案来实现。因此,例如,本领域技术人员将理解,某些实施方案可以被配置成以一定方式操作,使得实现或优化本文教导的一个优点或一组优点,而无需实现本文可能教导或建议的其他目的或优点。
本文描述的所有过程均可以在由包括一个或多个计算机或处理器的计算系统执行的软件代码模块中体现,并且可以经由这些软件代码模块完全自动化。代码模块可以存储在任何类型的非暂时性计算机可读介质中或其他计算机存储设备中。方法的一些或全部可以在专用计算机硬件中体现。
根据本公开内容,本文描述的那些以外的许多其他变型将是明了的。例如,取决于实施方案,本文描述的某些动作、事件或任何算法的功能可以以不同顺序进行,可以进行添加、合并或全部省略(例如,实践算法不需要所有所描述的动作或事件)。此外,在某些实施方案中,动作或事件可以例如通过多线程处理、中断处理或多个处理器或处理器内核同时进行,或者可以在其他平行架构上进行,而非顺序进行。另外,可以由可以一起运作的不同机器和/或计算系统进行不同的任务或过程。
可以由被设计成实施本文描述的功能的机器来实施或进行结合本文公开的实施方案描述的各种说明性逻辑框和模块,上述机器诸如为处理单元或处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或其他可编程逻辑器件、分立门或晶体管逻辑、分立硬件部件或它们的任何组合。处理器可以是微处理器,但在可替代方案中,处理器可以是控制器、微控制器或状态机器、它们的组合等。处理器可以包括被配置成处理计算机可执行指令的电路。在另一实施方案中,处理器包括进行逻辑运算而不处理计算机可执行指令的FPGA或其他可编程器件。处理器还可以被实施为计算设备的组合,例如DSP和微处理器的组合、多个微处理器的组合、一个或多个微处理器结合DSP内核或任何其他这样的配置。虽然本文描述的主要是关于数字技术,但处理器还可以主要包括模拟部件。例如,可以在模拟电路或模拟和数字混合电路中实施本文描述的信号处理算法的一些或全部。计算环境可以包括任何类型的计算机系统,包括但不限于,基于微处理器的计算机系统、大型计算机、数字信号处理器、便携式计算设备、设备控制器或装置内的计算引擎,仅举几例。
除非另有具体说明,否则条件性语言诸如特别是“能够(can)”、“能(could)”、“可能(might)”或“可以(may)”在本上下文中均被理解为一般用于表达某些实施方案包括某些特征、元件和/或步骤,而其他实施方案不包括这样的特征、元件和/或步骤。因此,这样的条件性语言一般不意在暗示特征、元件和/或步骤以任何方式对于一个或多个实施方案而言是必需的,或者不意在暗示一个或多个实施方案必需包括用于在有或没有用户输入或提示的情况下确定这些特征、元件和/或步骤是否包括在任何特定实施方案中或者在任何特定实施方案中进行的逻辑。
除非另有具体说明,否则析取性语言诸如词组“X、Y或Z中的至少一个”在本上下文中均被理解为一般用于表示项目、术语等可以是X、Y或Z或者它们的任何组合(例如,X、Y和/或Z)。因此,这样的析取性语言一般不意在并且也不应暗示某些实施方案要求X的至少一个、Y的至少一个或Z的至少一个都存在。
本文描述的和/或在附图中描绘的流程图中的任何过程描述、元件或框应理解为可能表示包括用于在过程中实施特定逻辑功能或元件的一个或多个可执行指令的模块、段或代码的部分。可替代的实现包括在本文描述的实施方案的范围内,其中,如本领域技术人员将理解的,取决于涉及的功能性,元件或功能可以被删除、与所示或所讨论的顺序颠倒的顺序执行,包括基本上同时或倒序执行。
除非另有明确说明,否则冠词诸如“一(a)”或“一(an)”一般应理解为包括一个或多个所描述的项目。因此,词组诸如“一种被配置成……的设备”意在包括一个或多个所陈述设备。这样的一个或多个所陈述设备也可以集体地被配置成执行阐明的详述内容。例如,“被配置成执行详述内容A、B和C的处理器”可以包括被配置成执行详述内容A的第一处理器,该第一处理器与被配置成执行详述内容B和C的第二处理器协作。
应强调的是,可以对上述实施方案做出许多变型和修改,其元件被理解为在其他可接受的实施例中。此处所有这样的修改和变型都意在包括在本公开内容的范围内并受随附权利要求保护。

Claims (20)

1.一种计算系统,包括:
计算机硬件,所述计算机硬件配置有特定的计算机可执行指令以执行游戏应用程序,所述游戏应用程序被配置成:
接收用以启动与游戏应用程序的第一实例同时进行的所述游戏应用程序的第二实例的输入,其中,所述游戏应用程序的所述第一实例在广播计算系统上执行,其中,第一虚拟实体在所述第一实例内被与所述广播计算系统相关联的广播用户控制;
在所述计算系统上加载所述游戏应用程序;
至少部分地基于所接收的用以启动所述第二实例的所述输入来确定与所述游戏应用程序的所述第一实例相关联的游戏标识符;
至少部分地基于所述第一实例的所述游戏标识符来确定与所述游戏应用程序的所述第一实例相关联的第一游戏过程状态;
在所述游戏应用程序的所述第二实例内生成所述第一游戏过程状态,其中,所生成的所述第二实例的所述第一游戏过程状态与所述第一实例的游戏过程状态同时运行,其中,第二虚拟实体在所述第二实例内被与所述计算系统相关联的用户控制;
生成指令以在所述计算系统上的所述游戏应用程序的所述第二实例内执行所生成的所述第一游戏过程状态;以及
至少部分基于所述第一游戏过程状态,在所述游戏应用程序的所述第二实例内生成关于所述第一虚拟实体的状态的表示。
2.根据权利要求1所述的计算系统,其中,所述第二实例的所生成的所述第一游戏过程状态与所述第一实例的所述游戏过程状态实时地同步。
3.根据权利要求1所述的计算系统,其中,与所述第一实例相关联的所述第一虚拟实体处于第一虚拟环境中,并且与所述第二实例相关联的所述第二虚拟实体处于第二虚拟环境中。
4.根据权利要求3所述的计算系统,其中,所述状态的表示显示所述第一虚拟实体在所述第二虚拟环境内的位置。
5.根据权利要求4所述的计算系统,其中,所述游戏应用程序还被配置成实时地更新所述第一虚拟实体在所述第二虚拟环境内的表示的位置。
6.根据权利要求3所述的计算系统,其中,所述游戏应用程序还被配置成显示来自不同虚拟环境的多个虚拟实体在所述第二虚拟环境内的位置的表示。
7.根据权利要求1所述的计算系统,其中,所述游戏应用程序还被配置成与托管应用程序计算系统通信,以确定所述第一实例的所述游戏过程状态。
8.根据权利要求1所述的计算系统,其中,所述计算系统是基于网络的系统,其中,所述计算系统被配置成将所述游戏应用程序流送至远程计算系统,其中,用以启动所述游戏应用程序的所述第二实例的所述输入是从所述远程计算系统接收的。
9.一种计算机实施的方法,包括:
当由配置有特定的计算机可执行指令的计算系统实施时,
接收用以启动与游戏应用程序的第一实例同时进行的所述游戏应用程序的第二实例的输入,其中,所述游戏应用程序的所述第一实例在广播计算系统上执行,其中,第一虚拟实体在所述第一实例内被与所述广播计算系统相关联的广播用户控制;
在所述计算系统上加载所述游戏应用程序;
至少部分地基于所接收的用以启动所述第二实例的所述输入来确定与所述游戏应用程序的所述第一实例相关联的游戏标识符;
至少部分地基于所述第一实例的所述游戏标识符来确定与所述游戏应用程序的所述第一实例相关联的第一游戏过程状态;
在所述游戏应用程序的所述第二实例内生成所述第一游戏过程状态,其中,所生成的所述第二实例的所述第一游戏过程状态与所述第一实例的游戏过程状态同时运行,其中,第二虚拟实体在所述第二实例内被与所述计算系统相关联的用户控制;
生成指令以在所述计算系统上的所述游戏应用程序的所述第二实例内执行所生成的所述第一游戏过程状态,以及
至少部分基于与所述第一虚拟实体相关联的并且在所述第一实例的同时运行期间生成的状态数据,在所述游戏应用程序的所述第二实例内生成关于所述第一虚拟实体的状态的表示。
10.根据权利要求9所述的方法,还包括使所述第二实例的所生成的所述第一游戏过程状态与所述第一实例的所述游戏过程状态同步。
11.根据权利要求9所述的方法,其中,与所述第一实例相关联的所述第一虚拟实体处于第一虚拟环境中,并且与所述第二实例相关联的所述第二虚拟实体处于第二虚拟环境中。
12.根据权利要求11所述的方法,生成关于所述第一虚拟实体的状态的表示还包括显示所述第一虚拟实体在所述第二虚拟环境内的位置。
13.根据权利要求12所述的方法,还包括实时地更新所述第一虚拟实体在所述第二虚拟环境内的位置的表示。
14.根据权利要求11所述的方法,还包括显示来自不同虚拟环境的多个虚拟实体在所述第二虚拟环境内的位置的表示。
15.根据权利要求9所述的方法,还包括与托管应用程序计算系统通信,以确定所述第一实例的所述游戏过程状态。
16.根据权利要求9所述的方法,还包括将所述游戏应用程序流送至远程计算系统,其中,从所述远程计算系统接收用以启动所述游戏应用程序的所述第二实例的所述输入。
17.一种包括计算机可执行指令的非暂时性计算机可读介质,所述计算机可执行指令在由计算系统执行时使所述计算系统执行游戏应用程序,所述游戏应用程序被配置成:
接收用以启动与游戏应用程序的第一实例同时进行的所述游戏应用程序的第二实例的输入,其中,所述游戏应用程序的所述第一实例在广播计算系统上执行,其中,所述第一实例包括第一虚拟实体,所述第一虚拟实体被与所述广播计算系统相关联的广播用户控制;
在所述计算系统上加载所述游戏应用程序;
至少部分地基于所接收的用以启动所述第二实例的所述输入来确定与所述游戏应用程序的所述第一实例相关联的游戏标识符;
至少部分地基于所述第一实例的所述游戏标识符来确定与所述游戏应用程序的所述第一实例相关联的第一游戏过程状态;
在所述游戏应用程序的所述第二实例内生成所述第一游戏过程状态,其中,所生成的所述第二实例的所述第一游戏过程状态与所述第一实例的游戏过程状态同时运行,其中,所述第二实例包括第二虚拟实体,所述第二虚拟实体被与所述计算系统相关联的用户控制;
生成指令以在所述计算系统上的所述游戏应用程序的所述第二实例内执行所生成的所述第一游戏过程状态;以及
至少部分基于与所述第一虚拟实体相关联的并且在所述第一实例的同时运行期间生成的状态数据,在所述游戏应用程序的所述第二实例内生成关于所述第一虚拟实体的状态的表示。
18.根据权利要求17所述的非暂时性计算机可读介质,其中,与所述第一实例相关联的所述第一虚拟实体处于第一虚拟环境中,并且与所述第二实例相关联的所述第二虚拟实体处于第二虚拟环境中。
19.根据权利要求18所述的非暂时性计算机可读介质,其中,所述状态的表示显示所述第一虚拟实体在所述第二虚拟环境内的位置。
20.根据权利要求19所述的非暂时性计算机可读介质,其中,所述游戏应用程序还被配置成实时地更新所述第一虚拟实体在所述第二虚拟环境内的表示的位置。
CN201710517707.3A 2016-06-30 2017-06-29 交互式游戏过程回放系统 Active CN107551544B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US15/199,827 2016-06-30
US15/199,827 US10226708B2 (en) 2016-06-30 2016-06-30 Interactive gameplay playback system

Publications (2)

Publication Number Publication Date
CN107551544A CN107551544A (zh) 2018-01-09
CN107551544B true CN107551544B (zh) 2020-11-03

Family

ID=60806008

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710517707.3A Active CN107551544B (zh) 2016-06-30 2017-06-29 交互式游戏过程回放系统

Country Status (2)

Country Link
US (4) US10226708B2 (zh)
CN (1) CN107551544B (zh)

Families Citing this family (50)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9358461B2 (en) * 2012-12-26 2016-06-07 Sony Interactive Entertainment America Llc Systems and methods for ranking of cloud executed mini-games based on tag content and social network content
AU2015210489A1 (en) 2014-08-11 2016-02-25 Aristocrat Technologies Australia Pty Limited A system and method for providing a feature game
US10535229B2 (en) 2014-08-11 2020-01-14 Aristocrat Technologies Australia Pty Limited System and method for providing a feature game
US9919217B2 (en) 2016-03-08 2018-03-20 Electronic Arts Inc. Dynamic difficulty adjustment
US10226708B2 (en) 2016-06-30 2019-03-12 Electronic Arts Inc. Interactive gameplay playback system
US10384133B1 (en) 2016-12-30 2019-08-20 Electronic Arts Inc. Systems and methods for automatically measuring a video game difficulty
US10357718B2 (en) 2017-02-28 2019-07-23 Electronic Arts Inc. Realtime dynamic modification and optimization of gameplay parameters within a video game application
US11000771B1 (en) 2017-03-30 2021-05-11 Electronic Arts Inc. Gameplay telemetry and video acquisition system
US11260294B2 (en) * 2017-05-30 2022-03-01 Microsoft Technology Licensing, Llc Virtual controller for game injection
US10572231B1 (en) * 2018-01-05 2020-02-25 Amazon Technologies, Inc. Component grouping for application development
US10765957B2 (en) * 2018-02-28 2020-09-08 Sony Interactive Entertainment LLC Integrating commentary content and gameplay content over a multi-user platform
US11167211B2 (en) * 2018-05-22 2021-11-09 Microsoft Technology Licensing, Llc Spectating simulation
US10713543B1 (en) 2018-06-13 2020-07-14 Electronic Arts Inc. Enhanced training of machine learning systems based on automatically generated realistic gameplay information
US10569176B2 (en) * 2018-06-22 2020-02-25 Yacht Club Games, LLC Video game gameplay having nuanced character movements and dynamic movement indicators
US10861249B2 (en) 2018-07-27 2020-12-08 The Q Digital Technologies, Inc. Methods and system for manipulating digital assets on a three-dimensional viewing platform
US11141661B2 (en) 2018-08-08 2021-10-12 Yacht Club Games, LLC Systems and methods for providing video game gameplay having falling puzzle mechanics influenced by character movements within a puzzle space
US10593152B1 (en) 2018-08-22 2020-03-17 Aristocrat Technologies Australia Pty Limited Gaming machine and method for evaluating player reactions
AU2018241080A1 (en) 2018-10-03 2019-01-17 Aristocrat Technologies Australia Pty Limited A gaming device with prize chance configurable symbol
US11896909B2 (en) * 2018-12-14 2024-02-13 Sony Interactive Entertainment LLC Experience-based peer recommendations
US11080748B2 (en) 2018-12-14 2021-08-03 Sony Interactive Entertainment LLC Targeted gaming news and content feeds
US10881962B2 (en) 2018-12-14 2021-01-05 Sony Interactive Entertainment LLC Media-activity binding and content blocking
US11247130B2 (en) 2018-12-14 2022-02-15 Sony Interactive Entertainment LLC Interactive objects in streaming media and marketplace ledgers
US11269944B2 (en) 2018-12-14 2022-03-08 Sony Interactive Entertainment LLC Targeted gaming news and content feeds
US11189130B2 (en) 2019-01-23 2021-11-30 Aristocrat Technologies Australia Pty Limited Gaming machine security devices and methods
US10625163B1 (en) * 2019-08-09 2020-04-21 Cardboard Live, Inc. Method and system for supplementing a video stream of a fantasy card videogame
CN113615163A (zh) * 2019-03-25 2021-11-05 索尼互动娱乐股份有限公司 信息处理设备
US11276216B2 (en) 2019-03-27 2022-03-15 Electronic Arts Inc. Virtual animal character generation from image or video data
US10953334B2 (en) 2019-03-27 2021-03-23 Electronic Arts Inc. Virtual character generation from image or video data
US10967277B2 (en) 2019-03-29 2021-04-06 Electronic Arts Inc. Automated player sponsorship system
US10964155B2 (en) * 2019-04-12 2021-03-30 Aristocrat Technologies Australia Pty Limited Techniques and apparatuses for providing blended graphical content for gaming applications using a single graphics context and multiple application programming interfaces
US11405347B1 (en) * 2019-05-31 2022-08-02 Meta Platforms, Inc. Systems and methods for providing game-related content
US11308761B2 (en) 2019-05-31 2022-04-19 Aristocrat Technologies, Inc. Ticketing systems on a distributed ledger
US11263866B2 (en) 2019-05-31 2022-03-01 Aristocrat Technologies, Inc. Securely storing machine data on a non-volatile memory device
US10940393B2 (en) * 2019-07-02 2021-03-09 Electronic Arts Inc. Customized models for imitating player gameplay in a video game
US11110353B2 (en) 2019-07-10 2021-09-07 Electronic Arts Inc. Distributed training for machine learning of AI controlled virtual entities on video game clients
WO2021066848A1 (en) * 2019-10-04 2021-04-08 Google Llc State share and use between gameplay video and game
JP7254676B2 (ja) * 2019-10-17 2023-04-10 株式会社ソニー・インタラクティブエンタテインメント 情報処理装置および動画像編集方法
US11213748B2 (en) 2019-11-01 2022-01-04 Sony Interactive Entertainment Inc. Content streaming with gameplay launch
US11195371B2 (en) 2019-12-04 2021-12-07 Aristocrat Technologies, Inc. Preparation and installation of gaming devices using blockchain
US11688226B2 (en) * 2020-01-10 2023-06-27 Aristocrat Technologies, Inc. Rendering pipeline for electronic games
US11395968B2 (en) 2020-03-06 2022-07-26 Sony Interactive Entertainment Inc. Surfacing prerecorded gameplay video for in-game player assistance
US11636726B2 (en) 2020-05-08 2023-04-25 Aristocrat Technologies, Inc. Systems and methods for gaming machine diagnostic analysis
US11420130B2 (en) 2020-05-28 2022-08-23 Sony Interactive Entertainment Inc. Media-object binding for dynamic generation and displaying of play data associated with media
US11442987B2 (en) 2020-05-28 2022-09-13 Sony Interactive Entertainment Inc. Media-object binding for displaying real-time play data for live-streaming media
US11602687B2 (en) 2020-05-28 2023-03-14 Sony Interactive Entertainment Inc. Media-object binding for predicting performance in a media
CN112131117B (zh) * 2020-09-25 2022-04-01 腾讯科技(深圳)有限公司 游戏测试方法、装置、电子设备及存储介质
CN113179446B (zh) * 2021-04-26 2022-05-27 北京字跳网络技术有限公司 视频互动方法、装置、电子设备和存储介质
CN113384879A (zh) * 2021-05-14 2021-09-14 完美世界征奇(上海)多媒体科技有限公司 游戏数据展示方法以及装置
US11813523B2 (en) * 2021-09-03 2023-11-14 Ati Technologies Ulc Automatic triggering of a gameplay recording using visual and acoustic fingerprints
US20240042313A1 (en) * 2022-08-02 2024-02-08 Sony Interactive Entertainment Inc. Multi-user cross-device synchronization of metaverse instantiation

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7214133B2 (en) * 2003-05-09 2007-05-08 Microsoft Corporation Method and apparatus for retrieving recorded races for use in a game
CN103902806A (zh) * 2012-12-26 2014-07-02 索尼电脑娱乐美国公司 用于对共享云执行迷你游戏的内容进行标记的系统和方法以及标签共享控件

Family Cites Families (50)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5261820A (en) 1990-12-21 1993-11-16 Dynamix, Inc. Computer simulation playback method and simulation
US6699127B1 (en) 2000-06-20 2004-03-02 Nintendo Of America Inc. Real-time replay system for video game
JP3690672B2 (ja) 2002-05-17 2005-08-31 任天堂株式会社 ゲームシステムおよびゲームプログラム
US20090118019A1 (en) 2002-12-10 2009-05-07 Onlive, Inc. System for streaming databases serving real-time applications used through streaming interactive video
US8495678B2 (en) 2002-12-10 2013-07-23 Ol2, Inc. System for reporting recorded video preceding system failures
US7665019B2 (en) 2003-09-26 2010-02-16 Nbor Corporation Method for recording and replaying operations in a computer environment using initial conditions
US20060030407A1 (en) * 2004-07-16 2006-02-09 Dixon Thayer Multiple player real-time on-line sports competition system
US20060148571A1 (en) 2005-01-04 2006-07-06 Electronic Arts Inc. Computer game with game saving including history data to allow for play reacquaintance upon restart of game
US8696464B2 (en) * 2005-08-19 2014-04-15 Nintendo Co., Ltd. Enhanced method and apparatus for selecting and rendering performance data
US7632186B2 (en) 2005-11-21 2009-12-15 Microsoft Corporation Spectator mode for a game
CN100565537C (zh) 2006-04-19 2009-12-02 腾讯科技(深圳)有限公司 网络休闲游戏录放方法
US20070294089A1 (en) 2006-06-02 2007-12-20 Garbow Zachary A Gameplay Recording and Marketplace
US8405662B2 (en) 2006-07-04 2013-03-26 Iti Scotland Limited Generation of video
US8968087B1 (en) * 2009-06-01 2015-03-03 Sony Computer Entertainment America Llc Video game overlay
US9005033B2 (en) 2008-04-11 2015-04-14 Sony Corporation Entertainment America LLC Game movie maker
US8591332B1 (en) 2008-05-05 2013-11-26 Activision Publishing, Inc. Video game video editor
JP4773492B2 (ja) 2008-09-12 2011-09-14 任天堂株式会社 ゲーム装置およびゲームプログラム
US9064043B2 (en) 2008-12-19 2015-06-23 Ncr Corporation Fault replay system and method
US8365075B2 (en) 2009-11-19 2013-01-29 International Business Machines Corporation Recording events in a virtual world
JP5542020B2 (ja) 2010-09-22 2014-07-09 株式会社ソニー・コンピュータエンタテインメント 情報処理システム、情報処理方法、プログラム及び情報記憶媒体
US20120083330A1 (en) 2010-10-05 2012-04-05 Zynga Game Network, Inc. System and Method for Generating Achievement Objects Encapsulating Captured Event Playback
US20120144311A1 (en) 2010-12-07 2012-06-07 Chime.in Media Inc. Computerized system and method for commenting on sub-events within a main event
US8622839B1 (en) 2010-12-09 2014-01-07 Amazon Technologies, Inc. Enhancing user experience by presenting past application usage
US20120204153A1 (en) 2011-02-04 2012-08-09 Disney Enterprises, Inc. Automated testing on multiple video game platforms
ES2730740T3 (es) 2011-09-29 2019-11-12 Sony Interactive Entertainment Europe Ltd Sistema de asistencia de vídeo juego y método
US20130244790A1 (en) * 2012-03-13 2013-09-19 Sony Computer Entertainment America Llc System and method for capturing and sharing console gaming data
US20130263090A1 (en) 2012-03-30 2013-10-03 Sony Online Entertainment Llc System and method for automated testing
US9248374B2 (en) 2012-06-29 2016-02-02 Sony Computer Entertainment Inc. Replay and resumption of suspended game
EP2912621A4 (en) 2012-10-23 2016-03-09 Fans Entertainment Inc SYSTEM AND METHOD FOR TRACKING CONSUMPTION HABITS OF PRODUCTS OF AN EVENTHOUSE
AU2013334432A1 (en) 2012-10-23 2015-06-11 Fans Entertainment Inc. System and method for tracking consumer habits at a venue
US8870661B2 (en) 2012-12-21 2014-10-28 Sony Computer Entertainment America Llc Cloud-based game slice generation and frictionless social sharing with instant play
EP2745893B1 (en) 2012-12-21 2019-03-20 Sony Computer Entertainment America LLC Automatic generation of suggested mini-games for cloud-gaming based on recorded gameplay
US9233305B2 (en) 2013-02-13 2016-01-12 Unity Technologies Finland Oy System and method for managing game-playing experiences
US9776075B2 (en) 2013-03-15 2017-10-03 Electronic Arts Inc. Systems and methods for indicating events in game video
WO2014183034A1 (en) 2013-05-10 2014-11-13 Uberfan, Llc Event-related media management system
JP6379107B2 (ja) 2013-05-21 2018-08-22 株式会社スクウェア・エニックス・ホールディングス 情報処理装置並びにその制御方法、及びプログラム
US9409083B2 (en) 2014-06-27 2016-08-09 Amazon Technologies, Inc. Spawning new timelines during game session replay
US9393486B2 (en) 2014-06-27 2016-07-19 Amazon Technologies, Inc. Character simulation and playback notification in game session replay
WO2016014852A1 (en) 2014-07-23 2016-01-28 Sonic Ip, Inc. Systems and methods for streaming video games using gpu command streams
US9737810B2 (en) 2014-11-13 2017-08-22 Zynga Inc. Asynchronous online game play and defend mode processing to enable social friends to assist and alter game play outcomes
US9795879B2 (en) * 2014-12-31 2017-10-24 Sony Interactive Entertainment America Llc Game state save, transfer and resume for cloud gaming
US10315113B2 (en) 2015-05-14 2019-06-11 Activision Publishing, Inc. System and method for simulating gameplay of nonplayer characters distributed across networked end user devices
US10632372B2 (en) 2015-06-30 2020-04-28 Amazon Technologies, Inc. Game content interface in a spectating system
US11071919B2 (en) 2015-06-30 2021-07-27 Amazon Technologies, Inc. Joining games from a spectating system
US20170001122A1 (en) 2015-06-30 2017-01-05 Amazon Technologies, Inc. Integrating games systems with a spectating system
US9782678B2 (en) 2015-12-06 2017-10-10 Sliver VR Technologies, Inc. Methods and systems for computer video game streaming, highlight, and replay
US10016689B2 (en) 2016-03-21 2018-07-10 Electronic Arts Inc. Synchronized video with in game telemetry
US10226708B2 (en) 2016-06-30 2019-03-12 Electronic Arts Inc. Interactive gameplay playback system
US10456680B2 (en) 2016-12-09 2019-10-29 Blizzard Entertainment, Inc. Determining play of the game based on gameplay events
CN109126140A (zh) 2018-08-30 2019-01-04 北京深极智能科技有限公司 游戏难度评估方法、装置和系统

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7214133B2 (en) * 2003-05-09 2007-05-08 Microsoft Corporation Method and apparatus for retrieving recorded races for use in a game
CN103902806A (zh) * 2012-12-26 2014-07-02 索尼电脑娱乐美国公司 用于对共享云执行迷你游戏的内容进行标记的系统和方法以及标签共享控件

Also Published As

Publication number Publication date
CN107551544A (zh) 2018-01-09
US20180001216A1 (en) 2018-01-04
US10850204B2 (en) 2020-12-01
US20190308108A1 (en) 2019-10-10
US20230191265A1 (en) 2023-06-22
US10226708B2 (en) 2019-03-12
US11484802B2 (en) 2022-11-01
US20210146262A1 (en) 2021-05-20

Similar Documents

Publication Publication Date Title
CN107551544B (zh) 交互式游戏过程回放系统
US10888778B2 (en) Augmented reality (AR) system for providing AR in video games
US11065539B2 (en) Method and system for sharing video game content
JP6434583B2 (ja) 第2のユーザによる第1のユーザのゲームプレーの遠隔制御
US11596872B2 (en) Automated player sponsorship system
US20090132361A1 (en) Consumable advertising in a virtual world
US11571628B2 (en) Modifying game content to reduce abuser actions toward other users
US11883745B2 (en) Systems and methods for providing a tailored video game based on a player defined time period
Mack Evoking interactivity: film and videogame intermediality since the 1980s
US20210402308A1 (en) Selection of video widgets based on computer simulation metadata
JP6959267B2 (ja) 場所ベースゲームプレイコンパニオンアプリケーションを使用するチャレンジの生成
US20230127685A1 (en) Gameplay roulette
CN117482514A (zh) 一种任务数据处理方法、装置、设备及介质
GAMES Interactive Games

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant