TW202319101A - 減少在反作弊資料流中的時間延遲 - Google Patents

減少在反作弊資料流中的時間延遲 Download PDF

Info

Publication number
TW202319101A
TW202319101A TW111126628A TW111126628A TW202319101A TW 202319101 A TW202319101 A TW 202319101A TW 111126628 A TW111126628 A TW 111126628A TW 111126628 A TW111126628 A TW 111126628A TW 202319101 A TW202319101 A TW 202319101A
Authority
TW
Taiwan
Prior art keywords
data
game
player
nodes
metrics
Prior art date
Application number
TW111126628A
Other languages
English (en)
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 TW202319101A publication Critical patent/TW202319101A/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/70Game security or game management aspects
    • A63F13/75Enforcing rules, e.g. detecting foul play or generating lists of cheating 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/30Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
    • A63F13/35Details of game servers
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/20Input arrangements for video game devices
    • A63F13/21Input arrangements for video game devices characterised by their sensors, purposes or types
    • A63F13/216Input arrangements for video game devices characterised by their sensors, purposes or types using geographical information, e.g. location of the game device or player using GPS
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/30Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
    • A63F13/35Details of game servers
    • A63F13/358Adapting the game course according to the network or server load, e.g. for reducing latency due to different connection speeds between clients
    • 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/70Game security or game management aspects
    • A63F13/73Authorising game programs or game devices, e.g. checking authenticity
    • 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/70Game security or game management aspects
    • A63F13/79Game security or game management aspects involving player-related data, e.g. identities, accounts, preferences or play histories
    • 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/50Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers
    • A63F2300/53Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers details of basic data processing
    • A63F2300/534Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers details of basic data processing for network load management, e.g. bandwidth optimization, latency reduction
    • 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/50Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers
    • A63F2300/55Details of game data or player data management
    • A63F2300/5546Details of game data or player data management using player registration data, e.g. identification, account, preferences, game history
    • 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/50Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers
    • A63F2300/55Details of game data or player data management
    • A63F2300/5586Details of game data or player data management for enforcing rights or rules, e.g. to prevent foul play

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Computer Security & Cryptography (AREA)
  • Business, Economics & Management (AREA)
  • General Business, Economics & Management (AREA)
  • Human Computer Interaction (AREA)
  • Software Systems (AREA)
  • Environmental & Geological Engineering (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Information Transfer Between Computers (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本文中描述用於產生並儲存度量之系統及方法。特定言之,一遊戲伺服器可接收來自經由一網路連線至該遊戲伺服器之一或多個用戶端裝置之遊戲活動資料。該遊戲伺服器將該活動資料發送至一反作弊伺服器,該反作弊伺服器使用一或多個節點以各計算該活動資料之一部分以產生一或多個度量。該等度量可指示該資料是否指示一平行實境遊戲內之作弊行為。該等節點使用經準備插入陳述式將其等各自經產生度量新增至一關聯式資料庫。若該等度量指示在該資料內展現作弊行為,則該反作弊伺服器可指示該遊戲伺服器關於一或多個用戶端裝置採取動作。

Description

減少在反作弊資料流中的時間延遲
本發明係關於資料處理且特定言之,係關於在一預定集合中之節點處處理資料且經由節點儲存資料。
問題
電腦網路係交換資料之運算裝置之互連集合。可針對包含擴增實境應用程式之數個應用程式在運算裝置與一或多個伺服器之間進行資料之交換,其中一高時間延遲會影響使用擴增實境應用程式之使用者之體驗。一或多個伺服器可需要接收大量資料且基於一應用程式在一給定時間段內使用之資料計算度量。通常,一或多個伺服器在計算時使用一組合器,此阻止一或多個伺服器能夠儲存資料及度量(或將資料及度量發送至一或多個運算裝置)直至全部計算已完成。此外,一或多個伺服器可將資料儲存於具有有限資料流之一資料庫中或以其他方式將資料與速率受限之一介面(例如,一應用程式設計介面)一起使用。因此,在資料之產生與相關度量之計算之間可存在顯著滯後,此對於依賴於該等度量之應用程式之效能可係不利的。因此,需要用於以減少之時間延遲計算度量並儲存資料之一系統。
存在其中可期望在一有限時間段內處理並儲存大量資料之各種應用程式。例如,在一平行實境遊戲中,一反作弊伺服器可僅具有一有限時間窗(例如,三十分鐘或更少)以處理來自一遊戲伺服器之一臨限批次量(例如,一小時之值)之玩家活動資料,以識別指示作弊之活動資料。若反作弊伺服器處理資料之時間長於此有限時間窗,則直至下一批資料變得可用之後才可完成處理。因此,反作弊伺服器可在處理中落後或其可跳過一些活動資料,使其未經分析。使用現有技術,反作弊伺服器在處理之前可能需要等待直至全部資料已被接收,且在儲存經處理資料或將其傳遞至一系統以採取動作之前完成全部處理。
此及其他問題可藉由使節點平行化以在處理期間獨立地計算並儲存度量而解決。若用於儲存度量之一資料庫具有可一次寫入至資料庫之數個節點之一流量限制,則可藉由在獨立節點處平行處理資料使得各節點在其完成處理時將資料寫入至資料庫而非當全部節點已完成處理時來減少時間延遲。
在各項實施例中,用於處理資料之一方法包含一反作弊伺服器接收來自一或多個用戶端裝置之資料。反作弊伺服器之一資料接收模組將資料廣播至可包含於反作弊伺服器中或在反作弊伺服器外部之節點之一預定集合。在一些實施例中,資料接收模組可使用combine.globally.withfanout廣播資料。各節點可處理其接收之資料以產生一或多個度量而無需等待完整資料集合被接收。各節點可使用經準備插入陳述式寫入至一關聯式資料庫。在一些實施例中,關聯式資料庫可為PostgreSQL。
在一些實施例中,資料係經處理以識別潛在作弊行為之一平行實境遊戲之玩家之活動資料。反作弊伺服器藉由經由一範圍掃描存取一經壓縮資料儲存系統(例如,BigTable)而擷取平行實境遊戲之玩家之識別符之一清單。分析活動資料以自與一玩家相關聯之活動資料計算指示該玩家是否可能作弊(例如,欺騙其等位置)之一或多個度量。反作弊伺服器可擷取與識別符清單中之識別符相關聯之活動資料。反作弊伺服器在各節點處計算資料之一部分以產生一或多個度量。度量可指示資料是否指示在一平行實境遊戲期間由玩家執行之作弊行為。
圖及以下描述僅藉由圖解描述特定實施例。熟習此項技術者將自以下描述認知,可採用結構及方法之替代實施例而不脫離所述原理。在可實踐之情況下,在圖中使用類似或相同元件符號以指示類似或相同功能性。在元件共用一共同數字,接著為一不同字母之情況下,此指示元件類似或相同。單獨對數字之一引用通常係指此等元件之任一者或任何組合,除非背景內容另外指示。
在包含與真實世界地理之至少一部分平行使得真實世界中之玩家移動及動作影響虛擬世界中之動作且反之亦然的一虛擬世界地理中之擴增實境內容之一平行實境遊戲的內容背景中描述各項實施例(關於圖7至圖8進一步描述例示性平行實境遊戲)。所述標的適用於其中可期望產生並儲存度量之其他情境中。另外,基於電腦之系統之固有靈活性容許任務及功能性在系統之組件之間及當中之各種各樣的可能組態、組合及劃分。 例示性運算環境
圖1繪示根據一項實施例之用於一遊戲伺服器130之一環境100 (本文中亦稱為一電腦網路)。為了清楚起見,圖使用方塊圖繪示一簡化實例。環境100包含三個用戶端裝置110、一網路120、一遊戲伺服器130及一反作弊伺服器140。環境100包含一用戶端-伺服器架構,其中一遊戲伺服器130經由網路120與用戶端裝置110通訊以將一或多個平行實境遊戲提供給用戶端裝置110處之玩家。在其他實施例中,環境100可包含更少、額外或其他組件,諸如贊助商/廣告商或商業系統、額外用戶端裝置110、網路120、遊戲伺服器130及反作弊伺服器140或其他網路節點。此外,組件之功能性可以不同於下文所述之方式分散。
網路連線之運算環境100提供具有與真實世界平行之一地理之一虛擬世界中的玩家互動。特定言之,真實世界中之一地理區域可直接連結或映射至虛擬世界中之一對應區域。一玩家可藉由移動至真實世界中之各種地理位置而在虛擬世界中四處移動。例如,一玩家在真實世界中之位置可被追蹤且用於更新玩家在虛擬世界中之位置。通常,藉由找到玩家透過其與虛擬世界互動之一用戶端裝置110之位置且假定玩家在相同(或近似相同)位置處來判定玩家在真實世界中之位置。例如,在各項實施例中,若玩家在真實世界中之位置在對應於虛擬世界中之一虛擬元素之虛擬位置的真實世界位置之一臨限距離(例如,十米、二十米等)內,則玩家可與該虛擬元素互動。為了方便起見,參考「玩家之位置」描述各項實施例,但熟習此項技術者將瞭解,此等參考可指代玩家之用戶端裝置110之位置。
用戶端裝置110 (亦稱為「用戶端」)係玩家可使用其與遊戲伺服器100互動之運算裝置。例如,一用戶端裝置110可為一智慧型電話、攜帶型遊戲裝置、平板電腦、個人數位助理(PDA)、蜂巢式電話、導航系統、手持式GPS系統或其他此裝置。一用戶端裝置110可執行軟體(例如,一遊戲應用程式或應用軟體)以容許一玩家與虛擬世界互動。一用戶端裝置110亦可包含用於為一平行實境遊戲(在本文中亦稱為一基於位置之遊戲)提供一使用者介面之硬體、軟體或兩者。此外,一用戶端裝置110可為具有一內建運算裝置之一車輛。關於圖2進一步描述一用戶端裝置。
網路120可為任何類型之通訊網路,諸如一區域網路(例如,內部網路)、廣域網路(例如,網際網路)或其等之某一組合。網路120亦可包含一用戶端110與遊戲伺服器130之間之一直接連線。一般言之,遊戲伺服器130與一用戶端110之間之通訊可經由一網路介面使用任何類型之有線及/或無線連線使用各種通訊協定(例如,TCP/IP、HTTP、S1v1TP、FTP)、編碼或格式(例如,HTML、JSON、XML)及/或保護方案(例如,VPN、安全HTTP、SSL)攜載。
遊戲伺服器130代管平行實境遊戲之一主控狀態且將遊戲狀態更新提供至玩家之用戶端裝置110 (例如,基於由遊戲中之其他玩家採取之動作、真實世界條件之改變、遊戲狀態或條件之改變等)。遊戲伺服器130接收並處理平行實境遊戲中之玩家之動作。遊戲伺服器130可將資料發送至反作弊伺服器140以供處理且接收來自反作弊伺服器140之關於要關於玩家採取之措施的資訊。關於圖3進一步描述遊戲伺服器130。
反作弊伺服器140基於自遊戲伺服器130 (或在一些實施例中,用戶端裝置110)接收之資料計算並儲存度量。反作弊伺服器140可針對各種系統及應用程式計算並儲存度量但在本文中針對一平行實境遊戲(例如,其中玩家在平行世界中之位置與其等在遊戲世界中之位置相關之一共用AR環境)描述。例如,反作弊伺服器140接收資料以儲存於一關聯式資料庫中。資料可為描述發生在平行實境遊戲中之動作之活動資料。度量可與識別可能對應於平行實境遊戲中之作弊行為之活動資料相關。反作弊伺服器140採用複數個節點以基於資料計算度量且在計算完成時儲存度量。分散計算及儲存使得容許反作弊伺服器140減少計算及儲存度量時之時間延遲。關於圖4進一步描述反作弊伺服器140。
本發明參考伺服器、資料庫、軟體應用程式及其他基於電腦之系統以及所採取之動作及發送至此等系統及自此等系統發送之資訊。一般技術者將認知,基於電腦之系統之固有靈活性容許任務及功能性在組件之間及當中之各種各樣的可能組態、組合及劃分。例如,揭示為藉由一伺服器實施之程序可使用一單一伺服器或組合工作之多個伺服器實施。資料庫及應用程式可在一單一系統上實施或跨多個系統分散。分散式組件可循序或平行操作。
在其中所論述系統及方法存取及分析關於使用者之個人資訊或利用個人資訊(諸如位置資訊)之情境中,可為使用者提供控制程式或特徵是否收集資訊及控制是否或如何自系統或其他應用程式接收內容的一機會。在向使用者提供將要收集什麼資訊及如何使用資訊之有意義的通知之前,不收集或使用此種資訊或資料。除非使用者提供同意,否則不收集或使用資訊,使用者可隨時撤銷或修改該同意。因此,使用者可控制如何收集關於使用者之資訊及資訊如何藉由應用程式或系統使用。另外,可在儲存或使用特定資訊或資料之前以一或多種方式處置該特定資訊或資料,使得移除個人可識別資訊。例如,可處置一使用者之身份,使得無法判定使用者之個人可識別資訊。 例示性用戶端裝置
圖2係根據一項實施例之圖1中展示之一用戶端裝置110之一方塊圖。由於遊戲伺服器130可提供一基於位置之遊戲,故用戶端裝置110較佳係可容易攜帶或以其他方式與一玩家一起運輸之一攜帶型運算裝置,諸如一智慧型電話或其他攜帶型裝置。一玩家可僅藉由在現實世界中攜帶或運輸用戶端裝置110而與虛擬世界互動。
用戶端裝置110可與遊戲伺服器130通訊以提供一實體環境之感覺資料。在一項實施例中,用戶端裝置110包含一相機總成212、一遊戲模組214、一定位模組216、一當地語系化模組218及一本端資料儲存器240。用戶端裝置110亦包含用於經由網路120提供通訊之一網路介面(未展示)。在各項實施例中,用戶端裝置110可包含不同或額外組件,諸如額外感測器、顯示器及軟體模組等。
相機總成212包含可擷取影像資料之一或多個相機。相機以一特定姿勢(相機在環境內之位置及定向)擷取描述用戶端裝置110周圍之環境之一場景之影像資料。相機總成212可使用具有不同色彩擷取範圍及不同擷取速率之各種光感測器。類似地,相機總成212可包含具有一系列不同鏡頭(諸如一廣角鏡頭或一望遠鏡頭)之相機。相機總成212可經組態以擷取單一影像或多個影像作為一視訊之圖框。
用戶端裝置110亦可包含用於收集關於用戶端裝置周圍之環境之資料之額外感測器,諸如移動感測器、加速度計、陀螺儀、氣壓計、溫度計、光感測器、麥克風等。由相機總成212擷取之影像資料可附加描述關於影像資料之其他資訊之後設資料,諸如額外感測資料(例如,溫度、環境之亮度、氣壓、位置、姿勢等)或擷取資料(例如,曝光長度、快門速度、焦距、擷取時間等)。
用戶端裝置110可包含監測用戶端裝置110在真實世界中之位置之一定位裝置210。定位裝置210可為用於監測用戶端110之位置之任何裝置或電路。例如,定位裝置210可藉由使用一衛星導航定位系統(例如,一GPS系統、一伽利略(Galileo)定位系統、全球導航衛星系統(GLONASS)、BeiDou衛星導航及定位系統)、一慣性導航系統、一航位推算系統、基於IP位址、藉由使用三角量測及/或與蜂巢式塔或WiFi熱點之近接性及/或用於判定位置之其他適合技術來判定實際或相對位置。
遊戲模組214向一玩家提供一介面以參與平行實境遊戲。遊戲伺服器320經由網路120將遊戲資料傳輸至用戶端裝置110以供遊戲模組214使用以將遊戲之一本端版本提供至在遊戲伺服器遠端之位置處之一玩家。在一項實施例中,遊戲模組214在用戶端裝置110之一顯示器上呈現一使用者介面,該使用者介面描繪一虛擬世界(例如,呈現虛擬世界之影像)且容許一使用者與虛擬世界互動以執行各種遊戲目標。在一些實施例中,遊戲模組214呈現使用來自平行實境遊戲之虛擬元素擴增之真實世界之影像(例如,由相機總成212擷取)。在此等實施例中,遊戲模組214可根據自用戶端裝置110之其他組件接收之其他資訊產生或調整虛擬內容。例如,遊戲模組214可根據在影像資料中擷取之場景之一深度圖調整待顯示於使用者介面上之一虛擬物件。
遊戲模組214亦可控制各種其他輸出以容許一玩家與遊戲互動而不需要玩家觀看一顯示螢幕。例如,遊戲模組214可控制各種音訊、振動或容許玩家在不查看顯示螢幕之情況下玩遊戲之其他通知。
定位模組216可為用於判定用戶端裝置110之位置之任何裝置或電路。例如,定位模組216可藉由使用一衛星導航定位系統(例如,一GPS系統、一伽利略定位系統、全球導航衛星系統(GLONASS)、BeiDou衛星導航及定位系統)、一慣性導航系統、一航位推算系統、IP位址分析、三角量測及/或與蜂巢式塔或Wi-Fi熱點之近接性或其他適合技術來判定實際或相對位置。
在玩家與用戶端裝置110一起在真實世界中四處移動時,定位模組216追蹤玩家之位置且將玩家位置資訊提供至遊戲模組214。遊戲模組214基於玩家在真實世界中之實際位置更新與遊戲相關聯之虛擬世界中之玩家位置。因此,一玩家可簡單藉由在真實世界中攜帶或運輸用戶端裝置110而與虛擬世界互動。特定言之,玩家在虛擬世界中之位置可對應於玩家在真實世界中之位置。遊戲模組214可經由網路120將玩家位置資訊提供至遊戲伺服器320。作為回應,遊戲伺服器320可實施各種技術來驗證用戶端裝置110之位置以防止騙子欺騙其等位置。應理解,僅在一玩家已被通知將存取玩家之位置資訊及將如何在遊戲之背景中利用位置資訊(例如,用於更新虛擬世界中之玩家位置)之後授予許可之情況下利用與該玩家相關聯之位置資訊。另外,以保護玩家隱私之一方式儲存及維持與玩家相關聯之任何位置資訊。
當地語系化模組218接收由定位模組216針對用戶端裝置110判定之位置且藉由判定相機總成212之一或多個相機之一姿勢而細化該位置。在一項實施例中,當地語系化模組218使用由定位模組216產生之位置以選擇用戶端裝置110周圍之環境之一3D圖。當地語系化模組218可獲得來自本端儲存器或來自遊戲伺服器320之3D圖。3D圖可為一點雲、網格或用戶端裝置110周圍之環境之任何其他適合3D表示。
在一項實施例中,當地語系化模組218應用一經訓練模型以判定由相機總成212擷取之影像相對於3D圖之姿勢。因此,當地語系化模型可判定用戶端裝置110之位置及定向之一準確(例如,在數公分及度內)判定。可接著使用基於感測器讀數、週期性重新定位或兩者之一組合之航位推算隨著時間追蹤用戶端裝置110之位置。具有用戶端裝置110之一準確姿勢可使遊戲模組214能夠以給予虛擬物件正在與真實世界互動之印象之一方式呈現覆疊在真實世界之影像上(例如,藉由結合來自相機總成212之一即時饋送將虛擬元素顯示於一顯示器上)或真實世界自身上(例如,藉由將虛擬元素顯示於一AR頭戴耳機之一透明顯示器上)之虛擬內容。例如,一虛擬角色可躲藏在一真實樹後方,一虛擬帽子可放置於一真實雕像上,或若一真人太快地接近一虛擬生物,則該虛擬生物可跑並躲藏。
本端資料儲存器240係經組態以儲存由用戶端裝置110使用之資料之一或多個電腦可讀媒體。例如,本端資料儲存器240可儲存由定位模組216追蹤之玩家位置資訊、平行實境遊戲之當前狀態之一本端複本或另一其他適當資料。雖然將本端資料儲存器240展示為一單一實體,但資料可跨多個媒體分割。此外,資料可儲存於其他處(例如,一分散式資料庫中)且經由網路120遠端存取。 例示性遊戲伺服器
遊戲伺服器130包含向用戶端裝置110提供遊戲功能性之一或多個運算裝置。圖3繪示適用於代管一平行實境遊戲之遊戲伺服器130之一項實施例。在所展示實施例中,遊戲伺服器130包含一通用遊戲模組321、一商業遊戲模組323、一資料收集模組324、一事件模組326、一映射系統327、一3D圖328、一資料管理模組330及一遊戲資料庫331。在其他實施例中,遊戲伺服器130含有不同或額外元件且可包含為了提供對於除一平行實境遊戲之外之應用程式及系統之處理之目的之模組。另外,功能可以與所述之一不同方式分散於元件當中。
遊戲伺服器331可為遊戲伺服器320之部分或與伺服器320分離並經遠端地存取(例如,遊戲資料庫331可為經由網路120存取之一分散式資料庫)。遊戲資料庫331儲存在平行實境遊戲中使用之遊戲資料以經由網路120向用戶端裝置110伺服或提供。儲存於遊戲資料庫331中之遊戲資料可包含:(1)與平行實境遊戲中之虛擬世界相關聯之資料(例如,用於在一顯示裝置上呈現虛擬世界之影像資料、虛擬世界中之地理位置座標等);(2)與平行實境遊戲之玩家相關聯之資料(例如,玩家個人檔案,包含但不限於玩家資訊、玩家經驗等級、玩家貨幣、虛擬世界/真實世界中之當前玩家位置、玩家能量等級、玩家偏好、團隊資訊、派系資訊等);(3)與遊戲目標相關聯之資料(例如,與當前遊戲目標相關聯之資料、遊戲目標之狀態、過去遊戲目標、未來遊戲目標、所要遊戲目標等);(4)與虛擬世界中之虛擬元素相關聯之資料(例如,虛擬元素之位置、虛擬元素之類型、與虛擬元素相關聯之遊戲目標;虛擬元素之對應現實世界位置資訊;虛擬元素之行為、虛擬元素之相關性等);(5)與連結至虛擬世界元素之真實世界物件、地標、位置相關聯之資料(例如,真實世界物件/地標之位置、真實世界物件/地標之描述、連結至真實世界物件之虛擬元素之相關性等);(6)遊戲狀態(例如,當前玩家數目、遊戲目標之當前狀態、玩家排行榜等);(7)與玩家動作/輸入相關聯之資料(例如,當前玩家位置、過去玩家位置、玩家移動、玩家輸入、玩家查詢、玩家通訊等);或(8)在平行實境遊戲之實施期間使用、相關或獲得之任何其他資料。儲存於遊戲資料庫331中之遊戲資料可由系統管理員或由自系統300之使用者(例如,玩家)(諸如經由網路120自一用戶端裝置110)接收之資料離線地或即時地填入。
遊戲伺服器130可經組態以(例如經由遠端程序呼叫(RPC))自一或多個用戶端裝置110接收對遊戲資料之請求,且經由網路120對該等請求作出回應。遊戲伺服器130可將遊戲資料編碼於一或多個資料檔案中且將資料檔案提供至一用戶端裝置110。另外,遊戲伺服器130可經組態以經由網路120自一或多個用戶端裝置110接收遊戲資料(例如,玩家位置、玩家動作、玩家輸入等)且基於遊戲資料計算度量。例如,用戶端裝置110可經組態以將玩家輸入、玩家位置及其他更新週期性地發送至遊戲伺服器130,遊戲伺服器130使用玩家輸入、玩家位置及其他更新來更新遊戲資料庫331中之遊戲資料以反映遊戲之已改變狀況。遊戲伺服器130亦可將遊戲資料及經計算度量發送至用戶端裝置110。
通用遊戲模組321代管一組玩家(例如,平行實境遊戲之全部玩家)之平行實境遊戲之一例項,且充當該組玩家之平行實境遊戲之當前狀態的權威來源。作為主機,通用遊戲模組321產生遊戲內容以(例如經由玩家之各自用戶端裝置110)呈現給玩家。通用遊戲模組321可在代管平行實境遊戲時存取遊戲資料庫331以擷取或儲存遊戲資料。通用遊戲模組321亦可接收來自用戶端裝置110之遊戲資料(例如,深度資訊、玩家輸入、玩家位置、玩家動作、玩家狀態、地標資訊等),且針對平行實境遊戲之整組玩家將所接收之遊戲資料併入至整體平行實境遊戲中。通用遊戲模組321亦可管理經由網路120將遊戲資料遞送至用戶端裝置110。在一些實施例中,通用遊戲模組321亦管控用戶端裝置110與平行實境遊戲之互動之安全性態樣,諸如保全用戶端裝置與遊戲伺服器320之間之連線,建立各種用戶端裝置之間之連線或驗證各種用戶端裝置110之位置以防止玩家藉由欺騙其等位置而作弊。
商業遊戲模組323可與通用遊戲模組321分離或為通用遊戲模組321之一部分。商業遊戲模組323可管理在平行實境遊戲內包含與真實世界中之一商業活動連結之各種遊戲特徵。例如,商業遊戲模組323可經由網路120自外部系統(諸如贊助商/廣告商、企業或其他實體)接收將與商業活動連結之遊戲特徵包含於真實世界中的請求。接著,商業遊戲模組323可配置為在確認已發生經連結商業活動之後將此等遊戲特徵包含於平行實境遊戲中。例如,若一企業向平行實境遊戲之提供者支付一商定金額,則識別企業之一虛擬物件可呈現在平行實境遊戲中於對應於企業(例如,一商店或餐廳)之一真實世界位置之一虛擬位置處。
資料收集模組324可與通用遊戲模組321分離或為通用遊戲模組321之一部分。資料收集模組324可管理將與真實世界中之一資料收集活動連結之各種遊戲特徵包含於平行實境遊戲內。例如,資料收集模組324可修改儲存於遊戲資料庫331中之遊戲資料以將與資料收集活動連結之遊戲特徵包含於平行實境遊戲中。資料收集模組324亦可分析由玩家依照資料收集活動收集之資料且提供資料以供各種平台存取。
事件模組326管理對平行實境遊戲中之事件之玩家存取。雖然為了方便起見使用術語「事件」,但應瞭解,此術語不需要指代在一特定位置或時間之一特定事件。實情係,其可指代存取受控遊戲內容之任何佈建,其中一或多個存取準則用於判定玩家是否可存取該內容。此內容可為包含具有較少或無存取控制之遊戲內容之一較大平行實境遊戲之部分或可為一獨立、存取受控之平行實境遊戲。
映射系統327基於一影像集合產生一地理區域之一3D圖。3D圖可為一點雲、多邊形網格或地理區域之3D幾何形狀之任何其他適合表示。3D圖可包含語義標籤,該等語義標籤提供額外情境資訊,諸如識別物件(桌子、椅子、時鐘、燈柱、樹等)、材料(混凝土、水、磚、草等)或遊戲性質(例如,可由角色遍歷、適用於某些遊戲內動作等)。在一項實施例中,映射系統327將3D圖連同任何語義/情境資訊一起儲存於3D圖儲存器328中。可結合位置資訊(例如,3D圖之中心之GPS座標、界定3D圖之範圍之一環形圍欄或類似者)將3D圖儲存於3D圖儲存器328中。因此,遊戲伺服器320可將3D圖提供至用戶端裝置110,用戶端裝置110提供指示其等在由3D圖涵蓋之地理區域內或附近之位置資料。
資料管理模組330可與資料收集模組324分離或為資料收集模組324之一部分。資料管理模組330將資料傳達至反作弊伺服器140以供處理且接收由反作弊伺服器140判定之若資料指示作弊行為則要採取之措施,如關於圖4描述。特定言之,資料管理模組330接收來自一或多個用戶端裝置110、遊戲資料庫331或經由網路120連線至遊戲伺服器130之其他伺服器之資料。資料可為描述由玩家經由用戶端裝置110在平行實境遊戲內執行之動作(例如,玩家已採取之動作、採取動作之時間、在採取動作時玩家移動地多快等)。在一些實施例中,代替自動接收資料,資料管理模組330可擷取平行實境遊戲之玩家(或玩家之用戶端裝置110)之識別符之一清單且可擷取與清單中之識別符相關聯之資料(例如,來自相關用戶端裝置110或遊戲資料庫331)。在一些實施例中,資料管理模組330可藉由經由一範圍掃描存取儲存與識別符相關之活動資料之一經壓縮資料儲存系統而擷取與識別符相關聯之活動資料。經壓縮資料儲存系統可為遊戲資料庫331之部分或在一些實施例中,可為BigTable或標準雲端儲存器。資料管理模組330將經擷取資料發送至反作弊伺服器140以判定度量且關於若資料指示作弊行為則要採取之動作與反作弊伺服器140進行通訊。 例示性反作弊伺服器
圖4繪示反作弊伺服器140之一項實施例。反作弊伺服器140包含一資料接收模組405、複數個節點410 (在圖4中標記為410A、410B、…、410N)及一資料儲存模組415。資料儲存模組415包含一干預模組420、一關聯式資料庫425、一干預資料庫430及一索引鍵值儲存器435。雖然反作弊伺服器140被描述並繪示為一單一伺服器,但其可使用多個伺服器實施。反作弊伺服器140可包含比所繪示之更少、額外或其他組件。在一些實施例中,節點410可在反作弊伺服器140外部,且反作弊伺服器140可經由接收模組350及資料儲存模組415與節點410通訊。
資料接收模組405接收來自遊戲伺服器130 (例如,資料管理模組330)之資料且分析資料以判定將資料儲存在何處或發送資料以供分析。針對指示一用戶端裝置110之一本端狀態之資料,資料儲存模組415可將資料寫入至索引鍵值儲存器435。資料接收模組405可儲存本端狀態資料與相關聯於本端狀態資料之玩家或用戶端裝置110之一識別符(例如,一使用者或玩家姓名)且在索引鍵值儲存器中保持與各玩家及用戶端裝置110相關聯之資料之一運行記錄。在一些實施例中,索引鍵值儲存器435包含關於一玩家狀態之交易資料。索引鍵值儲存器435亦可包含以下之一或多者:(1)一玩家或用戶端裝置110在一時間段內之位置歷史(例如,最近30天內之位置歷史);(2)對一玩家或用戶端裝置110應用之過去及當前措施;(3)關於一玩家之遊戲工作階段及針對該等工作階段產生之信號(例如,資料)之資訊。當一玩家在遊戲中在活動中時,可產生待儲存於索引鍵值儲存器435中之一玩家或用戶端裝置110之資料且將該資料傳送至反作弊伺服器140。
針對指示玩家之動作之資料(例如,非儲存於索引鍵值儲存器435中之資料),資料接收模組405可將資料廣播至一或多個節點410。在一些實施例中,資料接收模組405在接收來自遊戲伺服器130之全部資料之前將資料廣播至節點410。
在一些實施例中,資料接收模組405使用combine.globally.withfanout廣播資料。combine.globally.withfanout係用於分散式資料處理之一分治法(divide-and-conquer)之方法。一般言之,當資料之一部分具有多於資料之其他部分之負載時可使用其。因此,combine.globally.withfanout實現不均勻負載分散之處理之調諧。具體言之,combine.globally.withfanout使一人能夠定義數個中間工作者(例如,節點、子節點或分區(shard))。此等工作者運算部分結果。一旦中間節點已完成指派至其等之工作,便可將結果發送至一最終工作者(例如,一最終節點)。最終工作者負責在一最終組合步驟中合併此等結果。combine.globally.withfanout可包含指定在最終運算之前待進行之中間步驟之數目之一參數。
在一些實施例中,資料接收模組405可基於來自一外部操作者之輸入存取指示哪些節點410在預定集合中之一識別符集合。例如,資料接收模組405藉由經由一範圍掃描存取一經壓縮資料儲存系統(例如,GCP BigTable或Apache HBase)而擷取平行實境遊戲之玩家之識別符(例如,各遊戲工作階段之使用者或玩家姓名或玩家之唯一識別符)之一清單。經壓縮資料儲存器儲存與一玩家玩遊戲相關之可追蹤資訊。在一些實施例中,由一玩家執行之全部玩遊戲動作被記錄並儲存於經壓縮資料儲存器中。
另外或替代地,對於基於來自一外部操作者之輸入之節點集合,資料接收模組405可判定具有分析資料之一各自子集之可用性或能力之節點410之一集合。回應於此,資料接收模組405可僅將資料之各自子集廣播至經判定集合中之節點410。例如,若一百個節點410中僅十個可用於處理,則資料接收模組405可僅將資料發送至該十個節點410。在一些例項中,資料接收模組405可在24與200個節點410之間進行選擇。
資料接收模組405可將類似(或相同)類型之資料彙總在一起且將經彙總資料發送至一單一節點。此有助於防止類似類型之資料被發送至不同節點410。此亦可有助於確保一節點準確地計算一度量。在一些實施例中,一雜湊函數用於在將資料發送至一節點之前彙總類似類型之資料。在一些實施例中,指定節點之預定集合來接收某些類型之資料。
如上文陳述,反作弊伺服器140使用複數個節點410以基於由資料接收模組405接收之資料計算度量。反作弊伺服器140可包含任何數目個節點410。節點410係可接收、操縱、產生並傳達資料之獨立處理單元。例如,一節點(例如,410A)係處理資源(諸如一CPU、一RAM及儲存器)之一集合。在一些實施例中,節點410係GOOGLE CLOUD SPANNER之spanner節點。在一些實施例中,各節點(或節點集合)彼此獨立地寫入至關聯式資料庫425 (而非節點完成處理,彙總結果且接著一次將全部經彙總結果寫入至關聯式資料庫425之全部)。
各節點410使用經接收資料以產生一或多個度量。例示性度量包含:一作弊指示符或作弊信號、產生作弊指示符或信號之一事件、一用戶端裝置品牌、一背景工作階段ID、偵測到作弊時之一時間戳記、一工作階段類型(例如,前景或冒險同步或健身相關工作階段)或一用戶端裝置OS版本。度量可指示玩家之哪些動作(由資料描述)指示平行實境遊戲內之作弊行為。違反平行實境遊戲之一或多個規則之動作(例如,移動快於一臨限速度、地理位置欺騙等)指示作弊行為。在一些實施例中,節點可使用經訓練以在一資料集合中偵測作弊行為之指示之一或多個機器學習模型。各機器學習模型可輸出資料集合指示作弊行為之一概率(例如,度量)。若概率高於一臨限值,則節點可產生作弊行為之一指示以與資料一起儲存為一度量。
在一些實施例中,一節點包含接收來自資料接收模組405之資料之一累積層。在累積層接收臨限量之資料之後,節點可開始計算一度量。臨限值自身可取決於待接收之資料或待計算之度量之類型。在一些情況中,節點可在已接收臨限量之資料之後繼續接收新資料。在此等情況中,節點可將新接收之資料併入用於判定度量之其計算中。因此,一節點可在其接收一度量之全部相關資料之前開始計算該度量。除其他優點之外,此亦更有效地利用節點之處理時間,此係因為其可(例如,立即)開始工作而非等待整批資料被接收。
由於各節點基於經接收資料產生度量,故節點將度量儲存於關聯式資料庫425中。顧名思義,關聯式資料庫425係一關聯式資料庫,諸如一PostgreSQL資料庫。關聯式資料庫提供在非關聯式資料庫中不可用之許多功能性。例如,一關聯式資料庫可提供在非關聯式資料庫中不可用之容錯能力。然而,關聯式資料庫之寫入操作可能速率受限,此使得難以一次將大量資料寫入至一關聯式資料庫。因此,容許節點410獨立地在不同時間將資料寫入至關聯式資料庫425可容許大量資料被寫入至關聯式資料庫425。在一些實施例中,節點410可使用經準備插入陳述式儲存度量。一經準備插入陳述式係容許資料被重複地寫入而無需重複地重新編譯寫入函數之一特徵。例如,一經準備陳述式採取資料值在各執行期間被替換為其之一經預編譯陳述式(例如,程式碼)之形式。在一些實施例中,提前創建一經準備插入陳述式且使用資料填充使得一最終節點不需要執行額外運算。在一些實施例中,節點410產生關於所創建之經準備插入陳述式之數目之一些資料點。亦可儲存此資料以改良反作弊伺服器140之可擴展性。
如本文中描述,採用節點410以用於度量計算容許反作弊伺服器140產生度量且在每一節點410完成其度量產生時將度量儲存於關聯式資料庫425中。因此,一節點可將一度量傳輸至關聯式資料庫425以供儲存而無需等待其他節點完成其等度量計算。此可改良度量計算及儲存之效率。例如,歸因於流量限制,關聯式資料庫425可能無法一次接收來自全部節點之度量。藉由使各節點在一度量計算完成時儲存其(而非等待全部其他節點),可遵守關聯式資料庫425之流量限制。此對於回應於流量受限之API呼叫或在呼叫流量受限之函數時可係有用的,使得在無時間延遲之一顯著增加之情況下遵守流量限制。
可對關聯式資料庫425中之一度量加時間戳記。例如,一度量可具有對應於以下之一時間戳記:(a)何時產生度量之資料;或(b)一玩家何時(在平行實境遊戲中)執行與度量資料相關聯之一活動。此追溯可有助於判定是否發生作弊行為。時間戳記可針對不同應用程式或使用客製化。
干預模組420可判定是否發生作弊行為且可基於在節點處產生之度量判定針對一或多個玩家要採取之措施。措施可包含向一玩家發送一警告,在一段時間內禁止一玩家參與平行實境遊戲、永久暫停一玩家參與平行實境遊戲或基於資料中存在之作弊行為所採取之任何其他動作。在判定一或多個節點已在關聯式資料庫425處儲存新度量之後,干預模組420可擷取來自關聯式資料庫425之度量。干預模組420可比較度量與一或多個臨限值且基於經比較度量判定要針對與度量相關聯之玩家採取之措施。在一些實施例中,干預模組420亦可基於針對玩家採取之先前措施及/或針對玩家計算之先前度量判定措施。例如,干預模組420可採用一「罷工」系統,其中針對一玩家偵測之作弊行為之各例項呈報所採取措施(例如,第一罷工將導致一警告,第二罷工將導致一一天禁令等)。
干預模組420將與玩家相關聯之措施儲存於干預資料庫430中。干預模組420可關於經判定措施與遊戲伺服器130進行通訊使得遊戲伺服器130可實施此等措施且可更新干預資料庫430以反映何時已採取措施。 例示性方法
圖5繪示根據一項實施例之用於產生度量且將度量儲存於一關聯式資料庫中之一程序500。圖5之步驟係自執行方法500之一反作弊伺服器(例如,140)之組件之視角繪示。然而,一些或全部步驟可由其他實體或組件執行。另外,一些實施例可平行執行步驟、以不同順序執行步驟或執行不同步驟。方法500之一或多個步驟可儲存於一非暫時性電腦可讀儲存媒體上。
反作弊伺服器接收510來自一或多個用戶端裝置110之資料(例如,資料接收模組405經由一遊戲伺服器(例如,130)接收資料)。在一些實施例中,反作弊伺服器另外或替代地接收來自其他伺服器或運算裝置之資料。反作弊伺服器之一組件(例如,資料接收模組405)將資料廣播520至反作弊伺服器之一或多個節點(例如,410)。節點可在節點之一預定集合中。預定集合中之節點410可由反作弊伺服器140基於其等處理資料之可用性及/或由一外部操作者指示之節點410之一數目預選擇。在一些實施例中,節點之數目由一外部操作者選擇。各節點計算530資料之一部分以產生一或多個度量。度量可指示是否在資料之一部分中偵測作弊行為。各節點在完成其個別產生度量之後使用經準備插入陳述式將一或多個度量新增540至一關聯式資料庫(例如,425)。
可關於併入一平行實境遊戲中之一例示性共用AR環境進一步描述圖5中之程序,其中反作弊伺服器分析來自用戶端裝置(例如,110)之資料以判定資料是否指示作弊行為。平行實境遊戲中之作弊行為之實例可為一玩家在玩遊戲時開車四處轉而非步行。一遊戲伺服器(例如,130)可接收來自主動為玩家提供用於平行實境遊戲之共用AR環境之複數個用戶端裝置之資料。遊戲伺服器可將資料發送至反作弊伺服器,該反作弊伺服器使用節點以產生一或多個度量。反作弊伺服器之一資料接收模組(例如,405)可在資料接收模組接收來自遊戲伺服器之全部資料之前將資料廣播至節點。如先前陳述,節點將一或多個度量新增至關聯式資料庫。各節點在度量被產生之後便新增其各自經產生度量而非等待全部其他節點完成產生度量。若一或多個度量指示作弊行為,則反作弊伺服器可判定遊戲伺服器要關於其資料指示作弊行為之玩家採取之措施,諸如暫停或禁止玩家參與平行實境遊戲。 例示性運算系統
圖6係適合用作一用戶端裝置110或遊戲伺服器130之一例示性電腦600之一方塊圖。例示性電腦600包含耦合至一晶片組604之至少一個處理器602。晶片組604包含一記憶體控制器集線器620及一輸入/輸出(I/O)控制器集線器622。一記憶體606及一圖形配接器612耦合至記憶體控制器集線器620,且一顯示器618耦合至圖形配接器612。一儲存裝置608、鍵盤610、指標裝置614及網路配接器616耦合至I/O控制器集線器622。電腦600之其他實施例具有不同架構。
在圖6中展示之實施例中,儲存裝置608係一非暫時性電腦可讀儲存媒體,諸如一硬碟機、光碟唯讀記憶體(CD-ROM)、DVD或一固態記憶體裝置。記憶體606保持由處理器602使用的指令及資料。指標裝置614係一滑鼠、軌跡球、觸控螢幕或其他類型之指標裝置,且可與鍵盤610 (其可係一螢幕上鍵盤)組合使用以將資料輸入至電腦系統600中。圖形配接器612在顯示器618上顯示影像及其他資訊。網路配接器616將電腦系統600耦合至一或多個電腦網路(諸如網路120)。
由圖1至圖4之實體使用之電腦之類型可取決於實施例及由實體需要之處理能力而變化。例如,遊戲伺服器320可包含一起工作以提供所述功能性之多個刀鋒型伺服器。此外,電腦可缺乏上文描述之一些組件,諸如鍵盤610、圖形配接器612及顯示器618。 例示性基於位置之平行實境遊戲
圖7係與真實世界700平行之一虛擬世界710之一概念圖。虛擬世界710可充當一平行實境遊戲之玩家之遊戲板。如繪示,虛擬世界710包含與真實世界700之地理平行之一地理。特定言之,定義真實世界700中之一地理區域或空間之一座標範圍映射至定義虛擬世界710中之一虛擬空間之一對應座標範圍。真實世界700中之座標範圍可與一市鎮、鄰里、城市、校園、場所、一國家、大陸、整個地球或其他地理區域相關聯。地理座標範圍內之各地理座標映射至虛擬世界710中之一虛擬空間中之一對應座標。
一玩家在虛擬世界710中之位置對應於該玩家在真實世界700中之位置。例如,定位於真實世界700中之位置712處之玩家A具有在虛擬世界710中之一對應位置722。類似地,定位於真實世界700中之位置714處之玩家B具有在虛擬世界710中之一對應位置724。在玩家在真實世界700中之一地理座標範圍內四處移動時,玩家亦在定義虛擬世界710中之虛擬空間之座標範圍內四處移動。特定言之,與由玩家攜帶之一行動運算裝置相關聯之一定位系統(例如,一GPS系統、一當地語系化系統或兩者)可用於在一玩家巡遊真實世界700中之地理座標範圍時追蹤該玩家之位置。與玩家在真實世界700中之位置相關聯之資料用於更新玩家在定義虛擬世界710中之虛擬空間之對應座標範圍內的位置。以此方式,玩家可藉由簡單在真實世界700中之對應地理座標範圍當中行進而沿著在定義虛擬世界710中之虛擬空間之座標範圍內的一連續軌跡巡遊,而不必檢查或週期性地更新真實世界700中之特定離散位置處之位置資訊。
基於位置之遊戲可包含需要玩家前往分散在虛擬世界710中之各種虛擬位置處之各種虛擬元素或虛擬物件及/或與該等虛擬元素及/或虛擬物件互動的遊戲目標。一玩家可藉由前往虛擬元素或物件在真實世界700中之對應位置而前往此等虛擬位置。例如,一定位系統可追蹤玩家之位置,使得在玩家巡遊真實世界700時,玩家亦巡遊平行虛擬世界710。接著,玩家可與特定位置處之各種虛擬元素及物件互動以達成或執行一或多個遊戲目標。
一遊戲目標可使玩家與定位於虛擬世界710中之各種虛擬位置處之虛擬元素730互動。此等虛擬元素730可連結至真實世界700中之地標、地理位置或物件740。真實世界地標或物件740可為藝術品、紀念碑、建築物、企業、圖書館、博物館或其他適合真實世界地標或物件。互動包含奪得(capture)、獲得(claim)所有權、使用某一虛擬物品、花費某一虛擬貨幣等。為了奪得此等虛擬元素730,一玩家前往真實世界中連結至虛擬元素730之地標或地理位置740,且執行與虛擬世界710中之虛擬元素730之任何必要互動(如由遊戲規則定義)。例如,玩家A 712可能必須前往真實世界700中之一地標740以與同該特定地標740連結之一虛擬元素730互動或奪得該虛擬元素730。與虛擬元素730之互動可需要真實世界中之動作,諸如拍攝一相片或驗證、獲得或擷取關於與虛擬元素730相關聯之地標或物件740之其他資訊。
遊戲目標可要求玩家使用由玩家在基於位置之遊戲中收集之一或多個虛擬物品。例如,玩家可在虛擬世界710行進以尋找可對於完成遊戲目標有用之虛擬物品732 (例如,武器、生物、能力提升或其他物品)。可藉由前往真實世界700中之不同位置或藉由在虛擬世界710或真實世界700中完成各種動作(諸如與虛擬元素730互動、與非玩家角色或其他玩家戰鬥或完成任務等)而找到或收集此等虛擬物品732。在圖7中展示之實例中,一玩家使用虛擬物品732來奪得一或多個虛擬元素730。特定言之,一玩家可在虛擬世界710中在虛擬元素730附近或內之位置處部署虛擬物品732。以此方式部署一或多個虛擬物品732可導致為玩家或為玩家之團隊/派系奪得虛擬元素730。
在一個特定實施方案中,作為平行實境遊戲之部分,一玩家可必須收集虛擬能量。虛擬能量750可分散在虛擬世界710中之不同位置處。一玩家可藉由前往真實世界700中對應於虛擬能量在虛擬世界710中之位置的位置(或在該位置之一臨限距離內)而收集虛擬能量750。虛擬能量750可用於為虛擬物品供能或執行遊戲中之各種遊戲目標。失去全部虛擬能量750之一玩家可與遊戲斷開連線或被阻止玩遊戲達一特定量之時間或直至其等已收集額外虛擬能量750。
根據本發明之態樣,平行實境遊戲可為其中遊戲中之每一參與者共用相同虛擬世界之一大規模多玩家之基於位置之遊戲。玩家可被劃分為各別團隊或派系且可共同努力以達成一或多個遊戲目標,諸如奪得或獲得一虛擬元素之所有權。以此方式,平行實境遊戲固有地可為鼓勵遊戲內之玩家間之協作的一社群遊戲。在平行實境遊戲期間,來自對方團隊之玩家可彼此對抗(或有時協作以達成共同目標)。一玩家可使用虛擬物品來攻擊或阻礙對方團隊之玩家之前進。在一些情況中,針對平行實境遊戲中之協作或互動性事件,鼓勵玩家聚集在真實世界位置處。在此等情況中,遊戲伺服器設法確保玩家確實實體在場且非欺騙其等位置。
圖8描繪可作為玩家與虛擬世界710之間之介面之部分呈現(例如,在一玩家之智慧型電話上)的一遊戲介面800之一項實施例。遊戲介面800包含一顯示視窗810,顯示視窗810可用於顯示虛擬世界710及遊戲之各種其他態樣,諸如玩家位置722及虛擬元素730、虛擬物品732及虛擬能量750在虛擬世界710中之位置。使用者介面800亦可顯示其他資訊,諸如遊戲資料資訊、遊戲通訊、玩家資訊、用戶端位置驗證指令及與遊戲相關聯之其他資訊。例如,使用者介面可顯示玩家資訊815,諸如玩家姓名、經驗等級及其他資訊。使用者介面800可包含用於存取各種遊戲設定及與遊戲相關聯之其他資訊之一選單820。使用者介面800亦可包含實現遊戲系統與玩家之間及平行實境遊戲之一或多個玩家之間之通訊的一通訊介面830。
根據本發明之態樣,一玩家可藉由在真實世界中四處攜帶一用戶端裝置710而與平行實境遊戲互動。例如,一玩家可藉由在一智慧型電話上存取與平行實境遊戲相關聯之一應用程式且與智慧型電話一起在真實世界中四處移動而玩遊戲。在此方面,玩家不必為了玩基於位置之遊戲而在一顯示螢幕上連續觀看虛擬世界之一視覺表示。因此,使用者介面800可包含容許一使用者與遊戲互動之非視覺元素。例如,當玩家正在接近遊戲中之一虛擬元素或物件時或當平行實境遊戲中發生一重要事件時,遊戲介面可向玩家提供可聽通知。在一些實施例中,一玩家可用音訊控制項840控制此等可聽通知。可取決於虛擬元素或事件之類型向使用者提供不同類型之可聽通知。可聽通知之頻率或音量可取決於一玩家與一虛擬元素或物件之接近性而增加或降低。可向使用者提供其他非視覺通知及信號,諸如一振動通知或其他適合通知或信號。
平行實境遊戲可具有增強及鼓勵在平行實境遊戲內玩遊戲之各種特徵。例如,玩家可累積可在整個遊戲中使用(例如,以購買遊戲內物品、贖回其他物品、製作物品等)之一虛擬貨幣或另一虛擬獎勵(例如,虛擬符記、虛擬積分、虛擬材料資源等)。玩家可隨著玩家完成一或多個遊戲目標且在遊戲內獲得經驗而進級(advance)通過各個等級。玩家亦可能夠獲得可用於完成遊戲內之遊戲目標之增強的「能力」或虛擬物品。
使用所提供之揭示內容,一般技術者應瞭解,許多遊戲介面組態及基礎功能性係可行的。本發明不旨在限於任何一個特定組態,除非明確地另外陳述。 額外考量
上文描述之一些部分在演算法程序或操作方面描述實施例。此等演算法描述及表示係由熟習運算技術者普遍使用以將其等工作主旨有效地傳達給其他熟習此項技術者。雖然在功能、運算或邏輯上描述,但此等操作應被理解為藉由包括用於由一處理器或等效電路、微程式碼或類似者執行的指令之電腦程式實施。此外,亦已證實,將功能操作之此等配置稱為模組有時係方便的而不損失一般性。
對「一項實施例」或「一實施例」之任何提及意謂結合實施例描述之一特定元件、特徵、結構或特性包含於至少一項實施例中。片語「在一項實施例中」在說明書中之各個位置中之出現不一定全部係指相同實施例。類似地,僅為了方便在一元件或組件之前使用「一(a或an)」。此描述應被理解為意謂存在一或多個元件或組件,除非顯然其具有其他含義。
在將值描述為「約」或「基本上」 (或其等衍生詞)時,此等值應被解釋為準確+/- 10%,除非另一含義自背景內容顯而易見。例如,「約十」應被理解為意謂「在自九至十一之一範圍中」。
術語「包括(comprises/comprising)」、「包含(includes/including)」、「具有(has/having)」或其等之任何其他變動旨在涵蓋一非排他性包含。例如,包括一元件清單之一程序、方法、物件或設備不一定僅限於該等元件而可包含未明確列出或此程序、方法、物件或設備所固有之其他元件。此外,除非有明確相反陳述,否則「或」係指一包含性或且非一排他性或。例如,一條件A或B由以下之任一者滿足:A真(或存在)且B假(或不存在)、A假(或不存在)且B真(或存在)以及A及B兩者真(或存在)。
在閱讀本發明之後,熟習此項技術者應瞭解用於提供所述功能性之一系統及一程序之仍額外替代結構及功能設計。因此,雖然已繪示且描述特定實施例及應用,但應理解,所描述標的物不限於所揭示之精確構造及組件。保護範疇應僅由以下發明申請專利範圍限制。
100:環境 110:用戶端裝置 110A:用戶端裝置 110B:用戶端裝置 110C:用戶端裝置 120:網路 130:遊戲伺服器 140:反作弊伺服器 212:相機總成 214:遊戲模組 216:定位模組 218:當地語系化模組 240:本端資料儲存器 320:遊戲伺服器 321:通用遊戲模組 323:商業遊戲模組 324:資料收集模組 326:事件模組 327:映射系統 328:3D圖儲存器 330:資料管理模組 331:遊戲資料庫 405:資料接收模組 410A至410N:節點 415:資料儲存模組 420:干預模組 425:關聯式資料庫 430:干預資料庫 435:索引鍵值儲存器 500:程序/方法 510:接收 530:計算 540:新增 600:電腦 602:處理器 604:晶片組 606:記憶體 608:儲存裝置 610:鍵盤 612:圖形配接器 614:指標裝置 616:網路配接器 618:顯示器 620:記憶體控制器集線器 622:輸入/輸出(I/O)控制器集線器 700:真實世界 710:虛擬世界 712:位置/玩家A 714:位置 722:位置 724:位置 730:虛擬元素 732:虛擬物品 740:地標/地理位置/物件 750:虛擬能量 810:顯示視窗 815:玩家資訊 820:選單 830:通訊介面 840:音訊控制項
圖1係根據一項實施例之適用於產生並儲存一平行實境遊戲之度量之一網路連線之運算環境之一方塊圖。
圖2係繪示根據一項實施例之一用戶端裝置之一方塊圖。
圖3係繪示根據一項實施例之一遊戲伺服器之一方塊圖。
圖4係繪示根據一項實施例之一反作弊伺服器之一方塊圖。
圖5係根據一項實施例之用於將度量新增至一關聯式資料庫之一程序之一流程圖。
圖6繪示根據一項實施例之適合在圖1之網路連線之運算環境中使用之一例示性電腦系統。
圖7描繪根據一項實施例之具有與平行世界平行之一地理之一虛擬世界之一表示。
圖8描繪根據一項實施例之一平行實境遊戲之一例示性遊戲介面。
100:環境
110A:用戶端裝置
110B:用戶端裝置
110C:用戶端裝置
120:網路
130:遊戲伺服器
140:反作弊伺服器

Claims (20)

  1. 一種方法,其包括: 接收來自一或多個用戶端裝置之資料; 將該資料廣播至節點之一預定集合; 在各節點處計算該資料之一部分以產生一或多個度量;及 藉由該等節點之至少一些使用經準備插入陳述式將由該等節點產生之該一或多個度量新增至一關聯式資料庫。
  2. 如請求項1之方法,其中該資料係一平行實境遊戲之玩家之活動資料。
  3. 如請求項2之方法,其進一步包括: 擷取該平行實境遊戲之玩家之識別符之一清單;及 擷取與該識別符清單中之識別符相關聯之活動資料,其中該活動資料係經廣播至節點之該預定集合中之該等節點之該資料。
  4. 如請求項2之方法,其中該等度量指示玩家之該活動資料是否指示在該平行實境遊戲內執行之作弊行為。
  5. 如請求項3之方法,其中擷取與該識別符清單中之該等識別符相關聯之活動資料包括: 經由一範圍掃描存取一經壓縮資料儲存系統。
  6. 如請求項5之方法,其中該經壓縮資料儲存系統係一BigTable儲存系統。
  7. 如請求項1之方法,其中該關聯式資料庫係一PostgreSQL關聯式資料庫。
  8. 如請求項1之方法,其中廣播該資料係使用combine.globally.withfanout執行。
  9. 如請求項1之方法,其中一外部操作者選擇待包含於該集合中之預定節點之一數目。
  10. 如請求項1之方法,其中節點之該預定集合包含24個與200個之間的節點。
  11. 一種非暫時性電腦可讀儲存媒體,其包括經儲存指令,該等經儲存指令在藉由一運算裝置執行時引起該運算裝置執行包含以下之操作: 接收來自一或多個用戶端裝置之資料; 將該資料廣播至節點之一預定集合; 在各節點處計算該資料之一部分以產生一或多個度量;及 藉由該等節點之至少一些使用經準備插入陳述式將由該等節點產生之該一或多個度量新增至一關聯式資料庫。
  12. 如請求項11之非暫時性電腦可讀儲存媒體,其中該資料係一平行實境遊戲之玩家之活動資料。
  13. 如請求項12之非暫時性電腦可讀儲存媒體,該指令進一步包括: 用於擷取該平行實境遊戲之玩家之識別符之一清單的指令;及 用於擷取與該識別符清單中之識別符相關聯之活動資料的指令,其中該活動資料係經廣播至節點之該預定集合中之該等節點之該資料。
  14. 如請求項12之非暫時性電腦可讀儲存媒體,其中該等度量指示玩家之該活動資料是否指示在該平行實境遊戲內執行之作弊行為。
  15. 如請求項13之非暫時性電腦可讀儲存媒體,其中用於擷取與該識別符清單中之該等識別符相關聯之活動資料之該等指令包括: 用於經由一範圍掃描存取一經壓縮資料儲存系統的指令。
  16. 如請求項15之非暫時性電腦可讀儲存媒體,其中該經壓縮資料儲存系統係一BigTable儲存系統。
  17. 如請求項11之非暫時性電腦可讀儲存媒體,其中該關聯式資料庫係一PostgreSQL關聯式資料庫。
  18. 如請求項11之非暫時性電腦可讀儲存媒體,其中廣播該資料係使用combine.globally.withfanout執行。
  19. 如請求項11之非暫時性電腦可讀儲存媒體,其中一外部操作者選擇待包含於該集合中之預定節點之一數目。
  20. 一種遊戲伺服器,其包括: 一通用遊戲模組,其經組態以代管一平行實境遊戲; 一遊戲資料庫,其包括經組態以儲存該平行實境遊戲之資料及度量之一關聯式資料庫;及 一處理模組,其經組態以執行包括以下之操作: 接收來自一或多個用戶端裝置之資料; 將該資料廣播至節點之一預定集合; 在各節點處計算該資料之一部分以產生一或多個度量;及 藉由該等節點之至少一些使用經準備插入陳述式將由該等節點產生之該一或多個度量新增至該關聯式資料庫。
TW111126628A 2021-07-16 2022-07-15 減少在反作弊資料流中的時間延遲 TW202319101A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US202163222919P 2021-07-16 2021-07-16
US63/222,919 2021-07-16

Publications (1)

Publication Number Publication Date
TW202319101A true TW202319101A (zh) 2023-05-16

Family

ID=84890336

Family Applications (1)

Application Number Title Priority Date Filing Date
TW111126628A TW202319101A (zh) 2021-07-16 2022-07-15 減少在反作弊資料流中的時間延遲

Country Status (8)

Country Link
US (1) US20230016152A1 (zh)
EP (1) EP4370223A1 (zh)
KR (1) KR20240025639A (zh)
CN (1) CN117980045A (zh)
AU (1) AU2022312218A1 (zh)
CA (1) CA3226751A1 (zh)
TW (1) TW202319101A (zh)
WO (1) WO2023286032A1 (zh)

Family Cites Families (43)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7690043B2 (en) * 1994-12-19 2010-03-30 Legal Igaming, Inc. System and method for connecting gaming devices to a network for remote play
US6020885A (en) * 1995-07-11 2000-02-01 Sony Corporation Three-dimensional virtual reality space sharing method and system using local and global object identification codes
US8290920B2 (en) * 2009-09-30 2012-10-16 Zynga Inc. System and method for remote updates
US8645936B2 (en) * 2009-09-30 2014-02-04 Zynga Inc. Apparatuses, methods and systems for an a API call abstractor
US8328642B2 (en) * 2010-06-16 2012-12-11 Zynga Inc. Game based incentives for commerce
US9573064B2 (en) * 2010-06-24 2017-02-21 Microsoft Technology Licensing, Llc Virtual and location-based multiplayer gaming
US20120244945A1 (en) * 2011-03-22 2012-09-27 Brian Kolo Methods and systems for utilizing global positioning information with an online game
WO2012158620A1 (en) * 2011-05-13 2012-11-22 Addmired, Inc. Systems and methods for a support game
US8556719B1 (en) * 2011-06-30 2013-10-15 Zynga Inc. Linking virtual items to real-world items
US8496532B1 (en) * 2011-06-30 2013-07-30 Zynga Inc. Clan wars
US9682315B1 (en) * 2011-09-07 2017-06-20 Zynga Inc. Social surfacing and messaging interactions
US20130060795A1 (en) * 2011-09-07 2013-03-07 Unisys Corp. Prepared statements to improve performance in database interfaces
US8133116B1 (en) * 2011-09-26 2012-03-13 Zynga Inc. Social supply harvest mechanic for interactive social games
US9032022B1 (en) * 2011-10-01 2015-05-12 Zynga Inc. Sending and receiving configurable buckets of communications
US10148762B2 (en) * 2011-10-18 2018-12-04 Facebook, Inc. Platform-specific notification delivery channel
US8808093B1 (en) * 2012-01-23 2014-08-19 Zynga Inc. Asynchronous social events in computer-implemented games
US8944920B1 (en) * 2012-02-09 2015-02-03 Zynga Inc. Push messaging architecture for online games
US20130339473A1 (en) * 2012-06-15 2013-12-19 Zynga Inc. Real time analytics via stream processing
US9669296B1 (en) * 2012-07-31 2017-06-06 Niantic, Inc. Linking real world activities with a parallel reality game
US10456686B2 (en) * 2012-09-05 2019-10-29 Zynga Inc. Methods and systems for adaptive tuning of game events
US8529354B1 (en) * 2012-12-12 2013-09-10 Kabam, Inc. System and method for facilitating data model substitutions for pre-existing data objects
US10712913B2 (en) * 2014-10-20 2020-07-14 Oracle International Corporation Event-based architecture for expand-collapse operations
US10417212B1 (en) * 2015-01-15 2019-09-17 Qad, Inc. Database modification replay
US9886263B2 (en) * 2015-03-24 2018-02-06 Oracle International Corporation Techniques for efficient application configuration patching
US11831682B2 (en) * 2015-10-28 2023-11-28 Qomplx Llc Highly scalable distributed connection interface for data capture from multiple network service and cloud-based sources
US10164854B2 (en) * 2015-11-20 2018-12-25 International Business Machines Corporation Providing dynamic latency in an integration flow
US20180196666A1 (en) * 2017-01-11 2018-07-12 Machine Zone, Inc. System and method for managing dynamic design data for a virtual environment
US11058946B2 (en) * 2017-01-12 2021-07-13 Mz Ip Holdings, Llc System and method for managing event data in a multi-player online game
US10668374B2 (en) * 2017-01-25 2020-06-02 Mz Ip Holdings, Llc System and method for binding global objects in a client-server architecture
WO2018140515A1 (en) * 2017-01-27 2018-08-02 Mz Ip Holdings, Llc System and methods for determining events of interest in a multi-player online game
WO2018212981A1 (en) * 2017-05-17 2018-11-22 Mz Ip Holdings, Llc System and method for synchronizing data between computer devices
US10216823B2 (en) * 2017-05-31 2019-02-26 HarperDB, Inc. Systems, methods, and apparatus for hierarchical database
US10275283B2 (en) * 2017-07-21 2019-04-30 Red Hat, Inc. Low latency distributed counters for quotas
US10717005B2 (en) * 2017-07-22 2020-07-21 Niantic, Inc. Validating a player's real-world location using activity within a parallel reality game
US11120086B2 (en) * 2018-02-13 2021-09-14 Oracle International Corporation Toponym disambiguation
CN111918706A (zh) * 2018-03-14 2020-11-10 株式会社魁匠团 用于提高实现多线程的游戏处理速度的装置及其方法
WO2019190648A1 (en) * 2018-03-29 2019-10-03 Mz Ip Holdings, Llc System and method for updating an application client
US11077365B2 (en) * 2018-06-27 2021-08-03 Niantic, Inc. Low latency datagram-responsive computer network protocol
US10474655B1 (en) * 2018-07-23 2019-11-12 Improbable Worlds Ltd Entity database
US11007429B2 (en) * 2019-07-26 2021-05-18 Niantic, Inc. Background process for importing real-world activity data into a location-based game
US11089112B2 (en) * 2019-08-21 2021-08-10 Facebook, Inc. Low latency interactive media distribution using shared user hardware
CN111617487B (zh) * 2020-05-22 2021-03-16 腾讯科技(深圳)有限公司 游戏应用中的帐号接入方法和装置、存储介质及电子设备
US11400378B2 (en) * 2020-06-30 2022-08-02 Sony Interactive Entertainment LLC Automatic separation of abusive players from game interactions

Also Published As

Publication number Publication date
AU2022312218A1 (en) 2024-02-29
WO2023286032A1 (en) 2023-01-19
CA3226751A1 (en) 2023-01-19
CN117980045A (zh) 2024-05-03
KR20240025639A (ko) 2024-02-27
US20230016152A1 (en) 2023-01-19
EP4370223A1 (en) 2024-05-22

Similar Documents

Publication Publication Date Title
JP7364627B2 (ja) 並行現実ゲーム内の活動を用いたプレイヤーの現実世界位置の検証
US10130888B1 (en) Game data validation
US20220351518A1 (en) Repeatability predictions of interest points
TW202306619A (zh) 虛擬角色之旅行
US20230359618A1 (en) Sharded Storage of Geolocated Data with Predictable Query Response Times
US20210228988A1 (en) Background process for importing real-world activity data into a location-based game
TWI804257B (zh) 用於在擴增實境環境中之多使用者路線追蹤之方法、非暫時性電腦可讀儲存媒體及電腦系統
US11007429B2 (en) Background process for importing real-world activity data into a location-based game
TW202319101A (zh) 減少在反作弊資料流中的時間延遲
JP2024524723A (ja) アンチチートデータフローにおけるレイテンシーの低減
US20240075379A1 (en) Dynamically Generated Local Virtual Events
US20240108989A1 (en) Generating additional content items for parallel-reality games based on geo-location and usage characteristics