(57)【要約】【課題】複数の基本方向に対応する複数の押下部を含み、ユーザが複数の押下部のうちの少なくとも一つを押下することによって方向を指示する情報処理装置において、ユーザが指示可能な方向の数を増やすことが可能な情報処理装置を提供すること。【解決手段】方向取得手段（７２）は、複数の押下部の各々に加えられた押下力に関する押下力情報を取得する。方向取得手段（７２）は、第１押下部及び第２押下部が押下された場合、第１基本方向と第２基本方向との間の方向を、第１押下部及び第２押下部の各々に加えられた押下力に基づいて取得する。第１押下部及び第２押下部が押下された場合に方向取得手段（７２）によって取得される方向は、第１押下部及び第２押下部の各々に加えられた押下力に基づいて変わる。処理実行手段（７４）は、方向取得手段（７２）によって取得された方向に基づいて処理を実行する。【選択図】図５
2011065425.tif 000002
【特許請求の範囲】
【請求項１】
複数の基本方向に対応する複数の押下部を含み、ユーザが前記複数の押下部のうちの少なくとも一つを押下することによって方向を指示する情報処理装置において、
前記複数の押下部の押下状態に基づいて方向を取得する方向取得手段と、
前記方向取得手段によって取得された方向に基づいて処理を実行する処理実行手段と、
を含み、
前記方向取得手段は、
前記複数の押下部の各々に加えられた押下力に関する押下力情報を取得する手段と、
前記複数の押下部のうちの第１押下部及び第２押下部が押下された場合、前記第１押下部に対応する第１基本方向と前記第２押下部に対応する第２基本方向との間の方向を、前記第１押下部及び前記第２押下部の各々に加えられた押下力に基づいて取得する手段と、を含み、
前記第１押下部及び前記第２押下部が押下された場合に前記方向取得手段によって取得される方向は、前記第１押下部及び前記第２押下部の各々に加えられた押下力に基づいて変わる、
ことを特徴とする情報処理装置。
【請求項２】
請求項１に記載の情報処理装置において、
前記方向取得手段は、前記第１押下部及び前記第２押下部が押下された場合、前記第１基本方向を示し、かつ、前記第１押下部に加えられた押下力に対応する大きさを有する第１基本方向ベクトルと、前記第２基本方向を示し、かつ、前記第２押下部に加えられた押下力に対応する大きさを有する第２基本方向ベクトルと、を合成してなる合成ベクトルが示す方向を取得することを特徴とする情報処理装置。
【請求項３】
請求項２に記載の情報処理装置において、
前記処理実行手段は、前記方向取得手段によって取得された方向に基づいて移動対象を移動させる手段を含み、
前記方向取得手段は、前記第１基本方向ベクトル及び前記第２基本方向ベクトルのうちの少なくとも一方の大きさの上限又は下限を、前記移動対象の位置に基づいて設定する手段を含む、
ことを特徴とする情報処理装置。
【請求項４】
請求項２又は３に記載の情報処理装置において、
前記処理実行手段は、前記方向取得手段によって取得された方向に基づいて移動対象を移動させる手段を含み、
前記方向取得手段は、
前記移動対象のパラメータを記憶してなるパラメータ記憶手段に記憶される前記パラメータを取得する手段と、
前記第１基本方向ベクトルの大きさを、前記第１押下部に加えられた押下力に応じて段階的に変化するように設定する手段と、
前記第２基本方向ベクトルの大きさを、前記第２押下部に加えられた押下力に応じて段階的に変化するように設定する手段と、
前記第１基本方向ベクトル及び前記第２基本方向ベクトルのうちの少なくとも一方の大きさの段階の数を、前記パラメータに基づいて設定する手段と、を含み、
前記パラメータは、前記移動対象の能力又は性能に関するパラメータと、前記移動対象の移動又は時間経過に伴って増加又は減少されるパラメータと、の少なくとも一方を含む、
ことを特徴とする情報処理装置。
【請求項５】
請求項２乃至４のいずれかに記載の情報処理装置において、
前記処理実行手段は、
移動対象を移動させる手段と、
前記移動対象の移動方向を前記方向取得手段によって取得された方向に基づいて設定する手段と、
前記移動対象が移動する場合の速さを前記合成ベクトルの大きさに基づいて設定する手段と、を含む、
ことを特徴とする情報処置装置。
【請求項６】
請求項１に記載の情報処理装置において、
前記方向取得手段は、
前記第１基本方向又は前記第２基本方向との間の角度を、前記第１押下部及び前記第２押下部の各々に加えられた押下力に基づいて決定する手段と、
前記第１基本方向と前記第２基本方向との間の前記方向を、決定された前記角度に基づいて取得する手段と、を含む、
ことを特徴とする情報処理装置。
【請求項７】
請求項６に記載の情報処理装置において、
前記処理実行手段は、前記方向取得手段によって取得された方向に基づいて移動対象を移動させる手段を含み、
前記方向取得手段は、前記第１基本方向又は前記第２基本方向との間の角度の上限又は下限を、前記移動対象の位置に基づいて設定する手段を含む、
ことを特徴とする情報処理装置。
【請求項８】
請求項６又は７に記載の情報処理装置において、
前記処理実行手段は、前記方向取得手段によって取得された方向に基づいて移動対象を移動させる手段を含み、
前記方向取得手段は、
前記移動対象のパラメータを記憶してなるパラメータ記憶手段に記憶される前記パラメータを取得する手段と、
前記第１基本方向又は前記第２基本方向との間の角度を、前記第１押下部及び前記第２押下部の各々に加えられた押下力に応じて段階的に変化するように決定する手段と、
前記第１基本方向又は前記第２基本方向との間の角度の段階の数を、前記パラメータに基づいて設定する手段と、を含み、
前記パラメータは、前記移動対象の能力又は性能に関するパラメータと、前記移動対象の移動又は時間経過に伴って増加又は減少されるパラメータと、の少なくとも一方を含む、
ことを特徴とする情報処理装置。
【請求項９】
複数の基本方向に対応する複数の押下部を含み、ユーザが前記複数の押下部のうちの少なくとも一つを押下することによって方向を指示する情報処理装置の制御方法において、
前記複数の押下部の押下状態に基づいて方向を取得する方向取得ステップと、
前記方向取得ステップによって取得された方向に基づいて処理を実行する処理実行ステップと、
を含み、
前記方向取得ステップは、
前記複数の押下部の各々に加えられた押下力に関する押下力情報を取得するステップと、
前記複数の押下部のうちの第１押下部及び第２押下部が押下された場合、前記第１押下部に対応する第１基本方向と前記第２押下部に対応する第２基本方向との間の方向を、前記第１押下部及び前記第２押下部の各々に加えられた押下力に基づいて取得するステップと、を含み、
前記第１押下部及び前記第２押下部が押下された場合に前記方向取得ステップによって取得される方向は、前記第１押下部及び前記第２押下部の各々に加えられた押下力に基づいて変わる、
ことを特徴とする情報処理装置の制御方法。
【請求項１０】
複数の基本方向に対応する複数の押下部を含むコンピュータを、ユーザが前記複数の押下部のうちの少なくとも一つを押下することによって方向を指示する情報処理装置として機能させるためのプログラムであって、
前記複数の押下部の押下状態に基づいて方向を取得する方向取得手段、及び、
前記方向取得手段によって取得された方向に基づいて処理を実行する処理実行手段、
として前記コンピュータを機能させ、
前記方向取得手段は、
前記複数の押下部の各々に加えられた押下力に関する押下力情報を取得する手段と、
前記複数の押下部のうちの第１押下部及び第２押下部が押下された場合、前記第１押下部に対応する第１基本方向と前記第２押下部に対応する第２基本方向との間の方向を、前記第１押下部及び前記第２押下部の各々に加えられた押下力に基づいて取得する手段と、を含み、
前記第１押下部及び前記第２押下部が押下された場合に前記方向取得手段によって取得される方向は、前記第１押下部及び前記第２押下部の各々に加えられた押下力に基づいて変わる、
ことを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は情報処理装置、情報処理装置の制御方法及びプログラムに関する。
【背景技術】
【０００２】
複数の基本方向に対応する複数の押下部を含み、ユーザが複数の押下部のうちの少なくとも一つを押下することによって方向を指示する情報処理装置が知られている。このような情報処理装置としては、例えば、上下左右の四方向に対応する四つのボタンを含むコントローラ、又は十字ボタンを含むコントローラを備えたゲーム装置が知られている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００６−１５８８６２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
上記のような情報処理装置ではユーザが指示可能な方向が比較的限られていた。例えば、上下左右の四方向に対応する四つのボタンを含むコントローラ、又は十字ボタンを含むコントローラを備えたゲーム装置では、ユーザが指示可能な方向が、４５度間隔の八方向（上、下、左、右、右上、左上、右下、及び左下）に限られていた。
【０００５】
本発明は上記課題に鑑みてなされたものであって、その目的は、複数の基本方向に対応する複数の押下部を含み、ユーザが複数の押下部のうちの少なくとも一つを押下することによって方向を指示する情報処理装置において、ユーザが指示可能な方向の数を増やすことが可能な情報処理装置、情報処理装置の制御方法及びプログラムを提供することにある。
【課題を解決するための手段】
【０００６】
上記課題を解決するために、本発明に係る情報処理装置は、複数の基本方向に対応する複数の押下部を含み、ユーザが前記複数の押下部のうちの少なくとも一つを押下することによって方向を指示する情報処理装置において、前記複数の押下部の押下状態に基づいて方向を取得する方向取得手段と、前記方向取得手段によって取得された方向に基づいて処理を実行する処理実行手段と、を含み、前記方向取得手段は、前記複数の押下部の各々に加えられた押下力に関する押下力情報を取得する手段と、前記複数の押下部のうちの第１押下部及び第２押下部が押下された場合、前記第１押下部に対応する第１基本方向と前記第２押下部に対応する第２基本方向との間の方向を、前記第１押下部及び前記第２押下部の各々に加えられた押下力に基づいて取得する手段と、を含み、前記第１押下部及び前記第２押下部が押下された場合に前記方向取得手段によって取得される方向は、前記第１押下部及び前記第２押下部の各々に加えられた押下力に基づいて変わることを特徴とする。
【０００７】
また、本発明に係る情報処理装置の制御方法は、複数の基本方向に対応する複数の押下部を含み、ユーザが前記複数の押下部のうちの少なくとも一つを押下することによって方向を指示する情報処理装置の制御方法において、前記複数の押下部の押下状態に基づいて方向を取得する方向取得ステップと、前記方向取得ステップによって取得された方向に基づいて処理を実行する処理実行ステップと、を含み、前記方向取得ステップは、前記複数の押下部の各々に加えられた押下力に関する押下力情報を取得するステップと、前記複数の押下部のうちの第１押下部及び第２押下部が押下された場合、前記第１押下部に対応する第１基本方向と前記第２押下部に対応する第２基本方向との間の方向を、前記第１押下部及び前記第２押下部の各々に加えられた押下力に基づいて取得するステップと、を含み、前記第１押下部及び前記第２押下部が押下された場合に前記方向取得ステップによって取得される方向は、前記第１押下部及び前記第２押下部の各々に加えられた押下力に基づいて変わることを特徴とする。
【０００８】
また、本発明に係るプログラムは、複数の基本方向に対応する複数の押下部を含むコンピュータを、ユーザが前記複数の押下部のうちの少なくとも一つを押下することによって方向を指示する情報処理装置として機能させるためのプログラムであって、前記複数の押下部の押下状態に基づいて方向を取得する方向取得手段、及び、前記方向取得手段によって取得された方向に基づいて処理を実行する処理実行手段、として前記コンピュータを機能させ、前記方向取得手段は、前記複数の押下部の各々に加えられた押下力に関する押下力情報を取得する手段と、前記複数の押下部のうちの第１押下部及び第２押下部が押下された場合、前記第１押下部に対応する第１基本方向と前記第２押下部に対応する第２基本方向との間の方向を、前記第１押下部及び前記第２押下部の各々に加えられた押下力に基づいて取得する手段と、を含み、前記第１押下部及び前記第２押下部が押下された場合に前記方向取得手段によって取得される方向は、前記第１押下部及び前記第２押下部の各々に加えられた押下力に基づいて変わることを特徴とするプログラムである。
【０００９】
また、本発明に係る情報記憶媒体は、上記プログラムを記録したコンピュータ読み取り可能な情報記憶媒体である。
【００１０】
本発明によれば、複数の基本方向に対応する複数の押下部を含み、ユーザが複数の押下部のうちの少なくとも一つを押下することによって方向を指示する情報処理装置において、ユーザが指示可能な方向の数を増やすことが可能になる。
【００１１】
また本発明の一態様では、前記方向取得手段は、前記第１押下部及び前記第２押下部が押下された場合、前記第１基本方向を示し、かつ、前記第１押下部に加えられた押下力に対応する大きさを有する第１基本方向ベクトルと、前記第２基本方向を示し、かつ、前記第２押下部に加えられた押下力に対応する大きさを有する第２基本方向ベクトルと、を合成してなる合成ベクトルが示す方向を取得するようにしてもよい。
【００１２】
また本発明の一態様では、前記処理実行手段は、前記方向取得手段によって取得された方向に基づいて移動対象を移動させる手段を含むようにしてもよい。前記方向取得手段は、前記第１基本方向ベクトル及び前記第２基本方向ベクトルのうちの少なくとも一方の大きさの上限又は下限を、前記移動対象の位置に基づいて設定する手段を含むようにしてもよい。
【００１３】
また本発明の一態様では、前記処理実行手段は、前記方向取得手段によって取得された方向に基づいて移動対象を移動させる手段を含むようにしてもよい。前記方向取得手段は、前記移動対象のパラメータを記憶してなるパラメータ記憶手段に記憶される前記パラメータを取得する手段と、前記第１基本方向ベクトルの大きさを、前記第１押下部に加えられた押下力に応じて段階的に変化するように設定する手段と、前記第２基本方向ベクトルの大きさを、前記第２押下部に加えられた押下力に応じて段階的に変化するように設定する手段と、前記第１基本方向ベクトル及び前記第２基本方向ベクトルのうちの少なくとも一方の大きさの段階の数を、前記パラメータに基づいて設定する手段と、を含むようにしてもよい。前記パラメータは、前記移動対象の能力又は性能に関するパラメータと、前記移動対象の移動又は時間経過に伴って増加又は減少されるパラメータと、の少なくとも一方を含むようにしてもよい。
【００１４】
また本発明の一態様では、前記処理実行手段は、移動対象を移動させる手段と、前記移動対象の移動方向を前記方向取得手段によって取得された方向に基づいて設定する手段と、前記移動対象が移動する場合の速さを前記合成ベクトルの大きさに基づいて設定する手段と、を含むようにしてもよい。
【００１５】
また本発明の一態様では、前記方向取得手段は、前記第１基本方向又は前記第２基本方向との間の角度を、前記第１押下部及び前記第２押下部の各々に加えられた押下力に基づいて決定する手段と、前記第１基本方向と前記第２基本方向との間の前記方向を、決定された前記角度に基づいて取得する手段と、を含むようにしてもよい。
【００１６】
また本発明の一態様では、前記処理実行手段は、前記方向取得手段によって取得された方向に基づいて移動対象を移動させる手段を含むようにしてもよい。前記方向取得手段は、前記第１基本方向又は前記第２基本方向との間の角度の上限又は下限を、前記移動対象の位置に基づいて設定する手段を含むようにしてもよい。
【００１７】
また本発明の一態様では、前記処理実行手段は、前記方向取得手段によって取得された方向に基づいて移動対象を移動させる手段を含むようにしてもよい。前記方向取得手段は、前記移動対象のパラメータを記憶してなるパラメータ記憶手段に記憶される前記パラメータを取得する手段と、前記第１基本方向又は前記第２基本方向との間の角度を、前記第１押下部及び前記第２押下部の各々に加えられた押下力に応じて段階的に変化するように決定する手段と、前記第１基本方向又は前記第２基本方向との間の角度の段階の数を、前記パラメータに基づいて設定する手段と、を含むようにしてもよい。前記パラメータは、前記移動対象の能力又は性能に関するパラメータと、前記移動対象の移動又は時間経過に伴って増加又は減少されるパラメータと、の少なくとも一方を含むようにしてもよい。
【図面の簡単な説明】
【００１８】
【図１】本発明の実施形態に係るゲーム装置（情報処理装置）のハードウェア構成を示す図である。
【図２Ａ】コントローラの一例を示す図である。
【図２Ｂ】コントローラの一例を示す図である。
【図３】ゲーム空間の一例を示す図である。
【図４】ゲーム画面の一例を示す図である。
【図５】本発明の実施形態に係るゲーム装置の機能ブロック図である。
【図６】方向取得部の機能について説明するための図である。
【図７】基本方向ベクトルデータの一例を示す図である。
【図８】ゲーム装置が実行する処理の一例を示すフロー図である。
【図９】実施形態１ａにおける上限データの一例を示す図である。
【図１０】ピッチ内の領域について説明するための図である。
【図１１】実施形態１ａにおける方向取得部の機能を説明するための図である。
【図１２】実施形態１ａの効果について説明するための図である。
【図１３】実施形態１ａにおける基本方向ベクトルデータの一例を示す図である。
【図１４】実施形態１ｂにおける基本方向ベクトルデータの一例を示す図である。
【図１５】実施形態２における方向取得部の機能を説明するための図である。
【図１６】実施形態２における角度データの一例を示す図である。
【図１７】実施形態２ａにおける下限データの一例を示す図である。
【図１８】実施形態２ａにおける方向取得部の機能を説明するための図である。
【図１９】実施形態２ｂにおける角度データの一例を示す図である。
【図２０】実施形態３ａにおける方向取得部の機能を説明するための図である。
【図２１】実施形態３ｂにおける方向取得部の機能を説明するための図である。
【図２２】実施形態３ｃにおける代表方向データの一例を示す図である。
【発明を実施するための形態】
【００１９】
以下、本発明の実施形態の例について図面に基づき詳細に説明する。ここでは、情報処理装置の一態様であるゲーム装置に本発明を適用した場合について説明する。本発明の実施形態に係るゲーム装置（情報処理装置）は、例えば家庭用ゲーム機（据置型ゲーム機）、携帯ゲーム機、携帯電話機、携帯情報端末（ＰＤＡ）、又はパーソナルコンピュータなどによって実現される。ここでは、本発明の実施形態に係るゲーム装置を家庭用ゲーム機によって実現する場合について説明する。
【００２０】
［実施形態１］
図１は、本発明の実施形態１に係るゲーム装置のハードウェア構成を示す。図１に示すゲーム装置１０は、家庭用ゲーム機１１、表示部３２、音声出力部３４、及び光ディスク３６（情報記憶媒体）を含む。表示部３２及び音声出力部３４は家庭用ゲーム機１１に接続される。表示部３２としては例えば家庭用テレビ受像機又は液晶ディスプレイなどが用いられ、音声出力部３４としては例えば家庭用テレビ受像機に内蔵されたスピーカ又はヘッドホンなどが用いられる。
【００２１】
家庭用ゲーム機１１は公知のコンピュータゲームシステムである。家庭用ゲーム機１１は、バス１２、マイクロプロセッサ１４、主記憶１６、画像処理部１８、入出力処理部２０、音声処理部２２、光ディスクドライブ２４、ハードディスク２６、通信インタフェース２８、及びコントローラ３０を含む。コントローラ３０以外の構成要素は家庭用ゲーム機１１の筐体内に収容される。
【００２２】
マイクロプロセッサ１４は、図示しないＲＯＭに格納されるオペレーティングシステムや、光ディスク３６から読み出されるプログラムに基づいて、情報処理を実行する。主記憶１６は例えばＲＡＭを含み、光ディスク３６から読み出されたプログラム及びデータが主記憶１６に書き込まれる。主記憶１６はマイクロプロセッサ１４の作業用メモリとしても用いられる。バス１２はアドレス及びデータを家庭用ゲーム機１１の各部でやり取りするためのものである。
【００２３】
画像処理部１８はＶＲＡＭを含み、マイクロプロセッサ１４から供給される画像データに基づいてＶＲＡＭ上にゲーム画面を描画する。ＶＲＡＭ上に描画されたゲーム画面はビデオ信号に変換されて所定のタイミングで表示部３２に出力される。
【００２４】
入出力処理部２０はマイクロプロセッサ１４が音声処理部２２、光ディスクドライブ２４、ハードディスク２６、通信インタフェース２８、及びコントローラ３０にアクセスするためのインタフェースである。音声処理部２２はサウンドバッファを含み、光ディスク３６からサウンドバッファに読み出された音声データを音声出力部３４から出力する。通信インタフェース２８はインターネットなどの通信ネットワークに家庭用ゲーム機１１を有線又は無線接続するためのインタフェースである。
【００２５】
光ディスクドライブ２４は光ディスク３６に記録されたプログラムやデータを読み取る。ここでは、プログラムやデータを家庭用ゲーム機１１に供給するために光ディスク３６を用いるが、メモリカード等、他の情報記憶媒体を用いるようにしてもよい。また、例えば通信ネットワークを介して遠隔地からプログラムやデータを家庭用ゲーム機１１に供給するようにしてもよい。ハードディスク２６は一般的なハードディスク装置（補助記憶装置）である。なお、光ディスク３６に記憶されることとして説明するプログラムやデータはハードディスク２６に記憶されていてもよい。
【００２６】
コントローラ３０はゲーム操作を受け付けるための汎用操作手段である。家庭用ゲーム機１１には一又は複数のコントローラ３０が有線又は無線接続される。図２Ａ及び図２Ｂはコントローラ３０の一例を示す。なお、図２Ａにおいて、Ｘ軸はコントローラ３０の長軸方向（左右方向）に対応し、Ｙ軸はコントローラ３０の短軸方向（上下方向）に対応しており、Ｘ軸とＹ軸とは直交している。以下では、Ｙ軸正方向のことを「上方向」と呼び、Ｙ軸負方向のことを「下方向」と呼ぶことがある。また、Ｘ軸正方向のことを「右方向」と呼び、Ｘ軸負方向のことを「左方向」と呼ぶことがある。
【００２７】
コントローラ３０の表面３０ａには、方向ボタン群４０と、ボタン４２Ａ，４２Ｂ，４２Ｘ，４２Ｙと、が設けられている。さらに、コントローラ３０はスティック（レバー）４２Ｌ，４２Ｒも備えている。方向ボタン群４０は、上方向に対応する上方向ボタン４０Ｕと、下方向に対応する下方向ボタン４０Ｄと、左方向に対応する左方向ボタン４０Ｌと、右方向に対応する右方向ボタン４０Ｒと、を含む。方向ボタン群４０は例えば方向を指示する操作に用いられる。
【００２８】
上方向ボタン４０Ｕは感圧ボタンとして構成されている。例えば、上方向ボタン４０Ｕには感圧センサが設けられ、上方向ボタン４０Ｕに加えられた押下力が検出される。そして、上方向ボタン４０Ｕに加えられた押下力に関する押下力情報が家庭用ゲーム機１１に入力される。上方向ボタン４０Ｕに加えられた押下力は、例えば０〜２５５の数値（以下「押下力値」と呼ぶ。）によって表される。上方向ボタン４０Ｕに加えられた押下力が大きくなるほど、押下力値も大きくなる。上方向ボタン４０Ｕの押下力値が０である状態とは、上方向ボタン４０Ｕが押下されていない状態である。
【００２９】
下方向ボタン４０Ｄ、左方向ボタン４０Ｌ、及び右方向ボタン４０Ｒも、それぞれ、上方向ボタン４０Ｕと同様に感圧ボタンとして構成され、これらのボタンの各々に加えられた押下力も検出される。
【００３０】
スティック４４Ｌ，４４Ｒは、コントローラ３０の筐体の表面３０ａに直立しており、この直立状態から全方位に所定角度だけ傾倒自在に構成されている。スティック４４Ｌの上下方向及び左右方向の傾き情報が家庭用ゲーム機１１に入力される。
【００３１】
例えば、左右方向の傾きは、例えば−１２７〜＋１２７の数値で表される。値「０」は、スティック４４Ｌが左右方向に傾いていないことを示す。また、値「＋１２７」は、スティック４４Ｌが右方向に限界まで倒れていることを示す。さらに、値「−１２７」は、スティック４４Ｌが左方向に限界まで倒れていることを示す。上下方向についても同様である。また、スティック４４Ｒもスティック４４Ｌと同様である。
【００３２】
スティック４４Ｌ，４４Ｒも例えば方向を指示する操作に用いられる。ボタン４２Ａ，４２Ｂ，４２Ｘ，４２Ｙは各種ゲーム操作に用いられる。なお、ボタン４２Ａ，４２Ｂ，４２Ｘ，４２Ｙも、それぞれ、方向ボタン群４０と同様に感圧ボタンとして構成され、これらのボタンの各々に加えられた押下力が検出される。
【００３３】
入出力処理部２０は一定周期毎（例えば１／６０秒ごと）にコントローラ３０の各操作部材の状態をスキャンし、そのスキャン結果を表す操作信号をバス１２を介してマイクロプロセッサ１４に供給する。上方向ボタン４０Ｕ、下方向ボタン４０Ｄ、左方向ボタン４０Ｌ、及び右方向ボタン４０Ｒの各々の押下力値や、スティック４４Ｌ，４４Ｒの各々の傾き情報も操作信号としてマイクロプロセッサ１４に供給される。マイクロプロセッサ１４は操作信号に基づいてユーザのゲーム操作を判定する。
【００３４】
ゲーム装置１０では、光ディスク３６から読み出されたゲームプログラムが実行されることによって、例えばサッカーゲームが実行される。このサッカーゲームでは、ユーザが操作するチーム（以下「ユーザチーム」と呼ぶ。）と、対戦相手チームと、の試合が行われる。
【００３５】
サッカーゲームを実現するために、ゲーム空間が主記憶１６に構築される。図３はゲーム空間の一例を示す。図３に示すゲーム空間５０は、互いに直交する三つの座標軸（Ｘｗ軸、Ｙｗ軸、及びＺｗ軸）が設定された仮想的な３次元空間になっている。図３に示すように、ゲーム空間５０には、サッカーフィールドを表すオブジェクトであるフィールド５２が配置される。フィールド５２上にはゴールライン５４ａ，５４ｂやタッチライン５６ａ，５６ｂが表されている。なお、ゴールライン５４ａ，５４ｂ及びタッチライン５６ａ，５６ｂによって囲まれた領域のことを「ピッチ」と呼ぶ。
【００３６】
また、フィールド５２上には、サッカーのゴールを表すオブジェクトであるゴール５８と、サッカー選手を表すオブジェクトである選手キャラクタ６０と、サッカーボールを表すオブジェクトであるボール６２と、が配置される。図３では省略されているが、フィールド５２上には、ユーザチームに所属する１１体の選手キャラクタ６０と、対戦相手チームに所属する１１体の選手キャラクタ６０と、が配置される。
【００３７】
ゴール５８の一方はユーザチームに対応づけられ、他方は対戦相手チームに対応づけられる。いずれか一方のチームに対応づけられたゴール５８内にボール６２が移動すると、他方のチームの得点イベントが発生する。
【００３８】
また、ゲーム空間５０には仮想カメラ６４（視点）が設定される。ゲーム空間５０を仮想カメラ６４から見た様子を表すゲーム画面が表示部３２に表示される。本実施形態の場合、仮想カメラ６４の視線方向６４ａは、視線方向６４ａをフィールド５２（Ｘｗ−Ｚｗ平面）に投影してなる方向がＺｗ軸正方向と一致するように設定される。また、仮想カメラ６４はゲーム空間５０内をＸｗ軸方向と平行に移動する。
【００３９】
図４はゲーム画面の一例を示す。図４に示すゲーム画面には、ユーザチームに所属する選手キャラクタ６０ａ，６０ｂと、対戦相手チームに所属する選手キャラクタ６０ｃ，６０ｄと、が表示されている。
【００４０】
ユーザチームに所属する選手キャラクタ６０のうちのいずれかがユーザの操作対象に設定される。ユーザの操作対象になっている選手キャラクタ６０は、ユーザの操作に基づいて行動する。図４に示すゲーム画面では、三角形状のカーソル６６が選手キャラクタ６０ａの頭上に表示されている。カーソル６６は、ユーザの操作対象になっている選手キャラクタ６０を案内する役割を果たしている。なお以下では、ユーザの操作対象になっている選手キャラクタ６０のことを「ユーザキャラクタ」と呼ぶ。
【００４１】
ユーザは方向ボタン群４０を用いてユーザキャラクタを移動させることができる。すなわち、ユーザキャラクタは方向ボタン群４０の押下状態に基づく方向に移動する。本実施形態の場合、コントローラ３０における上方向（図２におけるＹ軸正方向）はＺｗ軸正方向に対応し、下方向（Ｙ軸負方向）はＺｗ軸負方向に対応する。また、コントローラ３０における左方向（Ｘ軸負方向）はＸｗ軸負方向に対応し、右方向（Ｘ軸正方向）はＸｗ軸正方向に対応する。
【００４２】
このため、例えば、上方向ボタン４０Ｕのみが押下されている場合、ユーザキャラクタはＺｗ軸正方向に移動する。また例えば、右方向ボタン４０Ｒのみが押下されている場合、ユーザキャラクタはＸｗ軸正方向に移動する。なお、ユーザキャラクタがボール６２を保持している場合、ユーザキャラクタの移動動作はドリブル動作になる。
【００４３】
また、ユーザは方向ボタン群４０とボタン４２Ａ，４２Ｂ，４２Ｘ，４２Ｙとを用いて、ボール６２を蹴る動作をユーザキャラクタに行わせることができる。例えば、ユーザキャラクタがボール６２を保持している状態でボタン４２Ａが押下されると、ユーザキャラクタはパス動作を行う。この場合、パス方向（ユーザキャラクタによって蹴られたボール６２の移動方向）は、ボタン４２Ａが押下された時点の方向ボタン群４０の押下状態に基づいて設定される。
【００４４】
例えば、ボタン４２Ａが押下された時点で上方向ボタン４０Ｕのみが押下されていた場合、ユーザキャラクタはＺｗ軸正方向にパスを行う。すなわち、ユーザキャラクタによって蹴られたボール６２はＺｗ軸正方向に移動する。また例えば、ボタン４２Ａが押下された時点で右方向ボタン４０Ｒのみが押下されていた場合、ユーザキャラクタはＸｗ軸正方向にパスを行う。
【００４５】
以下、上記のゲーム装置１０において、ユーザキャラクタ（又はユーザキャラクタによって蹴られたボール６２）の移動方向として、４５度間隔の八方向（上、下、左、右、右上、左上、右下、及び左下方向）よりも多い方向をユーザが指示できるようにするための技術について説明する。
【００４６】
図５は、ゲーム装置１０で実現される機能を示す機能ブロック図である。図５に示すように、ゲーム装置１０は記憶部７０、方向取得部７２、及び処理実行部７４を含む。記憶部７０は例えば主記憶１６、ハードディスク２６、又は／及び光ディスク３６によって実現され、方向取得部７２及び処理実行部７４はマイクロプロセッサ１４が光ディスク３６から読み出されたプログラムを実行することによって実現される。
【００４７】
記憶部７０は各種データを記憶する。本実施形態の場合、記憶部７０はサッカーゲームに関するデータを記憶する。
【００４８】
例えば、記憶部７０は、各選手キャラクタ６０の能力を示す能力パラメータを記憶する。例えば、移動能力やパス能力などを示す能力パラメータが記憶される。例えば、能力パラメータは０〜１００の値をとり、能力が高いほど、能力パラメータの値は高くなる。
【００４９】
また例えば、記憶部７０は、各選手キャラクタ６０の疲労度を示す疲労度パラメータを記憶する。疲労度パラメータも０〜１００の値をとり、疲労度が高いほど、疲労度パラメータの値は高くなる。例えば、疲労度パラメータの初期値は０に設定され、疲労度パラメータの値は時間経過に伴って増加される。また例えば、選手キャラクタ６０が行動（例えば移動）を行うのに伴って、疲労度パラメータの値は増加される。
【００５０】
なお、疲労度パラメータの代わりに、スタミナを示すスタミナパラメータが記憶されるようにしてもよい。スタミナパラメータも０〜１００の値をとり、スタミナが高いほど、スタミナパラメータの値は高くなる。例えば、スタミナパラメータの初期値は１００に設定され、スタミナパラメータの値は時間経過に伴って減少される。また例えば、選手キャラクタ６０が行動（例えば移動）を行うのに伴って、スタミナパラメータの値は減少される。
【００５１】
さらに例えば、記憶部７０は現在のゲーム状況を示すゲーム状況データを記憶する。例えば、下記に示すようなデータがゲーム状況データに含まれる。
（ａ）各選手キャラクタ６０の状態データ
（ｂ）ボール６２の状態データ（例えば位置、移動方向、及び移動速度など）
（ｃ）仮想カメラ６４の状態データ（例えば位置、視線方向、及び画角など）
（ｄ）両チームの得点データ
（ｅ）経過時間データ
【００５２】
なお、選手キャラクタ６０の状態データには、例えば、選手キャラクタ６０の位置、向き（姿勢）、動作種類、移動方向、移動速度などを示すデータが含まれる。また、選手キャラクタ６０の状態データには、例えば、選手キャラクタ６０がユーザの操作対象に設定されているか否かを示すデータや、選手キャラクタ６０がボール６２を保持しているか否かを示すデータも含まれる。
【００５３】
方向取得部７２は、複数の基本方向に対応する複数の押下部の押下状態に基づいて方向を取得する。本実施形態の場合、上方向ボタン４０Ｕ、下方向ボタン４０Ｄ、左方向ボタン４０Ｌ、及び右方向ボタン４０Ｒが「複数の押下部」に相当する。また、「基本方向」や「方向」は、コントローラ３０における方向（Ｘ−Ｙ平面における方向）であってもよいし、ゲーム空間５０における方向（Ｘｗ−Ｚｗ平面における方向）であってもよい。
【００５４】
以下では、「基本方向」や「方向」が、コントローラ３０における方向である場合について説明する。この場合、上方向（図２におけるＹ軸正方向）、下方向（Ｙ軸負方向）、左方向（Ｘ軸負方向）、右方向（Ｘ軸正方向）が「複数の基本方向」に相当する。ところで、「基本方向」がゲーム空間５０における方向である場合には、Ｘｗ軸正方向及び負方向、Ｚｗ軸正方向及び負方向が「複数の基本方向」に相当する。
【００５５】
方向取得部７２は、複数の押下部の各々に加えられた押下力に関する押下力情報を取得する。本実施形態の場合、方向取得部７２は、上方向ボタン４０Ｕ、下方向ボタン４０Ｄ、左方向ボタン４０Ｌ、及び右方向ボタン４０Ｒの各々の押下力値を「押下力情報」として取得する。
【００５６】
また、方向取得部７２は、複数の押下部のうちの２つの押下部、例えば、第１押下部及び第２押下部が押下された場合、第１押下部に対応する第１基本方向と第２押下部に対応する第２基本方向との間の方向を、第１押下部及び第２押下部の各々に加えられた押下力に基づいて取得する。方向取得部７２によって取得される方向は、第１押下部及び第２押下部の各々に加えられた押下力に基づいて変わる。
【００５７】
例えば、第１押下部及び第２押下部が押下された場合、方向取得部７２は、第１押下部に対応する第１基本方向を示す第１基本方向ベクトルを取得する。第１基本方向ベクトルの大きさは、第１押下部に加えられた押下力に対応する大きさに設定される。また、方向取得部７２は、第２押下部に対応する第２基本方向を示す第２基本方向ベクトルを取得する。第２基本方向ベクトルの大きさは、第２押下部に加えられた押下力に対応する大きさに設定される。そして、方向取得部７２は、第１基本方向ベクトル及び第２基本方向ベクトルを合成してなる合成ベクトルが示す方向を取得する。
【００５８】
図６は、方向取得部７２の機能の一例について説明するための図である。なお上述したように、本実施形態の場合、上方向（図２におけるＹ軸正方向）はＺｗ軸正方向に対応し、右方向（Ｘ軸正方向）はＸｗ軸正方向に対応している。また、図６において、Ｘ軸（Ｘｗ軸）とＹ軸（Ｚｗ軸）とは直交しており、Ｘ軸とＹ軸との交点は、コントローラ３０の方向ボタン群４０に囲まれた領域の中心に対応している。
【００５９】
ここで、上方向ボタン４０Ｕ（第１押下部）及び右方向ボタン４０Ｒ（第２押下部）が押下された場合を想定する。上方向ボタン４０Ｕ及び右方向ボタン４０Ｒが押下された場合、図６に示すように、方向取得部７２は、上方向（第１基本方向）を示す上方向ベクトルＶｕ（第１基本方向ベクトル）を取得する。また、方向取得部７２は、右方向（第２基本方向）を示す右方向ベクトルＶｒ（第２基本方向ベクトル）を取得する。上方向ベクトルＶｕの大きさは、上方向ボタン４０Ｕの押下力値に対応する大きさに設定され、右方向ベクトルＶｒの大きさは、右方向ボタン４０Ｒの押下力値に対応する大きさに設定される。
【００６０】
本実施形態の場合、第１基本方向ベクトルや第２基本方向ベクトルの大きさを押下力に対応する大きさに設定するためのデータが記憶部７０に記憶される。より具体的には、押下力に関する情報と、基本方向ベクトルの大きさに関する情報と、を対応づけた基本方向ベクトルデータが記憶される。図７は基本方向ベクトルデータの一例を示す図である。なお、図７に示す基本方向ベクトルデータはテーブル形式のデータとなっているが、基本方向ベクトルデータは数式形式のデータであってもよい。
【００６１】
図７に示す基本方向ベクトルデータでは、基本方向ベクトルの大きさが押下力値に応じて段階的に変化するようになっている。基本方向ベクトルの大きさは０〜１０のいずれかに設定されるようになっている。方向ボタンが押下されていない場合、すなわち押下力値が０である場合、基本方向ベクトルの大きさは０に設定される。
【００６２】
図７に示す基本方向ベクトルデータによれば、例えば、上方向ボタン４０Ｕの押下力値が「１５０」である場合、上方向ベクトルＶｕの大きさが「６」に設定される。また例えば、右方向ボタン４０Ｒの押下力値が「７０」である場合、右方向ベクトルＶｒの大きさが「３」に設定される。
【００６３】
そして、図６に示すように、方向取得部７２は、上方向ベクトルＶｕと右方向ベクトルＶｒとを合成してなる合成ベクトルＶｏを取得し、合成ベクトルＶｏが示す方向を取得する。本実施形態の場合、上方向ベクトルＶｕと右方向ベクトルＶｒの大きさが、上方向ボタン４０Ｕ及び右方向ボタン４０Ｒに加えられる押下力が変わることによって変わるため、この合成ベクトルＶｏが示す方向も、上方向ボタン４０Ｕ及び右方向ボタン４０Ｒに加えられる押下力が変わることによって変わる。このため、ユーザは上方向ボタン４０Ｕ及び右方向ボタン４０Ｒに加える押下力を調整することによって、この合成ベクトルＶｏが示す方向を変えることが可能である。
【００６４】
なお、例えば、上方向ボタン４０Ｕ及び左方向ボタン４０Ｌが押下された場合、下方向ボタン４０Ｄ及び左方向ボタン４０Ｌが押下された場合、又は、下方向ボタン４０Ｄ及び右方向ボタン４０Ｒが押下された場合にも、同様にして、方向取得部７２による方向の取得が実行される。
【００６５】
処理実行部７４は、方向取得部７２によって取得された方向に基づいて処理を実行する。例えば、処理実行部７４は、方向取得部７２によって取得された方向に基づいて、移動対象を移動させる。本実施形態の場合、ユーザキャラクタが「移動対象」に相当する。また、ユーザキャラクタによって蹴られたボール６２も「移動対象」に相当し得る。
【００６６】
次に、ゲーム装置１０が実行する処理について説明する。図８はゲーム装置１０が所定時間（例えば１／６０秒）ごとに実行する処理のうちの、本発明に関連する処理を主に示すフロー図である。マイクロプロセッサ１４は光ディスク３６から読み出されたプログラムに従って、図８に示す処理を実行する。マイクロプロセッサ１４が図８に示す処理を実行することによって、方向取得部７２及び処理実行部７４が実現される。
【００６７】
図８に示す処理では、まずマイクロプロセッサ１４は、方向ボタン群４０のうちの一つの方向ボタンのみが押下されているか否かを、コントローラ３０から供給される操作信号に基づいて判定する（Ｓ１０１）。一つの方向ボタンのみが押下されている場合、マイクロプロセッサ１４（方向取得部７２）は、その方向ボタンに対応する基本方向をユーザの指示方向として取得する（Ｓ１０２）。例えば、上方向ボタン４０Ｕのみが押下されている場合、上方向ボタン４０Ｕに対応する基本方向である上方向が、ユーザの指示方向として取得される。
【００６８】
一方、方向ボタン群４０のうちの一つの方向ボタンのみが押下されている状態でない場合、マイクロプロセッサ１４は、方向ボタン群４０のうちの二つの方向ボタンのみが押下されており、かつ、それら二つの方向ボタンの組み合わせが所定の組み合わせであるか否かを、コントローラ３０から供給される操作信号に基づいて判定する（Ｓ１０３）。ここで、「所定の組み合わせ」とは上方向ボタン４０Ｕ及び下方向ボタン４０Ｄの一方と、左方向ボタン４０Ｌ及び右方向ボタン４０Ｒの一方と、の組み合わせである。
【００６９】
二つの方向ボタンのみが押下されており、かつ、それら二つの方向ボタンの組み合わせが所定の組み合わせである場合、マイクロプロセッサ１４（方向取得部７２）は、それら二つの方向ボタンに対応する二つの基本方向ベクトルを取得する（Ｓ１０４）。
【００７０】
例えば、上方向ボタン４０Ｕ及び右方向ボタン４０Ｒのみが押下されている場合、マイクロプロセッサ１４は、上方向ボタン４０Ｕに対応する基本方向を示す上方向ベクトルＶｕ（図６参照）と、右方向ボタン４０Ｒに対応する基本方向を示す右方向ベクトルＶｒ（図６参照）と、を取得する。この場合、基本方向ベクトルデータ（図７参照）に基づいて、上方向ベクトルＶｕの大きさは、上方向ボタン４０Ｕの押下力値に対応する大きさに設定され、右方向ベクトルＶｒの大きさは、右方向ボタン４０Ｒの押下力値に対応する大きさに設定される。
【００７１】
その後、マイクロプロセッサ１４（方向取得部７２）は、ステップＳ１０４で取得された二つの基本方向ベクトルを合成し（Ｓ１０５）、合成ベクトル（例えば、図６における合成ベクトルＶｏ）が示す方向をユーザの指示方向として取得する（Ｓ１０６）。
【００７２】
ステップＳ１０１〜Ｓ１０６の処理が実行された後、マイクロプロセッサ１４（処理実行部７４）はユーザキャラクタの状態を更新する（Ｓ１０７）。例えば、マイクロプロセッサ１４は、ユーザキャラクタの移動方向を、ステップＳ１０２又はＳ１０６で取得されたユーザの指示方向に基づいて設定し、その移動方向に基づいて、ユーザキャラクタの位置を更新する。その結果、ユーザキャラクタがユーザの指示方向に従って移動するようになる。
【００７３】
なお、マイクロプロセッサ１４（処理実行部７４）は、ユーザキャラクタが移動する場合の速さを、ステップＳ１０５において取得された合成ベクトルの大きさに基づいて設定するようにしてもよい。例えば、合成ベクトルが大きいほど、ユーザキャラクタが移動する場合の速さが速くなるようにしてもよい。こうすれば、ユーザが方向ボタン群４０を押下する力を調整することによってユーザキャラクタの速さを指示できるようなユーザインタフェースを実現できるようになる。
【００７４】
またステップＳ１０７において、例えば、マイクロプロセッサ１４はユーザがボタン４２Ａを押下したか否かを判定する。そして、ユーザがボタン４２Ａを押下した場合、マイクロプロセッサ１４はユーザキャラクタにパス動作を行わせる。例えば、パス動作を行うように、ユーザキャラクタの状態（例えば姿勢）が更新される。
【００７５】
その後、マイクロプロセッサ１４（処理実行部７４）は、ユーザキャラクタ以外の選手キャラクタ６０と、ボール６２と、の状態を更新する（Ｓ１０８）。例えば、ユーザキャラクタ以外の選手キャラクタ６０はＡＩ（人工知能）に従って行動するため、ユーザキャラクタ以外の選手キャラクタ６０の状態（例えば位置など）はＡＩに従って更新される。
【００７６】
また例えば、いずれかの選手キャラクタ６０によってボール６２が蹴られた場合、ステップＳ１０８において、目標方向に向けて移動するように、ボール６２の状態（例えば位置や移動方向など）が更新される。特に、ユーザキャラクタによってボール６２が蹴られた場合、ボール６２の移動方向が、ステップＳ１０２又はＳ１０６で取得されたユーザの指示方向に基づいて設定され、その移動方向に基づいて、ボール６２の位置が更新される。その結果、ユーザキャラクタによって蹴られたボール６２がユーザの指示方向に従って移動するようになる。
【００７７】
なお、マイクロプロセッサ１４は、ユーザキャラクタによって蹴られたボール６２の速さを、ステップＳ１０５において取得された合成ベクトルの大きさに基づいて設定するようにしてもよい。例えば、合成ベクトルが大きいほど、ボール６２の速さが速くなるようにしてもよい。
【００７８】
その後、マイクロプロセッサ１４はゲーム画面を更新する（Ｓ１０９）。ゲーム空間５０を仮想カメラ６４から見た様子を表すゲーム画面が生成され、そのゲーム画面が表示部３２に表示される。そして、本処理は終了する。
【００７９】
以上説明したゲーム装置１０によれば、方向ボタン群４０を押下する力を調整することによって、４５度間隔の八方向（上、下、左、右、右上、左上、右下、及び左下方向）よりも多くの方向を指示できるようになる。例えば、ユーザは上方向ボタン４０Ｕ及び右方向ボタン４０Ｒを押下する力を調整することによって、上方向と右方向との間の方向をより細かく指示できるようになる。
【００８０】
なお、方向ボタン群４０の代わりに、ボタン４２Ａ，４２Ｂ，４２Ｘ，４２Ｙを用いてユーザキャラクタ（又はユーザキャラクタに蹴られたボール６２）の移動方向を指示できるようにしてもよい。例えば、ボタン４２Ｙを上方向に対応するボタンとして上方向ボタン４０Ｕの代わりに用いるようにし、ボタン４２Ａを下方向に対応するボタンとして下方向ボタン４０Ｄの代わりに用いるようにしてもよい。さらに、ボタン４２Ｘを左方向に対応するボタンとして左方向ボタン４０Ｌの代わりに用いるようにし、ボタン４２Ｂを右方向に対応するボタンとして右方向ボタン４０Ｒの代わりに用いるようにしてもよい。
【００８１】
そして、例えばボタン４２Ｙとボタン４２Ｂとが押下された場合、方向取得部７２は、上方向と右方向との間の方向を、ボタン４２Ｙ及びボタンの４２Ｂの各々の押下力値に基づいて取得するようにしてもよい。
【００８２】
［実施形態１ａ］
実施形態１において、移動対象が境界線を越えて所定領域内から外に移動し難くなるように図るようにしてもよい。例えば、ユーザキャラクタ（又はボール６２）がピッチ外に移動し難くなるように図るようにしてもよい。
【００８３】
実施形態１ａにおける方向取得部７２は、第１押下部及び第２押下部が押下された場合に、第１押下部に対応する第１基本方向ベクトルと、第２押下部に対応する第２基本方向ベクトルと、の少なくとも一方の大きさの上限又は下限を、移動対象の位置に基づいて設定する。
【００８４】
実施形態１ａでは、第１基本方向ベクトルと第２基本方向ベクトルとの少なくとも一方の大きさの上限又は下限を移動対象の位置に基づいて設定するためのデータが記憶部７０に記憶される。例えば、ユーザキャラクタ（又はボール６２）の位置に関する情報と、基本方向ベクトルの大きさの上限又は下限に関する情報と、を対応づけたデータが記憶部７０に記憶される。図９は、基本方向ベクトルの大きさの上限データの一例を示す。図９に示す上限データは、ピッチ内の領域と、基本方向ベクトルの大きさの上限と、を対応づけたデータになっている。
【００８５】
なお図９では、上方向ボタン４０Ｕに対応し、かつ、上方向（Ｙ軸正方向）を示す基本方向ベクトルのことを「上方向ベクトル」と記載している。同様に、下方向ボタン４０Ｄに対応し、かつ、下方向（Ｙ軸負方向）を示す基本方向ベクトルのことを「下方向ベクトル」と記載している。また、左方向ボタン４０Ｌに対応し、かつ、左方向（Ｘ軸負方向）を示す基本方向ベクトルのことを「左方向ベクトル」と記載している。同様に、右方向ボタン４０Ｒに対応し、かつ、右方向（Ｘ軸正方向）を示す基本方向ベクトルのことを「右方向ベクトル」と記載している。
【００８６】
図１０は、ピッチ内の領域Ａ１〜Ａ９について説明するための図である。図１０に示すように、領域Ａ１，Ａ２，Ａ３はいずれも、タッチライン５６ａからの距離が基準距離ｄ未満である領域である。このうち、領域Ａ１は、ゴールライン５４ａからの距離が基準距離ｄ未満である領域であり、領域Ａ３は、ゴールライン５４ｂからの距離が基準距離ｄ未満である領域である。領域Ａ２は、ゴールライン５４ａ，５４ｂからの距離が基準距離ｄ以上である領域である。
【００８７】
領域Ａ４，Ａ５，Ａ６はいずれも、タッチライン５６ｂからの距離が基準距離ｄ未満である領域である。このうち、領域Ａ４は、ゴールライン５４ａからの距離が基準距離ｄ未満である領域であり、領域Ａ５は、ゴールライン５４ｂからの距離が基準距離ｄ未満である領域である。領域Ａ６は、ゴールライン５４ａ，５４ｂからの距離が基準距離ｄ以上である領域である。
【００８８】
領域Ａ７，Ａ８，Ａ９はいずれも、タッチライン５６ａ，５６ｂからの距離が基準距離ｄ以上である領域である。このうち、領域Ａ７は、ゴールライン５４ａからの距離が基準距離ｄ未満である領域であり、領域Ａ８は、ゴールライン５４ｂからの距離が基準距離ｄ未満である領域である。領域Ａ９は、ゴールライン５４ａ，５４ｂからの距離が基準距離ｄ以上である領域である。
【００８９】
例えば領域Ａ２はタッチライン５６ａと隣接しており、領域Ａ２内に位置しているユーザキャラクタ（又はボール６２）がＺｗ軸正方向に移動すると、タッチライン５６ａを越えてピッチ外に移動してしまう。この点を踏まえて、図９に示す上限データでは、領域Ａ２に関して、Ｚｗ軸正方向に対応する基本方向ベクトルである上方向ベクトルの大きさの上限が、通常の値（１０）よりも小さい値（２）に設定されており、他の基本方向ベクトルの上限が、通常の値（１０）に設定されている。他の領域に関しても、同様の考え方に基づいて、基本方向ベクトルの上限が設定されている。
【００９０】
実施形態１ａでは、図８のステップＳ１０４において取得される二つの基本方向ベクトルの大きさの上限が、図９に示す上限データに基づいて設定される。
【００９１】
図１１は、実施形態１ａにおける方向取得部７２の機能について説明するための図である。ここでは、例えばボール６２を保持しているユーザキャラクタが領域Ａ２内に位置している状態において、上方向ボタン４０Ｕ及び右方向ボタン４０Ｒが押下された場合を想定する。また、上方向ボタン４０Ｕの押下力値は「１５０」であり、かつ、右方向ボタン４０Ｒの押下力値は「７０」であることとする。
【００９２】
この場合、図７に示す基本方向ベクトルデータによれば、上方向ボタン４０Ｕに対応する上方向ベクトルＶｕの大きさとして「６」が取得される。しかし、図９に示す上限データによれば、ユーザキャラクタ（又はボール６２）が領域Ａ２内にいる場合の上方向ベクトルの大きさの上限が「２」であるため、上方向ベクトルＶｕの大きさは「２」に変更される。図１１において、上方向ベクトルＶｕ’は変更後の上方向ベクトルを示している。
【００９３】
一方、図７に示す基本方向ベクトルデータによれば、右方向ボタン４０Ｒに対応する右方向ベクトルＶｒの大きさとして「３」が取得される。図９に示す上限データによれば、ユーザキャラクタ（又はボール６２）が領域Ａ２内にいる場合の右方向ベクトルの大きさの上限は「１０」であるため、右方向ベクトルＶｒの大きさは「３」のままとなる。
【００９４】
この場合、ステップＳ１０５では、上方向ベクトルＶｕ’及び右方向ベクトルＶｒを合成してなる合成ベクトルＶｏ’が取得され、ステップＳ１０７（又はステップＳ１０８）では、この合成ベクトルＶｏ’が示す方向に基づいて、ユーザキャラクタ（又はユーザキャラクタによって蹴られたボール６２）の移動方向が設定される。
【００９５】
図１２は実施形態１ａの効果について説明するための図であり、領域Ａ２に位置しているユーザキャラクタの移動方向が、合成ベクトルＶｏ’に基づいて設定された場合と、変更前の上方向ベクトルＶｕと右方向ベクトルＶｒとを合成してなる合成ベクトルＶｏに基づいて設定された場合と、を比較した図である。図１２において、移動方向Ｍ’は合成ベクトルＶｏ’に基づいて設定された移動方向であり、移動方向Ｍは合成ベクトルＶｏに基づいて設定された移動方向である。図１２に示すように、移動方向Ｍ’に移動する場合の方が移動方向Ｍに移動する場合に比べて、タッチライン５６ａを越えてピッチ外に移動し難くなっている。
【００９６】
このように、実施形態１ａによれば、例えば、ユーザキャラクタ（又はボール６２）がピッチ外に移動し難くなるように図ることが可能になる。なお、この機能（ユーザキャラクタ又はボール６２がピッチ外に移動し難くなるようにする機能）は、例えば初心者ユーザの操作をアシストする機能として用いるようにすればよい。すなわち、この機能は、初心者ユーザがユーザチームを操作する場合にのみ有効となるようにすればよい。
【００９７】
なお、実施形態１ａでは、図７に示した基本方向ベクトルデータと、図９に示した上限データと、を組み合わせたようなデータが基本方向ベクトルデータとして記憶されるようにしてもよい。図１３は、この場合の基本方向ベクトルデータの一例を示す図である。図１３に示す基本方向ベクトルデータでは、押下力値と基本方向ベクトルの大きさとの対応関係が領域Ａ１〜Ａ９ごとに定められている。
【００９８】
また、図９に示す上限データの代わりに、基本方向ベクトルの大きさの下限データが記憶されるようにしてもよい。この場合、例えば領域Ａ２に関して、Ｚｗ軸正方向に対応する基本方向ベクトルである上方向ベクトルの大きさの下限が通常の値（０）に設定され、上方向ベクトル以外の基本方向ベクトルの大きさの下限が、通常の値（０）よりも大きい値（９）に設定されるようにすればよい。他の領域に関しても、同様の考え方に基づいて、基本方向ベクトルの下限を設定するようにすればよい。こうしても、ユーザキャラクタ（又はボール６２）がピッチ外に移動し難くなるように図ることが可能になる。
【００９９】
［実施形態１ｂ］
実施形態１において、ユーザに移動対象の能力（又は性能）を実感させるようにしてもよい。例えば、ユーザにユーザキャラクタの能力を実感させるようにしてもよい。
【０１００】
実施形態１では、第１基本方向ベクトル及び第２基本方向ベクトルの大きさが、第１押下部及び第２押下部の各々に加えられた押下力に応じて段階的に変わるようになっている（図７参照）。この点、実施形態１ｂにおける方向取得部７２は、第１基本方向ベクトル及び第２基本方向ベクトルの少なくとも一方の大きさの段階の数を、移動対象のパラメータに基づいて設定する。
【０１０１】
移動対象のパラメータとは、例えばユーザキャラクタの能力（性能）に関するパラメータであり、より具体的には、移動能力又はパス能力などに関するパラメータである。
【０１０２】
実施形態１ｂでは、例えば図１４に示すような基本方向ベクトルデータが記憶される。図１４に示す基本方向ベクトルデータでは、押下力と基本方向ベクトルの大きさとの対応関係がユーザキャラクタのパラメータの範囲ごとに定められている。
【０１０３】
図１４に示す基本方向ベクトルデータでは、ユーザキャラクタのパラメータの値が基準値（５０）以上である場合の基本方向ベクトルの大きさの段階の数は１１段階（０〜１０）になっている。一方、ユーザキャラクタのパラメータの値が基準値（５０）未満である場合の基本方向ベクトルの大きさの段階の数は６段階（０，２，４，６，８，１０）になっている。すなわち、ユーザキャラクタのパラメータの値が基準値（５０）未満である場合には、ユーザキャラクタのパラメータの値が基準値（５０）以上である場合に比べて、基本方向ベクトルの大きさの段階の数が少なくなっている。
【０１０４】
実施形態１ｂでは、図８のステップＳ１０４において、二つの基本方向ベクトルの大きさが、ユーザキャラクタのパラメータと、二つの方向ボタンの押下力値と、図１４に示す基本方向ベクトルデータと、に基づいて設定される。
【０１０５】
ここで、上方向ボタン４０Ｕ及び右方向ボタン４０Ｒが押下された場合を想定する。なお、上方向ボタン４０Ｕの押下力値は「１５０」であり、かつ、右方向ボタン４０Ｒの押下力値は「７０」であることとする。
【０１０６】
この場合、ユーザキャラクタのパラメータの値が基準値（５０）以上であれば、上方向ベクトルの大きさが「６」に設定され、右方向ベクトルの大きさが「３」に設定される。一方、ユーザキャラクタのパラメータの値が基準値（５０）未満であれば、上方向ベクトルの大きさが「６」に設定され、右方向ベクトルの大きさが「４」に設定される。そして、図８のステップＳ１０５では、このようにして設定された上方向ベクトル及び右方向ベクトルが合成され、ステップＳ１０７（又はステップＳ１０８）では、合成ベクトルが示す方向に基づいて、ユーザキャラクタ（又はユーザキャラクタによって蹴られたボール６２）の移動方向が設定される。
【０１０７】
実施形態１ｂによれば、ユーザにユーザキャラクタの能力を実感させるようなユーザインターフェースを実現できるようになる。基本方向ベクトルの大きさの段階の数が多いほど、ステップＳ１０６で取得される合成ベクトルが示す方向は、方向ボタン群４０に加えられる押下力に応じて細かく変化するようになる。すなわち、基本方向ベクトルの大きさの段階の数が多いほど、ユーザはユーザキャラクタの移動方向（又はユーザキャラクタによって蹴られたボール６２の移動方向）をより細かく指示できるようになる。
【０１０８】
このため、実施形態１ｂによれば、ユーザキャラクタの能力によって、ユーザキャラクタの移動方向（又はユーザキャラクタによって蹴られたボール６２の移動方向）を細かく指示できたり、できなくなったりするようになる。その結果、ユーザにユーザキャラクタの能力を実感させるようなユーザインターフェースを実現できるようになる。
【０１０９】
なお、ユーザキャラクタのパラメータは疲労度パラメータ（又はスタミナパラメータ）であってもよい。この場合、図１４に示す基本方向ベクトルデータは、ユーザキャラクタの疲労度が高くなるほど（又はユーザキャラクタのスタミナが少なくなるほど）、基本方向ベクトルの大きさの段階の数が少なくなるように設定すればよい。
【０１１０】
このようにすれば、ユーザキャラクタの疲労度（スタミナ）によって、ユーザキャラクタの移動方向（又はユーザキャラクタによって蹴られたボール６２の移動方向）を細かく指示できたり、できなくなったりするようになる。その結果、ユーザにユーザキャラクタの疲労度（スタミナ）を実感させるようなユーザインターフェースを実現できるようになる。
【０１１１】
［実施形態２］
実施形態２は、第１押下部及び第２押下部が押下された場合に、第１押下部に対応する第１基本方向（又は第２押下部に対応する第２基本方向）との間の角度を、第１押下部及び第２押下部の各々に加えられた押下力に基づいて決定することによって、第１基本方向と第２基本方向との間の方向を取得する点に特徴がある。
【０１１２】
実施形態２に係るゲーム装置１０は実施形態１と同様のハードウェア構成を有する（図１，２Ａ，２Ｂ参照）。また実施形態２では、実施形態１と同様に、例えばサッカーゲームが実行される。すなわち、実施形態１と同様のゲーム空間５０（図３参照）が構築され、実施形態１と同様のゲーム画面（図４参照）が表示される。
【０１１３】
さらに、実施形態２に係るゲーム装置１０は実施形態１と同様の機能ブロックを含む（図５参照）。ただし、実施形態２における方向取得部７２の機能は実施形態１と異なる点がある。このため、以下、方向取得部７２の機能について説明する。
【０１１４】
実施形態２における方向取得部７２は、第１押下部及び第２押下部が押下された場合に、第１基本方向又は第２基本方向との間の角度を、第１押下部及び第２押下部の各々に加えられた押下力に基づいて決定し、該決定された角度に基づいて、第１基本方向と第２基本方向との間の方向を取得する。
【０１１５】
図１５は、実施形態２における方向取得部７２の機能について説明するための図である。ここでは、上方向ボタン４０Ｕ（第１押下部）及び右方向ボタン４０Ｒ（第２押下部）が押下された場合を想定する。上方向ボタン４０Ｕ及び右方向ボタン４０Ｒが押下された場合、図１５に示すように、上方向ボタン４０Ｕに対応する基本方向（上方向）との間の角度θ１と、右方向ボタン４０Ｒに対応する基本方向（右方向）との間の角度θ２とが、上方向ボタン４０Ｕ及び右方向ボタン４０Ｒの各々の押下力値に基づいて決定される。そして、角度θ１，θ２が、決定された角度となるような方向Ｄｏが取得される。
【０１１６】
実施形態２では、第１基本方向又は第２基本方向との間の角度を、第１押下部及び第２押下部の各々に加えられた押下力に基づいて決定するためのデータが記憶部７０に記憶される。例えば、図１６に示すような角度データが記憶部７０に記憶される。図１６において、「Ｒ」は、第１押下部の押下力値（Ｆ１）と第２押下部の押下力値（Ｆ２）との合計に対する、第１押下部の押下力値（Ｆ１）の割合を示している。
【０１１７】
図１６に示す角度データは、第１押下部及び第２押下部の各々に加えられた押下力に関する情報と、第１基本方向又は第２基本方向との間の角度に関する情報と、を対応づけたデータとなっている。なお、第１基本方向又は第２基本方向との間の角度によって、第１基本方向と第２基本方向との間の方向が特定されるため、「第１基本方向又は第２基本方向との間の角度に関する情報」は、第１基本方向と第２基本方向との間の方向に関する情報ともいうことができる。図１６に示す角度データでは、第１押下部の押下力値の割合（Ｒ）が大きくなると（すなわち、第１押下部に加えられた押下力が大きくなると）、第１基本方向との間の角度（θ１）が小さくなるようになっている。
【０１１８】
なお、図１６に示す角度データは、第１押下部及び第２押下部の組み合わせが、上方向ボタン４０Ｕ及び下方向ボタン４０Ｄの一方と、左方向ボタン４０Ｌ及び右方向ボタン４０Ｒの一方と、の組み合わせである場合のみを想定している。このような場合、第１基本方向と第２基本方向との間の角度は９０度であるため、角度θ１，θ２の合計は９０度になる。角度θ１，θ２の一方が分かれば、他方も分かるため、図１６に示す角度データでは角度θ１，θ２の一方を省略するようにしてもよい。
【０１１９】
例えば、上方向ボタン４０Ｕ（第１押下部）及び右方向ボタン４０Ｒ（第２押下部）が押下された場合、方向取得部７２は、上方向（第１基本方向）と右方向（第２基本方向）との間の方向を、上方向ボタン４０Ｕ及び右方向ボタン４０Ｒの各々の押下力値と、図１６に示した角度データと、に基づいて取得する。すなわち、方向取得部７２は、上方向（第１基本方向）との間の角度θ１と、右方向（第２基本方向）との間の角度θ２とを、上方向ボタン４０Ｕ及び右方向ボタン４０Ｒの各々の押下力値と、図１６に示した角度データと、に基づいて取得する。
【０１２０】
例えば、上方向ボタン４０Ｕの押下力値（Ｆ１）が「１５０」であり、かつ、右方向ボタン４０Ｒの押下力値（Ｆ２）が「７０」である場合、上方向ボタン４０Ｕの押下力値の割合（Ｒ）は「０．６８」になる。このため、方向取得部７２は、上方向との間の角度θ１として「３６度」を取得し、右方向との間の角度θ２として「５４度」を取得する。そして、方向取得部７２は、上方向からの角度θ１が「３６度」であり、かつ、右方向からの角度θ２が「５４度」であるような方向Ｄｏを取得する。
【０１２１】
なお、図１６に示した角度データはテーブル形式のデータであったが、角度データはテーブル形式のデータでなくてもよく、例えば数式データであってもよい。例えば、下記の式（１）〜（３）によって、角度θ１，θ２が算出されるようにしてもよい。なお、下記の式（２）及び（３）において、「９０度」は第１基本方向と第２基本方向との間の角度である。
【０１２２】
Ｒ＝Ｆ１／（Ｆ１＋Ｆ２）  ・・・（１）
θ１＝９０度＊（１−Ｒ）  ・・・（２）
θ２＝９０度−θ１        ・・・（３）
【０１２３】
上記の式（１）〜（３）では、第１押下部の押下力値（Ｆ１）が第２押下部の押下力値（Ｆ２）に比べて大きいほど、第１基本方向との間の角度（θ１）が小さくなるようになっている。
【０１２４】
実施形態２によっても、方向ボタン群４０を押下する力を調整することによって、４５度間隔の八方向（上、下、左、右、右上、左上、右下、及び左下方向）よりも多くの方向を指示できるようになる。例えば、ユーザは上方向ボタン４０Ｕ及び右方向ボタン４０Ｒの各々を押下する力を調整することによって、上方向と右方向との間の方向をより細かく指示できるようになる。
【０１２５】
［実施形態２ａ］
実施形態２において、実施形態１ａと同様に、移動対象が境界線を越えて所定領域内から外に移動し難くなるように図るようにしてもよい。例えば、ユーザキャラクタ（又はボール６２）がピッチ外に移動し難くなるように図るようにしてもよい。
【０１２６】
実施形態２ａにおける方向取得部７２は、第１押下部及び第２押下部が押下された場合に、第１押下部に対応する第１基本方向（又は第２押下部に対応する第２基本方向）との間の角度の上限又は下限を、移動対象の位置に基づいて設定する。
【０１２７】
実施形態２ａでは、第１基本方向又は第２基本方向との間の角度の上限又は下限を、移動対象の位置に基づいて設定するためのデータが記憶部７０に記憶される。例えば、ユーザキャラクタ（又はボール６２）の位置に関する情報と、基本方向との間の角度の上限又は下限に関する情報と、を対応づけてなるデータが記憶される。図１７は、基本方向との間の角度の下限データの一例を示す。図１７に示す下限データは、ピッチ内の領域Ａ１〜Ａ９（図１０参照）と、基本方向との間の角度の下限と、を対応づけたデータになっている。
【０１２８】
例えば領域Ａ２はタッチライン５６ａと隣接しており、領域Ａ２内に位置しているユーザキャラクタ（又はボール６２）がＺｗ軸正方向に移動すると、タッチライン５６ａを越えてピッチ外に移動してしまう。この点を踏まえて、図１７に示す下限データでは、領域Ａ２に関して、Ｚｗ軸正方向に対応する基本方向である上方向との間の角度の下限が、通常の値（０度）よりも大きい値（７０度）に設定されており、他の基本方向との間の角度の下限が、通常の値（０度）に設定されている。他の領域に関しても、同様の考え方に基づいて、基本方向との間の角度の下限が設定されている。
【０１２９】
なお例えば、領域Ａ１はゴールライン５４ａ及びタッチライン５６ａとの両方に隣接している。このような領域に関しては、ゴールライン５４ａに着目して、基本方向との間の角度の下限が設定されるようになっている。すなわち、領域Ａ１内に位置しているユーザキャラクタ（又はボール６２）がＸｗ軸負方向に移動すると、ゴールライン５４ａを越えてピッチ外に移動してしまう。この点を踏まえて、図１７に示す下限データでは、領域Ａ１に関して、Ｘｗ軸負方向に対応する基本方向である左方向との間の角度の下限が、通常の値（０度）よりも大きい値（７０度）に設定されており、他の基本方向との間の角度の下限が、通常の値（０度）に設定されている。
【０１３０】
図１８は、実施形態２ａにおける方向取得部７２の機能について説明するための図である。ここでは、例えばボール６２を保持しているユーザキャラクタが領域Ａ２内に位置している状態において、上方向ボタン４０Ｕ及び右方向ボタン４０Ｒが押下された場合を想定する。なお、上方向ボタン４０Ｕの押下力値は「１５０」であり、かつ、右方向ボタン４０Ｒの押下力値は「７０」であることとする。
【０１３１】
この場合、例えば図１６に示した角度データが参照され、上方向ボタン４０Ｕに対応する基本方向（上方向）との間の角度θ１として「３６度」が取得される。しかし、図１７に示した下限データによれば、ユーザキャラクタ（又はボール６２）が領域Ａ２内に位置している場合における上方向との間の角度の下限は「７０度」であるため、上方向との間の角度θ１は「７０度」に変更される。また、上記の式（３）に従って、右方向ボタン４０Ｒに対応する基本方向（右方向）との間の角度θ２として「２０度」が取得される。そして、上方向からの角度が「７０度」であり、かつ、右方向からの角度が「２０度」であるような方向Ｄｏが取得される。
【０１３２】
この場合、実施形態１ａと同様に、ユーザキャラクタ（又はボール６２）がピッチ外に移動し難くなる（図１２参照）。
【０１３３】
［実施形態２ｂ］
実施形態２において、実施形態１ｂと同様に、ユーザに移動対象の能力（又は性能）を実感させるようにしてもよい。例えば、ユーザにユーザキャラクタの能力を実感させるようにしてもよい。
【０１３４】
実施形態２では、第１基本方向又は第２基本方向との間の角度が、第１押下部及び第２押下部の各々に加えられた押下力に応じて段階的に変わるようになっている（図１６参照）。この点、実施形態２ｂにおける方向取得部７２は、第１基本方向又は第２基本方向との間の角度の段階の数を、移動対象のパラメータに基づいて設定する。
【０１３５】
移動対象のパラメータとは、例えばユーザキャラクタの能力（性能）に関するパラメータであり、より具体的には、移動能力又はパス能力などに関するパラメータである。
【０１３６】
実施形態２ｂでは、例えば図１９に示すような角度データが記憶部７０に記憶される。図１９に示す角度データでは、押下力値と、第１基本方向又は第２基本方向との間の角度と、の対応関係がユーザキャラクタのパラメータの範囲ごとに定められている。
【０１３７】
図１９に示す角度データでは、ユーザキャラクタのパラメータ（例えば移動能力パラメータ）の値が基準値（５０）以上である場合、角度θ１，θ２が９段階で変化するようになっている。一方、ユーザキャラクタのパラメータの値が基準値（５０）未満である場合、角度θ１，θ２が５段階で変化するようになっている。すなわち、ユーザキャラクタのパラメータの値が基準値（５０）未満である場合には、ユーザキャラクタのパラメータの値が基準値（５０）以上である場合に比べて、角度θ１，θ２の段階の数が少なくなっている。
【０１３８】
実施形態２ｂでは、第１押下部及び第２押下部が押下された場合、第１基本方向又は第２基本方向との間の角度が、ユーザキャラクタのパラメータと、第１押下部及び第２押下部の各々の押下力値と、図１９に示した角度データと、に基づいて決定される。
【０１３９】
ここで、上方向ボタン４０Ｕ及び右方向ボタン４０Ｒが押下された場合を想定する。なお、上方向ボタン４０Ｕの押下力値は「１５０」であり、かつ、右方向ボタン４０Ｒの押下力値は「７０」であることとする。
【０１４０】
この場合、ユーザキャラクタのパラメータの値が基準値（５０）以上であれば、上方向ボタン４０Ｕに対応する基本方向（上方向）との間の角度θ１が「３６度」に決定され、右方向ボタン４０Ｒに対応する基本方向（右方向）との間の角度θ２が「５４度」に決定される。一方、ユーザキャラクタのパラメータの値が基準値（５０）未満であれば、上方向ボタン４０Ｕに対応する基本方向（上方向）との間の角度θ１が「２７度」に決定され、右方向ボタン４０Ｒに対応する基本方向（右方向）との間の角度θ２が「６３度」に決定される。そして、上方向との間の角度θ１と右方向との間の角度θ２が、決定された角度になるような方向Ｄｏが取得され（図１５参照）、その方向に基づいて、ユーザキャラクタ（又はユーザキャラクタによって蹴られたボール６２）の移動方向が設定される。
【０１４１】
実施形態２ｂによれば、実施形態１ｂと同様に、ユーザにユーザキャラクタの能力を実感させるようなユーザインターフェースを実現できるようになる。角度θ１，θ２の段階の数が多いほど、方向取得部７２によって取得される方向は、方向ボタン４０群に加えられる押下力に応じて細かく変化するようになる。すなわち、角度θ１，θ２の段階の数が多いほど、ユーザはユーザキャラクタの移動方向（又はパスの際のボール６２の移動方向）をより細かく指示できるようになる。
【０１４２】
このため、実施形態２ｂによれば、例えばユーザキャラクタの能力（性能）によって、ユーザキャラクタの移動方向（又はユーザキャラクタによって蹴られたボール６２の移動方向）をより細かく指示できたり、できなくなったりするようになる。実施形態２ｂによれば、ユーザキャラクタの能力（性能）をユーザに実感させるようなユーザインターフェースを実現できるようになる。
【０１４３】
なお、ユーザキャラクタのパラメータは疲労度パラメータ（又はスタミナパラメータ）であってもよい。この場合、図１９に示した角度データでは、ユーザキャラクタの疲労度が高い場合（又はユーザキャラクタのスタミナが少ない場合）には、ユーザキャラクタの疲労度が低い場合（又はユーザキャラクタのスタミナが多い場合）に比べて、角度θ１，θ２の段階の数が少なくなるように設定されるようにすればよい。
【０１４４】
このようにすれば、ユーザキャラクタの疲労度（スタミナ）によって、ユーザキャラクタの移動方向（又はパスの際のボール６２の移動方向）をより細かく指示できたり、できなくなったりするようになる。その結果として、ユーザキャラクタの疲労度（スタミナ）をユーザに実感させるようなユーザインターフェースを実現できるようになる。
【０１４５】
［実施形態３］
実施形態３は、方向ボタン群４０の代わりに、スティック４４Ｌが用いられる点で実施形態１，２とは異なる。すなわち、実施形態３では、ユーザがスティック４４Ｌを傾けることによって、ユーザキャラクタの移動方向や、ユーザキャラクタが蹴ったボール６２の移動方向を指示するようになっている。
【０１４６】
実施形態３に係るゲーム装置１０は実施形態１と同様のハードウェア構成を有する（図１，２Ａ，２Ｂ参照）。また実施形態３では、実施形態１と同様に、例えばサッカーゲームが実行される。すなわち、実施形態１と同様のゲーム空間５０（図３参照）が構築され、実施形態１と同様のゲーム画面（図４参照）が表示される。
【０１４７】
さらに、実施形態３に係るゲーム装置１０は実施形態１と同様の機能ブロックを含む（図５参照）。ただし、実施形態３における方向取得部７２は、スティック４４Ｌの傾倒方向に基づいて方向を取得する点で実施形態１，２と相違する。
【０１４８】
［実施形態３ａ］
実施形態３においても、実施形態１ａ，２ａと同様、移動対象が境界線を越えて所定領域内から外に移動し難くなるように図るようにしてもよい。例えば、ユーザキャラクタ（又はボール６２）がピッチ外に移動し難くなるように図るようにしてもよい。
【０１４９】
実施形態３ａにおける方向取得部７２は、スティック４４Ｌの傾倒方向が第１基本方向と第２基本方向との間に含まれる場合、第１基本方向又は第２基本方向との間の角度の上限又は下限を、移動対象の位置に基づいて設定する。
【０１５０】
図２０は、実施形態３ａにおける方向取得部７２の機能について説明するための図である。ここでは、例えばボール６２を保持しているユーザキャラクタが領域Ａ９内に位置している状態において、スティック４４Ｌの傾倒方向Ｄｉが上方向（第１基本方向）と右方向（第２基本方向）との間に含まれる場合を想定する。なお、スティック４４Ｌの傾倒方向Ｄｉと上方向との間の角度は「３０度」であり、スティック４４Ｌの傾倒方向Ｄｉと右方向との間の角度が「６０度」であることとする。
【０１５１】
実施形態３ａでは、移動対象の位置に関する情報と、基本方向との間の角度の大きさの上限又は下限に関する情報と、を対応づけたデータが記憶部７０に記憶される。例えば図１７に示した下限データと同様のデータが記憶される。
【０１５２】
この場合、図１７に示した下限データに基づいて、領域Ａ９に対応づけられた上方向との間の角度の下限として「０度」が取得され、この上限に基づいて、上方向との角度の大きさが変更される。この場合、上方向との角度の大きさ（３０度）は下限（０度）よりも大きいため、上方向との角度は「３０度」のままとなる。同様に、領域Ａ９に対応づけられた右方向との間の角度の下限として「０度」が取得され、この上限に基づいて、右方向との角度の大きさが変更される。この場合、右方向との角度の大きさ（６０度）は下限（０度）よりも大きいため、右方向との角度は「６０度」のままとなる。すなわち、この場合、方向取得部７２は、スティック４４Ｌの傾倒方向Ｄｉに対応する方向を取得する。例えば、スティック４４Ｌの傾倒方向Ｄｉがそのまま取得される。
【０１５３】
一方、例えばボール６２を保持しているユーザキャラクタが領域Ａ２内に位置している状態において、スティック４４Ｌの傾倒方向Ｄｉが上方向（第１基本方向）と右方向（第２基本方向）との間に含まれる場合を想定する。なお、スティック４４Ｌの傾倒方向Ｄｉと上方向との間の角度は「３０度」であり、スティック４４Ｌの傾倒方向Ｄｉと右方向との間の角度が「６０度」であることとする。
【０１５４】
この場合、図１７に示した下限データに基づいて、領域Ａ２に対応づけられた上方向との間の角度の下限として「７０度」が取得され、この上限に基づいて、上方向との角度の大きさが変更される。この場合、上方向との角度の大きさ（３０度）は下限（７０度）よりも小さいため、上方向との角度は「７０度」に変更される。この場合、方向取得部７２は、上方向との間の角度が「７０度」であり、かつ、右方向との間の角度が「２０度」である方向Ｄｏを取得する。
【０１５５】
この場合、実施形態１ａ，２ａと同様に、ユーザキャラクタ（又はボール６２）がピッチ外に移動し難くなる（図１２参照）。
【０１５６】
［実施形態３ｂ］
実施形態３では、移動対象が境界線を越えて所定領域内から外に移動し難くなるように図ることを、実施形態３ａとは異なる方法によって実現するようにしてもよい。
【０１５７】
図２１は、実施形態３ｂにおける方向取得部７２の機能について説明するための図である。
【０１５８】
実施形態３ｂにおける方向取得部７２は、スティック４４Ｌの傾倒方向が第１基本方向と第２基本方向との間に含まれる場合、スティック４４Ｌの傾倒方向に対応する傾倒方向ベクトルＶｉを取得する。なお、傾倒方向ベクトルＶｉの大きさはスティック４４Ｌの傾倒の程度を示す。
【０１５９】
次に、方向取得部７２は、傾倒方向ベクトルＶｉを、第１基本方向を示す第１基本方向ベクトルと、第２基本方向を示す第２基本方向ベクトルと、に分解する。例えば図２１に示す場合、スティック４４Ｌの傾倒方向（Ｖｉ）が上方向と右方向との間に含まれるため、傾倒方向ベクトルＶｉが上方向ベクトルＶｕと右方向ベクトルＶｒとに分解されている。上方向ベクトルＶｕは傾倒方向ベクトルＶｉの上方向成分を示すベクトルであり、右方向ベクトルＶｒは傾倒方向ベクトルＶｉの右方向成分を示すベクトルである。図２１に示す場合には、上方向ベクトルＶｕの大きさが「６」になっており、右方向ベクトルＶｒの大きさが「３」になっている。
【０１６０】
その後、方向取得部７２は、第１基本方向ベクトル及び第２基本方向ベクトルの少なくとも一方の大きさの上限又は下限を、ユーザキャラクタ（又はボール６２）の位置に基づいて設定する。
【０１６１】
実施形態３ａでは、移動対象の位置に関する情報と、複数の基本方向ベクトルの大きさの上限又は下限に関する情報と、を対応づけたデータが記憶部７０に記憶される。例えば図９に示した上限データと同様のデータが記憶される。
【０１６２】
ここで、ボール６２を保持しているユーザキャラクタが領域Ａ２内に位置している場合を想定する。例えば図２１に示す場合には、図９に示した上限データに基づいて、領域Ａ２に対応づけられた上方向ベクトルの大きさの上限として「２」が取得され、この上限に基づいて、上方向ベクトルＶｕの大きさが「２」に変更される。図２１において、上方向ベクトルＶｕ’は変更後の上方向ベクトルを示している。
【０１６３】
また、図２１に示す場合には、図９に示した上限データに基づいて、領域Ａ２に対応づけられた右方向ベクトルの大きさの上限として「１０」が取得され、この上限に基づいて、右方向ベクトルＶｒの大きさが変更される。この場合、右方向ベクトルＶｒの大きさ（３）は上限（１０）よりも小さいため、右方向ベクトルＶｒの大きさは「３」のままとなる。
【０１６４】
方向取得部７２は、大きさの変更処理が行われた後の第１基本方向ベクトル及び第２基本方向ベクトルを合成してなる合成ベクトルが示す方向を取得する。例えば図２１に示す場合であれば、方向取得部７２は、上方向ベクトルＶｕ’及び右方向ベクトルＶｒを合成してなる合成ベクトルＶｏを取得し、この合成ベクトルＶｏが示す方向を取得する。
【０１６５】
この場合、実施形態１ａ，２ａ，３ａと同様に、ユーザキャラクタ（又はボール６２）がピッチ外に移動し難くなる（図１２参照）。
【０１６６】
［実施形態３ｃ］
実施形態３において、実施形態１ｂ，２ｂと同様に、ユーザに移動対象の能力（又は性能）を実感させるようにしてもよい。例えば、ユーザにユーザキャラクタの能力を実感させるようにしてもよい。
【０１６７】
実施形態３ｃでは、方向取得部７２によって取得される方向が、スティック４４Ｌの傾倒方向に応じて段階に変わるようになっている。この点、実施形態３ｃにおける方向取得部７２は、方向取得部７２によって取得される方向の段階の数を、移動対象のパラメータに基づいて設定する。
【０１６８】
移動対象のパラメータとは、例えばユーザキャラクタの能力（性能）に関するパラメータであり、より具体的には、移動能力又はパス能力などに関するパラメータである。
【０１６９】
実施形態３ｃでは、例えば図２２に示すような代表方向データが記憶される。図２２に示す代表方向データでは、スティック４４Ｌの傾倒方向の範囲に関する情報と、代表方向に関する情報と、の対応関係が、ユーザキャラクタのパラメータの範囲ごとに定められている。
【０１７０】
図２２に示す代表方向データでは、スティック４４Ｌの傾倒方向を、上方向（Ｙ軸正方向）からの角度θｉで表している。すなわち、上方向を０度とし、かつ、時計回りを正方向とした場合の角度θｉで表している。代表方向も、上方向からの角度θｏで表している。上方向を０度とし、かつ、時計回りを正方向とした場合の角度θｏで表している。
【０１７１】
方向取得部７２は、ユーザキャラクタのパラメータと、スティック４４Ｌの傾倒方向と、図２２に示した代表方向データと、に基づいて方向を取得する。すなわち、方向取得部７２は、ユーザキャラクタのパラメータと、スティック４４Ｌの傾倒方向と、に対応する代表方向を取得する。
【０１７２】
ここで、上方向（Ｙ軸正方向）からの角度が５０度である方向にスティック４４Ｌが傾倒された場合を想定する。この場合、ユーザキャラクタのパラメータ（例えば移動能力パラメータ）の値が基準値（５０）以上であれば、方向取得部７２は、図２２に示した代表方向データに基づいて、上方向からの角度が「５７度」である方向を取得する。一方、ユーザキャラクタのパラメータの値が基準値（５０）未満であれば、方向取得部７２は、図２２に示した代表方向データに基づいて、上方向からの角度が「４５度」である方向を取得する。
【０１７３】
そして例えば、処理実行部７４は、方向取得部７２によって取得された方向に基づいて、ユーザキャラクタ（又はユーザキャラクタによって蹴られたボール６２）の移動方向を設定する。
【０１７４】
なお、図２２に示す代表方向データでは、ユーザキャラクタのパラメータ（例えば移動能力パラメータ）の値が基準値（５０）以上である場合、代表方向が１２段階で変化するようになっている。一方、ユーザキャラクタのパラメータの値が基準値（５０）未満である場合、代表方向が８段階で変化するようになっている。すなわち、ユーザキャラクタのパラメータの値が基準値（５０）未満である場合には、ユーザキャラクタのパラメータの値が基準値（５０）以上である場合に比べて、代表方向の段階の数が少なくなっている。
【０１７５】
代表方向の段階の数が多いほど、方向取得部７２によって取得される方向は、スティック４４Ｌの傾倒方向に応じて細かく変化するようになる。すなわち、代表方向の段階の数が多いほど、ユーザはユーザキャラクタの移動方向（又はパスの際のボール６２の移動方向）をより細かく指示できるようになる。
【０１７６】
この実施形態３ｃによれば、例えばユーザキャラクタの能力（性能）によって、ユーザキャラクタの移動方向（又はパスの際のボール６２の移動方向）をより細かく指示できたり、できなくなったりするようになる。このため、実施形態３ｃによれば、ユーザキャラクタの能力（性能）をユーザに実感させるようなユーザインターフェースを実現できるようになる。
【０１７７】
なお、ユーザキャラクタのパラメータは疲労度パラメータ（又はスタミナパラメータ）であってもよい。この場合、図２２に示す代表方向データでは、ユーザキャラクタの疲労度が高い場合（又はユーザキャラクタのスタミナが少ない場合）には、ユーザキャラクタの疲労度が低い場合（又はユーザキャラクタのスタミナが多い場合）に比べて、代表方向の段階の数が少なくなるように設定される。
【０１７８】
このようにすれば、ユーザキャラクタの疲労度（スタミナ）によって、ユーザキャラクタの移動方向（又はパスの際のボール６２の移動方向）をより細かく指示できたり、できなくなったりするようになる。実施形態３ｃによれば、ユーザキャラクタの疲労度（スタミナ）をユーザに実感させるようなユーザインターフェースを実現できるようになる。
【０１７９】
［他の実施形態］
なお、本発明は以上に説明した実施の形態に限定されるものではない。
【０１８０】
実施形態１ａと実施形態１ｂとを組み合わせるようにしてもよい。実施形態２ａと実施形態２ｂとを組み合わせるようにしてもよい。実施形態３ａ，３ｂと実施形態３ｃとを組み合わせるようにしてもよい。
【０１８１】
例えば、コントローラ３０は、方向ボタン群４０の代わりに、十字形状を有する十字ボタンを備えるようにしてもよい。例えば、十字ボタンは、上方向に対応する上押下部と、下方向に対応する下押下部と、左方向に対応する左押下部と、右方向に対応する右押下部と、が一体的に形成されたボタンである。
【０１８２】
また例えば、ゲーム空間は、選手キャラクタやボールの位置などが２つの座標要素で管理されるような２次元ゲーム空間であってもよい。
【０１８３】
また例えば、本発明は、サッカーゲーム以外のスポーツゲームを実行するゲーム装置１０にも適用することができる。例えば、バスケットボールゲーム、アイスホッケーゲーム、アメリカンフットボールゲーム、野球ゲーム、テニスゲーム、又は卓球ゲームなどを実行するゲーム装置１０にも本発明は適用することができる。また、本発明はスポーツゲーム以外のゲーム（例えばアクションゲーム、ロールプレイングゲーム、又はシミュレーションゲーム）を実行するゲーム装置１０にも適用することができる。
【０１８４】
また例えば、本発明は、ゲーム装置１０以外の情報処理装置にも適用することができる。
【符号の説明】
【０１８５】
１０  ゲーム装置、１１  家庭用ゲーム機、１２  バス、１４  マイクロプロセッサ、１６  主記憶、１８  画像処理部、２０  入出力処理部、２２  音声処理部、２４  光ディスクドライブ、２６  ハードディスク、２８  通信インタフェース、３０  コントローラ、３０ａ  表面、３２  表示部、３４  音声出力部、３６  光ディスク、４０  方向ボタン群、４０Ｕ  上方向ボタン、４０Ｄ  下方向ボタン、４０Ｌ  左方向ボタン、４０Ｒ  右方向ボタン、４２Ａ，４２Ｂ，４２Ｘ，４２Ｙ  ボタン、４４Ｌ，４４Ｒ  スティック、５０  ゲーム空間、５２  フィールド、５４ａ，５４ｂ  ゴールライン、５６ａ，５６ｂ  タッチライン、５８  ゴール、６０，６０ａ，６０ｂ，６０ｃ，６０ｄ  選手キャラクタ、６２  ボール、６４  仮想カメラ、６４ａ  視線方向、６６  カーソル、７０  記憶部、７２  方向取得部、７４  処理実行部。
【図１】
2011065425.tif 000003
【図２Ａ】
2011065425.tif 000004
【図２Ｂ】
2011065425.tif 000005
【図３】
2011065425.tif 000006
【図４】
2011065425.tif 000007
【図５】
2011065425.tif 000008
【図６】
2011065425.tif 000009
【図７】
2011065425.tif 000010
【図８】
2011065425.tif 000011
【図９】
2011065425.tif 000012
【図１０】
2011065425.tif 000013
【図１１】
2011065425.tif 000014
【図１２】
2011065425.tif 000015
【図１３】
2011065425.tif 000016
【図１４】
2011065425.tif 000017
【図１５】
2011065425.tif 000018
【図１６】
2011065425.tif 000019
【図１７】
2011065425.tif 000020
【図１８】
2011065425.tif 000021
【図１９】
2011065425.tif 000022
【図２０】
2011065425.tif 000023
【図２１】
2011065425.tif 000024
【図２２】
2011065425.tif 000025