背景技術:
視頻游戲應用程序近年在普及性和復雜性方面均有所增加。與過去的游戲應用程序相比,現今的游戲應用程序更具特色,并且有時可能更難進行調試(debug,排錯)。游戲開發者可以使用從游戲測試者和其他系統獲得的錯誤(bug,缺陷、漏洞)報告來檢測和診斷游戲應用程序內的游戲過程(gameplay,玩游戲、游戲可玩性)問題或錯誤。即使在有錯誤報告的情況下,可能也難以識別和測定(replicate)游戲應用程序內的錯誤。因此,游戲開發者可能花費大量的努力和時間來診斷并試圖修復游戲應用程序中的錯誤。
技術實現要素:
本公開內容的系統、方法和設備各自具有若干創新性方面,它們中沒有一個單獨詮釋本文公開的所有的期望屬性。
一個實施方案公開了一種系統,所述系統包括:至少一個數據存儲器,其包括與游戲應用程序相關聯的游戲過程數據;以及遠程計算系統,所述遠程計算系統與所述至少一個數據存儲器電子通信并被配置為執行游戲應用程序分析系統,所述游戲應用程序分析系統被配置為:與在第一計算系統上執行的游戲應用程序的游戲過程會話建立電子通信;生成所述游戲過程會話的會話標識符;接收與所述游戲過程會話相關聯的視頻數據;將所述視頻數據與所述游戲過程會話的會話標識符相關聯,其中,所述視頻數據包括多個時間戳;接收與所述游戲過程會話相關聯的遙測數據;將所述遙測數據與所述游戲過程會話的所述會話標識符相關聯,其中,所述遙測數據包括在所述游戲過程會話期間記錄的多個游戲過程事件,其中,所述多個游戲過程事件中的每個事件與所述多個時間戳中的至少一個時間戳相關聯;以及從第二計算系統接收與所述多個游戲過程事件中的一游戲過程事件相關聯的請求,其中,所述請求包括所述會話標識符和與所述游戲過程事件相關聯的時間戳;至少部分地基于所述會話標識符來識別與所述游戲過程會話相關聯的第一視頻數據;以及至少部分地基于所述時間戳,向所述第二計算系統提供對應于所述游戲過程事件的、與所述游戲過程會話相關聯的所述第一視頻數據的至少一部分。
另一實施方案公開了一種計算機實施的方法,所述方法包括:在包括計算機硬件的計算機系統的控制下,所述計算機系統配置有計算機可執行指令:與在第一計算系統上執行的游戲應用程序的游戲過程會話建立電子通信;生成所述游戲過程會話的會話標識符;接收與所述游戲過程會話相關聯的游戲過程數據,其中,所述游戲過程數據包括視頻數據和遙測數據;將所述視頻數據與所述游戲過程會話的所述會話標識符相關聯;將所述遙測數據與所述游戲過程會話的所述會話標識符相關聯,其中,所述遙測數據包括在所述游戲過程會話期間記錄的多個游戲過程事件,其中所述多個游戲過程事件中的每個事件與所述游戲過程會話的至少一個時間戳相關聯;從第二計算系統接收與所述多個游戲過程事件中的一游戲過程事件相關聯的請求,其中,所述請求包括所述會話標識符和與所述事件相關聯的時間戳;至少部分地基于所述會話標識符來識別與所述游戲過程會話相關聯的第一視頻數據;以及至少部分地基于所述時間戳,向所述第二計算系統提供對應于所述游戲過程事件的、與所述游戲過程會話相關聯的視頻數據。
另一實施方案公開了一種非暫態計算機可讀存儲介質,所述非暫態計算機可讀存儲介質上存儲有指令,所述指令在被執行時指引計算系統實現游戲應用程序分析系統,所述游戲應用程序分析系統被配置為:與在第一計算系統上執行的游戲應用程序的游戲過程會話建立電子通信;生成所述游戲過程會話的會話標識符;接收與所述游戲過程會話相關聯的游戲過程數據,其中,所述游戲過程數據包括視頻數據和遙測數據;將所述視頻數據與所述游戲過程會話的所述會話標識符相關聯;將所述遙測數據與所述游戲過程會話的所述會話標識符相關聯,其中,所述遙測數據包括在所述游戲過程會話期間記錄的多個游戲過程事件,其中,所述多個游戲過程事件中的每個事件與所述游戲過程會話的至少一個時間戳相關聯;從第二計算系統接收與所述多個游戲過程事件中的一游戲過程事件相關聯的請求,其中,所述請求包括所述會話標識符和與所述事件相關聯的時間戳;至少部分地基于所述會話標識符來識別與所述游戲過程會話相關聯的第一視頻數據;以及至少部分地基于所述時間戳,向所述第二計算系統提供對應于所述游戲事件的、與所述游戲過程會話相關聯的視頻數據。
盡管本文公開了某些實施方案和實施例,但是發明主題超出具體公開的實施方案中的實施例延伸到其他可替代的實施方案和/或用途,以及所述主題的修改和等同物。
附圖說明
貫穿所有附圖,重復使用附圖標記以指示所參考的元件之間的對應關系。附圖被提供用以說明本文所描述的主題的實施方案,而非限制所述主題的范圍。
圖1例示了用于實現游戲度量分析系統的一個或多個實施方案的聯網計算環境的實施方案。
圖2例示了游戲度量分析系統的各種系統的交互的實施方案。
圖3和圖4例示了數據可視化系統的實施方案。
圖5例示了將遙測數據與視頻數據相關聯的實施方案的流程圖。
圖6例示了游戲度量分析處理的實施方案的流程圖。
圖7例示了計算設備的實施方案。
具體實施方式
概述
為了對游戲應用程序進行調試,游戲開發者可以在游戲應用程序的游戲過程會話期間獲得遙測數據。遙測數據可以包括:例如,玩家的位置、人物的身體移動及它們相關聯的時間戳,以及游戲應用程序的其他信息。游戲應用程序的遙測數據可以用于在游戲開發期間重新創建游戲狀態和分析問題。遙測數據可以以表格格式、圖表進行數字性地呈現,或被呈現為文字描述。然而,這種方法難以使用戶(例如游戲開發者)僅僅基于數值數據來確定游戲應用程序實際上發生了什么。
將游戲過程會話的遙測數據與視頻數據相關聯可以改善這種困難。在游戲過程會話期間,記錄遙測數據和視頻數據二者。游戲過程會話可以具有會話標識符(會話id)。游戲過程會話的遙測數據和視頻數據二者均可以與同一會話id鏈接。
在游戲過程會話期間獲取的數據可以被實況(live)流送(stream,流式傳輸)到另一計算系統或存儲在數據存儲器中。本文描述的系統可以自動地或基于用戶的輸入(例如錯誤報告)來識別事件(例如錯誤或崩潰)。系統可以基于會話id和事件的時間戳將遙測數據和視頻數據與事件相關聯。相應地,當用戶點擊時間戳時,系統可以向用戶在視覺上和聽覺上示出游戲應用程序中正在發生什么。系統還可以向用戶提供與該時間戳相關聯的遙測數據。有利地,系統可以標記在所記錄的視頻中的事件的一個或多個時間戳。在一些實施方案中,當用戶選擇一事件時,系統可以自動地示出遙測數據并且播放從相關時間戳起的視頻數據。
游戲度量分析系統的概述
圖1例示了用于實現游戲度量分析系統130的計算環境100的實施方案。環境100包括網絡108、玩家計算系統102、用戶計算系統103和交互計算系統120。為了簡化討論而非限制本公開內容,圖1僅例示了一個玩家計算系統102、一個用戶計算系統103和一個交互計算系統120,然而可以使用多個這樣的系統。
交互計算系統可以包括應用程序主機系統122、一個或多個數據存儲器124和游戲度量分析系統130。游戲度量分析系統130可以與數據存儲器124和/或與應用程序主機系統122通信,以獲取與游戲應用程序相關聯的數據。游戲度量分析系統130可以經由網絡108與用戶計算系統103和玩家計算系統102通信。盡管例示了僅一個網絡108,但是可以存在多個不同的和/或分布式的網絡108。
本文描述的系統中的一個或多個可以與對游戲應用程序104的分析相關聯。例如,玩家計算系統102可以被配置為運行游戲應用程序104并獲取游戲應用程序104的數據。用戶計算系統103可以被配置為示出對游戲應用程序104的分析。交互計算系統120可以處理由玩家計算系統102獲取的數據,并將數據分析的結果傳送到用戶計算系統103。
游戲開發者可以使用玩家計算系統102來獲取游戲應用程序104的數據,并使用用戶計算系統103對在游戲應用程序104運行期間遇到的問題進行調試。在一些實施方案中,游戲測試者可以在玩家計算系統102上運行游戲應用程序104。玩家計算系統102的數據獲取系統可以捕獲與游戲應用程序104的游戲過程會話相關聯的數據。游戲開發者可以檢閱(review)所捕獲的游戲應用程序的游戲過程會話的數據(在運行時間期間或運行時間之后),并且分析在游戲應用程序104的執行期間出現的問題。在一些實施方案中,玩家可以在玩家計算系統102上執行游戲應用程序104。用戶諸如游戲開發者或客服人員可以使用用戶計算系統103來分析玩家的游戲過程會話中的問題。
在一些實施方案中,游戲度量分析系統130可以與視頻托管(hosting)服務相關聯,以提供對與玩家的游戲過程會話相關聯的游戲過程信息的訪問。在一些實施方案中,視頻托管服務可以是與應用程序主機系統122或交互計算系統120相關聯的服務。在一些實施方案中,視頻托管服務可以是與游戲度量分析系統130對接(interface)的第三方服務。視頻托管服務可以向用戶提供用以訪問與玩家的游戲過程會話相關聯的游戲過程數據諸如遙測數據和視頻數據的公共視頻接口。游戲度量分析系統142可以從游戲過程會話中識別事件,諸如成就、里程碑、所玩的內容等。訪問視頻托管服務的用戶能夠查看在游戲過程會話期間發生的具體成就或其他感興趣的游戲事件。數據可視化系統132可以向用戶提供用以搜索和選擇在用戶計算系統103上查閱的事件的接口。用戶計算系統103可以通過數據可視化系統132與交互計算系統120通信,以便檢索與事件相關聯的視頻數據。與事件相關聯的視頻數據可以被檢索,并且可以在事件于游戲過程會話期間發生的具體時間處被顯示。例如,一個人可能想要查看某人如何在游戲應用程序中因戰敗了具體的頭目(boss)而贏得成就。此人可以選擇事件,并且數據可視化系統132可以在此人接收到成就的時刻或者在與成就相關聯的具體時間(諸如,在贏得成就之前的限定量時間)處顯示游戲過程會話的視頻。
出于本公開內容的目的,術語“玩家”可以指在游戲過程會話期間正在玩或以其他方式操作游戲應用程序的人。例如,玩家計算系統102可以指由玩家操作的、通過數據獲取系統150向交互計算系統120提供游戲過程會話數據的計算系統。術語“用戶”可以指正在訪問游戲度量分析系統130以通過數據可視化系統132查看與玩家的游戲過程會話相關聯的游戲過程數據的人。盡管被示為分離的系統,但是玩家計算系統102和用戶計算系統103可以是同一計算系統,這取決于系統是正在提供游戲過程會話數據還是正在通過數據可視化系統132訪問游戲過程會話數據。
a.交互計算系統
在所示出的實施方案中,交互計算系統120包括應用程序主機系統122、數據存儲器124和游戲度量分析系統130。這些系統可以彼此通信。例如,游戲度量分析系統130可以從應用程序主機系統122獲得與游戲應用程序相關聯的數據,并且可以將這樣的數據存儲在數據存儲器124中。應用程序主機系統122可以與數據存儲器124通信,以執行和/或托管游戲應用程序。在某些實施方案中,交互計算系統120可以與基于網絡的視頻服務相關聯。
1.應用程序主機系統
應用程序主機系統122可以被配置為執行游戲應用程序104和/或主機應用程序106的一部分。在某些實施方案中,代替執行游戲應用程序104和/或主機應用程序106的一部分或除了執行游戲應用程序和/或主機應用程序的一部分之外,應用程序主機系統122可以執行另一應用程序,該另一應用程序可以在游戲應用程序104的實例的執行期間與游戲應用程序104形成互補和/或進行交互。下面描述了關于應用程序主機系統的進一步的細節。
交互計算系統120可以使多個玩家或計算系統能夠訪問由交互計算系統120執行或托管的游戲應用程序104和/或主機應用程序106的一部分。在一些實施方案中,由交互計算系統120的應用程序主機系統122執行的游戲應用程序104的部分可以創建持久性虛擬世界。該持久性虛擬世界可以使一個或多個玩家能夠與虛擬世界進行交互,并且以同步和/或異步的方式彼此交互。在一些情況下,持久性虛擬世界的多個實例可以由交互計算系統120創建或托管。一組玩家可以被分配給持久性虛擬世界的一個實例或者可以訪問持久性虛擬世界的一個實例,而另一組玩家可以被分配給持久性虛擬世界的另一實例或可以訪問持久性虛擬世界的另一實例。在一些實施方案中,應用程序主機系統122可以執行用于執行游戲環境的各個方面的托管系統。例如,在一個實施方案中,游戲應用程序104可以是競技性游戲,諸如第一人稱射擊游戲或體育游戲,并且應用程序主機系統122可以提供用于托管多玩家游戲實例的專用托管服務,或者可以促進由玩家計算設備托管的游戲實例的創建。在一些實施方案中,應用程序主機系統122可以向玩家提供游戲大廳或其他環境以使他們彼此虛擬地進行交互。這樣的環境可以包括用于在玩家之間進行交易的環境,諸如用于促進交易的拍賣場或拍賣類型的環境。
2.游戲度量分析系統
如關于圖1中的其他系統所描述的,游戲度量分析系統130可以與其他系統通信以獲取與游戲應用程序相關聯的數據并分析該數據。游戲度量分析系統可以包括用于數據獲取和分析的一個或多個系統。例如,游戲度量分析系統130可以包括數據可視化系統132、遙測數據獲取系統134、搜索系統136、視頻獲取系統138、調試系統140、玩家數據獲取系統142和數據分析系統144。這些示例系統并非意在限制性的。游戲度量分析系統130可以包括與所描述的相比更多或更少的系統。例如,在一些實施方案中,交互計算系統可以不具有玩家數據獲取系統142。在其他實施方案中,游戲度量分析系統130可以包括促進游戲數據的獲取和游戲應用程序的分析的更多的系統和/或功能性。
游戲度量分析計算系統130及其各種系統可以分布在多個計算系統上。游戲度量分析系統的各種系統可以彼此通信,以獲得和分析與游戲應用程序相關聯的數據。例如,視頻獲取系統138的一部分可以由玩家計算系統102執行,而視頻獲取系統138的另一部分可以由交互計算系統120執行。游戲度量分析系統130的視頻獲取系統138可以與玩家計算系統102的視頻獲取系統138通信以獲取視頻數據。交互計算系統120的視頻獲取系統138可以生成特定游戲會話的會話id。玩家計算系統102的視頻獲取系統138可以是游戲應用程序104的插件并且獲取游戲的執行的視頻數據。在其他實施方案中,視頻獲取系統138可以完全由玩家計算系統102實施。視頻獲取系統138可以將所獲取的視頻傳送到數據可視化系統132,以生成用戶界面數據,從而顯示視頻。
游戲過程會話可以與開始時間和結束時間相關聯。開始時間可以是游戲應用程序開始被記錄的時間。結束時間可以是例如由于玩家或崩潰而使對游戲應用程序的記錄終止的時間。游戲過程會話可以具有介于開始時間和結束時間之間的多個時間戳。在游戲過程會話期間,各種系統可以在每個時間戳處同時獲取游戲應用程序的數據。例如,遙測數據獲取系統可以獲取游戲應用程序的遙測數據,而視頻獲取系統可以獲取游戲應用程序的視頻數據。
游戲過程會話與會話id相關聯。會話id對于游戲過程會話可以是獨特的。會話id可以由本文描述的一個或多個系統——例如玩家計算系統102、應用程序主機系統122、游戲度量分析系統130等——生成。會話id可以基于各種信息,例如ip地址、當游戲應用程序開始被執行時的時間戳、玩家的簡檔(profile)信息、以及它們的組合等。會話id可以用于鏈接由不同系統在游戲過程會話期間獲取的數據。有利地,在一些實施方案中,可以使用游戲過程會話的時間戳將由各種系統獲取的數據進一步鏈接在一起。下面將更詳細地描述游戲度量分析系統130的每個系統。
a.遙測數據獲取系統
遙測數據獲取系統134可以被配置為在游戲過程會話期間獲取遙測數據。游戲應用程序的遙測數據可以用于在游戲開發期間重新創建游戲狀態和分析問題。遙測數據可以包括特定于游戲應用程序的數據,例如時間戳、人物的移動、人物的位置、一個或多個事件(例如,敵人在射擊游戲中死亡)、玩家輸入(例如按下的按鈕)等。在一些實施方案中,遙測數據獲取系統134還可以獲取與游戲應用程序相關聯的系統信息。系統信息可以包括:性能數據,諸如cpu或存儲器利用率;在其上執行游戲應用程序的機器等。
遙測數據可以以各種數據庫格式存儲。遙測數據可以被轉換成統計數據,以用于分析和調試游戲應用程序。遙測數據可以被轉換或組織成示出與游戲應用程序相關聯的各種度量或統計數據,例如隨個人游戲等級變化的平均完成時間、平均每周錯誤率、每天的收入、每天的活躍動玩家的數量等等。這些統計數據有時可以被稱為游戲度量。
遙測數據獲取系統134可以將在游戲過程會話期間獲取的遙測數據與會話id相關聯。在一些實施方案中,在游戲過程會話期間,遙測數據獲取系統134可以獲取遙測數據,而視頻獲取系統138記錄游戲過程會話的視頻。通過使用會話id,遙測數據可以與視頻數據相關聯。
b.視頻獲取系統
視頻獲取系統138可以記錄游戲應用程序104的執行。例如,視頻獲取系統138可以收集視頻數據,例如游戲過程的移動視覺圖像(例如對象的移動)、音頻數據(例如轟炸或射擊的聲音)、系統通知、對話、與項目的交互、玩家之間的消息、玩家評論、網絡攝像機片段(footage)等。視頻獲取系統138可以在游戲過程期間記錄玩家計算系統的屏幕。在一些實施方案中,視頻獲取系統138可以被配置為獲取與游戲過程會話的多個視圖相關聯的視頻數據。例如,游戲應用程序可以記錄在游戲過程會話內的多個視頻捕獲流,即使在給定時間向玩家顯示僅單個視圖。在一些實施方案中,視覺數據和音頻數據可以通過單獨的軟件和/或硬件來獲取。
由視頻獲取系統138獲取的數據可以由數據可視化系統132實況流送。例如,視頻獲取系統138可以收集視頻數據并將視頻數據傳輸到交互計算系統120。當游戲正在進行時,游戲開發者可以查看這樣的視頻數據。視頻獲取系統138還可以記錄游戲過程會話,將所記錄的視頻存儲在諸如數據存儲器126中,并且在稍后的時間將所記錄的數據傳輸到其他計算系統。
如參考遙測數據獲取系統所描述的,視頻數據可以基于會話id鏈接到游戲過程會話。在游戲過程會話期間,由視頻獲取系統138獲取的視頻數據可以與開始時間和結束時間相關聯。視頻數據的開始時間和結束時間可以與游戲過程會話的開始時間和結束時間不同地進行表示。例如,游戲過程會話的一分鐘視頻可以是開始時間為0秒和結束時間為60秒。但是與游戲過程會話相關聯的開始時間可以是上午8:30:00,而與游戲過程會話相關聯的結束時間可以是上午8:31:00。在一些實施方案中,視頻數據可以使用與游戲過程會話相同的時間表示。
在開始時間與結束時間之間,視頻數據可以被劃分為多個幀。時間戳可以用于指代視頻內的具體幀。在一些實施方案中,游戲度量分析系統130可以將事件與視頻數據的某些時間戳相關聯。通過使用會話id和時間戳,該事件還可以與游戲過程會話中的其他數據諸如遙測數據相關聯。例如,游戲度量分析系統130可以記錄游戲過程會話中的射擊游戲應用程序。在射擊游戲期間,事件可以為玩家何時殺死大頭目。游戲度量分析系統130可以識別該事件發生時的時間戳。游戲度量分析系統130可以基于時間戳來關聯該事件的視頻幀和遙測數據。游戲度量分析系統130還可以生成用戶界面數據,該用戶界面數據允許用戶通過播放從時間戳中之一起的視頻來查閱事件。
c.玩家數據獲取系統
玩家數據獲取系統142可以獲取玩家簡檔信息,例如玩家的年齡、地理位置、性別等。玩家數據獲取系統142還可以獲取與玩家的游戲中行為例如游戲中的購買行為有關的信息、與其他玩家進行交互的偏好等等。玩家數據獲取系統142可以與本文描述的其他系統通信。例如,玩家數據獲取系統142可以與數據存儲器124通信,以存儲與玩家賬號、玩家簡檔和/或玩家計算系統相關聯的信息。玩家數據獲取系統142還可以與數據分析系統144、調試系統140和/或數據可視化系統132通信,并且向這些系統提供玩家數據以用于進一步分析。
d.數據分析系統
數據分析系統144可以分析與游戲應用程序相關聯的數據,并生成游戲度量信息。在某些實施方案中,數據分析系統144可以是調試系統140的一部分。數據分析系統144可以在游戲過程會話之后執行數據分析。例如,數據分析系統144可以使用與游戲過程會話相關聯的會話id從數據存儲器124獲得遙測數據和玩家簡檔數據。數據分析系統144可以基于所獲得的數據生成關于玩家的游戲中行為的報告。
數據分析系統144還可以分析跨多個游戲過程會話的數據。數據分析系統144可以向數據存儲器124傳送多個會話id以檢索數據。在一些實現中,可以使用其他標識符來獲得數據。例如,數據分析系統144可以使用玩家id、事件id和/或所記錄視頻中的時間戳來檢索數據。
如參照圖2所描述的,數據分析系統144可以與數據可視化系統132通信,并以各種格式呈現游戲度量數據,上述格式例如為圖形(例如餅圖、熱度圖、表格、線圖)、表格、文字描述等。在一些實施方案中,數據分析系統144可以包含多個模塊,其中每個模塊用于某種類型的分析。例如,一個模塊可以用于生成游戲度量數據的圖形。另一模塊可以用于分析玩家的游戲中購買行為。這些模塊可以作為游戲應用程序104和/或數據可視化系統132的插件實施。用戶可以例如通過添加或移除一個或多個模塊來定制數據分析系統144。
e.調試系統
調試系統140可以用于分析游戲應用程序的一個或多個事件。事件可以包括游戲應用程序的崩潰、游戲應用程序的錯誤、用戶配置的動作、游戲內的時刻檢查點(例如,在足球比賽中的觸地、在第一人稱射擊游戲中射擊敵人、游戲中的成就等等)。在一些實施方案中,事件可以具有一個或多個事件標識符,例如錯誤標識符(錯誤id)、崩潰標識符(崩潰id)、檢查點編號等。
調試系統140可以被配置為從用戶接收事件報告。在一些實施方案中,事件報告可以是錯誤報告。例如,當觀看由視頻獲取系統138獲得的記錄視頻時,用戶可以識別游戲應用程序104中的問題(例如玩家的化身(avatar)被卡在某一位置)。用戶可以經由用戶計算系統103提交錯誤報告。錯誤報告可以包含與問題相關聯的信息,例如對錯誤的描述、玩家在游戲中的位置、問題的時間戳、會話id等。調試系統140可以生成與由用戶提交的錯誤報告相關聯的錯誤id。
在一些實施方案中,調試系統140可以自動檢測游戲應用程序104中的事件。例如,調試系統140可以被配置為監測游戲應用程序104的崩潰。調試系統140可以生成與崩潰相關聯的崩潰id(其可以或可以不與錯誤id相同)。調試系統140可以編譯與崩潰相關聯的信息,諸如解碼的調用棧、崩潰id、會話id等。這樣的信息可以由其他系統諸如調試系統140和/或數據可視化系統132使用,以便于診斷崩潰。
有利地,調試系統140可以組織和關聯從不同系統獲得的數據。調試系統140可以基于一個或多個標識符例如游戲過程會話的會話id進行這樣的關聯。例如,調試系統140可以使用游戲過程會話的會話id將遙測數據與視頻數據相關聯。調試系統140還可以通過使用游戲過程會話中的時間戳來整合(assemble)事件的信息。例如,調試系統140可以接收事件信息,該事件信息可以包括事件描述(例如玩家不能移動)、時間戳(例如,游戲過程會話的時間戳和/或所記錄視頻的時間戳)、會話id、事件標識符、玩家的位置信息等。調試系統140可以基于針對事件提供的信息來識別游戲過程會話中的一個或多個時間戳。時間戳可以包括時間間隔、離散時間或它們的組合。調試系統140可以使用時間戳來獲得與事件相關聯的信息(例如遙測數據或視頻數據)。
例如,用戶可以提交人物在游戲應用程序104中的移動的差錯的錯誤報告。錯誤報告可以包括如下信息:諸如錯誤的會話id、發生錯誤的游戲過程會話的時間戳和對錯誤的描述。調試系統140可以通過使用錯誤報告中的會話id來獲得遙測數據和所記錄的視頻。調試系統140還可以在多個時間戳處將所記錄的視頻的幀與遙測數據相關聯。調試系統可以與數據可視化系統132通信以生成用戶界面數據,該用戶界面數據示出對錯誤的描述、錯誤發生的地方的游戲環境地圖以及具有所記錄的視覺圖像和/或錯誤的音頻信息的視頻。有利地,視頻可以在錯誤發生的時間戳處自動開始流送。
f.搜索系統
搜索系統136可以與游戲度量分析系統130和/或交互計算系統120的各種系統進行通信。例如,搜索系統136可以與數據可視化系統132通信,以接收一個或多個搜索準則。搜索系統可以與數據存儲器124通信,并且基于搜索準則查找信息。搜索系統136可以將從數據存儲器124獲得的信息傳輸到數據可視化系統132,以供用戶查看。
搜索系統136可以在游戲過程會話中查找一個或多個事件。搜索系統136還可以跨多個游戲過程會話查找信息,諸如具體類型的事件。例如,搜索系統136可以搜索與足球比賽期間的每次觸地相關聯的信息。搜索系統136還可以搜索過去兩天中的所有記錄的視頻。
g.數據可視化系統
數據可視化系統132可以生成用戶界面以供用戶查看與游戲應用程序104相關聯的數據分析。用戶界面可以包括游戲遙測數據、錯誤報告、用戶簡檔數據、記錄的游戲會話的視頻、過濾工具、搜索工具等。過濾工具和/或搜索工具可以被配置為接收用戶輸入,并基于用戶輸入來過濾數據。用戶界面可以通過網絡界面(諸如網頁)和/或本地安裝在計算設備上的應用程序來呈現(render)。
數據可視化系統132可以使用一個或多個用戶界面模板來生成用戶界面數據。參照圖2,用戶界面模板可以具有多個模塊,例如調試信息模塊240、事件信息模塊250、視覺游戲信息模塊270、視頻模塊280、界面控制模塊260等。數據可視化系統132可以通過使用從游戲度量分析系統130的其他系統接收的信息來填入(populate,構成)模塊。
3.數據存儲器
交互計算系統120可以包括數據存儲器124。數據存儲器124可以被配置為存儲由其他系統獲取的數據,例如遙測數據、視頻數據、用戶數據等。數據存儲器可以跨多個計算設備(參見例如圖7中的計算設備700)分布。在一些實施方案中,數據存儲器124可以是基于網絡的存儲系統,其中,數據可以存儲在不同的位置。
b.玩家計算系統
玩家計算系統102可以包括用于通過通信網絡108建立通信的硬件部件和軟件部件。例如,用戶計算系統102可以被配備有便于其經由一個或多個網絡(例如因特網或內聯網)進行通信的聯網設備和網絡軟件應用程序(例如網絡瀏覽器)。玩家計算系統102可以具有各種各樣的本地計算資源,諸如中央處理單元和架構、存儲器、大容量存儲裝置、圖形處理單元、通信網絡可用性和帶寬等等。此外,玩家計算系統102可以包括任何類型的計算系統。例如,玩家計算系統102可以包括任何類型的計算設備,諸如臺式計算機、膝上型計算機、游戲應用程序平臺、電視機頂盒、電視機(例如互聯網tv)、聯網使用的自動服務終端(kiosk)、車輛控制臺設備計算機化裝置、可穿戴設備(例如具有計算功能的智能手表和眼鏡)以及無線移動設備(例如智能手機、pda、平板計算機等),僅舉幾例。在一些實施方案中,玩家計算系統102可以包括下面關于圖7所述的實施方案中的一個或多個。
1.游戲應用程序和主機應用程序系統
通常,玩家計算系統102能夠執行可以在分布式環境中存儲和/或執行的游戲應用程序104。例如,玩家計算系統102可以執行游戲的一部分,并且交互計算系統120或者交互計算系統120的應用程序主機系統122可以執行游戲的另一部分。例如,游戲可以是大型多玩家在線角色扮演游戲(mmorpg),其包括由玩家計算系統102執行的客戶端部分和由一個或多個應用程序主機系統122執行的服務器部分。對于當前的討論,游戲應用程序104可以包括如下分布式應用程序或應用程序:這樣的分布式應用程序或應用程序包括在玩家計算系統102上執行的一部分和在應用程序主機系統122中的至少一個上執行的一部分。玩家計算系統102可以執行主機應用程序系統106。主機應用程序系統106可以被加載到玩家計算系統102上的存儲器中,并且可以用作用于一個或多個游戲應用程序104的、與應用程序主機系統122對接的接口(interface)或集線器。
2.數據獲取系統
數據獲取系統150可以用于獲取與玩家和/或游戲應用程序104相關聯的數據。數據獲取系統150可以包括視頻獲取系統138、遙測數據獲取系統134和玩家數據獲取系統142。數據獲取系統150可以是游戲度量分析系統130的一部分。如參考游戲度量分析系統130所描述的,數據獲取系統150可以獲取游戲應用程序的遙測數據(使用遙測數據獲取系統134)、游戲過程的視頻數據(使用視頻數據獲取系統138)、和/或玩家簡檔數據(使用玩家數據獲取系統142)。
數據獲取系統150的各種系統可以通過硬件、軟件或它們的組合來實現。例如,系統可以是游戲應用程序104、主機應用程序系統106和/或應用程序主機系統122的軟件插件。一個或多個系統還可以是能夠與游戲應用程序104、主機應用程序系統106和/或應用程序主機系統122通信的獨立(standalone)應用程序。
c.用戶計算系統
用戶計算系統103可以由如參照圖7所描述的計算設備來實現。用戶計算系統103可以包括數據可視化系統132。用戶計算系統103可以經由網絡108與玩家計算系統102和/或交互計算系統120通信。在一些實施方案中,用戶計算系統103可以是玩家計算系統102或交互計算系統120的一部分。
用戶計算系統103的數據可視化系統132可以包括用戶界面。如參照圖2所描述的,用戶界面可以顯示一個或多個游戲度量。游戲度量可以以各種格式示出,這樣的格式諸如為表格、文字描述、圖形等。用戶界面可以顯示在某一時間戳處的游戲環境地圖,諸如玩家的位置或移動方向。用戶界面可以示出由視頻獲取系統138在游戲過程期間獲取的視頻。
數據可視化系統132可以以各種方式實現,例如網站、移動頁面、應用程序(例如調試應用程序、游戲應用程序或主機應用程序)的插件,等等。下面將更詳細地描述數據可視化系統132。
d.其他考慮
雖然單獨地描述了各種系統,但應當注意的是,這些系統中的一個或多個可以組合在一起。例如,用戶計算系統103可以與玩家計算系統102組合。在另一實施例中,搜索系統136可以是數據可視化系統132的一部分。另外,這些系統中的一個或多個可以由同一計算設備(參見例如圖7中的計算設備10)執行。例如,管理計算系統103可以在與玩家計算系統102相同的計算設備上執行。
另一方面,一個或多個系統可以由多個計算設備執行。例如,數據可視化系統132的一部分可以由玩家的個人計算機實施,而另一部分可以由服務器實施。
用于分析游戲應用程序的用戶界面的實施例
圖2示出了數據可視化系統與各種其他系統之間的交互的實施方案。如所例示的實施方案中示出,數據可視化系統132可以與各種系統通信,上述各種系統例如為調試系統140、數據分析系統144、搜索系統136、視頻獲取系統138、遙測數據獲取系統134和/或玩家數據獲取系統142。數據可視化系統132可以生成用戶界面數據,并且傳輸用戶界面數據以由計算設備(例如參照圖7描述的計算設備)顯示。每個系統可以是游戲應用程序的一部分(例如游戲應用程序的插件)、主機應用程序的一部分、網頁的一部分或獨立應用程序的一部分。
在所例示的實施方案中,數據可視化系統132包括例如調試信息模塊240、事件信息模塊250、視覺游戲信息模塊270、視頻模塊280、界面控制模塊260等等。這些模塊可以用于顯示從圖1中描述的系統接收的信息。
盡管參照各種系統和模塊描述了圖2中的實施例,但是這些實施例不是限制性的。系統200可以包括更多或更少的系統和/或模塊。例如,在一些實施方案中,系統200可以不具有玩家數據獲取系統142。數據可視化系統132可以包括用于顯示由數據分析系統生成的數據的另一模塊。在一些實施方式中,一個或多個模塊可以是另一模塊的一部分。例如,調試信息模塊240可以與事件信息模塊250組合。類似地,搜索系統136有時可以是調試系統140的一部分。
在一些實施方案中,數據可視化系統132可以被配置為向視頻托管服務的用戶提供用戶界面。數據可視化系統132可以將視頻托管服務的公共用戶的訪問限制為與游戲過程會話相關聯的具體模塊和限定的數據。例如,用于視頻托管服務的數據可視化系統132的用戶界面可以包括事件信息模塊250、視覺游戲信息模塊270、視頻模塊280和界面控制模塊260,但是可以不包括調試信息模塊240。另外,事件信息模塊250可以對事件信息具有受限的訪問,諸如僅僅訪問與某些類型的事件相關聯的數據。
a.數據可視化系統與其他系統之間實施交互
a.數據可視化系統與調試系統之間的交互
數據可視化系統132可以與調試系統140通信,并且利用游戲應用程序中的一個或多個事件的信息來生成用戶界面數據。數據可視化系統132可以接收由調試系統140識別的事件。事件可以與事件id和/或會話id相關聯。數據可視化系統132可以使用事件id和/或會話id從數據存儲器124獲得與事件相關聯的信息。數據可視化系統132可以將所獲得的信息存儲到數據可視化系統132的各個模塊中。例如,數據可視化系統132可以使用崩潰id和會話id來檢索游戲過程會話中的崩潰的遙測數據信息、視頻數據信息和解碼的調用棧信息。數據可視化系統132可以將解碼的調用棧信息存儲到調試信息模塊240中,將遙測數據信息存儲到視覺游戲信息模塊270和/或事件信息模塊250中,并將視頻數據存儲到視頻模塊280中。
如參照圖1所描述的,可以使用游戲過程會話的時間戳來鏈接游戲過程會話的遙測數據和視頻數據。有利地,數據可視化系統132的視頻模塊280可以自動播放從事件發生時的時間戳起的所記錄的視頻。當流送視頻時,數據可視化系統132還可以連同視頻數據一起示出遙測數據。在一些實施方案中,數據可視化系統132可以允許用戶選擇視頻的時間戳并查看與該時間戳相關聯的數據。例如,當用戶點擊視頻的時間戳時,數據可視化系統132可以顯示與該時間戳相關聯的視頻數據和遙測數據。
在某些實施方式中,調試系統的一部分可以由界面控制模塊260實施。例如,界面控制模塊260可以包括用于供用戶填寫和提交游戲應用程序104中的錯誤的信息(例如位置、時間戳、描述、游戲會話等等)的一個或多個用戶界面元素。這是特別有利的,原因在于游戲開發者可以在查閱游戲過程會話的視頻時識別一個或多個錯誤。
b.數據可視化系統與數據分析系統之間的交互
數據可視化系統132可以與數據分析系統144通信,并以各種格式顯示游戲度量,上述格式例如為圖形(例如餅圖、熱度圖、表格、線圖)、表格、文字描述等。數據可視化系統132可以使用一個或多個模塊諸如調試信息模塊240、事件信息模塊250等來顯示這樣的數據分析。
在一些實施方案中,數據可視化系統132可以包括用于以某些格式呈現出游戲度量分析的一個或多個插件。例如,數據可視化系統132可以具有如下插件,該插件可以允許數據可視化系統132使用熱度圖來顯示游戲數據。
c.數據可視化系統與搜索系統之間的交互
數據可視化系統132可以包括允許用戶搜索和過濾數據的用戶界面控制模塊260。用戶界面控制模塊260可以包括搜索工具,該搜索工具允許用戶輸入搜索查詢并且接收基于搜索查詢的數據。例如,用戶可以在搜索查詢中提供錯誤id和會話id。界面控制模塊260可以將錯誤id和會話id傳送到搜索系統136。數據可視化系統132可以從搜索系統136接收與錯誤id和會話id相關聯的數據,例如遙測數據、視頻數據。數據可視化系統132然后可以在視頻模塊280中顯示視頻數據,并在調試信息模塊240中顯示遙測數據。
在一些實施方案中,用戶可以輸入使數據可視化系統132接收與多個游戲過程會話相關聯的數據的查詢。例如,用戶可以請求過去兩天中與具體游戲過程事件(諸如具體的頭目戰斗)相關聯的列表視頻。數據可視化系統132可以接收與用戶請求的視頻列表相關聯的會話id和/或數據。
界面控制模塊260還可以包括過濾工具。過濾工具可以允許用戶選擇該用戶感興趣的一組或多組數據。過濾工具可以應用于各種數據,例如游戲度量數據、視頻數據、遙測數據、玩家簡檔數據等。用戶界面控制模塊260可以顯示一個或多個選項,用戶可以針對過濾從這些選項中進行選擇。例如,選項可以包括時間戳、事件、會話id等等。在一些實施方案中,用戶界面控制模塊260還可以允許用戶直接輸入過濾準則。
界面控制模塊260可以與一個或多個系統——諸如調試系統140、數據分析系統144或搜索系統136——進行通信,以基于過濾準則檢索數據。在一些實施方案中,數據可視化系統132可以基于過濾準則顯示從各種系統獲得的數據的僅一部分。
d.數據可視化系統與數據獲取系統之間的交互
數據可視化系統132可以與數據獲取系統150通信,以利用由數據獲取系統150獲取的數據來生成用戶界面數據。例如,數據可視化系統132可以顯示由視頻獲取系統138獲取的視頻數據。數據可視化系統132可以在視頻模塊280中顯示視頻數據。如參照圖1所描述的,視頻可以包括與某些事件相關聯的一個或多個時間戳。用戶可以選擇觀看在與事件中之一相關聯的時間戳處開始的視頻。
數據可視化系統132可以顯示由遙測數據獲取系統134獲取的原始遙測數據。在一些實施方案中,數據獲取系統132可以顯示由其他系統(例如數據分析系統144和/或調試系統140)處理的遙測數據。數據可視化系統132可以在一個或多個模塊——例如調試信息模塊240、事件信息模塊250或視覺游戲信息模塊270——中顯示遙測數據。
類似地,數據可視化系統132可以顯示由玩家數據獲取系統142獲取的玩家簡檔數據。數據可視化系統132可以在視覺游戲信息模塊270中示出玩家簡檔數據。在一些實施方案中,數據可視化系統132可以在數據由數據分析系統144處理之后顯示玩家簡檔數據。
在某些實施方式中,界面控制系統260的過濾工具可以從用戶接收過濾準則,并且顯示由數據獲取系統150獲取的僅某些類型的數據。
b.用戶界面的示例性實施例
圖3和圖4是實施數據可視化系統的用戶界面的實施例。用戶界面可以是計算設備10上的網頁或應用程序。用戶界面可以包括標簽390,該標簽允許用戶在不同類型的視圖之間進行選擇。例如,圖3中的標簽390可以包括:主頁視圖,其可以提供與游戲應用程序104相關聯的信息的概要;錯誤視圖,其包括與游戲應用程序104中的錯誤相關聯的信息(諸如錯誤id、會話id和錯誤描述);事件信息視圖,其示出游戲過程會話的事件信息;以及提供如圖4所描述的遙測數據的概要的遙測視圖。數據可視化系統可以基于各種因素來生成標簽390,這樣的因素諸如為游戲的類型、事件的類型、計算設備的類型(例如,xboxv.pc)、用戶的偏好以及它們的組合等等。用戶可以通過添加或刪除一個或多個視圖來配置標簽390。在一些實施方案中,用戶還可以在視圖內配置一個或多個模塊(例如,如在圖2中關于數據可視化系統132所描述的)。
在圖3中,用戶界面300例示了與游戲過程會話相關聯的數據。所例示的實施方案包括游戲環境地圖310、視頻玩家界面320、書簽欄330、過濾工具340和事件模塊350。游戲過程會話的元素可以在游戲環境地圖310上示出。游戲過程會話的視頻數據可以在視頻玩家界面320上示出。
事件模塊350可以包括與游戲過程會話相關聯的事件的列表。例如,如圖3所示,事件模塊350可以包括事件的日期、時間、類型和描述。用戶可以通過點擊事件模塊中的事件來獲取關于該事件的更多詳細信息。例如,當用戶點擊事件模塊中的差錯時,數據可視化系統132可以將用戶帶至具有差錯詳細信息的頁面。
游戲環境地圖310可以提供游戲環境的地圖。游戲環境地圖310的類型可以基于游戲應用程序的特性而變化。例如,如果游戲應用程序是二維(2d)游戲,則游戲環境地圖310可以包括游戲應用程序的2d地圖。如果游戲應用程序是三維(3d)游戲,則游戲環境地圖310可以包括游戲應用程序的2d和3d地圖。
游戲環境地圖310可以提供與來自游戲過程會話的事件相關聯的視覺指示。例如,在所例示的實施方案中,游戲環境地圖310包括人物的一個或多個位置(例如,位置362a、362b、366)和移動軌跡360。游戲環境地圖310可以在游戲過程會話的不同時間戳處被更新。相應地,在一些實施方案中,游戲環境地圖310可以包括游戲過程會話期間游戲環境的變化的視頻。
用戶界面300的時間軸條372提供游戲過程會話的時間戳。時間軸372可以允許用戶在游戲過程會話中的不同時間點處查看游戲環境地圖310。例如,時間戳372a可以對應于游戲環境地圖310上人物的位置362a,而時間戳372b可以對應于游戲環境地圖310上人物的位置362b。
游戲過程會話的時間戳還可以對應于在游戲過程會話期間捕獲的視頻數據。例如,軌跡380可以示出人物在游戲環境中的移動。軌跡380具有起點382a和終點382b。視頻數據和游戲環境地圖310可以通過使用游戲過程會話的時間戳而鏈接。例如,所記錄的視頻中的軌跡380可以與游戲環境地圖310上的軌跡360相關。在時間戳372a處,人物位于游戲環境地圖310上的位置362a,而同一人物在所記錄的視頻中位于位置382a。類似地,時間戳372b對應于游戲環境地圖310上的位置362b,并且對應于所記錄的視頻中的位置382b。
有利地,當用戶點擊時間戳372a時,數據可視化系統可以開始播放人物位于起始點382a處的所記錄的視頻。同時,數據可視化系統還可以示出在時間戳372a開始的游戲環境地圖的變化。在一些實施方案中,用戶可以點擊所記錄的視頻的時間戳,并且數據可視化系統可以開始播放在該時間戳處的所記錄的視頻和游戲環境地圖310。用戶還可以點擊例如所記錄的視頻和/或游戲過程會話310的其他時間戳,以察看在差錯之前的場景(context)。
書簽欄330可以允許用戶向視頻添加額外的場景。例如,用戶可以向視頻插入對觀看該視頻的其他用戶可見的評論。
過濾工具340可以允許用戶選擇一個或多個選項,以便查看數據(例如遙測數據、視頻數據、游戲過程數據等)的子集。
圖4例示了用戶界面的另一實施例。用戶界面400顯示遙測數據信息。當用戶點擊標簽390上的遙測視圖時,數據可視化系統132可以顯示用戶界面400。
用戶界面400在模塊430中示出遙測數據。遙測數據可以包括事件的日期和時間、事件的類型、會話id、事件id等。用戶可以點擊模塊430中的條目。數據可視化系統132可以將用戶帶至不同的頁面。例如,如果用戶點擊錯誤id,則數據可視化系統132可以返回示出與該錯誤id相關聯的游戲環境地圖和視頻的用戶界面300。
用戶界面400可以包括過濾工具410。過濾工具410可以是界面控制模塊260(例如,如參照圖2所描述的)的一部分。過濾工具410可以與一個或多個系統和/或模塊通信,并顯示遙測數據的子集。例如,用戶可以選擇僅查看與敵人人物相關聯的遙測數據。在接收到過濾準則時,遙測數據模塊430可以相應地顯示遙測數據。類似地,用戶可以使用過濾工具以在模塊430中僅示出事件的描述和會話id。
用戶界面400還可以包括搜索工具420。如圖4所示,用戶可以將會話id輸入到搜索工具420中并接收與該會話id相關聯的所有遙測數據。
將遙測數據與視頻數據相關聯的示例性過程
圖5例示了將遙測數據與視頻數據相關聯的方法的流程圖的實施方案。過程500可以由可以在游戲應用程序的運行時間期間在游戲環境內解碼和流送內容的任何系統來實施。例如,過程500的整體或部分可以由游戲應用程序104、游戲度量分析系統130、用戶計算系統103、玩家計算系統102、交互計算系統120或其他應用程序模塊來實施。盡管任何數量的系統均可以整體地或部分地實施過程500,但為了簡化討論,將關于特定系統來描述過程500。此外,盡管可以關于包括各種游戲應用程序環境的系統的變型來執行過程500的實施方案,但為了簡化討論,將關于交互計算系統120來描述過程500。
在過程500中,在框510處,交互計算系統120可以與在玩家計算系統102上的游戲應用程序的游戲過程會話建立電子通信。在一些實施方案中,數據獲取系統150和/或交互計算系統120可以與游戲過程會話建立通信。玩家計算系統102可以執行運行游戲過程會話的游戲應用程序104。
在框520處,生成游戲過程會話的會話id。會話id可以由交互計算系統120或玩家計算系統102生成。在某些實施方案中,會話id可以包括對玩家計算系統102獨特的信息,諸如與玩家計算系統102相關聯的ip地址。
在框530處,交互計算系統可以接收與游戲過程會話相關聯的數據。與游戲過程會話相關聯的數據可以包括視頻數據、遙測數據、系統數據、玩家簡檔數據和/或與游戲應用程序的執行相關聯的其他數據。在一些實施方案中,單獨的系統可以各自與游戲應用程序通信并且獲取與游戲過程會話相關聯的具體數據。例如,視頻獲取系統144可以獲取視頻數據,遙測數據獲取系統134可以獲取遙測數據,玩家數據獲取系統142可以獲取玩家簡檔數據,和/或其他系統可以負責獲取不同類型的數據。每個系統可以將它們相應的數據存儲在與相應系統相關聯的數據存儲器中。
視頻數據可以包括游戲過程會話的時間戳。例如,視頻數據可以生成與在游戲過程會話期間接收的視頻數據的每個幀相關聯的時間戳。交互計算系統120可以將視頻數據與會話id相關聯。類似地,交互計算系統120可以將接收的遙測數據與會話id相關聯。交互計算系統120可以將所記錄的視頻存儲在數據存儲器124中。
在框540處,交互計算系統120可以將會話id與游戲過程會話的視頻數據相關聯。例如,視頻獲取系統144可以將會話id與從游戲過程會話接收的視頻數據相關聯。
在框550處,交互計算系統120可以將游戲過程會話中的事件與游戲過程會話的會話id和一個或多個時間戳相關聯。遙測數據獲取系統134可以將會話id與從游戲過程會話接收的遙測數據相關聯。事件可以與一個或多個時間戳相關聯。與事件相關聯的會話id和時間戳信息可以用于檢索與游戲過程事件相關聯的視頻數據。
游戲分析的示例性過程
圖6例示了用于游戲度量分析過程的實施方案的流程圖。過程600可以由可以在游戲應用程序的運行時間期間在游戲環境內解碼和流送內容的任何系統來實施。例如,過程600的整體或部分可以由游戲應用程序104、游戲度量分析系統130、用戶計算系統103、玩家計算系統102、交互計算系統120或其他應用程序模塊來實施。盡管任何數量的系統均可以整體地或部分地實施過程600,但為了簡化討論,將關于特定系統來描述過程600。此外,盡管可以關于包括各種游戲應用程序環境的系統的變型來執行過程600的實施方案,但為了簡化討論,將關于交互計算系統120來描述過程600。
在過程600的框610處,交互計算系統120可以接收與游戲過程會話相關聯的數據。游戲過程會話可以包括會話id。與會話id相關聯的數據可以包括視頻數據、遙測數據、系統數據、玩家簡檔數據和/或與會話id相關聯的其他數據。
在框620處,交互計算系統120可以接收包括事件和會話id的請求。該請求可以來自用戶計算系統103(圖1所示)。該事件可以由本文所描述的一個或多個事件標識符來標識。除了會話id之外,事件還可以具有事件id,諸如錯誤id。
在框630處,交互計算系統120可以使用在用戶的請求中提供的會話id來定位與游戲過程會話相關聯的視頻數據。視頻數據可以是包括先前由視頻獲取系統記錄和存儲的內容的完整視頻。在一些實施方案中,視頻數據可以是例如由視頻獲取系統同時記錄的視頻數據的一部分。
在框640處,交互計算系統120可以識別與在游戲過程會話期間發生的事件相關聯的一個或多個時間戳。事件可以包括特定于事件的一個或多個時間戳。事件可以是與單個時間戳相關聯的單個事件,諸如用戶輸入,其中該單個時間戳基于該用戶輸入何時被游戲應用程序接收到。事件可以是在指定時間框內發生的事件,諸如情景動畫(cutscene)。時間戳可以指示事件的開始、事件的結束和/或事件發生期間的中間時間段。交互計算系統120可以基于時間戳信息來確定與事件相對應的視頻的部分。例如,交互計算系統可以識別視頻內的如下時間,該時間是在關于時間戳所指示的時間之前的限定時間(例如在時間戳之前1秒)。
在框650處,交互計算系統120可以生成用以顯示與事件相關聯的數據的指令。指令可以被傳輸到用戶計算系統103的數據可視化系統132。數據可以包括與事件相關聯的遙測數據、事件描述、一個或多個搜索準則等。指令可以指示數據可視化系統132播放從事件開始的時間戳起的所記錄的視頻。
在一些實施方式中,數據的一部分可以本地存儲(而不是用交互計算系統120存儲)。交互計算系統120可以向數據可視化系統132發送指令,以檢索和顯示一些數據。例如,當游戲過程會話的視頻未被流送到服務器時,交互計算系統120可以發送指令以使數據可視化系統132播放從某些時間戳起的視頻。
盡管關于識別一個事件描述了過程600,但應注意的是,所述實施例不是限制性的。過程600可以識別多個事件,將那些事件與相關數據相關聯,并且返回其中時間戳提供與多個事件的鏈接的視頻。
計算設備的綜述
圖7例示了根據本公開內容的計算設備10的實施方案。計算設備10的其他變型(諸如移除計算設備10的部件或向計算設備添加部件)可以代替本文中明確呈現的實施例。計算設備10可以包括游戲設備、智能電話、平板計算機、個人計算機、膝上型計算機、智能電視、車輛控制臺顯示器、服務器等。計算設備10還可以跨多個地理位置分布。例如,計算設備10可以是基于云的服務器的群集。
如所示出的,計算設備10包括處理單元20,該處理單元與計算設備10的其他部件交互以及與計算設備10的外部部件交互。包括與游戲媒介12通信的游戲媒介讀取器22。游戲媒介讀取器22可以是能夠讀取光盤(諸如cd-rom或dvd)的光盤讀取器,或者可以是可以從游戲媒介12接收和讀取數據的任何其他類型的讀取器。可以使用一個或多個計算設備來實施本文公開的系統中的一個或多個。
計算設備10可以包括單獨的圖形處理器24。在一些情況下,圖形處理器24可以內置于處理單元20中。在一些這樣的情況下,圖形處理器24可以與處理單元20共享隨機存取存儲器(ram)。可替代地或另外地,計算設備10可以包括與處理單元20分離的分立圖形處理器24。在一些這樣的情況下,圖形處理器24可以具有與處理單元20分離的ram。計算設備10可以是手持式游戲應用程序設備、專用游戲控制臺計算系統、通用膝上型計算機或臺式計算機、智能電話、平板計算機、車輛控制臺或其他合適的系統。
計算設備10還包括用于使得能夠輸入/輸出的各種部件,諸如i/o32、用戶i/o34、顯示i/o36和網絡i/o38。i/o32與存儲元件40交互并通過設備42與可移除存儲媒介44交互,以便為計算設備10提供存儲裝置。處理單元20可以通過i/o32進行通信以存儲數據,諸如游戲狀態數據和任何共享的數據文件。除了存儲裝置40和可移除存儲器媒介44之外,示出計算設備10還包括rom(只讀存儲器)46和ram48。ram48可以用于被頻繁訪問的數據,諸如當正在玩游戲時或執行欺詐檢測時被頻繁訪問的數據。
用戶i/o34用于在處理單元20與用戶設備諸如游戲控制器之間發送和接收命令。在一些實施方案中,用戶i/o34可以包括觸摸屏輸入。觸摸屏可以是電容性觸摸屏、電阻式觸摸屏或被配置為通過觸覺輸入從玩家接收用戶輸入的其他類型的觸摸屏技術。顯示i/o36提供用于顯示來自正在玩的游戲的圖像的輸入/輸出功能。網絡i/o38用于網絡的輸入/輸出功能。網絡i/o38可以在游戲的執行期間使用,諸如當在線玩游戲或在線訪問游戲和/或應用欺詐檢測和/或生成欺詐檢測模型時被使用。
由顯示i/o36產生的顯示輸出信號包括用于使由計算設備10產生的視覺內容顯示在顯示設備上的信號,上述視覺內容諸如圖形、用戶界面、視頻和/或其他視覺內容。計算設備10可以包括被配置為接收由顯示i/o36產生的顯示輸出信號的一個或多個集成顯示器。根據一些實施方案,由顯示i/o36產生的顯示輸出信號還可以被輸出到在計算設備10外部的一個或多個顯示設備。
計算設備10還可以包括可以與游戲一起使用的其他特征,諸如時鐘50、閃存52和其他部件。音頻/視頻播放器56也可以用于播放視頻序列,諸如電影。應當理解的是,可以在計算設備10中提供其他部件,并且本領域技術人員將意識到計算設備10的其他變型。
程序代碼可以存儲在rom46、ram48或存儲裝置40(其可以包括硬盤、其他磁存儲器、光學存儲器、其他非易失性存儲裝置或者這些的組合或變型)中。部分程序代碼可以存儲在可編程的rom(rom、prom、eprom、eeprom等)中,部分程序代碼可以存儲在存儲裝置40中和/或可移除媒介諸如游戲媒介12(其可以是cd-rom、磁帶盒(cartridge)、存儲器芯片等,或者根據需要通過網絡或其他電子通道獲得)上。一般地,可以發現程序代碼體現在有形的非暫態信號承載介質中。
隨機存取存儲器(ram)48(以及可能的其他存儲裝置)可用于根據需要存儲變量以及其他游戲和處理器數據。使用ram48,其保持在應用程序的執行期間生成的數據,并且其一部分也可以被預留用于幀緩存、應用程序狀態信息和/或對于解讀用戶輸入和生成顯示輸出而言所需要的或可用的其他數據。一般地,ram48是易失性存儲裝置,并且當計算設備10被關閉或斷電時,存儲在ram48內的數據可能會丟失。
當計算設備10讀取游戲媒介12并提供應用程序時,可以從游戲媒介12讀取信息并將信息存儲在存儲設備諸如ram48中。另外,來自存儲裝置40、rom46、經由網絡(未示出)訪問的服務器或可移除存儲媒介44的數據可以被讀取并加載到ram48中。盡管描述了在ram48中得到數據,但是將理解的是,數據不一定必須存儲在ram48中,而是可以存儲在處理單元20可訪問的其他存儲器中,或分布在若干媒介諸如游戲媒介12和存儲裝置40中。
要理解的是,根據本文所述的任何特定實施方案不一定可以實現所有目的或優點。因此,例如,本領域技術人員將認識到,某些實施方案可以被配置為以如下方式進行操作,上述方式使得實現或優化如本文教導的一個優點或一組優點的方式,而不一定實現如本文可能教導或暗示的其他目的或優點。
本文描述的所有過程均可以以軟件代碼模塊來體現并經由軟件代碼模塊完全自動化,其中上述軟件代碼模塊由包括一個或多個計算機或處理器的計算系統執行。代碼模塊可以存儲在任何類型的非暫態計算機可讀介質或其他計算機存儲設備中。上述方法中的一些或全部可以以專用計算機硬件來實施。
根據本公開內容將明了除了本文所述的那些之外的許多其他變型。例如,根據實施方案,本文描述的任何算法的某些動作、事件或功能可以以不同的順序執行,或者可以被添加、合并或一并被遺棄(例如,對于算法的實現而言,并非所有描述的動作或事件均是必需的)。此外,在某些實施方案中,可以例如通過多線程處理、中斷處理或者多個處理器或處理器芯或者在其他并行架構上同時地執行動作或事件,而不是順序地執行。另外,不同的任務或過程可以由可以一起運作的不同的機器和/或計算系統來執行。
結合本文中所公開的實施方案描述的各種說明性邏輯框和模塊可以由機器實施或執行,上述機器諸如為被設計成執行本文所描述的功能的處理單元或處理器、數字信號處理器(dsp)、專用集成電路(asic)、現場可編程門陣列(fpga)或其他可編程邏輯器件、分立門或晶體管邏輯、分立的硬件部件或它們的任何組合。處理器可以是微處理器,但在可替代方案中,處理器可以是控制器、微控制器或狀態機或它們的組合等。處理器可以包括被配置為處理計算機可執行指令的電路。在另一實施方案中,處理器包括執行邏輯操作而不處理計算機可執行指令的fpga或其他可編程器件。處理器還可以作為計算設備的組合來實施,例如dsp和微處理器的組合、多個微處理器、一個或多個微處理器連同dsp芯的組合或任何其他這樣的配置。盡管本文主要是關于數字技術進行描述的,但是處理器還可以主要是模擬性的部件。例如,本文所描述的信號處理算法中的一些或全部可以以模擬電路或者模擬和數字混合型電路來實施。計算環境可以包括任何類型的計算機系統,包括但不限于基于微處理器、大型計算機、數字信號處理器、便攜式計算設備、設備控制器或裝置內的計算引擎的計算系統,僅舉幾例。
除非另外特別說明,否則條件性用語,諸如“能夠(can)”、“可(could)”、“可能(might)”或“可以(may)”,在上下文中要如通常所使用的進行理解,以傳達某些實施方案包括而其他實施方案不包括某些特征、元件和/或步驟。因此,這樣的條件性用于通常不意在暗示:特征、元件和/或步驟以任何方式對于一個或多個實施方案是必需的;或者一個或多個實施方案必須包括用于判定——在具有或不具有用戶輸入或提示的情況下——這些特征、元件和/或步驟是否包括在任何特定的實施方案中或將在任何的特定實施方案中執行的邏輯。
除非另外特別說明,否則析取性(disjunctive)用語,諸如短語“x、y或z中的至少一個”通常在上下文中要如通常所使用的進行理解,以表示項、術語等可以是x、y或z,或它們的任何組合(例如x、y和/或z)。因此,這樣的析取性用語通常不意在并且不應當暗示某些實施方案需要至少一個x、至少一個y、或至少一個z三者均存在。
在本文描述和/或在隨附附圖中描繪的流程圖中的任何過程描述、元素或框均應當被理解為潛在地表示包括用于在過程中實施具體的邏輯功能或元件的一個或多個可執行指令的代碼模塊、代碼段或代碼部分。在本文所描述的實施方案的范圍內包括可替代的實施方式,在這樣的實施方案中,元素或功能可以被刪除、與所示出的或所討論的次序顛倒地執行,包括基本上同時執行或以相反的順序執行,這取決于本領域技術人員將理解的所涉及的功能。
除非另外明確說明,否則冠詞,諸如“一個”或“一”,通常應被解釋為包括一個或多個所描述的項。相應地,諸如“一種被配置為…的設備”的措辭意在包括一個或多個所記載的設備。這樣的一個或多個記載的設備還可以被共同地配置為執行所述列舉項(recitation)。例如,“一種被配置為執行列舉項a、b和c的處理器”可以包括被配置為實施列舉項a的第一處理器,該第一處理器連同被配置為執行列舉項b和c的第二處理器一起工作。
應當強調的是,可以對上述實施方案做出許多變型和修改,這些變型和修改要素應被理解為在其他可接受的實施例中。所有這些修改和變型均意在包括在本公開內容的范圍內。