(57)【要約】    【課題】  操作のバリエーションを多くできる一方で、必要に応じて簡単な操作でプレイすることもできる。    【構成】  ゲームシステム１は、本体装置２を含み、この本体装置には左コントローラ３および右コントローラ４が着脱可能に設けられる。左コントローラおよび右コントローラは、それぞれ、複数の操ボタンおよびアナログスティックを備える。第１の操作モードでは、プレイヤの操作に従ってプレイヤキャラクタ（１０２）の動作が制御される。第２の操作モードでは、サブキャラクタ（１１０）が出現され、ＺＬボタン（３９）の押下に応じて敵キャラクタ（１０４）を攻撃する場合を除いて、サブキャラクタの動作は自動制御される。第３の操作モードでは、プレイヤの操作に従ってプレイヤキャラクタの移動およびサブキャラクタの移動がそれぞれ制御される。【選択図】  図１
2020130213.tif 000002
【特許請求の範囲】
【請求項１】
情報処理装置のコンピュータに、
プレイヤによる操作装置に対する操作入力に基づいた操作データを取得し、
前記操作データに基づいて仮想空間内のプレイヤキャラクタを制御させ、
前記操作データに基づいた前記プレイヤキャラクタの制御において、
第１の操作モードのとき、
第１の操作入力に基づいて前記プレイヤキャラクタを制御し、
第１の切替指示入力に応じて前記仮想空間内にサブキャラクタを出現させるとともに第２の操作モードに移行し、
前記第２の操作モードのとき、
前記第１の操作入力に基づいて前記プレイヤキャラクタを制御し、
前記サブキャラクタの少なくとも一部の挙動を自動制御し、
第２の切替指示入力に応じて第３の操作モードに移行し、
前記第３の操作モードのとき、
前記第１の操作入力に基づいて前記プレイヤキャラクタを制御し、
第２の操作入力に基づいて少なくとも前記サブキャラクタの移動を制御させる、ゲームプログラム。
【請求項２】
前記コンピュータにさらに、
前記サブキャラクタに関するパラメータを前記情報処理装置のメモリに記憶させ、
前記第２の操作モードおよび前記第３の操作モードにおいて前記パラメータを減少させ、
前記第１の操作モードにおいて前記パラメータを増加させ、
前記第２の操作モードまたは前記第３の操作モードにおいて前記パラメータが所定値まで減少した場合に、前記サブキャラクタを消去して前記第１の操作モードに移行させる、請求項１記載のゲームプログラム。
【請求項３】
前記コンピュータにさらに、
前記第２操作モードまたは前記第３の操作モードにおいて、第３の切替指示に応じて前記サブキャラクタを消去して前記第１の操作モードに移行させる、請求項２記載のゲームプログラム。
【請求項４】
前記操作装置には第１の方向入力部と第２の方向入力部が設けられ、
前記第１の操作入力は前記第１の方向入力部に対する方向入力であって、前記第２の操作入力は前記第２の方向入力部に対する方向入力である、請求項１から３までのいずれかに記載のゲームプログラム。
【請求項５】
前記コンピュータにさらに、
前記第１の操作モードおよび前記第２の操作モードにおいて、前記第２の操作入力に基づいて仮想カメラの制御を行い、
前記第３の操作モードにおいて前記仮想カメラを前記プレイヤキャラクタおよび前記サブキャラクタの位置に基づいて自動制御させる、請求項４記載のゲームプログラム。
【請求項６】
前記サブキャラクタには、前記プレイヤキャラクタと前記サブキャラクタとを結ぶ連結オブジェクトが接続され、
前記コンピュータにさらに、
前記第２の操作モードおよび前記第３の操作モードにおいて、
前記プレイヤキャラクタおよび前記サブキャラクタの位置および動きに応じて前記連結オブジェクトを制御させる、請求項１から５までのいずれかに記載のゲームプログラム。
【請求項７】
前記コンピュータにさらに、
攻撃指示入力に基づいて、前記仮想空間内の敵キャラクタに対して少なくとも前記プレイヤキャラクタに攻撃を行わせる、請求項１から５までのいずれかに記載のゲームプログラム。
【請求項８】
前記サブキャラクタには、前記プレイヤキャラクタと前記サブキャラクタとを結ぶ連結オブジェクトが接続され、
前記コンピュータにさらに、
前記第２の操作モードおよび前記第３の操作モードにおいて、
前記プレイヤキャラクタおよび前記サブキャラクタの位置および動きに応じて前記連結オブジェクトを制御し、前記連結オブジェクトと、前記敵キャラクタとの位置関係に基づいて、前記プレイヤキャラクタと前記サブキャラクタに所定のアクションを行わせる、請求項７記載のゲームプログラム。
【請求項９】
前記第２の切替指示入力は、前記操作装置の所定のキーへの入力が継続していることであり、
前記コンピュータにさらに、
前記第３の操作モードにおいて、前記所定のキーへの入力が解除された場合に、前記第２の操作モードに移行させる、請求項１から８までのいずれかに記載のゲームプログラム。
【請求項１０】
プロセッサと、操作部を備え、
前記プロセッサは、
前記操作部に対する操作入力に基づいた操作データを取得し、
前記操作データに基づいて仮想空間内のプレイヤキャラクタを制御し、
前記操作データに基づいた前記プレイヤキャラクタの制御において、
第１の操作モードのとき、
第１の操作入力に基づいて前記プレイヤキャラクタを制御し、
第１の切替指示入力に応じて前記仮想空間内にサブキャラクタを出現させるとともに第２の操作モードに移行し、
前記第２の操作モードのとき、
前記第１の操作入力に基づいて前記プレイヤキャラクタを制御し、
前記サブキャラクタの少なくとも一部の挙動を自動制御し、
第２の切替指示入力に応じて第３の操作モードに移行し、
前記第３の操作モードのとき、
前記第１の操作入力に基づいて前記プレイヤキャラクタを制御し、
第２の操作入力に基づいて少なくとも前記サブキャラクタの移動を制御する、情報処理システム。
【請求項１１】
前記プロセッサは、
前記サブキャラクタに関するパラメータを前記情報処理システムのメモリに記憶し、
前記第２の操作モードおよび前記第３の操作モードにおいて前記パラメータを減少させ、
前記第１の操作モードにおいて前記パラメータを増加させ、
前記第２の操作モードまたは前記第３の操作モードにおいて前記パラメータが所定値まで減少した場合に、前記サブキャラクタを消去して前記第１の操作モードに移行する、請求項１０記載の情報処理システム。
【請求項１２】
前記コンピュータにさらに、
前記第２操作モードまたは前記第３の操作モードにおいて、第３の切替指示に応じて前記サブキャラクタを消去して前記第１の操作モードに移行する、請求項１１記載の情報処理システム。
【請求項１３】
前記操作装置には第１の方向入力部と第２の方向入力部が設けられ、
前記第１の操作入力は前記第１の方向入力部に対する方向入力であって、前記第２の操作入力は前記第２の方向入力部に対する方向入力である、請求項１０から１２までのいずれかに記載の情報処理システム。
【請求項１４】
前記プロセッサは、さらに、
前記第１の操作モードおよび前記第２の操作モードにおいて、前記第２の操作入力に基づいて仮想カメラの制御を行い、
前記第３の操作モードにおいて前記仮想カメラを前記プレイヤキャラクタおよび前記サブキャラクタの位置に基づいて自動制御する、請求項１３記載の情報処理システム。
【請求項１５】
前記サブキャラクタには、前記プレイヤキャラクタと前記サブキャラクタとを結ぶ連結オブジェクトが接続され、
前記プロセッサは、さらに、
前記第２の操作モードおよび前記第３の操作モードにおいて、
前記プレイヤキャラクタおよび前記サブキャラクタの位置および動きに応じて前記連結オブジェクトを制御する、請求項１０から１４までのいずれかに記載の情報処理システム。
【請求項１６】
前記プロセッサは、さらに、
攻撃指示入力に基づいて、前記仮想空間内の敵キャラクタに対して少なくとも前記プレイヤキャラクタに攻撃を行わせる、請求項１０から１４までのいずれかに記載の情報処理システム。
【請求項１７】
前記サブキャラクタには、前記プレイヤキャラクタと前記サブキャラクタとを結ぶ連結オブジェクトが接続され、
前記プロセッサは、さらに、
前記第２の操作モードおよび前記第３の操作モードにおいて、
前記プレイヤキャラクタおよび前記サブキャラクタの位置および動きに応じて前記連結オブジェクトを制御し、前記連結オブジェクトと、前記敵キャラクタとの位置関係に基づいて、前記プレイヤキャラクタと前記サブキャラクタに所定のアクションを行わせる、請求項１６記載の情報処理システム。
【請求項１８】
前記第２の切替指示入力は、前記操作装置の所定のキーへの入力が継続していることであり、
前記プロセッサは、さらに、
前記第３の操作モードにおいて、前記所定のキーへの入力が解除された場合に、前記第２の操作モードに移行させる、請求項１０から１７までのいずれかに記載の情報処理システム。
【請求項１９】
プロセッサを備える情報処理装置であって、
前記プロセッサは、
プレイヤによる操作装置に対する操作入力に基づいた操作データを取得し、
前記操作データに基づいて仮想空間内のプレイヤキャラクタを制御し、
前記操作データに基づいた前記プレイヤキャラクタの制御において、
第１の操作モードのとき、
第１の操作入力に基づいて前記プレイヤキャラクタを制御し、
第１の切替指示入力に応じて前記仮想空間内にサブキャラクタを出現させるとともに第２の操作モードに移行し、
前記第２の操作モードのとき、
前記第１の操作入力に基づいて前記プレイヤキャラクタを制御し、
前記サブキャラクタの少なくとも一部の挙動を自動制御し、
第２の切替指示入力に応じて第３の操作モードに移行し、
前記第３の操作モードのとき、
前記第１の操作入力に基づいて前記プレイヤキャラクタを制御し、
第２の操作入力に基づいて少なくとも前記サブキャラクタの移動を制御する、情報処理装置。
【請求項２０】
前記プロセッサは、
前記サブキャラクタに関するパラメータを前記情報処理装置のメモリに記憶し、
前記第２の操作モードおよび前記第３の操作モードにおいて前記パラメータを減少させ、
前記第１の操作モードにおいて前記パラメータを増加させ、
前記第２の操作モードまたは前記第３の操作モードにおいて前記パラメータが所定値まで減少した場合に、前記サブキャラクタを消去して前記第１の操作モードに移行する、請求項１９記載の情報処理装置。
【請求項２１】
プレイヤによる操作装置に対する操作入力に基づいた操作データを取得し、
前記操作データに基づいて仮想空間内のプレイヤキャラクタを制御させ、
前記操作データに基づいた前記プレイヤキャラクタの制御において、
第１の操作モードのとき、
第１の操作入力に基づいて前記プレイヤキャラクタを制御し、
第１の切替指示入力に応じて前記仮想空間内にサブキャラクタを出現させるとともに第２の操作モードに移行し、
前記第２の操作モードのとき、
前記第１の操作入力に基づいて前記プレイヤキャラクタを制御し、
前記サブキャラクタの少なくとも一部の挙動を自動制御し、
第２の切替指示入力に応じて第３の操作モードに移行し、
前記第３の操作モードのとき、
前記第１の操作入力に基づいて前記プレイヤキャラクタを制御し、
第２の操作入力に基づいて少なくとも前記サブキャラクタの移動を制御させる、ゲーム制御方法。
【請求項２２】
前記サブキャラクタに関するパラメータを情報処理装置のメモリに記憶させ、
前記第２の操作モードおよび前記第３の操作モードにおいて前記パラメータを減少させ、
前記第１の操作モードにおいて前記パラメータを増加させ、
前記第２の操作モードまたは前記第３の操作モードにおいて前記パラメータが所定値まで減少した場合に、前記サブキャラクタを消去して前記第１の操作モードに移行させる、請求項２１記載のゲーム制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明はゲームプログラム、情報処理システム、情報処理装置およびゲーム制御方法に関し、特にたとえば、プレイヤの操作に従って１体または２体のキャラクタを制御する、ゲームプログラム、情報処理システム、情報処理装置およびゲーム制御方法に関する。
【背景技術】
【０００２】
背景技術の一例が特許文献１に開示される。この特許文献１のゲームシステム１によれば、プレイヤキャラクタＰＣｌは、端末装置６のアナログスティック６３Ａに対応付けられており、プレイヤキャラクタＰＣｒは、端末装置６のアナログスティック６３Ｂに対応付けられている。プレイヤＵは、端末装置６に設けられたアナログスティック６３Ａおよび６３Ｂのそれぞれを操作して、２体のプレイヤキャラクタＰＣｌ，ＰＣｒを移動させる。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１３−８５６６３号
【発明の概要】
【発明が解決しようとする課題】
【０００４】
この特許文献１では、一人のプレイヤの操作によって、２体のプレイヤキャラクタの移動を制御するものである。ここで、それぞれのキャラクタのアクションをさらに複雑にしたり、プレイ時間の長いゲームに適用したりする等の応用を考えると、常に２体を操作し続けるのは難しくなることが考えられる。
【０００５】
それゆえに、この発明の主たる目的は、新規な、ゲームプログラム、情報処理システム、情報処理装置およびゲーム制御方法を提供することである。
【０００６】
また、この発明の他の目的は、操作のバリエーションを多くすることができる一方で、必要に応じて簡単な操作でプレイすることもできる、ゲームプログラム、情報処理システム、情報処理装置およびゲーム制御方法を提供することである。
【課題を解決するための手段】
【０００７】
第１の発明は、情報処理装置のコンピュータに、プレイヤによる操作装置に対する操作入力に基づいた操作データを取得し、操作データに基づいて仮想空間内のプレイヤキャラクタを制御させ、操作データに基づいたプレイヤキャラクタの制御において、第１の操作モードのとき、第１の操作入力に基づいてプレイヤキャラクタを制御し、第１の切替指示入力に応じて仮想空間内でサブキャラクタを出現させるとともに第２の操作モードに移行し、第２の操作モードのとき、第１の操作入力に基づいてプレイヤキャラクタを制御し、サブキャラクタの少なくとも一部の挙動を自動制御し、第２の切替指示入力に応じて第３の操作モードに移行し、第３の操作モードのとき、第１の操作入力に基づいてプレイヤキャラクタを制御し、第２の操作入力に基づいて少なくともサブキャラクタの移動を制御させる、ゲームプログラムである。
【０００８】
第１の発明によれば、１体のキャラクタを操作する第１のモードと、２体のキャラクタを操作する第２のモードを切り替えることができ、さらに、２体のキャラクタを操作する際にもサブキャラクタを直接操作するか自動にするかを選択することができる。つまり、操作のバリエーションを多くすることができる一方で、必要に応じて簡単な操作でプレイすることができる。たとえば操作が複雑と感じる場合や、複雑な操作が必要ない場面では簡単な操作に切り替えてプレイすることができる。
【０００９】
第２の発明は、第１の発明に従属し、コンピュータにさらに、サブキャラクタに関するパラメータを情報処理装置のメモリに記憶させ、第２の操作モードおよび第３の操作モードにおいてパラメータを減少させ、第１の操作モードにおいてパラメータを増加させ、第２の操作モードまたは第３の操作モードにおいてパラメータが所定値まで減少した場合に、サブキャラクタを消去して第１の操作モードに移行させる。
【００１０】
第２の発明によれば、パラメータの値に応じて操作モードを切り替える必要性があるため、状況に応じて操作モードを切り替える戦略性を出すことができる。また、複雑な操作のみを行うことにはならないので、操作のメリハリを出すことができる。
【００１１】
第３の発明は、第２の発明に従属し、コンピュータにさらに、第２操作モードまたは第３の操作モードにおいて、第３の切替指示に応じてサブキャラクタを消去して第１の操作モードに移行させる。
【００１２】
第４の発明は、第１から第３の発明までのいずれかに従属し、操作装置には第１の方向入力部と第２の方向入力部が設けられ、第１の操作入力は第１の方向入力部に対する方向入力であって、第２の操作入力は第２の方向入力部に対する方向入力である。
【００１３】
第４の発明によれば、２体のキャラクタのそれぞれを方向入力で操作することができる。
【００１４】
第５の発明は、第４の発明に従属し、コンピュータにさらに、第１の操作モードおよび第２の操作モードにおいて、第２の操作入力に基づいて仮想カメラの制御を行い、第３の操作モードにおいて仮想カメラをプレイヤキャラクタおよびサブキャラクタの位置に基づいて自動制御させる。
【００１５】
第５の発明によれば、複雑な操作のときにはカメラを自動制御にすることで、方向入力の同時入力が多くなりすぎないようにすることができる。したがって、操作が複雑になり過ぎないようにすることができる。
【００１６】
第６の発明は、第１から第５の発明までのいずれかに従属し、サブキャラクタには、プレイヤキャラクタとサブキャラクタとを結ぶ連結オブジェクトが接続され、コンピュータにさらに、第２の操作モードおよび第３の操作モードにおいて、プレイヤキャラクタおよびサブキャラクタの位置および動きに応じて連結オブジェクトを制御させる。
【００１７】
第６の発明によれば、２体のキャラクタを操作することで連結オブジェクトをさらに操作することができる。
【００１８】
第７の発明は、第１から第５の発明までのいずれかに従属し、コンピュータにさらに、攻撃指示入力に基づいて、仮想空間内の敵キャラクタに対して少なくともプレイヤキャラクタに攻撃を行わせる。
【００１９】
第８の発明は、第７の発明に従属し、サブキャラクタには、プレイヤキャラクタとサブキャラクタとを結ぶ連結オブジェクトが接続され、コンピュータにさらに、第２の操作モードおよび第３の操作モードにおいて、プレイヤキャラクタおよびサブキャラクタの位置および動きに応じて連結オブジェクトを制御し、連結オブジェクトと、敵キャラクタとの位置関係に基づいて、プレイヤキャラクタとサブキャラクタに所定のアクションを行わせる。
【００２０】
第８の発明によれば、２体のキャラクタを操作することで連結オブジェクトを操作して、たとえば、敵キャラクタとの位置関係に基づいて、少なくともプレイヤキャラクタに敵キャラクタに対して攻撃を行わせることができる。
【００２１】
第９の発明は、第１から第８の発明までのいずれかに従属し、第２の切替指示入力は、操作装置の所定のキーへの入力が継続していることであり、コンピュータにさらに、第３の操作モードにおいて、所定のキーへの入力が解除された場合に、第２の操作モードに移行させる。
【００２２】
第９の発明によれば、所定のキーへの入力が継続している場合にのみ、プレイヤキャラクタとサブキャラクタの移動を操作入力に基づいて制御することができる。
【００２３】
第１０の発明は、プロセッサと、操作部を備え、プロセッサは、操作部に対する操作入力に基づいた操作データを取得し、操作データに基づいて仮想空間内のプレイヤキャラクタを制御し、操作データに基づいたプレイヤキャラクタの制御において、第１の操作モードのとき、第１の操作入力に基づいてプレイヤキャラクタを制御し、第１の切替指示入力に応じて仮想空間内にサブキャラクタを出現させるとともに第２の操作モードに移行し、第２の操作モードのとき、第１の操作入力に基づいてプレイヤキャラクタを制御し、サブキャラクタの少なくとも一部の挙動を自動制御し、第２の切替指示入力に応じて第３の操作モードに移行し、第３の操作モードのとき、第１の操作入力に基づいてプレイヤキャラクタを制御し、第２の操作入力に基づいて少なくともサブキャラクタの移動を制御する、情報処理システムである。
【００２４】
第１１の発明は、プロセッサを備える情報処理装置であって、プロセッサは、プレイヤによる操作装置に対する操作入力に基づいた操作データを取得し、操作データに基づいて仮想空間内のプレイヤキャラクタを制御し、操作データに基づいたプレイヤキャラクタの制御において、第１の操作モードのとき、第１の操作入力に基づいてプレイヤキャラクタを制御し、第１の切替指示入力に応じて仮想空間内にサブキャラクタを出現させるとともに第２の操作モードに移行し、第２の操作モードのとき、第１の操作入力に基づいてプレイヤキャラクタを制御し、サブキャラクタの少なくとも一部の挙動を自動制御し、第２の切替指示入力に応じて第３の操作モードに移行し、第３の操作モードのとき、第１の操作入力に基づいてプレイヤキャラクタを制御し、第２の操作入力に基づいて少なくともサブキャラクタの移動を制御する、情報処理装置である。
【００２５】
第１２の発明は、プレイヤによる操作装置に対する操作入力に基づいた操作データを取得し、操作データに基づいて仮想空間内のプレイヤキャラクタを制御させ、操作データに基づいたプレイヤキャラクタの制御において、第１の操作モードのとき、第１の操作入力に基づいてプレイヤキャラクタを制御し、第１の切替指示入力に応じて仮想空間内にサブキャラクタを出現させるとともに第２の操作モードに移行し、第２の操作モードのとき、第１の操作入力に基づいてプレイヤキャラクタを制御し、サブキャラクタの少なくとも一部の挙動を自動制御し、第２の切替指示入力に応じて第３の操作モードに移行し、第３の操作モードのとき、第１の操作入力に基づいてプレイヤキャラクタを制御し、第２の操作入力に基づいて少なくともサブキャラクタの移動を制御させる、ゲーム制御方法である。
【００２６】
第１０−第１２の発明においても、第１の発明と同様に、操作のバリエーションを多くすることができる一方で、操作が複雑と感じる場合には簡単な操作でプレイすることができる。
【発明の効果】
【００２７】
この発明によれば、操作のバリエーションを多くすることができる一方で、必要に応じて簡単な操作でプレイすることができる。
【００２８】
この発明の上述の目的，その他の目的，特徴および利点は、図面を参照して行う以下の実施例の詳細な説明から一層明らかとなろう。
【図面の簡単な説明】
【００２９】
【図１】図１はこの実施例の本体装置に左コントローラおよび右コントローラを装着した状態の限定しない一例を示す図である。
【図２】図２は本体装置から左コントローラおよび右コントローラをそれぞれ外した状態の限定しない一例を示す図である。
【図３】図３は図１および図２に示した本体装置の限定しない一例を示す六面図である。
【図４】図４は図１および図２に示した左コントローラの限定しない一例を示す六面図である。
【図５】図５は図１および図２に示した右コントローラの限定しない一例を示す六面図である。
【図６】図６は図１および図２に示した本体装置の内部構成の限定しない一例を示すブロック図である。
【図７】図７は図１および図２に示した本体装置と左コントローラおよび右コントローラとの内部構成の限定しない一例を示すブロック図である。
【図８】図８は第１の操作モードにおけるゲーム画像の限定しない一例を示す図である。
【図９】図９は第２の操作モードにおけるゲーム画像の限定しない一例を示す図である。
【図１０】図１０は第３の操作モードにおけるゲーム画像の限定しない第１の例を示す図である。
【図１１】図１１は第３の操作モードにおけるゲーム画像の限定しない第２の例を示す図である。
【図１２】図１２は第３の操作モードにおけるゲーム画像の限定しない第３の例を示す図である。
【図１３】図１３は第３の操作モードにおけるゲーム画像の限定しない第４の例を示す図である。
【図１４】図１４は第３の操作モードにおけるゲーム画像の限定しない第５の例を示す図である。
【図１５】図１５は第３の操作モードにおけるゲーム画像の限定しない第６の例を示す図である。
【図１６】図１６は第３の操作モードにおけるゲーム画像の限定しない第７の例を示す図である。
【図１７】図１７は図６に示す本体装置のＤＲＡＭのメモリマップの限定しない一例を示す図である。
【図１８】図１８は図６に示す本体装置のプロセッサのゲーム処理の限定しない一例の一部を示すフロー図である。
【図１９】図１９は図６に示す本体装置のプロセッサのゲーム処理の限定しない一例の他の一部であって、図１８に後続するフロー図である。
【図２０】図２０は図６に示す本体装置のプロセッサのゲーム処理の限定しない一例のその他の一部であって、図１８に後続するフロー図である。
【発明を実施するための形態】
【００３０】
以下、この実施例の限定しない一例に係るゲームシステムについて説明する。この実施例におけるゲームシステム１の一例は、本体装置（情報処理装置；この実施例ではゲーム装置本体として機能する）２と左コントローラ３および右コントローラ４とを含む。本体装置２は、左コントローラ３および右コントローラ４がそれぞれ着脱可能である。つまり、ゲームシステム１は、左コントローラ３および右コントローラ４をそれぞれ本体装置２に装着して一体化された装置として利用できる。また、ゲームシステム１は、本体装置２と左コントローラ３および右コントローラ４とを別体として利用することもできる（図２参照）。以下では、この実施例のゲームシステム１のハードウェア構成について説明し、その後に、この実施例のゲームシステム１の制御について説明する。
【００３１】
図１は、本体装置２に左コントローラ３および右コントローラ４を装着した状態の一例を示す図である。図１に示すように、左コントローラ３および右コントローラ４は、それぞれ本体装置２に装着されて一体化されている。本体装置２は、ゲームシステム１における各種の処理（例えば、ゲーム処理）を実行する装置である。本体装置２は、ディスプレイ１２を備える。左コントローラ３および右コントローラ４は、ユーザが入力を行うための操作部を備える装置である。
【００３２】
図２は、本体装置２から左コントローラ３および右コントローラ４をそれぞれ外した状態の一例を示す図である。図１および図２に示すように、左コントローラ３および右コントローラ４は、本体装置２に着脱可能である。なお、以下において、左コントローラ３および右コントローラ４の総称として「コントローラ」と記載することがある。
【００３３】
図３は、本体装置２の一例を示す六面図である。図３に示すように、本体装置２は、略板状のハウジング１１を備える。この実施例において、ハウジング１１の主面（換言すれば、表側の面、すなわち、ディスプレイ１２が設けられる面）は、大略的には矩形形状である。
【００３４】
なお、ハウジング１１の形状および大きさは、任意である。一例として、ハウジング１１は、携帯可能な大きさであってよい。また、本体装置２単体または本体装置２に左コントローラ３および右コントローラ４が装着された一体型装置は、携帯型装置となってもよい。また、本体装置２または一体型装置が手持ち型の装置となってもよい。また、本体装置２または一体型装置が可搬型装置となってもよい。
【００３５】
図３に示すように、本体装置２は、ハウジング１１の主面に設けられるディスプレイ１２を備える。ディスプレイ１２は、本体装置２が生成した画像を表示する。この実施例においては、ディスプレイ１２は、液晶表示装置（ＬＣＤ）とする。ただし、ディスプレイ１２は任意の種類の表示装置であってよい。
【００３６】
また、本体装置２は、ディスプレイ１２の画面上にタッチパネル１３を備える。この実施例においては、タッチパネル１３は、マルチタッチ入力が可能な方式（例えば、静電容量方式）のものである。ただし、タッチパネル１３は、任意の種類のものであってよく、例えば、シングルタッチ入力が可能な方式（例えば、抵抗膜方式）のものであってもよい。
【００３７】
本体装置２は、ハウジング１１の内部においてスピーカ（すなわち、図６に示すスピーカ８８）を備えている。図３に示すように、ハウジング１１の主面には、スピーカ孔１１ａおよび１１ｂが形成される。そして、スピーカ８８の出力音は、これらのスピーカ孔１１ａおよび１１ｂからそれぞれ出力される。
【００３８】
また、本体装置２は、本体装置２が左コントローラ３と有線通信を行うための端子である左側端子１７と、本体装置２が右コントローラ４と有線通信を行うための右側端子２１を備える。
【００３９】
図３に示すように、本体装置２は、スロット２３を備える。スロット２３は、ハウジング１１の上側面に設けられる。スロット２３は、所定の種類の記憶媒体を装着可能な形状を有する。所定の種類の記憶媒体は、例えば、ゲームシステム１およびそれと同種の情報処理装置に専用の記憶媒体（例えば、専用メモリカード）である。所定の種類の記憶媒体は、例えば、本体装置２で利用されるデータ（例えば、アプリケーションのセーブデータ等）、および／または、本体装置２で実行されるプログラム（例えば、アプリケーションのプログラム等）を記憶するために用いられる。また、本体装置２は、電源ボタン２８を備える。
【００４０】
本体装置２は、下側端子２７を備える。下側端子２７は、本体装置２がクレードルと通信を行うための端子である。この実施例において、下側端子２７は、ＵＳＢコネクタ（より具体的には、メス側コネクタ）である。上記一体型装置または本体装置２単体をクレードルに載置した場合、ゲームシステム１は、本体装置２が生成して出力する画像を据置型モニタに表示することができる。また、この実施例においては、クレードルは、載置された上記一体型装置または本体装置２単体を充電する機能を有する。また、クレードルは、ハブ装置（具体的には、ＵＳＢハブ）の機能を有する。
【００４１】
図４は、左コントローラ３の一例を示す六面図である。図４に示すように、左コントローラ３は、ハウジング３１を備える。この実施例においては、ハウジング３１は、縦長の形状、すなわち、上下方向（すなわち、図１および図４に示すｙ軸方向）に長い形状である。左コントローラ３は、本体装置２から外された状態において、縦長となる向きで把持されることも可能である。ハウジング３１は、縦長となる向きで把持される場合に片手、特に左手で把持可能な形状および大きさをしている。また、左コントローラ３は、横長となる向きで把持されることも可能である。左コントローラ３が横長となる向きで把持される場合には、両手で把持されるようにしてもよい。
【００４２】
左コントローラ３は、アナログスティック３２を備える。図４に示すように、アナログスティック３２は、ハウジング３１の主面に設けられる。アナログスティック３２は、方向を入力することが可能な方向入力部として用いることができる。ユーザは、アナログスティック３２を傾倒することによって傾倒方向に応じた方向の入力（および、傾倒した角度に応じた大きさの入力）が可能である。なお、左コントローラ３は、方向入力部として、アナログスティックに代えて、十字キーまたはスライド入力が可能なスライドスティック等を備えるようにしてもよい。また、この実施例においては、アナログスティック３２を押下する入力が可能である。
【００４３】
左コントローラ３は、各種操作ボタンを備える。左コントローラ３は、ハウジング３１の主面上に４つの操作ボタン３３〜３６（具体的には、右方向ボタン３３、下方向ボタン３４、上方向ボタン３５、および左方向ボタン３６）を備える。さらに、左コントローラ３は、録画ボタン３７および−（マイナス）ボタン４７を備える。左コントローラ３は、ハウジング３１の側面の左上にＬボタン３８およびＺＬボタン３９を備える。また、左コントローラ３は、ハウジング３１の側面のうち、本体装置２に装着される際に装着される側の面に、ＳＬボタン４３およびＳＲボタン４４を備える。これらの操作ボタンは、本体装置２で実行される各種プログラム（例えば、ＯＳプログラムやアプリケーションプログラム）に応じた指示を行うために用いられる。
【００４４】
また、左コントローラ３は、左コントローラ３が本体装置２と有線通信を行うための端子４２を備える。
【００４５】
図５は、右コントローラ４の一例を示す六面図である。図５に示すように、右コントローラ４は、ハウジング５１を備える。この実施例においては、ハウジング５１は、縦長の形状、すなわち、上下方向に長い形状である。右コントローラ４は、本体装置２から外された状態において、縦長となる向きで把持されることも可能である。ハウジング５１は、縦長となる向きで把持される場合に片手、特に右手で把持可能な形状および大きさをしている。また、右コントローラ４は、横長となる向きで把持されることも可能である。右コントローラ４が横長となる向きで把持される場合には、両手で把持されるようにしてもよい。
【００４６】
右コントローラ４は、左コントローラ３と同様、方向入力部としてアナログスティック５２を備える。この実施例においては、アナログスティック５２は、左コントローラ３のアナログスティック３２と同じ構成である。また、右コントローラ４は、アナログスティックに代えて、十字キーまたはスライド入力が可能なスライドスティック等を備えるようにしてもよい。また、右コントローラ４は、左コントローラ３と同様、ハウジング５１の主面上に４つの操作ボタン５３〜５６（具体的には、Ａボタン５３、Ｂボタン５４、Ｘボタン５５、およびＹボタン５６）を備える。さらに、右コントローラ４は、＋（プラス）ボタン５７およびホームボタン５８を備える。また、右コントローラ４は、ハウジング５１の側面の右上にＲボタン６０およびＺＲボタン６１を備える。また、右コントローラ４は、左コントローラ３と同様、ＳＬボタン６５およびＳＲボタン６６を備える。
【００４７】
また、右コントローラ４は、右コントローラ４が本体装置２と有線通信を行うための端子６４を備える。
【００４８】
図６は、本体装置２の内部構成の一例を示すブロック図である。本体装置２は、図３に示す構成の他、図６に示す各構成要素８１〜９１、９７、および９８を備える。これらの構成要素８１〜９１、９７、および９８のいくつかは、電子部品として電子回路基板上に実装されてハウジング１１内に収納されてもよい。
【００４９】
本体装置２は、プロセッサ８１を備える。プロセッサ８１は、本体装置２において実行される各種の情報処理を実行する情報処理部であって、例えば、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）のみから構成されてもよいし、ＣＰＵ機能、ＧＰＵ（Ｇｒａｐｈｉｃｓ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）機能等の複数の機能を含むＳｏＣ（Ｓｙｓｔｅｍ−ｏｎ−ａ−ｃｈｉｐ）から構成されてもよい。プロセッサ８１は、記憶部（具体的には、フラッシュメモリ８４等の内部記憶媒体、あるいは、スロット２３に装着される外部記憶媒体等）に記憶される情報処理プログラム（例えば、ゲームプログラム）を実行することによって、各種の情報処理を実行する。
【００５０】
本体装置２は、自身に内蔵される内部記憶媒体の一例として、フラッシュメモリ８４およびＤＲＡＭ（Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）８５を備える。フラッシュメモリ８４およびＤＲＡＭ８５は、プロセッサ８１に接続される。フラッシュメモリ８４は、主に、本体装置２に保存される各種のデータ（プログラムであってもよい）を記憶するために用いられるメモリである。ＤＲＡＭ８５は、情報処理において用いられる各種のデータを一時的に記憶するために用いられるメモリである。
【００５１】
本体装置２は、スロットインターフェース（以下、「Ｉ／Ｆ」と略記する）９１を備える。スロットＩ／Ｆ９１は、プロセッサ８１に接続される。スロットＩ／Ｆ９１は、スロット２３に接続され、スロット２３に装着された所定の種類の記憶媒体（例えば、専用メモリカード）に対するデータの読み出しおよび書き込みを、プロセッサ８１の指示に応じて行う。
【００５２】
プロセッサ８１は、フラッシュメモリ８４およびＤＲＡＭ８５、ならびに上記各記憶媒体との間でデータを適宜読み出したり書き込んだりして、上記の情報処理を実行する。
【００５３】
本体装置２は、ネットワーク通信部８２を備える。ネットワーク通信部８２は、プロセッサ８１に接続される。ネットワーク通信部８２は、ネットワークを介して外部の装置と通信（具体的には、無線通信）を行う。この実施例においては、ネットワーク通信部８２は、第１の通信態様としてＷｉ−Ｆｉの規格に準拠した方式により、無線ＬＡＮに接続して外部装置と通信を行う。また、ネットワーク通信部８２は、第２の通信態様として所定の通信方式（例えば、独自プロトコルによる通信や、赤外線通信）により、同種の他の本体装置２との間で無線通信を行う。なお、上記第２の通信態様による無線通信は、閉ざされたローカルネットワークエリア内に配置された他の本体装置２との間で無線通信可能であり、複数の本体装置２の間で直接通信することによってデータが送受信される、いわゆる「ローカル通信」を可能とする機能を実現する。
【００５４】
本体装置２は、コントローラ通信部８３を備える。コントローラ通信部８３は、プロセッサ８１に接続される。コントローラ通信部８３は、左コントローラ３および／または右コントローラ４と無線通信を行う。本体装置２と左コントローラ３および右コントローラ４との通信方式は任意であるが、この実施例においては、コントローラ通信部８３は、左コントローラ３との間および右コントローラ４との間で、Ｂｌｕｅｔｏｏｔｈ（登録商標）の規格に従った通信を行う。
【００５５】
プロセッサ８１は、上述の左側端子１７、右側端子２１、および下側端子２７に接続される。プロセッサ８１は、左コントローラ３と有線通信を行う場合、左側端子１７を介して左コントローラ３へデータを送信するとともに、左側端子１７を介して左コントローラ３から操作データを受信（または、取得）する。また、プロセッサ８１は、右コントローラ４と有線通信を行う場合、右側端子２１を介して右コントローラ４へデータを送信するとともに、右側端子２１を介して右コントローラ４から操作データを受信（または、取得）する。また、プロセッサ８１は、クレードルと通信を行う場合、下側端子２７を介してクレードルへデータを送信する。このように、この実施例においては、本体装置２は、左コントローラ３および右コントローラ４との間で、それぞれ有線通信と無線通信との両方を行うことができる。また、左コントローラ３および右コントローラ４が本体装置２に装着された一体型装置または本体装置２単体がクレードルに装着された場合、本体装置２は、クレードルを介してデータ（例えば、表示画像データや音声データ）を据置型モニタ等に出力することができる。
【００５６】
ここで、本体装置２は、複数の左コントローラ３と同時に（換言すれば、並行して）通信を行うことができる。また、本体装置２は、複数の右コントローラ４と同時に（換言すれば、並行して）通信を行うことができる。したがって、複数のユーザは、左コントローラ３および右コントローラ４のセットをそれぞれ用いて、本体装置２に対する入力を同時に行うことができる。一例として、第１ユーザが左コントローラ３および右コントローラ４の第１セットを用いて本体装置２に対して入力を行うと同時に、第２ユーザが左コントローラ３および右コントローラ４の第２セットを用いて本体装置２に対して入力を行うことが可能となる。
【００５７】
本体装置２は、タッチパネル１３の制御を行う回路であるタッチパネルコントローラ８６を備える。タッチパネルコントローラ８６は、タッチパネル１３とプロセッサ８１との間に接続される。タッチパネルコントローラ８６は、タッチパネル１３からの信号に基づいて、例えばタッチ入力が行われた位置を示すデータを生成して、プロセッサ８１へ出力する。
【００５８】
また、ディスプレイ１２は、プロセッサ８１に接続される。プロセッサ８１は、（例えば、上記の情報処理の実行によって）生成した画像および／または外部から取得した画像をディスプレイ１２に表示する。
【００５９】
本体装置２は、コーデック回路８７およびスピーカ（具体的には、左スピーカおよび右スピーカ）８８を備える。コーデック回路８７は、スピーカ８８および音声入出力端子２５に接続されるとともに、プロセッサ８１に接続される。コーデック回路８７は、スピーカ８８および音声入出力端子２５に対する音声データの入出力を制御する回路である。
【００６０】
本体装置２は、電力制御部９７およびバッテリ９８を備える。電力制御部９７は、バッテリ９８およびプロセッサ８１に接続される。また、図示しないが、電力制御部９７は、本体装置２の各部（具体的には、バッテリ９８の電力の給電を受ける各部、左側端子１７、および右側端子２１）に接続される。電力制御部９７は、プロセッサ８１からの指令に基づいて、バッテリ９８から上記各部への電力供給を制御する。
【００６１】
また、バッテリ９８は、下側端子２７に接続される。外部の充電装置（例えば、クレードル）が下側端子２７に接続され、下側端子２７を介して本体装置２に電力が供給される場合、供給された電力がバッテリ９８に充電される。
【００６２】
図７は、本体装置２と左コントローラ３および右コントローラ４との内部構成の一例を示すブロック図である。なお、本体装置２に関する内部構成の詳細については、図６で示しているため図７では省略している。
【００６３】
左コントローラ３は、本体装置２との間で通信を行う通信制御部１０１を備える。図７に示すように、通信制御部１０１は、端子４２を含む各構成要素に接続される。この実施例においては、通信制御部１０１は、端子４２を介した有線通信と、端子４２を介さない無線通信との両方で本体装置２と通信を行うことが可能である。通信制御部１０１は、左コントローラ３が本体装置２に対して行う通信方法を制御する。すなわち、左コントローラ３が本体装置２に装着されている場合、通信制御部１０１は、端子４２を介して本体装置２と通信を行う。また、左コントローラ３が本体装置２から外されている場合、通信制御部１０１は、本体装置２（具体的には、コントローラ通信部８３）との間で無線通信を行う。コントローラ通信部８３と通信制御部１０１との間の無線通信は、例えばＢｌｕｅｔｏｏｔｈ（登録商標）の規格に従って行われる。
【００６４】
また、左コントローラ３は、例えばフラッシュメモリ等のメモリ１０２を備える。通信制御部１０１は、例えばマイコン（マイクロプロセッサとも言う）で構成され、メモリ１０２に記憶されるファームウェアを実行することによって各種の処理を実行する。
【００６５】
左コントローラ３は、各ボタン１０３（具体的には、ボタン３３〜３９、４３、４４、および４７）を備える。また、左コントローラ３は、アナログスティック（図７では「スティック」と記載する）３２を備える。各ボタン１０３およびアナログスティック３２は、自身に対して行われた操作に関する情報を、適宜のタイミングで繰り返し通信制御部１０１へ出力する。
【００６６】
通信制御部１０１は、各入力部（具体的には、各ボタン１０３、アナログスティック３２、各センサ１０４および１０５）から、入力に関する情報（具体的には、操作に関する情報、またはセンサによる検出結果）を取得する。通信制御部１０１は、取得した情報（または取得した情報に所定の加工を行った情報）を含む操作データを本体装置２へ送信する。なお、操作データは、所定時間に１回の割合で繰り返し送信される。なお、入力に関する情報が本体装置２へ送信される間隔は、各入力部について同じであってもよいし、同じでなくてもよい。
【００６７】
上記操作データが本体装置２へ送信されることによって、本体装置２は、左コントローラ３に対して行われた入力を得ることができる。すなわち、本体装置２は、各ボタン１０３およびアナログスティック３２に対する操作を、操作データに基づいて判断することができる。
【００６８】
左コントローラ３は、電力供給部１０８を備える。この実施例において、電力供給部１０８は、バッテリおよび電力制御回路を有する。図示しないが、電力制御回路は、バッテリに接続されるとともに、左コントローラ３の各部（具体的には、バッテリの電力の給電を受ける各部）に接続される。
【００６９】
図７に示すように、右コントローラ４は、本体装置２との間で通信を行う通信制御部１１１を備える。また、右コントローラ４は、通信制御部１１１に接続されるメモリ１１２を備える。通信制御部１１１は、端子６４を含む各構成要素に接続される。通信制御部１１１およびメモリ１１２は、左コントローラ３の通信制御部１０１およびメモリ１０２と同様の機能を有する。したがって、通信制御部１１１は、端子６４を介した有線通信と、端子６４を介さない無線通信（具体的には、Ｂｌｕｅｔｏｏｔｈ（登録商標）の規格に従った通信）との両方で本体装置２と通信を行うことが可能であり、右コントローラ４が本体装置２に対して行う通信方法を制御する。
【００７０】
右コントローラ４は、左コントローラ３の各入力部と同様の各入力部を備える。具体的には、各ボタン１１３、アナログスティック５２を備える。これらの各入力部については、左コントローラ３の各入力部と同様の機能を有し、同様に動作する。
【００７１】
右コントローラ４は、電力供給部１１８を備える。電力供給部１１８は、左コントローラ３の電力供給部１０８と同様の機能を有し、同様に動作する。
【００７２】
次に、図８−図１６を参照して、この実施例のゲームシステム１において実行される仮想のゲームのゲーム処理についての概要を説明する。図８は、この実施例の仮想のゲームのアプリケーションを実行した場合に、表示装置（たとえば、ディスプレイ１２）に表示されるゲーム画像の限定しない第１の例を示す図である。
【００７３】
図８に示すように、第１の実施例のゲーム画像としてのゲーム画面２００は、プレイヤキャラクタ２０２および敵キャラクタ２０４を含む。
【００７４】
ただし、プレイヤキャラクタ２０２は、プレイヤの操作に基づいて任意の動作の実行を制御されるキャラクタまたはオブジェクトである。プレイヤキャラクタ２０２の動作としては、仮想の或る場所すなわち仮想空間内において、移動したり、アイテムを取得したり、敵キャラクタ２０４を攻撃したり、敵キャラクタ２０４の攻撃を防御したりすることなどが該当する。
【００７５】
また、敵キャラクタ２０４を含む複数のノンプレイヤキャラクタは、それぞれ、プレイヤによる操作ではなくコンピュータ（図６のプロセッサ８１）によって動作を制御されるキャラクタまたはオブジェクトである。ノンプレイヤキャラクタの動作としては、移動したり、プレイヤキャラクタ２０２を攻撃したり、プレイヤキャラクタ２０２からの攻撃を防御したりすることが該当する。
【００７６】
図示は省略するが、ゲーム画像には、背景オブジェクトも含まれる。この実施例では、背景オブジェクトは、主として、仮想空間に配置される地形のオブジェクトを意味する。また、この実施例においては、地形とは、地面（道路、広場などを含む）、床、木、草、花、建物、階段、洞窟、崖、壁などを意味する。
【００７７】
本体装置２は、画像処理装置としても機能し、ゲーム画面２００などの各種画面に対応する表示画像データを生成および出力（表示）する。プロセッサ８１は、３次元の仮想空間に各種のオブジェクトおよびキャラクタを配置し、或る情景または場面（シーン）が生成される。このシーンを仮想のカメラで撮影した（視点から見た）画像がゲーム画像としてディスプレイ１２に表示される。
【００７８】
この実施例では、プレイヤは、アナログスティック３２を操作することにより、プレイヤキャラクタ２０２を仮想空間内で移動させ、ＺＲボタン６１を押下（または操作）することにより、敵キャラクタ２０４を攻撃する。プレイヤキャラクタ２０２が敵キャラクタ２０４を攻撃するための技は複数種類用意されている。ＺＲボタン６１が押下される度に、決められた順番で技が選択される。なお、技はランダムに選択されるようにしてもよいし、プレイヤが技の種類を選択できるようにしてもよい。また、技には、連続して複数回敵キャラクタ２０４を攻撃する連続技も含まれる。
【００７９】
このように、プレイヤが操作可能なキャラクタを１体（この実施例では、プレイヤキャラクタ２０２）仮想空間内に出現させ、当該キャラクタのみを操作する状態を第１の操作モードと呼ぶことにする。
【００８０】
この第１の操作モードにおいては、アナログスティック５２を傾倒することにより、仮想カメラを動かすこともできる。たとえば、仮想カメラは、プレイヤの操作に従って向きを変えることができる。このとき、仮想カメラの注視点は、プレイヤキャラクタ２０２の所定の点（たとえば、プレイヤキャラクタ２０２の頭部の中心点）に設定されており、仮想カメラが注視点を向くように、仮想カメラが移動される。また、仮想カメラはプレイヤキャラクタ２０２との距離を所定距離ｄに保った状態で移動される。
【００８１】
また、第１の操作モードでは、仮想カメラは、プレイヤキャラクタ２０２から所定距離ｄだけ後方であり、プレイヤキャラクタ２０２の設置面（たとえば、地面）から所定の高さｈだけ上方である位置に配置され、注視点の向きに撮影方向を設定され、プレイヤキャラクタ２０２を追従する。
【００８２】
また、プレイヤの操作に従って仮想カメラが移動された場合であっても、アナログスティック５２を押下することにより、仮想カメラをプレイヤキャラクタ２０２に対する所定の配置にリセットすることができる。また、仮想カメラは、強制的に他のキャラクタを撮影するように、その位置および撮影方向が制御される場合もある。たとえば、ボスキャラクタなどの所定の敵キャラクタ２０４が仮想空間内に出現するアニメーションを再生する場合および所定の敵キャラクタ２０４が倒れる（戦闘に負ける）アニメーションを再生する場合などが該当する。
【００８３】
また、第１の操作モードにおいて、プレイヤがＺＬボタン３９を押下すると、操作モードは第２の操作モードへ移行する。この実施例では、第２の操作モードは、プレイヤキャラクタ２０２とは別に、プレイヤが操作可能な他のプレイヤキャラクタ（以下、「サブキャラクタ」と呼ぶ）２１０を仮想空間内に出現しており、プレイヤによる当該サブキャラクタ２１０に対する操作が無い場合に、プロセッサ８１が当該サブキャラクタ２１０を自動制御する状態を意味する。この実施例では、サブキャラクタ２１０は、第１の操作モードから第２の操作モードに移行した際にプレイヤキャラクタ２０２から飛び出すように、仮想空間内に出現される。飛び出す方向は、仮想カメラの撮影方向または撮影方向に平行な方向である。ただし、これは一例であり、サブキャラクタ２１０が飛び出す方向は、プレイヤキャラクタ２０２の向きに応じて決定されてもよい。これらのことは、サブキャラクタ２１０が飛び出すように移動する場合の移動方向も同じである。
【００８４】
ただし、第２の操作モードでは、第１の操作モードと同様に、プレイヤキャラクタ２０２および仮想カメラはプレイヤによって操作可能である。プレイヤキャラクタ２０２および仮想カメラの操作についての重複する説明は省略することにする。第２の操作モードでは、プレイヤキャラクタ２０２とサブキャラクタ２１０が仮想カメラの画角内に収まるように制御される。この場合にも、上述したように、仮想カメラの注視点は、プレイヤキャラクタ２０２の所定の点に設定される。
【００８５】
図９は第２の操作モードにおけるゲーム画像に対応するゲーム画面２００の一例を示す図である。図９に示すゲーム画面２００には、プレイヤキャラクタ２０２および敵キャラクタ２０４に加えて、サブキャラクタ２１０および連結オブジェクト２１２が含まれる。プレイヤキャラクタ２０２とサブキャラクタ２１０は連結オブジェクト２１２で連結される。たとえば、連結オブジェクト２１２の一方端はサブキャラクタ２１０の胴体に接続され、連結オブジェクト２１２の他方端はプレイヤキャラクタ２０２によって把持される、または、プレイヤキャラクタ２０２の腕（または一部）に固定される。したがって、サブキャラクタ２１０の移動範囲は連結オブジェクト２１２の長さによって制限または決定される。ただし、連結オブジェクト２１２の長さ（最大長さ）は、予め設定されている。また、サブキャラクタ２１０の動作は基本的に自動制御されるが、敵キャラクタ２０４が仮想空間内に出現していない場合または敵キャラクタ２０４がサブキャラクタ２１０の移動範囲内に存在しない場合において、ＺＬボタン３９が押下される毎に、サブキャラクタ２１０を所定の距離だけ飛び出すまたは遠ざけるように移動させたり（または離したり）、所定の距離だけ近づけたりすることもできる。このとき、連結オブジェクト２１２の長さは所定の長さだけ長くされたり、所定の長さだけ短くされたりする。
【００８６】
上述したように、第２の操作モードでは、基本的には、サブキャラクタ２１０の動作は自動制御される。敵キャラクタ２０４が仮想空間内に出現している場合には、サブキャラクタ２１０は当該敵キャラクタ２０４を自動で攻撃する。この場合、サブキャラクタ２１０は、コンピュータ（プロセッサ８１）によって動作を制御される。ただし、複数体の敵キャラクタ２０４が出現している場合には、サブキャラクタ２１０は、いずれかの敵キャラクタ２０４、たとえば最も近くに存在する敵キャラクタ２０４を攻撃するように動作を制御される。サブキャラクタ２１０が攻撃可能な敵キャラクタ２０４は、サブキャラクタ２１０の移動範囲内に存在する敵キャラクタ２０４である。以下、サブキャラクタ２１０が敵キャラクタ２０４を攻撃する場合において同じである。
【００８７】
また、第２の操作モードでは、上述の自動的な攻撃に加え、プレイヤがＺＬボタン３９を操作することによってサブキャラクタ２１０に敵キャラクタ２０４を攻撃させることもできる。かかる場合には、プロセッサ８１の自動制御による攻撃動作は中断され、プレイヤの操作に従う攻撃動作が実行される。また、タイミング良く、プレイヤがＺＬボタン３９を操作した場合には、サブキャラクタ２１０は、効果的に（より大きい）ダメージを与えるように、敵キャラクタ２０４を攻撃する。たとえば、プレイヤキャラクタ２０２が連続技で敵キャラクタ２０４を攻撃している場合に、その連続技に続くタイミングでＺＬボタン３９が押下されると、サブキャラクタ２１０が、より大きいダメージを与える技で、その連続技に続けて、敵キャラクタ２０４を攻撃する。
【００８８】
ただし、サブキャラクタ２１０には、体力値が設けられており、体力値が０になると、サブキャラクタ２１０は消去（または非表示）され、第１の操作モードに移行する。このとき、体力値が０になると、プレイヤキャラクタ２０２の連続技に合わせてタイミング良くＺＬボタン３９が押下されたとしても、サブキャラクタ２１０は技を出せないことになる。
【００８９】
この実施例では、ゲームの開始時に、サブキャラクタ２１０の体力値は最大値（この実施例では、１００）に設定され、サブキャラクタ２１０が仮想空間内に出現されると、第１所定時間（たとえば、１フレーム）毎に、第１所定量（０．０５）ずつ体力値が減算される。この実施例では、１フレームは、画面更新の単位時間であり、たとえば、１／６０秒である。ただし、サブキャラクタ２１０を消去すると、つまり、第１の操作モードへ移行されると、この第１の操作モードにおいては、第２所定時間（たとえば、１フレーム）毎に、第２所定量（０．０５）ずつ体力値が増加される。
【００９０】
なお、この実施例では、第１所定時間と第２所定時間を同じ長さに設定してあるがこれらは異なる値に設定されてもよい。同様に、第１所定量（減少速度）と第２所定量（増加速度）も異なる値に設定されてよい。
【００９１】
このように、サブキャラクタ２１０には体力値が設定されており、サブキャラクタ２１０の使用が体力値によって制限されるため、サブキャラクタ２１０を使用する場合と使用しない場合を使い分ける戦術でゲームをプレイする必要がある。たとえば、サブキャラクタ２１０が自動制御により敵キャラクタ２０４を攻撃している場合において、プレイヤはプレイヤキャラクタ２０２を操作してさらにその敵キャラクタ２０４を攻撃することができる。つまり、敵キャラクタ２０４に多くのダメージを与えたり、サブキャラクタ２１０を援護したりすることができる。したがって、戦術の一例として、強い敵または複数の敵が存在するような場面や、体力値に余裕があって戦闘がすぐに終わりそうな場面等においてサブキャラクタ２１０を使用し、プレイヤキャラクタ２０２だけで済みそうな場面や、次に強力な敵が控えている場面、体力値が少ない場面等においてはサブキャラクタ２１０を使用せずに、サブキャラクタ２１０の体力を回復させることが考えられる。
【００９２】
この実施例では、サブキャラクタ２１０が仮想空間内に出現されている場合に、Ｒボタン６０が押下されると、サブキャラクタ２１０は仮想空間から消去される。そして、操作モードが第２の操作のモードから第１の操作モードへ移行される。つまり、プレイヤの操作によって、サブキャラクタ２１０を消去することもできる。
【００９３】
上記のように、プレイヤの体力値に基づいてサブキャラクタの使用および不使用を使い分ける戦術を考える必要があるため、サブキャラクタ２１０の体力値をゲーム画面２００に表示するようにしてもよい。たとえば、体力値の残量を数値で表示したり、体力値の残量を円グラフや棒グラフで表示したりすることが考えられる。
【００９４】
また、この実施例では、体力値が０になると、サブキャラクタ２１０は自動的に消去される。この場合には、体力値が最大値の１００になるまで、出現させることができない。ただし、体力値が０より大きい状態でプレイヤの操作によってサブキャラクタ２１０が消去された場合には、体力値が１００になっていなくても、プレイヤの操作によって再出現させることができる。
【００９５】
さらに、第２の操作モードにおいて、プレイヤがＺＬボタン３９を継続して押下し続ける（この実施例では、３秒間長押しする）と、操作モードは第３の操作モードへ移行し、ＺＬボタン３９を押下し続けている間だけ、第３の操作モードが維持される。したがって、ＺＬボタン３９の押下を解除すると、第３の操作モードから第２の操作モードへ移行される。ただし、第３モードにおいて、Ｒボタン６０が押下された場合には、サブキャラクタ２１０は仮想空間から消去され、操作モードが第３の操作モードから第１の操作モードへ移行される。
【００９６】
この実施例では、第３の操作モードは、プレイヤキャラクタ２０２およびサブキャラクタ２１０の移動を、それぞれ個別に操作可能な状態を意味する。プレイヤキャラクタ２０２の移動は、第１の操作モードおよび第２の操作モードと同様に、アナログスティック３２を用いて操作される。サブキャラクタ２１０の移動は、アナログスティック５２を用いて操作される。したがって、第３の操作モードにおいては、仮想カメラはアナログスティック５２によって操作することはできず、自動制御される。このとき、仮想カメラの視野にプレイヤキャラクタ２０２およびサブキャラクタ２１０が両方含まれるように制御される。
【００９７】
また、第３の操作モードでは、ＺＲボタン６１が押下されると、連結オブジェクト２１２の長さが所定の長さだけ短くされる。これにより、プレイヤキャラクタ２０２は、サブキャラクタ２１０に所定の長さだけ近づくように移動される。このとき、プレイヤキャラクタ２０２は、仮想空間内において宙に浮いて移動する。このため、危険な場所および地面（または床）の無い場所のように、プレイヤキャラクタ２０２が通常移動（または、通過）できない場所を飛び越えて移動することができる。たとえば、第２の操作モードにおいて、ＺＬボタン３９を押下することにより、サブキャラクタ２１０を飛び出すように移動させておき、ＺＬボタン３９を長押しすることにより、第３の操作モードへ移行して、ＺＲボタン６１を押下すれば、連結オブジェクト２１２が所定の長さだけ短くされ、上記のように、プレイヤキャラクタ２０２は宙に浮いて移動する。
【００９８】
図１０−図１３は第３の操作モードにおいて敵キャラクタ２０４を拘束するアクションを行っている場面のゲーム画像に対応するゲーム画面２００の例を示す図である。図１０−図１３では、簡単のため、プレイヤは、サブキャラクタ２１０のみ移動させ、プレイヤキャラクタ２０２をその場に留まらせている図となっているが、当然、操作によって両方を移動させてもよい。
【００９９】
図１０では、サブキャラクタ２１０がゲーム画面２００の左側から右方に移動し、敵キャラクタ２０４の背後に回り込む様子のゲーム画面２００が表示される。また、図１０では、サブキャラクタ２１０の移動に従って連結オブジェクト２１２が敵キャラクタ２０４に巻きつくように移動または／および変形し始めている。
【０１００】
図１１では、プレイヤキャラクタ２０２はその場に留まり、サブキャラクタ２１０は、図１０に示した位置からさらに右方に移動し、ゲーム画面２００の右側に到達している。また、図１１では、サブキャラクタ２１０の移動に従って連結オブジェクト２１２はさらに移動または／および変形し、その一部が敵キャラクタ２０４に引っ掛かっている。
【０１０１】
図１２では、サブキャラクタ２１０は、図１１に示した位置から、プレイヤキャラクタ２０２と敵キャラクタ２０４の間を通ってゲーム画面２００の左方に移動し、ゲーム画面２００の左側に到達している。また、図１２では、サブキャラクタ２１０の移動に従って連結オブジェクト２１２はさらに移動または／および変形し、敵キャラクタ２０４を囲んでいる。
【０１０２】
図１２に示すように、敵キャラクタ２０４を連結オブジェクト２１２によって一周囲むと、その後は、自動的に、プレイヤキャラクタ２０２とサブキャラクタ２１０が連結オブジェクト２１２で敵キャラクタ２０４を縛り付けるアクションを行い、図１３に示すように、連結オブジェクト２１２は、敵キャラクタ２０４に巻き付いた状態に変形される。このとき、一時的にプレイヤキャラクタ２０２とサブキャラクタ２１０は連結オブジェクト２１２で連結されていない状態となるが、すぐに新たな連結オブジェクト２１２によって連結される。
【０１０３】
この実施例では、連結オブジェクト２１２は、敵キャラクタ２０４に接触するだけでダメージを与えることができる。たとえば、連結オブジェクト２１２には、電流が流れたり、熱が発生したりしており、電流または熱によって敵キャラクタ２０４にダメージを与える。したがって、弱い敵キャラクタ２０４の場合には、連結オブジェクト２１２で縛った状態にしただけで倒すことができることもある。一方、強い敵キャラクタ２０４の場合には、連結オブジェクト２１２で縛った状態にすると、その動きを封じることがきる。したがって、強い敵キャラクタ２０４の場合には、プレイヤは、ＺＬボタン３９の押下を解除して、操作モードを第２の操作モードへ移行した後に、プレイヤキャラクタ２０２または／およびサブキャラクタ２１０を操作して、動きを封じた敵キャラクタ２０４を攻撃することができる。ただし、Ｒボタン６０を押下して、操作モードを第１の操作モードへ移行した後に、プレイヤキャラクタ２０２を操作して、動きを封じた敵キャラクタ２０４を攻撃してもよい。
【０１０４】
なお、上述したように、連結オブジェクト２１２の最大長さは予め設定されているため、比較的大きな敵キャラクタ２０４の場合には、手または／および足のような複数の一部分をそれぞれ連結オブジェクト２１２で縛ることにより、その敵キャラクタ２０４を倒すことができたり、その敵キャラクタ２０４の動きを封じることができたりする。
【０１０５】
また、図１０−図１３では、プレイヤキャラクタ２０２をその場に留まらせた場合の例を示したが、サブキャラクタ２１０を留まらせて、プレイヤキャラクタ２０２を移動させて、敵キャラクタ２０４を連結オブジェクト２１２で縛ってもよいし、プレイヤキャラクタ２０２およびサブキャラクタ２１０の両方を、敵キャラクタ２０４の回りを互いに逆方向に周回するように移動させて、敵キャラクタ２０４を連結オブジェクト２１２で縛ってもよいことは言うまでもない。
【０１０６】
図１４−図１６は第３の操作モードにおいて敵キャラクタ２０４に連結オブジェクトを引っ掛けるアクションを行っている場面のゲーム画像に対応するゲーム画面２００の例を示す図である。
【０１０７】
図１４では、プレイヤキャラクタ２０２がゲーム画面２００の右下側に静止した状態であり、サブキャラクタ２１０がゲーム画面２００の左上側に静止した状態であり、プレイヤキャラクタ２０２とサブキャラクタ２１０の間に、連結オブジェクト２１２がピンと張られた様子のゲーム画面２００が表示される。また、プレイヤキャラクタ２０２およびサブキャラクタ２１０よりも大きい敵キャラクタ２０４がゲーム画面２００の右上側から左下方に移動し始めている。このとき、プレイヤキャラクタ２０２およびサブキャラクタ２１０は静止していなくともよく、たとえば互いの反対方向に移動しようとしながら連結オブジェクト２１２が張られる状態であってもよい。
【０１０８】
図１５では、図１４に示した状態から敵キャラクタ２０４が左下方に移動し、連結オブジェクト２１２を銜えさせた様子のゲーム画面２００が表示される。つまり、敵キャラクタ２０４が連結オブジェクト２１２に引っ掛かった瞬間が示される。
【０１０９】
図１６では、図１５に示した状態から敵キャラクタ２０４が頭部を上げた様子のゲーム画面２００が表示される。つまり、敵キャラクタ２０４は連結オブジェクト２１２に引っ掛かったままの状態である。
【０１１０】
上述したように、連結オブジェクト２１２は敵キャラクタ２０４にダメージを与えることができるため、連結オブジェクト２１２を敵キャラクタ２０４に引っ掛けることにより、敵キャラクタ２０４を倒すことも可能である。ただし、強い敵キャラクタ２０４の場合には、連結オブジェクト２１２を引っ掛けることにより、その後に投げ飛ばす等の所定のアクションを行ってダメージを与えて、或る程度敵キャラクタ２０４の動きを封じる。そして、プレイヤは、ＺＬボタン３９の押下を解除して、操作モードを第２の操作モードへ移行した後に、プレイヤキャラクタ２０２または／およびサブキャラクタ２１０を操作して、動きを封じた敵キャラクタ２０４を攻撃する。または、Ｒボタン６０を押下して、操作モードを第１の操作モードへ移行した後に、プレイヤキャラクタ２０２を操作して、動きを封じた敵キャラクタ２０４を攻撃する。
【０１１１】
つまり、図１４−図１６に示す例では、プレイヤは、敵キャラクタ２０４の動きを予想し、プレイヤキャラクタ２０２およびサブキャラクタ２１０の移動を操作して、連結オブジェクト２１２を仕掛けておき、この連結オブジェクト２１２に敵キャラクタ２０４を引っ掛けるのである。
【０１１２】
このように、第３の操作モードでは、プレイヤキャラクタ２０２または／およびサブキャラクタ２１０を個別に移動させ、これに伴って、連結オブジェクト２１２を移動または／および変形させることにより、連結オブジェクト２１２で敵キャラクタ２０４を縛ったり、連結オブジェクト２１２を敵キャラクタ２０４に引っ掛けたりすることにより、連結オブジェクト２１２から敵キャラクタ２０４にダメージを与えることもできる。
【０１１３】
なお、この実施例では、第３の操作モードでは、プレイヤキャラクタ２０２または／およびサブキャラクタ２１０を操作することにより、その移動のみを制御するようにしてあるが、操作モードの切り替えおよび移動に関する操作以外の操作ボタンを操作することにより、敵キャラクタ２０４を攻撃するようにしてもよい。または、本体装置２、左コントローラ３および右コントローラ４に、加速度センサまたは／およびジャイロセンサのような慣性センサを設けることにより、慣性センサの出力に基づいて敵キャラクタ２０４を攻撃するようにしてもよい。たとえば、左コントローラ３および右コントローラ４が本体装置２に装着されている場合には、本体装置２、左コントローラ３または右コントローラ４に設けられた慣性センサの出力に基づいて、ゲームシステム１の姿勢または／および動きに応じた攻撃が行われる。また、左コントローラ３および右コントローラ４が本体装置２に装着されていない場合には、左コントローラ３または／および右コントローラ４に設けられた慣性センサの出力に基づいて、左コントローラ３または／および右コントローラ４の姿勢または／および動きに応じた攻撃が行われる。これらのことは、第１の操作モードおよび第２の操作モードにおいても同様である。
【０１１４】
また、この実施例では、３つの操作モードを設け、プレイヤは、第１の操作モードでは、プレイヤの操作（つまり、手動の操作）に従ってプレイヤキャラクタ２０２の動作のみを制御し、第２の操作モードでは、ＺＬボタン３９を押下する以外は、サブキャラクタ２１０は自動制御で敵キャラクタ２０４を攻撃し、第３の操作モードでは、プレイヤの操作に従ってプレイヤキャラクタ２０２およびサブキャラクタ２１０の両方の移動を制御する。このため、操作の複雑さは、第１の操作モードが最もシンプルで、第３の操作モードが最も複雑である。
【０１１５】
つまり、操作モードを切り替えることにより、サブキャラクタ２１０を出現させたり消去させたり、サブキャラクタ２１０を出現させた場合には、サブキャラクタ２１０を自動または手動の操作で制御するかを選択することができる。つまり、操作のバリエーションを多く用意されているが、操作が難しいまたは複雑であると感じる場合や、強力な攻撃が必要ない場面では、簡単な操作でプレイすることができる。
【０１１６】
図１７は図６に示したＤＲＡＭ８５のメモリマップ８５０の限定しない一例を示す図である。図１７に示すように、ＤＲＡＭ８５は、プログラム記憶領域８５２およびデータ記憶領域８５４を含む。プログラム記憶領域８５２には、ゲームアプリケーションのプログラム（つまり、ゲームプログラム）が記憶される。図１７に示すように、ゲームプログラムは、メイン処理プログラム８５２ａ、画像生成プログラム８５２ｂ、操作検出プログラム８５２ｄ、操作モード切替プログラム８５２ｅ、キャラクタ制御プログラム８５２ｆおよびパラメータ制御プログラム８５２ｇなどを含む。ただし、ゲーム画像などの画像を表示する機能は本体装置２が備える機能である。したがって、画像表示プログラム８５２ｃは、ゲームプログラムに含まれない。
【０１１７】
詳細な説明は省略するが、各プログラム８５２ａ−８５２ｇは、本体装置２に電源が投入された後の適宜のタイミングで、フラッシュメモリ８４および／またはスロット２３に装着された記憶媒体からその一部または全部が読み込まれてＤＲＡＭ８５に記憶される。ただし、各プログラム８５２ａ−８５２ｇの一部または全部は、本体装置２と通信可能な他のコンピュータから取得するようにしてもよい。
【０１１８】
メイン処理プログラム８５２ａは、この実施例の仮想のゲームの全体的なゲーム処理を実行するためのプログラムである。画像生成プログラム８５２ｂは、後述する画像生成データ８５４ｂを用いて、ゲーム画像などの各種の画像に対応する表示画像データを生成するためのプログラムである。画像表示プログラム８５２ｃは、画像生成プログラム８５２ｂに従って生成した表示画像データを表示装置に出力するためのプログラムである。したがって、表示画像データに対応する画像（つまり、ゲーム画面２００など）がディスプレイ１２などの表示装置に表示される。
【０１１９】
操作検出プログラム８５２ｄは、左コントローラ３または／および右コントローラ４からの操作データ８５４ａを取得するためのプログラムである。操作モード切替プログラム８５２ｅは、プレイヤの操作またはパラメータの数値（この実施例では、体力値）に基づいて、第１の操作モード、第２の操作モードおよび第３の操作モードの間で、操作モードを切り替えるためのプログラムである。この実施例では、第１の操作モードから第３の操作モードに直接切り替えられることはないが、所定の操作ボタンが操作されることにより、第１の操作モードから第３の操作モードに切り替えられるようにしてもよい。
【０１２０】
キャラクタ制御プログラム８５２ｆは、プレイヤの操作に基づいて、プレイヤキャラクタ２０２または／およびサブキャラクタ２１０の動作を制御したり、プレイヤの操作に関わらず、敵キャラクタ２０４を含むノンプレイヤキャラクタの動作を制御したりするためのプログラムである。また、キャラクタ制御プログラム８５２ｆは、プレイヤの操作または体力値に応じて、サブキャラクタ２１０を仮想空間内に出現させたり、仮想空間から消去させたりするためのプログラムでもある。
【０１２１】
パラメータ制御プログラム８５２ｇは、パラメータの数値を最大値（この実施例では、１００）と最小値（この実施例では、０）の間で増加または減少（すなわち、制御）するためのプログラムである。
【０１２２】
なお、プログラム記憶領域８５２には、ＢＧＭ等の音を出力するための音出力プログラム、他の機器と通信するための通信プログラム、データをフラッシュメモリ８４などの不揮発性の記憶媒体に記憶するためのバックアッププログラムなども記憶される。
【０１２３】
また、データ記憶領域８５４には、操作データ８５４ａ、画像生成データ８５４ｂ、操作モードデータ８５４ｃ、現在位置データ８５４ｄ、体力値データ８５４ｅなどが記憶される。また、データ記憶領域８５４には、タイマ８５４ｆなどが設けられる。
【０１２４】
操作データ８５４ａは、左コントローラ３または／および右コントローラ４から受信される操作データである。この実施例においては、本体装置２が左コントローラ３および右コントローラ４の両方から操作データを受信する場合には、本体装置２は、左コントローラ３および右コントローラ４のそれぞれに分類して操作データ８５４ａを記憶する。
【０１２５】
画像生成データ８５４ｂは、ポリゴンデータおよびテクスチャデータなど、表示画像データを生成するために必要なデータである。操作モードデータ８５４ｃは、第１の操作モード、第２の操作モードまたは第３の操作モードを判断するためのデータであり、具体的には、現在の操作モードの識別情報のデータである。
【０１２６】
現在位置データ８５４ｄは、プレイヤキャラクタ２０２、敵キャラクタ２０４、サブキャラクタ２１０および連結オブジェクト２１２のような仮想空間内において移動可能なキャラクタおよびオブジェクトについての現在フレームの位置座標についてのデータである。
【０１２７】
体力値データ８５４ｅは、サブキャラクタ２１０の体力値（つまり、パラメータ）を示す数値のデータであり、上述したように、パラメータ制御プログラム８５２ｇに従って増減される。つまり、体力値データ８５４ｅが示す体力値は、現フレームにおける体力値の残量を示す。ただし、体力値は、仮想のゲームを開始した時点では、最大値（この実施例では、１００）に設定される。
【０１２８】
タイマ８５４ｆは、プレイヤが所定の操作ボタン（この実施例では、ＺＬボタン３９）を継続して押し続けている時間の長さをカウントするためのタイマまたはカウンタである。タイマ８５４ｆは、第２の操作モードにおいて、プレイヤがＺＬボタン３９を押下したときにカウントを開始され、プレイヤがＺＬボタン３９を放した（押下を解除した）ときにカウントを終了してリセットされる。なお、説明は省略したが、タイマ８５４ｆのカウントの開始および終了は、操作モード切替プログラム８５２ｅに従って制御される。
【０１２９】
図示は省略するが、データ記憶領域８５４には、他のデータが記憶されたり、フラグおよび他のタイマ（またはカウンタ）が設けられたりする。
【０１３０】
図１８−図２０は、本体装置２のプロセッサ８１（またはコンピュータ）のゲームプログラムの処理（ゲーム処理）の限定しない一例を示すフロー図である。以下、図１８−図２０を用いて、ゲーム処理について説明するが、同じ処理を実行するステップについては重複する説明は省略することにする。
【０１３１】
ただし、図１８−図２０に示すフロー図の各ステップの処理は、単なる一例に過ぎず、同様の結果が得られるのであれば、各ステップの処理順序を入れ替えてもよい。また、この実施例では、基本的には、図１８−図２０に示すフロー図の各ステップの処理をプロセッサ８１が実行するものとして説明するが、プロセッサ８１以外のプロセッサや専用回路が一部のステップを実行するようにしてもよい。
【０１３２】
本体装置２の電源が投入されると、ゲーム処理の実行に先だって、プロセッサ８１は、図示しないブートＲＯＭに記憶されている起動プログラムを実行し、これによってＤＲＡＭ８５等の各ユニットが初期化される。本体装置２は、ユーザによって、この実施例のゲームプログラムの実行が指示されると、ゲーム処理を開始する。
【０１３３】
図１８に示すように、プロセッサ８１は、ゲーム処理を開始すると、ステップＳ１で、初期設定を実行する。ここでは、プロセッサ８１は、仮想空間において、プレイヤキャラクタ２０２、ノンプレイヤキャラクタおよび背景オブジェクトを初期位置に配置する。ただし、前回の続きからゲームを開始する場合には、セーブされた時点における位置にプレイヤキャラクタ２０２、ノンプレイヤキャラクタおよび背景オブジェクトを配置する。このとき、プレイヤキャラクタ２０２およびノンプレイヤキャラクタの初期位置またはセーブされた時点における位置の座標データが、現在位置データ８５４ｄとしてデータ記憶領域８５４に記憶される。また、プロセッサ８１は、操作モードデータ８５４ｃが示す操作モードの識別情報を第１の操作モードの識別情報に設定するとともに、体力値データ８５４ｅに対応する体力値を最大値に設定する。
【０１３４】
次のステップＳ３では、操作データを検出する。続いて、ステップＳ５では、操作受付中かどうかを判断する。ここでは、プロセッサ８１は、第１−第３の操作モードのいずれかにおいて、プレイヤキャラクタ２０２およびサブキャラクタ２１０についての操作を受け付けているかどうかを判断する。この実施例では、プロセッサ８１は、サブキャラクタ２１０を仮想空間内に出現させるアニメーションを再生している場合や、ブキャラクタ１１０を仮想空間から消去されるアニメーションを再生している場合のように、操作モードが変化している最中には、プレイヤの操作を受け付けないようにしてある。ただし、サブキャラクタ２１０の出現に伴って連結オブジェクト２１２も出現され、サブキャラクタ２１０の消去に伴って連結オブジェクト２１２も消去される。それ以外にも、特定の技を出している最中や、敵の強力な攻撃を受けた場合等に所定のアニメーションを再生し、その間操作を受け付けない期間がある。また、ゲームクリアを表現するアニメーションを再生している場合や、ゲームオーバを表現するアニメーションを再生している場合等、所定のイベントが発生している場面等、プレイヤの操作を受け付けない場面がある。以下、ゲーム処理の説明においては、これらのアニメーションを「所定のアニメーション」と呼ぶことにする。ただし、プレイヤの操作を受け付けていない場合であっても、操作データの検出処理（Ｓ３）は実行されるため、この場合には、検出された操作データはプロセッサ８１の処理に使用されない。
【０１３５】
ステップＳ５で“ＮＯ”であれば、つまり、操作受付中でなければ、ステップＳ７で、他の処理を実行して、図２０に示すステップＳ５１に進む。この場合、ステップＳ３で検出された操作データは、プロセッサ８１の処理に使用されない。また、プロセッサ８１は、ステップＳ７で、上記の所定のアニメーションを１フレーム分進める（または１フレーム分再生する）。つまり、仮想空間内において、キャラクタの位置や姿勢が１フレーム分更新される。
【０１３６】
一方、ステップＳ５で“ＹＥＳ”であれば、つまり、操作受付中であれば、ステップＳ９で、操作モードが第１の操作モードであるかどうかを判断する。ここでは、プロセッサ８１は、操作モードデータ８５４ｃを参照して、第１の操作モードの識別情報が記載されているかどうかを判断する。後述する、ステップＳ２１についても同様の処理が実行される。
【０１３７】
ステップＳ９で“ＹＥＳ”であれば、つまり、操作モードが第１の操作モードであれば、ステップＳ１１で、体力値を所定量（たとえば、０．０５）増加させる。ただし、体力値が最大値である場合には、ステップＳ１１の処理はスキップされる。
【０１３８】
続いて、ステップＳ１３で、サブキャラクタ（つまり、サブキャラクタ２１０）の出現指示がされたかどうかを判断する。ここでは、プロセッサ８１は、ステップＳ３で検出した操作データがＺＬボタン３９の押下を示すかどうかを判断する。
【０１３９】
ステップＳ１３で“ＹＥＳ”であれば、サブキャラクタ２１０の出現指示がされれば、ステップＳ１５で、サブキャラクタ２１０の出現を開始する。つまり、プロセッサ８１は、サブキャラクタ２１０を仮想空間内に出現させるアニメーションの再生を開始する。続く、ステップＳ１７では、操作モードを第２の操作モードへ移行して、ステップＳ５１に進む。ステップＳ１７では、プロセッサ８１は、操作モードデータ８５４ｃを第２の操作モードの識別情報に書き換える。このことは、後述するステップＳ２９、Ｓ３３、Ｓ４３およびＳ４７も同様である。
【０１４０】
一方、ステップＳ１３で“ＮＯ”であれば、つまり、サブキャラクタ２１０の出現指示がされていなければ、ステップＳ１９で、第１の操作モードでの処理を実行して、ステップＳ５１に進む。
【０１４１】
ステップＳ１９では、プロセッサ８１は、アナログスティック３２の操作に従ってプレイヤキャラクタ２０２を移動させたり、ＺＲボタン６１の操作に従ってプレイヤキャラクタ２０２に攻撃させたりする。
【０１４２】
また、ステップＳ１９では、プロセッサ８１は、アナログスティック５２の操作に従って仮想カメラを移動させる。
【０１４３】
さらに、ステップＳ１９では、プロセッサ８１は、プレイヤキャラクタ２０２が敵キャラクタ２０４の攻撃を受けたときのアニメーション、または、敵キャラクタ２０４がプレイヤキャラクタ２０２の攻撃を受けたときのアニメーションを再生する。
【０１４４】
ただし、図１８−図２０に示すステップＳ３−Ｓ５５のスキャンタイムは１フレームであるため、ステップＳ１９では、１フレーム分、プレイヤキャラクタ２０２の位置が移動されたり、移動または攻撃に伴う姿勢（または身体）が変化されたり、アニメーションが進行または再生されたりする。
【０１４５】
また、上記のステップＳ９で“ＮＯ”であれば、つまり、操作モードが第１の操作モードでなければ、ステップＳ２１で、操作モードが第２の操作モードであるかどうかを判断する。ステップＳ２１で“ＹＥＳ”であれば、つまり、第２の操作モードであれば、図１９に示すステップＳ２３に進む。一方、ステップＳ２１で“ＮＯ”であれば、つまり、第３操作モードであれば、図２０に示すステップＳ３７に進む。
【０１４６】
図１９に示すように、ステップＳ２３では、体力値を所定量（たとえば、０．０５）減少させて、ステップＳ２５で、サブキャラクタ２１０の消去であるかどうかを判断する。ここでは、プロセッサ８１は、ステップＳ３で検出された操作データがＲボタン６０の押下を示すかどうかを判断するとともに、体力値データ８５４ｅが示す体力値が０であるかどうかを判断する。プロセッサ８１は、ステップＳ３で検出された操作データがＲボタン６０の押下を示す場合、または、体力値データ８５４ｅが示す体力値が０である場合には、サブキャラクタ２１０を消去することを決定する。一方、プロセッサ８１は、ステップＳ３で検出された操作データがＲボタン６０の押下を示しておらず、かつ体力値データ８５４ｅが示す体力値が０でないことを判断した場合には、サブキャラクタ２１０を消去しないことを決定する。
【０１４７】
ステップＳ２５で“ＹＥＳ”であれば、つまり、サブキャラクタ２１０の消去であれば、ステップＳ２７で、サブキャラクタ２１０の消去を開始する。つまり、プロセッサ８１は、サブキャラクタ２１０を消去するアニメーションの再生を開始する。次のステップＳ２９では、操作モードを第１の操作モードへ移行して、ステップＳ５１に進む。
【０１４８】
一方、ステップＳ２５で“ＮＯ”であれば、つまり、サブキャラクタ２１０の消去でなければ、ステップＳ３１で、直接操作指示かどうかを判断する。ここでは、プロセッサ８１は、タイマ８５４ｆのカウント値を参照して、ＺＬボタン３９を継続して押下し続けている時間が所定時間（たとえば、０．５秒）を超えたかどかを判断する。
【０１４９】
ステップＳ３１で“ＹＥＳ”であれば、つまり、直接操作指示が有れば、ステップＳ３３で、操作モードを第３の操作モードへ移行して、ステップＳ５１に進む。一方、ステップＳ３１で“ＮＯ”であれば、つまり、直接操作指示がなければ、ステップＳ３５で、第２の操作モードでの処理を実行して、ステップＳ５１に進む。
【０１５０】
ステップＳ３５では、プロセッサ８１は、アナログスティック３２の操作に従ってプレイヤキャラクタ２０２の移動を制御する。つまり、現在位置データ８５４ｄのうち、プレイヤキャラクタ２０２の現在位置の位置座標データを更新する。
【０１５１】
また、ステップＳ３５では、プロセッサ８１は、アナログスティック５２の操作に従って仮想カメラを移動させる。
【０１５２】
さらに、ステップＳ３５では、プロセッサ８１は、ＺＬボタン３９が操作されていない場合には、他の種類の操作に関わらずサブキャラクタ２１０に最も近い敵キャラクタ２０４を攻撃するようにサブキャラクタ２１０の動作を制御する。ただし、敵キャラクタ２０４が仮想空間内に存在しないまたはサブキャラクタ２１０の移動範囲内に存在しない場合には、プレイヤキャラクタ２０２の移動に追従するように、サブキャラクタ２１０は移動する。プレイヤキャラクタ２０２やサブキャラクタ２１０の移動に伴って連結オブジェクト２１２も移動、変形する。
【０１５３】
さらにまた、ステップＳ３５では、プロセッサ８１は、敵キャラクタ２０４が仮想空間内に存在しないまたはサブキャラクタ２１０の移動範囲内に存在しない場合において、ＺＬボタン３９が押下されると、サブキャラクタ２１０が、プレイヤキャラクタ２０２から仮想カメラが向く方向（つまり、撮影方向）に向けて飛び出すように移動（または出現）するアニメーションを再生し始める。
【０１５４】
また、ステップＳ３５では、プロセッサ８１は、プレイヤキャラクタ２０２の連続技の攻撃に合わせてタイミングよくＺＬボタン３９が操作された場合には、プロセッサ８１は、サブキャラクタ２１０がプレイヤキャラクタ２０２の連続的な攻撃に続けて効果的に敵キャラクタ２０４を攻撃するアニメーションを再生する。
【０１５５】
さらに、ステップＳ３５では、プロセッサ８１は、プレイヤキャラクタ２０２またはサブキャラクタ２１０が敵キャラクタ２０４の攻撃を受けたときのアニメーション、または、敵キャラクタ２０４がプレイヤキャラクタ２０２または／およびサブキャラクタ２１０の攻撃を受けたときのアニメーションを再生する。
【０１５６】
さらにまた、ステップＳ３５では、プロセッサ８１は、ＺＬボタン３９が押下されている場合にタイマ８５４ｆを更新し、ＺＬボタン３９が押下されていない場合にタイマ８５４ｆをリセットする。
【０１５７】
ただし、上述したように、図１８−図２０に示すステップＳ３−Ｓ５５のスキャンタイムは１フレームであるため、ステップＳ３５では、１フレーム分、プレイヤキャラクタ２０２または／およびサブキャラクタ２１０の位置が移動されたり、その移動に伴うプレイヤキャラクタ２０２または／およびサブキャラクタ２１０の姿勢（または身体）またはサブキャラクタ２１０の攻撃に伴う姿勢（または身体）が変化されたりする。また、プレイヤキャラクタ２０２または／およびサブキャラクタ２１０の移動に伴って、１フレーム分、連結オブジェクト２１２が移動または／および変形される。さらに、ステップＳ３５では、１フレーム分のアニメーションが再生される。アニメーション再生開始後に所定期間操作を受け付けなくする場合には、次のフレーム以降、操作を受け付けるようになるまでステップＳ７でアニメーションが継続されることになる。これらのことは、後述するステップＳ４９においても同じである。
【０１５８】
図２０に示すように、ステップＳ３７では、体力値を所定量減算する。次のステップＳ３９では、サブキャラクタ２１０の消去かどうかを判断する。ステップＳ３９で“ＹＥＳ”であれば、ステップＳ４１で、サブキャラクタ２１０の消去を開始し、ステップＳ４３で、第１の操作モードに移行して、ステップＳ５１に進む。
【０１５９】
ステップＳ３９で“ＮＯ”であれば、ステップＳ４５で、直接操作指示の解除かどうかを判断する。ここでは、ステップＳ３で検出された操作データが、ＺＬボタン３９の押下を示していなければ直接操作指示の解除であると判断する。ただし、ステップＳ３において、操作データが検出されない場合も直接操作指示の解除であることが判断される。
【０１６０】
ステップＳ４５で“ＹＥＳ”であれば、つまり、直接操作指示の解除であれば、ステップＳ４７で、操作モードを第２の操作モードへ移行して、ステップＳ５１に進む。また、プロセッサ８１は、タイマ８５４ｆをリセットする。一方、ステップＳ４５で“ＮＯ”であれば、つまり、直接操作指示の解除でなければ、ステップＳ４９で、第３の操作モードでの処理を実行して、ステップＳ５１に進む。
【０１６１】
ステップＳ４９では、プロセッサ８１は、アナログスティック３２の操作に従ってプレイヤキャラクタ２０２を移動させたり、アナログスティック５２の操作に従ってサブキャラクタ２１０を移動させたりする。このとき、現在位置データ８５４ｄが更新される。ただし、操作モードは、第３の操作モードであるため、ＺＬボタン３９は押下されたままの状態である。以下、同様である。
【０１６２】
また、ステップＳ４９では、プロセッサ８１は、ＺＲボタン６１の操作に従って、連結オブジェクト２１２を短くするとともに、プレイヤキャラクタ２０２をサブキャラクタ２１０に近づけるように移動させる。
【０１６３】
さらに、ステップＳ４９では、プロセッサ８１は、プレイヤキャラクタ２０２、サブキャラクタ２１０および敵キャラクタ２０４の位置関係によって、敵キャラクタ２０４に連結オブジェクト２１２を引っ掛けたり、敵キャラクタ２０４に連結オブジェクト２１２を巻き付けたりする。また、敵キャラクタ２０４に連結オブジェクト２１２を一周巻き付けた後では、プレイヤキャラクタ２０２およびサブキャラクタ２１０が、敵キャラクタ２０４を連結オブジェクト２１２で縛り付けるアニメーションを再生する。
【０１６４】
さらにまた、ステップＳ４９では、プロセッサ８１は、プレイヤキャラクタ２０２またはサブキャラクタ２１０が敵キャラクタ２０４の攻撃を受けたときのアニメーション、または、連結オブジェクト２１２を引っ掛けたり、巻き付けたりしたことにより、敵キャラクタ２０４を攻撃したときのアニメーションを再生する。
【０１６５】
ステップＳ５１では、他のキャラクタまたは／およびオブジェクトの処理を実行する。ここでは、プロセッサ８１は、敵キャラクタ２０４を含むノンプレイヤキャラクタを動作させたり、背景オブジェクトを変化させたりする。
【０１６６】
次のステップＳ５３では、上述の処理によって仮想空間に配置されたオブジェクトに基づいてゲーム画像を生成する。生成されたゲーム画像はディスプレイ１２に表示される。そして、ステップＳ５５で、ゲーム終了かどうかを判断する。ここでは、プロセッサ８１は、ゲームクリアまたはゲームオーバかどうかを判断する。なお、ステップＳ３で検出した操作データがゲーム終了の指示を示す場合には、ゲーム処理の途中であっても強制的に終了される。また、図示は省略するが、ステップＳ５３の処理と同時にまたはほぼ同時に、ゲームに必要な音声（以下、「ゲーム音声」という）が生成され、生成されてゲーム音声がスピーカ８８（または、音声入出力端子２５）から出力される。
【０１６７】
ステップＳ５５で“ＮＯ”であれば、つまり、ゲーム終了でなければ、図１８に示したステップＳ３に戻る。一方、ステップＳ５５で“ＹＥＳ”であれば、つまり、ゲーム終了であれば、ゲーム処理を終了する。
【０１６８】
この実施例によれば、プレイヤの選択により、サブキャラクタを仮想空間内に出現させるか消去させるかを切り替えたり、サブキャラクタを自動制御するか手動で操作するかを切り替えたりできるので、操作のバリエーションを多くすることができる一方で、必要に応じて簡単な操作でプレイすることができる。たとえば操作が複雑と感じる場合や、複雑な操作が必要ない場面では簡単な操作に切り替えてプレイすることができる。
【０１６９】
また、この実施例によれば、ＺＬボタンのような所定の操作ボタンを継続的に押下している間において、第３の操作モードが維持され、プレイヤキャラクタおよびサブキャラクタのそれぞれについて、少なくとも移動を制御するので、第３の操作モードを継続させる操作と、プレイヤキャラクタおよびサブキャラクタのそれぞれについて、少なくとも移動させる操作を行う必要がある。つまり、あえて長時間は第３の操作モードを維持しにくい操作にすることにより、常に第３の操作モードでゲームをプレイするのではなく、適切な状況を見定めて第３の操作モードに切り替えることを促すことができる。このため、難しいまたは複雑な操作を短時間にし、基本的には比較的簡単な操作が長期間継続するように誘導することができる。なお、別の実施例においては、所定のボタンを１回押すことで第３のモードに切り替えるようにしてもよい。
【０１７０】
さらに、この実施例によれば、体力値に応じてサブキャラクタを使用可能かどうかを制御するため、体力値により、プレイヤはサブキャラクタを出現させたり消去させたりする戦術も考える必要がある。つまり、体力値を設定することによっても、難しいまたは複雑な操作は長期間継続されずに、簡単な操作に戻るように誘導することができる。なお、体力値は、別の実施例においては、エネルギー、生命力等、別のパラメータであってもよい。また、必要に応じて体力値を用いないこともできる。
【０１７１】
なお、上述の実施例では、サブキャラクタを仮想空間内に出現させたり、仮想空間から消去させたりするようにしたが、これに限定される必要はない。他の実施例では、第１の操作モードにおいては、サブキャラクタは、仮想空間内に動作不能な状態で存在し、プレイヤの操作に従って、仮想空間内に動作可能な状態で出現させるようにしてもよい。かかる場合には、プレイヤの操作に従って、または、体力値が０になったことに応じて、サブキャラクタは、仮想空間内で動作可能な状態から動作不能な状態に変化される。つまり、動作可能な状態のサブキャラクタが消去される。たとえば、仮想空間内で動作不能な状態においては、サブキャラクタは、プレイヤキャラクタが所持する所定のアイテムに封じ込められていたり、動作しない別のオブジェクトまたはアイテムに変化して存在していたりする。このような場合には、サブキャラクタが仮想空間内で動作可能な状態で出現されるとき、サブキャラクタは、所定のアイテムから飛び出したり、動作しない別のオブジェクトまたはアイテムから変化されたりする。つまり、サブキャラクタは、動作可能な状態で仮想空間内に出現する。
【０１７２】
また、この実施例では、サブキャラクタ２１０が消去されている場合（つまり、第１の操作モードにおいて）、パラメータの数値（つまり、体力値）が増加され、サブキャラクタ２１０が仮想空間内に出現されている場合（つまり、第２の操作モードおよび第３の操作モードにおいて）、パラメータの数値が減少されるようにしてあるが、これに限定される必要はない。パラメータの内容によっては、サブキャラクタ２１０が消去されている場合に、パラメータの数値が減少され、サブキャラクタ２１０が仮想空間内に出現されている場合に、パラメータの数値が増加されるようにすることもできる。かかる場合には、パラメータは、たとえば、サブキャラクタ２１０が消耗した体力の数値であり、その数値が最大値（たとえば、１００）になると、仮想空間から消去され、体力が完全に回復する（パラメータの数値が０になる）まで、サブキャラクタ２１０を仮想空間内に出現させることができない。ただし、パラメータの数値が最大値に到達する前に、サブキャラクタ２１０を消去した場合には、パラメータの数値が０になる前であっても、サブキャラクタ２１０を仮想空間内に出現させることができる。
【０１７３】
さらに、上述の実施例では、情報処理システムの一例としてゲームシステム１を示したが、その構成は限定される必要は無く、他の構成を採用することが可能である。たとえば、上記「コンピュータ」は、上述の実施例においては、１つのコンピュータ（具体的には、プロセッサ８１）であるが、他の実施例においては、複数のコンピュータであってもよい。上記「コンピュータ」は、例えば、複数の装置に設けられる（複数の）コンピュータであってもよく、より具体的には、上記「コンピュータ」は、本体装置２のプロセッサ８１と、コントローラが備える通信制御部（マイクロプロセッサ）１０１、１１１とによって構成されてもよい。
【０１７４】
さらにまた、他の実施例では、インターネットのようなネットワーク上のサーバで、図１８−図２０に示したゲーム処理を実行するようにしてもよい。かかる場合には、本体装置２のプロセッサ８１は、左コントローラ３および右コントローラ４から受信した操作データを、ネットワーク通信部８２およびネットワークを介して上記のサーバに送信し、サーバでゲーム処理を実行された結果（つまり、ゲーム画像のデータおよびゲーム音声のデータ）を受信して、ゲーム画像をディスプレイ１２に表示するとともに、ゲーム音声をスピーカ８８から出力する。つまり、上記の実施例で示したゲームシステム１とネットワーク上のサーバを含む情報処理システムを構成することもできる。
【０１７５】
また、上述の実施例では、ディスプレイ１２にゲーム画像を表示する場合について説明したが、これに限定される必要はない。本体装置２を、クレードルを介して据置型モニタ（たとえば、テレビモニタ）に接続することにより、ゲーム画像を据置型モニタに表示することもできる。かかる場合には、ゲームシステム１と据置型モニタを含む情報処理システムを構成することもできる。
【０１７６】
さらに、上述の実施例では、本体装置２に左コントローラ３および右コントローラ４を着脱可能な構成のゲームシステム１を用いた場合について説明したが、これに限定される必要はない。たとえば、左コントローラ３および右コントローラ４と同様の操作ボタンおよびアナログスティックを有する操作部を本体装置２に一体的に設けたゲーム装置またはゲームプログラムを実行可能な他の電子機器のような情報処理装置を用いることもできる。他の電子機器としては、スマートフォンまたはタブレットＰＣなどが該当する。かかる場合には、操作部はソフトウェアキーで構成することもできる。
【０１７７】
さらにまた、上述の実施例で示した具体的な数値、画像、付加操作装置の構成は一例であり、実際の製品に応じて適宜変更可能である。
【符号の説明】
【０１７８】
１  …ゲームシステム
２  …本体装置
３  …左コントローラ
４  …右コントローラ
３２、５２  …アナログスティック
３９  …ＺＬボタン
６０  …Ｒボタン
６１  …ＺＲボタン
８１  …プロセッサ
【図１】
2020130213.tif 000003
【図２】
2020130213.tif 000004
【図３】
2020130213.tif 000005
【図４】
2020130213.tif 000006
【図５】
2020130213.tif 000007
【図６】
2020130213.tif 000008
【図７】
2020130213.tif 000009
【図８】
2020130213.tif 000010
【図９】
2020130213.tif 000011
【図１０】
2020130213.tif 000012
【図１１】
2020130213.tif 000013
【図１２】
2020130213.tif 000014
【図１３】
2020130213.tif 000015
【図１４】
2020130213.tif 000016
【図１５】
2020130213.tif 000017
【図１６】
2020130213.tif 000018
【図１７】
2020130213.tif 000019
【図１８】
2020130213.tif 000020
【図１９】
2020130213.tif 000021
【図２０】
2020130213.tif 000022