(57)【特許請求の範囲】
【請求項１】
ポインティングデバイスのカーソルの動きを移動ベクトルとして取得する移動ベクトル取得部と、
アプリケーションの実行画面と前記アプリケーション内の操作対象を操作するための操作領域を表示する表示部と、
前記移動ベクトル取得部が取得した前記操作領域内におけるポインティングデバイスのカーソルの移動ベクトルを前記操作対象の表示位置の移動に対応づける変換部とを含み、
前記表示部は、前記実行画面を表示する表示画面と同一画面中の異なる領域に、前記操作領域を表示することを特徴とする情報処理装置。
【請求項２】
前記表示部は、前記移動ベクトルを算出するための起点となる始点位置を前記操作領域内に表示し、
前記移動ベクトル取得部は、始点位置を始点とし、ポインティングデバイスのカーソル位置を終点とするベクトルを、前記移動ベクトルとして取得することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記移動ベクトル取得部は、
前記始点位置を始点とし、ポインティングデバイスのカーソル位置を終点とするベクトルを求める第１ベクトル取得部と、
所定のサンプリング間隔で前記ポインティングデバイスのカーソル位置をサンプリングし、最も新しくサンプリングしたカーソル位置を終点とし、ひとつ前にサンプリングしたカーソル位置を始点とするベクトルを求める第２ベクトル取得部と、
前記第２ベクトル取得部が求めた移動ベクトルの長さと前記サンプリング間隔とをもとにカーソルの移動速度を求める移動速度取得部と、
前記移動速度取得部が求めた移動速度が所定のベクトル選択基準速度以下の場合、前記第１ベクトル取得部が求めたベクトルを前記移動ベクトルとして選択し、前記移動速度取得部が求めた移動速度がベクトル選択基準速度を超えた場合、前記第２ベクトル取得部が求めたベクトルを前記移動ベクトルとして選択する移動ベクトル選択部とを含むことを特徴とする請求項２に記載の情報処理装置。
【請求項４】
情報処理装置と、ネットワークを介して前記情報処理装置にアプリケーションを提供するサーバとを含むアプリケーション提供システムであって、
アプリケーションを実現するためのプログラムを格納した記録部と、
アプリケーションを提供するアプリケーション提供部と、
アプリケーションの実行画面を表示する表示部と、
前記情報処理装置におけるポインティングデバイスのカーソルの動きを移動ベクトルとして取得する移動ベクトル取得部と、
前記移動ベクトルを、アプリケーション内の操作対象の現在位置の移動に対応づける変換部とを含み、
前記表示部は、当該表示部の表示画面においてアプリケーションの実行画面を表示するとともに、前記表示画面と同一画面中の異なる領域に、前記移動ベクトルを取得するための操作領域を表示し、
前記情報処理装置は、前記表示部と前記移動ベクトル取得部とを含み、
前記サーバは、前記記録部を含み、
前記アプリケーション提供部と前記変換部とは、前記情報処理装置または前記サーバの少なくともいずれか一方に含まれることを特徴とするアプリケーション提供システム。
【請求項５】
前記アプリケーション提供部は、前記記録部に格納されているプログラムを実行することでアプリケーションの提供を実現するものであり、
前記情報処理装置のプロセッサと前記サーバのプロセッサとの少なくともいずれか一方が、前記プログラムを実行することを特徴とする請求項４に記載のアプリケーション提供システム。
【請求項６】
情報処理装置と、ネットワークを介して前記情報処理装置にアプリケーションを提供するサーバとを含むシステムで実行されるアプリケーション提供方法であって、
アプリケーションを実現するためのプログラムを格納した記録部からプログラムを取得するプログラム取得ステップと、
アプリケーションを提供するアプリケーション提供ステップと、
前記情報処理装置におけるポインティングデバイスのカーソルの動きを移動ベクトルとして取得する移動ベクトル取得ステップと、
表示画面においてアプリケーションの実行画面を表示するとともに、前記表示画面と同一画面中の異なる領域に前記移動ベクトルを取得するための操作領域を表示する表示ステップと、
前記移動ベクトルを、アプリケーション内の操作対象の現在位置の移動に対応づける変換ステップとを含み、
前記サーバは、前記プログラム取得ステップを実行し、
前記情報処理装置は、前記表示ステップと前記移動ベクトル取得ステップとを実行し、
前記アプリケーション提供ステップと前記変換ステップとは、前記情報処理装置または前記サーバの少なくともいずれか一方に実行されることを特徴とするアプリケーション提供方法。
【請求項７】
サーバと情報処理装置とを含むアプリケーション提供システムにおいて、ネットワークを介して情報処理装置にアプリケーションを提供するサーバであって、
アプリケーションを実現するためのプログラムを格納した記録部を含み、
前記アプリケーション提供システムは、
アプリケーションを提供するアプリケーション提供部と、
前記情報処理装置におけるポインティングデバイスのカーソルの動きを移動ベクトルとして取得する移動ベクトル取得部と、
アプリケーションの実行画面を前記情報処理装置に表示させる表示部と、
前記移動ベクトルを、アプリケーション内の操作対象の現在位置の移動に対応づける変換部とを含み、
前記表示部は、当該表示部の表示画面においてアプリケーションの実行画面を表示するとともに、前記表示画面と同一画面中の異なる領域に、前記移動ベクトルを取得するための操作領域を表示することを特徴とする、アプリケーション提供システムにおけるサーバ。
【請求項８】
アプリケーションの実行画面を表示する表示画面上において、前記実行画面を表示するとともに、前記実行画面を表示する表示画面と同一画面中の異なる領域に設けられた操作領域におけるポインティングデバイスのカーソルの移動を、前記アプリケーション内の操作対象の現在位置の移動に対応づけることをプロセッサに実行させることを特徴とする情報処理方法。
【請求項９】
前記アプリケーションは専用のハードウェアで実行されることを前提として開発されており、前記専用のハードウェアが備える専用のコントローラが出力する信号をもとにアプリケーション内の操作対象の動きが制御されるアプリケーションであり、前記ポインティングデバイスのカーソルの移動ベクトルを、前記コントローラの入力信号に変換することによって前記アプリケーション内の操作対象の現在位置の移動に対応づけることを特徴とする請求項８に記載の情報処理方法。
【請求項１０】
アプリケーションの実行画面を表示するとともに、前記実行画面を表示する表示画面と同一画面中の異なる領域にポインティングデバイスによるアプリケーションの操作領域を表示させる機能と、
前記操作領域におけるポインティングデバイスのカーソルの移動を、前記アプリケーション内の操作対象の現在位置の移動に対応づける機能とをコンピュータに実現させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、情報処理装置、アプリケーション提供システム、アプリケーション提供サーバ、およびそれらで用いられるアプリケーション提供方法、および情報処理方法に関する。
【背景技術】
【０００２】
近年のコンピュータ技術の進化は著しいものがある。例えば、ゲームアプリケーションのような計算コストのかかるアプリケーションは、過去においては実行のために専用のハードウェアを必要としたが、近年ではソフトウェアでそのハードウェアを模倣してゲームアプリケーションを実行する、いわゆるゲームエミュレータが実用に耐えるようになってきた。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
専用のハードウェアで実行されることを前提として開発されたゲームは、専用のゲームコントローラを用いて操作することが前提となっていることが多い。一方、汎用的なＰＣ（Personal Computer）やサーバ上で動作するゲームエミュレータを用いてゲームを実行する場合、入力デバイスとしてゲームコントローラが用意されることは保証できない。したがって、マウスを代表とするポインティングデバイス等の汎用的な入力デバイスを用いて、様々なゲームを操作できるようにする技術が求められている。
【０００４】
本発明はこうした課題に鑑みてなされたものであり、その目的は、汎用的な入力デバイスを用いて、専用コントローラによる操作を前提としたアプリケーションを操作可能とする技術を提供することにある。
【課題を解決するための手段】
【０００５】
上記課題を解決するために、本発明のある態様は情報処理装置である。この装置は、ポインティングデバイスのカーソルの動きを移動ベクトルとして取得する移動ベクトル取得部と、アプリケーションの実行画面を表示する表示部であって、当該表示部の表示画面において前記実行画面を表示する領域とは異なる領域に、前記アプリケーション内の操作対象を操作するための操作領域を表示する表示部と、前記移動ベクトル取得部が取得した前記操作領域内におけるポインティングデバイスのカーソルの移動ベクトルを前記操作対象の表示位置の移動に対応づける変換部とを含む。
【０００６】
本発明の別の態様は、情報処理装置と、ネットワークを介して前記情報処理装置にアプリケーションを提供するサーバとを含むアプリケーション提供システムである。このシステムは、アプリケーションを実現するためのプログラムを格納した記録部と、アプリケーションを提供するアプリケーション提供部と、アプリケーションの実行画面を表示する表示部と、前記情報処理装置におけるポインティングデバイスのカーソルの動きを移動ベクトルとして取得する移動ベクトル取得部と、前記移動ベクトルを、アプリケーション内の操作対象の現在位置の移動に対応づける変換部とを含む。ここで前記表示部は、表示画面においてアプリケーションの実行画面を表示する領域と、前記移動ベクトルを取得するための操作領域とを異なる領域に表示する。前記情報処理装置は、前記表示部と前記移動ベクトル取得部とを含み、前記サーバは、前記記録部を含む。前記アプリケーション提供部と前記変換部とは、前記情報処理装置または前記サーバの少なくともいずれか一方に含まれる。
【０００７】
本発明のさらに別の態様は、情報処理装置と、ネットワークを介して前記情報処理装置にアプリケーションを提供するサーバとを含むシステムで実行されるアプリケーション提供方法である。この方法は、アプリケーションを実現するためのプログラムを格納した記録部からプログラムを取得するプログラム取得ステップと、アプリケーションを提供するアプリケーション提供ステップと、前記情報処理装置におけるポインティングデバイスのカーソルの動きを移動ベクトルとして取得する移動ベクトル取得ステップと、表示画面においてアプリケーションの実行画面を表示する領域と、前記移動ベクトルを取得するための操作領域とを異なる領域に表示する表示ステップと、前記移動ベクトルを、アプリケーション内の操作対象の現在位置の移動に対応づける変換ステップとを含む。ここで前記サーバは、前記プログラム取得ステップを実行し、前記情報処理装置は、前記表示ステップと前記移動ベクトル取得ステップとを実行する。前記アプリケーション提供ステップと前記変換ステップとは、前記情報処理装置または前記サーバの少なくともいずれか一方に実行される。
【０００８】
本発明のさらに別の態様は、サーバと情報処理装置とを含むアプリケーション提供システムにおいて、ネットワークを介して情報処理装置にアプリケーションを提供するサーバである。このサーバは、アプリケーションを実現するためのプログラムを格納した記録部を少なくとも含む。ここで前記アプリケーション提供システムは、アプリケーションを提供するアプリケーション提供部と、アプリケーションの実行画面を前記情報処理装置に表示させる表示部であって、表示画面においてアプリケーションの実行画面を表示する領域と、前記移動ベクトルを取得するための操作領域とを異なる領域に表示させる表示部と、前記情報処理装置におけるポインティングデバイスのカーソルの動きを移動ベクトルとして取得する移動ベクトル取得部と、前記移動ベクトルを、アプリケーション内の操作対象の現在位置の移動に対応づける変換部とを含む。
【０００９】
本発明のさらに別の態様は、情報処理方法である。この方法は、ゲームの実行画面を表示する表示画面上において、前記実行画面を表示する領域とは異なる領域に設けられた操作領域におけるポインティングデバイスのカーソルの移動を、前記ゲーム内の操作対象の現在位置の移動に対応づけることをプロセッサに実行させる。
【００１０】
なお、以上の構成要素の任意の組み合わせ、本発明の表現を方法、装置、システム、コンピュータプログラム、データ構造、記録媒体などの間で変換したものもまた、本発明の態様として有効である。
【発明の効果】
【００１１】
本発明によれば、汎用的な入力デバイスを用いて、専用コントローラによる操作を前提としたアプリケーションを操作可能とする技術を提供することができる。
【図面の簡単な説明】
【００１２】
【図１】実施の形態に係る情報処理装置の機能構成を模式的に示す図である。
【図２】実施の形態に係る表示部が表示する画面の一例を示す図である。
【図３】図３（ａ）は、実施の形態に係る操作領域の別の例を示す図である。図３（ｂ）は、実施の形態に係る操作領域のさらに別の例を示す図である。
【図４】実施の形態に係る移動ベクトル取得部の内部構成を模式的に示す図である。
【図５】実施の形態に係る情報処理装置の処理の流れを説明するフローチャートである。
【図６】実施の形態に係るアプリケーション提供システムの機能構成を模式的に示す図である。
【図７】図７（ａ）は、実施の形態に係る操作領域のさらに別の例を示す図である。図７（ｂ）は、実施の形態に係る操作領域のさらに別の例を示す図である。
【発明を実施するための形態】
【００１３】
実施の形態の概要を述べる。実施の形態に係る情報処理装置１００は、アプリケーションの実行画面を表示する領域とは異なる領域である操作領域中におけるポインティングデバイスのカーソルの動きを、アプリケーショ内の操作対象の動きに対応づける。
【００１４】
以下、情報処理装置１００において、専用のハードウェアで実行されることを前提として開発されたゲームアプリケーションをゲームエミュレータを用いて実行する場合について説明するが、ゲームアプリケーションの実行手段としてはゲームエミュレータを用いることに限られず、ゲームエミュレータを介さずにＰＣ（Personal Computer）のプロセッサが直接実行する場合なども本実施の形態に含まれることは当業者には理解されることである。また説明の便宜上、ゲームアプリケーションを実行する場合を例に説明するが、実行するアプリケーションはゲームに限られず、例えば画像編集ソフト等、ゲーム以外のジャンルのアプリケーションを実行する場合も本実施の形態に含まれる。
【００１５】
図１は、実施の形態に係る情報処理装置１００の機能構成を模式的に示す図である。情報処理装置１００は、操作部１０、検索部２０、記録部３０、アプリケーション提供部４０、表示部５０、移動ベクトル取得部６０、および変換部７０を含む。
【００１６】
図１は、実施の形態に係る情報処理装置１００を提供するための機能構成を示しており、その他の構成は省略している。図１において、さまざまな処理を行う機能ブロックとして記載される各要素は、ハードウェア的には、ＣＰＵ（Central Processing Unit）、メインメモリ、その他のＬＳＩ（Large Scale Integration）で構成することができ、ソフトウェア的には、メインメモリにロードされたプログラム等によって実現される。したがって、これらの機能ブロックがハードウェアのみ、ソフトウェアのみ、またはそれらの組み合わせによっていろいろな形で実現できることは当業者には理解されるところであり、いずれかに限定されるものではない。後述する図４および図６についても同様である。
【００１７】
操作部１０は情報処理装置１００のユーザインタフェースのひとつであり、具体的にはマウスやタッチパッド等を代表とするポインティングデバイスである。ユーザはポインティングデバイスを操作することにより、表示部５０の表示画面に表示されるカーソルを自由に動かすことができる。
【００１８】
検索部２０は、記録部３０に格納された複数のゲームアプリケーションの中から、情報処理装置１００を利用するユーザが所望するゲームアプリケーションを検索する。図示はしないが、検索部２０は、アプリケーションを検索するための検索インタフェースを提供している。ユーザは、表示部５０に表示された検索インタフェースから、ゲームのタイトル名、発売元の名称、発売年月日、ジャンル等を検索キーとしてアプリケーションを検索することができる。
【００１９】
記録部３０は、ゲームアプリケーションを実現するためのプログラムを格納する。アプリケーション提供部４０は、検索部２０を介してユーザが指定したゲームアプリケーションを実現するためのプログラムを記録部３０から取得して実行する。
【００２０】
表示部５０は、例えば液晶モニタや有機ＥＬ（ElectroLuminescence）モニタ等の表示デバイスである。表示部５０は、ゲームアプリケーションの実行画面であるゲーム実行領域５２と、ゲームアプリケーション内の操作対象を操作するための操作領域５４とを表示する。ここで表示部５０は、ゲーム実行領域５２と操作領域５４とを、表示部５０の表示画面中の異なる領域に表示する。
【００２１】
移動ベクトル取得部６０は、操作部１０であるポインティングデバイスのカーソルの動きを移動ベクトルとして取得する。移動ベクトル取得部６０の詳細は後述する。
【００２２】
変換部７０は、移動ベクトル取得部６０が取得した操作領域５４内におけるポインティングデバイスのカーソルの移動ベクトルを、ゲームアプリケーション内の操作対象の表示位置の移動に対応づける。専用のハードウェアで実行されることを前提として開発されたゲームは、専用のゲームコントローラを用いて操作することが前提となっていることが多い。そこで、変換部７０は、ポインティングデバイスのカーソルの動きを、ゲームが前提としているゲームコントローラの入力信号に変換し、その信号をアプリケーション提供部４０に入力する。アプリケーション提供部４０は、入力された信号をもとに操作対象を移動して、その結果を表示部５０がゲーム実行領域５２の表示に反映する。
【００２３】
なお、例えばシューティングゲームにおける攻撃操作のように、ユーザが継続的に操作ボタンを連打する操作が要求されるゲームもある。このような場合、変換部７０は、ユーザが操作ボタンを連射しなくても、操作ボタンが連射された場合の入力信号を自動で生成してアプリケーション提供部４０に入力してもよい。マウスのように継続的にボタンが連射されることが想定されていないような入力デバイスを用いる場合に、ユーザの操作負担を軽減し、入力デバイスを保護できる点で有利である。
【００２４】
図２は、実施の形態に係る表示部５０が表示する画面の一例を示す図である。図２に示す例では、ユーザはゲーム実行領域５２中に表示されている操作対象５６を、ゲームの進行に応じて適宜左右に動かすことが求められる。操作領域５４内にはポインティングデバイスのカーソル５８が表示されている。操作領域５４内において、例えばユーザがカーソル５８を現在表示されている位置よりも右側に動かすと、変換部７０は、ゲームコントローラの方向キーの右ボタン（図示せず）が押下されたときの信号を生成し、アプリケーション提供部４０に入力する。その結果、ゲーム実行領域５２中の操作対象５６は、右側に移動して表示される。同様に、ユーザがカーソル５８を現在位置よりも左側に動かすと、それに応じて操作対象５６は左側に移動して表示される。
【００２５】
図３は、実施の形態に係る操作領域５４の別の例を示す図である。図３（ａ）に示す例では、操作領域５４中に操作対象５６の移動方向を決定するための起点位置８０が表示されている。詳細は後述するが、変換部７０は、起点位置８０とカーソル５８との位置関係をもとに、ゲームコントローラの入力信号を生成する。この結果、起点位置８０とカーソル５８との位置関係が、操作対象５６の動きと対応づけられてゲーム実行領域５２に表示される。
【００２６】
図３（ｂ）に示す例では、操作領域５４中にスライダーバー８２が表示されている。ユーザがカーソル５８でスライダーバー８２をドラッグすると、スライダーバーの中心８４とカーソル５８との位置関係に応じて、操作対象５６が移動する。スライダーバー８２は左右方向に一次元的にのみ動くため、例えば図２に示すゲームのように、一次元的に動く操作対象５６を操作するのに適する。
【００２７】
図４は、実施の形態に係る移動ベクトル取得部６０の内部構成を模式的に示す図である。移動ベクトル取得部６０は、第１ベクトル取得部６２、第２ベクトル取得部６４、移動速度取得部６６、および移動ベクトル選択部６８を含む。
【００２８】
第１ベクトル取得部６２は、図３（ａ）に例示した起点位置８０を始点とし、ポインティングデバイスのカーソル５８の位置を終点とするベクトルを求める。より具体的には、第１ベクトル取得部６２は、ベクトルを取得するために定められた所定のサンプリング間隔毎にカーソル５８の位置座標を取得して起点位置８０を原点とした場合のベクトルを求める。したがって、第１ベクトル取得部６２が求めるベクトルは、ベクトルの始点位置を固定した場合のカーソル５８の動きベクトルである。サンプリング間隔は操作対象５６に求められる操作性と計算コストとを勘案して、ゲームアプリケーション毎に実験によって定めればよいが、例えば０．１［秒］である。第１ベクトル取得部６２が求める動きベクトルは、サンプリング間隔毎に更新される。
【００２９】
第２ベクトル取得部６４は、サンプリング間隔毎にポインティングデバイスのカーソル５８の位置をサンプリングし、最も新しくサンプリングしたカーソル５８の位置を終点とし、ひとつ前にサンプリングしたカーソル５８の位置を始点とするベクトルを求める。したがって、第２ベクトル取得部６４が求めるベクトルは、カーソル５８の瞬間的な動きベクトルである。第２ベクトル取得部６４が求める動きベクトルも、サンプリング間隔毎に更新される。
【００３０】
移動速度取得部６６は、第２ベクトル取得部６４が求めた移動ベクトルの長さとサンプリング間隔とをもとにカーソル５８の移動速度を求める。例えば第２ベクトル取得部６４が求めた移動ベクトルの長さが、表示部５０の画素ピクセルを単位として１０［ピクセル］であり、サンプリング間隔が０．１［秒］の場合、カーソル５８の移動速度は１０［ピクセル］／０．１［秒］＝１００［ピクセル／秒］となる。
【００３１】
移動ベクトル選択部６８は、図３（ａ）に例示した起点位置８０が表示されるタイプの操作領域５４が用いられる場合に、第１ベクトル取得部６２が求めたベクトルと第２ベクトル取得部が求めたベクトルとのいずれか一方を選択し、移動ベクトルとする。具体的に、移動ベクトル選択部６８は、まず移動速度取得部６６からカーソル５８の移動速度を取得する。続いて移動ベクトル選択部６８は、カーソル５８の移動速度と、移動ベクトルを選択する基準として定められた所定のベクトル選択基準速度との大小関係を比較する。
【００３２】
ここでベクトル選択基準速度は、ユーザがカーソル５８を素早く動かしているか、あるいはゆっくりと動かしているかを判断するための基準となる速度である。カーソル５８の移動速度がベクトル選択基準速度以下の場合、移動ベクトル選択部６８は、ユーザがカーソル５８をゆっくり動かしていると判断する。反対に、移動速度がベクトル選択基準速度を超えた場合、移動ベクトル選択部６８は、ユーザがカーソル５８を素早く動かしていると判断する。ベクトル選択基準速度は、操作対象となるゲームアプリケーション毎に実験により定めればよい。
【００３３】
図３（ａ）に例示した起点位置８０が表示されるタイプの操作領域５４は、操作対象５６を操作する際の中心位置が固定されているため、ユーザにとって操作対象５６の操作方向を認識しやすいという利点がある。一方で、例えばシューティングゲームのように動きの速いゲームをプレイする場合、ユーザはとっさの判断で操作対象５６を操作しようとすることも起こりうる。このような場合、ユーザは起点位置８０とカーソル５８との位置関係を考慮に入れず、操作対象５６を動かそうとする方向にカーソル５８を動かす傾向がある。また、カーソル５８の移動速度も大きくなる傾向がある。したがって、カーソル５８の移動速度は、ユーザがとっさの判断でカーソル５８を動かした否かの判断指標となる。
【００３４】
そこで移動ベクトル選択部６８は、カーソル５８の移動速度がベクトル選択基準速度以下の場合、第１ベクトル取得部６２が求めたベクトルを移動ベクトルとして選択する。カーソル５８の動きがゆっくりの場合、ユーザは起点位置８０とカーソル５８との位置関係を意識して操作対象５６を操作していると考えられるからである。
【００３５】
一方、カーソル５８の移動速度がベクトル選択基準速度超えた場合、移動ベクトル選択部６８は、第２ベクトル取得部６４が求めたベクトルを移動ベクトルとして選択する。カーソル５８の動きが速い場合、ユーザがとっさの判断で、操作対象５６を動かそうとする方向にカーソル５８を動かしたと考えられるからである。このように、カーソル５８の移動速度の大小に応じて移動ベクトルの取得方法を変更することにより、操作対象５６を動かそうとするユーザの意思をより適切に反映することができる。
【００３６】
図５は、実施の形態に係る情報処理装置１００の処理の流れを説明するフローチャートである。本フローチャートにおける処理は、例えばユーザが情報処理装置１００の電源を投入したときに開始する。
【００３７】
検索部２０は、操作部１０を介してユーザから指定されたゲームアプリケーションを、記録部３０の中から検索する（Ｓ２）。アプリケーション提供部４０は、検索部２０が検索したゲームアプリケーションを実現するためのプログラムを記録部３０から取得して実行することにより、ユーザにゲームアプリケーションを提供する（Ｓ４）。
【００３８】
移動ベクトル取得部６０は、操作領域５４内のポインティングデバイスのカーソル５８の動きを検出してその移動ベクトルを取得する（Ｓ６）。変換部７０は、移動ベクトル取得部６０が取得した移動ベクトルを、ゲームコントローラの入力信号に変換する（Ｓ８）。
【００３９】
アプリケーション提供部４０は、変換部７０から取得した入力信号を提供中のゲームアプリケーション内の操作対象５６の動きに反映する（Ｓ１０）。ゲームが終了していない場合（Ｓ１２のＮ）、上述のステップＳ６からステップＳ１０までの処理を繰り返すことで、情報処理装置１００は、ユーザによるポインティングデバイスの操作をゲームアプリケーションの操作対象５６の動きに対応付ける。
【００４０】
ゲームが終了した場合（Ｓ１２のＹ）、本フローチャートにおける処理は終了する。
【００４１】
以上の構成による動作は以下のとおりである。ユーザが情報処理装置１００でゲームアプリケーションの提供を受けるとき、移動ベクトル取得部６０は操作領域５４内でのポインティングデバイスのカーソル５８の動きを移動ベクトルとして検出する。検出された移動ベクトルは、変換部７０がゲームアプリケーションが前提としているゲームコントローラの入力信号に変換する。変換された入力信号はゲームアプリケーションを実現するためのプログラムを実行するアプリケーション提供部４０に入力され、結果としてカーソル５８の動きの動きがゲームアプリケーソン内の操作対象５６の動きに対応づけられる
【００４２】
また、ゲームアプリケーションの実行画面を表示するゲーム実行領域５２と、ゲームアプリケーション中の操作対象５６を操作するための操作領域５４とを別の領域として設けることにより、ポインティングデバイスのカーソル５８がゲーム実行領域５２の一部を隠してしまうことを防止できる。
【００４３】
以上説明したように、本発明の実施形態によれば、汎用的な入力デバイスを用いてゲームを操作可能とする技術を提供することができる。
【００４４】
以上、本発明を実施の形態をもとに説明した。実施の形態は例示であり、それらの各構成要素や各処理プロセスの組み合わせにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。
【００４５】
［変形例１］
上記で説明した実施の形態では、情報処理装置１００は他の装置から独立したひとつの装置であることを前提に説明したが、実施の形態は他の装置から独立している場合には限定されない。例えば、情報処理装置１００がネットワークを介してアプリケーション提供サーバと接続し、そのサーバからアプリケーションの提供を受けるサーバ・クライアント型のシステムであってもよい。以下、この場合の変形例について説明するが、上述した実施の形態と重複する説明については適宜省略または簡略化して説明する。
【００４６】
図６は、実施の形態に係るアプリケーション提供システム３００の機能構成を模式的に示す図である。アプリケーション提供システム３００は、情報処理装置１０２と、情報処理装置１０２とネットワークを介して通信可能な状態で接続するアプリケーション提供サーバ２００とを含む。
【００４７】
情報処理装置１０２は、アプリケーション提供システム３００を利用するユーザが使用するクライアント端末である。情報処理装置１０２は、操作部１０、表示部５０、移動ベクトル取得部６０、および変換部７０を含む。情報処理装置１０２内の各部の動作は、上述した情報処理装置１００の対応する部と同様である。ただし、ユーザが操作部１０を介して所望のアプリケーションを指定すると、その情報はネットワークを介して後述するアプリケーション提供サーバ２００の検索部２０に送信される。また、ゲーム実行領域５２に表示される実行画面は、アプリケーション提供サーバ２００のアプリケーション提供部４０から、ネットワークを介して送信される。
【００４８】
アプリケーション提供サーバ２００は、検索部２０、記録部３０、およびアプリケーション提供部４０を含む。アプリケーション提供サーバ２００の各部の動作は、上述した情報処理装置１００の対応する部と同様である。
【００４９】
図６に示すように、ゲームアプリケーションを実現するプログラムを格納する記録部３０がアプリケーション提供サーバ２００内に存在する場合、情報処理装置１０２を利用するユーザはそのプログラムを所持していなくてもゲームアプリケーションの提供を受けることができる。
【００５０】
前述したように、近年のコンピュータ技術の進化は著しいものがある。例えばゲームアプリケーションのような計算コストのかかるアプリケーションは、過去においては実行のために専用のハードウェアを必要としたが、近年ではソフトウェアでそのハードウェアを模倣してゲームアプリケーションを実行する、いわゆるゲームエミュレータであっても実用に耐えるようになってきた。アプリケーション提供サーバ２００でエミュレータを実行し、その上でゲームを動作するようにすれば、ユーザの利用する情報処理装置１０２がエミュレータを搭載していなくても、ユーザはゲームアプリケーションの提供を受けることができる。
【００５１】
特に、過去に開発されたゲームアプリケーションの数は膨大であるため、それらのプログラムは専用のサーバで管理するのが適切である。ユーザにとっては、多くの選択肢から所望のゲームアプリケーションの提供を受けることができる点で有利である。アプリケーション提供サーバ２００の運営管理者にとっては、過去に開発したゲームアプリケーションを再利用して新たなビジネスを生み出すことができる点で有利である。
【００５２】
ところで、上述した操作部１０や表示部５０は、ユーザが利用するものである。したがって、情報処理装置１０２に含まれていなければ意味がない。移動ベクトル取得部６０も、表示部５０中の操作領域５４と密接に関わるので、情報処理装置１０２に含まれていることが好ましい。また、記録部３０は、膨大な数のプログラムを管理するために、専用サーバであるアプリケーション提供サーバ２００に含まれるのが適当である。
【００５３】
一方で、変換部７０、検索部２０、およびアプリケーション提供部４０は、情報処理装置１０２とアプリケーション提供サーバ２００とのいずれに含まれていても動作に支障はない。図６は、変換部７０、検索部２０、およびアプリケーション提供部４０のアプリケーション提供システム３００における配置の一例を示すものであり、必ずしも図６に示す配置に限定されない。例えば、変換部７０、検索部２０、およびアプリケーション提供部４０が全てアプリケーション提供サーバ２００に含まれていてもよいし、アプリケーション提供部４０が情報処理装置１０２とアプリケーション提供サーバ２００との両者に含まれていてもよい。
【００５４】
アプリケーション提供部４０は、記録部３０に格納されているプログラムを実行することでアプリケーションの提供を実現するものである。したがって、情報処理装置１０２のプロセッサ（図示せず）とアプリケーション提供サーバ２００のプロセッサ（図示せず）との少なくともいずれか一方がそのプログラムを実行すればよい。
【００５５】
このように、アプリケーション提供システム３００には各部の構成や処理の主体に自由度がある。全ての場合分けを記載することは重複が多く煩雑となり、かえって本発明のポイントが不明りょうとなるため省略するが、いずれの場合も本実施の形態に含まれることは当業者には理解されるところである。
【００５６】
［変形例２］
図７は、実施の形態に係る操作領域５４のさらに別の例を示す図である。図７（ａ）は、一般的なゲームコントローラの操作ボタンを全て表示した操作領域５４の例を示している。ユーザが例えばマウスを操作してカーソル５８を動かし、操作ボタンに対応するアイコンをクリックすると、変換部７０がその操作ボタンが押下された場合の入力信号を生成する。
【００５７】
ところで、アプリケーション提供部４０が提供するアプリケーションは、アプリケーションを丸ごと全てではなく、アプリケーションを分割してできる小さな単位としてもよい。例えば、ゲーム中に単位となるステージが存在するのであれば、そのステージを単位とする。あるいは、ゲーム中にいわゆる「ボス戦」が存在するのであれば、ボス戦のみを単位とする。
【００５８】
近年のマイクロプロセッサおよび携帯情報端末の発達により、場所と時間とを気にせず手軽にゲームを楽しむ環境が実現し、ちょっとした空き時間にゲームを楽しむユーザも増えてきた。これにより、小さな単位で短時間だけ楽しむというゲームの利用形態の需要も増加している。そこで、前述のように小さな単位で短時間で終了するアプリケーションを提供することにより、アプリケーション提供システム３００が提供するサービスを利用して、ちょっとした空き時間を利用して気軽にゲームを楽しもうとするユーザの需要に応えることができる。
【００５９】
このように、アプリケーション提供部４０がゲームアプリケーションを小さな単位で提供する場合、その単位をプレイするためにはゲームコントローラの一部の操作ボタンで足りる場合がある。図７（ｂ）は、一般的なゲームコントローラの操作ボタンの一部のみを表示した操作領域５４の例を示している。図７（ｂ）に示すように、ゲームアプリケーションの操作対象５６を操作するために必要最小限の操作ボタンを操作領域５４に設けることにより、操作領域５４の構成を単純化して操作性を向上することができる。
【００６０】
ゲームアプリケーションの操作対象５６を操作するために必要な操作ボタンの種類は、ゲームアプリケーション、および提供される単位毎に異なる。そこで、記録部３０はゲームアプリケーションの提供単位毎に必要な操作ボタンの種類を、その提供単位と紐付けて格納してもよい。表示部５０は、アプリケーション提供部４０を介して記録部３０から必要な操作ボタンの種類を取得し、そのボタンのみを操作領域５４に表示する。これにより、ゲームアプリケーションの提供単位毎に適切な操作領域５４をユーザに提供することができ、操作領域５４の操作性をさらに向上することができる。
【００６１】
［変形例３］
上記の説明では、移動ベクトル選択部６８が、第１ベクトル取得部６２が求めたベクトルと第２ベクトル取得部６４が求めたベクトルとのいずれか一方を選択して移動ベクトルとする場合について説明したが、移動ベクトルを二者択一で求めることには限られない。例えば、カーソル５８の移動速度がベクトル選択基準速度を超えた場合、移動ベクトル選択部６８が、第１ベクトル取得部６２が求めたベクトルと第２ベクトル取得部６４が求めたベクトルとを合成して新たなベクトルを生成し、そのベクトルを移動ベクトルとしてもよい。図示はしないが、移動ベクトル選択部６８中にベクトル合成部を設けることで実現できる。あるいは移動ベクトル選択部６８と並列にベクトル合成部を設けてもよい。これにより、起点位置８０を移動ベクトルの起点とするという原則を守りつつ、かつ、ユーザのとっさの判断を操作対象５６の操作に反映することができる。なお、カーソル５８の移動速度がベクトル選択基準速度以下の場合、移動ベクトル選択部６８は第１ベクトル取得部６２が求めたベクトル移動ベクトルとすればよい。
【符号の説明】
【００６２】
１０  操作部、  ２０  検索部、  ３０  記録部、  ４０  アプリケーション提供部、  ５０  表示部、  ５２  ゲーム実行領域、  ５４  操作領域、  ５６  操作対象、  ５８  カーソル、  ６０  移動ベクトル取得部、  ６２  第１ベクトル取得部、  ６４  第２ベクトル取得部、  ６６  移動速度取得部、  ６８  移動ベクトル選択部、  ７０  変換部、  ８０  起点位置、  ８２  スライダーバー、  ８４  中心、  １００，１０２  情報処理装置、  ２００  アプリケーション提供サーバ、  ３００  アプリケーション提供システム。
【図１】
0005536729.tif 000002
【図２】
0005536729.tif 000003
【図３】
0005536729.tif 000004
【図４】
0005536729.tif 000005
【図５】
0005536729.tif 000006
【図６】
0005536729.tif 000007
【図７】
0005536729.tif 000008