(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024105265
(43)【公開日】2024-08-06
(54)【発明の名称】仮想コンソールゲーム用コントローラ
(51)【国際特許分類】
A63F 13/5255 20140101AFI20240730BHJP
A63F 13/2145 20140101ALI20240730BHJP
A63F 13/35 20140101ALI20240730BHJP
A63F 13/426 20140101ALI20240730BHJP
A63F 13/533 20140101ALI20240730BHJP
G06F 3/04845 20220101ALI20240730BHJP
G06F 3/04886 20220101ALI20240730BHJP
G06F 3/041 20060101ALI20240730BHJP
【FI】
A63F13/5255
A63F13/2145
A63F13/35
A63F13/426
A63F13/533
G06F3/04845
G06F3/04886
G06F3/041 530
【審査請求】有
【請求項の数】14
【出願形態】OL
【外国語出願】
(21)【出願番号】P 2024064094
(22)【出願日】2024-04-11
(62)【分割の表示】P 2022572411の分割
【原出願日】2021-04-27
(31)【優先権主張番号】17/084,242
(32)【優先日】2020-10-29
(33)【優先権主張国・地域又は機関】US
(71)【出願人】
【識別番号】502208397
【氏名又は名称】グーグル エルエルシー
【氏名又は名称原語表記】Google LLC
【住所又は居所原語表記】1600 Amphitheatre Parkway 94043 Mountain View, CA U.S.A.
(74)【代理人】
【識別番号】110001195
【氏名又は名称】弁理士法人深見特許事務所
(72)【発明者】
【氏名】ダン,フィ・ホアイ
(57)【要約】 (修正有)
【課題】モバイルデバイスでの仮想ボタン操作。
【解決手段】リモートゲーム用サーバによって実行されるビデオゲーム内でプレーヤを表わすアバターの複数のアクションを制御するように構成された少なくとも1つの仮想ボタンを有する仮想ゲームコントローラをモバイルデバイスのタッチスクリーンディスプレイ上に表示するシステムおよび方法を提供する。少なくとも1つの仮想ボタンとのプレーヤのインタラクションは、タッチスクリーンディスプレイを介して受信され、受信されたプレーヤインタラクションに基づいて制御信号を生成するために用いられる。制御信号は、ビデオゲームにおいて複数のアクションを実行するための命令としてビデオゲームによって翻訳可能である。制御信号は、ビデオゲームを実行するリモートゲーム用サーバによって受信されるようにモバイルデバイスから送信される。
【選択図】
図4
【特許請求の範囲】
【請求項1】
方法であって、
モバイルデバイスのタッチスクリーンディスプレイ上に仮想ゲームコントローラを表示するステップを含み、前記仮想ゲームコントローラは、リモートゲーム用サーバによって実行されるビデオゲーム内のプレーヤを表わすアバターの複数のアクションを制御するように構成された少なくとも1つの仮想ボタンを備え、前記方法はさらに、
前記タッチスクリーンディスプレイを介して、前記少なくとも1つの仮想ボタンとの前記プレーヤのインタラクションを受信するステップと、
受信された前記プレーヤのインタラクションに基づいて制御信号を生成するステップとを含み、前記制御信号は、前記ビデオゲームにおいて複数のアクションを実行するための命令として前記ビデオゲームによって翻訳可能であり、前記方法はさらに、
前記リモートゲーム用サーバによって受信されるように前記モバイルデバイスから前記制御信号を送信するステップを含む、方法。
【請求項2】
前記少なくとも1つの仮想ボタンは、ドラッグ可能な照準および移動ボタンを含み、前記照準および移動ボタンは、前記ビデオゲーム内の前記アバターの動きを制御するように構成されるとともに、前記プレーヤが前記タッチスクリーンディスプレイ上で前記照準および移動ボタンに関連付けられたタッチポイントをドラッグすることに基づいて、前記アバターによってオブジェクトに照準を合わせるように構成される、請求項1に記載の方法。
【請求項3】
前記制御信号を生成するステップはさらに、前記プレーヤが前記タッチポイントをドラッグすることに関連する位置情報を、前記アバターが前記ビデオゲーム内のオブジェクトに照準を合わせている位置として、前記ビデオゲームによって翻訳されるようにするための命令に変換するステップを含む、請求項2に記載の方法。
【請求項4】
前記制御信号を生成するステップはさらに、前記プレーヤが前記タッチポイントをドラッグすることに関連する位置情報を前記ビデオゲーム内の前記アバターの動きに変換するステップを含む、請求項2に記載の方法。
【請求項5】
前記少なくとも1つの仮想ボタンは、ドラッグ可能なポイントおよび射撃ボタンを含み、前記ポイントおよび射撃ボタンは、前記アバターについての視線方向を制御するように、かつ、前記ポイントおよび射撃ボタンに関連付けられた前記タッチスクリーンディスプレイ上のタッチポイントとのプレーヤの接触および前記プレーヤによる前記タッチポイントのドラッグに基づいて、前記ビデオゲームにおける前記アバターの制御下でオブジェクトをアクティブにするように構成される、請求項1に記載の方法。
【請求項6】
前記制御信号を生成するステップはさらに、前記タッチスクリーンディスプレイ上の前記ポイントおよび射撃ボタンに関連付けられた前記タッチポイントとの最初の接触を、前記ビデオゲームにおいて前記アバターによって制御される前記オブジェクトをアクティブにするように前記ビデオゲームによって翻訳されるようにするための命令に変換するステップを含む、請求項5に記載の方法。
【請求項7】
前記制御信号を生成するステップはさらに、前記プレーヤが前記タッチスクリーンディスプレイ上で前記ポイントおよび射撃ボタンに関連付けられた前記タッチポイントをドラッグすることに関連する位置情報を、前記アバターについての前記視線方向を移動させるように前記ビデオによって翻訳されるようにするための命令に変換するステップを含む、請求項5に記載の方法。
【請求項8】
デバイスであって、
ゲーム用サーバからのコンテンツを表示し、タッチスクリーンディスプレイとの接触を通じてプレーヤ入力を受信するように構成された前記タッチスクリーンディスプレイと、
プレーヤがアバターによって表わされているビデオゲームを実行する前記ゲーム用サーバと通信するように構成されたネットワークインターフェイスと、
少なくとも1つの処理ユニットとを含み、前記少なくとも1つの処理ユニットは、
前記ビデオゲームにおける前記アバターの複数のアクションを制御するように構成された仮想ボタンを含む仮想コントローラを表示し、
前記仮想ボタンに関連付けられた受信されたプレーヤ入力に基づいて、前記ビデオゲームにおいて前記アバターによって前記複数のアクションを実行するための命令として前記ビデオゲームによって翻訳されるべき制御信号を生成するように構成される、デバイス。
【請求項9】
前記仮想ボタンは、ドラッグ可能な照準および移動ボタンを含み、前記照準および移動ボタンは、前記ビデオゲーム内の前記アバターの動きを制御するように、かつ、前記プレーヤが前記タッチスクリーンディスプレイ上の前記照準および移動ボタンに関連付けられた前記タッチスクリーンディスプレイ上のタッチポイントをドラッグすることに基づいて、前記アバターによってオブジェクトに照準を合わせるように構成される、請求項8に記載のデバイス。
【請求項10】
前記少なくとも1つの処理ユニットはさらに、
前記プレーヤが前記タッチスクリーンディスプレイ上で前記タッチポイントをドラッグすることに関連する位置情報を、前記アバターが前記ビデオゲーム内のオブジェクトに照準を合わせている位置として前記ビデオゲームによって翻訳されるようにするための命令に変換することによって、
前記制御信号を生成するように構成される、請求項9に記載のデバイス。
【請求項11】
前記少なくとも1つの処理ユニットはさらに、
前記プレーヤが前記タッチスクリーン上で前記照準および移動ボタンに関連付けられた前記タッチポイントをドラッグすることに関連する位置情報を、前記ビデオゲーム内での前記アバターの動きとして前記ビデオゲームによって翻訳されるようにするための命令に変換することによって、
前記制御信号を生成するように構成される、請求項9に記載のデバイス。
【請求項12】
前記仮想ボタンは、ドラッグ可能なポイントおよび射撃ボタンを含み、前記ポイントおよび射撃ボタンは、前記タッチスクリーンディスプレイ上の前記ポイントおよび射撃ボタンに関連付けられたタッチポイントとのプレーヤの接触および前記プレーヤによる前記タッチポイントのドラッグに基づいて、前記アバターについての視線方向と、前記ビデオゲームにおける前記アバターの制御下でオブジェクトをアクティブにすることとを制御するように構成される、請求項8に記載のデバイス。
【請求項13】
前記少なくとも1つの処理ユニットはさらに、
前記タッチスクリーンディスプレイ上の前記ポイントおよび射撃ボタンに関連付けられた前記タッチポイントとの最初の接触を、前記ビデオゲームにおいて前記アバターによって制御される前記オブジェクトをアクティブにするように前記ビデオゲームによって翻訳されるようにするための命令に変換することによって、
前記制御信号を生成するように構成される、請求項12に記載のデバイス。
【請求項14】
前記少なくとも1つの処理ユニットはさらに、
前記プレーヤが前記タッチスクリーンディスプレイ上で前記ポイントおよび射撃ボタン
に関連付けられた前記タッチポイントをドラッグすることに関連する位置情報を、前記アバターについての前記視線方向を移動させるように前記ビデオゲームによって翻訳されるようにするための命令に変換することによって、
前記制御信号を生成するように構成される、請求項12に記載のデバイス。
【請求項15】
方法であって、
モバイルデバイスのタッチスクリーンディスプレイ上に仮想ゲームコントローラを表示するステップを含み、前記仮想ゲームコントローラは、リモートゲーム用サーバにおいて実行されるビデオゲーム内でプレーヤを表わすアバターの視線のプレーヤ制御をもたらすように構成された視野パニング領域を備え、前記方法はさらに、
前記タッチスクリーンディスプレイのタッチ接触を通じた前記プレーヤの前記視野パニング領域とのインタラクションを、直線速度入力として、前記タッチスクリーンディスプレイを介して受信するステップと、
受信された前記プレーヤのインタラクションに基づいて制御信号を生成するステップとを含み、前記制御信号は、前記ビデオゲームにおいて前記アバターの前記視線を調整するための命令として前記ビデオゲームによって翻訳されるように構成され、前記方法はさらに、
前記リモートゲーム用サーバによって受信されるように前記モバイルデバイスから前記制御信号を送信するステップを含む、方法。
【請求項16】
前記直線速度入力は、前記視野パニング領域内の前記タッチ接触の移動の方向および距離に基づいている、請求項15に記載の方法。
【請求項17】
前記制御信号を生成するステップはさらに、非線形信号を生成するために、前記直線速度入力にヒューリスティック関数を適用するステップを含む、請求項15に記載の方法。
【請求項18】
前記制御信号を生成するステップはさらに、前記非線形信号が閾値以上であるかどうかを判断するステップを含む、請求項17に記載の方法。
【請求項19】
前記制御信号を生成するステップはさらに、前記非線形信号が前記閾値以上であることに応答して、前記非線形信号を正規化して制限するステップを含む、請求項18に記載の方法。
【請求項20】
デバイスであって、
タッチスクリーンディスプレイを含み、前記タッチスクリーンディスプレイは、ゲーム用サーバからのコンテンツを表示するとともに、前記タッチスクリーンディスプレイとのタッチ接触を通じてプレーヤ入力を受信するように構成されており、前記デバイスはさらに、
プレーヤがアバターによって表わされているビデオゲームを実行する前記ゲーム用サーバと通信するように構成されたネットワークインターフェイスと、
少なくとも1つの処理ユニットとを含み、前記少なくとも1つの処理ユニットは、
視野パニング領域を含む仮想ゲームコントローラを前記タッチスクリーンディスプレイに表示するように構成され、前記視野パニング領域は、前記タッチスクリーンディスプレイのうち前記視野パニング領域に関連付けられた領域との前記プレーヤのインタラクションに基づいてビデオゲーム環境の前記アバターの視野を制御するように構成され、前記少なくとも1つの処理ユニットはさらに、
前記視野パニング領域との前記プレーヤのインタラクションに基づいて制御信号を生成するように構成され、前記制御信号は、前記ビデオゲーム環境の前記アバターの視野を調整するための命令として前記ビデオゲームによって翻訳されるように構成される、デバイス。
【請求項21】
前記視野パニング領域との前記プレーヤのインタラクションが直線速度入力として受信される、請求項20に記載のデバイス。
【請求項22】
前記少なくとも1つの処理ユニットはさらに、
非線形信号を生成するために、前記直線速度入力にヒューリスティック関数を適用することによって、
前記制御信号を生成するように構成される、請求項21に記載のデバイス。
【請求項23】
前記少なくとも1つの処理ユニットはさらに、
前記非線形信号が閾値以上であるかどうかを判断することによって、
前記制御信号を生成するように構成される、請求項22に記載のデバイス。
【請求項24】
前記少なくとも1つの処理ユニットはさらに、
前記非線形信号が前記閾値以上であることに応答して、前記非線形信号を正規化し、物理的なゲームコントローラスティック出力の信号範囲に対応する信号範囲内に制限することによって、
前記制御信号を生成するように構成される、請求項23に記載のデバイス。
【発明の詳細な説明】
【背景技術】
【0001】
背景
ビデオゲームコンテンツを表示したりプレーヤから入力を受信したりするために必要なハードウェアは、専用のコンピューティングデバイスまたはコンソール上でゲーム用ソフトウェアの物理的ハードコピーを実行するという仕組みから、ゲーム用ソフトウェアがインターネットを介してプレーヤによってアクセスされるリモートサーバ上で実行するクラウドベースのサービスへと進化してきた。クラウドベースのゲームでは、グラフィックスのレンダリングなどのゲームのリソース集約的な局面はプレーヤのローカルデバイスではなくサーバで実施される。このため、一般にコンソールまたはデスクトップコンピュータほど多くの計算能力またはメモリを持たない携帯電話およびタブレットなどのモバイルデバイスを用いても、画質を犠牲にすることなく、またはローカルの処理リソースを過剰に利用することなく、クラウドベースのビデオゲームをプレイすることができる。したがって、現在では、ビデオゲームはインターネット接続によりほとんどのデバイス上でプレイすることができるので、プレーヤは、もはや、ビデオゲームをプレイするための専用ハードウェアを所有しなければならないという必要性によって制限されることはない。
【0002】
ビデオゲームでは、ファーストパーソンゲームは、プレーヤのアバターの視点、またはプレーヤのアバターによって操作される車両の運転席もしくはコックピットからの視点からレンダリングされたグラフィカルな視野に基づいている。プレーヤの敵を射撃することまたは敵と戦闘することを目的とするゲームがファーストパーソンシューター(first person shooter:FPS)ゲームとして公知である。多くのFPSゲームでは、プレーヤのアバターの手と選択された武器とをメインビューに表示し、メインビューの横にあるヘッドアップディスプレイに健康状態、弾薬、位置、および他の詳細を表示している。プレーヤは、走ったり、避けたり、見渡したり、照準を合わせたり、発砲したりするなどのアクションを実行するために、キーボードとマウスとの組合せを用いるか、または指定されたボタンおよびスティックを備えた物理的なゲームコントローラ(たとえば、ゲームパッド)を用いることによって、ゲーム内でプレーヤ自身のアバターを移動させる。照準を合わせたり発砲したりするなどのこれらのアクションのうちのいくつかは同時に行なわれる必要があるので、キーボードもしくはマウスまたは物理的なゲームコントローラを用いて自身のアバターを制御するプレーヤは、複数本の指を用いて複数のボタンおよび/またはスティックを同時に作動させる。
【0003】
図面の簡単な説明
本開示は、添付の図面を参照することによってより良く理解されるとともに、その多数の特徴および利点が当業者にとって明らかになる。別々の図面において同じ参照符号を用いて同様または同一のアイテムを示している。
【図面の簡単な説明】
【0004】
【
図1】いくつかの実施形態に従った、タッチスクリーンディスプレイに表示される仮想ゲームコントローラを介してリモートクライアントデバイス上でのビデオゲームのユーザプレイを容易にするように構成されたクラウドゲーム用システムを示すブロック図である。
【
図2】いくつかの実施形態に従った、クライアントデバイスの例示的なハードウェアおよびソフトウェア構成を示すブロック図である。
【
図3】いくつかの実施形態に従った、クライアントデバイスの別の例示的なハードウェアおよびソフトウェア構成を示すブロック図である。
【
図4】いくつかの実施形態に従った、クライアントデバイスからビデオゲームを制御するための仮想コントローラの構成を示す図である。
【
図5】いくつかの実施形態に従った、クライアントデバイス上に表示されるべき仮想コントローラの別の構成を示す図である。
【
図6】いくつかの実施形態に従った、仮想コントローラにおいてユーザ入力を受信するための方法を示すフロー図である。
【
図7】いくつかの実施形態に従った、視野パニング領域において受信されるユーザ入力を、プレーヤのアバターの視線を調整するようにビデオゲームによって翻訳されるべき制御信号に変換するための方法を示すフロー図である。
【発明を実施するための形態】
【0005】
詳細な説明
プレーヤが、タッチスクリーンディスプレイを備えた携帯電話またはタブレットコンピュータなどのモバイルデバイス上でクラウドベースのビデオゲームをプレイする場合、モバイルデバイスのタッチスクリーンディスプレイは、ゲームのグラフィックスを表示すること、および、ユーザのアバターを制御するためにタッチすることによってユーザ入力を受信することの両方の役割を果たす。自身のアバターを操作するための制御をユーザに与えるために、仮想ゲームパッドをゲーム自体に重ね合わせて表示することができる。仮想ゲームパッドは、物理的なゲームパッドコントローラのボタンおよびスティックに対応する仮想ボタンで構成されており、このため、プレーヤが物理的なゲームパッドコントローラを保持している場合とほぼ同じ態様で、表示された仮想ボタンをタップするかまたは押すことによって、ユーザが自分のアバターを制御することが可能となる。しかしながら、ユーザは、しばしば、プレイ中にモバイルデバイスを保持および固定するために自身の手のひらおよび指が既に塞がっているので、仮想ゲームパッドの仮想ボタンを操作するために自身の親指しか利用することできない場合がある。これにより、複数の仮想ボタンを同時に操作することができなくなるので、ビデオゲームをプレイ中のユーザの体験が損なわれてしまう。
【0006】
図1~
図7に示されるゲーム用システムにおいては、モバイルデバイスに表示される仮想ゲームコントローラの仮想ボタンが、ビデオゲームのゲームプレイ時にプレーヤのアバターの複数のアクションを制御するように構成されており、このため、プレーヤは、モバイルデバイスのタッチスクリーンディスプレイを介して、親指だけを用いて、またはより一般的には1つまたは2つのタッチポイントだけを用いて、有効に広範囲のプレーヤ入力を与えることができるようになっている。さらに、いくつかの実施形態では、仮想ゲームコントローラの仮想エリアは、少なくとも1つのスティックコントローラを備えた物理的なゲームコントローラをプレーヤが用いているかのように、当該プレーヤがビデオゲーム内で自身のアバターのアクションを制御することを可能にするように構成されている。
【0007】
FPSビデオゲームの状況では、仮想ゲームコントローラは、典型的には仮想コントローラの左側に表示される仮想ボタンを含む。当該仮想ボタンは、プレーヤのアバターによって保持される武器に照準を合わせるとともにプレーヤのアバターをゲームのシーン内で移動させるように構成されている。仮想コントローラはまた、典型的には仮想コントローラの右側に表示される仮想ボタンを含む。当該仮想ボタンは、ビデオゲーム環境(すなわち、アバターがビデオゲーム内に位置するレンダリングされた自然風景または都市風景)のアバターの視野を調整するように、かつ、プレーヤのアバターが保持する武器を発砲するかまたは作動させるように構成されている。仮想ゲームコントローラのうちこのボタンと同じ側にある領域は、ビデオゲーム内のアバターの視線の方向を調整するようにも構成されている。ボタンの各々において受信されるとともに特別に構成された領域において受信されるプレーヤ入力は1つ以上の制御信号に変換される。当該1つ以上の制御信号は、あたかも物理的なゲームコントローラによってビデオゲームに与えられたかのようにビデオゲームによって翻訳される。すなわち、モバイルデバイスのディスプレイに表示される
仮想ゲームコントローラは、プレーヤによるモバイルデバイスのタッチスクリーンを介した仮想コントローラの操作に合わせて、3つ以上の同時タッチ入力を必要とすることなく、物理的なゲームコントローラの動作をエミュレートするように動作する。したがって、仮想ゲームコントローラは、プレーヤが、ビデオゲーム内のプレーヤ自身のアバターのアクションを制御するために、プレーヤの親指のみを用いて、仮想コントローラのうち同じ側にある複数の仮想ボタンまたは領域を同時に操作する必要なしに、プレーヤ自身のモバイルデバイス上でビデオゲームをプレイすることを可能にする。
【0008】
図1は、いくつかの実施形態に従った、タッチスクリーン対応の仮想ゲームコントローラを用いるリモートクライアントデバイス106を介したビデオゲーム110のクラウドベースのプレイのためのクラウドゲーム用システム100を示す。クラウドゲーム用システム100は、1つ以上のパケット交換ネットワーク108を介してクライアントデバイス106に接続されたゲーム用サーバ104を備えたデータセンタ102を含む。リモートゲーム用サーバ104は、ビデオゲームソフトウェアアプリケーション110(以下、「ビデオゲーム110」とする)を実行するように動作し、結果として、ビデオフレームのシーケンスがリアルタイムでレンダリングされることとなる。このビデオフレームのシーケンスは、クライアントデバイス106に送信されるビデオストリーム112に含まれるようにするためにゲーム用サーバ104が符号化し、場合によってはフォーマットするものである。クライアントデバイス106は、ビデオストリーム112を受信し、そこに含まれる符号化されたビデオフレームを復号し、復号されたビデオフレームを順番に表示して、レンダリングされたグラフィカルコンテンツのビデオ表示をプレーヤに提示するように動作する。オーディオコンテンツは、ビデオゲーム110を実行することによってゲーム用サーバ104により生成されるとともに、クライアントデバイス106に提供されて、同様の態様でプレーヤに出力される。
【0009】
クライアントデバイス106は、ネットワーク108を介してゲーム用サーバ104から送信されるビデオデータおよびオーディオデータを受信するためにネットワーク108に接続されたネットワークインターフェイス124と、送信されたビデオストリーム112のビデオフレームを復号および表示するとともに対応するオーディオコンテンツを出力するための計算リソース、ストレージリソース、およびディスプレイリソース(図示せず)とを含む。クライアントデバイス106は、動作中にプレーヤによって保持される多様な可動型または携帯型の電子デバイスのいずれかを含む。これら電子デバイスは、演算対応型の携帯電話(すなわち、「スマートフォン」)もしくはタブレットコンピュータを含むか、または、演算対応型の腕時計(すなわち、「スマートウォッチ」)もしくは他の着用可能な電子デバイスの場合などに、タッチスクリーン上を3回以上同時にタッチ出来なくするためにプレーヤによって一般に利用されるものである。
【0010】
いくつかの実施形態では、ゲーム用サーバ104で実行されるビデオゲーム110からのビデオコンテンツおよびオーディオコンテンツの処理および表示は、クライアントデバイス106で実行されるソフトウェアアプリケーションによって促進される。このソフトウェアアプリケーションは、たとえば、クラウドゲーム固有のソフトウェアアプリケーションを含み得る。他の実施形態では、より一般的なソフトウェアアプリケーションが利用され、ビデオストリーム112およびオーディオストリーム(図示せず)は、このソフトウェアアプリケーションと互換性を持たせるようにゲーム用サーバ104によってフォーマットおよび送信される。たとえば、一実施形態では、クライアントデバイス106は、ビデオストリーム112によって表わされるビデオコンテンツの表示と、関連するオーディオストリームによって表わされるオーディオコンテンツの出力とのためにハイパーテキストマークアップ言語(hypertext markup language:HTML)フォーマットを利用す
るウェブブラウザを利用しており、ゲーム用サーバ104は、ウェブブラウザを介して表示するためのHTMLフォーマットと互換性があるmp4またはMOVなどのフォーマッ
トでビデオストリーム112を提供する。
【0011】
ビデオゲーム110は、インタラクション型であるので、プレーヤ入力を利用して、プレーヤとのゲーム用セッションのゲームプレイ体験を少なくとも部分的に指示する。プレーヤ入力は、クライアントデバイス106のタッチスクリーンディスプレイ122に表示される仮想ゲームコントローラ116を介して少なくとも部分的に受信される。タッチスクリーンディスプレイ122は、レンダリングされたコンテンツをプレーヤに提示するための電子視覚ディスプレイを含む。当該電子視覚ディスプレイは、プレーヤがスクリーンと接触した結果生じる圧力、静電容量の変化、または光ビームの中断を検出するためのセンサで構成されるタッチスクリーンパネルに、直接的に、またはスタイラスもしくは他の機器を用いることによって、結合されている。仮想ゲームコントローラ116は、1つ以上のプレーヤ操作可能コンポーネント118を含む。当該プレーヤ操作可能コンポーネント118は、クライアントデバイス106のタッチスクリーンディスプレイ122を介してプレーヤによって操作されることに応答して、結果として、仮想ゲームコントローラ116の処理コンポーネントまたは仮想ゲームコントローラ116に関連する処理コンポーネントに、対応するプレーヤフィードバックデータを生成させ、当該プレーヤフィードバックデータを、プレーヤ入力ストリーム120の一部としてパケット交換ネットワーク108を介してゲーム用サーバ104に送信するように供給させる。プレーヤ操作可能コンポーネント118は、典型的には、送信されたビデオストリーム112において表わされるオーバーレイ表示されたグラフィカルコンテンツとして表示される。仮想ゲームコントローラ116は、概して、
図4を参照して以下でさらに説明するように、物理的なゲームパッドコントローラをエミュレートするように構成されている。
【0012】
参照を容易にするために、プレーヤ操作可能コンポーネント118は、本明細書では概して「仮想ボタン118」またはより概略的には「ボタン118」と称され、ボタンを「押すこと」またはボタンの「プレス」は、結果として、クライアントデバイス106が、タッチによるインタラクションを仮想ゲームコントローラ116との指定されたプレーヤインタラクションとして翻訳し、これにより、少なくとも1つの対応する制御信号を生成および送信することとなるような態様で、タッチスクリーンディスプレイ122上のプレーヤ操作可能コンポーネント118の位置に関連付けられた領域におけるタッチスクリーンディスプレイ122とのプレーヤのタッチまたは他の接触によるインタラクションであると理解されるだろう。
【0013】
仮想ゲームコントローラ116の仮想ボタン118のうち少なくともいくつかは、ビデオゲームのゲームプレイにおけるプレーヤのアバター126の複数のアクションを制御するように構成されており、これは、たとえば、あるプレーヤが同時に照準および射撃することが必要となり得るFPSビデオゲームの状況においては一般的である。仮想ゲームコントローラ116は、プレーヤが、タッチポイントを1つまたは2つだけ用いることによって広範囲のプレーヤ入力を行なうことを可能にし、これにより、プレーヤがプレーヤ入力を行なうために典型的には2本の親指しか利用することができないようなモバイルデバイス上でのビデオゲームのゲームプレイが容易になる。したがって、仮想コントローラは、プレーヤが、ビデオゲーム内のプレーヤ自身のアバターのアクションを制御するために、プレーヤの親指だけを用いて、仮想コントローラのうち同じ側にある複数の仮想ボタンまたは領域を同時に操作する必要なしに、プレーヤ自身のモバイルデバイス上でビデオゲームをプレイすることを可能にする。
【0014】
図2は、
図1のゲーム用サーバ104の概略的なハードウェア構成200およびソフトウェア構成202を示す。ハードウェア構成200によって示されるように、ゲーム用サーバ104は、1つ以上のプロセッサ、たとえば、1つ以上の中央処理装置(central processing unit:CPU)204、1つ以上のグラフィック処理装置(graphics processi
ng unit:GPU206)、1つ以上の特定用途向け集積回路(application-specific integrated circuit:ASIC)(図示せず)などを含む。ハードウェア構成200はさらに、ネットワーク108に結合されたネットワークインターフェイス208、1つ以上の入力/出力(input/output:I/O)デバイス210(キーボード、マウス、またはディスプレイなど)、1つ以上の大容量ストレージデバイス212(ハードドライブ、光ディスクドライブ、またはネットワーク接続ストレージなど)などを含む。ハードウェア構成200はさらに、1つ以上のプロセッサによってアクセス可能な少なくとも1つのランダムアクセスメモリ(random access memory:RAM)または他のシステムメモリ214を含む。システムメモリ214は、本明細書で説明するさまざまな動作を実行するように1つ以上のプロセッサを操作する実行可能命令を表わすプログラムコードを含む1つ以上のソフトウェアアプリケーションを格納している。これらのソフトウェアアプリケーションは、上述のビデオゲーム110、ならびにプラットフォームソフトウェア216と総称される1つ以上のソフトウェアアプリケーションのセットを含む。
【0015】
プラットフォームソフトウェア216は、ゲーム用サーバ104でのビデオゲーム110の実行を容易にするように動作する。いくつかの実現例では、ビデオゲーム110のゲーム開発者は、具体的には、ゲーム用サーバによって実行されるようにビデオゲーム110を構成しており、この場合、プラットフォームソフトウェア216は、ハードウェア構成200とビデオゲーム110との間のより透過的なインタラクションをもたらすアプリケーションプログラミングインターフェイス(application programming interface:A
PI)および他の「フック(hook)」を提供する。他の実施形態では、ビデオゲーム110は、パーソナルコンピュータ(personal computer:PC)プラットフォームまたはゲ
ームコンソールプラットフォームなどの特定のローカルハードウェアプラットフォーム用に開発されたものであり、この場合、プラットフォームソフトウェア216は、ビデオゲーム110とその予想されるローカルハードウェアプラットフォームとの間の典型的なインターフェイスをエミュレートし、これにより、ゲーム用サーバ104の基礎をなす実際のハードウェア構成200がビデオゲーム110に対してさほど透過的でなくなるようにする。プラットフォームソフトウェア216の例示的な構成およびビデオゲーム110とのそのインタラクションはソフトウェア構成202によって示されている。
【0016】
図示されるソフトウェア構成202では、プラットフォームソフトウェア216は、オペレーティングシステム(operating system:OS)218、ゲーム用サーバモジュール220、メディアサーバモジュール222、エンコーダモジュール224、プレーヤインタラクション型モジュール226、さらには、当技術分野で公知であるクラウドゲームの実行をサポートするための他のさまざまなモジュールを含む。OS218は、ゲーム用サーバ104の全体的な動作を管理し、ハードウェアコンポーネントとより高レベルのソフトウェア層との間のインターフェイスとして機能するように動作する。ゲーム用サーバモジュール220は、ゲームセッションの設定、セッション状態データおよび他のゲーム関連データの記憶、ゲームプレイ入力の処理、ならびにゲームプレイ入力に応じたゲームプレイ出力のレンダリングなどの、ビデオゲーム110に関連するサーバ側機能を提供するように動作する。メディアサーバモジュール222は、メディアストリーミングサイトをホストし、オンラインゲーム用セッションに関連する並行的な補助または補足メディアストリームを受信し、ビデオゲーム110の実行中にサポートされているゲーム用セッションと同時に表示するために、クライアントデバイス106に並行的なメディアストリーム(たとえば、
図1のビデオストリーム112)を提供するように動作する。エンコーダモジュール224は、メディアストリームを符号化してクライアントデバイス106に送信するように動作する。ゲーム用サーバ104のプロセッサリソースによって実行されるソフトウェアモジュールとして図示されているが、他の実施形態では、エンコーダモジュール224は、ASIC等のハードコード化された集積回路またはプログラム可能な論理集積回路として全体的または部分的に実装することができる。
【0017】
プレーヤインタラクション型モジュール226は、プレーヤ入力ストリーム120内のプレーヤ入力データを抽出し、当該プレーヤ入力データをプレーヤ入力として適切なフォーマットでビデオゲーム110に提示するように動作する。例示すると、プラットフォームソフトウェア216がPC、ゲームコンソール、または他のローカルゲーム用環境をエミュレートしている実現例では、プレーヤインタラクション型モジュール226は、ビデオゲーム110の1つ以上のインスタンスへの入力が、ゲーム用サーバ104からは離れておりネットワーク108を介して接続されている仮想ゲームコントローラ116からではなく、あたかも各インスタンスごとに物理的なゲームコントローラから入来するプレーヤ入力であるかのように、当該入力をエミュレートするように動作し得る。
【0018】
図3は、いくつかの実施形態に従ったクライアントデバイス106の例示的な実現例を示すブロック図である。クライアントデバイス106は、1つ以上の処理ユニット(CPU)302と、1つ以上のネットワークインターフェイス304と、メモリ306と、これらのコンポーネント(チップセットと称されることもある)を相互接続するための1つ以上の通信バス308とを含む。クライアントデバイス106は、キーボード、音声コマンド入力ユニット、タッチセンサ式入力パッド、ジェスチャキャプチャカメラ、または他の入力ボタンもしくは制御などの、プレーヤ入力を容易にする1つ以上の入力デバイス310を含む。クライアントデバイス106はまた、ユーザインターフェイスの提示およびコンテンツの表示を可能にする、1つ以上のスピーカおよび/または1つ以上の視覚ディスプレイを含む1つ以上の出力デバイス312を含む。クライアントデバイス106はまた、コンテンツをプレーヤに表示するとともにインターフェイスにおいてプレーヤから入力を受信するように構成されたタッチスクリーンディスプレイ122を含む。
【0019】
いくつかの実施形態では、クライアントデバイス106は、当該クライアントデバイス106の位置を判断するための、全地球測位衛星(global positioning satellite:GPS)受信機または他のジオロケーション受信機などの位置検出デバイス314をさらに含む。クライアントデバイス106はまた、他のクライアントデバイスが近接しているかどうかを判断するための近接検出デバイス315、たとえば赤外線(infrared:IR)センサを含み得る。クライアントデバイス106はまた、入力として用いられ得るクライアントデバイス106の動き、向き、および他のパラメータを検知するための1つ以上のセンサ313(たとえば、加速度計、ジャイロスコープなど)を含み得る。
【0020】
メモリ306は、ランダムアクセスメモリを含み、さらに、不揮発性メモリ、たとえば、1つ以上の磁気ディスクストレージデバイス、1つ以上の光ディスクストレージデバイス、1つ以上のフラッシュメモリデバイス、または1つ以上の他の不揮発性ソリッドステートストレージデバイスなどを含み得る。メモリ306は、さまざまなプログラム、モジュール、およびデータ構造、またはそれらのサブセットもしくはスーパーセットを格納する。メモリ306に格納される例示的なプログラムは、さまざまな基本システムサービスを処理するための手順およびハードウェア依存タスクを実行するための手順を含むオペレーティングシステム316と、1つ以上のネットワークインターフェイス304(有線または無線)および1つ以上のネットワーク108、たとえば、インターネット、他のワイドエリアネットワーク、ローカルエリアネットワーク、都市圏ネットワークなどを介して、クライアントデバイス106を他のデバイス(たとえば、ゲーム用サーバ104または他のクライアントデバイス)に接続するためのネットワーク通信モジュール318とを含む。
【0021】
いくつかの実施形態では、メモリは、1つ以上の出力デバイス312(たとえば、タッチスクリーンディスプレイ122)を介してクライアントデバイス106において情報(たとえば、アプリケーション、ウィジェット、ビデオゲームコンテンツなどを提示するた
めのグラフィカルユーザインターフェイス)の提示を可能にするためのユーザインターフェイスモジュール320を格納している。ユーザインターフェイスモジュール320は、1つ以上の入力デバイス310のうちの1つから1つ以上のプレーヤ入力またはインタラクションを検出し、検出された入力またはインタラクションを翻訳するための入力処理モジュール322を含む。いくつかの実施形態では、メモリ306は、仮想ゲームコントローラ116などの仮想ゲームコントローラを表示すること、ゲームセッションを設定すること、セッション状態データおよび他のゲーム関連データをローカルに格納すること、入力デバイス310および/またはタッチスクリーンディスプレイ122からゲームプレイ入力を受信すること、ならびに、ゲームプレイ入力に応答してゲームプレイ出力を提供することを含むがこれらに限定されない、1つ以上のゲーム用タイトルに関連するクライアント側機能を提供するためのクライアント側ゲームモジュール328を格納している。この場合、いくつかの実現例では、クライアント側ゲームモジュール328は、ビデオゲーム110を実装するリモートサーバ104にゲームプレイ出力を提供するように構成されている。
【0022】
いくつかの実施形態では、メモリ306は、共通のデバイス設定(たとえば、サービス層、デバイスモデル、記憶容量、処理能力、通信能力など)を含む、クライアントデバイス106自体に関連する情報を格納するためのクライアントデバイス設定334を格納している。クライアントデバイス設定は、アカウントアクセス情報、ゲーム内プレーヤの基本設定、ゲームプレイ履歴データ、および他のプレーヤに関する情報のうちの1つ以上を含む、ゲームアプリケーションのプレーヤアカウントに関連する情報を格納するためのゲームアプリケーション設定338と、ゲームアプリケーション328のためのクライアント側ゲームモジュール328の構成に関連する情報を格納するためのゲームコントローラ構成340と、ローカルゲームセッションデータ344とを含む。ローカルゲームセッションデータ344は、さまざまなゲーム用タイトルに関連してクライアントデバイス106上で実行されるオンラインゲーム用セッションに関連する情報、たとえば、最新のステータス情報、テクスチャページ、頂点ページ、定数ページ、およびオンラインゲーム用セッションの各々に関連付けられた1つ以上の画像フレームのフレームデータを含む。
【0023】
上記で識別された要素の各々は、前述のメモリデバイスのうちの1つ以上に格納され得るとともに、上述した機能を実行するための命令のセットに対応している。上記で識別されたモジュールまたはプログラム(すなわち、命令のセット)は、別個のソフトウェアプログラム、手順、モジュール、またはデータ構造として実装される必要はなく、このため、さまざまな実現例では、これらのモジュールのさまざまなサブセットが組合わされてもよく、または再構成されてもよい。いくつかの実現例では、メモリ306は、上記で識別されたモジュールのサブセットおよびデータ構造を格納している。さらに、メモリ306は、上述しなかった追加のモジュールおよびデータ構造を格納していてもよい。
【0024】
図4は、ビデオゲーム110などのビデオゲームを制御するためのプレーヤ入力を受信するための仮想ゲームコントローラ416(仮想ゲームコントローラ116の一実施形態)の例示的な構成を示す。仮想ゲームコントローラ416は、クライアントデバイス106のタッチスクリーンディスプレイ122の右側および左側のいずれかまたは両方に仮想ボタン118を表示するように構成されており、これにより、プレーヤがデバイスを保持する際にプレーヤ自身の親指および他の指で仮想ボタンを操作することができるようになっている。仮想ボタン118は、あたかもプレーヤがプレーヤ入力をビデオゲーム110に与えるために物理的なゲームコントローラを用いているかのように、ビデオゲーム110におけるプレーヤ自身のアバターの制御範囲内でプレーヤ自身のアバター126およびオブジェクトを操作するために、プレーヤ入力を(タッチスクリーンディスプレイ122を介して)「受信する」ように構成されている。多数の仮想ボタン118、およびそれらの組合わせは、仮想ゲームコントローラ416によって実装され得るとともに、ビデオゲ
ーム110およびプレーヤのゲーム体験のさまざまな局面を制御するためにプレーヤ入力を受信するように構成され得るが、説明を容易にするために、以下では、仮想ボタン118のうちのいくつかおよびそれらの機能だけが詳細に説明されており、他のボタン118の機能および動作は以下の説明に基づいて容易に理解されるだろう。
【0025】
ファーストパーソンシューター(FPS)ビデオゲームの状況では、左トリガーボタン402は、プレーヤのアバター126が保持する武器410またはオブジェクトに対してサイトを覗いて照準を合わせる(aiming down sight:ADS)ために用いられる。左ス
ティックボタン404は、ビデオゲーム110内でプレーヤのアバター126を移動させるように構成される。右スティックボタン406は、ビデオゲーム110内でプレーヤのアバター126の視点412をパンするように構成されており、右トリガボタン408は、ビデオゲーム110内でアバター126の制御範囲内でオブジェクトをアクティブにするかまたは武器410を発砲するように構成される。物理的なゲームコントローラでは、右スティックは、当該スティックがその元の中心位置から遠ざかるにつれて、ビデオゲーム110環境のアバターの視野412がより高速でより遠くに変更されるように、速度ベースのフィードバックをビデオゲーム110に与える。仮想ゲームコントローラ116の右スティックボタン406は、当該右スティックボタン406がプレーヤによってその元の位置からどれだけ遠くまでドラッグされるかに基づいてアバターの視野412を調整することによって、物理的なゲームパッド上の右スティックの速度ベースの機能をエミュレートするように構成されている。この結果、右スティックボタン406の比較的小さな動きが、アバターの視野412の大きな変化に変換され、したがって、アバターの視野を正確に移動させることが困難になる。
【0026】
説明される構成では、プレーヤは、概して、アバター126の特定の移動およびアクションを達成するために、仮想ボタン118のいくつかの組合わせを同時に操作する必要がある。たとえば、ビデオゲーム110内でターゲットの位置を特定して照準を合わせるために、プレーヤは、典型的には、左スティックボタン404を操作することによって自身のアバター126が動いている方向を同時に操作しながら、自分のアバター126が保持している武器410でサイトを覗いて照準を合わせるために左トリガボタン402を保持する必要がある。また、たとえば、武器410を発砲しながらアバターの視野412を変更するために、プレーヤが右スティックボタン406と右トリガボタン408とを同時に操作する必要があることも一般的である。しかしながら、デバイスを保持しているとき、プレーヤは、概して、仮想ボタン118を操作するために親指しか利用することができず、このため、複数の仮想ボタン118を同時に制御することが困難になる。
【0027】
図5は、いくつかの実施形態に従ったクライアントデバイス106の仮想コントローラ516(仮想ゲームコントローラ116の別の実施形態)の例示的な構成を示す。仮想コントローラ516は、クライアントデバイス106のタッチスクリーン122の右側および左側の両方に仮想ボタン118を表示するように構成されており、これにより、プレーヤがデバイスを保持しているときにプレーヤ自身の親指だけでボタンを操作することができるようになる。ある実施形態では、ドラッグ可能な照準および移動ボタン502が設けられており、プレーヤの左親指によって操作可能となるようにタッチスクリーンの左側に表示されている。照準および移動ボタン502は、タッチスクリーン122の領域内でドラッグ可能となるように構成されている。プレーヤが照準および移動ボタン502をドラッグすることにより、結果として、プレーヤのアバター126が自身の制御範囲内でオブジェクト510に照準を合わせるのと同時に、ビデオゲーム110内でプレーヤのアバター126が移動する。したがって、照準および移動ボタン502は、
図4に示す仮想ゲームコントローラ416の左トリガボタン402と左スティックボタン404との機能を組合わせたものである。照準および移動ボタン502は、クライアントデバイス106のタッチスクリーン122の左側に位置決めされるものとして図示および説明されているが、
仮想コントローラ516のボタンのレイアウトは、タッチスクリーン122上の任意の位置に表示されるようにプレーヤによって構成可能である。
【0028】
ある実施形態では、ドラッグ可能なポイントおよび射撃ボタン504が設けられており、クライアントデバイス106のタッチスクリーン122の右側に表示されている。ポイントおよび射撃ボタン504は、タッチスクリーン122の領域内でドラッグ可能となるように構成されている。ポイントおよび射撃ボタン504はまた、プレーヤが最初にボタン504に触れたとき、当該プレーヤがポイントおよび射撃ボタン504を保持している限り、プレーヤのアバター126が保持しているライフルなどのオブジェクト510をアクティブにするように構成されている。ポイントおよび射撃ボタン504はさらに、プレーヤがタッチスクリーン122の領域内でポイントおよび射撃ボタン504をドラッグすることに応答して、プレーヤのアバターが見ている方向を調整するように構成されている。このため、プレーヤは、タッチスクリーン122の領域内でポイントおよび射撃ボタン504を押さえてドラッグすることにより、発砲しながら自身のアバター126の視線を方向付けるか、または、アバターの制御範囲内でオブジェクトをアクティブにすることができる。仮想コントローラ516のポイントおよび射撃ボタン504は、本質的には、
図4に示す仮想コントローラ416の右トリガボタン408および右スティックボタン406の機能を組合わせたものである。ポイントおよび射撃ボタン504は、クライアントデバイス106のタッチスクリーン122の右側に位置決めされるものとして図示および説明されているが、仮想コントローラ516のボタン118のレイアウトは、タッチスクリーン122上の任意の位置に表示されるようにプレーヤによって構成可能である。
【0029】
ある実施形態では、仮想コントローラ516は、タッチスクリーン122の右側に関連付けられた定義領域506(以下、「視野パニング(panning)領域506」と称する)
で構成されている。当該視野パニング領域506は、プレーヤが視野パニング領域506内でタッチスクリーン122に接触したことに基づいて、当該プレーヤがビデオゲーム110環境のアバターの視野512の方向を調整することを可能にする。視野パニング領域506は、タッチスクリーンディスプレイ122のうち視野パニング領域506に関連付けられた領域へのタッチ接触によって与えられる特定のプレーヤ入力が、視野パニング領域506内のタッチスクリーン122に対するプレーヤの接触位置までアバターの視野512を移動させるように、かつ、プレーヤが視野パニング領域506内で接触点を移動させるのに応じてアバターの視野512をパンし続けるように機能するように構成されている。視野パニング領域506を用いることにより、プレーヤは、ビデオゲーム110環境のプレーヤ自身のアバターの視野512を正確に調整することができる。クライアントデバイス106を保持するプレーヤとって便利にアクセスできるようにするために、視野パニング領域506は、プレーヤの同じ側の手の手のひらおよび指がクライアントデバイス106を保持するのに塞がっている間、プレーヤの親指が当該視野パニング領域506に届き得るようなサイズおよび位置に設定することができる。
【0030】
図6は、いくつかの実施形態に従った、クライアントデバイス106に表示される仮想ゲームコントローラ116を介して与えられるプレーヤ入力に基づいて、クラウドベースのゲーム用システム100におけるビデオゲーム110のゲームプレイを制御するための方法600を示す。プレーヤによってゲーム用セッションを開始した後、ブロック602において、ビデオゲームコンテンツおよび仮想ゲームコントローラ116がクライアントデバイス106に表示される。
図5の実施形態を参照して上述したように、仮想ゲームコントローラ116はたとえば1つ以上の仮想ボタン118を含み得る。当該1つ以上の仮想ボタン118は、少なくとも、タッチスクリーンディスプレイ122の一方側(たとえば、左側)に配置される照準および移動ボタン502と、タッチスクリーンディスプレイ122の反対側(たとえば、右側)に配置されるポイントおよび射撃ボタン504とを含む。ある実施形態では、仮想ゲームコントローラ116は、タッチスクリーン122の右
側に配置される視野パニング領域506を含む。
【0031】
プレーヤ入力は、ブロック604、610および616のうちの1つ以上によって表わされるように、タッチスクリーンディスプレイ122のうち関連する領域とのプレーヤ接触を通じて、仮想ゲームコントローラ116の仮想ボタン118および視野パニング領域506とのプレーヤインタラクションを介して受信される。たとえば、プレーヤは、ボタン502、504の各々に関連付けられたタッチスクリーンディスプレイ122の領域に接触し、タッチスクリーンディスプレイ122と接触したままで、プレーヤの手のひらおよび指がクライアントデバイス106を保持するために塞がっている間、プレーヤの親指が到達可能なタッチスクリーンディスプレイ122の領域内でボタン502、504を移動させることによって、照準および移動ボタン502およびポイントおよび射撃ボタン504を操作することができる。同様に、プレーヤは、タッチスクリーン122のうち視野パニング領域506に関連付けられた部分に接触し、タッチスクリーン122と接触したままで、視野パニング領域506内で接触点を移動させることによって、アバターの視線の方向を変更するようにビデオゲーム110に指示することができる。
【0032】
次いで、受信されたプレーヤ入力が制御信号に変換され、変換された制御信号が送信されて、ゲーム用サーバ104によって受信され、プレーヤ入力ストリーム120の一部としてビデオゲーム110に与えられ、さらには、ビデオゲーム110においてアクションを実行するための命令としてビデオゲーム110によって翻訳可能である。たとえば、仮想ゲームコントローラ116の仮想ボタン118に関連付けられたプレーヤのタッチポイントの移動に関する位置情報は、制御信号に変換されてビデオゲーム110に与えられ、当該ビデオゲーム110において特定のアクティビティを実現するための命令として翻訳されることとなる。ある実施形態では、ブロック606において、照準および移動ボタン502のプレーヤ操作を通じて受信されるプレーヤ入力は、プレーヤが照準および移動ボタン502を移動させる方向および距離に基づいて、ビデオゲーム110環境内でプレーヤのアバター126を移動させるための命令として、ビデオゲーム110によって翻訳可能な制御信号に変換される。照準および移動ボタン502を介して受信されるプレーヤ入力も、ブロック608において、アバターの制御範囲内でオブジェクトに照準を合わせるための命令としてビデオゲームによって翻訳可能な制御信号に変換される。
【0033】
ある実施形態では、ポイントおよび射撃ボタン504のプレーヤ操作を通じて受信されるプレーヤ入力は、ブロック612において、プレーヤがポイントおよび射撃ボタン504を移動させる方向および距離に基づいて、ビデオゲーム110環境のうちのさまざまな部分を見るためにあたかもアバターが自身の頭または目を動かしているかのように、アバター126の視線の方向を変更するための命令として、ビデオゲーム110によって翻訳可能な制御信号に変換される。ポイントおよび射撃ボタン504を介して受信されたプレーヤ入力はまた、ブロック614において、アバターの制御範囲内でオブジェクトをアクティブにするための命令として、または、武器を発砲し、プレーヤがポイントおよび射撃ボタン504を離すまで発砲を続けるための命令として、ビデオゲーム110によって翻訳可能な制御信号に変換される。
【0034】
ある実施形態では、視野パニング領域506内のプレーヤ接触を通じて受信されるプレーヤ入力は、ブロック618において、視野パニング領域506内の接触が開始された位置と当該接触が中断された位置とに基づいて、アバター126の視線の方向を変更するための命令として、ビデオゲーム110によって翻訳可能な制御信号に変換される。
【0035】
ブロック620において、仮想ゲームコントローラ116を介して受信されたプレーヤ入力に基づいて生成された制御信号は、プレーヤ入力ストリーム120を介してゲーム用サーバ104に提供される。ブロック622において、ビデオゲーム110は、提供され
た制御信号を翻訳する。ビデオゲーム110によって制御されるゲーム用サーバ104は、次いで、ブロック624において、実装された制御信号に基づいてビデオコンテンツをレンダリングし、クライアントデバイス106において表示するためのビデオコンテンツを提供する。
【0036】
図7は、
図6のブロック618に示されるように視野パニング領域において受信されるプレーヤ入力を、プレーヤのアバター126の視線を調整するようにビデオゲーム110によって翻訳されるべき制御信号に変換するための方法700を示すフロー図である。視野パニング領域506は、物理的なゲームコントローラの右スティックの機能をエミュレートするように構成されており、このため、視野パニング領域506内で接触点を迅速に移動させると、結果として、あたかも物理的なコントローラの右スティックがデフォルトの中心位置から遠い位置に動かされるかのようにビデオゲーム110によって翻訳可能な制御信号が得られる。ビデオゲーム110内において結果として得られるアクションは、アバターの視線が、視野パニング領域506内でプレーヤが移動した方向へと素早くパンするというアクションである。同様に、視野パニング領域506内で接触点をゆっくりと移動させると、結果として、物理的なコントローラの右スティックがあたかもデフォルトの中心位置に近い位置に動かされるかのようにビデオゲーム110によって翻訳可能な制御信号が得られ、このため、アバターの視線は、視野パニング領域506内でプレーヤが移動した方向へとゆっくりとパンすることとなる。
【0037】
物理的なゲームコントローラの右スティックの動きとしてビデオゲーム110によって翻訳可能な制御信号の生成は、視野パニング領域506内の接触点の動きの直線速度を非線形信号(たとえば、ビデオゲーム110が物理的なゲームコントローラの右スティックから受信するであろう信号に厳密にマッチする非線形信号)に変換するためにヒューリスティック関数を用いることによって、達成される。したがって、ブロック702において、プレーヤが視野パニング領域506内で接触点をある速度で所望の方向に移動させることにより、視野パニング領域506において、プレーヤ入力が直線速度の形式で受信される。ブロック704において、直線速度入力を非線形信号に変換するために、視野パニング領域506において受信される速度入力にヒューリスティック関数が適用される。ブロック706によって示されるように、変換された信号が、定義された閾値よりも小さい場合、ブロック708において、当該変換された信号は仮想ゲームコントローラ116によって無視され(すなわち、仮想ゲームコントローラ116の作用を受けず)、制御信号がビデオゲーム110に送信されない。これにより、触感覚および制御を改善することもでき、結果として、特定のアクションのみが制御信号を生成するためのトリガとして翻訳されることとなる。これにより、動作誤差も減らすことができる。変換された信号が閾値以上である場合、ブロック710において、変換された信号が正規化され、物理的なゲームコントローラの右スティックによって出力されるであろう信号値の範囲(すなわち、信号範囲)内の値に制限される。次いで、ブロック712において、正規化されて制限された制御信号がビデオゲーム110に送信されて、プレーヤのアバター126の視野を動かすための命令として翻訳されることとなる。
【0038】
いくつかの実施形態では、上述した技術のいくつかの局面は、ソフトウェアを実行する処理システムの1つ以上のプロセッサによって実現され得る。ソフトウェアは、非一時的なコンピュータ可読記憶媒体に格納されるかまたは当該非一時的なコンピュータ可読記憶媒体上で有形に具現化された実行可能命令の1つ以上のセットを含む。ソフトウェアは、1つ以上のプロセッサによって実行されると、上述した技術の1つ以上の局面を実行するように1つ以上のプロセッサを操作する命令といくつかのデータとを含み得る。非一時的なコンピュータ可読記憶媒体は、たとえば、磁気もしくは光ディスクストレージデバイス、ソリッドステートストレージデバイス、たとえば、フラッシュメモリ、キャッシュ、ランダムアクセスメモリ(random access memory:RAM)、または他の不揮発性メモリデ
バイスなどを含み得る。非一時的なコンピュータ可読記憶媒体に格納される実行可能命令は、ソースコード、アセンブリ言語コード、オブジェクトコード、または1つ以上のプロセッサによって翻訳されるかまたは実行可能である他の命令フォーマットであってもよい。
【0039】
コンピュータ可読記憶媒体は、命令および/またはデータをコンピュータシステムに提供するために使用中にコンピュータシステムによってアクセス可能な任意の記憶媒体または記憶媒体の組合せを含み得る。このような記憶媒体は、光学媒体(たとえば、コンパクトディスク(compact disc:CD)、デジタル多用途ディスク(digital versatile disc:DVD)、ブルーレイディスク)、磁気媒体(たとえば、フロッピー(登録商標)ディスク、磁気テープ、もしくは磁気ハードドライブ)、揮発性メモリ(たとえば、ランダムアクセスメモリ(RAM)もしくはキャッシュ)、不揮発性メモリ(たとえば、読取り専用メモリ(read-only memory:ROM)もしくはフラッシュメモリ)、または微小電気機械システム(microelectromechanical systems:MEMS)ベースの記憶媒体を含み得るが、これらに限定されない。コンピュータ可読記憶媒体は、コンピューティングシステム(たとえば、システムRAMもしくはROM)に埋込まれてもよく、コンピューティングシステム(たとえば、磁気ハードドライブ)に固定して取付けられてもよく、コンピューティングシステム(たとえば、光ディスクまたはユニバーサルシリアルバス(Universal Serial Bus:USB)ベースのフラッシュメモリ)に取外し可能に取付けられてもよく、または、有線もしくは無線ネットワーク(たとえば、ネットワークアクセス可能ストレージ(network accessible storage:NAS))を介してコンピュータシステムに結合されてもよい。
【0040】
概略的な説明において上述されたアクティビティまたは要素のすべてが必要とされるわけではなく、特定のアクティビティまたはデバイスの一部は必要とされない可能性もあり、説明されたものに加えて1つ以上のさらなるアクティビティが実行され得るか、または説明されたものに加えていくつかの要素が含まれ得ることに留意されたい。さらに、アクティビティが列挙される順序は、必ずしもそれらが実行される順序ではない。また、特定の実施形態を参照して概念が説明されてきた。しかしながら、当業者は、添付の特許請求の範囲に記載される本開示の範囲から逸脱することなく、さまざまな修正および変更が実施可能であることを理解する。したがって、明細書および図は限定的な意味ではなく例示的な意味で解釈されるべきであり、全てのそのような修正は本開示の範囲内に含まれるよう意図されている。
【0041】
利益、他の利点、および問題に対する解決策について、特定の実施形態に関して上述してきた。しかしながら、これらの利益、利点、問題に対する解決策、および任意の利益、利点、もしくは解決策をもたらし得るか、またはより顕著にさせ得る任意の特徴は、いずれかの請求項または全ての請求項の重要な特徴、必要な特徴、または本質的な特徴として解釈されるべきではない。さらに、上記に開示された主題が修正および実施され得るさまざまな但し同等な態様は、本明細書の教示の利益を有する当業者にとって明白であるため、上記に開示された特定の実施形態は例示にすぎない。添付の特許請求の範囲に記載されるもの以外に、本明細書に示される構造または設計の詳細を限定することは意図されていない。したがって、上記に開示された特定の実施形態は変更または修正され得るとともに、すべてのそのような変形は、開示された主題の範囲内であると見なされることが明らかである。したがって、本明細書で求められる保護は、添付の特許請求の範囲に記載されるとおりである。
【手続補正書】
【提出日】2024-05-09
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
方法であって、
モバイルデバイスのタッチスクリーンディスプレイ上に仮想ゲームコントローラを表示するステップを含み、前記仮想ゲームコントローラは、リモートゲーム用サーバにおいて実行されるビデオゲーム内でプレーヤを表わすアバターの視線のプレーヤ制御をもたらすように構成された視野パニング領域を備え、前記方法はさらに、
前記タッチスクリーンディスプレイのタッチ接触を通じた前記視野パニング領域とのプレーヤインタラクションを、直線速度入力として、前記タッチスクリーンディスプレイを介して受信するステップと、
受信された前記プレーヤインタラクションに基づいて制御信号を生成するステップとを含み、前記制御信号は、前記ビデオゲームにおいて前記アバターの前記視線を調整するための命令として前記ビデオゲームによって翻訳されるように構成され、前記方法はさらに、
前記リモートゲーム用サーバによって受信されるように前記モバイルデバイスから前記制御信号を送信するステップを含む、方法。
【請求項2】
前記直線速度入力は、前記視野パニング領域内の前記タッチ接触の移動の方向および距離に基づいている、請求項1に記載の方法。
【請求項3】
前記制御信号を生成するステップはさらに、非線形信号を生成するために、前記直線速度入力にヒューリスティック関数を適用するステップを含む、請求項1または2に記載の方法。
【請求項4】
前記制御信号を生成するステップはさらに、前記非線形信号が閾値以上であるかどうかを判断するステップを含む、請求項3に記載の方法。
【請求項5】
前記制御信号を生成するステップはさらに、前記非線形信号が前記閾値以上であることに応答して、前記非線形信号を正規化し、物理的なゲームコントローラスティック出力の信号範囲に対応する信号範囲内に制限するステップを含む、請求項4に記載の方法。
【請求項6】
前記制御信号を生成するステップはさらに、前記非線形信号が前記閾値未満であることに応答して、前記非線形信号を無視するステップを含む、請求項4または5に記載の方法。
【請求項7】
前記制御信号を生成するステップはさらに、前記視野パニング領域と最初に接触する第1の位置と、前記視野パニング領域のうち前記視野パニング領域との接触が中断される第2の位置とに基づいて前記制御信号を生成するステップを含む、請求項1~6のいずれかに記載の方法。
【請求項8】
デバイスであって、
タッチスクリーンディスプレイを含み、前記タッチスクリーンディスプレイは、ゲーム用サーバからのコンテンツを表示するとともに、前記タッチスクリーンディスプレイとのタッチ接触を通じてプレーヤ入力を受信するように構成されており、前記デバイスはさらに、
プレーヤがアバターによって表わされているビデオゲームを実行する前記ゲーム用サーバと通信するように構成されたネットワークインターフェイスと、
少なくとも1つの処理ユニットとを含み、前記少なくとも1つの処理ユニットは、
視野パニング領域を含む仮想ゲームコントローラを前記タッチスクリーンディスプレイに表示するように構成され、前記視野パニング領域は、前記タッチスクリーンディスプレイのうち前記視野パニング領域に関連付けられた領域との前記プレーヤ入力に基づいてビデオゲーム環境の前記アバターの視野を制御するように構成され、前記少なくとも1つの処理ユニットはさらに、
前記視野パニング領域との前記プレーヤ入力に基づいて制御信号を生成するように構成され、前記制御信号は、前記ビデオゲーム環境の前記アバターの視野を調整するための命令として前記ビデオゲームによって翻訳されるように構成される、デバイス。
【請求項9】
前記視野パニング領域との前記プレーヤ入力が直線速度入力として受信される、請求項8に記載のデバイス。
【請求項10】
前記少なくとも1つの処理ユニットはさらに、
非線形信号を生成するために、前記直線速度入力にヒューリスティック関数を適用することによって、
前記制御信号を生成するように構成される、請求項9に記載のデバイス。
【請求項11】
前記少なくとも1つの処理ユニットはさらに、
前記非線形信号が閾値以上であるかどうかを判断することによって、
前記制御信号を生成するように構成される、請求項10に記載のデバイス。
【請求項12】
前記少なくとも1つの処理ユニットはさらに、
前記非線形信号が前記閾値以上であることに応答して、前記非線形信号を正規化し、物理的なゲームコントローラスティック出力の信号範囲に対応する信号範囲内に制限することによって、
前記制御信号を生成するように構成される、請求項11に記載のデバイス。
【請求項13】
前記少なくとも1つの処理ユニットはさらに、
前記非線形信号が前記閾値未満であることに応答して、前記非線形信号を無視することによって、
前記制御信号を生成するように構成される、請求項11または12に記載のデバイス。
【請求項14】
前記少なくとも1つの処理ユニットはさらに、
前記視野パニング領域と最初に接触する第1の位置と、前記視野パニング領域のうち前記視野パニング領域との接触が中断される第2の位置とに基づいて前記制御信号を生成することによって、
前記制御信号を生成するように構成される、請求項8~13のいずれかに記載のデバイス。
【手続補正2】
【補正対象書類名】図面
【補正方法】変更
【補正の内容】
【外国語明細書】