(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-10-26
(45)【発行日】2023-11-06
(54)【発明の名称】開発者エンゲージメント指標に基づく電子ゲームの品質の判定
(51)【国際特許分類】
A63F 13/60 20140101AFI20231027BHJP
A63F 13/70 20140101ALI20231027BHJP
【FI】
A63F13/60
A63F13/70
(21)【出願番号】P 2022514562
(86)(22)【出願日】2019-09-17
(86)【国際出願番号】 US2019051392
(87)【国際公開番号】W WO2021045792
(87)【国際公開日】2021-03-11
【審査請求日】2022-05-02
(32)【優先日】2019-09-06
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】520317055
【氏名又は名称】ロブロックス・コーポレーション
(74)【代理人】
【識別番号】100108453
【氏名又は名称】村山 靖彦
(74)【代理人】
【識別番号】100110364
【氏名又は名称】実広 信哉
(74)【代理人】
【識別番号】100133400
【氏名又は名称】阿部 達彦
(72)【発明者】
【氏名】ジアンアン・デュアン
【審査官】赤坂 祐樹
(56)【参考文献】
【文献】米国特許出願公開第2014/0137072(US,A1)
【文献】特開2010-157193(JP,A)
【文献】米国特許第10272341(US,B1)
【文献】米国特許出願公開第2011/0083180(US,A1)
【文献】特表2006-522382(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
A63F 13/00-13/98、9/24
(57)【特許請求の範囲】
【請求項1】
アクティビティトラッカーが、ゲーム開発ツールを使用して実行されるアクションの数を判定するステップであって、前記数のアクションが少なくとも1つのタイムフレームの間に実行され、前記アクションが、前記ゲーム開発ツールを使用して設計される特定のゲームに対応
し、前記少なくとも1つのタイムフレームの間に実行された前記アクションの数がしきい値を超えたことに応じて、前記少なくとも1つのタイムフレームの持続時間が前記特定のゲームの総開発者時間に加算される、ステップと、
前記アクティビティトラッカーが、前記少なくとも1つのタイムフレームの間に行われるアクションの前記数を表すコンテンツを有する信号を生成するステップ
であって、アクションの前記数を表す前記コンテンツを有する前記信号を生成する前記ステップは、前記アクティビティトラッカーが、前記信号において前記総開発者時間の現在の値を与えるステップを含む、ステップと、
前記アクティビティトラッカーが、前記信号をエージェントコンピュータに送って、
前記エージェントコンピュータが前記信号の前記コンテンツから前記ゲームの品質を判定するステップと
を含む方法。
【請求項2】
前記少なくとも1つのタイムフレームは、複数のタイムフレームを含み、
アクションの前記数を判定する前記ステップは、
前記アクティビティトラッカーが、第1のタイムフレームの間に生じたアクションの第1の数を判定するステップと、
前記アクティビティトラッカーが、アクションの前記第1の数がしきい値を超えたことに応じて、前記第1のタイムフレームの第1の持続時間を総開発者時間に加算して前記総開発者時間の現在の値を与えるステップと、
前記アクティビティトラッカーが、第2のタイムフレームの間に生じたアクションの第2の数を判定するステップと、
前記アクティビティトラッカーが、アクションの前記第2の数が前記しきい値を超えなかったことに応じて、前記第2のタイムフレームの第2の持続時間を前記総開発者時間の前記現在の値に加算しないことによって前記総開発者時間の前記現在の値を維持するステップと
を含
む、請求項1に記載の方法。
【請求項3】
前記ゲームの前記品質を判定する前記ステップは、
前記エージェントコンピュータが、前記総開発者時間の前記現在の値が他のゲームのそれぞれの開発者時間の対応する値よりも大きいことに応じて、前記ゲームを前記他のゲームに対してより高くランキングを定めるステップを含む、請求項2に記載の方法。
【請求項4】
前記ゲームの前記品質を判定する前記ステップは、
前記エージェントコンピュータが、前記総開発者時間の前記現在の値が他のゲームのそれぞれの開発者時間の対応する値よりも小さいことに応じて、前記ゲームを前記他のゲームに対してより低くランキングを定めるステップを含む、請求項2に記載の方法。
【請求項5】
前記ゲームの前記品質を判定するステップは、
前記エージェントコンピュータが、他のゲームのそれぞれの開発者時間の現在の開発者時間の比較に基づいて前記ゲームの前記他のゲームに対するランキングを定めるステップを含み、
前記方法は、
前記エージェントコンピュータが、ゲームについてのクエリを受信するステップと、
前記エージェントコンピュータが、前記クエリと一致するゲームのセットを判定するステップと、
前記エージェントコンピュータが、前記判定されたゲームのセットであるヒットリストにおいて前記ゲームを提示するステップと
を含み、
前記ヒットリスト上の前記ゲームの位置は、前記他のゲームのそれぞれのランキングに対する前記ゲームの前記ランキングに基づく、請求項2に記載の方法。
【請求項6】
前記ゲームの前記品質を判定する前記ステップは、
前記エージェントコンピュータが、前記総開発者時間の前記現在の値が総開発者時間しきい値よりも小さいことに応じて、前記ゲームを潜在的な悪意のあるゲームとして特定するステップを含む、請求項2に記載の方法。
【請求項7】
前記ゲームを前記潜在的な悪意のあるゲームとして特定する前記ステップは、
前記エージェントコンピュータが、前記ゲームのタイトルまたは前記ゲーム内において、詐欺または不適切なコンテンツを示す少なくとも1つのワードを特定するステップ、
前記エージェントコンピュータが、前記ゲーム開発ツールのユーザを開発者履歴が短いユーザと特定するステップ、
前記エージェントコンピュータが、前記ユーザによって開発された他のゲームのうちで、現在の開発者時間が前記総開発者時間しきい値よりも短い少なくとも1つのゲームを特定するステップ、または
前記エージェントコンピュータが、前記ユーザが単一の期間内に複数のゲームを開発したと判定するステップであって、各ゲームの現在の開発者時間が前記総開発者時間しきい値よりも短い、ステップのうちの少なくとも1つをさらに含む、請求項6に記載の方法。
【請求項8】
前記少なくとも1つのタイムフレームは、持続時間が30分である、請求項1に記載の方法。
【請求項9】
コンピュータ可読命令が記憶された非一時的コンピュータ可読媒体であって、前記命令が、プロセッサによって実行されることに応じて、
ゲーム開発ツールを使用して実行されたアクションの数を判定することであって、前記数のアクションが少なくとも1つのタイムフレームの間に実行され、前記アクションが、前記ゲーム開発ツールを使用して設計される特定のゲームに対応
し、前記少なくとも1つのタイムフレームの間に実行された前記アクションの数がしきい値を超えたことに応じて、前記少なくとも1つのタイムフレームの持続時間が前記特定のゲームの総開発者時間に加算される、判定することと、
前記少なくとも1つのタイムフレームの間に行われるアクションの前記数を表すコンテンツを有する信号を生成すること
であって、アクションの前記数を表す前記コンテンツを有する前記信号を生成することは、前記信号において前記総開発者時間の現在の値を与えることを含む、ことと、
エージェントコンピュータが前記生成された信号の前記コンテンツから前記ゲームの品質を判定するために、前記信号を
前記エージェントコンピュータに送
ることと
を含む動作を前記プロセッサに実行させるかまたは前記動作の実行を前記プロセッサに制御させる非一時的コンピュータ可読媒体。
【請求項10】
前記少なくとも1つのタイムフレームは、複数のタイムフレームを含み、
アクションの前記数を判定することは、
第1のタイムフレームの間に生じたアクションの第1の数を判定することと、
アクションの前記第1の数がしきい値を超えたことに応じて、前記第1のタイムフレームの第1の持続時間を総開発者時間に加算して前記総開発者時間の現在の値を与えることと、
第2のタイムフレームの間に生じたアクションの第2の数を判定することと、
アクションの前記第2の数が前記しきい値を超えなかったことに応じて、前記第2のタイムフレームの第2の持続時間を前記総開発者時間の前記現在の値に加算しないことによって前記総開発者時間の前記現在の値を維持することと
を含
む、請求項9に記載の非一時的コンピュータ可読媒体。
【請求項11】
前記ゲームの前記品質の前記判定は、前記総開発者時間の前記現在の値が他のゲームのそれぞれの開発者時間の対応する値よりも大きいことに応じて、前記ゲームを他のゲームに対してより高くランキングを定めることを含む、請求項10に記載の非一時的コンピュータ可読媒体。
【請求項12】
前記ゲームの前記品質の前記判定は、前記総開発者時間の前記現在の値が他のゲームのそれぞれの開発者時間の対応する値よりも小さいことに応じて、前記ゲームを前記他のゲームに対してより低くランキングを定めることを含む、請求項10に記載の非一時的コンピュータ可読媒体。
【請求項13】
前記ゲームの前記品質の前記判定は、他のゲームのそれぞれの開発者時間の前記現在の開発者時間の比較に基づいて前記ゲームの前記他のゲームに対するランキングを定めることを含み、
前記動作は、
ゲームについてのクエリを特定することと、
前記クエリと一致するゲームのセットを判定することと、
前記判定されたゲームのセットであるヒットリストにおいて前記ゲームを提示することと
を含み、
前記ヒットリスト上の前記ゲームの位置は、前記他のゲームのそれぞれのランキングに対する前記ゲームの前記ランキングに基づく、請求項10に記載の非一時的コンピュータ可読媒体。
【請求項14】
前記ゲームの前記品質の前記判定は、前記総開発者時間の前記現在の値が総開発者時間しきい値よりも小さいことに応じて、
前記ゲームのタイトルまたは前記ゲーム内において、詐欺または不適切なコンテンツを示す少なくとも1つのワードを特定すること、
前記ゲーム開発ツールのユーザを開発者履歴が短いユーザと特定すること、
前記ユーザによって開発された他のゲームのうちで、現在の開発者時間が前記総開発者時間しきい値よりも短い少なくとも1つの他のゲームを特定すること、または
前記ユーザが単一の期間内に複数のゲームを開発したと判定することであって、各ゲームの現在の開発者時間が前記総開発者時間しきい値よりも短い、判定することのうちの少なくとも1つにさらに起因して、前記ゲームを潜在的な悪意のあるゲームとして特定すること
を含む、請求項10に記載の非一時的コンピュータ可読媒体。
【請求項15】
ゲーム開発ツールおよび前記ゲーム開発ツールに関連するコンピュータプログラムのためにコンピュータ実行可能命令が記憶された非一時的コンピュータ可読媒体と、
前記コンピュータ可読媒体に結合され、前記ゲーム開発ツール用のユーザインターフェースをレンダリングするための命令を実行し、
前記ゲーム開発ツールを使用して実行されるアクションの数を判定することであって、前記数のアクションが少なくとも1つのタイムフレームの間に実行され、前記アクションが、前記ゲーム開発ツールを使用して設計される特定のゲームに対応
し、前記少なくとも1つのタイムフレームの間に実行された前記アクションの数がしきい値を超えたことに応じて、前記少なくとも1つのタイムフレームの持続時間が前記特定のゲームの総開発者時間に加算される、判定することと、
前記少なくとも1つのタイムフレームの間に行われるアクションの前記数を表すコンテンツを有する信号を生成すること
であって、アクションの前記数を表す前記コンテンツを有する前記信号を生成することは、前記信号において前記総開発者時間の現在の値を与えることを含む、ことと、
エージェントコンピュータが前記生成された信号の前記コンテンツから前記ゲームの品質を判定するために、前記信号を
前記エージェントコンピュータに送
ることと
を含む動作を実行するかまたはこれらの動作の実行を制御するように動作可能なプロセッサとを備えるシステム。
【請求項16】
前記コンピュータプログラムは、前記ゲーム開発ツールのユーザがアクセスできないバックグラウンドプロセスとして実行される、請求項15に記載のシステム。
【請求項17】
前記少なくとも1つのタイムフレームは、複数のタイムフレームを含み、
アクションの前記数を判定する前記動作は、
第1のタイムフレームの間に生じたアクションの第1の数を判定する動作と、
アクションの前記第1の数がしきい値を超えたことに応じて、前記第1のタイムフレームの第1の持続時間を総開発者時間に加算して前記総開発者時間の現在の値を与える動作と、
第2のタイムフレームの間に生じたアクションの第2の数を判定する動作と、
アクションの前記第2の数が前記しきい値を超えなかったことに応じて、前記第2のタイムフレームの第2の持続時間を前記総開発者時間の前記現在の値に加算しないことによって前記総開発者時間の前記現在の値を維持する動作と
を含
む、請求項15に記載のシステム。
【請求項18】
前記ゲームの前記品質を判定するために、前記エージェントコンピュータは、
前記総開発者時間の前記現在の値が他のゲームのそれぞれの開発者時間の対応する値よりも大きいことに応じて、前記ゲームを前記他のゲームに対してより高くランキングを定め、
前記総開発者時間の前記現在の値が他のゲームのそれぞれの開発者時間の対応する値よりも小さいことに応じて、前記ゲームを前記他のゲームに対してより低くランキングを定めするように動作可能である、請求項17に記載のシステム。
【請求項19】
前記ゲームの前記品質を判定するために、前記エージェントコンピュータは、他のゲームのそれぞれの開発者時間の前記現在の開発者時間の比較に基づいて前記ゲームの前記他のゲームに対するランキングを定めるように動作可能であり、
前記ユーザインターフェースは、ゲームについてのクエリに応じて生成されたヒットリストにおいて前記ゲームを提示するように動作可能であり、
前記ヒットリスト上の前記ゲームの位置は、前記他のゲームのそれぞれのランキングに対する前記ゲームの前記
ランキングに基づく、請求項17に記載のシステム。
【請求項20】
前記ゲームの前記品質を判定するために、前記エージェントコンピュータは、前記総開発者時間の前記現在の値が総開発者時間しきい値よりも小さいことに応じて、
前記ゲームのタイトルまたは前記ゲーム内において、詐欺または不適切なコンテンツを示す少なくとも1つのワードを特定すること、
前記ゲーム開発ツールのユーザを開発者履歴が短いユーザと特定すること、
前記ユーザによって開発された他のゲームのうちで、現在の開発者時間が前記総開発者時間しきい値よりも短い少なくとも1つのゲームを特定すること、または
前記ユーザが単一の期間内に複数のゲームを開発したと判定することであって、各ゲームの現在の開発者時間が前記総開発者時間しきい値よりも短い、判定することのうちの少なくとも1つにさらに起因して、前記ゲームを潜在的な悪意のあるゲームとして特定するように動作可能である、請求項17に記載のシステム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、コンピュータベースのゲームに関し、より詳細には、限定はしないが、電子ゲームの品質を判定するための方法、システム、およびコンピュータ可読媒体に関する。
【背景技術】
【0002】
オンライン電子ゲームは、一般にインターネットなどのコンピュータネットワークを介して利用可能になりプレイされるビデオゲームである。ユーザ(たとえば、プレイヤー)は、パーソナルコンピュータ、モバイル電話、ラップトップなどの現代のコンピューティングデバイスを使用してオンライン電子ゲームを1人でプレイすることもまたは複数の他のプレイヤーと一緒にプレイすることもできる。
【0003】
一般的なオンラインゲーミングプラットフォームは、プレイヤーがそのアバターを3次元(3D)世界内で移動させるのを可能にする。ユーザは、そのクライアントデバイス上に設けられたマウス、キーボード、または他の入力機構を使用して、ユーザのアバターが3D世界における建物、野原、森、公園、山、およびその他の環境において走ったり、歩いたり、登ったり、飛んだりすることなどを制御することができ、木、壁、柱、雲、およびその他の構造/物体などの様々な要素は、電子ゲームによって提示される3D世界内の視覚的グラフィカル表現としてレンダリングされる。
【0004】
電子ゲーム用の様々なグラフィカルオブジェクト、ゲームプレイの規則、オーディオ、アニメーションなどを設計しアセンブルする人または他の実体は、「ゲーム開発者」と呼ばれることが多い。専門的なゲーム開発者は、主要な業務がオンラインゲームの製造である会社によって雇用されることがあり、その場合、このようなゲームは、オンラインゲーミングサービスプロバイダ、ダウンロード、または何らかの他のソースを介してプレイヤーまたはその他の消費者に提供されることがある。状況によっては、ゲーム開発者は、独立したゲーム開発者または電子ゲームの開発に並外れた関心を抱く場合があるその他の人(アマチュアのゲーム開発者など)など、必ずしも電子ゲーミング産業に携わる会社の指示/雇用の下で働くとは限らない1人の個人である場合がある。実際、多くのオンラインゲーミングプラットフォームは、プレイヤー自身が自分の電子ゲームを作成するのを可能にし、このような電子ゲームは、他のプレイヤーがアクセス(たとえば、ダウンロード)してプレイすることができるようにオンラインゲーミングプラットフォームまたはその他のオンラインソースに公開/アップロードされる場合がある。
【0005】
そのようなそれぞれに異なる種類のゲーム開発者および電子ゲームを消費者が利用できるようにするその他の人の技能レベルおよび動機、ならびにその他の要因によって、電子ゲームの品質にはばらつきがある。電子ゲームの品質は、比較的高い品質(たとえば、豊富なグラフィックス、複雑なゲームプレイ規則など)から比較的低い品質(たとえば、ぞんざいなグラフィックス、初歩的なゲームプレイ規則、不完全な/無効な機能など)まで広範囲にわたる場合がある。プレイヤーは、高品質の電子ゲームを楽しむことが多いが、どの特定の電子ゲームがより品質が高く、どの特定の電子ゲームがより品質が低いかを、まず実際に電子ゲーム自体をプレイしてみることなしに特定することは困難であることが多い。
【発明の概要】
【課題を解決するための手段】
【0006】
一態様によれば、方法は、ゲーム開発ツールを使用して実行されるアクションの数を判定するステップであって、この数のアクションが少なくとも1つのタイムフレームの間に実行され、アクションが、ゲーム開発ツールを使用して設計される特定のゲームに対応する、ステップと、少なくとも1つのタイムフレームの間に行われたアクションの数を表すコンテンツを有する信号を生成するステップと、信号をエージェントコンピュータに送って、信号のコンテンツからゲームの品質を判定するのを可能にするステップとを含む。
【0007】
別の態様によれば、非一時的コンピュータ可読媒体は、コンピュータ可読命令が記憶されており、命令が、プロセッサによって実行されることに応じて、ゲーム開発ツールを使用して実行されるアクションの数を判定することであって、この数のアクションが少なくとも1つのタイムフレームの間に実行され、アクションが、ゲーム開発ツールを使用して設計される特定のゲームに対応する、判定することと、少なくとも1つのタイムフレームの間に行われたアクションの数を表すコンテンツを有する信号を生成することと、信号をエージェントコンピュータに送って、生成された信号のコンテンツからゲームの品質を判定するのを可能にすることとを含む動作をプロセッサに実行させるかまたはこれらの動作の実行をプロセッサに制御させる。
【0008】
さらに別の態様によれば、システムは、ゲーム開発ツールおよびゲーム開発ツールに関連するコンピュータプログラムのためにコンピュータ実行可能命令が記憶された非一時的コンピュータ可読媒体と、コンピュータ可読媒体に結合され、ゲーム開発ツール用のユーザインターフェースをレンダリングするための命令を実行し、ゲーム開発ツールを使用して実行されるアクションの数を判定することであって、この数のアクションが少なくとも1つのタイムフレームの間に実行され、アクションが、ゲーム開発ツールを使用して設計される特定のゲームに対応する、判断することと、少なくとも1つのタイムフレームの間に行われたアクションの数を表すコンテンツを有する信号を生成することと、信号をエージェントコンピュータに送って、生成された信号のコンテンツからゲームの品質を判定するのを可能にすることとを含む動作を実行するかまたはこれらの動作の実行を制御するように動作可能なプロセッサとを含む。
【図面の簡単な説明】
【0009】
【
図1】いくつかの実装形態によるゲーム開発ツールの一例を示す図である。
【
図2】いくつかの実装形態による、開発者時間を使用して電子ゲームの品質を判定することができるシステムの例示的な要素を示すブロック図である。
【
図3】いくつかの実装形態による、電子ゲーム用の開発者時間を判定するために使用できる
図1のゲーム開発ツールの操作に関連する例示的なアクションおよびタイムフレームを示す図である。
【
図4】いくつかの実装形態による、
図1のゲーム開発ツールを使用する開発者時間に少なくとも部分的に基づく場合がある、電子ゲームの品質に関する例示的な情報を示す図である。
【
図5】いくつかの実装形態による、電子ゲームの品質を判定するための例示的な方法を示すフローチャートである。
【
図6】いくつかの実装形態による、ゲーム開発者時間を使用して電子ゲームの品質を判定することができるオンラインゲーム用の例示的なシステムアーキテクチャの図である。
【
図7】いくつかの実装形態による例示的なコンピューティングデバイスを示すブロック図である。
【発明を実施するための形態】
【0010】
以下の詳細な説明では、その一部を形成する添付の図面を参照する。図面では、同様の記号は一般に、文脈において別段の指示がない限り同様の構成要素を識別する。詳細な説明、図面、および特許請求の範囲において説明する例示的な実施形態は、限定を意図したものではない。本明細書で提示される主題の趣旨または範囲から逸脱せずに、他の実施形態が利用されてもよく、他の変更が加えられてもよい。本明細書で概略的に説明され、図で示された本開示の態様は、様々な異なる構成として配置、置換、組合せ、分離、および設計が可能である。これらの構成はすべて、本明細書において検討される。
【0011】
本明細書における「いくつかの実施形態」、「一実施形態」、「例示的な実施形態」などの参照は、説明する実施形態が特定の機能、構造、または特徴を含むことがあるが、あらゆる実施形態が特定の機能、構造、または特徴を含むとは限らないことを示す。さらに、そのような句が必ずしも同じ実施形態を指すとは限らない。さらに、特定の機能、構造、または特徴について一実施形態に関連して説明するとき、そのような機能、構造、または特徴は、明示的に記載されているか否かにかかわらず他の実施形態に関連して実施されてもよい。
【0012】
本開示は、ゲーム開発者が電子ゲームを設計するために費やす時間に少なくとも部分的に基づいて電子ゲームの品質を判定するための技法を提供することによって電子ゲームにおける上述の欠点に対処する。ゲームの設計時にゲーム開発ツールを動作する間、ゲーム開発ツールを使用して行われたアクションの数が複数のタイムフレームについてカウントされる。任意の特定のタイムフレームについてのアクションの数がアクションのしきい値数を満たす場合、タイムフレームの持続時間が電子ゲームについての総開発者時間の値に加算される。アクションの数がしきい値を満たさない他のフレームについては、タイムフレーム持続時間は総開発者時間の値に加算されない。開発者時間について比較的高い値(より時間が長い)を有する電子ゲームはより品質が高いと判定され、一方、開発者時間について比較的低い値(より時間が短い)を有する電子ゲームはより品質が低いと判定される。したがって、電子ゲームの品質は、実際に電子ゲームをプレイする必要なしに推定されてもよい。
【0013】
図1は、いくつかの実装形態によるゲーム開発ツール100の例を示す。ゲーム開発ツール100は、ユーザインターフェース102を有してもよい。ゲーム開発ツール100の一例は、Roblox(商標) Corporationから市販されているRoblox(商標) Studioである。他の電子ゲーム会社によって提供されている他のゲーム開発ツールが様々な実施形態において使用されてもよい。ゲーム開発ツール100は、クライアントベースツール(たとえば、ダウンロードされクライアントデバイス上にインストールされ、クライアントデバイスから動作される)、サーバベースツール(たとえば、クライアントデバイスから離れたサーバにインストールされて実行され、クライアントデバイスによってアクセスされ操作される)、またはクライアントベース要素とサーバベース要素の両方の組合せであってもよい。
【0014】
ゲーム開発ツール100は、ゲーム開発者または公開され電子ゲーム消費者によってプレイされてもよい電子ゲームを作成しようとする任意の他の人によって動作されてもよい。ユーザインターフェース102は、ゲーム開発者が、マウス、キーボード、ユーザインターフェース102と通信するように構成された他の入力デバイスを介して入力、強調、選択、ドラッグアンドドロップ、クリックなどのアクションを使用してゲーム開発ツール100とインタラクトするのを可能にするようにクライアントデバイスの表示画面上にレンダリングされてもよい。
【0015】
ユーザインターフェース102は、メニューバー104と、ツールバー106と、ワークスペースペイン108と、複数の二次ペイン(ツールボックスペイン110など)を含んでもよい。特定の実装形態に応じて、ユーザインターフェース102は、本明細書で
図1に関して図示し説明するもの以外のゲーム開発ツール100の代替要素または追加の要素、構成、動作特徴などを含んでもよい。したがって、
図1に示す例示的なゲーム開発ツール100およびユーザインターフェース102の様々な要素および動作が本明細書における例示および説明を目的としたものであり、その変形/修正が可能であることを理解されたい。
【0016】
説明の都合上、ゲーム開発ツール100について、本明細書では"Infinite Runner"ゲームを作成する文脈で説明する。"Infinite Runner"ゲームは、たとえば、プレイヤーの目的が障害物から身をかわし、最後まで生き延びることであるゲームである。ゲーム開発者は、"Infinite Runner"ゲーム用の様々なグラフィカル要素、および危険物、地形、建物、オーディオエフェクト、タイマー、アバターなどのその他のゲーム要素を設計/作成することができる。"Infinite Runner"は、一例であり、他の電子ゲームの他の種類、テーマ、テンプレートなどは、競争、戦闘、飛行、城、パズル、都市、村、外部空間などを含んでもよい。
【0017】
メニューバー104は、ゲーム開発者が様々なツールにアクセスし使用して電子ゲームを構築する(カスタム化を含む)のを可能にする、
図1に示すHOME選択肢およびMODELS選択肢などの複数の選択可能なオプションを含むことができる。メニューバー104についての
図1に示す選択可能なオプションの他の例は、ゲーム開発者が電子ゲームを試験するのを可能にするTEST選択肢、ゲーム開発者がワークスペースペイン108および二次ペインのコンテンツおよび配置を含むユーザインターフェース102の表示レイアウトおよびコンテンツを制御するのを可能にするVIEW選択肢、ゲーム開発者が電子ゲームのプラグインをインストールするのを可能にするPLUGINS選択肢などを含んでもよい。
【0018】
ツールバー106は、ゲーム開発者が特定のツールにアクセスして電子ゲームを構築するために(マウスによってクリックすることなどによって)選択することのできる様々なボタンおよびプルダウンメニューを提供してもよい。
図1のツールバー106の様々な選択可能なボタンのいくつかの例には、ワークスペースペイン108内で特定のグラフィカルオブジェクトを移動させるためのMOVEボタン、グラフィカルオブジェクトのサイズを変更するためのSCALEボタン、グラフィカルオブジェクトの向きを回転させるためのROTATEボタン、グラフィカルオブジェクトの組成(たとえば、木材、金属など)を選択するためのMATERIALボタン、グラフィカルオブジェクトの色を選択するためのCOLORボタン、草、岩石、低木地帯などの地形効果を生成するためのTERRAINボタン、ワークスペースペイン108にドラッグしドロップすることができるテンプレートオブジェクト(たとえば、剣、塔、木、キャラクター、形状、画像、オーディオクリップ、およびその他のグラフィカル/オーディオ要素)をツールボックスペイン110に存在させるためのTOOLBOXボタン、電子ゲームを再生し停止させるためのPLAYボタン、どのプレイヤーがゲームをプレイするか(たとえば、友人)、プレイヤーの歩行速度、およびその他のオプションなど、ゲーム用の構成設定を指定するためのGAME SETTINGSボタンを含めることができる。
【0019】
上述のように、ツールボックスペイン110は、ユーザインターフェース102における複数の二次ペインのうちの1つとすることができる。別の二次ペイン112は、電子ゲームをプレイヤーおよび他のゲーム消費者が表示してプレイすることができるようにゲームサーバにアップロードすることなどによって電子ゲームを公開するための選択可能なコマンドを含むことができる。さらに、1つまたは複数の二次ペイン114は、ゲーム開発者が表示しならびに/または編集する特性情報、スクリプト/コーディングを入力するためのコマンドバー、フィールド、メタデータおよび設定などを提示してもよい。ゲーム開発者がどの情報、ツール、コマンドなどを表示または使用することを望むかに応じて、ゲーム開発ツール100によってユーザインターフェース102を介して任意の数の二次ペインが提示されてもよい。
【0020】
ワークスペースペイン108は、ゲーム開発者が構築中の電子ゲームのビューを表す。この"Infinite Runner"の例では、ワークスペースペイン108は、土地および水を有する3次元(3D)地形をレンダリングしており、ゲーム開発者は、上述の例示的なツールを使用して3D地形内に様々な要素を挿入してカスタマイズすることができる。たとえば、電子ゲームを構築するプロセスの間、ゲーム開発者は、塔のテンプレートをツールボックスペイン110からドラッグし、ワークスペースペイン108内にレンダリングされた3D地形内の所望の位置にドロップすることができ、次いでサイズ、向き、マテリアル、色、表面テクスチャ、および塔に関連するその他のオーディオビジュアルエフェクトを操作またはその他の方法で選択することができる。
【0021】
ドラッグアンドドロップ、ボタンのクリック、プルダウンメニューからの選択、サイズ変更、および電子ゲームの作成に関連する様々な他のアクションなど、ユーザインターフェース102を介したゲーム開発ツール100とのゲーム開発者のインタラクションは、以下でより詳しく説明するように、電子ゲームの品質を判定するためにタイムフレームの間追跡されることがあるアクションの例である。
【0022】
図2は、いくつかの実装形態による、開発者時間を使用して電子ゲームの品質を判定することができるシステム200の例示的な要素を示すブロック図である。具体的には、システム200は、(
図6に関してより詳細に図示し説明する)システムアーキテクチャ全体のサブシステムであってもよく、
図2は、電子ゲームの品質の判定に関連して関与することがあるシステム200の一次要素を示す。
【0023】
システム200の様々な要素は、
図2では例示および説明を目的として個別/別個の要素として示されている。いくつかの実施形態によれば、これらの要素のうちのいくつかを単一の要素またはデバイスとして組み合わせることが可能であり、一方、他の実施形態では、これらの要素をネットワーク全体にわたって分散させてもよい。たとえば、クライアント-サーバ実装形態では、ゲーム開発ツール(
図1のゲーム開発ツール100など)の使用に関連する要素をゲーム開発者のクライアントデバイスに位置させて動作してもよく、一方、電子ゲームの品質の判定に関連する要素をクライアントデバイスから離れたサーバに位置させてもよい。別の例として、システム200の要素のすべてもしくは大部分をクライアントデバイスに位置させてもよく、またはシステム200のすべてもしくは大部分の要素をサーバに位置させてもよく、いずれの場合も、ゲーム開発者、システム管理者、またはその他の実体がそのアクセス権に基づいて適切なツール、機能、特徴などにアクセスすることができる。
【0024】
システム200は、電子ゲーム204を設計するためにゲーム開発者によって使用されることがあるゲーム開発ツール202を含む。ゲーム開発ツール202の一例には
図1のゲーム開発ツール100がある。
【0025】
アクティビティトラッカー206は、ゲーム開発ツール202に動作可能に結合されてもよくまたは他の方法でゲーム開発ツール202と通信可能に結合されてもよい。いくつかの実施形態によれば、アクティビティトラッカー206は、非一時的コンピュータ可読媒体上に記憶され、1つまたは複数のプロセッサによって実行することができるコンピュータプログラムまたはその他のコンピュータ可読命令の形態であってもよい。アクティビティトラッカー206は、ゲーム開発ツール202を使用する間にゲーム開発者によって時間を掛けて実行されるアクションを追跡するように動作可能であってもよい。
【0026】
アクティビティトラッカー206は、いくつかの実施形態ではゲーム開発ツール202とのインターフェースをとる外部プログラムであってもよく、またはいくつかの実施形態では、ゲーム開発ツール202のプログラミングに組み込まれてもよい。アクティビティトラッカー206は、ゲーム開発ツール202が操作されている間ゲーム開発ツールを使用するゲーム開発者がアクティビティトラッカーまたは関連するデータにアクセスすることができないようにデーモン、バックグラウンドプロセス、またはその他の隠れたアプリケーションとして動作してもよい。アクティビティトラッカー206は、ゲーム開発者がアクティビティトラッカー206のプログラミングを無効化または修正することができないようにゲーム開発者にアクセス不能である。
【0027】
いくつかの実施形態では、ゲーム開発者またはゲーム開発ツールを使用するその他の人には、ゲーム開発ツール202がアクティビティトラッカー206を含むかまたはアクティビティトラッカー206と連動しているという情報を与えられる。ゲーム開発者には、アクティビティトラッカー206の使用を許可するかまたは許可しないオプション、またはアクティビティトラッカー206がアクセスできるアクティビティ情報の種類を選択するオプションが提示されてもよい。ゲーム開発者がアクティビティトラッカー206を許可しないことを選択した場合、ゲーム開発ツール202内の開発者アクションは追跡されず、開発者時間に基づいてゲームランキングを算出するための本明細書で説明する技法は利用されない。ゲーム開発者には、ゲーム開発ツール内で実行されるアクションに関係するデータを記憶または使用してもよいかどうか、およびどのように記憶または使用し得るかを選択するさらなるオプションが提示されてもよい。たとえば、ゲーム開発者は、アクティビティデータの一時的な記憶(たとえば、1つまたは複数のタイムフレームについて)を許可することを選択し、アクティビティデータの永久的な記憶を許可しないことを選択してもよい。
【0028】
さらに
図3に関して説明するように、アクティビティトラッカー206は、開発者によって許可されると、ゲーム開発者がゲーム開発ツール202を使用する間に行われたアクションを特定し、少なくとも1つのタイムフレームにわたって行われたこれらのアクションの数をカウントし、タイムフレームの間に行われたアクションの数を表すコンテンツを有する信号207を生成することができる。信号207におけるコンテンツは、アクティビティトラッカー206によって得られるデータ(たとえば、各タイムフレームにおけるアクションの数)の形態であってもよく、またはアクティビティトラッカー206によって収集されたデータだけでなく収集されたデータに基づいてアクティビティトラッカー206によって実行される分析もしくは計算も含むレポートなどの比較的構造化された形態を有してもよい。
【0029】
いくつかの実施形態では、アクティビティトラッカー206は信号207を1つまたは複数の管理サーバ208に送ることができる。管理サーバ208は、たとえば、オンラインゲーミングサービスプロバイダによって所有され動作されてもよく、システム管理者または電子ゲームの品質を評価する他のエージェントのエージェントコンピュータの形態をとるかまたはエージェントコンピュータと通信することができる。アクティビティトラッカー206が管理サーバ208に少なくとも部分的に存在するいくつかの実施形態では、信号207をアクティビティトラッカー206からプロセッサまたは管理サーバ208の他の要素に送ることができる。
【0030】
いくつかの実施形態では、管理サーバ208は、アクティビティトラッカー206から信号207を受信し、信号207に含まれるコンテンツを処理して電子ゲーム204の品質を判定するように動作可能である。たとえば、管理サーバ208は、ある期間中に開発者によって行われたアクションの数を判定し、アクションの数がしきい値を超える場合、ゲーム204についての総開発者時間にその期間の持続時間を加算するように動作可能であってもよい。
【0031】
管理サーバ208は次いで、電子ゲーム204についての総開発者時間に基づいて、総開発者時間が長くなるにつれて向上する品質などのゲーム204についての品質を算出することができる。この関係の論理的根拠は、総開発者時間の値が比較的大きいときには電子ゲーム204の品質がより高くなると予期できることである。その理由は、開発者時間が長いことは、ゲーム開発者が電子ゲーム204の細部、複雑さ、オーディオビジュアルエフェクトなどを向上させるためにより手間をかけたことを示すからである。これに対して、ゲーム開発者が電子ゲーム204を設計する際に細部にそれほどこだわっていないときなど、総開発者時間の値が比較的小さくなるとゲーム204の品質は低下すると予期することができる。
【0032】
管理サーバ208は、判定された品質に基づいて、電子ゲーム204についてのランキング210、警告212、または何らかの他の出力214を出力することができる。電子ゲーム204についてのランキング210は、同じく対応する総開発者時間に基づいて判定された他の電子ゲームの判定された品質に対して、高ランキング、低ランキング、または高ランキングと低ランキングとの間のランキングとすることができる。いくつかの実施形態では、ランキング210は数値ランキングであってもよい。ランキング210は、プレイヤーがプレイする電子ゲームを検索するときにクエリの結果などのヒットリストにおいて表されてもよい。
【0033】
総開発者時間の値が小さい場合、電子ゲーム204の品質評価が低くなるが、場合によっては、電子ゲーム204に関連する何らかの悪意がある態様を示す。すなわち、電子ゲーム204は、何らかの点で悪意があることに起因して品質が低くなることがある。そのような状況では、管理サーバ208は、電子ゲーム204についての低品質評価をストレージデバイス216に含まれるデータと相関付けて警告212を生成してもよい。
【0034】
ストレージデバイス216は、ゲーム開発者のプロファイル情報および統計情報、電子ゲーム204を走査するためのワードフィルタ用のキーワード、および管理サーバ208が警告212を生成するかどうかを判定するために電子ゲーム204についての総開発者時間に関連して使用することがあるその他の情報を記憶してもよい。次いで、生成された警告212は、システム管理者またはその他のエージェントに送られ、さらに電子ゲーム204が評価され、電子ゲーム204が悪意のあるゲームと判定された場合に電子ゲーム204へのアクセスを無効化すること、電子ゲーム204を削除または修正すること、電子ゲーム204が悪意のあるゲームと判定された場合にゲーム開発者のアクセス特権を削除すること、電子ゲーム204には悪意がないと判定され電子ゲームの公開を承認することなどの(必要に応じて)是正措置が講じられてもよい。いくつかの実施形態では、評価および是正措置が自動化されてもよい。
【0035】
様々な動作を自動的に実行することができる。たとえば、管理サーバ208によって/のためにある規則が定義されてもよい。そのような規則は、電子ゲームの品質/悪意の有無に関する検出漏れが確実にかなり少なくなるほど厳格である。たとえば、開発者がx個よりも多くの電子ゲームを公開しており、過去に電子ゲームのうちのy%が悪意のあるゲームと分類されている場合、規則が定義されてもよい。yがあるしきい値を超えており、特定の電子ゲームについての開発時間からのスコアが値_スコア_よりも低い場合、この電子ゲームは自動的に対処されるか、または場合によってはさらに調査を行うようにフラグが立てられてもよい。
【0036】
一例として、電子ゲーム204は、そのプレイヤーの個人情報および/または財務情報を不当に取得するためにゲーム開発者によって作成された場合など、詐欺ゲームであることに起因して悪意のあるゲームと判定されることがある。そのような種類の悪意のあるゲームは一般に、それほど開発者時間を掛けていない。その理由は、電子ゲーム204のグラフィックス、コンテンツ、ゲームプレイの複雑さ、およびその他の有益なエンハンスを向上させることではなく、ゲーム開発者がプレイヤーの個人/財務情報を得ることを重視しているからである。さらに、悪意のあるゲーム開発者は、悪意のあるゲームは、限られた数のプレイヤーがその犠牲になった後に排除および/または無効化される可能性が高いと考えており、したがって、比較的寿命が短くなる場合がある単一の電子ゲームに多大な開発者時間を掛ける気はあまりない。悪意のあるゲーム開発者は、より高品質の少数の電子ゲームの作成により長い開発者時間を掛けるのではなく、より短い開発者時間で低品質の多数の電子ゲームを作成した方が効率的で効果的であると認識している。
【0037】
悪意のあるゲームの別の例として、オンラインゲーミングサービスプロバイダのサーバをクラッシュさせるかまたは他の方法でサーバの性能に悪影響を与えようとする電子ゲームがある。たとえば、悪意のあるゲーム開発者は、1日当たり数十個または場合によっては数百個の電子ゲームをサーバにアップロードしようとすることがある。大量のこれらの電子ゲームはオンラインゲーミングサービスプロバイダのサーバのサーバ容量を奪うかまたはサーバの速度を低下させることがある。さらに、これらの悪意のあるゲームは、場合によっては、正当なプレイヤーによる検索クエリに応答して提供されるヒットリストに出現して群がることがあり、それによって、このようなプレイヤーがプレイすることに関心を抱く場合がある電子ゲームを特定するのがより困難になる。プレイヤーの個人/財務情報を不当に得ようとする上述の悪意のあるゲームと同様に、サーバの速度を低下させようとする悪意のあるゲームは一般に、開発者時間が短い(低品質)ことを特徴とする。
【0038】
悪意のあるゲームのさらに別の例として、オンラインゲーミングサービスプロバイダによって提供されるゲーミングサービスには不適切なコンテンツを有する電子ゲームがある。たとえば、オンラインゲーミングサービスプロバイダの一次製品が子供向けの電子ゲームである場合があり、悪意のあるゲーム開発者が、子供のゲームと見せかけるかまたは子供のゲームとして提供されるが、実際には成人向けのコンテンツを有する電子ゲームをアップロードしようとしている。上述の悪意のあるゲームの他の例と同様に、不適切なコンテンツを有するそのような電子ゲームは、開発者時間が比較的短いことを特徴とする場合がある。管理サーバ208がストレージデバイス216に記憶されたデータに関連して比較的短い開発者時間を使用して警告212を生成することについて、
図3および
図4に関してさらに詳しく説明する。電子ゲームが不適切なコンテンツを有する場合に、電子ゲームがアクセスされないようにブロックすること、電子ゲームを削除すること、電子ゲームの一部を編集することなどの是正措置が講じられてもよい。
【0039】
本明細書で説明する実施形態は、総開発者時間の値を使用して電子ゲーム204の品質を判定するが、低品質判定が、電子ゲーム204には潜在的に悪意のある態様が伴うことを意味するとは限らないことを理解されたい。たとえば、ゲーム開発者は、他のプレイヤーが使用して楽しむためのゲームを正当に設計しようとする場合があるが、非常に忙しくてゲーム開発ツールを使用するのに長時間を費やすことができない。別の例として、ゲーム開発者は、電子ゲーム作成の経験が比較的乏しい場合があるか、または電子ゲームの作成に長時間を費やすことに対してわずかな関心しか有さない場合がある。
【0040】
これらの状況およびその他の状況のすべてにおいて、電子ゲーム204は、関連する総開発者時間が比較的短い場合があり、したがって、比較的低品質の評価を受ける。より品質が低いという評価は、電子ゲーム204にはより高品質の電子ゲームの豊富なオーディオビジュアルディテイルおよびその他のエンハンスメントがない場合がある(したがって、ランキング210がより低くなる)という点では正確であるが、これらの正当であるがより品質の低い電子ゲームは、他の点では悪意はない。したがって、短い開発者時間(低品質評価)が警告212をトリガしない場合(たとえば、電子ゲーム204が悪意のあるゲームの特性を有さないと管理サーバ208によって判定された場合)、そのような電子ゲーム204は、ゲーム開発者によってさらに開発されるようにシステム200においてアクティブのままであることができるか、またはゲーム開発者が電子ゲーム204の開発にさらに手間をかけるのを諦めた場合に最終的に完全にランキング210の下位に完全に落とされる。
【0041】
別の状況では、正当な電子ゲーム204の短い開発者時間(低品質評価)が何らかの理由で実際に警告212をトリガした場合、システム管理者は、警告212および電子ゲーム204を検査することができ、電子ゲーム204が正当であると判定することができる。したがって、電子ゲーム204は、さらに開発されるように引き続き存在する許可を受けることができるか、またはゲーム開発者が電子ゲーム204の開発にさらに手間をかけるのを諦めた場合に最終的にランキング210の下位に落とされる場合がある。
【0042】
管理サーバ208からの他の出力214は、電子ゲーム204についての開発者時間に関する任意の他のデータの形態をとることができる。オンラインゲーミングサービスプロバイダのシステム管理者またはその他のエージェントは、このデータを性能監視、トラブルシューティング、統計編集、およびその他の目的に使用してもよい。説明を簡潔にするために、そのような他の出力214およびその使用について本明細書ではこれ以上詳しくは説明しない。
【0043】
図3は、いくつかの実装形態による、
図1のゲーム開発ツール100(および/または
図2のゲーム開発ツール202)の動作に関連し、電子ゲームについての開発者時間を判定するために使用できる例示的なアクションおよびタイムフレームを示す。
図3では、本明細書の説明の都合上、ゲーム開発者は"Infinite Runner"電子ゲーム("GAME A"という名称を有する)を設計する場合がある。
【0044】
ゲーム開発者がゲーム開発ツール100を使用して費やす時間の増分は、特定の持続時間のタイムフレームに関して定義されてもよい。
図3における各タイムフレーム300、302および304の例示的な持続時間は30分である。タイムフレームの持続時間は、システム管理者またはアクティビティトラッカー206の動作を制御するその他の実体(管理サーバ208など)によって任意の適切な値に設定することができ、ならびに/またはタイムフレームの持続時間は自動的に設定されてもよい。
【0045】
そのような実体(管理サーバ208など)は、アクティビティトラッカー206によってGAME Aについて算出される総開発者時間の値にタイムフレームの持続時間を加算するために、ゲーム開発者がそのタイムフレームの持続時間の間にゲーム開発ツールを用いて行う必要があるアクションのしきい値数を定義してもよい。
図3の例では、アクションのしきい値数は10個である。したがって、ゲーム開発者が特定のタイムフレームの間にゲーム開発ツール100を使用して10個以上のアクションを実行したことをアクティビティトラッカー206が検出した場合、アクティビティトラッカー206は、その特定のタイムフレームにおける30分をGAME Aについての開発者時間の累計に加算する。しかし、ゲーム開発者が特定のタイムフレームの間にゲーム開発ツール100を使用して10個未満のアクションを実行したことをアクティビティトラッカー206が検出した場合、アクティビティトラッカー206は、その特定のタイムフレームの持続時間をGAME Aについての開発者時間の累計に加算しない。
【0046】
特定のタイムフレームの開始位置は、アクティビティトラッカーが、ゲーム開発者がゲーム開発ツール100を使用して行った第1のアクションを検出し、次いでアクティビティトラッカー206が、第1のアクションが生じてから測定されたその特定のタイムフレームの30分の持続時間を設定したときと定義することができる。たとえば、
図3におけるタイムフレーム300では、タイムフレーム300の開始時間は、ゲーム開発者が「塔」のテンプレートをツールボックスペイン110からドラッグしてワークスペースペイン108内の所望の位置にドロップしたときの第1のアクションに相当する。その後、アクティビティトラッカー206は、その第1のアクションから30分測定し、その30分の間に実行された他のアクションの数をカウントする。これらの他のアクションには、
図3では、塔のサイズを変更すること、塔の向きを変更すること、塔の色を選択すること、塔のマテリアルを選択すること(たとえば、木、石、金属など)、塔の表面テクスチャを選択すること(たとえば、つるつる、ざらざらなど)、塔にビジュアルエフェクトを付加すること(たとえば、煙または炎)、塔の上にキャラクターをドラッグしドロップすること(たとえば、悪人)、オーディオクリップを付加すること(たとえば、悪人用のオーディオ)、塔のサイズを再び変更すること、塔の位置を変更することを含めてもよい。したがって、タイムフレーム300の30分の持続時間の間に生じたこれらのアクションの総数は、この例では11個であり、ドラッグアンドドロップアクションは、タイムフレーム300において生じた第1のアクションであり、位置を変更するアクションは、タイムフレーム300において生じた最後のアクションである。
【0047】
次のタイムフレーム302の開始時間は、前のタイムフレーム300の持続時間が満了した後、ゲーム開発者が第1のアクションを行ったときと定義することができる。タイムフレーム302における第1のアクションは、第1のタイムフレーム300が満了した直後に生じることができ(ゲーム開発者がGAME Aに対して連続的に作業している場合など)、またはゲーム開発者がGAME Aに対して間欠的に作業している場合などに、タイムフレーム300が満了してから数分後、数時間後、数日後などに生じることができる。
【0048】
図3の例では、タイムフレーム302は、ゲーム開発者が「剣」のテンプレートをツールボックスペイン110からドラッグしてワークスペースペイン108内の所望の位置にドロップしたことをアクティビティトラッカー206が検出したときに開始する。しかし、ゲーム開発者は、タイムフレーム302の間にゲーム開発ツール100を用いて他の多数のアクションを実行してはおらず、タイムフレーム302の30分の持続時間が満了する前には2つの他のアクション、すなわち、キャラクターをドラッグしてワークスペースペイン108上にドロップすること、オーディオクリップを付加することのみがアクティビティトラッカー206によって検出されており、タイムフレーム302の間に行われたアクションは合計で3つであり、しきい値の10個よりも少ない。
【0049】
次のタイムフレーム304では、アクティビティトラッカー206は、ゲーム開発者がゲーム開発ツール100を用いて10個のアクションを実行したことを検出し、この数は10個のアクションのしきい値と等しい(たとえば、10個のアクションのしきい値を満たす)。これらの10個のアクションには、「橋」のテンプレートをツールボックスペイン110からドラッグしてワークスペースペイン108にドロップすること、橋のサイズを変更すること、橋の向きを変更すること、橋の色を選択すること、橋のマテリアルを変更すること、橋の表面テクスチャを選択すること、橋にビジュアルエフェクトを付加すること、キャラクターをドラッグして橋の上にドロップすること、オーディオクリップを付加すること、および橋のサイズを再び変更することが含まれる。
【0050】
次いで、タイムフレーム304の後にさらなるアクションおよびタイムフレームが生じることができる。各タイムフレームが完了した後、アクティビティトラッカー206は、データ306を信号207に含めて管理サーバ208に送るように編集することができる。たとえば、
図3では、タイムフレーム300および304は、10個のアクションのしきい値を満たす数のアクション(それぞれ11個および10個)を包含していた。したがって、アクティビティトラッカー206は、GAME Aについての開発者時間の累計に60分(タイムフレーム300および304の各々から30分)を加算し、60分を信号207に含めて管理サーバ208に報告する。タイムフレーム302は、10個のアクションのしきい値未満の数のアクション(3個のアクション)を包含していたので、アクティビティトラッカー206は、タイムフレーム302の30分の持続時間をGAME Aについての開発者時間の累計に加算しない。
【0051】
いくつかの実施形態では、アクティビティトラッカー206は、総開発者時間の現在の値を更新するための計算を実行し、更新された値を信号207を介して管理サーバ208に送る。他の実施形態では、アクティビティトラッカー206は、比較的生のデータを信号207を介して管理サーバ208に送ってもよく、管理サーバ208は、計算を実行して総開発者時間を更新する。たとえば、アクティビティトラッカー206は、アクションしきい値が満たされた「2つの」タイムフレームを報告してもよく、その場合、管理サーバ208は、計算を実行して「2つの」タイムフレームが60分に相当すると判定してもよく、次いで60分を開発者時間の累計に加算する。別の例として、各タイムフレームのアクションのカウントが管理サーバ208に与えられてもよい。
【0052】
アクティビティトラッカー206は、タイムフレームについてのしきい値に対してカウントされるアクションを特定するようにいくつかの方法でプログラムされてもよい。いくつかの実施形態では、アクティビティトラッカー206は、比較的差別的ではなくなるようにプログラムされてもよい(たとえば、ゲーム開発ツール100を使用したすべてのまたは大部分のアクションがアクションしきい値に対してカウントされる)。これらのアクションには、グラフィカルオブジェクトの色を変更することなどより主観的なアクション、ならびにメニューをクリックしてメニューのコンテンツを表示するが、メニューからの選択は行わないこと、「取り消し」動作を実行することなどのそれほど主観的ではないアクションを含めることができる。他の実施形態では、アクティビティトラッカー206をどのアクションをしきい値に対してカウントすべきかに関して比較的強い差別化を行うようにプログラムすることができる。たとえば、「取り消し」動作または他の自明な動作は、しきい値に対してカウントされなくてもよい。
【0053】
アクティビティトラッカー206は、アクションがしきい値に対してカウントされるようにするにはアクションを完全に終了すべきであるかどうかを判定するように構成されてもよい。たとえば、グラフィカルオブジェクトの色を変更することには、3つの順次動作、すなわち、色の変更が望まれるグラフィカルオブジェクトを選択/強調すること、カラーパレットを含むツールバー106からメニューを開くこと、カラーパレットから所望の色を選択することを含めることができる。アクティビティトラッカー206は、この3つの動作を完了させられ、しきい値に対してカウントされる「1つの」集合アクションと見なすようにプログラムすることができ、またはアクティビティトラッカー206は、これらの動作をこの3つの動作のうちのどれが完了したかに応じてしきい値に対してカウントされる1つ、2つ、または3つのアクションと見なすようにプログラムされてもよい。
【0054】
様々な実施形態においてさらなる拡張実施形態および修正実施形態が個別に設けられてもよく、または組み合わせて設けられてもよい。たとえば、いくつかのアクションは、しきい値に対するカウントに関して他のアクションよりも大きい重みが付けられてもよい。たとえば、ツールボックスペイン110からドラッグアンドドロップを実行することには、オブジェクトの色を変更すること(たとえば、しきい値に対してカウントされる1つのアクションに相当する)よりも大きい重み(たとえば、しきい値に対してカウントされる5つのアクションに相当する)が与えられてもよい。この合理的根拠は、ゲーム開発者が、ツールボックスペイン110においてテンプレートオブジェクトを見つけて選択し、次いでワークスペースペイン108内の所望の位置まで移動させ、そこで、選択されたオブジェクトをドロップすることにはより多くの手間をかける必要があることである。したがって、ゲーム開発者が、より込み入った/より複雑な(したがって、より大きい重みが与えられた)あるアクションを実行する場合、そのようなアクションが実行されるタイムフレームについてアクションのしきい値数が満たされる可能性がより高くなり、したがって、タイムフレームの持続時間が総開発者時間に加算される。
【0055】
別の例として、アクティビティトラッカー206は、いくつかの実施形態では、開発者時間と品質とのより密接な相関関係が得られるように総開発者時間を調整するように構成されてもよい。たとえば、経験の浅いまたは未熟練のゲーム開発者は、誤りを犯しており、まだ、電子ゲームを作成するためにゲーム開発ツール100、ユーザインターフェース102、およびプロセス自体に慣れようとしているので、電子ゲームを作成するための多数のアクションを、プロセス全体にわたって多数の「削除」アクションおよび「取り消し」アクションならびにその他の重要ではないアクションとともに実行することがある。そのような多数のアクションに応じて、多数のタイムフレーム持続時間が電子ゲームの総開発者時間に加算され、それにより、場合によっては、多大な開発者時間が掛けられた「高」品質の電子ゲームが示される。ただし、現実には、この電子ゲームは非常に初歩的または不十分な設計を有する(低品質)ことがある。
【0056】
アクティビティトラッカー206および/または管理サーバ208のいくつかの実施形態は、多数の削除、取り消しアクションなどを経験の浅い/未熟練のゲーム開発者を示すものとして検出し、総開発者時間の値をある程度小さくして無効な設計時間を補償し、したがって、(短くした)総開発者時間と品質との間により密接な相関関係をもたらすように構成することができる。ゲーム開発者が許可する場合、ストレージデバイス216におけるユーザプロファイル情報を使用して、ゲーム開発者の経験が浅いかどうかを特定し、アクティビティトラッカー206および/または管理サーバ208が電子ゲームについての総開発者時間を短くすべきかどうかを判定するのを助けてもよい。
【0057】
複数のゲーム開発者が協働して電子ゲームを開発するいくつかの実施形態では、複数のゲーム開発者は単一のゲーム開発者(単一の実体)と見なされてもよく、この場合、そのような複数のゲーム開発者は、グループアカウントを使用する。したがって、単一のゲーム開発者によって費やされる開発時間を他のゲーム開発者によって費やされた開発者時間と合計することができる。
【0058】
逆に、熟練したゲーム開発者は、電子ゲームを構築する過程でどのアクションをいつ実行すべきかに関してより効率的で知識が豊富である場合がある。したがって、その電子ゲームについての総開発者時間は比較的短いことがあり、それによって、場合によっては、その電子ゲームについての品質評価が誤って「低く」なることがある。アクティビティトラッカー206および/または管理サーバ208のいくつかの実施形態は、より少数の削除、取り消しアクションなどを経験豊かな/熟練したゲーム開発者を示すものとして検出し、総開発者時間の値をある程度大きくしてより効率的な設計時間を補償し、したがって、(長くした)総開発者時間と品質との間により密接な相関関係をもたらすように構成することができる。この場合も、(ユーザの許可によって)ストレージデバイス216におけるユーザプロファイル情報を使用して、ゲーム開発者が経験豊富かどうかを特定し、アクティビティトラッカー206および/または管理サーバ208が電子ゲームについての総開発者時間を長くすべきかどうかを判定するのを助けてもよい。
【0059】
管理サーバ208および/またはアクティビティトラッカー206によって、開発者時間と品質とのより密接な相関関係を得るために総開発者時間の値を調整すべきかどうかを判定する際に電子ゲームの種類が検討されてもよい。たとえば、パズルゲームは、多大な開発者時間を掛けなくてもよい比較的単純なゲームであるが、非常に高品質の(うまく設計された)パズルである場合もある。しかし、開発者時間が短いと、場合によっては、低品質判定が下されることがある。逆に、戦闘ゲームは、多大な開発者時間が掛かることがあるより複雑なゲームであり、高品質判定が下される場合があるが、現実には、戦闘ゲームは開発が不十分である(低品質)ことがある。これらの状況において品質と開発者時間との間により密接な相関関係をもたらすために、管理サーバ208および/またはアクティビティトラッカー206は、電子ゲームの種類を判定し、次いでパズルゲームについては総開発者時間の値を大きくし、戦闘ゲームについては総開発者時間の値を小さくすることができる。
【0060】
いくつかの実施形態では、ゲームについて範疇内、テーマ内、ジャンル内などで品質ランキングを生成することができる。たとえば、パズルゲームはある範疇に属することができ、ロールプレイングゲーム(RPG)は別の範疇に属することができる。したがって、特定のパズルゲームを管理サーバ208によって(そのゲーム開発者時間から導かれた品質判定に基づいて)他のパズルゲームに対してランキングを定めることができ、特定のRPGを管理サーバ208によって(そのゲーム開発者時間から導かれた品質判定に基づいて)他のRPGに対してランキングを定めることができる。このようにして、同様の複雑さを有し、同様のゲーム開発時間を有することが予期される電子ゲームをグループ化することができる。他の実施形態では、たとえば、範疇ごとに重みを付けて、全範疇にわたってランキングを実行してもよい。
【0061】
図4は、いくつかの実装形態による、電子ゲームの品質に関し、
図1のゲーム開発ツール100(および/または
図2のゲーム開発ツール202)を使用する開発者時間に少なくとも部分的に基づく場合がある例示的な情報を示す。電子ゲームの品質は、ランキング400で表されてもよく、ランキング400は
図2のランキング210によって具現化されてもよい。ランキング400では、GAME Aのランキングは、別のGAME Dに対してより高くされており、GAME B、GAME C、およびGAME Fに対してより低くされている。ランキング400におけるGAME Aのこの位置は、GAME AがGAME Dよりも総開発者時間が長く、GAME B、GAME C、およびGAME Fよりも総開発者時間が短いことに起因する場合がある。管理サーバ208は、電子ゲーム同士の間で総開発者時間の比較を実行してランキング400を単独で生成するか、または品質を示す他の因子(たとえば、プレイヤーによって提供されるランキング、レビューなど)と組み合わせて生成してもよい。
【0062】
図2の警告212の例が
図4における警告402および404として示されている。管理サーバ208は、電子ゲームが総開発者時間が短いことに起因して低品質評価を有し、悪意を示唆するあるキーワードを含むことが判明した場合、悪意のあるゲーム用の警告402を生成してもよい(たとえば、ユーザ名、パスワード、クレジットカード番号、社会保障番号、支払いなどを示すことを促す)。警告402は、電子ゲームにそのようなキーワードが存在することを示してもよい。管理サーバ208は、電子ゲーム内のワード/テキストをストレージデバイス216に記憶されたキーワードの参照リストと比較し、警告402を生成すべきかどうかを判定してもよい。
【0063】
さらに、ストレージデバイス216はゲーム開発者についてのプロファイル情報を含んでもよい。たとえば、ゲーム開発者がいくつかの他の低品質ゲームに関連しており、それらの低品質ゲームのうちの少なくともいくつかが悪意のあるゲームであることに起因して無効化されている場合、管理サーバ208は警告402を生成してシステム管理者に現在の電子ゲームをさらに調べるよう促すことができる。電子ゲームについての短いゲーム開発者時間と組み合わされてストレージデバイス216に記憶されている他の情報は、ゲーム開発者が新たに登録されたユーザであること、ゲーム開発者が1日のうちに多数の電子ゲーム(たとえば、10個以上の電子ゲーム)を作成しており/アップロードし、これらの電子ゲームの各々が、しきい値よりも小さい総(短い)ゲーム開発者時間を有しており、ゲーム開発者の開発者履歴が短いことなど、現在のゲームが警告402の生成を正当化する悪意のあるゲームであり得ることを示すことがある。
【0064】
警告404は、子供のゲームと見せかけた電子ゲーム用の成人向けコンテンツなどの不適切なコンテンツを有する場合がある電子ゲーム用の警告の例を提示する。警告402と同様に、管理サーバ208は、電子ゲームが短い開発者時間に関連する場合、および電子ゲームにおいて、電子ゲームのタイトルまたは電子ゲーム内などにあるキーワード(不適切な言葉を含む)が検出された場合に、警告404を生成してもよい。
【0065】
図5は、いくつかの実装形態による、電子ゲームの品質を判定するための例示的な方法500を示すフローチャートである。たとえば、ゲーム開発者時間は、電子ゲームの品質を判定する際の因子として使用されてもよい。例示的な方法500は、ブロック502~ブロック516などの1つまたは複数のブロックによって示される1つまたは複数の動作を含んでもよい。方法500の様々なブロックおよび/または本明細書で説明する任意の他のプロセスは、所望の実装形態に基づいてより少数のブロックとして組み合わされ、追加のブロックとして分割され、さらなるブロックによって補足され、ならびに/または除外される。いくつかの実施形態では、方法500は、ゲーム開発者からの許可に応じて、電子ゲームを設計するためのゲーム開発ツールを使用して実行されるアクションを特定し使用するために実施されてもよい。
【0066】
図5の方法500について、本明細書では
図1~
図4に示す要素を参照して説明する。いくつかの実施形態では、方法500の動作は、アクティビティトラッカー206によってパイプライン式に順次実行されてもよい。他の実施形態では、いくつかの動作がアクティビティトラッカー206によって順不同で並行して実行されてもよい。説明を単純にするために、方法500における動作について以下では、アクティビティトラッカー206が動作の大部分またはすべてを実行する文脈で説明する。他の実施形態では、動作のうちのいくつかまたはすべてが管理サーバ208またはオンラインゲーミングシステムにおける何らかの他の要素によって実行されてもよい。
【0067】
ブロック502において(「電子ゲームを設計するためのゲーム開発ツールを使用してタイムフレームの間に実行されるアクションを特定する」)において、ゲーム開発者は、電子ゲームを設計するためにゲーム開発ツール100(またはゲーム開発ツール202)を起動する。アクティビティトラッカー206は、ドラッグアンドドロップアクションなど、ゲーム開発者がゲーム開発ツール100を使用するタイムフレームの間に行ったアクションを特定する。ブロック502の後にブロック504が実行されてもよい。
【0068】
ブロック504(「特定されたアクションをタイムフレームについてのアクションの数のカウントに加算する」)において、アクティビティトラッカー206は、特定されたアクションが、カウントできる適切なアクションであると判定し、このアクションをこのタイムフレームについてのアクションの数のカウントに加算する。ブロック504の後にブロック506が実行されてもよい。
【0069】
ブロック506(「タイムフレームは終了したか」)において、アクティビティトラッカー206は、タイムフレームの間に第1のアクションが行われてから30分の持続時間が経過したかどうかなど、タイムフレームが終了したかどうかを判定する。タイムフレームが終了していない場合(ブロック506において「いいえ」)、方法500は、ブロック502に戻り、このタイムフレームの間に実行されたさらなるアクションを特定する。
【0070】
ブロック506において、タイムフレームが終了したとアクティビティトラッカー206が判定した場合(ブロック506において「はい」)、アクティビティトラッカー206は、ブロック508において、タイムフレームの間にカウントされたアクションの数がしきい値を超えるかどうかを判定する(「カウントされたアクションの数はしきい値を超えるか」)。しきい値を超えている場合(ブロック508において「はい」)、アクティビティトラッカー206は、ブロック510において、タイムフレームの持続時間を電子ゲームについての総開発者時間の値に加算する(「タイムフレームの持続時間を電子ゲームについての総開発者時間の値に加算する」)。
【0071】
しかし、しきい値を超えない場合(ブロック508において「いいえ」)、ブロック512において、タイムフレームの持続時間は電子ゲームについての総開発者時間の値に加算されない(「タイムフレームの持続時間を電子ゲームについての総開発者時間の値に加算しない」)。
【0072】
ブロック510の後にブロック514が実行されてもよい(「少なくとも総開発者時間の値から電子ゲームの品質を判定する」)。ブロック514において、管理サーバ208は、電子ゲームについての総開発者時間を受信または(アクティビティトラッカー206からの信号207などを介して)算出し、次いで少なくとも総開発者時間の値から電子ゲームの品質を判定してもよい。たとえば、より長い総開発者時間は、電子ゲームのより高い品質に相当してもよく、より短い総開発者時間は、電子ゲームのより低い品質に相当してもよい。より短い開発者時間とストレージデバイス216からの情報が組み合わされることによって、管理サーバ208は、電子ゲームが潜在的な悪意のあるコンテンツに起因して低品質ゲームであると判定する。ブロック514の後にブロック516が実行されてもよい。
【0073】
ブロック516(「判定された品質に少なくとも基づいて出力を生成する」)において、管理サーバ208は、判定された品質に少なくとも部分的に基づいて、ランキング220および400、または警告212および402および404などの出力を生成してもよい。たとえば、開発者時間がより短く、悪意のあるコンテンツが存在することに起因して電子ゲームが低品質であると判定された場合、管理サーバ208は、システム管理者に送られる警告を生成し、システム管理者が電子ゲームをさらに分析するのを可能にすることができる。システム管理者は次いで、ゲームを削除もしくは無効化すること、またはゲームを公開するのを許可することなどの、適切な是正措置を講じることができる。
【0074】
図6は、いくつかの実装形態による、ゲーム開発者時間を使用して電子ゲームの品質を判定することができるオンラインゲーミング用の例示的なシステムアーキテクチャの図である。オンラインゲーミングプラットフォーム(「ユーザ生成コンテンツプラットフォーム」または「ユーザ生成コンテンツシステム」とも呼ばれる)は、各ユーザが電子ゲームをプレイするなど、ユーザ同士が互いにインタラクトするための様々な方法を提供する。たとえば、オンラインゲーミングプラットフォームのユーザは、共通の目標に向けて協働したり、様々な仮想ゲーミングアイテムを共有したり、電子メッセージを互いに送ったりしてもよい。オンラインゲーミングプラットフォームのユーザは、アバターなどのキャラクターを使用するゲームをプレイしてもよく、このようなプレイヤーは、電子ゲームにおいてレンダリングされる3D世界内を移動することができる。
【0075】
オンラインゲーミングプラットフォームは、プラットフォームのユーザが、上述のゲーム開発ツールを使用して電子ゲームを設計するのを可能にしてもよい。たとえば、オンラインゲーミングプラットフォームのユーザは、壁、窓、風景、キャラクター、および3D世界におけるその他のオブジェクトなどの、電子ゲームにおけるグラフィカルオブジェクトを作成し、設計し、カスタマイズするのが可能であってもよい。
【0076】
図6では、例示的なシステムアーキテクチャ600(本明細書では「システム」とも呼ばれる)は、オンラインゲーミングプラットフォーム602と、第1のクライアントデバイス610(本明細書では、一般に「クライアントデバイス610」と呼ばれる)と、少なくとも1つの第2のクライアントデバイス616とを含む。オンラインゲーミングプラットフォーム602は、特に、ゲームエンジン604と、ゲーム開発者によって設計された1つまたは複数の電子ゲーム606とを含むことができる。オンラインゲーミングプラットフォーム602は、管理サーバ608(
図2における管理サーバ208であってもよい)を含んでもよく、管理サーバ608は、エージェントコンピュータによって具現化されてもよく、またはエージェントコンピュータに動作可能に結合されてもよい。システムアーキテクチャ600は、考えられる一実装形態の例示のために与えられている。他の実装形態では、システムアーキテクチャ600は、
図6に示すのと同じまたは異なるように構成された同じ要素、より少ない要素、より多い要素、または異なる要素を含んでもよい。
【0077】
通信ネットワーク622は、オンラインゲーミングプラットフォーム602とクライアントデバイス610/616との通信、および/またはシステムアーキテクチャ600内の他の要素同士間の通信に使用されてもよい。ネットワーク622は、パブリックネットワーク(たとえば、インターネット)、プライベートネットワーク(たとえば、ローカルエリアネットワーク(LAN)またはワイドエリアネットワーク(WAN))、有線ネットワーク(たとえば、イーサネットネットワーク)、無線ネットワーク(たとえば、802.11ネットワーク、Wi-Fiネットワーク、または無線LAN(WLAN))、セルラーネットワーク(たとえば、long term evolution (LTE)ネットワーク)、ルータ、ハブ、スイッチ、サーバコンピュータ、またはそれらの組合せを含んでもよい。
【0078】
クライアントデバイス610は、ゲームアプリケーション612と1つまたは複数のユーザインターフェース614(たとえば、オーディオ/ビデオ入出力デバイスによって提示されるインターフェース)とを含むことができる。クライアントデバイス616は、ゲームアプリケーション620とユーザインターフェース618(たとえば、オーディオ/ビデオ入出力デバイス)を含むことができる。オーディオ/ビデオ入出力デバイスは、マイクロフォン、スピーカ、ヘッドフォン、表示デバイスなどの1つまたは複数を含むことができる。いくつかの実施形態では、ゲームアプリケーション612および620は、ゲーム開発者によって設計された電子ゲームと、ゲーム開発ツール100または202と、アクティビティトラッカー206とを含むことができる。
【0079】
システムアーキテクチャ600は、1つまたは複数のストレージデバイス624をさらに含んでもよい。ストレージデバイス624は、たとえば、オンラインゲーミングプラットフォーム602内に位置し(
図6に示すような)ネットワーク622を介してオンラインゲーミングプラットフォーム602に通信可能に結合されたストレージデバイスであってもよい。ストレージデバイス624は、
図2におけるストレージデバイス216によって具現化されてもよく、たとえば、ゲームエンジン604またはゲームアプリケーション612/620によって電子ゲーム606においてレンダリングされたグラフィカルオブジェクト、ならびにグラフィカルオブジェクトの構成/特性情報を記憶してもよい。
【0080】
いくつかの実施形態では、ストレージデバイス624は、ゲーム606においてレンダリングされたグラフィカルオブジェクトを提供する別個のコンテンツデリバリネットワークの一部とすることができる。たとえば、ゲームアプリケーション612は、ストレージデバイス624に記憶されたグラフィカルオブジェクトをゲームをプレイする過程で提示できるようにプル型配信を受けても(またはゲームアプリケーション612自体にプッシュ型配信を行っても)よい。ストレージデバイス624は、開発者プロファイル情報、ゲーム開発者統計、キーワード、ランキングデータ、ならびに電子ゲームの品質の判定およびランキングまたは警告などの出力の生成に関連して上記で説明した様々な他の情報を記憶してもよい。
【0081】
一実装形態では、ストレージデバイス624は、非一時的コンピュータ可読メモリ(たとえば、ランダムアクセスメモリ)、キャッシュ、ドライブ(たとえば、ハードドライブ)、フラッシュドライブ、データベースシステム、またはデータおよびその他のコンテンツを記憶することができる別の種類の構成要素またはデバイスであってもよい。ストレージデバイス624は、複数のストレージ構成要素(たとえば、複数のドライブまたは複数のデータベース)を含んでもよく、ストレージ構成要素はまた、複数のコンピューティングデバイス(たとえば、複数のサーバコンピュータ)に備えられてもよい。
【0082】
いくつかの実装形態では、オンラインゲーミングプラットフォーム602は、1つまたは複数のコンピューティングデバイス(たとえば、クラウドコンピューティングシステム、ラックマウントサーバ、サーバコンピュータ、物理サーバのクラスタなど)を有するサーバを含むことができる。いくつかの実装形態では、サーバは、オンラインゲーミングプラットフォーム602に含められてもよく、独立したシステムであってもよく、または別のシステムもしくはプラットフォームの一部であってもよい。
【0083】
いくつかの実装形態では、オンラインゲーミングプラットフォーム602は、1つまたは複数のコンピューティングデバイス(ラックマウントサーバ、ルータコンピュータ、サーバコンピュータ、パーソナルコンピュータ、メインフレームコンピュータ、ラップトップコンピュータ、タブレットコンピュータ、デスクトップコンピュータなど)、データストア(たとえば、ハードディスク、メモリ、データベース)、ネットワーク、ソフトウェア構成要素、および/またはオンラインゲーミングプラットフォーム602上で動作を実行し、ユーザがオンラインゲーミングプラットフォーム602にアクセスするのを可能にするために使用されることがあるハードウェア構成要素を含んでもよい。オンラインゲーミングプラットフォーム602は、ウェブサイト(たとえば、ウェブページ)、またはユーザがオンラインゲーミングプラットフォーム602によって提供されるコンテンツにアクセスするのを可能にするために使用されることがあるアプリケーションバックエンドソフトウェアを含んでもよい。たとえば、ユーザは、クライアントデバイス610上でゲームアプリケーション612を使用してオンラインゲーミングプラットフォーム602にアクセスしてもよい。
【0084】
いくつかの実装形態では、オンラインゲーミングプラットフォーム602は、ユーザ間の接続を可能にする一種のソーシャルネットワークであってもよく、またはユーザ(たとえば、エンドユーザまたは消費者)がオンラインゲーミングプラットフォーム602上で他のユーザと通信するのを可能にする一種のユーザ生成コンテンツシステムであってもよい。この場合、通信は、音声チャット(たとえば、同期および/もしくは非同期音声通信)、ビデオチャット(たとえば、同期および/もしくは非同期ビデオ通信)、またはテキストチャット(たとえば、同期および/もしくは非同期テキストベース通信)を含んでもよい。本開示のいくつかの実装形態では、「ユーザ」は単一の個人として表されてもよい。しかし、本開示の他の実装形態は、1組のユーザによって制御される実体または自動化されたソースである「ユーザ」(たとえば、作成側ユーザ)を包含する。たとえば、ユーザ生成コンテンツシステムにおいてコミュニティまたはグループとして連合された1組の個々のユーザが「ユーザ」と見なされてもよい。
【0085】
いくつかの実装形態では、オンラインゲーミングプラットフォーム602は、仮想ゲーミングプラットフォームであってもよい。たとえば、ゲーミングプラットフォームは、ネットワーク622を介してクライアントデバイス610を使用してゲームを設計し、またはゲームにアクセスし、またはゲームとインタラクトする場合があるユーザのコミュニティにシングルプレイヤーゲームまたはマルチプレイヤーゲームを提供してもよい。いくつかの実装形態では、ゲーム(本明細書では「ビデオゲーム」、「オンラインゲーム」、または「仮想ゲーム」などとも呼ばれる)は、たとえば、2次元(2D)ゲームであっても、3次元(3D)ゲーム(たとえば、3Dユーザ生成ゲーム)であっても、仮想現実(VR)ゲームであっても、または拡張現実(AR)ゲームであってもよい。いくつかの実装形態では、ユーザは他のユーザとのゲームプレイに参加してもよい。いくつかの実装形態では、ゲームは、ゲームの他のユーザとリアルタイムにプレイされてもよい。
【0086】
いくつかの実装形態では、ゲームプレイは、ゲーム(たとえば、ゲーム606)内でのクライアントデバイス(たとえば、クライアントデバイス610および/または616)を使用した1人または複数のプレイヤーのインタラクションを指してもよく、あるいはディスプレイまたはクライアントデバイス610もしくは616の他のユーザインターフェース(たとえば、ユーザインターフェース614/618)上のインタラクションの提示を指してもよい。
【0087】
いくつかの実装形態では、ゲーム606は、ゲームコンテンツ(たとえば、デジタルメディアアイテム)を実体に提示するように構成されたソフトウェア、ファームウェア、またはハードウェアを使用して実行またはロードすることができる電子ファイルを含むことができる。いくつかの実装形態では、ゲームアプリケーション612が実行されてもよく、ゲーム606がゲームエンジン604に関連してレンダリングされてもよい。いくつかの実装形態では、ゲーム606は、共通の1組の規則または共通の目標を有してもよく、ゲーム606の環境は、この共通の1組の規則または共通の目標を共有する。いくつかの実装形態では、それぞれに異なるゲームは、互いにそれぞれに異なる規則または目標を有してもよい。
【0088】
いくつかの実装形態では、ゲームは、複数の環境がリンクされることがある1つまたは複数の環境(本明細書では「ゲーミング環境」または「仮想環境」とも呼ばれる)を有してもよい。環境の一例は3D環境であってもよい。ゲーム606の1つまたは複数の環境は、本明細書では、集合的に「世界」または「ゲーミング世界」または「仮想世界」または「宇宙」と呼ばれることがある。世界の一例は、上記で
図1に示す"Infinite Runner"ゲームなどのゲームの3D世界であってもよい。たとえば、ユーザは、別のユーザによって作成された別の仮想環境にリンクされた仮想環境を構築してもよい。仮想ゲームのキャラクターは、仮想境界を横切って隣接する仮想環境に入ってもよい。
【0089】
3D環境または3D世界が、ゲームコンテンツを表す幾何学的データの3次元表現を提供する(または幾何学的データの3D表現が使用されるか否かにかかわらず、少なくとも、3Dコンテンツとして現れるようにゲームコンテンツを提示する)グラフィックスを使用することに留意するとよい。2D環境または2D世界は、ゲームコンテンツを表す幾何学的データの2次元表現を提示するグラフィックスを使用する。
【0090】
いくつかの実装形態では、オンラインゲーミングプラットフォーム602は、ゲーム開発者によって設計された1つまたは複数のゲーム606を受け入れることができ、ユーザがクライアントデバイス610のゲームアプリケーション612を使用してゲーム606とインタラクトするのを可能にすることができる。オンラインゲーミングプラットフォーム602のユーザは、ゲーム606をプレイもしくは作成し、ゲーム606とインタラクトし、もしくはゲーム606を構築し、他のユーザと通信し、および/またはゲーム606のオブジェクト(たとえば、本明細書では「アイテム」もしくは「ゲームオブジェクト」もしくは「仮想ゲームアイテム」もしくは「グラフィカルオブジェクト」とも呼ばれる)を作成して構築してもよい。たとえば、ユーザは、ユーザ生成仮想アイテムを生成する際、特に、キャラクター、キャラクター用の動画、キャラクター用の装飾、インタラクティブゲーム用の1つまたは複数の仮想環境、またはゲーム606において使用される建造物を作成してもよい。いくつかの実装形態では、プラットフォーム内通貨(たとえば、仮想通貨)などのゲーム仮想ゲームオブジェクトをオンラインゲーミングプラットフォーム602の他のユーザに対して購入、売却、または取引してもよい。
【0091】
いくつかの実装形態では、オンラインゲーミングプラットフォーム602は、ゲームコンテンツをゲームアプリケーション(たとえば、ゲームアプリケーション612)に送信してもよい。いくつかの実装形態では、ゲームコンテンツ(本明細書では「コンテンツ」とも呼ばれる)は、オンラインゲーミングプラットフォーム602またはゲームアプリケーションに関連する任意のデータまたはソフトウェア命令(たとえば、ゲームオブジェクト、ゲーム、ユーザ情報、ビデオ、画像、命令、メディアアイテムなど)を指してもよい。いくつかの実装形態では、ゲームオブジェクト(たとえば、本明細書では「アイテム」または「オブジェクト」または「仮想ゲームアイテム」とも呼ばれる)は、クライアントデバイス610/616のオンラインゲーミングプラットフォーム602またはゲームアプリケーション612もしくは620のゲーム606において使用され、作成され、共有され、またはその他の方法で示されるオブジェクトを指してもよい。たとえば、ゲームオブジェクトは、その一部、モデル、キャラクター、または構成要素(顔、腕、唇など)、道具、武器、衣類、建物、乗り物、通貨、動植物、上述の構成要素(たとえば、建物の窓)などを含んでもよい。
【0092】
ゲーム606を受け入れるオンラインゲーミングプラットフォーム602が例示を目的として与えられていることが認識されよう。いくつかの実装形態では、オンラインゲーミングプラットフォーム602は、1人のユーザから1人または複数の他のユーザへの通信メッセージを含むことができる1つまたは複数のメディアアイテムを受け入れてもよい。メディアアイテムには、限定はしないが、デジタルビデオ、デジタル映画、デジタル写真、デジタル音楽、オーディオコンテンツ、メロディー、ウェブサイトコンテンツ、ソーシャルメディアアップデート、電子書籍、電子雑誌、デジタル新聞、デジタルオーディオブック、電子ジャーナル、ウェブブログ、real simple syndication (RSS)フィード、電子コミックブック、ソフトウェアアプリケーションなどを含めることができる。いくつかの実装形態では、メディアアイテムは、デジタルメディアアイテムを実体に提示するように構成されたソフトウェア、ファームウェア、またはハードウェアを使用して実行またはロードすることができる電子ファイルであってもよい。
【0093】
いくつかの実装形態では、ゲーム606のうちの1つもしくは複数が、特定のユーザまたは特定のユーザグループに関連付けられてもよく(たとえば、プライベートゲーム)、またはオンラインゲーミングプラットフォーム602のユーザに広く利用可能にされてもよい(たとえば、パブリックゲーム)。いくつかの実装形態では、オンラインゲーミングプラットフォーム602が、1つまたは複数のゲーム606を特定のユーザまたはユーザグループに関連付ける場合、ユーザアカウント情報(たとえば、ユーザ名およびパスワードなどのユーザアカウント識別子)を使用して、オンラインゲーミングプラットフォーム602は特定のユーザをゲーム606に関連付けてもよい。
【0094】
いくつかの実装形態では、オンラインゲーミングプラットフォーム602またはクライアントデバイス610/616は、ゲームエンジン604またはゲームアプリケーション612/620を含んでもよい。いくつかの実装形態では、ゲームエンジン604は、ゲーム606の開発または実行に使用されてもよい。たとえば、ゲームエンジン604は、他にも機能が数ある中で、2Dグラフィックス、3Dグラフィックス、VRグラフィックス、またはARグラフィックス用のレンダリングエンジン(「レンダラー」)、物理エンジン、衝突検出エンジン(および衝突応答)、サウンドエンジン、スクリプト機能、アニメーションエンジン、人工知能エンジン、ネットワーキング機能、ストリーミング機能、メモリ管理機能、スレッド機能、シーングラフ機能、またはシネマティクス用のビデオサポートなどのゲーム開発ツールの機能を含んでもよい。ゲームエンジン604の構成要素は、ゲームの計算およびレンダリングを助けるコマンド(たとえば、レンダリングコマンド、衝突コマンド、アニメーションコマンド、物理コマンドなど)を生成してもよい。いくつかの実装形態では、クライアントデバイス610/616のゲームアプリケーション612/618はそれぞれ、独立して動作するか、またはオンラインゲーミングプラットフォーム602のゲームエンジン604と協働するか、またはその両方を組み合わせて動作してよい。
【0095】
いくつかの実装形態では、オンラインゲーミングプラットフォーム602とクライアントデバイス610/616はどちらも、ゲームエンジンまたはゲームアプリケーション(それぞれ、604、612、620)を実行する。ゲームエンジン604を使用するオンラインゲーミングプラットフォーム602は、ゲームエンジン機能のうちのいくつかまたはすべてを実行してもよく(たとえば、物理コマンド、アニメーションコマンド、上述のカメラビューへの変更の制御を含む、レンダリングコマンドなどを生成する)、またはゲームエンジン機能のうちのいくつかまたはすべてをクライアントデバイス610のゲームアプリケーション612にオフロードしてもよい。いくつかの実装形態では、各ゲーム606は、オンラインゲーミングプラットフォーム602上で実行されるゲームエンジン機能とクライアントデバイス610および616上で実行されるゲームエンジン機能との比が異なってもよい。
【0096】
たとえば、オンラインゲーミングプラットフォーム602のゲームエンジン604は、少なくとも2つのゲームオブジェクト間に衝突が生じた場合に物理コマンドを生成するために使用されてもよく、一方、追加のゲームエンジン機能(たとえば、カメラビューの変更を含む、レンダリングコマンドを生成する)がクライアントデバイス610にオフロードされてもよい。いくつかの実装形態では、オンラインゲーミングプラットフォーム602上で実行されるゲームエンジン機能とクライアントデバイス610上で実行されるゲームエンジン機能の比をゲームプレイ条件に基づいて(たとえば、動的に)変更してもよい。たとえば、特定のゲーム606のゲームプレイに参加するユーザの数がしきい値数を超えている場合、オンラインゲーミングプラットフォーム602は、すでにクライアントデバイス610または616によって実行された1つまたは複数のゲームエンジン機能を実行してもよい。
【0097】
たとえば、ユーザは、クライアントデバイス610および616上でゲーム606をプレイすることがあり、オンラインゲーミングプラットフォーム602に制御命令(たとえば、右、左、上、下、ユーザ選択肢、またはキャラクター位置および速度情報などのユーザ入力)を送ることがある。オンラインゲーミングプラットフォーム602は、クライアントデバイス610および616から制御命令を受信した後、制御命令に基づいてクライアントデバイス610および616にゲームプレイ命令(たとえば、グループゲームプレイに参加するキャラクターの位置および速度情報またはレンダリングコマンド、衝突コマンドなどのコマンド)を送ってもよい。
【0098】
たとえば、オンラインゲーミングプラットフォーム602は、制御命令に対して(たとえば、ゲームエンジン606を使用して)1つまたは複数の論理演算を実行してクライアントデバイス610および616に対するゲームプレイ命令を生成してもよい。他の例では、オンラインゲーミングプラットフォーム602は制御命令のうちの1つまたは複数を一方のクライアントデバイス610からゲーム606に参加する他方のクライアントデバイス(たとえば、クライアントデバイス616)に転送してもよい。クライアントデバイス610および616は、ゲームプレイ命令を使用して、上述の調整可能なカメラビューを含むクライアントデバイス610および616のディスプレイ上の提示ができるようにゲームプレイをレンダリングしてもよい。
【0099】
いくつかの実装形態では、制御命令は、ユーザのキャラクターのゲーム内アクションを示す命令を指してもよい。たとえば、制御命令は、右、左、上、下、ユーザ選択肢、ジャイロスコープ位置および方位データ、力センサデータなどの、ゲーム内アクションを制御するためのユーザ入力を含んでもよい。制御命令は、キャラクター位置および速度情報を含んでもよい。いくつかの実装形態では、制御命令は直接オンラインゲーミングプラットフォーム602に送られる。他の実装形態では、制御命令はクライアントデバイス610から別のクライアントデバイスに送られ(たとえば、クライアントデバイス616)、この他方のクライアントデバイスは、ローカルゲームエンジンアプリケーション620を使用してゲームプレイ命令を生成する。制御命令は、オーディオデバイス(たとえば、スピーカ、ヘッドフォンなど)上の別のユーザからの音声通信メッセージまたはその他の音声、たとえば、本明細書で説明するオーディオ空間化技法を使用して生成される音声通信またはその他の音声を再生するための命令を含んでもよい。
【0100】
いくつかの実装形態では、ゲームプレイ命令は、クライアントデバイス110がマルチプレイヤーゲームなどのゲームのゲームプレイをレンダリングするのを可能にする命令を指してもよい。ゲームプレイ命令には、ユーザ入力(たとえば、制御命令)、キャラクター位置および速度情報、またはコマンド(たとえば、物理コマンド、アニメーションコマンド、レンダリングコマンド、衝突コマンドなど)のうちの1つまたは複数を含めてもよい。
【0101】
いくつかの実装形態では、クライアントデバイス610または616の各々は、パーソナルコンピュータ(PC)、モバイルデバイス(たとえば、ラップトップ、携帯電話、スマートフォン、タブレットコンピュータ、またはノートブックコンピュータ)、ネットワーク接続テレビジョン、ゲーミングコンソールなどコンピューティングデバイスを含んでもよい。いくつかの実装形態では、クライアントデバイス610または616は「ユーザデバイス」と呼ばれてもよい。いくつかの実装形態では、1つまたは複数のクライアントデバイス610または616が任意の所与の瞬間にオンラインゲーミングプラットフォーム602に接続してもよい。クライアントデバイス610または616の数が限定ではなく例示として与えられていることに留意するとよい。いくつかの実装形態では、任意の数のクライアントデバイス610または616が使用されてもよい。
【0102】
いくつかの実装形態では、各クライアントデバイス610または616はそれぞれ、ゲームアプリケーション612または620のインスタンスを含んでもよい。一実装形態では、ゲームアプリケーション612または620は、オンラインゲーミングプラットフォーム602によって受け入れられる仮想ゲームにおける仮想キャラクターの制御、またはゲーム606、画像、ビデオアイテム、ウェブページ、ドキュメントなどのコンテンツの表示もしくはアップロードなど、ユーザによるオンラインゲーミングプラットフォーム602の使用およびオンラインゲーミングプラットフォーム602とのインタラクションを可能にしてもよい。一例では、ゲームアプリケーションは、ウェブサーバが取り扱うコンテンツ(たとえば、仮想環境における仮想キャラクターなど)に対するアクセス、取り出し、提示、または移動を可能にするウェブアプリケーション(たとえば、ウェブブラウザと連動するアプリケーション)であってもよい。別の例では、ゲームアプリケーションは、クライアントデバイス610または616に対してローカルにインストールされ実行し、ユーザがオンラインゲーミングプラットフォーム102とインタラクトするのを可能にするネイティブアプリケーション(たとえば、モバイルアプリケーション、app、またはゲーミングプログラム)であってもよい。ゲームアプリケーションはコンテンツ(たとえば、ウェブページ、メディアビューア)をユーザにレンダリングしてもよく、表示してもよく、または提示してもよい。一実装形態では、ゲームアプリケーションは、ウェブページに埋め込まれた埋め込みメディアプレイヤー(たとえば、Flash(登録商標)プレイヤー)を含んでもよい。
【0103】
本開示の態様によれば、ゲームアプリケーション612/620は、ユーザがコンテンツを構築し、作成し、編集して、オンラインゲーミングプラットフォーム602にアップロードするとともに、オンラインゲーミングプラットフォーム602とインタラクトする(たとえば、オンラインゲーミングプラットフォーム602によって受け入れられるゲーム606をプレイする)ためのオンラインゲーミングプラットフォームアプリケーション(上述のゲーム開発ツールなど)であってもよい。したがって、ゲームアプリケーション612/620は、オンラインゲーミングプラットフォーム602によってクライアントデバイス610または616に提供されてもよい。別の例では、ゲームアプリケーションは、サーバからダウンロードされるアプリケーションであってもよい。
【0104】
いくつかの実装形態では、ユーザはゲームアプリケーションを介してオンラインゲーミングプラットフォーム602にログインしてもよい。ユーザは、ユーザアカウント情報(たとえば、ユーザ名およびパスワード)を提供することによってユーザアカウントにアクセスしてもよく、この場合、ユーザアカウントは、オンラインゲーミングプラットフォーム602の1つまたは複数のゲーム606に参加するのに利用できる1つまたは複数のキャラクターに関連付けられる。
【0105】
一般に、一実装形態においてオンラインゲーミングプラットフォーム602によって実行されると説明する機能は、他の実装形態では適切な場合、クライアントデバイス610もしくは616、またはサーバによって実行することもできる。さらに、特定の構成要素に起因する機能は、一緒に動作するそれぞれに異なる構成要素または複数の構成要素によって実行することができる。オンラインゲーミングプラットフォーム602は、適切なアプリケーションプログラミングインターフェース(API)を介して他のシステムまたはデバイスに提供されるサービスとしてアクセスすることもでき、したがって、ウェブサイトでの使用に制限されない。
【0106】
図7は、本明細書で説明する1つまたは複数の機能を実施するために使用される場合がある例示的なコンピューティングデバイス700のブロック図である。
図6のクライアントデバイス610および616ならびに/またはゲーミングプラットフォーム602は、
図7のコンピューティングデバイス700の形態で設けられてもよい。一例では、コンピューティングデバイス700は、ゲーム開発ツールを使用する間にタイムフレームの間に実行されたアクションを判定し、次いでタイムフレームから総開発者時間を算出して電子ゲームの品質を判定するための本明細書に記載された方法を実行するために使用されてもよい。コンピューティングデバイス700は、任意の適切なコンピュータシステム、サーバ、または他の電子デバイスもしくはハードウェアデバイスとすることができる。たとえば、コンピューティングデバイス700は、メインフレームコンピュータ、デスクトップコンピュータ、ワークステーション、ポータブルコンピュータ、または電子デバイス(ポータブルデバイス、モバイルデバイス、携帯電話、スマートフォン、タブレットコンピュータ、テレビジョン、TVセットトップボックス、携帯情報端末(PDA)、メディアプレイヤー、ゲームデバイス、ウエアラブルデバイスなど)とすることができる。いくつかの実装形態では、デバイス700は、プロセッサ702と、メモリ704と、入出力(I/O)インターフェース706と、オーディオ/ビデオ入出力デバイス714とを含む。
【0107】
プロセッサ702は、プログラムコードを実行してコンピューティングデバイス700の基本動作を制御するための1つまたは複数のプロセッサおよび/または処理回路とすることができる。「プロセッサ」は、データ、信号、もしくはその他の情報を処理する任意の適切なハードウェアおよび/またはソフトウェアシステム、機構、または構成要素を含む。プロセッサは、汎用中央演算処理装置(CPU)、複数の処理ユニット、機能を実現するための専用回路、または他のシステムを有するシステムを含んでもよい。処理は、特定の地理的位置に限定する必要はなく、または時間的制限を有する必要はない。たとえば、プロセッサはその機能を「リアルタイム」に実行してもよく、「オフライン」、「バッチモード」などで実行してもよい。処理の各部分は、それぞれに異なる時間にそれぞれに異なる位置で、それぞれに異なる(または同じ)処理システムによって実行されてもよい。コンピュータは、メモリと通信する任意のプロセッサであってもよい。
【0108】
メモリ704は、プロセッサ702によってアクセスされるコンピューティングデバイス700に設けられてもよく、プロセッサによって実行される命令を記憶するのに適しており、プロセッサ702から離して配置されならびに/またはプロセッサ702と一体化された、任意の適切なプロセッサ可読記憶媒体、たとえば、ランダムアクセスメモリ(RAM)、読み取り専用メモリ(ROM)、電気的に消去可能な読み取り専用メモリ(EEPROM)、フラッシュメモリなどであってもよい。メモリ704は、オペレーティングシステム708、1つまたは複数のアプリケーション710、およびその関連データ712を含む、プロセッサ702によってコンピューティングデバイス700上で実行可能なソフトウェアを記憶することができる。アプリケーション710は、ゲームアプリケーション612/620またはゲームエンジン604、ならびにゲーム開発ツール100および202ならびにアクティビティトラッカー206を具現化するために使用することができる。いくつかの実装形態では、アプリケーション710は、プロセッサ702による実行に応答して、プロセッサ702が、電子ゲームに関連する開発者時間の判定および開発者時間に少なくとも部分的に基づく品質の判定に関して本明細書に記載された動作を実行するかまたは動作の実行を制御するのを可能にする命令を含むことができる。
【0109】
メモリ704内のソフトウェアはいずれも、代替的に任意の他の適切な記憶位置またはコンピュータ可読媒体上に記憶することができる。さらに、メモリ704(および/または他の接続されたストレージデバイス)は、本明細書で説明する機能において使用される命令およびデータを記憶することができる。メモリ704および任意の他の種類のストレージ(磁気ディスク、光ディスク、磁気テープ、または他の有形媒体)は、「ストレージ」または「ストレージデバイス」と見なすことができる。
【0110】
入出力インターフェース706は、コンピューティングデバイス700と他のシステムおよびデバイスをインターフェース接続するのを可能にするための機能を提供できる。たとえば、ネットワーク通信デバイス、ストレージデバイス、および入出力デバイスは、入出力インターフェース706を介してコンピューティングデバイス700と通信することができる。いくつかの実装形態では、入出力インターフェース706は、入力デバイス(キーボード、ポインティングデバイス、タッチスクリーン、マイクロフォン、カメラ、スキャナなど)および/または出力デバイス(表示デバイス、スピーカデバイス、プリンタ、モータなど)を含むインターフェースデバイスに接続することができ、入力デバイスおよび/または出力デバイスは、少なくとも1つのオーディオ/ビデオ入出力デバイス714として集合的に示されている。
【0111】
オーディオ/ビデオ入出力デバイス714は、オーディオメッセージを入力として受信するために使用することができるオーディオ入力デバイス(たとえば、マイクロフォンなど)、オーディオ出力デバイス(たとえば、スピーカ、ヘッドフォンなど)、および/または上述のゲーム開発ツール100の例示的なレイアウトおよび要素などのグラフィカル出力および視覚出力を提供するために使用することができる表示デバイスを含むことができる。
【0112】
図示を容易にするために、
図7は、プロセッサ702、メモリ704、入出力インターフェース706、アプリケーション710などの各々について1つのブロックを示している。これらのブロックは、1つもしくは複数のプロセッサまたは処理回路、オペレーティングシステム、メモリ、入出力インターフェース、アプリケーション、および/またはソフトウェアモジュールを表してもよい。他の実装形態では、デバイス700は、必ずしも図示の構成要素のすべてを有さなくてもよく、ならびに/または本明細書で示す要素と代えるかまたはそのような要素に加える他の種類の要素を含む他の要素を有してもよい。
【0113】
ユーザデバイスは、本明細書で説明する機能を実施することもでき、ならびに/またはそれらの機能とともに使用することもできる。例示的なユーザデバイスは、コンピューティングデバイス700と同様のいくつかの構成要素、たとえば、プロセッサ702、メモリ704、および入出力インターフェース706を含むコンピュータデバイスとすることができる。クライアントデバイスに適したオペレーティングシステム、ソフトウェア、およびアプリケーションをメモリに設け、プロセッサによって使用することができる。クライアントデバイス用の入出力インターフェースは、ネットワーク通信デバイスならびに入力デバイスおよび出力デバイス、たとえば、音声を取り込むためのマイクロフォン、画像またはビデオを取り込むためのカメラ、音声を出力するためのオーディオスピーカデバイス、画像またはビデオを出力するための表示デバイス、または他の出力デバイスに接続することができる。オーディオ/ビデオ入出力デバイス714内の表示デバイスは、たとえば、本明細書で説明するように処理前および処理後に画像を表示するためにデバイス700に接続する(またはデバイス700に含める)ことができ、そのような表示デバイスには、任意の適切な表示デバイス、たとえば、LCD、LED、またはプラズマ表示画面、CRT、テレビジョン、モニタ、タッチスクリーン、3D表示画面、プロジェクタ、または他の視覚表示デバイスを含めることができる。いくつかの実装形態は、オーディオ出力デバイス、たとえば、テキストを発話する音声出力または合成機能を提供することができる。
【0114】
本明細書で説明する1つまたは複数の方法(たとえば、方法500)は、コンピュータプログラム命令またはコードによって実施することができ、コンピュータプログラム命令またはコードはコンピュータ上で実行することができる。たとえば、コードは、1つまたは複数のデジタルプロセッサ(たとえば、マイクロプロセッサまたは他の処理回路)によって実施することができ、非一時的コンピュータ可読媒体(たとえば、記憶媒体)、たとえば、磁気記憶媒体、光学記憶媒体、電磁記憶媒体、または半導体メモリもしくは固体メモリ、磁気テープ、取り外し可能コンピュータディスケット、ランダムアクセスメモリ(RAM)、読み取り専用メモリ(ROM)、フラッシュメモリ、剛性磁気ディスク、光ディスク、固体メモリドライブなどを含む半導体記憶媒体を含むコンピュータプログラム製品上に記憶することができる。プログラム命令は、電気信号に含め、電気信号として提供することができ、たとえば、サーバ(たとえば、分散システムおよび/またはクラウドコンピューティングシステム)から配信されるsoftware as a service (SaaS)の形態で提供することができる。代替的に、1つまたは複数の方法をハードウェア(論理ゲートなど)またはハードウェアとソフトウェアの組合せで実施することができる。例示的なハードウェアは、プログラム可能プロセッサ(たとえば、フィールドプログラマブルゲートアレイ(FPGA)、結合プログラム可能論理回路)、汎用プロセッサ、グラフィックスプロセッサ、特定用途向け集積回路(ASIC)などとすることができる。1つまたは複数の方法をシステム上で実行されるアプリケーションの構成要素の一部として実行することもでき、または他のアプリケーションおよびオペレーティングシステムと連動して実行されるアプリケーションもしくはソフトウェアとして実行することができる。
【0115】
本明細書で説明する1つまたは複数の方法は、任意の種類のコンピューティングデバイス上で実行することができるスタンドアロンプログラム、ウェブブラウザ上で実行されるプログラム、モバイルコンピューティングデバイス(たとえば、携帯電話、スマートフォン、タブレットコンピュータ、ウエアラブルデバイス(腕時計、アームバンド、宝石、帽子、ゴーグル、眼鏡など)、ラップトップコンピュータなど)上で実行されるモバイルアプリケーション("app")において実行することができる。一例では、クライアント/サーバアーキテクチャを使用することができ、たとえば、モバイルコンピューティングデバイスが(クライアントデバイスとして)、ユーザ入力データをサーバデバイスに送り、サーバから最終出力データを出力のために(たとえば、表示のために)受信する。別の例では、すべての計算をモバイルコンピューティングデバイス上のモバイルapp(および/またはその他のapp)内で実行することができる。別の例では、計算をモバイルコンピューティングデバイスと1つまたは複数のサーバデバイスとの間で分割することができる。
【0116】
特定の実装形態に関して説明したが、これらの特定の実装形態は例示的なものに過ぎず、制限的なものではない。例示した概念は、他の例および実装形態に適用されてもよい。
【0117】
本開示において説明した機能ブロック、動作、機能、方法、デバイス、およびシステムが当業者に知られるシステム、デバイス、および機能ブロックのそれぞれに異なる組合せとして一体化または分割されてもよいことに留意されたい。特定の実装形態のルーチンを実施するために任意の適切なプログラミング言語およびプログラミング技法が使用されてもよい。たとえば、手続き型プログラミングまたはオブジェクト指向プログラミングなどのそれぞれに異なるプログラミング技法が使用されてもよい。ルーチンは、単一の処理デバイス上で実行されてもよく、または複数のプロセッサ上で実行されてもよい。ステップ、動作、または計算は特定の順序で提示されてもよいが、順序はそれぞれに異なる特定の実装形態において変更されてもよい。いくつかの実装形態では、本明細書では順次ステップまたは動作として示される複数のステップまたは動作は同時に実行されてもよい。
【符号の説明】
【0118】
100 ゲーム開発ツール
102 ユーザインターフェース
104 メニューバー
106 ツールバー
108 ワークスペースペイン
110 ツールボックスペイン
112 二次ペイン
114 二次ペイン
200 システム
202 ゲーム開発ツール
204 電子ゲーム
206 アクティビティトラッカー
207 信号
208 管理サーバ
210 ランキング
212 警告
214 出力
216 ストレージデバイス
300、302、304 タイムフレーム
306 データ
400 ランキング
402、404 警告
600 システムアーキテクチャ
602 オンラインゲーミングプラットフォーム
604 ゲームエンジン
606 ゲーム
608 管理サーバ
610 第1のクライアントデバイス
612 ゲームアプリケーション
614 ユーザインターフェース
616 第2のクライアントデバイス
618 ユーザインターフェース
620 ゲームアプリケーション
622 通信ネットワーク
624 ストレージデバイス
700 コンピューティングデバイス
702 プロセッサ
704 メモリ
706 入出力インターフェース
708 オペレーティングシステム
710 アプリケーション
712 データ
714 オーディオ/ビデオ入出力デバイス