(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-07-03
(45)【発行日】2023-07-11
(54)【発明の名称】予測的データプリローディング
(51)【国際特許分類】
A63F 13/85 20140101AFI20230704BHJP
A63F 13/79 20140101ALI20230704BHJP
G06N 3/09 20230101ALI20230704BHJP
【FI】
A63F13/85
A63F13/79
G06N3/09
(21)【出願番号】P 2021573558
(86)(22)【出願日】2019-09-24
(86)【国際出願番号】 US2019052804
(87)【国際公開番号】W WO2020251608
(87)【国際公開日】2020-12-17
【審査請求日】2022-02-10
(32)【優先日】2019-06-14
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】520317055
【氏名又は名称】ロブロックス・コーポレーション
(74)【代理人】
【識別番号】100108453
【氏名又は名称】村山 靖彦
(74)【代理人】
【識別番号】100110364
【氏名又は名称】実広 信哉
(74)【代理人】
【識別番号】100133400
【氏名又は名称】阿部 達彦
(72)【発明者】
【氏名】ジョン・ケール
【審査官】奈良田 新一
(56)【参考文献】
【文献】特表2010-519970(JP,A)
【文献】特表2018-512907(JP,A)
【文献】特開2015-194832(JP,A)
【文献】特開2002-073543(JP,A)
【文献】米国特許出願公開第2015/0141152(US,A1)
【文献】谷岡広樹他1名,いちばんやさしいディープラーニング入門教室,初版第2刷,日本,株式会社ソーテック社,2018年06月30日,第115-126頁
(58)【調査した分野】(Int.Cl.,DB名)
A63F 9/24,13/00-13/98
G06N 3/00-3/126,20/00
H04L 67/02
(57)【特許請求の範囲】
【請求項1】
ゲーミングプラットフォームにおいてプリロードすべきゲームオプションを予測するように機械学習モデルを訓練するコンピュータ実装方法であって、前記機械学習モデルがニューラルネットワークを含み、前記方法が、
前記ゲーミングプラットフォームにおいてプレイヤに対応するプレイヤデータおよび前記プレイヤに対応する以前の選択データを含む訓練データを提供するステップであり、前記以前の選択データが1つまたは複数の利用可能なゲームオプションおよび対応する選択されたゲームオプションを含む、ステップと、
プリロードすべきゲームオプションを予測するように前記ニューラルネットワークを訓練するステップであり、前記訓練するステップが、
前記ニューラルネットワークへの入力として前記プレイヤデータおよび前記1つまたは複数の利用可能なゲームオプションを提供すること
であって、前記1つまたは複数の利用可能なゲームオプションが前記プレイヤの入力に基づく検索クエリの検索結果を含む、ことと、
1つまたは複数の予測されたプリロードすべきゲームオプションを、前記ニューラルネットワークの出力として取得することと、
前記1つまたは複数の利用可能なゲームオプションに対応する前記以前の選択データにおける前記選択されたゲームオプションと前記1つまたは複数の予測されたゲームオプションを比較することと、
前記比較することに基づいて前記ニューラルネットワークの1つまたは複数のパラメータを調整することとを含む、ステップと
を含む、コンピュータ実装方法。
【請求項2】
前記1つまたは複数の利用可能なゲームオプションが、前記ゲーミングプラットフォーム内でプレイヤによって選択可能な1つまたは複数の利用可能なゲームを含む、請求項1に記載のコンピュータ実装方法。
【請求項3】
損失関数が所定の基準を満たすまで前記訓練するステップが行われる、請求項1に記載のコンピュータ実装方法。
【請求項4】
前記プレイヤデータが、プレイヤ性別、プレイヤ年齢、プレイヤ地理的領域、プレイヤ言語、前記ゲーミングプラットフォーム上のプレイヤ経験または前記ゲーミングプラットフォーム上のプレイヤ購入履歴の1つまたは複数を含む、請求項1に記載のコンピュータ実装方法。
【請求項5】
前記プレイヤが関連付けられるコホートを決定するステップと、
前記プレイヤが関連付けられる前記コホートに基づいて1つまたは複数のプリロードすべきゲームオプションを予測するように前記ニューラルネットワークを訓練するステップと
を更に含む、請求項1に記載のコンピュータ実装方法。
【請求項6】
前記コホートが、類似特性を有する1人または複数のプレイヤと関連付けられる、請求項5に記載のコンピュータ実装方法。
【請求項7】
前記類似特性が、プレイヤ性別、プレイヤ年齢、プレイヤ地理的領域、プレイヤ言語、前記ゲーミングプラットフォーム上のプレイヤ経験または前記ゲーミングプラットフォーム上のプレイヤ購入履歴の1つまたは複数を含む、請求項6に記載のコンピュータ実装方法。
【請求項8】
ソフトウェア命令を記憶した非一時的コンピュータ可読媒体に結合される1つまたは複数のプロセッサを備えるシステムであって、前記ソフトウェア命令が、前記1つまたは複数のプロセッサによって実行されると、前記1つまたは複数のプロセッサに動作を行わせ、前記動作が、
ゲーミングプラットフォームにおいてプレイヤに対応するプレイヤデータおよび前記プレイヤに対応する以前の選択データを含む訓練データを提供することであって、前記以前の選択データが1つまたは複数の利用可能なゲームオプションおよび対応する選択されたゲームオプションを含む、提供することと、
プリロードすべきゲームオプションを予測するようにニューラルネットワークを訓練することであって、前記訓練することが、
前記ニューラルネットワークへの入力として前記プレイヤデータおよび前記1つまたは複数の利用可能なゲームオプションを提供すること
であって、前記1つまたは複数の利用可能なゲームオプションが前記プレイヤの入力に基づく検索クエリの検索結果を含む、ことと、
1つまたは複数の予測されたプリロードすべきゲームオプションを、前記ニューラルネットワークの出力として取得することと、
前記1つまたは複数の利用可能なゲームオプションに対応する前記以前の選択データにおける前記選択されたゲームオプションと前記1つまたは複数の予測されたゲームオプションを比較することと、
前記比較することに基づいて前記ニューラルネットワークの1つまたは複数のパラメータを調整することとを含む、訓練することと
を含む、システム。
【請求項9】
前記プレイヤデータが、プレイヤ性別、プレイヤ年齢、プレイヤ地理的領域、プレイヤ言語、前記ゲーミングプラットフォーム上のプレイヤ経験または前記ゲーミングプラットフォーム上のプレイヤ購入履歴の1つまたは複数を含む、請求項8に記載のシステム。
【請求項10】
前記動作が、
前記プレイヤが関連付けられるコホートを決定することと、
前記プレイヤが関連付けられる前記コホートに基づいて1つまたは複数のプリロードすべきゲームオプションを予測するように前記ニューラルネットワークを訓練することと
を更に含む、請求項8に記載のシステム。
【請求項11】
ゲーミングプラットフォームにおいて1つまたは複数のゲームオプションをプリロードするコンピュータ実装方法であって、
訓練された機械学習モデルへの入力としてプレイヤデータおよび1つまたは複数の利用可能なゲームオプションを提供するステップ
であって、前記1つまたは複数の利用可能なゲームオプションがプレイヤの入力に基づく検索クエリの検索結果を含む、ステップと、
前記ゲーミングプラットフォームにおいて1つまたは複数のプリロードすべきゲームオプションを、前記訓練された機械学習モデルの出力として取得するステップと、
特定のゲームのユーザ選択入力を受信する前に前記1つまたは複数のゲームオプションの少なくとも1つをプリロードするステップと
を含む、コンピュータ実装方法。
【請求項12】
前記プリロードするステップが、
プレイヤシステムにおいてプリローディングを開始させることであり、前記プリローディングが、前記1つまたは複数のプリロードすべきゲームオプションに対応する1つまたは複数のリソースをプリロードすることを含む、開始させることと、
終了条件に応答して1つまたは複数のゲームオプションの前記プリローディングを終了することと
を含む、請求項11に記載のコンピュータ実装方法。
【請求項13】
前記終了条件が、前記プレイヤシステムからゲームオプション選択を受信することを含み、前記終了することが、前記ゲームオプション選択と一致しないゲームオプションのプリローディングの終了を含む、請求項12に記載のコンピュータ実装方法。
【請求項14】
前記終了条件が、前記利用可能なゲームオプションの変化を示すユーザ入力を受信することを含む、請求項12に記載のコンピュータ実装方法。
【請求項15】
前記終了条件が、新たなゲーミングプラットフォーム検索クエリを受信することを含む、請求項12に記載のコンピュータ実装方法。
【請求項16】
前記終了条件が、前記1つまたは複数のプリロードすべきゲームオプションのプリローディングを完了することを含む、請求項12に記載のコンピュータ実装方法。
【請求項17】
前記訓練された機械学習モデルが、プリロードすべきゲームオプションを予測するように訓練される、請求項11に記載のコンピュータ実装方法。
【請求項18】
前記1つまたは複数の利用可能なゲームオプションが、前記ゲーミングプラットフォーム内でプレイヤによって選択可能な1つまたは複数の利用可能なゲームを含む、請求項11に記載のコンピュータ実装方法。
【請求項19】
前記1つまたは複数の利用可能なゲームオプションが、前記ゲーミングプラットフォームにおいて特定のゲーム内でプレイヤによって選択可能な1つまたは複数の利用可能なゲームリソースを含む、請求項11に記載のコンピュータ実装方法。
【請求項20】
前記プレイヤデータが、プレイヤ性別、プレイヤ年齢、プレイヤ地理的領域、プレイヤ言語、前記ゲーミングプラットフォーム上のプレイヤ経験または前記ゲーミングプラットフォーム上のプレイヤ購入履歴の1つまたは複数を含む、請求項11に記載のコンピュータ実装方法。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、概してコンピュータ化ゲーミングプラットフォームの分野に関し、特に、予測的ゲームデータプリローディングを行う方法、システムおよびコンピュータ可読媒体に関する。
【背景技術】
【0002】
一部のオンラインゲーミングプラットフォームは、インターネットを介してユーザがコンテンツを作成し、互いに接続し、互いに(例えば、ゲーム内で)対話し、そして互いに情報を共有できるようにする。オンラインゲーミングプラットフォームのユーザは、ゲームまたはゲームの一部が他のユーザによって作成されたマルチプレイヤゲーミング環境に参加し得る。
【0003】
ユーザがユーザ生成コンテンツ(例えば、ゲーム、ゲームのためのアイテム等)または他のコンテンツを検索すると、検索エンジンが、ダウンロード数、ユーザによる評価等の観点からの人気などのデータに基づいて検索結果を返し得る。ユーザは、検索結果の中からゲームまたはアイテムを選択できる。ゲーム選択時間からゲーム起動時間までの待ち時間を削減することによってユーザ体験が改善され得る。それに応じて、ゲーム選択に続くゲーム起動時間の待ち時間を削減することの必要性が存在し得る。
【0004】
一部の実装例は、とりわけ上述の必要性を考慮して考えられた。
【発明の概要】
【課題を解決するための手段】
【0005】
一部の実装例は、ゲームデータの予測的プリローディングを提供する。
【0006】
一部の実装例は、ゲーミングプラットフォームにおいてプリロードすべきゲームオプションを予測するように、ニューラルネットワークを含む機械学習モデルを訓練する方法を含むことができる。上記方法は、ゲーミングプラットフォームにおいてプレイヤに対応するプレイヤデータおよびプレイヤに対応する以前の選択データを含む訓練データを提供するステップであって、以前の選択データが1つまたは複数の利用可能なゲームオプションおよび対応する選択されたゲームオプションを含む、ステップと、プリロードすべきゲームオプションを予測するようにニューラルネットワークまたは他の訓練アルゴリズムを訓練するステップとを含むことができる。
【0007】
上記訓練するステップは、ニューラルネットワークへの入力としてプレイヤデータおよび1つまたは複数の利用可能なゲームオプションを提供することと、1つまたは複数の予測されたプリロードすべきゲームオプションを、ニューラルネットワークの出力として取得することと、1つまたは複数の利用可能なゲームオプションに対応する以前の選択データにおける選択されたゲームオプションと1つまたは複数の予測されたゲームオプションを比較することと、比較することに基づいてニューラルネットワークの1つまたは複数のパラメータを調整することとを含むことができる。
【0008】
一部の実装例において、1つまたは複数の利用可能なゲームオプションは、ゲーミングプラットフォーム内でプレイヤによって選択可能な1つまたは複数の利用可能なゲームを含むことができる。一部の実装例において、訓練するステップは、損失関数が所定の基準を満たすまで行われる。
【0009】
一部の実装例において、プレイヤデータは、プレイヤ性別、プレイヤ年齢、プレイヤ地理的領域、プレイヤ言語、ゲーミングプラットフォーム上のプレイヤ経験またはゲーミングプラットフォーム上のプレイヤ購入履歴の1つまたは複数を含む。
【0010】
上記方法は、プレイヤが関連付けられるコホートを決定するステップと、プレイヤが関連付けられるコホートに基づいて1つまたは複数のプリロードすべきゲームオプションを予測するようにニューラルネットワークを訓練するステップとを含むこともできる。
【0011】
一部の実装例において、コホートは、類似特性を有する1人または複数のプレイヤと関連付けられる。一部の実装例において、類似特性は、プレイヤ性別、プレイヤ年齢、プレイヤ地理的領域、プレイヤ言語、ゲーミングプラットフォーム上のプレイヤ経験またはゲーミングプラットフォーム上のプレイヤ購入履歴の1つまたは複数を含むことができる。
【0012】
一部の実装例は、1つまたは複数のプロセッサによって実行されると、1つまたは複数のプロセッサに動作を行わせるソフトウェア命令を記憶した非一時的コンピュータ可読媒体に結合される1つまたは複数のプロセッサを備えるシステムを含むことができる。上記動作は、ゲーミングプラットフォームにおいてプレイヤに対応するプレイヤデータおよびプレイヤに対応する以前の選択データを含む訓練データを提供することであって、以前の選択データが1つまたは複数の利用可能なゲームオプションおよび対応する選択されたゲームオプションを含む、提供することと、プリロードすべきゲームオプションを予測するようにニューラルネットワークを訓練することとを含むことができる。
【0013】
上記訓練することは、ニューラルネットワークへの入力としてプレイヤデータおよび1つまたは複数の利用可能なゲームオプションを提供することと、1つまたは複数の予測されたプリロードすべきゲームオプションを、ニューラルネットワークの出力として取得することとを含むことができる。上記訓練することは、1つまたは複数の利用可能なゲームオプションに対応する以前の選択データにおける選択されたゲームオプションと1つまたは複数の予測されたゲームオプションを比較することと、比較することに基づいてニューラルネットワークの1つまたは複数のパラメータを調整することとを含むこともできる。
【0014】
一部の実装例において、プレイヤデータは、プレイヤ性別、プレイヤ年齢、プレイヤ地理的領域、プレイヤ言語、ゲーミングプラットフォーム上のプレイヤ経験またはゲーミングプラットフォーム上のプレイヤ購入履歴の1つまたは複数を含む。
【0015】
上記動作は、プレイヤが関連付けられるコホートを決定することと、プレイヤが関連付けられるコホートに基づいて1つまたは複数のプリロードすべきゲームオプションを予測するようにニューラルネットワークを訓練することとを含むこともできる。
【0016】
一部の実装例は、ゲーミングプラットフォームにおいて1つまたは複数のゲームオプションをプリロードするコンピュータ実装方法を含むことができる。上記方法は、訓練された機械学習モデルへの入力としてプレイヤデータおよび1つまたは複数の利用可能なゲームオプションを提供するステップと、ゲーミングプラットフォームにおいて1つまたは複数のプリロードすべきゲームオプションを、訓練された機械学習モデルの出力として取得するステップと、特定のゲームのユーザ選択入力を受信する前に1つまたは複数のゲームオプションの少なくとも1つをプリロードするステップとを含むことができる。
【0017】
一部の実装例において、上記プリロードするステップは、プレイヤシステムにおいてプリローディングを開始させることであり、プリローディングが、1つまたは複数のプリロードすべきゲームオプションに対応する1つまたは複数のリソースをプリロードすることを含む、開始させることと、終了条件に応答して1つまたは複数のゲームオプションのプリローディングを終了することとを含むことができる。一部の実装例において、終了条件は、プレイヤシステムからゲームオプション選択を受信することを含むことができ、かつ終了することは、ゲームオプション選択と一致しないゲームオプションのプリローディングの終了を含む。
【0018】
一部の実装例において、終了条件は、利用可能なゲームオプションの変化を示すユーザ入力を受信することを含むことができる。一部の実装例において、終了条件は、新たなゲーミングプラットフォーム検索クエリを受信することを含むことができる。一部の実装例において、終了条件は、1つまたは複数のプリロードすべきゲームオプションのプリローディングを完了することを含むことができる。
【0019】
一部の実装例において、訓練された機械学習モデルは、プリロードすべきゲームオプションを予測するように訓練される。一部の実装例において、1つまたは複数の利用可能なゲームオプションは、ゲーミングプラットフォーム内でプレイヤによって選択可能な1つまたは複数の利用可能なゲームを含むことができる。一部の実装例において、1つまたは複数の利用可能なゲームオプションは、ゲーミングプラットフォームにおいて特定のゲーム内でプレイヤによって選択可能な1つまたは複数の利用可能なゲームリソースを含むことができる。一部の実装例において、プレイヤデータは、プレイヤ性別、プレイヤ年齢、プレイヤ地理的領域、プレイヤ言語、ゲーミングプラットフォーム上のプレイヤ経験またはゲーミングプラットフォーム上のプレイヤ購入履歴の1つまたは複数を含むことができる。
【図面の簡単な説明】
【0020】
【
図1】一部の実装例に従うゲームデータを予測的にプリロードするゲームシステムアーキテクチャ例の図である。
【
図2】一部の実装例に従うゲームユーザインタフェース例の図である。
【
図3】一部の実装例に従うプリローディングのためのゲームデータアセットを予測するように機械学習モデルを訓練する図である。
【
図4】一部の実装例に従うプリローディングのためのゲームデータアセットを予測する機械学習モデルの図である。
【
図5】一部の実装例に従うゲームデータを予測的にプリロードする方法例のフローチャートである。
【
図6】一部の実装例に従うゲームデータを予測的にプリロードするように構成されるコンピューティングデバイスの図である。
【発明を実施するための形態】
【0021】
オンラインゲーミングプラットフォーム(「ユーザ生成コンテンツプラットフォーム」または「ユーザ生成コンテンツシステム」とも称される)は、ユーザが互いに対話する各種の手段を提供する。例えば、オンラインゲーミングプラットフォームのユーザは、オンラインゲーミングプラットフォーム内でゲームまたは他のコンテンツもしくはリソース(例えば、仮想世界内でのゲームプレイのためのキャラクタ、グラフィック、アイテム等)を作成し得る。オンラインゲーミングプラットフォームのユーザは、ゲームまたは他のコンテンツを求めて検索もし得る。
【0022】
オンラインゲーミングプラットフォームのユーザは、共通の目的に向かって協働、様々な仮想ゲーミングアイテムを共有、互いに電子メッセージを送る等し得る。オンラインゲーミングプラットフォームのユーザは、キャラクタを使用してゲームをプレイし得る。オンラインゲーミングプラットフォームは、プラットフォームのユーザが互いに通信できるようにもし得る。
【0023】
オンラインゲーミングプラットフォームは、ユーザがオンラインゲームをプレイできる仮想3次元環境を提供できる。オンラインゲームの娯楽価値を高めるのを促進するために、オンラインゲーミングプラットフォームは、ゲーム、ゲームコンテンツまたは他のゲーム関連リソースのための検索エンジンを提供できる。
【0024】
一部の実装例は、ゲーム、ゲームコンテンツまたは他のゲーム関連データリソースなどのデータの予測的プリローディングのための方法、システムおよびコンピュータ可読媒体を含むことができる。例えば、検索エンジンからの検索結果は、ユーザが選択をするためにグラフィカルユーザインタフェース(またはGUI)を介してユーザに表示できる。一部の実装例において、本方法は、プレイヤコホート挙動に基づいて訓練された機械学習モデルを使用して、ユーザが選択をする前にどのゲーム(またはゲーム関連データアセット)をプリロードし始めるべきかを予測することを含むことができる。一旦ユーザが選択をすると、選択に関連しないいずれのプリローディングも終了できる。したがって、ユーザが利用可能なゲームセレクションを閲覧している期間中に、機械学習モデルからの予測に基づいて1つまたは複数の利用可能なゲームオプションがプリロードされ始めることができる。プリローディングは、ユーザによるゲーム選択からゲーム起動時間までの待ち時間を削減できる。
【0025】
図1は、本開示の一部の実装例に従う、ゲームシステムアーキテクチャ例100を例示する。システムアーキテクチャ100(本明細書において「システム」とも称される)は、オンラインゲーミングプラットフォーム102、予測的プリローディングモデル104、データストア106、ネットワーク108、第1のプレイヤシステム110、第2のプレイヤシステム112および第nのプレイヤシステム114を含む。
【0026】
データストア106は、ゲームおよびゲーム関連データ、プレイヤデータ、コホートデータ等を記憶するように構成できる。システムアーキテクチャ100は、限定よりむしろ例示のために提供される。一部の実装例において、システムアーキテクチャ100は、
図1に図示されるものと同じまたは異なる方式で構成される同じ、より少ない、より多くのまたは異なる要素を含み得る。
【0027】
一部の実装例において、ネットワーク108は、パブリックネットワーク(例えば、インターネット)、プライベートネットワーク(例えば、ローカルエリアネットワーク(LAN)もしくはワイドエリアネットワーク(WAN))、有線ネットワーク(例えば、イーサネットネットワーク)、無線ネットワーク(例えば、802.11ネットワーク、Wi-Fi(登録商標)ネットワークもしくは無線LAN(WLAN))、セルラネットワーク(例えば、ロングタームエボリューション(LTE)ネットワーク)、ルータ、ハブ、スイッチ、サーバコンピュータ、またはその組合せを含んでよい。
【0028】
1つの実装例において、データストア106は、非一時的コンピュータ可読媒体もしくはメモリ(例えば、ランダムアクセスメモリ)、キャッシュ、ドライブ(例えば、ハードドライブ)、フラッシュドライブ、データベースシステム、またはデータを記憶することが可能な別の種類のコンポーネントもしくはデバイスでよい。データストア106は、複数コンピューティングデバイス(例えば、複数サーバコンピュータ)にもまたがり得る複数記憶コンポーネント(例えば、複数ドライブまたは複数データベース)を含んでもよい。
【0029】
一部の実装例において、オンラインゲーミングプラットフォーム102は、1つまたは複数のコンピューティングデバイス(例えば、クラウドコンピューティングシステム、ラックマウントサーバ、サーバコンピュータ、物理サーバのクラスタ等)を有するサーバを含むことができる。一部の実装例において、サーバは、オンラインゲーミングプラットフォーム102に含まれても、独立システムでも、または別のシステムもしくはプラットフォームの一部でもよい。
【0030】
一部の実装例において、オンラインゲーミングプラットフォーム102は、オンラインゲーミングプラットフォーム102上で動作を行うために、およびオンラインゲーミングプラットフォーム102へのアクセスをユーザに提供するために使用され得る、1つまたは複数のコンピューティングデバイス(ラックマウントサーバ、ルータコンピュータ、サーバコンピュータ、パーソナルコンピュータ、メインフレームコンピュータ、ラップトップコンピュータ、タブレットコンピュータ、デスクトップコンピュータ等など)、データストア(例えば、ハードディスク、メモリ、データベース)、ネットワーク、ソフトウェアコンポーネントおよび/またはハードウェアコンポーネントを含んでよい。オンラインゲーミングプラットフォーム102は、オンラインゲーミングプラットフォーム102によって提供されるコンテンツへのアクセスをユーザに提供するために使用され得るウェブサイト(例えば、ウェブページ)またはアプリケーションバックエンドソフトウェアも含んでよい。例えば、ユーザは、それぞれのプレイヤシステム(例えば、110~114)上で実行する1つまたは複数のアプリケーションを使用してオンラインゲーミングプラットフォーム102にアクセスし得る。プレイヤシステム上で実行するアプリケーションは、ウェブブラウザ、ウェブブラウザの機能性を拡張するプラグインまたはアドオン等を含むことができる。
【0031】
一部の実装例において、オンラインゲーミングプラットフォーム102は、ユーザ間の接続を提供する一種のソーシャルネットワークまたはユーザ(例えば、エンドユーザもしくはコンシューマ)がオンラインゲーミングプラットフォーム102上で他のユーザと通信できるようにする一種のユーザ生成コンテンツシステムでよく、ここで通信は、音声チャット(例えば、同期および/もしくは非同期音声通信)、ビデオチャット(例えば、同期および/もしくは非同期ビデオ通信)またはテキストチャット(例えば、同期および/もしくは非同期テキストベースの通信)を含んでよい。本開示の一部の実装例において、「ユーザ」または「プレイヤ」は一個人として表されてよい。しかしながら、本開示の他の実装例は、一組のユーザまたは自動源によって制御される実体である「ユーザ」(例えば、作成ユーザ)を包含する。例えば、ユーザ生成コンテンツシステムにおいてコミュニティまたはグループとして連合される一組の個人ユーザが「ユーザ」と考えられてよい。
【0032】
一部の実装例において、オンラインゲーミングプラットフォーム102は仮想ゲーミングプラットフォームでよい。例えば、ゲーミングプラットフォームは、ネットワーク108を介してクライアントデバイス110~114を使用してゲーム(例えば、ユーザ生成ゲームまたは他のゲーム)にアクセスまたは対話し得るユーザのコミュニティにシングルプレイヤまたはマルチプレイヤゲームを提供してよい。一部の実装例において、ゲーム(本明細書において「ビデオゲーム」、「オンラインゲーム」または「仮想ゲーム」とも称される)は、例えば2次元(2D)ゲーム、3次元(3D)ゲーム(例えば、3Dユーザ生成ゲーム)、仮想現実感(VR)ゲームまたは拡張現実感(AR)ゲームでよい。一部の実装例において、ユーザは、ゲームを求めて検索し、そして検索の結果から選択される1つまたは複数のゲームにおける他のユーザとのゲームプレイに参加し得る。一部の実装例において、検索の結果から選択されるゲームは、ゲームの他のユーザとリアルタイムでプレイされてよい。
【0033】
一部の実装例において、ゲームプレイとは、選択されたゲーム内でのプレイヤシステム(例えば、110~114)を使用する1人もしくは複数のプレイヤの対話またはプレイヤシステム(例えば、110~114)のディスプレイもしくは他の出力デバイス上での対話の提示を指し得る。
【0034】
一部の実装例において、ゲームは、実体にゲームコンテンツ(例えば、デジタルメディアアイテム)を提示するように構成されるソフトウェア、ファームウェアまたはハードウェアを使用して実行またはロードできる電子ファイルを含むことができる。一部の実装例において、ゲームアプリケーションが実行され、そしてゲームエンジンと関連してゲームがレンダリングされてよい。一部の実装例において、ゲームは共通の一組のルールまたは共通目的を有してよく、そしてゲームの環境は共通の一組のルールまたは共通目的を共有する。一部の実装例において、異なるゲームが、互いと異なるルールまたは目的を有してよい。
【0035】
一部の実装例において、ゲームは、複数環境がリンクされ得る1つまたは複数の環境(本明細書において「ゲーミング環境」または「仮想環境」とも称される)を有してよい。環境の一例は3次元(3D)環境でよい。ゲームの1つまたは複数の環境は、本明細書において総称的に「世界」または「ゲーミング世界」または「仮想世界」または「宇宙」と称され得る。世界の一例はゲームの3D世界でよい。例えば、ユーザは、別のユーザによって作成される別の仮想環境にリンクされる仮想環境を構築してよい。仮想ゲームのキャラクタが仮想境界を越えて、隣接する仮想環境に入ってよい。
【0036】
3D環境または3D世界が、ゲームコンテンツ(または幾何データの3D表現が使用されるか否かに関わらず3Dコンテンツとして出現する少なくとも現在のゲームコンテンツ)を表す幾何データの3次元表現を使用するグラフィックを使用することが留意され得る。2D環境または2D世界は、ゲームコンテンツを表す幾何データの2次元表現を使用するグラフィックを使用する。
【0037】
一部の実装例において、オンラインゲーミングプラットフォーム102は、1つまたは複数のゲームをホストでき、かつユーザがそれぞれのプレイヤシステム(例えば、110~114)上で実行するゲームアプリケーションを使用してゲームと対話する(例えば、ゲーム、ゲーム関連コンテンツまたは他のコンテンツを求めて検索する)のを可能にすることができる。オンラインゲーミングプラットフォーム102のユーザまたはプレイヤは、ゲームをプレイ、作成、対話もしくは構築し、ゲームを求めて検索し、他のユーザと通信し、ゲームのオブジェクト(例えば、本明細書において「アイテム」もしくは「ゲームオブジェクト」もしくは「仮想ゲームアイテム」とも称される)を作成および構築し、かつ/またはオブジェクトを求めて検索し得る。例えば、ユーザ生成仮想アイテムを生成する際に、ユーザは、とりわけ、キャラクタ、キャラクタのための装飾、対話型ゲームのための1つもしくは複数の仮想環境を作成しても、またはゲームに使用される構造物を構築してもよい。一部の実装例において、ユーザは、オンラインゲーミングプラットフォーム102の他のユーザと、プラットフォーム内通貨(例えば、仮想通貨)などのゲーム仮想ゲームオブジェクトを購入、販売または売買してよい。一部の実装例において、オンラインゲーミングプラットフォーム102は、それぞれのプレイヤシステム上で実行するゲームアプリケーションにゲームコンテンツを送信してよい。一部の実装例において、ゲームコンテンツ(本明細書において「コンテンツ」とも称される)とは、オンラインゲーミングプラットフォーム102またはゲームアプリケーションと関連した任意のデータまたはソフトウェア命令(例えば、ゲームオブジェクト、ゲーム、ユーザ情報、ビデオ、画像、コマンド、メディアアイテム等)を指し得る。一部の実装例において、ゲームオブジェクト(例えば、本明細書において「アイテム」または「オブジェクト」または「仮想ゲームアイテム」とも称される)とは、オンラインゲーミングプラットフォーム102のゲームアプリケーションまたはそれぞれのプレイヤシステム上で実行するゲームアプリケーションにおいて使用、作成、共有またはその他描写されるオブジェクトを指し得る。例えば、ゲームオブジェクトは、部品、モデル、キャラクタ、道具、武器、被服、建物、車両、通貨、植物相、動物相、上述のコンポーネント(例えば、建物の窓)等を含んでよい。
【0038】
ゲームをホストするオンラインゲーミングプラットフォーム102が、限定よりむしろ例示の目的で提供されることが留意され得る。一部の実装例において、オンラインゲーミングプラットフォーム102は、1つまたは複数の他のゲーム関連データまたはメディアアイテムをホストしてよい。ゲーム関連データまたはメディアアイテムは、デジタルビデオ、デジタル映画、デジタル写真、デジタル音楽、オーディオコンテンツ、メロディ、ウェブサイトコンテンツ、ソーシャルメディア更新、電子ブック、電子マガジン、デジタル新聞、デジタルオーディオブック、電子ジャーナル、ウェブブログ、リアルシンプルシンジケーション(RSS)フィード、電子コミックブック、ソフトウェアアプリケーション等を含むことができるが、これらに限定されない。一部の実装例において、メディアアイテムは、実体にデジタルメディアアイテムを提示するように構成されるソフトウェア、ファームウェアまたはハードウェアを使用して実行またはロードできる電子ファイルでよい。
【0039】
一部の実装例において、ゲームは、特定のユーザもしくは特定のユーザのグループと関連付けられても(例えば、プライベートゲーム)、またはオンラインゲーミングプラットフォーム102のユーザに広く利用可能にされても(例えば、パブリックゲーム)よい。一部の実装例において、オンラインゲーミングプラットフォーム102が1つまたは複数のゲームを具体的なユーザまたはユーザのグループと関連付ける場合、オンラインゲーミングプラットフォーム102は、ユーザアカウント情報(例えば、ユーザ名およびパスワードなどのユーザアカウント識別子)を使用して具体的なユーザをゲームと関連付けてよい。
【0040】
一部の実装例において、オンラインゲーミングプラットフォーム102またはプレイヤシステム(例えば、110~114)はゲームエンジンまたはゲームアプリケーションを含んでよい。ゲームエンジンは、ゲームアプリケーションを含むことができる。一部の実装例において、ゲームエンジンはゲームの開発または実行のために使用されてよい。例えば、ゲームエンジンは、とりわけ、2D、3D、VRもしくはARグラフィックのためのレンダリングエンジン(「レンダラ」)、物理エンジン、衝突検出エンジン(および衝突応答)、音響エンジン、スクリプティング機能性、アニメーションエンジン、人工知能エンジン、ネットワーキング機能性、ストリーミング機能性、メモリ管理機能性、スレッディング機能性、シーングラフ機能性、または映画製作のためのビデオサポートを含んでよい。ゲームエンジンのコンポーネントは、ゲームを算出およびレンダリングするのを促進するコマンド(例えば、レンダリングコマンド、衝突コマンド、物理コマンド等)を生成し得る。一部の実装例において、プレイヤシステム上で実行するゲームアプリケーションは、独立して、オンラインゲーミングプラットフォーム102のゲームエンジンと協力して、または両方の組合せで働いてよい。
【0041】
一部の実装例において、オンラインゲーミングプラットフォーム102もプレイヤシステム(例えば、110~114)もゲームエンジンを実行できる。オンラインゲーミングプラットフォーム102は、プラットフォーム内のゲームエンジンを使用して一部もしくは全部のゲームエンジン機能を行う(例えば、物理コマンド、レンダリングコマンド等を生成する)ことができ、またはプレイヤシステム上で実行するゲームエンジンにゲームエンジン機能の一部もしくは全部をオフロードしてよい。
【0042】
一部の実装例において、各ゲームは、オンラインゲーミングプラットフォーム102上で行われるゲームエンジン機能とプレイヤシステム上で行われるゲームエンジン機能との間の異なる比率を有してよい。例えば、オンラインゲーミングプラットフォーム102のゲームエンジンは、少なくとも2つのゲームオブジェクト間の衝突がある場合に物理コマンドを生成するために使用されてよい一方で、追加のゲームエンジン機能性(例えば、レンダリングコマンドを生成する)はプレイヤシステムにオフロードされてよい。
【0043】
一部の実装例において、オンラインゲーミングプラットフォーム102およびプレイヤシステム上で行われるゲームエンジン機能の比率はゲームプレイ条件に基づいて(例えば、動的に)変化され得る。例えば、特定のゲームのゲームプレイに参加しているユーザ数が閾値数を超えれば、オンラインゲーミングプラットフォーム102は、プレイヤシステムによって以前に行われた1つまたは複数のゲームエンジン機能を行ってよい。
【0044】
例えば、ユーザは、プレイヤシステム110~114上でゲームをプレイしていてよく、そしてオンラインゲーミングプラットフォーム102に制御命令(例えば、右、左、上、下などのユーザ入力、ユーザ選択、またはキャラクタ位置および速度情報等)を送ってよい。プレイヤシステム(110~114)から制御命令を受信した後に、オンラインゲーミングプラットフォーム102は、制御命令に基づいてプレイヤシステム(110~114)にゲームプレイ命令(例えば、グループゲームプレイに参加しているキャラクタの位置および速度情報または、レンダリングコマンド、衝突コマンドなどのコマンド等)を送ってよい。
【0045】
例えば、オンラインゲーミングプラットフォーム102は、制御命令に(例えば、プラットフォームゲームエンジンを使用して)1つまたは複数の論理演算を行って、プレイヤシステム(110~114)のためのゲームプレイ命令を生成してよい。他の例では、オンラインゲーミングプラットフォーム102は、ゲームに参加している1つのプレイヤシステム(例えば、110)から別のプレイヤシステム(例えば、112)に制御命令の1つまたは複数を渡してよい。プレイヤシステム110~114は、ゲームプレイ命令を使用して、プレイヤシステム(110~114)と関連したそれぞれのディスプレイ上での提示のためにゲームプレイをレンダリングしてよい。
【0046】
一部の実装例において、キャラクタ(またはゲームオブジェクト全般)は、自動的に結合し合ってユーザの編集を補助する、1つまたは複数がユーザによって選択され得るコンポーネントから構築される。1つまたは複数のキャラクタ(本明細書において「アバタ」または「モデル」とも称される)がユーザと関連付けられてよく、ここでユーザはキャラクタを制御してユーザのゲームとの対話を容易にし得る。一部の実装例において、キャラクタは、身体部分(例えば、毛髪、腕、脚等)および付属品(例えば、Tシャツ、眼鏡、装飾画像、道具等)などのコンポーネントを含んでよい。一部の実装例において、カスタマイズ可能であるキャラクタの身体部分には、とりわけ、頭部型、身体部分型(腕、脚、胴および手)、顔型、毛髪型ならびに皮膚型を含む。一部の実装例において、カスタマイズ可能である付属品には、被服(例えば、シャツ、ズボン、帽子、靴、眼鏡等)、武器または他の道具を含む。一部の実装例において、ユーザはキャラクタのスケール(例えば、高さ、幅もしくは奥行き)またはキャラクタのコンポーネントのスケールも制御し得る。一部の実装例において、ユーザは、キャラクタのプロポーション(例えば、ずんぐり、骸骨等)を制御し得る。一部の実装例において、キャラクタはキャラクタゲームオブジェクト(例えば、身体部分等)を含まなくてよいが、ユーザがキャラクタ(キャラクタゲームオブジェクトなし)を制御してユーザのゲームとの対話を容易にし得ること(例えば、レンダリングされるキャラクタゲームオブジェクトはないが、ユーザが依然キャラクタを制御してゲーム内アクションを制御するパズルゲーム)が留意され得る。
【0047】
一部の実装例において、身体部分などのコンポーネントは、ブロック、シリンダ、球等などのプリミティブ幾何形状、またはウェッジ、トーラス、チューブ、チャネル等などの何らかの他のプリミティブ形状でよい。一部の実装例において、作成者モジュールが、オンラインゲーミングプラットフォーム102の他のユーザによる閲覧または使用のためにユーザのキャラクタを公開し得る。一部の実装例において、キャラクタ、他のゲームオブジェクト、ゲームまたはゲーム環境を作成、変更またはカスタマイズすることが、ユーザによってユーザインタフェース(例えば、開発者インタフェース)を使用してかつスクリプティングの有無に関わらず(またはアプリケーションプログラミングインタフェース(API)の有無に関わらず)行われ得る。限定よりむしろ例示の目的で、キャラクタがヒューマノイド形状を有するとして記載されることが留意され得る。キャラクタが車両、動物、無生物または他の創造的形状などの任意の形状を有し得ることが更に留意され得る。
【0048】
一部の実装例において、オンラインゲーミングプラットフォーム102は、ユーザによって作成されるキャラクタをデータストア106に記憶してよい。一部の実装例において、オンラインゲーミングプラットフォーム102は、ユーザに提示され得るキャラクタカタログおよびゲームカタログを維持する。一部の実装例において、ゲームカタログは、オンラインゲーミングプラットフォーム102上に記憶されるゲームの画像を含む。加えて、ユーザは、キャラクタカタログからキャラクタ(例えば、ユーザまたは他のユーザによって作成されたキャラクタ)を選択して、選択されたゲームに参加し得る。キャラクタカタログは、オンラインゲーミングプラットフォーム102上に記憶されるキャラクタの画像を含む。一部の実装例において、キャラクタカタログにおけるキャラクタの1つまたは複数がユーザによって作成またはカスタマイズされていてよい。一部の実装例において、選ばれたキャラクタは、キャラクタのコンポーネントの1つまたは複数を定めるキャラクタ設定を有してよい。
【0049】
一部の実装例において、ユーザのキャラクタはコンポーネントの構成を含むことができ、ここでコンポーネントの構成および外観ならびに、より一般にキャラクタの外観はキャラクタ設定によって定められてよい。一部の実装例において、ユーザのキャラクタのキャラクタ設定は、ユーザによって少なくとも部分的に選ばれてよい。他の実装例において、ユーザは、デフォルトキャラクタ設定または他のユーザによって選ばれたキャラクタ設定のキャラクタを選んでよい。例えば、ユーザは、既定のキャラクタ設定を有するキャラクタカタログからのデフォルトキャラクタを選んでよく、そしてユーザは、キャラクタ設定の一部を変更する(例えば、カスタマイズされたロゴを伴うシャツを追加する)ことによってデフォルトキャラクタを更にカスタマイズしてよい。キャラクタ設定は、オンラインゲーミングプラットフォーム102によって特定のキャラクタと関連付けられてよい。
【0050】
一部の実装例において、プレイヤシステム(例えば、110~114)は各々、パーソナルコンピュータ(PC)、モバイルデバイス(例えば、ラップトップ、移動電話、スマートフォン、タブレットコンピュータまたはネットブックコンピュータ)、ネットワーク接続テレビジョン、ゲーミングコンソール等などのコンピューティングデバイス(例えば、600)を含んでよい。一部の実装例において、プレイヤシステム(例えば、110~114)は「ユーザデバイス」とも称され得る。一部の実装例において、1つまたは複数のプレイヤシステム(例えば、110~114)は任意の所与の瞬間にオンラインゲーミングプラットフォーム102に接続してよい。プレイヤシステム(例えば、110~114)の数が、限定よりむしろ例示として提供されることが留意され得る。一部の実装例において、任意の数のプレイヤシステム(例えば、110~114)が使用され得る。
【0051】
一部の実装例において、各プレイヤシステム(例えば、110~114)は、ゲームアプリケーションのインスタンスを含んでよい。1つの実装例において、ゲームアプリケーションは、ユーザが、ゲームもしくは他のコンテンツを求めて検索する、オンラインゲーミングプラットフォーム102によってホストされる仮想ゲームにおける仮想キャラクタを制御する、またはゲーム、画像、ビデオアイテム、ウェブページ、文書等などのコンテンツを閲覧もしくはアップロードするなど、オンラインゲーミングプラットフォーム102を使用して対話するのを可能にし得る。
【0052】
1つの例では、ゲームアプリケーションは、ウェブサーバによって供給されるコンテンツ(例えば、仮想環境における仮想キャラクタ等)にアクセスして、読み出し、提示またはナビゲートできるウェブアプリケーション(例えば、ウェブブラウザ環境内で動作するアプリケーション)でよい。別の例では、ゲームアプリケーションは、プレイヤシステム(例えば、110~114)にローカルのオペレーティングシステム上にインストールされて実行し、ユーザがオンラインゲーミングプラットフォーム102と対話できるようにするネイティブアプリケーション(例えば、モバイルアプリケーション、アプリまたはゲーミングプログラム)でよい。ゲームアプリケーションは、ユーザにコンテンツ(例えば、ウェブページ、メディアビューア)をレンダリング、表示または提示してよい。一実装例において、ゲームアプリケーションは、ウェブページに埋め込まれる埋込みメディアプレイヤ(例えば、Flash(登録商標)プレイヤ)も含んでよい。
【0053】
本開示の態様によれば、プレイヤシステムは、ユーザがコンテンツを構築、作成、編集、オンラインゲーミングプラットフォーム102にアップロードする他に、オンラインゲーミングプラットフォーム102と対話する(例えば、オンラインゲーミングプラットフォーム102によってホストされるゲームを求めて検索、選択およびプレイする)オンラインゲーミングプラットフォームアプリケーションであり得るゲームアプリケーションを実行できる。そのため、ゲームアプリケーションは、オンラインゲーミングプラットフォーム102によってプレイヤシステム(例えば、110~114)に提供されてよい。別の例では、ゲームアプリケーションは、サーバからダウンロードされるアプリケーションでよい。
【0054】
一部の実装例において、ユーザは、ゲームアプリケーションを介してオンラインゲーミングプラットフォーム102にログインしてよい。ユーザは、ユーザアカウント情報(例えば、ユーザ名およびパスワード)を提供することによってユーザアカウントにアクセスしてよく、ここでユーザアカウントは、オンラインゲーミングプラットフォーム102の1つまたは複数のゲームに参加するために利用可能な1つまたは複数のキャラクタと関連付けられる。
【0055】
通常、オンラインゲーミングプラットフォーム102によって行われるとして1つの実装例に記載される機能は、適切であれば他の実装例において、プレイヤシステム(例えば、110~114)、またはサーバによって行うこともできる。加えて、特定のコンポーネントに起因する機能性は、共に動作する、異なるまたは複数コンポーネントによって行うことができる。オンラインゲーミングプラットフォーム102は、適切なアプリケーションプログラミングインタフェース(API)を通じて他のシステムまたはデバイスに提供されるサービスとしてアクセスすることもでき、したがってウェブサイトにおける使用に限定されない。
【0056】
一部の実装例において、オンラインゲーミングプラットフォーム102は検索エンジンを含んでよい。一部の実装例において、検索エンジンは、オンラインゲーミングプラットフォーム102がユーザに検索機能性を提供するのを可能にするシステム、アプリケーションまたはモジュールでよく、ここで検索機能性は、ユーザがオンラインゲーミングプラットフォーム102内のゲーム、ゲーム関連コンテンツまたは他のコンテンツを求めて検索するのを可能にする。一部の実装例において、検索エンジンは検索を行って検索結果を返し得る。検索結果ユーザインタフェースの一例が
図2に図示される。
【0057】
図2は、一部の実装例に従う、履歴データに従って順位付けられた検索結果202を表示するグラフィカルユーザインタフェース(GUI)例200である。GUI200は、検索クエリ「タイクーン」と一致して履歴データ(例えば、プレイ中のプレイヤ数)などの或る基準に従って順位付けられた検索結果202の第1の部分(例えば、ページ1)の表示を含む。GUI200は、選択されると、プレイヤシステム(例えば、110~114)からゲーミングプラットフォーム(例えば、102)にナビゲーション指示または次の一組の結果(例えば、ページ2等)を読み出せとの要求が送られるようにするユーザインタフェースナビゲーション要素204を含む。要素204が選択されると、システムは、次の一組の結果が何であるか(例えば、ページ2等)を任意選択で含むことができる次の一組の結果の要求を含むナビゲーションを示す、ゲーミングプラットフォームへの指示を送ることができる。検索結果202における検索結果要素(例えば、サムネイルアイコン)の1つが選択されると、選択された要素と関連したゲームがダウンロードされて実行が開始されるので、プレイヤはそのゲームをプレイできる。
【0058】
一部の実装例において、本明細書に記載される予測的プリローディングは、検索結果202が決定されるときに(例えば、データベースに対して検索クエリが実行されて検索結果が返された後かつそれらの結果が表示される前に)または検索結果が表示されるときに始まることができる。一部の実装例において、プリローディングは終了条件に達するまで続くことができる。終了条件は、表示された結果(例えば、202)からプレイヤが選択をしたという指示を受信することを含むことができ、そして選択されたゲーム(または他のゲーム関連データもしくはメディアアイテム)と関連しないいずれのデータリソースのプリローディングも終了できる。プリローディングは、プレイヤが、例えば次ページ要素204を選択することによって、または新たな検索語を提供して新たな検索クエリが処理されるようにすることによって所与の検索結果ページから離れてナビゲートするときにも終了できる。一部の実装例において、終了条件は、プリローディングのために識別されたゲームまたはゲーム関連アセットをプリロード完了したことも含むことができる。一部の実装例において、終了条件は、閾値数のゲーム/アセットをプリロードすること、または或る量のメモリ/ネットワークリソースを消費することを含むことができる。プリローディングは、クライアントデバイス、利用可能なクライアント側メモリ、ゲームプラットフォームとクライアントとの間のネットワーク容量または他の要因などのパラメータに依存していることができる。これらの要因もプリローディング意思決定アルゴリズムに供給できる。プリローディングはクライアント側だけ、サーバ側だけで行うことができ、またはプリローディングはクライアント側でもサーバ側でも行うことができる。
【0059】
本明細書に記載されるプリローディングは、検索結果以外のページに対して行うことができる。例えば、プレイヤがその日、週、月等の人気のゲームを閲覧していれば、利用可能なゲームオプションは人気の順にゲームを含んでよく、そしてプリローディングは、1つまたは複数の利用可能なゲームオプション、例えば、プレイヤシステムに現在表示されるゲームオプションに対応する。別の例では、プレイヤは任意のゲームまたはゲーム関連データもしくはメディアの利用可能なセレクションを閲覧していてよく、そしてプリローディングは、表示されたゲームまたはゲーム関連データもしくはメディアアイテムに関連して行うことができる。
【0060】
開示された予測的プリローディングシステムまたは方法の実装例は、ゲーム選択時間からゲーム起動時間までの待ち時間間隔を削減することによってユーザ体験を改善できる。一部の実装例において、検索の一部分が新しさ(または他の、人気、プレイヤ数等などの履歴データとは異なる基準)に基づくように検索エンジンが備えると、新しいコンテンツをより迅速に発見できる。一部の実装例は、プレイヤが関連付けられるコホートに基づいて予測を提供できる。コホートは、年齢群、以前の選択項目(例えば、xを選び次いでyを選ぶプレイヤ)、プラットフォーム上の時間の長さ(例えば、当セッションおよび/または総時間数の両方)、アバタタイプ、プレイの国、プレイの時間等などの1つまたは複数の特性のプレイヤ共有類似性を含むことができる。
【0061】
一部の実装例は、ユーザがグラフィカルユーザインタフェースを見ているが、インタフェースから選択をしていない時間中にプリローディングを行うことができる。処理負荷が低くなり得る(例えば、ユーザが選択をするためにGUIを見ている)時間中に予測的プリローディングを行うことによって、システムまたは方法は、プロセッサおよび/または通信システムが低利用状態にある時間へ一部の処理またはデータ通信を移し得るため、処理または通信リソースの利用を改善できる。
【0062】
一部の実装例は、プレイヤ情報を使用することを含むことができる。そのような実装例において、プレイヤ情報を使用する前にプレイヤ許可を取得できる。プレイヤには、プレイヤと関連した情報の使用を許可または拒否するオプションを与えることができる。プレイヤ情報が(例えば、モデルを訓練するまたはモデルを使用してプリローディング予測をするために)使用される許可をプレイヤが与えた例では、プレイヤ情報は、(例えば、実際のまたはより詳細な位置の代わりに地域的位置を使用することによって、実際の年齢の代わりにプレイヤ年齢範囲を使用することによって、アカウント履歴からプレイヤアカウント識別詳細を削除する等)いかなるプレイヤ(またはユーザ)識別可能情報も削除した形態へ変換または要約できる。プレイヤデータおよび/またはアクションが使用される許可をプレイヤが提供しなければ、本明細書に記載される方法はプレイヤデータなしで行われる。一部の実装例において、許可を提供した複数プレイヤからのプレイヤデータおよびアクションは、いかなる特定のプレイヤの識別も含まず、むしろプレイヤデータおよびアクション(例えば、コホートと関連したプレイヤデータおよびアクション)の集約を表す集約形態へ組み合わせることができる。
【0063】
図3は、一部の実装例に従うプリローディングのためのゲームデータアセットを予測するように機械学習モデルを訓練する図である。
図3に図示されるように、訓練フェーズの予測的プリローディングモデル104に訓練データ302が供給される。様々な実装例において、予測的プリローディングモデル104は、プリロードすべきゲームまたはゲーム関連データを予測するように訓練できる機械学習モデル(例えば、畳込みニューラルネットワーク、完全畳込みニューラルネットワーク等などのニューラルネットワーク)を含むことができる。一部の実装例において、訓練データはプレイヤデータ304およびプレイヤアクション306を含んでよい。機械学習モデルは、クラスタ分析アルゴリズム、サポートベクトルマシンまたは他の適切なモデルなど、ニューラルネットワーク以外のモデルを含むことができる。
【0064】
プレイヤデータ304は、プレイヤ性別、プレイヤ年齢、プレイヤ地理的領域、プレイヤ言語、ゲーミングプラットフォーム上のプレイヤ経験またはゲーミングプラットフォーム上のプレイヤ購入履歴を含むことができる。プレイヤアクション306は、プレイヤがとった以前のアクションおよび、任意選択で、アクションがとられたコンテキストを含むことができる。利用可能なゲームオプションは、特定のオプションが選択されたときにGUI上で選択のために利用可能なゲームオプション、アクションがとられたゲームコンテキスト(例えば、ゲームプレイのステージ、ゲームタイプまたはゲームインスタンス)等を含むことができる。一部の実装例において、訓練データ302は、プレイヤ人口統計、コホート情報、プレイ履歴、現在時刻/位置、ゲームレベル等から成る特徴ベクトルを含むことができる。一部の実装例において、訓練データは、各次元に対して数値を持つ多次元ベクトルを含むことができる。コホートは、多次元ベクトルの自動クラスタリングに基づいて形成または識別できる。一部の実装例において、値の一部は、単純なオンまたはオフ値、例えば男性であり女性でない、である。一部は年齢などの値であり、各ビンと関連した年齢群内のプレイヤのビンへ分類できる。使用される値の種類は、使用される予測モデルの種類に影響し得る。例えば、離散値に関してはニューラルネットワークがより良好な性能となる傾向がある一方、範囲に関してはクラスタ分析技術が良好な性能となる。一部の実装例において、ニューラルネットワークに送る正しいビンを決定するために、年齢などの値のクラスタリングが使用されてよい。
【0065】
予測的プリローディングモデル104は、プレイヤネットワーク308(例えば、個人プレイヤデータを使用して訓練されたネットワーク)および/またはコホートネットワーク310(例えば、コホートデータを使用して訓練されたネットワーク)などの1つまたは複数のニューラルネットワークを含むことができる。プレイヤネットワーク308およびコホートネットワーク310は別々のネットワークまたは同じネットワークであることができる。モデル104の訓練は、過去のゲーム選択項目(例えば、このユーザは通常検索結果から最も人気のゲームを選ぶ)に基づくまたは過去のゲームプレイ(例えば、このユーザは、部屋に入ると通常左にナビゲートする)に基づくニューラルネットワークのプレイヤ特有の(またはユーザ特有の)訓練を含むことができる。訓練は、特定の人口統計群のユーザが、ゲームを開始すると、この種類の付属品を選ぶ(例えば、21歳の男性は典型的にレザージャケットおよび野球帽を選ぶ;30歳の女性は典型的に赤毛およびヘアバンドを選ぶ)など、コホートベースの訓練も含むことができる。訓練は、人口統計データのない先行データ訓練(例えば、ユーザは最初に毛髪に関する付属品を、次いで履物のための付属品を選ぶ)も含むことができる。上述の訓練手法は、予測に対して関連する重みを含み得る(例えば、3つの別々のモデル-個人、コホートおよび非人口統計-が訓練されれば、個人プレイヤモデルが、より個人化されたモデルであり、おそらくより正確であるので、より大きな重みを割り当てられ得る)。一部の実装例において、訓練されたモデルはオフラインでおよび/またはオンラインで訓練され、例えば、ユーザがプリロードされたオプションを選択すれば、それはモデルに対して正の強化として作用できる一方、ユーザが異なるオプションを選ぶ、または異なるゲームオプションのリストにナビゲートすれば、それは負の強化として働くことができる。オンライン訓練は、機械学習モデルが、(a)より多くのゲームが利用可能になること、(b)ユーザ嗜好が変化すること、例えば一部のゲームの人気が上がり、一部が下がる、(c)時刻、曜日/その他長期傾向、例えばアクションゲームは夜に人気があり、ストラテジーゲームは週末等、および/または(d)利用可能なゲームアセットが変化することに基づいて、プリロードすべきゲームオプションの予測を動的に調整するのを可能にすることができる。コホートは、友人グラフを使用して定められてもまたは識別されてもよく、ここでプレイヤは友人として他のプレイヤに接続され、ローカルグループ、例えば当該プレイヤから3ホップの全てのプレイヤがコホートであり得る。オンライン訓練は、システムが時間とともに選択プロセスを調整するのを可能にする。例えば、毎週選択をする9千万のプレイヤがいるとすると、オンライン訓練を行うことによって、システムはユーザ行動の流行または傾向についていくことができる。
【0066】
一部の実装例において、全ての3組のデータ(例えば、個人、コホート、および人口統計情報のない先行データ)に基づいて、訓練入力に重みが割り当てられて(例えば、個人に対してより高い重み、および人口統計データのない先行データに対して最低の重み)、単一のニューラルネットワークを共同で訓練できる。
【0067】
モデル形式または構造が、様々なノード間の接続性およびノードの層への編成を指定してよい。例えば、第1の層(例えば、入力層)のノードが入力データまたはアプリケーションデータとしてデータを受けてよい。そのようなデータは、例えば1つまたは複数の利用可能なゲームオプションまたはプレイヤデータ点を含むことができる。続く中間層が、モデル形式または構造に指定される接続性ごとに前の層のノードの出力を入力として受けてよい。これらの層は隠れ層とも称され得る。最終層(例えば、出力層)が機械学習アプリケーションの出力を生成する。例えば、出力は、プリローディングのために予測される1つまたは複数のゲームオプションを提供し得る。
【0068】
一部の実装例において、訓練されたモデルは、重み付きの個々のノードおよび/または接続を含んでよい。モデル形式ごとに接続される各対のノード、例えばニューラルネットワークの連続した層におけるノード間の接続にそれぞれの重みが加えられてよい。一部の実装例において、それぞれの重みは、ランダムに割り当てられても、またはデフォルト値に初期化されてもよい。モデルは、次いで、例えばデータを使用して訓練されて結果を生成してよく、ここで訓練は、ノード、ノード構造、接続および/または重みの1つまたは複数を調整することを含むことができる。
【0069】
モデルは、予測値と実際のラベルとの間の差を表す損失関数を含むことができる。モデルは、損失関数を最小化するように訓練できる。訓練は、教師あり、教師なしまたは半教師あり学習技術を含むことができる。教師あり学習では、訓練データは、複数の入力(例えば、プレイヤデータおよび利用可能なゲームオプション)ならびに各入力に対する対応する期待出力(例えば、選択されたゲームオプションなどのプレイヤアクション)を含むことができる。期待出力とのモデルの出力の比較(例えば、損失関数を算出すること)に基づいて、例えば、類似の入力が提供されたときにモデルが期待出力を生成する確率を上昇させる(すなわち、損失関数を減少させる)方式で、重みの値が自動的に調整される。教師なし学習では、モデルは、データセットにおける要素間の関係を学習し、そしてラベル付き訓練データの恩恵なく生データを分類する。半教師あり学習は教師ありおよび教師なし技術の組合せを含むことができ、例えば、少量のラベル付き訓練データおよび多量のラベルなし訓練データを学習のためにモデルに提供できる。一旦モデル104が訓練されると、それは、実世界データに基づいてプリロードすべきゲームおよびゲーム関連データアセットを予測するために使用できる。
【0070】
一部の実装例において、ニューラルネットワーク(の他に他の学習アルゴリズム)は、重み付きの一組の選択項目を生成する傾向がある。一部の実装例は、正解に対する重みが次のオプションより大きい閾値であるまで訓練ステップを行うことを含むことができる。データセットを絶えず改善することによって、かつ誤った決定を廃棄することによって、いずれの特定のネットワークを送り出す際にもマイナス面はほとんどなくなる。任意の特定のネットワークが時間とともにどの程度良好な性能となっているかを追跡することによって、性能を分析できる。
【0071】
図4は、一部の実装例に従うプリローディングのためのゲームデータアセットを予測する機械学習モデルの図である。動作の際、予測的プリローディングモデル104に実世界データ402を提供できる。一部の実装例において、実世界データとは、予測されたプリローディングが行われるべきゲームプレイまたはゲーム選択中にゲーミングプラットフォームによって取得されるデータを指すことができる。実世界データ402は、プレイヤデータ404および利用可能なセレクション406(例えば、プレイすべきゲームなどの1つまたは複数の利用可能なゲームオプション、特定のゲーム内の選択項目またはオプション等)を含むことができる。
【0072】
予測的プリローディングモデル104は、実世界データ402ならびに、別々のネットワークまたは同じネットワークであることができる、プレイヤネットワーク308および/またはコホートネットワーク310に基づいて1つまたは複数のプリローディングのための予測されたセレクション408を生成できる。プリローディングのための予測されたセレクションは、ゲーム、ゲームリソース、ゲームセレクション(例えば、ゲーム内の移動、ゲーム内のアクション等)を含むことができる。
【0073】
図5は、一部の実装例に従うゲームデータを予測的にプリロードする方法例500のフローチャートである。処理は502から始まり、プレイヤデータが使用される許可をプレイヤが提供したかどうかが判定される。そうであれば、処理は504に続く。そうでなければ、処理は506に続く。プレイヤデータが使用されることが許可されなければ、またはプリローディング予測を行うのに不十分なデータしかなければ、またはシステムがプリローディング予測をすることができない任意の状況では、システムは、プレイヤが選択をするのを待つことしかできない。
【0074】
504で、プレイヤデータが取得される。プレイヤデータは、プレイヤ性別、プレイヤ年齢、プレイヤ地理的領域、プレイヤ言語、ゲーミングプラットフォーム上のプレイヤ経験またはゲーミングプラットフォーム上のプレイヤ購入履歴を含むことができる。プレイヤデータは、プレイヤが属する1つまたは複数のコホートも含むことができ、ここでコホートは、コホートのメンバーが一致する(例えば、男性もしくは女性など、全く一致する、またはニューヨーク市近郊に住んでいるなど、所与の範囲内で一致する)1つまたは複数の特性を含む。プレイヤデータは、プレイヤがアカウントを作成または更新するときに提供する情報、ゲーミングプラットフォームの使用中にプレイヤについて(プレイヤの許可を得て)収集される情報等から取得できる。処理は506に続く。
【0075】
506で、選択のために利用可能なゲームオプションが取得される。選択のために利用可能なゲームオプションは、プレイすべき選択のために利用可能なゲーム(例えば、
図2における202)、ゲーム内のアイテム、プレイヤがプレイしている特定のゲーム内ですべき利用可能な移動またはアクションオプション等を含むことができる。処理は508に続く。
【0076】
508で、プレイヤデータ(任意選択)および選択のために利用可能なゲームオプションが予測的プリローディングモデル(例えば、104)に提供される。処理は510に続く。
【0077】
510で、予測的プリローディングモデルから1つまたは複数のプリロードすべきゲームオプションが受信される。処理は512に続く。
【0078】
512で、510において受信される1つまたは複数のゲームオプションのプリローディングが開始される。プリローディングは、例えばプレイヤがまだ選択をするためにユーザインタフェースを見ている間にプレイヤシステム上(すなわち、クライアント側)でバックグラウンドで行うことができる。プリローディングは、利用可能なオプションが表示された後に開始でき、または、任意選択で、プリローディングは、1つもしくは複数のプリロードすべきゲームオプションが予測的プリローディングモデルから受信されるとすぐに開始でき、これは、利用可能なオプションがプレイヤシステム上で表示される前であることができる。一部の実装例において、プリローディングは、ネットワークを介してゲーミングプラットフォームから1つまたは複数のリソースを読み出すこと、プレイヤシステムのランダムアクセスメモリに1つまたは複数のリソースをロードすること、および/またはゲーミングプラットフォームにおいて1つまたは複数のリソースをキャッシュすることを含むことができる。処理は514に続く。
【0079】
514で、プレイヤ選択が受信される、または別のプリローディング終了条件に達する。その他の終了条件は、利用可能なゲームオプションを変化させるナビゲーションを受信すること(例えば、検索結果ウィンドウにおける次ページ選択、異なる検索クエリを受信すること等)を含むことができる。処理は516に続く。
【0080】
516で、いずれの非選択ゲームオプションのプリローディングも終了される。プリローディングを終了することは、プリローディングを停止すること、および終了された、ゲームまたはゲーム関連データアセットをプリロードすることと関連したいずれのメモリまたは他のリソースも解放することを含むことができる。終了することは、終了条件を受けたことに続いてかついかなる部分的にプリロードされたデータも廃棄する前に、所与の時間量以内にユーザがユーザインタフェース画面またはプログラム状態に戻って以前のプリローディングの全部または一部分が行われれば、プリローディングが一時的に中断されたところからそれを再開できるように、所与の時間量の間プリローディングを一時的に停止することも含むことができる。
【0081】
一部の実装例は、選択に基づいてMLモデルを更新することを含むことができ、これには、プレイヤ選択に基づく強化学習など、モデルのオンライン訓練を含むことができる。
【0082】
ブロック502~516(の他に図示されかつ本明細書に記載される任意の他のブロック)は、全部または一部繰り返しかつ同じまたは異なる順に行うことができる。その上、或るブロックを削除、変更、他のブロックと結合、および/または他の動作で補足できる。
【0083】
図6は、本明細書に記載される1つまたは複数の特徴を実装するために使用され得るコンピューティングデバイス例600のブロック図である。1つの例では、デバイス600は、コンピュータデバイス(例えば、
図1の102、および/または110~114)を実装し、そして本明細書に記載される方法実装例を行うために使用され得る。コンピューティングデバイス600は、任意の適切なコンピュータシステム、サーバまたは他の電子もしくはハードウェアデバイスであることができる。例えば、コンピューティングデバイス600は、メインフレームコンピュータ、デスクトップコンピュータ、ワークステーション、ポータブルコンピュータ、または電子デバイス(ポータブルデバイス、モバイルデバイス、携帯電話、スマートフォン、タブレットコンピュータ、テレビジョン、TVセットトップボックス、携帯情報端末(PDA)、メディアプレイヤ、ゲームデバイス、ウェアラブルデバイス等)であることができる。一部の実装例において、デバイス600は、プロセッサ602、メモリ604、入出力(I/O)インタフェース606およびオーディオ/ビデオ入出力デバイス614を含む。
【0084】
プロセッサ602は、プログラムコードを実行しかつデバイス600の基本動作を制御する1つまたは複数のプロセッサおよび/または処理回路であることができる。「プロセッサ」は、データ、信号または他の情報を処理する任意の適切なハードウェアおよび/またはソフトウェアシステム、メカニズムまたはコンポーネントを含む。プロセッサは、汎用中央処理ユニット(CPU)を持つシステム、複数処理ユニット、機能性を達成するための専用回路網、または他のシステムを含み得る。処理は、特定の地理的位置に限定されるまたは時間的制限を有する必要はない。例えば、プロセッサは、その機能を「リアルタイム」で、「オフラインで」、「バッチモード」で等行い得る。処理の部分は、異なる(または同じ)処理システムによって、異なる時間におよび異なる位置で行われてよい。コンピュータは、メモリと通信する任意のプロセッサでよい。一部の実装例は、本明細書に記載される機械学習モデルの1つまたは複数を実装する機械学習モデル実装のために活用される機械学習プロセッサまたは他のプロセッサ(例えば、GPU、ASIC、FPGA等)を含むことができる。
【0085】
メモリ604は、典型的にプロセッサ602によるアクセスのためにデバイス600に設けられ、かつプロセッサによる実行のための命令を記憶するために適切な、かつプロセッサ602とは別に設けられかつ/またはそれと一体化される任意の適切なプロセッサ可読記憶媒体、例えばランダムアクセスメモリ(RAM)、リードオンリメモリ(ROM)、電気的消去可能リードオンリメモリ(EEPROM)、フラッシュメモリ等でよい。メモリ604は、オペレーティングシステム608、予測的プリローディングアプリケーション610および関連データ612を含め、プロセッサ602によってサーバデバイス600上で動作するソフトウェアを記憶できる。一部の実装例において、検索エンジンアプリケーション610は、プロセッサ602が本明細書に記載される機能、例えば
図5の方法の一部または全部を行うことを可能にする命令を含むことができる。
【0086】
例えば、メモリ604は、オンラインゲーミングプラットフォーム(例えば、102)またはプレイヤシステム(例えば、110~114)内で予測的プリローディング能力を提供できる予測的プリローディングアプリケーション610のためのソフトウェア命令を含むことができる。メモリ604におけるソフトウェアのいずれも、任意の他の適切な記憶位置またはコンピュータ可読媒体に代替的に記憶できる。加えて、メモリ604(および/または他の接続された記憶デバイス)は、本明細書に記載される特徴に使用される命令およびデータを記憶できる。メモリ604および任意の他の種類のストレージ(磁気ディスク、光ディスク、磁気テープまたは他の有形媒体)は「ストレージ」または「記憶デバイス」と考えることができる。
【0087】
I/Oインタフェース606は、サーバデバイス600を他のシステムおよびデバイスとインタフェースさせることを可能にする機能を提供できる。例えば、ネットワーク通信デバイス、記憶デバイス(例えば、メモリおよび/またはデータストア106)ならびに入出力デバイスがインタフェース606を介して通信できる。一部の実装例において、I/Oインタフェースは、入力デバイス(キーボード、ポインティングデバイス、タッチスクリーン、マイクロホン、カメラ、スキャナ等)および/または出力デバイス(ディスプレイデバイス、スピーカデバイス、プリンタ、モータ等)を含むインタフェースデバイスに接続できる。
【0088】
例示を容易にするために、
図6は、プロセッサ602、メモリ604、I/Oインタフェース606、ソフトウェアブロック608および610、ならびにデータベース612の各々のために1つのブロックを図示する。これらのブロックは、1つまたは複数のプロセッサもしくは処理回路網、オペレーティングシステム、メモリ、I/Oインタフェース、アプリケーションおよび/またはソフトウェアモジュールを表し得る。他の実装例において、デバイス600は、図示されるコンポーネントの全てを有するわけではなくてよく、かつ/または本明細書に図示されるものの代わりに、もしくはそれらに加えて他の種類の要素を含む他の要素を有してよい。オンラインゲーミングプラットフォーム102が本明細書における一部の実装例に記載されるような動作を行うと記載されるのに対して、オンラインゲーミングプラットフォーム102もしくは類似のシステムの任意の適切なコンポーネントもしくはコンポーネントの組合せ、またはそのようなシステムと関連した任意の適切な1つもしくは複数のプロセッサが、記載された動作を行い得る。
【0089】
ユーザデバイスまたはプレイヤシステム(例えば、110~114)が、本明細書に記載される特徴を実装するかつ/またはそれらと共に使用することもできる。ユーザデバイスまたはプレイヤシステム(例えば、110~114)の例は、一部のデバイス600と類似のコンポーネント、例えばプロセッサ602、メモリ604およびI/Oインタフェース606を含むコンピュータデバイスであることができる。クライアントデバイスのために適切なオペレーティングシステム、ソフトウェアおよびアプリケーションをメモリに設けてプロセッサによって使用できる。クライアントデバイスのためのI/Oインタフェースは、ネットワーク通信デバイスの他に、入出力デバイス、例えば音を取り込むためのマイクロホン、画像もしくはビデオを取り込むためのカメラ、音を出力するためのオーディオスピーカデバイス、画像もしくはビデオを出力するためのディスプレイデバイスまたは他の出力デバイスに接続できる。オーディオ/ビデオ入出力デバイス614内のディスプレイデバイスを、例えば、デバイス600に接続して(または含めて)、本明細書に記載されるような処理前後の画像を表示でき、ここでそのようなディスプレイデバイスは、任意の適切なディスプレイデバイス、例えばLCD、LEDもしくはプラズマディスプレイスクリーン、CRT、テレビジョン、モニタ、タッチスクリーン、3-Dディスプレイスクリーン、プロジェクタまたは他のビジュアルディスプレイデバイスを含むことができる。一部の実装例は、オーディオ出力デバイス、例えばテキストを話す音声出力または合成を提供できる。
【0090】
本明細書に記載される1つまたは複数の方法(例えば、方法500)は、コンピュータ上で実行できるコンピュータプログラム命令またはコードによって実装できる。例えば、コードは、1つまたは複数のデジタルプロセッサ(例えば、マイクロプロセッサまたは他の処理回路網)によって実装でき、かつ非一時的コンピュータ可読媒体(例えば、記憶媒体)、例えば半導体またはソリッドステートメモリ、磁気テープ、リムーバブルコンピュータディスケット、ランダムアクセスメモリ(RAM)、リードオンリメモリ(ROM)、フラッシュメモリ、リジッド磁気ディスク、光ディスク、ソリッドステートメモリドライブ等を含め、磁気、光、電磁または半導体記憶媒体を含むコンピュータプログラム製品上に記憶できる。プログラム命令は、例えばサーバ(例えば、分散システムおよび/またはクラウドコンピューティングシステム)から配信されるサービスとしてのソフトウェア(SaaS)の形態で、電子信号に含める、かつそれとして提供することもできる。代替的に、1つまたは複数の方法は、ハードウェア(論理ゲート等)で、またはハードウェアおよびソフトウェアの組合せで実装できる。ハードウェア例は、プログラマブルプロセッサ(例えばフィールドプログラマブルゲートアレイ(FPGA)、複合プログラマブルロジックデバイス)、汎用プロセッサ、グラフィックプロセッサ、特定用途向け集積回路(ASIC)等であることができる。1つまたは複数の方法を、システム上で走るアプリケーションの一部もしくはコンポーネントとして、または他のアプリケーションおよびオペレーティングシステムと併せて走るアプリケーションもしくはソフトウェアとして行うことができる。
【0091】
本明細書に記載される1つまたは複数の方法は、任意の種類のコンピューティングデバイス上で走らせることができるスタンドアロンプログラム、ウェブブラウザ上で走らされるプログラム、モバイルコンピューティングデバイス(例えば、携帯電話、スマートフォン、タブレットコンピュータ、ウェアラブルデバイス(腕時計、アームバンド、宝飾、帽子、ゴーグル、眼鏡等)、ラップトップコンピュータ等)上で走らされるモバイルアプリケーション(「アプリ」)で走らせることができる。1つの例では、クライアント/サーバアーキテクチャを使用でき、例えば、モバイルコンピューティングデバイス(クライアントデバイスとして)がサーバデバイスにユーザ入力データを送り、そして出力のために(例えば、表示のために)最終出力データをサーバから受信する。別の例では、全ての計算は、モバイルコンピューティングデバイス上のモバイルアプリ(および/または他のアプリ)内で行うことができる。別の例では、計算は、モバイルコンピューティングデバイスと1つまたは複数のサーバデバイスとの間で分割できる。
【0092】
説明がその特定の実装例に関して記載されたが、これらの特定の実装例は単に例示であり、限定ではない。例において例示される概念は他の例および実装例に適用され得る。
【0093】
本開示に記載される機能ブロック、動作、特徴、方法、デバイスおよびシステムが当業者に公知であろうシステム、デバイスおよび機能ブロックの種々の組合せへ統合または分割され得ることに留意されたい。特定の実装例のルーチンを実装するために任意の適切なプログラミング言語およびプログラミング技術が使用され得る。種々のプログラミング技術、例えば手続き型またはオブジェクト指向型が利用され得る。ルーチンは単一の処理デバイスまたは複数プロセッサ上で実行し得る。ステップ、動作または計算が具体的な順に提示され得るが、その順は種々の特定の実装例において変更され得る。一部の実装例において、本明細書に順次として図示される複数ステップまたは動作は同時に行われ得る。
【符号の説明】
【0094】
100 システムアーキテクチャ
102 オンラインゲーミングプラットフォーム
104 予測的プリローディングモデル
106 データストア
108 ネットワーク
110 第1のプレイヤシステム
112 第2のプレイヤシステム
114 第nのプレイヤシステム
116 コホート
200 グラフィカルユーザインタフェース(GUI)
202 検索結果
204 ナビゲーション要素
302 訓練データ
304 プレイヤデータ
306 プレイヤアクション
308 プレイヤネットワーク
310 コホートネットワーク
402 実世界データ
404 プレイヤデータ
406 利用可能なセレクション
408 プリローディングのための予測されたセレクション
600 コンピューティングデバイス
602 プロセッサ
604 メモリ
606 入出力(I/O)インタフェース
608 オペレーティングシステム
610 予測的プリローディングアプリケーション
612 データベース
614 オーディオ/ビデオ入出力デバイス