(57)【特許請求の範囲】
【請求項１】
ゲームプログラムであって、
前記ゲームプログラムは、検出対象物が接近したことを入力操作として検出するタッチスクリーンと、プロセッサと、メモリとを備えるコンピュータにおいて実行されるものであり、仮想空間内の仮想カメラの配置に応じた画面を前記タッチスクリーンに表示させるものであり、
前記ゲームプログラムは、前記プロセッサに、
前記タッチスクリーンにおいて、前記検出対象物が接近していない状態から前記タッチスクリーンに接近したことを検出した第１のタッチ位置から、前記接近していることを検出したまま第２のタッチ位置へ検出位置が移動した場合に、前記接近していることを検出している間、前記第１のタッチ位置と前記第２のタッチ位置との位置関係に基づいて前記ゲームキャラクタを前記仮想空間において移動させる方向を決定するステップと、
前記タッチスクリーンの少なくとも１つの辺から中央部に向かう一定領域を空けてゲームキャラクタを表示させ、前記第１のタッチ位置と前記第２のタッチ位置との位置関係に基づいて決定される移動方向に従って前記ゲームキャラクタを移動させ、前記ゲームキャラクタの移動方向に従って前記仮想カメラを平行に移動させるステップとを実行させる、ゲームプログラム。
【請求項２】
前記ゲームプログラムが前記仮想カメラを移動させるステップには、
前記仮想空間において前記ゲームキャラクタが移動可能な範囲のうち、予め定められた一定範囲内で移動する場合は前記タッチスクリーンの少なくとも１つの辺から中央部に向かう一定領域を空けて前記ゲームキャラクタを表示させるよう前記仮想カメラを移動させ、
前記ゲームキャラクタが前記一定範囲外を移動する場合は、前記タッチスクリーンの少なくとも１つの辺から中央部に向かう一定領域においても前記ゲームキャラクタを前記タッチスクリーンに表示させるよう前記仮想カメラの移動を制御することが含まれる、請求項１に記載のゲームプログラム。
【請求項３】
前記ゲームプログラムが前記仮想カメラを移動させるステップには、
前記タッチスクリーンにおいて前記ゲームキャラクタを表示可能な領域に前記ゲームキャラクタを表示させ、
前記ゲームキャラクタを移動可能な方向のうち、前記一定領域への移動方向とは異なる方向については、前記一定領域への移動方向と比較して、前記タッチスクリーンにおいて前記ゲームキャラクタを表示可能な領域が広く設定されており、当該表示可能な領域を超える方向に前記ゲームキャラクタを移動させる場合に、前記ゲームキャラクタの移動方向に従って前記仮想カメラを移動させることが含まれる、請求項１または２に記載のゲームプログラム。
【請求項４】
前記ゲームプログラムが前記仮想カメラを移動させるステップには、前記ゲームキャラクタを、前記ゲームキャラクタに対する入力操作に応じて移動させる第１の状態から、前記ゲームキャラクタの移動を伴う予め定められた動作を前記ゲームキャラクタに行わせる第２の状態に推移した場合に、前記タッチスクリーンにおいて前記ゲームキャラクタを表示可能な領域にかかわらず前記ゲームキャラクタの前記第２の状態に対応した前記ゲームキャラクタの動作に従って前記仮想カメラを移動させることが含まれる、請求項１から３のいずれか１項に記載のゲームプログラム。
【請求項５】
前記仮想カメラを移動させるステップには、前記タッチスクリーンの１つの辺から中央部に向かう略４分の１から略３分の１の一定領域を空けて前記ゲームキャラクタを表示させるよう前記仮想カメラを移動させることが含まれる、請求項１から４のいずれか１項に記載のゲームプログラム。
【請求項６】
前記ゲームプログラムは、前記入力操作を受け付けることによりプレイヤが操作する前記ゲームキャラクタと、前記ゲームキャラクタと対戦する相手側キャラクタとの間で、対象物を交互に打ち返すスポーツゲームにかかるものであり、
前記仮想カメラを移動させるステップには、
前記タッチスクリーンの少なくとも１つの辺から中央部に向かう一定領域を空けて、前記ゲームキャラクタおよび前記相手側キャラクタを表示させることが含まれる、請求項１から５のいずれか１項に記載のゲームプログラム。
【請求項７】
検出対象物が接近したことを入力操作として検出するタッチスクリーンと、プロセッサと、メモリとを備えるコンピュータが、前記タッチスクリーンに仮想空間内の仮想カメラの配置に応じた画面を表示させる方法であって、
前記方法は、前記プロセッサが、
前記タッチスクリーンにおいて、前記検出対象物が接近していない状態から前記タッチスクリーンに接近したことを検出した第１のタッチ位置から、前記接近していることを検出したまま第２のタッチ位置へ検出位置が移動した場合に、前記接近していることを検出している間、前記第１のタッチ位置と前記第２のタッチ位置との位置関係に基づいて前記ゲームキャラクタを前記仮想空間において移動させる方向を決定するステップと、
前記タッチスクリーンの少なくとも１つの辺から中央部に向かう一定領域を空けてゲームキャラクタを表示させ、前記第１のタッチ位置と前記第２のタッチ位置との位置関係に基づいて決定される移動方向に従って前記ゲームキャラクタを移動させ、前記ゲームキャラクタの移動方向に従って前記仮想カメラを平行に移動させるステップとを実行することを含む、方法。
【請求項８】
検出対象物が接近したことを入力操作として検出するタッチスクリーンを備える情報処理装置であって、
前記情報処理装置は、
ゲームプログラムを記憶するように構成された記憶部と、
前記情報処理装置の動作を制御するように構成され、前記ゲームプログラムを実行することにより、仮想空間内の仮想カメラの配置に応じた画面を前記タッチスクリーンに表示させるように構成された制御部とを備え、
前記制御部は、
前記タッチスクリーンにおいて、前記検出対象物が接近していない状態から前記タッチスクリーンに接近したことを検出した第１のタッチ位置から、前記接近していることを検出したまま第２のタッチ位置へ検出位置が移動した場合に、前記接近していることを検出している間、前記第１のタッチ位置と前記第２のタッチ位置との位置関係に基づいて前記ゲームキャラクタを前記仮想空間において移動させる方向を検出する移動操作検出部と、
前記タッチスクリーンの少なくとも１つの辺から中央部に向かう一定領域を空けてゲームキャラクタを表示させ、前記第１のタッチ位置と前記第２のタッチ位置との位置関係に基づいて決定される移動方向に従って前記ゲームキャラクタを移動させ、前記ゲームキャラクタの移動方向に従って前記仮想カメラを平行に移動させるカメラ配置制御部とを含む、情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、タッチ操作による入力操作を受け付けてゲームを進行させるゲームプログラムの技術に関し、特に、仮想空間内の仮想カメラの配置に応じた画面をディスプレイに表示することでゲームを進行させる技術に関する。
【背景技術】
【０００２】
仮想空間内にゲームキャラクタを表示させてゲームを進行させるゲームプログラムが、様々な事業者によって提供されている。例えば、テニス、卓球、ホッケー、サッカーなどのスポーツを題材としたスポーツゲームが提供されている。
【０００３】
これらゲームでは、例えば、仮想空間内にゲームキャラクタおよび対戦相手となるキャラクタを配置させ、仮想空間内に仮想カメラを配置して、仮想カメラの撮影範囲の画像をディスプレイに表示することでゲームを進行させる。ユーザは、例えば、仮想空間内のゲームキャラクタを操作して、ゲームキャラクタを移動させつつ、対戦相手となるキャラクタとの間で、ボールなどの対象物を打球させる等の操作を行うことでゲームを進行させることができる。
【０００４】
特許文献１には、携帯型のゲーム装置において、ユーザが操作するゲーム装置の操作姿勢を考慮してゲーム処理を変更する技術が記載されている。特許文献１には、具体的には、ユーザが操作するゲーム装置の姿勢データをセンサが取得して、操作姿勢に応じて、仮想カメラの配置を決定するための視点モードを切り替えることが記載されている。例えば、特許文献１には、仮想カメラの配置を決定するための視点モードとして、俯瞰視点モードとユーザ視点モードとがあることが記載されている。特許文献１によると、視点モードとして、テニスゲームにおいて、テニスコートオブジェクト全体を俯瞰して見ることができる位置に仮想カメラを配置する俯瞰視点モードと、プレイヤオブジェクトの後方に仮想カメラを配置するユーザ視点モードとを、ゲーム装置の姿勢に応じて切り替えることが記載されている。
【０００５】
特許文献１の技術は、このような構成を有することにより、ユーザがボタン操作を行うことなく、ゲーム装置の姿勢を変えることで、ユーザの好みの視点モードに容易に設定可能とすることができる。これにより、特許文献１の技術は、視点を切り替えるためのユーザの操作をいっそう容易なものとしている。
【０００６】
特許文献１には、物理的な十字型のキーによりユーザの入力操作を受け付けるゲーム装置が記載されている。これに対し、近年は、タッチスクリーンを備えた端末（スマートフォン、タブレットその他の端末）が広く普及しており、この端末に対応した多様なゲームプログラムが事業者等によって提供されている。これらタッチスクリーンを備えた端末では、タッチスクリーンに対してユーザがタッチする操作を端末が検出することで、ゲームキャラクタをユーザが仮想空間内で移動させるための入力操作をユーザから受け付ける。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２０１３−５６０９５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
タッチスクリーンは、ユーザが指などをタッチスクリーンに接近させることによるユーザの入力操作を受け付けるとともに、ゲームの進行に伴う画面表示をする。そのため、ユーザがタッチスクリーンに対しタッチ操作等による入力操作を行っている間、この入力操作によってディスプレイを覆ってしまい、タッチスクリーンを視認可能な領域が、ユーザ自身のタッチ操作によって減少することがある。そのため、タッチスクリーンに表示されるゲームキャラクタの操作を、よりいっそう容易にする技術が必要とされている。
【０００９】
本開示は、タッチスクリーンを備えるコンピュータにおいて、仮想空間内の仮想カメラの配置に応じた画面を表示させるゲームプログラムを実行する場合に、ゲームキャラクタを操作するためのユーザの操作をいっそう容易にすることで、ゲームに対する興趣性をいっそう向上させる技術を提供することを目的とする。
【課題を解決するための手段】
【００１０】
本開示に示す一実施形態によれば、タッチ操作による入力操作を受け付けるタッチスクリーンと、プロセッサと、メモリとを備えるコンピュータにおいて実行されるゲームプログラムが提供される。ゲームプログラムは、仮想空間内の仮想カメラの配置に応じた画面をタッチスクリーンに表示させるものである。ゲームプログラムは、プロセッサに、タッチスクリーンにおいて、検出対象物が接近していない状態からタッチスクリーンに接近したことを検出した第１のタッチ位置から、接近していることを検出したまま第２のタッチ位置へ検出位置が移動した場合に、接近していることを検出している間、第１のタッチ位置と第２のタッチ位置との位置関係に基づいてゲームキャラクタを仮想空間において移動させる方向を決定するステップと、タッチスクリーンの少なくとも１つの辺から中央部に向かう一定領域を空けてゲームキャラクタを表示させ、第１のタッチ位置と第２のタッチ位置との位置関係に基づいて決定される移動方向に従ってゲームキャラクタを移動させ、ゲームキャラクタの移動方向に従って仮想カメラを平行に移動させるステップとを実行させる。
【００１１】
別の実施形態によると、タッチ操作による入力操作を受け付けるタッチスクリーンと、プロセッサと、メモリとを備えるコンピュータが、タッチスクリーンに仮想空間内の仮想カメラの配置に応じた画面を表示させる方法が提供される。方法は、プロセッサが、タッチスクリーンにおいて、検出対象物が接近していない状態からタッチスクリーンに接近したことを検出した第１のタッチ位置から、接近していることを検出したまま第２のタッチ位置へ検出位置が移動した場合に、接近していることを検出している間、第１のタッチ位置と第２のタッチ位置との位置関係に基づいてゲームキャラクタを仮想空間において移動させる方向を決定するステップと、タッチスクリーンの少なくとも１つの辺から中央部に向かう一定領域を空けてゲームキャラクタを表示させ、第１のタッチ位置と第２のタッチ位置との位置関係に基づいて決定される移動方向に従ってゲームキャラクタを移動させ、ゲームキャラクタの移動方向に従って仮想カメラを平行に移動させるステップとを実行することを含む。
【００１２】
別の実施形態によると、タッチ操作による入力操作を受け付けるタッチスクリーンを備える情報処理装置が提供される。情報処理装置は、記憶部と、制御部とを備える。記憶部は、ゲームプログラムを記憶するように構成されている。制御部は、情報処理装置の動作を制御するように構成され、ゲームプログラムを実行することにより、仮想空間内の仮想カメラの配置に応じた画面をタッチスクリーンに表示させるように構成されている。制御部は、タッチスクリーンにおいて、検出対象物が接近していない状態からタッチスクリーンに接近したことを検出した第１のタッチ位置から、接近していることを検出したまま第２のタッチ位置へ検出位置が移動した場合に、接近していることを検出している間、第１のタッチ位置と第２のタッチ位置との位置関係に基づいてゲームキャラクタを仮想空間において移動させる方向を検出する移動操作検出部と、タッチスクリーンの少なくとも１つの辺から中央部に向かう一定領域を空けてゲームキャラクタを表示させ、第１のタッチ位置と第２のタッチ位置との位置関係に基づいて決定される移動方向に従ってゲームキャラクタを移動させ、ゲームキャラクタの移動方向に従って仮想カメラを平行に移動させるカメラ配置制御部とを含む。
【発明の効果】
【００１３】
一実施形態によると、タッチスクリーンを備えるコンピュータにおいて、タッチスクリーンに表示されるゲームキャラクタの操作を、より一層容易にすることができ、ゲームの興趣性を向上させることができる。
【図面の簡単な説明】
【００１４】
【図１】実施の形態のゲーム配信システム１の構成を示す図である。
【図２】携帯端末１０の構成を示すブロック図である。
【図３】サーバ２０の機能的な構成を示すブロック図である。
【図４】移動操作検出部１９３が、ユーザの入力操作に応じてゲームキャラクタを移動させる方向を検出する処理を示す図である。
【図５】ゲームキャラクタに、第１の動作としてサーブ動作を行わせた後、第２の動作として、相手側キャラクタとの間でボールを交互に打ち返すためにゲームキャラクタを移動させるための入力操作を受け付けるゲーム画面の遷移を示す図である。
【図６】実施の形態１の制御部１９０がゲームプログラム１５１を実行することにより、カメラ配置制御部１９４により決定されるカメラワークに従って、スポーツゲームの試合を進行させる処理を示すフローチャートである。
【図７】カメラ配置制御部１９４がゲームの進行に応じて仮想カメラを平行に移動させる処理を示す図である。
【図８】実施の形態２のカメラ配置制御部１９４が、ゲームキャラクタの位置に応じてカメラワークを決定する処理を示す図である。
【図９】実施の形態２の制御部１９０がゲームプログラム１５１を実行することにより、カメラ配置制御部１９４により決定されるカメラワークに従って、スポーツゲームの試合を進行させる処理を示すフローチャートである。
【図１０】実施の形態３のカメラ配置制御部１９４が、自キャラクタ１３４を移動させる方向および自キャラクタ１３４の打球動作に従って、仮想カメラを配置している処理を示す図である。
【図１１】自キャラクタ１３４が打球対象オブジェクト１３８を打球することが可能な範囲の設定を示す図である。
【図１２】実施の形態４の制御部１９０が、移動操作検出部１９３の検出結果に基づき、ゲームキャラクタを移動させる方向に応じたオブジェクトをディスプレイ１３２に表示させる処理を示す図である。
【発明を実施するための形態】
【００１５】
以下、図面を参照しつつ、本発明の実施の形態について説明する。以下の説明では、同一の部品には同一の符号を付してある。それらの名称および機能も同じである。したがって、それらについての詳細な説明は繰り返さない。
【００１６】
＜技術思想＞
実施の形態で説明する技術思想の概要を説明する。スマートフォンなどのタッチスクリーンを備える情報処理装置でゲームプログラムを実行する場合、タッチスクリーンには、ゲームの画面が表示され、その画面上で、ユーザによる入力操作を受け付ける。このように、ユーザがタッチスクリーンを押下する操作、タッチスクリーン上で指をドラッグさせる操作等で、ゲームに登場するキャラクタを操作するゲームにおいては、ユーザがゲームを進行させるにあたり、ユーザの指によってタッチスクリーンの表示内容が覆われることがある。実施の形態では、ゲームの進行に応じて、タッチスクリーンに対してユーザが行う入力操作がいっそう容易になるよう、仮想空間内に配置される仮想カメラのカメラワークを制御する技術を説明する。
【００１７】
＜実施の形態１＞
本実施形態において、ユーザは、例えばスマートフォンなどの、タッチスクリーンを搭載した情報処理装置を操作して、ゲームサーバと、スマートフォンとの間でゲームに関するデータを送受信しながらゲームを進行させる。ゲームは、ユーザが一人でプレイするシングルプレイと、ユーザが他のユーザとともにプレイするマルチプレイとに対応する。
【００１８】
図１は、実施の形態のゲーム配信システム１の構成を示す図である。図１に示すように、ゲーム配信システム１は、ユーザが使用する情報処理装置と、サーバ２０とを含み、これらの装置がネットワーク８０によって互いに通信可能に接続されている。
【００１９】
図１の例では、ユーザが使用する情報処理装置として、携帯端末１０Ａ、携帯端末１０Ｂおよび携帯端末１０Ｃ（以下、携帯端末１０Ａ、１０Ｂ、１０Ｃなどの携帯端末を総称して「携帯端末１０」と記載することもある）など複数の携帯端末を示している。携帯端末１０Ａと携帯端末１０Ｂとは、無線基地局８１と通信することにより、ネットワーク８０と接続する。携帯端末１０Ｃは、家屋などの施設に設置される無線ルータ８２と通信することにより、ネットワーク８０と接続する。携帯端末１０は、タッチスクリーンを備える端末であり、例えば、スマートフォン、ファブレット、タブレットなどである。
【００２０】
携帯端末１０は、ゲームプログラムを実行することにより、ゲームプログラムに応じたゲームをプレイする環境をユーザに対して提供する。携帯端末１０は、例えば、アプリ等を配信するプラットフォームを介してゲームプログラムをインストールする。携帯端末１０は、携帯端末１０にインストールされたゲームプログラム、または、予めプリインストールされているゲームプログラムを実行することで、ユーザによるゲームのプレイを可能とする。携帯端末１０は、ゲームプログラムを読み込んで実行することにより、携帯端末１０と、サーバ２０とを通信接続して、ゲームの進行に応じてゲームに関連するデータを携帯端末１０とサーバ２０との間で送受信する。
【００２１】
サーバ２０は、ゲームのプレイに必要なデータを、適宜、携帯端末１０へ送信することで、携帯端末１０でのゲームのプレイを進行させる。サーバ２０は、ゲームをプレイする各ユーザの、ゲームに関連する各種データを管理する。サーバ２０は、携帯端末１０と通信し、各ユーザのゲームの進行に応じて、画像、音声、テキストデータその他のデータを携帯端末１０へ送信する。
【００２２】
例えば、サーバ２０は、各ユーザがゲームのストーリーを進行させた進行状況、ゲーム内に登場するゲームキャラクタのうち各ユーザが使用可能なゲームキャラクタの情報、ゲームキャラクタの能力を示すパラメータ、ゲームキャラクタが使用する道具の性能を示すパラメータその他の各種データを管理する。また、サーバ２０は、ゲームの運営者がユーザに対してキャンペーン、ゲームの進行における不具合の発生、不具合の解消その他のゲームの運営に関連する情報等をユーザに通知する処理を行う。
【００２３】
ゲームプログラムは、ユーザがゲームをプレイするモードとして、一人のユーザがプレイする場合（シングルプレイ）と、複数人のユーザが協同してプレイする場合（マルチプレイ）とに対応している。例えば、ゲーム配信システム１において、サーバ２０が、マルチプレイに参加するユーザを特定して各ユーザの各携帯端末１０と通信すること等により、マルチプレイでゲームをプレイする環境を各ユーザに提供する。
【００２４】
ゲーム配信システム１は、マルチプレイに対応することにより、例えば、テニスゲームであれば、各ユーザでチームを結成してダブルスの試合を行うことを可能とする。また、ゲーム配信システム１は、サッカーゲームであれば、各ユーザが同一のサッカーチームのメンバーとなって試合を行うことを可能とする。また、ゲーム配信システム１は、アクションゲームであれば、各ユーザでチームを結成して、クエストモードなど比較的強力なキャラクタと対戦するゲームモードを複数のユーザがプレイすることを可能とする。
【００２５】
＜構成＞
サーバ２０のハードウェアの構成を説明する。サーバ２０は、通信ＩＦ（Interface）２２と、入出力ＩＦ２３と、メモリ２５と、ストレージ２６と、プロセッサ２９とを備え、これらが通信バスを介して互いに接続する。
【００２６】
通信ＩＦ２２は、例えばＬＡＮ（Local  Area  Network）規格など各種の通信規格に対応しており、携帯端末１０など外部の通信機器との間でデータを送受信するためのインタフェースとして機能する。
【００２７】
入出力ＩＦ２３は、サーバ２０への情報の入力を受け付けるとともに、サーバ２０の外部へ情報を出力するためのインタフェースとして機能する。入出力ＩＦ２３は、マウス、キーボード等の情報入力機器の接続を受け付ける入力受付部と、画像等を表示するためのディスプレイ等の情報出力機器の接続を受け付ける出力部とを含む。
【００２８】
メモリ２５は、処理に使用されるデータ等を記憶するための記憶装置である。メモリ２５は、例えば、プロセッサ２９が処理を行う際に一時的に使用するための作業領域をプロセッサ２９に提供する。メモリ２５は、ＲＯＭ（Read  Only  Memory）、ＲＡＭ（Random  Access  Memory）等の記憶装置を含んで構成されている。
【００２９】
ストレージ２６は、プロセッサ２９が読み込んで実行するための各種プログラム及びデータを記憶するための記憶装置である。ストレージ２６が記憶する情報は、ゲームプログラム、ゲームプログラムに関連する情報、ゲームプログラムをプレイするユーザの情報その他の情報を含む。ストレージ２６は、ＨＤＤ（Hard  Disk  Drive）、フラッシュメモリ等の記憶装置を含んで構成されている。
【００３０】
プロセッサ２９は、ストレージ２６に記憶されるプログラム等を読み込んで実行することにより、サーバ２０の動作を制御する。プロセッサ２９は、例えば、ＣＰＵ（Central  Processing  Unit）、ＭＰＵ（Micro  Processing  Unit）、ＧＰＵ（Graphics  Processing  Unit）等を含んで構成される。
【００３１】
図２は、携帯端末１０の構成を示すブロック図である。図２を参照して、携帯端末１０は、アンテナ１１０と、無線通信ＩＦ１２０と、タッチスクリーン１３０と、入出力ＩＦ１４０と、記憶部１５０と、音声処理部１６０と、マイク１７０と、スピーカ１８０と、制御部１９０とを含む。
【００３２】
アンテナ１１０は、携帯端末１０が発する信号を電波として空間へ放射する。また、アンテナ１１０は、空間から電波を受信して受信信号を無線通信ＩＦ１２０へ与える。
【００３３】
無線通信ＩＦ１２０は、携帯端末１０が他の通信機器と通信するため、アンテナ１１０等を介して信号を送受信するための変復調処理などを行う。無線通信ＩＦ１２０は、チューナー、高周波回路などを含む無線通信用の通信モジュールであり、携帯端末１０が送受信する無線信号の変復調や周波数変換を行い、受信信号を制御部１９０へ与える。
【００３４】
タッチスクリーン１３０は、ユーザからの入力を受け付けて、ユーザに対し情報をディスプレイ１３２に出力する。タッチスクリーン１３０は、ユーザの入力操作を受け付けるための部材（タッチパネル１３１）を含む。また、タッチスクリーン１３０は、メニュー画面や、ゲームの進行を画面に表示するための部材（ディスプレイ１３２）を含む。タッチパネル１３１は、例えば静電容量方式のものを用いることによって、ユーザの指などが接近したことを検出する。ディスプレイ１３２は、例えばＬＣＤ（Liquid  Crystal  Display）、有機ＥＬ（electroluminescence）その他の表示装置によって実現される。
【００３５】
入出力ＩＦ１４０は、携帯端末１０への情報の入力を受け付けるとともに、携帯端末１０の外部へ情報を出力するためのインタフェースとして機能する。
【００３６】
記憶部１５０は、フラッシュメモリ、ＲＡＭ（Random  Access  Memory）等により構成され、携帯端末１０が使用するプログラム、および、携帯端末１０がサーバ２０から受信する各種データ等を記憶する。
【００３７】
音声処理部１６０は、音声信号の変復調を行う。音声処理部１６０は、マイク１７０から与えられる信号を変調して、変調後の信号を制御部１９０へ与える。また、音声処理部１６０は、音声信号をスピーカ１８０へ与える。音声処理部１６０は、例えば、音声処理用のプロセッサによって実現される。マイク１７０は、音声信号の入力を受け付けて制御部１９０へ出力するための音声入力部として機能する。スピーカ１８０は、音声信号を、携帯端末１０の外部へ出力するための音声出力部として機能する。
【００３８】
制御部１９０は、記憶部１５０に記憶されるプログラムを読み込んで実行することにより、携帯端末１０の動作を制御する。制御部１９０は、例えば、アプリケーションプロセッサによって実現される。
【００３９】
携帯端末１０がゲームプログラム１５１を実行する処理について、より詳細に説明する。ある局面において、記憶部１５０は、ゲームプログラム１５１と、ゲーム情報１５２と、ユーザ情報１５３とを記憶する。携帯端末１０は、例えば、サーバ２０からゲームプログラムをダウンロードして記憶部１５０に記憶させる。また、携帯端末１０は、ゲームの進行に伴いサーバ２０と通信することで、ゲーム情報１５２およびユーザ情報１５３等の各種のデータをサーバ２０と送受信する。
【００４０】
ゲームプログラム１５１は、携帯端末１０においてゲームを進行させるためのプログラムである。ゲーム情報１５２は、ゲームプログラム１５１が参照する各種のデータを含む。ゲーム情報１５２は、例えば、ゲームにおいて仮想空間に配置するオブジェクトの情報、オブジェクトに対応付けられた効果の情報（ゲームキャラクタに設定されるスキルの情報などを含む）などを含む。ユーザ情報１５３は、ゲームをプレイするユーザについての情報を含む。ユーザ情報１５３は、例えば、ゲームをプレイする携帯端末１０のユーザを識別する情報、マルチプレイ時に協働してゲームをプレイする他のユーザを識別する情報その他の情報を含む。
【００４１】
制御部１９０は、ゲームプログラム１５１を読み込んで実行することにより、入力操作受付部１９１と、ゲーム進行処理部１９２と、移動操作検出部１９３と、カメラ配置制御部１９４と、オブジェクト制御部１９５と、表示制御部１９６と、の各機能を発揮する。
【００４２】
入力操作受付部１９１は、タッチスクリーン１３０の出力に基づいて、ユーザの入力操作を受け付ける。具体的には、入力操作受付部１９１は、ユーザの指などがタッチパネル１３１に接近したことを、タッチスクリーン１３０を構成する面の横軸および縦軸からなる座標系の座標として検出する。
【００４３】
入力操作受付部１９１は、タッチスクリーン１３０に対するユーザの操作を判別する。入力操作受付部１９１は、例えば、（１）「接近操作」、（２）「リリース操作」、（３）「タップ操作」、（４）「ダブルタップ操作」、（５）「長押し操作（ロングタッチ操作）」、（６）「ドラッグ操作（スワイプ操作）」、（７）「ムーブ操作」、（８）「フリック操作」、その他のユーザの操作を判別する。入力操作受付部１９１が判別するユーザの操作は、上記に限られない。例えば、タッチパネル１３１が、ユーザがタッチパネル１３１に対して押下する圧力の大きさを検出可能な機構を有する場合、入力操作受付部１９１は、ユーザが押下した圧力の大きさを判別する。
【００４４】
ここで、（１）「接近操作」とは、ユーザが指などをタッチスクリーン１３０に接近させる操作である。タッチスクリーン１３０は、ユーザの指などが接近したこと（ユーザの指などがタッチスクリーン１３０に接触したことを含む）をタッチパネル１３１により検出し、検出したタッチスクリーン１３０の座標に応じた信号を制御部１９０へ出力する。制御部１９０は、タッチスクリーン１３０へのユーザの指などの接近を検出しない状態から、接近を検出したときに、状態が「タッチオン状態」になったと判別する。
【００４５】
（２）「リリース操作」とは、ユーザがタッチスクリーン１３０を接近操作している状態を止める操作である。入力操作受付部１９１は、例えば、ユーザが指などをタッチスクリーン１３０に接触させている状態から、指を離す操作をしたときに、ユーザの操作を「リリース操作」と判別する。制御部１９０は、タッチスクリーン１３０へのユーザの指などの接近を検出している状態から、接近を検出しない状態になったときに、状態が「タッチオン状態」から「タッチオフ状態」になったと判別する。
【００４６】
（３）「タップ操作」とは、ユーザがタッチスクリーン１３０に対して指などを接近させる接近操作をした後に、接近操作をした位置でリリース操作を行うことである。入力操作受付部１９１は、接近操作が検出されない状態（ユーザの指などがタッチパネル１３１から離れており、タッチパネル１３１がユーザの指などの接近を検出していない状態）から、タッチスクリーン１３０の出力に基づいて、ユーザの指などが接近したことを検出した場合に、その検出した座標を「初期タッチ位置」として保持する。入力操作受付部１９１は、初期タッチ位置の座標と、リリース操作をした座標とがほぼ同一である場合（接近操作が検出された座標から一定範囲内の座標においてリリース操作の座標が検出された場合）に、ユーザの操作を「タップ操作」と判別する。
【００４７】
（４）「ダブルタップ操作」とは、ユーザがタップ操作を一定時間内に２回行う操作である。入力操作受付部１９１は、例えば、ユーザの操作をタップ操作と判別してから一定時間内に、タップ操作にかかる座標で再びタップ操作を判別した場合に、ユーザの操作を「ダブルタップ操作」と判別する。
【００４８】
（５）「長押し操作」とは、ユーザがタッチスクリーン１３０を押し続ける操作である。タッチスクリーン１３０は、ユーザの操作を検出して接近操作を判別してから、接近操作が検出された座標において接近操作が継続している時間が一定時間を超えた場合に、ユーザの操作を「長押し操作」（「長押し操作」を、「ロングタッチ操作」と称することもある）と判別する。
【００４９】
（６）「ドラッグ操作」とは、ユーザがタッチスクリーン１３０に指などを接近させた接近状態を維持したまま、指をスライドさせる操作である。
【００５０】
（７）「ムーブ操作」とは、ユーザがタッチスクリーン１３０において、接近操作を維持しつつ、タッチスクリーン１３０に指などを接近させている位置を移動させてリリース操作を行う一連の操作をいう。
【００５１】
（８）「フリック操作」は、ユーザがムーブ操作を予め定められた時間よりも短い時間で行う操作をいう。フリック操作は、ユーザがタッチスクリーン１３０で指を弾くような操作である。
【００５２】
ゲーム進行処理部１９２は、ユーザの操作に応じて、各種のプログラムを呼び出す等によりゲームを進行させる処理を行う。例えば、ゲーム進行処理部１９２は、サーバ２０と通信し、ゲームの進行に応じてサーバ２０へデータを送信する処理、サーバ２０からゲームに関連するデータを受信する処理、ゲームの進行に応じてユーザに報酬を付与する処理、時間の経過を計測する処理その他の処理を行う。
【００５３】
移動操作検出部１９３は、タッチスクリーン１３０に対するユーザの入力操作に基づいて、ゲームに登場するキャラクタ（以下、「ゲームキャラクタ」と称することもある）を移動させる入力操作の操作内容を検出する。例えば、ゲームプログラム１５１がスポーツゲームである場合、移動操作検出部１９３は、ユーザの入力操作に基づいて、ゲームキャラクタを移動させる方向を検出する（移動操作検出部１９３は、ユーザがゲームキャラクタの移動方向を指定する入力操作を受け付ける）。
【００５４】
具体的には、移動操作検出部１９３は、タッチスクリーン１３０からユーザの指が離れた状態から、ユーザが指をタッチスクリーン１３０に接近させて、入力操作受付部１９１がタッチパネル１３１にユーザの指が接近したことを検出した座標を初期タッチ位置として、ユーザがドラッグ操作を行った場合に、初期タッチ位置の座標とタッチスクリーン１３０の検出結果とに基づいて、ゲームキャラクタの移動方向を検出する。移動操作検出部１９３の詳細な処理は、後述する。
【００５５】
カメラ配置制御部１９４は、仮想空間に配置される各オブジェクトを、どのようにユーザに見せるかを決定する。具体的には、カメラ配置制御部１９４は、制御部１９０がゲームプログラム１５１を読み込んで実行することで生成される仮想空間において、仮想カメラの配置（カメラワーク）を制御する。制御部１９０は、仮想空間における仮想カメラの撮影画像をディスプレイ１３２に表示することで、ユーザに対しゲームのプレイ環境を提供する。
【００５６】
オブジェクト制御部１９５は、携帯端末１０がゲームプログラム１５１を実行することにより進行されるゲームに登場する各種オブジェクト、および、入力操作受付部１９１が受け付けたユーザの操作内容に基づいて生成される各種オブジェクト（例えば、ＧＵＩ（Graphical  User  Interface）画面など）の生成、変形、移動などの処理を制御する。オブジェクト制御部１９５は、例えば、ユーザがゲームキャラクタを移動させるためのタッチスクリーン１３０に対する入力操作に基づいて、ゲームキャラクタの移動方向を示すオブジェクトを生成し、生成したオブジェクトを変形する。
【００５７】
表示制御部１９６は、仮想カメラのカメラワークに従った画像をディスプレイ１３２に出力する。表示制御部１９６は、仮想空間内における仮想カメラの配置に応じて、ディスプレイ１３２の表示内容を決定し、決定した表示内容に従う画像、テキスト等の各種の情報をディスプレイ１３２に出力する。
【００５８】
図３は、サーバ２０の機能的な構成を示すブロック図である。図３を参照して、サーバ２０の詳細な構成を説明する。サーバ２０は、プログラムに従って動作することにより、通信部２２０と、記憶部２５０と、制御部２９０としての機能を発揮する。
【００５９】
通信部２２０は、サーバ２０が携帯端末１０などの外部の通信機器と通信するためのインタフェースとして機能する。
【００６０】
記憶部２５０は、携帯端末１０においてユーザがゲームを進行させるための各種プログラムおよびデータを記憶する。ある局面において、記憶部２５０は、ゲームプログラム２５１と、ゲーム情報２５２と、ユーザ情報２５３とを記憶する。
【００６１】
ゲームプログラム２５１は、サーバ２０が携帯端末１０と通信して、携帯端末１０においてゲームを進行させるためのプログラムである。ゲームプログラム２５１は、ゲームを進行させるための各種データであるゲーム情報２５２およびユーザ情報２５３等を参照して、ユーザの入力操作に応じてゲームを進行させる。ゲームプログラム２５１は、制御部２９０に実行されることにより、携帯端末１０とデータを送受信する処理、携帯端末１０のユーザが行った操作内容に応じてゲームを進行させる処理、ゲームをプレイするユーザの情報を更新する処理その他の処理をサーバ２０に行わせる。
【００６２】
ゲーム情報２５２は、ゲームプログラム２５１が参照する各種のデータを含む。ゲーム情報２５２は、オブジェクト管理テーブル２５２Ａと、パッシブスキル管理テーブル２５２Ｂと、アクティブスキル管理テーブル２５２Ｃとを含む。
【００６３】
オブジェクト管理テーブル２５２Ａは、ゲームの仮想空間内に配置されるオブジェクトの設定を示す。携帯端末１０は、ゲームプログラム１５１を実行することにより、仮想空間内に配置されるオブジェクトを、仮想空間内に配置される仮想カメラによって撮影した画像をディスプレイ１３２に表示することでゲームを進行させる。
【００６４】
ここで、オブジェクトとしては、例えば、ユーザが操作するゲームキャラクタを示すオブジェクト、ゲームキャラクタが装着する対象物を示すオブジェクトなど様々なものがある。これらオブジェクトは、ユーザがタッチスクリーン１３０に対して予め定められた入力操作を行うこと、ゲームの進行に伴い一定の条件を満たすこと、その他の様々な事象の発生を契機として、オブジェクトに対応付けられた処理が行われる。
【００６５】
例えば、あるオブジェクトに対してユーザがタッチスクリーン１３０に対して接近操作を行うことで、オブジェクトがユーザに選択された状態となる。また、例えば、ユーザがドラッグ操作を行うことで、ユーザに選択されているオブジェクトがユーザの入力操作に応じて移動する等の処理が行われる。また、例えば、ユーザがオブジェクトに対してタッチ操作をすることで、ユーザに対し、ゲームを有利に進めるための報酬が付与される等の処理が行われる。
【００６６】
パッシブスキル管理テーブル２５２Ｂは、オブジェクトを識別する情報と、オブジェクトに対応付けられたパッシブスキルの情報とが対応付けられている。ここで、パッシブスキルとは、例えば、ゲームにおいて予め定められた条件が満たされたときに発動され、ユーザがゲームを有利に進行させることができるものである。例えば、パッシブスキルが発動した場合に、ゲームキャラクタの移動速度が向上する等の、ゲームを有利に進行させられる効果を発揮させる。
【００６７】
アクティブスキル管理テーブル２５２Ｃは、オブジェクトを識別する情報と、オブジェクトに対応付けられたアクティブスキルの情報とが対応付けられている。ここで、アクティブスキルとは、例えば、ゲームにおいて予め定められた条件が満たされたときに発動可能な状態となり、ユーザから、スキルを発動させるための入力操作を受け付けることにより、ユーザがゲームを有利に進行させることができるものである。
【００６８】
ユーザ情報２５３は、ゲームをプレイするユーザについての情報である。ユーザ情報２５３は、ユーザ管理テーブル２５３Ａを含む。ユーザ管理テーブル２５３Ａは、各ユーザを識別する情報と、ユーザがゲームを進行させた度合いを示す情報と、ユーザがゲーム内で保有するアイテム、ゲームキャラクタ、ゲームキャラクタが使用する装着物等の情報その他の情報を含む。
【００６９】
制御部２９０は、記憶部２５０に記憶されるゲームプログラム２５１を実行することにより、送受信部２９１、サーバ処理部２９２、データ管理部２９３、マッチング部２９４、計測部２９５としての機能を発揮する。
【００７０】
送受信部２９１は、ゲームプログラム１５１を実行する携帯端末１０から、各種情報を受信し、携帯端末１０に対し、各種情報を送信する。携帯端末１０とサーバ２０とは、ユーザに関連付けられるオブジェクトを仮想空間に配置する要求、オブジェクトを削除する要求、オブジェクトを移動させる要求、ユーザが獲得する報酬に応じて各種パラメータを更新する要求、ゲームを進行させるための画像、音声その他のデータ、サーバ２０から携帯端末１０へ送信される通知などの情報を送受信する。
【００７１】
サーバ処理部２９２は、サーバ２０全体の動作を制御し、各種のプログラムを呼び出す等によりゲームの進行に必要な処理を行う。サーバ処理部２９２は、例えば、携帯端末１０から受信した情報に基づいて、ゲーム情報２５２、ユーザ情報２５３、などのデータを更新し、携帯端末１０に各種データを送信することでゲームを進行させる。
【００７２】
データ管理部２９３は、サーバ処理部２９２の処理結果に従って、記憶部２５０に記憶される各種データを更新する処理、データベースにレコードを追加／更新／削除する処理などを行う。
【００７３】
マッチング部２９４は、複数のユーザを関連付けるための一連の処理を行う。マッチング部２９４は、例えば、ユーザがマルチプレイを行うための入力操作を行った場合に、ゲームを協同してプレイさせるユーザを関連付ける処理などを行う。
【００７４】
計測部２９５は、時間を計測する処理を行う。計測部２９５は、例えば、仮想空間に配置される各オブジェクトについて時間の経過を計測する。また、計測部２９５は、ゲームが進行している時間を計測する。サーバ２０は、携帯端末１０から、携帯端末１０においてゲームプログラム１５１を実行して計測される各種の計測結果の情報を受信し、受信した情報と、計測部２９５の計測結果とを照合することで、携帯端末１０とサーバ２０とで、各種の時間に関する情報を同期させる。
【００７５】
＜実施の形態１の構成のまとめ＞
以上のように、実施の形態のゲーム配信システム１の構成を説明してきた。本実施形態において、ゲームプログラム１５１は、例えばスポーツゲームであり、仮想空間内の仮想カメラの配置に応じた画面をタッチスクリーン１３０に表示させることでゲームを進行させる。
【００７６】
例えば、ゲームプログラム１５１がスポーツゲームである場合、ゲーム進行処理部１９２は、ユーザの操作に応じてストーリーを進行させ、画像、テキストなどディスプレイ１３２に表示するデータを決定する処理、スポーツの対戦相手の選択をユーザから受け付ける処理、ユーザの操作に応じてスポーツの試合を進める処理などの基本的な処理を行う。
【００７７】
例えば、ゲームプログラム１５１がスポーツゲームである場合、カメラ配置制御部１９４は、スポーツの試合を行うための仮想空間における仮想カメラの配置個所および撮影軸の方向を、スポーツの試合の進展に応じて、逐次、決定する。カメラ配置制御部１９４は、仮想カメラのカメラワークを制御する。カメラ配置制御部１９４の詳細な処理は、後述する。
【００７８】
例えば、表示制御部１９６は、ゲームキャラクタを一定領域に表示させるよう仮想カメラを配置した状態で、ゲームキャラクタに第１の動作（例えば、サーブ動作）を行わせるための入力操作を受け付けて、受け付けた入力操作に応じてゲームキャラクタに第１の動作を行わせる画面表示をする。
【００７９】
＜動作＞
図面を参照して、実施の形態のゲーム配信システム１を構成する各装置の動作を説明する。
【００８０】
図４は、移動操作検出部１９３が、ユーザの入力操作に応じてゲームキャラクタを移動させる方向を検出する処理を示す図である。移動操作検出部１９３は、ユーザがタッチスクリーン１３０を押していない状態から、指などをタッチパネル１３１に接近させてタッチスクリーン１３０を押した位置（初期タッチ位置）を起点と設定する。入力操作受付部１９１は、ユーザの操作をドラッグ操作と判別している場合に、起点となる座標と、タッチスクリーン１３０がユーザの指などの接近を検出している座標とに基づいて、ゲームキャラクタを移動させる方向を検出する。
【００８１】
図４の状態（Ａ）は、タッチスクリーン１３０からユーザの指が離れた状態から、ユーザが指をタッチスクリーン１３０に接近させた状態を示す。入力操作受付部１９１は、ユーザの指がタッチパネル１３１に接近したことを検出し、検出した座標を初期タッチ位置としてメモリに保持する。
【００８２】
図４の例では、メモリが保持する初期タッチ位置の座標を、初期タッチ位置座標１５５として示す。入力操作受付部１９１は、タッチスクリーン１３０の検出結果（ユーザの指がタッチスクリーン１３０に接近している座標、および、ユーザの指がタッチスクリーン１３０に接近していることを検出していないこと（検出結果「ｎｕｌｌ」））を、一定フレーム分、バッファメモリ１５３に格納する。バッファメモリ１５３は、タッチスクリーン１３０における検出結果を、各フレームについて一定フレーム分（図３の例では、メモリ領域ｆｐ〔０〕〜メモリ領域ｆｐ〔１０〕までの１１フレーム分）、格納することができる。バッファメモリ１５３は、例えばリングバッファとして実現することができる。
【００８３】
状態（Ａ）の例では、ユーザがタッチスクリーン１３０を押した位置を、押下位置３０Ａ（タッチスクリーン１３０の座標（ｘ０，ｙ０））として示す。
【００８４】
図４の状態（Ｂ）は、ユーザがタッチスクリーン１３０に対してドラッグ操作を行って、タッチスクリーン１３０に対する押下位置を、押下位置３０Ａから押下位置３０Ｂ（タッチスクリーン１３０の座標（ｘ９，ｙ９））まで１０フレーム（メモリ領域ｆｐ〔０〕〜メモリ領域ｆｐ〔９〕までの１０フレーム分）で移動させたことを示す。入力操作受付部１９１は、タッチスクリーン１３０の検出結果をバッファメモリ１５３に格納し、バッファメモリ１５３に保持される値を参照して、タッチスクリーン１３０に対するユーザの操作をドラッグ操作と判別する。
【００８５】
図４の状態（Ｃ）は、ユーザがタッチスクリーン１３０を押している位置を、押下位置３０Ｂから押下位置３０Ｃ（タッチスクリーン１３０の座標（ｘ１４，ｙ１４））まで、５フレーム（メモリ領域ｆｐ〔１０〕、ｆｐ〔０〕、ｆｐ〔１〕、ｆｐ〔２〕、ｆｐ〔３〕の５フレーム分）で移動させたことを示す。
【００８６】
図４の状態（Ｄ）は、移動操作検出部１９３が、状態（Ｂ）および状態（Ｃ）のそれぞれにおいて、ユーザがゲームキャラクタを移動させる方向を指定する入力操作の検出結果を示す。移動操作検出部１９３は、バッファメモリ１５３において、タッチスクリーン１３０が検出する押下位置の座標を書き込む対象となるメモリ領域がいずれであるかを示す情報（バッファメモリ１５３の書き込み位置）を管理している。
【００８７】
状態（Ｂ）において、移動操作検出部１９３は、入力操作受付部１９１の判別結果に基づいて、初期タッチ位置を示す座標３１Ａ（座標（ｘ０，ｙ０））から座標３１Ｂ（座標（ｘ９，ｙ９））までユーザがドラッグ操作を行ったことを検出する。移動操作検出部１９３は、初期タッチ位置の座標３１Ａを起点として、座標３１Ａと座標３１Ｂとによって規定されるベクトル３２Ｂ（（ｙ９−ｙ０）／（ｘ９−ｘ０））を、ゲームキャラクタを移動させる方向として検出する。
【００８８】
状態（Ｃ）において、移動操作検出部１９３は、入力操作受付部１９１の判別結果に基づいて、座標３１Ｂ（座標（ｘ９，ｙ９））から座標３１Ｃ（座標（ｘ１４，ｙ１４））までユーザがドラッグ操作を行ったことを検出する。移動操作検出部１９３は、初期タッチ位置の座標３１Ａを起点として、座標３１Ａと座標３１Ｃとによって規定されるベクトル３１Ｃ（（ｙ１４−ｙ０）／（ｘ１４−ｘ０））を、ゲームキャラクタを移動させる方向として検出する。
【００８９】
図５および図６を参照して、カメラ配置制御部１９４が仮想空間における仮想カメラのカメラワークを決定する処理について詳しく説明する。
【００９０】
カメラ配置制御部１９４は、ゲームキャラクタに、ゲームを進行させるための所定の動作（第１の動作）を行わせる場合に、ゲームキャラクタを、タッチスクリーン１３０に表示させるよう仮想カメラを配置する。例えば、ゲームプログラム１５１は、入力操作を受け付けることにより、ゲームのプレイヤであるユーザが操作するゲームキャラクタと、ゲームキャラクタと対戦する相手側キャラクタとの間で、ボールなどの対象物を交互に打ち返すスポーツゲームにかかるものである。ゲームキャラクタに行わせる第１の動作には、スポーツゲームにおけるサーブ動作が含まれる。ゲームキャラクタに行わせる第２の動作には、サーブ動作後に相手側キャラクタと対象物（ボール）を交互に打ち返すためにゲームキャラクタを移動させる動作が少なくとも含まれる。
【００９１】
例えば、ゲームプログラム１５１がスポーツゲームであるとする。ゲームを進行させるための所定の動作として、テニスゲームであればゲームキャラクタにサーブの動作を行わせる場合に、仮想空間において予め定められた範囲に仮想カメラを配置する。ユーザがゲームキャラクタにサーブ動作を行わせるための入力操作を容易としつつ、迫力ある画面をユーザに提供できる位置に仮想カメラを配置することが好ましい。そのため、カメラ配置制御部１９４は、例えば、サーブ動作を行うゲームキャラクタを、タッチスクリーン１３０の手前側に大きく表示しつつ対戦相手のゲームキャラクタをも画面に収まるよう仮想カメラの配置個所および仮想カメラが撮影をする方向を決定する。
【００９２】
本実施形態では、ゲームプログラムとして、テニスゲームの場合を具体的に説明する。
図５は、ゲームキャラクタに、第１の動作としてサーブ動作を行わせた後、第２の動作として、相手側キャラクタとの間でボールを交互に打ち返すためにゲームキャラクタを移動させるための入力操作を受け付けるゲーム画面の遷移を示す図である。図５の例では、自キャラクタ１３４の位置に対し、ネットを挟んで画面の奥方向（縦方向）に相手側キャラクタ１３６を配置している。
【００９３】
図５の画面例（Ａ）、画面例（Ｂ）および画面例（Ｃ）は、ユーザが操作する自キャラクタ１３４に、第１の動作としてサーブ動作を行わせるための入力操作を受け付ける画面である。画面例（Ａ）に示すように、ゲーム進行処理部１９２は、タッチスクリーン１３０に、ユーザが操作するゲームキャラクタである自キャラクタ１３４と、テニスゲームの対戦相手となるゲームキャラクタである相手側キャラクタ１３６とを表示させて、ユーザに対し、自キャラクタ１３４にサーブ動作を行わせるための入力操作を受け付ける。
【００９４】
画面例（Ａ）に示す状態において、ゲーム進行処理部１９２は、ユーザが自キャラクタ１３４にサーブ動作を行わせるため、自キャラクタ１３４がサーブ動作を開始する位置を指定する入力操作を受け付ける。ここで、サーブ動作を開始する位置は、コートの辺に沿った方向（画面では左右方向）に規定されるため、ユーザは、自キャラクタ１３４を左右方向に移動させる入力操作を行って、サーブ動作を開始する位置を決定する。
【００９５】
画面例（Ｂ）に示すように、ゲーム進行処理部１９２は、自キャラクタ１３４にサーブ動作を行わせるための入力操作をユーザから受け付ける。ゲーム進行処理部１９２は、ユーザがタップ操作を行ったことを入力操作受付部１９１が検出した場合に、自キャラクタ１３４に、ボールをトスアップさせる動作を行わせる。ゲーム進行処理部１９２は、打球対象オブジェクト１３８を、自キャラクタ１３４がテニスボールをトスアップしたように移動させる。すなわち、ゲーム進行処理部１９２は、自キャラクタ１３４がテニスボールを投げることで、テニスボールが上昇及び下降するように打球対象オブジェクト１３８を移動させる。
【００９６】
画面例（Ｃ）に示すように、ゲーム進行処理部１９２は、自キャラクタ１３４に、トスアップしたテニスボールを打球させるための入力操作をユーザから受け付ける。ユーザは、トスアップされた打球対象オブジェクト１３８が上昇したのちに下降するよう移動していくのを視認して、タイミングをはかってタッチスクリーン１３０にタップ操作を行うことで、打球対象オブジェクト１３８を打球するよう自キャラクタ１３４を操作する。
【００９７】
ゲーム進行処理部１９２は、例えば、打球対象オブジェクト１３８を上昇及び下降していくよう表示する総フレーム数のうち、予め規定された一定のフレーム数においてユーザからのタップ操作を受け付ける。ゲーム進行処理部１９２は、この一定のフレーム数においてタップ操作を検出した場合に、自キャラクタ１３４に、打球対象オブジェクト１３８を打球させる動作を行わせて打球対象オブジェクト１３８を相手側キャラクタに向けて飛翔させるよう移動させる。
【００９８】
画面例（Ａ）〜画面例（Ｃ）で説明したように、ユーザは、トスアップされた打球対象オブジェクト１３８を視認して、タイミングを見計らってタップ操作を行うことで、自キャラクタ１３４にサーブ動作を行わせる。そのため、ユーザにとっては、自キャラクタ１３４および打球対象オブジェクト１３８が比較的小さく表示されている場合よりも、自キャラクタ１３４および打球対象オブジェクト１３８がタッチスクリーン１３０の手前側に配置されて比較的大きく表示されている方が、サーブ動作を入力することが容易となる。
【００９９】
画面例（Ｃ）に示すように、自キャラクタ１３４にサーブ動作を行わせて打球対象オブジェクト１３８を相手側キャラクタ１３６に向けて飛翔させた後は、ユーザは、自キャラクタ１３４を移動させつつ、自キャラクタ１３４と相手側キャラクタ１３６との間で、打球対象オブジェクト１３８を交互に打ち返す入力操作を行うことでゲームを進行させることとなる。
【０１００】
ここで、ゲーム進行処理部１９２は、例えば図４に示すように、ユーザからドラッグ操作を受け付けることで自キャラクタ１３４を移動させる方向を指定する入力操作を受け付ける。ユーザは、主に、タッチスクリーン１３０の手前側の領域を用いて、自キャラクタ１３４を移動させる入力操作を行うこととなる。そのため、ユーザの指と自キャラクタ１３４とがなるべく重ならないよう、自キャラクタ１３４をユーザが視認しやすくすることで、ゲームの操作性を向上させることができる。
【０１０１】
そこで、カメラ配置制御部１９４は、ゲームキャラクタに、第１の動作を行わせる画面表示をし、タッチスクリーン１３０の少なくとも１つの辺から中央部に向かう一定領域を空けてゲームキャラクタを表示させるよう仮想カメラを移動させる。例えば、カメラ配置制御部１９４は、タッチスクリーン１３０の１つの辺から中央部に向かう略４分の１から略３分の１の一定領域を空けてゲームキャラクタを表示させる。
【０１０２】
図５の画面例（Ｄ）に示すように、テニスゲームであれば、カメラ配置制御部１９４は、ゲームキャラクタに、第１の動作としてサーブ動作を行わせる画面表示をした後（画面例（Ａ）〜画面例（Ｃ））、タッチスクリーン１３０の、ユーザから見て手前側となる辺から画面の中央部へ向かう一定領域１３９を空けてゲームキャラクタ（自キャラクタ１３４）を表示させるよう、第１の動作（サーブ動作）後に仮想カメラの撮影方向を維持したまま仮想カメラの配置個所を平行に移動させる。
【０１０３】
図６は、実施の形態１の制御部１９０がゲームプログラム１５１を実行することにより、カメラ配置制御部１９４により決定されるカメラワークに従って、スポーツゲームの試合を進行させる処理を示すフローチャートである。
【０１０４】
ステップＳ６０１において、制御部１９０は、ユーザが操作する自キャラクタ１３４を、タッチスクリーン１３０の手前側の辺に沿って表示させるよう、仮想カメラの撮影位置および撮影軸の初期設定に従って、仮想カメラの撮影画像をタッチスクリーン１３０に表示させる（図４の画面例（Ａ）に対応する）。
【０１０５】
ステップＳ６０３において、制御部１９０は、ユーザから、自キャラクタ１３４にサーブ動作を行わせるための入力操作（タップ操作）があるまで、自キャラクタ１３４を移動可能な範囲で、自キャラクタ１３４の位置を移動させる入力操作を受け付ける。制御部１９０は、例えば、ドラッグ操作により、自キャラクタ１３４の位置を移動させる入力操作を受け付ける。
【０１０６】
例えば、制御部１９０は、図４の画面例（Ａ）に示すように、自キャラクタ１３４がサーブ動作を行う位置を決定するため、左右方向に自キャラクタ１３４を移動させる入力操作をユーザから受け付ける。制御部１９０は、サーブ動作を行う位置を決定するために自キャラクタ１３４を移動させる入力操作に従って仮想カメラを平行に移動させ、仮想カメラの撮影画像をタッチスクリーン１３０に表示させる。
【０１０７】
ステップＳ６０５において、制御部１９０は、自キャラクタ１３４にサーブ動作を行わせるための入力操作（タップ操作）を検出し、入力操作に応じて、自キャラクタ３１４にサーブ動作を行わせる画面表示をタッチスクリーン１３０に行う（図４の画面例（Ｂ）および画面例（Ｃ）に対応する）。制御部１９０は、自キャラクタ１３４にサーブ動作を行わせると、タッチスクリーン１３０の手前側の辺から中央部に向かう３分の１程度の一定領域１３９を空けて自キャラクタ１３４をタッチスクリーン１３０に表示させるよう仮想カメラを、撮影軸の方向に平行に移動させ、仮想カメラの撮影画像をタッチスクリーン１３０に表示させる（図４の画面例（Ｄ）に対応する）。
【０１０８】
ステップＳ６０７において、制御部１９０は、ゲームの進行に応じて、自キャラクタ１３４と、相手側キャラクタ１３６と、自キャラクタ１３４と相手側キャラクタ１３６との間でラリーの対象となる打球対象オブジェクト１３８とを一画面に収めるよう、仮想カメラを、撮影軸の方向に平行に移動させ、仮想カメラの撮影画像をタッチスクリーン１３０に表示させる。
【０１０９】
制御部１９０は、例えば、テニスゲームの試合を進行させて、自キャラクタ１３４にサーブ動作を行わせる都度、図６に示す処理を行う。また、制御部１９０は、相手側キャラクタ１３６がサーブ動作を行う場合は、図５の画面例（Ｄ）に示す状態で、自キャラクタ１３４をタッチスクリーン１３０に表示する。
【０１１０】
図７は、カメラ配置制御部１９４がゲームの進行に応じて仮想カメラを平行に移動させる処理を示す図である。図７の例において、仮想空間は、３次元（ｘｙｚ軸）で構成されている。オブジェクト制御部１９５は、仮想空間において、テニスコートを示すオブジェクトを、ｘｙ平面に沿って配置する。オブジェクト制御部１９５は、ユーザの入力操作に応じて、自キャラクタ１３４および相手側キャラクタ１３６を、ｘ軸およびｙ軸に平行に移動させる。
【０１１１】
図７の状態（Ａ）は、仮想空間内において、テニスコートが配置される平面に対して垂直な面（ｙｚ平面）における仮想カメラの移動を示す図である。ユーザがタップ操作によって自キャラクタ１３４にサーブ動作を行わせるまで（図５の状態（Ｃ））、カメラ配置制御部１９４は、位置１４３に仮想カメラを配置する。
【０１１２】
図７の状態（Ｂ）は、仮想空間内において、テニスコートが配置される平面に対して平行な面（ｘｙ平面）における仮想カメラの移動を示す図である。ユーザがタップ操作によって自キャラクタ１３４にサーブ動作を行わせると、ゲーム進行処理部１９２は、自キャラクタ１３４と相手側キャラクタ１３６との間でラリーを行うため、自キャラクタ１３４の移動方向を指定する入力操作をユーザから受け付ける。このとき、タッチスクリーン１３０の一定領域１３９を空けて自キャラクタ１３４をタッチスクリーン１３０に表示させるよう、カメラ配置制御部１９４は、位置１４３から位置１４５まで仮想カメラを平行に移動させる（図５の状態（Ｄ））。
【０１１３】
＜実施の形態１のカメラワークのまとめ＞
カメラ配置制御部１９４は、ゲームキャラクタに第１の動作を行わせる場合に、ゲームキャラクタを、タッチスクリーン１３０の少なくとも１つの辺から中央部に向かう一定領域（図５の画面例（Ｄ）に示す一定領域１３９）に表示させるよう仮想カメラを配置することとしてもよい。
【０１１４】
図５の例で説明するように、テニスゲームであれば、カメラ配置制御部１９４は、ゲームキャラクタに、第１の動作としてサーブ動作を行わせる場合に、タッチスクリーン１３０の、ユーザから見て手前側となる辺から画面の中央部へ向かう一定領域にゲームキャラクタを表示させて、サーブ動作をゲームキャラクタに行わせるための入力操作をユーザから受け付ける。これにより、サーブ動作をするための入力操作時には、ゲームキャラクタがタッチスクリーン１３０の手前側の辺に沿って比較的大きく表示されるため、ユーザに対し、サーブ動作を容易に行わせることができる。また、ユーザが操作する対象のゲームキャラクタが、タッチスクリーン１３０の手前側に比較的大きく表示されることで、迫力ある画面をユーザに提供することができる。
【０１１５】
カメラ配置制御部１９４は、第１の動作に後続する第２の動作をゲームキャラクタに行わせるための入力操作をタッチスクリーン１３０により受け付けて、受け付けた入力操作に応じて、ゲームキャラクタをタッチスクリーン１３０に表示させるよう仮想カメラを移動させる。
【０１１６】
図５の画面例（Ｄ）に示すように、テニスゲームであれば、サーブ動作（第１の動作）に後続する第２の動作をゲームキャラクタに行わせるための入力操作として、ゲームキャラクタを移動させる操作、ボールに対してゲームキャラクタに打球させる操作その他の入力操作がある。このとき、制御部１９０は、タッチスクリーン１３０の手前側の辺から中央部へ向かう一定領域１３９を空けて自キャラクタ１３４をディスプレイ１３２に表示させるため、ユーザは、タッチスクリーン１３０に対する入力操作を行うための領域が一定領域１３９に確保された状態で、自キャラクタ１３４を視認しながら容易にタッチスクリーン１３０への入力操作を行うことができる。
【０１１７】
＜実施の形態１の変形例＞
実施の形態１では、ゲームプログラムがスポーツゲームである場合として、特に、テニスゲームの例について説明したが、ゲームのジャンルはテニスゲームに限られない。カメラ配置制御部１９４は、ゲームプログラム１５１がサッカーゲームであれば、第１の動作として、ゲームキャラクタにキックオフやスローインなど、試合の開始または再開の契機となる動作を行わせる場合に、予め定められた範囲に仮想カメラを配置する。
【０１１８】
そして、ゲームキャラクタが、試合の開始または再開の契機となる動作を行うと、ゲームキャラクタが移動しつつ、対戦しているチーム間でサッカーボールを獲り合う展開となる。カメラ配置制御部１９４は、第２の動作として、ゲームキャラクタを移動させる入力操作を受け付ける場合に、一定領域１３９を空けて自キャラクタ１３４をタッチスクリーン１３０に表示することとしてもよい。
【０１１９】
また、図５の例において、ゲームキャラクタに第１の動作および第２の動作を行わせる一連の処理において、カメラ配置制御部１９４は、仮想カメラを、テニスコートが配置される平面（ゲームキャラクタが移動可能な平面）に対する仮想カメラの撮影軸が一定の角度をなすよう、撮影軸を平行にして移動させる。こうすることで、ゲームキャラクタを表示するためのカメラアングルが一定程度に維持されるため、ゲームキャラクタを移動させるためのドラッグ操作により示す移動方向と、仮想カメラから見た仮想空間においてゲームキャラクタが移動する方向とを一致させることができ、ユーザの操作性をいっそう容易にすることができる。
【０１２０】
＜実施の形態２＞
図８および図９を参照して、実施の形態２のカメラ配置制御部１９４の処理を説明する。
【０１２１】
図８は、実施の形態２のカメラ配置制御部１９４が、ゲームキャラクタの位置に応じてカメラワークを決定する処理を示す図である。
【０１２２】
図８の状態（Ａ）は、カメラ配置制御部１９４が、タッチスクリーン１３０の手前側の一定領域１３９を空けて自キャラクタ１３４を表示するよう仮想カメラを配置している状態を示す。
【０１２３】
図８の状態（Ｂ）は、カメラ配置制御部１９４が、ユーザから自キャラクタ１３４をコート内に前進させる入力操作を受け付けて、一定領域１３９を空けて自キャラクタ１３４を表示することを維持したまま、仮想カメラを移動させている状態を示す。カメラ配置制御部１９４は、状態（Ａ）から状態（Ｂ）まで、仮想カメラの撮影軸を平行に移動させることとする。
【０１２４】
図８の状態（Ｃ）は、カメラ配置制御部１９４が、ユーザから、自キャラクタ１３４を、コートから大きく外れて後退させる入力操作を受け付けて、一定領域１３９に自キャラクタ１３４を表示するよう仮想カメラを移動させている状態を示す。
【０１２５】
このように、一定領域１３９に自キャラクタ１３４が移動してくると、タッチスクリーン１３０においてユーザが入力操作を行いやすい領域に自キャラクタ１３４が移動してくることとなる。そのため、ユーザは、自キャラクタ１３４を視認することが、状態（Ａ）と比較して困難になる。自キャラクタ１３４がコートから大きく外れて移動する場合、相手側キャラクタ１３６が打ち返す打球対象オブジェクト１３８を、自キャラクタ１３４がさらに打ち返すことが困難になると想定される。すなわち、コートから大きく外れて自キャラクタ１３４が位置していると、自キャラクタ１３４が打球対象オブジェクト１３８を打ち返すことができる可能性が低くなり、ユーザにとって不利な状態となる。
【０１２６】
そこで、状態（Ｃ）に示すように、カメラ配置制御部１９４が、一定領域１３９に自キャラクタ１３４を表示するよう仮想カメラを配置することで、ユーザに対し、自キャラクタ１３４の移動方向がユーザにとって不利な状態になることをユーザに示唆する。
【０１２７】
図８の状態（Ｄ）は、カメラ配置制御部１９４が、自キャラクタ１３４の移動に沿って、一定領域１３９を空けて自キャラクタ１３４をタッチスクリーン１３０に表示させるよう仮想カメラを平行に移動させるか、一定領域１３９にかかわらず自キャラクタ１３４を移動させるかを判定するための、移動範囲１４１を示す図である。
【０１２８】
このように、自キャラクタ１３４が、移動範囲１４１に示される範囲内を移動する場合、カメラ配置制御部１９４は、図８の状態（Ｂ）に示すように一定領域１３９を空けて自キャラクタ１３４をタッチスクリーン１３０に表示させるよう仮想カメラの配置を決定する。また、自キャラクタ１３４が、移動範囲１４１の外部に示される範囲を移動する場合、カメラ配置制御部１９４は、一定領域１３９に自キャラクタ１３４を侵入させるよう仮想カメラの配置を決定する。
【０１２９】
図９は、実施の形態２の制御部１９０がゲームプログラム１５１を実行することにより、カメラ配置制御部１９４により決定されるカメラワークに従って、スポーツゲームの試合を進行させる処理を示すフローチャートである。
【０１３０】
ステップＳ９０１において、制御部１９０は、ユーザが操作する自キャラクタ１３４が、仮想空間のどの座標に位置しているかの座標を取得する。仮想空間（ｘｙｚ軸）において、テニスコートをｘｙ平面に沿って配置する場合、制御部１９０は、自キャラクタ１３４のｘｙ平面における座標を取得する。
【０１３１】
ステップＳ９０３において、制御部１９０は、ステップＳ９０１で取得した自キャラクタ１３４の座標と、予め定められた移動範囲１４１とを比較して、自キャラクタ１３４の位置が、移動範囲１４１の範囲内にあるか否かを判定する。自キャラクタ１３４の位置が、移動範囲１４１の範囲内にある場合（ステップＳ９０３においてＹＥＳ）、制御部１９０は、ステップＳ９０５の処理を行い、そうでない場合（ステップＳ９０３においてＮＯ）、ステップＳ９０７の処理を行う。
【０１３２】
ステップＳ９０５において、制御部１９０は、ゲームの進行に応じて、自キャラクタ１３４と、相手側キャラクタ１３６と、自キャラクタ１３４と相手側キャラクタ１３６との間でラリーの対象となる打球対象オブジェクト１３８とを一画面に収めるよう、仮想カメラを、撮影軸の方向に平行に移動させるよう仮想カメラの位置を決定する。
【０１３３】
ステップＳ９０７において、制御部１９０は、ゲームの進行に応じて、自キャラクタ１３４と、相手側キャラクタ１３６と、打球対象オブジェクト１３８とを一画面に収め、タッチスクリーン１３０の一定領域１３９においても自キャラクタ１３４を表示させるよう仮想カメラの位置を決定する。例えば、自キャラクタ１３４の位置が、移動範囲１４１の範囲外に位置した場合に、仮想カメラの位置を、自キャラクタ１３４と相手側キャラクタ１３６との間で打球をラリーさせる方向（図８のタッチスクリーン１３０の上下方向）については移動させないこととしてもよい。
【０１３４】
ステップＳ９０９において、制御部１９０は、決定された仮想カメラの位置に従って、仮想カメラの撮影画像をタッチスクリーン１３０に表示させる。
【０１３５】
制御部１９０は、例えば、自キャラクタ１３４がサーブ動作を行った後に、図９に示す処理を、一定フレームごと（例えば、毎フレーム）に行う。また、相手側キャラクタ１３６がサーブ動作を行う場合、制御部１９０は、図９に示す処理を一定フレームごとに行う。
【０１３６】
＜実施の形態２のまとめ＞
カメラ配置制御部１９４は、制御部１９０がゲームプログラム１５１を実行することで生成される仮想空間においてゲームキャラクタが移動可能な範囲のうち、予め定められた一定範囲内で移動する場合はタッチスクリーン１３０の少なくとも１つの辺から中央部に向かう一定領域を空けてゲームキャラクタを表示させるよう仮想カメラを移動させ、ゲームキャラクタが一定範囲外を移動する場合は、タッチスクリーン１３０の少なくとも１つの辺から中央部に向かう一定領域においてもゲームキャラクタをタッチスクリーン１３０に表示させるよう仮想カメラの移動を制御する。
【０１３７】
テニスゲームを例にすると、カメラ配置制御部１９４は、ゲームキャラクタが、コート内およびコート周辺の一定範囲を移動する場合は、タッチスクリーン１３０の手前側の辺から中央部に向かう一定領域を空けてゲームキャラクタを表示させるよう仮想カメラを移動させる。
【０１３８】
また、カメラ配置制御部１９４は、ゲームキャラクタが、コートを大きく外れて移動する場合は（例えば、コートから大きく外れた位置にゲームキャラクタがいる場合、対戦相手から打ち返される打球を対戦相手に対して再び打球するには不向きな位置にゲームキャラクタがいると考えられる）、手前側の辺から中央部へ向かう一定領域を空けず、一定領域においてもゲームキャラクタを移動させるよう仮想カメラを移動させる。
【０１３９】
こうすることで、ゲームキャラクタが、対戦相手とラリーをするのに適した位置にいる場合は、タッチスクリーン１３０の手前側の辺から中央部へ向かう一定領域を空けることで、ユーザに対し、タッチスクリーン１３０への入力操作を行うための領域がタッチスクリーン１３０の手前側に確保されることとなり、ゲームキャラクタを操作することを容易にすることができる。
【０１４０】
また、ゲームキャラクタが、対戦相手とラリーをするのに適していない位置にいる場合（コートから大きく外れて移動している場合）は、タッチスクリーン１３０の手前側の辺から中央部へ向かう一定領域であっても、ゲームキャラクタを、この一定領域に進ませるように移動させるよう仮想カメラの位置を決定する。
【０１４１】
これにより、例えば、コートを大きく外れてゲームキャラクタを移動させた場合に、タッチスクリーン１３０の手前側の領域にゲームキャラクタが移動してくることとなり、ユーザに対し、ゲームキャラクタの移動方向が、試合を進めるうえで適していないことを示唆することができ、ゲームの操作性を向上させることができる。
【０１４２】
＜実施の形態３＞
図１０及び図１１を参照して、実施の形態３のカメラ配置制御部１９４の動作を説明する。
【０１４３】
図１０は、実施の形態３のカメラ配置制御部１９４が、自キャラクタ１３４を移動させる方向および自キャラクタ１３４の打球動作に従って、仮想カメラを配置している処理を示す図である。
【０１４４】
図１０の状態（Ａ）に示すように、カメラ配置制御部１９４は、タッチスクリーン１３０において、打球対象オブジェクト１３８をラリーさせる方向（タッチスクリーン１３０の上下方向）とは異なる方向（タッチスクリーン１３０の左右方向）において、自キャラクタ１３４を表示することが可能な表示領域１３７を設定している。カメラ配置制御部１９４は、表示領域１３７内において、ユーザが自キャラクタ１３４を左右方向に移動させている場合は、左右方向についてのカメラワークが固定されるよう、仮想カメラの配置を制御する。
【０１４５】
図１０の状態（Ｂ）に示すように、カメラ配置制御部１９４は、表示領域１３７を超えて、ユーザが自キャラクタ１３４を左右方向に移動させようとすると、自キャラクタ１３４の左右方向の移動に伴って、仮想カメラを平行に移動させる。
【０１４６】
テニスゲームの場合、自キャラクタ１３４と相手側キャラクタ１３６との間でラリーを継続するため、ユーザは、自キャラクタ１３４を、タッチスクリーン１３０の上下方向（縦方向）のみならず左右方向（横方向）にも移動させて、打球対象オブジェクト１３８を打球させる動作を自キャラクタに行わせることとなる。そのため、自キャラクタ１３４の移動に伴って仮想カメラを平行に移動させる際、自キャラクタ１３４の左右方向の移動に連動して仮想カメラを平行に移動させればさせるほど、自キャラクタ１３４が左右方向への移動の切り返しを行うたびに、仮想カメラの撮影画像が左右に揺れやすくなることとなる。
【０１４７】
そこで、状態（Ａ）および状態（Ｂ）に示すように、自キャラクタ１３４を表示することが可能な表示領域１３７を、自キャラクタ１３４よりも大きく設定する。これにより、自キャラクタ１３４が頻繁に移動方向を切り替えて移動したとしても、自キャラクタ１３４の移動に比べて仮想カメラの移動の頻度を抑えることができ、仮想カメラの撮影画像の揺れをいっそう低減することができる。これにより、ユーザに対し、ゲームの操作性をいっそう向上させることができる。
【０１４８】
ここで、自キャラクタ１３４が打球対象オブジェクト１３８を打球することができる範囲が、自キャラクタ１３４の周囲に予め設定されていることとする。図１０の状態（Ｃ）に示すように、相手側キャラクタ１３６が打球対象オブジェクト１３８を打ち返し、自キャラクタ１３４が打球対象オブジェクト１３８を再度打ち返すことができるか否かの境界付近に打球対象オブジェクト１３８が位置しているとする。この状態で自キャラクタ１３４が打球対象オブジェクト１３８を打ち返すための入力操作をユーザから受け付けると、自キャラクタ１３４が、ユーザにとって不利な状態で打球対象オブジェクト１３８を打ち返すとする（例えば、自キャラクタ１３４が、右または左方向に姿勢を崩して打球する動作を行い、この間、ユーザが自キャラクタ１３４を移動させることができない状態とする。このように自キャラクタ１３４が姿勢を崩して打球する場合に、自キャラクタ１３４に設定されている体力値などのパラメータを、比較的大きく減少させることとしてもよい）。
【０１４９】
状態（Ｄ）に示すように、カメラ配置制御部１９４は、自キャラクタ１３４が姿勢を崩して打球をする動作を行わせつつ、自キャラクタ１３４の動作にあわせて仮想カメラを移動させる。このように、カメラ配置制御部１９４は、ユーザから打球対象オブジェクト１３８を打ち返すための入力操作を受け付けた後において、自キャラクタ１３４が打球対象オブジェクト１３８を打ち返すことが可能な範囲に打球対象オブジェクト１３８があるか否かを判定する。
【０１５０】
カメラ配置制御部１９４は、当該範囲内で打球対象オブジェクト１３８を打ち返す場合は、自キャラクタ１３４に、仮想カメラを移動させず打球動作を行わせ、当該範囲の境界付近で打球対象オブジェクト１３８を打ち返す場合に、自キャラクタ１３４が姿勢を崩して移動させつつ打球動作を行わせ、自キャラクタ１３４の移動にあわせて仮想カメラを平行に移動させる。こうすることで、自キャラクタ１３４が打球対象オブジェクト１３８を打ち返すための自キャラクタ１３４と打球対象オブジェクト１３８との位置関係がユーザにとって有利か否かをユーザに示唆することができ、ゲームの操作性をいっそう向上させることができる。
【０１５１】
図１１は、自キャラクタ１３４が打球対象オブジェクト１３８を打球することが可能な範囲の設定を示す図である。
【０１５２】
図１１の状態（Ａ）は、制御部１９０が、自キャラクタ１３４が打球対象オブジェクト１３８を打球可能な範囲の目安をユーザに視認させるための範囲画像１４７をタッチスクリーン１３０に表示させた例である。
【０１５３】
図１１の状態（Ｂ）は、自キャラクタ１３４が打球対象オブジェクト１３８を打球することが可能な範囲を示す打球可能範囲１４９を示す図である。状態（Ｂ）に示すように、自キャラクタ１３４の周囲に描画される範囲画像１４７の範囲内において、打球対象オブジェクト１３８を打球するのに好適な打球範囲１４８Ｒおよび打球範囲１４８Ｌが設定されている。
【０１５４】
制御部１９０は、ユーザが打球対象オブジェクト１３８を打球するための入力操作を行った際に、打球対象オブジェクト１３８が打球可能範囲１４９の範囲内にあるか否かを判定する。打球対象オブジェクト１３８が打球可能範囲１４９の範囲内にあり、範囲画像１４７の範囲外にある場合は、自キャラクタ１３４に姿勢を崩して移動させつつ打球動作を行わせる（図１０の状態（Ｄ））。制御部１９０は、打球対象オブジェクトが、打球範囲１４８Ｒまたは打球範囲１４８Ｌにあると判定した場合は、通常の打球よりも強力な打球を打ち返すようタッチスクリーン１３０に打球対象オブジェクト１３８を表示する。
【０１５５】
＜実施の形態３のまとめ＞
カメラ配置制御部１９４は、ゲームキャラクタの移動方向を指定する入力操作を受け付けて、入力操作を受け付けたゲームキャラクタの移動方向に従って仮想カメラを移動させ、タッチスクリーン１３０においてゲームキャラクタを表示可能な領域にゲームキャラクタを表示させる。
【０１５６】
ここで、ゲームキャラクタを移動可能な方向のうち、タッチスクリーン１３０の少なくとも１つの辺から中央部へ向かう一定領域への移動方向とは異なる方向については、この一定領域への移動方向と比較して、タッチスクリーン１３０においてゲームキャラクタを表示可能な領域が広く設定されている。
【０１５７】
カメラ配置制御部１９４は、このゲームキャラクタを表示可能な領域を超える方向にゲームキャラクタを移動させる場合に、ゲームキャラクタの移動方向に従って仮想カメラを移動させる。テニスゲームの例では、タッチスクリーン１３０の手前側の辺から中央部へ向かう一定領域を空けてゲームキャラクタを表示するときに、一定領域への移動方向（タッチスクリーン１３０の手前側の辺への移動）と比較して、一定領域への移動方向とは異なる方向（左右方向への移動）については、タッチスクリーン１３０においてゲームキャラクタを表示可能な領域が広く設定されている。
【０１５８】
すなわち、ゲームキャラクタを縦方向に移動させる場合には、仮想カメラがゲームキャラクタの移動に追随してタッチスクリーン１３０の縦方向に移動しうるのに対し、ゲームキャラクタを左右方向に移動させる場合は、縦方向への仮想カメラの移動と比べてマージンを設け、ゲームキャラクタが右への移動から左への移動へと切り返しを行ったとしても、直ちに仮想カメラを追随させないようにすることができる。こうすることで、試合中の画面が、ゲームキャラクタの移動にあわせて左右方向に揺れる頻度を減少させることができ、ゲームのプレイをいっそう快適にすることができる。
【０１５９】
カメラ配置制御部１９４は、ゲームキャラクタを、ゲームキャラクタに対する入力操作に応じて移動させる第１の状態から、ゲームキャラクタの移動を伴う予め定められた動作をゲームキャラクタに行わせる第２の状態に推移した場合に、タッチスクリーン１３０においてゲームキャラクタを表示可能な領域にかかわらず第２の状態に対応したゲームキャラクタの動作に従って仮想カメラを移動させる。
【０１６０】
例えば、テニスゲームの場合に、ゲームキャラクタが、対戦相手の打球を打ち返すことが可能な範囲が設定されている場合に、打球を打ち返せるか否かの境界付近で打ち返したときにゲームキャラクタの姿勢を崩すような演出（第２の状態）をするものとする。
【０１６１】
この場合は、カメラ配置制御部１９４は、ゲームキャラクタをタッチスクリーン１３０において表示可能な領域であるか否かにかかわらず、ゲームキャラクタの姿勢を崩す演出にあわせて仮想カメラを移動させる。
【０１６２】
これにより、ユーザに対し、ゲームキャラクタが、姿勢を崩して不利な状態であることを示唆することができ、ゲームを有利に進めるための操作（対戦相手からの打球を打ち返すのに好ましい位置へとゲームキャラクタを移動させる操作）を示唆してゲームの興趣性をいっそう向上させることができる。
【０１６３】
＜実施の形態４＞
図１２を参照して、実施の形態４の携帯端末１０がゲームプログラム１５１を実行する処理を説明する。
【０１６４】
図１２は、実施の形態４の制御部１９０が、移動操作検出部１９３の検出結果に基づき、ゲームキャラクタを移動させる方向に応じたオブジェクトをディスプレイ１３２に表示させる処理を示す図である。
【０１６５】
図１２の状態（Ａ）は、カメラ配置制御部１９４が、ユーザから自キャラクタ１３４を移動させるための入力操作を受け付ける局面を示す。状態（Ａ）に示すユーザの指の押下位置３０Ｅから、点線で示す方向へユーザがドラッグ操作を行うものとする。
【０１６６】
図１２の状態（Ｂ）は、ユーザがドラッグ操作を行って、自キャラクタ１３４を移動させる方向を入力している局面を示す。状態（Ｂ）に示すように、ユーザの指が、押下位置３０Ｅから押下位置３０Ｆまで移動している。これにより、移動操作検出部１９３は、タッチスクリーン１３０の押下位置３０Ｆの座標と、押下位置３０Ｅの座標とに基づいて、ユーザがゲームキャラクタを移動させる方向を指定する入力操作を検出する。
【０１６７】
制御部１９０は、移動操作検出部１９３の検出結果に基づき、押下位置３０Ｅの座標を起点として、押下位置３０Ｅから押下位置３０Ｆへの線分上の任意の点を終点として、自キャラクタ１３４の移動方向を示す矢印状のオブジェクトである矢印オブジェクト１８６をタッチスクリーン１３０に表示させる。制御部１９０は、ドラッグ操作が行われている間、自キャラクタ１３４を移動させる方向を指定する入力操作を検出して、移動させる方向に応じたオブジェクトをタッチスクリーン１３０に表示させる。
【０１６８】
図１２の状態（Ｃ）は、ユーザがゲームキャラクタを移動させる方向を示すオブジェクトが、弾性状のオブジェクトである弾性オブジェクト１８７をタッチスクリーン１３０に表示させる局面を示す。弾性オブジェクト１８７は、押下位置３０Ｅの座標を起点として、押下位置３０Ｅから押下位置３０Ｆへの線分上の任意の点を終点とするオブジェクトである。
【０１６９】
このように、制御部１９０は、タッチスクリーン１３０に対するユーザの入力操作を受け付けつつ、矢印オブジェクト１８６をユーザに視認させるようタッチスクリーン１３０の表示内容を制御する。こうすることで、制御部１９０は、自キャラクタ１３４を移動させる方向をユーザに認識させつつ、ユーザが自キャラクタ１３４を移動させるための入力操作を受け付けることができる。
【０１７０】
＜実施の形態５＞
図５に示すように、上記の各実施形態の説明では、ゲームプログラム１５１は、ゲームキャラクタ（自キャラクタ１３４）に第１の動作を行わせる画面表示をして、一定領域１３９を空けてゲームキャラクタをタッチスクリーン１３０に表示させるよう、カメラ配置制御部１９４によりカメラワークを制御する。
【０１７１】
これに対し、実施の形態５のゲームプログラム１５１は、ゲームキャラクタを操作するために受け付ける入力操作の種類に応じて、カメラ配置制御部１９４がカメラワークを制御する。
【０１７２】
図５の画面例（Ｂ）および図５の画面例（Ｃ）に示すように、ゲームプログラム１５１は、タップ操作により自キャラクタ１３４にサーブ動作を行わせる。制御部１９０は、自キャラクタ１３４にサーブ動作を行わせる場合、タッチスクリーン１３０の縦方向への自キャラクタ１３４の移動を規制し、タップ操作を受け付ける。図５の画面例（Ｄ）に示すように、ゲームプログラム１５１は、自キャラクタ１３４がサーブ動作を行った後、自キャラクタ１３４の移動方向の入力を、ドラッグ操作によってユーザから受け付ける。
【０１７３】
このように、実施の形態５のゲームプログラム１５１は、自キャラクタ１３４の移動方向の入力を、上下左右について規制なくユーザからドラッグ操作により受け付ける場合は、一定領域１３９を空けて自キャラクタ１３４を配置するよう仮想カメラのカメラワークを制御する。
【０１７４】
ユーザが上下左右の方向に規制なくドラッグ操作を行うことが必要である場合（ゲームプログラム１５１が上下左右の方向に規制なくドラッグ操作によってゲームキャラクタの移動方向の入力を受け付ける場合）、ユーザは、タッチスクリーン１３０の手前側の領域を空けて自キャラクタ１３４が表示されている方が、そうでない場合と比較して、タッチスクリーン１３０に対する入力操作を容易に行うことができる。これにより、ゲームの操作性をいっそう向上させることができる。
【０１７５】
＜変形例＞
以上のように各実施形態のゲーム配信システムを構成する携帯端末１０およびサーバ２０の動作について説明してきたが、携帯端末１０で行われる各処理をサーバ２０で行うこととしてもよいし、サーバ２０で行われる処理を携帯端末１０で行うこととしてもよい。
【０１７６】
例えば、携帯端末１０は、タッチスクリーン１３０に対するユーザの入力操作を受け付けて、受け付けた操作内容をサーバ２０へ送信する。サーバ２０は、ユーザの入力操作を携帯端末１０から受け付けて、ゲームを進行させるための各処理を行い、仮想カメラの配置に基づいて携帯端末１０に表示させるための表示画面を生成し、生成した表示画面を、逐次、携帯端末１０に表示する。このように、ゲームを進行させるための処理の大部分をサーバ２０が担うこととしてもよい。また、ゲームを進行させるための処理の大部分を携帯端末１０が担うこととしてもよい。
【０１７７】
今回開示された実施の形態はすべての点で例示であって制限的なものでないと考えられるべきである。この発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【０１７８】
１０  携帯端末、２０  サーバ、２２  通信ＩＦ、２３  入出力ＩＦ、２５  メモリ、２６  ストレージ、２９  プロセッサ、８０  ネットワーク、８１  無線基地局、８２  無線ルータ、１１０  アンテナ、１２０  無線通信ＩＦ、１３０  タッチスクリーン、１３１  タッチパネル、１３２  ディスプレイ、１３４  自キャラクタ、１３６  相手側キャラクタ、１３８  打球対象オブジェクト、１５０  記憶部、１５１  ゲームプログラム、１５３  バッファメモリ、１５５  初期タッチ位置座標、１６０  音声処理部、１７０  マイク、１８０  スピーカ、１９０  制御部、１９１  入力操作受付部、１９２  ゲーム進行処理部、１９３  移動操作検出部、１９４  カメラ配置制御部、１９５  オブジェクト制御部、１９６  表示制御部、２２０  通信部、２５０  記憶部、２５１  ゲームプログラム、２５２  ゲーム情報、２５３  ユーザ情報、２９０  制御部、２９１  送受信部、２９２  サーバ処理部、２９３  データ管理部、２９４  マッチング部、２９５  計測部。
【要約】
【課題】タッチスクリーンを備える情報処理装置において、仮想空間内の仮想カメラの配置に応じた画面を表示させるゲームに対する興趣性をいっそう向上させる。
【解決手段】ゲームプログラムが情報処理装置に実行されることにより、ゲームプログラムは、情報処理装置に、タッチスクリーンへの第１のタッチ位置と、第１のタッチ位置からドラッグ操作でタッチ位置を移動させた第２のタッチ位置との位置関係に基づいてゲームキャラクタを仮想空間において移動させる方向を検出させる。ゲームプログラムは、情報処理装置に、タッチスクリーンの少なくとも１つの辺から中央部に向かう一定領域を空けてゲームキャラクタを表示させ、第１のタッチ位置と第２のタッチ位置との位置関係に基づいて決定される移動方向に従ってゲームキャラクタを移動させ、ゲームキャラクタの移動方向に従って仮想カメラを平行に位置１４３から位置１４５まで移動させる。
【選択図】図７【図１】
0006002345.tif 000002
【図２】
0006002345.tif 000003
【図３】
0006002345.tif 000004
【図４】
0006002345.tif 000005
【図５】
0006002345.tif 000006
【図６】
0006002345.tif 000007
【図７】
0006002345.tif 000008
【図８】
0006002345.tif 000009
【図９】
0006002345.tif 000010
【図１０】
0006002345.tif 000011
【図１１】
0006002345.tif 000012
【図１２】
0006002345.tif 000013