(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2022146055
(43)【公開日】2022-10-05
(54)【発明の名称】ゲームプログラム、ゲームシステム、ゲーム装置およびゲーム制御方法
(51)【国際特許分類】
A63F 13/55 20140101AFI20220928BHJP
A63F 13/45 20140101ALI20220928BHJP
A63F 13/5258 20140101ALI20220928BHJP
【FI】
A63F13/55
A63F13/45
A63F13/5258
【審査請求】未請求
【請求項の数】26
【出願形態】OL
(21)【出願番号】P 2021046839
(22)【出願日】2021-03-22
(71)【出願人】
【識別番号】000233778
【氏名又は名称】任天堂株式会社
(74)【代理人】
【識別番号】100090181
【弁理士】
【氏名又は名称】山田 義人
(74)【代理人】
【識別番号】100130269
【弁理士】
【氏名又は名称】石原 盛規
(72)【発明者】
【氏名】神谷 英樹
(72)【発明者】
【氏名】宮田 祐輔
(57)【要約】
【課題】 新しい方法で2体のキャラクタを操作することができる。
【構成】 ゲームシステム(1)は、本体装置(2)を含み、この本体装置には左コントローラ(3)および右コントローラ(4)が着脱可能に設けられる。第1の操作モードでは、プレイヤの操作に従ってプレイヤキャラクタ202の移動および動作が制御される。第2の操作モードでは、攻撃用キャラクタ210が出現され、プレイヤの操作に従って、攻撃用キャラクタの移動および動作が制御される。したがって、第2の操作モードでは、プレイヤキャラクタの移動は制限される。第1の操作モードでは、仮想カメラ250は、プレイヤキャラクタを追従し、第2の操作モードでは、プレイヤおよび攻撃用キャラクタの両方を捉えるように、それぞれ、仮想カメラの向きおよび位置が制御される。
【選択図】
図12
【特許請求の範囲】
【請求項1】
ゲーム装置のコンピュータに、
第1の操作モードにおいて、
操作入力に基づいて、仮想空間内におけるプレイヤキャラクタオブジェクトの移動およびアクションを制御させ、
仮想カメラの視点および注視点の位置を前記プレイヤキャラクタオブジェクトの位置に基づいて設定させ、
第1の切り替え指示入力に基づいて、前記仮想空間内に攻撃用キャラクタオブジェクト出現させるとともに、操作モードを第2の操作モードへ切り替えさせ、
前記第2の操作モードにおいて、
前記プレイヤキャラクタオブジェクトの移動を制限させ、
操作入力に基づいて、仮想空間内における前記攻撃用キャラクタオブジェクトの移動およびアクションを制御させ、
前記仮想カメラの注視点の位置を前記プレイヤキャラクタオブジェクトの位置に基づいて設定させるとともに、前記仮想カメラの視線が前記攻撃用キャラクタオブジェクトの位置に追従するように前記仮想カメラの視点の位置を設定させ、
第2の切り替え指示入力に基づいて、操作モードを前記第1のモードへ切り替えさせる、ゲームプログラム。
【請求項2】
前記コンピュータに、
前記第2の操作モードにおいて、
前記操作入力に基づいて指定されたアクションを前記攻撃用キャラクタオブジェクトに実行させ、
前記第2の切り替え指示入力が行われた場合、操作モードを前記第1の操作モードに切り替えさせるとともに、前記攻撃用キャラクタオブジェクトを消去させ、
前記第2の切り替え指示入力が行われたときに、前記攻撃用キャラクタオブジェクトが前記指定されたアクションを完了させていない場合、操作モードを前記第1の操作モードに切り替えた後、当該指定されたアクションを完了させてから前記攻撃用キャラクタオブジェクトを消去させる、請求項1記載のゲームプログラム。
【請求項3】
前記コンピュータに、
前記第2の操作モードにおいて、
前記攻撃用キャラクタオブジェクトが指定された第1のアクションを実行中において、さらに前記操作入力に基づいてアクションが指定された場合には、次に行う第2のアクションとして指定を保持し、前記攻撃用キャラクタオブジェクトに前記第1のアクション完了後に前記第2のアクションを実行させ、
前記第2の切り替え指示入力が行われたときに、前記攻撃用キャラクタオブジェクトが少なくとも1つの前記指定されたアクションを完了させていない場合、操作モードを前記第1の操作モードに切り替えた後、当該指定されたアクションを全て完了させてから前記攻撃用キャラクタオブジェクトを消去させる、請求項2記載のゲームプログラム。
【請求項4】
前記コンピュータに、
前記第1の操作モードにおいて、
前記操作入力に基づいて指定されたアクションを前記プレイヤキャラクタオブジェクトに行わせ、
前記第1の切り替え指示入力が行われたときに、前記プレイヤキャラクタオブジェクトが前記指定されたアクションを完了させていない場合、操作モードを前記第2の操作モードに切り替えた後、前記指定されたアクションを完了させるまで前記プレイヤキャラクタに実行させる、請求項1から3までのいずれか記載のゲームプログラム。
【請求項5】
前記コンピュータにさらに、
前記仮想空間内において敵キャラクタオブジェクトを制御させ、
前記第2の操作モードにおいて、前記プレイヤキャラクタオブジェクトが前記敵オブジェクトの攻撃を受けた場合に、前記攻撃用キャラクタオブジェクトを消去させるとともに、操作モードを前記第1の操作モードに切り替えさせる、請求項1から4までのいずれか記載のゲームプログラム。
【請求項6】
前記コンピュータに、
前記第2の操作モードにおいて、前記仮想カメラの視線が、前記敵オブジェクトの位置、または前記攻撃用キャラクタオブジェクトと前記敵オブジェクトの間の位置に追従するように前記視点を設定させる、請求項5記載のゲームプログラム。
【請求項7】
前記コンピュータにさらに、
操作入力に基づいて、前記仮想カメラの視線方向を一時的に変化させる、請求項1から6までのいずれか記載のゲームプログラム。
【請求項8】
前記第1の操作切り替え指示入力は、所定のキー入力がオフからオンになることであり、
前記第2の操作切り替え指示入力は、前記所定のキー入力がオンからオフになることであり、
前記所定のキー入力がオンの状態が継続される間、操作モードが前記第2の操作モードとなる、請求項1から7までのいずれか記載のゲームプログラム。
【請求項9】
操作装置と、プロセッサを含むゲーム装置を備えたゲームシステムであって、
前記プロセッサは、
第1の操作モードにおいて、
前記操作装置に対する操作入力に基づいて、仮想空間内におけるプレイヤキャラクタオブジェクトの移動およびアクションを制御し、
仮想カメラの視点および注視点の位置を前記プレイヤキャラクタオブジェクトの位置に基づいて設定し、
前記操作装置に対する第1の切り替え指示入力に基づいて、前記仮想空間内に攻撃用キャラクタオブジェクト出現させるとともに、操作モードを第2の操作モードへ切り替え、
前記第2の操作モードにおいて、
前記プレイヤキャラクタオブジェクトの移動を制限し、
前記操作装置に対する操作入力に基づいて、仮想空間内における前記攻撃用キャラクタオブジェクトの移動およびアクションを制御し、
前記仮想カメラの注視点の位置を前記プレイヤキャラクタオブジェクトの位置に基づいて設定するとともに、前記仮想カメラの視線が前記攻撃用キャラクタオブジェクトの位置に追従するように前記仮想カメラの視点の位置を設定し、
前記操作装置に対する第2の切り替え指示入力に基づいて、操作モードを前記第1のモードへ切り替える、ゲームシステム。
【請求項10】
前記プロセッサは、
前記第2の操作モードにおいて、
前記操作入力に基づいて指定されたアクションを前記攻撃用キャラクタオブジェクトに実行させ、
前記第2の切り替え指示入力が行われた場合、操作モードを前記第1の操作モードに切り替えさせるとともに、前記攻撃用キャラクタオブジェクトを消去し、
前記第2の切り替え指示入力が行われたときに、前記攻撃用キャラクタオブジェクトが前記指定されたアクションを完了させていない場合、操作モードを前記第1の操作モードに切り替えた後、当該指定されたアクションを完了させてから前記攻撃用キャラクタオブジェクトを消去する、請求項9記載のゲームシステム。
【請求項11】
前記プロセッサは、
前記第2の操作モードにおいて、
前記攻撃用キャラクタオブジェクトが指定された第1のアクションを実行中において、さらに前記操作入力に基づいてアクションが指定された場合には、次に行う第2のアクションとして指定を保持し、前記攻撃用キャラクタオブジェクトに前記第1のアクション完了後に前記第2のアクションを実行させ、
前記第2の切り替え指示入力が行われたときに、前記攻撃用キャラクタオブジェクトが少なくとも1つの前記指定されたアクションを完了していない場合、操作モードを前記第1の操作モードに切り替えた後、当該指定されたアクションを全て完了してから前記攻撃用キャラクタオブジェクトを消去する、請求項10記載のゲームシステム。
【請求項12】
前記プロセッサは、
前記第1の操作モードにおいて、
前記操作入力に基づいて指定されたアクションを前記プレイヤキャラクタオブジェクトに行わせ、
前記第1の切り替え指示入力が行われたときに、前記プレイヤキャラクタオブジェクトが前記指定されたアクションを完了させていない場合、操作モードを前記第2の操作モードに切り替えた後、前記指定されたアクションを完了するまで前記プレイヤキャラクタに実行させる、請求項9から11までのいずれか記載のゲームシステム。
【請求項13】
前記プロセッサは、さらに、
前記仮想空間内において敵キャラクタオブジェクトを制御し、
前記第2の操作モードにおいて、前記プレイヤキャラクタオブジェクトが前記敵オブジェクトの攻撃を受けた場合に、前記攻撃用キャラクタオブジェクトを消去するとともに、操作モードを前記第1の操作モードに切り替える、請求項9から12までのいずれか記載のゲームシステム。
【請求項14】
前記プロセッサは、
前記第2の操作モードにおいて、前記仮想カメラの視線が、前記敵オブジェクトの位置、または前記攻撃用キャラクタオブジェクトと前記敵オブジェクトの間の位置に追従するように前記視点を設定する、請求項13記載のゲームシステム。
【請求項15】
前記プロセッサは、さらに、
操作入力に基づいて、前記仮想カメラの視線方向を一時的に変化させる、請求項9から14までのいずれか記載のゲームシステム。
【請求項16】
前記第1の操作切り替え指示入力は、所定のキー入力がオフからオンになることであり、
前記第2の操作切り替え指示入力は、前記所定のキー入力がオンからオフになることであり、
前記所定のキー入力がオンの状態が継続される間、操作モードが前記第2の操作モードとなる、請求項9から15までのいずれか記載のゲームシステム。
【請求項17】
操作装置およびプロセッサを備えるゲーム装置であって、
前記プロセッサは、
第1の操作モードにおいて、
前記操作装置に対する操作入力に基づいて、仮想空間内におけるプレイヤキャラクタオブジェクトの移動およびアクションを制御し、
仮想カメラの視点および注視点の位置を前記プレイヤキャラクタオブジェクトの位置に基づいて設定し、
前記操作装置に対する第1の切り替え指示入力に基づいて、前記仮想空間内に攻撃用キャラクタオブジェクト出現させるとともに、操作モードを第2の操作モードへ切り替え、
前記第2の操作モードにおいて、
前記プレイヤキャラクタオブジェクトの移動を制限し、
前記操作装置に対する操作入力に基づいて、仮想空間内における前記攻撃用キャラクタオブジェクトの移動およびアクションを制御し、
前記仮想カメラの注視点の位置を前記プレイヤキャラクタオブジェクトの位置に基づいて設定するとともに、前記仮想カメラの視線が前記攻撃用キャラクタオブジェクトの位置に追従するように前記仮想カメラの視点の位置を設定し、
前記操作装置に対する第2の切り替え指示入力に基づいて、操作モードを前記第1のモードへ切り替える、ゲーム装置。
【請求項18】
前記プロセッサは、
前記第2の操作モードにおいて、
前記操作入力に基づいて指定されたアクションを前記攻撃用キャラクタオブジェクトに実行させ、
前記第2の切り替え指示入力が行われた場合、操作モードを前記第1の操作モードに切り替えさせるとともに、前記攻撃用キャラクタオブジェクトを消去し、
前記第2の切り替え指示入力が行われたときに、前記攻撃用キャラクタオブジェクトが前記指定されたアクションを完了させていない場合、操作モードを前記第1の操作モードに切り替えた後、当該指定されたアクションを完了させてから前記攻撃用キャラクタオブジェクトを消去する、請求項17記載のゲーム装置。
【請求項19】
前記プロセッサは、
前記第2の操作モードにおいて、
前記攻撃用キャラクタオブジェクトが指定された第1のアクションを実行中において、さらに前記操作入力に基づいてアクションが指定された場合には、次に行う第2のアクションとして指定を保持し、前記攻撃用キャラクタオブジェクトに前記第1のアクション完了後に前記第2のアクションを実行させ、
前記第2の切り替え指示入力が行われたときに、前記攻撃用キャラクタオブジェクトが少なくとも1つの前記指定されたアクションを完了していない場合、操作モードを前記第1の操作モードに切り替えた後、当該指定されたアクションを全て完了してから前記攻撃用キャラクタオブジェクトを消去する、請求項18記載のゲーム装置。
【請求項20】
前記プロセッサは、
前記第1の操作モードにおいて、
前記操作入力に基づいて指定されたアクションを前記プレイヤキャラクタオブジェクトに行わせ、
前記第1の切り替え指示入力が行われたときに、前記プレイヤキャラクタオブジェクトが前記指定されたアクションを完了させていない場合、操作モードを前記第2の操作モードに切り替えた後、前記指定されたアクションを完了するまで前記プレイヤキャラクタに実行させる、請求項17から19までのいずれか記載のゲーム装置。
【請求項21】
前記プロセッサは、さらに、
前記仮想空間内において敵キャラクタオブジェクトを制御し、
前記第2の操作モードにおいて、前記プレイヤキャラクタオブジェクトが前記敵オブジェクトの攻撃を受けた場合に、前記攻撃用キャラクタオブジェクトを消去するとともに、操作モードを前記第1の操作モードに切り替える、請求項17から20までのいずれか記載のゲーム装置。
【請求項22】
ゲーム装置のコンピュータに、
第1の操作モードにおいて、
操作入力に基づいて、仮想空間内におけるプレイヤキャラクタオブジェクトの移動およびアクションを制御させ、
仮想カメラの視点および注視点の位置を前記プレイヤキャラクタオブジェクトの位置に基づいて設定させ、
第1の切り替え指示入力に基づいて、前記仮想空間内に攻撃用キャラクタオブジェクト出現させるとともに、操作モードを第2の操作モードへ切り替えさせ、
前記第2の操作モードにおいて、
前記プレイヤキャラクタオブジェクトの移動を制限させ、
操作入力に基づいて、仮想空間内における前記攻撃用キャラクタオブジェクトの移動およびアクションを制御させ、
前記仮想カメラの注視点の位置を前記プレイヤキャラクタオブジェクトの位置に基づいて設定させるとともに、前記仮想カメラの視線が前記攻撃用キャラクタオブジェクトの位置に追従するように前記仮想カメラの視点の位置を設定させ、
第2の切り替え指示入力に基づいて、操作モードを前記第1のモードへ切り替えさせる、ゲーム制御方法。
【請求項23】
前記コンピュータに、
前記第2の操作モードにおいて、
前記操作入力に基づいて指定されたアクションを前記攻撃用キャラクタオブジェクトに実行させ、
前記第2の切り替え指示入力が行われた場合、操作モードを前記第1の操作モードに切り替えさせるとともに、前記攻撃用キャラクタオブジェクトを消去させ、
前記第2の切り替え指示入力が行われたときに、前記攻撃用キャラクタオブジェクトが前記指定されたアクションを完了させていない場合、操作モードを前記第1の操作モードに切り替えた後、当該指定されたアクションを完了させてから前記攻撃用キャラクタオブジェクトを消去させる、請求項22記載のゲーム制御方法。
【請求項24】
前記コンピュータに、
前記第2の操作モードにおいて、
前記攻撃用キャラクタオブジェクトが指定された第1のアクションを実行中において、さらに前記操作入力に基づいてアクションが指定された場合には、次に行う第2のアクションとして指定を保持し、前記攻撃用キャラクタオブジェクトに前記第1のアクション完了後に前記第2のアクションを実行させ、
前記第2の切り替え指示入力が行われたときに、前記攻撃用キャラクタオブジェクトが少なくとも1つの前記指定されたアクションを完了させていない場合、操作モードを前記第1の操作モードに切り替えた後、当該指定されたアクションを全て完了させてから前記攻撃用キャラクタオブジェクトを消去させる、請求項23記載のゲーム制御方法。
【請求項25】
前記コンピュータに、
前記第1の操作モードにおいて、
前記操作入力に基づいて指定されたアクションを前記プレイヤキャラクタオブジェクトに行わせ、
前記第1の切り替え指示入力が行われたときに、前記プレイヤキャラクタオブジェクトが前記指定されたアクションを完了させていない場合、操作モードを前記第2の操作モードに切り替えた後、前記指定されたアクションを完了させるまで前記プレイヤキャラクタに実行させる、請求項22から24までのいずれか記載のゲーム制御方法。
【請求項26】
前記コンピュータにさらに、
前記仮想空間内において敵キャラクタオブジェクトを制御させ、
前記第2の操作モードにおいて、前記プレイヤキャラクタオブジェクトが前記敵オブジェクトの攻撃を受けた場合に、前記攻撃用キャラクタオブジェクトを消去させるとともに、操作モードを前記第1の操作モードに切り替えさせる、請求項22から25までのいずれか記載のゲーム制御方法。
【発明の詳細な説明】
【技術分野】
【0001】
この発明はゲームプログラム、ゲームシステム、ゲーム装置およびゲーム制御方法に関し、特にたとえば、プレイヤの操作に従ってプレイヤキャラクタオブジェクトまたは攻撃用キャラクタオブジェクトを制御する、ゲームプログラム、ゲームシステム、ゲーム装置およびゲーム制御方法に関する。
【背景技術】
【0002】
背景技術の一例が特許文献1に開示される。この特許文献1のゲーム装置には、プレイヤの切り替え操作に応じて、1体または2体のキャラクタを操作する方法が開示される。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかし、2体のキャラクタを操作する方法は、特許文献1に開示された方法に限られない。
【0005】
それゆえに、この発明の主たる目的は、新規な、ゲームプログラム、ゲームシステム、ゲーム装置およびゲーム制御方法を提供することである。
【0006】
また、この発明の他の目的は、新しい方法で2体のキャラクタを操作することができる、ゲームプログラム、ゲームシステム、ゲーム装置およびゲーム制御方法を提供することである。
【課題を解決するための手段】
【0007】
第1の発明は、ゲーム装置のコンピュータに、第1の操作モードにおいて、操作入力に基づいて、仮想空間内におけるプレイヤキャラクタオブジェクトの移動およびアクションを制御させ、仮想カメラの視点および注視点の位置をプレイヤキャラクタオブジェクトの位置に基づいて設定させ、第1の切り替え指示入力に基づいて、仮想空間内に攻撃用キャラクタオブジェクト出現させるとともに、操作モードを第2の操作モードへ切り替えさせ、第2の操作モードにおいて、プレイヤキャラクタオブジェクトの移動を制限させ、操作入力に基づいて、仮想空間内における攻撃用キャラクタオブジェクトの移動およびアクションを制御させ、仮想カメラの注視点の位置をプレイヤキャラクタオブジェクトの位置に基づいて設定させるとともに、仮想カメラの視線が攻撃用キャラクタオブジェクトの位置に追従するように仮想カメラの視点の位置を設定させ、第2の切り替え指示入力に基づいて、操作モードを第1のモードへ切り替えさせる、ゲームプログラムである。
【0008】
第1の発明によれば、第1の操作モードでは、仮想カメラはプレイヤキャラクタオブジェクトを追従し、プレイヤキャラクタオブジェクトの移動および動作が制御され、第2の操作モードでは、移動を制限されるプレイヤキャラクタオブジェクトの位置に基づいて仮想カメラの注視点の位置が設定され、仮想カメラの視線が攻撃用キャラクタオブジェクトの位置に追従するように仮想カメラの視点の位置が設定されるので、プレイヤキャラクタオブジェクトと攻撃用キャラクタオブジェクトを切り替えながら操作することができ、両方のキャラクタオブジェクトが視界に入るように仮想カメラを制御することができる。つまり、新しい方法で2体のキャラクタを操作することができる。
【0009】
第2の発明は、第1の発明に従属し、コンピュータに、第2の操作モードにおいて、操作入力に基づいて指定されたアクションを攻撃用キャラクタオブジェクトに実行させ、第2の切り替え指示入力が行われた場合、操作モードを第1の操作モードに切り替えさせるとともに、攻撃用キャラクタオブジェクトを消去させ、第2の切り替え指示入力が行われたときに、攻撃用キャラクタオブジェクトが指定されたアクションを完了させていない場合、操作モードを第1の操作モードに切り替えた後、当該指定されたアクションを完了させてから攻撃用キャラクタオブジェクトを消去させる。
【0010】
第2の発明によれば、第2の操作モードから第1の操作モードに切り替えられ場合でも、攻撃用キャラクタオブジェクトのアクションを完了させてから、攻撃用キャラクタオブジェクトを消去させるので、一時的に、プレイヤキャラクタオブジェクトと攻撃用キャラクタオブジェクトを同時にアクションさせることができる。
【0011】
第3の発明は、第2の発明に従属し、コンピュータに、第2の操作モードにおいて、攻撃用キャラクタオブジェクトが指定された第1のアクションを実行中において、さらに操作入力に基づいてアクションが指定された場合には、次に行う第2のアクションとして指定を保持し、攻撃用キャラクタオブジェクトに第1のアクション完了後に第2のアクションを実行させ、第2の切り替え指示入力が行われたときに、攻撃用キャラクタオブジェクトが少なくとも1つの指定されたアクションを完了させていない場合、操作モードを第1の操作モードに切り替えた後、当該指定されたアクションを全て完了させてから攻撃用キャラクタオブジェクトを消去させる。
【0012】
第3の発明によれば、指定されたアクションの指示を保持し、第1の操作モードに切り替えられた場合でも、すべてのアクションを完了してから攻撃用キャラクタオブジェクトを消去させるので、一時的に、プレイヤキャラクタオブジェクトと攻撃用キャラクタオブジェクトを同時にアクションさせることができ、同時にアクションさせる時間を長くすることができる。
【0013】
第4の発明は、第1から第3の発明までのいずれかに従属し、コンピュータに、第1の操作モードにおいて、操作入力に基づいて指定されたアクションをプレイヤキャラクタオブジェクトに行わせ、第1の切り替え指示入力が行われたときに、プレイヤキャラクタオブジェクトが指定されたアクションを完了させていない場合、操作モードを第2の操作モードに切り替えた後、指定されたアクションを完了させるまでプレイヤキャラクタオブジェクトに実行させる。
【0014】
第4の発明においても、一時的に、プレイヤキャラクタオブジェクトと攻撃用キャラクタオブジェクトを同時にアクションさせることができる。
【0015】
第5の発明は、第1から第4の発明までのいずれかに従属し、コンピュータにさらに、仮想空間内において敵キャラクタオブジェクトを制御させ、第2の操作モードにおいて、プレイヤキャラクタオブジェクトが敵オブジェクトの攻撃を受けた場合に、攻撃用キャラクタオブジェクトを消去させるとともに、操作モードを第1の操作モードに切り替えさせる。
【0016】
第5の発明によれば、プレイヤキャラクタオブジェクトが攻撃を受けると攻撃用キャラクタオブジェクトが消去される仕様において、両方のキャラクタオブジェクトが視界に入るように仮想カメラを制御することによって敵キャラクタオブジェクトの攻撃を受けそうかどうかを把握しながら攻撃用キャラクタオブジェクトを操作することができる。
【0017】
第6の発明は、第5の発明に従属し、コンピュータに、第2の操作モードにおいて、仮想カメラの視線が、敵キャラクタオブジェクトの位置、または攻撃用キャラクタオブジェクトと敵オブジェクトの間の位置に追従するように視点を設定させる。
【0018】
第6の発明によれば、敵キャラクタオブジェクトを捉えるように仮想カメラを制御するので、敵キャラクタオブジェクトの攻撃を受けそうかどうかを把握することができる。
【0019】
第7の発明は、第1から第6の発明までのいずれかに従属し、コンピュータにさらに、操作入力に基づいて、仮想カメラの視線方向を一時的に変化させる。
【0020】
第7の発明によれば、一時的に仮想カメラの方向を変えて周囲を見ることができ、その後、本発明の効果を得られるカメラ制御に戻すことができる。
【0021】
第8の発明は、第1から第7の発明までのいずれかに従属し、第1の操作切り替え指示入力は、所定のキー入力がオフからオンになることであり、第2の操作切り替え指示入力は、所定のキー入力がオンからオフになることであり、所定のキー入力がオンの状態が継続される間、操作モードが第2の操作モードとなる。
【0022】
第8の発明によれば、所定のキー入力がオンの状態が継続される間、操作モードが第2の操作モードとなるため、プレイヤキャラクタオブジェクトと攻撃用キャラクタオブジェクトの両方が出現している場合に、いずれの操作を行っているかを容易に知ることができる。
【0023】
第9の発明は、操作装置と、プロセッサを含むゲーム装置を備えたゲームシステムであって、プロセッサは、第1の操作モードにおいて、操作装置に対する操作入力に基づいて、仮想空間内におけるプレイヤキャラクタオブジェクトの移動およびアクションを制御し、仮想カメラの視点および注視点の位置をプレイヤキャラクタオブジェクトの位置に基づいて設定し、操作装置に対する第1の切り替え指示入力に基づいて、仮想空間内に攻撃用キャラクタオブジェクト出現させるとともに、操作モードを第2の操作モードへ切り替え、第2の操作モードにおいて、プレイヤキャラクタオブジェクトの移動を制限し、操作装置に対する操作入力に基づいて、仮想空間内における攻撃用キャラクタオブジェクトの移動およびアクションを制御し、仮想カメラの注視点の位置をプレイヤキャラクタオブジェクトの位置に基づいて設定するとともに、仮想カメラの視線が攻撃用キャラクタオブジェクトの位置に追従するように仮想カメラの視点の位置を設定し、操作装置に対する第2の切り替え指示入力に基づいて、操作モードを第1のモードへ切り替える、ゲームシステムである。
【0024】
第10の発明は、操作装置およびプロセッサを備えるゲーム装置であって、プロセッサは、第1の操作モードにおいて、操作装置に対する操作入力に基づいて、仮想空間内におけるプレイヤキャラクタオブジェクトの移動およびアクションを制御し、仮想カメラの視点および注視点の位置をプレイヤキャラクタオブジェクトの位置に基づいて設定し、操作装置に対する第1の切り替え指示入力に基づいて、仮想空間内に攻撃用キャラクタオブジェクト出現させるとともに、操作モードを第2の操作モードへ切り替え、第2の操作モードにおいて、プレイヤキャラクタオブジェクトの移動を制限し、操作装置に対する操作入力に基づいて、仮想空間内における攻撃用キャラクタオブジェクトの移動およびアクションを制御し、仮想カメラの注視点の位置をプレイヤキャラクタオブジェクトの位置に基づいて設定するとともに、仮想カメラの視線が攻撃用キャラクタオブジェクトの位置に追従するように仮想カメラの視点の位置を設定し、操作装置に対する第2の切り替え指示入力に基づいて、操作モードを第1のモードへ切り替える、ゲーム装置である。
【0025】
第11の発明は、ゲーム装置のコンピュータに、第1の操作モードにおいて、操作入力に基づいて、仮想空間内におけるプレイヤキャラクタオブジェクトの移動およびアクションを制御させ、仮想カメラの視点および注視点の位置をプレイヤキャラクタオブジェクトの位置に基づいて設定させ、第1の切り替え指示入力に基づいて、仮想空間内に攻撃用キャラクタオブジェクト出現させるとともに、操作モードを第2の操作モードへ切り替えさせ、第2の操作モードにおいて、プレイヤキャラクタオブジェクトの移動を制限させ、操作入力に基づいて、仮想空間内における攻撃用キャラクタオブジェクトの移動およびアクションを制御させ、仮想カメラの注視点の位置をプレイヤキャラクタオブジェクトの位置に基づいて設定させるとともに、仮想カメラの視線が攻撃用キャラクタオブジェクトの位置に追従するように仮想カメラの視点の位置を設定させ、第2の切り替え指示入力に基づいて、操作モードを第1のモードへ切り替えさせる、ゲーム制御方法である。
【0026】
第9-第11の発明においても、第1の発明と同様に、新しい方法で2体のキャラクタを操作することができる。
【発明の効果】
【0027】
この発明によれば、新しい方法で2体のキャラクタを操作することができる。
【0028】
この発明の上述の目的,その他の目的,特徴および利点は、図面を参照して行う以下の実施例の詳細な説明から一層明らかとなろう。
【図面の簡単な説明】
【0029】
【
図1】
図1はこの実施例の本体装置に左コントローラおよび右コントローラを装着した状態の限定しない一例を示す図である。
【
図2】
図2は本体装置から左コントローラおよび右コントローラをそれぞれ外した状態の限定しない一例を示す図である。
【
図3】
図3は
図1および
図2に示した本体装置の限定しない一例を示す六面図である。
【
図4】
図4は
図1および
図2に示した左コントローラの限定しない一例を示す六面図である。
【
図5】
図5は
図1および
図2に示した右コントローラの限定しない一例を示す六面図である。
【
図6】
図6は
図1および
図2に示した本体装置の内部構成の限定しない一例を示すブロック図である。
【
図7】
図7は
図1および
図2に示した本体装置と左コントローラおよび右コントローラとの内部構成の限定しない一例を示すブロック図である。
【
図8】
図8は第1の操作モードにおけるゲーム画像の限定しない一例を示す図である。
【
図9】
図9は
図8に示す場合の仮想空間におけるプレイヤキャラクタと仮想カメラの位置関係の限定しない一例を示す図である。
【
図10】
図10は第1の操作モードにおけるゲーム画像の限定しない他の例を示す図である。
【
図11】
図11は第2の操作モードにおけるゲーム画像の限定しない第1の例を示す図である。
【
図12】
図12は
図11に示す場合の仮想空間におけるプレイヤキャラクタ、攻撃用キャラクタおよび仮想カメラの位置関係の限定しない一例を示す図である。
【
図13】
図13は第2の操作モードにおけるゲーム画像の限定しない第2の例を示す図である。
【
図14】
図14は第2の操作モードにおけるゲーム画像の限定しない第3の例を示す図である。
【
図15】
図15は第2の操作モードにおけるゲーム画像の限定しない第4の例を示す図である。
【
図16】
図16は
図15に示す場合の仮想空間におけるプレイヤキャラクタ、敵キャラクタ、攻撃用キャラクタおよび仮想カメラの位置関係の限定しない一例を示す図である。
【
図17】
図17は
図6に示す本体装置のDRAMのメモリマップの限定しない一例を示す図である。
【
図18】
図18は
図6に示す本体装置のプロセッサのゲーム処理の限定しない一例の一部を示すフロー図である。
【
図19】
図19は
図6に示す本体装置のプロセッサのゲーム処理の限定しない一例の他の一部であって、
図18に後続するフロー図である。
【
図20】
図20は
図6に示す本体装置のプロセッサの継続処理の限定しない一例のフロー図である。
【
図21】
図21は
図6に示す本体装置のプロセッサの第1の操作モード処理の限定しない一例の一部を示すフロー図である。
【
図22】
図22は
図6に示す本体装置のプロセッサの第1の操作モード処理の限定しない他の一部であって、
図21に後続するフロー図である。
【
図23】
図23は
図6に示す本体装置のプロセッサの攻撃判定処理の限定しない一例を示すフロー図である。
【
図24】
図24は
図6に示す本体装置のプロセッサの第1のダメージ判定処理の限定しない一例を示すフロー図である。
【
図25】
図25は
図6に示す本体装置のプロセッサの第2の操作モード処理の限定しない一例の一部を示すフロー図である。
【
図26】
図26は
図6に示す本体装置のプロセッサの第2の操作モード処理の限定しない他の一部であって、
図26に後続するフロー図である。
【
図27】
図27は
図6に示す本体装置のプロセッサの第2のダメージ判定処理の限定しない一例を示すフロー図である。
【発明を実施するための形態】
【0030】
以下、この実施例の限定しない一例に係るゲームシステムについて説明する。この実施例におけるゲームシステム1の一例は、本体装置(ゲーム装置;この実施例ではゲーム装置本体として機能する)2と左コントローラ3および右コントローラ4とを含む。本体装置2は、左コントローラ3および右コントローラ4がそれぞれ着脱可能である。つまり、ゲームシステム1は、左コントローラ3および右コントローラ4をそれぞれ本体装置2に装着して一体化された装置として利用できる。また、ゲームシステム1は、本体装置2と左コントローラ3および右コントローラ4とを別体として利用することもできる(
図2参照)。以下では、この実施例のゲームシステム1のハードウェア構成について説明し、その後に、この実施例のゲームシステム1の制御について説明する。
【0031】
図1は、本体装置2に左コントローラ3および右コントローラ4を装着した状態の一例を示す図である。
図1に示すように、左コントローラ3および右コントローラ4は、それぞれ本体装置2に装着されて一体化されている。本体装置2は、ゲームシステム1における各種の処理(例えば、ゲーム処理)を実行する装置である。本体装置2は、ディスプレイ12を備える。左コントローラ3および右コントローラ4は、ユーザが入力を行うための操作部を備える装置である。
【0032】
図2は、本体装置2から左コントローラ3および右コントローラ4をそれぞれ外した状態の一例を示す図である。
図1および
図2に示すように、左コントローラ3および右コントローラ4は、本体装置2に着脱可能である。なお、以下において、左コントローラ3および右コントローラ4の総称として「コントローラ」と記載することがある。
【0033】
図3は、本体装置2の一例を示す六面図である。
図3に示すように、本体装置2は、略板状のハウジング11を備える。この実施例において、ハウジング11の主面(換言すれば、表側の面、すなわち、ディスプレイ12が設けられる面)は、大略的には矩形形状である。
【0034】
なお、ハウジング11の形状および大きさは、任意である。一例として、ハウジング11は、携帯可能な大きさであってよい。また、本体装置2単体または本体装置2に左コントローラ3および右コントローラ4が装着された一体型装置は、携帯型装置となってもよい。また、本体装置2または一体型装置が手持ち型の装置となってもよい。また、本体装置2または一体型装置が可搬型装置となってもよい。
【0035】
図3に示すように、本体装置2は、ハウジング11の主面に設けられるディスプレイ12を備える。ディスプレイ12は、本体装置2が生成した画像を表示する。この実施例においては、ディスプレイ12は、液晶表示装置(LCD)とする。ただし、ディスプレイ12は任意の種類の表示装置であってよい。
【0036】
また、本体装置2は、ディスプレイ12の画面上にタッチパネル13を備える。この実施例においては、タッチパネル13は、マルチタッチ入力が可能な方式(例えば、静電容量方式)のものである。ただし、タッチパネル13は、任意の種類のものであってよく、例えば、シングルタッチ入力が可能な方式(例えば、抵抗膜方式)のものであってもよい。
【0037】
本体装置2は、ハウジング11の内部においてスピーカ(すなわち、
図6に示すスピーカ88)を備えている。
図3に示すように、ハウジング11の主面には、スピーカ孔11aおよび11bが形成される。そして、スピーカ88の出力音は、これらのスピーカ孔11aおよび11bからそれぞれ出力される。
【0038】
また、本体装置2は、本体装置2が左コントローラ3と有線通信を行うための端子である左側端子17と、本体装置2が右コントローラ4と有線通信を行うための右側端子21を備える。
【0039】
図3に示すように、本体装置2は、スロット23を備える。スロット23は、ハウジング11の上側面に設けられる。スロット23は、所定の種類の記憶媒体を装着可能な形状を有する。所定の種類の記憶媒体は、例えば、ゲームシステム1およびそれと同種のゲーム装置に専用の記憶媒体(例えば、専用メモリカード)である。所定の種類の記憶媒体は、例えば、本体装置2で利用されるデータ(例えば、アプリケーションのセーブデータ等)、および/または、本体装置2で実行されるプログラム(例えば、アプリケーションのプログラム等)を記憶するために用いられる。また、本体装置2は、電源ボタン28を備える。
【0040】
本体装置2は、下側端子27を備える。下側端子27は、本体装置2がクレードルと通信を行うための端子である。この実施例において、下側端子27は、USBコネクタ(より具体的には、メス側コネクタ)である。上記一体型装置または本体装置2単体をクレードルに載置した場合、ゲームシステム1は、本体装置2が生成して出力する画像を据置型モニタに表示することができる。また、この実施例においては、クレードルは、載置された上記一体型装置または本体装置2単体を充電する機能を有する。また、クレードルは、ハブ装置(具体的には、USBハブ)の機能を有する。
【0041】
図4は、左コントローラ3の一例を示す六面図である。
図4に示すように、左コントローラ3は、ハウジング31を備える。この実施例においては、ハウジング31は、縦長の形状、すなわち、上下方向(すなわち、
図1および
図4に示すy軸方向)に長い形状である。左コントローラ3は、本体装置2から外された状態において、縦長となる向きで把持されることも可能である。ハウジング31は、縦長となる向きで把持される場合に片手、特に左手で把持可能な形状および大きさをしている。また、左コントローラ3は、横長となる向きで把持されることも可能である。左コントローラ3が横長となる向きで把持される場合には、両手で把持されるようにしてもよい。
【0042】
左コントローラ3は、アナログスティック32を備える。
図4に示すように、アナログスティック32は、ハウジング31の主面に設けられる。アナログスティック32は、方向を入力することが可能な方向入力部として用いることができる。ユーザは、アナログスティック32を傾倒することによって傾倒方向に応じた方向の入力(および、傾倒した角度に応じた大きさの入力)が可能である。なお、左コントローラ3は、方向入力部として、アナログスティックに代えて、十字キーまたはスライド入力が可能なスライドスティック等を備えるようにしてもよい。また、この実施例においては、アナログスティック32を押下する入力が可能である。
【0043】
左コントローラ3は、各種操作ボタンを備える。左コントローラ3は、ハウジング31の主面上に4つの操作ボタン33~36(具体的には、右方向ボタン33、下方向ボタン34、上方向ボタン35、および左方向ボタン36)を備える。さらに、左コントローラ3は、録画ボタン37および-(マイナス)ボタン47を備える。左コントローラ3は、ハウジング31の側面の左上にLボタン38およびZLボタン39を備える。また、左コントローラ3は、ハウジング31の側面のうち、本体装置2に装着される際に装着される側の面に、SLボタン43およびSRボタン44を備える。これらの操作ボタンは、本体装置2で実行される各種プログラム(例えば、OSプログラムやアプリケーションプログラム)に応じた指示を行うために用いられる。
【0044】
また、左コントローラ3は、左コントローラ3が本体装置2と有線通信を行うための端子42を備える。
【0045】
図5は、右コントローラ4の一例を示す六面図である。
図5に示すように、右コントローラ4は、ハウジング51を備える。この実施例においては、ハウジング51は、縦長の形状、すなわち、上下方向に長い形状である。右コントローラ4は、本体装置2から外された状態において、縦長となる向きで把持されることも可能である。ハウジング51は、縦長となる向きで把持される場合に片手、特に右手で把持可能な形状および大きさをしている。また、右コントローラ4は、横長となる向きで把持されることも可能である。右コントローラ4が横長となる向きで把持される場合には、両手で把持されるようにしてもよい。
【0046】
右コントローラ4は、左コントローラ3と同様、方向入力部としてアナログスティック52を備える。この実施例においては、アナログスティック52は、左コントローラ3のアナログスティック32と同じ構成である。また、右コントローラ4は、アナログスティックに代えて、十字キーまたはスライド入力が可能なスライドスティック等を備えるようにしてもよい。また、右コントローラ4は、左コントローラ3と同様、ハウジング51の主面上に4つの操作ボタン53~56(具体的には、Aボタン53、Bボタン54、Xボタン55、およびYボタン56)を備える。さらに、右コントローラ4は、+(プラス)ボタン57およびホームボタン58を備える。また、右コントローラ4は、ハウジング51の側面の右上にRボタン60およびZRボタン61を備える。また、右コントローラ4は、左コントローラ3と同様、SLボタン65およびSRボタン66を備える。
【0047】
また、右コントローラ4は、右コントローラ4が本体装置2と有線通信を行うための端子64を備える。
【0048】
図6は、本体装置2の内部構成の一例を示すブロック図である。本体装置2は、
図3に示す構成の他、
図6に示す各構成要素81~91、97、および98を備える。これらの構成要素81~91、97、および98のいくつかは、電子部品として電子回路基板上に実装されてハウジング11内に収納されてもよい。
【0049】
本体装置2は、プロセッサ81を備える。プロセッサ81は、本体装置2において実行される各種の情報処理を実行する情報処理部であって、例えば、CPU(Central Processing Unit)のみから構成されてもよいし、CPU機能、GPU(Graphics Processing Unit)機能等の複数の機能を含むSoC(System-on-a-chip)から構成されてもよい。プロセッサ81は、記憶部(具体的には、フラッシュメモリ84等の内部記憶媒体、あるいは、スロット23に装着される外部記憶媒体等)に記憶される情報処理プログラム(例えば、ゲームプログラム)を実行することによって、各種の情報処理を実行する。
【0050】
本体装置2は、自身に内蔵される内部記憶媒体の一例として、フラッシュメモリ84およびDRAM(Dynamic Random Access Memory)85を備える。フラッシュメモリ84およびDRAM85は、プロセッサ81に接続される。フラッシュメモリ84は、主に、本体装置2に保存される各種のデータ(プログラムであってもよい)を記憶するために用いられるメモリである。DRAM85は、情報処理において用いられる各種のデータを一時的に記憶するために用いられるメモリである。
【0051】
本体装置2は、スロットインターフェース(以下、「I/F」と略記する)91を備える。スロットI/F91は、プロセッサ81に接続される。スロットI/F91は、スロット23に接続され、スロット23に装着された所定の種類の記憶媒体(例えば、専用メモリカード)に対するデータの読み出しおよび書き込みを、プロセッサ81の指示に応じて行う。
【0052】
プロセッサ81は、フラッシュメモリ84およびDRAM85、ならびに上記各記憶媒体との間でデータを適宜読み出したり書き込んだりして、上記の情報処理を実行する。
【0053】
本体装置2は、ネットワーク通信部82を備える。ネットワーク通信部82は、プロセッサ81に接続される。ネットワーク通信部82は、ネットワークを介して外部の装置と通信(具体的には、無線通信)を行う。この実施例においては、ネットワーク通信部82は、第1の通信態様としてWi-Fiの規格に準拠した方式により、無線LANに接続して外部装置と通信を行う。また、ネットワーク通信部82は、第2の通信態様として所定の通信方式(例えば、独自プロトコルによる通信や、赤外線通信)により、同種の他の本体装置2との間で無線通信を行う。なお、上記第2の通信態様による無線通信は、閉ざされたローカルネットワークエリア内に配置された他の本体装置2との間で無線通信可能であり、複数の本体装置2の間で直接通信することによってデータが送受信される、いわゆる「ローカル通信」を可能とする機能を実現する。
【0054】
本体装置2は、コントローラ通信部83を備える。コントローラ通信部83は、プロセッサ81に接続される。コントローラ通信部83は、左コントローラ3および/または右コントローラ4と無線通信を行う。本体装置2と左コントローラ3および右コントローラ4との通信方式は任意であるが、この実施例においては、コントローラ通信部83は、左コントローラ3との間および右コントローラ4との間で、Bluetooth(登録商標)の規格に従った通信を行う。
【0055】
プロセッサ81は、上述の左側端子17、右側端子21、および下側端子27に接続される。プロセッサ81は、左コントローラ3と有線通信を行う場合、左側端子17を介して左コントローラ3へデータを送信するとともに、左側端子17を介して左コントローラ3から操作データを受信(または、取得)する。また、プロセッサ81は、右コントローラ4と有線通信を行う場合、右側端子21を介して右コントローラ4へデータを送信するとともに、右側端子21を介して右コントローラ4から操作データを受信(または、取得)する。また、プロセッサ81は、クレードルと通信を行う場合、下側端子27を介してクレードルへデータを送信する。このように、この実施例においては、本体装置2は、左コントローラ3および右コントローラ4との間で、それぞれ有線通信と無線通信との両方を行うことができる。また、左コントローラ3および右コントローラ4が本体装置2に装着された一体型装置または本体装置2単体がクレードルに装着された場合、本体装置2は、クレードルを介してデータ(例えば、表示画像データや音声データ)を据置型モニタ等に出力することができる。
【0056】
ここで、本体装置2は、複数の左コントローラ3と同時に(換言すれば、並行して)通信を行うことができる。また、本体装置2は、複数の右コントローラ4と同時に(換言すれば、並行して)通信を行うことができる。したがって、複数のユーザは、左コントローラ3および右コントローラ4のセットをそれぞれ用いて、本体装置2に対する入力を同時に行うことができる。一例として、第1ユーザが左コントローラ3および右コントローラ4の第1セットを用いて本体装置2に対して入力を行うと同時に、第2ユーザが左コントローラ3および右コントローラ4の第2セットを用いて本体装置2に対して入力を行うことが可能となる。
【0057】
本体装置2は、タッチパネル13の制御を行う回路であるタッチパネルコントローラ86を備える。タッチパネルコントローラ86は、タッチパネル13とプロセッサ81との間に接続される。タッチパネルコントローラ86は、タッチパネル13からの信号に基づいて、例えばタッチ入力が行われた位置を示すデータを生成して、プロセッサ81へ出力する。
【0058】
また、ディスプレイ12は、プロセッサ81に接続される。プロセッサ81は、(例えば、上記の情報処理の実行によって)生成した画像および/または外部から取得した画像をディスプレイ12に表示する。
【0059】
本体装置2は、コーデック回路87およびスピーカ(具体的には、左スピーカおよび右スピーカ)88を備える。コーデック回路87は、スピーカ88および音声入出力端子25に接続されるとともに、プロセッサ81に接続される。コーデック回路87は、スピーカ88および音声入出力端子25に対する音声データの入出力を制御する回路である。
【0060】
本体装置2は、電力制御部97およびバッテリ98を備える。電力制御部97は、バッテリ98およびプロセッサ81に接続される。また、図示しないが、電力制御部97は、本体装置2の各部(具体的には、バッテリ98の電力の給電を受ける各部、左側端子17、および右側端子21)に接続される。電力制御部97は、プロセッサ81からの指令に基づいて、バッテリ98から上記各部への電力供給を制御する。
【0061】
また、バッテリ98は、下側端子27に接続される。外部の充電装置(例えば、クレードル)が下側端子27に接続され、下側端子27を介して本体装置2に電力が供給される場合、供給された電力がバッテリ98に充電される。
【0062】
図7は、本体装置2と左コントローラ3および右コントローラ4との内部構成の一例を示すブロック図である。なお、本体装置2に関する内部構成の詳細については、
図6で示しているため
図7では省略している。
【0063】
左コントローラ3は、本体装置2との間で通信を行う通信制御部101を備える。
図7に示すように、通信制御部101は、端子42を含む各構成要素に接続される。この実施例においては、通信制御部101は、端子42を介した有線通信と、端子42を介さない無線通信との両方で本体装置2と通信を行うことが可能である。通信制御部101は、左コントローラ3が本体装置2に対して行う通信方法を制御する。すなわち、左コントローラ3が本体装置2に装着されている場合、通信制御部101は、端子42を介して本体装置2と通信を行う。また、左コントローラ3が本体装置2から外されている場合、通信制御部101は、本体装置2(具体的には、コントローラ通信部83)との間で無線通信を行う。コントローラ通信部83と通信制御部101との間の無線通信は、例えばBluetooth(登録商標)の規格に従って行われる。
【0064】
また、左コントローラ3は、例えばフラッシュメモリ等のメモリ102を備える。通信制御部101は、例えばマイコン(マイクロプロセッサとも言う)で構成され、メモリ102に記憶されるファームウェアを実行することによって各種の処理を実行する。
【0065】
左コントローラ3は、各ボタン103(具体的には、ボタン33~39、43、44、および47)を備える。また、左コントローラ3は、アナログスティック(
図7では「スティック」と記載する)32を備える。各ボタン103およびアナログスティック32は、自身に対して行われた操作に関する情報を、適宜のタイミングで繰り返し通信制御部101へ出力する。
【0066】
通信制御部101は、各入力部(具体的には、各ボタン103、アナログスティック32、各センサ104および105)から、入力に関する情報(具体的には、操作に関する情報、またはセンサによる検出結果)を取得する。通信制御部101は、取得した情報(または取得した情報に所定の加工を行った情報)を含む操作データを本体装置2へ送信する。なお、操作データは、所定時間に1回の割合で繰り返し送信される。なお、入力に関する情報が本体装置2へ送信される間隔は、各入力部について同じであってもよいし、同じでなくてもよい。
【0067】
上記操作データが本体装置2へ送信されることによって、本体装置2は、左コントローラ3に対して行われた入力を得ることができる。すなわち、本体装置2は、各ボタン103およびアナログスティック32に対する操作を、操作データに基づいて判断することができる。
【0068】
左コントローラ3は、電力供給部108を備える。この実施例において、電力供給部108は、バッテリおよび電力制御回路を有する。図示しないが、電力制御回路は、バッテリに接続されるとともに、左コントローラ3の各部(具体的には、バッテリの電力の給電を受ける各部)に接続される。
【0069】
図7に示すように、右コントローラ4は、本体装置2との間で通信を行う通信制御部111を備える。また、右コントローラ4は、通信制御部111に接続されるメモリ112を備える。通信制御部111は、端子64を含む各構成要素に接続される。通信制御部111およびメモリ112は、左コントローラ3の通信制御部101およびメモリ102と同様の機能を有する。したがって、通信制御部111は、端子64を介した有線通信と、端子64を介さない無線通信(具体的には、Bluetooth(登録商標)の規格に従った通信)との両方で本体装置2と通信を行うことが可能であり、右コントローラ4が本体装置2に対して行う通信方法を制御する。
【0070】
右コントローラ4は、左コントローラ3の各入力部と同様の各入力部を備える。具体的には、各ボタン113、アナログスティック52を備える。これらの各入力部については、左コントローラ3の各入力部と同様の機能を有し、同様に動作する。
【0071】
右コントローラ4は、電力供給部118を備える。電力供給部118は、左コントローラ3の電力供給部108と同様の機能を有し、同様に動作する。
【0072】
次に、
図8-
図16を参照して、この実施例のゲームシステム1において実行される仮想のゲームのゲーム処理についての概要を説明する。
図8は、この実施例の仮想のゲームのアプリケーションを実行した場合に、表示装置(たとえば、ディスプレイ12)に表示されるゲーム画像の限定しない一例を示す図である。
【0073】
図8に示すように、限定しない一例のゲーム画像としてのゲーム画面200は、メインのプレイヤキャラクタ202を含む。プレイヤキャラクタ202は、プレイヤの操作に基づいて移動および任意の動作の実行を制御されるキャラクタまたはオブジェクトである。プレイヤキャラクタ202の動作としては、仮想の或る場所すなわち仮想空間内において、アイテムを取得したり、敵キャラクタ204(
図9参照)を攻撃したり、敵キャラクタ204の攻撃を回避(または、防御)したりすることなどが該当する。
【0074】
この実施例では、プレイヤは、アナログスティック32を操作することにより、プレイヤキャラクタ202を仮想空間内で移動させ、Aボタン53、Bボタン54、Xボタン55またはYボタン56を操作することにより、プレイヤキャラクタ202は、各ボタン53-56に割り当てられた攻撃を行う。ただし、Aボタン53、Bボタン54、Xボタン55およびYボタン56のうちのいずれか1つが長押しされたり、2つ以上が複合的に操作されたりすると、プレイヤキャラクタ202は、必殺技またはコンボ技で攻撃を行う。プレイヤキャラクタ202の攻撃が敵キャラクタ204(
図9参照)に当たると、敵キャラクタ204にダメージを与えることができる。また、ZRボタン61を操作することにより、プレイヤキャラクタ202は、敵キャラクタ204の攻撃を回避(または、防御)することができる。
【0075】
ゲーム画像には、背景オブジェクトも含まれる。この実施例では、背景オブジェクトは、主として、仮想空間に配置される地形のオブジェクトを意味する。また、この実施例においては、地形とは、地面(道路、広場などを含む)、床、木、草、花、建物、階段、洞窟、崖、壁などを意味する。
【0076】
本体装置2は、画像処理装置としても機能し、ゲーム画面200などの各種画面に対応するゲーム画像についての表示画像データを生成および出力(表示)する。プロセッサ81は、3次元の仮想空間に各種のオブジェクトおよびキャラクタを配置し、或る情景または場面(シーン)が生成される。このシーンを仮想カメラ250で撮影した(視点から見た)画像がゲーム画像としてディスプレイ12に表示される。
【0077】
このように、プレイヤが操作可能なキャラクタを1体(この実施例では、プレイヤキャラクタ202)仮想空間内に出現させ、当該キャラクタのみを操作する状態を第1の操作モードと呼ぶことにする。ただし、第1の操作モードでは、プレイヤが操作しない敵キャラクタ204のような他のキャラクタが出現される場合もある。
【0078】
この第1の操作モードでは、敵キャラクタ204が出現されていない場合には、仮想カメラ250は、プレイヤキャラクタ202から第1の所定距離(たとえば、仮想空間における3m)だけ後方であり、プレイヤキャラクタ202を斜め上方から見るとともに、プレイヤキャラクタ202を正面で捉える位置に配置され、プレイヤキャラクタ202を追従する。たとえば、第1の操作モードでは、プレイヤキャラクタ202の第1の所定位置(この実施例では、腰の位置)が仮想カメラ250の注視点の位置に設定される。また、仮想カメラ250の向きは、カメラ座標系で予め設定される。第1の操作モードにおいては、カメラ座標系における仮想カメラ250の向きは、第1の所定方向に設定される。これらの設定を満たすように、仮想カメラ250の3次元位置が決定される。このプレイヤキャラクタ202に対する仮想カメラ250の位置関係を「所定の位置関係」と呼ぶことにする。
【0079】
ただし、仮想カメラ250のカメラ座標系では、仮想カメラ250が基準方向を向いている場合(つまり、基準姿勢の場合)の視線と重なる軸がx軸に設定され、水平方向においてx軸に垂直な軸がy軸に設定され、x軸およびy軸の両方に垂直な軸がz軸に設定される。そして、仮想カメラ250の向き(または、姿勢)は、y軸回りの角度(ピッチ角)、x軸回りの角度(ロール角)およびz軸回りの角度(ヨー角)で表される。上記の第1の所定方向では、一例として、ピッチ角とロール角が0度に設定され、ピッチ角が下向きに30度に設定される。
【0080】
図9は
図8に示すゲーム画像が表示される場合の仮想空間をプレイヤキャラクタ202と仮想カメラ250の横から見た様子の限定しない一例を示す。ただし、
図9では、プレイヤキャラクタ202を簡略化してある。
【0081】
上述したように、所定の位置関係では、仮想カメラ250とプレイヤキャラクタ202の距離は水平距離で第1の所定距離に設定され、仮想カメラ250の向きは第1の所定方向に設定され、仮想カメラ250の注視点はプレイヤキャラクタ202の第1の所定位置に設定される。したがって、仮想カメラ250の視線が注視点を通るように、仮想カメラ250の高さが決定される。つまり、仮想空間における仮想カメラ250の位置(「視点」ともいう)が設定または計算される。
【0082】
ただし、仮想空間におけるプレイヤキャラクタ202の位置は、足元の位置である。これは一例であり、プレイヤキャラクタ202が人間のような姿形を有していない場合には、プレイヤキャラクタ202が仮想空間における地面に接触する位置の中心位置である。また、プレイヤキャラクタ202が宙に浮いている場合には、プレイヤキャラクタ202の位置は、基準点(たとえば、プレイヤキャラクタ202の中心点)から垂下して地面に当たる位置である。
【0083】
また、この第1の操作モードにおいては、アナログスティック52を傾倒することにより、仮想カメラ250を移動させることもできる。たとえば、仮想カメラ250の注視点は、プレイヤキャラクタ202の第1の所定位置のままで、仮想カメラ250が注視点を向いた状態で、アナログスティック52を傾倒した方向に、仮想カメラ250が移動される。ただし、仮想カメラ250とプレイヤキャラクタ202の距離は第1の所定距離に保たれ、仮想カメラ250の向きは、カメラ座標系において第1の所定方向のままである。ただし、プレイヤの操作に従って仮想カメラ250を動かす場合には、仮想カメラ250の注視点を他の所定位置(たとえば、プレイヤキャラクタ202の頭部の位置)にに設定し、仮想カメラ250の向きを他の方向(たとえば、ピッチ角、ロール角およびヨー角のすべてを0度)に設定してもよい。
【0084】
したがって、仮想カメラ250は、仮想空間を上方から見た場合に、プレイヤキャラクタ202を中心に、第1の所定距離の半径を有する円上を、アナログスティック52を傾倒した向きに移動(または、回転)する。つまり、仮想カメラ250はヨー方向に移動され、このときの移動方向がアナログスティック52を傾倒した向きである。
【0085】
図示は省略するが、プレイヤの操作に従って仮想カメラ250を動かすことにより、プレイヤキャラクタ202を中心とする周囲の様子を示すゲーム画像がディスプレイ12に表示される。このため、プレイヤは、仮想空間において、プレイヤキャラクタ202を中心とする周囲の様子を知ることができる。
【0086】
ただし、プレイヤの操作に従って仮想カメラ250が移動された場合であっても、アナログスティック52の操作を止めることにより、仮想カメラ250は、所定の位置関係を有する位置に戻される。つまり、元の仮想カメラ250の制御に戻る。このように、仮想カメラ250の視線方向は一時的に変化される。
【0087】
また、仮想カメラ250は、強制的に他のキャラクタを撮影するように、その位置および撮影方向が制御される場合もある。たとえば、ボスキャラクタなどの所定の敵キャラクタ204が仮想空間内に出現するアニメーションを再生する場合および所定の敵キャラクタ204が倒れる(戦闘に負ける)アニメーションを再生する場合などが該当する。
【0088】
図10は、第1の操作モードにおいて、敵キャラクタ204が出現した場合のゲーム画像に対応するゲーム画面200の一例を示す。第1の操作モードにおいて、敵キャラクタ204が出現すると、プレイヤキャラクタ202と仮想カメラ250距離は、第1の所定距離よりも長い第2の所定距離(たとえば、仮想空間における4m)に変更される。ただし、注視点の位置は第1の所定位置であり、カメラ座標系における仮想カメラ250の向きは第1の所定方向のままである。したがって、仮想カメラ250は、プレイヤキャラクタ202との水平距離が第2の所定距離になるように、視線と重なる直線上をプレイヤキャラクタ202から次第に離れるように移動される。この実施例では、仮想カメラ250が、プレイヤキャラクタ202から遠ざかったり、プレイヤキャラクタ202に近づいたりする場合には、1フレームにつき、第3の所定距離(たとえば、仮想空間における5cm)だけ視線と重なる直線上を移動される。以下、プレイヤキャラクタ202と仮想カメラ250の水平距離が変化されたり、仮想カメラ250の位置が変化されたり、それらの両方が変化されたりする場合について同様である。
【0089】
このように、仮想カメラ250の位置がプレイヤキャラクタ202から離れるため、
図9のゲーム画面200では、
図8のゲーム画面200よりも広い範囲についての仮想空間が描画される。したがって、プレイヤキャラクタ202のみならず、仮想空間に出現した敵キャラクタ204の一部または全部を出来る限り1つのゲーム画像に含めるようにすることができる。
【0090】
ただし、敵キャラクタ204が仮想空間に出現した場合の仮想カメラ250の設定は一例であり、他の実施例では、注視点をプレイヤキャラクタ202と敵キャラクタ204の間の位置(たとえば、中間位置)に設定するようにしてもよい。このようにしても、プレイヤキャラクタ202のみならず、敵キャラクタ204の一部または全部を1つのゲーム画像に含めるようにすることができる。
【0091】
敵キャラクタ204は、プレイヤによる操作ではなくコンピュータ(
図6のプロセッサ81)によって動作を制御されるノンプレイヤのキャラクタまたはオブジェクトである。敵キャラクタ204の動作としては、移動したり、プレイヤキャラクタ202を攻撃したり、プレイヤキャラクタ202からの攻撃を防御したりすることが該当する。
【0092】
上述したように、プレイヤの操作によって、プレイヤキャラクタ202が敵キャラクタ204を攻撃すると、敵キャラクタ204にダメージを与えることができる。敵キャラクタ204にダメージが与えられると、敵キャラクタ204の体力値が減算され、体力値が0になると、敵キャラクタ204は消滅される。たとえば、ボスキャラクタなどの所定の敵キャラクタ204を倒すと、ステージクリアまたはゲームクリアとなる。逆に、コンピュータによって、敵キャラクタ204がプレイヤキャラクタ202を攻撃すると、プレイヤキャラクタ202にダメージが与えられる。プレイヤキャラクタ202にダメージが与えられると、プレイヤキャラクタ202の体力値が減算され、体力値が0になると、プレイヤキャラクタ202は消滅される。この場合、たとえば、ゲームオーバとなる。
【0093】
詳細な説明は省略するが、第1の操作モードにおいて、プレイヤは、操作ボタン33、操作ボタン35または操作ボタン36を押下することにより、使用する攻撃用キャラクタ210(
図11参照)の種類を選択することができる。また、プレイヤは、Lボタン38を押下することにより、プレイヤキャラクタ202の装備(たとえば、武器)を変更することができる。さらに、プレイヤは、ZRボタン61を押下することにより、プレイヤキャラクタ202に敵キャラクタ204の攻撃を回避させることができる。
【0094】
また、第1の操作モードにおいて、プレイヤがZLボタン39を押下すると、操作モードは第1の操作モードから第2の操作モードに切り替えられ(または、移行され)、プレイヤがZLボタン39を押下し続けている間だけ、第2の操作モードを継続する。この実施例では、第2の操作モードは、プレイヤキャラクタ202とは別に、プレイヤが操作可能であり、敵キャラクタ204を攻撃するために使用可能である他のプレイヤキャラクタ(以下、「攻撃用キャラクタ」と呼ぶ)210を仮想空間内に出現し、プレイヤの操作によって当該攻撃用キャラクタ210が移動および任意の動作を行う状態を意味する。攻撃用キャラクタ210の動作としては、仮想の或る場所すなわち仮想空間内において、アイテムを取得したり、敵キャラクタ204を攻撃したり、敵キャラクタ204の攻撃を防御したりすることなどが該当する。
【0095】
ただし、第1の操作モードにおいて、プレイヤキャラクタ202が攻撃動作を行っている途中で、操作モードが第1の操作モードから第2の操作モードに切り替えられた場合には、プレイヤキャラクタ202の途中の攻撃動作は完了するまで継続(または、実行)され、この攻撃動作による攻撃が敵キャラクタ204に当たると、敵キャラクタ204にダメージが与えられる。つまり、操作モードが第1の操作モードから第2の操作モードに切り替えられた場合でも、プレイヤキャラクタは攻撃を完了するまで攻撃を継続するので、プレイヤキャラクタ202と攻撃用キャラクタ210が一時的に同時に攻撃することができる。
【0096】
また、図示は省略するが、複数の敵キャラクタ204が出現している場合には、プレイヤは、アナログスティック52を押下して、1体の敵キャラクタ204をロックオンし、ロックオンした敵キャラクタ204を攻撃することができる。このとき、プレイヤキャラクタ202と仮想カメラ250距離は、第2の所定距離のままである。また、仮想カメラ250の向きは、カメラ座標系における第2の所定方向に設定される。一例として、第2の所定方向では、ピッチ角が上向きに5度であり、ロール角およびヨー角が0度である。さらに、仮想カメラ250の注視点は、プレイヤキャラクタ202とロックオンした敵キャラクタ204の第2の所定位置(たとえば、中間位置)に設定される。ただし、中間位置は、プレイヤキャラクタ202の基準点(たとえば、中心点)と敵キャラクタ204の基準点(たとえば、中心点)を結ぶ線分の中点である。したがって、1体の敵キャラクタ204をロックオンすると、プレイヤキャラクタ202とロックオンした敵キャラクタ204の全部または一部が1つのゲーム画像に含まれる。
【0097】
また、1体の敵キャラクタ204がロックオンされている場合に、アナログスティック52が押下されると、ロックオンが解除される。アナログスティック52が押下される度に、ロックオンおよびそのロックオンの解除が繰り返される。ロックオンされる1体の敵キャラクタ204は、複数の敵キャラクタ204のうちから順番にまたはランダムに選択される。
【0098】
図11は第2の操作モードにおけるゲーム画像に対応するゲーム画面200の一例を示す図である。
図11に示すゲーム画面200には、プレイヤキャラクタ202に加えて、攻撃用キャラクタ210が含まれる。上述したように、第2の操作モードでは、攻撃用キャラクタ210の移動および動作はプレイヤの操作によって制御される。したがって、第2の操作モードでは、プレイヤキャラクタ202はプレイヤの操作で移動および動作しない。ただし、プレイヤキャラクタ202は、コンピュータ(
図6のプロセッサ81)によって動作を制御される場合がある。つまり、第2の操作モードでは、プレイヤキャラクタ202は移動を制限される。
【0099】
なお、この実施例では、攻撃用キャラクタ210は、操作モードが第1の操作モードから第2の操作モードに切り替えられた際に、地面から湧き出すように、仮想空間内に出現される。一例として、攻撃用キャラクタ210が湧き出す位置は、仮想空間において、プレイヤキャラクタ202の前方であり、ゲーム画面200の中央の位置に相当する位置である。他の例では、攻撃用キャラクタ210は、異次元の空間から出現したり、空から降ってきたりしてもよい。
【0100】
図12は
図11に示すゲーム画面200が表示される場合の仮想空間をプレイヤキャラクタ202、攻撃用キャラクタ210および仮想カメラ250の斜め上方から見た様子の限定しない一例を示す。
【0101】
第2の操作モードでは、プレイヤキャラクタ202と攻撃用キャラクタ210の両方が仮想カメラ250の画角内になるべく収まるように制御される。具体的には、
図12に示すように、第2の操作モードでは、仮想カメラ250の注視点は、プレイヤキャラクタ202に対して第3の所定位置に設定される。第3の所定位置は、プレイヤキャラクタ202の右上の位置であり、プレイヤキャラクタ202の位置に対して右方向および上方向のそれぞれに予め決定された距離だけ離れた位置に設定される。
【0102】
また、第2の操作モードでは、仮想カメラ250の向きはカメラ座標系において第3の所定方向に設定される。一例として、第3の所定方向では、ピッチ角は上向きに5度であり、ロール角およびヨー角は0度である。また、仮想カメラ250は、攻撃用キャラクタ210における基準点(以下、「第4の所定位置」という)を中心に捉える位置に配置される。たとえば、第4の所定位置は、攻撃用キャラクタ210における、全体の中心、胴体の中心、または、顔の中心の位置である。つまり、仮想カメラ250は、仮想カメラ250の視線が第3の所定位置および第4の所定位置の両方を通るように、配置される。
【0103】
なお、この実施例では、攻撃用キャラクタ210がプレイヤキャラクタ202よりも大きいため、注視点の位置をプレイヤキャラクタ202の右上の位置に設定し、カメラ座標系における仮想カメラを斜め上方の向きに設定してある。他の実施例では、攻撃用キャラクタ210がプレイヤキャラクタ202によりも小さい場合には、たとえば、注視点の位置をプレイヤキャラクタ202の右上の位置に設定し、カメラ座標系における仮想カメラを斜め下方の向きに設定される。
【0104】
基本的には、第2の操作モードにおいても、仮想カメラ250はプレイヤキャラクタ202の後方の第1の所定距離だけ離れた位置に配置される。ただし、攻撃用キャラクタ210が仮想カメラ250から第4の所定距離(たとえば、仮想空間において20m)以上離れている場合には、仮想カメラ250は攻撃用キャラクタ210に近づけられ、攻撃用キャラクタ210が仮想カメラ250の第5の所定距離(たとえば、仮想空間において5m)以内に近づいている場合には、仮想カメラ250は攻撃用キャラクタ210から遠ざけられる。
【0105】
ただし、仮想空間における攻撃用キャラクタ210の位置は、攻撃用キャラクタ210が地面と接触する部分の中心位置である。なお、攻撃用キャラクタ210が宙に浮いている場合には、攻撃用キャラクタ210の位置は、基準点(たとえば、攻撃用キャラクタ210の中心点)から垂下して地面に当たる位置である。
【0106】
この実施例では、攻撃用キャラクタ210が仮想カメラ250から第4の所定距離以上離れている場合には、仮想カメラ250は、プレイヤキャラクタ202との水平距離が第1の所定距離よりも短い第6の所定距離(たとえば、仮想空間において2m)に変更される。また、攻撃用キャラクタ210が仮想カメラ250の第5の所定距離以内に近づいている場合には、プレイヤキャラクタ202との水平距離が第1の所定距離よりも長い第7の所定距離(たとえば、仮想空間において4m)に変更される。つまり、第2の操作モードでは、攻撃用キャラクタ210と仮想カメラ250の距離が第5の所定距離から第4の所定距離の間である場合には、プレイヤキャラクタ202と仮想カメラ250の距離が第1の所定距離に設定される。
【0107】
図13は、攻撃用キャラクタ210が仮想カメラ250から第4の所定距離以上離れている場合のゲーム画像に対応するゲーム画面200の限定しない一例であり、
図14は、攻撃用キャラクタ210が仮想カメラ250の第5の所定距離以内に近づいている場合のゲーム画像に対応するゲーム画面200の限定しない一例である。
【0108】
図13に示すゲーム画面200は、
図11に示したゲーム画像において攻撃用キャラクタ210をプレイヤキャラクタ202から離れる方向に移動された場合のゲーム画像である。上記のとおり、仮想カメラ250をプレイヤキャラクタ202に近づけるため、
図11に示したゲーム画像と比較して分かるように、プレイヤキャラクタ202が少し大きく表示されている。
【0109】
また、
図14に示すゲーム画面200は、
図11に示したゲーム画像において攻撃用キャラクタ210をプレイヤキャラクタ202に近づける方向に移動された場合のゲーム画像である。上記のとおり、仮想カメラ250をプレイヤキャラクタ202から遠ざけるため、
図11に示したゲーム画像と比較して分かるように、プレイヤキャラクタ202が少し小さく表示されている。また、攻撃用キャラクタ210の全体がゲーム画像に含まれている。
【0110】
つまり、この実施例では、プレイヤキャラクタ202と攻撃用キャラクタ210を出来る限り見易く表示するために、プレイヤキャラクタ202と仮想カメラ250の距離を変更(または、調整)するようにしてある。よって、プレイヤキャラクタ202が攻撃用キャラクタ210を操っていることを分かり易い。
【0111】
また、第2の操作モードでは、第1の操作モードと同様に、仮想カメラ250はプレイヤの操作によって移動可能である。ただし、仮想カメラ250の移動についての重複する説明は省略することにする。第2の操作モードにおいても、プレイヤが仮想カメラ250の止めると、元の仮想カメラ250の制御に戻る。第2の操作モードにおいても、仮想カメラ250の視線方向は一時的に変化される。
【0112】
図15は第2の操作モードにおいて敵キャラクタ204がさらに出現した場合のゲーム画像に対応するゲーム画面200の限定しない一例を示す。
図16は
図15に示すゲーム画面200が表示される場合の仮想空間をプレイヤキャラクタ202、敵キャラクタ204、攻撃用キャラクタ210および仮想カメラ250の斜め上方から見た様子の限定しない一例を示す。
【0113】
図15および
図16に示すように、第2の操作モードにおいて、敵キャラクタ204が仮想空間に出現すると、仮想カメラ250は、敵キャラクタ204と攻撃用キャラクタ210で決まる第4の所定位置(たとえば、2体の中間位置)を捉える位置に移動される。ただし、注視点の位置は第3の所定位置のままであり、仮想カメラ250の向きは第3の所定方向のままである。
【0114】
なお、第4の所定位置は、敵キャラクタ204と攻撃用キャラクタ210の2体の中間位置に限定される必要はなく、敵キャラクタ204を捉える位置、たとえば、敵キャラクタ204に設定された基準点でもよい。
【0115】
したがって、第2の操作モードでは、敵キャラクタ204が出現した場合には、プレイヤキャラクタ202、敵キャラクタ204および攻撃用キャラクタ210が仮想カメラ250の画角内になるべく収まるように制御される。
【0116】
このように、第2の操作モードでは、敵キャラクタ204が仮想空間に出現していない場合には、仮想カメラ250の向きは、カメラ座標系における第3の所定方向であり、プレイヤキャラクタ202および攻撃用キャラクタ210の距離が第1の所定距離、第6の所定距離または第7の所定距離で、攻撃用キャラクタ210の基準点すなわち第3の所定位置を中心に捉えるように、仮想カメラ250の位置が設定される。また、敵キャラクタ204が仮想空間に出現した場合には、敵キャラクタ204が仮想空間に出現していない場合と異なり、敵キャラクタ204の基準点と攻撃用キャラクタ210の基準点の中間位置すなわち第4の所定位置を中心に捉えるように、仮想カメラ250の位置が設定される。つまり、第2の操作モードでは、敵キャラクタ204が出現していない場合には、仮想カメラ250の視線は、プレイヤキャラクタ202および攻撃用キャラクタ210の位置に追従され、敵キャラクタ204が出現している場合には、仮想カメラ250の視線は、プレイヤキャラクタ202、敵キャラクタ204および攻撃用キャラクタ210の位置に追従される。
【0117】
なお、第2の操作モードでは、上記のとおり、仮想カメラ250と攻撃用キャラクタ210の距離に基づいてプレイヤキャラクタ202と仮想カメラ250の水平距離を変化させるため、第1の操作モードとは異なり、敵キャラクタ204が出現しているかどうかに応じて、プレイヤキャラクタ202と仮想カメラ250の水平距離を変化させないようにしてある。ただし、第1の操作モードと同様に、敵キャラクタ204が出現しているかどうかに応じて、プレイヤキャラクタ202と仮想カメラ250の水平距離を変化させてもよい。
【0118】
図15に戻って、第2の操作モードでは、プレイヤの操作に従って、攻撃用キャラクタ210は敵キャラクタ204を攻撃するが、攻撃用キャラクタ210が敵キャラクタ204の攻撃中である場合には、攻撃内容を予約することができる。つまり、この実施例では、本体装置2は、攻撃用キャラクタ210が敵キャラクタ204を攻撃している場合に、攻撃操作を検出すると、検出した攻撃操作に対応する攻撃用キャラクタ210の攻撃内容を保持する。
【0119】
図15に示すゲーム画面200では、プレイヤの操作によって指定された攻撃内容を表示する表示部220が設けられる。左側の表示部220は、現在行っている攻撃についての内容を示す画像を表示し、右側の表示部220は、次に行う攻撃についての内容を示す画像を表示する。つまり、この実施例では、攻撃内容が1つ保持される。
図15に示す例では、左側にパンチを示す画像が表示され、右側にキックを示す画像が表示される。
【0120】
現在行っている攻撃が完了すると、つまり、攻撃動作がすべて終了すると、左側の表示部220の画像が、右側の表示部220に表示されていた画像に変更され、右側の表示部220に表示されていた画像が消去される。ただし、さらに攻撃内容が指定されると、その攻撃内容を示す画像が右側の表示部220に表示される。
【0121】
このように、攻撃内容が保持されるため、ZLボタン39がオフされ、操作モードが第2の操作モードから第1の操作モードに切り替えられた(または、戻った)場合に、攻撃用キャラクタ210の攻撃がすべて完了していない場合には、すべて完了してから、攻撃用キャラクタ210は消去される。第1の操作モードでは、プレイヤの操作に従ってプレイヤキャラクタ202が操作され、敵キャラクタ204を攻撃することができるため、攻撃用キャラクタ210が第1の操作モードにおいても攻撃を継続している場合には、プレイヤキャラクタ202と攻撃用キャラクタ210の両方で敵キャラクタ204を攻撃することができる。攻撃用キャラクタ210は、すべての攻撃を完了すると、仮想空間から消去される。
【0122】
この場合にも、プレイヤキャラクタ202と攻撃用キャラクタ210が一時的に同時に攻撃することができる。また、攻撃用キャラクタ210の攻撃内容が保持されている場合には、一時的に同時に攻撃している時間を長くすることができる。
【0123】
ただし、第2の操作モードにおいて、ZLボタン39がオフされない場合であっても、敵キャラクタ204によってプレイヤキャラクタ202が攻撃された場合には、操作モードが第2の操作モードから第1の操作モードに切り替えられる。
【0124】
したがって、プレイヤキャラクタ202が攻撃を受けると攻撃用キャラクタ210が消去される仕様において、上記のように、両方のキャラクタが視界に入るように仮想カメラ250を制御するので、敵キャラクタ204の攻撃を受けそうかどうかを把握しながら攻撃用キャラクタ210を操作することができる。
【0125】
また、第2の操作モードにおいても、複数の敵キャラクタ204が出現している場合には、プレイヤは、アナログスティック52を押下して、1体の敵キャラクタ204をロックオンし、ロックオンした敵キャラクタ204を攻撃することができる。このとき、プレイヤキャラクタ202と仮想カメラ250距離は、第6の所定距離または第7の所定距離に設定される。また、仮想カメラ250の向きは、カメラ座標系における第4の所定方向に設定される。一例として、第4の所定方向では、ピッチ角が上向きに5度であり、ロール角およびヨー角が0度であり、第1の操作モードにおいてロックオンしたときと同じである。さらに、仮想カメラ250の注視点は、第3の所定位置のままであり、視線は、3の所定位置と第4の所定位置を通るように設定される。したがって、1体の敵キャラクタ204をロックオンすると、プレイヤキャラクタ202、ロックオンした敵キャラクタ204の全部または一部および攻撃用キャラクタ210の全部または一部が1つのゲーム画像に含まれる。なお、他の実施例では、第2の操作モードにおいてはロックオンは行われないようにしてもよい。
【0126】
詳細な説明は省略するが、第2の操作モードでは、複数の敵キャラクタ204が出現している場合には、第4の所定位置は、プレイヤキャラクタ202または攻撃用キャラクタ210に最も近い敵キャラクタ204と攻撃用キャラクタ210とで決定される。
【0127】
また、詳細な説明は省略するが、第2の操作モードにおいて、プレイヤは、操作ボタン33、操作ボタン35または操作ボタン36を押下することにより、使用する攻撃用キャラクタ210の種類を選択することができる。また、プレイヤは、Lボタン38を押下することにより、攻撃用キャラクタ210の装備(たとえば、武器)を変更することができる。さらに、プレイヤは、ZRボタン61を押下することにより、攻撃用キャラクタ210を敵キャラクタ204との戦闘から退却させることができる。
【0128】
図17は
図6に示したDRAM85のメモリマップ850の限定しない一例を示す図である。
図17に示すように、DRAM85は、プログラム記憶領域852およびデータ記憶領域854を含む。プログラム記憶領域852には、ゲームアプリケーションのプログラム(つまり、ゲームプログラム)が記憶される。
図17に示すように、ゲームプログラムは、メイン処理プログラム852a、画像生成プログラム852b、画像表示プログラム852c、操作検出プログラム852d、操作モード切替プログラム852e、キャラクタ制御プログラム852fおよびカメラ制御プログラム852gなどを含む。ただし、ゲーム画像などの画像を表示する機能は本体装置2が備える機能である。したがって、画像表示プログラム852cは、ゲームプログラムに含まれない。
【0129】
詳細な説明は省略するが、各プログラム852a-852gは、本体装置2に電源が投入された後の適宜のタイミングで、フラッシュメモリ84および/またはスロット23に装着された記憶媒体からその一部または全部が読み込まれてDRAM85に記憶される。ただし、各プログラム852a-852gの一部または全部は、本体装置2と通信可能な他のコンピュータから取得するようにしてもよい。
【0130】
メイン処理プログラム852aは、この実施例の仮想のゲームの全体的なゲーム処理を実行するためのプログラムである。画像生成プログラム852bは、後述する画像生成データ854bを用いて、ゲーム画像などの各種の画像に対応する表示画像データを生成するためのプログラムである。画像表示プログラム852cは、画像生成プログラム852bに従って生成した表示画像データを表示装置に出力するためのプログラムである。したがって、表示画像データに対応する画像(つまり、ゲーム画面200など)がディスプレイ12などの表示装置に表示される。
【0131】
操作検出プログラム852dは、左コントローラ3または/および右コントローラ4からの操作データ854aを取得するためのプログラムである。操作モード切替プログラム852eは、プレイヤの操作およびプレイヤキャラクタ202が攻撃されたことに基づいて、第1の操作モードおよび第2の操作モードの間で、操作モードを切り替えるためのプログラムである。
【0132】
キャラクタ制御プログラム852fは、プレイヤの操作に基づいて、プレイヤキャラクタ202または/および攻撃用キャラクタ210の移動および任意の動作を制御したり、プレイヤの操作に関わらず、敵キャラクタ204を含むノンプレイヤキャラクタの移動および任意の動作を制御したりするためのプログラムである。また、キャラクタ制御プログラム852fは、プレイヤの操作およびプレイヤキャラクタ202が攻撃されたことに応じて、攻撃用キャラクタ210を仮想空間に出現させたり、仮想空間から消去させたりするためのプログラムでもある。
【0133】
カメラ制御プログラム852gは、仮想カメラ250の向きおよび位置を制御するためのプログラムである。
【0134】
なお、プログラム記憶領域852には、BGM等の音を出力するための音出力プログラム、他の機器と通信するための通信プログラム、データをフラッシュメモリ84などの不揮発性の記憶媒体に記憶するためのバックアッププログラムなども記憶される。
【0135】
また、データ記憶領域854には、操作データ854a、画像生成データ854b、操作モードデータ854c、現在位置データ854d、カメラ方向データ854eおよび保持データ854fなどが記憶される。
【0136】
操作データ854aは、左コントローラ3または/および右コントローラ4から受信される操作データである。この実施例においては、本体装置2が左コントローラ3および右コントローラ4の両方から操作データを受信する場合には、本体装置2は、左コントローラ3および右コントローラ4のそれぞれに分類して操作データ854aを記憶する。
【0137】
画像生成データ854bは、ポリゴンデータおよびテクスチャデータなど、表示画像データを生成するために必要なデータである。操作モードデータ854cは、第1の操作モードまたは第2の操作モードを判断するためのデータであり、具体的には、現在の操作モードの識別情報のデータである。
【0138】
現在位置データ854dは、プレイヤキャラクタ202、敵キャラクタ204、攻撃用キャラクタ210および仮想カメラ250のような仮想空間において移動可能なキャラクタおよびオブジェクトについての現在フレームの位置座標についてのデータである。
【0139】
カメラ方向データ854eは、カメラ座標系における仮想カメラ250の方向についてのデータである。保持データ854fは、攻撃用キャラクタ210の現在攻撃中の攻撃内容および次の攻撃内容についてのデータである。ただし、次の攻撃内容が無い場合もある。
【0140】
図示は省略するが、データ記憶領域854には、他のデータが記憶されたり、フラグおよび他のタイマ(またはカウンタ)が設けられたりする。
【0141】
図18および
図19は、本体装置2のプロセッサ81(またはコンピュータ)のゲームプログラムの処理(ゲーム処理)の限定しない一例を示すフロー図である。以下、
図18よび
図27を用いて、ゲーム処理およびそれに含まれる各種の処理について説明するが、同じ処理を実行するステップについては重複する説明は省略することにする。
【0142】
ただし、
図18-
図27に示すフロー図の各ステップの処理は、単なる一例に過ぎず、同様の結果が得られるのであれば、各ステップの処理順序を入れ替えてもよい。また、この実施例では、基本的には、
図18-
図27に示すフロー図の各ステップの処理をプロセッサ81が実行するものとして説明するが、プロセッサ81以外のプロセッサや専用回路が一部のステップを実行するようにしてもよい。
【0143】
本体装置2の電源が投入されると、ゲーム処理の実行に先だって、プロセッサ81は、図示しないブートROMに記憶されている起動プログラムを実行し、これによってDRAM85等の各ユニットが初期化される。本体装置2は、ユーザによって、この実施例のゲームプログラムの実行が指示されると、ゲーム処理を開始する。
【0144】
図18に示すように、プロセッサ81は、ゲーム処理を開始すると、ステップS1で、初期設定を実行する。ここでは、プロセッサ81は、仮想空間において、プレイヤキャラクタ202、ノンプレイヤキャラクタ、背景オブジェクトおよび仮想カメラ250を初期位置に配置する。ただし、前回の続きからゲームを開始する場合には、セーブされた時点における位置にプレイヤキャラクタ202、ノンプレイヤキャラクタ、背景オブジェクトおよび仮想カメラ250を配置する。このとき、プレイヤキャラクタ202およびノンプレイヤキャラクタの初期位置またはセーブされた時点における位置の座標データが、現在位置データ854dとしてデータ記憶領域854に記憶される。また、仮想カメラ250の向きは、カメラ座標で決定される向き(ここでは、第1方向)に設定される。また、プロセッサ81は、操作モードデータ854cが示す操作モードの識別情報を第1の操作モードの識別情報に設定する。なお、詳細な説明は省略するが、プロセッサ81は、プレイヤキャラクタ202および敵キャラクタ204の体力値を最大値に設定する。ただし、プロセッサ81は、攻撃用キャラクタ210を最初に出現させるときに、この攻撃用キャラクタ210の体力値を最大値に設定する。
【0145】
次のステップS3では、操作データを検出する。続いて、ステップS5では、後述する継続処理(
図20参照)を実行する。次のステップS7では、ZLボタン39を押しているかどうかを判断する。つまり、ステップS3で検出した操作データに、ZLボタン39の押下を示すデータが含まれているかどうかを判断する。
【0146】
ステップS7で“YES”であれば、つまり、ZLボタン39を押している場合には、第2の操作モードが設定されていると判断し、
図19に示すステップS21に進む。一方、ステップS7で“NO”であれば、つまり、ZLボタン39を押していない場合には、第1の操作モードが設定されていると判断し、ステップS9で、攻撃用キャラクタ210が仮想空間に出現しているかどうかを判断する。
【0147】
ステップS9で“NO”であれば、つまり、攻撃用キャラクタ210が仮想空間に出現していない場合には、ステップS11で、後述する第1の操作モード処理(
図21および
図22参照)を実行し、ステップS13で、後述する攻撃判定処理(
図23を参照)し、さらに、ステップS15で、後述する第1のダメージ判定処理(
図24参照9を実行して、
図19に示すステップS35に進む。
【0148】
一方、ステップS9で“YES”であれば、つまり、攻撃用キャラクタ210が仮想空間に出現している場合には、ステップS17で、攻撃用キャラクタ210がすべての攻撃を完了したかどうかを判断する。つまり、プロセッサ81は、保持している攻撃も含めて、攻撃用キャラクタ210がすべての攻撃についての動作を終了したかどうかを判断する。
【0149】
ステップS17で“NO”であれば、つまり、終了していない攻撃が有る場合には、ステップS35に進む。一方、ステップS17で“YES”であれば、つまり、攻撃用キャラクタ210がすべての攻撃を完了した場合には、ステップS19で、攻撃用キャラクタ210の消去中であるかどうかを判断する。
【0150】
ステップS19で“YES”であれば、つまり、攻撃用キャラクタ210の消去中であれば、ステップS35に進む。一方、ステップS19で“NO”であれば、つまり、攻撃用キャラクタ210の消去中でなければ、ステップS21で、攻撃用キャラクタ210の消去を開始して、ステップS35に進む。
【0151】
図19に示すように、ステップS23では、前回ZLボタン39を押していたかどうかを判断する。つまり、プロセッサ81は、前回検出した操作データに、ZLボタン39の押下を示すデータが含まれているかどうかを判断する。ステップS23で“YES”であれば、つまり、前回ZLボタン39を押していた場合には、第2の操作モードの継続中であると判断して、ステップS25で、後述する第2の操作モード処理(
図25および
図26参照)を実行し、ステップS27で、攻撃判定処理(
図23参照)を実行し、さらに、ステップS29で、後述する第2のダメージ判定処理(
図27参照)を実行して、ステップS35に進む。
【0152】
一方、ステップS23で“NO”であれば、つまり、前回ZLボタン39を押していなかった場合には、今回第2の操作モードが設定されたと判断し、ステップS31で、攻撃用キャラクタ210の消去中であるかどうかを判断する。ステップS31で“YES”であれば、ステップS35に進む。一方、ステップS31で“NO”であれば、ステップS33で、攻撃用キャラクタ210の出現を開始して、ステップS35に進む。
【0153】
ステップS35では、他のキャラクタまたは/およびオブジェクトの処理を実行する。ここでは、プロセッサ81は、敵キャラクタ204を含むノンプレイヤキャラクタを動作させたり、背景オブジェクトを変化させたりする。
【0154】
次のステップS37では、上述の処理によって仮想空間に配置されたキャラクタおよびオブジェクトに基づいてゲーム画像を生成する。生成されたゲーム画像はディスプレイ12に表示される。そして、ステップS39で、ゲーム終了かどうかを判断する。ここでは、プロセッサ81は、ゲームクリアまたはゲームオーバかどうかを判断する。なお、ステップS3で検出した操作データがゲーム終了の指示を示す場合には、ゲーム処理の途中であっても強制的に終了される。また、図示は省略するが、ステップS37の処理と同時にまたはほぼ同時に、ゲームに必要な音声(以下、「ゲーム音声」という)が生成され、生成されてゲーム音声がスピーカ88(または、音声入出力端子25)から出力される。
【0155】
ステップS39で“NO”であれば、つまり、ゲーム終了でなければ、
図18に示したステップS3に戻る。一方、ステップS39で“YES”であれば、つまり、ゲーム終了であれば、ゲーム処理を終了する。
【0156】
図20は
図18に示したステップS5の継続処理の限定しない一例のフロー図である。
図20に示すように、プロセッサ81は、継続処理を開始すると、ステップS51で、プレイヤキャラクタすなわちプレイヤキャラクタ202または攻撃用キャラクタ210について、他の操作に応じた処理の実行中かどうかを判断する。
【0157】
ステップS51で“YES”であれば、つまり、他の操作に応じた処理の実行中であれば、ステップS53で、プレイヤキャラクタ202または攻撃用キャラクタ210について、他の操作に応じた処理を継続して、ステップS55に進む。一例として、第1の操作モードにおいては、プロセッサ81は、ステップS53で、プレイヤキャラクタ202が敵キャラクタ204の攻撃をかわす様子のアニメーションのフレーム(つまり、アニメーションフレーム)を進める。また、第2の操作モードにおいては、プロセッサ81は、ステップS53で、攻撃用キャラクタ210が敵キャラクタ204から強制的に逃げる様子のアニメーションのアニメーションフレームを進める。
【0158】
一方、ステップS51で“NO”であれば、つまり、他の操作に応じた処理の実行中であれば、ステップS55で、攻撃用キャラクタ210の出現処理の実行中であるかどうかを判断する。
【0159】
ステップS55で“YES”であれば、つまり、攻撃用キャラクタ210の出現処理の実行中であれば、ステップS57で、攻撃用キャラクタ210の出現処理を継続して、つまり、攻撃用キャラクタ210を仮想空間内に出現させるアニメーションのアニメーションフレームを進めて、ステップS59に進む。一方、ステップS55で“NO”であれば、つまり、攻撃用キャラクタ210の出現処理の実行中でなければ、ステップS59で、攻撃用キャラクタ210の消去処理の実行中であるかどうかを判断する。
【0160】
ステップS59で“YES”であれば、つまり、攻撃用キャラクタ210の消去処理の実行中であれば、ステップS61で、攻撃用キャラクタ210の消去処理を継続して、つまり、攻撃用キャラクタ210を仮想空間から消去させるアニメーションのアニメーションフレームを進めて、ステップS63に進む。一方、ステップS59で“NO”であれば、つまり、攻撃用キャラクタ210の消去処理の実行中でなければ、ステップS63で、攻撃用キャラクタ210の攻撃動作の実行中であるかどうかを判断する。
【0161】
ステップS63で“YES”であれば、つまり、攻撃用キャラクタ210の攻撃動作の実行中であれば、ステップS65で、攻撃用キャラクタ210の攻撃動作を継続して、つまり、攻撃用キャラクタ210の攻撃動作に応じたアニメーションのアニメーションフレームを進めて、ステップS67に進む。一方、ステップS63で“NO”であれば、つまり、攻撃用キャラクタ210の攻撃動作の実行中でなければ、ステップS67で、プレイヤキャラクタ202の攻撃動作の実行中であるかどうかを判断する。
【0162】
ステップS67で“YES”であれば、つまり、プレイヤキャラクタ202の攻撃動作の実行中であれば、ステップS69で、プレイヤキャラクタ202の攻撃動作に応じたアニメーションのアニメーションフレームを進めて、ゲーム処理にリターンする。一方、ステップS67で“NO”であれば、つまり、プレイヤキャラクタ202の攻撃動作の実行中でなければ、ゲーム処理にリターンする。
【0163】
図21および
図22は、
図18に示したステップS11の第1の操作モード処理の限定しない一例のフロー図である。
図21に示すように、第1の操作モード処理を開始すると、ステップS81で、仮想カメラ250の操作が有るかどうかを判断する。ここでは、プロセッサ81は、ステップS3で検出した操作データに、アナログスティック52を傾倒したことを示すデータが含まれているかどうかを判断する。
【0164】
ステップS81で“YES”であれば、つまり、仮想カメラ250の操作が有れば、ステップS83で、注視点の位置を基準にヨー方向に、仮想カメラ250を移動させて、
図18および
図19に示したゲーム処理にリターンする。つまり、ステップS83では、仮想カメラ250は、注視点の位置を中心として、アナログスティック52が傾倒された向きに回転される。このことは後述する第2の操作モード処理のステップS173も同じである。
【0165】
一方、ステップS81で“NO”であれば、つまり、仮想カメラ250の操作が無ければ、ステップS85で、プレイヤキャラクタ202を操作不能な状態であるかどうかを判断する。ここでは、プレイヤキャラクタ202が、敵キャラクタ204を攻撃中(つまり、攻撃動作の継続中)であったり、敵キャラクタ204からの攻撃を受けている最中であったり、ボスの敵キャラクタ204が出現中であったりするような操作不能な状態であるかどうかを判断する。
【0166】
ステップS85で“YES”であれば、つまり、プレイヤキャラクタ202を操作不能な状態であれば、
図22に示すステップS97に進む。一方、ステップS85で“NO”であれば、つまり、プレイヤキャラクタ202を操作不能な状態でなければ、ステップS87で、攻撃操作が有るかどうかを判断する。ここでは、プロセッサ81は、ステップS3で検出した操作データに、Aボタン53、Bボタン54、Xボタン55およびYボタン56の少なくとも1つを押下したことを示すデータが含まれているかどうかを判断する。
【0167】
ステップS87で“YES”であれば、つまり、攻撃操作が有れば、ステップS89で、攻撃操作に応じた攻撃動作を開始して、ステップS97に進む。一方、ステップS87で“NO”であれば、つまり、攻撃操作が無ければ、ステップS91で、他の操作が有るかどうかを判断する。ここでは、プロセッサ81は、ステップS3で検出した操作データに、操作ボタン33、操作ボタン35、操作ボタン36、Lボタン38またはZRボタン61の押下を示すデータが含まれているかどうかを判断する。ここでは、他の操作は、攻撃用キャラクタ210の種類を切り替える操作、プレイヤキャラクタ202の装備(たとえば、武器)を変更する操作、およびプレイヤキャラクタ202に敵キャラクタ204の攻撃を回避させる操作を意味する。
【0168】
ステップS91で“YES”であれば、つまり、他の操作が有れば、ステップS93で、他の操作に応じた処理を開始し、ステップS97に進む。一方、ステップS91で“NO”であれば、つまり、他の操作が無ければ、ステップS95で、アナログスティック32が傾倒された方向にプレイヤキャラクタ202を移動させて、ステップS97に進む。ただし、アナログスティック32が傾倒されていない場合には、ステップS95では、プレイヤキャラクタ202は移動されない(つまり、移動量=0である)。
【0169】
図22に示すように、ステップS97では、敵キャラクタ204をロックオンしているかどうかを判断する。ここでは、ステップS3で検出した操作データにアナログスティック52を押下していることを示すデータが含まれているかどうかを判断する。
【0170】
ステップS97で“YES”であれば、つまり、敵キャラクタ204をロックオンしている場合には、ステップS99で、注視点の位置をプレイヤキャラクタ202と敵キャラクタ204の中間位置すなわち第2の所定位置に設定する。続く、ステップS101では、仮想カメラ250とプレイヤキャラクタ202の距離を第2の所定距離(たとえば、4m)で維持または第2の所定距離になるように変更する。ステップS101では、仮想カメラ250とプレイヤキャラクタ202の距離が第2の所定距離でない場合に、第2の所定距離に近づくように、仮想カメラ250が第3の所定距離(たとえば、15cm)ずつ移動される。以下、仮想カメラ250とプレイヤキャラクタ202の距離を所定距離になるように変更する場合など、仮想カメラ250を移動させる場合について同様である。そして、ステップS103で、カメラ座標系における第2の所定方向の向きで、仮想カメラ250の位置を設定して、ゲーム処理にリターンする。
【0171】
一方、ステップS97で“NO”であれば、つまり、敵キャラクタ204をロックオンしていない場合には、ステップS105で、注視点の位置を第1の所定位置に設定し、ステップS107で、敵キャラクタ204が仮想空間に出現しているかどうかを判断する。
【0172】
ステップS107で“NO”であれば、つまり、敵キャラクタ204が仮想空間に出現していなければ、ステップS109で、仮想カメラ250とプレイヤキャラクタ202の距離を第1の所定距離(たとえば、3m)で維持または第1の所定距離になるように変更して、ステップS113に進む。一方、ステップS107で“YES”であれば、つまり、敵キャラクタ204が仮想空間に出現していれば、ステップS111で、仮想カメラ250とプレイヤキャラクタ202の距離を第2の所定距離で維持または第2の所定距離になるように変更して、ステップS113に進む。
【0173】
ステップS113では、カメラ座標系における第1の所定方向の向きで、プレイヤキャラクタ202を正面に捉えるように、仮想カメラ250の位置を設定して、ゲーム処理にリターンする。
【0174】
なお、ステップS103では、ステップS101で維持または変更されたプレイヤキャラクタ202との距離(つまり、水平距離)で、仮想カメラ250の位置が設定される。
【0175】
また、ステップS113では、ステップS109またはS111において、維持または変更されたプレイヤキャラクタ202との距離(つまり、水平距離)で、仮想カメラ250の位置が設定される。
【0176】
図23は
図18に示したステップS23および
図19に示したステップS27の攻撃判定処理の限定しない一例のフロー図である。
図23に示すように、プロセッサ81は、攻撃判定処理を開始すると、ステップS131で、プレイヤキャラクタ202の攻撃が敵キャラクタ204に当たったかどうかを判断する。ステップS131で“YES”であれば、つまり、プレイヤキャラクタ202の攻撃が敵キャラクタ204に当たっていれば、ステップS133で、攻撃に応じたダメージを敵キャラクタ204に与えて、ステップS135に進む。一方、ステップS131で“NO”であれば、つまり、プレイヤキャラクタ202の攻撃が敵キャラクタ204に当たっていなければ、ステップS135に進む。
【0177】
ステップS135では、攻撃用キャラクタ210の攻撃が敵キャラクタ204に当たったかどうかを判断する。ステップS135で“YES”であれば、つまり、攻撃用キャラクタ210の攻撃が敵キャラクタ204に当たっていれば、ステップS137で、攻撃に応じたダメージを敵キャラクタ204に与えて、ゲーム処理にリターンする。一方、ステップS135で“NO”であれば、つまり、攻撃用キャラクタ210の攻撃が敵キャラクタ204に当たっていなければ、ゲーム処理にリターンする。
【0178】
図24は
図18に示したステップS15の第1のダメージ判定処理の限定しない一例のフロー図である。
図24に示すように、プロセッサ81は、第1のダメージ判定処理を開始すると、ステップS151で、敵キャラクタ204の攻撃がプレイヤキャラクタ202に当たったかどうかを判断する。ステップS151で“YES”であれば、つまり、敵キャラクタ204の攻撃がプレイヤキャラクタ202に当たっていれば、ステップS153で、攻撃に応じたダメージをプレイヤキャラクタ202に与えて、ステップS155に進む。一方、ステップS151で“NO”であれば、つまり、敵キャラクタ204の攻撃がプレイヤキャラクタ202に当たっていなければ、ステップS155に進む。
【0179】
ステップS155では、敵キャラクタ204の攻撃が攻撃用キャラクタ210に当たったかどうかを判断する。ステップS155で“YES”であれば、つまり、敵キャラクタ204の攻撃が攻撃用キャラクタ210に当たっていれば、ステップS157で、攻撃に応じたダメージを攻撃用キャラクタ210に与えて、ゲーム処理にリターンする。一方、ステップS155で“NO”であれば、つまり、敵キャラクタ204の攻撃が攻撃用キャラクタ210に当たっていなければ、ゲーム処理にリターンする。なお、他の実施例においては、攻撃用キャラクタ210は敵の攻撃によるダメージを受けないようにして、ステップS155およびS157を実行しないようにしてもよい。同様に、後述するステップS237およびS239を実行しないようにしてもよい。
【0180】
図25および
図26は
図19に示したステップS25の第2の操作モード処理の限定しない一例のフロー図である。
図25に示すように、プロセッサ81は、第2の操作モード処理を開始すると、ステップS171で、仮想カメラ250の操作が有るかどうかを判断する。ステップS171で“YES”であれば、つまり、仮想カメラ250の操作が有れば、ステップS173で、注視点の位置を基準にヨー方向に、仮想カメラ250を移動させて、
図18および
図19に示したゲーム処理にリターンする。
【0181】
一方、ステップS171で“NO”であれば、つまり、仮想カメラ250の操作が無ければ、ステップS175で、攻撃用キャラクタ210を操作不能な状態であるかどうかを判断する。ここでは、攻撃用キャラクタ210が、敵キャラクタ204を攻撃中(つまり、攻撃動作の継続中)であったり、敵キャラクタ204からの攻撃を受けている最中であったり、ボスの敵キャラクタ204が出現中であったりするような操作不能な状態であるかどうかを判断する。
【0182】
ステップS175で“YES”であれば、つまり、攻撃用キャラクタ210を操作不能な状態であれば、
図26に示すステップS193に進む。一方、ステップS175で“NO”であれば、つまり、攻撃用キャラクタ210を操作不能な状態でなければ、ステップS177で、攻撃操作が有るかどうかを判断する。ここでは、プロセッサ81は、ステップS3で検出した操作データに、Aボタン53、Bボタン54、Xボタン55およびYボタン56の少なくとも1つを押下したことを示すデータが含まれているかどうかを判断する。
【0183】
ステップS177で“YES”であれば、つまり、攻撃操作が有れば、ステップS179で、攻撃用キャラクタ210が攻撃中であるかどうかを判断する。ステップS179で“NO”であれば、つまり、攻撃用キャラクタ210が攻撃中でなければ、ステップS181で、攻撃用キャラクタ210について攻撃操作に応じた攻撃動作を開始して、ステップS193に進む。一方、ステップS179で“YES”であれば、つまり、攻撃用キャラクタ210が攻撃中であれば、ステップS183で、攻撃内容を保持可能かどうかを判断する。
【0184】
ステップS183で“NO”であれば、つまり、攻撃内容を保持可能でなければ、ステップS197に進む。一方、ステップS183で“YES”であれば、つまり、攻撃内容を保持可能であれば、ステップS185で、今回の攻撃操作に対応する攻撃内容を保持して、ステップS197に進む。ステップS185では、プロセッサ81は、今回の攻撃操作に対応する攻撃内容を次の攻撃内容として保持データ854fに追加する。
【0185】
また、ステップS177で“NO”であれば、つまり、攻撃操作が無ければ、ステップS187で、他の操作が有るかどうかを判断する。ここでは、プロセッサ81は、ステップS3で検出した操作データに、操作ボタン33、操作ボタン35、操作ボタン36またはZRボタン61の押下を示すデータが含まれているかどうかを判断する。ここでは、他の操作は、攻撃用キャラクタ210の種類を切り替える操作および攻撃用キャラクタ210を敵キャラクタ204との戦闘から退却させる操作を意味する。
【0186】
ステップS187で“YES”であれば、つまり、他の操作が有れば、ステップS189で、他の操作に応じた処理を開始し、ステップS193に進む。一方、ステップS187で“NO”であれば、つまり、他の操作が無ければ、ステップS191で、アナログスティック32が傾倒された方向に攻撃用キャラクタ210を移動させて、ステップS193に進む。ただし、アナログスティック32が傾倒されていない場合には、ステップS191では、攻撃用キャラクタ210は移動されない(つまり、移動量=0である)。
【0187】
図26に示すように、ステップS193では、攻撃用キャラクタ210の操作中かどうかを判断する。ここでは、プロセッサ81は、攻撃用キャラクタ210を、移動させたり、攻撃させたり、退去させたりしているかどうかを判断する。ステップS193で、“YES”であれば、つまり、攻撃用キャラクタ210の操作中であれば、ステップS199に進む。一方、ステップS193で“NO”であれば、つまり、攻撃用キャラクタ210の操作中でなければ、ステップS195で、敵キャラクタ204をロックオンしているかどうかを判断する。
【0188】
ステップS195で“YES”であれば、つまり、敵キャラクタ204をロックオンしている場合には、ステップS197で、カメラ座標系において第4の所定方向の向きで、プレイヤキャラクタ202、攻撃用キャラクタ210および敵キャラクタ204を捉えるように、仮想カメラ250の位置を設定して、ゲーム処理にリターンする。上述したように、ステップS197では、注視点の位置は、第3の所定位置であり、第3の所定位置と、敵キャラクタ204の基準点と攻撃用キャラクタ210の基準点の中間位置すなわち第4の所定位置を中心に捉えるように、仮想カメラ250の位置は設定される。
【0189】
一方、ステップS195で“NO”であれば、つまり、敵キャラクタ204をロックオンしていない場合には、ステップS199で、注視点の位置を第2の所定位置に設定し、ステップS201で、仮想カメラ250と攻撃用キャラクタ210の距離が第4の所定距離(たとえば、20m)以上であるかどうかを判断する。
【0190】
ステップS201で“YES”であれば、つまり、仮想カメラ250と攻撃用キャラクタ210の距離が第4の所定距離以上であれば、ステップS203で、仮想カメラ250とプレイヤキャラクタ202の距離が第6の所定距離(たとえば、2m)になるように変更して、ステップS211に進む。ステップS203では、プロセッサ81は、仮想カメラ250をプレイヤキャラクタ202との水平距離が第6の所定距離になるように、攻撃用キャラクタ210に次第に近づける。
【0191】
一方、ステップS201で“NO”であれば、つまり、仮想カメラ250と攻撃用キャラクタ210の距離が第4の所定距離未満であれば、ステップS205で、仮想カメラ250と攻撃用キャラクタ210の距離が第5の所定距離(たとえば、5m)未満であるかどうかを判断する。
【0192】
ステップS205で“YES”であれば、つまり、仮想カメラ250と攻撃用キャラクタ210の距離が第5の所定距離未満であれば、ステップS207で、仮想カメラ250とプレイヤキャラクタ202の距離が第7の所定距離になるように変更して、ステップS211に進む。ステップ207では、プロセッサ81は、仮想カメラ250をプレイヤキャラクタ202との水平距離が第7の所定距離になるように、攻撃用キャラクタ210から次第に遠ざける。
【0193】
一方、ステップS205で“NO”であれば、つまり、仮想カメラ250と攻撃用キャラクタの距離が第4の所定距離以上であれば、ステップS209で、仮想カメラ250とプレイヤキャラクタ202の距離を第1の所定距離で維持または第1の所定距離になるように変更して、ステップS211に進む。
【0194】
そして、ステップS211では、カメラ座標系において第3の所定方向の向きで、攻撃用キャラクタ210を正面に捉えるように、仮想カメラ250の位置を設定して、ゲーム処理にリターンする。
【0195】
なお、ステップS211では、ステップS203、S207またはS209において、維持または変更されたプレイヤキャラクタ202との距離(つまり、水平距離)で、仮想カメラ250の位置が設定される。
【0196】
図27は
図19に示したステップS29の第2のダメージ判定処理の限定しない一例のフロー図である。
図27に示すように、プロセッサ81は、第2のダメージ判定処理を開始すると、ステップS231で、敵キャラクタ204の攻撃がプレイヤキャラクタ202に当たったかどうかを判断する。ステップS231で“YES”であれば、つまり、敵キャラクタ204の攻撃がプレイヤキャラクタ202に当たっていれば、ステップS233で、攻撃に応じたダメージをプレイヤキャラクタ202に与え、ステップS235で、攻撃用キャラクタ210の消去を開始して、ステップS237に進む。一方、ステップS231で“NO”であれば、つまり、敵キャラクタ204の攻撃がプレイヤキャラクタ202に当たっていなければ、ステップS237に進む。
【0197】
ステップS237では、敵キャラクタ204の攻撃が攻撃用キャラクタ210に当たったかどうかを判断する。ステップS237で“YES”であれば、つまり、敵キャラクタ204の攻撃が攻撃用キャラクタ210に当たっていれば、ステップS239で、攻撃に応じたダメージを攻撃用キャラクタ210に与えて、ゲーム処理にリターンする。一方、ステップS237で“NO”であれば、つまり、敵キャラクタ204の攻撃が攻撃用キャラクタ210に当たっていなければ、ゲーム処理にリターンする。
【0198】
この実施例によれば、攻撃用キャラクタを出現させたときには、プレイヤの操作によるプレイヤキャラクタの移動を制限して、プレイヤキャラクタと攻撃用キャラクタを捉えるように仮想カメラを制御し、攻撃用キャラクタを出現させていないときには、プレイヤの操作によってプレイヤキャラクタの移動および動作を制御し、プレイヤキャラクタを追従するように仮想カメラを制御するので、プレイヤキャラクタと攻撃用キャラクタを切り替えながら操作することができ、両方のキャラクタが視界に入るように仮想カメラを制御することができる。つまり、新しい方法で2体のキャラクタを操作することができる。
【0199】
また、この実施例によれば、攻撃用キャラクタを操作している場合にも、プレイヤキャラクタと攻撃用キャラクタの両方を捉えるので、ゲーム画像によって、プレイヤキャラクタが攻撃用キャラクタを操っていることをプレイヤに認識させることができる。したがって、プレイヤキャラクタを通して攻撃用キャラクタを操っている感覚を得ることができる。
【0200】
なお、この実施例では、所定の操作ボタンが押下されたときに攻撃用キャラクタを出現させ、同じ所定の操作ボタンが解放されたときに攻撃用キャラクタを消去するようにしたが、これに限定される必要はない。第1の所定の操作ボタンを押下したときに攻撃用キャラクタを出現させ、次に、第1の所定の操作ボタンまたは第2の所定の操作ボタンを押下したときに、攻撃用キャラクタを消去させるようにしてもよい。
【0201】
また、この実施例では、ゲームシステムの一例としてゲームシステム1を示したが、その構成は限定される必要は無く、他の構成を採用することが可能である。たとえば、上記「コンピュータ」は、上述の実施例においては、1つのコンピュータ(具体的には、プロセッサ81)であるが、他の実施例においては、複数のコンピュータであってもよい。上記「コンピュータ」は、例えば、複数の装置に設けられる(複数の)コンピュータであってもよく、より具体的には、上記「コンピュータ」は、本体装置2のプロセッサ81と、コントローラが備える通信制御部(マイクロプロセッサ)101、111とによって構成されてもよい。
【0202】
さらにまた、この実施例では、インターネットのようなネットワーク上のサーバで、
図18および
図19に示したゲーム処理を実行するようにしてもよい。かかる場合には、本体装置2のプロセッサ81は、左コントローラ3および右コントローラ4から受信した操作データを、ネットワーク通信部82およびネットワークを介して上記のサーバに送信し、サーバでゲーム処理を実行された結果(つまり、ゲーム画像のデータおよびゲーム音声のデータ)を受信して、ゲーム画像をディスプレイ12に表示するとともに、ゲーム音声をスピーカ88から出力する。つまり、上記の実施例で示したゲームシステム1とネットワーク上のサーバを含むゲームシステムを構成することもできる。
【0203】
また、この実施例では、ディスプレイ12にゲーム画像を表示する場合について説明したが、これに限定される必要はない。本体装置2を、クレードルを介して据置型モニタ(たとえば、テレビモニタ)に接続することにより、ゲーム画像を据置型モニタに表示することもできる。かかる場合には、ゲームシステム1と据置型モニタを含むゲームシステムを構成することもできる。
【0204】
さらに、この実施例では、本体装置2に左コントローラ3および右コントローラ4を着脱可能な構成のゲームシステム1を用いた場合について説明したが、これに限定される必要はない。たとえば、左コントローラ3および右コントローラ4と同様の操作ボタンおよびアナログスティックを有する操作部を本体装置2に一体的に設けたゲーム装置またはゲームプログラムを実行可能な他の電子機器のようなゲーム装置を用いることもできる。他の電子機器としては、スマートフォンまたはタブレットPCなどが該当する。かかる場合には、操作部はソフトウェアキーで構成することもできる。
【0205】
さらにまた、この実施例で示した具体的な数値、画像、付加操作装置の構成は一例であり、実際の製品に応じて適宜変更可能である。
【符号の説明】
【0206】
1 …ゲームシステム
2 …本体装置
3 …左コントローラ
4 …右コントローラ
32、52 …アナログスティック
39 …ZLボタン
60 …Rボタン
61 …ZRボタン
81 …プロセッサ