(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-05-16
(45)【発行日】2022-05-24
(54)【発明の名称】仮想トーナメントのための同期モデル
(51)【国際特許分類】
A63F 13/48 20140101AFI20220517BHJP
A63F 13/35 20140101ALI20220517BHJP
A63F 13/86 20140101ALI20220517BHJP
【FI】
A63F13/48
A63F13/35
A63F13/86
(21)【出願番号】P 2018548862
(86)(22)【出願日】2017-03-15
(86)【国際出願番号】 US2017022412
(87)【国際公開番号】W WO2017160910
(87)【国際公開日】2017-09-21
【審査請求日】2020-03-10
(32)【優先日】2016-03-15
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】517089798
【氏名又は名称】スキルズ プラットフォーム インコーポレイテッド
(74)【代理人】
【識別番号】100078282
【氏名又は名称】山本 秀策
(74)【代理人】
【識別番号】100113413
【氏名又は名称】森下 夏樹
(74)【代理人】
【識別番号】100181674
【氏名又は名称】飯田 貴敏
(74)【代理人】
【識別番号】100181641
【氏名又は名称】石川 大輔
(74)【代理人】
【識別番号】230113332
【氏名又は名称】山本 健策
(72)【発明者】
【氏名】パラダイス, アンドリュー
(72)【発明者】
【氏名】アギーレ, ミリアム
【審査官】早川 貴之
(56)【参考文献】
【文献】特表2015-531622(JP,A)
【文献】特開2011-072735(JP,A)
【文献】国際公開第2016/032951(WO,A1)
(58)【調査した分野】(Int.Cl.,DB名)
A63F 9/24,13/00-13/98
(57)【特許請求の範囲】
【請求項1】
方法であって、
オンラインビデオゲームのトーナメントに登録される2人のプレーヤを特徴付けるデータを受信することであって、各プレーヤは、前記オンラインビデオゲームの別個のインスタンスを実行し、前記オンラインビデオゲームは、前記2人のプレーヤ間で非同期性であり、前記データは、前記トーナメントをホストするトーナメントサーバによって受信され、前記トーナメントサーバは、前記2人のプレーヤと関連付けられたクライアントにゲームデータを提供するゲームサーバとは別個である、ことと、
前記トーナメントサーバが、前記2人のプレーヤ間のゲームプレーの同期開始のための命令を生成することと、
前記トーナメントサーバが、前記命令を前記2人のプレーヤと関連付けられた前記クライアントに伝送することであって、前記命令は、前記2人のプレーヤのための非同期性ゲームの同期開始をもたらたす、ことと、
前記トーナメントサーバに動作可能に結合されたコメンテータクライアントから視聴クライアントに、前記視聴クライアントによる横並びの視聴のためのゲームインスタンスの各々の同時ゲームプレー
のビデオ映像を提供することであって、前記提供することは、
前記トーナメントサーバに動作可能に結合されたメディア管理サーバにおいて前記
2人のプレーヤと関連付けられたクライアントから第1のビデオストリームおよび第2のビデオストリームを受信することであって、前記第1のビデオストリームおよび前記第2のビデオストリームは、
前記2人のプレーヤ間の前記ゲームプレーの開始において可能にされ、前記第1のビデオストリームおよび前記第2のビデオストリームは、前記ゲームインスタンスの各々の前記ゲームプレーの捕捉されたビデオを含
み、前記第1のビデオストリームは、前記2人のプレーヤのうちの一方のビデオストリームであり、前記第2のビデオストリームは、前記2人のプレーヤのうちの他方のビデオストリームである、ことと、
前記コメンテータクライアントからの入力に応答して前記第1のビデオストリームおよび前記第2のビデオストリームから比較
ビデオストリームを生成することであって、前記比較
ビデオストリームは、横並びに表示される前記第1のビデオストリームおよび前記第2のビデオストリームを含む、ことと、
前記メディア管理サーバが、前記比較
ビデオストリームを前記視聴クライアントに提供することと、
前記メディア管理サーバが、前記コメンテータクライアントのために提案されるブロードキャストを組み立てることであって、前記提案されるブロードキャストは、少なくとも
第1のビデオセグメントおよび
第2のビデオセグメントを含
み、前記第1のビデオセグメントは、前記第1のビデオストリームの一部であり、前記第2のビデオセグメントは、前記第2のビデオストリームの一部であり、前記メディア管理サーバが、前記第1のビデオストリームからの前記第1のビデオセグメントおよび前記第2のビデオストリームからの前記第2のビデオセグメントを選択する、ことと、
前記メディア管理サーバが、前記提案されるブロードキャストを前記コメンテータクライアント
のインターフェースに
提供することと、
前記コメンテータクライアントにおいて前記コメンテータクライアントの
前記インターフェースによって
前記ビデオ映像を選択することであって、前記
ビデオ映像は、前記提案されるブロードキャストの少なくとも一部を含む、ことと、
前記メディア管理サーバが、前記
ビデオ映像を前記視聴クライアントに提供することと
を含む、ことと
を含む、方法。
【請求項2】
前記命令は、前記クライアントによって受信されると、ゲームプレーを開始させる、請求項1に記載の方法。
【請求項3】
各クライアントは、ゲームインスタンスと、前記命令を受信するピアトーナメントモジュールとを含み、前記命令を受信することに応答して、前記ゲームインスタンスとのゲーム開始コールバックを実行することによって、ゲームプレーを開始させる、請求項2に記載の方法。
【請求項4】
各クライアントは、ゲームインスタンスと、前記命令を受信するピアトーナメントモジュールとを含み、前記命令を受信することに応答して、第2の命令を前記ゲームサーバに伝送し、前記ゲームサーバから前記ゲームインスタンスへのゲームデータの通信の開始を引き起こす、請求項2に記載の方法。
【請求項5】
前記命令は、ゲーム開始のための時間を規定する、請求項1に記載の方法。
【請求項6】
各クライアントは、ゲームインスタンスと、前記命令を受信するピアツーピアモジュールとを含み、前記ゲームインスタンスとのゲーム開始コールバックを実行することによって、前記規定された時間に、前記ゲームを開始させる、請求項5に記載の方法。
【請求項7】
各クライアントは、ゲームインスタンスと、前記命令を受信するピアツーピアモジュールとを含み、前記開始するための規定された時間に、第2の命令を前記ゲームサーバに伝送し、前記ゲームサーバから前記ゲームインスタンスへのゲームデータの通信の開始を引き起こす、請求項5に記載の方法。
【請求項8】
前記トーナメントサーバが、各クライアントに、試合識別子、プレーヤ識別子、およびゲームパラメータを伝送することであって、前記試合識別子は、前記トーナメントに一意の識別子を規定し、前記プレーヤ識別子は、前記トーナメントへのユーザのエントリのための一意の識別子であり、前記ゲームパラメータは、実行するための各ゲームインスタンスを構成するためのデータを含む、こと
をさらに含む、請求項1に記載の方法。
【請求項9】
システムであって、
少なくとも1つのデータプロセッサと、
前記少なくとも1つのデータプロセッサによって実行されると、前記少なくとも1つのデータプロセッサに、請求項1~8のいずれかに記載の方法を実施させる命令を記憶するメモリと
を備える、システム。
【請求項10】
少なくとも1つのコンピューティングシステムの少なくとも1つのデータプロセッサによって実行されると、請求項1~8のいずれかに記載の方法を実施する、命令を記憶する非一過性コンピュータプログラム製品。
【発明の詳細な説明】
【技術分野】
【0001】
(関連出願の相互参照)
本願は、2016年3月15日に出願された米国仮特許出願第62/308,812号に対する35 U.S.C §119(e)の下での優先権を主張するものであり、該仮特許出願の全内容は、参照により本明細書中に援用される。
【0002】
本明細書に説明される主題は、デジタルオンラインビデオゲームトーナメントの臨機応変な作成およびホストに関する。
【背景技術】
【0003】
ビデオゲームストリーマは、観衆に、彼らのゲームプレーのライブ映像を示すことに関わる。ストリーマが、その視聴者のための双方向、ライブ、かつ対戦式のコンテンツをホストすることを可能にする一般的な解決策がないため、ストリーマは、現在、その観衆に関わるための能力において限定される。
【発明の概要】
【課題を解決するための手段】
【0004】
ある側面では、オンラインビデオゲームのトーナメントに登録される、2人のプレーヤを特徴付けるデータが受信される。各プレーヤは、オンラインビデオゲームの別個のインスタンスを実行している。オンラインビデオゲームは、2人のプレーヤ間で非同期性である。データは、トーナメントをホストするトーナメントサーバによって受信され、2人のプレーヤと関連付けられたクライアントにゲームデータを提供する、ゲームサーバとは別個である。2人のプレーヤ間のゲームプレーの同期開始のための命令が、生成される。命令は、2人のプレーヤと関連付けられたクライアントに伝送され、命令は、2人のプレーヤのための非同期性のゲームの同期開始をもたらす。
【0005】
以下の特徴のうちの1つまたはそれを上回るものが、任意の実行可能な組み合わせに含まれ得る。例えば、命令は、クライアントによって受信されると、ゲームプレーを開始させ得る。各クライアントは、ゲームインスタンスと、命令を受信するピアトーナメントモジュールとを含み、命令を受信することに応答して、ゲームインスタンスとのゲーム開始コールバックを実行することによって、ゲームプレーを開始させ得る。各クライアントは、ゲームインスタンスと、命令を受信するピアトーナメントモジュールとを含み、命令を受信することに応答して、第2の命令をゲームサーバに伝送し、ゲームサーバからゲームインスタンスへのゲームデータの通信の開始を引き起こし得る。
【0006】
命令は、ゲーム開始のための時間を規定し得る。各クライアントは、ゲームインスタンスと、命令を受信するピアツーピアモジュールとを含み、ゲームインスタンスとのゲーム開始コールバックを実行することによって、規定された時間に、ゲームを開始させ得る。各クライアントは、ゲームインスタンスと、命令を受信するピアツーピアモジュールとを含み、開始するための規定された時間に、第2の命令をゲームサーバに伝送し、ゲームサーバからゲームインスタンスへのゲームデータの通信の開始を引き起こし得る。
【0007】
試合識別子、プレーヤ識別子、およびゲームパラメータが、各クライアントに伝送され得る。試合識別子は、トーナメントに一意の識別子を規定し得る。プレーヤ識別子は、トーナメントへのユーザのエントリのための一意の識別子であり得る。ゲームパラメータは、実行するための各ゲームインスタンスを構成するためのデータを含み得る。
【0008】
視聴クライアントによる横並びの視聴のためのゲームプレーの同時ビデオストリーミングが、可能にされ得る。
【0009】
本主題は、ストリーマ(例えば、「イベントホスト」)が、任意のモバイルゲーム内のトーナメントを臨機応変に作成およびホストすることと、視聴者が、ストリーマの観衆のために非公開で作成されるかまたはゲームの全てのプレーヤに公開されるかのいずれかである対戦の中に加入することと、イベントが、任意の観衆のための関与および対戦式プレーのために最適化された様式でホストされることとを可能にするツールを含み得る。
【0010】
1つまたはそれを上回るコンピューティングシステムの1つまたはそれを上回るデータプロセッサによって実行されると、少なくとも1つのデータプロセッサに、本明細書の動作を実施させる命令を記憶する、非一過性コンピュータプログラム製品(すなわち、物理的に具現化されるコンピュータプログラム製品)もまた、説明される。同様に、1つまたはそれを上回るデータプロセッサと、1つまたはそれを上回るデータプロセッサに結合されるメモリとを含み得る、コンピュータシステムもまた、説明される。メモリは、一時的または恒久的に、少なくとも1つのプロセッサに、本明細書に説明される動作のうちの1つまたはそれを上回るものを実施させる命令を記憶し得る。加えて、本方法は、単一コンピューティングシステム内にあるか、もしくは2つまたはそれを上回るコンピューティングシステム間に分散されるかのいずれかである、1つまたはそれを上回るデータプロセッサによって実施され得る。そのようなコンピューティングシステムは、接続され得、限定ではないが、ネットワーク(例えば、インターネット、無線広域ネットワーク、ローカルエリアネットワーク、広域ネットワーク、有線ネットワーク、または同等物)を経由した接続、複数のコンピューティングシステムのうちの1つまたはそれを上回るもの間の直接接続を介した接続等を含む、1つまたはそれを上回る接続を介して、データおよび/またはコマンドもしくは他の命令または同等物を交換し得る。
【0011】
本明細書に説明される主題の1つまたはそれを上回る変形例の詳細は、添付図面および以下の説明において記載される。本明細書に説明される主題の他の特徴および利点は、説明、図面、および請求項から明白となるであろう。
本発明は、例えば、以下を提供する。
(項目1)
方法であって、
オンラインビデオゲームのトーナメントに登録される2人のプレーヤを特徴付けるデータを受信するステップであって、各プレーヤは、前記オンラインビデオゲームの別個のインスタンスを実行し、前記オンラインビデオゲームは、前記2人のプレーヤ間で非同期性であり、前記データは、前記トーナメントをホストするトーナメントサーバによって受信され、前記トーナメントサーバは、前記2人のプレーヤと関連付けられたクライアントにゲームデータを提供するゲームサーバとは別個である、ステップと、
前記2人のプレーヤ間のゲームプレーの同期開始のための命令を生成するステップと、
前記命令を前記2人のプレーヤと関連付けられた前記クライアントに伝送するステップであって、前記命令は、前記2人のプレーヤのための非同期性ゲームの同期開始をもたらたす、ステップと
を含む、方法。
(項目2)
前記命令は、前記クライアントによって受信されると、ゲームプレーを開始させる、項目1に記載の方法。
(項目3)
各クライアントは、ゲームインスタンスと、前記命令を受信するピアトーナメントモジュールとを含み、前記命令を受信することに応答して、前記ゲームインスタンスとのゲーム開始コールバックを実行することによって、ゲームプレーを開始させる、項目2に記載の方法。
(項目4)
各クライアントは、ゲームインスタンスと、前記命令を受信するピアトーナメントモジュールとを含み、前記命令を受信することに応答して、第2の命令を前記ゲームサーバに伝送し、前記ゲームサーバから前記ゲームインスタンスへのゲームデータの通信の開始を引き起こす、項目2に記載の方法。
(項目5)
前記命令は、ゲーム開始のための時間を規定する、項目1に記載の方法。
(項目6)
各クライアントは、ゲームインスタンスと、前記命令を受信するピアツーピアモジュールとを含み、前記ゲームインスタンスとのゲーム開始コールバックを実行することによって、前記規定された時間に、前記ゲームを開始させる、項目5に記載の方法。
(項目7)
各クライアントは、ゲームインスタンスと、前記命令を受信するピアツーピアモジュールとを含み、前記開始するための規定された時間に、第2の命令を前記ゲームサーバに伝送し、前記ゲームサーバから前記ゲームインスタンスへのゲームデータの通信の開始を引き起こす、項目5に記載の方法。
(項目8)
各クライアントに、試合識別子、プレーヤ識別子、およびゲームパラメータを伝送するステップであって、前記試合識別子は、前記トーナメントに一意の識別子を規定し、前記プレーヤ識別子は、前記トーナメントへのユーザのエントリのための一意の識別子であり、前記ゲームパラメータは、実行するための各ゲームインスタンスを構成するためのデータを含む、ステップ
をさらに含む、項目1に記載の方法。
(項目9)
視聴クライアントによる横並びの視聴のためのゲームプレーの同時ビデオストリーミングを可能にするステップをさらに含む、項目1に記載の方法。
(項目10)
システムであって、
少なくとも1つのデータプロセッサと、
前記少なくとも1つのデータプロセッサによって実行されると、前記少なくとも1つのデータプロセッサに、項目1-9のいずれかに記載の方法を実施させる命令を記憶するメモリと、
を備える、システム。
(項目11)
少なくとも1つのコンピューティングシステムの少なくとも1つのデータプロセッサによって実行されると、項目1-9のいずれかに記載の方法を実施する、命令を記憶する非一過性コンピュータプログラム製品。
【図面の簡単な説明】
【0012】
【
図1】
図1は、トーナメントロビーおよびプレーヤが、イベントストリーミングにアクセスすることを可能にするプロセスを図示する、プロセスフロー図である。
【
図2】
図2は、ピアツーピアデジタルゲームトーナメントを実装するための例示的システムを図示する、システムブロック図である。
【
図3】
図3は、トーナメントのビデオストリーミングを可能にする、例示的メディア管理サーバを伴うシステムのシステムブロック図である。
【
図5】
図5は、イベントストリーミングビデオ制御およびディスプレイの例示的グラフィックユーザインターフェース(GUI)である。
【
図6】
図6は、非同期性ゲームインスタンスのためのゲームプレーの同期開始の方法を図示する、プロセスフロー図である。
【
図7】
図7は、ピアトーナメントシステムのコンポーネント間のデータフローを図示する、データフロー図である。
【発明を実施するための形態】
【0013】
種々の図面内の同様の参照記号は、同様の要素を示す。
【0014】
本主題は、ストリーマ(例えば、「イベントホスト」)が、任意のモバイルゲーム内のトーナメントを臨機応変に作成およびホストすることと、視聴者が、ストリーマの観衆のために非公開で作成されるかまたはゲームの全てのプレーヤに公開されるかのいずれかである対戦の中に加入することと、イベントが、任意の観衆のための関与および対戦式プレーのために最適化された様式でホストされることとを可能にするツールを含む。
【0015】
いくつかの実装では、本主題は、そうでなければ非同期性であるゲームの同期化が、ライブトーナメントを可能にすることを可能にし得る。非同期性ゲームは、2人の対戦者のゲームプレーが必ずしも同時に実施されない、ゲームを含む。例えば、1人対戦用ゲームをプレーしている2人のプレーヤのそれぞれは、非同期性ゲームプレーをもたらす。本主題は、2人(またはそれを上回る)プレーヤが、略同時にプレーを開始するように、非同期性ゲームを同期化させるサーバを含み得る。これは、各プレーヤのゲームプレーおよび複数のプレーヤ間のリアルタイム比較のストリーミングを含む、ライブトーナメントを可能にする。そのような比較は、例えば、電子スポーツ(eSports)トーナメントの一部として実施され得る。
【0016】
いくつかの実装では、ストリーマは、任意のモバイルゲーム内のトーナメントを臨機応変に作成およびホストし得る。ストリーマは、アカウントにサインアップし、イベントのウェブポータルにアクセスし得る。本ポータルを使用して、ストリーマは、ホストおよびそのストリーミングページ上に表示するためのイベントを作成し得る。ストリーマが、イベントに先立って設定するためのオプションは、イベントの日時、イベントの説明、イベントの参加者数、イベント勝者に配布される賞金、イベントのエントリ料(該当する場合)、イベントがプレーされるであろうゲーム、シードタイプ、ラウンドの時間制限、および同点決勝ゲーム(tiebreaker)時間制限を含む。トーナメントは、運動競技で一般的に見出される1対1による勝ち抜き戦フォーマットに適合するため、「勝ち抜きイベント(bracketed events)」と称される。
【0017】
視聴者は、ストリーマの観衆のために非公開で作成されるかまたはゲームの全てのプレーヤに公開されるかのいずれかである対戦の中に加入し得る。トーナメントロビーおよびイベントストリーミングアクセスの論理は、ストリーマが、2つのユーザ群、すなわち、(1)その現在の観衆および視聴者と、(2)ストリーマに関わりはないが、能動的にゲームをプレーしているユーザとに関わることを可能にする。
【0018】
第1の視聴者群は、ストリーマのディスプレイ上に設置される自動的に生成される命令を介して、ゲームを容易にダウンロードおよびプレーし得る。ゲーム内から、新たなプレーヤは、自動生成された命令が含まれる試合コードを入力し得る。本試合コードは、ユーザが、イベントのためにサインアップし、必要な場合にエントリチケットを購入し、他の視聴者に対して対戦することを可能にする。
【0019】
イベントホストは、第2のユーザ群、すなわち、能動的にゲームをプレーするプレーヤを含有または除外するオプションを有する。含有される場合、これらのプレーヤは、ゲームメニューの中からトーナメントに加入するオプションに気づくであろう。これは、空間が、依然として利用可能である場合、トーナメントに登録する能力を含むだけではなく、また、ストリーマページへのリンクを伴うイベントブロードキャストを視聴させるための指示も含む。
【0020】
イベントは、任意の観衆のための関与および対戦式プレーのために最適化された様式でホストされ得る。イベントホストは、ストリーミング管理サーバを使用してストリーミングし得る。ストリームおよびイベントは、中断時間を低減させ、かつ興奮させる勝ち抜き構造のための可能性を最大化する構造を設定することによって、関与および対戦式プレーを増加させるために最適化される。
【0021】
第1ラウンドのプレーヤは、類似の技能レベルの対戦者を突き合わせることによって、相互に対してシードされる。これは、敗北の場合でも、ユーザを対戦に引き込む、興奮させる、かつ魅力のある第1ラウンドを確実にする。ラウンドは、次いで、同期化され、非同期性ゲームプレーであるにもかかわらず、対戦者が同時に相互に対してプレーするように、全てのプレーヤに対して同時に開始する。対戦者は、勝ち抜き戦を通したその個々の成績および前進に関する通知および最新情報を、自身のデバイス上で受信する。代替として、プレーヤは、たとえトーナメントから除外されても、イベントストリームを介してリアルタイムにトーナメントの進行を追い得る。
【0022】
図1は、トーナメントロビーおよびプレーヤが、イベントストリーミングにアクセスすることを可能にするプロセス100を図示する、プロセスフロー図である。イベントは、
図2を参照して以下にさらに説明される、ピアトーナメントモジュールを介して加入され得る。ピアトーナメントモジュールは、トーナメントサーバと関連付けられたソフトウェア開発キット(SDK)を使用して、ゲーム開発者によって実装され得る。ユーザが、トーナメントにエントリすることを選択すると、サーバは、イベントホストによって規定される、登録されたユーザの現在の数および参加者の数に基づいて、トーナメント内に利用可能な空きがあるかどうかを検証する。利用可能なスポットがある場合、ユーザは、登録するために先に移動され、そうでなければ、ユーザは、トーナメントが満員であることを通知され、イベントストリームを視聴するための場所に関する情報を提供される。
【0023】
エントリ料金を伴うイベントに関して、ユーザは、登録の一部として、イベントのためのチケットを購入するように促されるであろう。無料イベントの場合、ユーザは、トーナメントにエントリすることを望むことを確認することによって登録され得る。いったん登録されると、ユーザは、イベントが開始されるまでホームページに呼び戻される。
【0024】
いったんイベントが開始すると、全ての登録されたユーザは、第1ラウンドが開始していることを通知され得る。後続のラウンドは、勝ち抜きトーナメントと同一の論理に従うであろう。
【0025】
図4は、例示的トーナメント表400を図示する。スマートシードは、対戦者を最適な突き合わせに配置し、プレーヤの関与を増加させ、視聴者層の興奮を最大化させる。本特徴は、プレーヤのゲーム技能要素のデータベースおよび判定を使用し、熱戦および驚くべき番狂わせの両方の可能性を最大化させるトーナメント表を生成する。
【0026】
スマートシードは、以下のプロセス(実施例は、16人のプレーヤのトーナメントに特有であるが、任意の参加者数のトーナメントに適合するであろう)に従う。全てのプレーヤを評価に基づいてランキングし、#1と#2、#3と#4、および同等物で対にする。次いで、各勝ち抜き対をシードし、勝ち抜き#1は、プレーヤ#1対プレーヤ#2のゲーム、勝ち抜き#2は、プレーヤ#3対プレーヤ#4のゲーム、および同等物である。次いで、勝ち抜き毎に標準的シード方法を使用し、したがって、勝ち抜き#1(#1対#2)は、勝ち抜き#2(#3対#4)の反対側の勝ち抜きとなろう。
・勝ち抜きシード#1=プレーヤシード#1対#2
・勝ち抜きシード#2=プレーヤシード#3対#4
・勝ち抜きシード#3=プレーヤシード#5対#6
・勝ち抜きシード#4=プレーヤシード#7対#8
・勝ち抜きシード#5=プレーヤシード#9対#10
・勝ち抜きシード#6=プレーヤシード#11対#12
・勝ち抜きシード#7=プレーヤシード#13対#14
・勝ち抜きシード#8=プレーヤシード#15対#16
【0027】
図2は、ピアツーピアデジタルゲームトーナメントを実装するための例示的システム200を図示する、システムブロック図である。システム200は、ゲームのプレーヤ間のトーナメントプレーを可能にする、トーナメントサーバ260を含む。
【0028】
複数のプレーヤ210i(i=1,2,...,N)は、個別のプレーヤクライアント220iを動作させる。各プレーヤクライアント220iは、第三者ゲームアプリケーション230iを含む。ゲームアプリケーション230iは、任意のオンラインデジタルゲーム(例えば、ビデオゲーム)であり得る。いくつかの実装では、複数のプレーヤ210は、相互に対してオンラインで対戦し得る。ゲームは、ゲームアプリケーション230を横断して一貫し得る(例えば、プレーヤ210が、チェスをプレーする場合、各ゲームアプリケーション230は、電子的チェスゲームのインスタンスである)。各ゲームアプリケーション230は、ゲームサーバ250と通信し、それからゲームデータを受信し得る。ゲームサーバ250は、ゲームを動作させるために必要なゲームデータを提供する。ゲームサーバ250は、例えば、トーナメントサーバ260と別個であり、トーナメントサーバ260による限定されたアクセス能力を伴う、第三者ゲームサーバであり得る(例えば、トーナメントサーバ260は、ゲームサーバとの通信を有していないか、またはそれに対する限定されたAPIコールアクセスを有するかのいずれかである)。プレーヤクライアント220は、モバイルデバイス(例えば、スマートフォン、タブレット、および同等物)を含み得、プレーヤクライアント220、ゲームサーバ250、およびトーナメントサーバ260は、インターネット等のネットワークを経由して、トーナメントを実装し得る。
【0029】
各ゲームアプリケーション230は、ピアトーナメントモジュール240iを含む。ピアトーナメントモジュール240は、ゲームアプリケーション230に統合し、プレーヤ210が、オンラインゲーム対戦に登録および参加することを可能にする。ピアトーナメントモジュール240は、トーナメントサーバ260と通信し、協働する。ゲームアプリケーション230が、試合(例えば、ゲームインスタンス)を起動している間、ゲームアプリケーション230は、関連付けられたプレーヤ210が、ゲームと相互作用する(例えば、プレーする)につれて経時的に変化する内部ゲーム状態を有する。ピアトーナメントモジュール240は、ゲーム状態データを周期的および/または継続的に捕捉し、捕捉されたゲーム状態をトーナメントサーバ260に伝送し得る。ゲーム状態データは、キー押下、マウス/ジョイスティック/方向パッド入力、および同等物等のインターフェースへのユーザ入力の特徴付けを含む、ユーザアクションデータを含み得る。トーナメントサーバ260は、複数のピアトーナメントモジュール240から、ゲーム状態を受信し得る。試合は、ゲーム状態を共有しないという点において、別個であり得る。例えば、各ゲームアプリケーション230は、非同期性の単一プレーヤゲームであり得る。いくつかの実装では、試合は、ゲーム状態を共有する(例えば、複数のプレーヤが、1つのゲーム環境内で相互作用する)。
【0030】
いくつかの実装では、ピアトーナメントモジュール240およびトーナメントサーバ260は、ゲームアプリケーション230iにゲームデータを提供しない。言い換えると、いくつかの実装では、それらは、ゲームインスタンスを実装することに寄与せず、むしろ、ゲームを観察し、ゲーム状態を捕捉し、マルチ試合トーナメント機能性の別個の層を可能にする。
【0031】
プレーされているゲーム(例えば、ゲームインスタンス230i)が、非同期性であるとき、ゲームサーバ250および/またはゲームインスタンス230iは、ゲームプレーを同時に開始させるための根本的な機構を有していない。プレーヤが、非同期性ゲームを使用して同時に対戦するようにライブトーナメントを可能にするために、本主題は、複数の非同期性ゲームの開始を同期化するステップを含み得る。これは、ライブトーナメントを可能にし、かつゲームプレーの直接比較(例えば、2つのビデオフィードの比較をストリーミングするコメンテータによって)を可能にし得る。いくつかの実装では、トーナメントサーバ260およびピアトーナメントモジュール240iは、ゲームプレーの同期開始を可能にし得る。
【0032】
図6は、非同期性ゲームインスタンスのためのゲームプレーの同期開始の方法600を図示する、プロセスフロー図である。トーナメントは、トーナメントをホストし、かつゲームサーバ250と別個のトーナメントサーバ260によって実装され得、これは、各プレーヤと関連付けられたクライアントにゲームデータを提供し得る。
【0033】
610において、オンラインビデオゲームのトーナメントに登録された2人のプレーヤを特徴付けるデータが、受信され得る。いったんトーナメントサーバが、関連付けられたクライアントから、プレーヤがトーナメントに参加することを望むという要求を受信すると、プレーヤが、登録され得る。
【0034】
620において、2人のプレーヤ間のゲームプレーの同期開始のための命令が、生成され得る。いったんトーナメント試合のために必要とされる全てのプレーヤクライアントが登録し、かつトーナメントサーバ260からのハンドシェイクを受け入れると、命令が、生成され得る。
【0035】
630において、命令は、プレーヤクライアントに伝送される。命令は、プレーヤクライアントのための非同期性ゲームの同期開始を引き起こす。試合は、両方のクライアントが、類似した時間にゲームプレーを開始するとき、同期化されるように考慮され得、これは、10秒以内、5秒以内、2秒以内、1秒以内、0.1秒以内、またはそれ未満の範囲内であり得る。
【0036】
いくつかの実装では、命令は、クライアントによって受信されると、ゲームプレーを開始させる。ピアトーナメントモジュール240iは、命令を受信し、ゲームインスタンス230iとのゲーム開始コールバックを実行し得る。コールバックは、引数として他のコード(本場合、ゲームインスタンス230i)に伝達される実行可能なコードを含み得、これは、所与の時間において引数を呼び戻す(実行する)ことが期待されている。本実行は、同期性コールバックにおけるように即座であり得る、または非同期性コールバックにおけるように後の時間に生じる場合がある。
【0037】
いくつかの実装では、ピアトーナメントモジュール240iは、別の命令をゲームサーバ250に伝送し、ゲームサーバ250から個別のゲームインスタンス230iへのゲームデータの通信の開始を引き起こし得る。本第2の命令は、第1の命令をトーナメントサーバ260から受信することに応答して送信され得る。
【0038】
いくつかの実装では、命令は、ゲーム開始のための時間を規定する。例えば、命令は、各ゲームインスタンス230iが、時刻9:00.00にゲームプレーを開始すべきであることを規定し得る。いくつかの実装では、ピアトーナメントモジュール240iは、命令を受信し、規定された時間において、または規定された時間に開始するための命令を受けてのいずれかによって、ゲームインスタンスとのゲーム開始コールバックを実行することによって、ゲームを規定された時間に開始させ得る。
【0039】
いくつかの実装では、ピアトーナメントモジュール240iは、別の命令をゲームサーバ250に伝送し、ゲームサーバ250から個別のゲームインスタンス230iへのゲームデータの通信の開始を引き起こし得る。本第2の命令は、規定された時間において、または規定された時間に通信を開始するための命令を受けて伝送され得る。
【0040】
図7は、ピアトーナメントシステム200のコンポーネント間のデータフローを図示する、データフロー図である。図示されるシステムは、2人のプレーヤを含み、それぞれは、個別のゲームインスタンス(230
1および230
2)と、ピアトーナメントモジュール(240
1および240
2)とを有する。2人のプレーヤが図示されるが、2人を上回るプレーヤも可能であることを理解されたい。
【0041】
705において、各ピアトーナメントモジュール(2401および2402)は、トーナメントに加入するための要求を送信する。プレーヤは、次いで、トーナメントに登録されるように考慮され得る。プレーヤは、適切な試合があるまで、ロビーに加入し得る。トーナメントサーバ260は、誰がいつ試合をするかを判定し得る。
【0042】
例えば、プレーヤ1は、例えば、アプリケーションプログラミングインターフェース(API)コールを介してトーナメントサーバ260に通知することによって、試合に加入するよう試みる。トーナメントサーバ260は、試合を見出すよう試み始める。同様に、プレーヤ2は、例えば、APIコールを介してトーナメントサーバに通知することによって、試合に加入するよう試み得る。いくつかの実装では、プレーヤが、待機する間、そのクライアントのユーザインターフェース制御は、その個別のゲームインスタンス(2301および2302)に伝達され得、したがって、ゲームインスタンス(2301および2302)は、試合の期間にわたってそれ自体のユーザインターフェースを表示し得る。トーナメントサーバ260は、プレーヤ1およびプレーヤ2が、ともに突き合わせられ得るかを判定する。突き合わせプロセスは、要素の数、例えば、現在または他のゲーム内の相対的技能および/または経験レベルに依存し得る。
【0043】
第1のプレーヤは、ホストとして考慮され得、最初の順序を開始し得る。いくつかの実装では、ピアトーナメントモジュール240iは、認証トークンをトーナメントサーバ260に伝達し得、したがって、トーナメントサーバは、加入要求の正当性を確認し得る。
【0044】
710において、トーナメントサーバ260および各ピアトーナメントモジュール(2401および2402)は、ハンドシェイクを実施し、加入プロセスを完成させ得る。ハンドシェイクプロセスは、プレーヤが、突き合わせを開始したが、試合が行われる前に退出するケースを取り扱い得る。試合を開始させることに先立って、トーナメントサーバ260は、ピアトーナメントモジュール240iに、全てのプレーヤが、依然として、プレーするために待機していることを確認する。ピアトーナメントモジュール240が応答しない場合、トーナメントサーバ260は、応答したプレーヤの突き合わせに戻り得る。
【0045】
715において、同期化命令が、生成され、トーナメントサーバ260から各ピアトーナメントモジュール(2401および2402)に伝送され得る。同期化命令は、成功した突き合わせプロセスに応答して生成および伝送され得る。加えて、トーナメントサーバ260は、各プレーヤと関連付けられたアカウントからエントリ料金を引き落とすことができる。
【0046】
720において、トーナメントサーバ260はまた、試合識別子(ID)と、プレーヤIDと、ゲームパラメータとを含む、データを伝送し得る。ピアトーナメントモジュール(2401および2402)が、依然として、ユーザインターフェース制御を有する場合、その制御は、個別のゲームインスタンス(2301および2302)に伝達され得る。試合IDは、トーナメントの所与の具体的なインスタンスのための一意のID(例えば、数字の識別子)を含み得る。プレーヤIDは、トーナメントへのユーザのエントリのための一意のID(例えば、数字のID)を含み得る。ゲームパラメータは、ゲームプレーの実行/開始のための各ゲームインスタンスを構成するための任意の情報を含み得る。例えば、ゲームパラメータは、時限と、レベルと、レベル能力(例えば、時限=3、試合場=無作為、レベル_能力=無効)とを含み得る。伝送される試合IDおよびゲームパラメータが、プレーヤ毎に同一であり得る一方、プレーヤIDは、異なり得る。
【0047】
725において、ゲームパラメータは、個別のピアトーナメントモジュール(2401および2402)から個別のゲームインスタンス(2301および2302)に伝達され得る。
【0048】
730において、各ピアトーナメントモジュール(2401および2402)は、ゲームインスタンス(2301および2302)によるゲームプレーの開始を引き起こし得る。これは、例えば、コールバックまたは他のAPIコールを実行することによって実施され得る。いくつかのインスタンスでは、コールバックは、ゲームパラメータを使用して実行され得る。
【0049】
735において、通常のゲームプレーが、各ゲームインスタンス(2301および2302)とゲームサーバ250との間で同時に進行する。
【0050】
いくつかの実装では、プレーヤは、突き合わせの失敗が宣言される前に、限定される量の時間のみにわたって、試合のために待機する(例えば、ロビー内で)。いくつかの実装では、ピアトーナメントモジュール240iは、規定された量の時間待機し得、その後、次いで、エラーを表示し、ロビーから退出するか、またはプレーヤが待機し続けることを可能にするかのいずれかとなる。いくつかの実装では、トーナメント作成者またはホストは、最大許容待機時間を規定し得る。
【0051】
いくつかの実装では、プレーヤクライアント接続情報が、トーナメントサーバ260によって記憶される。これは、接続解除されたクライアントによる再接続を可能にし得る。接続情報は、APIキーと、インターネットプロトコル(IP)アドレスおよび/またはドメイン名と、接続のためのポートとを含み得る。既存の試合識別およびトーナメントプレーヤ識別は、トーナメントサーバ260を介して、プレーヤを識別し(再接続の間)、個々の試合のためにプレーヤを接続するために使用され得る。
【0052】
いくつかの実装では、トーナメントサーバ260は、開発者ポータル内のトーナメント管理、プレーヤ突き合わせ、支払処理およびユーザ残高管理、ビデオストリーミング、詐欺/偽造検出、ならびにゲーム分析を提供し得る。
【0053】
いくつかの実装では、ゲームの通常のプロセスによるゲーム内スコアおよび最終スコア報告が、発生する。
【0054】
いくつかの実装では、トーナメントサーバは、1つまたはそれを上回る乱数または乱数シードを生成し、同一の数字および/またはシードを、ゲームインスタンスの実行内での使用のために、全ての参加しているクライアントに送信またはストリーミングし得る。各ゲームインスタンスに、同一の乱数を使用させることによって、ゲームインスタンス間の公正性は、改良され得る。
【0055】
図3は、トーナメントのビデオストリーミングを可能にする、例示的メディア管理サーバ310を伴うシステム300のシステムブロック図である。例示的システム300は、
図2を参照して上記で説明されるようなコンポーネントを含み、メディア管理サーバ310をさらに含む。メディア管理サーバ310は、トーナメントホスト、参加者、または第三者(ストリーマ320とも称される)であり得る、トーナメントコメンテータ320とインターフェースをとる。コメンテータ320は、クライアントデバイスであり得る。メディア管理サーバ310は、トーナメントコメンテータ320が報道するための、例えば、電子スポーツトーナメント等の自動化された仮想ブロードキャストスタジオを提供し得る。メディア管理サーバ310は、クライアントからビデオストリームを、および/またはトーナメントサーバ260からゲーム状態データを受信し、コメンテータが、トーナメントに関連する一意のコンテンツを生成することを可能にし得る。コメンテータビデオストリームは、視聴クライアント330および/またはプレーヤ210に提供され、および/またはトーナメントコメンテータ320のために提案されるブロードキャストを組み立てるために使用され得る。メディア管理サーバ310は、ライブビデオフィード(トーナメントコメンテータ320によって制御されるように)をプレーヤ210および/または視聴クライアント330にブロードキャストし得る。
【0056】
図5は、イベントストリーミングビデオ制御およびディスプレイの例示的グラフィックユーザインターフェース(GUI)500である。イベントストリーミングビデオ制御およびディスプレイ500は、トーナメントを効率的かつ魅力のある様式でもたらすための能力を伴うストリーマを提供するインターフェースをツールに含む。ビデオ制御は、ウェブブラウザ内で利用可能であり、ストリーマに、以下の能力、すなわち、上位の成績優秀な対戦者のリプレーを自動的に示すこと、個々の対戦者のゲームプレーを、プレーヤシード、ラウンド、同点決勝ゲームになった試合、およびプレーヤの敵対者が終了したかどうかに基づいて選択し、ストリーミングすること、ラウンドおよび/またはシードによってビデオプレー順序をソートすること、ならびにリアルタイム比較のために複数のプレーヤのリプレーを横並びに表示することを提供し得る。
【0057】
ビデオ制御パネル500は、ストリーマ320が、ビデオまたはクリップを視聴する、選択する、および再生するためのビデオキューインターフェース510を含む。ビデオキューインターフェース510は、ストリーマが、そのストリームにブロードキャストされているものと相互作用し、それを制御することを可能にする。ビデオキューインターフェース510は、2つのコンポーネント、すなわち、現在再生中のストリーム510Bと、キュー510Aとを含む。
【0058】
現在再生中のストリーム510Bは、ストリーマ320にどのリプレーが現在ブロードキャストされているか(例えば、ライブビデオストリームまたはフィード)を示す。これは、ストリーマ320が、観衆と共有されないであろうように、ストリームをプレビューする、またはリプレーを調節するためのウィンドウを使用しながらでも、現在共有しているものを監視することを可能にする永続的空間である。
【0059】
キュー510Aは、ストリーマ320に、ビデオ部分またはリプレーが示されるであろう順序を制御するための能力を与える。ストリーマ320は、次に示したい個々のビデオ部分を追加する、またはブロードキャストされるために次に来るべきビデオの順序を変更し得る。ストリーマ320が、キューに何も追加しないことを選択する場合、またはキューが、空になる場合、システムは、試合横断比較を使用して、例えば、上位3人の成績優秀なプレーヤ210のうちの1人のビデオ、1分の時間期間にわたって最高スコア変化を有するプレーヤ210のビデオ、および同等物をストリーミングすることによって、プレーヤのうちの1人のビデオを自動的にストリーミングし得る。
【0060】
ビデオ制御パネル500は、トーナメント試合に参加するプレーヤのリスト520を含み、そのためのビデオ捕捉は、より幅広い観衆へのブロードキャストのために利用可能である。プレーヤのリスト520は、そのリプレーをプレビュー520Aする、またはキュー510Aに追加520Bするオプションを含む。ビデオ制御パネル500はさらに、履歴ゲームリプレーをプレビュー540Aする、またはキュー510Aに追加540Bするオプションとともに、ビデオおよび履歴ゲームリプレーのリスト540を視聴するためのプレビュー空間530を含む。
【0061】
いくつかの実装では、メディア管理サーバ310は、プレーヤクライアント220において捕捉されるビデオを、ハイライトリールおよびキーセグメントに自動的にブレークダウンし、ストリーマ320のために提案されるブロードキャストを組み立てる。したがって、メディア管理サーバ310は、ストリーマ320自体の「舞台裏分析家チーム」として作用する、自動化された機能性を可能にする。これは、ストリーマ320が、1人のチームとして機能し、過去の映像または統計値を調べるために、ライブストリームから中断する必要なく、再生するための正しい映像を容易に選択することを可能にする。自動分析および特徴は、リプレーおよびプレーヤリストをキュー510Aに、トーナメント内のその現在の順位の順序で出現させる、リプレーの順位をランキングするステップを含む。これは、任意のプレーヤのためのリプレーを、彼らの順位に基づいて見出すことを容易にする。ビデオを鑑賞することに先立って、ストリーマは、彼らが選択しているプレーヤのレベルおよびそのゲームの結果がどうなり得るかを把握し得る。
【0062】
いくつかの変形例が、上記で詳細に説明されているが、他の修正または追加もまた、可能である。
【0063】
本明細に説明される主題の1つまたはそれを上回る側面または特徴は、デジタル電子回路、集積回路、特別に設計された特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、コンピュータハードウェア、ファームウェア、ソフトウェア、および/またはそれらの組み合わせにおいて実現され得る。これらの種々の側面または特徴は、少なくとも1つのプログラム可能なプロセッサを含む、プログラム可能なシステム上で実行可能および/または解釈可能な1つまたはそれを上回るコンピュータプログラム内の実装を含み得、これは、特殊または汎用目的であり、記憶システム、少なくとも1つの入力デバイス、少なくとも1つの出力デバイスからデータおよび命令を受信し、それにデータおよび命令を伝送するために結合され得る。プログラム可能なシステムまたはコンピューティングシステムは、クライアントおよびサーバを含み得る。クライアントおよびサーバは、概して、相互に遠隔であり、典型的には、通信ネットワークを通して相互作用する。クライアントおよびサーバの関係は、個別のコンピュータを起動するコンピュータプログラムによって、かつ相互にクライアント/サーバの関係を有することによって生じる。プログラム可能なシステムまたはコンピューティングシステムは、タブレット、電話、ラップトップ、ゲームプラットフォーム、および他の同様のデバイス等のモバイルデバイスを含み得る。
【0064】
プログラム、ソフトウェア、ソフトウェアアプリケーション、アプリケーション、コンポーネント、またはコードとも称され得る、これらのコンピュータプログラムは、プログラム可能なプロセッサのための機械命令を含み、高レベル手続き型言語、オブジェクト指向プログラミング言語、関数プログラミング言語、論理型プログラミング言語、および/またはアセンブリ/機械言語で実装され得る。本明細書に使用されるように、用語「機械可読媒体」は、機械可読信号として機械命令を受信する機械可読媒体を含む、プログラム可能なプロセッサに、機械命令および/またはデータを提供するために使用される、例えば、磁気ディスク、光ディスク、メモリ、およびプログラム可能な論理デバイス(PLD)等の任意のコンピュータプログラム製品、装置、および/またはデバイスを指す。用語「機械可読信号」は、プログラム可能なプロセッサに機械命令および/またはデータを提供するために使用される任意の信号を指す。機械可読媒体は、そのような機械命令を、例えば、非一過性ソリッドステートメモリ、磁気ハードドライブ、または任意の均等な記憶媒体等のように、非一過性に記憶し得る。機械可読媒体は、代替として、または加えて、そのような機械命令を、例えば、1つまたはそれを上回る物理的プロセッサコアと関連付けられた、プロセッサキャッシュまたは他のランダムアクセスメモリ等のように、一過性の様式で記憶し得る。
【0065】
ユーザとの相互作用を提供するために、本明細書に説明される主題の1つまたはそれを上回る側面または特徴は、情報をユーザに表示するためのディスプレイデバイス、例えば、ブラウン管(CRT)または液晶ディスプレイ(LCD)もしくは発光ダイオード(LED)モニタと、ユーザが入力をコンピュータに提供し得る、キーボードおよびポインティングデバイス、例えば、マウスまたはトラックボールとを有する、コンピュータ上に実装されることができる。他の種類のデバイスも同様に、ユーザとの相互作用を提供するために使用されることができる。例えば、ユーザに提供されるフィードバックは、任意の形態の感覚フィードバック、例えば、視覚フィードバック、聴覚フィードバック、または触覚フィードバックであることができ、ユーザからの入力は、限定されないが、音響、音声、または触覚入力を含む、任意の形態で受信されてもよい。他の可能性として考えられる入力デバイスとして、タッチスクリーンまたは他のタッチセンサ式デバイス、例えば、単一または多点抵抗もしくは容量トラックパッド、音声認識ハードウェアおよびソフトウェア、光学スキャナ、光学ポインタ、デジタル画像捕捉デバイスおよび関連付けられた解釈ソフトウェア、ならびに同等物が挙げられるが、それらに限定されない。
【0066】
上記の説明および請求項では、「~のうちの少なくとも1つ」または「~のうちの1つまたはそれを上回るもの」等の語句が、要素または特徴の接続語リストに続いて生じ得る。用語「および/または」もまた、2つまたはそれを上回る要素または特徴のリスト内に生じ得る。それが使用される文脈によって別様に暗示的または明示的に矛盾しない限り、そのような語句は、一覧にされた要素もしくは特徴のいずれかを個々に、または他の列挙された要素もしくは特徴のいずれかとの組み合わせにおける列挙された要素または特徴を意味することが意図される。例えば、語句「AおよびBのうちの少なくとも1つ」、「AおよびBのうちの1つまたはそれを上回るもの」、ならびに「Aおよび/またはB」はそれぞれ、「Aのみ、Bのみ、またはAおよびBともに」を意味することが意図される。3つまたはそれを上回るアイテムを含むリストに関しても、類似解釈が意図される。例えば、語句「A、B、およびCのうちの少なくとも1つ」、「A、B、およびCのうちの1つまたはそれを上回るもの」、ならびに「A、B、および/またはC」はそれぞれ、「Aのみ、Bのみ、Cのみ、AおよびBともに、AおよびCともに、BおよびCともに、またはAおよびBおよびCともに」を意味することが意図される。加えて、上記および請求項における用語「~に基づく」の使用は、列挙されていない特徴または要素もまた許容可能であるように、「少なくとも部分的に~に基づく」を意味することが意図される。
【0067】
本明細書に説明される主題は、所望の構成に応じて、システム、装置、方法、および/または物品において具現化されることができる。前述の説明に記載の実装は、本明細書に説明される主題と一貫した全実装を表すわけではない。代わりに、これらは、単に、説明される主題に関連する側面と一貫するいくつかの実施例である。いくつかの変形例が、前述で詳細に説明されたが、他の修正または追加も、可能性として考えられる。特に、さらなる特徴および/または変形例が、本明細書に記載されるものに加え、提供されることができる。例えば、前述の実装は、開示される特徴の種々の組み合わせおよび部分的組み合わせおよび/または前述で開示されるいくつかのさらなる特徴の組み合わせおよび部分的組み合わせを対象とすることができる。加えて、付随の図に描写される、および/または本明細書に説明される、論理フローは、望ましい結果を達成するために、必ずしも、示される特定の順序または連続的順序を要求しない。他の実装も、以下の請求項の範囲内にあり得る。