以下、本実施形態の一例に係るゲームシステムについて説明する。本実施形態におけるゲームシステム1の一例は、本体装置(情報処理装置;本実施形態ではゲーム装置本体として機能する)2と左コントローラ3および右コントローラ4とを含み、情報処理システムとしても機能する。本体装置2は、左コントローラ3および右コントローラ4がそれぞれ着脱可能である。つまり、ゲームシステム1は、左コントローラ3および右コントローラ4をそれぞれ本体装置2に装着して一体化された装置として利用できる。また、ゲームシステム1は、本体装置2と左コントローラ3および右コントローラ4とを別体として利用することもできる(図2参照)。以下では、本実施形態のゲームシステム1のハードウェア構成について説明し、その後に本実施形態のゲームシステム1の制御について説明する。
図1は、本体装置2に左コントローラ3および右コントローラ4を装着した状態の一例を示す図である。図1に示すように、左コントローラ3および右コントローラ4は、それぞれ本体装置2に装着されて一体化されている。本体装置2は、ゲームシステム1における各種の処理(例えば、ゲーム処理)を実行する装置である。本体装置2は、ディスプレイ12を備える。左コントローラ3および右コントローラ4は、ユーザが入力を行うための操作部を備える装置である。
図2は、本体装置2から左コントローラ3および右コントローラ4をそれぞれ外した状態の一例を示す図である。図1および図2に示すように、左コントローラ3および右コントローラ4は、本体装置2に着脱可能である。なお、以下において、左コントローラ3および右コントローラ4の総称として「コントローラ」と記載することがある。
図3は、本体装置2の一例を示す六面図である。図3に示すように、本体装置2は、略板状のハウジング11を備える。本実施形態において、ハウジング11の主面(換言すれば、表側の面、すなわち、ディスプレイ12が設けられる面)は、大略的には矩形形状である。
なお、ハウジング11の形状および大きさは、任意である。一例として、ハウジング11は、携帯可能な大きさであってよい。また、本体装置2単体または本体装置2に左コントローラ3および右コントローラ4が装着された一体型装置は、携帯型装置となってもよい。また、本体装置2または一体型装置が手持ち型の装置となってもよい。また、本体装置2または一体型装置が可搬型装置となってもよい。
図3に示すように、本体装置2は、ハウジング11の主面に設けられるディスプレイ12を備える。ディスプレイ12は、本体装置2が生成した画像を表示する。本実施形態においては、ディスプレイ12は、液晶表示装置(LCD)とする。ただし、ディスプレイ12は任意の種類の表示装置であってよい。
また、本体装置2は、ディスプレイ12の画面上にタッチパネル13を備える。本実施形態においては、タッチパネル13は、マルチタッチ入力が可能な方式(例えば、静電容量方式)のものである。ただし、タッチパネル13は、任意の種類のものであってよく、例えば、シングルタッチ入力が可能な方式(例えば、抵抗膜方式)のものであってもよい。
本体装置2は、ハウジング11の内部においてスピーカ(すなわち、図6に示すスピーカ88)を備えている。図3に示すように、ハウジング11の主面には、スピーカ孔11aおよび11bが形成される。そして、スピーカ88の出力音は、これらのスピーカ孔11aおよび11bからそれぞれ出力される。
また、本体装置2は、本体装置2が左コントローラ3と有線通信を行うための端子である左側端子17と、本体装置2が右コントローラ4と有線通信を行うための右側端子21を備える。
図3に示すように、本体装置2は、スロット23を備える。スロット23は、ハウジング11の上側面に設けられる。スロット23は、所定の種類の記憶媒体を装着可能な形状を有する。所定の種類の記憶媒体は、例えば、ゲームシステム1およびそれと同種の情報処理装置に専用の記憶媒体(例えば、専用メモリカード)である。所定の種類の記憶媒体は、例えば、本体装置2で利用されるデータ(例えば、アプリケーションのセーブデータ等)、および/または、本体装置2で実行されるプログラム(例えば、アプリケーションのプログラム等)を記憶するために用いられる。また、本体装置2は、電源ボタン28を備える。
本体装置2は、下側端子27を備える。下側端子27は、本体装置2がクレードルと通信を行うための端子である。本実施形態において、下側端子27は、USBコネクタ(より具体的には、メス側コネクタ)である。上記一体型装置または本体装置2単体をクレードルに載置した場合、ゲームシステム1は、本体装置2が生成して出力する画像を据置型モニタに表示することができる。また、本実施形態においては、クレードルは、載置された上記一体型装置または本体装置2単体を充電する機能を有する。また、クレードルは、ハブ装置(具体的には、USBハブ)の機能を有する。
図4は、左コントローラ3の一例を示す六面図である。図4に示すように、左コントローラ3は、ハウジング31を備える。本実施形態においては、ハウジング31は、縦長の形状、すなわち、上下方向(すなわち、図1および図4に示すy軸方向)に長い形状である。左コントローラ3は、本体装置2から外された状態において、縦長となる向きで把持されることも可能である。ハウジング31は、縦長となる向きで把持される場合に片手、特に左手で把持可能な形状および大きさをしている。また、左コントローラ3は、横長となる向きで把持されることも可能である。左コントローラ3が横長となる向きで把持される場合には、両手で把持されるようにしてもよい。
左コントローラ3は、アナログスティック32を備える。図4に示すように、アナログスティック32は、ハウジング31の主面に設けられる。アナログスティック32は、方向を入力することが可能な方向入力部として用いることができる。ユーザは、アナログスティック32を傾倒することによって傾倒方向に応じた方向の入力(および、傾倒した角度に応じた大きさの入力)が可能である。なお、左コントローラ3は、方向入力部として、アナログスティックに代えて、十字キーまたはスライド入力が可能なスライドスティック等を備えるようにしてもよい。また、本実施形態においては、アナログスティック32を押下する入力が可能である。
左コントローラ3は、各種操作ボタンを備える。左コントローラ3は、ハウジング31の主面上に4つの操作ボタン33~36(具体的には、右方向ボタン33、下方向ボタン34、上方向ボタン35、および左方向ボタン36)を備える。さらに、左コントローラ3は、録画ボタン37および-(マイナス)ボタン47を備える。左コントローラ3は、ハウジング31の側面の左上に第1Lボタン38およびZLボタン39を備える。また、左コントローラ3は、ハウジング31の側面の、本体装置2に装着される際に装着される側の面に第2Lボタン43および第2Rボタン44を備える。これらの操作ボタンは、本体装置2で実行される各種プログラム(例えば、OSプログラムやアプリケーションプログラム)に応じた指示を行うために用いられる。
また、左コントローラ3は、左コントローラ3が本体装置2と有線通信を行うための端子42を備える。
図5は、右コントローラ4の一例を示す六面図である。図5に示すように、右コントローラ4は、ハウジング51を備える。本実施形態においては、ハウジング51は、縦長の形状、すなわち、上下方向に長い形状である。右コントローラ4は、本体装置2から外された状態において、縦長となる向きで把持されることも可能である。ハウジング51は、縦長となる向きで把持される場合に片手、特に右手で把持可能な形状および大きさをしている。また、右コントローラ4は、横長となる向きで把持されることも可能である。右コントローラ4が横長となる向きで把持される場合には、両手で把持されるようにしてもよい。
右コントローラ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の側面の右上に第1Rボタン60およびZRボタン61を備える。また、右コントローラ4は、左コントローラ3と同様、第2Lボタン65および第2Rボタン66を備える。
また、右コントローラ4は、右コントローラ4が本体装置2と有線通信を行うための端子64を備える。
図6は、本体装置2の内部構成の一例を示すブロック図である。本体装置2は、図3に示す構成の他、図6に示す各構成要素81~91、97、および98を備える。これらの構成要素81~91、97、および98のいくつかは、電子部品として電子回路基板上に実装されてハウジング11内に収納されてもよい。
本体装置2は、プロセッサ81を備える。プロセッサ81は、本体装置2において実行される各種の情報処理を実行する情報処理部であって、例えば、CPU(Central Processing Unit)のみから構成されてもよいし、CPU機能、GPU(Graphics Processing Unit)機能等の複数の機能を含むSoC(System-on-a-chip)から構成されてもよい。プロセッサ81は、記憶部(具体的には、フラッシュメモリ84等の内部記憶媒体、あるいは、スロット23に装着される外部記憶媒体等)に記憶される情報処理プログラム(例えば、ゲームプログラム)を実行することによって、各種の情報処理を実行する。
本体装置2は、自身に内蔵される内部記憶媒体の一例として、フラッシュメモリ84およびDRAM(Dynamic Random Access Memory)85を備える。フラッシュメモリ84およびDRAM85は、プロセッサ81に接続される。フラッシュメモリ84は、主に、本体装置2に保存される各種のデータ(プログラムであってもよい)を記憶するために用いられるメモリである。DRAM85は、情報処理において用いられる各種のデータを一時的に記憶するために用いられるメモリである。
本体装置2は、スロットインターフェース(以下、「I/F」と略記する。)91を備える。スロットI/F91は、プロセッサ81に接続される。スロットI/F91は、スロット23に接続され、スロット23に装着された所定の種類の記憶媒体(例えば、専用メモリカード)に対するデータの読み出しおよび書き込みを、プロセッサ81の指示に応じて行う。
プロセッサ81は、フラッシュメモリ84およびDRAM85、ならびに上記各記憶媒体との間でデータを適宜読み出したり書き込んだりして、上記の情報処理を実行する。
本体装置2は、ネットワーク通信部82を備える。ネットワーク通信部82は、プロセッサ81に接続される。ネットワーク通信部82は、ネットワークを介して外部の装置と通信(具体的には、無線通信)を行う。本実施形態においては、ネットワーク通信部82は、第1の通信態様としてWi-Fiの規格に準拠した方式により、無線LANに接続して外部装置と通信を行う。また、ネットワーク通信部82は、第2の通信態様として所定の通信方式(例えば、独自プロトコルによる通信や、赤外線通信)により、同種の他の本体装置2との間で無線通信を行う。なお、上記第2の通信態様による無線通信は、閉ざされたローカルネットワークエリア内に配置された他の本体装置2との間で無線通信可能であり、複数の本体装置2の間で直接通信することによってデータが送受信される、いわゆる「ローカル通信」を可能とする機能を実現する。
本体装置2は、コントローラ通信部83を備える。コントローラ通信部83は、プロセッサ81に接続される。コントローラ通信部83は、左コントローラ3および/または右コントローラ4と無線通信を行う。本体装置2と左コントローラ3および右コントローラ4との通信方式は任意であるが、本実施形態においては、コントローラ通信部83は、左コントローラ3との間および右コントローラ4との間で、Bluetooth(登録商標)の規格に従った通信を行う。
プロセッサ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は、クレードルを介してデータ(例えば、画像データや音声データ)を据置型モニタ等に出力することができる。
ここで、本体装置2は、複数の左コントローラ3と同時に(換言すれば、並行して)通信を行うことができる。また、本体装置2は、複数の右コントローラ4と同時に(換言すれば、並行して)通信を行うことができる。したがって、複数のユーザは、左コントローラ3および右コントローラ4のセットをそれぞれ用いて、本体装置2に対する入力を同時に行うことができる。一例として、第1ユーザが左コントローラ3および右コントローラ4の第1セットを用いて本体装置2に対して入力を行うと同時に、第2ユーザが左コントローラ3および右コントローラ4の第2セットを用いて本体装置2に対して入力を行うことが可能となる。
本体装置2は、タッチパネル13の制御を行う回路であるタッチパネルコントローラ86を備える。タッチパネルコントローラ86は、タッチパネル13とプロセッサ81との間に接続される。タッチパネルコントローラ86は、タッチパネル13からの信号に基づいて、例えばタッチ入力が行われた位置を示すデータを生成して、プロセッサ81へ出力する。
また、ディスプレイ12は、プロセッサ81に接続される。プロセッサ81は、(例えば、上記の情報処理の実行によって)生成した画像および/または外部から取得した画像をディスプレイ12に表示する。
本体装置2は、コーデック回路87およびスピーカ(具体的には、左スピーカおよび右スピーカ)88を備える。コーデック回路87は、スピーカ88および音声入出力端子25に接続されるとともに、プロセッサ81に接続される。コーデック回路87は、スピーカ88および音声入出力端子25に対する音声データの入出力を制御する回路である。
本体装置2は、電力制御部97およびバッテリ98を備える。電力制御部97は、バッテリ98およびプロセッサ81に接続される。また、図示しないが、電力制御部97は、本体装置2の各部(具体的には、バッテリ98の電力の給電を受ける各部、左側端子17、および右側端子21)に接続される。電力制御部97は、プロセッサ81からの指令に基づいて、バッテリ98から上記各部への電力供給を制御する。
また、バッテリ98は、下側端子27に接続される。外部の充電装置(例えば、クレードル)が下側端子27に接続され、下側端子27を介して本体装置2に電力が供給される場合、供給された電力がバッテリ98に充電される。
図7は、本体装置2と左コントローラ3および右コントローラ4との内部構成の一例を示すブロック図である。なお、本体装置2に関する内部構成の詳細については、図6で示しているため図7では省略している。
左コントローラ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(登録商標)の規格に従って行われる。
また、左コントローラ3は、例えばフラッシュメモリ等のメモリ102を備える。通信制御部101は、例えばマイコン(マイクロプロセッサとも言う)で構成され、メモリ102に記憶されるファームウェアを実行することによって各種の処理を実行する。
左コントローラ3は、各ボタン103(具体的には、ボタン33~39、43、44、および47)を備える。また、左コントローラ3は、アナログスティック(図7では「スティック」と記載する)32を備える。各ボタン103およびアナログスティック32は、自身に対して行われた操作に関する情報を、適宜のタイミングで繰り返し通信制御部101へ出力する。
通信制御部101は、各入力部(具体的には、各ボタン103、アナログスティック32、各センサ104および105)から、入力に関する情報(具体的には、操作に関する情報、またはセンサによる検出結果)を取得する。通信制御部101は、取得した情報(または取得した情報に所定の加工を行った情報)を含む操作データを本体装置2へ送信する。なお、操作データは、所定時間に1回の割合で繰り返し送信される。なお、入力に関する情報が本体装置2へ送信される間隔は、各入力部について同じであってもよいし、同じでなくてもよい。
上記操作データが本体装置2へ送信されることによって、本体装置2は、左コントローラ3に対して行われた入力を得ることができる。すなわち、本体装置2は、各ボタン103およびアナログスティック32に対する操作を、操作データに基づいて判別することができる。
左コントローラ3は、電力供給部108を備える。本実施形態において、電力供給部108は、バッテリおよび電力制御回路を有する。図示しないが、電力制御回路は、バッテリに接続されるとともに、左コントローラ3の各部(具体的には、バッテリの電力の給電を受ける各部)に接続される。
図7に示すように、右コントローラ4は、本体装置2との間で通信を行う通信制御部111を備える。また、右コントローラ4は、通信制御部111に接続されるメモリ112を備える。通信制御部111は、端子64を含む各構成要素に接続される。通信制御部111およびメモリ112は、左コントローラ3の通信制御部101およびメモリ102と同様の機能を有する。したがって、通信制御部111は、端子64を介した有線通信と、端子64を介さない無線通信(具体的には、Bluetooth(登録商標)の規格に従った通信)との両方で本体装置2と通信を行うことが可能であり、右コントローラ4が本体装置2に対して行う通信方法を制御する。
右コントローラ4は、左コントローラ3の各入力部と同様の各入力部を備える。具体的には、右コントローラ4は、各ボタン113およびアナログスティック52を備える。これらの各入力部については、左コントローラ3の各入力部と同様の機能を有し、同様に動作する。
右コントローラ4は、処理部121を備える。処理部121は、通信制御部111に接続される。
右コントローラ4は、電力供給部118を備える。電力供給部118は、左コントローラ3の電力供給部108と同様の機能を有し、同様に動作する。
以上に説明したように、本実施形態におけるゲームシステム1については左コントローラ3および右コントローラ4が本体装置2から着脱可能である。また、クレードルに左コントローラ3および右コントローラ4が本体装置2に装着された一体型装置や本体装置2単体を装着することによって据置型モニタ等の外部表示装置に画像(および音声)を出力可能である。以下、左コントローラ3および右コントローラ4が本体装置2に装着された一体型装置の利用態様におけるゲームシステム1を用いて説明する。
このように、一体型装置となったゲームシステム1における左コントローラ3および/または右コントローラ4の各操作ボタンやスティックの操作、あるいは本体装置2のタッチパネル13に対するタッチ操作等に応じて、ディスプレイ12に表示される仮想空間を用いたゲームがプレイされる。本実施例では、一例として、上記操作ボタン、スティック、およびタッチパネル13を用いたユーザ操作に応じて、仮想空間内におけるプレイヤオブジェクトや仮想空間内に配置された敵オブジェクト等の各オブジェクトを用いたゲームのプレイが可能となる。
図8~図11を用いてゲームシステム1において行われるゲーム処理の概要について説明する。なお、図8は、本体装置2のディスプレイ12に表示される通常モードにおけるゲーム画像の例を示す図である。図9は、敵ボスオブジェクトBOからの攻撃が行われる敵ボス攻撃モードにおけるゲーム画像の例を示す図である。図10は、敵ボス攻撃モードが終了する際のゲーム画像の例を示す図である。図11は、プレイヤオブジェクトPOが敵ボスオブジェクトBOに対して攻撃可能となる状態におけるゲーム画像の例を示す図である。
図8において、ゲームシステム1のディスプレイ12には、仮想空間にプレイヤオブジェクトPOや他の仮想オブジェクトが配置されたゲーム画像が表示されている。例えば、図8は、プレイヤオブジェクトPOがユーザ操作に応じて仮想空間内を移動しながら探索する通常モードにおけるゲーム画像を示している。一例として、プレイヤオブジェクトPOは、獲得目標となる目的オブジェクトTO(例えば、コイン)を仮想空間内において探索して獲得すること目的として移動し、当該目的オブジェクトTOの獲得数に応じた能力を取得したり、イベントを発生させたりすることができる。なお、本ゲーム例においては、仮想空間においてプレイヤオブジェクトPOが移動可能な範囲が定められており、当該範囲に応じて獲得可能な目的オブジェクトTOの数が設定される。そして、プレイヤオブジェクトPOが所定のイベントをクリアする(例えば、敵ボスオブジェクトBOを撃破して倒す)ことによって移動可能な範囲が拡大され、これにより獲得可能な目的オブジェクトTOの数が増加する。また、通常モードでは、プレイヤオブジェクトPOが敵ボスオブジェクトBOに対して攻撃可能となった場合に、仮想空間における敵ボスオブジェクトBOをプレイヤオブジェクトPOが攻撃することができ、目的オブジェクトTOの獲得数に応じて攻撃可能となる能力をプレイヤオブジェクトPOが得ることができる。さらに、後述する敵ボス攻撃モードでは、当該敵ボス攻撃モード中に目的オブジェクトTOをプレイヤオブジェクトPOが所定の必要数獲得することによって、当該敵ボス攻撃モードを終了させることができる。なお、上記通常モードが、第1モードの一例に相当する。
上記通常モードにおいて、第1の時間が経過した場合、敵ボス攻撃モードに切り替えられる。そして、敵ボス攻撃モードで第2の時間が経過すると、通常モードに戻る。ここで、敵ボス攻撃モードは、敵ボスオブジェクトBOからの攻撃が行われるゲームモードであり、通常モードと同じゲームステージが用いられてゲームがプレイされ、モードが切り替えられることを契機としてプレイヤオブジェクトPOの位置が変化することはない。すなわち、通常モードから敵ボス攻撃モードに切り替えられたとしても、プレイヤオブジェクトPOは、別の専用ステージに移動するわけではない。一例として、敵ボス攻撃モードは、上記通常モードにおいて第1の時間(例えば、6分間)が経過する毎に当該通常モードから切り替えられる。そして、敵ボス攻撃モードに切り替えられた後、第2の時間(例えば、1分間)が経過することによって当該敵ボス攻撃モードが終了して通常モードに復帰する。なお、敵ボス攻撃モードにおいては、プレイヤオブジェクトPOが接触するとダメージを受ける攻撃オブジェクト(例えば、上空から落下する隕石オブジェクト)が仮想空間のフィールドに追加されて移動することによって、プレイヤオブジェクトPOに対する敵ボスオブジェクトBOによる攻撃が行われてもよい。この場合、敵ボス攻撃モードにおいて、プレイヤオブジェクトPOは、敵ボスオブジェクトBOからだけでなく、上記攻撃オブジェクトからの攻撃を受けることになるため、通常モードと比較してプレイヤオブジェクトPOを攻撃対象とするオブジェクトが増加して出現するゲームフィールドとなる。なお、敵ボスオブジェクトBOが、第1の敵オブジェクトの一例に相当する。また、上記敵ボス攻撃モードが、第2モードの一例に相当する。
なお、上述した説明では、通常モードと敵ボス攻撃モードとにおいて、同じゲームステージが用いられ、通常モードから敵ボス攻撃モードに切り替えられたとしても、プレイヤオブジェクトPOが別の専用ステージに移動しない例を用いたが、それぞれ異なるゲームステージが用いられてもよい。例えば、通常モードから敵ボス攻撃モードに切り替えられた場合、当該敵ボス攻撃モードで用いられる専用ステージに移ってゲームが進められてもよい。
図9に示すように、敵ボス攻撃モードでは、仮想空間に敵ボスオブジェクトBOが登場し、プレイヤオブジェクトPOが敵ボスオブジェクトBOから攻撃される。そして、プレイヤオブジェクトPOは、敵ボスオブジェクトBOからの攻撃を受けることによってプレイヤオブジェクトPOのライフ値が所定量削られ、当該ライフ値が0となることによってプレイヤオブジェクトPOが敵ボスオブジェクトBOに敗北してゲームオーバーとなることがある。一方、敵ボスオブジェクトBOにもライフ値が設定されており、現時点の敵ボスオブジェクトBOのライフ値を示すゲージGが表示される。そして、敵ボスオブジェクトBOもライフ値が0となることによってプレイヤオブジェクトPOに敗北して仮想空間から一時的に消滅する。なお、敵ボス攻撃モードにおいても、プレイヤオブジェクトPOが攻撃可能状態になるまでは敵ボスオブジェクトBOを攻撃できない。
なお、通常モードおよび敵ボス攻撃モードの両方のモードにおいて、敵ボスオブジェクトBOとは異なる敵オブジェクトが仮想空間に出現してもよい。上記敵オブジェクトもプレイヤオブジェクトPOを攻撃対象として行動するが、プレイヤオブジェクトPOが攻撃可能状態になるまでは、当該敵オブジェクトに対してもプレイヤオブジェクトPOが攻撃できないように設定してもよい。
本実施例では、敵ボス攻撃モードから通常モードに復帰させる複数の切替条件があり、何れの切替条件が満たされた場合であっても敵ボス攻撃モードから通常モードに切り替えられる。
第1の切替条件は、上記敵ボス攻撃モード開始後、第2の時間が経過することによって当該敵ボス攻撃モードが終了して敵ボスオブジェクトBOが仮想空間から一時的に退場して、再度通常モードに復帰する。
第2の切替条件は、上記敵ボス攻撃モード中にプレイヤオブジェクトPOが目的オブジェクトTO(図9参照)を上記第2の時間が経過する前に所定の必要数(例えば、1個)獲得することにより、当該敵ボス攻撃モードが終了して敵ボスオブジェクトBOが仮想空間から一時的に退場して、再度通常モードに復帰する。ここで、図10に示すように、第2の切替条件が満たされることによって敵ボス攻撃モードが終了する場合、当該敵ボス攻撃モードが終了する際、仮想空間から退場する敵ボスオブジェクトBOに対してダメージが与えられる。例えば、仮想空間に配置されている設置オブジェクトAOが退場する敵ボスオブジェクトBOを攻撃することによって、所定量のダメージが敵ボスオブジェクトBOに与えられる。この設置オブジェクトAOによる攻撃によって、敵ボスオブジェクトBOのライフ値も所定量削られるため、ゲージGが示す敵ボスオブジェクトBOのライフ値も所定量減少することになる。なお、設置オブジェクトAOによる攻撃によって削られる敵ボスオブジェクトBOのライフ値の大きさは、後述するプレイヤオブジェクトPOによる攻撃によって削られる敵ボスオブジェクトBOのライフ値の大きさよりも相対的に小さくしてもよい。また、第2の切替条件が満たされることによって敵ボス攻撃モードが終了する際の設置オブジェクトAOによる攻撃によって敵ボスオブジェクトBOに対してダメージが与えられなくてもよいし、設置オブジェクトAO等による攻撃が敵ボスオブジェクトBOに対して行われなくてもよい。なお、敵ボス攻撃モードから通常モードに復帰させるために獲得が必要な目的オブジェクトTOの数が、第2の必要数の一例に相当する。また、設置オブジェクトAOによる敵ボスオブジェクトBOに対する攻撃が、第2の攻撃の一例に相当する。
なお、上述したように、第1の切替条件および第2の切替条件の何れを満たした場合でも、敵ボス攻撃モードから通常モードに切り替えられると仮想空間から敵ボスオブジェクトBOが退場する。つまり、ユーザは、敵ボスオブジェクトBOをプレイヤオブジェクトPOによって攻撃するためには、敵ボスオブジェクトBOが攻撃可能となる敵ボス攻撃モードに切り替えられることを待つ必要がある。また、敵ボス攻撃モードにおいて出現する敵ボスオブジェクトBOを攻撃するためには、当該敵ボス攻撃モード中に敵ボスオブジェクトBOを攻撃する能力をプレイヤオブジェクトPOが有する必要がある。したがって、敵ボス攻撃モード中に敵ボスオブジェクトBOを攻撃する能力をプレイヤオブジェクトPOが有するために、目的オブジェクトTOを当該敵ボス攻撃モード中または当該敵ボス攻撃モード直前において獲得する価値が向上する。
通常モードおよび/または敵ボス攻撃モード中にプレイヤオブジェクトPOが目的オブジェクトTOを所定の必要数獲得することにより、敵ボスオブジェクトBOを含む敵オブジェクトを攻撃する能力がプレイヤオブジェクトPOに付与される。例えば、敵オブジェクトを攻撃する能力がプレイヤオブジェクトPOに付与されるための目的オブジェクトTOの必要数は、敵ボス攻撃モードを終了させるための上記必要数(第2の切替条件において設定される目的オブジェクトTOの必要数)より多くてもよい。一例として、敵オブジェクトを攻撃する能力がプレイヤオブジェクトPOに付与されるための目的オブジェクトTOの必要数は、漸増的に増えてもよく、プレイヤオブジェクトPOが上記能力を得る毎に、5個、15個、25個…のように必要数が増えてもよい。また、敵オブジェクトを攻撃する能力がプレイヤオブジェクトPOに付与される態様は、様々な演出によるものでもよく、プレイヤオブジェクトPOが巨大化する、プレイヤオブジェクトPOに武器が付与される、プレイヤオブジェクトPOの仲間が増える等の演出によって敵オブジェクトを攻撃する能力がプレイヤオブジェクトPOに付与されてもよい。なお、敵オブジェクトを攻撃する能力がプレイヤオブジェクトPOに付与されるための目的オブジェクトTOの必要数が、第1の必要数の一例に相当する。また、敵ボスオブジェクトBOを少なくとも含む敵オブジェクトを攻撃する能力がプレイヤオブジェクトPOに付与された状態(敵ボス攻撃可能状態)でプレイされるゲームモードが、第3モードの一例に相当する。
図11に示すように、敵ボス攻撃モード中に敵ボスオブジェクトBOを少なくとも攻撃する能力がプレイヤオブジェクトPOに付与された場合(敵ボス攻撃可能状態)、または敵攻撃可能状態が通常モードから敵ボス攻撃モード中まで継続している場合、プレイヤオブジェクトPOは、ユーザ操作に応じて当該能力を用いて敵ボスオブジェクトBOを攻撃することができる。例えば、敵ボス攻撃モード中にプレイヤオブジェクトPOが敵ボスオブジェクトBOを攻撃することによって、所定量のダメージが敵ボスオブジェクトBOに与えられる。このプレイヤオブジェクトPOによる攻撃によって、敵ボスオブジェクトBOのライフ値も所定量削られるため、ゲージGが示す敵ボスオブジェクトBOのライフ値も所定量減少することになる。そして、プレイヤオブジェクトPOによる攻撃によって、敵ボス攻撃モード中に敵ボスオブジェクトBOのライフ値が0となった場合、敵ボスオブジェクトBOが撃破されることによって倒されて当該敵ボス攻撃モードが終了する。なお、プレイヤオブジェクトPOによる敵ボスオブジェクトBOに対する攻撃が、第1の攻撃の一例に相当する。
このように、プレイヤオブジェクトPOによる攻撃によって、敵ボスオブジェクトBOが倒されて当該敵ボス攻撃モードが終了した場合、仮想空間においてプレイヤオブジェクトPOが移動可能な範囲が拡大される。また、敵ボス攻撃モード終了時における設置オブジェクトAOの攻撃によって、敵ボスオブジェクトBOが倒された場合も、仮想空間においてプレイヤオブジェクトPOが移動可能な範囲が拡大されてもよい。何れの場合であっても、プレイヤオブジェクトPOが移動可能な範囲が拡大されることによって、プレイヤオブジェクトPOが到達可能な目的オブジェクトTOの獲得可能場所を増やすことができるため、結果的に仮想空間においてプレイヤオブジェクトPOが獲得可能な目的オブジェクトTOの数を増加させることができる。
なお、仮想空間においてプレイヤオブジェクトPOが移動可能な範囲を拡大させる、すなわち仮想空間においてプレイヤオブジェクトPOが獲得可能な目的オブジェクトTOの数を増加させるタイミングは、敵ボスオブジェクトBOが倒されるとともに敵ボス攻撃モードが終了するタイミングでなくてもよい。例えば、敵ボスオブジェクトBOが倒されておらず、まだ仮想空間で活動可能な状態であっても、敵ボス攻撃モード中に敵ボスオブジェクトBOのライフ値が0より大きい所定の値まで低下することに応じて、プレイヤオブジェクトPOが獲得可能な目的オブジェクトTOの数を増加させてもかまわない。
また、プレイヤオブジェクトPOや設置オブジェクトAOによる攻撃により敵ボスオブジェクトBOが倒されても、敵ボスオブジェクトBOを再度復活させて仮想空間に登場可能にしてもよい。例えば、敵ボスオブジェクトBOを再度復活させて登場させる敵ボス攻撃モードに切り替えるタイミングは、上述した通常周期である第1の時間(例えば、6分間)より長い時間経過を必要としてもよく、一例として敵ボスオブジェクトBOが倒された敵ボス攻撃モードの終了から第3の時間(例えば、10分間)の経過することによって敵ボスオブジェクトBOを再度復活させて登場させる敵ボス攻撃モードに切り替えられてもよい。この場合、敵ボスオブジェクトBOを再度復活させて登場させた後に、さらに次の敵ボス攻撃モードに切り替えるタイミングは、上記第1の時間の経過毎に戻して切り替えられてもかまわない。
なお、敵ボスオブジェクトBOが倒されることによって敵ボス攻撃モードが終了した場合に、仮想空間においてプレイヤオブジェクトPOが獲得可能な目的オブジェクトTOの数が他の方法によって増加してもかまわない。第1の例として、プレイヤオブジェクトPOが倒すことによって目的オブジェクトTOをドロップする敵オブジェクトが、新たに仮想空間に出現してもかまわない。第2の例として、プレイヤオブジェクトPOが移動可能な範囲内に目的オブジェクトTOの獲得可能な場所が新たに追加されてもかまわない。第3の例として、プレイヤオブジェクトPOに目的オブジェクトTOを譲渡するノンプレイヤオブジェクトが仮想空間に新たに登場してもかまわない。第4の例として、プレイヤオブジェクトPOが目的オブジェクトTOを取得可能なミニゲーム(クエスト)が実行可能になってもかまわない。
また、敵ボス攻撃モードにおける敵ボスオブジェクトBOの攻撃によって、プレイヤオブジェクトPOが獲得可能な目的オブジェクトTOが設定されていてもよい。一例として、敵ボスオブジェクトBOによるプレイヤオブジェクトPOに対する攻撃によって、仮想空間内の他のオブジェクト(例えば、ブロックオブジェクト)が破壊されることにより、当該他のオブジェクト内から目的オブジェクトTOが出現してもよい。これによって、敵ボス攻撃モードにおいて、(例えば、敵ボスオブジェクトBOによる攻撃を避けるために)プレイヤオブジェクトPOを動かす動機づけを持たせることができる。
また、上述した実施例では、敵ボスオブジェクトBOのライフ値が0となった場合に敵ボスオブジェクトBOが倒される例を用いている。ここで、敵ボスオブジェクトBOのライフ値は、プレイヤオブジェクトPOによる攻撃や設置オブジェクトAOによる攻撃によって、所定量削られるものであってもよい。この場合、敵ボスオブジェクトBOのライフ値が0となることは、当該ライフ値が0とするための攻撃量を敵ボスオブジェクトBOに対する攻撃の蓄積量が超えることを意味している。つまり、敵ボスオブジェクトBOに対する攻撃の蓄積量が所定量を超えると、敵ボスオブジェクトBOが倒されることになる。なお、敵ボスオブジェクトBOに対する攻撃の蓄積量は、敵ボス攻撃モードが終了したとしても、当該終了時点の攻撃の蓄積量が次の敵ボス攻撃モードの開始時点においても維持(すなわち、ライフ値が維持)されてもよいし、所定量減少(すなわち、ライフ値が所定量復活)するものであってもよい。
次に、図12~図15を参照して、本実施例においてゲームシステム1で実行される具体的な処理の一例について説明する。図12は、本実施例において本体装置2のDRAM85に設定されるデータ領域の一例を示す図である。なお、DRAM85には、図12に示すデータの他、他の処理で用いられるデータも記憶されるが、詳細な説明を省略する。
DRAM85のプログラム記憶領域には、ゲームシステム1で実行される各種プログラムPaが記憶される。本実施例においては、各種プログラムPaは、左コントローラ3および/または右コントローラ4や本体装置2から取得したデータに基づいた情報処理を行うためのアプリケーションプログラム(例えば、ゲームプログラム)等が記憶される。なお、各種プログラムPaは、フラッシュメモリ84に予め記憶されていてもよいし、ゲームシステム1に着脱可能な記憶媒体(例えば、スロット23に装着された所定の種類の記憶媒体)から取得されてDRAM85に記憶されてもよいし、インターネット等のネットワークを介して他の装置から取得されてDRAM85に記憶されてもよい。プロセッサ81は、DRAM85に記憶された各種プログラムPaを実行する。
また、DRAM85のデータ記憶領域には、ゲームシステム1において実行される情報処理等の処理において用いられる各種のデータが記憶される。本実施形態においては、DRAM85には、操作データDa、プレイヤオブジェクトデータDb、敵ボスオブジェクトデータDc、ゲーム時間データDd、攻撃周期データDe、目的オブジェクト取得数データDf、オブジェクトデータDg、攻撃フラグデータDh、移動可能範囲データDi、および画像データDj等が記憶される。
操作データDaは、左コントローラ3および/または右コントローラ4や本体装置2からそれぞれ適宜取得した操作データである。上述したように、左コントローラ3および/または右コントローラ4や本体装置2からそれぞれ取得される操作データには、各入力部(具体的には、各ボタン、アナログスティック、タッチパネル)からの入力に関する情報(具体的には、操作に関する情報)が含まれている。本実施例では、左コントローラ3および/または右コントローラ4や本体装置2からそれぞれ操作データを取得しており、当該取得した操作データを用いて操作データDaが適宜更新される。なお、操作データDaの更新周期は、後述するゲームシステム1で実行される処理の周期である1フレーム毎に更新されてもよいし、上記操作データが取得される周期毎に更新されてもよい。
プレイヤオブジェクトデータDbは、仮想空間に配置されているプレイヤオブジェクトの配置位置および配置姿勢や、仮想空間における動作や状態等を示すデータである。敵ボスオブジェクトデータDcは、仮想空間に配置されている敵ボスオブジェクトの配置位置および配置姿勢や、仮想空間における動作や状態等を示すデータである。
ゲーム時間データDdは、ゲーム開始からの経過時間を示すデータである。攻撃周期データDeは、敵ボス攻撃モードが行われる周期(具体的には、次の敵ボス攻撃モードを開始および終了するゲーム時間)を示すデータである。
目的オブジェクト取得数データDfは、プレイヤオブジェクトが取得した目的オブジェクトの数を示すデータである。
オブジェクトデータDgは、仮想空間にそれぞれ配置されている配置オブジェクト等のオブジェクト毎のオブジェクトの種別、配置位置、配置姿勢、および配置状態等を示すデータである。
攻撃フラグデータDhは、プレイヤオブジェクトが敵ボスオブジェクト等の敵オブジェクトを攻撃可能な状態である場合にオンに設定される攻撃フラグを示すデータである。
移動可能範囲データDiは、仮想空間においてプレイヤオブジェクトが移動可能な範囲を示すデータである。
画像データDjは、表示画面(例えば、本体装置2のディスプレイ12)に画像(例えば、プレイヤオブジェクトの画像、敵ボスオブジェクトの画像、他の敵オブジェクトの画像、配置オブジェクト等の他のオブジェクトの画像、仮想空間の画像、背景画像等)を表示するためのデータである。
次に、図13~図15を参照して、本実施例における情報処理の詳細な一例を説明する。図13は、ゲームシステム1で実行される情報処理の一例を示すフローチャートである。図14は、図13におけるステップS125において行われる通常モード処理の詳細な一例を示すサブルーチンである。図15は、図13におけるステップS126において行われる敵ボス攻撃モード処理の詳細な一例を示すサブルーチンである。本実施例においては、図13~図15に示す一連の処理は、プロセッサ81が各種プログラムPaに含まれる所定のアプリケーションプログラム(ゲームプログラム)を実行することによって行われる。また、図13~図15に示す情報処理が開始されるタイミングは任意である。
なお、図13~図15に示すフローチャートにおける各ステップの処理は、単なる一例に過ぎず、同様の結果が得られるのであれば、各ステップの処理順序を入れ替えてもよいし、各ステップの処理に加えて(または代えて)別の処理が実行されてもよい。また、本実施形態では、上記フローチャートの各ステップの処理をプロセッサ81が実行するものとして説明するが、上記フローチャートにおける一部のステップの処理を、プロセッサ81以外のプロセッサや専用回路が実行するようにしてもよい。また、本体装置2において実行される処理の一部は、本体装置2と通信可能な他の情報処理装置(例えば、本体装置2とネットワークを介して通信可能なサーバ)によって実行されてもよい。すなわち、図13~図15に示す各処理は、本体装置2を含む複数の情報処理装置が協働することによって実行されてもよい。
図13において、プロセッサ81は、情報処理における初期設定を行い(ステップS121)、次のステップに処理を進める。例えば、上記初期設定では、プロセッサ81は、以下に説明する処理を行うためのパラメータを初期化する。例えば、プロセッサ81は、予め設定されている仮想空間の設定に基づいて、プレイヤオブジェクトや他のオブジェクトを仮想空間に初期配置して、プレイヤオブジェクトデータDbおよびオブジェクトデータDgを初期設定する。また、プロセッサ81は、敵ボスオブジェクトが仮想空間に配置されていない未活動状態にして、敵ボスオブジェクトデータDcを更新する。また、プロセッサ81は、ゲーム時間を0に初期化して、ゲーム時間データDdを更新する。また、プロセッサ81は、次の敵ボス攻撃モードを開始するゲーム時間と当該敵ボス攻撃モードを終了するゲーム時間とを通常周期による経過時間に設定して、攻撃周期データDeを更新する。また、プロセッサ81は、仮想空間においてプレイヤオブジェクトが移動可能な範囲をデフォルトの範囲、または前回のゲームがプレイされた際に設定されている範囲に設定して、移動可能範囲データDiを更新する。
次に、プロセッサ81は、左コントローラ3、右コントローラ4、および/または本体装置2から操作データを取得して操作データDaを更新し(ステップS122)、次のステップに処理を進める。
次に、プロセッサ81は、ゲーム時間を更新して(ステップS123)、次のステップに処理を進める。例えば、プロセッサ81は、経過時間に基づいて、ゲーム時間データDdが示すゲーム時間を更新する。
次に、プロセッサ81は、現時点が敵ボス攻撃モードの期間内であるか否かを判定する(ステップS124)。例えば、プロセッサ81は、ゲーム時間データDdが示すゲーム時間に基づいて、上記ステップS124における判定を行う。そして、プロセッサ81は、現時点が敵ボス攻撃モードの期間内である場合、ステップS126に処理を進める。一方、プロセッサ81は、現時点が敵ボス攻撃モードの期間内ではない場合、ステップS125に処理を進める。なお、第2モード切替手段は、第1の時間の経過に応じて、ゲームモードを、仮想空間において第1の敵オブジェクトによってプレイヤオブジェクトに対して攻撃が行われない第1モードから、当該仮想空間において当該第1の敵オブジェクトによって当該プレイヤオブジェクトに対して攻撃が行われる第2モードに切り替える処理を行うものであり、一例としてステップS124の処理を行うプロセッサ81に相当する。
ステップS125において、プロセッサ81は、通常モードによるゲーム処理を行い、ステップS127に処理を進める。以下、図14を参照して、上記ステップS125において行われる通常モードによるゲーム処理について説明する。
図14において、プロセッサ81は、プレイヤオブジェクトPOに攻撃能力を付与するか否かを判定する(ステップS131)。例えば、プロセッサ81は、敵オブジェクトを攻撃する能力がプレイヤオブジェクトPOに付与されるための目的オブジェクトTOの必要数に、目的オブジェクト取得数データDfが示す目的オブジェクトTOの取得数が現時点において到達した場合、上記ステップS131において肯定判定する。そして、プロセッサ81は、プレイヤオブジェクトPOに攻撃能力を付与する場合、ステップS132に処理を進める。一方、プロセッサ81は、プレイヤオブジェクトPOに攻撃能力を付与しない場合や既に攻撃能力が付与されている場合、ステップS133に処理を進める。
ステップS132において、プロセッサ81は、攻撃フラグをオンに設定して、ステップS133に処理を進める。例えば、プロセッサ81は、攻撃フラグデータDhが示す攻撃フラグをオンに設定して攻撃フラグデータDhを更新する。また、プロセッサ81は、敵オブジェクトを攻撃する能力が付与されたことを示す態様にプレイヤオブジェクトPOの状態を変化させ、プレイヤオブジェクトデータDbを更新する。
ステップS133において、プロセッサ81は、プレイヤオブジェクトPOの攻撃能力を喪失させるか否かを判定する。例えば、プロセッサ81は、プレイヤオブジェクトPOに攻撃能力が付与されてから所定の時間が経過した場合やプレイヤオブジェクトPOが敵ボスオブジェクトBOを倒した直後である場合、上記ステップS133において肯定判定する。そして、プロセッサ81は、プレイヤオブジェクトPOの攻撃能力を喪失させる場合、ステップS134に処理を進める。一方、プロセッサ81は、プレイヤオブジェクトPOの攻撃能力を喪失させない場合や既に攻撃能力を有していない場合、ステップS135に処理を進める。
ステップS134において、プロセッサ81は、攻撃フラグをオフに設定して、ステップS135に処理を進める。例えば。プロセッサ81は、攻撃フラグデータDhが示す攻撃フラグをオフに設定して攻撃フラグデータDhを更新する。また、プロセッサ81は、敵オブジェクトを攻撃する能力を喪失したことを示す態様にプレイヤオブジェクトPOの状態を変化させ、プレイヤオブジェクトデータDbを更新する。
ステップS135において、プロセッサ81は、攻撃フラグデータDhを参照して、攻撃フラグがオンであるか否かを判定する。そして、プロセッサ81は、攻撃フラグがオンである場合、ステップS136に処理を進める。一方、プロセッサ81は、攻撃フラグがオフである場合、ステップS137に処理を進める。
ステップS136において、プロセッサ81は、操作データDaに応じて、敵攻撃を可能にした状態でプレイヤオブジェクトPOの動作制御を行い、当該サブルーチンによる処理を終了する。例えば、プロセッサ81は、ステップS122において取得した操作データDaに基づいて、プレイヤオブジェクトPOに攻撃や移動等の動作をさせ、プレイヤオブジェクトデータDbを更新する。また、プロセッサ81は、プレイヤオブジェクトPOの動作および周囲の状態に応じて、プレイヤオブジェクトPOおよび仮想空間における仮想的な物理演算に基づいて、仮想空間に配置されたプレイヤオブジェクトPOを動作させ、プレイヤオブジェクトデータDbを更新する。さらに、プロセッサ81は、プレイヤオブジェクトPOの状態を変化させる状態変化演算に基づいて、敵オブジェクトからの攻撃等に応じてプレイヤオブジェクトPOの状態を変化させ、プレイヤオブジェクトデータDbを更新する。また、プロセッサ81は、プレイヤオブジェクトPOが目的オブジェクトTOを取得した場合、当該取得した数を取得数に加算して目的オブジェクト取得数データDfを更新する。
一方、ステップS137において、プロセッサ81は、操作データDaに応じて、敵攻撃ができない状態でプレイヤオブジェクトPOの動作制御を行い、当該サブルーチンによる処理を終了する。例えば、プロセッサ81は、ステップS122において取得した操作データDaに基づいて、プレイヤオブジェクトPOに攻撃を除く移動等の動作をさせ、プレイヤオブジェクトデータDbを更新する。また、プロセッサ81は、プレイヤオブジェクトPOの動作および周囲の状態に応じて、プレイヤオブジェクトPOおよび仮想空間における仮想的な物理演算に基づいて、仮想空間に配置されたプレイヤオブジェクトPOを動作させ、プレイヤオブジェクトデータDbを更新する。さらに、プロセッサ81は、プレイヤオブジェクトPOの状態を変化させる状態変化演算に基づいて、敵オブジェクトからの攻撃等に応じてプレイヤオブジェクトPOの状態を変化させ、プレイヤオブジェクトデータDbを更新する。また、プロセッサ81は、プレイヤオブジェクトPOが目的オブジェクトTOを取得した場合、当該取得した数を取得数に加算して目的オブジェクト取得数データDfを更新する。なお、ゲーム実行手段は、ゲームモードに応じたゲームを実行する処理を行うものであり、一例としてステップS136およびS137の処理を行うプロセッサ81に相当する。
図13に戻り、現時点が敵ボス攻撃モードの期間内であると判定された場合、プロセッサ81は、敵ボス攻撃モードによるゲーム処理を行い(ステップS126)、ステップS127に処理を進める。以下、図15を参照して、上記ステップS126において行われる敵ボス攻撃モードによるゲーム処理について説明する。
図15において、プロセッサ81は、攻撃フラグデータDhを参照して、攻撃フラグがオンであるか否かを判定する(ステップS140)。そして、プロセッサ81は、攻撃フラグがオンである場合、ステップS141に処理を進める。一方、プロセッサ81は、攻撃フラグがオフである場合、ステップS142に処理を進める。なお、第3モード切替手段は、第1モードおよび/または第2モードにおいて、プレイヤオブジェクトが第1の必要数の目的オブジェクトを獲得すると、ゲームモードを、第1の敵オブジェクトに対するプレイヤオブジェクトによる第1の攻撃を行うことができる第3モードに切り替える処理を行うものであり、一例としてステップS131-S135の処理を行うプロセッサ81に相当する。
ステップS141において、プロセッサ81は、操作データDaに応じて、敵攻撃を可能にした状態でプレイヤオブジェクトPOの動作制御を行い、ステップS143に処理を進める。例えば、プロセッサ81は、ステップS122において取得した操作データDaに基づいて、プレイヤオブジェクトPOに攻撃や移動等の動作をさせ、プレイヤオブジェクトデータDbを更新する。また、プロセッサ81は、プレイヤオブジェクトPOの動作および周囲の状態に応じて、プレイヤオブジェクトPOおよび仮想空間における仮想的な物理演算に基づいて、仮想空間に配置されたプレイヤオブジェクトPOを動作させ、プレイヤオブジェクトデータDbを更新する。さらに、プロセッサ81は、プレイヤオブジェクトPOの状態を変化させる状態変化演算に基づいて、敵ボスオブジェクトBOや他の敵オブジェクトからの攻撃等に応じてプレイヤオブジェクトPOの状態を変化させ、プレイヤオブジェクトデータDbを更新する。また、プロセッサ81は、プレイヤオブジェクトPOが目的オブジェクトTOを取得した場合、当該取得した数を取得数に加算して目的オブジェクト取得数データDfを更新する。
一方、ステップS142において、プロセッサ81は、操作データDaに応じて、敵攻撃ができない状態でプレイヤオブジェクトPOの動作制御を行い、ステップS143に処理を進める。例えば、プロセッサ81は、ステップS122において取得した操作データDaに基づいて、プレイヤオブジェクトPOに攻撃を除いた移動等の動作をさせ、プレイヤオブジェクトデータDbを更新する。また、プロセッサ81は、プレイヤオブジェクトPOの動作および周囲の状態に応じて、プレイヤオブジェクトPOおよび仮想空間における仮想的な物理演算に基づいて、仮想空間に配置されたプレイヤオブジェクトPOを動作させ、プレイヤオブジェクトデータDbを更新する。さらに、プロセッサ81は、プレイヤオブジェクトPOの状態を変化させる状態変化演算に基づいて、敵ボスオブジェクトBOや他の敵オブジェクトからの攻撃等に応じてプレイヤオブジェクトPOの状態を変化させ、プレイヤオブジェクトデータDbを更新する。また、プロセッサ81は、プレイヤオブジェクトPOが目的オブジェクトTOを取得した場合、当該取得した数を取得数に加算して目的オブジェクト取得数データDfを更新する。
ステップS143において、プロセッサ81は、敵ボスオブジェクトBOの動作制御を行い、次のステップに処理を進める。例えば、プレイヤオブジェクトPOの動作、所定の動作アルゴリズム、および仮想空間における仮想的な物理演算に基づいて、仮想空間に配置された敵ボスオブジェクトBOを動作させ、敵ボスオブジェクトデータDcを更新する。また、プロセッサ81は、敵ボスオブジェクトBOの状態やライフ値を変化させる状態変化演算に基づいて、プレイヤオブジェクトPOからの攻撃等に応じて、敵ボスオブジェクトBOの状態やライフ値を変化させ、敵ボスオブジェクトデータDcを更新する。なお、ゲーム実行手段は、ゲームモードに応じたゲームを実行する処理を行うものであり、一例としてステップS141-S143の処理を行うプロセッサ81に相当する。
なお、上記ステップS143において、プレイヤオブジェクトPOが接触するとダメージを受ける攻撃オブジェクトを仮想空間に追加することによって、プレイヤオブジェクトPOに対する敵ボスオブジェクトBOによる攻撃が行われてもかまわない。この場合、プロセッサ81は、仮想空間内に追加される攻撃オブジェクトに応じたデータをオブジェクトデータDgに追加するとともに、当該攻撃オブジェクトを所定の動作アルゴリズムおよび仮想空間における仮想的な物理演算に基づいて仮想空間内で移動させ、オブジェクトデータDgを更新する。
次に、プロセッサ81は、プレイヤオブジェクトPOに攻撃能力を付与するか否かを判定する(ステップS144)。例えば、プロセッサ81は、敵オブジェクトを攻撃する能力がプレイヤオブジェクトPOに付与されるための目的オブジェクトTOの必要数に、目的オブジェクト取得数データDfが示す目的オブジェクトTOの取得数が現時点において到達した場合、上記ステップS144において肯定判定する。そして、プロセッサ81は、プレイヤオブジェクトPOに攻撃能力を付与する場合、ステップS145に処理を進める。一方、プロセッサ81は、プレイヤオブジェクトPOに攻撃能力を付与しない場合や既に攻撃能力が付与されている場合、ステップS146に処理を進める。
ステップS145において、プロセッサ81は、攻撃フラグをオンに設定して、ステップS146に処理を進める。例えば。プロセッサ81は、攻撃フラグデータDhが示す攻撃フラグをオンに設定して攻撃フラグデータDhを更新する。また、プロセッサ81は、敵オブジェクトを攻撃する能力が付与されたことを示す態様にプレイヤオブジェクトPOの状態を変化させ、プレイヤオブジェクトデータDbを更新する。
ステップS146において、プロセッサ81は、プレイヤオブジェクトPOの攻撃能力を喪失させるか否かを判定する。例えば、プロセッサ81は、プレイヤオブジェクトPOに攻撃能力が付与されてから所定の時間が経過した場合、上記ステップS146において肯定判定する。そして、プロセッサ81は、プレイヤオブジェクトPOの攻撃能力を喪失させる場合、ステップS147に処理を進める。一方、プロセッサ81は、プレイヤオブジェクトPOの攻撃能力を喪失させない場合や既に攻撃能力を有していない場合、ステップS148に処理を進める。
ステップS147において、プロセッサ81は、攻撃フラグをオフに設定して、ステップS148に処理を進める。例えば、プロセッサ81は、攻撃フラグデータDhが示す攻撃フラグをオフに設定して攻撃フラグデータDhを更新する。また、プロセッサ81は、敵オブジェクトを攻撃する能力を喪失したことを示す態様にプレイヤオブジェクトPOの状態を変化させ、プレイヤオブジェクトデータDbを更新する。なお、第3モード切替手段は、第1モードおよび/または第2モードにおいて、プレイヤオブジェクトが第1の必要数の目的オブジェクトを獲得すると、ゲームモードを、第1の敵オブジェクトに対するプレイヤオブジェクトによる第1の攻撃を行うことができる第3モードに切り替える処理を行うものであり、一例としてステップS140およびS144-S147の処理を行うプロセッサ81に相当する。
ステップS148において、プロセッサ81は、敵ボス攻撃モードを終了させるか否かを判定する。そして、プロセッサ81は、敵ボス攻撃モードを終了させる場合、ステップS149に処理を進める。一方、プロセッサ81は、敵ボス攻撃モードを終了させない場合、ステップS153に処理を進める。例えば、プロセッサ81は、ゲーム時間データDdが示すゲーム時間が、攻撃周期データDeが示す敵ボス攻撃モードが終了するゲーム時間となった場合、または上記ステップS142においてプレイヤオブジェクトPOが目的オブジェクトTOを取得することによって敵ボス攻撃モードを終了させるための必要数を満たした場合、上記ステップS148において肯定判定する。なお、プロセッサ81は、攻撃フラグがオンに設定されている場合、上記ステップS141またはステップS142においてプレイヤオブジェクトPOが目的オブジェクトTOを取得して敵ボス攻撃モードを終了させるための必要数を満たした場合であっても、上記ステップS148において否定判定してもよい。この場合、プレイヤオブジェクトPOが敵攻撃可能状態である場合は、敵ボス攻撃モードが終了する予定のゲーム時間となるまで敵ボス攻撃モードが継続されることになり、敵ボス攻撃モードを終了させる演出よりプレイヤオブジェクトPOが敵ボスオブジェクトBOを攻撃する演出を優先して行うことができる。なお、第1モード切替手段は、第2モードにおいて、第2の時間が経過する切替条件、および当該第2の時間が経過する前にプレイヤオブジェクトが第1の必要数よりも少ない第2の必要数の目的オブジェクトを獲得する切替条件の何れの切替条件が満たされた場合であっても、ゲームモードを第1モードに切り替える処理を行うものであり、一例としてステップS148の処理を行うプロセッサ81に相当する。
ステップS149において、プロセッサ81は、予定されていた敵ボス攻撃モードの期間が終了することによって当該敵ボス攻撃モードが終了したか否かを判定する。そして、プロセッサ81は、目的オブジェクトTOの必要数を満たすことによって敵ボス攻撃モードが終了した場合、ステップS150に処理を進める。一方、プロセッサ81は、予定されていた敵ボス攻撃モードの期間が終了することによって当該敵ボス攻撃モードが終了した場合、ステップS152に処理を進める。
ステップS150において、プロセッサ81は、設置オブジェクトAOによる攻撃処理を行って、次のステップに処理を進める。例えば、プロセッサ81は、仮想空間に配置されている設置オブジェクトAOによって敵ボスオブジェクトBOを攻撃させる演出を行うための制御を行い、当該攻撃による動作および状態に基づいて、敵ボスオブジェクトデータDcおよびオブジェクトデータDgを更新する。一例として、プロセッサ81は、敵ボスオブジェクトBOの状態やライフ値を変化させる状態変化演算に基づいて、上記攻撃によって敵ボスオブジェクトBOの状態やライフ値を変化させ、敵ボスオブジェクトデータDcを更新する。なお、ゲーム実行手段は、ゲームモードに応じたゲームを実行する処理を行うものであり、一例としてステップS150の処理を行うプロセッサ81に相当する。
次に、プロセッサ81は、上記ステップS150における設置オブジェクトAOの攻撃によって敵ボスオブジェクトBOが撃破されたか否かを判定する(ステップS151)。例えば、プロセッサ81は、敵ボスオブジェクトデータDcを参照して、上記ステップS150における設置オブジェクトAOの攻撃によって敵ボスオブジェクトBOのライフ値が0となった場合、上記ステップS151において肯定判定する。そして、プロセッサ81は、敵ボスオブジェクトBOが撃破されていない場合、ステップS152に処理を進める。一方、プロセッサ81は、敵ボスオブジェクトBOが撃破された場合、ステップS154に処理を進める。
ステップS152において、プロセッサ81は、通常周期による攻撃周期で次の敵ボス攻撃モードを設定することによって現時点の敵ボス攻撃モードを終了させて、当該サブルーチンによる処理を終了する。例えば、プロセッサ81は、次の敵ボス攻撃モードを開始するゲーム時間と当該敵ボス攻撃モードを終了するゲーム時間とを通常周期による経過時間に設定して、攻撃周期データDeを更新する。また、プロセッサ81は、敵ボス攻撃モードを終了させて次の敵ボス攻撃モードを設定する際、敵ボスオブジェクトBOの仮想空間における活動を停止させて一旦退場させ、敵ボスオブジェクトデータDcを更新する。なお、プロセッサ81は、敵ボス攻撃モードを終了させて次の敵ボス攻撃モードを設定する際、攻撃フラグデータDhが示す攻撃フラグをオフに設定して攻撃フラグデータDhを更新してもよい。これによって、敵ボス攻撃モードの終了することによって、プロセッサ81は、敵オブジェクトを攻撃する能力を喪失したことを示す態様にプレイヤオブジェクトPOの状態を変化させ、プレイヤオブジェクトデータDbを更新する。
一方、ステップS148において敵ボス攻撃モードを終了させないと判定された場合、プロセッサ81は、敵ボスオブジェクトBOが撃破されたか否かを判定する(ステップS153)。そして、プロセッサ81は、敵ボスオブジェクトBOが撃破された場合、ステップS154に処理を進める。一方、プロセッサ81は、敵ボスオブジェクトBOが撃破されていない場合、当該サブルーチンによる処理を終了する。
ステップS154において、プロセッサ81は、敵ボス撃破後周期による攻撃周期で次の敵ボス攻撃モードを設定することによって現時点の敵ボス攻撃モードを終了させて、当該サブルーチンによる処理を終了する。例えば、プロセッサ81は、次の敵ボス攻撃モードを開始するゲーム時間を上記通常周期より長い敵ボス撃破後の周期による経過時間に設定して、攻撃周期データDeを更新する。また、プロセッサ81は、上記開始時間に基づいて、次の敵ボス攻撃モードを終了するゲーム時間を設定して、攻撃周期データDeを更新する。なお、プロセッサ81は、敵ボスオブジェクトBOを撃破して敵ボス攻撃モードを終了させて次の敵ボス攻撃モードを設定する場合も、攻撃フラグデータDhが示す攻撃フラグをオフに設定して攻撃フラグデータDhを更新してもよい。これによって、敵ボスオブジェクトBOを撃破することによって敵ボス攻撃モードの終了する場合も、プロセッサ81は、敵オブジェクトを攻撃する能力を喪失したことを示す態様にプレイヤオブジェクトPOの状態を変化させ、プレイヤオブジェクトデータDbを更新する。
また、上記ステップS154において、プロセッサ81は、敵ボスオブジェクトBOが撃破されることによって、仮想空間においてプレイヤオブジェクトが移動可能な範囲を拡大させてもよい。この場合、プロセッサ81は、上記ステップS154において、仮想空間においてプレイヤオブジェクトが移動可能な範囲を所定の範囲だけ拡大させて新たに設定して、移動可能範囲データDiを更新する。
図13に戻り、ステップS127において、プロセッサ81は、その他の処理を行い、次のステップに処理を進める。例えば、プロセッサ81は、その他の処理の1つとして、プレイヤオブジェクトPOおよび敵ボスオブジェクトBO以外の他のオブジェクトの動作制御を行う。一例として、プロセッサ81は、プレイヤオブジェクトPOの動作、所定の動作アルゴリズム、および仮想空間における仮想的な物理演算に基づいて、仮想空間に配置された敵オブジェクト等のオブジェクトを動作させ、オブジェクトデータDgを更新する。また、プロセッサ81は、敵オブジェクトの状態やライフ値を変化させる状態変化演算に基づいて、プレイヤオブジェクトPOからの攻撃等に応じて敵オブジェクトの状態やライフ値を変化させ、オブジェクトデータDgを更新する。
次に、プロセッサ81は、表示制御処理を行い(ステップS128)、次のステップに処理を進める。例えば、プロセッサ81は、プレイヤオブジェクトデータDb、敵ボスオブジェクトデータDc、およびオブジェクトデータDgに基づいて、移動可能範囲データDiによって規定される仮想空間の範囲内にプレイヤオブジェクトPO、敵ボスオブジェクトBO、配置オブジェクトAO、および目的オブジェクトTO等の各オブジェクトをそれぞれ配置する。また、プロセッサ81は、表示画像を生成するための仮想カメラの位置および/または姿勢を設定し、当該仮想カメラを仮想空間に配置する。そして、設定した仮想カメラから見た仮想空間の画像を生成して、当該仮想空間画像をディスプレイ12に表示する制御を行う。なお、ゲーム実行手段は、ゲームモードに応じたゲームを実行する処理を行うものであり、一例としてステップS127-S128の処理を行うプロセッサ81に相当する。
次に、プロセッサ81は、ゲーム処理を終了するか否かを判定する(ステップS129)。上記ステップS129においてゲーム処理を終了する条件としては、例えば、ゲーム処理が終了される条件が満たされたことや、ユーザがゲーム処理を終了する操作を行ったこと等がある。プロセッサ81は、ゲーム処理を終了しない場合に上記ステップS122に戻って処理を繰り返し、ゲーム処理を終了する場合に当該フローチャートによる処理を終了する。以降、ステップS122~ステップS129の一連の処理は、ステップS129で処理を終了すると判定されるまで繰り返し実行される。
このように、本実施例においては、敵ボスオブジェクトBOからの攻撃をプレイヤオブジェクトPOが受ける敵ボス攻撃モードを、当該敵ボス攻撃モード開始からの時間経過だけでなくプレイヤオブジェクトPOが当該敵ボス攻撃モード中に目的オブジェクトTOを取得することによっても終了させることができるため、当該敵ボス攻撃モード中にプレイヤオブジェクトPOが取り得る行動に多様性を持たせることを可能とする。また、上記時間経過を待たずとも敵ボス攻撃モード中に目的オブジェクトTOを取得することによっても当該敵ボス攻撃モード終了させることができるため、目的オブジェクトTOを取得する動機をユーザにもたらすことができる。
なお、ゲームシステム1は、どのような装置であってもよく、携帯型のゲーム装置、任意の携帯型電子機器(PDA(Personal Digital Assistant)、携帯電話、パーソナルコンピュータ、カメラ、タブレット等)等であってもよい。この場合、プレイヤオブジェクトPOを動作させる操作を行うための入力装置は、左コントローラ3、右コントローラ4、またはタッチパネル13でなくてもよく、別のコントローラ、マウス、タッチパッド、タッチパネル、トラックボール、キーボード、十字キー、スライドパッド等であってもよい。
また、上述した説明では情報処理をゲームシステム1でそれぞれ行う例を用いたが、上記処理ステップの少なくとも一部を他の装置で行ってもかまわない。例えば、ゲームシステム1がさらに他の装置(例えば、別のサーバ、他の画像表示装置、他のゲーム装置、他の携帯端末)と通信可能に構成されている場合、上記処理ステップは、さらに当該他の装置が協働することによって実行してもよい。このように、上記処理ステップの少なくとも一部を他の装置で行うことによって、上述した処理と同様の処理が可能となる。また、上述した情報処理は、少なくとも1つの情報処理装置により構成される情報処理システムに含まれる1つのプロセッサまたは複数のプロセッサ間の協働により実行されることが可能である。また、上記実施例においては、ゲームシステム1のプロセッサ81が所定のプログラムを実行することによって情報処理を行うことが可能であるが、ゲームシステム1が備える専用回路によって上記処理の一部または全部が行われてもよい。
ここで、上述した変形例によれば、いわゆるクラウドコンピューティングのシステム形態や分散型の広域ネットワークおよびローカルネットワークのシステム形態でも本発明を実現することが可能となる。例えば、分散型のローカルネットワークのシステム形態では、据置型の情報処理装置(据置型のゲーム装置)と携帯型の情報処理装置(携帯型のゲーム装置)との間で上記処理を協働により実行することも可能となる。なお、これらのシステム形態では、上述した処理をどの装置で行うかについては特に限定されず、どのような処理分担をしたとしても本発明を実現できることは言うまでもない。
また、上述した情報処理で用いられる処理順序、設定値、判定に用いられる条件等は、単なる一例に過ぎず他の順序、値、条件であっても、本実施例を実現できることは言うまでもない。
また、上記プログラムは、外部メモリ等の外部記憶媒体を通じてゲームシステム1に供給されるだけでなく、有線または無線の通信回線を通じて当該装置に供給されてもよい。また、上記プログラムは、当該装置内部の不揮発性記憶装置に予め記録されていてもよい。なお、上記プログラムを記憶する情報記憶媒体としては、不揮発性メモリの他に、CD-ROM、DVD、あるいはそれらに類する光学式ディスク状記憶媒体、フレキシブルディスク、ハードディスク、光磁気ディスク、磁気テープ、などでもよい。また、上記プログラムを記憶する情報記憶媒体としては、上記プログラムを記憶する揮発性メモリでもよい。このような記憶媒体は、コンピュータ等が読み取り可能な記録媒体ということができる。例えば、コンピュータ等に、これらの記録媒体のプログラムを読み込ませて実行させることにより、上述で説明した各種機能を提供させることができる。
以上、本発明を詳細に説明してきたが、前述の説明はあらゆる点において本発明の例示に過ぎず、その範囲を限定しようとするものではない。本発明の範囲を逸脱することなく種々の改良や変形を行うことができることは言うまでもない。また、当業者は、本発明の具体的な実施例の記載から、本発明の記載および技術常識に基づいて等価な範囲を実施することができることが理解される。また、本明細書において使用される用語は、特に言及しない限り、当該分野で通常用いられる意味で用いられることが理解されるべきである。したがって、他に定義されない限り、本明細書中で使用される全ての専門用語および技術用語は、本発明の属する分野の当業者によって一般的に理解されるのと同じ意味を有する。矛盾する場合、本明細書(定義を含めて)が優先する。