(58)【調査した分野】(Int.Cl.,DB名)
命令を保存するコンピュータプログラム製品であって、前記命令が少なくとも1つのコンピューティングシステムの少なくとも1つのデータプロセッサによって実行されると、請求項1ないし11のうちいずれかに記載の方法が実行されるコンピュータプログラム製品。
【図面の簡単な説明】
【0021】
【
図1】
図1は、電子マルチプレーヤゲームスキル内における遊戯を促進するシステムを示すシステム図である。
【
図2】
図2は、電子マルチプレーヤゲームスキル内における遊戯を促進する方法を示すプロセスフロー図である。
【
図3】
図3は、サードパーティゲームに統合された例示的ユーザインターフェースである。このユーザインターフェースをプレーヤに提供することにより、プレーヤは、アカウントの登録またはアカウントへのサインインを行うことができる。
【
図4】
図4は、サードパーティゲームに統合された例示的ユーザインターフェースである。このユーザインターフェースをプレーヤに提供することにより、プレーヤは、アカウントの登録を行うことができる。
【
図5】
図5は、サードパーティゲームに統合された例示的ユーザインターフェースである。このユーザインターフェースをプレーヤに提供することにより、プレーヤは、パブリックトーナメントを閲覧することができる。
【
図6】
図6は、サードパーティゲームに統合された例示的ユーザインターフェースである。このユーザインターフェースをプレーヤに提供することにより、プレーヤは、ゲーム統計および結果を確認することができる。
【
図7】
図7は、非同期型のターン制ゲームのためのデータ通信フローを示すデータフロー図である。
【
図8】
図8は、プレーヤがゲームトーナメントに参加したときのデータ通信フローを示すデータフロー図である。
【
図9】
図9は、詐欺的行為を検出する方法を示すプロセスフロー図である。
【
図10】
図10は、オンラインスキルベースの競争を広告する方法を示すプロセスフロー図である。
【
図11】
図11は、ターゲットを特徴付けるデータを提供する方法を示すプロセスフロー図である。
【0022】
各種図面中、類似の参照符号は類似の要素を示す。
[発明の詳細な説明]
【0023】
図1は、電子マルチプレーヤゲームスキル内における遊戯を促進するシステムを示すシステム
図100である。複数のプレーヤ110
i、(i=1、2、...、N)は、各プレーヤクライアント120
iを操作する。各プレーヤクライアント120
iは、サードパーティゲームインスタンス130
iを含む。ゲームインスタンス130
iは、任意のオンラインデジタルゲーム(例えば、ビデオゲーム)であり、このゲーム内において、プレーヤスキルにより(偶然ではなく)ゲーム結果が決定され、複数のプレーヤ110
iはオンラインで相互に競争することができる。ゲームは、複数のゲームインスタンス130
i上において一貫している(例えば、複数のプレーヤ110
iがチェスに参加している場合、各ゲームインスタンス130
iは、電子チェスゲームのインスタンスである)。各ゲームインスタンス130
iは、サードパーティゲームサーバー150と通信し、サードパーティゲームサーバー150からゲームデータを受信することができる。ゲームサーバー150は、ゲームの操作に必要なゲームデータを提供する。あるいは、複数のゲームインスタンス130
iは、ゲームデータを直接交換することができる。
【0024】
各ゲームインスタンス130
iは、ピア遊戯モジュール140
iを含む。ピア遊戯モジュール140
iは、ゲームインスタンス130
iに統合され、プレーヤ110
iが所与のゲーム競争の結果に賭けることを可能にする。ピア遊戯モジュール140
iは、トランザクションサーバー160と通信し、トランザクションサーバー160と共に協働する。トランザクションサーバー160は、各プレーヤ110
iのアカウント情報(例えば、金融情報)を維持し、遊戯条件を施行する(すなわち、勝ちプレーヤが必ず報酬を得られる)ために、資金をエスクロー(第三者預託)に保持しかつ/または資金を確保する信頼できる第3者として機能する。
【0025】
トランザクションサーバー160は、広告を特徴付けるデータ(例えば、広告論理、招待および/またはメッセージ)をサードパーティゲームサーバー150へ送ることもできる。この広告データは、プレーヤ110
i、ゲームデータの履歴ゲームデータまたは指標に基づいてアルゴリズム的にカスタマイズすることができる。例えば、「あなたは最近の過去5回のゲームのうち4回勝っています。ここをクリックして、$5トーナメントに参加し、次のゲームプレーレベルに上がりましょう」という広告またはそのように変更された広告により、プレーヤを促すことができる。
【0026】
図11は、プロセスフロー
図1100であり、プレーヤ(例えば、ユーザ)にオンラインスキルベースのゲームトーナメントに登録および参加してもらうための広告(例えば、招待)の方法を示す。1110において、第1のユーザについての履歴スキルベースのゲーム指標と、少なくとも1人の他のユーザについての履歴スキルベースのゲーム指標を特徴付けるデータが受信される。プレーヤは現在このゲームに参加しているかまたは最近このゲームに参加したことがあり、プレーヤは、ゲームに参加可能であるが、オンラインスキルベースのゲーム競争には登録していない。1120において、第1のユーザへ提示すべきターゲット広告が1組の規則により決定される。ターゲット広告は、少なくとも1つのスキルベースのゲームと、他のユーザの履歴スキルベースのゲーム指標の特徴とを指定する。ターゲット広告は、プレーヤのゲームプレーに基づいて特定のアクションをとるようプレーヤを誘引する(例えば、プレーヤに競争に参加するよう促す/招待する)。ターゲット広告は、個々のプレーヤに合わせてカスタマイズすることができる。ターゲット広告が1130において生成され、広告が1140において提供される。このような提供は、プレーヤへ送信すること、主張すること、表示することおよび促すことを含み得る。
【0027】
履歴スキルベースのゲーム指標は、プレーヤクライアントl20
iから供給してもよいし、あるいは、(例えば、経時的に)トランザクションサーバー160またはサードパーティゲームサーバー150が追跡および/または記録してもよい。履歴スキルベースのゲーム指標は、ゲーム属性を含み得る。これらのゲーム属性は、追跡(例えば、記録または監視)され得、プレーヤの進行中のゲームプレー、直近のゲームプレーおよび/または過去のゲームプレーと関連付けられる。例えば、履歴スキルベースのゲームデータは、ゲーム内スコア、ゲーム結果、1つのステージを完了するのに要した時間、達成したゲームレベル、難易度、敵の数、取得されたパワーアップ、プレーヤランク、勝ち数または負け数、属性の統計的尺度(例えば、平均スコア、勝ち/負け比)、何人かのプレーヤまたは全てのプレーヤ間におけるトップスコア、任意のゲーム関連タスクの完了、目的、および/または達成、アイテムのゲーム内獲得、および/または他のキャラクター属性を含み得る。履歴スキルベースのゲーム指標は、他の追跡可能なゲーム属性を含み得る。
【0028】
当該広告がプレーヤへ提示されたときおよび/またはターゲット広告の内容が設定可能なメッセージング規則(すなわち、1組の規則)に基づき得るとき、これらの規則を用いて、特定の属性、スキルレベルまたは関係を有するプレーヤをターゲットとすることができる。例えば、広告または招待により、特定のゲーム内挑戦における特定の所定の値またはスコアを超えたプレーヤに基づいて、プレーヤにトーナメントの遊戯に参加するよう促すことができる。規則の例を挙げると、プレーヤが特定のレベル、ゲーム、ゲームプレー数、プレー時間または他のゲーム要素を満たしたか否かがある。特定のパーセンタイルのプレーヤにプレーヤが含まれる場合に広告を提示することができる(例えば、同等のスキルのプレーヤとのトーナメントに登録するようプレーヤを促す)。
【0029】
さらなる規則例を挙げると、プレーヤが遊戯をしたとき、少なくとも特定の金額だけ負けたおよび/または勝ったとき(例えば、「賭け金が高い」かまたは最低必要額が高額な遊戯が必要なトーナメントへ登録するようプレーヤを促す)、(ソーシャルネットワーキングウェブサイト上のリンク等によって)第1のプレーヤに関連付けられた1人以上の他のプレーヤがトーナメントに登録されたとき(例えば、友人とのトーナメントに登録するようプレーヤを促す)、プレーヤが特定回数のゲームをプレーしたときおよび/またはプレーヤがトーナメントにおいて一定レベルまたは挑戦を完了したときがある。メッセージング規則は、プレーヤの地理的位置にも基づき得る(例えば、掛け金を伴うオンライン遊戯規制は、地域によって異なり得る)。あるいは、メッセージング規則は、プレーヤがトーナメントにおいて遊戯の現金または報酬を受け取る資格があるかに基づき得る。管理者および/またはトーナメントクリエータは、メッセージング規則を設定またはカスタマイズすることができる。
【0030】
ターゲット広告は、プレーヤ用にカスタマイズされた招待を用いて、既存の広告空間に追加投入し、スキルベースのゲームトーナメントの遊戯に参加するために必要なグラフィック、テキストおよびハイパーリンク情報を含み得る。ターゲット広告は、カスタマイズされたメッセージを含み得る。これらのメッセージは、メッセージング規則および/または規則、ゲームプレーまたは履歴スキルベースのゲームプレー指標によってもたらされる他のデータに基づく、または導出される。ターゲット広告は、プレーヤをターゲットとすることができ、プレーヤの履歴スキルベースのゲーム指標の特徴および1人以上の他のプレーヤの履歴スキルベースのゲーム指標の特徴を含み得る。例えば、ターゲット広告は、所与のゲームまたは異なるゲームにおいてプレーされているアクティブゲームの数についての情報を含み得る。広告は、プレーヤの友人、連絡先またはネットワーク内ユーザのうちシステム内においてアクティブである者の数についてのメッセージを含み得る。広告内容に、履歴ゲームデータの特徴と、システム中の他のプレーヤ間のとの比較(例えば、実際のトーナメントにおいてプレーヤが勝ち取ったであろう金額、プレーヤの平均スコアと他のプレーヤの平均スコアとの比較、ゲームプレーヤがゲームの全プレーヤへ比較されるモックスコアボードを示すことにより)を含ませることにより、もしプレーヤがトーナメントに参加したかまたは異なるゲームに参加した場合に、プレーヤがどの程度やっていけるかを、プレーヤに示すことができる。ターゲット広告は、第1のプレーヤに対して提案された賭金量を含み得る。
【0031】
図12は、プレーヤがメッセージ規則を満たした(例えば高スコアをとった)後にプレーヤへ提示される例示的広告1200である。この広告は、テキスト1210(例えば、他のプレーヤの履歴スキルベースのゲーム指標の特徴)と、プレーヤをリダイレクトしてプレーヤがトーナメントに登録および遊戯することを可能にするボタン1220(すなわち、リンク)とを含む。広告は、グラフィックをさらに含み得、ゲームユーザインターフェースに組み込まれる。
【0032】
図10は、プロセスフロー
図1000であり、オンラインスキルベースの競争を広告する方法を示す。1010において、デジタルスキルベースのゲームがプレーヤ(すなわち、ユーザ)へ提供される。ゲームは、広告を表示するための表示空間を含む。1020において、履歴スキルベースのゲーム指標および1組の規則を用いて、第1のユーザへ提示すべきターゲット広告が決定される。ターゲット広告は、少なくとも1つのスキルベースのゲームと、少なくとも1人の第2のユーザの履歴スキルベースのゲーム指標の特徴とを指定する。1030において、広告表示空間をプレーヤの履歴ゲームデータを用いて変更して、プレーヤに対し、ピアツーピア遊戯用プラットフォームを用いてオンラインスキルベースのゲーム競争に登録および遊戯を行うよう促す。1040において、オンラインスキルベースのゲーム競争がプレーヤへ提供される。
【0033】
特定のプレーヤの履歴ゲームデータおよびメッセージング規則を用いることにより、広告/メッセージをプレーヤに合わせてカスタマイズすることができ、カスタマイズされていない(例えば、一般的な)広告の場合よりも、各広告によってプレーヤを誘引できる可能性が高くなる。
【0034】
再度
図1を参照して、プレーヤ110
iは、(例えば、ウェブブラウザを介してサーバーにアクセスして)トランザクションサーバー160と直接やり取りして、またはピア遊戯モジュール140
iを介してトランザクションサーバー160とやり取りして、アカウントの登録および入金を行うことができる。プレーヤ110
iは、アカウントへの資金入金をいくつかの手段を通じて行うことができる(例えば、PayPal、クレジットカード、自動決済機関(ACH)送金、現金、ロイヤリティカード、プリペイドカード、クーポン、システムクレジット、広告を見ることによって得られるクレジット、Googleチェックアウト)。また、その他のアカウントへの入金方法が利用可能である。
【0035】
プレーヤ110
iは、トーナメントを生成することができる。ゲームプレーに先だって、ピア遊戯モジュール140
iが認証情報をプレーヤ110から受信し、この認証情報をトランザクションサーバー160へ送ると、トランザクションサーバー160はこの認証情報を認証し得る。認証は、地域における法令遵守を確保するために、年齢および位置制御を含み得る。年齢は、プレーヤ110
iによって入力され得る。位置は、アカウントへの入金に用いられる請求先住所、モバイルデバイスのGPS位置(ただし、利用可能な場合)、およびプレーヤクライアント120
iのIPアドレスのうちいずれかによって確認することができる。各プレーヤ110
iがトーナメントへの登録(例えば、トーナメントへの遊戯参加(例えば、トーナメント参加費の支払い))を行うと、トランザクションサーバー160は、プレーヤ110
iの資金を確保し得る。この確保された資金を別の遊戯のために引き出すかまたは用いることはできない。資金を確保することは、プレーヤアカウントからエスクローアカウントへ送金することと、プレーヤのアカウント中に資金を「保持する」こととを含み得る。
【0036】
トランザクションサーバー160が参加プレーヤ110
i全員から資金を確保すると、トーナメントの進行が可能となる。トーナメントは、ゲームプレーが完了するまで、通常のゲーム機構(例えば、ゲームサーバー150とのゲームデータの通信を行う各ゲームインスタンス130
i)下において進行する。トランザクションサーバー160は、完了したゲームの統計をゲームサーバー150からまたは各ピア遊戯モジュール140
iから受信する。ゲーム統計は、1つ以上のゲーム内指標に基づいて勝者および敗者を示し得る。プレーヤ110
iは、トーナメント初期化時において、勝者および敗者を決定する際に用いられる1つ以上のカスタムゲーム内指標も決定することができる。トランザクションサーバー160は、ゲーム統計に基づいて、先行して確保された資金を1つ以上のプレーヤ110
iのアカウントへ送金する。例えば、勝ちプレーヤについては、プレーヤの勝ち分が他のプレーヤのアカウントまたは確保するエスクローアカウントから勝ちプレーヤのアカウント中へ送金され得る。トランザクションサーバー160は、勝ちおよび負けに関連する金融データを各ピア遊戯モジュール140
iへ送る。各ピア遊戯モジュール140
iは、金融データをプレーヤ110
iへ送る。さらに、トランザクションサーバー160は、ゲーム統計を各ピア遊戯モジュール140
iへ送り得る。各ピア遊戯モジュール140
iは、ゲーム統計をプレーヤ110
iへ提供する。
【0037】
トランザクションサーバー160へ送られたゲーム統計は、ゲームサーバー150または各ピア遊戯モジュール140
iから来たものであり、概要レベル統計を含み得る(例えば、勝者および敗者および/または特定のゲーム内アクション(例えば、ゲーム環境内におけるプレーヤ環境、プレーヤアクション(例えば、ボタン押圧またはキャラクター移動)またはユーザ表示詳細))。ユーザ表示の詳細を非限定的に挙げると、グラフィックカード情報、ゲーム内スクリーンショットおよびライブアクションゲームプレーがある。これらの統計を用いて、トーナメント結果から独立したシステムレベルプレーヤ−報酬を決定することができる。これらの統計は、以下のうちいずれかを通じた詐欺的行為の検出においても用いることができる:リアルタイムトーナメント監視、トーナメントレビューの遅延、または詐欺的プレーの特異な挙動または挙動特性の統計的プレーヤレビュー。
【0038】
ピア遊戯モジュール140
iは、必要なユーザインターフェースコンポーネントおよびプレーヤ110
iをトランザクションサーバー160へゲームインスタンス130
iの相互通信のために提供する。その結果、サードパーティゲームプロバイダがピア遊戯機能をゲームに盛り込む際の障壁が低くなる。ピア遊戯モジュールは、プラットフォームの特有のソフトウェア開発キット(SDK)によって実装することができる。
【0039】
通信は、任意の適切な通信ネットワーク(例えば、インターネット)を介して行うことができる。
【0040】
図2はプロセスフロー
図200であり、電子マルチプレーヤゲームスキル内における遊戯を促進する方法を示す。210において、トランザクションサーバー160は、各プレーヤおよび各プレーヤの賭金額を特徴付けるデータを受信する。賭金額は、個々のプレーヤごとに変更してもよいし、あるいはプレーヤ間において固定してもよい。任意選択的に、トーナメントにおいて、プレーヤと、同程度の賭金を賭けているプレーヤとがマッチングされてもよい。各プレーヤは、サードパーティスキルベースのゲーム競争(例えば、トーナメント)に登録している。220において、トランザクションサーバー160は、各プレーヤのために各プレーヤアカウントを用いて、対応する受信された賭金額に等しい資金を確保する。プレーヤは、プレーヤアカウントを事前に登録しており、さらにアカウント中に資金を先行して預け入れている。ゲーム競争が完了するまで、トランザクションサーバー160は、資金をエスクローアカウント中に預けることができる。あるいは、トランザクションサーバー160は、プレーヤのアカウント中の資金を「保持」して資金の引き出しまたは使用を禁じることにより、資金を確保することもできる。230において、トランザクションサーバー160は、トランザクションサーバー160が各登録されたプレーヤから資金を成功裏に確保したとの確認を特徴付けるデータを送信する。各プレーヤアカウント中の資金がプレーヤに利用できない場合、トランザクションサーバー160は、さらなる資金をプレーヤのアカウント中へ預けるようプレーヤを促すためのデータを送り得る。
【0041】
任意選択的に、240において、トランザクションサーバー160は、競争の結果を特徴付けるデータを受信する。このデータは、ゲーム内統計を含み得、登録されたプレーヤのうち勝者である者および敗者である者を示す。あるいは、トランザクションサーバー160は、ゲーム内統計に基づいて、プレーヤのうち勝者である者および敗者である者を区別することもできる。トランザクションサーバー160は、確保された資金(もし、あるのならば)およびゲーム内統指標に基づいて、登録されたプレーヤのうち資格を有する者を決定することができる。任意選択的に、250において、トランザクションサーバー160は、確保された資金のうち少なくとも一部を、各登録されたプレーヤと関連付けられた1つ以上アカウントへ送金することができる。任意選択的に、260において、トランザクションサーバー160は、送金を特徴付けるデータおよび/またはゲーム内統計を送信することができる。トランザクションサーバー160は、ピア遊戯モジュール140
iおよびサードパーティゲームサーバー150のうち1つ以上から各データを受信し、各データをピア遊戯モジュール140およびサードパーティゲームサーバー150のうち1つ以上へ送信することができる。
【0042】
ゲームは、非同期型であり得る。非同期型のゲームは、任意のターン制ゲームを網羅し得る。ターン制ゲームでは、プレーヤ110
iは交代にプレーするので、リアルタイムゲームプレーは問題にならない。プレーヤ110
iは、トーナメントを放棄することなく、ゲームから離れ、ゲームを実行している同一デバイス上の他のタスクを実行し得る。非同期型のゲームは、以下のようなゲームを含み得る:チェス、チェッカー、碁、プレーヤの順番が来るタイミングが重要ではないほとんどのボードゲーム。
【0043】
ゲームは、同期型であり得る。同期型ゲームは、ゲームとプレーヤとの間のリアルタイム相互通信またはプレーヤ間のリアルタイム相互通信が必要な任意のゲームを網羅する。例えば、一人称シミュレーションにおいて、各プレーヤは、1つ以上キャラクター(すなわち、アバター)を有し、複数のプレーヤのキャラクターは、リアルタイムで他のキャラクターとまたはゲーム環境と同期的に相互通信する。一人称シューティング、ドライブおよびレースシミュレータならびにリアルタイムスポーツシミュレーションが同期する。ゲームが進行しているときに一定時期に全プレーヤが存在することが必要な場合、いくつかのターン制ゲームの設計は、同期的様態も含み得る。
【0044】
同期型であれ非同期型であれ、カンゲーム(can game)の全体的レベルは交代制であり、プレーヤは個別に交代し得る。例えば、Angry Birdsなどのゲームにおいて2人以上のプレーヤがあるレベルを独立的かつ同時に完了する可能性があり、この場合、全プレーヤが当該レベルを完了したときの一定の指標に基づいて、勝者を決定することができる。このようにして、全体的レベルにより、プレーヤの順位が構成される。
【0045】
トランザクションサーバー160は、サードパーティゲームインスタンス130
iまたはサードパーティゲームサーバー150がトランザクションサーバー160と通信するためのアプリケーションプログラミングインターフェース(API)を提供し得る。
【0046】
トーナメントを確立することにより、プレーヤ110
iは、単一のまたは一連の競争におけるスキルベースのゲーム内で互いに競争することができる。トーナメントは、同期型および非同期型のプレイモードによって機能し、トーナメントは、ユーザ生成のトーナメントまたはシステム生成のトーナメントであり得る。トーナメントは、パブリックまたはプライベートであり得る。パブリックトーナメントは、任意の登録済みプレーヤに対して開かれている一方、プライベートトーナメントは、招待を受けたプレーヤのみに対して開かれている。いずれのトーナメントにおいても、少なくとも2人の参加者が必要となる。プレーヤ−によって生成されたトーナメントにおいては、競争を開始するために特定の数の参加者が必要となり得、システムによって生成されたトーナメントにおいては、許可された参加者および/または必要な参加者の数は一定であるかまたは変動し得る。参加者数が変動するトーナメントにおいては、開始時間は固定され、許可された参加者の最大数までプレーヤが参加し得る。
【0047】
トーナメントは、単一のマッチまたは一連のマッチ(すなわち、多ラウンドトーナメント)を含み得る。この構造は、トーナメントの生成時に決定され得る。各マッチは、特定の数の参加者および勝者を持ち得る。特定の勝ち指標基準により、各マッチの勝者が決定され得る。個々のトーナメントラウンド(例えば、マッチ)は、トーナメントクリエータが設定した所定の時間から開始してもよいし、あるいはすぐに開始してもよい。次に指定されたマッチ時間枠においてマッチが完了しなかった場合、当該マッチを終了し、各未完了のマッチにおいてその時点で一位である競争者に対し、当該マッチの勝ちを付与することができる。
【0048】
各トーナメントまたはトーナメントラウンドは、勝者(単数または複数)を決定するために規定された基準を持ち得る。可能な勝ち指標は、ゲームの種類によって異なり得るが、(例えば)以下を含み得る:最高スコア、レベルを完了した最初の者、レベルを達成するための移動が最小であった者。さらに、各トーナメントは、参加料を持ち得る。参加料は、トーナメントに参加するための料金(単位:ドル)(すなわち、賭金)である。しかし、いくつかのシステムによって生成されたトーナメントは、何人かのまたは全てのプレーヤ110
iのためにこの料金を放棄し得る。トーナメントクリエータは、参加料の金額を決定し得る。
【0049】
トーナメント勝者(単数または複数)へ提供される賞金は、トーナメントが生成されたときに決定される。賞金情報は、トーナメントの見込み参加者全員が視認することができる。ユーザが生成したトーナメントの場合、トーナメントを生成したプレーヤは、賞金プール合計が自動的に賞金となるよう設定することができる。例えば、生成側プレーヤは、生成側プレーヤが指定した参加者数および参加料に基づいて賞金プールを設定することができる。生成側プレーヤは、賞金の割り当てを多様な方法で行うことができる(例えば、所与のトーナメントにおいて1人よりも多くの参加者へ賞金を与える)。トーナメントクリエータは、勝者の数と、これらの勝者それぞれへの賞金のパーセンテージ割り当てとを指定し得る。パブリックトーナメントクリエータは、規定された勝ち指標に相対する個々の成績に基づいて賞金を分配し得る。しかし、プライベートトーナメントクリエータは、賞金割り当ての決定において、勝ち指標に対してチームスコアリングを用いることができる。
【0050】
例示的プレーヤ110
iは、上述の特徴を含む非同期型のマルチプレーヤゲームと相互通信する(例えば、トーナメントの生成、トーナメントの参加、トーナメントの完了)。トーナメントを生成するために、プレーヤ110
iは、プレーヤクライアント120
iを用いて、サードパーティゲームインスタンス130
iを起動する。プレーヤは、ゲーム内においてピア遊戯モジュール140
iを用いて競争することを選択し得る。ユーザは、トランザクションサーバー160のアカウントにログインし、ゲームのこのセッションおよび将来のセッションにおいてアカウントをログイン状態のままにすることを任意選択的に選択する。
【0051】
図3は、サードパーティゲームに統合された例示的ユーザインターフェース300を示す。このユーザインターフェース300は、プレーヤのアカウントへのサインインまたはアカウントの登録のためにプレーヤへ提供され得る。310において、プレーヤ110
iは、認証情報(例えば、eメールアドレスおよびパスワード)を入力し得る。320において、プレーヤ110
iは、プレイボタン320を用いてサインインし得る。
【0052】
アカウントにサインインした後、プレーヤ110
iは、パブリックまたはプライベートトーナメントを生成し、トーナメントのためのパラメータを設定し得る。プレーヤ110
iが十分な資金を有していない場合、トランザクションサーバー160は、アカウントへ資金を追加するようプレーヤを促すことができる。プレーヤ110
iは、自身のアカウント名(例えば、eメールアドレス、ユーザ名)を用いて、何人かの既知のプレーヤを招待することができる。トーナメントがパブリックトーナメントである場合、招待されていない参加者が参加することができる。パブリックトーナメントは順番に開始し、順番が最初のプレーヤは、トーナメント参加後すぐにまたは先行するプレーヤの参加後すぐに順番が(ゲーム機構に応じて)来る。規定数の参加者がトーナメントに参加すると、プライベートトーナメントが開始する。ゲームは、ゲーム開発者が規定したゲーム機構に従って進行する。
【0053】
プレーヤ110
iがアカウントをいまだ持っていない場合、プレーヤ110
iは、情報(例えば、eメールアドレスおよびパスワード)をデータフィールド330に入力し、「次へ」ボタン340を押圧することにより、アカウントを登録することができる。
図4は、サードパーティゲームに統合された例示的ユーザインターフェース400を示す。ユーザインターフェース400は、プレーヤ110
iがアカウントを登録する際にプレーヤ110
iへ提供される。プレーヤ110
iは、410においてクレジットカード情報および請求先住所を入力し、420においてクレジットカードへの請求額を入力することができる。プレーヤ110
iは、チェックボックス430を選択して、利用条件および支払確認に同意することができる。プレーヤ110
iは、押圧ボタン440を用いて登録を完了し得る。プレーヤ110
iは、さらなるアカウント情報(図示せず)(例えば、フルネーム、年齢、電話番号/携帯電話番号(ゲームイベントのSMS通知用)および他のプレーヤ110
iが見ることが可能なアカウント名)を入力することができる。
【0054】
トーナメントに参加するために、プレーヤ110
iは、トーナメントへの参加を招待する通知を受け取り得る。通知は、いくつかの手段のうちの任意の1つを介して到着し得る。例えば、プッシュ通知、SMS、eメールおよびゲーム内通知は全て、通知の選択肢である。あるいは、ユーザは、プレーヤを探しているパブリックトーナメントを閲覧し、そのうち1つを選択する。プレーヤ110
iは、受信した通知を介してゲームを始めるか、または、パブリックトーナメントを選択した後にゲームを進行する。プレーヤ110
iは、プロンプトに応答してトーナメント条件(例えば、トーナメントの資金要求)を受容する。プレーヤ110
iは、アカウント内に十分な資金を有していない場合、資金を追加することができる。プレーヤ110
iは、トーナメント条件を受容し、ゲームに参加することができる。ゲームは、ゲーム開発者が規定したゲーム機構に従って進行する。
【0055】
マルチプレーヤゲームが同期型である場合、全てのプレーヤ110
iは、ゲームを同時に開始する必要がある。この機能を提供するため、トランザクションサーバー160は、同期型ゲームトーナメントの開始を待機している間、プレーヤ110
iに対し、トーナメントロビーを提供する。トランザクションサーバー160は、トーナメントを生成したプレーヤ110
iとトーナメントに参加したプレーヤ110
iとの双方にロビーを提供する。プレーヤは、その他のプレーヤがトーナメントに参加するのを視認し、トーナメント開始の前にトーナメントから退避する機会を持つことができる。全プレーヤがトーナメントに参加した後、規定長さの時間(例えば、60秒間)の後、ゲームを開始することができる。この時点の後にプレーヤ110のうちだれかが退避した場合、トーナメント(すなわち、遊戯)参加料の喪失を意味する。
【0056】
また、トーナメントをロビー中のプレーヤ110
iの数から独立して、所定の時間に開始することもできる。プレーヤ110
iは、トーナメント開始時間の前にトーナメントにサインアップすることができる。一度プレーヤ110
iがトーナメントにサインアップすると、トランザクションサーバー160は、トーナメントが間もなく開始する旨を多様な方法(例えば、eメール、SMS、ゲーム内警告)を通じてプレーヤ110
iに警告することができる。
【0057】
図5は、サードパーティゲームに統合された例示的ユーザインターフェース500を示す。例示的ユーザインターフェース500は、プレーヤを募っているパブリックトーナメントを閲覧しているプレーヤ110
iへ提供され得る。係属中のトーナメントリスト510は、いくつかのパブリックトーナメントおよびこれらのトーナメントに関する詳細を提示する。例えば、リスト520上の第1のトーナメントは、トーナメント設定の概要を示す。トーナメント520の名前は「Jamesゲーム」であり、トーナメント種類は「最高スコア」であり、現在では10人の参加者(プレーヤ数の横には最大参加人数である12人が示されている)が存在している。この例示的トーナメントにおいて、賭金または参加料は1ドルであり、合計賞金または払戻金は10ドルである。例示的トーナメント520が開始間近になると、残り時間が示される。
【0058】
詳細情報530により、選択されたトーナメントについてのトーナメント情報を提供し、名前、種類、プレーヤ数および最大プレーヤ数、参加料および賞金詳細を示す。この例示的トーナメントにおいて、上位3人のプレーヤ110
iが勝者となる。プレーヤリスト540は、各プレーヤ名と、最近参加したトーナメントのスコア合計とを提供する。押圧ボタン550により、プレーヤ110
iはトーナメントに参加または不参加することができる。
【0059】
トーナメントの終了時において、通常のゲーム機構は完了し、サードパーティゲームサーバー150は、ゲーム結果を示すデータをトランザクションサーバー160へ送信する。ゲームを完了した各プレーヤ110
iは、すぐにゲーム結果を見ることができる(例えば、トーナメントにおける勝ちまたは負けの詳細を示すトランザクションサーバー160からのデータ)。トーナメントにおいて、他のプレーヤ110
iも、トランザクションサーバー160からの勝ちまたは負けの詳細を示しかつトーナメントが完了した旨を示す通知を受け取ることができる。サービスへの連続的な接続がゲームプレーまたはゲーム完全性にとって重要であるゲームにおいては、任意のプレーヤ110
iがサービスを途中停止し、特定の所定の期間にわたって再接続しなかった場合、そのプレーヤ110
iはゲームを放棄したものとされる。サードパーティゲームの開発者は、この期間を決定することもできるし、あるいは、いずれかのゲームプレーまたは遊戯において利点を得るためにこのような接続切断が利用できない場合に、プレーヤ間の接続切断を再確立するための再接続論理を任意選択的に含めることもできる。さらに、プレーヤは、自身の順番をとるかまたは別の指定されたゲーム内アクションを所定の時間長さ内に行うことが要求され得る。プレーヤがこの規定長さの時間内に行動しなかった場合、サードパーティゲーム開発者によって決定されたように、該プレーヤは当該ゲームを放棄させられる。プレーヤ110
iが競争から切断されたときまたはプレーヤ110が割り当てられた時間に順番をとらなかった場合、ピア遊戯モジュール140
iは、そのイベントをトランザクションサーバー160へ報告し得る。
【0060】
図6は、サードパーティゲームへ統合された例示的ユーザインターフェース600を示す。ユーザインターフェース600は、プレーヤ110
iへ提供され、ゲーム統計および結果(例えば、スコアボード)を示す。列610は、各トーナメント参加者のアカウント名を羅列する。列620は、各参加プレーヤのゲーム内ランクを示し、列630は、各参加プレーヤのゲーム内スコアを示す。列640は、対応するプレーヤが勝ち取った賞金を示す。この例示的結果において、上位3人のプレーヤが資金を受け取る。650において、プレーヤ110
iは、ゲームを再度開始し、新規のトーナメントに同じ設定(例えば、同じ賭金額、勝ち指標、招待リスト)で再度参加することができる。660において、プレーヤ110
iは、トーナメント選択画面へ進むことができる。
【0061】
図7はデータフロー
図700であり、非同期型のターン制ゲームのための
図1の要素の例示的実装間のデータ通信フローを示す。
図1の要素は、
図7の上部から下部にわたって図示されている(すなわち、(プレーヤクライアント120
iを操作している)プレーヤ110
i、サードパーティゲームインスタンス130
i、ピア遊戯モジュール140
i、トランザクションサーバー160、およびサードパーティゲームサーバー150である)。
【0062】
702〜708において、プレーヤ110
iは、ゲームインスタンス130
i中に組み込まれたピア遊戯モジュール140
iによって提供されたインターフェースを用いて、トランザクションサーバー160にログインする。ピア遊戯モジュール140
iは、トランザクションサーバー160を認証(706)し、ピア遊戯モジュール140
iとトランザクションサーバー160との間のメッセージングを認証情報トークン、セキュリティ証明書または他のユーザ/パスワード交換を介して可能にする(708)。全ての将来の要求は、有効認証情報方法を用いて設定される。ピア遊戯モジュール140
iは、ログインしたプレーヤ用に、現在実行中のゲームの潜在的なゲーム相手のリストを要求する(710)。トランザクションサーバー160およびピア遊戯モジュール140
iは、プレー可能なプレーヤのリストと、さらなるプレーヤを募っている現在のトーナメントのリストとを返送する(712および714)。生成側プレーヤ110
iは、トーナメントを生成(716)し、他のプレーヤ110
iを招待する。ピア遊戯モジュール140
iは、招待されたプレーヤ110
iおよびトーナメント名についてのデータをトランザクションサーバー160へ送る(718)。プレーヤ110
iがトーナメントに参加すると、プレーヤの情報もピア遊戯モジュール140
iへ通信される。資金が参加/生成側プレーヤのトランザクションサーバー160のアカウントから送金される(720)。トランザクションサーバー160は、これらの資金をエスクローに配置するかまたは遊戯資金をプレーヤアカウント中に「保持」する。トランザクションサーバー160は、一意のトーナメントIDを返送(722)し、参加したプレーヤ110
iは全員、トーナメント開始を待つ(724)。各ピア遊戯モジュール140
iは、サーバーがトーナメント開始を示す(728)まで、トランザクションサーバー160とトーナメントIDによって通信する(726)。ピア遊戯モジュール140
iは、参加したプレーヤのためにトーナメントを強制的に開始させるための信号をトランザクションサーバー160へ送り得る。
【0063】
通常のゲームプレー時において、全通信(732および734)は、サードパーティゲームインスタンス130
iとそれ自身のサードパーティゲームサーバー150との間に発生する。各プレーヤのランクを含む全てのアクティブゲーム統計は、ゲームインスタンス130
iとゲームサーバー150との間において通信および同期される。サードパーティゲームインスタンス130
iは、ゲームを中止した任意のプレーヤ110
iについてのデータまたは詐欺的行為の検出に関する任意のデータを通信する(736)。
【0064】
ゲームが完了すると、接続された各ピア遊戯モジュール140
iから、トーナメント統計がトランザクションサーバー160へ送られる(740および742)。トランザクションサーバー160は、トーナメント統計に基づいて勝ちおよび負けを算出する。トランザクションサーバー160は、完了したトーナメントにおける全プレーヤに対し、トーナメントが完了した旨と、プレーヤの勝ちまたは負けと、トーナメントのスコアボードとを示す通知を送る(744および746)。プレーヤ110
iは、完了通知を受け取り、この通知を介して新規ゲームを始めることができる。
【0065】
あるいは、ゲーム750が完了すると、サードパーティゲームサーバー150は、ゲーム統計をサードパーティゲーム130
iへ送り(752)、トーナメント統計をトランザクションサーバー160へ送る(754)。各ピア遊戯モジュール140
iは、トランザクションサーバー160にポーリングする(756)。トランザクションサーバー160は、トーナメントのスコアボードと、完了したトーナメントの全プレーヤへの通知とを送る(758および760)。この通知は、トーナメントが完了したこと、およびプレーヤの勝ちまたは負けを示す。プレーヤ110
iは、完了通知を受け取り、この通知を介して新規ゲームを始めることができる。
【0066】
図7のデータフロー図は、非同期型のターン制ゲームに対応する。しかし、同期型のゲームプレー用に、適切な変更が可能である。
【0067】
図8はデータフロー
図800であり、ゲームトーナメントに参加しているプレーヤ110
i用の
図1の要素の例示的実装間におけるデータ通信フローを示す。802において、プレーヤ110
iは、通知またはゲーム内メッセージを受信し、トーナメントに参加する(804)。プレーヤがロビーシステムを通じて既存のトーナメントに参加する場合、標準的なチャットウィンドウが使用可能となる。トランザクションサーバー160は、資金を有効化し(806および808)、プレーヤ110
iにとってトーナメント参加することが受容可能なサードパーティゲームインスタンス130
iを通知する(810および812)。814および816において、プレーヤはトーナメントに参加する。トランザクションサーバー160は、遊戯資金をエスクローアカウントに送金するかまたは遊戯資金をプレーヤアカウント中に「保持」する(820)。通常のゲームプレー時において、全ゲーム関連通信は、サードパーティゲームインスタンス130
iとサードパーティゲームサーバー150との間において発生する。ゲームプレー時のいくつかの例において、サードパーティゲームインスタンス130
iまたはサードパーティゲームサーバー150は、詐欺検出に関連するゲーム統計をトランザクションサーバー150に報告し得る(826)。
【0068】
図9はプロセスフロー
図900であり、詐欺的行為検出のための方法を示す。910において、プレーヤのゲームプレーを特徴付けるデータが受信される。920において、ゲームプレーの特性または属性を監視することができ、930において、監視された特性と、プレーヤと関連付けられた履歴特性とを比較して、詐欺的行為を検出することができる。ゲームプレー特性の履歴特性からの逸脱は、詐欺的行為を示し得る。詐欺的行為を挙げると、不正行為(すなわち、ゲーム規則に従っていないため、不公正なゲームをしていること)がある。これらの統計は、特定のゲーム内アクションを含み得る(例えば、ゲーム環境内におけるプレーヤ方位、プレーヤアクション(例えば、ボタンの押圧またはキャラクター移動))またはユーザ表示詳細(例を非限定的に挙げると、グラフィックカード情報、ゲーム内スクリーンショットおよびライブアクションゲームプレー)。再度
図8を参照して、ゲーム完了時、サードパーティゲームサーバー150は、ゲーム統計をサードパーティゲームインスタンス130
iへ送信(824)し、ゲーム統計をトランザクションサーバー160へ送信する(826)。トランザクションサーバー160は、ゲーム統計に基づいて勝ちおよび負けを計算する(828)。各ピア遊戯モジュール140
iは、トランザクションサーバー160をマッチ結果についてポーリング(830)し、マッチ結果を受信する(832)(マッチ結果は、例えば、勝ちおよび負けのリスト、トーナメントのスコアボードを含む)。各ピア遊戯モジュール140
iは、トーナメント完了および勝ちまたは負けを各プレーヤ110
iへ通知する(834)。完了通知を受信したプレーヤ110
iは、通知を介して、新規ゲームを開始することができる。
【0069】
トランザクションサーバー160は、さらに、サードパーティゲームインスタンスによって用いられる疑似乱数ストリームを生成するよう構成される。乱数は、典型的には、ゲームプレーエンジン内において用いられ、ゲーム要素および特性を決定する(例えば、どんな障害を存在するかを、乱数生成器から返送された値に基づいて決定することができる)。そのため、共通の乱数を用いることにより、共通のゲームプレー経験をユーザの小集団(例えば、サードパーティゲームトーナメントに関わるプレーヤのサブセット)へ提供することができる。共通のゲームプレー経験を用いて、ランダム要素があるゲームスキルについて、プレイフィールドを標準化(またはレベリング)することができる。
【0070】
例えば、テトリスはスキルゲームとみなされることが多いが、テトリスピースをプレーヤへ提供する順序は通常はランダムである。共通の疑似乱数ストリームをオンライントーナメントに参加している各ゲームインスタンスへ提供することにより、テトリスピースが各プレーヤへ提供される順序を全ての参加ゲームインスタンス間において共通にすることができる。よって、競争型のトーナメントの結果は、全体としてスキルに依存することとなり、テトリスピースがより容易な順序で提供されるランダムチャンスに依存するものではなくなる。
【0071】
一例において、トランザクションサーバー160は、トーナメント識別番号を疑似乱数生成のための種として用いることができ、これにより、ゲームプレーを各トーナメント間において異なるものとし、かつ、所与のトーナメントに関わるゲームインスタンス間において同一のものとすることができる。
【0072】
本明細書中に記載される本発明の多様な実行様態を、デジタル電子回路、集積回路、特殊設計ASIC(特定用途向け集積回路)、コンピュータハードウェア、ファームウェア、ソフトウェアおよび/またはこれらの組み合わせにおいて実現することができる。これらの多様な実行様態を挙げると、プログラム可能なシステム上において実行可能および/または解釈可能な1つ以上のコンピュータプログラムにおける実行様態がある(例えば、少なくとも1つのプログラム可能なプロセッサは、特殊なプロセッサまたは汎用プロセッサであり得、保存システム、少なくとも1つの入力デバイスおよび少なくとも1つの出力デバイスとのデータおよび命令の送受信を行うように接続される)。
【0073】
これらのコンピュータプログラム(プログラム、ソフトウェア、ソフトウェアアプリケーションまたはコードとしても知られる)は、プログラム可能なプロセッサのためのマシーン命令を含み、高次の手順および/またはオブジェクト志向プログラミング言語および/またはアセンブリ/マシーン言語によって実行することができる。本明細書中において用いられる「機械可読媒体」とは、マシーン命令および/またはデータをプログラム可能なプロセッサへ提供する際に用いられる任意のコンピュータプログラム製品、装置および/またはデバイス(例えば、磁気ディスク、光ディスク、メモリ、プログラム可能な論理デバイス(PLD))である(例えば、マシーン可読信号としてマシーン命令を受信するマシーン可読媒体)。「マシーン可読信号」という用語は、プログラム可能なプロセッサへマシーン命令および/またはデータを提供するために用いられる任意の信号を指す。
【0074】
ユーザとの相互通信を可能にするために、本明細書中記載される発明は、表示デバイス(例えば、ユーザへの情報表示のためのCRT(陰極線管)またはLCD(液晶表示)モニター)およびユーザによるコンピュータへの入力の際に用いられるキーボードおよびポインティングデバイス(例えば、マウスまたはトラックボール)を有するコンピュータ上において実装され得る。ユーザーは、これらを用いて、コンピュータへの入力を提供する。他の種類のデバイスを用いた場合も、ユーザとの相互通信が可能である。例えば、ユーザへ提供されるフィードバックは、任意の形態の知覚フィードバック(例えば、視覚フィードバック、聴覚フィードバックまたは触覚フィードバック)があり得、ユーザからの入力は、任意の形態で受信され得る(例えば、音響、スピーチ、または触覚入力)。
【0075】
本明細書中記載される発明は、バックエンドコンポーネントを含むコンピューティングシステムにおいて実現され得る(例えば、データサーバーとして実現され得る)。あるいは、ミドルウェアコンポーネント(例えば、アプリケーションサーバー)を含むものとして実現され得る。あるいは、フロントエンドコンポーネント(例えば、ユーザが本明細書中に記載の発明の実装様態と相互通信することを可能にするグラフィッカルユーザインターフェースまたはウェブブラウザを有するクライアントコンピュータ)あるいはバックエンド、ミドルウェア、またはフロントエンドコンポーネントの任意の組み合わせ含むものとして実現され得る。システムのコンポーネントは、任意の形態または媒体のデジタルデータ通信(例えば、通信ネットワーク)によって相互接続され得る。通信ネットワークの例を挙げると、ローカルエリアネットワーク(「LAN」)、広域ネットワーク(「WAN」)およびインターネットがある。
【0076】
コンピューティングシステムは、クライアントおよびサーバーを含み得る。クライアントおよびサーバーは、一般的に相互に離隔位置にある場合が多く、通信ネットワークを通じて相互通信する場合が多い。クライアントおよびサーバーの関係は、コンピュータプログラムによって発生する。このコンピュータプログラムは、各コンピュータ上において実行し、相互にクライアント/サーバー関係を有する。
【0077】
上記においていくつか変更例の詳細を示したが、他の変更例も可能である。例えば、添付図面に示しかつ本明細書中に記載する論理フローにおいて、所望の結果を達成するために図示の特定の順序は不要である。他の実施形態も、以下の特許請求の範囲内にある。