(57)【要約】  方法およびシステムが、コラボレーションプラットフォーム上でゲームをホストし、複数のプレイユーザがゲームのゲームプレイに参加できるようにする。方法およびシステムは、ゲームの作成ユーザによって指定されるとともに、複数のプレイユーザに対する第1のソーシャルインタラクション基準を識別するゲームの条件を識別する。条件を満たすと、複数のプレイユーザの少なくとも一人がフレンドリクエストを受け取る資格を得る。方法およびシステムは、ゲームをプレイする複数のプレイユーザのうちの第1のプレイユーザと第2のプレイユーザとの間の第1のソーシャルインタラクションが、ゲームの条件を満たすと決定する。方法およびシステムは、第1のプレイユーザにコラボレーションプラットフォーム上の第2のプレイユーザとフレンドシップを確立するように勧めるフレンドリクエストを第1のプレイユーザの第1のクライアントデバイスに送る。
2021535797.tif 000002
【特許請求の範囲】
【請求項１】
処理デバイスによって、コラボレーションプラットフォーム上でゲームをホストし、複数のプレイユーザが前記ゲームのゲームプレイに参加できるようにするステップと、
前記ゲームの作成ユーザによって指定されるとともに、前記複数のプレイユーザに対する第1のソーシャルインタラクション基準を識別する前記ゲームの条件を識別するステップであって、前記条件の前記第1のソーシャルインタラクション基準を満たすと、前記複数のプレイユーザの少なくとも一人がフレンドリクエストを受け取る資格を得る、ステップと、
前記ゲームをプレイする前記複数のプレイユーザのうちの第1のプレイユーザと第2のプレイユーザとの間の第1のソーシャルインタラクションが、前記ゲームの前記条件の前記第1のソーシャルインタラクション基準を満たすと決定するステップと、
前記第1のソーシャルインタラクションが前記条件の前記第1のソーシャルインタラクション基準を満たすと決定することに応じて、前記第1のプレイユーザに前記コラボレーションプラットフォーム上の前記第2のプレイユーザとフレンドシップを確立するように勧める前記フレンドリクエストを前記第1のプレイユーザの第1のクライアントデバイスに送るステップと
を含む方法。
【請求項２】
前記ゲームが、前記コラボレーションプラットフォームを使用して、前記作成ユーザによって作成された三次元(3D)ユーザ生成ゲームである、請求項1に記載の方法。
【請求項３】
前記コラボレーションプラットフォームの開発者インターフェースを、前記作成ユーザの第3のクライアントデバイスに提供して、前記作成ユーザが前記ゲームのためのゲーム仕様を作成するとともに、前記第1のソーシャルインタラクション基準を識別する前記条件を指定できるようにするステップと、
前記コラボレーションプラットフォームの前記開発者インターフェースを使用して前記作成ユーザによって作成された前記ゲーム仕様と、前記作成ユーザによって指定された前記条件とを受け取るステップと
をさらに含む、請求項1に記載の方法。
【請求項４】
前記作成ユーザによって指定された前記ゲームの前記条件を識別することに応じて、前記第1のプレイユーザと前記第2のプレイユーザの間の前記第1のソーシャルインタラクションを示すイベントを監視するステップ
をさらに含む、請求項1に記載の方法。
【請求項５】
前記第1のプレイユーザと前記第2のプレイユーザの間の前記第1のソーシャルインタラクションを示すイベントを監視するステップが、
ゲーム環境内での前記第1のプレイユーザと前記第2のプレイユーザの間のソーシャルインタラクションを示すゲーム内イベントのための前記ゲームに関連したゲーム環境を監視するステップを含む、請求項4に記載の方法。
【請求項６】
前記第1のプレイユーザと前記第2のプレイユーザの間の前記第1のソーシャルインタラクションを示すイベントを監視するステップが、
前記ゲームのゲーム環境の外部での前記第1のプレイユーザと前記第2のプレイユーザの間のソーシャルインタラクションを示すグローバルイベントを監視するステップを含む、請求項4に記載の方法。
【請求項７】
前記条件が、前記ゲームプレイ中の前記ゲームのゲーム環境内で、前記第1のプレイユーザに関連した第1のキャラクタと、前記第2のプレイユーザに関連した第2のキャラクタとの接近度を含む、請求項1に記載の方法。
【請求項８】
前記条件が、前記第1のプレイユーザおよび前記第2のプレイユーザが前記ゲームの前記ゲームプレイに参加することと同時に、前記第1のプレイユーザと前記第2のプレイユーザの間でメッセージ交換することを含む、請求項1に記載の方法。
【請求項９】
前記条件が、前記ゲームのゲームプレイに関する共通目的の識別を含み、前記共通目的が、前記第1のプレイユーザと前記第2のプレイユーザの間で共有される、請求項1に記載の方法。
【請求項１０】
前記条件が、前記ゲームに固有であり、前記コラボレーションプラットフォームによってホストされる他のゲームでは有効ではない、前記ゲームに固有の前記第1のソーシャルインタラクションを識別する、請求項1に記載の方法。
【請求項１１】
前記フレンドリクエストに基づいて前記第1のプレイユーザと前記第2のプレイユーザの間で前記コラボレーションプラットフォームを介してフレンドシップを確立するステップと、
前記第1のプレイユーザと前記第2のプレイユーザの間の前記フレンドシップを確立した後に、前記フレンドシップが高品質フレンドシップしきい値を満たすか否かを判定するステップと、
前記第1のプレイユーザと前記第2のプレイユーザの間の前記フレンドシップが前記高品質フレンドシップしきい値を満たすと判定することに応じて、前記ゲームのゲーム識別子を前記コラボレーションプラットフォーム上の検索クエリに応じた検索結果に挿入するステップと
をさらに含む、請求項1に記載の方法。
【請求項１２】
前記フレンドシップが高品質フレンドシップしきい値を満たすか否かを判定するステップが、
前記第1のプレイユーザおよび前記第2のプレイユーザに対する第2のソーシャルインタラクション基準を識別する高品質フレンドシップ条件を識別するステップと、
前記コラボレーションプラットフォーム上で前記第1のプレイユーザと前記第2のプレイユーザの間の前記フレンドシップを確立した後に、前記第1のプレイユーザと前記第2のプレイユーザの間の第2のソーシャルインタラクションを監視するステップと、
前記第1のプレイユーザと前記第2のプレイユーザの間の前記第2のソーシャルインタラクションが前記高品質フレンドシップ条件を満たすか否かを判定するステップと、
前記第1のプレイユーザと前記第2のプレイユーザの間の前記第2のソーシャルインタラクションが前記高品質フレンドシップ条件を満たすと判定することに応じて、高品質フレンドシップスコアを上げるステップと、
前記第1のプレイユーザと前記第2のプレイユーザの間の前記第2のソーシャルインタラクションが前記高品質フレンドシップ条件を満たさないと判定することに応じて、高品質フレンドシップスコアを下げるステップと、
前記高品質フレンドシップスコアが前記高品質フレンドシップしきい値を満たすか否かを判定するステップであって、前記高品質フレンドシップスコアが前記高品質フレンドシップしきい値を超えることに応じて、前記フレンドシップが前記高品質フレンドシップしきい値を満たし、前記高品質フレンドシップスコアが前記高品質フレンドシップしきい値未満であることに応じて、前記フレンドシップが前記高品質フレンドシップしきい値を満たさない、ステップと
を含む、請求項11に記載の方法。
【請求項１３】
前記コラボレーションプラットフォーム上で前記第1のプレイユーザと前記第2のプレイユーザの間の前記フレンドシップを確立した後に、前記第1のプレイユーザと前記第2のプレイユーザの間の第2のソーシャルインタラクションを監視するステップが、
前記第1のプレイユーザと前記第2のプレイユーザの間の前記第2のソーシャルインタラクションを示すグローバルイベントを監視するステップであって、前記グローバルイベントが、前記コラボレーションプラットフォームの別のゲームに関連した別のゲーム環境内での前記第1のプレイユーザと前記第2のプレイユーザの間のソーシャルインタラクションを含む、ステップを含む、請求項12に記載の方法。
【請求項１４】
前記高品質フレンドシップ条件の前記第2のソーシャルインタラクション基準が、前記第1のプレイユーザと前記第2のプレイユーザが、前記フレンドシップを確立した後にメッセージ交換の会話を行ったしきい値回数を含む、請求項12に記載の方法。
【請求項１５】
前記ゲームの前記条件を使用して提案されたフレンドシップのメトリックを決定するステップと、
前記作成ユーザの第3のクライアントデバイス上に提示するために前記フレンドシップのメトリックを提供するステップと
をさらに含む、請求項1に記載の方法。
【請求項１６】
メモリと、前記メモリに結合された処理デバイスとを備えるシステムであって、前記処理デバイスが、
コラボレーションプラットフォーム上でゲームをホストし、複数のプレイユーザが前記ゲームのゲームプレイに参加できるようにすることと、
前記ゲームの作成ユーザによって指定されるとともに、前記複数のプレイユーザに対する第1のソーシャルインタラクション基準を識別する前記ゲームの条件を識別することであって、前記条件の前記第1のソーシャルインタラクション基準を満たすと、前記複数のプレイユーザの少なくとも一人がフレンドリクエストを受け取る資格を得る、ことと、
前記ゲームをプレイする前記複数のプレイユーザのうちの第1のプレイユーザと第2のプレイユーザとの間の第1のソーシャルインタラクションが、前記ゲームの前記条件の前記第1のソーシャルインタラクション基準を満たすと決定することと、
前記第1のソーシャルインタラクションが前記条件の前記第1のソーシャルインタラクション基準を満たすと決定することに応じて、前記第1のプレイユーザに前記コラボレーションプラットフォーム上の前記第2のプレイユーザとフレンドシップを確立するように勧める前記フレンドリクエストを前記第1のプレイユーザの第1のクライアントデバイスに送ることとを行う、システム。
【請求項１７】
前記処理デバイスはさらに、
前記作成ユーザによって指定された前記ゲームの前記条件を識別することに応じて、前記第1のプレイユーザと前記第2のプレイユーザの間の前記第1のソーシャルインタラクションを示すイベントを監視する、請求項16に記載のシステム。
【請求項１８】
前記第1のプレイユーザと前記第2のプレイユーザの間の前記第1のソーシャルインタラクションを示すイベントを監視することが、
ゲーム環境内での前記第1のプレイユーザと前記第2のプレイユーザの間のソーシャルインタラクションを示すゲーム内イベントのための前記ゲームに関連したゲーム環境を監視することを含む、請求項17に記載のシステム。
【請求項１９】
命令を備える非一時的コンピュータ可読記憶媒体であって、前記命令が、処理デバイスによって実行されることに応じて、前記処理デバイスに動作を実行させ、前記動作が、
処理デバイスによって、コラボレーションプラットフォーム上でゲームをホストし、複数のプレイユーザが前記ゲームのゲームプレイに参加できるようにするステップと、
前記ゲームの作成ユーザによって指定されるとともに、前記複数のプレイユーザに対する第1のソーシャルインタラクション基準を識別する前記ゲームの条件を識別するステップであって、前記条件の前記第1のソーシャルインタラクション基準を満たすと、前記複数のプレイユーザの少なくとも一人がフレンドリクエストを受け取る資格を得る、ステップと、
前記ゲームをプレイする前記複数のプレイユーザのうちの第1のプレイユーザと第2のプレイユーザとの間の第1のソーシャルインタラクションが、前記ゲームの前記条件の前記第1のソーシャルインタラクション基準を満たすと決定するステップと、
前記第1のソーシャルインタラクションが前記条件の前記第1のソーシャルインタラクション基準を満たすと決定することに応じて、前記第1のプレイユーザに前記コラボレーションプラットフォーム上の前記第2のプレイユーザとフレンドシップを確立するように勧める前記フレンドリクエストを前記第1のプレイユーザの第1のクライアントデバイスに送るステップと
を含む、非一時的コンピュータ可読記憶媒体。
【請求項２０】
前記動作が、
前記コラボレーションプラットフォームの開発者インターフェースを、前記作成ユーザの第3のクライアントデバイスに提供して、前記作成ユーザが前記ゲームのためのゲーム仕様を作成するとともに、前記第1のソーシャルインタラクション基準を識別する前記条件を指定できるようにするステップと、
前記コラボレーションプラットフォームの前記開発者インターフェースを使用して前記作成ユーザによって作成された前記ゲーム仕様と、前記作成ユーザによって指定された前記条件とを受け取るステップと
をさらに含む、請求項19に記載の非一時的コンピュータ可読記憶媒体。
【請求項２１】
ゲームプレイのためのゲームを処理デバイスによって提供するステップであって、前記ゲームが、コラボレーションプラットフォームを介して複数のプレイユーザによってアクセス可能であり、前記ゲームが、前記ゲームをプレイする前記複数のプレイユーザに対する第1のソーシャルインタラクション基準を識別する条件に関連付けられ、前記条件を満たすと、前記複数のプレイユーザのうちの少なくとも1人がフレンドリクエストを受け取る資格を得る、ステップと、
前記ゲームの前記ゲームプレイに参加している前記複数のプレイユーザのうちの第1のプレイユーザと第2のプレイユーザの間の第1のソーシャルインタラクションを示すイベント識別子を監視するステップと、
前記第1のプレイユーザと前記第2のプレイユーザの間の前記第1のソーシャルインタラクションが前記条件によって識別された前記第1のソーシャルインタラクションを満たすことを、前記イベント識別子に基づいて決定するステップと、
前記コラボレーションプラットフォーム上で前記第2のプレイユーザとのフレンドシップを確立することを前記第1のプレイユーザに勧める前記フレンドリクエストを、前記第1のプレイユーザの第1のクライアントデバイスに送るステップと
を含む方法。
【請求項２２】
前記ゲームの前記ゲームプレイに参加している前記複数のプレイユーザのうちの第1のプレイユーザと第2のプレイユーザの間の第1のソーシャルインタラクションを示すイベント識別子を監視するステップが、
ゲーム環境内での前記第1のプレイユーザと前記第2のプレイユーザの間のソーシャルインタラクションを示すゲーム内イベントの識別子のために前記ゲームに関連したゲーム環境を監視することを含む、請求項21に記載の方法。
【請求項２３】
前記ゲーム内イベントが、前記ゲームの前記ゲーム環境内で、前記第1のプレイユーザに関連した第1のキャラクタと、前記第2のプレイユーザに関連した第2のキャラクタとの接近度を含む、請求項22に記載の方法。
【請求項２４】
前記ゲームの前記ゲームプレイに参加している前記複数のプレイユーザのうちの第1のプレイユーザと第2のプレイユーザの間の第1のソーシャルインタラクションを示すイベント識別子を監視するステップが、
前記ゲームのゲーム環境の外部であり前記コラボレーションプラットフォーム上で前記第1のプレイユーザと前記第2のプレイユーザの間のソーシャルインタラクションを示すグローバルイベントの識別子を、前記コラボレーションプラットフォームから受け取るステップを含む、請求項21に記載の方法。
【請求項２５】
前記グローバルイベントが、前記第1のプレイユーザおよび前記第2のプレイユーザが前記ゲームの前記ゲームプレイに参加することと同時に、前記第1のプレイユーザと前記第2のプレイユーザの間でメッセージ交換することを含む、請求項24に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示はユーザ生成のコンテンツプラットフォームの分野に関し、特に、ユーザ生成のソーシャルインタラクション条件を使用してユーザ生成のコンテンツプラットフォーム上でフレンドシップを確立することに関する。
【背景技術】
【０００２】
ユーザ生成のコンテンツプラットフォームによってユーザはインターネットを介して互いに情報に接続し、情報を共有することができる。ゲームプラットフォームなど、ユーザ生成のコンテンツプラットフォームのユーザは、複数プレイヤーのゲーム環境に参加し、カスタムゲーム環境を設計し、アバターを装飾し、あるいは互いに仮想アイテムを交換するなどできる。
【０００３】
本開示の様々な実施形態は以下で与えられた詳細な説明から、および本開示の様々な実施形態の添付の図面からより完全に理解されよう。
【図面の簡単な説明】
【０００４】
【図１】本開示の実施形態による、例示的なシステムアーキテクチャを示す。
【図２Ａ】本開示の実施形態による、コラボレーションプラットフォーム上でフレンドシップを確立するための方法を説明するフロー図である。
【図２Ｂ】本開示の実施形態による、ゲームを使用してフレンドシップを確立するための方法を説明するフロー図である。
【図３】本開示の実施形態による、フレンドシップが、高品質フレンドシップしきい値を満たすか否かを判定するための方法を示すフロー図である。
【図４】本開示のいくつかの実施形態による、コラボレーションプラットフォーム上でゲームを作成およびビルドするユーザインターフェースを示す図である。
【図５】本開示のいくつかの実施形態による、作成ユーザのゲームを開始してフレンドシップを確立するためのソーシャルインタラクション条件を作成ユーザが選択することができるユーザインターフェースを示す図である。
【図６】本開示のいくつかの実施形態による、ゲームの検索結果を示すユーザインターフェースを示す図である。
【図７】本開示のいくつかの実施形態による、フレンドシップのメトリックを提示するユーザインターフェースを示す図である。
【図８】本開示の実施形態による、例示的なコンピュータシステムを示すブロック図である。
【発明を実施するための形態】
【０００５】
ゲームプラットフォームなど、コラボレーションプラットフォーム(本明細書では「ユーザ生成のコンテンツプラットフォーム」または「ユーザ生成のコンテンツシステム」とも呼ばれる)は、互いにインタラクトするためにユーザに様々な方法を提供する。例えば、ゲームプラットフォームのユーザは、共通のゴールを目指してともに作業し、様々な仮想のゲームアイテムを共有し、電子メッセージを送るなどすることがある。コラボレーションプラットフォームのユーザ(例えば、プレイユーザ)は、キャラクタまたはアバターとしてゲームをプレイすることがある。コラボレーションプラットフォームは、プラットフォームのユーザ(例えば、作成ユーザ)が、プラットフォームのプレイユーザによって消費され得るプラットフォームのコンテンツを作成できるようにすることがある。例えば、コラボレーションプラットフォームの作成ユーザは、開発ツールを用いてゲーム仕様を作成し、そのゲーム仕様を使用して作成したゲームを公開できる。
【０００６】
いくつかのシステムでは、プレイユーザは、フレンドリクエストを他のプレイユーザに送ることによって、別のプレイユーザとフレンドになることできる。もし他のプレイユーザがフレンドリクエストに承諾した場合、二人のプレイユーザはシステム上でフレンドになる。いくつかのシステムでは、フレンドは互いのアカウント情報にアクセスできるが、フレンドでなければ互いのアカウント情報へのアクセスがブロックされる。
【０００７】
いくつかのシステムでは、フレンド提案が、システムによってプレイユーザに提供されることがある。フレンド提案は、プレイユーザがフレンドになることに関心のある1人または複数の他のユーザを提案できる。システムはフレンド提案を決定するための様々な技法を使用するが、技法はシステムのユーザによって決定または指定されない。加えて、技法は、ユーザがフレンドシップの確立を望むフレンドの提案に効果的でないことがある。技法はまた、他のシステムに効果的に適用されないこともある。
【０００８】
本開示の態様では、コラボレーションプラットフォーム上のフレンドの作成およびフレンドリクエストにおけるクラウドソーシング技術を実施することによって、上述した他の課題に対処する。作成ユーザは、コラボレーションプラットフォームが、対応するゲームをホストでき、およびプレイユーザがゲームのゲームプレイに参加できるゲーム仕様を開発できる。作成ユーザは、ソーシャルインタラクション基準を識別するゲームについてのソーシャルインタラクションの条件を指定できる。条件によって、コラボレーションプラットフォーム(またはゲーム)は、ゲームプレイ中のゲームのゲーム環境内での、あるいは、コラボレーションプラットフォーム上の、ゲーム環境の外部での、プレイングユーザ間のソーシャル・インタラクション・イベントを監視できる。キャラクタの間でのゲーム内イベント(例えば、ゲーム内ソーシャルインタラクション)による、あるいはキャラクタの間でのグローバルイベント(例えば、ゲームのゲーム環境のライブでのインプラットフォームソーシャルインタラクション)による条件を満たすと、プレイユーザは、フレンドシップを確立するためのフレンドリクエストを受け取る資格を得ることができる。
【０００９】
いくつかの実施形態では、ユーザ生成の条件を使用してフレンドシップを確立した後、確立したフレンドシップは、フレンドシップが品質フレンドシップしきい値を満たすか否かを判定するために監視される。いくつかの実施形態では、高品質フレンドシップを確立することに対して作成ユーザが評価され、かつ非高品質フレンドシップを確立することに対して懲罰的アクションが取られる。いくつかの実施形態では、追加のフィードバックが作成ユーザに提供され、作成ユーザに、ユーザ生成の条件、関連するフレンドリクエスト、および確立されたフレンドシップのパフォーマンスについて通知することができる。フィードバックが作成ユーザによって使用され、プレイユーザにフレンドリクエストを受け取る資格を与えるユーザ生成の条件を向上または改善することができる。
【００１０】
いくつかの実施形態では、開発者インターフェースが作成ユーザに提供され、作成ユーザが、ゲームについてのゲーム仕様を作成する、あるいは、ゲームについての条件(例えば、ソーシャルインタラクション条件)を指定することができる。条件は、ゲームに対するソーシャルインタラクション基準を識別する。条件を満たすと、少なくとも1人のプレイユーザがフレンドリクエストを受け取る資格を得る。コラボレーションプラットフォームは、開発者インターフェースを使用して作成ユーザによって作成されたゲーム仕様と、作成ユーザによって選択された条件とを受け取る。
【００１１】
いくつかの実施形態では、コラボレーションプラットフォームは、ゲームをホストし、プレイユーザがゲームのゲームプレイに参加できるようにする。コラボレーションプラットフォームは、ゲームの作成ユーザによって指定され、ゲームのプレイユーザに対するソーシャルインタラクション基準を識別する条件を識別できる。条件のソーシャルインタラクション基準を満たすと、プレイユーザの少なくとも1人がフレンドリクエストを受け取る資格を得る。コラボレーションプラットフォームまたはゲームは、ゲーム環境を監視して、ゲームの条件を満たすソーシャルインタラクションを示すゲーム内イベントを識別する。コラボレーションプラットフォーム(またはゲーム)は、コラボレーションプラットフォーム上のグローバルイベントを監視して、ゲーム環境の外部であるがコラボレーションプラットフォーム上のゲームの条件を満たすイベントを識別する。条件が満たされていることを識別することに応じて、コラボレーションプラットフォームまたはゲームは、フレンドリクエストを、条件を満たした別のプレイユーザとのソーシャルインタラクションをもつプレイユーザに送ることができる。
【００１２】
実施形態では、コラボレーションプラットフォームは、確立したフレンドシップを監視して、フレンドシップが、高品質フレンドシップしきい値を満たすか否かを判定することができる。フレンドシップが、高品質フレンドシップしきい値を満たすと判定される場合、コラボレーションプラットフォームは、例えば、検索結果においてゲームを奨励する、または検索結果において同じ作成ユーザからの別のゲームを奨励することによって作成ユーザを評価することができる。フレンドシップが高品質フレンドシップしきい値を満たさない(例えば、非高品質フレンドシップ)と判定された場合、コラボレーションプラットフォームは、検索結果に、ゲームの出現をネガティブに拡散するゲームのランキングを下げるなど、作成ユーザに関して懲罰的アクションを実行する。
【００１３】
いくつかの実施形態では、コラボレーションプラットフォームは、ユーザ生成の条件を使用して送られたフレンドリクエストおよび確立されたフレンドシップを示す情報を作成ユーザに提示するダッシュボードを、作成ユーザに提供することができる。ダッシュボードは作成ユーザにフィードバックを提供して、フレンドシップの確立における作成ユーザのユーザ生成条件を作成ユーザが評価することに役立つ。
【００１４】
いくつかの実施形態では、ゲームプレイについてのゲームが提供される。例えば、ゲームは、作成ユーザに関連するゲームサーバによってホストされる。別の例では、コラボレーションプラットフォームはゲームをホストする。ゲームはコラボレーションプラットフォームを介してプレイユーザによってアクセス可能である。ゲームは、ゲームをプレイするプレイユーザに対する第1のソーシャルインタラクション基準を識別する条件に関連する。条件を満たすと、プレイユーザのうちの少なくとも1人がフレンドリクエストを受け取る資格を得る。システムは、ゲームのゲームプレイに参加しているプレイユーザのうちの第1のユーザと第2のユーザの間のソーシャルインタラクションを示すイベント識別子を監視する。イベント識別子はゲームのゲームプレイに参加しているプレイユーザの間のソーシャルインタラクションを示す。イベント識別子に基づいて、ゲームは、第1のプレイユーザと第2のプレイユーザの間のソーシャルインタラクションが条件を満たすか否かを判定する。第1のプレイユーザと第2のプレイユーザの間の第1のソーシャルインタラクションが条件を満たすとの判定に応じて、ゲームは、コラボレーションプラットフォームまたはゲーム上で第2のプレイユーザとフレンドシップを確立するように第1のプレイユーザに勧めるフレンドリクエストを第1のプレイユーザの第1のクライアントデバイスに送る。ある実施形態では、ゲームは、フレンドリクエストを第1のプレイユーザに送る。別の実施形態では、ゲームは、コラボレーションプラットフォームに(フレンドAPIを介して)、コラボレーションプラットフォームに第1のプレイユーザにフレンドリクエストを送るよう要求する指示を送る。
【００１５】
いくつかの実施形態では、ゲームのゲームプレイに参加しているプレイユーザのうちの第1のプレイユーザと第2のプレイユーザの間の第1のソーシャルインタラクションを示すイベント識別子を監視することは、ゲーム環境内の第1のプレイユーザと第2のプレイユーザの間のソーシャルインタラクションを示すゲーム内イベントについて、ゲームに関連するゲーム環境を監視することを含む。
【００１６】
いくつかの実施形態では、ゲームのゲームプレイに参加しているプレイユーザのうちの第1のプレイユーザと第2のプレイユーザの間の第1のソーシャルインタラクションを示すイベント識別子を監視することは、ゲームのゲーム環境の外部でありコラボレーションプラットフォーム上で第1のプレイユーザと第2のプレイユーザの間のソーシャルインタラクションを示すグローバルイベントの識別子を、コラボレーションプラットフォームから受け取ることを含む。例えば、ゲームまたはゲームサーバは、アプリケーション・プログラミング・インターフェース(API)を使用して、グローバルイベント識別子など、ゲームのゲーム環境の外部のコラボレーションプラットフォーム上の第1のプレイユーザと第2のプレイユーザの間のソーシャルインタラクションを示す情報をコラボレーションプラットフォームに要求し、コラボレーションプラットフォームから受け取ることができる。
【００１７】
したがって、本開示の態様では、作成ユーザは、満たされることに応じて、それによりプレイユーザがコラボレーションプラットフォーム上でフレンドシップを確立できるフレンドリクエストをプレイユーザに送らせる、特定のゲームに関するソーシャルインタラクションの条件を指定および作成する能力を有する。特に、上述したものは、技術的課題に対処し、クラウドソーシングツールを使用および提供するプロセスを向上して、コラボレーションプラットフォーム上でフレンドシップを決定および確立する。例えば、本開示の態様を使用してプラットフォーム上でフレンドシップを提案することは、ユーザがコラボレーションプラットフォームまたはゲーム上でフレンドになり、高品質なフレンドシップを確立する可能性の高いシステムを作成する。別の例では、ユーザは、フレンドリクエストをユーザが受け取ることのあるユーザの識別に積極的に参加できるツールを与えられる。別の例では、本開示の態様を使用してプラットフォーム上でフレンドシップを提案することにより、ユーザはフレンド提案が生成される条件を調整できる。上述したものは、少なくとも、クライアントデバイスとコラボレーションプラットフォーム(例えば、サーバデバイス)の間の計算集中型演算(例えば、コンピュータ処理動作、コンピュータ記憶動作など)を分散することによって、コンピュータまたはコンピュータネットワークの動作を改善する。コンピュータ動作を分散することにより、コラボレーションプラットフォームによって実行されるコンピュータ動作を軽減し、他のタスクに対するコラボレーションプラットフォームのコンピュータリソース(例えば、コンピュータ処理リソース、コンピュータ記憶リソース、など)を解放する。例えば、ゲーム仕様の作成およびソーシャルインタラクション条件の作成は、コラボレーションプラットフォームのコンピュータリソースではなく、クライアントデバイスのコンピュータリソースを使用してクライアントデバイスによって実行される。加えて、ゲーム仕様および条件の作成に関連するデータは、アップロード前はクライアントデバイス上に格納され、コラボレーションプラットフォームのストレージオーバーヘッドを軽減する。
【００１８】
本明細書ではゲームプラットフォームとして期待されるコラボレーションプラットフォームは、限定ではなく説明の目的で提供されることに留意されたい。コラボレーションプラットフォームは、ゲームプラットフォーム、ソーシャル・ネットワーク・プラットフォーム、購買プラットフォーム、メッセージ交換プラットフォーム、作成プラットフォームなど、1つまたは複数の様々なプラットフォームである。本開示の態様は、限定ではなく説明の目的で、ゲームプラットフォームおよびゲームの例を使用して説明されることに留意すべきである。本開示の態様は、様々なプラットフォームに適用できる。
【００１９】
図1は、本開示の実施形態による、例示的なシステムアーキテクチャ100を示す。システムアーキテクチャ100(本明細書では「システム」とも呼ばれる)は、クライアントデバイス110Aおよび110B(一般に、「クライアントデバイス110」と呼ばれる)、ネットワーク105、データストア106、コラボレーションプラットフォーム120、およびサーバ130を含む。システムアーキテクチャ100は、限定ではなく説明のために提供されることに留意されたい。実施形態では、システムアーキテクチャ100は、同じまたは異なる方法で構成された、同じ、より少ない、より多い、あるいは異なる要素を含むことができる。
【００２０】
ある実施形態では、ネットワーク105は、パブリックネットワーク(例えば、インターネット)、プライベートネットワーク(例えば、ローカルエリアネットワーク(LAN)またはワイドエリアネットワーク(WAN))、有線ネットワーク(例えば、イーサネットネットワーク)、ワイヤレスネットワーク(例えば、802.11ネットワーク、Wi-Fiネットワーク、あるいはワイヤレスLAN(WLAN))、セルラーネットワーク(例えば、LTEネットワーク)、ルータ、ハブ、スイッチ、サーバコンピュータ、またはそれらの組み合わせを含む。
【００２１】
ある実施形態では、データストア106は、メモリ(例えば、ランダムアクセスメモリ)、キャッシュ、ドライブ(例えば、ハードドライブ)、フラッシュドライブ、データベースシステム、または、データを格納できる別のタイプの構成要素またはデバイスであってよい。データストア106はまた、複数のコンピューティングデバイス(例えば、複数のサーバコンピュータ)にわたる複数のストレージ構成要素(例えば、複数のドライブまたは複数のデータベース)を含むことができる。
【００２２】
実施形態では、サーバ130は、1つまたは複数のコンピュータデバイス(例えば、ラックマウントサーバ、サーバコンピュータ、物理的なサーバのクラスタなど)であって良い。実施形態では、サーバ130は、コラボレーションプラットフォーム120に含まれてよく、独立したシステムであってよく、または別のシステムまたはプラットフォームの一部であってよい。サーバ130は、ユーザ生成のコンテンツ・フレンドシップ・モジュール140を含むことができる。
【００２３】
いくつかの実施形態では、コラボレーションプラットフォーム120は、コラボレーションプラットフォーム120上で動作を実行し、コラボレーションプラットフォーム120へのアクセスをユーザに提供するために使用され得る、1つまたは複数のコンピューティングデバイス(ラックマウントサーバ、ルータコンピュータ、サーバコンピュータ、パーソナルコンピュータ、メインフレームコンピュータ、ラップトップコンピュータ、タブレットコンピュータ、デスクトップコンピュータなど)、データストア(例えば、ハードディスク、メモリ、データベース)、ネットワーク、ソフトウェア構成要素、および/またはハードウェア構成要素である。コラボレーションプラットフォーム120はまた、コラボレーションプラットフォーム120によって提供されたコンテンツへのアクセスをユーザに提供するために使用され得るウェブサイト(例えば、Webページ)またはアプリケーションバックエンドソフトウェアを含むことができる。例えば、ユーザは、クライアントデバイス110上のコラボレーションアプリケーション114を使用してコラボレーションプラットフォーム120にアクセスすることができる。コラボレーションアプリケーション114Aおよび114Bは、本明細書ではコラボレーションアプリケーション114として一般に参照されることに留意されたい。いくつかの実施形態では、コラボレーションアプリケーション114は、同じアプリケーションの2つのインスタンスであることがある。
【００２４】
実施形態では、コラボレーションプラットフォーム120は、ユーザ間の接続を提供するソーシャルネットワークの一種、またはユーザ(例えば、エンドユーザまたはカスタマー)がプラットフォームに対するコンテンツを作成できるようにするユーザ生成のコンテンツシステムの一種であってよく、作成されたコンテンツは、システムの他のユーザによって消費され得る。本開示の実施形態では、「ユーザ」は、単独の個人として表されている。しかしながら、本開示の他の実施形態は、「ユーザ」(例えば、作成ユーザ)がユーザのセットまたは自動化されたソースによって制御されたエンティティであることを包含する。例えば、コミュニティとして結成された個人ユーザのセットまたはユーザ生成のコンテンツシステムのグループは、「ユーザ」とみなされることがある。
【００２５】
ある実施形態では、コラボレーションプラットフォーム120は、オンラインゲームプラットフォームまたは仮想ゲームプラットフォームなど、ゲームプラットフォームであってよい。例えば、ゲームプラットフォームは、ネットワーク105を介してクライアントデバイス110を使用してゲーム122A-122Zにアクセスまたはインタラクトし得るユーザのコミュニティにシングルプレイヤーまたはマルチプレイヤーのゲームを提供できる。いくつかの実施形態では、ゲーム122(本明細書では「ビデオゲーム」または「バーチャルゲーム」とも呼ばれる)は、二次元(2D)ゲーム、三次元(3D)ゲーム(例えば、作成者モジュール126を使用した3Dユーザ生成のゲーム)、仮想現実(VR)ゲーム、または拡張現実(AR)ゲームである。実施形態では、プレイユーザなどのユーザは、他のプレイユーザとともにゲームプレイに参加する。いくつかの実施形態では、ゲーム122は、ゲーム122の他のユーザとともにリアルタイムにプレイされる。
【００２６】
いくつかの実施形態では、ゲームプレイは、ゲーム環境と、1人または複数のプレイヤーのインタラクション、あるいは、クライアントデバイスのディスプレイ上のインタラクションの提示を指す。実施形態では、リアルタイムまたはライブのゲームプレイは、過去の記録されたゲームプレイではなく、ゲームプレイが生じるときのゲームプレイの放送、提示、または表示を指す。例えば、リアルタイムゲームプレイは、ゲーム環境とのユーザインタラクションと実質的に同時に、クライアントデバイス110のディスプレイ上で表示される(少なくともリアルタイムアクションを表示することの技術的な制限内で、例えばゲームとのユーザインタラクションがまるで完全にリアルタイムのように、ユーザの入力のミリ秒以内に表示され、ユーザに示される)。ゲーム環境は、ゲームプレイの要素、ゲームプレイが提示またはレンダリングされ得る環境または空間、またはアバターがインタラクトできる空間を指す。ゲーム環境の一部は、プレイユーザに可視であり(例えば、プレイユーザのビュー)、一方で、ゲーム環境の他の部分は、プレイユーザに可視ではない(例えば、プレイユーザのビューの外の要素)。ゲーム環境は、ゲームのルールまたはゲームのロジック(例えば、ゲーム仕様)によって定義され、プレイユーザによる消費のためにレンダリングされる。
【００２７】
実施形態では、ゲームプレイのビューがクライアントデバイス110上に提示される。異なるクライアントデバイス110上のビューは、同じであっても異なっていてもよい。実施形態では、ビュー(本明細書では、「ビューのフィールド」とも呼ばれる)は、ゲームカメラの視点からの任意の所与の時点に見ることができ、クライアントデバイスのディスプレイに提示される観察可能なゲームワールドの範囲を指す。例えば、ゲームカメラのビューは、一人称視点または三人称視点またはそれらの組み合わせからのものであってよい。
【００２８】
いくつかの実施形態では、ゲーム122はゲーム仕様によって定義され得る。ゲーム仕様は、ゲームコンテンツ(例えば、デジタルメディアアイテム)をエンティティに提示するように構成された、ソフトウェア、ファームウェア、またはハードウェアを使用して実行またはロードされ得る電子ファイルを含む。実施形態では、ゲーム122のゲーム仕様は、ゲームエンジン124を使用して実行およびレンダリングされ得る。いくつかの実施形態では、ゲーム122のゲーム仕様が、共通のルールのセットまたは共通のゴールを定義し、共通のルールのセットまたは共通のゴールを共有するゲーム122のゲーム環境を定義してよい。実施形態では、異なるゲームは、互いに異なるルールまたはゴールを有し得る。
【００２９】
いくつかの実施形態では、ゲームは、1つまたは複数の環境(本明細書では「ゲーム環境」または「仮想環境」とも呼ばれる)を有し、複数のゲーム環境がリンクされ得る。ゲーム環境の例は、三次元(3D)ゲーム環境であってよい。ゲーム122の1つまたは複数のゲーム環境は、集約的に本明細書では、「ワールド」、「ゲームワールド」、「仮想ワールド」、または「ユニバース」と呼ばれることがある。例えば、ユーザは、別のユーザが作成した別の仮想環境にリンクする仮想環境をビルドしてもよい。仮想ゲームのキャラクタは、仮想境界を横切り、隣接する仮想環境に入ることがある。
【００３０】
3D環境または3Dワールドが、ゲームコンテンツ(または、幾何学データの3D表現が使用されるか否かにかかわらず、3Dコンテンツとして現れるための少なくも現在のゲームコンテンツ)を表す幾何学的データの3次元表現を使用するグラフィックスを使用することに留意されたい。2D環境または2Dワールドは、ゲームコンテンツを表す幾何学的データの2次元表現を使用するグラフィックスを使用する。
【００３１】
いくつかの実施形態では、コラボレーションプラットフォーム120は、ゲーム122をホストし、ユーザがクライアントデバイス110のコラボレーションアプリケーション114を使用してゲーム122とインタラクトできるようにする。コラボレーションプラットフォーム120のユーザは、ゲーム122をプレイし、作成し、ゲーム122とインタラクトし、またはゲーム122をビルドするか、あるいは、ゲーム122のオブジェクト(本明細書では「アイテム」、「ゲームオブジェクト」、また「仮想ゲームアイテム」とも呼ばれる)を作成およびビルドし得る。例えば、ユーザ生成の仮想アイテムを生成する際、ユーザは、特に、キャラクタ、キャラクタの装飾、インタラクティブゲームのための1つまたは複数の仮想環境を作成し、ゲーム122で使用される構造をビルドし得る。実施形態では、ユーザは、コラボレーションプラットフォーム120の他のユーザと、プラットフォーム内通貨(例えば、仮想通貨)など仮想ゲームオブジェクトを、購入、販売、または交換し得る。実施形態では、コラボレーションプラットフォーム120は、コラボレーションアプリケーション114にゲームコンテンツを送信し得る。実施形態では、ゲームコンテンツ(本明細書では「コンテンツ」とも呼ばれる)は、コラボレーションプラットフォーム120またはコラボレーションアプリケーション114と関連した任意のデータまたはソフトウェア命令(例えば、ゲームオブジェクト、ゲーム、ユーザ情報、ビデオ、画像、コマンド、メディアアイテムなど)を指す。実施形態では、ゲームオブジェクト(例えば、本明細書では「アイテム」、「オブジェクト」、または「仮想ゲームアイテム」とも呼ばれる)は、コラボレーションプラットフォーム120のゲーム122において使用、作成、共有、そうでなければ明示されたオブジェクトを指す。例えば、ゲームオブジェクトは、一部分、モデル、キャラクタ、ツール、武器、衣装、建物、車両、通貨、動植物、上記したものの構成要素(例えば、建物の窓)などを含み得る。
【００３２】
ゲーム122をホストするコラボレーションプラットフォーム120が、限定ではなく説明の目的で提供されていることに留意すべきである。いくつかの実施形態では、コラボレーションプラットフォーム120の外部のサーバが、1つまたは複数のゲーム122をホストしてよい。いくつかの実施形態では、コラボレーションプラットフォーム120が、1つまたは複数のメディアアイテムをホストしてよい。メディアアイテムは、限定ではなく、デジタルビデオ、デジタル動画、デジタル写真、デジタル音楽、オーディオコンテンツ、メロディ、ウェブサイトコンテンツ、ソーシャルメディアアップデート、電子書籍、電子マガジン、デジタル新聞、デジタルオーディオブック、電子ジャーナル、ブログ、RSS(real simple syndication)フィード、電子コミックブック、ソフトウェアアプリケーションなどを含むことができる。実施形態では、メディアアイテムは、デジタルメディアアイテムをエンティティに提示するように構成された、ソフトウェア、ファームウェア、またはハードウェアを使用して実行またはロードされ得る電子ファイルであってよい。
【００３３】
いくつかの実施形態では、ゲーム122は、特定のユーザまたはユーザの特定のグループ(例えば、プライベートゲーム)に関連するか、またはコラボレーションプラットフォーム120のユーザ(例えば、パブリックゲーム)に広く利用可能とされ得る。実施形態では、コラボレーションプラットフォーム120は、1つまたは複数のゲーム122を特定のユーザまたはユーザのグループに関連付け、コラボレーションプラットフォーム120は、ユーザアカウント情報(例えば、ユーザ名およびパスワードなどのユーザアカウント識別情報)を使用して特定のユーザをゲーム122に関連付けることができる
【００３４】
いくつかの実施形態では、コラボレーションプラットフォーム120またはクライアントデバイス110はゲームエンジン124を含み得る。実施形態では、ゲームエンジン124が、ゲーム122の開発や実行に使用される。例えば、ゲームエンジン124は、機能の中でも特に、2D、3D、VR、またはARグラフィックスのためのレンダリングエンジン(「レンダラ」)、物理エンジン、衝突検出エンジン(および衝突レスポンス)、サウンドエンジン、スクリプト機能、アニメーションエンジン、人工知能エンジン、ネットワーク機能、ストリーム機能、メモリ管理機能、スレッド機能、シーングラフ機能、または映画のためのビデオサポートを含み得る。ゲームエンジン124の構成要素は、ゲームをコンピューティングおよびレンダリングすることに役立つコマンドを生成してよい(例えば、レンダリングコマンド、衝突コマンド、物理コマンドなど)。いくつかの実施形態では、クライアントデバイス110のゲームエンジン124は、独立して、コラボレーションプラットフォーム120のゲームエンジン124と協働して、あるいは両方を組み合わせて動作してよい。
【００３５】
いくつかの実施形態では、コラボレーションプラットフォーム120およびクライアントデバイス110の両方がゲームエンジン124を実行する。ゲームエンジン124を使用するコラボレーションプラットフォーム120は、ゲームエンジン機能(例えば、物理コマンド、レンダリングコマンドなどの作成)の一部または全部を実行するか、ゲームエンジン機能の一部または全部をクライアントデバイス110のゲームエンジン124にオフロードし得る。いくつかの実施形態では、各ゲーム122は、コラボレーションプラットフォーム120上で実行されるゲームエンジン機能とクライアントデバイス110上で実行されるゲームエンジン機能との間で異なるレートを有し得る。例えば、コラボレーションプラットフォーム120のゲームエンジン124は、少なくとも2つのゲームオブジェクト間で衝突がある場合に物理コマンドを生成するために使用され、一方で、追加のゲームエンジン機能(例えば、レンダリングコマンドの作成)が、クライアントデバイス110にオフロードされ得る。いくつかの実施形態では、コラボレーションプラットフォーム120およびクライアントデバイス110上で実行されるゲームエンジン機能のレートは、ゲームプレイ条件に基づいて(例えば、動的に)変化し得る。例えば、特定のゲーム122のゲームプレイに参加しているユーザの数がしきい値数を超える場合、コラボレーションプラットフォーム120は、クライアントデバイス110によって以前実行されていた1つまたは複数のゲームエンジン機能を実行する。
【００３６】
例えば、プレイユーザは、クライアントデバイス110上でゲーム122をプレイしており、制御命令(例えば、上下左右などのユーザ入力、ユーザ選択、キャラクタの位置および速度情報など)をコラボレーションプラットフォーム120に送る。クライアントデバイス110からの制御命令を受け取ることに続いて、コラボレーションプラットフォーム120は、制御命令に基づいてゲームプレイ命令(例えば、グループのゲームプレイに参加しているキャラクタの位置および速度情報、またはレンダリングコマンド、衝突コマンドなどのコマンド)をクライアントデバイス110に送る。例えば、コラボレーションプラットフォーム120は、制御命令について1つまたは複数の論理演算(例えば、ゲームエンジン124を使用して)を実行して、クライアントデバイス110のためのゲームプレイ命令を生成する。他の例では、コラボレーションプラットフォーム120は、1つのクライアントデバイス110からの制御命令の1つまたは複数をゲーム122に参加している他のクライアントデバイスに渡す。クライアントデバイス110は、ゲームプレイ命令を使用し、クライアントデバイス110のディスプレイ上に提示するためにゲームプレイをレンダリングする。
【００３７】
実施形態では、制御命令は、ユーザのキャラクタのゲーム内アクションを示す命令を指してもよい。例えば、制御命令は、上下左右などのゲーム内アクション、ユーザ選択、ジャイロスコープの位置および向きのデータ、力センサデータなどを制御するためのユーザ入力を含み得る。制御命令は、キャラクタの位置および速度情報を含み得る。実施形態では、制御命令は、コラボレーションプラットフォーム120に直接送られる。他の実施形態では、制御命令は、クライアントデバイス110Aから別のクライアントデバイス110Bに送られ、別のクライアントデバイス110Bは、ローカルのゲームエンジン124を使用してゲームプレイ命令を生成する。
【００３８】
実施形態では、ゲームプレイ命令は、クライアントデバイス110が、マルチプレーヤーゲームなどゲームのゲームプレイをレンダリングできるようにする命令を指してもよい。ゲームプレイ命令は、ユーザ入力(例えば、制御命令)、キャラクタの位置および速度情報、コマンド(例えば、物理コマンド、レンダリングコマンド、衝突コマンドなど)の1つまたは複数を含む。
【００３９】
実施形態では、コラボレーションプラットフォーム120は、作成者モジュール126を含む。実施形態では、作成者モジュール126は、コラボレーションプラットフォーム120のユーザが、既存のゲーム122の環境を設計または作成する、新しいゲームを作成する、ゲームまたは環境内に新しいゲームオブジェクトを作成する作成ユーザになることを可能にする。例えば、作成ユーザは、ゲームのためのゲーム仕様を作成し、ゲーム仕様は、コラボレーションプラットフォーム120が特定のゲームをホストできるようにコラボレーションプラットフォーム120に送られる。
【００４０】
実施形態では、作成者モジュール126により、ユーザは、キャラクタを作成、変更、またはカスタマイズできる。実施形態では、キャラクタ(すなわち、一般にはゲームオブジェクト)は、1つまたは複数のユーザにより選択され、自動的に結合してユーザの編集を支援する構成要素から構成される。1つまたは複数のキャラクタ(本明細書では「アバター」または「モデル」とも呼ばれる)は、ユーザ(本明細書では「プレイユーザ」とも呼ばれる)と関連し、ユーザは、ゲーム122とのユーザインタラクションを円滑にするためにキャラクタを制御する。実施形態では、キャラクタは、体の部位(例えば、髪、腕、脚など)およびアクセサリ(例えば、Tシャツ、眼鏡、装飾画像、道具など)を含み得る。実施形態では、カスタマイズ可能なキャラクタの体の部位は、特に、頭の形、体の部位の種類(腕、脚、胴体、手)、顔の種類、髪の種類、および肌の種類を含む。実施形態では、カスタマイズ可能なアクセサリは、衣類(例えば、シャツ、パンツ、帽子、靴、眼鏡など)、武器、または他の道具を含む。実施形態では、ユーザは、キャラクタの大きさ(例えば、高さ、幅、または深度)またはキャラクタの構成要素の大きさを制御することもできる。実施形態では、ユーザは、キャラクタのプロポーション(例えば、ブロック状、解剖学的など)を制御できる。いくつかの実施形態では、キャラクタは、キャラクタゲームオブジェクト(例えば、体の部位など)を含まなくてもよいが、ユーザは、ゲーム(例えば、パズルゲーム。レンダリングされたキャラクタゲームオブジェクトはないが、ユーザはやはりゲーム内アクションを制御するためにキャラクタを制御する)とのユーザのインタラクションを円滑にするためにキャラクタ(キャラクタゲームオブジェクトではない)を制御してよいことに留意されたい。
【００４１】
いくつかの実施形態では、体の部位などの構成要素は、ブロック、円柱、球体などの原始的な幾何学的形状であるか、くさび、トーラス、チューブ、チャネルなどの他の原始的な形状であってよい。実施形態では、作成者モジュール126は、コラボレーションプラットフォーム120の他のユーザによるビューまたは使用のためにユーザのキャラクタを公開できる。いくつかの実施形態では、キャラクタ、他のゲームオブジェクト、ゲーム122、またはゲーム環境を作成、変更、またはカスタマイズすることは、ユーザインターフェース(例えば、開発者インターフェース)を使用して、およびスクリプトを用いてあるいは用いずに(アプリケーション・プログラミング・インターフェース(API)を用いてあるいは用いずに)ユーザによって実行され得る。キャラクタが人間型であるとして説明されていることは、限定ではなく説明の目的であることに留意されたい。さらに、キャラクタが、車両、動物、無生物オブジェクト、または他の創造的な形など任意の形であってよいことに留意されたい。
【００４２】
実施形態では、コラボレーションプラットフォーム120は、データストア106にユーザによって作成したキャラクタを格納し得る。実施形態では、コラボレーションプラットフォーム120は、コラボレーションアプリケーション114を介してユーザに提示され得るキャラクタカタログおよびゲームカタログを保持する。ユーザは、プレイするために、ゲームカタログからゲーム122を選択する。実施形態では、ゲームカタログは、コラボレーションプラットフォーム120上に格納されたゲームの画像を含む。加えて、ユーザは、選択したゲームに参加するために、キャラクタカタログからキャラクタ(プレイユーザまたは他のユーザによって作成された)を選択する。キャラクタカタログは、コラボレーションプラットフォーム120上に格納されたキャラクタの画像を含む。実施形態では、キャラクタカタログの1つまたは複数のキャラクタは、ユーザによって作成またはカスタマイズされていてよい。実施形態では、選択したキャラクタは、キャラクタの1つまたは複数の構成要素を定義するキャラクタ設定を有してよい。
【００４３】
実施形態では、ユーザのキャラクタは、構成要素の構成を含み、構成要素の構成、出現、およびより一般的にはキャラクタの出現は、キャラクタ設定によって定義され得る。実施形態では、ユーザのキャラクタのキャラクタ設定は、ユーザによって少なくとも部分的に選択され得る。他の実施形態では、ユーザは、デフォルトのキャラクタ設定または他のユーザによって選択されたキャラクタ設定のキャラクタを選択し得る。例えば、ユーザは、所定のキャラクタ設定を持つデフォルトのキャラクタをキャラクタカタログから選択し、さらにキャラクタ設定のいくつかを変更することによりデフォルトのキャラクタをカスタマイズしてもよい(例えば、カスタマイズされたロゴのシャツを加えるなど)。キャラクタ設定は、コラボレーションプラットフォーム120によって特定のキャラクタに関連付けられる。
【００４４】
実施形態では、作成者モジュール126を実行するコラボレーションプラットフォーム120は、ユーザインターフェースのウェブサイトまたはアプリケーション(例えば、コラボレーションアプリケーション114)を含み、ユーザ(本明細書では「作成ユーザ」、「作成者」、「オーナー」、または「オーナーユーザ」とも呼ばれる)は、個人的に所有するゲーム122またはゲーム環境をビルドし、管理し、編集し、インタラクトするために、コラボレーションプラットフォーム120によってホストされるオンライン・コンピュータ・リソース(例えば、クラウドリソース)にアクセスできる。例えば、作成モジュールは、作成ユーザが、ゲームコンテンツ、ゲームエンジン、並びにコラボレーションプラットフォーム120によって保持された他のリソースおよびツールにアクセスできるように、ユーザインターフェースおよびAPIを提供する。実施形態では、作成者モジュール126は、3次元仮想ゲームまたは環境を作成およびインスタンス化するためにユーザに利用可能なツールを含む。実施形態では、作成者モジュール126は、ユーザの個人的な仮想ゲーム122を作成および管理を望むユーザに利用可能である。実施形態では、ユーザは、コラボレーションアプリケーション114を使用して作成者モジュール126にアクセスできる。実施形態では、作成者モジュール126は、ユーザが作成者モジュール126の機能にアクセスできるように、コラボレーションアプリケーション114を介してユーザインターフェース(本明細書では「開発者インターフェース」とも呼ばれる)を使用する。実施形態では、開発者インターフェースはコラボレーションアプリケーション114の一部であってよい。例えば、コラボレーションアプリケーション114の開発者インターフェースは、ゲーム環境をビルドするまたはゲーム122をビルドするためにユーザによって選択され得るゲームオブジェクトのライブラリへのユーザアクセスを許可する。ゲームが、コラボレーションプラットフォーム120のユーザに利用可能であるように、ユーザは開発者インターフェースを介してゲームオブジェクトを公開してよい。
【００４５】
実施形態では、作成者モジュール126は、作成したゲーム122および環境の制御を作成ユーザに提供してよく、作成ユーザは、どのユーザが作成したゲーム122または環境とのインタラクトを許可されるか、およびどのユーザがゲーム122または環境を変更、編集、インタラクトできるかについての管理ポリシーを設定してよい。管理者制御をもつユーザは、他に指定がなければ、本明細書では管理者ユーザと呼ばれ得る。いくつかの実施形態では、管理者ルールは、募集された個人、そうでなければゲーム122またはゲーム環境とのインタラクトを希望するある個人に対して、様々なレベルのインタラクション、変更、または編集能力を指定する点まで細かく設定できる。例えば、個人は、コラボレーションプラットフォーム120のフレンド、または他のグループに関連するオンライン場所のソーシャルネットワークからのフレンドから募集され得る。実施形態では、作成者モジュール126は、ゲーム122またはゲーム環境内のインタラクションのための一般的なルールを含む、または一般的なルールに加えて、そのようなポリシーを設定するための管理ツールを有する。
【００４６】
実施形態では、クライアントデバイス110Aおよび110Bはそれぞれ、パーソナルコンピュータ(PC)、モバイルデバイス(例えば、ラップトップ、携帯電話、スマートフォン、タブレットコンピュータ、またはネットブックコンピュータ)、ネットワーク接続のテレビ、ゲームコンソールなどを含む。いくつかの実施形態では、クライアントデバイス110Aおよび110Bはまた、「ユーザデバイス」と呼ばれる。実施形態では、コラボレーションアプリケーション114を介した1つまたは複数のクライアントデバイス110が、任意の所与の瞬間にコラボレーションプラットフォーム120に接続する。クライアントデバイス110の数は、限定ではなく説明として提供されていることに留意されたい。実施形態では、任意の数のクライアントデバイス110が使用され得る。
【００４７】
実施形態では、各クライアントデバイス110がコラボレーションアプリケーション114のインスタンスを含む。ある実施形態では、コラボレーションアプリケーション114は、ユーザが、コラボレーションプラットフォーム120によってホストされるバーチャルゲームの仮想キャラクタを制御するなど、コラボレーションプラットフォーム120を使用およびインタラクトできるようにする、あるいは、ユーザが、ゲーム122、画像、ビデオアイテム、ウェブページ、文書などのコンテンツを視聴またはアップロードできるようにするアプリケーションであってよい。一例では、コラボレーションアプリケーション114は、ウェブサーバによってサービス提供されるコンテンツ(例えば、仮想環境の仮想キャラクタなど)にアクセスし、該コンテンツを検索、提供、またはナビゲートできるウェブアプリケーション(例えば、ウェブブラウザとともに動作するアプリケーション)であってよい。別の例では、コラボレーションアプリケーション114は、クライアントデバイス110にインストールされ、ローカルに実行し、ユーザがコラボレーションプラットフォーム120とインタラクトできるようにするネイティブアプリケーション(例えば、モバイルアプリケーション、アプリ、またはゲームプログラム)であってよい。コラボレーションアプリケーション114は、ユーザに対して、コンテンツ(例えば、ウェブページ、メディアビューア)をレンダリング、表示、または提示してよい。実施形態では、コラボレーションアプリケーション114はまた、ウェブページに組み込まれた組み込みメディアプレーヤー(例えば、フラッシュ(登録商標)プレイヤー)を含む。
【００４８】
本開示の態様では、コラボレーションアプリケーション114は、ユーザが、コラボレーションプラットフォーム120へのコンテンツをビルド、作成、編集、アップロードするとともに、コラボレーションプラットフォーム120とインタラクトする(例えば、コラボレーションプラットフォーム120によってホストされるゲーム122をプレイする)ためのコラボレーション・プラットフォーム・アプリケーションであってよい。したがって、コラボレーションアプリケーション114は、サーバ130またはコラボレーションプラットフォーム120によってクライアントデバイス110Aおよび110Bに提供され得る。別の例では、コラボレーションアプリケーション114は、サーバ130からダウンロードされたアプリケーションであってよい。いくつかの実施形態では、クライアントデバイス110のコラボレーションアプリケーション114は、ゲームエンジン124を含む。いくつかの実施形態では、クライアントデバイス110のゲームエンジン124は、コラボレーションアプリケーション114と別個であってよい。
【００４９】
実施形態では、ユーザは、コラボレーションアプリケーション114を介してコラボレーションプラットフォーム120にログインする。ユーザは、ユーザアカウント情報(例えば、ユーザ名とパスワード)を提供することによってユーザアカウントにアクセスしてよく、ユーザアカウントは、コラボレーションプラットフォーム120の1つまたは複数のゲーム122に参加するのに利用可能な1つまたは複数のキャラクタに関連付けられる。
【００５０】
一般に、コラボレーションプラットフォーム120によって実行される際の一実施形態で説明される機能はまた、適宜、他の実施形態における、クライアントデバイス110Aおよび110B、またはサーバ130によって実行され得る。加えて、特定の構成要素に起因する機能は、異なるまたは複数の構成要素が一緒に動作することによって実行され得る。コラボレーションプラットフォーム120は、適切なアプリケーション・プログラミング・インターフェース(API)を介して、他のシステムまたはデバイスに提供されるサービスとしてアクセスされ得るので、ウェブサイトでの使用に限定されない。
【００５１】
実施形態では、コラボレーションプラットフォーム120は、メッセージ交換モジュール128を含んでよい。実施形態では、メッセージ交換モジュール128は、ユーザが、ネットワーク105など、通信システムを介して電子メッセージを交換できるようにするシステム、アプリケーション、モジュールであってよい。メッセージ交換モジュール128は、コラボレーションアプリケーション114と関連付けられる(例えば、コラボレーションアプリケーション114のモジュールである、または別のアプリケーションであってよい)。実施形態では、ユーザは、メッセージ交換モジュール128とインターフェースし、コラボレーションプラットフォーム120のユーザ間で電子メッセージを交換する。メッセージ交換モジュール128は、例えば、特に、インスタント・メッセージ・アプリケーション、テキスト・メッセージ・アプリケーション、電子メールアプリケーション、ボイスメッセージアプリケーション、ビデオメッセージアプリケーション、またはそれらの組み合わせであってよい。
【００５２】
実施形態では、メッセージ交換モジュール128は、ユーザ間の電子メッセージの交換を容易にする。例えば、ユーザは、クライアントデバイス110A上のメッセージアプリケーションにログインし、別のユーザが、クライアントデバイス110B上のメッセージアプリケーションにログインする。2人のユーザは、インスタントメッセージの会話など会話を開始することがある。メッセージ交換モジュール128は、コラボレーションプラットフォーム120のユーザ間で電子メッセージを送受信することによってメッセージ交換の会話を円滑にするのに役立つ。別の実施形態では、2人のユーザは、それぞれのメッセージアプリケーションを使用して、ゲーム内ダイアログに互いに参加してよく、ダイアログは、ゲームプレイを含むビューの一部であってよい。
【００５３】
実施形態では、コラボレーションプラットフォーム120のユーザは、他のユーザにリンクされ、「フレンド」としてコラボレーションプラットフォーム120によって承認され得る。コラボレーションプラットフォーム120上の「フレンド」は、コラボレーションプラットフォーム120を介した別のユーザへの接続を指すことがある。「フレンドシップ」は、コラボレーションプラットフォーム120を介した少なくとも2人のユーザ間の接続を指すことがある。いくつかの実施形態では、ユーザおよびフレンドは、フレンドのユーザアカウントについての情報を見る、互いに電子メッセージを送る、アイテムを交換する機能など相互に特別なアクセス権を有することがある。いくつかの実施形態では、フレンドシップを確立することは、別のユーザにフレンドリクエストを送り、他のユーザが、フレンドシップを確立するためのフレンドリクエストを許可することによって実行され得る。フレンドリクエストは、ユーザがコラボレーションプラットフォーム120上の別のユーザとのフレンドシップを確立することを要求する、ユーザに送られるメッセージ(または別のもの)である。
【００５４】
いくつかの実施形態では、コラボレーションプラットフォーム120のユーザは、コラボレーションプラットフォーム120の他のユーザとインタラクトするための基本機能を有する。別のユーザとのフレンドシップを確立することによって、ユーザは、互いにインタラクトするための機会をフレンドがより多くできるような、コラボレーションプラットフォーム120の追加機能(本明細書では「特権」または「追加の特権」とも呼ばれる)にアクセスできるようになる。いくつかの実施形態では、フレンドであるコラボレーションプラットフォーム120のユーザは、フレンドシップの確立に応じて、基本機能と追加機能を使用できる。
【００５５】
いくつかの実施形態では、追加機能は、ユーザA(例えば、クライアントデバイス110Aのユーザ)およびユーザB(例えば、クライアントデバイス110Bのユーザ)が、コラボレーションプラットフォーム120(例えば、ポスト、チャット、個人メッセージ、公開メッセージ、仮想ゲーム環境でのメッセージ交換、ビデオなど)を介して、メッセージ交換サービス(例えば、メッセージ交換モジュール128)を使用して通信できるようにするメッセージ交換機能を含む。例えば、メッセージ交換機能により、ユーザは互いにメッセージを送信できる。別の例では、メッセージ交換機能により、ユーザは、そうでなければメッセージ交換モジュール128によってフィルタリングされていたであろうある種の情報(例えば、機密情報、連絡先情報、名前、写真、音声、記録、現在位置、一意の識別子(デバイスID)など)を互いに送信できる。ユーザAおよびユーザBは、限定では説明の目的で使用されていることに留意されたい。例えば、コラボレーションプラットフォーム120は、コラボレーションプラットフォーム120に追加機能を付与させるフレンドシップを確立できる1人または複数のユーザを含み得る。
【００５６】
いくつかの実施形態では、追加機能は、ユーザAおよびユーザBがコラボレーションプラットフォーム120を介して互いにアイテムを共有できるようにする共有機能を含み得る。例えば、ゲームプラットフォームのユーザは、ユーザが、仮想ゲーム環境において、仮想通貨など仮想アイテムを購入、交換、または譲渡できるようにする共有機能を有する。
【００５７】
いくつかの実施形態では、追加機能は、ユーザAおよびユーザBが、ゲーム122に互いに追従する、あるいは、コラボレーションプラットフォーム120によってホストされるゲーム122の特定のゲーム環境に追従することができるようにする追従機能を含むことがある。例えば、ユーザAがゲーム122Aに参加している。追従機能により、ユーザBは、ユーザAのプロフィールページにナビゲートでき、ユーザAのプロフィールページ上で「ゲームに参加」のオプションを選択でき、それによりユーザBをゲーム122A(例えば、ユーザAが参加しているゲーム122Aの特定のゲーム環境)に配置する。実施形態では、追従機能はまた、例えば、ユーザAが移動したまたは現在参加しているゲームをユーザBに通知する通知機能を含むことがある。
【００５８】
いくつかの実施形態では、追加機能は、ユーザAおよびユーザBが、コラボレーションプラットフォーム120によってホストされるプライベートゲームに互いを招待できるようにする招待機能を含み得る。例えば、ユーザAがプライベートゲームを作成し、招待機能によりユーザAはプライベートゲームに参加するようにユーザBを招待できる。
【００５９】
いくつかの実施形態では、追加機能は、ユーザAおよびユーザBが、コラボレーションプラットフォーム120によってホストされるグループに参加できるようにするグループ機能を含み得る。例えば、追加機能により、ユーザAは、ユーザAがグループメンバまたはグループ作成者であるグループにユーザBを招待できる。グループのメンバは、ゲーム122の異なるグループと競争するために互いに参加することができ、ゲーム122内の建設(例えば、環境、構造など)に互いに参加することができ、ゲーム122を作成する(例えば、作成者モジュール126)ために互いに参加できる。
【００６０】
いくつかの実施形態では、追加機能は、ユーザAおよびユーザBが、コラボレーションプラットフォーム120を介して互いにインタラクトできるようにするインタラクション機能を含む。例えば、基本機能は、ユーザが、シングルプレーヤーゲーム(マルチプレーヤーゲームではない)に参加できるようにし、インタラクション機能は、ユーザがマルチプレーヤーゲームに参加できるようにする。別の例では、基本機能は、ユーザAが、ゲーム122内の他のユーザと競争できるようにし、インタラクション機能は、ユーザAが、ゲーム122内の他のユーザと競争するために、ユーザBと一緒に作業できるようにする。本明細書に記載の追加機能は、限定ではなく説明の目的で提供されることに留意されたい。他の実施形態では、コラボレーションプラットフォーム120の他の機能は、フレンドシップを確立する点で提供された追加機能に含まれる。
【００６１】
限定ではなく説明の目的で、ユーザ生成のコンテンツ・フレンドシップ・モジュール140が、コラボレーションプラットフォーム120上に実装されるとして説明される。他の実施形態では、ユーザ生成のコンテンツ・フレンドシップ・モジュール140は、サーバ130上に一部または全部が実装される。他の実施形態では、ユーザ生成のコンテンツ・フレンドシップ・モジュール140は、クライアントデバイス110上に一部または全部が実装される。他の実施形態では、1つまたは複数のクライアントデバイス110、サーバ130、またはコラボレーションプラットフォーム120上で動作するユーザ生成のコンテンツ・フレンドシップ・モジュール140は、本明細書で説明される動作を実行するために連携して働く。本開示の実施形態は、コラボレーションプラットフォームについて論じられるが、実施形態は一般に、ユーザとユーザ生成のコンテンツの間の接続を提供する任意のタイプのプラットフォームに適用され得る。ユーザ生成のコンテンツ・フレンドシップ・モジュール140は、図2〜図7について記載された動作など、本願明細書に記載の動作を容易にするのに役立つ。いくつかの実施形態では、ユーザ生成のコンテンツ・フレンドシップ・モジュール140は、プラグインなど、別のアプリケーション(例えば、コラボレーションアプリケーション114)の一部であってよい。いくつかの実施形態では、ユーザ生成のコンテンツ・フレンドシップ・モジュール140は、デバイス上で実行される別個のアプリケーションであってよい。
【００６２】
本明細書で論じるシステムが、ユーザについての個人情報を収集するか、個人情報を使用し得る状況では、ユーザは、コラボレーションプラットフォーム120がユーザ情報(例えば、ユーザのソーシャルネットワーク、社会的行動または活動、職業、ユーザの嗜好、またはユーザの現在地についての情報)を収集するか否かを制御する、あるいはユーザにより関係し得るコンテンツサーバからのコンテンツを受け取るか否かおよび/または受け取る方法を制御する機会が与えられる。加えて、あるデータは、それが格納または使用される前に、1つまたは複数の方法で処理されてよく、その結果、個人的な識別可能な情報は削除される。例えば、個人的な識別可能な情報がユーザに対して判定されないように、あるいは、ユーザの地理的場所が、どこで場所情報が取得されたかについて一般化され(都市、郵便番号、または州レベルなど)、その結果ユーザの特定の場所が判定され得ないように、ユーザの識別情報が処理され得る。ゆえに、ユーザは、情報がユーザについてどのように収集され、コラボレーションプラットフォーム120によって使用されるかの制御をすることができる。
【００６３】
図2Aは、本開示の実施形態による、コラボレーションプラットフォーム上でフレンドシップを確立するための方法200を示すフロー図である。方法200は、ハードウェア(例えば、回路、専用ロジック、プログラマブルロジック、マイクロコード)、ソフトウェア(例えば、ハードウェアシミュレーションを実行するために処理デバイス上で実行される命令)、またはそれらの組み合わせを含む処理ロジックによって実行される。いくつかの実施形態では、コラボレーションプラットフォーム120において実行しているユーザ生成のコンテンツ・フレンドシップ・モジュール140は、一部または全部の動作を実行してよい。他の実施形態では、コラボレーションプラットフォーム120、クライアントデバイス110A、クライアントデバイス110B、サーバ130、またはそれらの組み合わせにおいて実行しているユーザ生成のコンテンツ・フレンドシップ・モジュール140は、一部または全部の動作を実行してよい。図1と図4〜7の要素が、方法200の説明の助けとなるように使用され得る。いくつかの実施形態では、方法200は、任意の順序で実行される動作と同数の、異なる数の、少ない数の、または多い数の動作を含み得ることに留意されたい。
【００６４】
方法200のブロック205では、方法200を実行する処理ロジックは、作成ユーザのクライアントデバイス110Aに、コラボレーションプラットフォーム120の開発者インターフェースを提供する。開発者インターフェースは、作成ユーザが、ゲーム122についてのゲーム仕様を作成できるようにし、ゲームをプレイするプレイユーザに対する第1のソーシャルインタラクション基準を識別する条件(本明細書では、「ソーシャルインタラクション条件」とも呼ばれる)を指定できるようにする。条件の第1のソーシャルインタラクション基準を満たすと、少なくとも1人のプレイユーザがフレンドリクエストを受け取る資格を得る。開発者インターフェースの例(例えば、図4のユーザインターフェース400および図5のユーザインターフェース500)は、図4および5に関してさらに説明される。
【００６５】
図4を参照すると、作成ユーザは、ユーザインターフェース400を使用して、コラボレーションプラットフォーム120によってホストされ得るゲームについてのゲーム仕様を設計し、ゲームがプレイのためにコラボレーションプラットフォーム120のプレイユーザに利用可能またはアクセス可能なようにゲームを公開する。
【００６６】
図2に戻ると、実施形態では、ソーシャルインタラクション条件は、作成ユーザによって指定された1つまたは複数のユーザ生成の条件を含み、ゲームをプレイしている少なくとも2人のユーザ(例えば、プレイユーザ)に対するソーシャルインタラクション基準を識別し得る。
【００６７】
図5を参照すると、いくつかの実施形態では、開発者インターフェース(例えば、図5のユーザインターフェース500)は、ユーザが基準の所定の選択肢からソーシャルインタラクション条件518を指定できる、あるいはユーザが作成ユーザのゲームに特有のソーシャルインタラクション条件518を作成できるようにする。例えば、2人のユーザに対するソーシャルインタラクション基準(ゲーム内のキャラクタの接近度)を識別する基準の所定の選択肢から、コラボレーションプラットフォーム120に少なくとも2人のユーザにフレンドリクエストを送らせるために満たす基準(例えば、接近度520)を選択し得る。別の例では、作成ユーザは、作成ユーザのゲームに特有のカスタマイズされたソーシャルインタラクション条件を作成できる。例えば、ゲームがかくれんぼゲームである場合、カスタムなソーシャルインタラクション基準は、同じ場所に一緒に2つのキャラクタが隠れる時間であってよい。ゲームデータは、2つのキャラクタが、少なくともしきい値の時間期間の間、ゲーム環境内の同じ仮想場所にいることを示す。ゲームデータはまた、2つのキャラクタが隠れる活動に従事していること(例えば、他のプレイユーザの視点に対応する一定のカメラ角度からは見えない)を示す。図2Aおよび図5に関して以下にさらに説明されるように、2人のプレイユーザの間のソーシャルインタラクションが、ゲームデータによって表され得ることに留意されたい。
【００６８】
図2に戻ると、ブロック210では、処理ロジックは、コラボレーションプラットフォーム120の開発者インターフェース(例えば、図4のユーザインターフェース400)を使用して作成ユーザによって作成されたゲーム122についてのゲーム仕様と、作成ユーザによって指定された条件(例えば、ソーシャルインタラクション条件)とを受け取る。ゲーム仕様は条件を含むことがあり、あるいは条件はゲーム仕様とは別個であってよいことに留意されたい。例えば、作成ユーザは、開発者インターフェースを使用してゲーム122についてのゲーム仕様を保存し、ゲーム122がコラボレーションプラットフォーム120によってホストされ(または、コラボレーションプラットフォーム120のプレイユーザによって少なくともアクセス可能である)、プレイのためにコラボレーションプラットフォーム120のプレイユーザに利用可能であるように、ゲーム122を公開できる。
【００６９】
ブロック215では、処理ロジックは、コラボレーションプラットフォーム120上にゲーム122をホストし、プレイユーザがゲーム122のゲームプレイに参加できるようにする。ゲーム122をホストすることにおいて、コラボレーションプラットフォーム120は、クライアントデバイス110を介してユーザが、ゲーム122をプレイするためにコラボレーションプラットフォーム120のハードウェアおよびソフトウェアリソースを使用またはアクセスできるようにする。
【００７０】
ブロック220では、処理ロジックは、ゲーム122の条件(例えば、ソーシャルインタラクション条件)を識別する。実施形態では、ソーシャルインタラクション条件は、ゲーム122の作成ユーザによって指定されている。実施形態では、条件は、複数のプレイユーザに対する第1のソーシャルインタラクション基準を識別する。条件を満たすと、第1のプレイユーザまたは第2のプレイユーザのうちの少なくとも1人がフレンドリクエストを受け取る資格を得る。
【００７１】
例えば、ゲーム122のゲーム仕様および作成ユーザによって指定された関連するソーシャルインタラクション条件を受け取った後、コラボレーションプラットフォーム120は、ゲーム122のゲーム仕様とソーシャルインタラクション条件(例えば、図5のソーシャルインタラクション条件518)の両方をメモリに格納する。プレイユーザがゲーム122のゲームプレイに参加すると、コラボレーションプラットフォーム120(またはゲーム)は、メモリから特定のゲーム122に関連するソーシャルインタラクション条件を取り出す。
【００７２】
説明の例では、コラボレーションプラットフォーム120によって識別されたソーシャルインタラクション条件は、しきい値時間(例えば、5分)のゲームプレイの間にゲームのゲーム環境において2人のプレイユーザのキャラクタの接近度、または2人のプレイユーザの間で送られたしきい値数のメッセージ(例えば、ゲーム122のプレイセッションの間に2人のユーザ間で送られた20のメッセージ)の少なくとも1つを含む。上記条件を評価するために使用されるゲームデータは、図2Aおよび図5に関して以下にさらに説明される。
【００７３】
ブロック225では、作成ユーザによって指定されたゲーム122の条件(例えば、ソーシャルインタラクション条件)を識別したことに応じて、処理ロジックは、ゲーム122のプレイユーザの間の第1のソーシャルインタラクションを示すイベントを監視する。ゲームデータ(例えば、データ構造)が、2人以上のプレイユーザの間のソーシャルインタラクションを示すまたは識別する。
【００７４】
一実施形態では、ゲームのプレイユーザの間の第1のソーシャルインタラクションを示すイベントを監視することは、ゲーム環境内の第1のプレイユーザと第2のプレイユーザの間のソーシャルインタラクションを示すゲーム内イベントについて、ゲームに関連するゲーム環境を監視することを含む。
【００７５】
一実施形態では、ゲームのプレイユーザの間の第1のソーシャルインタラクションを示すイベントを監視することは、ゲームのゲーム環境の外部の第1のプレイユーザと第2のプレイユーザの間のソーシャルインタラクションを示すグローバルイベントを監視することを含む。
【００７６】
いくつかの実施形態では、ゲームデータは、プレイユーザの間のソーシャルインタラクションのイベント、ゲーム内イベントまたはグローバルイベントなどを識別または示す。実施形態では、イベントを監視することは、ゲーム固有の物理学を用いて、ゲーム環境内で実行されるイベント(例えば、同じジェットコースターに乗る)についてのものであってよい。ゲーム内イベントは、ゲーム環境内で実行されるイベントであってよい。いくつかの実施形態では、コラボレーションプラットフォーム120は、ゲーム内イベントを示すゲームデータへのアクセス(例えば、APIを使用するか、あるいはAPIを使用せずに直接)を有することができる。別の実施形態では、ゲームは、ゲーム内イベントを示すデータへのアクセスを有し、ゲームデータ(例えば、APIを使用して)またはゲームデータを使用してなされた決定をコラボレーションプラットフォーム120に送ることができる。
【００７７】
実施形態では、監視は、グローバルイベント(本明細書では、「プラットフォームイベント」とも呼ばれる)であるイベントに対するものであることがある。グローバルイベントは、ゲーム環境の外部であるが、コラボレーションプラットフォーム120上で実行される。例えば、ユーザAおよびBは、異なるゲームで直近の2時間一緒にプレイしている。ユーザAおよびBは、ゲームX、Y、およびZをプレイしている間に、過去1週間にN回チャット会話を行っている。いくつかの実施形態では、コラボレーションプラットフォーム120は、グローバルイベントを示すゲームデータへのアクセス(例えば、APIなしに)を有する。他の実施形態では、ゲームは、APIを使用してグローバルイベントを示すゲームデータへのアクセスを有し、コラボレーションプラットフォーム120からグローバルイベントを示すゲームデータを取り出す。
【００７８】
実施形態では、コラボレーションプラットフォーム120は、コラボレーションプラットフォーム120によって生成されたゲームデータ(例えば、グローバルイベント)、ゲームから受け取ったゲームデータ(例えば、ゲーム内イベント)、またはその組み合わせを使用して、本明細書で説明される一部または全部の動作を実行できる。さらに他の実施形態では、ゲームは、コラボレーションプラットフォーム120から受け取ったゲームデータ(例えば、グローバルイベント)、ゲームによって生成されたゲームデータ(例えば、ゲーム内イベント)、またはその組み合わせを使用して、本明細書で説明される一部または全部の動作を実行できる。さらに他の実施形態では、ゲームは、コラボレーションプラットフォーム120が、(APIを介してまたはAPIなしで)全ての(またはほとんどの)ゲームデータへのアクセスを有し、本明細書で説明される全ての(またはいくつかの)動作を実行するように、コラボレーションプラットフォーム120に統合されてよい。
【００７９】
ブロック230では、処理ロジックは、第1のプレイユーザと第2のプレイユーザの間のソーシャルインタラクションが、ゲーム122の条件(例えば、ソーシャルインタラクション条件)の第1のソーシャルインタラクション基準を満たすと判定する。例えば、作成ユーザによって提出された条件は、条件が満たされているかを判定するためにゲームのプレイユーザの間のソーシャルインタラクションを示すゲームデータと比較され得る。
【００８０】
例えば、作成ユーザによって選択された条件は、2人のプレイユーザが、少なくとも5分間(例えば、ゲームの同じ環境内で)接近することである。コラボレーションプラットフォーム120(またはゲーム)は、ゲームデータを使用して、2人のプレイユーザが8分間(例えば、しきい値距離以内で)接近している、このことは条件を満たしている、と判定できる。別の例では、作成ユーザによって選択された条件は、2人のプレイユーザがゲームプレイセッションの間に互いに20回のメッセージ交換をすることである。ゲームデータを使用するコラボレーションプラットフォーム120(またはゲーム)は、2人のプレイユーザがゲームプレイセッションの間に10回のメッセージを送った、このことは条件を満たさない、と判定し得る。
【００８１】
ブロック235では、2人のプレイユーザの間の第1のソーシャルインタラクションが、ゲーム122の条件(例えば、ソーシャルインタラクション条件)の第1のソーシャルインタラクション基準を満たすとの判定に応じて、処理ロジックは、コラボレーションプラットフォーム120(またはゲーム)上で第2のプレイユーザとフレンドシップを確立するように第1のプレイユーザに勧めるフレンドリクエストを第1のプレイユーザの第1のクライアントデバイスに送る。いくつかの実施形態では、処理ロジックは、第1のプレイユーザの第1のクライアントデバイスと第2のプレイユーザの第2のクライアントデバイスに、コラボレーションプラットフォーム120(またはゲーム)上でフレンドシップを確立するように第1のプレイユーザと第2のプレイユーザに勧めるフレンドリクエストを送る。いくつかの実施形態では、2人のプレイユーザの間のソーシャルインタラクションがゲーム122の条件(例えば、ソーシャルインタラクション条件)を満たさないと判定することに応じて、処理ロジックは、2人のユーザのいずれにもフレンドリクエストを送らず、引き続きイベントを監視する。
【００８２】
いくつかの実施形態では、処理ロジックが、2人のプレイユーザがコラボレーションプラットフォーム120を介して既にフレンドであるかを判定することを確認してよい。処理ロジックは2人のプレイユーザが既にフレンドであると判定する場合、処理ロジックは、2人のプレイユーザのソーシャルインタラクションが条件を満たすか否かにかかわらず、フレンドリクエストを送らない。処理ロジックは2人のプレイユーザがフレンドでなく、2人のプレイユーザのソーシャルインタラクションが条件を満たすと判定する場合、処理ロジックは、2人のプレイユーザの少なくとも1人にフレンドリクエストを送ってよい。
【００８３】
いくつかの実施形態では、条件を満たす1人または複数のプレイユーザは、条件を満たした他のプレイユーザを含むフレンド提案を提示され得る。例えば、第1のプレイユーザは、第2のプレイユーザがフレンドになることを提案するフレンド提案を受け取ることがある。第1のプレイユーザは、フレンド提案から第2のプレイユーザを選択し、第1のプレイユーザとフレンドシップを確立するように要求するフレンドリクエストを第2のプレイユーザに送ることを開始する。
【００８４】
いくつかの実施形態では、フレンドシップは、フレンドリクエストに基づく第1のプレイユーザとのフレンドシップ(例えば、第1のプレイユーザがフレンドリクエストを受け入れる)が、コラボレーションプラットフォーム120(またはゲーム)を介して確立される。
【００８５】
ブロック240では、第1のプレイユーザと第2のプレイユーザの間のフレンドシップを確立した後に、処理ロジックは、第1のプレイユーザと第2のプレイユーザの間のフレンドシップが、高品質フレンドしきい値を満たすか否かを判定する。実施形態では、「高品質フレンドシップ」は、高品質フレンドシップしきい値を満たす(以上である)2人のプレイユーザの間のフレンドシップを指し、2人のプレイユーザの間のフレンドシップがゲームのプレイ後に持続することを示す、または2人のプレイユーザが、フレンドシップが確立された後にコラボレーションプラットフォーム120上で互いにソーシャルにインタラクトを続けることを示す。
【００８６】
いくつかの実施形態では、コラボレーションプラットフォーム120は、高品質フレンドシップ判定動作を実施して、ユーザ生成の条件を使用して作成されたフレンドシップが高品質フレンドシップを確立するか(高品質フレンドシップしきい値を超えるか)否かを判定する。
【００８７】
フレンドシップが高品質フレンドシップであると判定することに応じて、処理ロジックは、ブロック245に進み、ブロック245では、コラボレーションプラットフォーム120が作成ユーザまたはゲームに評価(例えば、評価アクション)を与える。フレンドシップが高品質フレンドシップではないと判定することに応じて、処理ロジックは、ブロック250に進み、ブロック250では、処理ロジックは、作成ユーザまたはゲームに関する懲罰的アクションを実行する。第1のプレイユーザと第2のプレイユーザの間のフレンドシップが高品質フレンドシップしきい値を満たすと判定することは、図3に関してさらに説明される。実施形態では、評価および懲罰的アクションを使用して、例えば、フレンドリクエストをプレイユーザに無差別に送るのではなく、作成ユーザに高品質フレンドシップを確立するインセンティブを与えることができる。
【００８８】
ブロック245では、第1のプレイユーザと第2のプレイユーザの間のフレンドシップが高品質フレンドシップであるとの判定に応じて、処理ロジックは、作成ユーザまたはゲームに評価を与える。いくつかの実施形態では、評価は、コラボレーションプラットフォーム120上でゲームの可視性を増やすこと、あるいは、コラボレーションプラットフォーム120上で検索クエリに応じた検索結果内にゲームの可視性を増やすことを含む。
【００８９】
いくつかの実施形態では、高品質フレンドシップを作成するとして識別されたゲームは、高品質フレンドシップを作成するとして識別されないゲームより上位にランク付けされ得る。例えば、コラボレーションプラットフォーム120は、ある期間にわたり各ゲームによって作成された高品質フレンドシップの数を判定できる。ゲームは、高品質フレンドシップの数に対応してランク付けされ得る(例えば、最多の高品質フレンドシップを確立しているゲームは、第1位にランク付けされ、2番目に多くの高品質フレンドシップを確立しているゲームは、第2位にランク付けされ得るなど)。より上位ランクのゲームが、下位ランクのゲームより奨励され得る。例えば、ゲームについての検索結果が、高品質フレンドシップを作成することに関して上位にランク付けされていない類似するゲームよりも、高品質フレンドシップを作成することに関して上位にランク付けされるゲームを含む可能性が高くなり得る。別の例では、各ゲームによって作成された高品質フレンドシップの数は、高品質フレンドシップの数と提出されたフレンドリクエストの数との比率であってよい。さらに別の例では、高品質フレンドシップの数は、高品質フレンドシップの数と確立されたフレンドシップの総数との比率であってよい。
【００９０】
いくつかの実施形態では、高評価は、ゲームのゲーム識別子をコラボレーションプラットフォーム上の検索クエリに応じた検索結果に挿入することを含む。いくつかの実施形態では、高評価は、金銭的に補償されること、例えば、コラボレーションプラットフォーム120の仮想通貨で補償されることを含むことができる。高品質フレンドシップに関する検索結果は、図6に関してさらに説明される。
【００９１】
ブロック250では、第1のプレイユーザと第2のプレイユーザの間のフレンドシップが高品質フレンドシップではないとの判定に応じて、処理ロジックは、作成ユーザに対して懲罰的アクションを実行する。いくつかの実施形態では、懲罰的アクションは、検索結果からそのゲームを削除すること、「フレンドを作るトップゲーム」のリストなど、ランク付けされたゲームのリスト内のゲームランキングを下げることなどを含んでよい。
【００９２】
いくつかの実施形態では、高品質フレンドシップを作成するとして識別されたゲームは、高品質フレンドシップを作成するとして識別されないゲームより上位にランク付けされ得る。例えば、コラボレーションプラットフォーム120は、ある期間にわたり各ゲームによって作成された高品質フレンドシップの数を判定できる。ゲームは、高品質フレンドシップの数に対応してランク付けされ得る(例えば、最多の高品質フレンドシップを確立しているゲームは、第1位にランク付けされ、2番目に多い高品質フレンドシップを確立しているゲームは、第2位にランク付けされ得るなど)。より下位ランクのゲームは奨励されず、上位ランクのゲームより奨励されることが少ない。例えば、ゲームについての検索結果が、高品質フレンドシップを作成することに関して上位にランク付けされていない類似するゲームよりも、高品質フレンドシップを作成することに関して上位にランク付けされるゲームを含む可能性が高くなり得る。いくつかの実施形態では、高品質フレンドシップに関して下位ランクのゲームは、検索結果に表示されず、検索結果に表示される頻度が低く、あるいは、検索結果内で見えにくくなる(例えば、ページの折り畳みの下)ことがある。
【００９３】
ブロック255では、処理ロジックは、作成ユーザによって選択された条件を満たすことに応じて送られたフレンドリクエストに対する返答を示すフレンドシップのメトリックを決定する。フレンドシップは、第1のプレイユーザと第2のプレイユーザの間のフレンドシップ、ならびに、作成ユーザのソーシャルインタラクション条件によって奨励されたフレンドリクエストを介して作成された他のフレンドシップを含み得る。フレンドシップのメトリックは、送ったフレンドリクエストおよび作成ユーザによって選択されたソーシャルインタラクション条件を使用して作成したフレンドシップについて作成ユーザに知らせる1つまたは複数の値、統計、または識別子を指してよい。
【００９４】
ブロック260では、処理ロジックは、作成ユーザのクライアントデバイス上に提示のためにフレンドシップのメトリックを提供する。図7のユーザインターフェース700は、フレンドシップのメトリックの提示の例を示すのを助けるために以下に提供される。
【００９５】
図2Bは、本開示の実施形態による、ゲームを使用してフレンドシップを確立するための方法を示すフロー図である。方法265は、ハードウェア(例えば、回路、専用ロジック、プログラマブルロジック、マイクロコード)、ソフトウェア(例えば、ハードウェアシミュレーションを実行するために処理デバイス上で実行される命令)、またはそれらの組み合わせを含む処理ロジックによって実行される。いくつかの実施形態では、ゲーム122をホストするゲームサーバ上で実行しているユーザ生成のコンテンツ・フレンドシップ・モジュール140が、一部または全部の動作を実行し得る。他の実施形態では、コラボレーションプラットフォーム120、クライアントデバイス110A、クライアントデバイス110B、サーバ130、またはそれらの組み合わせにおいて実行しているユーザ生成のコンテンツ・フレンドシップ・モジュール140は、一部または全部の動作を実行してよい。図1、図2A、および図4〜7の要素が、方法265の説明の助けとなるように使用され得る。いくつかの実施形態では、方法265は、任意の順序で実行される動作と同数の、異なる数の、少ない数の、または多い数の動作を含み得ることに留意されたい。いくつかの実施形態ではまた、方法265は、図2Aに関して説明した1つまたは複数の動作を含み得ることに留意されたい。
【００９６】
ブロック270では、方法265を実施する処理ロジックは、ゲームプレイのためのゲーム122を提供する。ゲーム122はコラボレーションプラットフォーム120を介してプレイユーザによってアクセス可能である。ゲーム122は、ゲームをプレイするプレイユーザに対する第1のソーシャルインタラクション基準を識別する条件に関連する。条件を満たすと、プレイユーザのうちの少なくとも1人がフレンドリクエストを受け取る資格を得る。ある実施形態では、ゲーム122はコラボレーションプラットフォーム120の外部のゲームサーバによってホストされ得る。コラボレーションプラットフォーム120は、コラボレーションプラットフォーム120のユーザがゲーム122にアクセスしてプレイできるように検索エンジン、リソースロケータ(例えば、リンク)、またその他を介してゲームへのアクセスを提供してよい。さらに他の実施形態では、コラボレーションプラットフォーム120はゲーム122をホストする。実施形態では、ゲームはAPIを使用してコラボレーションプラットフォーム120とデータを交換またはリソースを共有することができる。
【００９７】
ブロック275では、処理ロジックは、ゲームのゲームプレイに参加しているプレイユーザのうちの第1のプレイユーザと第2のプレイユーザの間の第1のソーシャルインタラクションを示すイベント識別子を監視する。
【００９８】
いくつかの実施形態では、ゲームのゲームプレイに参加しているプレイユーザのうちの第1のプレイユーザと第2のプレイユーザの間の第1のソーシャルインタラクションを示すイベント識別子を監視することは、ゲーム環境内の第1のプレイユーザと第2のプレイユーザの間のソーシャルインタラクションを示すゲーム内イベント(例えば、ゲームデータ)について、ゲームに関連するゲーム環境を監視することを含む。実施形態では、ゲーム122は、ゲーム環境内のゲーム内イベントを識別するために、ゲーム122によって生成されたゲームデータを監視し得る。一例では、ゲーム内イベントは、ゲームのゲーム環境内で、第1のプレイユーザに関連する第1のキャラクタと、第2のプレイユーザに関連する第2のキャラクタとの接近度を含む。
【００９９】
いくつかの実施形態では、ゲームのゲームプレイに参加しているプレイユーザのうちの第1のプレイユーザと第2のプレイユーザの間の第1のソーシャルインタラクションを示すイベント識別子を監視することは、ゲームのゲーム環境の外部でありコラボレーションプラットフォーム上で第1のプレイユーザと第2のプレイユーザの間のソーシャルインタラクションを示すグローバルイベントの識別子を、コラボレーションプラットフォーム120から受け取ることを含む。例えば、ゲームはAPIを使用して、コラボレーションプラットフォーム120にグローバルイベントを示すゲームデータを要求して受け取る。一例では、グローバルイベントは、第1のプレイユーザと第2のプレイユーザがゲームのゲームプレイに参加しているときの第1のプレイユーザと第2のプレイユーザの間のメッセージ交換を含む。
【０１００】
ブロック280では、処理ロジックは、イベント識別子に基づいて、第1のプレイユーザと第2のプレイユーザの間の第1のソーシャルインタラクションが条件によって識別される第1のソーシャルインタラクション基準を満たすと決定する。
【０１０１】
ブロック285では、処理ロジックが、コラボレーションプラットフォーム(またはゲーム)上で第2のプレイユーザとフレンドシップを確立するように第1のプレイユーザに勧めるフレンドリクエストを第1のプレイユーザの第1のクライアントデバイスに送る。実施形態では、ゲーム122は、コラボレーションプラットフォーム120に第1のプレイユーザの第1のクライアントデバイスにフレンドリクエストを送るように要求する指示をコラボレーションプラットフォーム120に送ることができる。別の実施形態では、ゲーム122(またはゲームサーバ)は、第1のプレイユーザにコラボレーションプラットフォームまたはゲーム122上の第2のプレイユーザとフレンドシップを確立することを勧めるフレンドリクエストを第1のクライアントデバイスに送ることができる。
【０１０２】
図3は、本開示の実施形態による、フレンドシップが高品質フレンドシップしきい値を満たすか否かを判定するための方法300を示すフロー図である。方法300は、ハードウェア(例えば、回路、専用ロジック、プログラマブルロジック、マイクロコード)、ソフトウェア(例えば、ハードウェアシミュレーションを実行するために処理デバイス上で実行される命令)、またはそれらの組み合わせを含む処理ロジックによって実行される。いくつかの実施形態では、コラボレーションプラットフォーム120において実行しているユーザ生成のコンテンツ・フレンドシップ・モジュール140は、一部または全部の動作を実行してよい。他の実施形態では、コラボレーションプラットフォーム120、クライアントデバイス110A、クライアントデバイス110B、サーバ130、またはそれらの組み合わせにおいて実行しているユーザ生成のコンテンツ・フレンドシップ・モジュール140は、一部または全部の動作を実行してよい。図1、図2A、および図4〜7の要素が、方法300の説明の助けとなるように使用され得る。いくつかの実施形態では、方法300は、任意の順序で実行される動作と同数の、異なる数の、少ない数の、または多い数の動作を含み得ることに留意されたい。
【０１０３】
ブロック305では、処理ロジックは、第2のプレイユーザの第1のプレイユーザに対する第2のソーシャルインタラクション基準を識別する高品質フレンドシップしきい値を識別する。第2のソーシャルインタラクション基準が図2Aおよび5に関して説明されるソーシャルインタラクション基準と同じまたは異なることがあることに留意されたい。いくつかの実施形態では、高品質フレンドシップ基準が、コラボレーションプラットフォーム120によって決定され得る。例えば、コラボレーションプラットフォーム120の管理者は、プレイユーザの特定のペア、特定のゲーム、または一般にコラボレーションプラットフォーム120に対する高品質フレンドシップ基準を決定および指定できる。高品質フレンドシップ条件は、フレンドシップが確立された後に、2人のフレンドの間のソーシャルインタラクションの尺度を指す。例えば、高品質フレンドシップ条件の基準は、ある期間での2人のフレンドが同じゲームをした頻度(または時間)を含み得る。別の例では、高品質フレンドシップ条件の基準は、ある期間での2人のフレンドが互いにメッセージ交換した回数であってよい。いくつかの実施形態では、高品質フレンドシップ条件の基準は、本明細書に説明される1つまたは複数のソーシャルインタラクション基準(例えば、図5のソーシャルインタラクション条件518)を含み得る。いくつかの実施形態では、高品質フレンドシップ条件の基準は、しきい値と比較した期間にわたるソーシャルインタラクションの回数を含み得る。1つまたは複数のフレンドシップ条件が確立され得ることに留意されたい。
【０１０４】
ブロック310では、処理ロジックは、コラボレーションプラットフォーム120上で第1のプレイユーザと第2のプレイユーザの間のフレンドシップを確立した後、(例えば、ある期間の間)第1のプレイユーザと第2のプレイユーザの間の第2のソーシャルインタラクションを監視する。2人のフレンドの間のソーシャルインタラクションを監視することは、図2Aのブロック225と類似するが、フレンドの間のソーシャルインタラクションは、複数のゲームおよびプラットフォームにわたって監視される。
【０１０５】
コラボレーションプラットフォーム120上で第1のプレイユーザと第2のプレイユーザの間のフレンドシップを確立した後、第1のプレイユーザと第2のプレイユーザの間の第2のソーシャルインタラクションを監視することは、第1のプレイユーザと第2のプレイユーザの間の第2のソーシャルインタラクションを示すグローバルイベントを監視することを含む。グローバルイベントは、コラボレーションプラットフォームの別のゲームに関連する別のゲーム環境内の、第1のプレイユーザと第2のプレイユーザの間のソーシャルインタラクションを含み得る。
【０１０６】
実施形態では、グローバルイベントは、(例えば、同じゲーム122または異なるゲームのプラットフォームなどにおいて)フレンドシップを確立した後に第1のプレイユーザと第2のプレイユーザがメッセージ交換した会話をした回数を含み得る。
【０１０７】
ブロック315では、処理ロジックは、第1のプレイユーザと第2のプレイユーザの間のソーシャルインタラクションが高品質フレンドシップ条件を満たすか否かを判定する。
【０１０８】
第1のプレイユーザと第2のプレイユーザの間の第2のソーシャルインタラクションが高品質フレンドシップ条件を満たすとの判定に応じて、処理ロジックは第1のプレイユーザと第2のプレイユーザに関連する高品質フレンドシップスコアを上げる。ブロック325では、第1のプレイユーザと第2のプレイユーザの間の第2のソーシャルインタラクションが高品質フレンドシップ条件を満たさないとの判定に応じて、処理ロジックは高品質フレンドシップスコアを下げる(または上げない)。
【０１０９】
いくつかの実施形態では、高品質フレンドシップスコアを上げるために使用された高品質フレンドシップ条件は、高品質フレンドシップスコアを下げるために使用された高品質フレンドシップ条件とは異なってよい。例えば、高品質フレンドシップスコアを上げるために使用された高品質フレンドシップ条件は、第1のプレイユーザと第2のプレイユーザがフレンドシップを確立した後に一週間に20回メッセージ交換したことを示すゲームデータであってよい。高品質フレンドシップスコアを下げるために使用された高品質フレンドシップ条件は、第1のプレイユーザと第2のプレイユーザがフレンドシップを確立した後に一週間にメッセージ交換をしなかったことを示すゲームデータであってよい。フレンドシップを確立した後の一週間で1〜19回プレイユーザ間でメッセージ交換することは、高品質フレンドシップスコアを変化させない。
【０１１０】
ブロック330では、処理ロジックは、高品質フレンドシップスコアが高品質フレンドシップしきい値を満たすか否かを判定する。フレンドシップは、高品質フレンドシップスコアが高品質フレンドシップしきい値以上であることに応じて、高品質フレンドシップしきい値を満たす。フレンドシップは、高品質フレンドシップスコアが高品質フレンドシップしきい値未満であることに応じて、高品質フレンドシップしきい値を満たさない。いくつかの実施形態では、複数の条件が評価され得る。いくつかの実施形態では、条件は、所定の期間(例えば、日、週、月など)にわたり評価され得る。
【０１１１】
図4は、本開示の実施形態による、コラボレーションプラットフォーム上でゲームを作成およびビルドするためのユーザインターフェースを示す。図1の要素が、図4の説明の助けとなるように使用され得る。実施形態では、ユーザインターフェース400は、作成ユーザがコラボレーションプラットフォーム120の作成者モジュール126にアクセスできるようにする開発者インターフェースであってよい。実施形態では、作成ユーザは、クライアントデバイス110(クライアントデバイス110A)のコラボレーションアプリケーション114を使用して、ユーザインターフェース400にアクセスし得る。
【０１１２】
ユーザインターフェース400は、作成ユーザがゲームオブジェクトなどのコンテンツアイテムを検索できるようにする検索エンジンポータル410を示す。本例では、作成ユーザは、検索用語「車両」を使用した検索クエリを、コラボレーションプラットフォーム120の検索エンジン(図示せず)に送る。検索エンジンは、「車両」などの検索用語に基づいてゲームオブジェクトなどのコンテンツアイテムの関連する検索結果412を戻す検索プロセスを実行する。
【０１１３】
ユーザインターフェース400は、ゲームワークスペース414におけるゲームオブジェクトの配置または挿入を示す。例えば、ゲームオブジェクト416(例えば、建物)は、検索エンジンポータル410から取り出され、ゲーム122のゲーム環境を作成するためにゲームワークスペース414に挿入されている。いくつかの実施形態では、ユーザは、ユーザインターフェース400を使用して作成されたゲーム122を保存し、コラボレーションプラットフォーム120にゲームを公開できる。いくつかの実施形態では、ゲーム122は、ユーザインターフェース400を使用してクライアントデバイス110のローカルに作成され、コラボレーションプラットフォーム120にアップロードされてよい。他の実施形態では、ゲーム122は、ユーザインターフェース400を使用して作成され、ゲーム122は、コラボレーションプラットフォーム120上で作成され、そこに格納される。ユーザインターフェース400を使用してゲーム122を公開することに応じて、コラボレーションプラットフォーム120は、ゲームをホストして、ユーザがゲーム122にアクセスしてプレイできるようにする。
【０１１４】
いくつかの実施形態では、ユーザインターフェース400は、作成ユーザがゲームを作成するのに役立つ様々なリソースを含み得る。例えば、上部のツールバーが、「ホーム」、「挿入」、「地形」、「テスト」などの異なるタブを含む。示されるように、ユーザインターフェースは、ソーシャルインタラクション条件418タブを含む。実施形態では、ユーザは、ソーシャルインタラクション条件418タブを使用して、作成ユーザが、ユーザにフレンドリクエストを受け取る資格を与え、ゲーム122のユーザ間のソーシャルインタラクションを識別するユーザ作成の条件を、選択または作成できるようにするユーザ・インターフェース・ウィンドウにアクセスする。ソーシャルインタラクション条件418タブによってアサートされたユーザインターフェース500ウィンドウが、図5に関連してさらに説明される。
【０１１５】
図5は、本開示の実施形態による、作成ユーザがソーシャルインタラクション条件のためのソーシャルインタラクション基準を指定できるようにするユーザインターフェースを示す。図1の要素が、図5の説明の助けとなるように使用される。実施形態では、ユーザインターフェース500は、作成ユーザがコラボレーションプラットフォーム120の作成者モジュール126にアクセスできるようにする開発者インターフェースの一部であってよい。他の実施形態では、ユーザインターフェース500は、開発者インターフェースとは別個であってよい。実施形態では、作成ユーザがクライアントデバイス110(例えば、クライアントデバイス110A)のコラボレーションアプリケーション114を使用してユーザインターフェース500にアクセスし得る。
【０１１６】
ユーザインターフェース500は、ユーザが選択するために利用可能な1つまたは複数の基準を含み得るソーシャルインタラクション条件518を示す。上述したように、ユーザは、作成ユーザが設計した特定のゲームのためのソーシャルインタラクション条件518を選択し得る。ゲームをプレイし、ソーシャルインタラクションが選択したソーシャルインタラクション条件518を満たすプレイユーザは、コラボレーションプラットフォーム120上でフレンドシップを確立するためのフレンドリクエストを受け取る。ソーシャルインタラクション条件518に含まれる基準は、限定ではなく説明の目的で提供されることに留意されたい。他の実施形態では、ソーシャルインタラクション条件518は、同じ、異なる、少ない、または多いオプションまたは基準を含み得る。
【０１１７】
いくつかの実施形態では、ソーシャルインタラクション条件518は、接近度520を含み得、ゲームプレイ中のゲーム環境内の2つのキャラクタの接近度により、コラボレーションプラットフォーム120は2つのキャラクタに関連する2人のユーザにフレンドリクエストを送る。接近度520基準はさらに、接近度520基準は、距離しきい値522、時間しきい値524、またはそれらの組み合わせを満たすことに応じて満たされるように精度を上げることができる。例えば、接近度520基準についてのゲームデータは、ユーザ(例えば、コラボレーションプラットフォームのユーザID)、ゲーム環境内のキャラクタの位置、および位置に関するタイムスタンプを識別し、ゲームまたはコラボレーションプラットフォーム120によって提供され得る。接近度基準520についてのゲームデータは、ゲーム内イベントを示し、2つのキャラクタの相対的な接近度(例えば、しきい値内の距離)およびキャラクタが相対的な接近度でいる時間を計算するために使用され得る。相対的な接近度および相対的な接近度でいる時間は、接近度520基準が満たされるかどうかを判定するために距離しきい値522および時間しきい値524とそれぞれ比較される。
【０１１８】
本明細書で説明するゲームデータは、コラボレーションプラットフォーム120またはゲームによって生成され得ることに留意されたい。いくつかの実施形態では、ゲーム環境内のゲーム内イベントを示すゲームデータはゲームによって生成され、ゲーム環境の外部のグローバルイベントを示すゲームデータはコラボレーションプラットフォーム120によって生成され得る。いくつかの実施形態では、ゲームデータは、APIを介してコラボレーションプラットフォームによってゲームに提供されることがあり、その逆であることもある。例えば、ゲームはAPI要求を送り、ゲームデータを含むコラボレーションプラットフォーム120からAPI応答を受け取る。
【０１１９】
いくつかの実施形態では、接近度520基準は、論理ANDまたは論理ORなど、論理演算子526を使用してソーシャルインタラクションの他の基準とともに使用され得る。例えば、論理AND演算子を使用して、作成ユーザは、両基準がフレンドリクエストが送られる前に満たされなければならないように、接近度520基準およびメッセージ交換528基準などの別の基準を選択し得る。別の例では、論理OR演算子を使用して、作成ユーザは、接近度520基準またはメッセージ交換528基準などの別の基準のいずれか一方が、フレンドリクエストが送られる前に満たされるべきであることを選択する。ソーシャルインタラクション条件518の全ての基準が論理演算子を使用し得ることに留意されたい。
【０１２０】
いくつかの実施形態では、ソーシャルインタラクション条件518は、メッセージ交換528基準を含み、ゲームプレイに参加する2人のユーザの間のメッセージ交換により、コラボレーションプラットフォーム120は2人のユーザにフレンドリクエストを送る。メッセージ交換528基準はさらに、メッセージ交換528基準が、個数しきい値530、時間しきい値540、2人のユーザが同時にメッセージ交換し、互いを見ているというサブ条件568、2人が同時にメッセージ交換し、それぞれのクライアントデバイス上で互いをビューし得るというサブ基準570、またはそれらの組み合わせを満たすことに応じて、満たされるように精度を上げることができる。いくつかの実施形態では、ユーザは、ソーシャルインタラクション条件518が満たされる特定のゲームでメッセージ交換し、ゲームを離れて、特定のゲームの外部でメッセージ交換を継続し、コラボレーションプラットフォーム120内(1つまたは複数の他のゲーム内)でメッセージ交換を継続することがある。別の実施形態では、ユーザは、ソーシャルインタラクション条件518がみたされている特定のゲームに入る前に、メッセージ交換していることがある。
【０１２１】
別の実施形態では、メッセージ交換528基準についてのゲームデータ(本明細書では「プラットフォームデータ」とも呼ばれる)が、コラボレーションプラットフォーム120から(例えば、APIを使用して)取得され得る。ゲームデータは、ゲームのゲームプレイに参加するユーザ、ユーザが互いにメッセージ交換しているか否か、ユーザがゲームのゲームプレイに参加している間にメッセージ交換した回数、ユーザ間でのメッセージ交換についての履歴(例えば、別のゲームにおいて、ユーザが互いにメッセージ交換した回数)、および1人または複数のユーザがゲームを離れた後にメッセージ交換したユーザについての情報(例えば、ユーザが互いにメッセージ交換を継続したか否か、別の会話を始めたか否か、それぞれのゲームの外部でユーザが互いにメッセージ交換した回数など)を識別する。実施形態では、メッセージ交換についてのゲームデータは、ゲームゲーム環境の外部でのゲームユーザの間のソーシャルインタラクションを示すグローバルイベントを識別し得る。
【０１２２】
いくつかの実施形態では、ソーシャルインタラクション条件518は、共通目的542基準を含むことができ、該基準では、ゲームプレイに参加し、共通目的(例えば、別のキャラクタを救助する、特別なオブジェクトを見つける、敵を倒すなど)をもつ2人のユーザにより、コラボレーションプラットフォーム120またはゲームはプレイユーザの少なくとも1人にフレンドリクエストを送る。共通目的542基準はさらに、共通目的542基準が、個数しきい値546、時間しきい値544、またはそれらの組み合わせを満たすことに応じて、満たされるように精度を高めることができる。一実施形態では、ゲームは、少なくとも2人のユーザが、共通目的に参加し、2人のユーザが共通目的542基準を満たしている指示をコラボレーションプラットフォーム120に送ると決定できる。
【０１２３】
共通目的542の例は、コラボレーションによって敵役に勝利することを含み、ここにおいて、2人以上のユーザがチームを形成し、ゲームが敵役を捕まえる目的を含むゲームプレイを提供し、敵役が捕まえられたことを検出し、第1のソーシャルインタラクションが2人以上のプレイユーザうちのプレイユーザの各ペアの間に起きていることを示すゲームデータ(例えば、ゲームのデータ構造)に表され得る。
【０１２４】
実施形態では、共通目的542基準についてのゲームデータは、ユーザ(例えば、APIを介してコラボレーションプラットフォーム120から受け取り得るコラボレーションプラットフォームユーザID)、ユーザが共通目的に参加していることを示すデータ構造、およびユーザが共通目的に参加している間の時間範囲を識別するタイムスタンプを識別し得る。共通目的542基準についてのゲームデータは、ゲーム内イベントを示し、共通目的542基準が満たされているか否かを判定するために使用され得る。
【０１２５】
いくつかの実施形態では、ソーシャルインタラクション条件518は、共通アクティビティ548基準を含み、該基準では、ゲームプレイに参加し、同じまたは類似のアクティビティに参加する2人のユーザにより、コラボレーションプラットフォーム120(またはゲーム)は、2人のユーザの少なくとも1人にフレンドリクエストを送る。共通アクティビティ548基準はさらに、共通アクティビティ548基準が、個数しきい値552(例えば、共通アクティビティの数)、時間しきい値550、またはそれらの組み合わせを満たすことに応じて満たされるように、精度を高めることができる。
【０１２６】
実施形態では、共通アクティビティ548基準についてのゲームデータは、ユーザ(例えば、APIを介してコラボレーションプラットフォーム120から受け取り得るコラボレーションプラットフォームのユーザID)、ユーザが共通アクティビティに参加していることを示すデータ構造、およびユーザが共通アクティビティに参加している間の時間範囲を識別するタイムスタンプを識別し得る。共通アクティビティ548基準についてのゲームデータは、ゲーム内イベントを示し、共通アクティビティ548基準が満たされているか否かを判定するために使用され得る。
【０１２７】
いくつかの実施形態では、ソーシャルインタラクション条件518は、同じ敵との戦闘554基準(例えば、共通目的542基準のサブ基準として考えることもできる)を含み、該基準では、ゲームプレイに参加し、同じゲームオブジェクト(別のキャラクタまたはゲーム生成のゲームオブジェクト)と戦闘する2人のユーザにより、コラボレーションプラットフォーム120またはゲームは2人のユーザの少なくとも1人にフレンドリクエストを送る。同じ敵との戦闘554基準はさらに、同じ敵との戦闘554基準が、個数しきい値558(例えば、敵の数)、時間しきい値556、またはそれらの組み合わせを満たすことに応じて満たされるように、精度を高めることができる。
【０１２８】
実施形態では、同じ敵との戦闘554基準についてのゲームデータは、ユーザ(例えば、APIを介してコラボレーションプラットフォーム120から受け取り得るコラボレーションプラットフォームのユーザID)、ユーザが同じ敵との戦闘に参加していることを示すデータ構造、およびユーザが同じ敵との戦闘に参加している間の時間範囲を識別するタイムスタンプを識別し得る。同じ敵との戦闘554基準についてのゲームデータは、ゲーム内イベントを示し、同じ敵との戦闘554基準が満たされているか否かを判定するために使用され得る。
【０１２９】
いくつかの実施形態では、ソーシャルインタラクション条件518は、同じチーム560基準を含み、該基準では、ゲームプレイに参加し、それぞれのキャラクタが同じチームにいる2人のユーザにより、コラボレーションプラットフォーム120またはゲームは2人のユーザの少なくとも1人にフレンドリクエストを送る。同じチーム560基準はさらに、同じチーム560基準が、時間しきい値562を満たすことに応じて満たされるように、精度を高めることができる。
【０１３０】
実施形態では、同じチーム560基準についてのゲームデータは、ユーザ(例えば、APIを介してコラボレーションプラットフォーム120から受け取り得るコラボレーションプラットフォームのユーザID)、ユーザが同じチームに参加していることを示すデータ構造、およびユーザが同じチームにいる間の時間範囲を識別するタイムスタンプを識別し得る。同じチーム560基準についてのゲームデータは、ゲーム内イベントを示し、同じチーム560基準が満たされているか否かを判定するために使用され得る。
【０１３１】
いくつかの実施形態では、ソーシャルインタラクション条件518は、フレンドのフレンド564基準を含み、該基準では、ゲームプレイに参加し、共通に(例えば、共通のフレンドの数がしきい値数を超える)共通のフレンド(例えば、コラボレーションプラットフォーム120を介して)を有する2人のユーザにより、コラボレーションプラットフォーム120またはゲームは2人のユーザの少なくとも1人にフレンドリクエストを送る。
【０１３２】
いくつかの実施形態では、フレンドのフレンド564基準についてのゲームデータは、コラボレーションプラットフォーム120から(例えば、APIを使用して)取得され得る。ゲームデータは、ゲームのゲームプレイに参加しているユーザ、ユーザが1人または複数の共通のフレンドを共有しているか否か、およびユーザ間の共通のフレンドの数を識別する。実施形態では、フレンドのフレンド564基準についてのゲームデータは、ゲームのゲーム環境の外部のプレイヤーユーザの間のソーシャルインタラクションを示すグローバルイベントを識別し得る。
【０１３３】
いくつかの実施形態では、ソーシャルインタラクション条件518は、カスタム566基準を含み、該基準では、作成ユーザが作成ユーザのゲームに固有のカスタマイズされたソーシャルインタラクション基準を作成できる。例えば、ゲームがかくれんぼである場合、カスタムソーシャルインタラクション条件は、2人のプレイヤーが場所に一緒に隠れる時間期間である。別の例では、ゲームが列車ゲームである場合、カスタムソーシャルインタラクション条件は、2人のプレイヤーが一緒に列車に乗る時間期間である。いくつかの実施形態では、カスタム566基準は、自然言語、疑似コード、または特定のコーディング言語を使用して実施され得る。
【０１３４】
実施形態では、カスタム566基準についてのゲームデータは、ユーザ(例えば、APIを介してコラボレーションプラットフォーム120から受け取り得るコラボレーションプラットフォームのユーザID)、カスタム566基準によって識別されたユーザがアクティビティに参加していることを示すデータ構造、およびユーザがアクティビティに参加している間の時間範囲を識別するタイムスタンプを識別し得る。カスタム566基準についてのゲームデータは、ゲーム内イベントを示し、カスタム566基準が満たされたか否かを判定するために使用され得る。カスタム566基準についてのゲームデータが、異なるゲーム内イベントを識別し、作成ユーザによって指定されたカスタム566基準に依存することに留意されたい。
【０１３５】
図6は、本開示のいくつかの実施形態による、ゲームの検索結果を示すユーザインターフェースを示す。図1の要素が、図6の説明の助けとなるように使用され得る。ユーザインターフェース600は、検索用語614「フレンド作成のための上位ゲーム」を使用する検索クエリの検索結果612を示す。示されるように、検索結果612は、それぞれのゲームの識別子(例えば、画像)を含む。実施形態では、ユーザは、検索結果612からゲーム(例えば、ゲーム識別子)を選択し、コラボレーションプラットフォーム120からゲームにアクセスする、またはコラボレーションプラットフォーム120の外部でホストされるゲームにアクセスし得る。いくつかの実施形態では、ゲーム(例えば、ゲーム識別子)がランク順に表示され得る。例えば、ゲームは、上部に、左から右に、下部に、左から右に降順に(例えば、1位から10位)に表示され得る。
【０１３６】
いくつかの実施形態では、高品質フレンドシップを作成するとして識別されたゲームは、高品質フレンドシップを作成するとして識別されないゲームより上位にランク付けされ得る。例えば、コラボレーションプラットフォーム120は、ある期間にわたり各ゲームによって作成された高品質フレンドシップの数を判定できる。ゲームは、高品質フレンドシップの数に対応してランク付けされ得る(例えば、最多の高品質フレンドシップを確立しているゲームは、第1位にランク付けされ、2番目に多い高品質フレンドシップを確立しているゲームは、第2位にランク付けされ得るなど)。より上位ランクのゲームが、下位ランクのゲームより奨励され得る。例えば、「フレンド作成のための上位ゲーム」の検索結果は、最上位ランクのゲームを含み得る。
【０１３７】
いくつかの実施形態では、高品質フレンドシップを作成しないとして識別されたゲームは、高品質フレンドシップを作成するとして識別されたゲームより下位にランク付けされる。懲罰的アクションは、高いフレンドシップ品質をもつゲームより低くゲームをランク付けすることを含む。より下位ランクのゲームは奨励されず、上位ランクのゲームより奨励されることが少ない。例えば、高品質フレンドシップに関して下位ランクのゲームは、検索結果に表示されず、検索結果に表示される頻度が低く、あるいは、検索結果内で見えにくくなる(例えば、ページの折り畳みの下)ことがある。
【０１３８】
図7は、本開示の実施形態による、フレンドシップのメトリックを提示するユーザインターフェースを示す。図1の要素が、図7の説明の助けとなるように使用され得る。実施形態では、ユーザインターフェース700は、作成ユーザがコラボレーションプラットフォーム120の作成者モジュール126にアクセスできるようにする開発者インターフェースの一部であってよい。他の実施形態では、ユーザインターフェースは開発者インターフェースとは別個であってよい。実施形態では、作成ユーザは、クライアントデバイス110のコラボレーションアプリケーション114を使用してユーザインターフェース700にアクセスし得る。ユーザインターフェース700は、限定ではなく説明のために提供されていることに留意されたい。他の実施形態では、ユーザインターフェースは、同じ、異なる、少ない、または追加の要素を含み得る。
【０１３９】
ユーザインターフェース700は、特定のゲームについて送られたフレンドリクエストを示すフレンドシップのメトリックと、作成ユーザによって選択されたソーシャルインタラクション条件を満たすことに応じて送られたフレンドリクエストを使用して確立されたフレンドシップとを表示するためにユーザが利用可能である「ダッシュボード」を示す。上述したように、フレンドシップのメトリックは、作成ユーザによって選択されたソーシャルインタラクション条件を使用して作成されたフレンドシップについて作成ユーザに知らせる1つまたは複数の値、統計、または識別子を指してよい。
【０１４０】
ユーザインターフェース700のグラフ710は、フレンドシップのメトリックのグラフ表示を示す。右の縦軸730は、確立されたフレンドシップの数を示す。横軸734は、データに対する時間期間(例えば、直近の4週間)を示す。左の縦軸732は、送られたフレンドリクエストの数を示す。グラフ710では、点線が特定の時間期間の間に作成された新規のフレンドシップの総数を示す。グラフ710では、実線が高品質フレンドシップと決定された新規のフレンドシップの総数を示す。グラフ710では、棒グラフが特定の時間期間の間に送られたフレンドリクエストの数を示す。
【０１４１】
ユーザインターフェース700はまた、ユーザ入力736を示し、ここで、作成ユーザは、フレンドシップのメトリックを示す特定のデータ範囲を選択し得る。いくつかの実施形態では、ユーザインターフェース700は追加の情報を示す。例えば、ユーザインターフェース700は、ユーザによって選択されたソーシャルインタラクションの条件および条件の各基準に関連する統計を示す。例えば、ユーザは、作成ユーザによって選択された(例えば、図5のユーザインターフェース500を使用して)基準(例えば、それぞれ図5の接近520およびメッセージ交換528)に対応する接近720基準およびメッセージ交換728基準を選択する。
【０１４２】
実施形態では、選択された接近720基準およびメッセージ交換728基準の各々は、グラフ710に対応する統計を示し得る。例えば、週1では、作成ユーザによって選択した接近720基準は80個のフレンドリクエストを生成した。フレンドリクエストのうちの40個が、コラボレーションプラットフォーム120上で形成された新規のフレンドシップを生じ、40個の新規のフレンドシップが全て高品質フレンドシップであると判定された。別の例では、週3では、作成ユーザによって選択したメッセージ交換条件728は60個のフレンドリクエストを生成した。フレンドリクエストのうちの40個が、コラボレーションプラットフォーム120上で形成された新規のフレンドシップを生じ、40個の新規のフレンドシップのうちの10のフレンドシップが高品質フレンドシップであると判定された。
【０１４３】
図8は、実施形態による例示的なコンピュータシステム800を示すブロック図である。コンピュータシステム800は、本明細書で論じられた任意の1つまたは複数の方法論をマシンに実行させる1つまたは複数の命令のセットを実行する。命令のセット、命令などは、コンピュータシステム800による実行時に、コンピュータシステム800に、ユーザ生成のコンテンツ・フレンドシップ・モジュール140の1つまたは複数の動作を実行させる命令を指す。マシンは、クライアント-サーバ型ネットワーク環境では、サーバまたはクライアントのキャパシティにおいて動作し、ピアツーピア(あるいは分散型)ネットワーク環境ではピアマシンとして動作し得る。マシンは、パーソナルコンピュータ(PC)、タブレットPC、セットトップボックス(STB)、個人情報端末(PDA)、携帯電話、ウェブアプライアンス、サーバ、ネットワークルータ、スイッチまたはブリッジ、あるいは、そのマシンによって取られるアクションを指定する命令のセットを(逐次的にまたはそれ以外で)実行できる任意のマシンによって実行される。さらに、単一のマシンのみが説明されているが、「マシン」という法語は、本明細書に論じられた任意の1つまたは複数の方法論を実行するための命令のセットを個別にまたは共同して実行するマシンの任意の集合を含むもと解釈され得る。
【０１４４】
コンピュータシステム800は、バス808を介して互いに通信する、処理デバイス802、メインメモリ804(例えば、読み取り専用メモリ(ROM)、フラッシュメモリ、同期DRAM(SDRAM)またはRambus DRAM(RDRAM)などのダイナミックランダムアクセスメモリ(DRAM)など）、スタティックメモリ806(例えば、フラッシュメモリ、スタティックランダムアクセスメモリ(SRAM)など)、およびデータ記憶デバイス816を含む。
【０１４５】
処理デバイス802は、マイクロプロセッサ、中央処理ユニットなどの1つまたは複数の汎用処理デバイスを表す。より具体的には、処理デバイス802は、複雑な命令セットコンピューティング（CISC: complex instruction set computing）マイクロプロセッサ、縮小命令セットコンピューティング（RISC: reduced instruction set computing）マイクロプロセッサ、非常に長い命令ワード（VLIW: very long instruction word）マイクロプロセッサ、または他の命令セットを実装する処理デバイス、または命令セットの組み合わせを実装する処理デバイスであってよい。処理デバイス802はまた、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、デジタル信号プロセッサ(DSP)、ネットワークプロセッサなどのような1つまたは複数の専用処理装置であり得る。処理デバイス802は、本明細書に論じられた動作を実行するためのシステムアーキテクチャ100の命令およびユーザ生成のコンテンツ・フレンドシップ・モジュール140を実行するように構成される。
【０１４６】
コンピュータシステム800はさらに、ローカルエリアネットワーク(LAN)、イントラネット、エクストラネット、またはインターネットなど、ネットワーク818を介して他のマシンとの通信を提供するネットワークインターフェースデバイス822を含む。コンピュータシステム800はまた、ディスプレイデバイス810(例えば、液晶ディスプレイ(LDC)または陰極線管(CRT))、英数字入力デバイス812(例えば、キーボード)、カーソル制御デバイス814(例えば、マウス)、および信号生成デバイス820(例えば、スピーカ)を含み得る。
【０１４７】
データ記憶デバイス816は、本明細書に論じられた任意の1つまたは複数の方法論または動作を具現化する、システムアーキテクチャ100の命令のセットおよびユーザ生成のコンテンツ・フレンドシップ・モジュール140が格納された、非一時的コンピュータ可読記憶媒体824を含み得る。システムアーキテクチャ100の命令のセットおよびユーザ生成のコンテンツ・フレンドシップ・モジュール140は、コンピュータシステム800によって実行中、完全にまたは少なくとも部分的に、メモリ804内および/または処理デバイス802内にあり、メインメモリ804および処理デバイス802がコンピュータ可読記憶媒体を構成する。命令のセットはまた、ネットワークインターフェースデバイス822を介してネットワーク818上で送受信され得る。
【０１４８】
コンピュータ可読記憶媒体824の例は、単一の媒体として示されているが、「コンピュータ可読記憶媒体」という用語は、命令のセットを記憶する単一の媒体または複数の媒体(例えば、集中型または分散型データベース、および/または関連するキャッシュおよびサーバ)を含むことができる。「コンピュータ可読記憶媒体」という用語は、マシンによって実行されるための、本開示の任意の1つまたは複数の方法論をマシンに実行させる命令のセットを記憶、符号化、または伝搬できる任意の媒体を含むことができる。「コンピュータ可読記憶媒体」という用語は、限定ではなく、ソリッドステートメモリ、光メディア、および磁気メディアを含むことができる。
【０１４９】
前述の説明では、多くの詳細が示されている。しかしながら、本開示の利点をもつ当業者にとって、本開示がこれらの特定の詳細なしに実施されうることは、明らかであろう。いくつかの例では、周知の構造およびデバイスは、本開示を曖昧にするのを避けるために、詳細ではなくブロック図の形態で示される。
【０１５０】
詳細な説明のいくつかの部分は、コンピュータメモリ内のデータビットに対する動作のアルゴリズムと記号表現の観点から提示されている。これらのアルゴリズム記述および表現は、当業者にそれらの動作の実態を最も効率よく伝えるために、データ処理分野の当業者により使用される手段である。アルゴリズムは本明細書では、一般に、所望の結果につながる動作の自己矛盾のないシーケンスであると考えられる。動作のシーケンスは、物理量の物理的な操作を必要とする動作である。通常、必ずしもそうとは限らないが、これらの量は、記憶、転送、結合、比較、およびその他の方法で操作され得る電気信号または磁気信号の形をとる。これらの信号をビット、値、要素、記号、文字、用語、数字などと呼ぶことは、主に一般的な使用法の理由から、時々便利であることがわかっている。
【０１５１】
しかしながら、これらおよび類似の用語はすべて、適切な物理量に関連付けられており、これらの量に適用される便宜的なラベルに過ぎないことに注意すべきである。特に明記しない限り、本明細書全体を通して、「ホストする」、「決定する」、「受け取る」、「提供する」、「送る」、「識別する」、「監視する」、「増加する」、「実行する」などの用語を利用する議論は、コンピュータシステムメモリ内の物理的（例えば、電子的）量として表されるデータを操作および変換し、コンピュータシステムメモリまたはレジスタ、あるいは他のそのような情報ストレージデバイス、伝送デバイスまたは表示デバイス内の物理量として同様に表された他のデータにレジスタするコンピュータシステム、または類似の電子コンピューティングデバイスのアクションおよび処理を指していると理解される。
【０１５２】
本開示はまた、本明細書の動作を実行する装置に関連する。この装置は、必要な目的のために特別に構築され得るか、またはコンピュータに格納されたコンピュータプログラムによって選択的にアクティブ化または再構成される汎用コンピュータを含み得る。そのようなコンピュータプログラムは、限定ではなく、フロッピーディスク、光学ディスク、CD-ROM、磁気光学ディスク、読み取り専用メモリ(ROM)、ランダムアクセスメモリ(RAM)、消去可能なプログラム可能な読み取り専用メモリ(EPROM)、電気的に消去可能なプログラム可能な読み取り専用メモリ(EEPROM)、磁気または光学カード、電子命令の格納に適した任意のタイプの媒体を含む任意のタイプのディスクなど、コンピュータ可読記憶媒体に格納され得る。
【０１５３】
「例」または「例示」という単語が、本明細書で使用され、例、例示、または説明としての役割を意味する。「例」または「例示」として本明細書で説明される態様または設計は、他の態様または設計に対する好適または有利として解釈される必要はない。むしろ、「例」または「例示」という単語の使用は、概念を具体的に提示することを意図している。本願で使用される、「または」という用語は、排他的な「または」ではなく、包括的「または」を意味することを意図している。すなわち、特に明記しない、あるいは文脈から明らかでない限り、「XがAまたはBを含む」は、任意の自然の包括的置換を意味することを意図している。すなわち、XがAを含む、XがBを含む、あるいはXがAおよびBの両方を含む場合に、「XがAまたはBを含む」が、上記の任意の例の下で満たされる。本明細書および添付の特許請求の範囲で使用される冠詞「a」および「an」は一般に、特に明記しない、あるいは単数形を指示することが文脈から明らかでない限り、「1つまたは複数」を意味すると解釈される。さらに、「実施形態」、「一実施形態」、「ある実施形態」、「一つの実施形態」などの用語の使用は、そのように説明されていない限り、同じ実施形態を意味することを意図していない。本明細書の1つまたは複数の実施形態は、特別な実施形態に組み合わせることができる。本明細書で使用される「第1の」、「第2の」、「第3の」、「第4の」などの用語は、異なる要素を区別するためのラベルを意味し、数値の指定による序数の意味を有する必要はない。
【０１５４】
上記説明は、説明的であるが、制限的ではないことを意図すると理解されよう。他の実施形態は、上記説明を読み理解すると当業者には明らかであろう。したがって、本開示の範囲は、添付の特許請求の範囲が権利を与えられる同等物の全範囲とともに、添付の特許請求の範囲を参照して決定され得る。
【０１５５】
追加の実施形態では、上述の実施形態の動作を実行するための1つまたは複数の処理デバイスが開示される。加えて、本開示の実施形態では、非一時的コンピュータ可読記憶媒体が、説明された実施形態の動作を実行するための命令を格納する。また、別の実施形態では、説明された実施形態の動作を実行するためのシステムが開示される。
【符号の説明】
【０１５６】
100  システムアーキテクチャ
105  ネットワーク
106  データストア
110  クライアントデバイス
114  コラボレーションアプリケーション
120  コラボレーションプラットフォーム
122  ゲーム
124  ゲームエンジン
126  作成者モジュール
128  メッセージ交換モジュール
130  サーバ
140  コンテンツ・フレンドシップ・モジュール
【図１】
2021535797.tif 000003
【図２Ａ】
2021535797.tif 000004
【図２Ｂ】
2021535797.tif 000005
【図３】
2021535797.tif 000006
【図４】
2021535797.tif 000007
【図５】
2021535797.tif 000008
【図６】
2021535797.tif 000009
【図７】
2021535797.tif 000010
【図８】
2021535797.tif 000011
【国際調査報告】
2021535797.tif 000012