(57)【要約】【課題】ゲームを視聴する視聴者にとってより見やすい画像を提供するとともに自由度の高い視聴を行うことが可能な情報処理プログラムを提供する。【解決手段】仮想空間には、多人数ゲームの各プレイヤに追従するプレイヤカメラと、仮想空間を鳥瞰する鳥瞰カメラと、所定のオブジェクトに追従するオブジェクトカメラとが設定される。観戦者は、プレイヤカメラ、鳥瞰カメラ、オブジェクトカメラを切り替えてゲームを観戦する。鳥瞰カメラは観戦者の操作に応じて仮想空間を移動し、位置に応じて高さが予め定められている。観戦者により仮想カメラが切り替えられる際には、切替中の仮想カメラからのゲーム画像が表示される。【選択図】図４
2018191769.tif 000002
【特許請求の範囲】
【請求項１】
情報処理装置のコンピュータで実行される情報処理プログラムであって、前記コンピュータに、
多人数ゲームを実行中の他の情報処理装置に対する他のプレイヤによる操作に基づいて生成されるプレイデータを取得するプレイデータ取得ステップと、
前記多人数ゲームが行われる仮想空間内において、取得された前記プレイデータに基づいて、前記他のプレイヤが操作するプレイヤキャラクタを含む少なくとも１つのオブジェクトの位置を更新するオブジェクト制御ステップと、
操作者の指示に基づいて、前記仮想空間内の仮想カメラに関するモードを第１のモードと第２のモードとに切り替えるモード切替ステップと、
前記第１のモードにおいて、前記操作者の移動操作に基づいて、前記仮想カメラの高さが、当該移動操作に基づいて指定される位置に応じて予め設定された高さとなるように、前記仮想カメラを移動させる第１カメラ制御ステップと、
前記第２のモードにおいて、前記取得されたプレイデータに基づいて、前記仮想カメラを、指定されたオブジェクトに追従して移動させる第２カメラ制御ステップと、
前記モード切替ステップにおいてモードが切り替えられたときに、切替前のモードにおける仮想カメラの位置から切替後のモードにおける仮想カメラの位置まで前記仮想カメラを移動させると共に、当該移動中の前記仮想カメラの向きを算出して更新する切替中カメラ制御ステップと、
前記仮想カメラに基づいて前記仮想空間のゲーム画像を生成するゲーム画像生成ステップと、を実行させる、情報処理プログラム。
【請求項２】
前記指定されたオブジェクトは、前記他のプレイヤが操作するプレイヤキャラクタである、請求項１に記載の情報処理プログラム。
【請求項３】
前記仮想空間には、少なくとも１つの面を有する高さマップが設定され、
前記コンピュータに、前記第１カメラ制御ステップにおいて、
前記移動操作に基づいて、前記高さマップの面上において前記仮想カメラの注視点または視点を移動させる、請求項１又は２に記載の情報処理プログラム。
【請求項４】
前記コンピュータに、前記第１カメラ制御ステップにおいて、
前記移動操作に基づいて、前記高さマップの面上において前記仮想カメラの注視点を移動させ、当該注視点から所定方向に所定距離だけ離れた位置を前記仮想カメラの視点として決定させる、請求項３に記載の情報処理プログラム。
【請求項５】
前記コンピュータに、
前記操作者の操作に基づいて、前記決定された前記仮想カメラの視点において前記仮想カメラの姿勢を変化させる姿勢制御ステップをさらに実行させる、請求項４に記載の情報処理プログラム。
【請求項６】
前記モード切替ステップにおいて、前記操作者の指示に基づいて、前記仮想カメラのモードをさらに第３のモードに切り替え、
前記コンピュータに、
前記第３のモードにおいて、前記仮想カメラを、前記プレイヤキャラクタ以外の所定のオブジェクトに追従して移動させる第３カメラ制御ステップをさらに実行させる、請求項１から５のいずれかに記載の情報処理プログラム。
【請求項７】
前記モード切替ステップにおいて、前記操作者の指示に基づいて、前記仮想カメラのモードをさらに第４のモードに切り替え、
前記コンピュータに、
前記第４のモードの場合に、前記仮想カメラを前記仮想空間における所定の位置に設定する第４カメラ設定ステップをさらに実行させる、請求項１から６のいずれかに記載の情報処理プログラム。
【請求項８】
前記他の情報処理装置において、前記他のプレイヤによる操作に基づいて、当該プレイヤに対応するプレイヤキャラクタと、当該プレイヤキャラクタに対応する仮想カメラの位置および向きとが制御されるとともに、当該仮想カメラに基づくゲーム画像が生成され、
前記コンピュータに、前記第２カメラ制御ステップにおいて、
前記プレイデータに基づいて、前記指定されたプレイヤキャラクタが操作される前記他の情報処理装置において制御される仮想カメラと同じ位置および向きとなるように、前記仮想カメラを制御させる、請求項２に記載の情報処理プログラム。
【請求項９】
前記プレイデータ取得ステップで取得されるプレイデータには、前記プレイヤキャラクタの位置と、前記プレイヤキャラクタに対応する前記仮想カメラの向きとが少なくとも含まれる、請求項１から８の何れかに記載の情報処理プログラム。
【請求項１０】
前記多人数ゲームは、前記プレイヤの指示に基づいて前記プレイヤキャラクタに対応する仮想カメラの向きに応じた方向に射撃を行うゲームである、請求項１から９の何れかに記載の情報処理プログラム。
【請求項１１】
複数の情報処理装置を含み、多人数ゲームを実行する情報処理システムであって、
前記複数の情報処理装置のうちの第１の情報処理装置に対するプレイヤによる操作に基づいてプレイデータを生成するプレイデータ生成部と、
前記多人数ゲームが行われる仮想空間内において、前記プレイデータに基づいて、前記プレイヤが操作するプレイヤキャラクタを含む少なくとも１つのオブジェクトの位置を更新するオブジェクト制御部と、
前記プレイデータに基づいて前記仮想空間内の第１の仮想カメラを制御するとともに、前記第１の仮想カメラに基づいて前記仮想空間のゲーム画像を生成し、当該生成したゲーム画像を前記第１の情報処理装置の表示装置に表示させる第１表示制御部と、
前記複数の情報処理装置のうちの第２の情報処理装置の操作者の指示に基づいて、前記仮想空間内の第２の仮想カメラに関するモードを第１のモードと第２のモードとに切り替えるモード切替部と、
前記第１のモードにおいて、前記第２の情報処理装置の操作者の移動操作に基づいて、前記第２の仮想カメラの高さが、当該移動操作に基づいて指定される位置に応じて予め設定された高さとなるように、前記第２の仮想カメラを移動させる第１カメラ制御部と、
前記第２のモードにおいて、前記プレイデータに基づいて、前記第２の仮想カメラを、指定されたオブジェクトに追従して移動させる第２カメラ制御部と、
前記モード切替部によってモードが切り替えられたときに、切替前のモードにおける第２の仮想カメラの位置から切替後のモードにおける第２の仮想カメラの位置まで前記第２の仮想カメラを移動させると共に、当該移動中の前記第２の仮想カメラの向きを算出して更新する切替中カメラ制御部と、
前記第２の仮想カメラに基づく前記仮想空間のゲーム画像を生成し、当該生成したゲーム画像を前記第２の情報処理装置の表示装置に表示させる第２表示制御部と、を備える、情報処理システム。
【請求項１２】
前記指定されたオブジェクトは、前記第１の情報処理装置のプレイヤが操作するプレイヤキャラクタである、請求項１１に記載の情報処理システム。
【請求項１３】
前記仮想空間には、少なくとも１つの面を有する高さマップが設定され、
前記第１カメラ制御部は、
前記移動操作に基づいて、前記高さマップの面上において前記第２の仮想カメラの注視点または視点を移動させる、請求項１１又は１２に記載の情報処理システム。
【請求項１４】
前記第１カメラ制御部は、
前記移動操作に基づいて、前記高さマップの面上において前記第２の仮想カメラの注視点を移動させ、当該注視点から所定方向に所定距離だけ離れた位置を前記第２の仮想カメラの視点として決定する、請求項１３に記載の情報処理システム。
【請求項１５】
前記操作者の操作に基づいて、前記決定された前記第２の仮想カメラの視点において前記第２の仮想カメラの姿勢を変化させる姿勢制御部をさらに備える、請求項１４に記載の情報処理システム。
【請求項１６】
前記モード切替部は、前記操作者の指示に基づいて、前記第２の仮想カメラのモードをさらに第３のモードに切り替え、
前記第３のモードにおいて、前記第２の仮想カメラを、前記プレイヤキャラクタ以外の所定のオブジェクトに追従して移動させる第３カメラ制御部をさらに備える、請求項１１から１５のいずれかに記載の情報処理システム。
【請求項１７】
前記モード切替部は、前記操作者の指示に基づいて、前記第２の仮想カメラのモードをさらに第４のモードに切り替え、
前記第４のモードの場合に、前記第２の仮想カメラを前記仮想空間における所定の位置に設定する第４カメラ設定部をさらに備える、請求項１１から１６のいずれかに記載の情報処理システム。
【請求項１８】
前記第１表示制御部は、前記プレイデータに基づいて前記第１の仮想カメラの位置および向きを制御し、
前記第２カメラ制御部は、前記プレイデータに基づいて、前記第１の仮想カメラと同じ位置および向きとなるように、前記第２の仮想カメラを制御する、請求項１２に記載の情報処理プログラム。
【請求項１９】
前記プレイデータには、前記第１の情報処理装置のプレイヤによって操作される前記プレイヤキャラクタの位置と、前記第１の仮想カメラの向きとが少なくとも含まれる、請求項１１から１８の何れかに記載の情報処理システム。
【請求項２０】
前記多人数ゲームは、前記プレイヤの指示に基づいて前記第１の仮想カメラの向きに応じた方向に射撃を行うゲームである、請求項１１から１９の何れかに記載の情報処理システム。
【請求項２１】
情報処理を行う情報処理装置であって、
多人数ゲームを実行中の他の情報処理装置に対する他のプレイヤによる操作に基づいて生成されるプレイデータを取得するプレイデータ取得手段と、
前記多人数ゲームが行われる仮想空間内において、取得された前記プレイデータに基づいて、前記他のプレイヤが操作するプレイヤキャラクタを含む少なくとも１つのオブジェクトの位置を更新するオブジェクト制御手段と、
操作者の指示に基づいて、前記仮想空間内の仮想カメラに関するモードを第１のモードと第２のモードとに切り替えるモード切替手段と、
前記第１のモードにおいて、前記操作者の移動操作に基づいて、前記仮想カメラの高さが、当該移動操作に基づいて指定される位置に応じて予め設定された高さとなるように、前記仮想カメラを移動させる第１カメラ制御手段と、
前記第２のモードにおいて、前記取得されたプレイデータに基づいて、前記仮想カメラを、指定されたオブジェクトに追従して移動させる第２カメラ制御手段と、
前記モード切替手段によってモードが切り替えられたときに、切替前のモードにおける仮想カメラの位置から切替後のモードにおける仮想カメラの位置まで前記仮想カメラを移動させると共に、当該移動中の前記仮想カメラの向きを算出して更新する切替中カメラ制御手段と、
前記仮想カメラに基づいて前記仮想空間のゲーム画像を生成するゲーム画像生成手段と、を備える、情報処理装置。
【請求項２２】
前記指定されたオブジェクトは、前記他のプレイヤが操作するプレイヤキャラクタである、請求項２１に記載の情報処理装置。
【請求項２３】
前記仮想空間には、少なくとも１つの面を有する高さマップが設定され、
前記第１カメラ制御手段は、
前記移動操作に基づいて、前記高さマップの面上において前記仮想カメラの注視点または視点を移動させる、請求項２１又は２２に記載の情報処理装置。
【請求項２４】
前記第１カメラ制御手段は、
前記移動操作に基づいて、前記高さマップの面上において前記仮想カメラの注視点を移動させ、当該注視点から所定方向に所定距離だけ離れた位置を前記仮想カメラの視点として決定する、請求項２３に記載の情報処理装置。
【請求項２５】
前記操作者の操作に基づいて、前記決定された前記仮想カメラの視点において前記仮想カメラの姿勢を変化させる姿勢制御手段をさらに備える、請求項２４に記載の情報処理装置。
【請求項２６】
前記モード切替手段は、前記操作者の指示に基づいて、前記仮想カメラのモードをさらに第３のモードに切り替え、
前記第３のモードにおいて、前記仮想カメラを、前記プレイヤキャラクタ以外の所定のオブジェクトに追従して移動させる第３カメラ制御手段をさらに備える、請求項２１から２５のいずれかに記載の情報処理装置。
【請求項２７】
複数の情報処理装置を含み、多人数ゲームを実行する情報処理システムにおいて行われる情報処理方法であって、
前記複数の情報処理装置のうちの第１の情報処理装置に対するプレイヤによる操作に基づいてプレイデータを生成するプレイデータ生成ステップと、
前記多人数ゲームが行われる仮想空間内において、前記プレイデータに基づいて、前記プレイヤが操作するプレイヤキャラクタを含む少なくとも１つのオブジェクトの位置を更新するオブジェクト制御ステップと、
前記プレイデータに基づいて前記仮想空間内の第１の仮想カメラを制御するとともに、前記第１の仮想カメラに基づいて前記仮想空間のゲーム画像を生成し、当該生成したゲーム画像を前記第１の情報処理装置の表示装置に表示させる第１表示制御ステップと、
前記複数の情報処理装置のうちの第２の情報処理装置の操作者の指示に基づいて、前記仮想空間内の第２の仮想カメラに関するモードを第１のモードと第２のモードとに切り替えるモード切替ステップと、
前記第１のモードにおいて、前記第２の情報処理装置の操作者の移動操作に基づいて、前記第２の仮想カメラの高さが、当該移動操作に基づいて指定される位置に応じて予め設定された高さとなるように、前記第２の仮想カメラを移動させる第１カメラ制御ステップと、
前記第２のモードにおいて、前記プレイデータに基づいて、前記第２の仮想カメラを、指定されたオブジェクトに追従して移動させる第２カメラ制御ステップと、
前記モード切替ステップにおいてモードが切り替えられたときに、切替前のモードにおける第２の仮想カメラの位置から切替後のモードにおける第２の仮想カメラの位置まで前記第２の仮想カメラを移動させると共に、当該移動中の前記第２の仮想カメラの向きを算出して更新する切替中カメラ制御ステップと、
前記第２の仮想カメラに基づく前記仮想空間のゲーム画像を生成し、当該生成したゲーム画像を前記第２の情報処理装置の表示装置に表示させる第２表示制御ステップと、を含む、情報処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理プログラム、情報処理システム、情報処理装置、および、情報処理方法に関する。
【背景技術】
【０００２】
従来より、複数のプレイヤがネットワークを利用してオンラインゲームを実行するゲームシステムがある（例えば、特許文献１参照）。このようなゲームシステムでは、観戦者が、ゲームシステムに接続して複数のプレイヤによって実行されるオンラインゲームを観戦することができる。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１３−６３２９６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、従来のゲームシステムでは、ゲームを観戦する観戦者にとって見やすい画像を提供するという点においては改善の余地があった。
【０００５】
それ故、本発明の目的は、ゲームを視聴する視聴者にとってより見やすい画像を提供するとともに自由度の高い視聴を行うことが可能な情報処理プログラム、情報処理システム、情報処理装置および情報処理方法を提供することである。
【課題を解決するための手段】
【０００６】
上記の課題を解決すべく、本発明は、以下の構成を採用した。
【０００７】
本発明の一例に係る情報処理プログラムは、情報処理装置のコンピュータで実行される情報処理プログラムである。当該情報処理プログラムは、前記コンピュータに、プレイデータ取得ステップと、オブジェクト制御ステップと、モード切替ステップと、第１カメラ制御ステップと、第２カメラ制御ステップと、切替中カメラ制御ステップと、ゲーム画像生成ステップと、を実行させる。プレイデータ取得ステップでは、多人数ゲームを実行中の他の情報処理装置に対する他のプレイヤによる操作に基づいて生成されるプレイデータを取得する。オブジェクト制御ステップでは、前記多人数ゲームが行われる仮想空間内において、取得された前記プレイデータに基づいて、前記他のプレイヤが操作するプレイヤキャラクタを含む少なくとも１つのオブジェクトの位置を更新する。モード切替ステップでは、操作者の指示に基づいて、前記仮想空間内の仮想カメラに関するモードを第１のモードと第２のモードとに切り替える。第１カメラ制御ステップでは、前記第１のモードにおいて、前記操作者の移動操作に基づいて、前記仮想カメラの高さが、当該移動操作に基づいて指定される位置に応じて予め設定された高さとなるように、前記仮想カメラを移動させる。第２カメラ制御ステップでは、前記第２のモードにおいて、前記取得されたプレイデータに基づいて、前記仮想カメラを、指定されたオブジェクトに追従して移動させる。切替中カメラ制御ステップでは、前記モード切替ステップにおいてモードが切り替えられたときに、切替前のモードにおける仮想カメラの位置から切替後のモードにおける仮想カメラの位置まで前記仮想カメラを移動させると共に、当該移動中の前記仮想カメラの向きを算出して更新する。ゲーム画像生成ステップでは、前記仮想カメラに基づいて前記仮想空間のゲーム画像を生成する。
【０００８】
上記によれば、第１のモードでは仮想カメラが位置に応じて予め定められた高さに設定されるため、操作者は高さを調節する必要がなく、簡易な操作で操作者にとって適切なゲーム画像を生成することができる。また、仮想カメラのモードを切り替えたときには移動中の仮想カメラの向きが算出され、切替前の位置から切替後の位置に仮想カメラが移動する様子が表示される。このため、操作者は、仮想カメラを切り替える際に仮想空間におけるどの位置からどの位置に仮想カメラが移動するかを容易に把握することができる。
【０００９】
また、前記指定されたオブジェクトは、前記他のプレイヤが操作するプレイヤキャラクタであってもよい。
【００１０】
上記によれば、操作者の移動操作に基づいて仮想カメラを移動可能な第１のモードと、仮想カメラが他のプレイヤによって操作されるプレイヤキャラクタに追従する第２のモードとを切り替えることができる。
【００１１】
また、前記仮想空間には、少なくとも１つの面を有する高さマップが設定されてもよい。上記情報処理プログラムは、前記コンピュータに、前記第１カメラ制御ステップにおいて、前記移動操作に基づいて、前記高さマップの面上において前記仮想カメラの注視点または視点を移動させてもよい。
【００１２】
上記によれば、仮想空間に設定された高さマップに基づいて仮想カメラの注視点または視点を移動させることができる。例えば、高さマップが仮想空間内のオブジェクトよりも高い位置に設定されている場合は、第１のモードにおいて仮想カメラを移動させる過程で仮想カメラが仮想空間内のオブジェクトと接触することを防止することができる。
【００１３】
また、上記情報処理プログラムは、前記コンピュータに、前記第１カメラ制御ステップにおいて、前記移動操作に基づいて、前記高さマップの面上において前記仮想カメラの注視点を移動させ、当該注視点から所定方向に所定距離だけ離れた位置を前記仮想カメラの視点として決定させてもよい。
【００１４】
上記によれば、仮想カメラの注視点を高さマップ上で移動させることで、仮想カメラを移動させることができる。注視点を移動させるため、操作者が注目したいオブジェクトに合わせて仮想カメラを移動させ易くすることができる。
【００１５】
また、上記情報処理プログラムは、前記コンピュータに、前記操作者の操作に基づいて、前記決定された前記仮想カメラの視点において前記仮想カメラの姿勢を変化させる姿勢制御ステップをさらに実行させてもよい。
【００１６】
上記によれば、高さマップ上で注視点を移動させ、注視点を基準として視点を設定し、その注視点を基準として設定された視点において仮想カメラの姿勢（向き）を変化させることができる。
【００１７】
また、前記モード切替ステップにおいて、前記操作者の指示に基づいて、前記仮想カメラのモードをさらに第３のモードに切り替えてもよい。上記情報処理プログラムは、前記コンピュータに、前記第３のモードにおいて、前記仮想カメラを、前記プレイヤキャラクタ以外の所定のオブジェクトに追従して移動させる第３カメラ制御ステップをさらに実行させてもよい。
【００１８】
上記によれば、プレイヤキャラクタ以外の所定のオブジェクトに追従して仮想カメラを移動させることができ、所定のオブジェクトに注目することができる。これにより、操作者は、例えば、ゲームにおいて重要な所定のオブジェクトを常に見ることができる。
【００１９】
また、前記モード切替ステップにおいて、前記操作者の指示に基づいて、前記仮想カメラのモードをさらに第４のモードに切り替えてもよい。上記情報処理プログラムは、前記コンピュータに、前記第４のモードの場合に、前記仮想カメラを前記仮想空間における所定の位置に設定する第４カメラ設定ステップをさらに実行させてもよい。
【００２０】
上記によれば、さらに仮想カメラを仮想空間における所定の位置に設定することができる。例えば、操作者は、仮想カメラを仮想空間の広い範囲を見渡す位置に固定することができ、仮想空間の広い範囲を見ることができる。
【００２１】
また、前記他の情報処理装置において、前記他のプレイヤによる操作に基づいて、当該プレイヤに対応するプレイヤキャラクタと、当該プレイヤキャラクタに対応する仮想カメラの位置および向きとが制御されるとともに、当該仮想カメラに基づくゲーム画像が生成されてもよい。上記情報処理プログラムは、前記コンピュータに、前記第２カメラ制御ステップにおいて、前記プレイデータに基づいて、前記指定されたプレイヤキャラクタが操作される前記他の情報処理装置において制御される仮想カメラと同じ位置および向きとなるように、前記仮想カメラを制御させてもよい。
【００２２】
上記によれば、他の情報処理装置において他のプレイヤが見るゲーム画像を、情報処理装置の操作者が見ることができる。
【００２３】
また、前記プレイデータ取得ステップで取得されるプレイデータには、前記プレイヤキャラクタの位置と、前記プレイヤキャラクタに対応する前記仮想カメラの向きとが少なくとも含まれてもよい。
【００２４】
上記によれば、プレイデータとしてプレイヤキャラクタの位置と、仮想カメラの向きとを受信し、当該受信したプレイデータに基づいて、仮想カメラの向きを設定することができる。
【００２５】
また、前記多人数ゲームは、前記プレイヤの指示に基づいて前記プレイヤキャラクタに対応する仮想カメラの向きに応じた方向に射撃を行うゲームであってもよい。
【００２６】
上記によれば、仮想カメラの向きに応じた方向に射撃を行うゲームを実行することができ、当該ゲームを操作者が見ることができる。
【００２７】
また、本発明の別の一例は、複数の情報処理装置を含み、多人数ゲームを実行する情報処理システムである。当該情報処理システムは、プレイデータ生成部と、オブジェクト制御部と、第１表示制御部と、モード切替部と、第１カメラ制御部と、第２カメラ制御部と、切替中カメラ制御部と、第２表示制御部と、を備える。プレイデータ生成部は、前記複数の情報処理装置のうちの第１の情報処理装置に対するプレイヤによる操作に基づいてプレイデータを生成する。オブジェクト制御部は、前記多人数ゲームが行われる仮想空間内において、前記プレイデータに基づいて、前記プレイヤが操作するプレイヤキャラクタを含む少なくとも１つのオブジェクトの位置を更新する。第１表示制御部は、前記プレイデータに基づいて前記仮想空間内の第１の仮想カメラを制御するとともに、前記第１の仮想カメラに基づいて前記仮想空間のゲーム画像を生成し、当該生成したゲーム画像を前記第１の情報処理装置の表示装置に表示させる。モード切替部は、前記複数の情報処理装置のうちの第２の情報処理装置の操作者の指示に基づいて、前記仮想空間内の第２の仮想カメラに関するモードを第１のモードと第２のモードとに切り替える。第１カメラ制御部は、前記第１のモードにおいて、前記第２の情報処理装置の操作者の移動操作に基づいて、前記第２の仮想カメラの高さが、当該移動操作に基づいて指定される位置に応じて予め設定された高さとなるように、前記第２の仮想カメラを移動させる。第２カメラ制御部は、前記第２のモードにおいて、前記プレイデータに基づいて、前記第２の仮想カメラを、指定されたオブジェクトに追従して移動させる。切替中カメラ制御部は、前記モード切替部によってモードが切り替えられたときに、切替前のモードにおける第２の仮想カメラの位置から切替後のモードにおける第２の仮想カメラの位置まで前記第２の仮想カメラを移動させると共に、当該移動中の前記第２の仮想カメラの向きを算出して更新する。第２表示制御部は、前記第２の仮想カメラに基づく前記仮想空間のゲーム画像を生成し、当該生成したゲーム画像を前記第２の情報処理装置の表示装置に表示させる。
【００２８】
また、他の発明は、上記情報処理プログラムを実行する情報処理装置であってもよい。また、他の発明は、上記情報処理システムにおいて行われる情報処理方法であってもよい。
【発明の効果】
【００２９】
本発明によれば、仮想カメラが予め定められた高さに設定されるため、操作者は簡易な操作で適切な視点から仮想空間を見ることができる。
【図面の簡単な説明】
【００３０】
【図１】本実施形態のゲームシステムの概要を示す図
【図２】ゲーム装置１０の構成の一例を示す図
【図３】本実施形態の対戦ゲームが行われる仮想空間の一例を示す図
【図４】仮想空間に配置される仮想カメラの一例を示す図
【図５】ズームモードにおける鳥瞰カメラＣＢの移動を説明するための図
【図６】図５に示される矢印方向に注視点ＦＢが移動したときの鳥瞰カメラＣＢの位置を示す図
【図７】図６に示される矢印方向に注視点ＦＢがさらに移動したときの鳥瞰カメラＣＢの位置を示す図
【図８】ズームモードにおける鳥瞰カメラＣＢの回転を説明するための図
【図９】オブジェクトカメラＣＯの移動を示す図
【図１０】オブジェクトカメラＣＯの回転を示す図
【図１１】鳥瞰カメラＣＢの姿勢が変化されていない場合における鳥瞰カメラＣＢのカメラ座標系を示す図
【図１２Ａ】鳥瞰カメラＣＢまたはオブジェクトカメラＣＯの基準姿勢からの変化を示す図であり、ピッチ方向の回転を示す図
【図１２Ｂ】鳥瞰カメラＣＢまたはオブジェクトカメラＣＯの基準姿勢からの変化を示す図であり、ヨー方向の回転を示す図
【図１３】鳥瞰カメラＣＢからプレイヤカメラＣＰへの切り替えを示す図
【図１４】観戦者端末の表示装置の画面に表示される画像であって、プレイヤキャラクタＰｃに対応するプレイヤカメラＣＰｃに基づいて生成されるゲーム画像の一例を示す図
【図１５】観戦者端末の表示装置の画面に表示される画像であって、全体モードにおける鳥瞰カメラＣＢに基づいて生成されるゲーム画像の一例を示す図
【図１６】観戦者端末の表示装置の画面に表示される画像であって、ズームモードにおける鳥瞰カメラＣＢに基づいて生成されるゲーム画像の一例を示す図
【図１７】図１６の状態から鳥瞰カメラＣＢをプレイヤキャラクタＰｂの位置まで移動させたときのゲーム画像の一例を示す図
【図１８】図１６の状態から鳥瞰カメラＣＢを１８０度回転させたときのゲーム画像の一例を示す図
【図１９】図１６の状態からコントローラの姿勢を変化させたときのゲーム画像の一例を示す図
【図２０】観戦者端末の表示装置の画面に表示される画像であって、オブジェクトカメラＣＯに基づいて生成されるゲーム画像の一例を示す図
【図２１】図２０の状態からオブジェクトカメラＣＯを１８０度回転させたときの画像の一例を示す図
【図２２】観戦者のゲーム装置１０のメモリ１２に記憶されるデータの一例を示す図
【図２３】観戦者端末において行われる情報処理の詳細を示すフローチャート
【図２４】図２３のステップＳ１２のゲーム処理の詳細を示すフローチャート
【図２５】図２４のステップＳ２４のカメラパラメータ更新処理の詳細を示すフローチャート
【図２６】プレイヤ端末のメモリ１２に記憶されるデータの一例を示す図
【図２７】プレイヤ端末において行われる情報処理の詳細を示すフローチャート
【図２８】図２７のステップＳ５２のゲーム処理の詳細を示すフローチャート
【図２９】図２８のステップＳ６４のプレイヤカメラ制御処理の詳細を示すフローチャート
【発明を実施するための形態】
【００３１】
以下、本実施形態の一例に係る情報処理システムについて説明する。本実施形態における情報処理システム１の一例は、複数のゲーム装置（情報処理装置の一例）を含むゲームシステムである。図１は、本実施形態のゲームシステムの概要を示す図である。
【００３２】
図１に示されるように、複数のゲーム装置１０（１０ａ〜１０ｆ）はネットワークに接続されている。複数のゲーム装置１０は、例えばインターネットに接続され、複数のプレイヤが参加するネットワークゲームを実行可能である。例えば、複数のゲーム装置１０は、インターネット上のサーバと通信することで、対戦型のゲームを実行する。サーバは、１又は複数のサーバ装置により構成されてもよい。
【００３３】
図２は、ゲーム装置１０の構成の一例を示す図である。図２に示されるように、ゲーム装置１０は、本体部とコントローラとを含む。本体部は、プロセッサ１１と、メモリ１２と、記憶部１３と、通信部１４と、表示装置１５とを含む。プロセッサ１１は、メモリ１２、記憶部１３、通信部１４、表示装置１５に接続される。プロセッサ１１は、メモリ１２に一時的に記憶された情報処理プログラムや各種データを用いて、後述するフローチャートに示す情報処理を行う。記憶部１３は、情報処理プログラムや各種データを記憶する非一時的な記憶媒体であり、例えば不揮発性メモリや光記憶媒体、ハードディスク等である。記憶部１３は、本体部に着脱自在に接続可能なものであってもよいし、本体部の内部に固定されたものであってもよい。通信部１４は、ネットワーク（例えば、インターネットやＬＡＮ）に接続して他の装置と通信を行う。通信部１４は、例えば無線ＬＡＮの規格にしたがった通信を行うものであってもよい。表示装置１５は、例えば本体部と一体となった表示装置であり、後述するゲーム画像を表示する。表示装置１５としては、液晶表示装置や有機ＥＬ表示装置等が用いられてもよい。また、表示装置１５の画面上にタッチパネルが設けられてもよい。なお、ゲーム装置１０は、表示装置１５とは異なる他の表示装置（例えば、テレビ）と接続可能であり、ゲーム画像を、当該他の表示装置及び／又は表示装置１５に出力可能であってもよい。
【００３４】
コントローラは、複数の押下可能な操作ボタン１６と、方向指示を行うことが可能なアナログスティック１７と、コントローラの姿勢を検出するための慣性センサ１８とを含む。アナログスティック１７は、ユーザの左手で操作される左アナログスティックと、ユーザの右手で操作される右アナログスティックとを含む。慣性センサ１８は、加速度センサと角速度センサとを含む。本体部のプロセッサ１１は、コントローラの慣性センサ１８からの検出データに基づいてコントローラの加速度および角速度を算出することにより、コントローラの実空間における姿勢を算出することができる。なお、コントローラの姿勢は、慣性センサに限らず、例えば実カメラによって撮像された画像に基づいて算出されてもよい。
【００３５】
なお、ゲーム装置１０の本体部とコントローラとは一体として構成されてもよいし、分離していてもよい。また、コントローラは本体部に着脱自在に接続されてもよい。本体部とコントローラとが分離している場合、本体部とコントローラとは無線または有線で接続されて通信を行ってもよい。
【００３６】
また、ゲーム装置１０は、本体部とコントローラと表示装置１５とが一体となった携帯型のゲーム装置であってもよいし、これらのうちの少なくとも一部が分離した据置型のゲーム装置であってもよい。また、ゲーム装置１０は、携帯型のゲーム装置としても機能するとともに、据置型のゲーム装置としても機能するものであってもよい。
【００３７】
図１に戻り、本実施形態のゲームは、各プレイヤがＡチームまたはＢチームに所属し、ＡチームとＢチームとが対戦する対戦型のゲームである。例えば、図１に示されるように、ゲーム装置１０ａのプレイヤおよびゲーム装置１０ｂのプレイヤはＡチームに所属し、ゲーム装置１０ｃのプレイヤおよびゲーム装置１０ｄのプレイヤはＢチームに所属する。また、ゲーム装置１０ｅのユーザおよびゲーム装置１０ｆのユーザは、ＡチームおよびＢチームの何れにも所属せず、ＡチームおよびＢチームで行われる対戦ゲームを観戦する。
【００３８】
なお、以下では、ＡチームまたはＢチームに所属してゲームをプレイするゲーム装置１０のユーザを「プレイヤ」と呼び、ＡチームおよびＢチームの何れにも所属せずにゲームの観戦のみを行うゲーム装置１０のユーザを「観戦者」と呼ぶことにする。また、「プレイヤ」が有するゲーム装置１０を「プレイヤ端末」といい、「観戦者」が有するゲーム装置１０を「観戦者端末」という。
【００３９】
本実施形態では、Ａチームには４名のプレイヤ（４台のゲーム装置１０）が所属し、Ｂチームにも４名のプレイヤ（４台のゲーム装置１０）が所属することができる。また、観戦者は最大で２名までである。なお、各チームに所属することができるプレイヤの数は４名未満であってもよいし、４名以上であってもよい。また、観戦者は１名のみであってもよいし、３名以上であってもよい。
【００４０】
以下では、ゲーム装置１０ａのプレイヤおよびゲーム装置１０ｂのプレイヤが所属するＡチームと、ゲーム装置１０ｃのプレイヤおよびゲーム装置１０ｄのプレイヤが所属するＢチームとで対戦ゲームが行われ、この対戦ゲームを１人の観戦者が観戦する場合について説明する。
【００４１】
図３は、本実施形態の対戦ゲームが行われる仮想空間の一例を示す図である。仮想空間は、互いに直交するｘ軸、ｙ軸、およびｚ軸からなるｘｙｚ座標系（グローバル座標系）により定義される。ｘ軸は仮想空間に固定の軸であり、仮想空間の横方向の軸である。ｙ軸は、仮想空間に固定の軸であり、仮想空間の高さ方向の軸である。ｚ軸は、仮想空間に固定の軸であり、仮想空間の縦方向（図３の奥方向）の軸である。
【００４２】
図３に示されるように、仮想空間には、地形を示す複数の地形オブジェクトＧＯと、各プレイヤの操作に応じて動作するプレイヤキャラクタＰ（Ｐａ〜Ｐｄ）と、移動オブジェクトＴＯとが含まれる。
【００４３】
プレイヤキャラクタＰａは、ゲーム装置１０ａのプレイヤによって操作されるプレイヤキャラクタであり、プレイヤキャラクタＰｂは、ゲーム装置１０ｂのプレイヤによって操作されるプレイヤキャラクタであり、プレイヤキャラクタＰｃは、ゲーム装置１０ｃのプレイヤによって操作されるプレイヤキャラクタであり、プレイヤキャラクタＰｄは、ゲーム装置１０ｄのプレイヤによって操作されるプレイヤキャラクタである。
【００４４】
各地形オブジェクトＧＯは、ｘｚ平面に平行またはｘｚ平面と所定の角度を有する面（平面又は曲面）である。地形オブジェクトＧＯは、仮想空間に固定のオブジェクトであり、仮想空間における高さが異なる。複数のプレイヤキャラクタＰおよび移動オブジェクトＴＯは、地形オブジェクトＧＯ上を移動可能である。このため、本実施形態のゲームでは、複数のプレイヤキャラクタＰおよび移動オブジェクトＴＯは、仮想空間の高さ方向に広がった空間を移動可能である。
【００４５】
初期的には、ＡチームのプレイヤキャラクタＰａおよびＰｂは、Ａチームの陣地に位置し、ＢチームのプレイヤキャラクタＰｃおよびＰｄは、Ｂチームの陣地に位置する。また、移動オブジェクトＴＯは、初期的にはＡチームの陣地およびＢチームの陣地の中間に位置する。
【００４６】
各プレイヤキャラクタＰは、対応するゲーム装置１０のコントローラに対する操作に応じて、仮想空間内を移動したり、ジャンプしたり、液体（弾）を発射したりする。例えば、各プレイヤキャラクタＰは、コントローラの左アナログスティックに対する操作に応じて、仮想空間を移動する。また、各プレイヤキャラクタＰは、様々な装備を有しており、装備の一種として武器Ｗを有している。各プレイヤキャラクタＰは、武器Ｗを用いて液体（弾）を発射することで、仮想空間の地形オブジェクトＧＯを塗りつぶす。あるチームのプレイヤキャラクタＰが塗りつぶした領域では、相手チームのプレイヤキャラクタの動きが鈍くなる。また、各プレイヤキャラクタＰは、武器Ｗを用いて液体（弾）を発射することで、相手チームのプレイヤキャラクタＰに対して攻撃を行うことが可能である。
【００４７】
移動オブジェクトＴＯは、仮想空間内を移動可能なオブジェクトである。プレイヤキャラクタＰが移動オブジェクトＴＯの上に乗ると、移動オブジェクトＴＯは、仮想空間内を予め定められた経路にしたがって自動的に移動する。例えば、Ａチームに所属するプレイヤキャラクタＰａが移動オブジェクトＴＯの上に乗ると、移動オブジェクトＴＯは、Ｂチームの陣地に向かって移動する。本実施形態では、移動オブジェクトＴＯを相手チームの陣地に移動させたチームが勝利となる。このため、移動オブジェクトＴＯは、本実施形態のゲームの結果を左右する重要なオブジェクトである。
【００４８】
図４は、仮想空間に配置される仮想カメラの一例を示す図である。図４に示されるように、仮想空間には、各プレイヤキャラクタＰに固定のプレイヤカメラＣＰ（ＣＰａ〜ＣＰｄ）が配置される。
【００４９】
プレイヤカメラＣＰａは、プレイヤキャラクタＰａに固定の仮想カメラであり、プレイヤキャラクタＰａに追従して移動する。プレイヤカメラＣＰｂは、プレイヤキャラクタＰｂに固定の仮想カメラであり、プレイヤキャラクタＰｂに追従して移動する。プレイヤカメラＣＰｃは、プレイヤキャラクタＰｃに固定の仮想カメラであり、プレイヤキャラクタＰｃに追従して移動する。プレイヤカメラＣＰｄは、プレイヤキャラクタＰｄに固定の仮想カメラであり、プレイヤキャラクタＰｄに追従して移動する。
【００５０】
各プレイヤカメラＣＰは、初期的には各プレイヤキャラクタＰの背後の所定位置に配置される。各プレイヤカメラＣＰの注視点は、各プレイヤキャラクタＰの頭上の所定位置に設定される。なお、各プレイヤが例えばゲーム装置１０のコントローラの右アナログスティックを操作することにより、各プレイヤカメラＣＰは各プレイヤキャラクタＰの周りを回転可能である。
【００５１】
各プレイヤは、各プレイヤキャラクタＰに固定のプレイヤカメラＣＰから仮想空間を見た画像を見ながらゲームを行い、プレイヤカメラＣＰの向きに応じた方向に射撃を行う。例えば、ゲーム装置１０ａのプレイヤは、プレイヤカメラＣＰａから仮想空間を見た画像を見ながらプレイヤキャラクタＰａを移動させたり、プレイヤカメラＣＰａの向きに応じた方向に液体（弾）を発射させたりする。他のゲーム装置１０のプレイヤも同様に、各プレイヤカメラＣＰから仮想空間を見た画像を見ながら自身に対応するプレイヤキャラクタＰを移動させたり、弾を発射させたりする。
【００５２】
また、仮想空間には、オブジェクトカメラＣＯが配置される。オブジェクトカメラＣＯは、移動オブジェクトＴＯに追従する仮想カメラである。オブジェクトカメラＣＯは、移動オブジェクトＴＯの位置から所定距離離れた位置にあり、オブジェクトカメラＣＯの注視点は、移動オブジェクトＴＯの位置に設定される。また、詳細は後述するが、オブジェクトカメラＣＯは、観戦者端末のコントローラに対する操作に応じて、移動オブジェクトＴＯの周りに回転する。
【００５３】
また、仮想空間には、鳥瞰カメラＣＢが配置される。鳥瞰カメラＣＢは、仮想空間を鳥瞰する（俯瞰する）仮想カメラである。鳥瞰カメラＣＢは、仮想空間全体を見渡す「全体モード」と、仮想空間の一部を拡大する「ズームモード」とのうちの何れかのモードで動作する。鳥瞰カメラＣＢが全体モードのときには、鳥瞰カメラＣＢの位置および姿勢は固定である。一方、鳥瞰カメラＣＢがズームモードのときには、鳥瞰カメラＣＢは、観戦者端末のコントローラに対する操作に応じて、仮想空間内を移動したり、回転したりする。
【００５４】
鳥瞰カメラＣＢおよびオブジェクトカメラＣＯは、観戦者端末においてのみ定義される。観戦者端末が２台ある場合は、各観戦者端末に、鳥瞰カメラＣＢおよびオブジェクトカメラＣＯがそれぞれ定義される。
【００５５】
観戦者は、鳥瞰カメラＣＢ、各プレイヤカメラＣＰ、オブジェクトカメラＣＯのうちの何れかを用いて、仮想空間において行われるゲームを観戦することができ、これら複数の仮想カメラを操作に応じて切り替えることができる。すなわち、観戦者は、観戦者用の仮想カメラについての第１のモード（ズームモードの鳥瞰カメラＣＢ）と、第２のモード（各プレイヤカメラＣＰ）と、第３のモード（オブジェクトカメラＣＯ）と、第４のモード（全体モードの鳥瞰カメラＣＢ）とを切り替えることができる。
【００５６】
一方、各プレイヤ端末においては鳥瞰カメラＣＢおよびオブジェクトカメラＣＯは定義されない。このため、各プレイヤ端末の表示装置には、オブジェクトカメラＣＯまたは鳥瞰カメラＣＢから仮想空間を見た画像は表示されない。
【００５７】
（カメラパラメータ）
本実施形態では、各仮想カメラの位置および姿勢（向き）は、カメラパラメータによって定められる。カメラパラメータは、以下の３種類のパラメータを含む。
・注視点Ｆ
・注視点Ｆから仮想カメラの位置に向かうベクトルＶ（以下、「アームベクトルＶ」という）
・仮想カメラの姿勢情報（後述するｘｙｚ座標系におけるピッチ角Ｇαおよびヨー角Ｇβ）
【００５８】
なお、詳細は後述するが、仮想カメラの姿勢が変化されていないとき（後述するカメラ座標系におけるピッチ角αおよびヨー角βがゼロのとき）は、仮想カメラのカメラパラメータとしての注視点Ｆは、表示装置の画面の中心と一致する。一方、仮想カメラの姿勢が変化されているときは、仮想カメラのカメラパラメータとしての注視点Ｆは、表示装置の画面の中心と必ずしも一致しない。
【００５９】
以下では、仮想カメラの姿勢が変化されていないときの仮想カメラの姿勢を「基準姿勢」と呼ぶ。また、仮想カメラのカメラパラメータとしての注視点を「注視点Ｆ」と表記し、実際の画面の中心を意味する注視点と区別して表記する。具体的には、鳥瞰カメラＣＢのカメラパラメータとしての注視点を「注視点ＦＢ」と表記し、オブジェクトカメラＣＯのカメラパラメータとしての注視点を「注視点ＦＯ」と表記し、プレイヤカメラＣＰのカメラパラメータとしての注視点を「注視点ＦＰ」と表記する。
【００６０】
以下、ズームモードにおける鳥瞰カメラＣＢの移動および回転について説明する。
【００６１】
（鳥瞰カメラの移動および回転）
図５は、ズームモードにおける鳥瞰カメラＣＢの移動を説明するための図である。図５に示されるように、仮想空間には、鳥瞰カメラＣＢの移動を制御するための高さマップＭが設定される。高さマップＭは、鳥瞰カメラＣＢの仮想空間における高さを設定するためのマップであり、複数の制御面Ｍ１〜Ｍ５によって構成される。制御面Ｍ１〜Ｍ５は、仮想空間に予め設定された仮想的な面であり、例えば、平面である。なお、制御面Ｍ１〜Ｍ５は曲面であってもよい。なお、制御面Ｍ１〜Ｍ５は、ゲーム中にゲーム装置１０の表示装置には表示されない。
【００６２】
高さマップＭは、地形オブジェクトＧＯと接触しないようにその形状および位置が設定される。例えば、制御面Ｍ１〜Ｍ５は、各地形オブジェクトＧＯと平行に配置され、各地形オブジェクトＧＯよりも仮想空間における上方（ｙ軸正方向の位置）に設定される。鳥瞰カメラＣＢの注視点ＦＢは、制御面Ｍ１〜Ｍ５上を移動する。具体的には、観戦者がゲーム装置１０のコントローラの左アナログスティックを操作すると、その操作方向に応じて、鳥瞰カメラＣＢの注視点ＦＢが制御面Ｍ１〜Ｍ５上を移動する。
【００６３】
鳥瞰カメラＣＢは、注視点ＦＢよりも仮想空間における上方の位置に配置される。具体的には、鳥瞰カメラＣＢは、注視点ＦＢを通る直線であって、ｘｙｚ座標系におけるｘｚ平面と所定の角度を有する直線上に位置する。また、鳥瞰カメラＣＢは、注視点ＦＢから所定の距離だけ離れた位置に配置される。具体的には、ｘｙｚ座標系において、ｘｚ平面と所定の角度を有し、所定の長さを有するアームベクトルＶＢが定義される。そして、注視点ＦＢの位置ベクトルにアームベクトルＶＢを加えた位置が、ｘｙｚ座標系における鳥瞰カメラＣＢの位置として定義される。
【００６４】
なお、本実施形態では、アームベクトルＶＢの長さは固定であるものとするが、アームベクトルＶＢの長さは、観戦者の操作に応じて可変であってもよい。すなわち、ズームモードにおける鳥瞰カメラＣＢは、ズームインまたはズームアウト可能であってもよい。
【００６５】
図６は、図５に示される矢印方向に注視点ＦＢが移動したときの鳥瞰カメラＣＢの位置を示す図である。図７は、図６に示される矢印方向に注視点ＦＢがさらに移動したときの鳥瞰カメラＣＢの位置を示す図である。なお、図６および図７では、制御面Ｍ４および制御面Ｍ５の表示が省略されているが、実際には仮想空間には制御面Ｍ４および制御面Ｍ５も設定されている。
【００６６】
図６および図７に示されるように、鳥瞰カメラＣＢの注視点ＦＢが移動した場合、鳥瞰カメラＣＢの位置（視点ともいう）も移動する。鳥瞰カメラＣＢの注視点ＦＢは、制御面上を移動し、鳥瞰カメラＣＢの位置は、制御面よりも仮想空間における上方に位置するため、鳥瞰カメラＣＢが移動する過程で、鳥瞰カメラＣＢが地形オブジェクトＧＯに接触することはない。
【００６７】
また、プレイヤキャラクタＰは、基本的に地形オブジェクトＧＯ上を移動する。また、プレイヤキャラクタＰはジャンプする場合があり、ジャンプによってプレイヤキャラクタＰが地形オブジェクトＧＯ上に位置しないことはあっても、鳥瞰カメラＣＢの位置までプレイヤキャラクタＰがジャンプすることはない。また、移動オブジェクトＴＯは地形オブジェクトＧＯ上を移動する。このため、鳥瞰カメラＣＢは、移動する過程でプレイヤキャラクタＰや移動オブジェクトＴＯに接触することはない。
【００６８】
次に、鳥瞰カメラＣＢの回転について説明する。図８は、ズームモードにおける鳥瞰カメラＣＢの回転を説明するための図である。
【００６９】
図８に示されるように、鳥瞰カメラＣＢは、観戦者によるゲーム装置１０のコントローラの右アナログスティックに対する操作に応じて、制御面上の注視点ＦＢ周りに回転可能である。鳥瞰カメラＣＢの位置は、鳥瞰カメラＣＢの位置と注視点ＦＢとを結ぶ線分が円錐面を描くように、変化する。例えば、仮想空間におけるアームベクトルＶＢを、注視点ＦＢを通ってｙ軸に平行な直線の周りに回転させることにより、鳥瞰カメラＣＢが回転される。
【００７０】
このように、本実施形態では、観戦者の操作に応じて鳥瞰カメラＣＢを仮想空間内で移動させることができる。具体的には、観戦者の移動操作に基づいて、仮想空間における仮想カメラの高さが当該移動操作に基づいて指定される（変化する）位置に応じて予め設定された高さとなるように、当該仮想カメラが移動する。より具体的には、鳥瞰カメラＣＢの高さは、複数の制御面からなる高さマップによって設定される。観戦者の移動操作に応じて鳥瞰カメラＣＢの注視点ＦＢが制御面上を移動し、当該注視点ＦＢから仮想空間における所定方向（ｙ軸正方向の成分を有する方向）に所定距離だけ離れた位置に、鳥瞰カメラＣＢの位置（視点）が設定される。
【００７１】
なお、本実施形態では、鳥瞰カメラＣＢの注視点ＦＢを制御面上で移動させ、当該注視点ＦＢから所定方向に所定距離だけ離れた位置に、鳥瞰カメラＣＢの視点を設定した。他の実施形態では、制御面が仮想空間に設定され、鳥瞰カメラＣＢの視点を当該制御面上で移動させてもよい。この場合において、制御面は、仮想空間において、地形オブジェクトＧＯよりも高い位置に設定される。例えば、制御面は、仮想空間内の任意のオブジェクトと接触しないように、地形オブジェクトＧＯおよび地形オブジェクトＧＯ上にあるオブジェクト（プレイヤキャラクタＰや移動オブジェクトＴＯ等）よりも高い位置に設定される。例えば、制御面は、プレイヤキャラクタＰがジャンプしても届かない位置に設定される。鳥瞰カメラＣＢの視点をこのような制御面上で移動させる場合、鳥瞰カメラＣＢの移動中に鳥瞰カメラＣＢが仮想空間内のオブジェクトと接触することを防止することができる。
【００７２】
本実施形態では、観戦者（操作者）が鳥瞰カメラＣＢを移動させることができるため、ゲームを高い自由度で観戦することができる。観戦者の移動操作に基づいて、鳥瞰カメラＣＢの高さが当該移動操作に基づいて指定される位置（鳥瞰カメラの注視点でもよいし視点でもよい）に応じて予め定められるため、観戦者は、鳥瞰カメラＣＢの高さを調整する必要がない。このため、観戦者は、アナログスティックを所定方向に傾ける（又はスライドさせる）という比較的単純な操作を行うだけで、鳥瞰カメラＣＢを仮想空間における左右方向や奥行き方向に移動させるとともに、適切な高さに鳥瞰カメラＣＢを移動させることができ、適切な角度からゲームを観戦することができる。鳥瞰カメラＣＢの高さを設定するための高さマップＭは地形オブジェクトＧＯよりも仮想空間の上方に配置されるため、鳥瞰カメラＣＢの移動中に、鳥瞰カメラＣＢが地形オブジェクトＧＯに接触したり、地形オブジェクトＧＯに近づき過ぎたりすることを防止することができる。
【００７３】
また、鳥瞰カメラＣＢが地形オブジェクトＧＯに接触しないようにするために、例えば、鳥瞰カメラＣＢの移動中に鳥瞰カメラＣＢと地形オブジェクトＧＯとの接触を回避するための例外的な処理を行うことが考えられる。例えば、鳥瞰カメラＣＢが地形オブジェクトＧＯに接触する場合に鳥瞰カメラＣＢの移動経路を変更する処理を行うことが考えられる。このような接触を回避する処理を行うためには、鳥瞰カメラＣＢと地形オブジェクトＧＯとの接触判定を行う必要があり、処理が複雑になることがある。しかしながら、本実施形態では、予め高さマップが設定されているため、鳥瞰カメラＣＢの移動中にこのような複雑な処理を行う必要はない。
【００７４】
（オブジェクトカメラの移動および回転）
次に、オブジェクトカメラＣＯの移動および回転について説明する。図９は、オブジェクトカメラＣＯの移動を示す図である。上述のように、移動オブジェクトＴＯは、仮想空間を予め定められた経路に沿って自動的に移動する。具体的には、移動オブジェクトＴＯ上にプレイヤキャラクタＰが乗っている場合、移動オブジェクトＴＯは、当該プレイヤキャラクタＰの相手チームの陣地に向かって予め定められた経路に沿って移動する。例えば、図９に示す右側がＢチームの陣地であり、図９に示す左側がＡチームの陣地である場合、ＢチームのプレイヤキャラクタＰｄが移動オブジェクトＴＯ上に乗っている間、移動オブジェクトＴＯは、図９に示す左側に向かって移動する。また、ＡチームのプレイヤキャラクタＰｂが移動オブジェクトＴＯ上に乗っている場合は、移動オブジェクトＴＯは、図９に示す右側（Ｂチームの陣地側）に向かって移動する。
【００７５】
移動オブジェクトＴＯは、仮想空間を予め定められた経路に沿って自動的に移動するため、プレイヤの操作によってその移動経路を変更したり、移動速度を変更したりすることはできない。なお、プレイヤの操作によって移動オブジェクトＴＯの移動経路を変更したり、移動速度を変更したりすることが可能であってもよい。
【００７６】
この移動オブジェクトＴＯに追従してオブジェクトカメラＣＯも移動する。具体的には、オブジェクトカメラＣＯの注視点ＦＯは移動オブジェクトＴＯの位置に固定される。オブジェクトカメラＣＯの位置（視点）は、注視点ＦＯから仮想空間における所定方向（ｙ軸正方向の成分を有する方向）に所定距離だけ離れた位置に設定される。具体的には、オブジェクトカメラＣＯの位置は、注視点ＦＯの位置ベクトルにアームベクトルＶＯを加えることにより、算出される。ここで、アームベクトルＶＯは、仮想空間のｘｚ平面と所定の角度を有し、所定の長さを有するベクトルである。
【００７７】
なお、本実施形態では、アームベクトルＶＯの長さは固定であるものとするが、アームベクトルＶＯの長さは、観戦者の操作に応じて可変であってもよい。
【００７８】
図１０は、オブジェクトカメラＣＯの回転を示す図である。図１０に示されるように、オブジェクトカメラＣＯは観戦者の操作に応じて回転する。具体的には、観戦者によってゲーム装置１０のコントローラの右アナログスティックに対する操作が行われると、オブジェクトカメラＣＯは、注視点ＦＯを通り仮想空間のｙ軸に平行な直線周りに回転する。より具体的には、オブジェクトカメラＣＯのアームベクトルＶＯが、注視点ＦＯを通りｙ軸と平行な直線周りに回転することにより、オブジェクトカメラＣＯが移動オブジェクトＴＯの周りに回転する。
【００７９】
このように、観戦者は、移動オブジェクトＴＯに追従するオブジェクトカメラＣＯから仮想空間を見た画像を見ることができ、当該オブジェクトカメラＣＯを移動オブジェクトＴＯの周りに回転させることができる。このため、観戦者は、オブジェクトカメラＣＯを用いて、本実施形態のゲームにおいて重要な移動オブジェクトＴＯの周囲を常に見ることができる。
【００８０】
（鳥瞰カメラＣＢおよびオブジェクトカメラＣＯの姿勢の変化）
ここで、観戦者は、ゲーム装置１０のコントローラを操作することにより、鳥瞰カメラＣＢおよびオブジェクトカメラＣＯの姿勢（向き）を変化させることができる。例えば、観戦者は、観戦者端末のコントローラの実空間における姿勢を変化させることで、鳥瞰カメラＣＢの姿勢を変化させることができる。同様に、観戦者は、観戦者端末のコントローラの姿勢を変化させることで、オブジェクトカメラＣＯの姿勢を変化させることができる。
【００８１】
図１１は、鳥瞰カメラＣＢの姿勢が変化されていない場合における鳥瞰カメラＣＢのカメラ座標系を示す図である。図１１に示されるように、鳥瞰カメラＣＢに固定のカメラ座標系（ＸｃＹｃＺｃ座標系）のＺｃ軸は、鳥瞰カメラＣＢの撮像方向（視線方向ともいう）に平行な軸である。鳥瞰カメラＣＢのカメラ座標系のＸｃ軸は、Ｚｃ軸に垂直な軸であって、鳥瞰カメラＣＢの右方向（図１１の紙面奥方向）に平行な軸である。また、鳥瞰カメラＣＢのカメラ座標系のＹｃ軸は、Ｚｃ軸およびＸｃ軸に垂直な軸であって、鳥瞰カメラＣＢの上方向に平行な軸である。鳥瞰カメラＣＢの姿勢が変化されていない場合（すなわち、基準姿勢の場合）、鳥瞰カメラＣＢのＺｃ軸上に、注視点ＦＢが存在することになる。
【００８２】
また、図示は省略するが、オブジェクトカメラＣＯについてもオブジェクトカメラＣＯに固定のカメラ座標系が設定される。例えば、オブジェクトカメラＣＯの撮像方向にＺｃ軸が設定され、オブジェクトカメラＣＯの右方向にＸｃ軸が設定され、オブジェクトカメラＣＯの上方向にＹｃ軸が設定されるものとする。オブジェクトカメラＣＯの姿勢が変化されていない場合（すなわち、基準姿勢の場合）、オブジェクトカメラＣＯのカメラ座標系のＺｃ軸上に、注視点ＦＯが存在することになる。
【００８３】
図１２Ａは、鳥瞰カメラＣＢまたはオブジェクトカメラＣＯの基準姿勢からの変化を示す図であり、ピッチ方向の回転を示す図である。図１２Ｂは、鳥瞰カメラＣＢまたはオブジェクトカメラＣＯの基準姿勢からの変化を示す図であり、ヨー方向の回転を示す図である。図１２Ａは、鳥瞰カメラＣＢまたはオブジェクトカメラＣＯをＸｃ軸負方向の位置から見た図である。図１２Ｂは、鳥瞰カメラＣＢまたはオブジェクトカメラＣＯをＹｃ軸正方向の位置から見た図である。
【００８４】
図１２Ａに示されるように、鳥瞰カメラＣＢまたはオブジェクトカメラＣＯは、基準姿勢からピッチ方向（Ｘｃ軸周り）に所定の角度だけ回転可能である。図１２ＡのＸｃ軸、Ｙｃ軸、Ｚｃ軸は、それぞれ基準姿勢におけるカメラ座標系の軸である。Ｚｃ’軸は、鳥瞰カメラＣＢまたはオブジェクトカメラＣＯをピッチ方向に回転させた後のＺｃ軸である。また、Ｙｃ’軸は、鳥瞰カメラＣＢまたはオブジェクトカメラＣＯをピッチ方向に回転させた後のＹｃ軸である。
【００８５】
図１２Ａに示されるように、例えば、観戦者がゲーム装置１０のコントローラを上方向に傾けると（コントローラの背面が上を向くように傾けると）、鳥瞰カメラＣＢまたはオブジェクトカメラＣＯはＸｃ軸周りに回転し、Ｚｃ軸が上方向を向く。また、例えば、観戦者がゲーム装置１０のコントローラを下方向に傾けると（コントローラの背面が下を向くように傾けると）、鳥瞰カメラＣＢまたはオブジェクトカメラＣＯはＸｃ軸周りに回転し、Ｚｃ軸が下方向を向く。このＸｃ軸周りの回転角を「ピッチ角α」という。
【００８６】
また、図１２Ｂに示されるように、鳥瞰カメラＣＢまたはオブジェクトカメラＣＯは、基準姿勢からヨー方向（Ｙｃ軸周り）に所定の角度だけ回転可能である。図１２ＢのＸｃ軸、Ｙｃ軸、Ｚｃ軸は、それぞれ基準姿勢におけるカメラ座標系の軸である。Ｚｃ’軸は、鳥瞰カメラＣＢまたはオブジェクトカメラＣＯをヨー方向に回転させた後のＺｃ軸である。また、Ｘｃ’軸は、鳥瞰カメラＣＢまたはオブジェクトカメラＣＯをヨー方向に回転させた後のＸｃ軸である。
【００８７】
図１２Ｂに示されるように、例えば、観戦者がゲーム装置１０のコントローラを右方向に向けると（コントローラの背面を右側に向けると）、鳥瞰カメラＣＢまたはオブジェクトカメラＣＯはＹｃ軸周りに回転し、Ｚｃ軸が右方向を向く。また、例えば、観戦者がゲーム装置１０のコントローラを左方向に向けると（コントローラの背面を左側に向けると）、鳥瞰カメラＣＢまたはオブジェクトカメラＣＯはＹｃ軸周りに回転し、Ｚｃ軸が左方向を向く。このＹｃ軸周りの回転角を「ヨー角β」という。
【００８８】
図１２Ａおよび図１２Ｂに示すピッチ角αおよびヨー角βは、カメラ座標系を基準とした姿勢を示す情報である。上述したカメラパラメータの一種である「仮想カメラの姿勢情報」は、ｘｙｚ座標系（グローバル座標系）を基準とした姿勢を示す情報である。
【００８９】
以下では、ｘｙｚ座標系を基準としたピッチ角を「ピッチ角Ｇα」と表記し、ｘｙｚ座標系を基準としたヨー角を「ヨー角Ｇβ」と表記するものとする。例えば、ｘｙｚ座標系におけるピッチ角Ｇαは、仮想カメラのＺｃ軸と仮想空間のｘｚ平面とがなす角度であってもよい。また、例えば、ｘｙｚ座標系におけるヨー角Ｇβは、仮想カメラのＺｃ軸と仮想空間のｙｚ平面とがなす角度であってもよい。仮想カメラのｘｙｚ座標系におけるピッチ角Ｇαおよびヨー角Ｇβは、仮想カメラのアームベクトルＶと、仮想カメラのカメラ座標系におけるピッチ角αおよびヨー角βとに基づいて算出可能である。
【００９０】
このように、観戦者は、ゲーム装置１０のコントローラを上下方向に傾けたり、左右方向に向けたりすることにより、鳥瞰カメラＣＢまたはオブジェクトカメラＣＯの姿勢を変化させることができる。
【００９１】
なお、図５〜図７で示した鳥瞰カメラＣＢの注視点ＦＢは、基準姿勢における注視点である。上述した鳥瞰カメラＣＢの移動は、この基準姿勢における注視点ＦＢを移動させることによって行われる。鳥瞰カメラＣＢをカメラ座標系におけるピッチ方向に回転させたりヨー方向に回転させたりしても、図５〜図７で示した鳥瞰カメラＣＢの移動に用いられる注視点ＦＢ（カメラパラメータとしての注視点ＦＢ）の制御面上の位置は変化しない。
【００９２】
鳥瞰カメラＣＢのｘｙｚ座標系における位置および姿勢は、次のようにして決定される。まず、図５〜図７で説明したように、観戦者によるコントローラの左アナログスティックを用いた移動操作が行われると、基準姿勢における注視点ＦＢが制御面上を移動する。次に、図８に示されるように、観戦者によるコントローラの右アナログスティックを用いた回転操作に応じて、アームベクトルＶＢが仮想空間において回転される。これにより、移動後の注視点ＦＢにアームベクトルＶＢを加えた位置が、鳥瞰カメラＣＢの位置（視点）として決定される。そして、コントローラの姿勢に応じて鳥瞰カメラＣＢのカメラ座標系におけるピッチ角αおよびヨー角βが算出され、鳥瞰カメラＣＢのｘｙｚ座標系における姿勢（ピッチ角Ｇαおよびヨー角Ｇβ）が算出される。
【００９３】
オブジェクトカメラＣＯのｘｙｚ座標系における位置および姿勢も同様である。すなわち、図９で説明したように、移動オブジェクトＴＯの移動に応じてオブジェクトカメラＣＯの基準姿勢における注視点ＦＯが移動する。次に、図１０で説明したように、観戦者によるコントローラの右アナログスティックを用いた回転操作に応じて、アームベクトルＶＯが仮想空間において回転される。これにより、移動後の注視点ＦＯ（移動オブジェクトの位置）にアームベクトルＶＯを加えた位置が、オブジェクトカメラＣＯの位置（視点）として決定される。そして、コントローラの姿勢に応じてオブジェクトカメラＣＯのカメラ座標系におけるピッチ角αおよびヨー角βが算出され、オブジェクトカメラＣＯのｘｙｚ座標系における姿勢（ピッチ角Ｇαおよびヨー角Ｇβ）が算出される。
【００９４】
（仮想カメラの切り替え）
次に、上述した３種類の仮想カメラ（プレイヤカメラＣＰ、鳥瞰カメラＣＢおよびオブジェクトカメラＣＯ）の切り替えについて説明する。観戦者は、ゲーム装置１０のコントローラの操作ボタンを用いて、仮想カメラを切り替えることができる。図１３は、鳥瞰カメラＣＢからプレイヤカメラＣＰへの切り替えを示す図である。
【００９５】
図１３に示されるように、例えば、観戦者は、鳥瞰カメラＣＢを用いてゲームを観戦しているときに、コントローラの操作ボタンに対する操作に応じて、観戦に用いる仮想カメラを、鳥瞰カメラＣＢから例えばプレイヤカメラＣＰｃに切り替えることができる。仮想カメラは、切替前の位置から切替後の位置まで所定時間かけて自動的に移動し、観戦者は、仮想カメラの切替中の画像を見ることができる。なお、仮想カメラが切り替わる所定時間は、固定の時間であってもよいし、固定ではない時間（例えば、切替前の仮想カメラと切替後の仮想カメラとの距離に応じて異なる時間）であってもよい。
【００９６】
例えば、鳥瞰カメラＣＢ、オブジェクトカメラＣＯ、プレイヤカメラＣＰａ、プレイヤカメラＣＰｂ、プレイヤカメラＣＰｃ、プレイヤカメラＣＰｄのそれぞれに対して切り替え操作が割り当てられている。コントローラに対して行われた切り替え操作に応じて、当該切り替え操作に対応する仮想カメラに切り替わる。
【００９７】
具体的には、観戦者によって仮想カメラの切り替え操作が行われると、仮想カメラのカメラパラメータは、現在の仮想カメラ（例えば鳥瞰カメラＣＢ）のカメラパラメータから、切替後の仮想カメラ（例えばプレイヤカメラＣＰｃ）のカメラパラメータに所定時間かけて変化する。より具体的には、切替中の各カメラパラメータ（注視点Ｆ、アームベクトルＶ、ピッチ角Ｇα、ヨー角Ｇβ）は、切替前のカメラパラメータと切替後のカメラパラメータとをエルミート補間法により補間することで算出される。
【００９８】
例えば、図１３に示されるように、観戦者によって仮想カメラの切り替え操作が行われてから１フレーム時間（例えば、１／６０秒）が経過した時点ｔ１における仮想カメラの注視点Ｆは、切替前の鳥瞰カメラＣＢの注視点ＦＢと切替後のプレイヤカメラＣＰｃの注視点ＦＯとをエルミート補間法により補間することで算出される。同様に、時刻ｔ１における仮想カメラのアームベクトルＶは、切替前の鳥瞰カメラＣＢのアームベクトルＶＢと切替後のプレイヤカメラＣＰｃのアームベクトルＶＯとをエルミート補間法により補間することで算出される。また、時刻ｔ１における仮想カメラのピッチ角Ｇαは、切替前の鳥瞰カメラＣＢのピッチ角Ｇαと切替後のプレイヤカメラＣＰｃのピッチ角Ｇαとをエルミート補間法により補間することで算出される。また、時刻ｔ１における仮想カメラのヨー角Ｇβは、切替前の鳥瞰カメラＣＢのヨー角Ｇβと切替後のプレイヤカメラＣＰｃのヨー角Ｇβとをエルミート補間法により補間することで算出される。
【００９９】
このように切替中の仮想カメラの各カメラパラメータがエルミート補間法により算出されるため、各カメラパラメータは、切替前の値から切替後の値に徐々に変化する。例えば、各カメラパラメータは、切り替え操作が行われてからの第１期間では比較的ゆっくりと速度を増しながら変化し、その後の第２期間では比較的高速に変化し、さらに切替後の値に近づくにつれて速度を減少させながら最終的に切替後の値となる。
【０１００】
例えば、図１３に示されるように、切り替え操作が行われた時点から１フレーム時間が経過した時刻ｔ１では、仮想カメラは、切替前の位置から距離ｄ１の位置に存在する。時刻ｔ１からさらに１フレーム時間が経過した時刻ｔ２では、仮想カメラは、切替前の仮想カメラの位置から距離ｄ２の位置に存在する。このとき、距離ｄ２は、距離ｄ１の２倍よりも大きい。さらに時刻ｔ２から１フレーム時間が経過した時刻ｔ３では、仮想カメラはさらに切替後の仮想カメラの位置に近づく。時刻ｔ２における仮想カメラと時刻ｔ３における仮想カメラとの間の距離は、時刻ｔ１における仮想カメラと時刻ｔ２における仮想カメラとの間の距離よりも大きい。
【０１０１】
また、仮想カメラのｘｙｚ座標系における姿勢も切替前の姿勢から切替後の姿勢に徐々に変化する。例えば、時刻ｔ１における仮想カメラのピッチ角Ｇαは、切替前の仮想カメラのピッチ角Ｇαと切替後の仮想カメラのピッチ角Ｇαとの間の値である。時刻ｔ１におけるピッチ角Ｇαの変化量よりも時刻ｔ２におけるピッチ角Ｇαの変化量の方が大きい。
【０１０２】
このように、鳥瞰カメラＣＢからプレイヤカメラＣＰに切り替えられる場合、複数のフレームにわたって切り替えられ、フレーム毎に、仮想カメラの位置及び姿勢が算出される。このため、切り替え途中の仮想カメラから見た画像が、観戦者端末の表示装置に表示される。
【０１０３】
例えば、仮想カメラの切り替え操作に応じて、一瞬で鳥瞰カメラＣＢからプレイヤカメラＣＰに切り替わる場合（すなわち、あるフレームにおいては鳥瞰カメラＣＢから見た画像が表示され、次のフレームにおいてはプレイヤカメラＣＰから見た画像が表示される場合）、観戦者は、仮想空間におけるどの位置からどの位置に移動したのかを認識し難い場合がある。しかしながら、本実施形態では、複数のフレーム時間をかけて仮想カメラが切り替えられ、切り替え途中の画像が表示される。このため、観戦者は、仮想空間におけるどの位置からどの位置に仮想カメラが移動するのかを容易に認識することができる。
【０１０４】
また、本実施形態では、切替中の仮想カメラの各カメラパラメータが、エルミート補間により算出される。このため、各カメラパラメータは、最初はゆっくりと加速しながら切替後の値に近づき、最後はゆっくりと減速しながら切替後の値に近づくように変化する。これにより、いわゆる映像酔い（３Ｄ酔い）を防止することができる。
【０１０５】
なお、仮想カメラの切替中における各カメラパラメータは、エルミート補間法に限らず他の補間方法（例えば、線形補間、スプライン補間、ラグランジュ補間等）により算出されてもよい。
【０１０６】
（画面に表示される画像の一例）
図１４は、観戦者端末の表示装置の画面に表示される画像であって、プレイヤキャラクタＰｃに対応するプレイヤカメラＣＰｃに基づいて生成されるゲーム画像の一例を示す図である。図１４に示されるように、プレイヤカメラＣＰｃは、プレイヤキャラクタＰｃの背後における所定位置に配置される。プレイヤカメラＣＰｃの注視点ＦＰは、プレイヤキャラクタＰｃに固定され、例えば、プレイヤキャラクタＰｃの頭上に設定される。なお、プレイヤカメラＣＰｃは、ゲーム装置１０ｃのプレイヤの操作に応じて、プレイヤキャラクタＰｃの周りに回転可能である。また、プレイヤカメラＣＰｃの姿勢は、ゲーム装置１０ｃのコントローラの姿勢に応じて変化可能である。
【０１０７】
図１４に示されるように、例えば画面の上部領域には、仮想カメラの切り替え操作のための切り替え操作画像２０が表示される。切り替え操作画像２０は、各プレイヤカメラＣＰへの切り替え操作を示す画像である。例えば、プレイヤキャラクタＰａに対応するプレイヤカメラＣＰａへの切り替えはＡボタンの操作により行われることを意味し、プレイヤキャラクタＰａに対応するプレイヤカメラＣＰｂへの切り替えはＢボタンの操作により行われることを意味する。図１４に示す画像は、ゲーム装置１０ｃのプレイヤが見る画像（ゲーム装置１０ｃの表示装置の画面に表示される画像）と基本的に同じ画像である。すなわち、プレイヤ端末にはプレイヤカメラＣＰに基づくゲーム画像が表示され、このプレイヤ端末に対応するプレイヤカメラＣＰと同じ位置および姿勢（向き）のプレイヤカメラに基づくゲーム画像が、観戦者端末に表示される。しかしながら、切り替え操作画像２０は、観戦者端末においてのみ表示され、プレイヤ端末には表示されない。
【０１０８】
図１５は、観戦者端末の表示装置の画面に表示される画像であって、全体モードにおける鳥瞰カメラＣＢに基づいて生成されるゲーム画像の一例を示す図である。図１５に示されるように、鳥瞰カメラＣＢが全体モードのときには、観戦者端末の表示装置には仮想空間をほぼ真上から見た画像が表示され、仮想空間の全体が表示される。画面には、プレイヤキャラクタＰａ〜Ｐｄ、移動オブジェクトＴＯ、複数の地形オブジェクトＧＯが表示される。
【０１０９】
図１６は、観戦者端末の表示装置の画面に表示される画像であって、ズームモードにおける鳥瞰カメラＣＢに基づいて生成されるゲーム画像の一例を示す図である。図１７は、図１６の状態から鳥瞰カメラＣＢをプレイヤキャラクタＰｂの位置まで移動させたときのゲーム画像の一例を示す図である。図１８は、図１６の状態から鳥瞰カメラＣＢを１８０度回転させたときのゲーム画像の一例を示す図である。
【０１１０】
図１６に示されるように、観戦者は、鳥瞰カメラＣＢがズームモードのときには、仮想空間における一部の領域を拡大した画像を見ることができる。上述のように、観戦者は、ズームモードにおける鳥瞰カメラＣＢを移動させることができ、仮想空間における所望の領域を拡大してゲームを観戦することができる。例えば、観戦者は、プレイヤキャラクタＰａの周囲に鳥瞰カメラＣＢを移動させ、プレイヤキャラクタＰａの周囲を見ることができる。なお、図１６では、鳥瞰カメラＣＢは基準姿勢であり、鳥瞰カメラＣＢの注視点ＦＢは、画面の中央に位置する。
【０１１１】
この図１６に示す画像が表示されているときに、観戦者が、ゲーム装置１０のコントローラの左アナログスティックを操作すると、その操作に応じて鳥瞰カメラＣＢが移動し、鳥瞰カメラＣＢの高さ方向の位置も変化する。鳥瞰カメラＣＢは、左アナログスティックの操作方向に応じた方向に、所定の速度で移動する。観戦者端末の画面には、鳥瞰カメラＣＢの移動中の画像が表示される。そして、図１７に示されるような画像が観戦者端末の表示装置に表示される。図１７に示す画像が表示されるときの鳥瞰カメラＣＢの高さは、図１６に示す画像が表示されるときの鳥瞰カメラＣＢの高さよりも低い。
【０１１２】
また、図１６に示す画像が表示されているときに、観戦者が、ゲーム装置１０のコントローラの右アナログスティックを操作すると、その操作に応じて鳥瞰カメラＣＢが回転する。鳥瞰カメラＣＢは、右アナログスティックの操作方向に応じた方向に所定の速度で回転する。観戦者端末の画面には、鳥瞰カメラＣＢの回転中の画像が表示される。そして、図１８に示されるような画像が観戦者端末の表示装置に表示される。
【０１１３】
図１９は、図１６の状態からコントローラの姿勢を変化させたときのゲーム画像の一例を示す図である。
【０１１４】
図１９に示されるように、例えば、観戦者がゲーム装置１０のコントローラを右方向に向けると、鳥瞰カメラＣＢはヨー方向に回転し、図１６よりも仮想空間の右側の画像が表示される。ここで、図１９に示されるように、鳥瞰カメラＣＢの姿勢を変化させても、鳥瞰カメラＣＢの注視点ＦＢ（カメラパラメータとしての注視点ＦＢ）の位置は変化しない。すなわち、実際の画像の中心は鳥瞰カメラＣＢの姿勢を変化させることにより移動するものの、鳥瞰カメラＣＢのカメラパラメータとしての注視点ＦＢは、仮想空間において移動しない。
【０１１５】
図２０は、観戦者端末の表示装置の画面に表示される画像であって、オブジェクトカメラＣＯに基づいて生成されるゲーム画像の一例を示す図である。図２１は、図２０の状態からオブジェクトカメラＣＯを１８０度回転させたときの画像の一例を示す図である。
【０１１６】
図２０に示されるように、観戦者は、オブジェクトカメラＣＯを用いて、仮想空間における移動オブジェクトＴＯの周辺を見ることができる。なお、図２０では、オブジェクトカメラＣＯは基準姿勢であり、オブジェクトカメラＣＯの注視点ＦＯは、画面の中心に位置する。この状態で観戦者がゲーム装置１０のコントローラの姿勢を変化させた場合、オブジェクトカメラＣＯはピッチ方向またはヨー方向に回転し、図１９と同様に画面の中心が上下方向または左右方向に移動する。この場合、オブジェクトカメラＣＯの注視点ＦＯは画面の中心と一致しなくなる。
【０１１７】
この図２０に示す画像が表示されているときに、観戦者が、ゲーム装置１０のコントローラの右アナログスティックを操作すると、その操作に応じてオブジェクトカメラＣＯが回転する。オブジェクトカメラＣＯは、右アナログスティックの操作方向に応じた方向に、所定の速度で回転する。観戦者端末の画面には、オブジェクトカメラＣＯの回転中の画像が表示される。そして、図２１に示されるような画像が観戦者端末の表示装置に表示される。
【０１１８】
（各ゲーム装置において行われる処理の詳細）
次に、各ゲーム装置において行われる処理について説明する。まず、観戦者端末に記憶されるデータについて説明した後、観戦者端末において行われる情報処理について説明する。
【０１１９】
（観戦者端末に記憶されるデータ）
図２２は、観戦者のゲーム装置１０のメモリ１２に記憶されるデータの一例を示す図である。
【０１２０】
図２２に示されるように、ゲームプログラムを実行中、観戦者端末のメモリには、受信データと、操作データと、使用中カメラ情報と、プレイヤカメラパラメータと、鳥瞰カメラパラメータと、オブジェクトカメラパラメータとが記憶される。なお、観戦者端末のメモリには、図２２に示す他にも様々なデータやプログラムが記憶される。
【０１２１】
受信データは、ネットワークを介して受信したデータであり、他のゲーム装置１０において行われた操作に応じて生成されたプレイデータである。具体的には、受信データは、「プレイヤキャラクタ情報」と、「プレイヤカメラ情報」と、「移動オブジェクト情報」と、「イベント情報」とを含む。「プレイヤキャラクタ情報」は、各プレイヤキャラクタＰに関する情報であり、各プレイヤキャラクタＰの仮想空間における位置、姿勢、移動速度、ジャンプ速度等を含む。また、「プレイヤカメラ情報」は、各プレイヤキャラクタＰに対応するプレイヤカメラＣＰのカメラパラメータに関する情報であり、ｘｙｚ座標系におけるピッチ角Ｇαおよびヨー角Ｇβと、ｘｙｚ座標系におけるアームベクトルＶＰとを含む。「移動オブジェクト情報」は、移動オブジェクトＴＯの位置、移動方向、移動速度等を含む。「イベント情報」は、ゲームにおいて発生したイベント（例えば、各プレイヤキャラクタＰが弾を発射したこと、発射した弾によって地形オブジェクトＧＯが塗られたこと、発射した弾がプレイヤキャラクタＰに当たったことなど）に関する情報である。
【０１２２】
「操作データ」は、観戦者端末のコントローラに対する操作に応じたデータであり、操作ボタン１６の操作情報、アナログスティック１７の操作情報、慣性センサ１８の検出情報を含む。「使用中カメラ情報」は、現在、観戦者が使用（指定）している仮想カメラを示す情報であり、プレイヤカメラＣＰａ〜ＣＰｄ、鳥瞰カメラＣＢ、オブジェクトカメラＣＯの何れかを示す情報である。また、使用中カメラ情報は、仮想カメラの切り替え中か否かを示す情報と、仮想カメラの切り替え中におけるカメラパラメータとを含む。
【０１２３】
プレイヤカメラパラメータは、受信データから算出される各プレイヤカメラＣＰのカメラパラメータである。プレイヤカメラパラメータは、プレイヤカメラＣＰ毎に、注視点ＦＰと、アームベクトルＶＰと、姿勢情報とを含む。姿勢情報は、プレイヤカメラＣＰのｘｙｚ座標系におけるピッチ角Ｇαおよびヨー角Ｇβである。
【０１２４】
鳥瞰カメラパラメータは、注視点ＦＢと、アームベクトルＶＢと、姿勢情報（ｘｙｚ座標系におけるピッチ角Ｇαおよびヨー角Ｇβ）とを含む。
【０１２５】
また、オブジェクトカメラパラメータは、注視点ＦＯと、アームベクトルＶＯと、姿勢情報（ｘｙｚ座標系におけるピッチ角Ｇαおよびヨー角Ｇβ）とを含む。
【０１２６】
（観戦者端末において行われる処理の詳細）
次に、観戦者のゲーム装置１０において行われる処理の詳細について説明する。図２３は、観戦者端末において行われる情報処理の詳細を示すフローチャートである。図２３に示す処理は、ゲーム装置１０のプロセッサ１１が所定のゲームプログラム（情報処理プログラム）を実行することにより行われる。ゲーム装置１０のプロセッサ１１は、図２３に示す処理を、例えば１／６０秒（１フレーム時間という）間隔で繰り返し実行する。
【０１２７】
図２３に示されるように、観戦者端末のプロセッサ１１（以下、フローチャートにおいて単に「観戦者端末」と表記する）は、まず、通信部１４がネットワークを介して受信した受信データを取得する（ステップＳ１０）。通信部１４によって受信データが受信されると、当該受信データはメモリに一時的に記憶される。観戦者端末は、ステップＳ１０において当該受信データを取得する。次に、観戦者端末は、観戦者端末のコントローラからの操作データを取得する（ステップＳ１１）。
【０１２８】
次に、観戦者端末は、ステップＳ１０で取得した受信データとステップＳ１１で取得した操作データとを用いて、ゲーム処理を実行する（ステップＳ１２）。以下、ステップＳ１２のゲーム処理の詳細について図２４を参照して説明する。
【０１２９】
（観戦者端末におけるゲーム処理）
図２４は、図２３のステップＳ１２のゲーム処理の詳細を示すフローチャートである。
【０１３０】
図２４に示されるように、観戦者端末は、キャラクタ移動処理を行う（ステップＳ２１）。具体的には、観戦者端末は、受信データに基づいて、各プレイヤキャラクタＰの仮想空間における位置を更新する。上述のように、受信データには、各プレイヤキャラクタＰの仮想空間における位置や向き、移動速度、ジャンプ速度等が含まれる。観戦者端末は、受信データに含まれる各プレイヤキャラクタＰの位置に基づいて、各プレイヤキャラクタＰを仮想空間内で移動させる。また、観戦者端末は、キャラクタ移動処理において、受信データに基づいて、各プレイヤキャラクタＰの向きを変更したり、各プレイヤキャラクタＰをジャンプさせたりする。
【０１３１】
次に、観戦者端末は、弾発射処理を行う（ステップＳ２２）。弾発射処理では、観戦者端末は、受信データに基づいて、各プレイヤキャラクタＰが弾（液体）を発射したか否かを判定し、各プレイヤキャラクタＰが弾を発射した場合には、弾を仮想空間に発射させる。受信データのイベント情報には、弾の発射位置および発射方向が含まれる。観戦者端末は、受信データに含まれる弾の発射位置および発射方向に基づいて、弾を仮想空間において移動させる。
【０１３２】
次に、観戦者端末は、オブジェクト移動処理を行う（ステップＳ２３）。受信データには、移動オブジェクトＴＯの位置、移動速度、移動方向等の情報が含まれる。オブジェクト移動処理では、観戦者端末は、受信データに含まれる移動オブジェクトＴＯの位置、移動速度、移動方向に基づいて、移動オブジェクトＴＯを仮想空間内で移動させる。
【０１３３】
次に、観戦者端末は、カメラパラメータ更新処理を行い（ステップＳ２４）、図２４に示す処理を終了する。以下、ステップＳ２４のカメラパラメータ更新処理の詳細について図２５を参照して説明する。
【０１３４】
（観戦者端末におけるカメラパラメータ更新処理）
図２５は、図２４のステップＳ２４のカメラパラメータ更新処理の詳細を示すフローチャートである。
【０１３５】
図２５に示されるように、観戦者端末は、メモリ１２に記憶された使用カメラ情報に基づいて、現在使用している仮想カメラが鳥瞰カメラＣＢか否かを判定する（ステップＳ３１）。現在鳥瞰カメラＣＢを使用している場合（ステップＳ３１：ＹＥＳ）、次に、ステップＳ３２〜Ｓ３５、Ｓ４０、Ｓ４１の処理が行われる。なお、以下に示すステップＳ３２〜Ｓ３５、Ｓ４０、Ｓ４１の処理は、鳥瞰カメラＣＢがズームモードの場合にのみ行われる。鳥瞰カメラＣＢが全体モードの場合には、鳥瞰カメラＣＢが固定の位置および姿勢に設定される。鳥瞰カメラＣＢのズームモードと全体モードとの切り替えは、観戦者端末のコントローラの所定の操作ボタンを操作することによって行われる。
【０１３６】
現在鳥瞰カメラＣＢを使用している場合（ステップＳ３１：ＹＥＳ）、観戦者端末は、操作データに基づいて、鳥瞰カメラＣＢの移動操作が行われたか否かを判定する（ステップＳ３２）。具体的には、観戦者端末は、コントローラの左アナログスティックが操作されたか否かを判定する。
【０１３７】
鳥瞰カメラＣＢの移動操作が行われた場合（ステップＳ３２：ＹＥＳ）、観戦者端末は、鳥瞰カメラＣＢの移動処理を行う（ステップＳ３３）。ここでは、観戦者端末は、上述したように、鳥瞰カメラＣＢの注視点ＦＢを制御面Ｍ１〜Ｍ５上で移動させる。具体的には、観戦者端末は、コントローラの左アナログスティックの操作方向および操作量に基づいて、仮想空間における注視点ＦＢの移動方向および移動量を算出する。注視点ＦＢの移動方向は、制御面に平行な方向である。そして、観戦者端末は、メモリに記憶された鳥瞰カメラパラメータの注視点ＦＢを、算出した移動方向および移動量を用いて更新する。
【０１３８】
ステップＳ３３の処理を行った場合、又は、ステップＳ３２でＮＯと判定した場合、観戦者端末は、操作データに基づいて、鳥瞰カメラＣＢの回転操作が行われたか否かを判定する（ステップＳ３４）。具体的には、観戦者端末は、コントローラの右アナログスティックが操作されたか否かを判定する。
【０１３９】
鳥瞰カメラＣＢの回転操作が行われた場合（ステップＳ３４：ＹＥＳ）、観戦者端末は、鳥瞰カメラＣＢの回転処理を行う（ステップＳ３５）。具体的には、観戦者端末は、コントローラの右アナログスティックの操作方向および操作量に基づいて、仮想空間における鳥瞰カメラＣＢの回転方向および回転量を算出する。そして、観戦者端末は、メモリに記憶された鳥瞰カメラパラメータのアームベクトルＶＢを、算出した回転方向および回転量を用いて更新する。これにより、アームベクトルＶＢは、ｙ軸に平行な直線周りに回転する（図８）。
【０１４０】
一方、現在鳥瞰カメラＣＢを使用していない場合（ステップＳ３１：ＮＯ）、観戦者端末は、使用カメラ情報に基づいて、現在オブジェクトカメラＣＯを使用しているか否かを判定する（ステップＳ３６）。
【０１４１】
現在オブジェクトカメラＣＯを使用している場合（ステップＳ３６：ＹＥＳ）、観戦者端末は、オブジェクトカメラＣＯの移動処理を行う（ステップＳ３７）。ここでは、観戦者端末は、ステップＳ２３で算出した移動オブジェクトＴＯの位置にオブジェクトカメラＣＯの位置を設定し、オブジェクトカメラパラメータを更新する。
【０１４２】
ステップＳ３７の処理を行った場合、観戦者端末は、操作データに基づいて、オブジェクトカメラＣＯの回転操作が行われたか否かを判定する（ステップＳ３８）。具体的には、観戦者端末は、コントローラの右アナログスティックが操作されたか否かを判定する。
【０１４３】
オブジェクトカメラＣＯの回転操作が行われた場合（ステップＳ３８：ＹＥＳ）、観戦者端末は、オブジェクトカメラＣＯの回転処理を行う（ステップＳ３９）。具体的には、観戦者端末は、コントローラの右アナログスティックの操作方向および操作量に基づいて、仮想空間におけるオブジェクトカメラＣＯの回転方向および回転量を算出する。そして、観戦者端末は、メモリに記憶されたオブジェクトカメラパラメータのアームベクトルＶＯを、算出した回転方向および回転量を用いて更新する。これにより、アームベクトルＶＯは、ｙ軸に平行な直線周りに回転する（図１０）。
【０１４４】
ステップＳ３５の処理を行った場合、ステップＳ３４でＮＯと判定した場合、ステップＳ３９の処理を行った場合、又はステップＳ３８でＮＯと判定した場合、観戦者端末は、観戦者端末のコントローラの姿勢が変化したか否かを判定する（ステップＳ４０）。具体的には、観戦者端末は、操作データに含まれるコントローラの慣性センサ１８が検出した加速度及び／又は角速度に基づいて、コントローラの実空間における姿勢が変化したか否かを判定する。
【０１４５】
コントローラの姿勢が変化したと判定した場合（ステップＳ４０：ＹＥＳ）、観戦者端末は、仮想カメラの姿勢変化処理を行う（ステップＳ４１）。具体的には、観戦者端末は、ステップＳ３１でＹＥＳと判定した場合、コントローラの姿勢の変化に基づいて、鳥瞰カメラＣＢのカメラ座標系におけるピッチ角αおよびヨー角βを算出する。次に、観戦者端末は、アームベクトルＶＢと、鳥瞰カメラＣＢのカメラ座標系におけるピッチ角αおよびヨー角βとに基づいて、ｘｙｚ座標系におけるピッチ角Ｇαおよびヨー角Ｇβを算出する。そして、観戦者端末は、算出したｘｙｚ座標系におけるピッチ角Ｇαおよびヨー角Ｇβを、鳥瞰カメラパラメータの姿勢情報としてメモリに記憶する。また、観戦者端末は、ステップＳ３６でＹＥＳと判定した場合、コントローラの姿勢の変化に基づいて、オブジェクトカメラＣＯのカメラ座標系におけるピッチ角αおよびヨー角βを算出する。そして、観戦者端末は、アームベクトルＶＯとオブジェクトカメラＣＯのカメラ座標系におけるピッチ角αおよびヨー角βとに基づいて、ｘｙｚ座標系におけるピッチ角Ｇαおよびヨー角Ｇβを算出し、算出したｘｙｚ座標系におけるピッチ角Ｇαおよびヨー角Ｇβを、オブジェクトカメラパラメータの姿勢情報としてメモリに記憶する。
【０１４６】
ステップＳ４１の処理を行った場合、ステップＳ４０でＮＯと判定した場合、又はステップＳ３６でＮＯと判定した場合、観戦者端末は、受信データに基づいて、各プレイヤカメラＣＰのカメラパラメータを設定する（ステップＳ４２）。具体的には、観戦者端末は、受信データに基づいて、各プレイヤキャラクタＰの位置から、各プレイヤカメラＣＰの注視点ＦＰを算出する。また、観戦者端末は、受信データから各プレイヤカメラＣＰのアームベクトルＶＰと、ｘｙｚ座標系におけるピッチ角Ｇαおよびヨー角Ｇβとを取得する。そして、観戦者端末は、これらの情報を、各プレイヤカメラＣＰのプレイヤカメラパラメータとしてメモリに記憶する。
【０１４７】
ステップＳ４２の処理を行った場合、観戦者端末は、図２５に示す処理を終了する。
【０１４８】
図２３に戻り、観戦者端末は、ステップＳ１２のゲーム処理の後、仮想カメラの切り替え操作が行われたか否かを判定する（ステップＳ１３）。カメラの切り替え操作が行われた場合（ステップＳ１３：ＹＥＳ）、観戦者端末は、切り替え操作に応じて、仮想カメラを切り替える（ステップＳ１４）。具体的には、観戦者端末は、「使用中カメラ情報」に、仮想カメラの切り替え中であることを示す情報を記憶する。ここで、仮想カメラの切り替えは、複数のフレーム時間にわたって行われる。
【０１４９】
ステップＳ１３でＮＯと判定した場合、又は、ステップＳ１４の処理を実行した場合、観戦者端末は、仮想カメラの切り替え中か否かを判定する（ステップＳ１５）。具体的には、観戦者端末は、使用中カメラ情報を参照して、現在仮想カメラを切り替え中か否かを判定する。
【０１５０】
仮想カメラの切り替え中と判定した場合（ステップＳ１５：ＹＥＳ）、観戦者端末は、切替前の仮想カメラのカメラパラメータと、切替後の仮想カメラのカメラパラメータとに基づいて、カメラパラメータを算出する（ステップＳ１６）。具体的には、観戦者端末は、切替前の仮想カメラの各カメラパラメータと切替後の仮想カメラの各カメラパラメータとをエルミート補間法により補間することで、切り替え中の仮想カメラの各カメラパラメータを算出する。例えば、切替前の仮想カメラがプレイヤカメラＣＰａであり、切替後の仮想カメラが鳥瞰カメラＣＢである場合、観戦者端末は、プレイヤカメラＣＰａの注視点ＦＰａと鳥瞰カメラＣＢの注視点ＦＢとをエルミート補間法により補間することで、切り替え中の仮想カメラの注視点Ｆを算出する。同様に、観戦者端末は、プレイヤカメラＣＰａのアームベクトルＶＰａと鳥瞰カメラＣＢのアームベクトルＶＢとをエルミート補間法により補間することで、切り替え中の仮想カメラのアームベクトルＶを算出する。また、観戦者端末は、プレイヤカメラＣＰａのｘｙｚ座標系におけるピッチ角Ｇαと鳥瞰カメラＣＢのｘｙｚ座標系におけるピッチ角Ｇαとをエルミート補間法により補間することで、切り替え中の仮想カメラのｘｙｚ座標系におけるピッチ角Ｇαを算出する。また、観戦者端末は、プレイヤカメラＣＰａのｘｙｚ座標系におけるヨー角Ｇβと鳥瞰カメラＣＢのｘｙｚ座標系におけるヨー角Ｇβとをエルミート補間法により補間することで、切り替え中の仮想カメラのｘｙｚ座標系におけるヨー角Ｇβを算出する。そして、観戦者端末は、算出した各カメラパラメータを、使用中カメラ情報としてメモリ１２に記憶する。
【０１５１】
ステップＳ１５でＮＯと判定した場合、又は、ステップＳ１６の処理を実行した場合、観戦者端末は、仮想カメラに基づいてゲーム画像を生成する（ステップＳ１７）。具体的には、使用中カメラ情報により指定された仮想カメラのカメラパラメータに基づいて、ゲーム画像が生成される。また、仮想カメラが切り替え中の場合には、使用中カメラ情報に含まれるカメラパラメータに基づいて、ゲーム画像が生成される。観戦者端末は、生成したゲーム画像を表示装置に表示する（ステップＳ１８）。これにより、仮想カメラが切り替え中でない場合には、指定された仮想カメラ（使用中の仮想カメラ）から仮想空間を見た画像が表示される。また、仮想カメラの切り替え中の場合には、切り替え中の画像が表示される。以上で、観戦者端末は、図２３に示す処理を終了する。
【０１５２】
次に、プレイヤのゲーム装置１０（プレイヤ端末）において行われる処理について説明する。
【０１５３】
（プレイヤ端末に記憶されるデータ）
図２６は、プレイヤ端末のメモリ１２に記憶されるデータの一例を示す図である。
【０１５４】
図２６に示されるように、ゲームプログラムを実行中、プレイヤ端末には、受信データと、操作データと、自プレイヤキャラクタ情報と、プレイヤカメラパラメータとが記憶される。なお、プレイヤ端末には、図２６に示す他にも様々なデータやプログラムが記憶される。
【０１５５】
受信データは、ネットワークを介して受信したデータであり、他のゲーム装置１０において行われた操作に応じて生成されたプレイデータである。具体的には、受信データは、「他プレイヤキャラクタ情報」と、「移動オブジェクト情報」と、「イベント情報」とを含む。「他プレイヤキャラクタ情報」は、他のゲーム装置１０に対応する各プレイヤキャラクタＰに関する情報（位置、向き、移動方向、移動速度、ジャンプ速度等）である。これらの情報は、図２２で説明した観戦者端末に記憶されるプレイヤキャラクタ情報と同じ情報であるため詳細な説明を省略する。
【０１５６】
「操作データ」は、プレイヤ端末のコントローラに対する操作に応じたデータである。「自プレイヤキャラクタ情報」は、自機に対応するプレイヤキャラクタＰに関する情報であり、プレイヤキャラクタＰの位置、向き、移動方向、移動速度、ジャンプ速度等を含む。
【０１５７】
プレイヤカメラパラメータは、プレイヤ端末に対応するプレイヤキャラクタＰに追従するプレイヤカメラＣＰのカメラパラメータである。プレイヤカメラパラメータは、注視点ＦＰと、アームベクトルＶＰと、姿勢情報とを含む。これらの情報は、図２２で説明した観戦者端末に記憶される情報と同じ情報であるため詳細な説明を省略する。
【０１５８】
（プレイヤ端末において行われる処理の詳細）
次に、プレイヤのゲーム装置１０において行われる処理の詳細について説明する。図２７は、プレイヤ端末において行われる情報処理の詳細を示すフローチャートである。図２７では、図２３と同様の処理については説明を省略する。なお、図２７に示す処理は、プレイヤ端末のプロセッサ１１が所定のゲームプログラム（情報処理プログラム）を実行することにより行われる。プレイヤ端末のプロセッサ１１は、図２７に示す処理を、例えば１／６０秒（１フレーム時間という）間隔で繰り返し実行する。
【０１５９】
図２７に示されるように、プレイヤ端末のプロセッサ１１（以下、フローチャートでは単に「プレイヤ端末」と表記する）は、通信部１４がネットワークを介して受信した受信データを取得し（ステップＳ５０）、自機のコントローラからの操作データを取得する（ステップＳ５１）。
【０１６０】
次に、プレイヤ端末は、ステップＳ５０で取得した受信データとステップＳ５１で取得した操作データとを用いて、ゲーム処理を実行する（ステップＳ５２）。以下、ステップＳ５２のゲーム処理の詳細について図２８を参照して説明する。
【０１６１】
（プレイヤ端末におけるゲーム処理）
図２８は、図２７のステップＳ５２のゲーム処理の詳細を示すフローチャートである。
【０１６２】
図２８に示されるように、プレイヤ端末は、キャラクタ移動処理を行う（ステップＳ６１）。具体的には、プレイヤ端末は、キャラクタ移動処理において、ステップＳ５１で取得した操作データに基づいて、自機のプレイヤキャラクタＰの位置、向き、移動方向、移動速度、ジャンプ速度等を算出し、自機のプレイヤキャラクタＰを仮想空間内で移動させたり、ジャンプさせたり、向きを変更したりする。操作データに基づいて算出されたプレイヤキャラクタＰの位置等の情報は、自プレイヤキャラクタ情報としてメモリ１２に記憶される。ここで記憶された自プレイヤキャラクタ情報は、プレイデータとして、後述するステップＳ６５のプレイデータ送信処理において他のゲーム装置１０に送信される。
【０１６３】
また、プレイヤ端末は、ステップＳ６１のキャラクタ移動処理において、ステップＳ５０で取得した受信データに基づいて、他のゲーム装置１０に対応する他のプレイヤキャラクタを仮想空間内で移動させたり、ジャンプさせたり、向きを変更したりする。
【０１６４】
次に、プレイヤ端末は、弾発射処理を行う（ステップＳ６２）。プレイヤ端末は、弾発射処理において、ステップＳ５１で取得した操作データに基づいて、自機のプレイヤキャラクタＰが弾を発射したか否かを判定し、弾を発射した場合には、弾の発射方向を算出し、自機のプレイヤキャラクタＰに弾を発射させる。具体的には、プレイヤ端末は、自機のプレイヤキャラクタＰに対応するプレイヤカメラＣＰの撮像方向に弾を発射させる。これにより、例えばプレイヤ端末の表示装置の画面の中心に向かって弾が発射される。操作データに基づいて弾が発射された場合、弾が発射されたことを示す情報および弾の発射方向を示す情報が、プレイデータとしてメモリ１２に記憶される。ここで記憶されたプレイデータは、後述するステップＳ６５のプレイデータ送信処理において他のゲーム装置１０に送信される。
【０１６５】
また、プレイヤ端末は、ステップＳ６２の弾発射処理において、ステップＳ５０で取得した受信データに基づいて、他のゲーム装置１０に対応する他のプレイヤキャラクタが発射した弾を仮想空間内で移動させる。受信データには、他のプレイヤキャラクタが弾を発射したことを示すイベント情報が含まれ、プレイヤ端末は、当該イベント情報に基づいて、他のプレイヤキャラクタが発射した弾を仮想空間において移動させる。
【０１６６】
次に、プレイヤ端末は、オブジェクト移動処理を行う（ステップＳ６３）。例えば、プレイヤ端末は、自機のプレイヤキャラクタＰが移動オブジェクトＴＯ上にいる場合、移動オブジェクトＴＯを所定の経路にしたがって移動させる。この場合、プレイヤ端末は、移動オブジェクトＴＯの移動後の位置や移動方向に関する情報をプレイデータとしてメモリに記憶する。ここで記憶されたプレイデータは、後述するステップＳ６５のプレイデータ送信処理において他のゲーム装置１０に送信される。また、プレイヤ端末は、例えば、受信データの移動オブジェクト情報に基づいて、移動オブジェクトＴＯを移動させる。
【０１６７】
次に、プレイヤ端末は、プレイヤカメラ制御処理を行う（ステップＳ６４）。以下、ステップＳ６４のプレイヤカメラ制御処理の詳細について図２９を参照して説明する。
【０１６８】
（プレイヤ端末におけるプレイヤカメラ制御処理）
図２９は、図２８のステップＳ６４のプレイヤカメラ制御処理の詳細を示すフローチャートである。
【０１６９】
図２９に示されるように、プレイヤ端末は、プレイヤキャラクタＰの位置からプレイヤカメラＣＰの注視点ＦＰを算出しメモリ１２に記憶する（ステップＳ７１）。注視点ＦＰは、例えば、プレイヤキャラクタＰの位置からｙ軸方向に所定の距離だけ離れた位置に設定される。次に、プレイヤ端末は、操作データに基づいて、プレイヤカメラＣＰの回転操作が行われたか否かを判定する（ステップＳ７２）。具体的には、プレイヤ端末は、コントローラの右アナログスティックが操作されたか否かを判定する。
【０１７０】
プレイヤカメラＣＰの回転操作が行われた場合（ステップＳ７２：ＹＥＳ）、プレイヤ端末は、プレイヤカメラＣＰの回転処理を行う（ステップＳ７３）。具体的には、プレイヤ端末は、コントローラの右アナログスティックの操作方向および操作量に基づいて、プレイヤカメラＣＰの回転方向および回転量を算出する。そして、プレイヤ端末は、メモリ１２に記憶されたプレイヤカメラパラメータのアームベクトルＶＰを、算出した回転方向および回転量を用いて回転させる。
【０１７１】
ステップＳ７３の処理を行った場合、又はステップＳ７２でＮＯと判定した場合、プレイヤ端末は、プレイヤ端末のコントローラの姿勢が変化したか否かを判定する（ステップＳ７４）。具体的には、プレイヤ端末は、コントローラの慣性センサ１８が検出した加速度及び／又は角速度に基づいて、コントローラの実空間における姿勢が変化したか否かを判定する。
【０１７２】
コントローラの姿勢が変化したと判定した場合（ステップＳ７４：ＹＥＳ）、プレイヤ端末は、プレイヤカメラＣＰの姿勢変化処理を行う（ステップＳ７５）。具体的には、プレイヤ端末は、コントローラの姿勢の変化に基づいて、プレイヤカメラＣＰのカメラ座標系におけるピッチ角αおよびヨー角βを算出する。そして、プレイヤ端末は、アームベクトルＶＰと、プレイヤカメラＣＰのカメラ座標系におけるピッチ角αおよびヨー角βとに基づいて、ｘｙｚ座標系におけるピッチ角Ｇαおよびヨー角Ｇβを算出し、算出したｘｙｚ座標系におけるピッチ角Ｇαおよびヨー角Ｇβを、プレイヤカメラパラメータの姿勢情報としてメモリ１２に記憶する。
【０１７３】
ステップＳ７５の処理を行った場合、又はステップＳ７４でＮＯと判定した場合、プレイヤ端末は、図２９に示す処理を終了する。
【０１７４】
図２８に戻り、プレイヤ端末は、ステップＳ６４の処理の後、プレイデータ送信処理を行う（ステップＳ６５）。ここで、プレイデータは、プレイヤ端末において行われた操作に基づいて生成されるデータである。具体的には、プレイヤ端末は、プレイデータとして、ステップＳ６１のキャラクタ移動処理を行った後のプレイヤキャラクタＰの位置、向き、移動方向、移動速度、ジャンプ速度等に関するデータを、通信部１４を介してネットワークに送信する。また、ステップＳ６２の弾発射処理において自機のプレイヤキャラクタＰが弾を発射した場合、プレイヤ端末は、プレイデータとして、弾の発射方向に関する情報を含むイベント情報を、通信部１４を介してネットワークに送信する。また、ステップＳ６３のオブジェクト移動処理において自機のプレイヤキャラクタＰが移動オブジェクトＴＯを移動させた場合、プレイヤ端末は、プレイデータとして、移動オブジェクトＴＯの位置および移動方向に関する情報を、通信部１４を介してネットワークに送信する。また、プレイヤ端末は、プレイデータとして、ステップＳ６４のプレイヤカメラ制御処理において算出したプレイヤカメラＣＰの姿勢情報（ｘｙｚ座標系におけるピッチ角Ｇαおよびヨー角Ｇβ）を、通信部１４を介してネットワークに送信する。ステップＳ６５において送信されたプレイデータは、上記図２３のステップＳ１０において観戦者端末によって受信されるとともに、上記ステップＳ５０において他のプレイヤ端末によって受信される。
【０１７５】
ステップＳ６５の処理を行った後、プレイヤ端末は、図２８の処理を終了する。
【０１７６】
図２７に戻り、プレイヤ端末は、プレイヤカメラＣＰに基づいてゲーム画像を生成する（ステップＳ５３）。そして、プレイヤ端末は、生成したゲーム画像を表示装置に表示する（ステップＳ５４）。
【０１７７】
なお、上記処理は単なる例示であり、例えば各ステップの順番を入れ替えたり、他のステップが加えられたり、上記ステップの一部が省略されたりしてもよい。
【０１７８】
以上のように、本実施形態では、複数のプレイヤ端末と観戦者端末がネットワークに接続され、複数のプレイヤによってゲームが行われる。観戦者は、この複数のプレイヤによって行われるゲームを観戦することができる。観戦者は、仮想カメラについて、第１のモード（ズームモードの鳥瞰カメラＣＢを用いるモード）と、第２のモード（各プレイヤのプレイヤカメラＣＰを用いるモード）と、第３のモード（オブジェクトカメラＣＯを用いるモード）と、第４のモード（全体モードの鳥瞰カメラＣＢを用いるモード）とのうちの何れかのモードを指定し、指定したモードの仮想カメラを用いてゲームを観戦することができる。
【０１７９】
観戦者は、第１のモードにおいて、ズームモードの鳥瞰カメラＣＢを仮想空間内で移動させることができる。観戦者端末のコントローラに対する移動操作に基づいて、鳥瞰カメラＣＢの高さが当該移動操作に基づいて指定される位置（鳥瞰カメラＣＢの注視点ＦＢ。鳥瞰カメラＣＢの視点でもよい）に応じて予め設定された高さとなるように、鳥瞰カメラＣＢが移動される。具体的には、仮想空間には高さマップが設定される。高さマップは、仮想空間に存在する全てのオブジェクトよりも高い位置に設定される。観戦者の移動操作に基づいて、鳥瞰カメラＣＢの注視点ＦＢが高さマップ上を移動する。鳥瞰カメラＣＢの視点は、当該注視点ＦＢから所定方向に所定距離（固定であってもよいし、観戦者の操作に応じて可変であってもよい）だけ離れた位置に設定される。
【０１８０】
このように鳥瞰カメラＣＢの移動が制御されることにより、観戦者は、鳥瞰カメラＣＢを仮想空間内で移動させることができ、仮想空間における所望の場所を見ることができる。このとき、鳥瞰カメラＣＢの高さは予め設定された適切な値になるため、観戦者は、仮想カメラの移動操作を容易に行うことができる。例えば、観戦者が、高低差の大きな仮想空間において仮想カメラを左右方向に加えて高さ方向も手動で調整しなければならない場合、見やすい位置に仮想カメラを移動させることが困難である。本実施形態では、高さ方向の位置は自動的に決定されるため、観戦者は見やすい位置に素早く仮想カメラを移動させることができる。また、高さ方向の位置が自動的に決定されるため、高さマップが地形オブジェクトよりも高い位置に設定されている場合には、仮想カメラが地形オブジェクトに接触したり、近づき過ぎたりすることを防止することができる。
【０１８１】
また、鳥瞰カメラの高さが予め定められているため、仮想カメラを鳥瞰カメラに切り替える際に適切でない視点（例えば、地形に近すぎる位置や地形の内部等）に切り替わることを防止することができる。このため、観戦者は、第１の視点から第２の視点、さらに第３の視点へと臨機応変に仮想カメラを切り替えつつ臨場感のある観戦を行うことができる。
【０１８２】
また、本実施形態では、仮想カメラを切り替える場合に、切替中の仮想カメラの位置および向きが算出され、仮想カメラの切替中のゲーム画像が表示装置に表示される。このため、観戦者は、切替前の仮想カメラの位置から切替後の仮想カメラの位置に仮想カメラが移動する様子を見ることができ、切替前と切替後の位置関係を容易に把握することができる。
【０１８３】
（変形例）
以上、本実施形態について説明したが、他の実施形態では、以下のように構成されてもよい。
【０１８４】
例えば、上記実施形態では、観戦者の移動操作に基づいて鳥瞰カメラＣＢの注視点を制御面上で移動させることにより、鳥瞰カメラの視点を移動させた。他の実施形態では、観戦者の移動操作に基づいて鳥瞰カメラＣＢの視点を制御面上で移動させてもよい。この場合において、制御面は、仮想空間の地形オブジェクトやプレイヤオブジェクト、他の任意のオブジェクトよりも高い位置に設定されてもよい。
【０１８５】
また、上記実施形態では、移動オブジェクトＴＯは、仮想空間を所定の経路にしたがって移動し、オブジェクトカメラＣＯは、移動オブジェクトＴＯに追従して移動するものとした。他の実施形態では、移動オブジェクトＴＯは、プレイヤの操作に応じて移動するものであってもよい。例えば、移動オブジェクトＴＯは、プレイヤキャラクタＰが把持する特定のオブジェクトであってもよい。例えば、プレイヤキャラクタＰが当該特定のオブジェクトを把持して仮想空間における特定の場所に運んだ場合に勝利となるゲームが行われてもよい。この場合、特定のオブジェクトは、ゲームの結果を左右する重要なオブジェクトであり、オブジェクトカメラＣＯは、当該特定のオブジェクトに追従して移動する。オブジェクトカメラＣＯがこの特定のオブジェクトに追従して移動するため、観戦者は、オブジェクトカメラＣＯを用いて、特定のオブジェクトの周辺を常に観戦することができる。この場合においても、オブジェクトカメラＣＯは、特定のオブジェクト周りに回転可能であってもよいし、オブジェクトカメラＣＯの姿勢が変化可能であってもよい。
【０１８６】
また、オブジェクトカメラＣＯは、仮想空間を移動しない特定のオブジェクトに固定されてもよい。例えば、仮想空間における特定の領域が液体で塗りつぶされた場合に勝利となるゲームが行われる場合、当該特定の領域は、ゲームの結果を左右する重要なオブジェクトである。このため、オブジェクトカメラＣＯを当該特定の領域に固定することにより、観戦者は、特定の領域の周辺を常に観戦することができる。なお、オブジェクトカメラＣＯが特定のオブジェクトに固定される場合においても、オブジェクトカメラＣＯは当該特定のオブジェクト周りに回転可能であってもよいし、オブジェクトカメラＣＯの姿勢が変化可能であってもよい。
【０１８７】
また、上記実施形態では、各ゲーム装置１０に対する操作に基づいて、各ゲーム装置１０においてプレイヤキャラクタの位置や向き、仮想カメラの注視点や向き等が算出され、当該算出結果がプレイデータとして送信された。他の実施形態では、各ゲーム装置１０に対する操作に応じた生の操作データ（例えば、コントローラの操作ボタンが押下されたことを示すデータ、コントローラのアナログスティックの操作方向や操作量を示すデータ、慣性センサからのデータ等）がプレイデータとして送信されてもよい。この場合、ゲーム装置１０は、他のゲーム装置１０に対する操作に応じた生の操作データを受信し、当該受信した生の操作データに基づいて、当該他のゲーム装置１０に対応するプレイヤキャラクタの位置や向き、仮想カメラの位置や向き等を算出してもよい。
【０１８８】
また、上記実施形態では、複数のゲーム装置１０はインターネットに接続され、インターネットを介して上記ゲームを行うものとした。他の実施形態では、複数のゲーム装置１０は同一のＬＡＮに接続され、同一の場所において上記ゲームが行われてもよい。この場合、複数のゲーム装置１０は、サーバを介さずに上記ゲームを行う。また、この場合において、複数のゲーム装置１０は、無線または有線で互いに接続されて直接通信を行ってもよいし、例えば、無線ＬＡＮアクセスポイントを介して通信を行ってもよい。
【０１８９】
また、上記実施形態では、複数のゲーム装置１０は、インターネット上のサーバを介して通信を行うものとしたが、他の実施形態では、複数のゲーム装置１０は、サーバを介さずにインターネットを経由して直接通信を行ってもよい。
【０１９０】
また、上記実施形態では、上記フローチャートで示した処理は、各ゲーム装置１０において行われるものとした。他の実施形態では、上述した処理はゲームシステムに含まれるプレイヤ端末、観戦者端末、およびサーバのうちの何れにおいて実行されてもよく、上記処理のうちの少なくとも一部はインターネット上のサーバによって実行されてもよい。
【０１９１】
例えば、ゲーム装置１０は、プレイヤや観戦者による操作を受け付ける処理およびゲーム画像を表示する処理のみを行い、その他の処理についてはサーバが実行するように構成されてもよい。例えば、各プレイヤ端末は、プレイヤの操作に応じた操作データをプレイデータとしてサーバに送信してもよい。サーバは、各ゲーム装置１０から操作データを受信し、上述したキャラクタ移動処理、弾発射処理、オブジェクト移動処理、カメラパラメータ更新処理、プレイヤカメラ制御処理を行い、これらの処理結果に基づいてゲーム画像を生成する。そして、サーバは、生成したゲーム画像を各ゲーム装置１０（プレイヤ端末、観戦者端末）に送信することにより、各ゲーム装置１０の表示装置にゲーム画像を表示させてもよい。
【０１９２】
また、例えば、各プレイヤ端末は、プレイヤの操作に基づいて上述したキャラクタ移動処理を行い、当該処理の結果をプレイデータとしてサーバに送信してもよい。この場合、サーバは、各プレイヤ端末から受信したプレイデータに基づいて、他の処理（弾発射処理、オブジェクト移動処理、カメラパラメータ更新処理、プレイヤカメラ制御処理等）を行う。サーバは、これらの処理結果を各ゲーム装置１０に送信する。各ゲーム装置１０（プレイヤ端末、観戦者端末）は、受信した処理結果に基づいてゲーム画像を生成する。そして、各ゲーム装置１０は、生成したゲーム画像を表示装置に表示させてもよい。
【０１９３】
また、上記実施形態では、多人数ゲームとして、複数のプレイヤが対戦する対戦ゲームが行われ、対戦ゲームにおいて射撃を行うゲームが行われた。他の実施形態では、対戦ゲームや射撃を行うゲームに限らず、任意のゲーム（例えば、ロールプレイングゲーム、レースゲーム等）が行われてもよい。
【０１９４】
また、上記実施形態では、ゲーム装置１０において上述したゲームを行うものとしたが、ゲーム装置以外の他の情報処理装置（例えば、パーソナルコンピュータ、スマートフォン、タブレット端末等）において上述したゲームが行われてもよい。
【０１９５】
以上、本発明について説明したが、上記説明は本発明の例示に過ぎず、種々の改良や変形が加えられてもよい。
【符号の説明】
【０１９６】
１  情報処理システム
１０  ゲーム装置
１１  プロセッサ
１２  メモリ
１４  通信部
１５  表示装置
１６  操作ボタン
１７  アナログスティック
１８  慣性センサ
Ｐ  プレイヤキャラクタ
ＴＯ  移動オブジェクト
ＣＰ  プレイヤカメラ
ＣＢ  鳥瞰カメラ
ＣＯ  オブジェクトカメラ
Ｍ  高さマップ
【図１】
2018191769.tif 000003
【図２】
2018191769.tif 000004
【図３】
2018191769.tif 000005
【図４】
2018191769.tif 000006
【図５】
2018191769.tif 000007
【図６】
2018191769.tif 000008
【図７】
2018191769.tif 000009
【図８】
2018191769.tif 000010
【図９】
2018191769.tif 000011
【図１０】
2018191769.tif 000012
【図１１】
2018191769.tif 000013
【図１２Ａ】
2018191769.tif 000014
【図１２Ｂ】
2018191769.tif 000015
【図１３】
2018191769.tif 000016
【図１４】
2018191769.tif 000017
【図１５】
2018191769.tif 000018
【図１６】
2018191769.tif 000019
【図１７】
2018191769.tif 000020
【図１８】
2018191769.tif 000021
【図１９】
2018191769.tif 000022
【図２０】
2018191769.tif 000023
【図２１】
2018191769.tif 000024
【図２２】
2018191769.tif 000025
【図２３】
2018191769.tif 000026
【図２４】
2018191769.tif 000027
【図２５】
2018191769.tif 000028
【図２６】
2018191769.tif 000029
【図２７】
2018191769.tif 000030
【図２８】
2018191769.tif 000031
【図２９】
2018191769.tif 000032