(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-03-04
(45)【発行日】2022-03-14
(54)【発明の名称】ゲームプログラム、情報処理システム、情報処理装置およびゲーム制御方法
(51)【国際特許分類】
A63F 13/55 20140101AFI20220307BHJP
A63F 13/58 20140101ALI20220307BHJP
A63F 13/525 20140101ALI20220307BHJP
A63F 13/56 20140101ALI20220307BHJP
G06F 3/0489 20220101ALI20220307BHJP
【FI】
A63F13/55
A63F13/58
A63F13/525
A63F13/56
G06F3/0489
(21)【出願番号】P 2019023141
(22)【出願日】2019-02-13
【審査請求日】2020-03-30
(73)【特許権者】
【識別番号】000233778
【氏名又は名称】任天堂株式会社
(74)【代理人】
【識別番号】100090181
【氏名又は名称】山田 義人
(74)【代理人】
【識別番号】100130269
【氏名又は名称】石原 盛規
(72)【発明者】
【氏名】田浦 貴久
(72)【発明者】
【氏名】安藤 佳織
(72)【発明者】
【氏名】岡崎 真
【審査官】安田 明央
(56)【参考文献】
【文献】特開2019-000221(JP,A)
【文献】国際公開第2017/218303(WO,A1)
【文献】特開2003-047767(JP,A)
【文献】特開2018-112789(JP,A)
【文献】シャイニング・ウィンド SHINING WIND,ファミ通PLAYSTATION+,株式会社エンターブレイン,2007年07月01日,第234巻,p.26-45
【文献】「デビル メイ クライ 5」最新ビルドプレイレポート。第3の男“V(ブイ)”は3体の魔獣を使役してクールに戦う,厨二系ニューヒーロー,4Gamer.net [online],2019年02月07日,https://www.4gamer.net/games/422/G042238/20190205097/,特に「第3の主人公“V”がついに登場」の項を参照、[2021年1月25日検索]
【文献】[ゼノブレイド2]キズナについて|キズナトーク、キズナリング、キズナの違いについて把握しよう!,電ファミwiki [online],2017年12月05日,https://wiki.denfaminicogamer.jp/Xenoblade2/%E3%82%AD%E3%82%BA%E3%83%8A%E3%82%B7%E3%82%B9%E3%83%86%E3%83%A0%E3%81%A3%E3%81%A6%E3%81%AA%E3%81%AB%EF%BC%9F,特に「キズナってなに?」の項を参照、[2021年1月25日検索]
【文献】マンモス丸谷,アサシン クリードIII ASSASSIN'S CREED III,ファミ通Wii U,株式会社エンターブレイン,2012年12月06日,第27巻,p.40-41
(58)【調査した分野】(Int.Cl.,DB名)
A63F 13/00-13/98
A63F 9/24
G06F 3/0489
(57)【特許請求の範囲】
【請求項1】
情報処理装置のコンピュータに、
プレイヤによる操作装置に対する操作入力に基づいた操作データを取得し、
前記操作データに基づいて仮想空間内のプレイヤキャラクタを制御させ、
前記操作データに基づいた前記プレイヤキャラクタの制御において、
第1の操作モードのとき、
第1の操作入力に基づいて前記プレイヤキャラクタを制御し、
第1の切替指示入力に応じて前記仮想空間内にサブキャラクタを出現させるとともに第2の操作モードに移行し、
前記第2の操作モードのとき、
前記第1の操作入力に基づいて前記プレイヤキャラクタを制御し、
動作指示入力が有る場合に、動作指示に従って前記サブキャラクタを制御し、
前記動作指示入力が無い場合に、前記サブキャラク
タを自動制御し、
第2の切替指示入力に応じて第3の操作モードに移行し、
前記第3の操作モードのとき、
前記第1の操作入力に基づいて前記プレイヤキャラクタを制御し、
前記第1の操作入力とは異なる第2の操作入力に基づいて少なくとも前記サブキャラクタの移動を制御させる、ゲームプログラム。
【請求項2】
前記コンピュータにさらに、
前記サブキャラクタに関するパラメータを前記情報処理装置のメモリに記憶させ、
前記第2の操作モードおよび前記第3の操作モードにおいて前記パラメータを減少させ、
前記第1の操作モードにおいて前記パラメータを増加させ、
前記第2の操作モードまたは前記第3の操作モードにおいて前記パラメータが所定値まで減少した場合に、前記サブキャラクタを消去して前記第1の操作モードに移行させる、請求項1記載のゲームプログラム。
【請求項3】
前記コンピュータにさらに、
前記第2の操作モードまたは前記第3の操作モードにおいて、第3の切替指示入力に応じて前記サブキャラクタを消去して前記第1の操作モードに移行させる、請求項2記載のゲームプログラム。
【請求項4】
前記操作装置には第1の方向入力部と第2の方向入力部が設けられ、
前記第1の操作入力は前記第1の方向入力部に対する方向入力であって、前記第2の操作入力は前記第2の方向入力部に対する方向入力である、請求項1から3までのいずれかに記載のゲームプログラム。
【請求項5】
前記コンピュータにさらに、
前記第1の操作モードおよび前記第2の操作モードにおいて、前記第2の操作入力に基づいて仮想カメラの制御を行い、
前記第3の操作モードにおいて前記仮想カメラを前記プレイヤキャラクタおよび前記サブキャラクタの位置に基づいて自動制御させる、請求項4記載のゲームプログラム。
【請求項6】
前記サブキャラクタには、前記プレイヤキャラクタと前記サブキャラクタとを結ぶ連結オブジェクトが接続され、
前記コンピュータにさらに、
前記第2の操作モードおよび前記第3の操作モードにおいて、
前記プレイヤキャラクタおよび前記サブキャラクタの位置および動きに応じて前記連結オブジェクトを制御させる、請求項1から5までのいずれかに記載のゲームプログラム。
【請求項7】
前記コンピュータにさらに、
攻撃指示入力に基づいて、前記仮想空間内の敵キャラクタに対して少なくとも前記プレイヤキャラクタに攻撃を行わせる、請求項1から5までのいずれかに記載のゲームプログラム。
【請求項8】
前記サブキャラクタには、前記プレイヤキャラクタと前記サブキャラクタとを結ぶ連結オブジェクトが接続され、
前記コンピュータにさらに、
前記第2の操作モードおよび前記第3の操作モードにおいて、
前記プレイヤキャラクタおよび前記サブキャラクタの位置および動きに応じて前記連結オブジェクトを制御し、前記連結オブジェクトと、前記敵キャラクタとの位置関係に基づいて、前記プレイヤキャラクタと前記サブキャラクタに所定のアクションを行わせる、請求項7記載のゲームプログラム。
【請求項9】
前記第2の切替指示入力は、前記操作装置の所定のキーへの入力が継続していることであり、
前記コンピュータにさらに、
前記第3の操作モードにおいて、前記所定のキーへの入力が解除された場合に、前記第2の操作モードに移行させる、請求項1から8までのいずれかに記載のゲームプログラム。
【請求項10】
プロセッサと、操作部を備え、
前記プロセッサは、
前記操作部に対する操作入力に基づいた操作データを取得し、
前記操作データに基づいて仮想空間内のプレイヤキャラクタを制御し、
前記操作データに基づいた前記プレイヤキャラクタの制御において、
第1の操作モードのとき、
第1の操作入力に基づいて前記プレイヤキャラクタを制御し、
第1の切替指示入力に応じて前記仮想空間内にサブキャラクタを出現させるとともに第2の操作モードに移行し、
前記第2の操作モードのとき、
前記第1の操作入力に基づいて前記プレイヤキャラクタを制御し、
動作指示入力が有る場合に、動作指示に従って前記サブキャラクタを制御し、
前記動作指示入力が無い場合に、前記サブキャラク
タを自動制御し、
第2の切替指示入力に応じて第3の操作モードに移行し、
前記第3の操作モードのとき、
前記第1の操作入力に基づいて前記プレイヤキャラクタを制御し、
前記第1の操作入力とは異なる第2の操作入力に基づいて少なくとも前記サブキャラクタの移動を制御する、情報処理システム。
【請求項11】
前記プロセッサは、
前記サブキャラクタに関するパラメータを前記情報処理システムのメモリに記憶し、
前記第2の操作モードおよび前記第3の操作モードにおいて前記パラメータを減少させ、
前記第1の操作モードにおいて前記パラメータを増加させ、
前記第2の操作モードまたは前記第3の操作モードにおいて前記パラメータが所定値まで減少した場合に、前記サブキャラクタを消去して前記第1の操作モードに移行する、請求項10記載の情報処理システム。
【請求項12】
前記プロセッサは、さらに、
前記第2の操作モードまたは前記第3の操作モードにおいて、第3の切替指示入力に応じて前記サブキャラクタを消去して前記第1の操作モードに移行する、請求項11記載の情報処理システム。
【請求項13】
前記操作部には第1の方向入力部と第2の方向入力部が設けられ、
前記第1の操作入力は前記第1の方向入力部に対する方向入力であって、前記第2の操作入力は前記第2の方向入力部に対する方向入力である、請求項10から12までのいずれかに記載の情報処理システム。
【請求項14】
前記プロセッサは、さらに、
前記第1の操作モードおよび前記第2の操作モードにおいて、前記第2の操作入力に基づいて仮想カメラの制御を行い、
前記第3の操作モードにおいて前記仮想カメラを前記プレイヤキャラクタおよび前記サブキャラクタの位置に基づいて自動制御する、請求項13記載の情報処理システム。
【請求項15】
前記サブキャラクタには、前記プレイヤキャラクタと前記サブキャラクタとを結ぶ連結オブジェクトが接続され、
前記プロセッサは、さらに、
前記第2の操作モードおよび前記第3の操作モードにおいて、
前記プレイヤキャラクタおよび前記サブキャラクタの位置および動きに応じて前記連結オブジェクトを制御する、請求項10から14までのいずれかに記載の情報処理システム。
【請求項16】
前記プロセッサは、さらに、
攻撃指示入力に基づいて、前記仮想空間内の敵キャラクタに対して前記プレイヤキャラクタに攻撃を行わせる、請求項10から14までのいずれかに記載の情報処理システム。
【請求項17】
前記サブキャラクタには、前記プレイヤキャラクタと前記サブキャラクタとを結ぶ連結オブジェクトが接続され、
前記プロセッサは、さらに、
前記第2の操作モードおよび前記第3の操作モードにおいて、
前記プレイヤキャラクタおよび前記サブキャラクタの位置および動きに応じて前記連結オブジェクトを制御し、前記連結オブジェクトと、前記敵キャラクタとの位置関係に基づいて、前記プレイヤキャラクタと前記サブキャラクタに所定のアクションを行わせる、請求項16記載の情報処理システム。
【請求項18】
前記第2の切替指示入力は、前記操作部の所定のキーへの入力が継続していることであり、
前記プロセッサは、さらに、
前記第3の操作モードにおいて、前記所定のキーへの入力が解除された場合に、前記第2の操作モードに移行させる、請求項10から17までのいずれかに記載の情報処理システム。
【請求項19】
プロセッサを備える情報処理装置であって、
前記プロセッサは、
プレイヤによる操作装置に対する操作入力に基づいた操作データを取得し、
前記操作データに基づいて仮想空間内のプレイヤキャラクタを制御し、
前記操作データに基づいた前記プレイヤキャラクタの制御において、
第1の操作モードのとき、
第1の操作入力に基づいて前記プレイヤキャラクタを制御し、
第1の切替指示入力に応じて前記仮想空間内にサブキャラクタを出現させるとともに第2の操作モードに移行し、
前記第2の操作モードのとき、
前記第1の操作入力に基づいて前記プレイヤキャラクタを制御し、
動作指示入力が有る場合に、動作指示に従って前記サブキャラクタを制御し、
前記動作指示入力が無い場合に、前記サブキャラク
タを自動制御し、
第2の切替指示入力に応じて第3の操作モードに移行し、
前記第3の操作モードのとき、
前記第1の操作入力に基づいて前記プレイヤキャラクタを制御し、
前記第1の操作入力とは異なる第2の操作入力に基づいて少なくとも前記サブキャラクタの移動を制御する、情報処理装置。
【請求項20】
前記プロセッサは、
前記サブキャラクタに関するパラメータを前記情報処理装置のメモリに記憶し、
前記第2の操作モードおよび前記第3の操作モードにおいて前記パラメータを減少させ、
前記第1の操作モードにおいて前記パラメータを増加させ、
前記第2の操作モードまたは前記第3の操作モードにおいて前記パラメータが所定値まで減少した場合に、前記サブキャラクタを消去して前記第1の操作モードに移行する、請求項19記載の情報処理装置。
【請求項21】
プレイヤによる操作装置に対する操作入力に基づいた操作データを取得し、
前記操作データに基づいて仮想空間内のプレイヤキャラクタを制御させ、
前記操作データに基づいた前記プレイヤキャラクタの制御において、
第1の操作モードのとき、
第1の操作入力に基づいて前記プレイヤキャラクタを制御し、
第1の切替指示入力に応じて前記仮想空間内にサブキャラクタを出現させるとともに第2の操作モードに移行し、
前記第2の操作モードのとき、
前記第1の操作入力に基づいて前記プレイヤキャラクタを制御し、
動作指示入力が有る場合に、動作指示に従って前記サブキャラクタを制御し、
前記動作指示入力が無い場合に、前記サブキャラク
タを自動制御し、
第2の切替指示入力に応じて第3の操作モードに移行し、
前記第3の操作モードのとき、
前記第1の操作入力に基づいて前記プレイヤキャラクタを制御し、
前記第1の操作入力とは異なる第2の操作入力に基づいて少なくとも前記サブキャラクタの移動を制御させる、ゲーム制御方法。
【請求項22】
前記サブキャラクタに関するパラメータを情報処理装置のメモリに記憶させ、
前記第2の操作モードおよび前記第3の操作モードにおいて前記パラメータを減少させ、
前記第1の操作モードにおいて前記パラメータを増加させ、
前記第2の操作モードまたは前記第3の操作モードにおいて前記パラメータが所定値まで減少した場合に、前記サブキャラクタを消去して前記第1の操作モードに移行させる、請求項21記載のゲーム制御方法。
【発明の詳細な説明】
【技術分野】
【0001】
この発明はゲームプログラム、情報処理システム、情報処理装置およびゲーム制御方法に関し、特にたとえば、プレイヤの操作に従って1体または2体のキャラクタを制御する、ゲームプログラム、情報処理システム、情報処理装置およびゲーム制御方法に関する。
【背景技術】
【0002】
背景技術の一例が特許文献1に開示される。この特許文献1のゲームシステム1によれば、プレイヤキャラクタPClは、端末装置6のアナログスティック63Aに対応付けられており、プレイヤキャラクタPCrは、端末装置6のアナログスティック63Bに対応付けられている。プレイヤUは、端末装置6に設けられたアナログスティック63Aおよび63Bのそれぞれを操作して、2体のプレイヤキャラクタPCl,PCrを移動させる。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
この特許文献1では、一人のプレイヤの操作によって、2体のプレイヤキャラクタの移動を制御するものである。ここで、それぞれのキャラクタのアクションをさらに複雑にしたり、プレイ時間の長いゲームに適用したりする等の応用を考えると、常に2体を操作し続けるのは難しくなることが考えられる。
【0005】
それゆえに、この発明の主たる目的は、新規な、ゲームプログラム、情報処理システム、情報処理装置およびゲーム制御方法を提供することである。
【0006】
また、この発明の他の目的は、操作のバリエーションを多くすることができる一方で、必要に応じて簡単な操作でプレイすることもできる、ゲームプログラム、情報処理システム、情報処理装置およびゲーム制御方法を提供することである。
【課題を解決するための手段】
【0007】
第1の発明は、情報処理装置のコンピュータに、プレイヤによる操作装置に対する操作入力に基づいた操作データを取得し、操作データに基づいて仮想空間内のプレイヤキャラクタを制御させ、操作データに基づいたプレイヤキャラクタの制御において、第1の操作モードのとき、第1の操作入力に基づいてプレイヤキャラクタを制御し、第1の切替指示入力に応じて仮想空間内でサブキャラクタを出現させるとともに第2の操作モードに移行し、第2の操作モードのとき、第1の操作入力に基づいてプレイヤキャラクタを制御し、動作指示入力が有る場合に、動作指示に従ってサブキャラクタを制御し、動作指示入力が無い場合に、サブキャラクタを自動制御し、第2の切替指示入力に応じて第3の操作モードに移行し、第3の操作モードのとき、第1の操作入力に基づいてプレイヤキャラクタを制御し、第1の操作入力とは異なる第2の操作入力に基づいて少なくともサブキャラクタの移動を制御させる、ゲームプログラムである。
【0008】
第1の発明によれば、1体のキャラクタを操作する第1のモードと、2体のキャラクタを操作する第2のモードを切り替えることができ、さらに、2体のキャラクタを操作する際にもサブキャラクタを直接操作するか自動にするかを選択することができる。つまり、操作のバリエーションを多くすることができる一方で、必要に応じて簡単な操作でプレイすることができる。たとえば操作が複雑と感じる場合や、複雑な操作が必要ない場面では簡単な操作に切り替えてプレイすることができる。
【0009】
第2の発明は、第1の発明に従属し、コンピュータにさらに、サブキャラクタに関するパラメータを情報処理装置のメモリに記憶させ、第2の操作モードおよび第3の操作モードにおいてパラメータを減少させ、第1の操作モードにおいてパラメータを増加させ、第2の操作モードまたは第3の操作モードにおいてパラメータが所定値まで減少した場合に、サブキャラクタを消去して第1の操作モードに移行させる。
【0010】
第2の発明によれば、パラメータの値に応じて操作モードを切り替える必要性があるため、状況に応じて操作モードを切り替える戦略性を出すことができる。また、複雑な操作のみを行うことにはならないので、操作のメリハリを出すことができる。
【0011】
第3の発明は、第2の発明に従属し、コンピュータにさらに、第2の操作モードまたは第3の操作モードにおいて、第3の切替指示入力に応じてサブキャラクタを消去して第1の操作モードに移行させる。
【0012】
第4の発明は、第1から第3の発明までのいずれかに従属し、操作装置には第1の方向入力部と第2の方向入力部が設けられ、第1の操作入力は第1の方向入力部に対する方向入力であって、第2の操作入力は第2の方向入力部に対する方向入力である。
【0013】
第4の発明によれば、2体のキャラクタのそれぞれを方向入力で操作することができる。
【0014】
第5の発明は、第4の発明に従属し、コンピュータにさらに、第1の操作モードおよび第2の操作モードにおいて、第2の操作入力に基づいて仮想カメラの制御を行い、第3の操作モードにおいて仮想カメラをプレイヤキャラクタおよびサブキャラクタの位置に基づいて自動制御させる。
【0015】
第5の発明によれば、複雑な操作のときにはカメラを自動制御にすることで、方向入力の同時入力が多くなりすぎないようにすることができる。したがって、操作が複雑になり過ぎないようにすることができる。
【0016】
第6の発明は、第1から第5の発明までのいずれかに従属し、サブキャラクタには、プレイヤキャラクタとサブキャラクタとを結ぶ連結オブジェクトが接続され、コンピュータにさらに、第2の操作モードおよび第3の操作モードにおいて、プレイヤキャラクタおよびサブキャラクタの位置および動きに応じて連結オブジェクトを制御させる。
【0017】
第6の発明によれば、2体のキャラクタを操作することで連結オブジェクトをさらに操作することができる。
【0018】
第7の発明は、第1から第5の発明までのいずれかに従属し、コンピュータにさらに、攻撃指示入力に基づいて、仮想空間内の敵キャラクタに対して少なくともプレイヤキャラクタに攻撃を行わせる。
【0019】
第8の発明は、第7の発明に従属し、サブキャラクタには、プレイヤキャラクタとサブキャラクタとを結ぶ連結オブジェクトが接続され、コンピュータにさらに、第2の操作モードおよび第3の操作モードにおいて、プレイヤキャラクタおよびサブキャラクタの位置および動きに応じて連結オブジェクトを制御し、連結オブジェクトと、敵キャラクタとの位置関係に基づいて、プレイヤキャラクタとサブキャラクタに所定のアクションを行わせる。
【0020】
第8の発明によれば、2体のキャラクタを操作することで連結オブジェクトを操作して、たとえば、敵キャラクタとの位置関係に基づいて、少なくともプレイヤキャラクタに敵キャラクタに対して攻撃を行わせることができる。
【0021】
第9の発明は、第1から第8の発明までのいずれかに従属し、第2の切替指示入力は、操作装置の所定のキーへの入力が継続していることであり、コンピュータにさらに、第3の操作モードにおいて、所定のキーへの入力が解除された場合に、第2の操作モードに移行させる。
【0022】
第9の発明によれば、所定のキーへの入力が継続している場合にのみ、プレイヤキャラクタとサブキャラクタの移動を操作入力に基づいて制御することができる。
【0023】
第10の発明は、プロセッサと、操作部を備え、プロセッサは、操作部に対する操作入力に基づいた操作データを取得し、操作データに基づいて仮想空間内のプレイヤキャラクタを制御し、操作データに基づいたプレイヤキャラクタの制御において、第1の操作モードのとき、第1の操作入力に基づいてプレイヤキャラクタを制御し、第1の切替指示入力に応じて仮想空間内にサブキャラクタを出現させるとともに第2の操作モードに移行し、第2の操作モードのとき、第1の操作入力に基づいてプレイヤキャラクタを制御し、動作指示入力が有る場合に、動作指示に従ってサブキャラクタを制御し、動作指示入力が無い場合に、サブキャラクタを自動制御し、第2の切替指示入力に応じて第3の操作モードに移行し、第3の操作モードのとき、第1の操作入力に基づいてプレイヤキャラクタを制御し、第1の操作入力とは異なる第2の操作入力に基づいて少なくともサブキャラクタの移動を制御する、情報処理システムである。
【0024】
第11の発明は、プロセッサを備える情報処理装置であって、プロセッサは、プレイヤによる操作装置に対する操作入力に基づいた操作データを取得し、操作データに基づいて仮想空間内のプレイヤキャラクタを制御し、操作データに基づいたプレイヤキャラクタの制御において、第1の操作モードのとき、第1の操作入力に基づいてプレイヤキャラクタを制御し、第1の切替指示入力に応じて仮想空間内にサブキャラクタを出現させるとともに第2の操作モードに移行し、第2の操作モードのとき、第1の操作入力に基づいてプレイヤキャラクタを制御し、動作指示入力が有る場合に、動作指示に従ってサブキャラクタを制御し、動作指示入力が無い場合に、サブキャラクタを自動制御し、第2の切替指示入力に応じて第3の操作モードに移行し、第3の操作モードのとき、第1の操作入力に基づいてプレイヤキャラクタを制御し、第1の操作入力とは異なる第2の操作入力に基づいて少なくともサブキャラクタの移動を制御する、情報処理装置である。
【0025】
第12の発明は、プレイヤによる操作装置に対する操作入力に基づいた操作データを取得し、操作データに基づいて仮想空間内のプレイヤキャラクタを制御させ、操作データに基づいたプレイヤキャラクタの制御において、第1の操作モードのとき、第1の操作入力に基づいてプレイヤキャラクタを制御し、第1の切替指示入力に応じて仮想空間内にサブキャラクタを出現させるとともに第2の操作モードに移行し、第2の操作モードのとき、第1の操作入力に基づいてプレイヤキャラクタを制御し、動作指示入力が有る場合に、動作指示に従ってサブキャラクタを制御し、動作指示入力が無い場合に、サブキャラクタを自動制御し、第2の切替指示入力に応じて第3の操作モードに移行し、第3の操作モードのとき、第1の操作入力に基づいてプレイヤキャラクタを制御し、第1の操作入力とは異なる第2の操作入力に基づいて少なくともサブキャラクタの移動を制御させる、ゲーム制御方法である。
【0026】
第10-第12の発明においても、第1の発明と同様に、操作のバリエーションを多くすることができる一方で、操作が複雑と感じる場合には簡単な操作でプレイすることができる。
【発明の効果】
【0027】
この発明によれば、操作のバリエーションを多くすることができる一方で、必要に応じて簡単な操作でプレイすることができる。
【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は第2の操作モードにおけるゲーム画像の限定しない一例を示す図である。
【
図10】
図10は第3の操作モードにおけるゲーム画像の限定しない第1の例を示す図である。
【
図11】
図11は第3の操作モードにおけるゲーム画像の限定しない第2の例を示す図である。
【
図12】
図12は第3の操作モードにおけるゲーム画像の限定しない第3の例を示す図である。
【
図13】
図13は第3の操作モードにおけるゲーム画像の限定しない第4の例を示す図である。
【
図14】
図14は第3の操作モードにおけるゲーム画像の限定しない第5の例を示す図である。
【
図15】
図15は第3の操作モードにおけるゲーム画像の限定しない第6の例を示す図である。
【
図16】
図16は第3の操作モードにおけるゲーム画像の限定しない第7の例を示す図である。
【
図17】
図17は
図6に示す本体装置のDRAMのメモリマップの限定しない一例を示す図である。
【
図18】
図18は
図6に示す本体装置のプロセッサのゲーム処理の限定しない一例の一部を示すフロー図である。
【
図19】
図19は
図6に示す本体装置のプロセッサのゲーム処理の限定しない一例の他の一部であって、
図18に後続するフロー図である。
【
図20】
図20は
図6に示す本体装置のプロセッサのゲーム処理の限定しない一例のその他の一部であって、
図18に後続するフロー図である。
【発明を実施するための形態】
【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)に表示されるゲーム画像の限定しない第1の例を示す図である。
【0073】
図8に示すように、第1の実施例のゲーム画像としてのゲーム画面200は、プレイヤキャラクタ202および敵キャラクタ204を含む。
【0074】
ただし、プレイヤキャラクタ202は、プレイヤの操作に基づいて任意の動作の実行を制御されるキャラクタまたはオブジェクトである。プレイヤキャラクタ202の動作としては、仮想の或る場所すなわち仮想空間内において、移動したり、アイテムを取得したり、敵キャラクタ204を攻撃したり、敵キャラクタ204の攻撃を防御したりすることなどが該当する。
【0075】
また、敵キャラクタ204を含む複数のノンプレイヤキャラクタは、それぞれ、プレイヤによる操作ではなくコンピュータ(
図6のプロセッサ81)によって動作を制御されるキャラクタまたはオブジェクトである。ノンプレイヤキャラクタの動作としては、移動したり、プレイヤキャラクタ202を攻撃したり、プレイヤキャラクタ202からの攻撃を防御したりすることが該当する。
【0076】
図示は省略するが、ゲーム画像には、背景オブジェクトも含まれる。この実施例では、背景オブジェクトは、主として、仮想空間に配置される地形のオブジェクトを意味する。また、この実施例においては、地形とは、地面(道路、広場などを含む)、床、木、草、花、建物、階段、洞窟、崖、壁などを意味する。
【0077】
本体装置2は、画像処理装置としても機能し、ゲーム画面200などの各種画面に対応する表示画像データを生成および出力(表示)する。プロセッサ81は、3次元の仮想空間に各種のオブジェクトおよびキャラクタを配置し、或る情景または場面(シーン)が生成される。このシーンを仮想のカメラで撮影した(視点から見た)画像がゲーム画像としてディスプレイ12に表示される。
【0078】
この実施例では、プレイヤは、アナログスティック32を操作することにより、プレイヤキャラクタ202を仮想空間内で移動させ、ZRボタン61を押下(または操作)することにより、敵キャラクタ204を攻撃する。プレイヤキャラクタ202が敵キャラクタ204を攻撃するための技は複数種類用意されている。ZRボタン61が押下される度に、決められた順番で技が選択される。なお、技はランダムに選択されるようにしてもよいし、プレイヤが技の種類を選択できるようにしてもよい。また、技には、連続して複数回敵キャラクタ204を攻撃する連続技も含まれる。
【0079】
このように、プレイヤが操作可能なキャラクタを1体(この実施例では、プレイヤキャラクタ202)仮想空間内に出現させ、当該キャラクタのみを操作する状態を第1の操作モードと呼ぶことにする。
【0080】
この第1の操作モードにおいては、アナログスティック52を傾倒することにより、仮想カメラを動かすこともできる。たとえば、仮想カメラは、プレイヤの操作に従って向きを変えることができる。このとき、仮想カメラの注視点は、プレイヤキャラクタ202の所定の点(たとえば、プレイヤキャラクタ202の頭部の中心点)に設定されており、仮想カメラが注視点を向くように、仮想カメラが移動される。また、仮想カメラはプレイヤキャラクタ202との距離を所定距離dに保った状態で移動される。
【0081】
また、第1の操作モードでは、仮想カメラは、プレイヤキャラクタ202から所定距離dだけ後方であり、プレイヤキャラクタ202の設置面(たとえば、地面)から所定の高さhだけ上方である位置に配置され、注視点の向きに撮影方向を設定され、プレイヤキャラクタ202を追従する。
【0082】
また、プレイヤの操作に従って仮想カメラが移動された場合であっても、アナログスティック52を押下することにより、仮想カメラをプレイヤキャラクタ202に対する所定の配置にリセットすることができる。また、仮想カメラは、強制的に他のキャラクタを撮影するように、その位置および撮影方向が制御される場合もある。たとえば、ボスキャラクタなどの所定の敵キャラクタ204が仮想空間内に出現するアニメーションを再生する場合および所定の敵キャラクタ204が倒れる(戦闘に負ける)アニメーションを再生する場合などが該当する。
【0083】
また、第1の操作モードにおいて、プレイヤがZLボタン39を押下すると、操作モードは第2の操作モードへ移行する。この実施例では、第2の操作モードは、プレイヤキャラクタ202とは別に、プレイヤが操作可能な他のプレイヤキャラクタ(以下、「サブキャラクタ」と呼ぶ)210を仮想空間内に出現しており、プレイヤによる当該サブキャラクタ210に対する操作が無い場合に、プロセッサ81が当該サブキャラクタ210を自動制御する状態を意味する。この実施例では、サブキャラクタ210は、第1の操作モードから第2の操作モードに移行した際にプレイヤキャラクタ202から飛び出すように、仮想空間内に出現される。飛び出す方向は、仮想カメラの撮影方向または撮影方向に平行な方向である。ただし、これは一例であり、サブキャラクタ210が飛び出す方向は、プレイヤキャラクタ202の向きに応じて決定されてもよい。これらのことは、サブキャラクタ210が飛び出すように移動する場合の移動方向も同じである。
【0084】
ただし、第2の操作モードでは、第1の操作モードと同様に、プレイヤキャラクタ202および仮想カメラはプレイヤによって操作可能である。プレイヤキャラクタ202および仮想カメラの操作についての重複する説明は省略することにする。第2の操作モードでは、プレイヤキャラクタ202とサブキャラクタ210が仮想カメラの画角内に収まるように制御される。この場合にも、上述したように、仮想カメラの注視点は、プレイヤキャラクタ202の所定の点に設定される。
【0085】
図9は第2の操作モードにおけるゲーム画像に対応するゲーム画面200の一例を示す図である。
図9に示すゲーム画面200には、プレイヤキャラクタ202および敵キャラクタ204に加えて、サブキャラクタ210および連結オブジェクト212が含まれる。プレイヤキャラクタ202とサブキャラクタ210は連結オブジェクト212で連結される。たとえば、連結オブジェクト212の一方端はサブキャラクタ210の胴体に接続され、連結オブジェクト212の他方端はプレイヤキャラクタ202によって把持される、または、プレイヤキャラクタ202の腕(または一部)に固定される。したがって、サブキャラクタ210の移動範囲は連結オブジェクト212の長さによって制限または決定される。ただし、連結オブジェクト212の長さ(最大長さ)は、予め設定されている。また、サブキャラクタ210の動作は基本的に自動制御されるが、敵キャラクタ204が仮想空間内に出現していない場合または敵キャラクタ204がサブキャラクタ210の移動範囲内に存在しない場合において、ZLボタン39が押下される毎に、サブキャラクタ210を所定の距離だけ飛び出すまたは遠ざけるように移動させたり(または離したり)、所定の距離だけ近づけたりすることもできる。このとき、連結オブジェクト212の長さは所定の長さだけ長くされたり、所定の長さだけ短くされたりする。
【0086】
上述したように、第2の操作モードでは、基本的には、サブキャラクタ210の動作は自動制御される。敵キャラクタ204が仮想空間内に出現している場合には、サブキャラクタ210は当該敵キャラクタ204を自動で攻撃する。この場合、サブキャラクタ210は、コンピュータ(プロセッサ81)によって動作を制御される。ただし、複数体の敵キャラクタ204が出現している場合には、サブキャラクタ210は、いずれかの敵キャラクタ204、たとえば最も近くに存在する敵キャラクタ204を攻撃するように動作を制御される。サブキャラクタ210が攻撃可能な敵キャラクタ204は、サブキャラクタ210の移動範囲内に存在する敵キャラクタ204である。以下、サブキャラクタ210が敵キャラクタ204を攻撃する場合において同じである。
【0087】
また、第2の操作モードでは、上述の自動的な攻撃に加え、プレイヤがZLボタン39を操作することによってサブキャラクタ210に敵キャラクタ204を攻撃させることもできる。かかる場合には、プロセッサ81の自動制御による攻撃動作は中断され、プレイヤの操作に従う攻撃動作が実行される。また、タイミング良く、プレイヤがZLボタン39を操作した場合には、サブキャラクタ210は、効果的に(より大きい)ダメージを与えるように、敵キャラクタ204を攻撃する。たとえば、プレイヤキャラクタ202が連続技で敵キャラクタ204を攻撃している場合に、その連続技に続くタイミングでZLボタン39が押下されると、サブキャラクタ210が、より大きいダメージを与える技で、その連続技に続けて、敵キャラクタ204を攻撃する。
【0088】
ただし、サブキャラクタ210には、体力値が設けられており、体力値が0になると、サブキャラクタ210は消去(または非表示)され、第1の操作モードに移行する。このとき、体力値が0になると、プレイヤキャラクタ202の連続技に合わせてタイミング良くZLボタン39が押下されたとしても、サブキャラクタ210は技を出せないことになる。
【0089】
この実施例では、ゲームの開始時に、サブキャラクタ210の体力値は最大値(この実施例では、100)に設定され、サブキャラクタ210が仮想空間内に出現されると、第1所定時間(たとえば、1フレーム)毎に、第1所定量(0.05)ずつ体力値が減算される。この実施例では、1フレームは、画面更新の単位時間であり、たとえば、1/60秒である。ただし、サブキャラクタ210を消去すると、つまり、第1の操作モードへ移行されると、この第1の操作モードにおいては、第2所定時間(たとえば、1フレーム)毎に、第2所定量(0.05)ずつ体力値が増加される。
【0090】
なお、この実施例では、第1所定時間と第2所定時間を同じ長さに設定してあるがこれらは異なる値に設定されてもよい。同様に、第1所定量(減少速度)と第2所定量(増加速度)も異なる値に設定されてよい。
【0091】
このように、サブキャラクタ210には体力値が設定されており、サブキャラクタ210の使用が体力値によって制限されるため、サブキャラクタ210を使用する場合と使用しない場合を使い分ける戦術でゲームをプレイする必要がある。たとえば、サブキャラクタ210が自動制御により敵キャラクタ204を攻撃している場合において、プレイヤはプレイヤキャラクタ202を操作してさらにその敵キャラクタ204を攻撃することができる。つまり、敵キャラクタ204に多くのダメージを与えたり、サブキャラクタ210を援護したりすることができる。したがって、戦術の一例として、強い敵または複数の敵が存在するような場面や、体力値に余裕があって戦闘がすぐに終わりそうな場面等においてサブキャラクタ210を使用し、プレイヤキャラクタ202だけで済みそうな場面や、次に強力な敵が控えている場面、体力値が少ない場面等においてはサブキャラクタ210を使用せずに、サブキャラクタ210の体力を回復させることが考えられる。
【0092】
この実施例では、サブキャラクタ210が仮想空間内に出現されている場合に、Rボタン60が押下されると、サブキャラクタ210は仮想空間から消去される。そして、操作モードが第2の操作のモードから第1の操作モードへ移行される。つまり、プレイヤの操作によって、サブキャラクタ210を消去することもできる。
【0093】
上記のように、プレイヤの体力値に基づいてサブキャラクタの使用および不使用を使い分ける戦術を考える必要があるため、サブキャラクタ210の体力値をゲーム画面200に表示するようにしてもよい。たとえば、体力値の残量を数値で表示したり、体力値の残量を円グラフや棒グラフで表示したりすることが考えられる。
【0094】
また、この実施例では、体力値が0になると、サブキャラクタ210は自動的に消去される。この場合には、体力値が最大値の100になるまで、出現させることができない。ただし、体力値が0より大きい状態でプレイヤの操作によってサブキャラクタ210が消去された場合には、体力値が100になっていなくても、プレイヤの操作によって再出現させることができる。
【0095】
さらに、第2の操作モードにおいて、プレイヤがZLボタン39を継続して押下し続ける(この実施例では、3秒間長押しする)と、操作モードは第3の操作モードへ移行し、ZLボタン39を押下し続けている間だけ、第3の操作モードが維持される。したがって、ZLボタン39の押下を解除すると、第3の操作モードから第2の操作モードへ移行される。ただし、第3モードにおいて、Rボタン60が押下された場合には、サブキャラクタ210は仮想空間から消去され、操作モードが第3の操作モードから第1の操作モードへ移行される。
【0096】
この実施例では、第3の操作モードは、プレイヤキャラクタ202およびサブキャラクタ210の移動を、それぞれ個別に操作可能な状態を意味する。プレイヤキャラクタ202の移動は、第1の操作モードおよび第2の操作モードと同様に、アナログスティック32を用いて操作される。サブキャラクタ210の移動は、アナログスティック52を用いて操作される。したがって、第3の操作モードにおいては、仮想カメラはアナログスティック52によって操作することはできず、自動制御される。このとき、仮想カメラの視野にプレイヤキャラクタ202およびサブキャラクタ210が両方含まれるように制御される。
【0097】
また、第3の操作モードでは、ZRボタン61が押下されると、連結オブジェクト212の長さが所定の長さだけ短くされる。これにより、プレイヤキャラクタ202は、サブキャラクタ210に所定の長さだけ近づくように移動される。このとき、プレイヤキャラクタ202は、仮想空間内において宙に浮いて移動する。このため、危険な場所および地面(または床)の無い場所のように、プレイヤキャラクタ202が通常移動(または、通過)できない場所を飛び越えて移動することができる。たとえば、第2の操作モードにおいて、ZLボタン39を押下することにより、サブキャラクタ210を飛び出すように移動させておき、ZLボタン39を長押しすることにより、第3の操作モードへ移行して、ZRボタン61を押下すれば、連結オブジェクト212が所定の長さだけ短くされ、上記のように、プレイヤキャラクタ202は宙に浮いて移動する。
【0098】
図10-
図13は第3の操作モードにおいて敵キャラクタ204を拘束するアクションを行っている場面のゲーム画像に対応するゲーム画面200の例を示す図である。
図10-
図13では、簡単のため、プレイヤは、サブキャラクタ210のみ移動させ、プレイヤキャラクタ202をその場に留まらせている図となっているが、当然、操作によって両方を移動させてもよい。
【0099】
図10では、サブキャラクタ210がゲーム画面200の左側から右方に移動し、敵キャラクタ204の背後に回り込む様子のゲーム画面200が表示される。また、
図10では、サブキャラクタ210の移動に従って連結オブジェクト212が敵キャラクタ204に巻きつくように移動または/および変形し始めている。
【0100】
図11では、プレイヤキャラクタ202はその場に留まり、サブキャラクタ210は、
図10に示した位置からさらに右方に移動し、ゲーム画面200の右側に到達している。また、
図11では、サブキャラクタ210の移動に従って連結オブジェクト212はさらに移動または/および変形し、その一部が敵キャラクタ204に引っ掛かっている。
【0101】
図12では、サブキャラクタ210は、
図11に示した位置から、プレイヤキャラクタ202と敵キャラクタ204の間を通ってゲーム画面200の左方に移動し、ゲーム画面200の左側に到達している。また、
図12では、サブキャラクタ210の移動に従って連結オブジェクト212はさらに移動または/および変形し、敵キャラクタ204を囲んでいる。
【0102】
図12に示すように、敵キャラクタ204を連結オブジェクト212によって一周囲むと、その後は、自動的に、プレイヤキャラクタ202とサブキャラクタ210が連結オブジェクト212で敵キャラクタ204を縛り付けるアクションを行い、
図13に示すように、連結オブジェクト212は、敵キャラクタ204に巻き付いた状態に変形される。このとき、一時的にプレイヤキャラクタ202とサブキャラクタ210は連結オブジェクト212で連結されていない状態となるが、すぐに新たな連結オブジェクト212によって連結される。
【0103】
この実施例では、連結オブジェクト212は、敵キャラクタ204に接触するだけでダメージを与えることができる。たとえば、連結オブジェクト212には、電流が流れたり、熱が発生したりしており、電流または熱によって敵キャラクタ204にダメージを与える。したがって、弱い敵キャラクタ204の場合には、連結オブジェクト212で縛った状態にしただけで倒すことができることもある。一方、強い敵キャラクタ204の場合には、連結オブジェクト212で縛った状態にすると、その動きを封じることがきる。したがって、強い敵キャラクタ204の場合には、プレイヤは、ZLボタン39の押下を解除して、操作モードを第2の操作モードへ移行した後に、プレイヤキャラクタ202または/およびサブキャラクタ210を操作して、動きを封じた敵キャラクタ204を攻撃することができる。ただし、Rボタン60を押下して、操作モードを第1の操作モードへ移行した後に、プレイヤキャラクタ202を操作して、動きを封じた敵キャラクタ204を攻撃してもよい。
【0104】
なお、上述したように、連結オブジェクト212の最大長さは予め設定されているため、比較的大きな敵キャラクタ204の場合には、手または/および足のような複数の一部分をそれぞれ連結オブジェクト212で縛ることにより、その敵キャラクタ204を倒すことができたり、その敵キャラクタ204の動きを封じることができたりする。
【0105】
また、
図10-
図13では、プレイヤキャラクタ202をその場に留まらせた場合の例を示したが、サブキャラクタ210を留まらせて、プレイヤキャラクタ202を移動させて、敵キャラクタ204を連結オブジェクト212で縛ってもよいし、プレイヤキャラクタ202およびサブキャラクタ210の両方を、敵キャラクタ204の回りを互いに逆方向に周回するように移動させて、敵キャラクタ204を連結オブジェクト212で縛ってもよいことは言うまでもない。
【0106】
図14-
図16は第3の操作モードにおいて敵キャラクタ204に連結オブジェクトを引っ掛けるアクションを行っている場面のゲーム画像に対応するゲーム画面200の例を示す図である。
【0107】
図14では、プレイヤキャラクタ202がゲーム画面200の右下側に静止した状態であり、サブキャラクタ210がゲーム画面200の左上側に静止した状態であり、プレイヤキャラクタ202とサブキャラクタ210の間に、連結オブジェクト212がピンと張られた様子のゲーム画面200が表示される。また、プレイヤキャラクタ202およびサブキャラクタ210よりも大きい敵キャラクタ204がゲーム画面200の右上側から左下方に移動し始めている。このとき、プレイヤキャラクタ202およびサブキャラクタ210は静止していなくともよく、たとえば互いの反対方向に移動しようとしながら連結オブジェクト212が張られる状態であってもよい。
【0108】
図15では、
図14に示した状態から敵キャラクタ204が左下方に移動し、連結オブジェクト212を銜えさせた様子のゲーム画面200が表示される。つまり、敵キャラクタ204が連結オブジェクト212に引っ掛かった瞬間が示される。
【0109】
図16では、
図15に示した状態から敵キャラクタ204が頭部を上げた様子のゲーム画面200が表示される。つまり、敵キャラクタ204は連結オブジェクト212に引っ掛かったままの状態である。
【0110】
上述したように、連結オブジェクト212は敵キャラクタ204にダメージを与えることができるため、連結オブジェクト212を敵キャラクタ204に引っ掛けることにより、敵キャラクタ204を倒すことも可能である。ただし、強い敵キャラクタ204の場合には、連結オブジェクト212を引っ掛けることにより、その後に投げ飛ばす等の所定のアクションを行ってダメージを与えて、或る程度敵キャラクタ204の動きを封じる。そして、プレイヤは、ZLボタン39の押下を解除して、操作モードを第2の操作モードへ移行した後に、プレイヤキャラクタ202または/およびサブキャラクタ210を操作して、動きを封じた敵キャラクタ204を攻撃する。または、Rボタン60を押下して、操作モードを第1の操作モードへ移行した後に、プレイヤキャラクタ202を操作して、動きを封じた敵キャラクタ204を攻撃する。
【0111】
つまり、
図14-
図16に示す例では、プレイヤは、敵キャラクタ204の動きを予想し、プレイヤキャラクタ202およびサブキャラクタ210の移動を操作して、連結オブジェクト212を仕掛けておき、この連結オブジェクト212に敵キャラクタ204を引っ掛けるのである。
【0112】
このように、第3の操作モードでは、プレイヤキャラクタ202または/およびサブキャラクタ210を個別に移動させ、これに伴って、連結オブジェクト212を移動または/および変形させることにより、連結オブジェクト212で敵キャラクタ204を縛ったり、連結オブジェクト212を敵キャラクタ204に引っ掛けたりすることにより、連結オブジェクト212から敵キャラクタ204にダメージを与えることもできる。
【0113】
なお、この実施例では、第3の操作モードでは、プレイヤキャラクタ202または/およびサブキャラクタ210を操作することにより、その移動のみを制御するようにしてあるが、操作モードの切り替えおよび移動に関する操作以外の操作ボタンを操作することにより、敵キャラクタ204を攻撃するようにしてもよい。または、本体装置2、左コントローラ3および右コントローラ4に、加速度センサまたは/およびジャイロセンサのような慣性センサを設けることにより、慣性センサの出力に基づいて敵キャラクタ204を攻撃するようにしてもよい。たとえば、左コントローラ3および右コントローラ4が本体装置2に装着されている場合には、本体装置2、左コントローラ3または右コントローラ4に設けられた慣性センサの出力に基づいて、ゲームシステム1の姿勢または/および動きに応じた攻撃が行われる。また、左コントローラ3および右コントローラ4が本体装置2に装着されていない場合には、左コントローラ3または/および右コントローラ4に設けられた慣性センサの出力に基づいて、左コントローラ3または/および右コントローラ4の姿勢または/および動きに応じた攻撃が行われる。これらのことは、第1の操作モードおよび第2の操作モードにおいても同様である。
【0114】
また、この実施例では、3つの操作モードを設け、プレイヤは、第1の操作モードでは、プレイヤの操作(つまり、手動の操作)に従ってプレイヤキャラクタ202の動作のみを制御し、第2の操作モードでは、ZLボタン39を押下する以外は、サブキャラクタ210は自動制御で敵キャラクタ204を攻撃し、第3の操作モードでは、プレイヤの操作に従ってプレイヤキャラクタ202およびサブキャラクタ210の両方の移動を制御する。このため、操作の複雑さは、第1の操作モードが最もシンプルで、第3の操作モードが最も複雑である。
【0115】
つまり、操作モードを切り替えることにより、サブキャラクタ210を出現させたり消去させたり、サブキャラクタ210を出現させた場合には、サブキャラクタ210を自動または手動の操作で制御するかを選択することができる。つまり、操作のバリエーションを多く用意されているが、操作が難しいまたは複雑であると感じる場合や、強力な攻撃が必要ない場面では、簡単な操作でプレイすることができる。
【0116】
図17は
図6に示したDRAM85のメモリマップ850の限定しない一例を示す図である。
図17に示すように、DRAM85は、プログラム記憶領域852およびデータ記憶領域854を含む。プログラム記憶領域852には、ゲームアプリケーションのプログラム(つまり、ゲームプログラム)が記憶される。
図17に示すように、ゲームプログラムは、メイン処理プログラム852a、画像生成プログラム852b、操作検出プログラム852d、操作モード切替プログラム852e、キャラクタ制御プログラム852fおよびパラメータ制御プログラム852gなどを含む。ただし、ゲーム画像などの画像を表示する機能は本体装置2が備える機能である。したがって、画像表示プログラム852cは、ゲームプログラムに含まれない。
【0117】
詳細な説明は省略するが、各プログラム852a-852gは、本体装置2に電源が投入された後の適宜のタイミングで、フラッシュメモリ84および/またはスロット23に装着された記憶媒体からその一部または全部が読み込まれてDRAM85に記憶される。ただし、各プログラム852a-852gの一部または全部は、本体装置2と通信可能な他のコンピュータから取得するようにしてもよい。
【0118】
メイン処理プログラム852aは、この実施例の仮想のゲームの全体的なゲーム処理を実行するためのプログラムである。画像生成プログラム852bは、後述する画像生成データ854bを用いて、ゲーム画像などの各種の画像に対応する表示画像データを生成するためのプログラムである。画像表示プログラム852cは、画像生成プログラム852bに従って生成した表示画像データを表示装置に出力するためのプログラムである。したがって、表示画像データに対応する画像(つまり、ゲーム画面200など)がディスプレイ12などの表示装置に表示される。
【0119】
操作検出プログラム852dは、左コントローラ3または/および右コントローラ4からの操作データ854aを取得するためのプログラムである。操作モード切替プログラム852eは、プレイヤの操作またはパラメータの数値(この実施例では、体力値)に基づいて、第1の操作モード、第2の操作モードおよび第3の操作モードの間で、操作モードを切り替えるためのプログラムである。この実施例では、第1の操作モードから第3の操作モードに直接切り替えられることはないが、所定の操作ボタンが操作されることにより、第1の操作モードから第3の操作モードに切り替えられるようにしてもよい。
【0120】
キャラクタ制御プログラム852fは、プレイヤの操作に基づいて、プレイヤキャラクタ202または/およびサブキャラクタ210の動作を制御したり、プレイヤの操作に関わらず、敵キャラクタ204を含むノンプレイヤキャラクタの動作を制御したりするためのプログラムである。また、キャラクタ制御プログラム852fは、プレイヤの操作または体力値に応じて、サブキャラクタ210を仮想空間内に出現させたり、仮想空間から消去させたりするためのプログラムでもある。
【0121】
パラメータ制御プログラム852gは、パラメータの数値を最大値(この実施例では、100)と最小値(この実施例では、0)の間で増加または減少(すなわち、制御)するためのプログラムである。
【0122】
なお、プログラム記憶領域852には、BGM等の音を出力するための音出力プログラム、他の機器と通信するための通信プログラム、データをフラッシュメモリ84などの不揮発性の記憶媒体に記憶するためのバックアッププログラムなども記憶される。
【0123】
また、データ記憶領域854には、操作データ854a、画像生成データ854b、操作モードデータ854c、現在位置データ854d、体力値データ854eなどが記憶される。また、データ記憶領域854には、タイマ854fなどが設けられる。
【0124】
操作データ854aは、左コントローラ3または/および右コントローラ4から受信される操作データである。この実施例においては、本体装置2が左コントローラ3および右コントローラ4の両方から操作データを受信する場合には、本体装置2は、左コントローラ3および右コントローラ4のそれぞれに分類して操作データ854aを記憶する。
【0125】
画像生成データ854bは、ポリゴンデータおよびテクスチャデータなど、表示画像データを生成するために必要なデータである。操作モードデータ854cは、第1の操作モード、第2の操作モードまたは第3の操作モードを判断するためのデータであり、具体的には、現在の操作モードの識別情報のデータである。
【0126】
現在位置データ854dは、プレイヤキャラクタ202、敵キャラクタ204、サブキャラクタ210および連結オブジェクト212のような仮想空間内において移動可能なキャラクタおよびオブジェクトについての現在フレームの位置座標についてのデータである。
【0127】
体力値データ854eは、サブキャラクタ210の体力値(つまり、パラメータ)を示す数値のデータであり、上述したように、パラメータ制御プログラム852gに従って増減される。つまり、体力値データ854eが示す体力値は、現フレームにおける体力値の残量を示す。ただし、体力値は、仮想のゲームを開始した時点では、最大値(この実施例では、100)に設定される。
【0128】
タイマ854fは、プレイヤが所定の操作ボタン(この実施例では、ZLボタン39)を継続して押し続けている時間の長さをカウントするためのタイマまたはカウンタである。タイマ854fは、第2の操作モードにおいて、プレイヤがZLボタン39を押下したときにカウントを開始され、プレイヤがZLボタン39を放した(押下を解除した)ときにカウントを終了してリセットされる。なお、説明は省略したが、タイマ854fのカウントの開始および終了は、操作モード切替プログラム852eに従って制御される。
【0129】
図示は省略するが、データ記憶領域854には、他のデータが記憶されたり、フラグおよび他のタイマ(またはカウンタ)が設けられたりする。
【0130】
図18-
図20は、本体装置2のプロセッサ81(またはコンピュータ)のゲームプログラムの処理(ゲーム処理)の限定しない一例を示すフロー図である。以下、
図18-
図20を用いて、ゲーム処理について説明するが、同じ処理を実行するステップについては重複する説明は省略することにする。
【0131】
ただし、
図18-
図20に示すフロー図の各ステップの処理は、単なる一例に過ぎず、同様の結果が得られるのであれば、各ステップの処理順序を入れ替えてもよい。また、この実施例では、基本的には、
図18-
図20に示すフロー図の各ステップの処理をプロセッサ81が実行するものとして説明するが、プロセッサ81以外のプロセッサや専用回路が一部のステップを実行するようにしてもよい。
【0132】
本体装置2の電源が投入されると、ゲーム処理の実行に先だって、プロセッサ81は、図示しないブートROMに記憶されている起動プログラムを実行し、これによってDRAM85等の各ユニットが初期化される。本体装置2は、ユーザによって、この実施例のゲームプログラムの実行が指示されると、ゲーム処理を開始する。
【0133】
図18に示すように、プロセッサ81は、ゲーム処理を開始すると、ステップS1で、初期設定を実行する。ここでは、プロセッサ81は、仮想空間において、プレイヤキャラクタ202、ノンプレイヤキャラクタおよび背景オブジェクトを初期位置に配置する。ただし、前回の続きからゲームを開始する場合には、セーブされた時点における位置にプレイヤキャラクタ202、ノンプレイヤキャラクタおよび背景オブジェクトを配置する。このとき、プレイヤキャラクタ202およびノンプレイヤキャラクタの初期位置またはセーブされた時点における位置の座標データが、現在位置データ854dとしてデータ記憶領域854に記憶される。また、プロセッサ81は、操作モードデータ854cが示す操作モードの識別情報を第1の操作モードの識別情報に設定するとともに、体力値データ854eに対応する体力値を最大値に設定する。
【0134】
次のステップS3では、操作データを検出する。続いて、ステップS5では、操作受付中かどうかを判断する。ここでは、プロセッサ81は、第1-第3の操作モードのいずれかにおいて、プレイヤキャラクタ202およびサブキャラクタ210についての操作を受け付けているかどうかを判断する。この実施例では、プロセッサ81は、サブキャラクタ210を仮想空間内に出現させるアニメーションを再生している場合や、ブキャラクタ110を仮想空間から消去されるアニメーションを再生している場合のように、操作モードが変化している最中には、プレイヤの操作を受け付けないようにしてある。ただし、サブキャラクタ210の出現に伴って連結オブジェクト212も出現され、サブキャラクタ210の消去に伴って連結オブジェクト212も消去される。それ以外にも、特定の技を出している最中や、敵の強力な攻撃を受けた場合等に所定のアニメーションを再生し、その間操作を受け付けない期間がある。また、ゲームクリアを表現するアニメーションを再生している場合や、ゲームオーバを表現するアニメーションを再生している場合等、所定のイベントが発生している場面等、プレイヤの操作を受け付けない場面がある。以下、ゲーム処理の説明においては、これらのアニメーションを「所定のアニメーション」と呼ぶことにする。ただし、プレイヤの操作を受け付けていない場合であっても、操作データの検出処理(S3)は実行されるため、この場合には、検出された操作データはプロセッサ81の処理に使用されない。
【0135】
ステップS5で“NO”であれば、つまり、操作受付中でなければ、ステップS7で、他の処理を実行して、
図20に示すステップS51に進む。この場合、ステップS3で検出された操作データは、プロセッサ81の処理に使用されない。また、プロセッサ81は、ステップS7で、上記の所定のアニメーションを1フレーム分進める(または1フレーム分再生する)。つまり、仮想空間内において、キャラクタの位置や姿勢が1フレーム分更新される。
【0136】
一方、ステップS5で“YES”であれば、つまり、操作受付中であれば、ステップS9で、操作モードが第1の操作モードであるかどうかを判断する。ここでは、プロセッサ81は、操作モードデータ854cを参照して、第1の操作モードの識別情報が記載されているかどうかを判断する。後述する、ステップS21についても同様の処理が実行される。
【0137】
ステップS9で“YES”であれば、つまり、操作モードが第1の操作モードであれば、ステップS11で、体力値を所定量(たとえば、0.05)増加させる。ただし、体力値が最大値である場合には、ステップS11の処理はスキップされる。
【0138】
続いて、ステップS13で、サブキャラクタ(つまり、サブキャラクタ210)の出現指示がされたかどうかを判断する。ここでは、プロセッサ81は、ステップS3で検出した操作データがZLボタン39の押下を示すかどうかを判断する。
【0139】
ステップS13で“YES”であれば、サブキャラクタ210の出現指示がされれば、ステップS15で、サブキャラクタ210の出現を開始する。つまり、プロセッサ81は、サブキャラクタ210を仮想空間内に出現させるアニメーションの再生を開始する。続く、ステップS17では、操作モードを第2の操作モードへ移行して、ステップS51に進む。ステップS17では、プロセッサ81は、操作モードデータ854cを第2の操作モードの識別情報に書き換える。このことは、後述するステップS29、S33、S43およびS47も同様である。
【0140】
一方、ステップS13で“NO”であれば、つまり、サブキャラクタ210の出現指示がされていなければ、ステップS19で、第1の操作モードでの処理を実行して、ステップS51に進む。
【0141】
ステップS19では、プロセッサ81は、アナログスティック32の操作に従ってプレイヤキャラクタ202を移動させたり、ZRボタン61の操作に従ってプレイヤキャラクタ202に攻撃させたりする。
【0142】
また、ステップS19では、プロセッサ81は、アナログスティック52の操作に従って仮想カメラを移動させる。
【0143】
さらに、ステップS19では、プロセッサ81は、プレイヤキャラクタ202が敵キャラクタ204の攻撃を受けたときのアニメーション、または、敵キャラクタ204がプレイヤキャラクタ202の攻撃を受けたときのアニメーションを再生する。
【0144】
ただし、
図18-
図20に示すステップS3-S55のスキャンタイムは1フレームであるため、ステップS19では、1フレーム分、プレイヤキャラクタ202の位置が移動されたり、移動または攻撃に伴う姿勢(または身体)が変化されたり、アニメーションが進行または再生されたりする。
【0145】
また、上記のステップS9で“NO”であれば、つまり、操作モードが第1の操作モードでなければ、ステップS21で、操作モードが第2の操作モードであるかどうかを判断する。ステップS21で“YES”であれば、つまり、第2の操作モードであれば、
図19に示すステップS23に進む。一方、ステップS21で“NO”であれば、つまり、第3操作モードであれば、
図20に示すステップS37に進む。
【0146】
図19に示すように、ステップS23では、体力値を所定量(たとえば、0.05)減少させて、ステップS25で、サブキャラクタ210の消去であるかどうかを判断する。ここでは、プロセッサ81は、ステップS3で検出された操作データがRボタン60の押下を示すかどうかを判断するとともに、体力値データ854eが示す体力値が0であるかどうかを判断する。プロセッサ81は、ステップS3で検出された操作データがRボタン60の押下を示す場合、または、体力値データ854eが示す体力値が0である場合には、サブキャラクタ210を消去することを決定する。一方、プロセッサ81は、ステップS3で検出された操作データがRボタン60の押下を示しておらず、かつ体力値データ854eが示す体力値が0でないことを判断した場合には、サブキャラクタ210を消去しないことを決定する。
【0147】
ステップS25で“YES”であれば、つまり、サブキャラクタ210の消去であれば、ステップS27で、サブキャラクタ210の消去を開始する。つまり、プロセッサ81は、サブキャラクタ210を消去するアニメーションの再生を開始する。次のステップS29では、操作モードを第1の操作モードへ移行して、ステップS51に進む。
【0148】
一方、ステップS25で“NO”であれば、つまり、サブキャラクタ210の消去でなければ、ステップS31で、直接操作指示かどうかを判断する。ここでは、プロセッサ81は、タイマ854fのカウント値を参照して、ZLボタン39を継続して押下し続けている時間が所定時間(たとえば、0.5秒)を超えたかどかを判断する。
【0149】
ステップS31で“YES”であれば、つまり、直接操作指示が有れば、ステップS33で、操作モードを第3の操作モードへ移行して、ステップS51に進む。一方、ステップS31で“NO”であれば、つまり、直接操作指示がなければ、ステップS35で、第2の操作モードでの処理を実行して、ステップS51に進む。
【0150】
ステップS35では、プロセッサ81は、アナログスティック32の操作に従ってプレイヤキャラクタ202の移動を制御する。つまり、現在位置データ854dのうち、プレイヤキャラクタ202の現在位置の位置座標データを更新する。
【0151】
また、ステップS35では、プロセッサ81は、アナログスティック52の操作に従って仮想カメラを移動させる。
【0152】
さらに、ステップS35では、プロセッサ81は、ZLボタン39が操作されていない場合には、他の種類の操作に関わらずサブキャラクタ210に最も近い敵キャラクタ204を攻撃するようにサブキャラクタ210の動作を制御する。ただし、敵キャラクタ204が仮想空間内に存在しないまたはサブキャラクタ210の移動範囲内に存在しない場合には、プレイヤキャラクタ202の移動に追従するように、サブキャラクタ210は移動する。プレイヤキャラクタ202やサブキャラクタ210の移動に伴って連結オブジェクト212も移動、変形する。
【0153】
さらにまた、ステップS35では、プロセッサ81は、敵キャラクタ204が仮想空間内に存在しないまたはサブキャラクタ210の移動範囲内に存在しない場合において、ZLボタン39が押下されると、サブキャラクタ210が、プレイヤキャラクタ202から仮想カメラが向く方向(つまり、撮影方向)に向けて飛び出すように移動(または出現)するアニメーションを再生し始める。
【0154】
また、ステップS35では、プロセッサ81は、プレイヤキャラクタ202の連続技の攻撃に合わせてタイミングよくZLボタン39が操作された場合には、プロセッサ81は、サブキャラクタ210がプレイヤキャラクタ202の連続的な攻撃に続けて効果的に敵キャラクタ204を攻撃するアニメーションを再生する。
【0155】
さらに、ステップS35では、プロセッサ81は、プレイヤキャラクタ202またはサブキャラクタ210が敵キャラクタ204の攻撃を受けたときのアニメーション、または、敵キャラクタ204がプレイヤキャラクタ202または/およびサブキャラクタ210の攻撃を受けたときのアニメーションを再生する。
【0156】
さらにまた、ステップS35では、プロセッサ81は、ZLボタン39が押下されている場合にタイマ854fを更新し、ZLボタン39が押下されていない場合にタイマ854fをリセットする。
【0157】
ただし、上述したように、
図18-
図20に示すステップS3-S55のスキャンタイムは1フレームであるため、ステップS35では、1フレーム分、プレイヤキャラクタ202または/およびサブキャラクタ210の位置が移動されたり、その移動に伴うプレイヤキャラクタ202または/およびサブキャラクタ210の姿勢(または身体)またはサブキャラクタ210の攻撃に伴う姿勢(または身体)が変化されたりする。また、プレイヤキャラクタ202または/およびサブキャラクタ210の移動に伴って、1フレーム分、連結オブジェクト212が移動または/および変形される。さらに、ステップS35では、1フレーム分のアニメーションが再生される。アニメーション再生開始後に所定期間操作を受け付けなくする場合には、次のフレーム以降、操作を受け付けるようになるまでステップS7でアニメーションが継続されることになる。これらのことは、後述するステップS49においても同じである。
【0158】
図20に示すように、ステップS37では、体力値を所定量減算する。次のステップS39では、サブキャラクタ210の消去かどうかを判断する。ステップS39で“YES”であれば、ステップS41で、サブキャラクタ210の消去を開始し、ステップS43で、第1の操作モードに移行して、ステップS51に進む。
【0159】
ステップS39で“NO”であれば、ステップS45で、直接操作指示の解除かどうかを判断する。ここでは、ステップS3で検出された操作データが、ZLボタン39の押下を示していなければ直接操作指示の解除であると判断する。ただし、ステップS3において、操作データが検出されない場合も直接操作指示の解除であることが判断される。
【0160】
ステップS45で“YES”であれば、つまり、直接操作指示の解除であれば、ステップS47で、操作モードを第2の操作モードへ移行して、ステップS51に進む。また、プロセッサ81は、タイマ854fをリセットする。一方、ステップS45で“NO”であれば、つまり、直接操作指示の解除でなければ、ステップS49で、第3の操作モードでの処理を実行して、ステップS51に進む。
【0161】
ステップS49では、プロセッサ81は、アナログスティック32の操作に従ってプレイヤキャラクタ202を移動させたり、アナログスティック52の操作に従ってサブキャラクタ210を移動させたりする。このとき、現在位置データ854dが更新される。ただし、操作モードは、第3の操作モードであるため、ZLボタン39は押下されたままの状態である。以下、同様である。
【0162】
また、ステップS49では、プロセッサ81は、ZRボタン61の操作に従って、連結オブジェクト212を短くするとともに、プレイヤキャラクタ202をサブキャラクタ210に近づけるように移動させる。
【0163】
さらに、ステップS49では、プロセッサ81は、プレイヤキャラクタ202、サブキャラクタ210および敵キャラクタ204の位置関係によって、敵キャラクタ204に連結オブジェクト212を引っ掛けたり、敵キャラクタ204に連結オブジェクト212を巻き付けたりする。また、敵キャラクタ204に連結オブジェクト212を一周巻き付けた後では、プレイヤキャラクタ202およびサブキャラクタ210が、敵キャラクタ204を連結オブジェクト212で縛り付けるアニメーションを再生する。
【0164】
さらにまた、ステップS49では、プロセッサ81は、プレイヤキャラクタ202またはサブキャラクタ210が敵キャラクタ204の攻撃を受けたときのアニメーション、または、連結オブジェクト212を引っ掛けたり、巻き付けたりしたことにより、敵キャラクタ204を攻撃したときのアニメーションを再生する。
【0165】
ステップS51では、他のキャラクタまたは/およびオブジェクトの処理を実行する。ここでは、プロセッサ81は、敵キャラクタ204を含むノンプレイヤキャラクタを動作させたり、背景オブジェクトを変化させたりする。
【0166】
次のステップS53では、上述の処理によって仮想空間に配置されたオブジェクトに基づいてゲーム画像を生成する。生成されたゲーム画像はディスプレイ12に表示される。そして、ステップS55で、ゲーム終了かどうかを判断する。ここでは、プロセッサ81は、ゲームクリアまたはゲームオーバかどうかを判断する。なお、ステップS3で検出した操作データがゲーム終了の指示を示す場合には、ゲーム処理の途中であっても強制的に終了される。また、図示は省略するが、ステップS53の処理と同時にまたはほぼ同時に、ゲームに必要な音声(以下、「ゲーム音声」という)が生成され、生成されてゲーム音声がスピーカ88(または、音声入出力端子25)から出力される。
【0167】
ステップS55で“NO”であれば、つまり、ゲーム終了でなければ、
図18に示したステップS3に戻る。一方、ステップS55で“YES”であれば、つまり、ゲーム終了であれば、ゲーム処理を終了する。
【0168】
この実施例によれば、プレイヤの選択により、サブキャラクタを仮想空間内に出現させるか消去させるかを切り替えたり、サブキャラクタを自動制御するか手動で操作するかを切り替えたりできるので、操作のバリエーションを多くすることができる一方で、必要に応じて簡単な操作でプレイすることができる。たとえば操作が複雑と感じる場合や、複雑な操作が必要ない場面では簡単な操作に切り替えてプレイすることができる。
【0169】
また、この実施例によれば、ZLボタンのような所定の操作ボタンを継続的に押下している間において、第3の操作モードが維持され、プレイヤキャラクタおよびサブキャラクタのそれぞれについて、少なくとも移動を制御するので、第3の操作モードを継続させる操作と、プレイヤキャラクタおよびサブキャラクタのそれぞれについて、少なくとも移動させる操作を行う必要がある。つまり、あえて長時間は第3の操作モードを維持しにくい操作にすることにより、常に第3の操作モードでゲームをプレイするのではなく、適切な状況を見定めて第3の操作モードに切り替えることを促すことができる。このため、難しいまたは複雑な操作を短時間にし、基本的には比較的簡単な操作が長期間継続するように誘導することができる。なお、別の実施例においては、所定のボタンを1回押すことで第3のモードに切り替えるようにしてもよい。
【0170】
さらに、この実施例によれば、体力値に応じてサブキャラクタを使用可能かどうかを制御するため、体力値により、プレイヤはサブキャラクタを出現させたり消去させたりする戦術も考える必要がある。つまり、体力値を設定することによっても、難しいまたは複雑な操作は長期間継続されずに、簡単な操作に戻るように誘導することができる。なお、体力値は、別の実施例においては、エネルギー、生命力等、別のパラメータであってもよい。また、必要に応じて体力値を用いないこともできる。
【0171】
なお、上述の実施例では、サブキャラクタを仮想空間内に出現させたり、仮想空間から消去させたりするようにしたが、これに限定される必要はない。他の実施例では、第1の操作モードにおいては、サブキャラクタは、仮想空間内に動作不能な状態で存在し、プレイヤの操作に従って、仮想空間内に動作可能な状態で出現させるようにしてもよい。かかる場合には、プレイヤの操作に従って、または、体力値が0になったことに応じて、サブキャラクタは、仮想空間内で動作可能な状態から動作不能な状態に変化される。つまり、動作可能な状態のサブキャラクタが消去される。たとえば、仮想空間内で動作不能な状態においては、サブキャラクタは、プレイヤキャラクタが所持する所定のアイテムに封じ込められていたり、動作しない別のオブジェクトまたはアイテムに変化して存在していたりする。このような場合には、サブキャラクタが仮想空間内で動作可能な状態で出現されるとき、サブキャラクタは、所定のアイテムから飛び出したり、動作しない別のオブジェクトまたはアイテムから変化されたりする。つまり、サブキャラクタは、動作可能な状態で仮想空間内に出現する。
【0172】
また、この実施例では、サブキャラクタ210が消去されている場合(つまり、第1の操作モードにおいて)、パラメータの数値(つまり、体力値)が増加され、サブキャラクタ210が仮想空間内に出現されている場合(つまり、第2の操作モードおよび第3の操作モードにおいて)、パラメータの数値が減少されるようにしてあるが、これに限定される必要はない。パラメータの内容によっては、サブキャラクタ210が消去されている場合に、パラメータの数値が減少され、サブキャラクタ210が仮想空間内に出現されている場合に、パラメータの数値が増加されるようにすることもできる。かかる場合には、パラメータは、たとえば、サブキャラクタ210が消耗した体力の数値であり、その数値が最大値(たとえば、100)になると、仮想空間から消去され、体力が完全に回復する(パラメータの数値が0になる)まで、サブキャラクタ210を仮想空間内に出現させることができない。ただし、パラメータの数値が最大値に到達する前に、サブキャラクタ210を消去した場合には、パラメータの数値が0になる前であっても、サブキャラクタ210を仮想空間内に出現させることができる。
【0173】
さらに、上述の実施例では、情報処理システムの一例としてゲームシステム1を示したが、その構成は限定される必要は無く、他の構成を採用することが可能である。たとえば、上記「コンピュータ」は、上述の実施例においては、1つのコンピュータ(具体的には、プロセッサ81)であるが、他の実施例においては、複数のコンピュータであってもよい。上記「コンピュータ」は、例えば、複数の装置に設けられる(複数の)コンピュータであってもよく、より具体的には、上記「コンピュータ」は、本体装置2のプロセッサ81と、コントローラが備える通信制御部(マイクロプロセッサ)101、111とによって構成されてもよい。
【0174】
さらにまた、他の実施例では、インターネットのようなネットワーク上のサーバで、
図18-
図20に示したゲーム処理を実行するようにしてもよい。かかる場合には、本体装置2のプロセッサ81は、左コントローラ3および右コントローラ4から受信した操作データを、ネットワーク通信部82およびネットワークを介して上記のサーバに送信し、サーバでゲーム処理を実行された結果(つまり、ゲーム画像のデータおよびゲーム音声のデータ)を受信して、ゲーム画像をディスプレイ12に表示するとともに、ゲーム音声をスピーカ88から出力する。つまり、上記の実施例で示したゲームシステム1とネットワーク上のサーバを含む情報処理システムを構成することもできる。
【0175】
また、上述の実施例では、ディスプレイ12にゲーム画像を表示する場合について説明したが、これに限定される必要はない。本体装置2を、クレードルを介して据置型モニタ(たとえば、テレビモニタ)に接続することにより、ゲーム画像を据置型モニタに表示することもできる。かかる場合には、ゲームシステム1と据置型モニタを含む情報処理システムを構成することもできる。
【0176】
さらに、上述の実施例では、本体装置2に左コントローラ3および右コントローラ4を着脱可能な構成のゲームシステム1を用いた場合について説明したが、これに限定される必要はない。たとえば、左コントローラ3および右コントローラ4と同様の操作ボタンおよびアナログスティックを有する操作部を本体装置2に一体的に設けたゲーム装置またはゲームプログラムを実行可能な他の電子機器のような情報処理装置を用いることもできる。他の電子機器としては、スマートフォンまたはタブレットPCなどが該当する。かかる場合には、操作部はソフトウェアキーで構成することもできる。
【0177】
さらにまた、上述の実施例で示した具体的な数値、画像、付加操作装置の構成は一例であり、実際の製品に応じて適宜変更可能である。
【符号の説明】
【0178】
1 …ゲームシステム
2 …本体装置
3 …左コントローラ
4 …右コントローラ
32、52 …アナログスティック
39 …ZLボタン
60 …Rボタン
61 …ZRボタン
81 …プロセッサ