TWI809786B - 用於自舊有遊戲產生元遊戲之系統及方法 - Google Patents

用於自舊有遊戲產生元遊戲之系統及方法 Download PDF

Info

Publication number
TWI809786B
TWI809786B TW111111915A TW111111915A TWI809786B TW I809786 B TWI809786 B TW I809786B TW 111111915 A TW111111915 A TW 111111915A TW 111111915 A TW111111915 A TW 111111915A TW I809786 B TWI809786 B TW I809786B
Authority
TW
Taiwan
Prior art keywords
challenge
game
user account
user
block
Prior art date
Application number
TW111111915A
Other languages
English (en)
Other versions
TW202247876A (zh
Inventor
喬治 威辛
大衛 泰奇
恩尼斯托 柯維
Original Assignee
美商索尼互動娛樂有限責任公司
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 美商索尼互動娛樂有限責任公司 filed Critical 美商索尼互動娛樂有限責任公司
Publication of TW202247876A publication Critical patent/TW202247876A/zh
Application granted granted Critical
Publication of TWI809786B publication Critical patent/TWI809786B/zh

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/60Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor
    • A63F13/69Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor by enabling or updating specific game elements, e.g. unlocking hidden features, items, levels or versions
    • 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/49Saving the game status; Pausing or ending the game
    • 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/46Computing the game score
    • 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/60Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor
    • A63F13/63Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor by the player, e.g. authoring using a level editor
    • 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
    • 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
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/60Methods for processing data by generating or executing the game program
    • A63F2300/61Score computation

Abstract

描述一種用於產生一元遊戲之方法。方法包括在玩一舊有遊戲期間透過一第一使用者帳戶接收用於一第一挑戰之一第一使用者輸入。第一挑戰係自舊有遊戲之第一複數個基本區塊建立的。方法進一步包括記錄第一挑戰之至少一部分並在玩舊有遊戲期間透過第一使用者帳戶接收用於一第二挑戰之一第二使用者輸入。第二挑戰係自舊有遊戲之第二複數個基本區塊建立的。方法包括記錄第二挑戰之至少一部分,判定是否透過第一使用者帳戶接收到請求建立元遊戲的一第三使用者輸入,及在判定接收到第三使用者輸入時自第一挑戰及第二挑戰產生元遊戲。

Description

用於自舊有遊戲產生元遊戲之系統及方法
本發明係關於用於自舊有遊戲產生元遊戲之系統及方法。
隨著電子遊戲及網路連結技術變得更加先進,遊戲之複雜性亦相應增加。因此,可能會有更複雜之故事情節、遊戲目標、使命及任務、與遊戲化身相關聯之能力、及計分。計分可以各種方式發生及加權,同樣可在各種類別中或以個人或團隊為基礎判定。
上述問題之重要性僅隨電子遊戲複雜性之增加而增加。因此,某些玩家可能希望玩不太複雜之老舊遊戲。
本發明之實施例在此背景下出現。
本發明之實施例提供用於自舊有遊戲產生元遊戲之系統及方法。
在一個實施例中,描述一種用於促進玩舊有遊戲之方法。該方法包括在玩舊有遊戲期間接收使用者輸入,判定用於服務於使用者輸入之一或多個程式碼區塊是否經快取,及在判定一或多個程式碼區塊未經快取時存取舊有遊戲程式碼之一或多個指令。該方法進一步包括自舊有遊戲程式碼之一或多個指令編譯一或多個程式碼區塊,快取該一或多個程式碼區塊,及執行該一或多個程式碼區塊以顯示虛擬環境。
在一實施例中,描述一種用於促進玩舊有遊戲之計算裝置。計算裝置包括經組態以在玩舊有遊戲期間接收使用者輸入之處理器。計算裝置進一步包括耦合至處理器之快取及耦合至處理器之記憶體裝置。處理器判定用於服務於使用者輸入之一或多個程式碼區塊是否儲存於快取中。在判定一或多個程式碼區塊未儲存於快取中時,處理器自記憶體裝置存取舊有遊戲程式碼之一或多個指令。此外,處理器自舊有遊戲程式碼之一或多個指令編譯一或多個程式碼區塊。處理器將一或多個程式碼區塊儲存於快取中並執行該一或多個程式碼區塊以顯示虛擬環境。
在一個實施例中,描述一種方法。該方法包括自舊有遊戲程式碼之一或多個指令產生第一驗證結果。舊有遊戲程式碼之一或多個指令與一或多個程式碼區塊相關聯。該方法進一步包括檢查與一或多個指令相關聯之一或多個記憶體位址以判定一或多個程式碼區塊是否將標記為無效。該方法包括判定是否將執行一或多個程式碼區塊,及在判定將執行一或多個程式碼區塊時判定一或多個程式碼區塊是否標記為無效。該方法包括檢查一或多個記憶體位址以自一或多個指令產生第二驗證結果,比較第一驗證結果與第二驗證結果以判定一或多個程式碼區塊是否無效,及在判定一或多個程式碼區塊無效時重新編譯與一或多個指令相關聯之一或多個額外程式碼區塊。該方法包括執行一或多個額外程式碼區塊以顯示虛擬環境。
在一個實施例中,描述一種用於產生元遊戲之方法。該方法包括在玩一或多個舊有遊戲期間透過第一使用者帳戶接收用於第一挑戰之第一使用者輸入。第一挑戰係自一或多個舊有遊戲之第一複數個基本區塊建立的。該方法進一步包括記錄第一挑戰之至少一部分並在玩一或多個舊有遊戲期間透過第一使用者帳戶接收用於第二挑戰之第二使用者輸入。第二挑戰係自一或多個舊有遊戲之第二複數個基本區塊建立的。第一複數個基本區塊係自一或多個舊有遊戲之第一複數個指令編譯的,且第二複數個基本區塊係自一或多個舊有遊戲之第二複數個指令編譯的,以使得能夠在經更新機器上玩一或多個舊有遊戲。該方法包括記錄第二挑戰之至少一部分。該方法進一步包括判定是否透過第一使用者帳戶接收到第三使用者輸入以請求建立元遊戲,及在判定接收到第三使用者輸入時自第一挑戰及第二挑戰產生元遊戲。
在一實施例中,描述一種含有用於產生元遊戲之方法之程式指令之非暫時性電腦可讀媒體。由電腦系統之一或多個處理器執行程式指令導致一或多個處理器執行方法之複數個操作。
在一個實施例中,描述一種用於產生元遊戲之電腦系統。電腦系統包括處理器。處理器在玩一或多個舊有遊戲期間透過第一使用者帳戶接收用於第一挑戰之第一使用者輸入。第一挑戰係自一或多個舊有遊戲之第一複數個基本區塊建立的。處理器記錄第一挑戰之至少一部分。處理器在玩一或多個舊有遊戲期間進一步透過第一使用者帳戶接收用於第二挑戰之第二使用者輸入。第二挑戰係自一或多個舊有遊戲之第二複數個基本區塊建立的。第一複數個基本區塊係自一或多個舊有遊戲之第一複數個指令編譯的,且第二複數個基本區塊係自一或多個舊有遊戲之第二複數個指令編譯的,以使得能夠在經更新機器上玩一或多個舊有遊戲。處理器記錄第二挑戰之至少一部分。處理器進一步判定是否透過第一使用者帳戶接收到第三使用者輸入以請求玩元遊戲,並在判定接收到第三使用者輸入時自第一挑戰及第二挑戰產生元遊戲。記憶體裝置耦合至處理器。
本文描述之系統及方法之某些優點包括允許舊有程式碼之功能性由經更新機器執行。若不進行轉換,則由於安全問題,無法由經更新機器執行舊有程式碼之功能性。舉例而言,沒有權限自經更新機器執行舊有程式碼並將在執行舊有程式碼時產生之資料寫入經更新機器中之暫存器。因此,藉由提供轉換,促進由經更新機器執行舊有程式碼之功能性。
本文描述之系統及方法之其他優點包括節省執行時間。作為實例,將舊有程式碼之兩個或多於兩個指令(諸如常式及次常式)或兩個類似指令組合成經更新程式碼之一個基本區塊。因此,與執行舊有程式碼相比,執行經更新程式碼更快。
本文描述之系統及方法之額外優點包括在判定經更新程式碼之一或多個基本區塊無效時重新編譯經更新程式碼之一或多個額外基本區塊。舉例而言,當一或多個基本區塊標記為無效時,判定一或多個基本區塊是否實際上無效。一旦判定如此,則代替執行一或多個基本區塊,編譯並執行一或多個額外基本區塊。一或多個額外基本區塊對應於一或多個基本區塊所對應之相同遊戲。
本文描述之系統及方法之又進一步優點包括無需檢查基本區塊中之全部之無效性。舉例而言,僅對在編譯基本區塊之後標記為無效之彼等基本區塊進行有效性檢查。這減少自一或多個基本區塊顯示虛擬環境之延遲。此外,無需用於檢查基本區塊中之全部之無效性之處理能力。
此外,本文描述之系統及方法之優點包括在用於遊戲之經更新程式碼已經編譯時節省處理時間及處理能力。一旦在伺服器或遊戲控制台處產生經更新程式碼,則無需重新編譯經更新程式碼。相反,經更新程式碼可自伺服器或遊戲控制台傳送至另一遊戲控制台。因此,在另一遊戲控制台處重新產生經更新程式碼之處理時間及處理能力得以節省。
本發明之其他態樣將在結合隨附圖式以舉例方式說明本發明中描述之實施例之原理之以下詳細描述變得顯而易見。
描述用於自舊有遊戲產生元遊戲之系統及方法。應注意,可在沒有此等具體細節中之某些或全部之情況下實踐本發明之各種實施例。在其他例項下,尚未詳細描述眾所周知之過程操作,以免不必要地使本發明之各種實施例變得模糊。
圖1係圖解說明用於產生經更新程式碼之基本區塊1至n之系統100之實施例之方塊圖,其中n係正整數。系統100包括快取102、基本區塊編譯器104、及具有遊戲標題GN之舊有遊戲N之經仿真處理單元(PU)程式碼106,其中N為正整數。作為實例,如本文所用,快取係儲存資料之硬體或軟體組件,使得可更快地伺服於未來對資料之請求。當請求之資料可在快取中找到時,則發生快取命中,而當無法找到時,則發生快取未中。快取命中係藉由自快取讀取資料來提供的,其比重新計算結果或自較慢之資料儲存區(諸如記憶體裝置)讀取更快,因此,可自快取伺服之請求越多,系統執行越快。為了說明,快取係暫存器群組,與主記憶體裝置相比,其可更快地存取,諸如快10至100倍。
作為實例,快取具有比主記憶體裝置更少之記憶體位址數。在本實例中,處理器首先判定在操作中使用之資料是否儲存於快取中之記憶體位址處,若否,則處理器存取主記憶體裝置中之記憶體位址以查找資料。
作為實例,本文使用之基本區塊編譯器係將經仿真PU程式碼106之程式碼轉換成遊戲程式碼GCN之電腦程式,遊戲程式碼GCN係經更新程式碼之實例。遊戲程式碼GCN表示舊有遊戲N之功能性。電腦程式由經仿真處理器系統之一或多個處理器執行。遊戲程式碼GCN在本文中有時稱為中間程式碼。作為實例,中間程式碼既非原始程式碼亦非機器碼。為了說明,中間程式碼包括不特定於中央處理單元(CPU)之架構或經更新機器之圖形處理單元(GPU)之架構的基本區塊,其實例提供如下。在圖解中,中間程式碼包括可由經更新機器之CPU或GPU執行之基本區塊,其實例包括Sony PlayStation™ 4 (PS4™)或Sony PlayStation™ 5 (PS5™)或桌上型電腦或膝上型電腦或智慧手機或智慧電視。作為實例,原始程式碼係使用人類可讀之程式設計語言編寫的,其可係純文字。作為實例,如本文使用之基本區塊編譯器係使用硬體或軟體或其組合來實施的。為了說明,基本區塊編譯器之功能性係使用控制器或可程式化邏輯裝置(PLD)或特殊應用積躰電路(ASIC)實施的。
如本文所用,控制器之實例包括處理器及記憶體裝置。處理器耦合至記憶體裝置。如本文所用,作為實例,處理器係微處理器、或CPU、或GPU、或微控制器、或ASIC、或PLD。如本文使用之記憶體裝置之實例包括隨機存取記憶體(RAM)及唯讀記憶體(ROM)。為了說明,記憶體裝置係快閃記憶體裝置、或硬碟、或固態儲存裝置、或獨立磁碟冗餘陣列(RAID)、或其組合。
經仿真PU程式碼106之實例係機器碼,其指示舊有機器之處理器(諸如CPU或GPU)執行操作。舉例而言,經仿真PU程式碼106包括指令序列,其指示舊有機器之CPU執行特定操作,諸如對儲存於CPU暫存器內之資料之載入、儲存、跳越、或算術邏輯單元(ALU)運算。作為另一實例,經仿真PU程式碼106係包括一系列1及0之二進位碼。作為另一實例,經仿真PU程式碼106包括指令序列,其指示舊有機器之GPU執行特定操作,諸如對儲存於GPU暫存器內之資料之載入、儲存、跳越、或ALU運算。舊有機器之GPU在虛擬物件上執行操作以對虛擬物件分配圖形參數,諸如顏色、或強度、或陰影、或紋理、或其組合。
經仿真PU程式碼106對舊有機器之CPU或GPU之架構係特定的或唯一的。舉例而言,經仿真PU程式碼106不可由經更新機器之CPU或GPU執行。作為另一實例,Sony PlayStation™ 1 (PS1)上可執行之經仿真PU程式碼106不可在Sony PlayStation™ 2 (PS2)上執行,反之亦然。
作為實例,經仿真PU程式碼106由舊有機器之處理器執行以執行舊有遊戲N中之操作。為了說明,執行經仿真PU程式碼106以在諸如PS1™或PS2™之舊有機器上玩舊有遊戲。舊有遊戲之實例包括視訊遊戲,諸如Warhawk™、Tango Dance Fever™、Castlevania Chronicles™、Pacman™、Resident Evil 2™、及Streetfighter Alpha 3™。
基本區塊編譯器104存取用於舊有遊戲N之經仿真PU程式碼106並將經仿真PU程式碼106轉換成一或多個基本區塊,諸如基本區塊1至n。作為實例,每一基本區塊1至n具有一起始識別符及一結束識別符以區分一基本區塊與另一基本區塊。基本區塊編譯器104將基本區塊1至n儲存於快取102中。當執行基本區塊1至n時,舊有遊戲N經仿真。
圖2係圖解說明用於編譯及調度遊戲程式碼GCN之基本區塊之方法200之實施例之流程圖。方法200由經更新機器之一或多個處理器執行。方法200包括判定是否存在快取命中(例如,基本區塊是否儲存於快取102中)之操作202。舉例而言,當在玩舊有遊戲期間接收到使用者輸入時,執行或觸發操作202。為了說明,接收到使用者輸入以改變舊有遊戲N之虛擬物件之位置或定向或其組合。在圖解中,在判定接收到使用者輸入時,判定基本區塊(諸如基本區塊1至n中之一者)是否儲存於快取102 (圖1)中。在圖解中,將執行基本區塊以改變虛擬物件之位置或定向或其組合。
作為另一圖解,當接收到用以改變舊有遊戲之虛擬物件之參數(諸如外觀與感覺)之使用者輸入時執行操作202。在圖解中,在判定接收到使用者輸入時,判定基本區塊(諸如基本區塊1至n中之一者)是否儲存於快取102中。在圖解中,執行基本區塊以改變虛擬物件之參數。
回應於判定基本區塊經快取,在方法200之操作204中,調度基本區塊。舉例而言,在操作204中執行或運行基本區塊。為了說明,基本區塊由經更新機器之CPU運行以將虛擬物件自一個位置移動至另一位置或自一個定向移動至另一定向或其組合。作為另一圖解,基本區塊由經更新機器之GPU執行以將參數分配至虛擬物件之一部分。虛擬物件之一部分之實例包括虛擬物件之像素或虛擬物件之三角形部分或虛擬物件之預定形狀之一部分。為了說明,將虛擬物件劃分成預定數目之像素,並為每一像素分配參數值。
回應於判定基本區塊未經快取,在方法200中執行編譯基本區塊之操作206。操作206由基本區塊編譯器104 (圖1)執行。舉例而言,基本區塊編譯器104剖析舊有遊戲N之經仿真PU程式碼106 (圖1)以識別經仿真PU程式碼指令,該經仿真PU程式碼指令包括用於在玩舊有遊戲期間用於服務於在操作202之前接收到之使用者輸入之功能。在操作202之前接收到使用者輸入觸發操作202。為了說明,基本區塊編譯器104遍歷經仿真PU程式碼106之每一經仿真程式碼PU指令以判定經仿真程式碼PU程式碼指令是否包括一操作,諸如一功能,以滿足玩舊有遊戲期間接收到之使用者輸入,諸如對其產生回應。在圖解中,一旦功能經識別,則基本區塊編譯器104轉換經仿真程式碼PU程式碼指令以產生基本區塊。在圖解中,回應於在操作202之前接收到使用者輸入,舊有遊戲之無需服務於使用者輸入之其他經仿真程式碼PU程式碼指令未由基本區塊編譯器104編譯成基本區塊。
在方法200之操作208中,在操作206中產生之基本區塊由基本區塊編譯器104儲存於快取102中。接著在操作204中執行經快取基本區塊以服務於在操作202之前接收到之使用者輸入。
在一個實施例中,方法200由伺服器系統之一或多個處理器執行。作為實例,伺服器系統包括作為伺服器之經更新機器。為了說明,每一伺服器刀鋒係PS4™或PS5™。
在一個實施例中,直至接收到使用者輸入才執行方法200。舉例而言,沒有判定基本區塊(諸如基本區塊1至n中之一者)是否儲存於快取102中,沒有編譯基本區塊,且沒有執行基本區塊,直至接收到使用者輸入。
在一個實施例中,基本區塊編譯器104回應於玩舊有遊戲N期間之第一使用者輸入編譯基本區塊1至n中之一或多者,並回應於玩舊有遊戲N期間之第二使用者輸入編譯基本區塊1至n之剩餘部分中之一或多者。為了說明,基本區塊編譯器104產生基本區塊1及2以服務於第一使用者輸入,並產生基本區塊3至7以服務於第二使用者輸入。在第一使用者輸入之後接收到第二使用者輸入。
圖3係圖解說明用於編譯及調度基本區塊(諸如基本區塊1至n)之系統304之實施例之方塊圖。系統300包括基本區塊編譯器104、快取102、及區塊調度器302。作為實例,區塊調度器302係硬體或軟體、或其組合,其執行基本區塊1至n中之一或多者之操作以服務於使用者輸入。為了說明,區塊調度器302係PLD或ASIC或控制器。作為另一圖解,區塊調度器302係電腦軟體。作為實例,區塊調度器302係經更新機器之GPU或CPU。
基本區塊編譯器104解碼經仿真PU程式碼106 (圖1)之一部分,諸如操作碼(opcode),並將該部分轉化成用於經更新機器之處理單元之中間表示。舉例而言,基本區塊編譯器104剖析經仿真PU程式碼106之CPU程式碼之一部分(諸如一或多個指令)以判定CPU程式碼之該部分是否包括服務於使用者輸入之功能性。一旦判定如此,則基本區塊編譯器104將CPU程式碼之該部分轉化成一或多個基本區塊,諸如基本區塊1至n。作為另一實例,基本區塊編譯器104剖析經仿真PU程式碼106之GPU程式碼之一部分(諸如一或多個指令)以判定GPU程式碼之該部分是否包括服務於使用者輸入之功能性。一旦判定如此,則基本區塊編譯器104將GPU程式碼之該部分轉化成一或多個基本區塊,諸如基本區塊1至n。
此外,基本區塊編譯器104估計用於執行自經仿真PU程式碼106之該部分產生之每一基本區塊之週期數目以產生估計計數。舉例而言,基本區塊編譯器104判定基本區塊1包括跳越操作,且跳越操作需要預定量之時間。基本區塊編譯器104估計基本區塊1之該跳越操作需要該預定量之時間。區塊編譯器104將估計計數儲存於快取102中。舉例而言,區塊編譯器104將估計計數儲存於對其估計週期數目之基本區塊n中。
一旦基本區塊經編譯,則其儲存於快取102中以用於快速查找。舉例而言,當在接收到基本區塊之編譯所回應之使用者輸入之後接收到另一使用者輸入、且相同之基本區塊可服務於該另一使用者輸入時,基本區塊可自快取102快速存取而無需重新產生。
此外,儲存於快取102中之基本區塊中之一或多者可在編譯之後標記為無效。標記為無效的基本區塊中之一或多者隨後在基本區塊之運行時期間經驗證或無效化。當基本區塊中之一或多者經無效化時,編譯一或多個額外基本區塊。一或多個額外基本區塊之編譯在本文中有時稱為一或多個基本區塊之重新編譯。
一或多個額外基本區塊中之每一者具有與一或多個基本區塊1至n之結構相同之結構。舉例而言,一或多個額外基本區塊中之每一者具有來源暫存器位址、目的地暫存器位址及操作。作為另一實例,一或多個額外基本區塊中之每一者具有來源暫存器位址、目的地暫存器位址、操作、及執行額外基本區塊之操作之週期數目。在實例中,一或多個額外基本區塊中之某些包括無效標記。作為又一實例,一或多個額外基本區塊中之每一者具有來源暫存器位址、目的地暫存器位址、操作及執行額外基本區塊之操作之週期數目。應注意,額外程式碼區塊中之每一者以與基本區塊1至n中之每一者相同之方式執行。
區塊調度器302基於使用者輸入執行或運行基本區塊1至n中之一或多者。舉例而言,區塊調度器302執行基本區塊1及2以服務於第一使用者輸入並回應於第二使用者輸入執行基本區塊3至7。作為實例,區塊調度器302包括時脈源,諸如數位時脈振盪器或時脈產生器,該時脈源對用於基於使用者輸入執行基本區塊1至n中之一或多者之週期數目進行計數,以產生實際計數。區塊調度器302將實際計數發送至區塊編譯器104以用實際計數更新估計計數。舉例而言,實際計數儲存於對其計算實際計數之基本區塊n中。為了說明,實際計數儲存於分配至基本區塊n之快取102之一或多個記憶體暫存器中。
在一個實施例中,基本區塊編譯器104不估計用於執行任何基本區塊之週期數目。在此實施例中,沒有用實際計數替換估計計數。相反,在該實施例中,實際計數由區塊編譯器104儲存於對其判定實際計數之基本區塊n中。
圖4A係圖解說明在遊戲控制台402內編譯基本區塊1至n之系統400之實施例之圖式。系統400包括遊戲控制台402、伺服器系統404、電腦網路408、及顯示裝置410。伺服器系統404包括一或多個伺服器。作為實例,伺服器系統404位於資料中心之外殼內。伺服器系統404包括記憶體裝置412,其儲存經仿真PU程式碼,諸如經仿真PU程式碼106。舉例而言,記憶體裝置412儲存遊戲程式碼1 (gc1)、遊戲程式碼2 (gc2),以此類推,直至遊戲程式碼N (gcN)。遊戲程式碼gcN係經仿真PU程式碼106 (圖1)之實例。每一遊戲程式碼1至N皆係舊有遊戲之舊有程式碼。為了說明,遊戲程式碼gc1係用於玩第一舊有遊戲之機器碼,而遊戲程式碼gc2係用於玩第二舊有遊戲之機器碼。第二舊有遊戲不同於第一舊有遊戲。應注意,作為實例,記憶體裝置412係舊有機器之記憶體裝置。
作為實例,遊戲程式碼gc1至gcN中沒有一個能在經更新機器中執行,而能在舊有機器中執行。為了說明,經更新機器之CPU或作業系統不可支援遊戲程式碼gc1至gcN之執行。另一方面,舊有機器之CPU或作業系統支援遊戲程式碼gc1至gcN之執行。如本文所用,電腦網路之實例包括諸如網際網路之廣域網路(WAN)、或諸如內部網路之區域網路(LAN)、或其組合。
遊戲控制台402係經更新機器之實例。舉例而言,遊戲控制台402係PS4™或PS5™。顯示裝置410之實例包括電視、智慧電視、及電腦監視器。為了說明,顯示裝置410係液晶顯示器(LCD)裝置,或發光二極體(LED)顯示裝置、或有機發光二極體(OLED)顯示裝置。
系統400進一步包括手持控制器414,其被握在使用者1之一隻或兩隻手中。如本文使用之手持控制器之實例包括具有按鈕之控制器、來自Sony™公司之Move™控制器、及槍形控制器。手持控制器之按鈕之實例包括搖桿、用於在顯示螢幕410上向上、向下、向左或向右移動虛擬物件之按鈕、及用於選擇具有遊戲標題GN之舊有遊戲N之各種特徵之其他按鈕。
遊戲控制台402包括記憶體裝置406及仿真處理器系統409。作為實例,如本文使用之處理器系統包括彼此耦合之一或多個處理器。仿真處理器系統409耦合至記憶體裝置406。仿真處理器系統409包括基本區塊編譯器104及快取102。基本區塊編譯器104耦合至快取102。
遊戲控制台402透過有線通信媒體(諸如高清晰度媒體介面(HDMI)電纜)或無線連接耦合至顯示裝置410。如本文所用,無線連接之實例包括Wi-Fi™連接或Bluetooth™連接。此外,手持控制器414透過有線連接或無線連接耦合至遊戲控制台402。如本文所用,有線連接之實例包括串列傳送電纜、並列傳送電纜、及通用串列匯流排(USB)電纜。
用戶端裝置之實例包括手持控制器、遊戲控制台、及顯示裝置之組合。用戶端裝置之另一實例包括手持控制器與顯示裝置之組合。
當使用者標識(ID)及密碼由伺服器系統404鑑別時,使用者1登入其使用者帳戶。使用者1由伺服器系統1分配使用者ID1,諸如使用者名稱。一旦使用者1登入其使用者帳戶,則使用者1可存取多個遊戲標題,諸如遊戲標題G1、遊戲標題Ga、遊戲標題G2,以此類推,直至遊戲標題GN。遊戲標題G1、G2以此類推直至遊戲標題GN係舊有遊戲標題之實例。遊戲標題Ga係非舊有遊戲之遊戲之標題。相反,遊戲標題Ga係當前遊戲,諸如Fortnite™,其不可在舊有機器中玩。
在登入其使用者帳戶之後,使用者1選擇手持控制器414上之一或多個按鈕以選擇遊戲標題GN來玩舊有遊戲。一旦使用者1選擇遊戲標題GN,則指示該選擇之使用者輸入418自手持控制器414透過遊戲控制台402及電腦網路408發送至伺服器系統404。作為實例,使用者輸入係輸入信號。在接收到指示選擇遊戲標題GN之使用者輸入418時,伺服器系統404基於使用者輸入418識別遊戲程式碼gcN。舉例而言,伺服器系統404識別遊戲程式碼gcN具有與遊戲標題GN (使用者輸入418中指示選擇其)相同之遊戲標題。
伺服器系統404透過電腦網路408將遊戲程式碼gcN發送至遊戲控制台402。在接收到遊戲程式碼gcN時,仿真處理器系統409將遊戲程式碼gcN儲存於遊戲控制台402之記憶體裝置406中。
當在玩具有遊戲程式碼gcN之舊有遊戲N期間透過無線連接自手持控制器414接收到使用者輸入420時,仿真處理器系統409執行基本區塊編譯器104以自儲存於記憶體裝置406中之遊戲程式碼gcN之一部分產生遊戲程式碼GCN之一部分。遊戲程式碼GCN之該部分係基於使用者輸入420產生的。舉例而言,當使用者輸入420包括用以在玩舊有遊戲N期間將WarHawk™戰鬥機自位置P1移動至位置P2之請求時,基本區塊編譯器104剖析遊戲程式碼gcN以識別自位置P1計算位置P2之指令。基本區塊編譯器104將該指令轉換成遊戲程式碼GCN之基本區塊,接著執行該基本區塊以將WarHawk™戰鬥機之位置自P1改變至P2。在實例中,遊戲程式碼GCN之基本區塊由仿真處理器系統409之GPU執行以產生一或多個影像圖框422。為了說明,一或多個影像圖框422顯示於顯示裝置410上以顯示在位置P2處具有WarHawk™戰鬥機之虛擬環境。以此方式,遊戲程式碼GCN之大部分或全部由基本區塊編譯器104編譯並儲存於快取102中以供執行。作為實例,諸如虛擬場景之虛擬環境包括一或多個虛擬實境(VR)影像或一或多個擴增實境(AR)影像。
在一實施例中,伺服器系統404與遊戲控制台402之間的資料通信透過網路通信協定發生,諸如基於網際網路協定之傳輸控制協定(TCP/IP)。舉例而言,伺服器系統404包括將資料轉換成封包之網路介面控制器。如本文所用,網路介面控制器之實例包括網路介面卡(NIC)及網路配接器。伺服器系統404之網路介面控制器耦合至記憶體裝置412以自記憶體裝置412接收資料。在自記憶體裝置412接收到資料時,伺服器系統404之網路介面控制器藉由將網路通信協定應用於資料而將資料嵌入一或多個封包內。一或多個封包自伺服器系統404之網路介面控制器透過電腦網路408傳送至遊戲控制台402。遊戲控制台402包括網路介面控制器,其藉由應用網路通信協定自一或多個封包提取資料。遊戲控制台402之網路介面控制器耦合至仿真處理器系統409。遊戲控制台402之網路介面控制器將自電腦網路408接收到之資料提供至仿真處理器系統409。此外,遊戲控制台402之網路介面控制器自仿真處理器系統409接收資料,並藉由應用網路通信協定將資料嵌入一或多個封包內,並將一或多個封包透過電腦網路408發送至伺服器系統404。伺服器系統404之網路介面控制器將網路通信協定應用於自電腦網路408接收到之一或多個封包,以自一或多個封包提取資料並將資料發送至記憶體裝置412以供儲存。
在一個實施例中,除電腦網路408以外,或代替電腦網路408,蜂巢式網路用於在伺服器系統404與遊戲控制台402之間傳遞資料。舉例而言,使用無線技術促進伺服器系統404與遊戲控制台402之間的通信。無線技術包括,舉例而言,4G或5G無線通信技術。如本文所用,5G係第五代蜂巢式網路技術。此外,5G網路係數位蜂巢式網路,其中由提供者覆蓋之服務區域劃分成稱為小區之小地理區域。在5G無線通信技術中,表示聲音及影像之類比信號在電話中經數位化,由類比轉數位轉換器轉換並作為位元流傳輸。小區中之全部5G無線裝置藉由無線電波與小區中之區域天線陣列及低功率自主收發器(發射器及接收器)進行通信,藉由收發器自頻率集區分配之頻率通道進行通信,這些頻率集區在其他小區中重複使用。區域天線藉由高頻寬光纖或無線回程連接與蜂巢式網路連接。與其他小區網路中一樣,行動裝置自一個小區跨越至另一小區係自主轉移至新小區。應理解,5G網路僅係通信網路之實例類型,且本發明之實施例可利用前代無線或有線通信,諸如3G或4G,及5G之後的下代有線或無線技術。
在一實施例中,遊戲控制台402及伺服器系統404中之任一者在本文中稱為計算裝置。計算裝置之其他實例包括平板電腦、智慧手機、膝上型電腦、桌上型電腦、及智慧電視。
在一個實施例中,遊戲程式碼gc1至gcN中之每一者皆儲存於伺服器系統404之分離記憶體裝置中或舊有機器之分離記憶體裝置中。舉例而言,遊戲程式碼gc1儲存於第一舊有機器之記憶體裝置中,而遊戲程式碼gc2儲存於第二舊有機器之記憶體裝置中。作為另一實例,遊戲程式碼gc1儲存於伺服器系統404之第一記憶體裝置中,而遊戲程式碼gc2儲存於伺服器系統404之第二記憶體裝置中。
在一實施例中,記憶體裝置412或記憶體裝置406並非快取。相反,記憶體裝置412或記憶體裝置406中之每一者係主記憶體,諸如RAM。
在一個實施例中,記憶體裝置412耦合至記憶體控制器。記憶體控制器自記憶體裝置412讀取資料並將資料寫入記憶體裝置412。記憶體控制器耦合至伺服器系統404之網路介面控制器。記憶體控制器將自伺服器系統404之網路介面控制器接收到之資料發送至記憶體裝置412以供儲存。記憶體控制器亦將自記憶體裝置412接收到之資料發送至伺服器系統404之網路介面控制器,以用於透過電腦網路408發送至遊戲控制台402。
圖4B係系統450之實施例之圖式,以圖解說明仿真處理器系統409位於伺服器系統404內,且將一或多個影像圖框422自伺服器系統404透過電腦網路408發送至顯示裝置410以供顯示虛擬環境或虛擬場景。系統450包括伺服器系統404、顯示裝置410、及手持控制器414。
伺服器系統404包括記憶體裝置412及仿真處理器系統409。記憶體裝置412耦合至仿真處理器系統409。顯示裝置410透過顯示裝置410之網路介面控制器耦合至電腦網路408。顯示裝置410包括耦合至顯示裝置410之網路介面控制器之處理器。顯示裝置410之處理器在玩具有遊戲標題GN及遊戲程式碼gcN之舊有遊戲期間接收使用者輸入420,並將使用者輸入420發送至顯示裝置410之網路介面控制器。顯示裝置410之網路介面控制器將使用者輸入420透過電腦網路408發送至伺服器系統404之仿真處理器系統409。
在接收到使用者輸入420時,仿真處理器系統409執行與以上參考圖4A關於遊戲程式碼gcN描述之相同功能,以編譯基本區塊1至N,用於產生一或多個影像圖框422。伺服器系統404將一或多個影像圖框422透過電腦網路408發送至顯示裝置410,用於在顯示裝置410之顯示螢幕上顯示虛擬環境,諸如虛擬環境452。舉例而言,虛擬環境452包括虛擬物件454,其係Warhawk™戰鬥機之實例。在實例中,虛擬環境452包括虛擬背景,其包括一或多個虛擬物件,諸如虛擬金字塔455及虛擬結構456。在實例中,虛擬物件454能夠在玩具有遊戲程式碼gcN之舊有遊戲N期間對虛擬金字塔455及虛擬結構456發射虛擬飛彈。
在一實施例中,伺服器系統404與顯示裝置410之間的資料通信透過網路通信協定發生。舉例而言,伺服器系統404包括網路介面控制器以將資料轉換成封包。伺服器系統404之網路介面控制器耦合至仿真處理器系統409以自仿真處理器系統接收資料並藉由應用網路通信協定將資料嵌入一或多個封包內。封包自伺服器系統404之網路介面控制器透過電腦網路408傳送至顯示裝置410。顯示裝置410之網路介面控制器藉由應用網路通信協定自一或多個封包提取資料。顯示裝置之網路介面控制器耦合至顯示裝置410之處理器。顯示裝置之網路介面控制器將自電腦網路408接收到之資料提供至顯示裝置410之處理器。顯示裝置410之處理器在顯示裝置410之顯示螢幕上呈現資料,諸如影像圖框422。此外,顯示裝置410之網路介面控制器自顯示裝置410之處理器接收資料,並藉由應用網路通信協定將資料嵌入一或多個封包內並將一或多個封包透過電腦網路408發送至伺服器系統404。伺服器系統404之網路介面控制器將網路通信協定應用於自電腦網路408接收之一或多個封包,以自一或多個封包提取資料並將資料發送至仿真處理器系統409。
在一個實施例中,除電腦網路408以外或代替電腦網路408,蜂巢式網路用於在伺服器系統404與顯示裝置410之間傳遞資料。舉例而言,使用無線技術促進伺服器系統404與顯示裝置之間的通信。
在一實施例中,代替顯示裝置410,使用頭戴式顯示器(HMD)。頭戴式顯示器佩戴於使用者1之頭部上,並包括顯示螢幕,諸如LED螢幕或OLED螢幕或LCD螢幕。HMD執行與由顯示裝置410執行之功能相同之功能。
圖5A係圖解說明基本區塊之實施例之圖式。每一基本區塊包括來源暫存器位址、目的地暫存器位址及操作。舉例而言,基本區塊1包括來源暫存器位址1、目的地暫存器位址1及操作1。基本區塊2包括來源暫存器位址2、目的地暫存器位址2及操作2,且基本區塊n包括來源暫存器位址n、目的地暫存器位址n及操作n。作為實例,來源暫存器位址係快取102內一或多個來源暫存器之位址,且目的地暫存器位址係快取102內一或多個目的地暫存器之位址。基本區塊之操作之實例包括跳越操作、分支操作、讀取操作、寫入操作、比較操作、及返回操作。基本區塊之操作之進一步實例包括算術運算,諸如加法運算、減法運算、乘法運算及除法運算。
作為實例,當操作n為讀取操作時,自來源暫存器位址n讀取資料以執行基本區塊n。作為另一實例,當操作n為寫入操作時,將資料寫入目的地暫存器位址n以執行基本區塊n。作為另一實例,當操作n為移動操作時,自來源暫存器位址n讀取資料,對資料執行操作n,並將資料寫入目的地暫存器位址n,以執行基本區塊n。作為又一實例,當操作n為比較操作時,將儲存於基本區塊n中提及之第一來源暫存器位址處之資料之第一值與儲存於基本區塊n中提及之第二來源暫存器位址處之資料之第二值進行比較,以產生比較結果,並將比較結果儲存於目的地暫存器位址n處,以執行基本區塊n。作為另一實例,當操作n為加法運算時,將儲存於基本區塊n內提及之第一來源位址處之資料之第一值與儲存於基本區塊n內指示之第二來源位址處之資料之第二值相加,以產生加法結果,並將加法結果儲存於目的地暫存器位址n處,以執行基本區塊n。作為又一實例,當本文描述之虛擬物件待自位置P1移動至位置P2且操作n為其中虛擬物件之位置待自P1更新至P2之寫入操作時,用位置P2覆寫目的地暫存器位址n處之位置P1,以執行基本區塊n。在實例中,基本區塊n之執行向仿真處理器系統409指示虛擬物件待自位置P1移動至位置P2。此外,在實例中,使用者輸入420 (圖4A)指示仿真處理器系統409將虛擬物件自位置P1移動至P2。類似地,作為另一實例,當本文描述之虛擬物件待自定向O1移動至定向O2且操作n為其中虛擬物件之定向待自O1更新至O2之寫入操作時,用定向O2覆寫目的地暫存器位址n處之定向O1,以執行基本區塊n。在實例中,基本區塊n之執行向仿真處理器系統409指示虛擬物件待自定向O1移動至定向O2。此外,在實例中,使用者輸入420指示仿真處理器系統409將虛擬物件自定向O1移動至O2。
作為又一實例,當本文描述之虛擬物件之一部分待將顏色自紅色改變為綠色且操作n為其中虛擬物件之顏色待自紅色更新為綠色之寫入操作時,用表示綠色之資料覆寫目的地暫存器位址n處的表示紅色之資料,以執行基本區塊n。在實例中,基本區塊n之執行向仿真處理器系統409指示虛擬物件之該部分之顏色待自紅色改變為綠色。此外,在實例中,使用者輸入420指示仿真處理器系統409將虛擬物件之該部分之顏色自紅色改變為綠色。以類似之方式,可基於使用者輸入420修改其他參數,諸如強度及紋理。
每一基本區塊包括執行基本區塊之週期數目。舉例而言,基本區塊1包括執行基本區塊1之週期數目1。作為另一實例,基本區塊2包括執行基本區塊2之週期數目2,且基本區塊n包括執行基本區塊N之週期數目n。作為實例,在編譯基本區塊時,由基本區塊編譯器104 (圖1)估計執行基本區塊之估計週期數目。在實例中,估計週期數目儲存於基本區塊中。同樣在實例中,在由區塊調度器302 (圖3)執行基本區塊之後,區塊調度器302以上述方式用實際計數更新執行之估計週期數目,並將實際計數提供至區塊編譯器104。由區塊編譯器104用基本區塊中之實際計數替換估計週期數目。作為另一實例,執行操作n之週期數目之實際計數由區塊調度器302產生並儲存於基本區塊n中。在此實例中,沒有估計執行操作n之週期數目。
此外,作為另一實例,基本區塊1至n中之一或多者包括無效標記,其指示對基本區塊1至n中之一或多者進行有效性檢查。舉例而言,基本區塊n包括無效標記n。
應注意,藉由將經仿真PU程式碼106轉換成遊戲程式碼gcN之基本區塊1至n,可在基本區塊1至n中之任何兩者之間插入鉤,諸如鉤區塊。舉例而言,可在基本區塊(n-1)與n之間插入鉤區塊n。鉤區塊n具有與基本區塊n相同之結構。舉例而言,鉤區塊包括來源暫存器位址、目的地暫存器位址、操作及執行鉤區塊之操作之週期數目。作為實例,由於與舊有機器相關聯之安全問題,如本文描述之鉤不可插入儲存於舊有機器中用於在舊有機器上執行之經仿真CPU程式碼106 (圖1)之指令之間。
應進一步注意,基本區塊1至n鍵入(諸如固定於)快取102 (圖1)中。舉例而言,基本區塊1具有起始記憶體位址1,其指示基本區塊1在快取102中之起始位置。此外,基本區塊1具有結束記憶體位址1,其指示基本區塊1在快取102中之結束位置。作為另一實例,基本區塊1之結束位址1由快取102中自起始記憶體位址1之偏移指示。作為又一實例,基本區塊2具有起始記憶體位址2,其指示基本區塊2在快取102中之起始位置。此外,基本區塊2具有結束記憶體位址2,其指示基本區塊2在快取102中之結束位置。作為另一實例,基本區塊2之結束位址2由快取102中自起始記憶體位址2之偏移指示。類似地,作為另一實例,基本區塊n具有起始記憶體位址n,其指示基本區塊n在快取102中之起始位置。此外,基本區塊n具有結束記憶體位址n,其指示基本區塊n在快取102中之結束位置。作為另一實例,基本區塊n之結束位址n由快取102中自起始記憶體位址n之偏移指示。仿真處理器系統409 (圖4A),諸如基本區塊編譯器104,可自基本區塊1至n的儲存於快取102中之起始記憶體位址及結束記憶體位址識別基本區塊1至n在快取102中之位置。
亦應注意,若使用者輸入指示經更新機器之區塊調度器302在執行基本區塊1之後立即執行基本區塊n,則區塊調度器302跳過快取102中之基本區塊2至(n-1)之執行並自基本區塊1跳越至基本區塊n。在此情況下,當區塊調度器302跳越至基本區塊n時,由區塊調度器302關閉基本區塊1之執行。此外,在此情況下,下一基本區塊之起始位址與先前基本區塊之結束位址連續。舉例而言,起始位址2與結束位址1連續,且起始位址n與基本區塊(n-1)之結束位址(n-1)連續。
在一實施例中,來源暫存器位址1至n係快取102之暫存器之記憶體位址,且目的地暫存器位址1至n係快取102中暫存器之記憶體位址。
在一個實施例中,基本區塊包括多個操作。舉例而言,基本區塊n包括第一操作、第一來源暫存器位址、及第一目的地暫存器位址。基本區塊n進一步包括第二操作、第二來源暫存器位址、及第二目的地暫存器位址。
在一實施例中,基本區塊包括一操作、多個來源位址、及一目的地位址。
在一個實施例中,基本區塊包括一操作、多個目的地位址、及一來源位址。
在一實施例中,基本區塊包括多個操作、多個來源位址、及多個目的地位址。
在一實施例中,基本區塊包括一或多個操作、一或多個來源位址、及一或多個目的地位址。
在一實施例中,基本區塊包括來源暫存器位址或目的地暫存器位址而非包括兩者。
在一個實施例中,區塊編譯器104不估計用於執行基本區塊n之週期數目。相反,區塊調度器302產生執行基本區塊n之週期數目之實際計數並將實際計數儲存於基本區塊n中。
圖5B係圖解說明由基本區塊編譯器104 (圖1)執行之編譯操作之實施例之圖式。經仿真PU程式碼指令M之實例圖解說明為指令550且基本區塊n之實例圖解說明為基本區塊552,其中M為正整數。指令550包括具有a個位元長度之來源位址M、具有b個位元長度之目的地位址M、及由長度為c之位元表示之操作M,其中a、b、及c為正整數。舉例而言,a為4、b為4、且c為32。作為實例,a個位元、b個位元、及c個位元儲存於舊有機器之一或多個記憶體裝置中。舉例而言,a個位元儲存於記憶體裝置406或412中(圖4A及圖4B)。操作552包括具有d個位元長度之來源暫存器位址n、具有e個位元長度之目的地位址n、及由長度為f之位元表示之操作n,其中d、e、及f為正整數。舉例而言,d為8、e為8、且f為64。作為實例,d個位元、e個位元、及f個位元儲存於經更新機器之一或多個暫存器中。作為實例,d大於a、e大於b、且f大於c。為了說明,當a為4、b為4、且c為32時,d為8、e為8、且f為64。作為另一個實例,當a為4、b為4、且c為32時,d為16、e為16、且f為128。
為了執行編譯操作,基本區塊編譯器104 (圖1)將來源位址M轉換成來源暫存器位址n,將目的地位址M轉換成目的地暫存器位址n,且將操作M轉換成操作n,以自經仿真PU程式碼指令M產生基本區塊n。舉例而言,基本區塊編譯器104右移來源位址M之4個位元以佔用快取102中8個來源暫存器之4個記憶體位址,並遮蔽8個來源暫存器之剩餘四個記憶體位址中之任何位元。由來源位址M之4個位元佔用之四個記憶體位址處於快取102中8個來源暫存器之最低有效位置,而位元經遮蔽之剩餘四個記憶體位址處於快取102中8個來源暫存器之最高有效位置。
作為另一實例,基本區塊編譯器104右移目的地位址M之4個位元以佔用快取102中8個目的地暫存器之4個記憶體位址,並遮蔽8個目的地暫存器之剩餘四個記憶體位址中之任何位元。由目的地位址m之4個位元佔用之四個記憶體位址處於快取102中8個目的地暫存器之最低有效位置,而位元經遮蔽之剩餘四個記憶體位址處於快取102中8個目的地暫存器之最高有效位置。
類似地,作為另一實例,基本區塊編譯器104右移操作M之32個位元以佔用快取102中64個操作暫存器之32個記憶體位址,並遮蔽64個操作暫存器之剩餘32個記憶體位址中之任何位元。由操作M之32個位元佔用之32個記憶體位址處於快取102中32個操作暫存器之最低有效位置,而位元經遮蔽之剩餘32個記憶體位址處於快取102中64個操作暫存器之最高有效位置。操作n儲存於快取102之操作暫存器中。
圖6A係圖解說明仿真處理器系統409之組件之系統600之實施例之圖式。系統600包括記憶體裝置412及仿真處理器系統409。仿真處理器系統409之基本區塊編譯器104包括剖析器或解碼器602。基本區塊編譯器104進一步包括區塊建立器604、區塊快取器606、及區塊讀取器608。仿真處理器系統409包括區塊調度器302。
作為實例,剖析器609、區塊建立器604、區塊快取器606、區塊讀取器608及區塊調度器302中之每一者使用軟體、或硬體、或其組合來實施。舉例而言,剖析器609、區塊建立器604、區塊快取器606、區塊讀取器608及區塊調度器302中之每一者係分離之積躰電路,諸如PLD或ASIC或控制器或處理器或電腦程式之一部分。作為另一實例,剖析器609、區塊建立器604、區塊快取器606、區塊讀取器608及區塊調度器302中之每一者係分離之電腦軟體程式。
遊戲程式碼gcN包括多個指令,諸如經仿真PU程式碼指令1、經仿真PU程式碼指令2,以此類推,直至經仿真PU程式碼指令M。舉例而言,遊戲程式碼gcN之每一指令係一系列位元,該等位元可由舊有機器之處理器執行以實施一功能,諸如將虛擬物件自位置P1移動至位置P2,或將虛擬物件之定向自O1改變為O2,或修改虛擬物件之一部分之參數。
剖析器602耦合至區塊建立器604,區塊建立器604耦合至區塊快取器606並耦合至區塊讀取器608。區塊快取器606及區塊讀取器608耦合至快取102。區塊讀取器608耦合至區塊調度器302。
圖6B係圖解說明用於編譯及執行基本區塊1至n之方法650之實施例之流程圖。使用圖6A之系統600來說明方法650。在方法650之操作652中,區塊建立器604判定是否接收到任何使用者輸入,諸如使用者輸入1。作為實例,使用者輸入1係信號,該信號包括由使用者1選擇的手持控制器414 (圖4A)之一或多個按鈕之一或多個標識。作為另一實例,使用者輸入1係信號,該信號包括相對於以手持控制器414為中心之xyz坐標系之原點之移動(諸如俯仰、偏航及滾轉)之度量。作為又一實例,使用者輸入1係信號,該信號包括相對於HMD之xyz坐標系之原點之移動(諸如俯仰、偏航及滾轉)之度量。使用者輸入1之實例係使用者輸入420 (圖4A)。
在判定未接收到使用者輸入時,區塊建立器604在操作652中繼續檢查是否接收到使用者輸入。舉例而言,在操作652中未接收到使用者輸入時,基本區塊編譯器104不運行儲存於快取102 (圖1)中之基本區塊(n+1)至p中之任一者,且基本區塊編譯器104 (圖1)不識別經仿真PU程式碼指令1至M (圖6A)中之任一者,其中p為正整數。假設在操作652中接收到使用者輸入時,基本區塊1至n未產生且未儲存於快取102中。
另一方面,回應於判定在操作652中接收到使用者輸入,在方法650之操作654中,區塊建立器604判定儲存於快取102中之基本區塊(n+1)至p中之一或多者是否滿足使用者輸入。舉例而言,區塊建立器604發送請求至區塊讀取器608以自快取102存取基本區塊(n+1)至p。在實例中,區塊讀取器608在接收到請求時,自快取102讀取基本區塊(n+1)至p,並將基本區塊(n+1)至p發送至區塊建立器604。此外,在實例中,區塊建立器604判定基本區塊(n+1)至p中之一或多者之功能性是否滿足(諸如服務於)使用者輸入1。為了說明,當使用者輸入1指示將虛擬物件之位置自位置P1改變至位置P2時,區塊建立器604判定基本區塊(n+1)至p中之任一者是否包括用位置P2覆寫位置P1之操作。在判定基本區塊(n+1)至p中之一或多者包括用位置P2覆寫位置P1之操作時,區塊建立器604判定區塊(n+1)至p中之一或多者之一或多個功能性滿足使用者輸入1。另一方面,在判定基本區塊(n+1)至p中沒有一個包括用位置P2覆寫位置P1之操作時,區塊建立器604判定基本區塊(n+1)至p之功能性不滿足使用者輸入1。
作為另一圖解,當使用者輸入1係將虛擬物件之定向自定向O1改變至定向O2時,區塊建立器604判定基本區塊(n+1)至p中之任一者是否包括用定向O2覆寫定向O1之操作。在判定基本區塊(n+1)至p中之一或多者包括用定向O2覆寫定向O1之操作時,區塊建立器604判定基本區塊(n+1)至p中之一或多者之一或多個功能性滿足使用者輸入1。另一方面,在判定基本區塊(n+1)至p中沒有一個包括用定向O2覆寫定向O1之操作時,區塊建立器604判定基本區塊(n+1)至p之功能性不滿足使用者輸入1。作為又一圖解,當使用者輸入1係將虛擬物件之一部分之參數之值自第一值改變至第二值時,區塊建立者判定基本區塊(n+1)至p中之任一者是否包括用第二值覆寫第一值之操作。在判定基本區塊(n+1)至p中之一或多者包括用第二值覆寫第一值之操作時,區塊建立器604判定基本區塊(n+1)至p中之一或多者之一或多個功能性滿足使用者輸入1。另一方面,在判定基本區塊(n+1)至p中沒有一個包括以第二值覆寫第二值之操作時,區塊建立器604判定基本區塊(n+1)至p之功能性不滿足使用者輸入1。
在判定基本區塊(n+1)至p中之一或多者之功能性滿足使用者輸入1時,在方法650之操作656中,區塊調度器302執行基本區塊(n+1)至p中之一或多者。舉例而言,在判定基本區塊(n+1)至p中之一或多者之功能性滿足使用者輸入1時,區塊建立器604發送指令至區塊調度器302以執行基本區塊(n+1)至p中之一或多者。在實例中,回應於接收到指令,區塊調度器302發送命令至區塊讀取器608以自快取102讀取基本區塊(n+1)至p中之一或多者,以用於滿足在操作652中接收到之使用者輸入。此外,在實例中,在回應於命令而自快取102接收到基本區塊中之一或多者時,區塊調度器302執行基本區塊(n+1)至p中之一或多者。
另一方面,在判定區塊(n+1)至p之功能性不滿足使用者輸入1時,在方法650之操作658中,區塊編譯器104識別經仿真PU程式碼指令1至M中之一或多者,以用於服務於在操作652中接收到之使用者輸入。舉例而言,在判定區塊(n+1)至p之功能性不滿足使用者輸入1時,區塊建立器604發送請求至剖析器602以剖析遊戲程式碼gcN,以識別並獲得滿足在使用者輸入1中識別之功能性的遊戲程式碼gcN之經仿真PU程式碼指令1至M中之一或多者。在實例中,回應於接收到請求,剖析器602存取記憶體裝置412以剖析遊戲程式碼gcN,以判定經仿真PU程式碼指令1至M中之一或多者之功能性是否滿足使用者輸入1,且在判定經仿真PU程式碼指令1至M中之一或多者之功能性滿足使用者輸入1時,剖析器602將經仿真PU程式碼指令1至M中之一或多者提供至區塊建立器604。
為了說明,當使用者輸入1係將虛擬物件之位置自位置P1改變至位置P2時,剖析器602判定經仿真PU程式碼指令1至M中之任一者是否包括用位置P2覆寫位置P1之操作。在判定經仿真PU程式碼指令1至M中之一或多者包括用位置P2覆寫位置P1之操作時,剖析器602判定經仿真PU程式碼指令1至M中之一或多者之一或多個功能性滿足使用者輸入1。另一方面,在判定經仿真PU程式碼指令1至M中沒有一個包括用位置P2覆寫位置P1之操作時,剖析器602判定經仿真PU程式碼指令1至M之功能性不滿足使用者輸入1。
作為另一圖解,當使用者輸入1係將虛擬物件之定向自定向O1改變至定向O2時,剖析器602判定經仿真PU程式碼指令1至M中之任一者是否包括用定向O2覆寫定向O1之操作。在判定經仿真PU程式碼指令1至M中之一或多者包括用定向O2覆寫定向O1之操作時,剖析器602判定經仿真PU程式碼指令1至M中之一或多者之一或多個功能性滿足使用者輸入1。另一方面,在判定經仿真PU程式碼指令1至M中沒有一個包括用定向O2覆寫定向O1之操作時,剖析器602判定經仿真PU程式碼指令1至M之功能性不滿足使用者輸入1。作為又一圖解,當使用者輸入1係將虛擬物件之一部分之參數之值自第一值改變至第二值時,剖析器602判定經仿真PU程式碼指令1至M中之任一者是否包括用第二值覆寫第一值之操作。在判定經仿真PU程式碼指令1至M中之一或多者包括用第二值覆寫第一值之操作時,剖析器602判定經仿真PU程式碼指令1至M中之一或多者之一或多個功能性滿足使用者輸入1。另一方面,在判定經仿真PU程式碼指令1至M中沒有一個包括以第二值覆寫第一值之操作時,剖析器602判定經仿真PU程式碼指令1至M之功能性不滿足使用者輸入1。
在方法650之操作660中,當自剖析器602接收到滿足使用者輸入1的經仿真PU程式碼指令1至M中之一或多者時,區塊建立器604應用上述編譯操作,以自經仿真PU程式碼指令1至M中之一或多者產生基本區塊1至n中之一或多者。舉例而言,區塊建立器604編譯基本區塊1至n中之一或多者,且將基本區塊1至n中之一或多者發送至區塊快取器606,並發送指令至區塊調度器302以執行基本區塊1至n中之一或多者。在接收到基本區塊1至n中之一或多者時,區塊快取器606將基本區塊1至n中之一或多者儲存於快取102中。
在方法650之操作662中,在自區塊建立器604接收到用以執行基本區塊1至n中之一或多者的指令時,區塊調度器302運行基本區塊1至n中之一或多者以服務於在操作652中接收到之使用者輸入。舉例而言,區塊調度器302發送請求至區塊讀取器608以自快取102讀取基本區塊1至n中之一或多者。在接收到命令時,區塊讀取器608自快取102讀取基本區塊1至n中之一或多者,並將基本區塊1至n中之一或多者提供至區塊調度器302。在接收到基本區塊1至n中之一或多者時,區塊調度器302執行基本區塊1至n中之一或多者以產生虛擬環境452 (圖4B)。為了說明,區塊調度器302執行基本區塊1至n中之一或多者以產生影像圖框,影像圖框包括虛擬環境資料,諸如虛擬物件454之位置及定向、虛擬物件454之參數、虛擬環境452中其他虛擬物件之位置及定向、及虛擬環境452中其他虛擬物件之參數。區塊調度器302將影像圖框提供至仿真處理器系統409之GPU,以在顯示裝置410 (圖4A)之顯示螢幕上顯示(諸如呈現)虛擬環境452。當在操作652中接收到使用者輸入1之後接收到諸如使用者輸入2之另一使用者輸入時,重複方法650。
圖6C係圖解說明針對不同之使用者輸入動態地編譯不同之基本區塊或不同之基本區塊集合之系統670之實施例之圖式。系統670包括記憶體裝置412、基本區塊編譯器104、區塊調度器302、及快取102。當由基本區塊編譯器104接收到使用者輸入1時,基本區塊編譯器104判定對應於使用者輸入1之基本區塊1是否儲存於快取102中。舉例而言,當基本區塊1包括用於服務於使用者輸入1之功能時,基本區塊1對應於使用者輸入1。為了說明,當使用者輸入1係將虛擬物件自位置P1移動至位置P2且基本區塊1包括用位置P2更新儲存於目的地暫存器位址1處之位置P1之操作時,基本區塊1可服務於使用者輸入1。在圖解中,使用者輸入1係信號,該信號指示選擇手持控制器414 (圖4A)上之向右移動按鈕或向左移動按鈕或向上移動按鈕或向下移動按鈕。類似地,當基本區塊2不包括用於服務於使用者輸入1之功能時,基本區塊2不對應於使用者輸入1。為了說明,當使用者輸入1係將虛擬物件自位置P1移動至位置P2而不改變虛擬物件之定向且基本區塊2包括用定向O2更新儲存於目的地暫存器2中之定向O1之操作時,基本區塊2不可服務於使用者輸入1。在判定可服務於使用者輸入1之基本區塊1儲存於快取102中時,基本區塊編譯器104將基本區塊1提供至區塊調度器302以供執行基本區塊1。
另一方面,在判定基本區塊1未儲存於快取102中時,基本區塊編譯器104剖析儲存於記憶體裝置412中之經仿真PU程式碼106,以識別對應於使用者輸入1之經仿真PU程式碼指令1。舉例而言,基本區塊編譯器104剖析經仿真PU程式碼106以識別滿足(諸如服務於)使用者輸入1之經仿真PU程式碼指令1。為了說明,當使用者輸入1係將虛擬物件自位置P1移動至位置P2且經仿真PU程式碼指令1包括用位置P2更新儲存於目的地位址1處之位置P1之功能時,經仿真PU程式碼指令1可服務於使用者輸入1。類似地,當經仿真PU程式碼指令2不包括用於服務於使用者輸入1之功能時,經仿真PU程式碼指令2不對應於使用者輸入1。為了說明,當使用者輸入1係將虛擬物件自位置P1移動至位置P2而不改變虛擬物件之定向且經仿真PU程式碼指令2包括用定向O2更新儲存於目的地位址2處之定向O1之操作時,經仿真PU程式碼指令2不可服務於使用者輸入1。
在判定經仿真PU程式碼指令1可服務於使用者輸入1且經仿真PU程式碼指令2不可服務於使用者輸入1時,基本區塊編譯器104自記憶體裝置412存取(諸如讀取)經仿真PU程式碼指令1並自經仿真PU程式碼指令1編譯基本區塊1。基本區塊編譯器104不會回應於接收到使用者輸入1而自經仿真PU程式碼指令2編譯基本區塊2。基本區塊編譯器104在快取102中儲存基本區塊1並發送指令至區塊調度器302以存取及執行基本區塊1。在接收到指令時,區塊調度器302自快取102讀取基本區塊1並運行基本區塊1。
類似地,當由基本區塊編譯器104接收到使用者輸入2時,基本區塊編譯器104判定對應於使用者輸入2之基本區塊2是否儲存於快取102中。舉例而言,當基本區塊2包括用於服務於使用者輸入2之功能時,基本區塊2對應於使用者輸入2。為了說明,當使用者輸入2係將虛擬物件自定向O1移動至定向O2且基本區塊2包括用定向O2更新儲存於目的地暫存器位址2處之定向O1之操作時,基本區塊2可服務於使用者輸入2。在圖解中,使用者輸入2係信號,該信號指示選擇手持控制器414上之順時針旋轉或逆時針旋轉按鈕。類似地,當基本區塊1不包括用於服務於使用者輸入2之功能時,基本區塊1不對應於使用者輸入2。為了說明,當使用者輸入2係將虛擬物件自定向O1移動至定向O2而不改變虛擬物件之位置且基本區塊1包括用位置P2更新儲存於目的地暫存器1中之位置P1之操作時,基本區塊1不可服務於使用者輸入2。在判定可服務於使用者輸入2之基本區塊2儲存於快取102中時,基本區塊編譯器104將基本區塊2提供至區塊調度器302以供執行基本區塊2。
另一方面,在判定基本區塊2未儲存於快取102中時,基本區塊編譯器104剖析儲存於記憶體裝置412中之經仿真PU程式碼106以識別對應於使用者輸入2之經仿真PU程式碼指令2。舉例而言,基本區塊編譯器104剖析經仿真PU程式碼106以識別經仿真PU程式碼指令2滿足(諸如服務於)使用者輸入2。為了說明,當使用者輸入2係將虛擬物件自定向O1移動至定向O2且經仿真PU程式碼指令2包括用定向O2更新儲存於目的地位址2處之定向O1之功能時,經仿真PU程式碼指令2可服務於使用者輸入2。類似地,當經仿真PU程式碼指令1不包括用於服務於使用者輸入2之功能時,經仿真PU程式碼指令1不對應於使用者輸入2。為了說明,當使用者輸入2係將虛擬物件自定向O1移動至定向O2而不改變虛擬物件之位置且經仿真PU程式碼指令1包括用位置P2更新儲存於目的地位址1中之位置P1之操作時,經仿真PU程式碼指令1不可服務於使用者輸入2。
在判定經仿真PU程式碼指令2可服務於使用者輸入2且經仿真PU程式碼指令1不可服務於使用者輸入2時,基本區塊編譯器104自記憶體裝置412存取(諸如讀取)經仿真PU程式碼指令2並編譯經仿真PU程式碼指令2以產生基本區塊2。基本區塊編譯器104不會回應於接收到使用者輸入2而編譯經仿真PU程式碼指令1。基本區塊編譯器104將基本區塊2儲存於快取102中並發送指令至區塊調度器302以存取並執行基本區塊2。在接收到指令時,區塊調度器302自快取102讀取基本區塊2並運行基本區塊2。
圖7A係圖解說明自記憶體裝置412刪除經仿真PU程式碼106之系統700之實施例之圖式。系統700包括區塊建立器604、指令移除器702、及記憶體裝置412。指令移除器702之實例包括處理器、ASIC、PLD、電腦程式、電腦程式之一部分、及微控制器。指令移除器702耦合至區塊建立器604及記憶體裝置412。
圖7B係圖解說明用於自記憶體裝置412 (圖6C)刪除經仿真PU程式碼106 (圖6C)之方法720之實施例之流程圖。方法720包括用於判定經仿真PU程式碼106之全部指令是否經編譯之操作722。舉例而言,區塊建立器604 (圖7A)判定是否遊戲程式碼gcN之經仿真PU程式碼指令1至M全部經編譯。為了說明,在編譯遊戲程式碼gcN之經仿真PU程式碼指令1至M中之任一者之前,區塊建立器604發送請求至舊有機器之處理器以獲得遊戲程式碼gcN之經仿真PU程式碼指令1至M中之全部之識別碼。在圖解中,區塊建立器604將遊戲程式碼gcN之識別碼(諸如一或多個位元)發送至舊有機器之處理器以獲得遊戲程式碼gcN之經仿真PU程式碼指令1至M中之全部之識別碼。經仿真PU程式碼指令1至M之識別碼之實例包括一或多個位元。為了說明,經仿真PU程式碼指令M之識別碼由第一位元序列表示,且經仿真PU程式碼指令M-1之識別碼由不同於第一序列之第二位元序列表示。在自舊有機器之處理器接收到經仿真PU程式碼指令1至M之識別碼時,區塊建立器604將識別碼儲存於快取102中之表格中。當經仿真PU程式碼指令1至M中之每一者經編譯時,區塊建立器604更新表格以包括識別經仿真PU程式碼指令1至M中之哪些經編譯之指示。區塊建立器604自識別經仿真PU程式碼指令1至M中之哪些經編譯之指示來判定是否經仿真PU程式碼指令1至M全部經編譯。
在判定遊戲程式碼gcN之經仿真PU程式碼指令1至M全部經編譯時,區塊建立器604發送命令至指令移除器702 (圖7A)以自記憶體裝置412刪除遊戲程式碼gcN。在接收命令時,在方法720之操作724中,指令移除器702自記憶體裝置412抹除經仿真PU程式碼指令1至M。
另一方面,在基於表格判定遊戲程式碼gcN之經仿真PU程式碼指令1至M中之一或多者未經編譯時,在方法720之操作726中,區塊建立器604不發送用以使指令移除器702自記憶體裝置412刪除遊戲程式碼gcN之命令。在接收到刪除遊戲程式碼gcN之命令之前,指令移除器702不會自記憶體裝置412刪除經仿真PU程式碼指令1至M。
在一個實施例中,區塊建立器604判定自記憶體裝置412存取遊戲程式碼gcN之最新時間開始,是否在預定時間段內自記憶體裝置412 (圖4A)存取遊戲程式碼gcN,該預定時間段儲存於快取102中。作為實例,區塊建立器604可透過電腦網路408存取網際網路時脈以判定最新時間及預定時間段。作為另一實例,區塊建立器604包括時脈源,諸如時脈振盪器,以對最新時間及預定時間段進行計數。在判定遊戲程式碼gcN在預定時間段內未自記憶體裝置412存取時,區塊建立器604發送命令至指令移除器702以自記憶體裝置412刪除遊戲程式碼gcN。作為實例,當遊戲程式碼gcN在預定時間段內未經存取時,由基本區塊編譯器104存取經仿真CPU程式碼指令1至M之大部分,以編譯基本區塊1至n中之一或多者。作為另一實例,當遊戲程式碼gcN在預定時間段內未經存取時,在玩具有遊戲標題GN之舊有遊戲N期間頻繁使用之多個經仿真CPU程式碼指令1至M由基本區塊編譯器104存取,以編譯基本區塊1至n中之一或多者。另一方面,在判定遊戲程式碼gcN在預定時間段內經存取時,區塊建立器604不發送命令至指令移除器702且遊戲程式碼gcN不自記憶體裝置412刪除。
圖8A係圖解說明基本區塊之驗證之仿真處理器系統800之實施例之圖式。仿真處理器系統800係仿真處理器系統409 (圖4B)之實例。仿真處理器系統800包括基本區塊編譯器104、快取102、區塊驗證器802及區塊加旗標器804。區塊驗證器802耦合至區塊建立器604、區塊調度器302、剖析器602、及區塊加旗標器804。區塊驗證器802及區塊加旗標器804中之每一者皆耦合至快取102。
作為實例,區塊驗證器802實施為ASIC、或PLD、或微控制器、或處理器、或電腦程式、或電腦程式之一部分。同樣作為實例,區塊加旗標器804實施為ASIC、或PLD、或微控制器、或處理器、或電腦程式、或電腦程式之一部分。
在一個實施例中,術語ASIC、PLD、微控制器、微處理器、控制器及處理器在本文中可互換使用。
圖8B係圖解說明由仿真處理器系統800 (圖8A)執行之驗證操作之方法850之實施例之流程圖。在方法850之操作852中,區塊驗證器802 (圖8A)判定基本區塊n是否經編譯。舉例而言,區塊驗證器802存取(諸如讀取)快取102以判定與先前儲存於快取102中之基本區塊1至n-1相比,新之基本區塊(諸如基本區塊n)現在是否儲存於快取102中。區塊驗證器802先前識別儲存於快取102中之基本區塊1至n-1。在判定基本區塊n未經快取時,區塊驗證器802繼續存取快取102以判定新之基本區塊是否經快取。舉例而言,區塊驗證器802週期性地剖析儲存於快取102中之基本區塊1至n-1以判定基本區塊n是否儲存於快取102中。
在判定基本區塊n經快取時,區塊驗證器802在方法850之操作854中自經仿真PU程式碼指令1至M中之一或多者(基本區塊n自其編譯)建立第一雜湊值。舉例而言,區塊驗證器802發送請求至剖析器602以自記憶體裝置412獲得經仿真CPU程式碼指令1至M中之一或多者。該請求包括快取102中基本區塊n之記憶體位址之識別碼。基本區塊n之記憶體位址之識別碼由區塊驗證器802自區塊建立器604接收,諸如藉由請求獲得。剖析器602在接收到來自區塊驗證器802之請求時,自記憶體裝置412讀取經仿真PU程式碼指令1至M中之一或多者,並將經仿真PU程式碼指令1至M中之一或多者提供至區塊驗證器802。為了說明,當經仿真PU程式碼指令1至M中之一或多者提供至基本區塊編譯器104以供編譯基本區塊n時,剖析器602儲存由快取102中基本區塊n佔用之一或多個記憶體位址之一或多個識別碼與由記憶體裝置412中經仿真PU程式碼指令1至M中之一或多者佔用之一或多個記憶體位址之一或多個識別碼之間之一對一對應關係。剖析器602自區塊驗證器802接收快取102中基本區塊n之記憶體位址之識別碼並依據一對一對應關係識別記憶體裝置412中經仿真PU程式碼指令1至M中之一或多者之一或多個記憶體位址。剖析器602自記憶體裝置412之一或多個記憶體位址讀取經仿真PU程式碼指令1至M中之一或多者並將經仿真PU程式碼指令1至M中之一或多者提供至區塊驗證器802。
繼續該實例,在自剖析器602接收到經仿真PU程式碼指令1至M中之一或多者時,區塊驗證器802自經仿真PU程式碼指令1至M中之一或多者產生第一雜湊值並將第一雜湊值儲存於快取102中。為了說明,區塊驗證器802自對應於基本區塊n之經仿真PU程式碼指令1至M中之一或多者產生摘要或總和檢查碼。在實例中,第一雜湊值儲存於快取102之一或多個暫存器中,該一或多個暫存器經鍵入以包括基本區塊n。
在方法850之操作856中,區塊驗證器802發送命令至剖析器602以判定記憶體裝置412內之一或多個記憶體位址(經仿真PU程式碼指令1至M中之一或多者儲存於此)是否經覆寫。記憶體裝置412內之一或多個記憶體位址可用來自舊有機器之光碟唯讀記憶體(CD-ROM)之資料來覆寫。該資料可係對經仿真PU程式碼指令1至M中之一或多者之更新。對經仿真PU程式碼指令1至M中之一或多者之更新稱為經更新指令。或者,該資料可係並非經更新指令之損壞資料。剖析器602在接收到來自區塊驗證器802之命令時,發送請求至舊有機器之處理器以判定記憶體裝置412內之一或多個記憶體位址(經仿真PU程式碼指令1至M中之一或多者儲存於此)是否經覆寫。
在接收到來自剖析器602之請求時,舊有機器之處理器提供對該請求之回應,且該回應指示記憶體裝置412內之一或多個記憶體位址(經仿真PU程式碼指令1至M中之一或多者儲存於此)是否經覆寫。在接收到記憶體裝置412內之一或多個記憶體位址(經仿真PU程式碼指令1至M中之一或多者儲存於此)未經覆寫之回應時,區塊驗證器802發送命令至區塊加旗標器804 (圖8A)以不將基本區塊n標記為無效。在接收到命令時,在方法850之操作858中,區塊加旗標器804不將基本區塊n標記為無效。
另一方面,在接收到記憶體裝置412內之一或多個記憶體位址(經仿真PU程式碼指令1至M中之一或多者儲存於此)經覆寫之回應時,在方法850之操作860中,區塊驗證器802發送命令至區塊加旗標器804 (圖8A)以將基本區塊n標記為無效。在接收到用以將基本區塊n標記為無效之命令時,區塊加旗標器804將基本區塊n標記為無效。舉例而言,區塊加旗標器804存取快取102內之基本區塊n並在快取102中具有基本區塊n之記憶體位址內包括識別符,諸如無效標記n (圖5A),以指示基本區塊n係無效的。無效標記n之實例係位元序列。
在一個實施例中,雜湊值係驗證結果之實例。
圖8C係圖8B之方法850之流程圖之繼續。在方法850之操作862中,區塊驗證器802 (圖8A)判定是否待執行基本區塊n。舉例而言,區塊調度器302將待執行基本區塊n之指示發送至區塊驗證器802。在自區塊調度器302接收到待執行基本區塊n之指示時,區塊驗證器802判定待執行基本區塊n。在接收到指示之前,區塊驗證器802不會判定待驗證基本區塊n。
在判定待執行基本區塊n時,區塊驗證器802在方法850之操作864中判定是否將基本區塊n標記為無效。舉例而言,區塊驗證器802發送命令至區塊加旗標器804以判定基本區塊n是否加旗標為無效。在接收到命令時,區塊加旗標器804將基本區塊n是否加旗標為無效之指示發送至區塊驗證器802。為了說明,區塊加旗標器804存取基本區塊n以判定基本區塊n是否包括無效標記n,以產生無效性指示並將該指示發送至區塊驗證器802。作為另一圖解,區塊加旗標器804存取基本區塊n以判定基本區塊n是否不包括無效標記n,以產生缺乏無效性指示並將該指示發送至區塊驗證器802。在自區塊加旗標器804接收到基本區塊n標記為無效之指示時,區塊驗證器802判定基本區塊n係無效的。另一方面,在自區塊加旗標器804接收到基本區塊n缺少無效標記n之指示時,區塊驗證器802判定基本區塊n未標記為無效。
在判定基本區塊n未標記為無效時,在方法850之操作866中執行基本區塊n。舉例而言,操作866類似於操作662 (圖6B)。為了說明,區塊驗證器802發送命令至區塊調度器302以執行基本區塊n。在接收到用以執行基本區塊n之命令時,區塊調度器302運行基本區塊n。在此說明中,在自區塊驗證器802接收到用於執行基本區塊n之命令之前,區塊調度器302不會執行基本區塊n。
另一方面,回應於判定基本區塊n標記為無效,在方法850之操作868中,區塊驗證器802判定基本區塊n是否實際有效。舉例而言,在判定基本區塊n標記為無效時,區塊驗證器802自儲存於記憶體裝置412內之相同記憶體位址(基本區塊n自其編譯的經仿真PU程式碼指令1至M中之一或多者儲存於此)中之經更新指令或損壞資料建立第二雜湊值。在實例中,第二雜湊值儲存於快取102之一或多個暫存器中,該一或多個暫存器經鍵入以包括基本區塊n。為了說明,區塊驗證器802發送請求至剖析器602以獲得儲存於記憶體裝置412內之一或多個記憶體位址處之經更新指令或損壞資料。在接收到請求時,剖析器602自記憶體裝置412之一或多個記憶體位址讀取經更新指令或損壞資料,並將經更新指令或損壞資料提供至區塊驗證器802。在圖解中,區塊驗證器802自經更新指令或損壞資料產生第二雜湊值並將第二雜湊值儲存於快取102中。舉例而言,區塊驗證器802自經更新指令或損壞資料產生摘要或總和檢查碼。在圖解中,區塊驗證器802將第二雜湊值與第一雜湊值進行比較以判定基本區塊n是否有效。在基於該比較判定第一雜湊值與第二雜湊值之間存在匹配時,區塊驗證器802判定基本區塊n係有效的。當自經更新指令產生第二雜湊值時出現匹配。另一方面,在基於該比較判定第一雜湊值與第二雜湊值之間缺乏匹配時,區塊驗證器802判定基本區塊n無效。當自損壞資料產生第二個雜湊值時缺乏匹配。
回應於判定基本區塊n有效,在方法850之操作870中,移除無效標記n。舉例而言,區塊驗證器802發送命令至區塊加旗標器804以自快取102中儲存之基本區塊n移除無效標記n。在接收到來自區塊驗證器802之命令時,區塊加旗標器804自快取102存取基本區塊n並自基本區塊n抹除無效標記n。為了說明,區塊加旗標器804自快取102之一或多個記憶體位址(無效標記n儲存於其中)抹除無效標記n。在移除無效標記n時,區塊加旗標器804發送命令至區塊調度器302以執行基本區塊n,且在接收到該命令時,在操作866中,區塊調度器302運行基本區塊n。作為實例,區塊調度器302不會執行基本區塊n,直至自區塊加旗標器804接收到用以執行基本區塊n之命令。
另一方面,在判定基本區塊n無效時,在方法850之操作872中,編譯具有與基本區塊n相同之功能性或操作之額外基本區塊。舉例而言,區塊驗證器802發送命令至區塊調度器302以不執行基本區塊n,並將基本區塊n無效之指示發送至區塊建立器604。在接收到該指示時,區塊建立器604重新編譯基本區塊n。為了說明,區塊建立器604以與自儲存於記憶體裝置412中之經仿真PU程式碼指令1至M中之一或多者編譯基本區塊n之相同方式編譯額外基本區塊,除額外基本區塊係自儲存於額外舊有機器之記憶體裝置內之額外經仿真PU程式碼指令集(諸如經仿真PU程式碼指令1至M中之一或多者)編譯以外。額外舊有機器不同於包括記憶體裝置412之舊有機器。此外,額外經仿真PU程式碼指令集具有與遊戲程式碼gcN相同之遊戲標題GN。作為另一圖解,區塊建立器604以與自儲存於記憶體裝置412中之經仿真PU程式碼指令1至M中之一或多者編譯基本區塊n之相同方式編譯額外基本區塊,除額外基本區塊係自與經仿真PU程式碼指令1至M所儲存在的記憶體裝置412之儲存位址不同的記憶體裝置412之儲存位址內所儲存之額外經仿真PU程式碼指令集(諸如經仿真PU程式碼指令1至M中之一或多者)編譯以外。作為又一圖解,區塊建立器604以與自儲存於記憶體裝置412中之經仿真PU程式碼指令1至M中之一或多者編譯基本區塊n之相同方式編譯額外基本區塊,除額外基本區塊係自儲存於與記憶體裝置412不同之記憶體裝置中之額外經仿真PU程式碼指令集(諸如經仿真PU程式碼指令1至M中之一或多者)編譯以外。
額外基本區塊係自區塊建立器604發送至區塊調度器302以供執行。舉例而言,區塊調度器302執行額外基本區塊以產生額外虛擬環境之一部分,諸如虛擬環境452 (圖4B)。為了說明,區塊調度器302執行額外基本區塊以產生影像圖框之一部分,該影像圖框包括額外虛擬環境資料,諸如虛擬物件454之位置及定向、虛擬物件454之參數、虛擬環境452中之其他虛擬物件之位置及定向、及額外虛擬環境中之其他虛擬物件之參數。區塊調度器302將影像圖框提供至仿真處理器系統409之GPU以在顯示裝置410之顯示螢幕上顯示(諸如呈現)額外虛擬環境。
應注意,雖然方法850係參考基本區塊n及額外基本區塊來說明的,但方法850同樣適用於其他基本區塊1至(n-1)以及以與產生額外基本區塊相同之方式產生之更多額外基本區塊。
在一個實施例中,經仿真PU程式碼指令1至M之集合儲存於位於舊有機器之外的一或多個記憶體裝置之第一集合中,而額外經仿真PU程式碼指令集儲存於位於額外舊有機器之外的一或多個記憶體裝置之第二集合中。
圖9A係圖解說明舊有機器900之實施例之圖式。舊有機器900之實例係PS1™或PS2™。舊有機器900包括舊有CPU 902、舊有GPU 904、記憶體裝置906、及CD-ROM驅動器908。記憶體裝置906係記憶體裝置412 (圖4A)之實例。舊有CPU 902之實例係32位元CPU,其在一個時脈週期內最多可處理32個位元。此外,舊有GPU 904之實例係32位元GPU,其在一個時脈週期內最多可處理32個位元。記憶體裝置906之實例係2百萬位元組(MB) RAM。
舊有CPU 902及舊有GPU 904耦合至記憶體裝置906,記憶體裝置906耦合至CD-ROM驅動器908。經仿真PU程式碼106儲存於記憶體裝置906內。
舊有CPU 902或舊有GPU 904自記憶體裝置906存取經仿真PU程式碼106並處理經仿真PU程式碼106。CD-ROM驅動器908接收包括經更新指令或損壞程式碼之CD-ROM。經更新指令或損壞程式碼可由舊有CPU 902自CD-ROM傳送至記憶體裝置906。
在一個實施例中,舊有機器900不包括快取。在一個實施例中,舊有機器900包括容量有限之快取,諸如4千位元組(KB)快取。
圖9B係圖解說明經更新機器920之實施例之圖式。經更新機器920之實例係PS4™或PS5™。經更新機器920包括CPU 922、GPU 924、記憶體系統926及快取928,快取928係快取102 (圖1)之實例。遊戲控制台402 (圖4B)係經更新機器920之實例。舉例而言,CPU 922包括兩個四核心模組,且每一模組可在每一時脈週期內處理64個位元。每一核心皆具有32千位元組(KB)之快取。CPU 922之另一實例係64位元CPU,其在一個時脈週期內最多可處理64個位元。舉例而言,GPU 924具有1152個核心,且每一核心可在一個時脈週期內處理64個位元。作為另一實例,舊有GPU 924係64位元GPU,其在一個時脈週期內最多可處理64個位元。
CPU 922及GPU 924耦合至記憶體系統926。作為實例,經仿真PU程式碼106儲存於舊有記憶體系統906內。記憶體系統926之實例包括硬碟機,其提供500十億位元組(GB)或2兆位元組(TB)之儲存。CPU 922、GPU 924、快取928、及記憶體系統926透過匯流排930彼此耦合。
CPU 922或GPU 924在存取記憶體系統926之前首先存取快取928。在判定快取928沒有由CPU 922或GPU 924請求之資料時,CPU 922或GPU 924存取記憶體系統926。
應注意,在一個實施例中,遊戲程式碼gcN不可由CPU 922或GPU 924執行,但可由舊有CPU 902或舊有GPU 904執行。為了說明,CPU 922或GPU 924不能執行遊戲程式碼gcN,而舊有CPU 902或舊有GPU 904能夠執行遊戲程式碼gcN。此外,基本區塊1至n可由CPU 922或GPU 924執行,但不可由舊有CPU 902或舊有GPU 904執行。為了說明,CPU 922或GPU 924可執行基本區塊1至n,而舊有CPU 902或舊有GPU 904不可執行基本區塊1至n。
在一個實施例中,快取928位於CPU 922內。
在一個實施例中,快取928位於GPU 924內。
在一個實施例中,快取928位於CPU 922內,而諸如快取102之另一快取位於GPU 924內。
圖10A係圖解說明由基本區塊編譯器104 (圖1)將多個基本區塊組合成一個基本區塊之系統1000之實施例之圖式。區塊建立器604 (圖6A)接收使用者輸入1,諸如指示虛擬物件454 (圖4B)在具有遊戲標題GN之舊有遊戲N之關卡1之位置P1及定向O1處啟動的信號。在接收到使用者輸入1時,由基本區塊編譯器104基於經仿真PU程式碼指令1產生基本區塊1以服務於使用者輸入1。類似地,區塊建立器604接收使用者輸入2,諸如指示虛擬物件454在舊有遊戲N之關卡2之位置P1及定向O1處啟動的信號。在接收到使用者輸入2時,由基本區塊編譯器104基於經仿真PU程式碼指令2產生基本區塊2以服務於使用者輸入2。
當接收到使用者輸入3 (諸如指示虛擬物件454在舊有遊戲N之關卡3之位置P1及定向O1處啟動的信號)時,區塊編譯器104在服務於使用者輸入3時識別基本區塊1及2。一旦識別如此,則區塊建立器604將基本區塊1與基本區塊2整合(諸如組合)成單個基本區塊,諸如基本區塊1或基本區塊2。整合在快取102中節省儲存空間,並且亦提高存取單個基本區塊而非存取基本區塊1及基本區塊2之效率。
區塊建立器604進一步在快取102之指標中產生值。如本文所用,指標之實例係暫存器。當接收到用於服務於基本區塊1或基本區塊2之使用者輸入時,指標指示區塊調度器302執行單個基本區塊。在區塊調度器302待執行基本區塊1或基本區塊2時,區塊調度器302存取指標並執行單個基本區塊而非基本區塊1或基本區塊2。
圖10B係圖解說明基本區塊1至n中之一或多者之修改之系統1020之實施例之圖式。系統1020包括區塊介面1022、快取102、及區塊調度器302。作為實例,基本區塊n包括航位推算操作n。作為另一實例,基本區塊n包括自顯示裝置410 (圖4B)之顯示螢幕之邊緣彈回十字準線之操作n。區塊介面1022之實例係ASIC、或PLD、或微處理器、或微控制器、或電腦程式、或電腦程式之一部分。區塊介面1022耦合至快取102。
區塊介面1022將對儲存於快取102中之基本區塊1至n中之一或多者之存取提供至使用者。舉例而言,使用者選擇輸入裝置上之一或多個按鈕,諸如鍵盤或滑鼠或小鍵盤,以產生修改輸入1024。作為實例,修改輸入1024包括呈原始程式碼形式的用以修改基本區塊n之一或多個使用者指令。為了說明,修改輸入1024包括用以自基本區塊n移除航位推算操作n之使用者指令。作為另一實例,修改輸入1024包括用以將操作n改變為包括十字準線滑離顯示裝置410之顯示螢幕之邊緣並顯示於顯示裝置410之顯示螢幕之相對邊緣處的指令。相對邊緣與十字準線滑離之邊緣對角相對。
輸入裝置耦合至區塊介面1022。修改輸入1024自輸入裝置發送至區塊介面1022以修改基本區塊n,從而輸出經修改基本區塊n。舉例而言,經修改基本區塊n不包括航位推算操作。作為另一實例,經修改基本區塊n包括將十字準線自邊緣滑離至相對邊緣的操作n。作為又一實例,經修改基本區塊n包括計算執行操作n之時脈週期數目並將該數目儲存於基本區塊n中的操作。為了說明,週期數目儲存於基本區塊1所儲存在的快取102之記憶體位址中。除執行操作n以外,由區塊調度器302 (圖3)執行計算時脈週期數目之操作。區塊調度器302在執行操作n時計算時脈週期數目並將該數目儲存於基本區塊n中。
區塊建立器604進一步在快取102內之指標中產生值,且當接收到用於服務於基本區塊n之使用者輸入時,該指標指示區塊調度器302執行經修改基本區塊n。在區塊調度器302待執行基本區塊n時,區塊調度器302存取該指標並執行經修改基本區塊n而非基本區塊n。
圖10C係圖解說明將基於次常式建立之基本區塊與基於呼叫次常式之經仿真PU程式碼指令產生之基本區塊組合之系統1030之實施例之圖式。區塊建立器604 (圖6A)接收使用者輸入1,諸如指示虛擬物件454 (圖4B)之位置及/或定向中之改變(該改變導致虛擬物件454之破壞)的信號。在接收到使用者輸入1時,由基本區塊編譯器104基於經仿真PU程式碼指令1產生基本區塊1,以服務於使用者輸入1。經仿真PU程式碼指令1包括對次常式1之函數呼叫。因此,在接收到使用者輸入1時,由基本區塊編譯器104基於次常式1產生基本區塊2,次常式1係經仿真PU程式碼指令2之實例。作為實例,基本區塊2包括在位置P1及定向O1處重新產生虛擬物件454之操作2。
當接收到使用者輸入2 (諸如指示導致虛擬物件454之破壞的虛擬物件454 (圖4B)之位置及/或定向中之改變的信號)時,區塊編譯器104在服務於使用者輸入2時識別基本區塊1及基本區塊2。一旦識別如此,則區塊建立器604將基本區塊1與基本區塊2整合(諸如組合)成單個基本區塊,諸如基本區塊1或基本區塊2。舉例而言,在接收到使用者輸入2時,觸發虛擬物件454之破壞及虛擬物件454之重新產生。當組合基本區塊1與基本區塊2時,跳過次常式1。
區塊建立器604進一步產生值並將該值儲存於快取102內之指標中。該值指示區塊調度器302在接收到用於服務於基本區塊1及基本區塊2之使用者輸入時執行單個基本區塊。在區塊調度器302待執行基本區塊1及基本區塊2時,區塊調度器302存取該指標並執行單個基本區塊而非基本區塊1。
圖10D係圖解說明在兩個基本區塊之間插入基本區塊之系統1040之實施例之圖式。系統1040包括區塊介面1022及快取102。在將基本區塊1及基本區塊2儲存於快取102中之後,透過輸入裝置自使用者接收修改輸入1042。作為實例,修改輸入1042係包括界定基本區塊1.1之原始程式碼的信號,其包括快取102內之來源暫存器位址1.1、快取102內之目的地暫存器位址1.1、及待對儲存於來源暫存器位址1.1內、或目的地暫存器位址1.1上、或來源及目的地暫存器位址1.1兩者內之資料執行的操作1.1。操作1.1之實例包括跳越、儲存、載入、分支、及算術運算。
修改輸入1042進一步包括基本區塊1.1之位置及基本區塊1.1與基本區塊1或2之關聯的指示。舉例而言,修改輸入1042包括指示基本區塊1.1待插入快取102中之基本區塊1與基本區塊2之間的信號,及指示基本區塊1.1待鏈接至基本區塊1及/或基本區塊2的信號。為了說明,插入基本區塊1.1以在快取102中包括用於接收基本區塊2之無效標記2的位置,諸如一或多個暫存器位址。作為另一圖解,插入基本區塊1.1以在快取102中包括用於接收執行基本區塊2之週期數目的位置,諸如一或多個暫存器位址。在圖解中,區塊介面1022接收修改輸入1042,自修改輸入1042識別基本區塊1.1待插入基本區塊1與基本區塊2之間,並將基本區塊1.1插入基本區塊1與基本區塊2之間。作為另一圖解,區塊介面1022判定基本區塊1.1包括用於解鎖具有遊戲標題GN之舊有遊戲N中之關卡的操作。該關卡介於在基本區塊1之操作中識別之第一關卡與在基本區塊2之操作中識別之第二關卡之間。第一關卡及第二關卡皆在具有遊戲標題GN之舊有遊戲N中。插入於第一關卡與第二關卡之間的關卡並非遊戲程式碼gcN之一部分,而係舊有遊戲N之新關卡。插入於第一關卡與第二關卡之間的關卡之實例係其中虛擬物件454發射雷射槍而非飛彈的關卡。
此外,區塊介面1022自修改輸入1042識別指標之值並將該值儲存於快取102中。作為實例,指標之值指示基本區塊2之執行緊接基本區塊1.1之執行發生。當區塊調度器302待執行基本區塊2時,區塊調度器302識別指標內指向基本區塊1.1的值,並執行基本區塊1.1,緊接著執行基本區塊2。作為另一實例,指標之值指示基本區塊1.1之執行緊接基本區塊2之執行發生。在區塊調度器302執行基本區塊2之後,區塊調度器302識別指標內指向基本區塊1.1的值,並在執行基本區塊2之後立即執行基本區塊1.1。
圖10E係圖解說明基本區塊之執行次序之切換之系統1050之實施例之圖式。系統1050包括快取102及區塊介面1022。快取102在快取102之指標內包括值,且該值指示在執行基本區塊1之後執行基本區塊2。使用者使用輸入裝置來提供修改輸入1052,其包括指示切換基本區塊1與基本區塊2之執行次序的信號。在接收到該信號時,區塊介面1022改變快取102中該指標之值,以指示在執行基本區塊2之後執行基本區塊1。
圖11A係圖解說明儲存於基本區塊n中之週期數目之實際計數之使用之方法1100之實施例之流程圖。方法1100包括執行基本區塊n之操作662。在方法1100之操作1102中,區塊調度器302 (圖3)對在操作662中執行基本區塊n的週期數目進行計數以產生第一計數。區塊調度器302在方法1100之操作1104中將第一計數儲存於基本區塊n中。舉例而言,區塊調度器302將實際計數寫入具有快取102內分配至基本區塊n之暫存器位址中之一者之暫存器。
在方法1100之操作1106中,區塊建立器604 (圖6A)判定是否待再次執行相同之基本區塊n。舉例而言,區塊建立器604判定是否自用戶端裝置接收到用於服務於相同基本區塊n之使用者輸入。區塊建立器604繼續判定是否接收到用於服務於相同基本區塊n之使用者輸入,直至接收到該使用者輸入。
圖11B係圖11A之方法1100之流程圖之繼續。在判定再次接收到用於服務於基本區塊n之使用者輸入時,由區塊調度器304再次執行基本區塊n。在方法1100之操作1108中,區塊調度器304對在操作1106中執行基本區塊n的週期數目進行計數,以計算第二計數。
在方法1100之操作1108中,區塊調度器304判定第二計數是否在自第一計數起之預定限制內。預定限制儲存於快取102中。回應於判定第二計數不在第一計數之預定限制內,在方法1100之操作1110中,區塊調度器304產生通知。舉例而言,當區塊調度器304位於遊戲控制台402 (圖4A)內時,遊戲控制台402之GPU 924 (圖9B)在用戶端裝置之顯示裝置410 (圖4A)上顯示通知之表示並將通知透過電腦網路408發送至伺服器系統404,以通知伺服器系統404。作為另一實例,當區塊調度器304位於伺服器系統404 (圖4B)內時,區塊調度器304產生通知,且伺服器系統404之GPU在耦合至伺服器系統404之顯示裝置上顯示通知之表示。另一方面,判定第二計數在自第一計數之預定限制內,在方法1100之操作1112中,區塊調度器304不會觸發通知。
圖12係圖解說明基本區塊1至n自第一用戶端裝置傳送至第二用戶端裝置之系統1200之實施例之圖式。系統1200包括遊戲控制台402、電腦網路408、伺服器系統404、遊戲控制台1202、及顯示裝置1204。遊戲控制台1202類似於遊戲控制台402。舉例而言,遊戲控制台402及1202兩者皆係PS4s™,或遊戲控制台402及1202兩者皆係PS5s™,或遊戲控制台402係PS4™而遊戲控制台1202係PS5™,或遊戲控制台402係PS5™而遊戲控制台1202係PS4™。作為另一實例,遊戲控制台1202並非舊有機器。此外,顯示裝置1204類似於圖4A之顯示裝置410。舉例而言,顯示裝置410係HMD或電視或智慧電視或電腦監視器。
遊戲控制台402包括網路介面控制器1213。遊戲控制台1202包括仿真處理器系統1206、快取1208、及網路介面控制器1210。仿真處理器系統1206具有與經仿真處理器系統409相同之結構及相同之功能性。此外,快取1208具有與快取102相同之結構及相同之功能性。仿真處理器系統1206、快取1208、及網路介面控制器1210透過匯流排1218彼此耦合。
一旦基本區塊1至n儲存於快取102中,則經仿真處理器系統409之基本區塊編譯器104將基本區塊1至n發送至網路介面控制器1213。網路介面控制器1213將網路通信協定應用於基本區塊1至n以產生嵌入基本區塊1至n之一或多個封包,並透過電腦網路408將一或多個封包發送至伺服器系統404。在接收到一或多個封包時,伺服器系統404之網路介面控制器將網路通信協定應用於一或多個封包,以提取用於具有遊戲標題GN之舊有遊戲N之基本區塊1至n,並在伺服器系統404之一或多個記憶體裝置中儲存基本區塊1至n。
使用者2使用手持控制器1212以選擇手持控制器1212上之一或多個按鈕以登入由伺服器系統404分配至使用者2之其使用者帳戶。當使用者ID2 (諸如使用者名稱)及密碼由伺服器系統404鑑別時,使用者2登入其使用者帳戶。一旦使用者2登入其使用者帳戶,則使用者2可存取多個遊戲標題,諸如遊戲標題G1、遊戲標題Ga、遊戲標題G2,以此類推,直至遊戲標題GN。
在登入使用者帳戶2時,使用者2使用手持控制器1212以選擇手持控制器1212上之一或多個按鈕以產生使用者輸入1214。在選擇具有顯示於顯示裝置1204上之標題GN之舊有遊戲N時產生使用者輸入1214。當產生使用者輸入1214時,快取1208不包括基本區塊1至n。舉例而言,在接收到使用者輸入1214時,仿真處理器系統1206之基本區塊編譯器檢查快取102以判定快取102是否包括用於服務於使用者輸入1214的遊戲程式碼GCN之基本區塊1至n中之一或多者。在判定快取102不包括用於服務於使用者輸入1214的基本區塊1至n中之一或多者時,仿真處理器系統1206產生對基本區塊1至n中之一或多者之請求1220並將請求1220發送至網路介面控制器1210。
在接收到請求1220時,網路介面控制器1210藉由將網路通信協定應用於請求1220來產生嵌入請求1220之一或多個封包,並透過電腦網路408將一或多個封包發送至伺服器系統404。伺服器系統404之網路介面控制器接收一或多個封包並應用網路通信協定以自一或多個封包提取請求1220。伺服器系統404之處理器分析請求1220以識別基本區塊1至n經請求。
回應於判定基本區塊1至n經請求,伺服器系統404存取儲存於伺服器系統404之一或多個記憶體裝置中之基本區塊1至n並將基本區塊1至n提供至伺服器系統404之網路介面控制器。伺服器系統404之網路介面控制器應用網路通信協定以產生嵌入基本區塊1至n之一或多個封包,並透過電腦網路408將一或多個封包發送至遊戲控制台1202。
遊戲控制台1202之網路介面控制器1210接收具有基本區塊1至n之一或多個封包,應用網路通信協定以自一或多個封包提取基本區塊1至n,並將基本區塊1至n發送至經仿真處理器系統1206。經仿真處理器系統1206之基本區塊編譯器將基本區塊1至n儲存於快取1208中。
當在玩具有遊戲標題GN之遊戲期間自手持控制器1212接收到使用者輸入1224時,經仿真處理器系統1206之基本區塊編譯器識別用於服務於使用者輸入1224的快取1208內之基本區塊1至n中之一或多者。經仿真處理器系統1206之區塊調度器執行用於服務於使用者輸入1224的基本區塊1至n中之一或多者。以此方式,一旦基本區塊1至n由經仿真處理器系統409編譯,則基本區塊1至n無需由經仿真處理器系統1206編譯,而係可由經仿真處理器系統1206自伺服器系統404存取。
圖13係圖解說明自一或多個小遊戲(諸如挑戰)產生元遊戲之系統1300之實施例之圖式,在執行基本區塊1至n之多個集合時玩該小遊戲。系統1300包括伺服器系統404、電腦網路408、遊戲控制台402、顯示裝置410、遊戲控制台1202、及顯示裝置1204。伺服器系統404透過電腦網路408耦合至遊戲控制台402及1202。應注意,遊戲控制台402、顯示裝置410、及手持控制器414之組合在本文稱為用戶端裝置1301。應進一步注意,遊戲控制台1202、顯示裝置1204、及手持控制器1212之組合在本文中稱為用戶端裝置1303。
伺服器系統404包括快取102、記錄器1302、網路介面控制器1213、記憶體裝置1304、及記憶體裝置1306。伺服器系統404進一步包括CPU 1308、GPU 1310、及記憶體裝置412。CPU 1308、GPU 1310、記憶體裝置412、快取102、記憶體裝置1306、記錄器1302、網路介面控制器1213、及記憶體裝置1304透過匯流排1312彼此耦合。作為實例,CPU 1308及GPU 1310係仿真處理器系統409 (圖4B)之組件。舉例而言,CPU 1308執行基本區塊編譯器104及區塊調度器302 (圖3)。CPU 922 (圖9)係CPU 1308之實例。GPU 924 (圖9)係GPU 1310之實例。
記錄器1302之實例包括CPU、PLD、ASIC、控制器、電腦程式之一部分、或電腦程式。為了說明,記錄器1302係由CPU 1308執行之電腦程式。
記憶體裝置1306包括使用者帳戶資料庫1314,其儲存多個使用者帳戶,諸如使用者帳戶1及使用者帳戶2。使用者帳戶1由CPU 1308分配至使用者1,而使用者帳戶2由CPU 1308分配至使用者2。此外,記憶體裝置1304包括記錄資料庫1316,其包括多個記錄,諸如記錄1及記錄2。
記錄1係在由使用者1透過使用者帳戶1在玩舊有遊戲N期間進行之挑戰1之記錄,而記錄2係在由使用者1透過使用者帳戶1在玩舊有遊戲N期間進行之挑戰2之記錄。舉例而言,在舊有遊戲N之遊戲關卡1期間,使用者1暫停舊有遊戲N並選擇手持控制器114上之按鈕以產生使用者輸入。在實例中,使用者輸入係由手持控制器414產生並透過遊戲控制台402 (圖13)及電腦網路408 (圖13)發送至伺服器系統404的信號。此外,在實例中,伺服器系統404基於使用者輸入判定使用者1希望暫停舊有遊戲N,並暫停舊有遊戲N。為了說明,CPU 1308及GPU 1310停止執行基本區塊1至n中之一或多者以停止產生用於透過電腦網路408發送至遊戲控制台402之舊有遊戲N之一或多個影像圖框。在圖解中,CPU 1308產生識別基本區塊1至N中之一者(在該基本區塊處暫停玩舊有遊戲N)的值,並將該值儲存於快取102中之指標中。
繼續該實例,使用者1在暫停舊有遊戲N之後開始玩挑戰1。在實例中,在接收到指示使用者1希望透過使用者帳戶1玩挑戰1的使用者輸入時,CPU 1308自快取102存取指標以識別一或多個基本區塊1至n中用以完成執行的基本區塊,並繼續執行一或多個基本區塊1至n。當使用者1選擇手持控制器414 (圖13)上之一或多個按鈕時,作為信號產生指示使用者1希望玩挑戰1的使用者輸入。進一步地,在實例中,在使用者1開始玩挑戰1時,記錄器1302開始記錄由使用者1透過使用者帳戶1玩挑戰1,以產生記錄1,並將記錄1儲存於記錄資料庫1316中。類似地,在實例中,在舊有遊戲N之遊戲關卡Z期間,使用者1暫停舊有遊戲N並選擇手持控制器114上之一或多個按鈕以選擇挑戰2,其中Z為正整數。在使用者1開始玩挑戰2時,記錄器1302開始記錄玩挑戰2,以產生記錄2,並將記錄2儲存於記錄資料庫1316中。
舉例而言,每一記錄都包括遊戲狀態。為了說明,記錄1包括在舊有遊戲N之挑戰1期間顯示之一或多個虛擬物件之遊戲狀態,且記錄2包括在舊有遊戲N之挑戰2期間顯示之一或多個虛擬物件之遊戲狀態。遊戲狀態之實例包括虛擬物件之位置及定向。作為另一實例,每一記錄亦包括虛擬物件之呈現因子,諸如顏色、或強度、或紋理、或形狀、或其組合。為了說明,記錄1包括在執行基本區塊1至n中之一或多者時在挑戰1期間顯示之虛擬物件之呈現因子。在圖解中,記錄2包括在執行基本區塊1至n中之一或多者時在挑戰2期間顯示之虛擬物件之呈現因子。
作為另一實例,每一記錄包括使用者1玩挑戰之視訊及玩該挑戰之使用者1之視訊。舉例而言,記錄1包括在玩挑戰1期間虛擬物件之移動之視訊及在挑戰1期間描述移動中之一或多者的使用者1之視訊。此外,在實例中,記錄2包括在玩挑戰2期間虛擬物件之移動之視訊及在挑戰2期間描述移動中之一或多者的使用者1之視訊。
作為又一實例,每一記錄包括使用者1玩挑戰之視訊,而不包括玩該挑戰之使用者1之視訊。舉例而言,記錄1包括在玩挑戰1期間虛擬物件之移動之視訊且不包括在挑戰1期間描述移動中之一或多者的使用者1之視訊。此外,在實例中,記錄2包括在玩挑戰2期間虛擬物件之移動之視訊且不包括在挑戰2期間描述移動中之一或多者的使用者1之視訊。
在一個實施例中,除CPU 1308以外,伺服器系統404還包括多個CPU,且每一CPU用伺服器系統404之分離伺服器(諸如伺服器刀鋒或經更新機器)實施。類似地,除GPU 1310以外,伺服器系統404還包括多個GPU,且每一GPU用伺服器系統404之分離伺服器(諸如伺服器刀鋒或經更新機器)實施。
在一實施例中,使用者帳戶資料庫1314及記錄資料庫1316儲存於同一記憶體裝置中。
在一個實施例中,代替挑戰2係舊有遊戲N之一部分,挑戰2係另一舊有遊戲之一部分,諸如不同於舊有遊戲N之舊有遊戲(N-1)。
在一實施例中,儲存於快取102中之基本區塊1至n分散於伺服器系統404之多個快取中。
圖14A係圖解說明挑戰1之實例之顯示裝置410之實施例之圖式。在登入使用者帳戶1之後,使用者1玩舊有遊戲N之遊戲關卡1。在玩舊有遊戲N之遊戲關卡1期間,使用者1選擇手持控制器414上之一或多個按鈕以產生使用者輸入,以暫停舊有遊戲N。一旦舊有遊戲N經暫停,則使用者1進一步選擇手持控制器414上之一或多個按鈕,以產生用於玩挑戰1之另一使用者輸入。挑戰1包括特技,諸如酷動作,其中虛擬物件454自上向下翻轉接著自下向上翻轉。舉例而言,在玩挑戰1期間,虛擬物件454在時間t1處處於位置P1及定向O1。使用者1控制手持控制器414以在時間t2處將虛擬物件454自位置P1及定向O1移動至位置P2及定向O2。此外,使用者1控制手持控制器414以在時間t3處將虛擬物件454自位置P2及定向O2移動至位置P3及定向O3。在時間t3處,虛擬物件454自上向下翻轉。此外,使用者1控制手持控制器414以在時間t4處將虛擬物件454自位置P3及定向O3移動至位置P4及定向O4。使用者1進一步控制手持控制器414以在時間t5處將虛擬物件454自位置P4及定向O4移動至位置P5及定向O5。在時間t5處,虛擬物件454自下向上翻轉。
應注意,虛擬物件454繞虛擬金字塔411移動。舉例而言,虛擬物件454自位置P1透過位置P2至P4移動至位置P5以繞虛擬金字塔411轉圈。
圖14B係圖解說明在舊有遊戲N之遊戲關卡1之基本區塊1至n中之任何兩者之間插入之鉤之圖式。作為實例,本文使用之鉤係一或多個鉤區塊,其由使用者1之程式員插入,以改變舊有遊戲N之功能性。為了說明,鉤插入於儲存於快取102中之基本區塊1至n中之任何兩個連續區塊之間。因此,鉤儲存於快取102中。作為另一圖解,鉤區塊之結構與基本區塊之結構相同。為了進一步說明,鉤包括鉤區塊,該鉤區塊包括快取102中來源暫存器之來源暫存器位址、快取102中目的地暫存器之目的地暫存器位址、及待對儲存於來源暫存器位址處之資料、或儲存於目的地暫存器位址處之資料、或儲存於來源暫存器位址及目的地暫存器位址兩者處之資料執行的操作。作為另一圖解,鉤包括鉤區塊,該鉤區塊包括快取102中一或多個來源暫存器之一或多個來源暫存器位址、快取102中一或多個目的地暫存器之一或多個目的地暫存器位址、及待對儲存於一或多個來源暫存器位址處之資料、或儲存於一或多個目的地暫存器位址處之資料、或儲存於一或多個來源暫存器位址處及一或多個目的地暫存器位址處之資料執行的一或多個操作。作為另一圖解,鉤由程式員或由使用者1透過耦合至快取102之輸入裝置插入。
在基本區塊11之後插入暫停遊戲鉤1420。基本區塊11在舊有遊戲N之遊戲關卡1期間執行。基本區塊11由區塊調度器302 (圖3)執行以將虛擬物件454自位置P10及定向O10移動至位置P11及定向O11。暫停遊戲鉤1420由程式員透過輸入裝置插入快取102中,以允許使用者1在執行基本區塊11之後暫停舊有遊戲N。暫停遊戲鉤1420插入快取102中位於一或多個記憶體位址(基本區塊11儲存於快取102中該一或多個記憶體位址處)之後。舉例而言,在基本區塊11中插入指向暫停遊戲鉤1420之值,以使得舊有遊戲N在舊有遊戲N之遊戲關卡1期間能夠自使用者1接收用於暫停舊有遊戲N之請求。暫停遊戲鉤1420由區塊調度器302執行。
此外,由程式員透過輸入裝置將建立挑戰鉤1422插入快取102中,以自舊有遊戲N之基本區塊1至n中之一或多者(諸如基本區塊1至5)建立挑戰1。舉例而言,將指向建立挑戰鉤1422之值插入暫停遊戲鉤1420中以使得舊有遊戲N能夠自使用者1接收用於發起挑戰1之請求。當接收到用於發起挑戰1之請求時,作為挑戰1之一部分包括在內之基本區塊1至5由區塊調度器302基於在挑戰1期間接收到之使用者輸入來執行。為了說明,當在挑戰1期間接收到第一使用者輸入時,執行用以服務於第一使用者輸入之基本區塊1,且當在挑戰1期間接收到第二使用者輸入時,執行用以服務於第二使用者輸入之基本區塊2。作為另一圖解,當在挑戰1期間接收到第一使用者輸入時,執行基本區塊1及2以服務於第一使用者輸入,且當在挑戰1期間接收到第二使用者輸入時,執行基本區塊3及5以服務於第二使用者輸入。作為又一圖解,當在挑戰1期間接收到第一使用者輸入時,執行基本區塊2以將虛擬物件454自位置P1及定向O1移動至位置P2及定向O2。此外,在圖解中,當在挑戰1期間接收到第二使用者輸入時,執行基本區塊3以將虛擬物件454自位置P2及定向O2移動至位置P3及定向O3。此外,在圖解中,當在挑戰1期間接收到第三使用者輸入時,執行基本區塊4以將虛擬物件454自位置P3及定向O3移動至位置P4及定向O4。在圖解中,當在挑戰1期間接收到第四使用者輸入時,執行基本區塊5以將虛擬物件454自位置P4及定向O4移動至位置P5及定向O5。建立挑戰鉤1422由區塊調度器302執行。
此外,一旦暫停遊戲鉤1420經執行,則由程式員透過輸入裝置將開始記錄鉤1424插入快取102中以記錄挑戰1。舉例而言,指向開始記錄鉤1424之值插入建立挑戰鉤1422中,以在挑戰1之基本區塊1至n中之一或多者之執行由區塊調度器302啟動時開始記錄挑戰1。挑戰1之記錄作為記錄1儲存於記憶體裝置1304 (圖13)中。當執行開始記錄鉤1424時,CPU 1308發送指令至記錄器1302以開始記錄。在接收指令時,記錄器1302記錄關於由使用者1玩挑戰1之訊框/圖框(諸如影像圖框及音訊訊框)並將記錄1儲存於記憶體裝置1304中。開始記錄鉤1424由區塊調度器302執行。
此外,由程式員透過輸入裝置將完成挑戰鉤1426插入快取102中以結束自舊有遊戲N之基本區塊1至n中之一或多者產生之挑戰1。舉例而言,指向完成挑戰鉤1426之值插入基本區塊1至5中之每一者中以在執行基本區塊時結束挑戰1。為了說明,一旦挑戰1之全部基本區塊1至5經執行以移動虛擬物件454,則執行完成挑戰鉤1426。作為另一實例,CPU 1308 (圖13)包括時脈源,諸如時脈振盪器或計時器,以計數自挑戰1之基本區塊1至n中之一或多者開始執行以來之時間量。CPU 1309判定計數是否超過預定臨限值。在判定計數超過預定臨限值時,CPU 1308結束挑戰1之基本區塊1至n中之一或多者之執行。另一方面,在判定計數不超過預定臨限值時,CPU 1308不結束挑戰1之基本區塊1至n中之一或多者之執行。由區塊調度器302執行完成挑戰鉤1426。
此外,由程式員透過輸入裝置將使用者結束挑戰鉤1428插入快取102中,以使得使用者1能夠在玩自舊有遊戲N之基本區塊1至n中之一或多者產生之挑戰1期間之任何時間處結束挑戰1。舉例而言,將使用者結束挑戰鉤1428插入基本區塊1至n中之一或多者中之每一者中。為了說明,指向使用者結束挑戰鉤1428之值插入基本區塊1至5中之每一者中,以允許使用者1透過使用者帳戶1在挑戰1之基本區塊1至5中之一或多者之執行期間之任何時間處結束挑戰1。由區塊調度器302執行使用者結束挑戰鉤1428。
此外,當挑戰1完成或當使用者1結束挑戰1時,由程式員透過輸入裝置將結束記錄鉤1430插入快取102中以結束挑戰1之記錄。作為實例,指向結束記錄鉤1430之值插入完成挑戰鉤1426中以在執行完成挑戰鉤1426時結束挑戰1之記錄。作為另一實例,指向結束記錄鉤1430之值插入使用者結束挑戰鉤1428中,以在執行使用者結束挑戰鉤1428時結束挑戰1之記錄。由區塊調度器302執行結束記錄鉤1430。當執行結束記錄鉤1430時,CPU 1308發送指令至記錄器1302以停止記錄挑戰1。
在一個實施例中,區塊調度器302係CPU 1308、或GPU 1310、或CPU 1308及GPU 1310兩者之一部分。
圖14C係圖解說明挑戰2之實例之顯示裝置410之實施例之圖式。在登入使用者帳戶1之後,使用者1玩舊有遊戲N之遊戲關卡Z。在玩舊有遊戲N之遊戲關卡Z期間,使用者1選擇手持控制器414上之一或多個按鈕以產生使用者輸入以暫停舊有遊戲N。一旦舊有遊戲N經暫停,則使用者1進一步選擇手持控制器414上之一或多個按鈕以產生用於玩挑戰2的另一使用者輸入。挑戰2包括特技,諸如酷動作,其中虛擬物件454沿鋸齒形路徑移動。舉例而言,在玩挑戰1期間,虛擬物件454在時間ta處處於位置P101及定向O101。使用者1控制手持控制器414以在時間tb處將虛擬物件454自位置P101及定向O101移動至位置P102及定向O102。此外,使用者1控制手持控制器414以在時間tc處將虛擬物件454自位置P102及定向O102移動至位置P103及定向O103。此外,使用者1控制手持控制器414以在時間td處將虛擬物件454自位置P103及定向O103移動至位置P104及定向O104。使用者1進一步控制手持控制器414以在時間te處將虛擬物件454自位置P104及定向O104移動至位置P105及定向O105。
圖14D係圖解說明在舊有遊戲N之遊戲關卡Z之基本區塊1至n中之任何兩者之間插入之鉤之圖式。暫停遊戲鉤1450插入在基本區塊111之後。基本區塊111在舊有遊戲N之遊戲關卡Z期間執行。基本區塊111由區塊調度器302 (圖3)執行以將虛擬物件454自位置P110及定向O110移動至位置P111及定向O111。暫停遊戲鉤1450由程式員透過輸入裝置插入快取102中,以允許使用者1在執行基本區塊111之後暫停舊有遊戲N。暫停遊戲鉤1450插入快取102中位於一或多個記憶體位址(基本區塊111儲存於快取102中該一或多個記憶體位址處)之後。舉例而言,指向暫停遊戲鉤1450之值插入基本區塊111中,以使得舊有遊戲N能夠在舊有遊戲N之遊戲關卡Z期間自使用者1接收用於暫停舊有遊戲N之請求。由區塊調度器302執行暫停遊戲鉤1450。
此外,由程式員透過輸入裝置將建立挑戰鉤1452插入快取102中,以自舊有遊戲N之基本區塊1至n中之一或多者(諸如基本區塊101至105)建立挑戰2。舉例而言,指向建立挑戰鉤1452之值插入暫停遊戲鉤1450中以使得舊有遊戲N能夠自使用者1接收用於發起挑戰2之請求。當接收到用於發起挑戰2之請求時,作為挑戰2之一部分包括在內之基本區塊101至105由區塊調度器302基於在挑戰2期間接收到之使用者輸入執行。為了說明,當在挑戰2期間接收到第一使用者輸入時,執行基本區塊101以服務於第一使用者輸入,且當在挑戰2期間接收到第二使用者輸入時,執行基本區塊102以服務於第二個使用者輸入。作為另一圖解,當在挑戰2期間接收到第一使用者輸入時,執行基本區塊101及102以服務於第一使用者輸入,且當在挑戰2期間接收到第二使用者輸入時,執行基本區塊103及105以服務於第二使用者輸入。作為又一圖解,當在挑戰2期間接收到第一使用者輸入時,執行基本區塊102以將虛擬物件454自位置P101及定向O101移動至位置P102及定向O102。此外,在圖解中,當在挑戰2期間接收到第二使用者輸入時,執行基本區塊103以將虛擬物件454自位置P102及定向O102移動至位置P103及定向O103。此外,在圖解中,當在挑戰2期間接收到第三使用者輸入時,執行基本區塊104以將虛擬物件454自位置P103及定向O103移動至位置P104及定向O104。在圖解中,當在挑戰2期間接收到第四使用者輸入時,執行基本區塊102以將虛擬物件454自位置P104及定向O104移動至位置P105及定向O105。由區塊調度器302執行建立挑戰鉤1452。
此外,一旦暫停遊戲鉤1450經執行,則由程式員透過輸入裝置將開始記錄鉤1454插入快取102中以記錄挑戰2。舉例而言,指向開始記錄鉤1454之值插入建立挑戰鉤1452中,以在挑戰2之基本區塊1至n中之一或多者之執行由區塊調度器302啟動時開始記錄挑戰2。挑戰2之記錄作為記錄2儲存於記憶體裝置1304 (圖13)中。當執行開始記錄鉤1454時,CPU 1308發送指令至記錄器1302以開始記錄。在接收到指令時,記錄器1302記錄關於由使用者1玩挑戰2之訊框/圖框(諸如影像圖框及音訊訊框)並將記錄2儲存於記憶體裝置1304中。由區塊調度器302執行開始記錄鉤1454。
此外,由程式員透過輸入裝置將完成挑戰鉤1456插入快取102中以結束自舊有遊戲N之基本區塊1至n中之一或多者產生之挑戰2。舉例而言,指向完成挑戰鉤1456之值插入基本區塊101至105中之每一者中,以在執行基本區塊時結束挑戰2。為了說明,一旦在挑戰2期間執行用以移動虛擬物件454之基本區塊101至105,則執行完成挑戰鉤1456。作為另一實例,CPU 1308 (圖13)包括時脈源,諸如時脈振盪器或計時器,以計數自挑戰2之基本區塊1至n中之一或多者開始執行以來之時間量。CPU 1309判定計數是否超過預設臨限值。在判定計數超過預設臨限值時,CPU 1308結束挑戰2之基本區塊1至n中之一或多者之執行。另一方面,在判定計數不超過預設臨限值時,CPU 1308不結束挑戰2之基本區塊1至n中之一或多者之執行。由區塊調度器302執行完成挑戰鉤1456。
此外,由程式員透過輸入裝置將使用者結束挑戰鉤1458插入快取102中,以使得使用者1能夠結束自舊有遊戲N之基本區塊1至n中之一或多者產生之挑戰2。舉例而言,使用者結束挑戰鉤1458插入基本區塊1至n中之一或多者中之每一者中。為了說明,指向使用者結束挑戰鉤1458之值插入基本區塊101至105中之每一者中,以允許使用者1透過使用者帳戶1在挑戰2之基本區塊1至5中之一或多者之執行期間之任何時間處結束挑戰2。由區塊調度器302執行使用者結束挑戰鉤1458。
此外,當挑戰2完成或使用者結束挑戰2時,由程式員透過輸入裝置將結束記錄鉤1460插入快取102中以結束挑戰2之記錄。作為實例,指向結束記錄鉤1460之值插入完成挑戰鉤1456中以在執行完成挑戰鉤1456時結束挑戰2之記錄。作為另一實例,指向結束記錄鉤1460之值插入使用者結束挑戰鉤1458中,以在執行使用者結束挑戰鉤1458時結束挑戰2之記錄。由區塊調度器302執行結束記錄鉤1460。當執行結束記錄鉤1460時,CPU 1308發送指令至記錄器1302以停止記錄挑戰2。
在一個實施例中,代替遊戲關卡Z,基本區塊101至105屬於基本區塊1至5所屬之相同遊戲關卡1。舉例而言,基本區塊101至105在與執行基本區塊1至5之遊戲關卡相同之遊戲關卡內執行。
在一實施例中,代替相同舊有遊戲N之遊戲關卡Z,基本區塊101至105屬於不同之舊有遊戲,諸如舊有遊戲(N-1),而非基本區塊1至5所屬之舊有遊戲N。舉例而言,在玩舊有遊戲(N-1)期間執行基本區塊101至105,且在玩舊有遊戲N期間執行基本區塊1至5。
圖15A係系統1500之實施例之圖式。系統1500包括記憶體裝置1304、快取102、及區塊調度器302。程式員將元遊戲請求鉤1506添加至快取102。舉例而言,在基本區塊1至5中之一或多者及基本區塊101至105中之一或多者在透過使用者帳戶1玩挑戰1及2期間由區塊調度器302執行之後,區塊調度器302執行元遊戲請求鉤1506以搜索透過使用者帳戶1請求基於挑戰1及2產生元遊戲的使用者輸入。在實例中,一旦透過使用者帳戶1接收到請求產生元遊戲之使用者輸入,則區塊調度器302執行元遊戲請求鉤1506以自挑戰1及2之記錄1及2識別在由使用者1玩挑戰1及2期間執行之基本區塊1至5及101至105。為了說明,在使用者結束挑戰鉤1428 (圖14B)透過使用者帳戶1接收到結束挑戰1之使用者輸入之情況下,基本區塊1至5中之一或多者而非全部在執行挑戰1期間被執行。在圖解中,區塊調度器302執行元遊戲請求鉤1506以識別基本區塊1至5中之一或多者而非全部並包括基本區塊1至5中之一或多者而非全部以產生元遊戲。作為另一圖解,在由調度器302執行完成挑戰鉤1426 (圖14B)以結束挑戰1之情況下,全部基本區塊1至5包括於元遊戲內。在圖解中,區塊調度器302執行元遊戲請求鉤1506以在另一玩元遊戲期間識別全部基本區塊1至5並包括全部基本區塊1至5。
作為又一圖解,在使用者結束挑戰鉤1458 (圖14D)透過使用者帳戶1接收到結束挑戰2之使用者輸入之情況下,基本區塊101至105中之一或多者而非全部在執行挑戰2期間被執行。在圖解中,區塊調度器302執行元遊戲請求鉤1506以識別基本區塊101至105中之一或多者而非全部並包括基本區塊101至105中之一或多者而非全部以產生元遊戲。作為又一圖解,在由調度器302執行完成挑戰鉤1456 (圖14D)以結束挑戰2之情況下,全部基本區塊101至105包括於元遊戲內。在圖解中,區塊調度器302執行元遊戲請求鉤1506以在另一玩元遊戲期間識別全部基本區塊101至105並包括全部基本區塊101至105。
此外,程式員將序列請求鉤1508添加至快取102。舉例而言,區塊調度器302執行序列請求鉤1508以搜索透過使用者帳戶1請求基本區塊1至5及基本區塊101至105之執行序列的使用者輸入。一旦透過使用者帳戶1接收到使用者輸入,則區塊調度器302執行序列請求鉤1508以裝訂基本區塊1至5中之一或多者及基本區塊101至105中之一或多者(諸如產生其執行次序)以用於元遊戲。為了說明,基本區塊1至5中之一或多者在由使用者2透過使用者帳戶2玩元遊戲期間在基本區塊101至105中之一或多者之前執行。當基本區塊1至5中之一或多者在基本區塊101至105中之一或多者之前執行時,促進在玩挑戰2之前玩挑戰1。在圖解中,在基本區塊1至5中之一或多者之執行完成之前,不執行基本區塊101至105中之一或多者。作為另一圖解,基本區塊101至105中之一或多者在由使用者2透過使用者帳戶2玩元遊戲期間在基本區塊1至5中之一或多者之前執行。當在執行基本區塊1至5中之一或多者之前執行基本區塊101至105中之一或多者時,促進在玩挑戰1之前玩挑戰2。在圖解中,在基本區塊101至105中之一或多者之執行完成之前,不執行基本區塊1至5中之一或多者。
此外,程式員將領先計分板請求鉤1510添加至快取102。舉例而言,區塊調度器302執行領先計分板請求鉤1510以搜索透過使用者帳戶1請求將領先計分板添加至元遊戲的使用者輸入。在透過使用者帳戶1接收到使用者輸入時,區塊調度器302執行領先計分板請求鉤1510以將領先計分板添加至元遊戲。下文進一步描述領先計分板之使用。
此外,程式員將獎盃鉤1512添加至元遊戲。舉例而言,區塊調度器302在玩元遊戲期間執行獎盃鉤1512。下文描述獎盃鉤1512之進一步細節。
此外,程式員再次添加重影請求鉤1514。區塊調度器302執行重影請求鉤1514以產生用於玩挑戰1及2之相應一或多個虛擬物件(諸如虛擬物件454)之一或多個重影。重影請求鉤1514進一步包括將重影附加至相應虛擬物件之方式。舉例而言,重影請求鉤1514指定重影是否待重疊於相應虛擬物件上或待呈現於相應虛擬物件下方。在實例中,重影表示相應虛擬物件並待以與相應虛擬物件不同之方式顯示。為了說明,重影待顯示為與相應虛擬物件相比更透明。作為另一實例,重影請求鉤1514指示第一重影待附加至挑戰1之第一虛擬物件且第二重影待附加至挑戰2之第二虛擬物件。第一重影具有與第一虛擬物件相似或相同之形狀,且第二重影具有與第二虛擬物件相似或相同之形狀。下文提供重影請求鉤1514之進一步細節。
在由使用者2透過使用者帳戶2玩元遊戲期間,區塊調度器302依序(諸如在執行序列請求鉤1508時透過使用者帳戶1自使用者1接收之次序)執行基本區塊1至5中之一或多者及基本區塊101至105中之一或多者。舉例而言,當透過使用者帳戶1自使用者1接收到之使用者輸入指示待在執行基本區塊101至105之後執行基本區塊1至5時,區塊調度器302首先執行基本區塊101至105且接著執行基本區塊1至5。在實例中,根據次序在玩挑戰1之前玩挑戰2。
在一個實施例中,序列請求鉤1508、領先計分板請求鉤1510、獎盃鉤1512、及重影請求鉤1514中之一或多者係選用的。舉例而言,快取102包括領先計分板請求鉤1510,但不包括序列請求鉤1508、獎盃鉤1512、及重影請求鉤1514。
在一實施例中,元遊戲請求鉤1506、序列請求鉤1508、或領先計分板請求鉤1510、獎盃鉤1512、及重影請求鉤1514中之每一者由區塊調度器302執行。
在一個實施例中,代替重影請求鉤1514或除重影請求鉤1514以外,由程式員將玩遊戲鉤包括於快取102中。由區塊調度器302執行玩遊戲鉤。下文提供玩遊戲鉤之進一步細節。
圖15B係圖解說明由使用者1透過使用者帳戶1選擇挑戰1及2之執行次序之顯示裝置410之圖式。使用者1選擇手持控制器414上之一或多個按鈕以產生使用者輸入1550,其係包括用以產生元遊戲之請求之信號。該信號由手持控制器414產生。在透過使用者帳戶1接收到使用者輸入1550時,區塊調度器302 (圖3)執行元遊戲請求鉤1506 (圖15A)以識別基本區塊1至5中之一或多者及基本區塊101至105中之一或多者以供產生元遊戲。此外,在識別基本區塊1至5中之一或多者及基本區塊101至105中之一或多者之後,區塊調度器302執行序列請求鉤1508 (圖15A)以產生影像1552之影像資料,並透過使用者帳戶1及電腦網路408 (圖13)發送影像資料以在顯示裝置410上顯示影像1552。影像1552包括用於選擇挑戰1及2之執行次序之通知。此外,影像1552包括可由使用者1透過選擇手持控制器414上之按鈕來選擇之圖形按鈕1554。影像1552進一步包括可由使用者1透過選擇手持控制器414上之按鈕來選擇之圖形按鈕1556。
在透過電腦網路408接收到指示圖形按鈕1554之選擇的使用者輸入時,區塊調度器302執行序列請求鉤1508以產生第一序列,其中挑戰1之區塊1至5中之一或多者將在執行挑戰2之區塊101至105中之一或多者之前被執行。另一方面,在透過電腦網路408接收到指示圖形按鈕1556之選擇的使用者輸入時,區塊調度器302執行序列請求鉤1508以產生第二序列,其中挑戰2之區塊101至105中之一或多者將在執行挑戰1之區塊1至5中之一或多者之前被執行。
圖16A係圖解說明產生元遊戲之方法1600之實施例之流程圖。在方法1600之操作1602中,判定在舊有遊戲N之第一部分之執行期間是否接收到用於第一挑戰(諸如挑戰1)之使用者輸入。舉例而言,區塊調度器302判定是否透過電腦網路408 (圖13)及使用者帳戶1接收到包括用以在遊戲關卡1處暫停舊有遊戲N之請求之使用者輸入。在實例中,使用者輸入係當使用者1選擇手持控制器414 (圖13)上之一或多個按鈕時產生之信號。該信號由手持控制器414產生。在實例中判定如此時,區塊調度器302執行暫停遊戲鉤1420 (圖14B)以在遊戲關卡1處暫停舊有遊戲N。此外,在實例中,區塊調度器302執行建立挑戰鉤1422 (圖14B)以產生用於發起挑戰1之影像圖框,諸如包括建立挑戰1按鈕之影像圖框,並透過使用者帳戶1及電腦網路408將影像圖框發送至顯示裝置410以供顯示。繼續該實例,使用者1透過手持控制器414選擇建立挑戰1按鈕,且對選擇之指示透過遊戲控制台402及電腦網路408發送至伺服器系統404。此外,在實例中,在接收到對選擇之指示時,區塊調度器302執行基本區塊1至n中之一或多者以自舊有遊戲N經暫停以產生挑戰1之時間開始繼續玩舊有遊戲N並允許使用者1玩挑戰1。區塊調度器302繼續判定在操作1602中是否接收到使用者輸入,直至接收到使用者輸入。
在方法1600之操作1604中,玩第一挑戰由記錄器1302 (圖13)記錄為記錄1。舉例而言,區塊調度器302執行開始記錄鉤1424 (圖14B)以發送信號至記錄器1302以開始記錄由使用者1透過使用者帳戶1玩挑戰1。在接收到用以記錄之信號時,記錄器1302啟動由使用者1透過使用者帳戶1玩挑戰1之記錄。一旦開始記錄,則在玩挑戰1期間,使用者1在挑戰1期間選擇手持控制器414 (圖14A)上之一或多個按鈕以產生一或多個使用者輸入。在透過使用者帳戶1接收到一或多個使用者輸入時,區塊調度器302執行基本區塊1至5中之一或多者以在玩挑戰1期間服務於一或多個使用者輸入。記錄1由記錄器1302儲存於記憶體裝置1304 (圖13)中。
在方法1600之操作1606中,判定在舊有遊戲N之第二部分之執行期間是否接收到用於第二挑戰(諸如挑戰2)之使用者輸入。舉例而言,區塊調度器302判定是否透過電腦網路408在使用者帳戶1處接收到包括用以在遊戲關卡Z處暫停舊有遊戲N之請求之使用者輸入,諸如信號。在實例中,當使用者1選擇手持控制器414 (圖13)上之一或多個按鈕時,由手持控制器414產生使用者輸入。繼續該實例,一旦判定如此,則區塊調度器302執行暫停遊戲鉤1450 (圖14D)以在遊戲關卡Z處暫停舊有遊戲N。此外,在實例中,區塊調度器302執行建立挑戰鉤1452 (圖14D)以產生用於發起挑戰2之影像圖框,諸如包括建立挑戰2按鈕之影像圖框,並透過使用者帳戶1及電腦網路408將影像圖框發送至顯示裝置410以供顯示。在實例中,使用者1透過手持控制器414選擇建立挑戰2按鈕,且對選擇之指示透過遊戲控制台402及電腦網路408發送至伺服器系統404。進一步地在實例中,在接收到對選擇之指示時,區塊調度器302執行基本區塊1至n中之一或多者以自舊有遊戲N經暫停以產生挑戰2之時間繼續玩舊有遊戲N並允許使用者1玩挑戰2。區塊調度器302在操作1606中繼續判定是否接收到使用者輸入,直至接收到使用者輸入。
在方法1600之操作1608中,玩第二挑戰由記錄器1302記錄為記錄2。舉例而言,區塊調度器302執行開始記錄鉤1454 (圖14D)以發送信號至記錄器1302以開始記錄由使用者1透過使用者帳戶1玩挑戰2。在實例中,在接收到用以記錄之信號時,記錄器1302啟動由使用者1透過使用者帳戶1玩挑戰2之記錄。此外,在實例中,在記錄開始之後,在玩挑戰2期間,使用者1在挑戰2期間選擇手持控制器414上之一或多個按鈕以產生一或多個使用者輸入。在實例中,在透過使用者帳戶1接收到一或多個使用者輸入時,區塊調度器302執行基本區塊101至105中之一或多者以在玩挑戰2期間服務於一或多個使用者輸入。記錄2由記錄器1302儲存於記憶體裝置1304中。
在方法1600之操作1610中,判定是否接收到用於產生元遊戲之使用者輸入。舉例而言,區塊調度器302判定在使用者帳戶1處是否接收到使用者輸入,該使用者輸入係包括用於自挑戰1及2產生元遊戲之請求之信號。在實例中,使用者輸入由使用者1藉由選擇手持控制器414 (圖13)上之一或多個按鈕來產生。為了說明,區塊調度器302執行元遊戲請求鉤1506 (圖15A)以判定在使用者帳戶1處接收到之使用者輸入是否包括用以產生元遊戲之請求。區塊調度器302繼續判定是否接收到用以產生元遊戲之使用者輸入,直至接收到使用者輸入。
在判定接收到用以產生元遊戲之使用者輸入時,執行操作1612。操作1612包括識別在透過使用者帳戶1玩挑戰1期間執行的基本區塊1至n中之一或多者(諸如基本區塊1至5)及在透過使用者帳戶1玩挑戰2期間執行的基本區塊1至n中之一或多者(諸如基本區塊101至105)。舉例而言,區塊調度器302執行元遊戲請求鉤1506以自記錄1識別在透過使用者帳戶1玩挑戰1期間執行的基本區塊1至5中之一或多者。在實例中,區塊調度器302執行元遊戲請求鉤1506以自記錄2識別在透過使用者帳戶1玩挑戰2期間執行的基本區塊101至105中之一或多者。為了說明,區塊調度器302發送請求至記錄器1302以自記憶體裝置1304存取記錄1及2。在圖解中,在接收到請求時,記錄器1302在自區塊調度器302獲得請求時,自記憶體裝置1304存取記錄1及2並將記錄提供至區塊調度器302。此外,在圖解中,區塊調度器302剖析記錄1及2以自記錄1識別經執行以產生記錄1的基本區塊1至5中之一或多者,且自記錄2識別經執行以產生記錄2的基本區塊101至105中之一或多者。
圖16B係圖解說明用於裝訂挑戰1之基本區塊1至5中之一或多者與挑戰2之基本區塊101至105中之一或多者之方法1600的圖16A之流程圖之繼續。在方法1600之操作1614中,判定是否接收到用以產生在操作1612中識別的基本區塊1至n中之一或多者(諸如基本區塊1至5)及在操作1612中識別的基本區塊1至n中之一或多者(諸如基本區塊101至105)之執行序列的使用者輸入。舉例而言,區塊調度器302 (圖3)執行序列請求鉤1508 (圖15A)以產生用於使用者帳戶1之影像1552 (圖15B)之影像資料,並透過電腦網路408 (圖13)發送影像資料以在顯示裝置410 (圖13)上顯示影像1552。在實例中,區塊調度器302執行序列請求鉤1508以判定回應於顯示影像1552,是否透過電腦網路408在伺服器系統404 (圖13)之使用者帳戶1處接收到包括對圖形按鈕1554 (圖15B)之選擇的使用者輸入或包括對圖形按鈕1556 (圖15B)之選擇的使用者輸入。
在方法1600之操作1616中,回應於在操作1614中判定接收到使用者輸入,裝訂用於促進玩挑戰1的基本區塊1至n中之一或多者(諸如基本區塊1至5)與用於促進玩挑戰2的基本區塊1至n中之一或多者(諸如基本區塊101至105)。舉例而言,在判定接收到包括對圖形按鈕1554之選擇的使用者輸入時,區塊調度器302執行序列請求鉤1508 (圖15A)以裝訂透過使用者帳戶1玩挑戰1期間執行之基本區塊1至5與透過使用者帳戶1玩挑戰2期間執行之基本區塊101至105。在實例中,將基本區塊1至5與基本區塊101至105進行裝訂以使得基本區塊1至5能夠在執行基本區塊101至105之前執行。為了說明,CPU 1308產生指向快取102內儲存基本區塊101至105之記憶體位置(諸如位址)的指標。CPU 1308在執行全部基本區塊1至5之後立即提供對指標之存取。因此,在執行全部基本區塊1至5之後,指標立即指向基本區塊101至105之記憶體位置以供執行基本區塊101至105。
另一方面,在實例中,在判定接收到包括對圖形按鈕1556之選擇的使用者輸入時,區塊調度器302執行序列請求鉤1508以裝訂透過使用者帳戶1玩挑戰2期間執行的基本區塊1至n中之一或多者(諸如基本區塊101至105)與透過使用者帳戶1玩挑戰1期間執行的基本區塊1至n中之一或多者(諸如基本區塊1至5)。在實例中,將一或多個基本區塊101至105與一或多個基本區塊1至5進行裝訂以使得在執行一或多個基本區塊1至5之前執行一或多個基本區塊101至105。為了說明,CPU 1308產生指向快取102內儲存基本區塊1至5之記憶體位置(諸如位址)的指標。CPU 1308在執行全部基本區塊101至105之後立即提供對指標之存取。因此,在執行全部基本區塊101至105之後,指標立即指向基本區塊1至5之記憶體位置以供執行基本區塊1至5。
在方法1600之操作1618中,回應於在操作1614中判定未接收到使用者輸入,基本區塊1至5中之一或多者不與基本區塊101至105中之一或多者進行裝訂。舉例而言,在判定既未接收到包括對圖形按鈕1554之選擇的使用者輸入亦未接收到包括對圖形按鈕1556之選擇的使用者輸入時,區塊調度器302不執行用以裝訂透過使用者帳戶1玩挑戰1期間執行之一或多個基本區塊1至5與透過使用者帳戶1玩挑戰2期間執行之一或多個基本區塊101至105的序列請求鉤1508。在實例中,無需裝訂,基本區塊1至5及101至105稍後以與由使用者1透過使用者帳戶1玩元遊戲期間執行基本區塊1至5及101至105相同之序列執行。
圖16C係圖解說明在元遊戲內添加領先計分板及將獎盃附加至元遊戲的圖16B之流程圖之繼續。在方法1600之操作1620中,判定是否接收到用以添加領先計分板之使用者輸入。舉例而言,CPU 1308判定是否透過電腦網路408 (圖13)及使用者帳戶1自用戶端裝置1301 (圖13)接收到指示將領先計分板添加至元遊戲的使用者輸入。使用者輸入係當使用者1選擇手持控制器414上之一或多個按鈕時由手持控制器414 (圖13)產生之信號。
在方法1600之操作1622中,在判定接收到用於添加領先計分板之使用者輸入時,CPU 1308將領先計分板添加至元遊戲。舉例而言,CPU 1308執行領先計分板請求鉤1510 (圖15A)以將領先計分板組合至元遊戲。另一方面,在方法1600之操作1624中,回應於判定未接收到用於添加領先計分板之使用者輸入,CPU 1308不在元遊戲內包括或添加領先計分板。
繼續方法1600,在方法1600之操作1626中,CPU 1308將諸如虛擬點之總點數公佈至領先計分板。舉例而言,CPU 1308將使用者1透過使用者帳戶1玩挑戰1期間累積之點數與使用者1透過使用者帳戶1玩挑戰2期間累積之點數相加以判定總點數。CPU 1308在領先計分板上發布總點數。當使用者2透過使用者帳戶2及電腦網路408自伺服器系統404 (圖13)存取領先計分板時,領先計分板顯示於顯示裝置1204 (圖13)上。
在方法1600之操作1628中,CPU 1308判定將獎盃附加至元遊戲。舉例而言,CPU 1308執行獎盃鉤1512以將獎盃包括於元遊戲內。為了說明,獎盃鉤包括用於透過使用者帳戶2提供虛擬獎勵至使用者2之標準。當在執行元遊戲期間達成諸如預定限制之標準時,將虛擬獎勵授予使用者帳戶2。標準之實例包括在元遊戲中達成大於預定點數或在元遊戲內通過預定關卡或其組合。
在一個實施例中,方法1600不包括操作1628。
在一實施例中,代替計算及發布元遊戲內操作1626中之總點數,可使用玩元遊戲之另一類型之虛擬度量。舉例而言,代替總點數,可使用通過之虛擬關卡總數或累積之金幣總數。
圖16D係圖16C之流程圖之繼續。在方法1600之操作1630中,CPU 1308 (圖13)判定是否自使用者2接收到用以存取元遊戲之請求。舉例而言,CPU 1308判定是否透過使用者帳戶2及電腦網路408 (圖13)自用戶端裝置1303 (圖13)接收到用以存取元遊戲之請求。在實例中,用以存取元遊戲之請求亦係用以執行元遊戲之請求。此外,在實例中,使用者2選擇手持控制器1212 (圖13)上之一或多個按鈕以產生包括用以存取元遊戲之請求的信號。該信號由手持控制器1212產生。
回應於判定未接收到用以存取元遊戲之請求,在操作1632中,CPU 1308不執行元遊戲。另一方面,在判定接收到用以存取元遊戲之請求時,在方法1600之操作1634中,CPU 1308判定是否接收到用以將一或多個重影附加至相應一或多個虛擬物件的使用者輸入。作為操作1634之實例,判定是否透過使用者帳戶2及電腦網路408自用戶端裝置1303接收到用以重疊重影的使用者輸入。在實例中,使用者輸入係當使用者2選擇手持控制器1212上之一或多個按鈕時由手持控制器1212產生之信號。作為另一實例,一或多個重影包括第一重影及第二重影,且相應一或多個虛擬物件包括第一虛擬物件及第二虛擬物件。第一重影附加至第一虛擬物件,而第二重影附加至第二虛擬物件。第一虛擬物件在由每一使用者1及2透過其相應手持控制器414及1212玩挑戰1期間經控制。第二虛擬物件在由每一使用者1及2透過其相應手持控制器414及1212玩挑戰2期間經控制。重影之圖解包括重疊虛擬物件,諸如重疊虛擬人物。此外,在圖解中,重影之顯示與重影重疊於其上之虛擬物件之顯示相比更透明。此外,在圖解中,重影具有與虛擬物件相似之形狀或相同之形狀。作為另一圖解,重影係下伏虛擬物件,諸如下伏虛擬人物。在圖解中,重影之顯示與重影重疊於其上之虛擬物件之顯示相比更透明。此外,在圖解中,重影具有與虛擬物件相似之形狀或相同之形狀。
在方法1600之操作1636中,在判定未接收到用以將一或多個重影附加至相應一或多個虛擬物件的使用者輸入時,CPU 1308執行元遊戲而不將一或多個重影附加至相應一或多個虛擬物件。舉例而言,回應於判定未接收到用於重疊之使用者輸入,CPU 1308不將第一重影重疊於第一虛擬物件上且不將第二重影重疊於第二虛擬物件上。
另一方面,在方法之操作1638期間,回應於判定接收到用於將一或多個重影附加於相應一或多個虛擬物件上的使用者輸入,CPU 1308在由使用者2玩元遊戲期間將一或多個重影附加於相應一或多個虛擬物件上。
舉例而言,CPU 1308執行重影請求鉤1514,以自記憶體裝置1304 (圖13)存取記錄1及2並剖析記錄1及2。剖析記錄1及2以識別在玩挑戰1及2期間由使用者1透過使用者帳戶1及手持控制器414 (圖13)控制之一或多個虛擬物件(諸如第一虛擬物件及第二虛擬物件)。CPU 1308產生具有與由使用者1透過使用者帳戶1玩挑戰1期間控制之第一虛擬物件之形狀相似或相同形狀的第一重影,並產生具有與由使用者1透過使用者帳戶1玩挑戰2期間控制之第二虛擬物件之形狀相同或相似形狀的第二重影。作為圖解,先前實例中之第一虛擬物件與第二虛擬物件相同。為了進一步說明,第一虛擬物件及第二虛擬物件中之每一者皆係虛擬戰鬥機或虛擬人物。作為另一圖解,先前實例中之第一虛擬物件與第二虛擬物件不同。作為另一圖解,先前實例中之第一虛擬物件係虛擬戰鬥機而第二虛擬物件係虛擬人物。
作為另一實例,CPU 1308執行重影請求鉤1514以自記憶體裝置1304 (圖13)存取記錄1,並自記錄1判定虛擬物件處於各種位置及定向之時間。時間之圖解包括時間t1、時間t2、時間t3、時間t4、及時間t5。繼續實例,CPU 1308計算自CPU 1308開始執行舊有遊戲N之一部分以促進玩挑戰1起之時間並將時間儲存於記錄1內。該部分係為便於玩遊戲而執行的,其儲存為記錄1。因此,自開始執行該部分起之時間與自開始記錄1起之時間相同。CPU 1308執行重影請求鉤1514 (圖15A)以將虛擬物件表示為重影並基於對應於挑戰1之時間移動重影。在實例中,當透過使用者帳戶2存取舊有遊戲N之該部分以促進玩挑戰1時,GPU 1310 (圖13)在時間t1處的與儲存於記錄1內之位置及定向相同之位置及定向處顯示虛擬物件及重影。時間t1係由CPU 1308自透過使用者帳戶2存取的舊有遊戲N之該部分之執行開始起進行計算的。CPU 1308判定時間是否已自t1改變至t2並指示GPU 1310在對應於時間t2之位置及定向處顯示重影。將對應於時間t2之位置及定向儲存於記錄1中。此外,CPU 1308判定時間是否已自t2改變至t3並指示GPU 1310在對應於時間t3之位置及定向處顯示重影。將對應於時間t3之位置及定向儲存於記錄1中。
作為另一實例,CPU 1308自記憶體裝置1304 (圖13)存取記錄2,並自記錄2判定虛擬物件處於各種位置及定向處之時間。時間之圖解包括時間ta、時間tb、時間tc、時間td、及時間te。繼續實例,CPU 1308計算自CPU 1308開始執行舊有遊戲N之一部分以促進玩挑戰2起之時間並將時間儲存於記錄2中。該部分係為便於玩遊戲而執行的,其儲存為記錄2。因此,自開始執行該部分起之時間與自開始記錄2起之時間相同。CPU 1308將虛擬物件表示為重影並基於對應於挑戰2之時間移動重影。當透過使用者帳戶2存取舊有遊戲N之該部分以促進玩挑戰2時,GPU 1310在時間ta處的與儲存於記錄2中之位置及定向相同之位置及定向處顯示虛擬物件及重影。時間ta係由CPU 1308自透過使用者帳戶2存取之舊有遊戲N之該部分之執行開始起進行計算的。CPU 1308判定時間是否已自ta改變至tb並指示GPU 1310在對應於時間tb之位置及定向處顯示重影。將對應於時間tb之位置及定向儲存於記錄2中。此外,CPU 1308判定時間是否已自tb改變至tc並指示GPU 1310在對應於時間tc之位置及定向處顯示重影。將對應於時間tc之位置及定向儲存於記錄2中。
作為又一實例,當使用者2透過用戶端裝置1303及使用者帳戶2存取挑戰1時,CPU 1308指示GPU 1310 (圖13)在第一虛擬物件上呈現第一重影。在實例中,當使用者2透過用戶端裝置1303及使用者帳戶2存取挑戰2時,CPU 1308指示GPU 1310在第二虛擬物件頂上呈現第二重影。為了說明,第一重影表示與第一虛擬物件相同之人物,而第二重影表示與第二虛擬物件相同之人物。為了進一步說明,當第一虛擬物件為射擊者時,第一重影為射擊者,且當第二虛擬物件為虛擬飛機時,第二重影亦為虛擬飛機。作為另一實例,當使用者2透過用戶端裝置1303及使用者帳戶2存取挑戰1時,CPU 1308指示GPU 1310 (圖13)將第一重影顯示在第一虛擬物件下方作為下伏虛擬物件。在實例中,當使用者2透過用戶端裝置1303及使用者帳戶2存取挑戰2時,CPU 1308指示GPU 1310 (圖13)將第二重影顯示在第二虛擬物件下方作為下伏虛擬物件。
應注意,在先前兩個實例中,第一虛擬物件及第一重影與第二虛擬物件及第二重影的移動之間沒有聯繫。舉例而言,由使用者2透過手持控制器1212 (圖13)控制第一虛擬物件,且第一重影根據由使用者1進行之挑戰1之玩遊戲過程來顯示。在實例中,第一重影相對於第一虛擬物件之重疊或下伏在由使用者2透過使用者帳戶2開始玩挑戰1之時間處出現。此外,在實例中,在挑戰1期間之某些遊戲時間之後,第一重影處於與第一虛擬物件之位置及定向不同之位置及定向。作為另一實例,第二虛擬物件由使用者2透過手持控制器1212 (圖13)控制,且第二重影根據由使用者1進行之挑戰2之玩遊戲過程來顯示。在實例中,第二重影相對於第二虛擬物件之重疊或下伏在由使用者2透過使用者帳戶2開始玩挑戰2之時間處出現。此外,在實例中,在挑戰2期間之某些遊戲時間之後,第二重影處於與第二虛擬物件之位置及定向不同之位置及定向。
應注意,元遊戲在操作1636或在操作1638中根據由圖形按鈕1554或1556 (圖15B)指示之序列執行。舉例而言,當接收到對圖形按鈕1554之選擇之指示時,區塊調度器302在執行基本區塊1至5中之一或多者之後執行基本區塊101至105中之一或多者以執行元遊戲。另一方面,當接收到對圖形按鈕1556之選擇之指示時,區塊調度器302在執行基本區塊101至105中之一或多者之後執行基本區塊1至5中之一或多者以執行元遊戲。
在一個實施例中,代替將一或多個重影附加至相應一或多個虛擬物件,基於操作1634及1638,一或多個視訊(諸如由使用者1玩元遊戲之玩遊戲過程之一或多個視訊或玩元遊戲之使用者1之一或多個視訊)在由使用者2透過使用者帳戶2玩元遊戲期間顯示。舉例而言,代替操作1634,CPU 1308判定是否自使用者2透過用戶端裝置1303及使用者帳戶2接收到用以重疊由使用者1透過用戶端裝置1301及使用者帳戶1玩元遊戲之玩遊戲過程之一或多個視訊的使用者輸入。使用者輸入包括當使用者2選擇手持控制器上之一或多個按鈕時由手持控制器1212產生之信號。回應於判定未接收到使用者輸入,代替操作1636,執行元遊戲而不重疊一或多個視訊。另一方面,在判定接收到使用者輸入時,代替執行操作1638,CPU 1308執行玩遊戲鉤以重疊元遊戲上之一或多個視訊。舉例而言,CPU 1308自記憶體裝置1304 (圖13)存取記錄1及記錄2,在由使用者2玩第一挑戰之執行期間重疊記錄1之第一視訊,並在由使用者2玩第二挑戰之執行期間重疊記錄2之第二視訊。CPU 1308控制記錄器1302以在透過使用者帳戶1執行挑戰1期間記錄第一視訊,並在透過使用者帳戶1執行挑戰2期間記錄第二視訊。
在一實施例中,由GPU 1310藉由使用與虛擬物件不同之呈現因子(諸如不同之顏色、或強度、或紋理、或形狀、或其組合)來呈現重影。重影待附加至虛擬物件。
圖16E係圖16D之流程圖之繼續。在操作1640中,CPU 1308 (圖13)判定領先計分板是否被添加至元遊戲。舉例而言,當在操作1622 (圖16C)中領先計分板被添加至元遊戲時,指示領先計分板被添加至元遊戲的識別符由CPU 1308儲存於快取102內。CPU 1308在操作1640中檢查快取102以找到識別符。在找到識別符時,判定領先計分板被添加至元遊戲。當未找到識別符時,CPU 1308判定領先計分板未添加至元遊戲。
回應於判定領先計分板被添加至元遊戲,在方法1600之操作1642中,CPU 1308判定由使用者2透過使用者帳戶2玩元遊戲期間纍積之點數是否超過在操作1626 (圖16C)中發布至領先計分板之總點數。元遊戲之總點數由使用者1在透過使用者帳戶1玩元遊戲期間累積。應注意,由使用者2玩元遊戲在操作1636 (圖16D)中開始。作為實例,CPU 1308判定由使用者1透過使用者帳戶1玩挑戰1期間積累之第一虛擬點數及由使用者1透過使用者帳戶1玩挑戰2期間積累之第二虛擬點數。CPU 1308將第一數目與第一平衡常數相乘以輸出第一結果,及將第二數目與第二平衡常數相乘以輸出第二結果,並將第一結果與第二結果相加以判定第一總數。類似地,CPU 1308判定由使用者2透過使用者帳戶2玩挑戰1期間積累第三虛擬點數及由使用者2透過使用者帳戶2玩挑戰2期間積累第四虛擬點數。CPU 1308將第三數目與第一平衡常數相乘以輸出第三結果,及將第四數目與第二平衡常數相乘以輸出第四結果,並將第三結果與第四結果相加以判定第二總數。CPU 1308判定第二總數是否大於第一總數。
回應於在操作1642中判定使用者2透過使用者帳戶2玩元遊戲期間累積之點數超過在操作1626中發布之總點數,CPU 1308在操作1644中將比使用者帳戶1更高之排名或更高之等級分配至使用者帳戶2。舉例而言,在判定先前實例中第二總數大於第一總數時,CPU 1308判定使用者2係領先者,並將分配至使用者2之使用者ID2添加至領先計分板中。CPU 1308控制GPU 1310 (圖13)以將使用者ID2呈現於使用者ID1之上。
另一方面,在操作1642中判定由使用者2透過使用者帳戶2玩元遊戲期間累積之點數不超過在操作1626中發布之總點數時,CPU 1308在操作1646中將比使用者帳戶1更低之排名分配至使用者帳戶2。舉例而言,在判定第二總數不大於第一總數時,CPU 1308判定使用者1仍然係領先者並將分配至使用者2之使用者ID2添加至領先計分板。CPU 1308控制GPU 1310 (圖13)以將使用者ID2呈現於使用者ID1之下。
回應於在操作1640中判定領先計分板未添加至元遊戲,CPU 1308在操作1648中判定獎盃是否被附加至元遊戲。舉例而言,當在操作1628 (圖16C)中獎盃被附加至元遊戲時,指示獎盃包括於元遊戲內的識別符由CPU 1308儲存於快取102內。CPU 1308在操作1648中檢查快取102以找到識別符。在找到識別符時,判定獎盃被附加至元遊戲。當未找到識別符時,CPU 1308判定獎盃未附加至元遊戲。
CPU 1308在判定獎盃未附加至元遊戲時繼續檢查獎盃是否被附加至元遊戲。另一方面,回應於判定獎盃被附加至元遊戲,在方法1600之操作1650中,CPU 1308判定使用者2透過使用者帳戶2玩元遊戲期間累積之點數是否超過預定限制。舉例而言,CPU 1308判定透過使用者帳戶2玩元遊戲期間累積之第二總數是否大於與操作1628 (圖16C)相關聯之預定點數。
在判定點數超過預定限制時,在方法1600之操作1652中,CPU 1308判定將獎盃授予使用者帳戶2。獎盃之實例係榮譽或虛擬獎勵,諸如虛擬皮膚或虛擬點數或元遊戲中之遊戲關卡。解鎖遊戲關卡以提供獎盃。在授予獎盃之前,遊戲關卡經鎖定,且無法由使用者2透過使用者帳戶2存取。另一方面,當判定點數未超過預定臨限值時,在方法1600之操作1654中,CPU 1308判定不將獎盃授予使用者帳戶2。
圖17係圖解說明在顯示裝置1204上顯示的帶有重影之元遊戲之實施例之圖式。在由使用者2透過使用者帳戶2玩元遊戲之挑戰1及2期間,虛擬物件454顯示於顯示螢幕1204上。虛擬物件454由GPU 1310 (圖13)呈現於顯示裝置1204上。
為了促進透過使用者帳戶2玩挑戰1,CPU 1308執行元遊戲之經執行以促進透過使用者帳戶1玩挑戰1之相同部分。舉例而言,CPU 1308執行舊有遊戲N之第一部分以促進透過使用者帳戶1玩舊有遊戲N,及執行該第一部分以促進透過使用者帳戶2玩舊有遊戲N。類似地,為了促進透過使用者帳戶2玩挑戰2,CPU 1308執行元遊戲之經執行以促進透過使用者帳戶1玩挑戰2之相同部分。舉例而言,CPU 1308執行舊有遊戲N之第二部分以促進透過使用者帳戶1玩舊有遊戲N,及執行該第二部分以促進透過使用者帳戶2玩舊有遊戲N。作為另一實例,CPU 1308執行舊有遊戲(N-1)之一部分以促進透過使用者帳戶1玩舊有遊戲(N-1),及執行該部分以促進透過使用者帳戶2玩舊有遊戲(N-1)。
在時間t1(其係開始玩元遊戲之挑戰1之時間)處,虛擬物件454在顯示裝置1204之顯示螢幕上顯示為處於位置P1及定向O1。此外,在時間t1處,虛擬重影1704重疊於虛擬物件454之頂部上。虛擬重影1704由GPU 1310呈現於顯示裝置1204上。虛擬重影1704在時間t1處處於與虛擬物件454相同之位置P1及相同之定向O1。虛擬重影1704係虛擬物件454 (圖14C)之表示。虛擬重影1704在圖17中使用虛線圖解說明,而虛擬物件454在圖17中使用實線圖解說明。
在玩挑戰1期間,由使用者2透過手持控制器1212 (圖13)將虛擬物件454自位置P1及定向O1移動至位置Pb及定向Ob。在虛擬物件454處於位置Pb及定向Ob之時間t2處,虛擬重影1704處於位置P2及定向O2。位置Pb不同於位置P2,且定向Ob不同於定向O2。
此後,在玩挑戰1期間,由使用者2透過手持控制器1212將虛擬物件454自位置Pb及定向Ob移動至位置Pc及定向Oc。在虛擬物件454處於位置Pc及定向Oc之時間t3處,虛擬重影1704處於位置P3及定向O3。位置Pc不同於位置P3,且定向Oc不同於定向O3。
此外,在玩挑戰1期間,由使用者2透過手持控制器1212將虛擬物件454自位置Pc及定向Oc移動至位置Pd及定向Od。在虛擬物件454處於位置Pd及定向Od之時間t4處,虛擬重影1704處於位置P4及定向O4。位置Pd不同於位置P4,且定向Od不同於定向O4。
此外,在玩挑戰1期間,由使用者2透過手持控制器1212將虛擬物件454自位置Pd及定向Od移動至位置Pe及定向Oe。在虛擬物件454處於位置Pe及定向O5之時間t5處,虛擬重影1704處於位置P5及定向O5。位置Pe不同於位置P5,且定向Oe不同於定向O5。
虛擬物件454之位置P1、Pb、Pc、Pd、及Pe以及定向O1、Ob、Oc、Od、及Oe出現在舊有遊戲N之用於促進玩挑戰1的一部分之執行期間。當透過使用者帳戶2存取時,該部分對應於挑戰1。此外,當透過使用者帳戶1存取時,虛擬重影1704之位置P1至P5及定向O1至O5出現在舊有遊戲N之相同部分之執行期間。
在時間ta處,即開始透過使用者帳戶2玩元遊戲之挑戰2之時間,虛擬物件454在顯示裝置1204之顯示螢幕上顯示為處於位置P101及定向O101。舉例而言,在元遊戲中,CPU 1308指示GPU 1310將虛擬物件454自位置Pe移動至位置P101及自定向Oe移動至定向O101。此外,在時間ta處,虛擬重影1704重疊於虛擬物件454之頂部上。虛擬重影1704在時間ta處處於與虛擬物件454相同之位置P101及相同之定向O101。
在玩挑戰2期間,由使用者2透過手持控制器1212將虛擬物件454自位置P101及定向O101移動至位置Px2及定向Ox2。在虛擬物件454處於位置Px2及定向Ox2之時間tb處,虛擬重影1704處於位置P102及定向O102。位置Px2不同於位置P102,且定向Ox2不同於定向O102。
此後,在玩挑戰2期間,由使用者2透過手持控制器1212將虛擬物件454自位置Px2及定向Ox2移動至位置Px3及定向Ox3。在虛擬物件454處於位置Px3及定向Ox3之時間tc處,虛擬重影1704處於位置P103及定向O103。位置Px3不同於位置P103,且定向Ox3不同於定向O103。
此外,在玩挑戰2期間,由使用者2透過手持控制器1212將虛擬物件454自位置Px3及定向Ox3移動至位置Px4及定向Ox4。在虛擬物件454處於位置Px4及定向Ox4之時間td處,虛擬重影1704處於位置P104及定向O104。位置Px4不同於位置P104,且定向Ox4不同於定向O104。
此外,在玩挑戰2期間,由使用者2透過手持控制器1212將虛擬物件454自位置Px4及定向Ox4移動至位置Px5及定向Ox5。在虛擬物件454處於位置Px5及定向Ox5之時間te處,虛擬重影1704處於位置P105及定向O105。位置Px5不同於位置P105,且定向Ox5不同於定向O105。
虛擬物件454之位置P101、Px2、Px3、Px4、及Px5以及定向O101、Ox2、Ox3、Ox4、及Ox5至O105出現在元遊戲之用於促進玩挑戰2的一部分(諸如舊有遊戲N之一部分或舊有遊戲(N-1)之一部分)之執行期間。元遊戲之該部分透過使用者帳戶2存取。此外,虛擬重影1704之位置P101至P105及定向O101至O105在透過使用者帳戶1存取時出現在元遊戲之相同部分之執行期間。
應注意,在玩元遊戲期間,虛擬金字塔411由GPU 1310在執行挑戰1及2所圍繞之位置處呈現。舉例而言,位置P1、Pb、Pc、Pd、及Pe在虛擬金字塔411之上達成,且位置P101、Px2、Px3、Px4、及Px5在虛擬金字塔411之下達成。
圖18A係顯示於由使用者1操作之顯示裝置410上之領先計分板1802之實施例之圖式。領先計分板1802包括列1804,其包括由使用者1透過使用者帳戶1玩元遊戲期間纍積之點數。領先計分板1802由使用者1登入使用者帳戶1之後存取。
圖18B係顯示於由使用者2操作之顯示裝置1204上之領先計分板1802之實施例之圖式。領先計分板1802包括額外列1806。額外列1806包括使用者ID2及由使用者2透過使用者帳戶2玩元遊戲期間累積之點數。應注意,使用者1已纍積比使用者2更高之點數,因此在列1804中顯示使用者ID1。列1804處於比列1806更高之位準。因此,由使用者1累積之點數之排級或排名高於由使用者2累積之點數。
圖19係由使用者2操作之顯示裝置1204之實施例之圖式,以圖解說明指示使用者2在玩元遊戲之後贏得獎盃的通知1902。作為實例,通知1902包括文字描述,諸如句子或片語。作為另一實例,指示其使用者2在使用者帳戶2中贏得獎盃的通知包括一系列文數字元或符號或圖形或其組合。
在一個實施例中,指示使用者2已贏得獎盃的通知包括獎勵。該獎勵由使用者2透過使用者帳戶2贏得。舉例而言,該通知包括使用者2現在可存取元遊戲之遊戲關卡。在贏得獎盃之前,無法由使用者2透過使用者帳戶2存取遊戲關卡。作為另一實例,該通知包括由CPU 1308 (圖13)透過使用者帳戶2授予使用者2之虛擬點數。
圖20係概念性地圖解說明根據本發明之實施方案之各種操作之流程圖,該等操作經執行以用於將雲端視訊遊戲流式傳輸至用戶端裝置。用戶端裝置之實例包括遊戲控制器、智慧手機、遊戲控制台、及電腦。遊戲伺服器2002執行視訊遊戲,諸如元遊戲或舊有遊戲N,並產生原始(未壓縮)視訊2004及音訊2006。虛擬環境(諸如虛擬環境452 (圖4A)、圖14中圖解說明之虛擬場景、圖17A中圖解說明之虛擬場景、或圖17C中圖解說明之虛擬場景)及虛擬環境呈現期間之音訊輸出係視訊2004及音訊2006之實例。遊戲伺服器2002係伺服器系統404 (圖4A)之實例。視訊2004及音訊2006經擷取及編碼以用於流式傳輸目的,如所圖解說明圖式中之參考2008所指示。編碼提供視訊流及音訊流之壓縮,以減少頻寬使用並最佳化遊戲體驗。編碼格式之實例包括H.265/MPEG-H、H.264/MPEG-4、H.263/MPEG-4、H.262/MPEG-2、WMV、VP6/7/8/9等。
經編碼音訊2010及經編碼視訊2012進一步分封化成網路封包,如參考數字2014所指示,用於在電腦網路2020上傳輸之目的,電腦網路2020係電腦網路408之實例(圖4A及圖13)。在某些實施例中,網路封包編碼過程亦採用資料加密過程,從而提供增強之資料安全性。在所圖解說明實施方案中,產生音訊封包2016及視訊封包2018以供在電腦網路2020上傳輸。
遊戲伺服器2002另外產生觸覺回饋資料2022,其亦分封化成網路封包以供網路傳輸。在所圖解說明實施方案中,產生觸覺回饋封包2024以供在電腦網路2020上傳輸。
上述產生原始視訊及音訊以及觸覺回饋資料的操作係在資料中心之遊戲伺服器2002上執行的,且編碼視訊及音訊及將經編碼視訊/音訊及觸覺回饋資料分封化以供傳輸的操作由資料中心之串流引擎執行。如所指示,音訊、視訊、及觸覺回饋封包在電腦網路2020上傳輸。如參考2026所指示,音訊封包2016、視訊封包2018、及觸覺回饋封包2024由用戶端裝置分化,例如,剖析等,以在用戶端裝置處自網路封包提取經編碼音訊2028、經編碼視訊2030、及觸覺回饋資料2022。若資料已加密,則資料亦經解密。經編碼音訊2028及經編碼視訊2030接著由用戶端裝置解碼,如參考2034所指示,以產生用戶端側原始音訊及視訊資料,用於呈現於用戶端裝置之顯示裝置2040上。觸覺回饋資料2022由用戶端裝置之處理器處理以在控制器裝置2042或其他介面裝置(例如,HMD等)處產生觸覺回饋效應,由此可呈現觸覺效應。控制器裝置2042係用戶端裝置之手持控制器之實例。觸覺效應之一個實例係控制器裝置2042之振動或隆隆聲。
可理解,視訊遊戲係回應於玩家輸入,因此,執行與上述用於傳輸及處理玩家輸入之程序流程類似之程序流程,但在自用戶端裝置至伺服器之反向方向上執行。如所指示,控制器裝置2042或另一輸入組件(例如,使用者1之身體部位、使用者2之身體部位等,或其組合)產生輸入資料2048。輸入資料2048在用戶端裝置處經分封化以供在電腦網路2020上傳輸至資料中心。輸入資料封包2046由遊戲伺服器2002拆包及重裝以在資料中心側上界定輸入資料2048。輸入資料2048經饋送至遊戲伺服器2002,遊戲伺服器2002處理輸入資料2048以產生視訊遊戲之遊戲狀態。
在透過電腦網路2020傳輸音訊封包2016、視訊封包2018、及觸覺回饋封包2024期間,在某些實施例中,監視電腦網路2020上之資料傳輸以確保服務品質。舉例而言,電腦網路2020之網路狀況如由參考2050所指示經監視,包括上游及下游網路頻寬,且回應於可用頻寬中之改變調整遊戲串流。亦即,網路封包之編碼及解碼係基於當前網路條件來控制的,如由參考2052所指示。
圖21係遊戲控制台2100之實施例之方塊圖,遊戲控制台2100適於與用戶端裝置之顯示裝置介接並能夠透過電腦網路2020 (圖20)與遊戲主控系統(諸如伺服器系統404 (圖4A、圖12、及圖13))通信。遊戲控制台2100係遊戲控制台402或遊戲控制台1202 (圖13)之實例。遊戲控制台2100位於資料中心內或位於玩家(諸如使用者1或使用者2)所處之位置。在某些實施例中,遊戲控制台2100用於執行顯示於HMD上之遊戲。遊戲控制台2100提供有可連接至遊戲控制台2100之各種週邊裝置。遊戲控制台2100具有單元處理器2128、動態隨機存取記憶體(XDRAM)單元2126、具有專屬視訊隨機存取記憶體(VRAM)單元2132之實境合成器圖形處理器單元2130、及輸入/輸出(I/O)橋2134。遊戲控制台2100亦具有用於自磁碟2140a讀取之Blu Ray®光碟唯讀記憶體(BD-ROM)光碟讀取器2140及可經由I/O橋2134存取之可移式插入式硬碟機(HDD) 2136。視情況,遊戲控制台2100亦包括用於讀取緊湊型快閃記憶卡、Memory Stick®記憶卡及類似者之記憶卡讀取器2138,其類似地可經由I/O橋2134存取。I/O橋2134亦連接至USB 2.0埠2124、十億位元乙太網路埠2122、IEEE 802.11b/g無線網路(Wi-Fi™)埠2120、及能夠支援藍牙連接之Bluetooth®無線鏈路埠2118。
在操作中,I/O橋2134處置全部無線、USB及乙太網路資料,包括來自遊戲控制器及來自HMD 2105之資料。舉例而言,當玩家正在玩藉由執行遊戲程式碼(諸如遊戲程式碼GCN)之一部分而產生之視訊遊戲時,I/O橋2134自遊戲控制器2042或2103 (圖20)、及/或自HMD 2105透過藍牙鏈路接收本文所述之輸入資料或輸入信號,並將輸入資料引導至單元處理器2128,其相應地更新視訊遊戲之當前狀態。作為實例,HMD 2105內之相機擷取玩家之姿勢以產生表示該姿勢之影像。遊戲控制器2042係手持控制器414或1212 (圖13)之實例。
除遊戲控制器2042及2103以及HMD 2105以外,無線、USB、及乙太網路埠亦為其他週邊裝置提供連接性,諸如遠端控制件2104、鍵盤2106、滑鼠2108、可攜式娛樂裝置2110 (諸如Sony Playstation Portable®娛樂裝置等)、視訊攝影機(諸如EyeToy®視訊攝影機2112等)、麥克風耳機2114、及麥克風2115。可攜式娛樂裝置2110係遊戲控制器之實例。在某些實施例中,此類週邊裝置無線連接至遊戲控制台2100,舉例而言,可攜式娛樂裝置2110透過Wi-Fi™臨時連接進行通信,而麥克風耳機2114透過藍牙鏈路進行通信。
提供此等介面意指遊戲控制台2100亦可能與其他週邊裝置相容,諸如數位視訊記錄器(DVR)、機上盒、數位相機、可攜式媒體播放器、網際網路協定語音(IP)電話、行動電話、列印機及掃描器。
此外,舊有記憶卡讀取器2116透過USB埠2124連接至遊戲控制台2100,以使得能夠讀取由遊戲控制台2100使用之類型之記憶卡2148。遊戲控制器2042及2103、以及HMD 2105可操作以透過藍牙鏈路2118與遊戲控制台2100無線通信,或待連接至USB埠2124,從而亦接收電力,藉由此電力為遊戲控制器2042及2103以及HMD 2105之電池充電。在某些實施例中,遊戲控制器2042及2103以及HMD 2105中之每一者包括記憶體、處理器、記憶卡讀取器、永久記憶體(諸如快閃記憶體等)、發光器(諸如照亮之球形剖面、發光二極體(LED)、或紅外線燈等)、用於超音波通信之麥克風及揚聲器、聲室、數位相機、內時鐘、面對遊戲控制台2100之可識別形狀(諸如球形截面)、及使用諸如藍牙、Wi-Fi等協定之無線裝置。
遊戲控制器2042係設計成由玩家(例如使用者1或2)雙手使用之控制器,且遊戲控制器2103係帶有附件之單手控制器。HMD 2105設計成固定在玩家之頭頂及/或眼前。除一或多個類比搖桿及習知控制按鈕以外,每一遊戲控制器2042及2103易受三維位置判定之影響。類似地,HMD 2105易受三維位置判定之影響。因此,在某些實施例中,除習知按鈕或搖桿命令以外或代替習知按鈕或搖桿命令,使用遊戲控制器2042及2103以及HMD 2105之玩家之手勢及移動亦作為輸入轉化成視訊遊戲之遊戲程式碼。視情況,其他無線啟用週邊裝置,諸如Playstation™可攜式裝置等,係作為控制器使用。在Playstation™可攜式裝置之情況下,在裝置之顯示螢幕上提供額外之遊戲或控制資訊,例如,控制指令或生命數等。在某些實施例中,使用其他替代或補充控制裝置,諸如跳舞毯(未顯示)、光槍(未顯示)、方向盤及踏板(未顯示)、訂制控制器等。訂制控制器之實例包括用於快速回應問答遊戲之單個或數個大按鈕(亦未顯示)。
遠端控制件2104亦可操作以透過藍牙鏈路2118與遊戲控制台2100無線通信。遠端控制件2104包括適合於操作Blu Ray TMDisk BD-ROM讀取器2140及導航磁碟內容之控制件。
除習知預記錄及可記錄CD(所謂超級音訊CD)以外,Blu Ray TMDisk BD-ROM讀取器2140亦可操作以讀取與遊戲控制台2100相容之CD-ROM。除習知預記錄及可記錄DVD以外,Blu Ray TMDisk BD-ROM讀取器2140亦可操作以讀取與遊戲控制台2100相容之數位視訊碟-ROM (DVD-ROM)。Blu Ray TMDisk BD-ROM讀取器2140亦可操作以讀取與遊戲控制台2100相容之BD-ROM、及習知預記錄及可記錄之藍光光碟。
遊戲控制台2100可操作以經由音訊連接器2150及視訊連接器2152將透過實境合成器圖形單元2130產生或解碼之音訊及視訊供應至具有顯示螢幕2144及一或多個揚聲器2146之顯示及聲音輸出裝置2142,諸如監視器或電視機等,或透過Bluetooth®無線鏈路埠2118將音訊及視訊供應至HMD 2105之顯示裝置。在各種實施例中,音訊連接器2150包括習知類比及數位輸出,而視訊連接器2152不同地包括分量視訊、S-視訊、複合視訊、及一或多個高清晰度多媒體介面(HDMI)輸出。因此,視訊輸出可係以諸如相交替線(PAL)或(美國)國家電視系統委員會(NTSC)之格式,或以2220p、1080i 或1080p高清晰度。由單元處理器2128執行音訊處理,例如,產生、解碼等。遊戲控制台2100之作業系統支援Dolby® 5.1環繞音效、Dolby® Theatre Surround (DTS)、及來自Blu-Ray®光碟之7.1環繞音效解碼。顯示及聲音輸出裝置2142係顯示裝置410或1204 (圖4A及圖13)之實例。
在某些實施例中,視訊攝影機,例如,視訊攝影機2112等,包含單個電荷耦合裝置(CCD)、LED指示器、及基於硬體之即時資料壓縮及編碼設備,使得壓縮之視訊資料以諸如基於影像內之動畫專家組(MPEG)標準之適當格式傳輸,以供由遊戲控制台2100解碼。視訊攝影機2112之LED指示器被配置成回應於來自遊戲控制台2100之適當控制資料而點亮,舉例而言,以表示不利之照明條件等。視訊攝影機2112之某些實施例透過USB、藍牙或Wi-Fi通信埠連接至遊戲控制台2100。視訊攝影機之各種實施例包括一或多個相關聯之麥克風且亦能夠傳輸音訊資料。在視訊攝影機之若干實施例中,CCD具有適合於高清晰度視訊擷取之解析度。在使用中,由視訊攝影機擷取之影像合併至遊戲中或解譯為遊戲控制輸入。在另一實施例中,視訊攝影機係適用於偵測紅外光之紅外線相機。
在各種實施例中,為了透過遊戲控制台2100之通信埠中之一者與諸如視訊攝影機或遠端控制件之週邊裝置發生成功資料通信,提供適當之軟體片段,諸如裝置驅動器等。
在某些實施例中,包括遊戲控制台2100及遊戲控制器2042或2103之前述系統裝置使得HMD 2105能夠顯示及擷取視訊遊戲之交互對話之視訊。系統裝置啟動視訊遊戲之交互對話。交互對話界定視訊遊戲之玩家與其他玩家之間的交互性。系統裝置進一步判定遊戲控制器2042或2103、及/或由玩家操作之HMD 2105之初始位置及定向。遊戲控制台2100基於玩家與視訊遊戲之間的交互性來判定遊戲之當前狀態。系統裝置在玩家與視訊遊戲之交互對話期間追蹤遊戲控制器2042或2103及/或HMD 2105之位置及定向。系統裝置基於舊有遊戲N之當前狀態及手持控制器(HHC)及/或HMD 2105之經追蹤位置及定向產生交互對話之觀眾視訊流。HHC之實例包括控制器2042及控制器2103。在某些實施例中,HHC在HHC之顯示螢幕上呈現觀眾視訊流。在各種實施例中,HMD 2105在HMD 2105之顯示螢幕上呈現觀眾視訊流。
參考圖22,展示圖解說明HMD 2202之組件之圖式。HMD 2202係HMD 2105之實例(圖21)。HMD 2202包括用於執行程式指令之處理器2200。提供記憶體裝置2203以用於儲存目的。記憶體裝置2203之實例包括揮發性記憶體、非揮發性記憶體、或其組合。包括顯示裝置2204,其提供可視介面,例如,自玩家觀看之保存資料等產生之影像圖框之顯示。提供電池2206作為HMD 2202之電源。運動偵測模組2208包括各種類型運動敏感硬體中之任一者,諸如磁力計2210、加速度計2212、及陀螺儀2214。
加速度計係用於量測加速度及重力引起之反作用力之裝置。單軸及多軸模型可用於偵測不同方向上之加速度之量值及方向。加速度計用於感測傾斜度、振動、及衝擊。在一個實施例中,三個加速度計2212用於提供重力方向,其給出兩個角度之絕對參考,例如,世界空間俯仰及世界空間滾轉等。
磁力計量測HMD 2202附近之磁場之強度及方向。在某些實施例中,HMD 2202內使用三個磁力計2210,從而確保世界空間偏航角之絕對參考。在各種實施例中,磁力計設計成橫跨地球磁場,其為±80微特士拉。磁力計受金屬影響,並提供與實際偏航單調之偏航量測結果。在某些實施例中,磁場由於真實世界環境中之金屬而翹曲,這導致偏航量測結果中之翹曲。在各種實施例中,使用來自其他感測器(例如,陀螺儀2214、相機2216等)之資訊來校準此翹曲。在一個實施例中,加速度計2212與磁力計2210一起使用以獲得HMD 2202之傾斜度及方位角。
陀螺儀係用於基於角動量原理量測或保持定向之裝置。在一個實施例中,代替陀螺儀2214,三個陀螺儀基於慣性感測提供關於跨個別軸( x yz)之移動之資訊。陀螺儀有助於偵測快速旋轉。然而,在某些實施例中,陀螺儀在不存在絕對參考之情況下隨時間漂移。這會觸發週期性地重置陀螺儀,其可使用其他可用資訊來完成,諸如基於物件、加速度計、磁力計等之視覺追蹤之位置/定向判定。
提供相機2216用於擷取玩家周圍之真實世界環境(例如房間、小屋、自然環境等)之影像及影像流。在各種實施例中,在HMD 2202中包括一個以上相機,包括在玩家正在觀看HMD 2202之顯示器等時朝後(例如,背離玩家之相機)之相機,及在玩家正在觀看HMD 2202之顯示器等時朝前(例如,朝向玩家)之相機。此外,在數個實施例中,HMD 2202中包括深度相機2218,以感測真實世界環境中物件之深度資訊。
HMD 2202包括用於提供音訊輸出之揚聲器2220。此外,在某些實施例中,包括麥克風2222,以用於自真實世界環境擷取音訊,包括來自周圍環境之聲音、及由玩家發出之語音等。HMD 2202包括觸覺回饋模組2224,例如,振動裝置等,以用於提供觸覺回饋至玩家。在一個實施例中,觸覺回饋模組2224能夠引起HMD 2202之移動及/或振動以提供觸覺回饋至玩家。
LED 2226作為HMD 2202之狀態之視覺指示器提供。舉例而言,LED可指示電池剩餘電量、電源開啟等。提供讀卡器2228以使得HMD 2202能夠自記憶卡讀取資訊及將資訊寫入記憶卡。作為介面之一個實例包括USB介面2230,以用於實現週邊裝置之連接、或與其他裝置(諸如其他可攜式裝置、電腦等)之連接。在HMD 2202之各種實施例中,可包括各種類型介面中之任一者,以實現HMD 2202之更大連接性。
包括Wi-Fi™模組2232,以用於透過無線網路連結技術連接至網際網路。此外,HMD 2202包括Bluetooth™模組2234,以用於實現與其他裝置之無線連接。在某些實施例中,亦包括用於連接至其他裝置之通信鏈路2236。在一個實施例中,通信鏈路2236利用紅外線傳輸進行無線通信。在其他實施例中,通信鏈路2236利用各種無線或有線傳輸協定中之任一者來與其他裝置進行通信。
包括輸入按鈕/感測器2238以為玩家提供輸入介面。包括各種輸入介面中之任一者,諸如按鈕、觸控板、搖桿、軌跡球等。在各種實施例中,超音波通信模組2240包括於HMD 2202中,以用於促進透過超音波技術與其他裝置之通信。
包括生物感測器2242以使得能夠偵測來自玩家之生理資料。在一個實施例中,生物感測器2242包括一或多個乾式電極,以用於經由玩家之皮膚偵測玩家之生物電信號。
HMD 2202之前述組件僅描述為可包括於HMD 2202中之例示性組件。在各種實施例中,HMD 2202包括或不包括各種前述組件中之某些。
圖23圖解說明資訊服務提供者(INSP)架構之實施例。INSP 2302遞送大量資訊服務至地理上分散並透過電腦網路2306 (例如,區域網路(LAN)、廣域網路(WAN)、或其組合等)連接之玩家。電腦網路2306係電腦網路2020 (圖20)之實例。WAN之實例包括網際網路且LAN之實例包括內部網路。使用者1操作用戶端裝置2320-1,使用者2操作另一用戶端裝置2320-2,且使用者3操作又一用戶端裝置2320-3。
在某些實施例中,每一用戶端裝置2320-1、2320-2、及2320-3包括中央處理單元(CPU)、顯示器、及輸入/輸出(I/O)介面。每一用戶端裝置2320-1、2320-2、及2320-3之實例包括個人電腦(PC)、行動電話、小筆電、平板電腦、遊戲系統、個人數位助理(PDA)、遊戲控制台2100及顯示裝置、HMD 2202 (圖22)、遊戲控制台2100及HMD 2202、桌上型電腦、膝上型電腦、及智慧電視等。在某些實施例中,INSP 2302識別用戶端裝置之類型並調整所採用之通信方法。
在某些實施例中,INSP 2302遞送一種類型之服務,諸如股票價格更新,或多種服務,諸如廣播媒體、新聞、體育、遊戲等。此外,由每一INSP提供之服務係動態的,亦即,可在任何時間點添加或刪除服務。因此,提供特定類型服務至特定個體之INSP可隨著時間改變。舉例而言,用戶端裝置2320-1在使用者1之家鄉時用戶端裝置2320-1由靠近用戶端裝置2320-1之INSP服務,而當使用者1前往不同之城市時用戶端裝置2320-1由不同之INSP服務。家鄉INSP將請求之資訊及資料傳送至新INSP,使得資訊「跟隨」用戶端裝置2320-1至新城市,從而使資料更靠近用戶端裝置2320-1並更容易存取。在各種實施例中,在管理用戶端裝置2320-1之資訊之主INSP與在主INSP之控制下直接與用戶端裝置2320-1介接之伺服器INSP之間建立主站-伺服器關係。在某些實施例中,當用戶端裝置2320-1在世界各地移動時,資料自一個ISP傳送至另一ISP,以使處於更佳之位置來服務於用戶端裝置2320-1之INSP成為遞送此等服務之INSP。
INSP 2302包括應用服務提供者(ASP) 2308,其在電腦網路2306上將基於電腦之服務提供至客戶。使用ASP模型提供之軟體有時亦稱為隨選軟體或軟體即服務(SaaS)。提供對基於電腦之服務(例如,客戶關係管理等)之存取之簡單形式係藉由使用標準協定,例如,超文件傳送協定(HTTP)等。應用軟體駐留於供應商之伺服器上,並由每一用戶端裝置2320-1、2320-2、及2320-3藉由由供應商提供之特殊用途用戶端軟體、及/或其他遠端介面(例如,瘦用戶端等)使用超文件標示語言(HTML)等經由網頁瀏覽器存取。
跨廣泛地理區域遞送之服務通常使用雲端計算。雲端計算係一種計算方式,其中動態可擴展且通常為虛擬化之資源作為一服務透過電腦網路2306提供。使用者1至3無需成為支援其之「雲端」中的技術基礎設施之專家。在某些實施例中,雲端計算分為不同服務,諸如基礎設施即服務(IaaS)、平台即服務(PaaS)及軟體即服務(SaaS)。雲端計算服務通常提供自網頁瀏覽器存取之常見線上商業應用,而軟體及資料則儲存於伺服器上。術語雲端用作用於電腦網路2306之一隱喻,例如,使用伺服器、儲存及邏輯等,其係基於電腦網路2306在電腦網路圖式中之描繪方式,且係其隱藏之複雜基礎設施之一抽象概念。
此外,INSP 2302包括遊戲處理提供者(GPP) 2310,在本文中有時亦稱為遊戲處理伺服器,其由用戶端裝置2320-1、2320-2、及2320-3使用以玩單玩家及多玩家視訊遊戲。在電腦網路2306上玩的大多數視訊遊戲透過與遊戲伺服器之連接來操作。通常,遊戲使用自用戶端裝置2320-1、2320-2、及2320-3收集資料並將其分配至由其他使用者操作之其他用戶端的專屬伺服器應用程式。這比同級閒配置更高效及有效,但使用分離伺服器來主控伺服器應用程式。在某些實施例中,GPP 2310在用戶端裝置2320-1、2320-2、及2320-3之間建立通信,其在不進一步依賴於集中式GPP 2310之情況下交換資訊。
專屬GPP係獨立於用戶端運行之伺服器。此類伺服器通常在位於資料中心之專屬硬體上運行,從而提供更多頻寬及專屬處理能力。專屬伺服器係主控用於大多數基於PC之多玩家遊戲之遊戲伺服器的方法。大型多玩家線上遊戲在通常由擁有遊戲標題之軟體公司主控之專屬伺服器上運行,從而允許其控制及更新內容。
廣播處理伺服器(BPS) 2312,在本文中有時稱為廣播處理提供者,將音訊或視訊信號分配至觀眾。向非常窄範圍之觀眾廣播有時稱為窄播。廣播分配之第五邊係信號如何到達用戶端裝置2320-1、2320-2、及2320-3,且在某些實施例中,該信號在空中分配,如用無線電台或電視台至天線及接收器,或經由有線電視或有線收音機或透過電台之「無線電纜」。在各種實施例中,電腦網路2306亦為用戶端裝置2320-1、2320-2、及2320-3帶來無線電或電視信號,特別是用允許共用信號及頻寬之多播。自歷史上看,在數個實施例中,廣播由地理區域定界,例如,國家廣播、區域廣播等。然而,隨著高速網際網路之擴散,廣播不再由地理學界定,因為內容可到達幾乎世界上任何一個國家。
儲存服務提供者(SSP) 2314提供電腦儲存空間及相關管理服務。SSP 2314亦提供定期備份及歸檔。藉由提供儲存即服務,用戶端裝置2320-1、2320-2、及2320-3與儲存不用作服務時相比使用更多之儲存。另一主要優點係SSP 2314包括備份服務,且用戶端裝置2320-1、2320-2、及2320-3在其硬碟機發生故障時不會丟失資料。此外,在某些實施例中,複數個SSP具有自用戶端裝置2320-1、2320-2、及2320-3接收之資料之全部或部分複本,從而允許用戶端裝置2320-1、2320-2、及2320-3以與用戶端裝置2320-1、2320-2、及2320-3位於何處或用戶端類型無關之有效方式存取資料。舉例而言,玩家透過家用電腦存取個人檔案,以及在玩家移動時透過行動電話存取個人檔案。
通信提供者2316提供連接性至用戶端裝置2320-1、2320-2、及2320-3。一種通信提供者2316係網際網路服務提供者(ISP),其提供對電腦網路2306之存取。ISP使用適於遞送網際網路協定資料報之資料傳輸技術連接用戶端裝置2320-1、2320-2、及2320-3,諸如撥號、數位用戶線(DSL)、有線電視數據機、光纖、無線或專屬高速互連。在某些實施例中,通信提供者2316亦提供訊息傳遞服務,諸如電子郵件、即時訊息傳遞、及短訊息服務(SMS)電文處理。另一類型之通信提供者係網路服務提供者(NSP),其藉由提供對電腦網路2306之直接骨幹存取來銷售頻寬或網路存取。網路服務提供者之實例包括電信公司、資料載體、無線通信提供者、網際網路服務提供者、提供高速網際網路存取之有線電視經營者等。
資料交換2318將INSP 2302內部之數個模組互連,並透過電腦網路2306將此等模組連接至用戶端裝置2320-1、2320-2、及2320-3。在各種實施例中,資料交換2318覆蓋INSP 2302之全部模組皆非常接近之小區域,或當不同模組在地理上分散時覆蓋大地理區域。舉例而言,資料交換2318包括資料中心之機櫃內之快速十億位元乙太網路,或洲際虛擬LAN。
在某些實施例中,可使用無線技術促進伺服器系統404 (圖4A及圖13)與用戶端裝置2320-1至2320-3之間的通信。此類技術可包括例如5G無線通信技術。
在一個實施例中,如本文描述之諸如舊有遊戲N或元遊戲之視訊遊戲在遊戲機、個人電腦、或伺服器上本地執行。在某些情況下,視訊遊戲由資料中心之一或多個伺服器執行。當執行視訊遊戲時,視訊遊戲之某些執行個體可係視訊遊戲之模擬。舉例而言,視訊遊戲可由產生視訊遊戲之模擬之環境或伺服器執行。在某些實施例中,模擬係視訊遊戲之執行個體。在其他實施例中,模擬可由仿真器產生。在任一情況下,若視訊遊戲表示為模擬,則該模擬能夠經執行以呈現可交互地流式傳輸、執行、及/或由使用者輸入控制的交互內容。
應注意,在各種實施例中,本文描述之某些實施例之一或多個特徵與本文描述之一或多個其餘實施例之一或多個特徵組合。
本發明中描述之實施例可用各種電腦系統組態來實踐,該等電腦系統組態包括手持裝置、微處理器系統、基於微處理器或可程式化消費電子產品、小型電腦、大型電腦及類似者。在一個實施方案中,本發明中描述之實施例在分散計算環境中實踐,在分散計算環境中,任務係由經由基於有線網路或無線網路鏈接之遠端處理裝置執行。
考量以上實施例,應理解,在一個實施方案中,本發明中描述之實施例採用涉及儲存於電腦系統中之資料之各種電腦實施操作。此等操作係需要對實體數量進行實體操縱之操作。形成本發明中描述之實施例之一部分的本文描述之任何操作係有用之機器操作。本發明中描述之某些實施例亦係關於用於執行此等操作之裝置或設備。該設備係針對所需目的而特殊地構造,或該設備係由儲存在電腦中之電腦程式選擇性地啟動或組態之通用電腦。特定而言,在一個實施例中,各種通用機器與根據本文中之教示編寫之電腦程式一起使用,或構造更專門之設備來執行所需操作可能更方便。
在一實施方案中,本發明中描述之某些實施例體現為電腦可讀媒體上之電腦可讀程式碼。電腦可讀媒體係儲存資料之任何資料儲存裝置,該資料隨後由電腦系統讀取。電腦可讀媒體之實例包括硬碟機、網路附接儲存裝置(NAS)、ROM、RAM、CD-ROM、可錄CD (CD-R)、可覆寫CD (CD-RW)、磁帶、光學資料儲存裝置、非光學資料儲存裝置等。作為實例,電腦可讀媒體包括分散於網路耦合電腦系統上之電腦可讀有形媒體,使得電腦可讀程式碼以分散方式儲存及執行。
此外,儘管關於遊戲環境描述上述實施例中之某些,但在某些實施例中,代替遊戲,使用其他環境,例如,視訊會議環境等。
儘管方法操作係以特定次序描述,但應理解,其他內務處理操作可在操作之間執行,或可調整操作,使得該等操作在稍微不同之時間發生,或可分散在允許處理操作以與處理相關聯之各種間隔發生之系統中,只要重疊操作之處理係以期望方式執行即可。
儘管已出於清楚理解之目的詳細地描述了本發明中描述之先前實施例,但應明白,可在隨附申請專利範圍之範疇內進行某些改變及修改。因此,本發明實施例應被視為說明性的而非限制性的,且該等實施例不限於本文中給出之細節,而是可在隨附申請專利範圍之範疇及等效物內進行修改。
100:系統 102:快取 104:基本區塊編譯器/區塊編譯器 106:經仿真處理單元(PU)程式碼/經仿真CPU程式碼 200:方法 202:操作 204:操作 206:操作 208:操作 300:系統 302:區塊調度器/調度器 400:系統 402:遊戲控制台 404:伺服器系統 406:記憶體裝置 408:電腦網路 409:經仿真處理器系統/仿真處理器系統 410:顯示裝置/顯示螢幕 412:記憶體裝置 414:手持控制器 418:使用者輸入 420:使用者輸入 422:影像圖框 450:系統 452:虛擬環境 454:虛擬物件 455:虛擬金字塔 456:虛擬結構 550:指令 552:基本區塊/操作 600:系統 602:剖析器或解碼器 604:區塊建立器 606:區塊快取器 608:區塊讀取器 650:方法 652:操作 654:操作 656:操作 658:操作 660:操作 662:操作 670:系統 700:系統 702:指令移除器 720:方法 722:操作 724:操作 726:操作 800:仿真處理器系統 802:區塊驗證器 804:區塊加旗標器 850:方法 852:操作 854:操作 856:操作 858:操作 860:操作 862:操作 864:操作 866:操作 868:操作 870:操作 872:操作 900:舊有機器 902:舊有CPU 904:舊有GPU 906:記憶體裝置 908:CD-ROM驅動器 920:經更新機器 922:CPU 924:GPU 926:記憶體系統 928:快取 930:匯流排 1000:系統 1020:系統 1022:區塊介面 1024:修改輸入 1030:系統 1040:系統 1042:修改輸入 1050:系統 1052:修改輸入 1100:方法 1102:操作 1104:操作 1106:操作 1108:操作 1110:操作 1112:操作 1200:系統 1202:遊戲控制台 1204:顯示裝置/顯示螢幕 1206:經仿真處理器系統/仿真處理器系統 1208:快取 1210:網路介面控制器 1212:手持控制器 1213:網路介面控制器 1214:使用者輸入 1218:匯流排 1220:請求 1224:使用者輸入 1300:系統 1301:用戶端裝置 1302:記錄器 1303:用戶端裝置 1304:記憶體裝置 1306:記憶體裝置 1308:CPU 1310:GPU 1312:匯流排 1314:使用者帳戶資料庫 1316:記錄資料庫 1420:暫停遊戲鉤 1422:建立挑戰鉤 1424:開始記錄鉤 1426:完成挑戰鉤 1428:使用者結束挑戰鉤 1430:結束記錄鉤 1450:暫停遊戲鉤 1452:建立挑戰鉤 1454:開始記錄鉤 1456:完成挑戰鉤 1458:使用者結束挑戰鉤 1460:結束記錄鉤 1500:系統 1506:元遊戲請求鉤 1508:序列請求鉤 1510:領先計分板請求鉤 1512:獎杯鉤 1514:重影請求鉤 1550:使用者輸入 1552:影像 1554:圖形按鈕 1556:圖形按鈕 1600:方法 1602:操作 1604:操作 1606:操作 1608:操作 1610:操作 1612:操作 1614:操作 1616:操作 1618:操作 1620:操作 1622:操作 1624:操作 1626:操作 1628:操作 1630:操作 1632:操作 1634:操作 1636:操作 1638:操作 1640:操作 1642:操作 1644:操作 1646:操作 1648:操作 1650:操作 1652:操作 1654:操作 1704:虛擬重影 1802:領先計分板 1804:列 1806:列 1902:通知 2002:遊戲伺服器 2004:視訊 2006:音訊 2008:參考 2010:經編碼音訊 2012:經編碼視訊 2014:參考數字 2016:音訊封包 2018:視訊封包 2020:電腦網路 2022:觸覺回饋資料 2024:觸覺回饋封包 2026:參考 2028:經編碼音訊 2030:經編碼視訊 2034:參考 2040:顯示裝置 2042:遊戲控制器/控制器 2046:輸入資料封包 2048:輸入資料 2050:參考 2052:參考 2100:遊戲控制台 2103:遊戲控制器/控制器 2104:遠端控制件 2105:HMD 2106:鍵盤 2108:滑鼠 2110:可攜式娛樂裝置 2112:EyeToy®視訊攝影機/視訊攝影機 2114:麥克風耳機 2115:麥克風 2116:舊有記憶卡讀取器 2118:藍芽鏈路/Bluetooth®無線鏈路埠 2120:IEEE 802.11b/g無線網路(Wi-Fi™)埠 2122:十億位元乙太網路埠 2124:USB埠/USB 2.0埠 2126:動態隨機存取記憶體(XDRAM)單元 2128:單元處理器 2130:實境合成器圖形處理器單元/實境合成器圖形單元 2132:專屬視訊隨機存取記憶體(VRAM)單元 2134:輸入/輸出(I/O)橋 2136:可移式插入式硬碟機(HDD) 2138:記憶卡讀取器 2140:Blu Ray®光碟唯讀記憶體(BD-ROM)光碟讀取器/Blu Ray TMDisk BD-ROM讀取器 2140a:磁碟 2142:顯示及聲音輸出裝置 2144:顯示螢幕 2146:揚聲器 2148:記憶卡 2150:音訊連接器 2152:視訊連接器 2200:處理器 2202:HMD 2203:記憶體裝置 2204:顯示裝置 2206:電池 2208:運動偵測模組 2210:磁力計 2212:加速度計 2214:陀螺儀 2216:相機 2218:深度相機 2220:揚聲器 2222:麥克風 2224:觸覺回饋模組 2226:LED 2228:讀卡器 2230:USB介面 2232:Wi-Fi™模組 2234:Bluetooth™模組 2236:通信鏈路 2238:輸入按鈕/感測器 2240:超音波通信模組 2242:生物感測器 2302:INSP 2306:電腦網路 2308:應用服務提供者(ASP) 2310:遊戲處理提供者(GPP) 2312:廣播處理伺服器(BPS) 2314:儲存服務提供者(SSP) 2316:通信提供者 2318:資料交換 2320-1~2320-3:用戶端裝置 G1~GN:遊戲標題 Ga:遊戲標題 gc1~gcN:遊戲程式碼 GCN:遊戲程式碼 P1~P5:位置 P10~P11:位置 P101~P105:位置 P110~P111:位置 Pb~Pe:位置 Px2~Px5:位置 O1~O5:定向 O10~O11:定向 O101~O105:定向 O110~O111:定向 Ob~Oe:定向 Ox2~Ox5:定向 t1~t5:時間 ta~te:時間
藉由結合隨附圖式參考以下描述,可最佳地理解本發明之各種實施例,在隨附圖式中: [圖1]係圖解說明用於產生經更新程式碼之基本區塊之系統之實施例之方塊圖。 [圖2]係圖解說明用於編譯及執行遊戲程式碼之基本區塊之方法之實施例之流程圖。 [圖3]係圖解說明用於編譯及執行基本區塊之系統之實施例之方塊圖。 [圖4A]係圖解說明在遊戲控制台內編譯基本區塊之系統之實施例之圖式。 [圖4B]係圖解說明在伺服器系統內編譯基本區塊之系統之實施例之圖式。 [圖5A]係圖解說明基本區塊之實施例之圖式。 [圖5B]係圖解說明由基本區塊編譯器執行之編譯操作之實施例之圖式。 [圖6A]係圖解說明仿真處理器系統之組件之系統之實施例之圖式。 [圖6B]係圖解說明用於編譯及執行基本區塊之方法之實施例之流程圖。 [圖6C]係圖解說明針對不同之使用者輸入動態地編譯不同之基本區塊之系統之實施例之圖式。 [圖7A]係圖解說明自記憶體裝置刪除經仿真處理單元(PU)程式碼之系統之實施例之圖式。 [圖7B]係圖解說明用於自記憶體裝置刪除經仿真PU程式碼之方法之實施例之流程圖。 [圖8A]係圖解說明基本區塊之驗證之仿真處理器系統之實施例之圖式。 [圖8B]係圖解說明由圖8A之仿真處理器系統執行之驗證操作之方法之實施例之流程圖。 [圖8C]係圖8B之方法之流程圖之繼續。 [圖9A]係圖解說明舊有機器之實施例之圖式。 [圖9B]係圖解說明經更新機器之實施例之圖式。 [圖10A]係圖解說明藉由基本區塊編譯器將多個基本區塊組合成一個基本區塊之系統之實施例之圖式。 [圖10B]係圖解說明基本區塊中之一或多者之修改之系統之實施例之圖式。 [圖10C]係圖解說明基於次常式建立之基本區塊與基於呼叫次常式之經仿真PU程式碼指令產生之基本區塊之組合之系統之實施例之圖式。 [圖10D]係圖解說明在兩個基本區塊之間插入基本區塊之系統之實施例之圖式。 [圖10E]係圖解說明基本區塊之執行次序之切換之系統之實施例之圖式。 [圖11A]係圖解說明使用儲存於基本區塊n中之週期數目之計數之方法之實施例之流程圖。 [圖11B]係圖11A之方法之流程圖之繼續。 [圖12]係圖解說明將基本區塊自第一用戶端裝置傳送至第二用戶端裝置之系統之實施例之圖式。 [圖13]係圖解說明自一或多個小遊戲(諸如挑戰)產生元遊戲之系統之實施例之圖式,在執行基本區塊1至n之多個集合時玩該等小遊戲。 [圖14A]係圖解說明第一挑戰之實例之第一顯示裝置之實施例之圖式。 [圖14B]係圖解說明在舊有遊戲之第一遊戲關卡之基本區塊1至n中之任何兩者之間插入之鉤之圖式。 [圖14C]係圖解說明第二挑戰之實例之第一顯示裝置之實施例之圖式。 [圖14D]係圖解說明在舊有遊戲之第二遊戲關卡之基本區塊1至n中之任何兩者之間插入之鉤之圖式。 [圖15A]係系統之實施例之圖式。 [圖15B]係圖解說明由使用者透過使用者帳戶對挑戰之執行次序之選擇的第一顯示裝置之圖式。 [圖16A]係圖解說明產生元遊戲之方法之實施例之流程圖。 [圖16B]係圖解說明圖16A之用於裝訂第一挑戰之一或多個基本區塊與第二挑戰之一或多個基本區塊之方法的圖16A之流程圖之繼續。 [圖16C]係圖解說明在元遊戲內添加領先計分板及將獎盃附加至元遊戲的圖16B之流程圖之繼續。 [圖16D]係圖16C之流程圖之繼續。 [圖16E]係圖16D之流程圖之繼續。 [圖17]係圖解說明在第二顯示裝置上顯示的帶有重影之元遊戲之實施例之圖式。 [圖18A]係在第一顯示裝置上顯示的領先計分板之實施例之圖式。 [圖18B]係在第二顯示裝置上顯示的領先計分板之實施例之圖式。 [圖19]係圖解說明指示使用者在玩元遊戲之後贏得獎盃之通知之第二顯示裝置之實施例之圖式。 [圖20]係概念性地圖解說明根據本發明之實施方案之各種操作之流程圖,該等操作經執行以用於將雲端視訊遊戲流式傳輸至用戶端裝置。 [圖21]係遊戲控制台之實施例之方塊圖,該遊戲控制台適於與用戶端裝置之顯示裝置介接並能夠透過電腦網路與遊戲主控系統通信。 [圖22]係圖解說明頭戴式顯示器(HMD)之組件之圖式。 [圖23]圖解說明資訊服務提供者(INSP)架構之實施例。
1600:方法

Claims (20)

  1. 一種用於產生一元遊戲之方法並且其適配於具有處理器的系統,其中執行指令導致該處理器進行該方法,該方法包括:在玩一或多個舊有遊戲期間透過一第一使用者帳戶接收用於一第一挑戰之一第一使用者輸入,其中該第一挑戰係自該一或多個舊有遊戲之第一複數個基本區塊建立的;記錄該第一挑戰之至少一部分;在玩該一或多個舊有遊戲期間透過該第一使用者帳戶接收用於一第二挑戰之一第二使用者輸入,其中該第二挑戰係自該一或多個舊有遊戲之第二複數個基本區塊建立的,其中該第一複數個基本區塊係自該一或多個舊有遊戲之第一複數個指令編譯的,且該第二複數個基本區塊係自該一或多個舊有遊戲之第二複數個指令編譯的,以使得能夠在一經更新機器上玩該一或多個舊有遊戲;記錄該第二挑戰之至少一部分;判定是否透過該第一使用者帳戶接收到請求建立該元遊戲的一第三使用者輸入;及在判定接收到該第三使用者輸入時自該第一挑戰及該第二挑戰產生該元遊戲。
  2. 如請求項1之方法,其進一步包括:透過該第一使用者帳戶提供用以選擇該第一挑戰及該第二挑戰之一執行序列的一選項;透過該第一使用者帳戶接收該序列; 根據該序列裝訂該第一複數個基本區塊與該第二複數個基本區塊;透過一第二使用者帳戶接收請求執行該元遊戲的一使用者輸入;及回應於透過該第二使用者帳戶接收到該使用者輸入而以該序列執行該第一複數個基本區塊及該第二複數個基本區塊。
  3. 如請求項1之方法,其進一步包括:透過該第一使用者帳戶接收用以建立用於該元遊戲之一領先計分板的一第四使用者輸入;回應於該第四使用者輸入而建立該領先計分板,其中該領先計分板包括在玩該第一挑戰期間透過該第一使用者帳戶累積之一第一點數與在玩該第二挑戰期間透過該第一使用者帳戶累積之一第二點數的一總數;將該總數公佈至該領先計分板;在玩該元遊戲期間接收在一第二使用者帳戶中累積之一點數;判斷該總數是否超過在該第二使用者帳戶中累積之該點數;及判定該總數及在該第二使用者帳戶中累積之該點數的一顯示次序。
  4. 如請求項1之方法,其進一步包括:將一獎盃附加至該元遊戲;透過一第二使用者帳戶接收對玩該元遊戲的一請求; 判定透過該第二使用者帳戶玩該元遊戲期間累積之一點數是否超過一預定限制;回應於判定在玩該元遊戲期間累積之該點數超過該預定限制,將該獎盃授予該第二使用者帳戶。
  5. 如請求項1之方法,其進一步包括:判定透過一第二使用者帳戶接收到用以玩該元遊戲的一第一使用者輸入;判定是否透過該第二使用者帳戶接收到用以將一重影附加至該元遊戲之一虛擬物件的一第二使用者輸入,其中在透過該第一使用者帳戶玩該第一挑戰及玩該第二挑戰期間控制該虛擬物件;在判定透過該第二使用者帳戶接收到該第二使用者輸入時將該重影附加至透過該第二使用者帳戶進行控制之該虛擬物件。
  6. 如請求項1之方法,其進一步包括:判定透過一第二使用者帳戶接收到用以玩該元遊戲的一第一使用者輸入;判定是否透過該第二使用者帳戶接收到用以玩該第一挑戰及該第二挑戰之該等記錄的一第二使用者輸入;在判定透過該第二使用者帳戶接收到該第二使用者輸入時將該等記錄重疊於該元遊戲之一顯示上。
  7. 如請求項1之方法,其中該第一複數個指令及該第二複數個指令無法在包括一個64位處理器之該經更新機器中執行,而能夠在包括一個32位處理器之一舊有 機器中執行。
  8. 如請求項1之方法,其中該第一複數個基本區塊及該第二複數個基本區塊無法在包括一個32位處理器之一舊有機器中執行,而能夠在包括一個64位處理器之該經更新機器中執行。
  9. 一種用於產生一元遊戲之電腦系統,其包括:一處理器,其經組態以:在玩一或多個舊有遊戲期間透過一第一使用者帳戶接收用於一第一挑戰之一第一使用者輸入,其中該第一挑戰係自該一或多個舊有遊戲之第一複數個基本區塊建立的;記錄該第一挑戰之至少一部分;在玩該一或多個舊有遊戲期間透過該第一使用者帳戶接收用於一第二挑戰之一第二使用者輸入,其中該第二挑戰係自該一或多個舊有遊戲之第二複數個基本區塊建立的,其中該第一複數個基本區塊係自該一或多個舊有遊戲之第一複數個指令編譯的,且該第二複數個基本區塊係自該一或多個舊有遊戲之第二複數個指令編譯的,以使得能夠在一經更新機器上玩該一或多個舊有遊戲;記錄該第二挑戰之至少一部分;判定是否透過該第一使用者帳戶接收到請求玩該元遊戲的一第三使用者輸入;及在判定接收到該第三使用者輸入時自該第一挑戰及該第二挑戰產生該元遊戲;及 一記憶體裝置,其耦合至該處理器。
  10. 如請求項9之電腦系統,其中該處理器經組態以:透過該第一使用者帳戶提供用以選擇該第一挑戰及該第二挑戰之一執行序列的一選項;透過該第一使用者帳戶接收該序列;根據該序列裝訂該第一複數個基本區塊與該第二複數個基本區塊;透過一第二使用者帳戶接收請求執行該元遊戲的一使用者輸入;及回應於透過該第二使用者帳戶接收到該使用者輸入而以該序列執行該第一複數個基本區塊及該第二複數個基本區塊。
  11. 如請求項9之電腦系統,其中該處理器經組態以:透過該第一使用者帳戶接收用以建立用於該元遊戲之一領先計分板的一第四使用者輸入;回應於該第四使用者輸入而建立該領先計分板,其中該領先計分板包括在玩該第一挑戰期間透過該第一使用者帳戶累積之一第一點數與在玩該第二挑戰期間透過該第一使用者帳戶累積之一第二點數的一總數;將該總數公佈至該領先計分板;在玩該元遊戲期間接收在一第二使用者帳戶中累積之一點數; 判斷該總數是否超過在該第二使用者帳戶中累積之該點數;及判定該總數及在該第二使用者帳戶中累積之該點數的一顯示次序。
  12. 如請求項9之電腦系統,其中該處理器經組態以:將一獎盃附加至該元遊戲;透過一第二使用者帳戶接收對玩該元遊戲的一請求;判定透過該第二使用者帳戶玩該元遊戲期間累積之一點數是否超過一預定限制;回應於判定在玩該元遊戲期間累積之該點數超過該預定限制,將該獎盃授予該第二使用者帳戶。
  13. 如請求項9之電腦系統,其中該處理器經組態以:判定透過一第二使用者帳戶接收到用以玩該元遊戲的一第一使用者輸入;判定是否透過該第二使用者帳戶接收到用以將一重影附加至該元遊戲之一虛擬物件的一第二使用者輸入,其中在透過該第一使用者帳戶玩該第一挑戰及玩該第二挑戰期間控制該虛擬物件;在判定透過該第二使用者帳戶接收到該第二使用者輸入時將該重影附加至透過該第二使用者帳戶進行控制之該虛擬物件。
  14. 如請求項9之電腦系統,其中該處理器 經組態以:判定透過一第二使用者帳戶接收到用以玩該元遊戲的一第一使用者輸入;判定是否透過該第二使用者帳戶接收到用以玩該第一挑戰及該第二挑戰之該等記錄的一第二使用者輸入;在判定透過該第二使用者帳戶接收到該第二使用者輸入時將該等記錄重疊於該元遊戲之一顯示上。
  15. 如請求項9之電腦系統,其中該第一複數個指令及該第二複數個指令無法在包括一個64位處理器之該經更新機器中執行,而能夠在包括一個32位處理器之一舊有機器中執行。
  16. 如請求項9之電腦系統,其中該第一複數個基本區塊及該第二複數個基本區塊無法在包括一個32位處理器之一舊有機器中執行,而能夠在包括一個64位處理器之該經更新機器中執行。
  17. 一種含有用於產生一元遊戲之程式指令之非暫時性電腦可讀媒體,其中由一電腦系統之一或多個處理器執行該等程式指令導致該一或多個處理器執行以下複數個操作:在玩一或多個舊有遊戲期間透過一第一使用者帳戶接收用於一第一挑戰之一第一使用者輸入,其中該第一挑戰係自該一或多個舊有遊戲之第一複數個基本區塊建立的;記錄該第一挑戰之至少一部分;在玩該一或多個舊有遊戲期間透過該第一使用者帳戶 接收用於一第二挑戰之一第二使用者輸入,其中該第二挑戰係自該一或多個舊有遊戲之第二複數個基本區塊建立的,其中該第一複數個基本區塊係自該一或多個舊有遊戲之第一複數個指令編譯的,且該第二複數個基本區塊係自該一或多個舊有遊戲之第二複數個指令編譯的,以使得能夠在一經更新機器上玩該一或多個舊有遊戲;記錄該第二挑戰之至少一部分;判定是否透過該第一使用者帳戶接收到請求玩該元遊戲的一第三使用者輸入;及在判定接收到該第三使用者輸入時自該第一挑戰及該第二挑戰產生該元遊戲。
  18. 如請求項17之非暫時性電腦可讀媒體,其中該複數個操作包括:透過該第一使用者帳戶提供用以選擇該第一挑戰及該第二挑戰之一執行序列的一選項;透過該第一使用者帳戶接收該序列;根據該序列裝訂該第一複數個基本區塊與該第二複數個基本區塊;透過一第二使用者帳戶接收請求執行該元遊戲的一使用者輸入;及回應於透過該第二使用者帳戶接收到該使用者輸入而以該序列執行該第一複數個基本區塊及該第二複數個基本區塊。
  19. 如請求項17之非暫時性電腦可讀媒體, 其中該複數個操作包括:透過該第一使用者帳戶接收用以建立用於該元遊戲之一領先計分板的一第四使用者輸入;回應於該第四使用者輸入而建立該領先計分板,其中該領先計分板包括在玩該第一挑戰期間透過該第一使用者帳戶累積之一第一點數與在玩該第二挑戰期間透過該第一使用者帳戶累積之一第二點數的一總數;將該總數公佈至該領先計分板;在玩該元遊戲期間接收在一第二使用者帳戶中累積之一點數;判斷該總數是否超過在該第二使用者帳戶中累積之該點數;及判定該總數及在該第二使用者帳戶中累積之該點數的一顯示次序。
  20. 如請求項17之非暫時性電腦可讀媒體,其中該複數個操作包括:將一獎盃附加至該元遊戲;透過一第二使用者帳戶接收對玩該元遊戲的一請求;判定透過該第二使用者帳戶玩該元遊戲期間累積之一點數是否超過一預定限制;回應於判定在玩該元遊戲期間累積之該點數超過該預定限制,將該獎盃授予該第二使用者帳戶。
TW111111915A 2021-04-01 2022-03-29 用於自舊有遊戲產生元遊戲之系統及方法 TWI809786B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US17/220,227 2021-04-01
US17/220,227 US11504628B2 (en) 2021-04-01 2021-04-01 Systems and methods for generating a meta-game from legacy games

Publications (2)

Publication Number Publication Date
TW202247876A TW202247876A (zh) 2022-12-16
TWI809786B true TWI809786B (zh) 2023-07-21

Family

ID=81307831

Family Applications (1)

Application Number Title Priority Date Filing Date
TW111111915A TWI809786B (zh) 2021-04-01 2022-03-29 用於自舊有遊戲產生元遊戲之系統及方法

Country Status (6)

Country Link
US (1) US11504628B2 (zh)
EP (1) EP4313338A1 (zh)
JP (1) JP2024513862A (zh)
CN (1) CN117136092A (zh)
TW (1) TWI809786B (zh)
WO (1) WO2022212178A1 (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060046824A1 (en) * 2004-08-25 2006-03-02 Igt Emulation in a secure regulated environment
US20140094314A1 (en) * 2012-09-28 2014-04-03 Brian Michael Christopher Watson Method for creating a mini-game
TW201831222A (zh) * 2013-03-07 2018-09-01 美商Cfph有限責任公司 幻想遊戲
CN110548283A (zh) * 2018-05-31 2019-12-10 索尼互动娱乐有限责任公司 挑战游戏系统
CN111936213A (zh) * 2018-01-08 2020-11-13 索尼互动娱乐有限责任公司 利用社交参与度生成元游戏资源

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10406429B2 (en) 2012-08-29 2019-09-10 Sony Interactive Entertainment, LLC User-based mini-game generation and distribution
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

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060046824A1 (en) * 2004-08-25 2006-03-02 Igt Emulation in a secure regulated environment
US20140094314A1 (en) * 2012-09-28 2014-04-03 Brian Michael Christopher Watson Method for creating a mini-game
TW201831222A (zh) * 2013-03-07 2018-09-01 美商Cfph有限責任公司 幻想遊戲
CN111936213A (zh) * 2018-01-08 2020-11-13 索尼互动娱乐有限责任公司 利用社交参与度生成元游戏资源
CN110548283A (zh) * 2018-05-31 2019-12-10 索尼互动娱乐有限责任公司 挑战游戏系统

Also Published As

Publication number Publication date
WO2022212178A1 (en) 2022-10-06
US20220314124A1 (en) 2022-10-06
TW202247876A (zh) 2022-12-16
JP2024513862A (ja) 2024-03-27
US11504628B2 (en) 2022-11-22
CN117136092A (zh) 2023-11-28
EP4313338A1 (en) 2024-02-07

Similar Documents

Publication Publication Date Title
US20210281633A1 (en) Systems and methods for using a distributed game engine
US11537264B2 (en) Methods and systems for providing shortcuts for fast load when moving between scenes in virtual reality
US10926177B2 (en) Systems and methods for predicting states by using a distributed game engine
US11321900B2 (en) Systems and methods for adjusting one or more parameters of a GPU
US20220360812A1 (en) Systems and methods for decoding and displaying image frames
CN117396255A (zh) 用于在玩传统游戏期间仿真图形参数和音频参数的系统和方法
US11806625B2 (en) Patch and bulk operations for a legacy game
US20220387893A1 (en) Systems and methods for coaching a user for game play
US11813522B2 (en) Systems and methods for emulation of user input during a play of a legacy game
US11360750B1 (en) Systems and methods for converting a legacy code into an updated code
TWI809786B (zh) 用於自舊有遊戲產生元遊戲之系統及方法
JP7436579B2 (ja) レガシーゲーム用aotコンパイラ
WO2022140167A1 (en) Systems and methods for converting a legacy code into an updated code
CN116635120A (zh) 用于将传统代码转换为更新代码的系统和方法