(57)【要約】      （修正有）【課題】仮想空間において移動対象を移動させるときに、ユーザの指示する位置がずれた場合の影響を軽減することができるゲーム装置を提供する。【解決手段】移動制御装置１０は、仮想空間において移動対象を移動させる。取得手段５４は、位置検出手段５２が検出した仮想空間内又は画面上の第１の位置及び第２の位置に基づいて定まる、仮想空間内又は画面上の位置を指示位置として取得する。方向決定手段５６は、取得手段５４により取得された指示位置と、仮想空間内又は画面上の基準位置と、に基づいて、移動対象の移動方向を決定する。移動制御手段５８は、方向決定手段５６により決定された移動方向に基づいて、移動対象を移動させる。【選択図】図６
2015150215.tif 000002
【特許請求の範囲】
【請求項１】
仮想空間において移動対象を移動させる移動制御装置であって、
位置検出手段が検出した前記仮想空間内又は画面上の第１の位置及び第２の位置に基づいて定まる、前記仮想空間内又は前記画面上の位置を指示位置として取得する取得手段と、
前記取得手段により取得された指示位置と、前記仮想空間内又は前記画面上の基準位置と、に基づいて、前記移動対象の移動方向を決定する方向決定手段と、
前記方向決定手段により決定された移動方向に基づいて、前記移動対象を移動させる移動制御手段と、
を含むことを特徴とする移動制御装置。
【請求項２】
前記移動制御手段は、前記方向決定手段により決定された移動方向に前記移動対象を所定距離又は所定時間移動させる、
ことを特徴とする請求項１に記載の移動制御装置。
【請求項３】
前記取得手段は、前記指示位置を繰り返し取得し、
前記移動制御装置は、
前記指示位置を指示するための操作が行われたタイミングに基づいて、当該操作が行われた頻度に関する情報を取得する手段と、
当該取得された情報に基づいて、前記移動対象の移動速度を決定する速度決定手段と、
を更に含み、
前記移動制御手段は、前記方向決定手段により決定された移動方向と、前記速度決定手段により決定された移動速度と、に基づいて、前記移動対象を移動させる、
ことを特徴とする請求項１又は２に記載の移動制御装置。
【請求項４】
前記方向決定手段は、前記取得手段により取得された指示位置と、前記基準位置と、の前記仮想空間内又は前記画面上における基準方向のずれ量に基づいて、前記移動対象の移動方向を決定する、
ことを特徴とする請求項１〜３の何れかに記載の移動制御装置。
【請求項５】
前記方向決定手段は、前記取得手段により取得された指示位置と、前記基準位置と、を結ぶ前記仮想空間内又は前記画面上の方向に基づいて、前記移動対象の移動方向を決定する、
ことを特徴とする請求項１〜３の何れかに記載の移動制御装置。
【請求項６】
前記取得手段は、前記第１の位置と、前記第１の位置が検出された後に検出される前記第２の位置と、に基づいて定まる前記仮想空間内又は前記画面上の位置を前記指示位置として取得する、
ことを特徴とする請求項１〜５の何れかに記載の移動制御装置。
【請求項７】
前記方向決定手段は、前記取得手段により取得された指示位置と、前記基準位置と、の前記仮想空間内又は前記画面上における基準方向のずれ量が基準量未満である場合、前記基準方向に関連付けられた所定方向を前記移動対象の移動方向として決定し、当該ずれ量が前記基準量以上である場合、前記取得手段により取得された指示位置と前記基準位置とに基づいて定まる方向を前記移動対象の移動方向として決定する、
ことを特徴とする請求項１〜６の何れかに記載の移動制御装置。
【請求項８】
前記方向決定手段は、前記取得手段により取得された指示位置と、前記基準位置と、に基づいて、所定方向と前記移動対象の移動方向とのずれ量を決定することによって、前記移動対象の移動方向を決定する、
ことを特徴とする請求項１〜７の何れかに記載の移動制御装置。
【請求項９】
前記基準位置は、前記仮想空間内に配置された移動物体の位置又は前記画面における当該移動物体の表示位置であり、
前記移動制御手段は、前記移動対象の移動に基づいて、前記移動物体を移動させる、
ことを特徴とする請求項１〜８の何れかに記載の移動制御装置。
【請求項１０】
前記移動制御装置は、
前記移動対象と前記移動物体との位置関係に基づいて、前記仮想空間内の前記移動物体の位置又は前記移動物体の表示位置を前記基準位置とするか、前記仮想空間内又は前記画面上の所定位置を前記基準位置とするか、を決定する手段、
を更に含むことを特徴とする請求項９に記載の移動制御装置。
【請求項１１】
仮想空間において移動対象を移動させるコンピュータを、
位置検出手段が検出した前記仮想空間内又は画面上の第１の位置及び第２の位置に基づいて定まる、前記仮想空間内又は前記画面上の位置を指示位置として取得する取得手段、
前記取得手段により取得された指示位置と、前記仮想空間内又は前記画面上の基準位置と、に基づいて、前記移動対象の移動方向を決定する方向決定手段、
前記方向決定手段により決定された移動方向に基づいて、前記移動対象を移動させる移動制御手段、
として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、移動制御装置及びプログラムに関する。
【背景技術】
【０００２】
従来から、仮想空間において移動対象（例えば、キャラクタ等）を移動させる移動制御装置が知られている。例えば、特許文献１には、ユーザがコントローラを使って指示した画面上の位置に向けて、仮想空間内のキャラクタが移動する装置が記載されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００８−２２０６７１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、画面上の位置を正確に指示することは難しいため、ユーザの指示する位置がずれやすく、特許文献１の技術では、当該ずれてしまった位置に向けてキャラクタは移動してしまうことがある。このため、上記のような技術では、ユーザの指示する位置がずれた場合の影響を軽減することが求められている。
【０００５】
本発明は上記課題に鑑みてなされたものであって、その目的は、仮想空間において移動対象を移動させるときに、ユーザの指示する位置がずれた場合の影響を軽減することが可能な移動制御装置及びプログラムを提供することにある。
【課題を解決するための手段】
【０００６】
上記課題を解決するために、本発明に係る移動制御装置は、仮想空間において移動対象を移動させる移動制御装置であって、位置検出手段が検出した前記仮想空間内又は画面上の第１の位置及び第２の位置に基づいて定まる、前記仮想空間内又は前記画面上の位置を指示位置として取得する取得手段と、前記取得手段により取得された指示位置と、前記仮想空間内又は前記画面上の基準位置と、に基づいて、前記移動対象の移動方向を決定する方向決定手段と、前記方向決定手段により決定された移動方向に基づいて、前記移動対象を移動させる移動制御手段と、を含むことを特徴とする。
【０００７】
また、本発明に係るプログラムは、仮想空間において移動対象を移動させるコンピュータを、位置検出手段が検出した前記仮想空間内又は画面上の第１の位置及び第２の位置に基づいて定まる、前記仮想空間内又は前記画面上の位置を指示位置として取得する取得手段、前記取得手段により取得された指示位置と、前記仮想空間内又は前記画面上の基準位置と、に基づいて、前記移動対象の移動方向を決定する方向決定手段、前記方向決定手段により決定された移動方向に基づいて、前記移動対象を移動させる移動制御手段、として機能させる。
【図面の簡単な説明】
【０００８】
【図１】携帯端末の外観の一例を示す図である。
【図２】携帯端末のハードウェア構成の一例を示す図である。
【図３】ゲーム空間の一例を示す図である。
【図４】ゲーム画面の一例を示す図である。
【図５】ユーザの操作対象を移動させるための操作を説明するための説明図である。
【図６】携帯端末の機能ブロック図である。
【図７】位置検出部が検出した位置を時系列的に格納される様子を示す図である。
【図８】移動方向の決定方法を説明するための説明図である。
【図９】ゲーム空間をＹｗ軸正方向から見た様子を示す図である。
【図１０】携帯端末が実行する処理を示すフロー図である。
【図１１】変形例の機能ブロック図である。
【図１２】指示位置と基準位置を結ぶ方向と、移動方向と、の関係を示す図である。
【図１３】頻度情報が示す頻度と速度との関連付けを示す図である。
【図１４】ゲーム画面の一例を示す図である。
【発明を実施するための形態】
【０００９】
以下、本発明の実施形態の例について図面に基づき詳細に説明する。本発明に係る移動制御装置（コンピュータ）は、例えば、携帯端末（スマートフォン等の携帯電話機、及び、タブレット型コンピュータ等の携帯情報端末を含む）、ゲーム装置、及びパーソナルコンピュータ等により実現される。本実施形態では、移動制御装置が、携帯端末を用いて実現される場合を説明する。
【００１０】
［１．携帯端末のハードウェア構成］
図１は、携帯端末の外観の一例を示す図である。また、図２は、携帯端末のハードウェア構成の一例を示す図である。図１及び図２に示すように、携帯端末１０は、制御部１１、記憶部１２、通信部１３、操作部１４、タッチパネル１５、及び表示部１６を含む。
【００１１】
制御部１１は、例えば、一又は複数のマイクロプロセッサを含む。制御部１１は、記憶部１２に記憶されたオペレーティングシステム又はその他のプログラムに従って、処理を実行する。
【００１２】
記憶部１２は、メインメモリと不揮発性メモリとを含む。不揮発性メモリには、制御部１１によって実行されるプログラムが記憶される。例えば、このプログラムは、インターネット等の通信ネットワークを介してサーバ装置からダウンロードされて不揮発性メモリに格納される。または、このプログラムは、メモリカード等のコンピュータ読み取り可能な情報記憶媒体から複写されて不揮発性メモリに格納される。メインメモリには、不揮発性メモリから読み出されるプログラムや、制御部１１が処理を実行する場合に必要なデータが書き込まれる。
【００１３】
通信部１３は、データ通信を行うためのものである。例えば、通信部１３は、制御部１１からの指示に従ってデータ通信を実行する。
【００１４】
操作部１４は、例えば、ボタン、スティック（レバー）、又はキーボード等を含み、ユーザが操作を行うために用いられる。
【００１５】
タッチパネル１５は、例えばユーザによって接触された一又は複数の位置を検出する。タッチパネル１５としては、例えば、静電容量方式のタッチパネルが用いられる。静電容量方式のタッチパネルでは、タッチパネルの表面がユーザによって接触された場合に生じる電荷の変化に基づいて、ユーザによって接触された位置が検出される。ユーザによって接触された位置は、例えば、図１に示すような、タッチパネル１５の左上頂点を原点Ｏとし、かつ、右方向及び下方向をそれぞれＸｓ軸正方向及びＹｓ軸正方向とするＸｓ−Ｙｓ座標系の座標値によって表される。オペレーティングシステムは、タッチパネル１５から供給される情報に基づいて、ユーザによって接触されている位置を取得する。
【００１６】
なお、タッチパネル１５は、仮想空間の様子を表示する表示部１６に重畳して設けられていて、ユーザがタッチパネル１５の表面を触ることによって、表示部１６に表示される画面内の位置を指定することができるようになっている。なお、ユーザは自らの指（手）をタッチパネル１５の表面に接触させるようにしてもよいし、ユーザが指（手）以外の部位をタッチパネル１５の表面に接触させるようにしてもよい。他にも例えば、ユーザが把持する物体（タッチペン等）をタッチパネル１５の表面に接触させるようにしてもよい。
【００１７】
表示部１６は、例えば、液晶パネルである。表示部１６は、制御部１１からの指示に従って画面を表示する。
【００１８】
なお、携帯端末１０は光ディスクドライブ又はメモリカードスロットを含むようにしてもよい。光ディスクドライブは、光ディスク（情報記憶媒体）に記録されたプログラムやデータを読み出すためのものである。メモリカードスロットは、メモリカード（情報記憶媒体）に記憶されたプログラムやデータを読み出すためのものである。プログラムやデータは、光ディスク又はメモリカードを介して携帯端末１０に供給され、記憶部１２（不揮発性メモリ）に記憶されるようにしてもよい。また、情報記憶媒体に記憶されているものとして説明するプログラムやデータは、通信部１３を介してネットワークから取得されるようにしてもよい。
【００１９】
［２．携帯端末において実行されるゲーム］
携帯端末１０は、記憶部１２から読み出したプログラムを実行することによって、仮想空間において移動対象を移動させるゲームを実行する。本実施形態では、ゲーム空間において、キャラクタがボールを移動させてサッカーの試合を行うサッカーゲームが実行される場合について説明する。サッカーゲームが開始されると、例えば、ゲーム空間が記憶部１２に構築される。
【００２０】
図３は、ゲーム空間の一例を示す図である。ゲーム空間２０は、互いに直交する三つの座標軸（Ｘｗ軸、Ｙｗ軸、及びＺｗ軸）が設定された仮想的な３次元空間である。ゲーム空間２０に配置される各オブジェクトの位置は、例えば、ワールド座標系（Ｘｗ−Ｙｗ−Ｚｗ座標系）の３次元座標で特定される。
【００２１】
図３に示すように、ゲーム空間２０には、サッカーフィールドを表すオブジェクトであるフィールド２２が配置される。フィールド２２上では、ユーザが操作するチーム（以降、「ユーザチーム」という。）と、対戦相手（コンピュータ又は他のユーザ）が操作するチーム（以降、「対戦相手チーム」という。）と、の間でサッカーの試合が行われる。
【００２２】
フィールド２２上には、サッカーのゴールを表すオブジェクトであるゴール２４が配置され、２本のゴールライン２６及び２本のタッチライン２８が表されている。ゴールライン２６及びタッチライン２８によって囲まれたピッチ３０及び当該ピッチ３０の周囲（ゴールライン２６又はタッチライン２８に接するピッチ３０外の所定領域）において、試合が行われる。
【００２３】
更に、フィールド２２上には、ユーザチームに所属するサッカー選手を表すオブジェクトであるキャラクタ３２と、対戦相手チームに所属するサッカー選手を表すオブジェクトであるキャラクタ３４と、サッカーボールを表すオブジェクトであるボール３６（移動対象）と、が配置される。なお、図３では省略されているが、フィールド２２上には、ユーザチームに所属する１１体のキャラクタ３２と、対戦相手チームに所属する１１体のキャラクタ３４と、が配置される。
【００２４】
ユーザチームに所属するキャラクタ３２の何れかは、ユーザの操作に基づいて動作する操作対象となる。ユーザの操作対象は、ユーザが指示した方向に移動したり、ユーザが指示した動作を行ったりする。ユーザの操作対象以外のキャラクタ３２及び対戦相手チームに所属するキャラクタ３４は、所与の行動アルゴリズムのもとで自律的に動作する。
【００２５】
また、キャラクタ３２（３４）とボール３６とが近づくと、所定条件のもとで、キャラクタ３２（３４）とボール３６とが関連付けられる。以降、キャラクタ３２（３４）とボール３６とが関連付けられた状態を、「キャラクタ３２（３４）がボール３６を保持する」と記載する。ボール３６を保持するキャラクタ３２（３４）は、ドリブル動作、パス動作、又はシュート動作をすることにより、ボール３６を移動させることができる。例えば、ユーザは、タッチパネル１５に所定の操作入力（例えば、フリック操作）を行うと、ユーザの操作対象にシュート動作をさせることができる。更に、ユーザの操作対象がボール３６を保持している場合、ユーザの操作対象がドリブル動作をするとボール３６も移動することになる。
【００２６】
また、ゲーム空間２０には、仮想カメラ３８（視点）が設定される。ゲーム空間２０を仮想カメラ３８から見た様子を表すゲーム画面が、表示部１６に表示される。ゲーム画面は、ゲーム空間２０に配置された各オブジェクトの頂点座標が、所定の座標変換演算を用いてワールド座標系からスクリーン座標系に座標変換されることによって生成される。
【００２７】
図４は、ゲーム画面の一例を示す図である。図４に示すように、ゲーム画面４０には、仮想カメラ３８の視野に含まれるオブジェクトが表示される。仮想カメラ３８の位置及び視線方向は、ユーザの操作対象の位置及び代表方向（例えば、移動方向又は体の向き）に基づいて設定される。ここでは、仮想カメラ３８の位置及び視線方向と、ユーザの操作対象の位置及び代表方向と、が略一致するものとする。なお、略一致とは、これらのずれ量が基準量以内となることをいう。
【００２８】
ゲーム画面４０には、ユーザの操作対象の足が届く範囲（ユーザの操作対象とボール３６が関連付けられる範囲）を示すライン４２やユーザの操作対象の立ち位置を表す立ち位置画像４４が表示される。また、ユーザの操作対象の移動方向を示す方向画像４６が表示されるようにしてもよい。
【００２９】
本実施形態では、ユーザの操作対象がボール３６を保持している状態でゲームがスタートする。そして、ユーザは、対戦相手チームのゴール２４内にボール３６を移動させて得点をあげることを目指す。例えば、対戦相手チームのキャラクタ３４にボール３６を奪われた場合は、ゲームオーバーになったり、ゲームの開始時点の状態からやり直しになったりする。
【００３０】
また、ユーザの操作対象は、原則として、対戦相手チームのゴール２４がある方向にのみ移動し、ユーザチームのゴール２４がある方向には移動しないものとする。ゴール２４がある方向とは、ゴール２４に近付く方向である。ユーザは、下記に説明する操作を行うことによって、操作対象を移動させることができる。
【００３１】
図５は、ユーザの操作対象を移動させるための操作を説明するための説明図である。ここでは、ユーザの操作対象がボール３６を保持しているので、ユーザの操作対象をボール３６とともに移動させる操作、言い換えるとユーザの操作対象にドリブルさせる操作ともいえる。また、ユーザが、２本の指で交互にタッチパネル１５に触れることで操作を行う場合を一例に挙げて説明する。
【００３２】
まず、ユーザは、タッチパネル１５に触れない状態（図５のゲーム画面４０Ａの状態）から、人差指Ｆ１でタッチパネル１５に触れる（図５のゲーム画面４０Ｂの状態）。このユーザの人差指Ｆ１がタッチパネル１５に触れた位置を第１の位置Ｐ１とする。そして、ユーザは、人差指Ｆ１をタッチパネル１５から離し、中指Ｆ２でタッチパネル１５に触れる（図５のゲーム画面４０Ｃの状態）。このユーザの中指Ｆ２がタッチパネル１５に触れた位置を第２の位置Ｐ２とする。図５のゲーム画面４０Ｄは、ユーザの中指Ｆ２がタッチパネル１５から離れた状態を示す。
【００３３】
本実施形態では、第１の位置Ｐ１及び第２の位置Ｐ２の中点と、ボール３６の表示位置と、の位置関係に基づいて、ユーザの操作対象の移動方向が決定される。例えば、前記中点がボール３６の表示位置よりも左側（Ｘｓ軸の負方向）にある場合は、ユーザの操作対象は、ユーザの操作対象又は仮想カメラ３８から見て斜め右方向に移動する。一方、前記中点がボール３６よりも右側（Ｘｓ軸の正方向）にある場合は、ユーザの操作対象は、ユーザの操作対象又は仮想カメラ３８から見て斜め左方向に移動する。
【００３４】
ゲーム画面４０Ｄの状態からユーザがそのままタッチパネル１５に触れないでいると、ユーザの操作対象は、上記の移動方向に向けて所定時間または所定距離だけ移動した後に停止する。このため、ユーザの操作対象を移動させ続けるためには、ユーザは、人差指Ｆ１と中指Ｆ２を交互にタッチパネル１５に接触させる操作を繰り返す（図５のゲーム画面４０Ｂ〜４０Ｄ）。以降、ユーザが操作対象を移動させるため処理の詳細を説明する。
【００３５】
［３．携帯端末において実現される機能］
図６は、携帯端末１０の機能ブロック図である。図６に示すように、携帯端末１０は、ゲームデータ記憶部５０、位置検出部５２、指示位置取得部５４、方向決定部５６、及び移動制御部５８を含む。携帯端末１０は、記憶部１２に記憶されたプログラムを実行することによって、図６に示す各機能を実現する。ゲームデータ記憶部５０は、例えば、記憶部１２を主として実現され、位置検出部５２は、例えば、制御部１１及びタッチパネル１５を主として実現される。他の各機能は、制御部１１を主として実現される。
【００３６】
［３−１．ゲームデータ記憶部］
ゲームデータ記憶部５０は、実行中のゲームの状況を示すゲーム状況データを記憶する。ゲーム状況データには、ゲーム空間２０の現在の様子を示すデータが格納される。例えば、ゲーム状況データには、ユーザの操作対象を識別する情報、キャラクタ３２（３４）の状態（例えば、位置、移動方向、及び移動速度）、ボール３６の状態（例えば、位置、移動方向、移動速度、回転方向、及び回転数）、仮想カメラ３８の状態（例えば、位置及び視線方向等）、及び試合の状況（例えば、残り時間や得点等）が格納される。なお、ここでの回転とは、ボール３６の自転のことである。
【００３７】
また、ゲームデータ記憶部５０は、位置検出部５２が検出した位置を時系列的に格納する。図７は、位置検出部５２が検出した位置を時系列的に格納される様子を示す図である。図７に示すように、座標データと、当該座標データが取得されたタイミングと、が関連付けられてゲームデータ記憶部５０に記憶される。
【００３８】
なお、ゲームデータ記憶部５０に記憶されるデータは、上記の例に限られない。例えば、ゲームデータ記憶部５０は、各キャラクタ３２（３４）に関するパラメータ（例えば、能力値）を記憶するようにしてもよい。ゲームデータ記憶部５０は、ゲーム空間２０においてユーザの操作対象などを移動させるために必要なデータを記憶すればよい。
【００３９】
［３−２．位置検出部］
位置検出部５２は、ユーザにより指示されたゲーム画面４０上の位置を検出する。位置検出部５２は、ポインティングデバイスからの信号を取得することで、ゲーム画面４０上の位置を検出する。本実施形態では、位置検出部５２は、タッチパネル１５からの検出信号に基づいて、ユーザにより接触されたタッチパネル１５の接触位置を示す情報（例えば、座標データ）を検出する。位置検出部５２は、座標データを時系列的にゲームデータ記憶部５０に記録することになる。
【００４０】
［３−３．指示位置取得部］
指示位置取得部５４は、位置検出部５２が検出したゲーム画面４０上の第１の位置及び第２の位置に基づいて定まるゲーム画面４０上の位置を指示位置として取得する。本実施形態では、指示位置取得部５４は、第１の位置と、第１の位置が検出された後に検出される第２の位置と、に基づいて定まるゲーム画面４０上の位置を指示位置として取得する場合を説明するが、第１の位置と第２の位置は同時に検出されたものであってもよい。なお、第１の位置が検出された後とは、取得時間が第１の位置よりも遅いことであり、例えば、第１の位置の次に検出された位置が、第２の位置となる。
【００４１】
指示位置は、第１の位置及び第２の位置を所定の計算式に代入することで得られる位置であり、例えば、第１の位置及び第２の位置の両方から所定距離以内の位置である。本実施形態では、指示位置は、第１の位置及び第２の位置の間の位置であり、より具体的には、第１の位置及び第２の位置の中点である。２つの位置に基づいて指示位置が決まるので、ユーザが位置を入力するときにずれが生じたとしても、そのずれの影響を軽減することができる。更に、２つの位置の中間を指示位置とすることにより、指示位置をユーザが予測しやすくなる。
【００４２】
なお、ここでは、第１の位置及び第２の位置を所定の計算式に代入することで指示位置を計算する場合を説明したが、第１の位置及び第２の位置と、指示位置と、を関連付けたデータに基づいて指示位置が定まればよく、このデータは、テーブル形式であってもよい。即ち、指示位置取得部５４は、当該テーブルを参照して、第１の位置及び第２の位置に関連付けられた指示位置を取得するようにしてもよい。
【００４３】
また、本実施形態では、第１の位置及び第２の位置の中点が指示位置に相当する場合を説明するが、指示位置は中点に限られない。指示位置は、第１の位置及び第２の位置に基づいて定まる位置であればよい。例えば、指示位置は、第１の位置及び第２の位置を結ぶ線分を所定の比率で内分する内分点であってもよいし、第１の位置及び第２の位置を結ぶ線分を所定の比率で外分する外分点であってもよい。所定の比率の内分点や外分点を用いることで、ユーザは当該比率を考えて位置を指示すればよいので、指示位置を予測しやすくなる。他にも、指示位置は、第１の位置及び第２の位置を結ぶ線上の位置に限られず、この線から所定方向に所定距離だけずらした位置であってもよい。この場合は、ユーザは、当該所定方向や所定距離を考えて位置を指示すればよいので、指示位置を予測しやすくなる。更に、上記の場合に、内分点や外分点を決定するための比率や上記所定方向又は所定距離をユーザの好みに応じて登録しておき、ユーザの操作の癖に応じた指示位置を取得することができるようにしてもよい。
【００４４】
更に、第１の位置及び第２の位置が同じ場合には、上記と同様の方法で計算式やテーブルによって指示位置が取得されるようにしてもよいが、第１の位置及び第２の位置が同じなので中点、内分点、又は外分点等の位置は存在しないことになる。このため、第１の位置及び第２の位置が同じ場合には、指示位置取得部５４は、第１の位置及び第２の位置をそのまま指示位置として取得するようにしてもよい。即ち、第１の位置及び第２の位置が同じであるということは、ユーザがタッチパネル１５の同じ位置を続けてタップしたことになるので、ユーザの指示する位置がずれたわけではない可能性が高い（即ち、ユーザの指示する位置が、２回とも同じ位置にずれてしまうとは考えにくい）ため、この場合は、第１の位置及び第２の位置をそのまま指示位置とするようにしてもよい。
【００４５】
［３−４．方向決定部］
方向決定部５６は、指示位置取得部５４により取得された指示位置と、ゲーム画面４０上の基準位置と、に基づいて、ユーザの操作対象の移動方向を決定する。基準位置は、予め定められた方法によって定まる位置であり、ゲーム画面４０上の所定位置又はゲーム空間２０内のオブジェクトの表示位置である。本実施形態では、ゲーム画面４０におけるボール３６の表示位置が、基準位置に相当する場合を説明する。
【００４６】
方向決定部５６は、指示位置と基準位置との位置関係に基づいて、ユーザの操作対象の移動方向を決定する。例えば、指示位置と基準位置との位置関係に関する条件と、ユーザの操作対象が移動すべき方向と、を関連付けたデータがゲームデータ記憶部５０に定められているようにしてもよい。この関連付けたデータは、数式形式であってもよいし、テーブル形式であってもよい。方向決定部５６は、指示位置と基準位置との位置関係が満たす条件に関連付けられた方向を、ユーザの操作対象の移動方向として決定する。
【００４７】
本実施形態では、方向決定部５６は、指示位置取得部５４により取得された指示位置と、基準位置と、のゲーム画面４０上における基準方向のずれ量に基づいて、移動対象の移動方向を決定する。基準方向は、予め定められた方向であればよく、例えば、Ｘｓ軸方向（水平方向）又はＹｓ軸方向（垂直方向）である。本実施形態では、基準方向が、Ｘｓ軸方向である場合を説明する。
【００４８】
図８は、移動方向の決定方法を説明するための説明図である。図８に示すように、ゲーム画面４０上で指示された指示位置Ｑ（ここでは、第１の位置Ｐ１及び第２の位置Ｐ２の中点）と、ボール３６の表示位置である基準位置Ｒと、のＸｓ軸方向の距離を、ずれ量Ｌとする。即ち、方向決定部５６は、指示位置ＱのＸｓ座標と、基準位置ＲのＸｓ座標と、の差を、ずれ量Ｌとして取得する。方向決定部５６は、ずれ量Ｌに基づいて、ユーザの操作対象の移動方向を決定する。
【００４９】
図９は、ゲーム空間２０をＹｗ軸正方向から見た様子を示す図である。図９に示すように、本実施形態では、ユーザの操作対象の現在位置と対戦相手チームのゴール２４の代表位置３９とを結ぶ方向が、原則として移動すべき所定方向Ｖ０として定められている。なお、代表位置３９は、ゴール２４に関連付けられた位置であればよく、例えば、ゴール２４内の所定位置（中心点等）である。方向決定部５６は、指示位置取得部５４により取得された指示位置Ｑと、基準位置Ｒと、に基づいて、所定方向Ｖ０とユーザの操作対象の移動方向Ｖ１とのずれ量θを決定する。ずれ量θは、所定方向Ｖ０から移動方向Ｖ１がどれだけずれているかを示す値（ベクトル変化量）であり、ここでは、所定方向Ｖ０と移動方向Ｖ１のなす角度である。
【００５０】
例えば、ゲームデータ記憶部５０に記憶されている関連付けには、指示位置Ｑ及び基準位置Ｒのずれ量Ｌと、所定方向Ｖ０及び移動方向Ｖ１のずれ量θと、が定義されている。方向決定部５６は、指示位置Ｑ及び基準位置Ｒのずれ量Ｌに関連付けられた、所定方向Ｖ０及び移動方向Ｖ１のずれ量θに基づいて、移動方向Ｖ１を決定する。より具体的には、方向決定部５６は、所定方向Ｖ０からずれ量θだけ回転させた方向を、移動方向Ｖ１として決定する。例えば、方向決定部５６は、ずれ量Ｌが大きいほど、角度θが大きくなるように、移動方向Ｖ１を決定する。別の言い方をすれば、方向決定部５６は、ずれ量Ｌが小さいほど、角度θが小さくなるように、移動方向Ｖ１を決定する。
【００５１】
なお、ゲームデータ記憶部５０に記憶されている上記関連付けには、所定方向Ｖ０を回転させる方向も、上記関連付けに定義されているものとする。例えば、方向決定部５６は、指示位置Ｑが基準位置Ｒよりもユーザから見て左側（Ｘｓ軸の負方向側）にある場合は、ユーザの操作対象又は仮想カメラ３８からみて右側に所定方向Ｖ０をずれ量θだけ回転させる。一方、方向決定部５６は、指示位置Ｑが基準位置Ｒよりもユーザから見て右側（Ｘｓ軸の正方向側）にある場合は、ユーザの操作対象又は仮想カメラ３８からみて左側に所定方向Ｖ０をずれ量θだけ回転させる。このようにした場合は、ユーザがタッチパネル１５を接触した方向とは逆方向に、ユーザの操作対象が移動するので、ユーザの操作対象が向かう方向がユーザの指などで隠れて見えなくなることを防止することができる。
【００５２】
上記とは逆に、方向決定部５６は、指示位置Ｑが基準位置Ｒよりもユーザから見て左側（Ｘｓ軸の負方向側）にある場合は、ユーザの操作対象又は仮想カメラ３８からみて左側に所定方向Ｖ０をずれ量θだけ回転させるようにしてもよい。同様に、方向決定部５６は、指示位置Ｑが基準位置Ｒよりもユーザから見て右側（Ｘｓ軸の正方向側）にある場合は、ユーザの操作対象又は仮想カメラ３８からみて右側に所定方向Ｖ０をずれ量θだけ回転させるようにしてもよい。このようにした場合は、ユーザがタッチパネル１５を触った方向にユーザの操作対象を移動させることができるので、触った位置と移動方向との関係を分かりやすくすることができる。
【００５３】
［３−５．移動制御部］
移動制御部５８は、方向決定部５６により決定された移動方向Ｖ１に基づいて、ユーザの操作対象を移動させる。例えば、移動制御部５８は、方向決定部により決定された移動方向Ｖ１にユーザの操作対象を所定距離又は所定時間移動させる。ここでは、移動制御部５８は、ユーザの操作対象を、移動方向Ｖ１に向けて、所定の移動速度で所定の距離だけ移動させる。この移動距離は、例えば、第２の位置が検出されたタイミングから一定時間だけ所定の速度で移動することによって決定される。なお、ユーザの操作対象の移動速度が速いほど、移動距離は大きくなる。即ち、ユーザの操作対象の移動速度が遅いほど、移動距離は小さくなる。本実施形態では、移動制御部５８が上記のようにユーザの操作対象を所定距離又は所定時間だけ移動させると、ユーザの操作対象は停止する。このため、ユーザの操作対象を移動させ続けるためには、ユーザは、タッチパネル１５をタップし続けることになる。
【００５４】
また、本実施形態では、ユーザの操作対象がボール３６を保持しているので、移動制御部５８は、ユーザの操作対象の移動に基づいて、ボール３６を移動させることになる。別の言い方をすれば、移動制御部５８は、ユーザの操作対象とともに、ボール３６を移動させる。例えば、移動制御部５８は、ユーザの操作対象の移動方向Ｖ１に対して、ユーザの操作対象が移動した距離だけボール３６を移動させる。
【００５５】
［４．携帯端末において実行される処理］
図１０は、携帯端末１０が実行する処理を示すフロー図である。制御部１１は、記憶部１２に記憶されたプログラムに従って、図１０に示す処理を実行する。図１０に示す処理が実行されることによって、図６に示す各機能が実現される。なお、以降説明する処理は、ゲームの開始指示が行われた場合に実行される。
【００５６】
まず、図１０に示すように、制御部１１は、ゲームを開始し、ゲーム空間２０を構築する（Ｓ１）。Ｓ１においては、制御部１１は、ゲーム状況データを生成して記憶部１２に記録する。例えば、制御部１１は、各キャラクタ３２（３４）及びボール３６を初期位置に配置して、仮想カメラ３８の位置及び視線方向を設定する。また例えば、制御部１１は、所与の条件のもとでユーザの操作対象を設定し、ユーザの操作対象にボール３６を保持させる。
【００５７】
制御部１１は、仮想カメラ３８からゲーム空間２０を見た様子を示すゲーム画面４０を表示させる（Ｓ２）。なお、制御部１１は、ボール３６を保持しているユーザの操作対象の位置等に基づいて仮想カメラ３８の位置及び視線方向を設定するので、仮想カメラ３８の視野内にボール３６が含まれるようになっている。このため、Ｓ２においては、制御部１１は、ゲーム画面４０にボール３６を表示させることになる。
【００５８】
制御部１１は、ボール３６の現在の表示位置を基準位置として設定する（Ｓ３）。Ｓ３においては、制御部１１は、ゲーム画面４０を表示させるための所与の座標変換処理を実行して、ボール３６の３次元座標（ワールド座標）を２次元座標（スクリーン座標）に変換し、当該変換した２次元座標を基準位置とする。
【００５９】
制御部１１は、タッチパネル１５から取得した座標データを、記憶部１２に記録する（Ｓ４）。Ｓ４においては、制御部１１は、座標データを時系列順で記憶部１２に記録することになる。なお、タッチパネル１５から検出信号を受信しない場合には、Ｓ４〜Ｓ９の処理は実行されない。
【００６０】
制御部１１は、記憶部１２の記憶内容を参照して、直近で取得した座標データがあるか否かを判定する（Ｓ５）。直近とは、現時点よりも前の時点であり、例えば、現時点よりも前の全期間であってもよいし、現時点から所定時間前までの期間（例えば、５秒前までの期間）であってもよい。
【００６１】
直近で取得した座標データがないと判定された場合（Ｓ５；Ｎ）、後述のＳ１０に移行する。この場合、ゲーム画面４０上の位置がまだ一つだけしか検出されていないため、指示位置は取得されないことになるので、ユーザの操作対象は移動しない。
【００６２】
一方、直近で取得した座標データがあると判定された場合（Ｓ５；Ｙ）、制御部１１は、直近で取得した座標データが示す座標（第１の位置）と、Ｓ４で取得した座標データが示す座標（第２の位置）と、の中点を算出して指示位置を取得する（Ｓ６）。
【００６３】
制御部１１は、Ｓ３で設定した基準位置と、Ｓ６で取得した指示位置と、のＸｓ軸方向のずれ量Ｌを算出する（Ｓ７）。Ｓ７においては、制御部１１は、Ｓ３で設定した基準位置のＸｓ座標と、Ｓ６で算出した中点のＸｓ座標と、の差をずれ量Ｌとして算出する。
【００６４】
制御部１１は、Ｓ７で算出したずれ量Ｌに基づいて、ユーザの操作対象の移動方向Ｖ１を決定する（Ｓ８）。Ｓ８においては、制御部１１は、Ｓ７で算出したずれ量Ｌに基づいて、所定方向Ｖ０と移動方向Ｖ１とのずれ量θを決定する。そして、制御部１１は、指示位置が基準位置よりも左にある場合には、所定方向Ｖ０をずれ量θだけ右方向に回転させた方向を、移動方向Ｖ１として決定し、指示位置が基準位置よりも右にある場合には、所定方向Ｖ０をずれ量θだけ左方向に回転させた方向を、移動方向Ｖ１として決定する。
【００６５】
制御部１１は、Ｓ８で決定した移動方向Ｖ１に向けて、ユーザの操作対象を移動させる（Ｓ９）。Ｓ９においては、制御部１１は、Ｓ８で決定した移動方向Ｖ１に、ユーザの操作対象を、所定の移動速度で、所定距離又は所定時間だけ移動させる。なお、先述のように、この移動距離は、例えば、第２の位置が検出されたタイミングから一定時間だけ所定の速度で移動することによって決定される。
【００６６】
制御部１１は、ゲームの終了条件が満たされるか否かを判定する（Ｓ１０）。ゲームの終了条件は、予め定められた条件であれば特に限定されるものではないが、例えば、実行中のゲームが所定の状況となったか否か、又は、ユーザが所定の終了操作を行ったか否かである。例えば、ボール３６が対戦相手チームのゴール２４内に入った場合や対戦相手チームのキャラクタがボール３６を保持している場合には、終了条件が満たされると判定されてもよい。
【００６７】
ゲームの終了条件が満たされないと判定された場合（Ｓ１０；Ｎ）、Ｓ２の処理に戻る。ゲームの終了条件が満たされると判定された場合（Ｓ１０；Ｙ）、本処理は終了する。
【００６８】
以上説明した携帯端末１０によれば、２つの位置に基づいて指示位置Ｑを定めているので、ゲーム空間２０においてユーザの操作対象を移動させるときに、ユーザの指示する位置がずれた場合の影響を軽減することができる。例えば、ユーザの指示する位置がずれてしまったとしても、その後に指示する位置によって、自分が指示したかった位置を修正することができるので、ユーザの指示する位置がずれた場合の影響を軽減することができる。より具体的には、第１の位置がずれてしまっていたとしても、第２の位置を正確に指示すれば、これらの位置に基づいて指示位置Ｑが定まるので、ユーザの指示する位置がずれた場合の影響を第２の位置により吸収することができる。更に、１つの位置だけを考慮して移動方向を決める場合には、ユーザが間違って指示してしまった位置に急激に方向転換してしまうことが考えられるが、携帯端末１０では、２つの位置に基づいて指示位置を定めているので、急激な方向転換を防止することができる。
【００６９】
また、移動方向Ｖ１にユーザの操作対象を所定距離又は所定時間移動させるときに、ユーザの指示する位置がずれた場合の影響を軽減することができる。例えば、移動方向Ｖ１にユーザの操作対象を所定距離又は所定時間だけ移動して停止する場合は、ユーザはタッチパネル１５を繰り返しタップする必要があり、ユーザの指示する位置がずれる可能性が高まるが、このときのユーザの指示する位置がずれた場合の影響を効果的に軽減することができる。
【００７０】
また、指示位置Ｑと基準位置ＲとのＸｓ軸方向のずれ量Ｌに基づいてユーザの操作対象の移動方向Ｖ１を決定することで、指示位置Ｑを指示したときの移動方向Ｖ１を、その指示位置Ｑと基準位置ＲとのＸｓ軸方向のずれ量Ｌから予想させてその方向に移動させることができるので、直感的な方向指示が可能になる。例えば、ずれ量Ｌが大きくなるほど移動方向Ｖ１を変えるようにすることができ、ずれ量Ｌと移動方向Ｖ１に関連性を持たせることができるので、Ｘｓ軸方向のずれ量Ｌから移動方向Ｖ１を予想しやすくなる。
【００７１】
また、第２の位置Ｐ２が第１の位置Ｐ１が検出された後に検出される位置であるため、第１の位置Ｐ１と第２の位置Ｐ２を同時に指示する必要がないので、指示位置Ｑを指示しやすくなる。更に、第２の位置Ｐ２の後に、さらに他の位置が検出された場合、元々の第２の位置Ｐ２が第１の位置Ｐ１となり、当該他の位置が第２の位置Ｐ２となる。このため、新たな位置が次々に検出される場合に、検出された位置とその直前の位置とに基づいて指示位置Ｑが決まることになるので、指示位置Ｑが大きく移動することが生じにくく、ユーザの操作対象の移動方向の急激な変化を抑制することができる。
【００７２】
また、指示位置Ｑと基準位置Ｒとに基づいて所定方向Ｖ０と移動方向Ｖ１とのずれ量θを決定することで、指示位置Ｑを指示したときの移動方向Ｖ１を、その指示位置Ｑ等によって定まるずれ量Ｌや所定方向Ｖ０から予想させてその方向に移動させることができるので、直感的な方向指示が可能になる。即ち、ユーザの操作対象が原則として移動すべき所定方向Ｖ０が決まっているので、ユーザは、そこからのずれ量θを考えて操作をすればよいので、移動方向Ｖ１を予想しやすくなる。
【００７３】
また、ユーザの操作対象が保持するボール３６の表示位置が、当該ボール３６の移動方向を決める基準位置Ｒとなっているので、ボール３６を移動させるときの方向指示がやりやすくなる。即ち、ユーザは、自分が移動させたいボール３６の表示位置を基準にして指示位置Ｑを指示すればよいので、ボール３６を移動させるときの移動方向が予想しやすくなり、その予想通りの方向にボール３６を移動させやすくなる。例えば、実施形態のように、ユーザの操作対象がボール３６を移動させるゲームの場合には、ボール３６を基準位置Ｒにすることで、ボール３６を移動させるときの移動方向の指示をしやすくなるので、ドリブル操作がやりやすくなる。
【００７４】
［５．変形例］
なお、本発明は、以上に説明した実施の形態に限定されるものではない。本発明の趣旨を逸脱しない範囲で、適宜変更可能である。
【００７５】
図１１は、変形例の機能ブロック図である。図１１に示すように、変形例では、実施形態の機能に加えて、頻度情報取得部６０、速度決定部６２、及び基準位置設定部６４が実現される。これらの各機能は、制御部１１を主として実現される。なお、携帯端末１０では、変形例で説明する機能は省略するようにしてもよい。
【００７６】
（１）例えば、実施形態では、移動方向Ｖ１がずれ量Ｌに基づいて決定される場合を説明したが、移動方向Ｖ１の決定方法は、これに限られない。移動方向Ｖ１は、指示位置と基準位置とに基づいて決定されるようにすればよい。実施形態で説明した方法以外にも、方向決定部５６は、指示位置取得部５４により取得された指示位置と、基準位置と、を結ぶゲーム画面４０上の方向に基づいて、ユーザの操作対象の移動方向Ｖ１を決定するようにしてもよい。
【００７７】
図１２は、指示位置と基準位置を結ぶ方向Ｖ２と、移動方向Ｖ１と、の関係を示す図である。図１２に示すように、方向決定部５６は、指示位置と基準位置を結ぶゲーム画面４０上の方向Ｖ２（スクリーン座標系のベクトル）に座標変換処理を行ってゲーム空間２０内のベクトル（ワールド座標系のベクトル）に変換し、当該変換したベクトルを、移動方向Ｖ１とする。
【００７８】
なお、ベクトルの変換処理は、予め定められた方法に基づいて実行されるようにすればよく、ゲーム画面４０上の方向Ｖ２からユーザの操作対象の移動方向Ｖ２を決定する方法は、上記の例に限られない。例えば、ゲーム画面４０上の方向Ｖ２と、ユーザの操作対象が移動すべき方向と、を関連付けたデータがゲームデータ記憶部５０に記憶されているようにしてもよい。この関連付けたデータは、数式形式であってもよいし、テーブル形式であってもよい。方向決定部５６は、ゲーム画面４０上の方向Ｖ２に関連付けられた方向を、ユーザの操作対象の移動方向Ｖ２として決定する。他にも例えば、指示位置Ｑが基準位置Ｒよりもユーザから見て上側（Ｙｓ軸負方向側）にある場合には、方向決定部５６は、方向Ｖ２の向きを逆転させたうえで、移動方向Ｖ１を計算するようにしてもよい。
【００７９】
変形例（１）によれば、指示位置Ｑと基準位置Ｒとを結ぶ方向Ｖ２に基づいてユーザの操作対象の移動方向Ｖ１を決定することで、指示位置Ｑを指示したときの移動方向Ｖ１を、その指示位置Ｑと基準位置Ｒと結んだ方向Ｖ２から予想させてその方向に移動させることができるので、直感的な方向指示が可能になる。即ち、指示位置Ｑと基準位置Ｒと結んだ方向Ｖ２と、実際の移動方向Ｖ１と、に関連性を持たせることができるので、指示位置Ｑと基準位置Ｒとを結ぶ方向Ｖ２によって移動方向Ｖ１を予想しやすくなる。
【００８０】
（２）また例えば、ユーザがタッチパネル１５に繰り返し触れると、指示位置取得部５４は、指示位置を繰り返し取得することになる。この場合に、ユーザがタッチパネル１５をタップした頻度に応じて、ユーザの操作対象の移動速度が変化するようにしてもよい。
【００８１】
本変形例の携帯端末１０は、頻度情報取得部６０及び速度決定部６２を含む。頻度情報取得部６０は、指示位置を指示するための操作が行われたタイミングに基づいて、当該操作が行われた頻度に関する頻度情報を取得する。指示位置を指示するための操作は、所定の操作であればよく、ここでは、タッチパネル１５に触れる行為である。操作が行われたタイミングは、位置検出部５２がユーザの操作を検知したタイミングであり、ここでは、座標データの取得タイミングである。頻度情報は、操作の頻度に関する情報であればよく、例えば、一定期間内における操作回数、又は、ある操作と次の操作の時間的な間隔である。
【００８２】
速度決定部６２は、頻度情報取得部６０により取得された頻度情報に基づいて、ユーザの操作対象の移動速度を決定する。図１３は、頻度情報が示す頻度と速度との関連付けを示す図である。図１３に示す関連付けは、ゲームデータ記憶部５０に記憶されており、数式形式であってもよいし、テーブル形式であってもよい。速度決定部６２は、頻度情報が示す頻度に関連付けられた速度を、ユーザの操作対象の移動速度として決定する。例えば、速度決定部６２は、頻度情報が示す頻度が多いほど、ユーザの操作対象の移動速度を速くする。即ち、ユーザがタッチパネル１５を素早く何度もタップして頻度情報が示す頻度を高くすることで、移動対象であるユーザの操作対象の移動速度が速くなる。別の言い方をすれば、速度決定部６２は、頻度情報が示す頻度が少ないほど、ユーザの操作対象の移動速度を遅くする。即ち、ユーザがタッチパネル１５を比較的ゆっくりとタップして頻度情報が示す頻度を低くすることで、移動対象であるユーザの操作対象の移動速度が遅くなる。
【００８３】
移動制御部５８は、方向決定部５６により決定された移動方向と、速度決定部６２により決定された移動速度と、に基づいて、ユーザの操作対象を移動させる。移動制御部５８は、方向決定部５６が決定した移動方向Ｖ１に向けて、速度決定部６２が決定した移動速度で、ユーザの操作対象を移動させる。例えば、移動制御部５８は、方向決定部５６が決定した移動方向Ｖ１に向けて、速度決定部６２が決定した移動速度で、ユーザの操作対象を所定距離又は所定時間だけ移動させる。
【００８４】
変形例（２）によれば、ユーザがタッチパネル１５に触れた頻度に基づいてユーザの操作対象の移動速度Ｖ１を決定することで、ある頻度でタッチパネル１５に触れたときの移動速度を、その頻度から予想させてその速度で移動させることができるので、直感的な移動速度の指示が可能になる。即ち、操作の頻度が多くなるほど速度を上げるように設定することができ、ユーザがタッチパネル１５に触れた頻度と、ユーザの操作対象野移動速度と、に関連性を持たせることができるので、移動速度を予想しやすくなる。
【００８５】
（３）また例えば、ずれ量Ｌが小さければ、ずれ量Ｌを無視して、ユーザの操作対象を所定方向Ｖ０に移動させるようにしてもよい。
【００８６】
図１４は、ゲーム画面４０の一例を示す図である。図１４に示すように、指示位置が、基準位置付近の領域４８内であれば、ずれ量Ｌが０でなくても、ユーザの操作対象が対戦相手チームのゴール２４に向けて移動する。図１４に示す例では、領域４８は、基準位置ＲとのＸｓ軸方向のずれ量Ｌが基準量Ｌ０未満となる領域である。
【００８７】
方向決定部５６は、指示位置取得部５４により取得された指示位置と、基準位置と、のゲーム画面４０上における基準方向（Ｘｓ軸方向）のずれ量Ｌが基準量Ｌ０未満である場合、基準方向（Ｘｓ軸方向）に関連付けられた所定方向Ｖ０を、ユーザの操作対象の移動方向Ｖ１として決定する。所定方向Ｖ０は、基準方向と所定の関係を有する方向であり、ここでは、対戦相手チームのゴール２４に対する所定方向Ｖ０である。
【００８８】
方向決定部５６は、ずれ量Ｌが基準量Ｌ０以上である場合、指示位置取得部５４により取得された指示位置Ｑと基準位置Ｒとに基づいて定まる方向を、ユーザの操作対象の移動方向Ｖ１として決定する。移動方向Ｖ１の決定方法自体は、実施形態で説明した方法と同様である。
【００８９】
変形例（３）によれば、指示位置Ｑと基準位置ＲとのＸｓ軸方向のずれ量Ｌが基準量Ｌ０未満である場合には、ユーザの操作対象を所定方向Ｖ０に移動させることができるので、ユーザの操作対象を所定方向Ｖ０に移動させるための指示をしやすくなる。
【００９０】
（４）また例えば、上記においては、ユーザの操作対象がボール３６を保持している場合の移動制御を説明したが、ユーザの操作対象がボール３６を保持していない場合に、ユーザが同様の操作をすることで移動方向Ｖ１が決定されるようにしてもよい。この場合は、基準位置Ｒは、予め定められた位置となるようにしてもよい。例えば、ユーザの操作対象の正面方向に一定距離だけ離れた位置を、基準位置Ｒとして設定すると、ユーザの正面方向に少し離れた位置が操作対象の移動方向を指示するときの基準になるので、操作がしやすくなる。この場合、上記一定距離は、ドリブル時のボール３６とユーザの操作対象との距離よりも大きく設定する方が、操作がしやすくなる。即ち、ドリブル時には、一般的に足元にあるボール３６を意識して移動するため、比較的小さい距離に基づいて基準位置Ｒを設定し（通常、サッカー選手が意識するような手元の位置を基準位置Ｒとして設定し）、ドリブル時以外は、足元に意識せずに移動することができるので、ドリブル時よりも上記一定距離を大きく設定する（通常の場合にサッカー選手が意識するような正面方向に少し離れた位置を基準位置Ｒとして設定する）ことで、意識している位置を基準にして移動方向を決めることができるので操作がしやすくなる。なお、本変形例では、ユーザの操作対象がボール３６を保持しているか否かに応じて、基準位置Ｒの設定方法を決めている。
【００９１】
本変形例の携帯端末１０は、基準位置設定部６４を含む。基準位置設定部６４は、ユーザの操作対象とボール３６との位置関係に基づいて、ボール３６の表示位置を基準位置Ｒとするか、ゲーム画面４０上の所定位置を基準位置Ｒとするか、を決定する。この所定位置は、予め定められた位置であればよく、例えば、ゲーム画面４０の中心点である。
【００９２】
基準位置設定部６４は、ユーザの操作対象とボール３６との距離が閾値以内であれば、ユーザの操作対象がボール３６を保持しているものと判断してボール３６の表示位置を基準位置Ｒとし、ユーザの操作対象とボール３６との距離が閾値以上であれば、ユーザの操作対象がボール３６を保持していないものと判断してゲーム画面４０上の所定位置を基準位置Ｒとする。別の言い方をすれば、基準位置設定部６４は、ユーザの操作対象がボール３６を保持していれば、ボール３６の表示位置を基準位置Ｒとし、ユーザの操作対象がボール３６を保持していなければ、ゲーム画面４０上の所定位置を基準位置Ｒとする。
【００９３】
変形例（４）によれば、ユーザの操作対象とボール３６の位置関係に応じて基準位置Ｒを変えるので、そのときの位置関係に応じた方向指示が可能になる。例えば、ユーザの操作対象がボール３６を保持しているか否かに応じて、基準位置Ｒを使い分けることができる。
【００９４】
（５）また例えば、上記においては、ユーザがゲーム画面４０上の位置を指示する場合を説明したが、ユーザは、ゲーム空間２０内の位置を指示できるようにしてもよい。即ち、ゲーム空間２０内又はゲーム画面４０上の位置が用いられるようにすればよい。指示位置や基準位置もゲーム空間２０内の位置となるが、この場合も、上記実施形態や各変形例と同様の処理が実行されるようにしてもよい。
【００９５】
例えば、位置検出部５２は、ゲーム空間２０内の第１の位置及び第２の位置を取得するようにしてもよい。そして、指示位置取得部５４は、ゲーム空間２０内の第１の位置及び第２の位置に基づいて定まる、ゲーム空間２０内の位置を指示位置として取得するようにしてもよい。この場合も、実施形態と同様、指示位置取得部５４は、ゲーム空間２０内の第１の位置及び第２の位置を所与の数式に代入することで、ゲーム空間２０内の指示位置を定めるようにしてもよい。更に、ゲーム空間２０におけるボール３６の位置が、基準位置として用いられるようにしてもよい。
【００９６】
本変形例では、方向決定部５６は、ゲーム空間２０内の基準方向のずれ量Ｌに基づいて、ユーザの操作対象の移動方向Ｖ１を決定することになる。ゲーム空間２０内の基準方向は、予め定められたゲーム空間２０内の方向であり、ユーザの操作対象又は仮想カメラ３８から見て水平方向又は垂直方向である。ずれ量Ｌの取得方法は、実施形態と同様であり、基準方向の座標値の差により算出される。また、図１２で説明した方向Ｖ２は、ゲーム空間２０における指示位置と基準位置を結ぶゲーム空間２０内の方向であってもよい。
【００９７】
（６）また例えば、ゲーム空間２０におけるボール３６の位置やゲーム画面４０におけるボール３６の表示位置が基準位置に相当する場合を説明したが、基準位置は、予め定められた方法で定まればよく、これに限られない。他にも例えば、基準位置は、ゲーム空間２０又はゲーム画面４０内の所定の位置であってもよいし、ゲーム空間２０に配置された所定のオブジェクトの位置又はそのオブジェクトの表示位置であってもよい。
【００９８】
また例えば、上記においては、ユーザの操作対象が、原則として対戦相手チームのゴール２４に向かって進む場合を説明したが、ユーザの操作対象が原則として進むべき方向は、対戦相手チームのゴール２４に限られない。ゲーム空間２０内の所定位置又は所定オブジェクトの位置に向けた方向が、ユーザの操作対象が原則として進むべき方向であってもよい。更に、ユーザの操作対象が原則として進むべき方向が定められておらず、ゲーム空間２０内を自由に移動できるようにしてもよい。
【００９９】
また例えば、上記においては、ユーザの操作対象のキャラクタ３２が移動対象に相当する場合を説明したが、移動対象は、これに限られない。仮想空間において移動するオブジェクトが、移動対象であればよい。また例えば、ゲーム空間２０を、図２に示すような３次元空間として説明したが、本発明に係るゲーム空間は、キャラクタ３２（３４）やボール３６の位置等が、２つの座標要素で管理されるような２次元ゲーム空間であってもよい。
【０１００】
また例えば、本発明は、サッカーゲーム以外のゲームを実行する携帯端末にも適用することができる。仮想空間において操作対象を移動させるゲームであればよく、例えば、サッカーゲーム以外のスポーツゲームを実行する携帯端末にも、本発明を適用することができる。他にも例えば、アクションゲーム、ロールプレイングゲーム等を実行する携帯端末にも適用することができる。また、ゲームに限られず、現実世界での移動物体のシミュレーションにも、本発明に係る移動制御を適用することができる。
【０１０１】
また例えば、本発明に係る移動制御装置は、携帯端末以外の種々のコンピュータにも適用することができる。例えば、ユーザが操作する端末にネットワーク接続されたサーバ装置が、移動制御装置に相当するようにしてもよい。この場合、ユーザが操作する端末では、主に、ユーザによる操作の検出及び画面の表示が行われ、サーバ装置において、各機能ブロックが実現される。
【０１０２】
また例えば、上記では、ユーザが人差指と中指を交互にタップする場合を説明したが、同じ指（例えば、人差指）だけを使用して操作してもよい。更に、ユーザが指を使って操作を行う場合を説明したが、タッチパネル１５に触れるのは、指に限られない。ユーザは、指以外の部位又はユーザが把持する物体を用いてタッチパネル１５に触れるようにすればよい。他にも例えば、ユーザは、両手の指を使ってタッチパネル１５に触れるようにしてもよい。更に、仮想空間内又は画面上の位置を指示するために、種々のポインティングデバイスを適用可能であり、タッチパネル１５に限られない。他にも、マウスにより位置が指示されるようにしてもよい。
【０１０３】
［６．発明のまとめ］
以上のような記載から、本発明は例えば以下のように把握される。
本発明に係る移動制御装置（１０）は、仮想空間（例えば、ゲーム空間２０）において移動対象（例えば、ユーザの操作対象のキャラクタ３２）を移動させる移動制御装置（１０）であって、位置検出手段（５２）が検出した前記仮想空間（例えば、ゲーム空間２０）内又は画面（例えば、ゲーム画面４０）上の第１の位置及び第２の位置に基づいて定まる、前記仮想空間（例えば、ゲーム空間２０）内又は前記画面（例えば、ゲーム画面４０）上の位置を指示位置として取得する取得手段（５４）と、前記取得手段（５４）により取得された指示位置と、前記仮想空間（例えば、ゲーム空間２０）内又は前記画面（例えば、ゲーム画面４０）上の基準位置と、に基づいて、前記移動対象（例えば、ユーザの操作対象のキャラクタ３２）の移動方向を決定する方向決定手段（５６）と、前記方向決定手段（５６）により決定された移動方向に基づいて、前記移動対象（例えば、ユーザの操作対象のキャラクタ３２）を移動させる移動制御手段（５８）と、を含むことを特徴とする。
【０１０４】
また、本発明に係るプログラムは、仮想空間（例えば、ゲーム空間２０）において移動対象（例えば、ユーザの操作対象のキャラクタ３２）を移動させるコンピュータ（１０）を、位置検出手段（５２）が検出した前記仮想空間（例えば、ゲーム空間２０）内又は画面（例えば、ゲーム画面４０）上の第１の位置及び第２の位置に基づいて定まる、前記仮想空間（例えば、ゲーム空間２０）内又は前記画面（例えば、ゲーム画面４０）上の位置を指示位置として取得する取得手段（５４）、前記取得手段（５４）により取得された指示位置と、前記仮想空間（例えば、ゲーム空間２０）内又は前記画面（例えば、ゲーム画面４０）上の基準位置と、に基づいて、前記移動対象（例えば、ユーザの操作対象のキャラクタ３２）の移動方向を決定する方向決定手段（５６）、前記方向決定手段（５６）により決定された移動方向に基づいて、前記移動対象（例えば、ユーザの操作対象のキャラクタ３２）を移動させる移動制御手段（５８）、として機能させる。
【０１０５】
また、本発明に係る情報記憶媒体は、上記プログラムを記録したコンピュータ読み取り可能な情報記憶媒体である。
【０１０６】
本発明によれば、仮想空間において移動対象を移動させるときに、ユーザの指示する位置がずれた場合の影響を軽減することができる。
【０１０７】
また、本発明の一態様では、移動制御手段（５８）は、前記方向決定手段（５６）により決定された移動方向に前記移動対象を所定距離又は所定時間移動させる、ことを特徴とする。当該態様によれば、決定された移動方向に移動対象を所定距離又は所定時間移動させるときに、ユーザの指示する位置がずれた場合の影響を軽減することができる。
【０１０８】
また、本発明の一態様では、前記取得手段（５４）は、前記指示位置を繰り返し取得し、前記移動制御装置（１０）は、前記指示位置を指示するための操作が行われたタイミングに基づいて、当該操作が行われた頻度に関する情報を取得する手段（６０）と、当該取得された情報に基づいて、前記移動対象（例えば、ユーザの操作対象のキャラクタ３２）の移動速度を決定する速度決定手段（６２）と、を更に含み、前記移動制御手段（５８）は、前記方向決定手段（５６）により決定された移動方向と、前記速度決定手段（６２）により決定された移動速度と、に基づいて、前記移動対象（例えば、ユーザの操作対象のキャラクタ３２）を移動させる、ことを特徴とする。当該態様によれば、操作が行われた頻度に基づいて移動対象の移動速度が決定することで、ある頻度で操作をしたときの移動対象の移動速度を、その頻度から予想させてその速度で移動させることができるので、直感的な移動速度の指示が可能になる。
【０１０９】
また、本発明の一態様では、前記方向決定手段（５６）は、前記取得手段（５４）により取得された指示位置と、前記基準位置と、の前記仮想空間（例えば、ゲーム空間２０）内又は前記画面（例えば、ゲーム画面４０）上における基準方向（例えば、Ｘｓ軸方向）のずれ量に基づいて、前記移動対象（例えば、ユーザの操作対象のキャラクタ３２）の移動方向を決定する、ことを特徴とする。当該態様によれば、指示位置と基準位置との基準方向のずれ量に基づいて移動対象の移動方向を決定することで、指示位置を指示したときの移動方向を、その指示位置と基準位置との基準方向のずれ量から予想させてその方向に移動させることができるので、直感的な方向指示が可能になる。
【０１１０】
また、本発明の一態様では、前記方向決定手段（５６）は、前記取得手段（５４）により取得された指示位置と、前記基準位置と、を結ぶ前記仮想空間（例えば、ゲーム空間２０）内又は前記画面（例えば、ゲーム画面４０）上の方向に基づいて、前記移動対象（例えば、ユーザの操作対象のキャラクタ３２）の移動方向を決定する、ことを特徴とする。当該態様によれば、指示位置と基準位置とを結ぶ方向に基づいて移動対象の移動方向を決定することで、指示位置を指示したときの移動方向を、その指示位置と基準位置と結んだ方向から予想させてその方向に移動させることができるので、直感的な方向指示が可能になる。
【０１１１】
また、本発明の一態様では、前記取得手段（５４）は、前記第１の位置と、前記第１の位置が検出された後に検出される前記第２の位置と、に基づいて定まる前記仮想空間（例えば、ゲーム空間２０）内又は前記画面（例えば、ゲーム画面４０）上の位置を前記指示位置として取得する、ことを特徴とする。当該態様によれば、第２の位置が第１の位置が検出された後に検出される位置であるため、第１の位置と第２の位置を同時に指示する必要がないので、指示位置を指示しやすくなる。
【０１１２】
また、本発明の一態様では、前記方向決定手段（５６）は、前記取得手段（５４）により取得された指示位置と、前記基準位置と、の前記仮想空間（例えば、ゲーム空間２０）内又は前記画面（例えば、ゲーム画面４０）上における基準方向（例えば、Ｘｓ軸方向）のずれ量が基準量未満である場合、前記基準方向（例えば、Ｘｓ軸方向）に関連付けられた所定方向を前記移動対象（例えば、ユーザの操作対象のキャラクタ３２）の移動方向として決定し、当該ずれ量が前記基準量以上である場合、前記取得手段（５４）により取得された指示位置と前記基準位置とに基づいて定まる方向を前記移動対象（例えば、ユーザの操作対象のキャラクタ３２）の移動方向として決定する、ことを特徴とする。当該態様によれば、指示位置と基準位置との基準方向のずれ量が基準量未満である場合には、基準方向に基づいて定まる所定方向に移動対象を移動させることができるので、所定方向に移動対象を移動させるための指示をしやすくなる。
【０１１３】
また、本発明の一態様では、前記方向決定手段（５６）は、前記取得手段（５４）により取得された指示位置と、前記基準位置と、に基づいて、所定方向と前記移動対象（例えば、ユーザの操作対象のキャラクタ３２）の移動方向とのずれ量を決定することによって、前記移動対象（例えば、ユーザの操作対象のキャラクタ３２）の移動方向を決定する、ことを特徴とする。当該態様によれば、指示位置と基準位置とに基づいて所定方向と移動方向とのずれ量を決定することで、指示位置を指示したときの移動方向を、その指示位置等によって定まるずれ量や所定方向から予想させてその方向に移動させることができるので、直感的な方向指示が可能になる。
【０１１４】
また、本発明の一態様では、前記基準位置は、前記仮想空間（例えば、ゲーム空間２０）内に配置された移動物体の位置又は前記画面（例えば、ゲーム画面４０）における当該移動物体の表示位置であり、前記移動制御手段（５８）は、前記移動対象（例えば、ユーザの操作対象のキャラクタ３２）の移動に基づいて、前記移動物体を移動させる、ことを特徴とする。当該態様によれば、移動物体の仮想空間内での位置や画面における表示位置が、当該移動物体を移動させる移動対象の移動方向を決める基準位置となっているので、移動物体を移動させるときの方向指示がやりやすくなる。
【０１１５】
また、本発明の一態様では、前記移動制御装置（１０）は、前記移動対象（例えば、ユーザの操作対象のキャラクタ３２）と前記移動物体との位置関係に基づいて、前記仮想空間（例えば、ゲーム空間２０）内の前記移動物体の位置又は前記移動物体の表示位置を前記基準位置とするか、前記仮想空間（例えば、ゲーム空間２０）内又は前記画面（例えば、ゲーム画面４０）上の所定位置を前記基準位置とするか、を決定する手段（６４）、を更に含むことを特徴とする。当該態様によれば、移動対象と移動物体の位置関係に応じて基準位置を変えるので、そのときの位置関係に応じた方向指示が可能になる。
【符号の説明】
【０１１６】
１０  携帯端末、１１  制御部、１２  記憶部、１３  通信部、１４  操作部、１５  タッチパネル、１６  表示部、２０  ゲーム空間、２２  フィールド、２４  ゴール、２６  ゴールライン、２８  タッチライン、３０  ピッチ、３２，３４  キャラクタ、３６  ボール、３８  仮想カメラ、４０  ゲーム画面、４２  ライン、４４  立ち位置画像、４６  方向画像、４８  領域、５０  ゲームデータ記憶部、５２  位置検出部、５４  指示位置取得部、５６  方向決定部、５８  移動制御部、６０  頻度情報取得部、６２  速度決定部、６４  基準位置設定部、Ｆ１  人差指、Ｆ２  中指、Ｑ  指示位置、Ｒ  基準位置、Ｌ，θ  ずれ量、Ｖ０  所定方向、Ｖ１  移動方向。
【図１】
2015150215.tif 000003
【図２】
2015150215.tif 000004
【図３】
2015150215.tif 000005
【図４】
2015150215.tif 000006
【図５】
2015150215.tif 000007
【図６】
2015150215.tif 000008
【図７】
2015150215.tif 000009
【図８】
2015150215.tif 000010
【図９】
2015150215.tif 000011
【図１０】
2015150215.tif 000012
【図１１】
2015150215.tif 000013
【図１２】
2015150215.tif 000014
【図１３】
2015150215.tif 000015
【図１４】
2015150215.tif 000016