[1.ゲームシステムの構成]
以下、本実施形態の一例に係るゲームシステムについて説明する。本実施形態におけるゲームシステム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~85、87、88、91、97、および98を備える。これらの構成要素81~85、87、88、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に対して入力を行うことが可能となる。
また、ディスプレイ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)から、入力に関する情報(具体的には、操作に関する情報、またはセンサによる検出結果)を取得する。通信制御部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の各入力部と同様の各入力部を備える。具体的には、各ボタン113、および、アナログスティック52を備える。これらの各入力部については、左コントローラ3の各入力部と同様の機能を有し、同様に動作する。
右コントローラ4は、電力供給部118を備える。電力供給部118は、左コントローラ3の電力供給部108と同様の機能を有し、同様に動作する。
[2.ゲームシステムにおける処理の概要]
次に、図8~図16を参照して、ゲームシステム1において実行される処理の概要について説明する。本実施形態においては、ゲームシステム1は、プレイヤ(すなわち、ゲームシステム1のユーザ)が操作可能なプレイヤキャラクタが3次元の仮想空間であるゲームフィールド(以下、単に「フィールド」と記載する)を移動し、プレイヤキャラクタの仲間であるサブキャラクタにフィールド上の敵キャラクタとの戦闘を行わせるゲームを実行する。
本実施形態においては、ゲームにおける上記の戦闘は、コマンド戦闘および自動戦闘という2種類の方式で行われる。コマンド戦闘は、サブキャラクタまたはプレイヤキャラクタが可能な行動(例えば、後述する攻撃や捕獲等)を示すコマンドをプレイヤが指定することで、指定されたコマンドに応じた行動をサブキャラクタまたはプレイヤキャラクタに行わせる方式の戦闘である。また、自動戦闘は、サブキャラクタと敵キャラクタとの間で自動的に行われる方式の戦闘である。なお、上記「自動的に」とは、戦闘開始後はプレイヤが当該戦闘に関する指示を行わなくても戦闘が進行されることを意味し、より具体的には、プレイヤが上記コマンドを指定することなく戦闘が進行されることを意味する。コマンド戦闘および自動戦闘の詳細については後述する。
[2-1.コマンド戦闘]
本実施形態においては、プレイヤキャラクタは、サブキャラクタが関連付けられるアイテムであるボールを所有することが可能であり、プレイヤキャラクタが所有するボールに関連付けられるサブキャラクタに戦闘を行わせることができる。また、プレイヤキャラクタは、フィールド上においてボールを投げることで、当該ボールに関連付けられるサブキャラクタをフィールド上に登場させることができる。なお、本実施形態においては、プレイヤキャラクタは、所有するボールのうち、フィールド上を移動するときに所定数(例えば、6個)のボールを使用することができ、使用可能な当該所定数のボールには順序が設定される。フィールドにおいてプレイヤキャラクタがボールを投げることによってサブキャラクタがフィールドに登場する場合には、上記順序が最初であるサブキャラクタが登場する。
本実施形態においては、コマンド戦闘は、フィールド上の敵キャラクタに対してプレイヤキャラクタがボールを投げることで開始される。つまり、プレイヤキャラクタが敵キャラクタに対してボールを投げると、ボールからサブキャラクタが登場し、登場したサブキャラクタが敵キャラクタとの戦闘を開始する。
図8は、プレイヤキャラクタが敵キャラクタに対してボールを投げる様子を示すゲーム画像の例を示す図である。図8に示す例においては、フィールド上にプレイヤキャラクタ201と敵キャラクタ202とが配置されており、プレイヤキャラクタ201が敵キャラクタ202に向かってボール203を投げている様子を示すゲーム画像がディスプレイ12に表示されている。本実施形態においては、プレイヤは、所定の操作入力(例えば、右コントローラ4のZRボタン61を押下する入力)によって、プレイヤキャラクタ201にボールを投げる動作を行わせる指示(「投げ動作指示」と呼ぶ。)を行うことができる。
投げ動作指示が行われた場合、ゲームシステム1は、フィールド上における判定範囲204内に敵キャラクタ202が存在するか否かを判定する。判定範囲204は、プレイヤキャラクタ201の位置および向きを基準に設定される。具体的には、判定範囲204は、プレイヤキャラクタ201の前方における所定の大きさの範囲である。なお、判定範囲204の位置、大きさ、および、形状は任意であってよい。また、判定範囲204は表示されなくてもよいし、表示されてもよい。
判定範囲204内に敵キャラクタ202が存在する場合、ゲームシステム1は、当該敵キャラクタ202に向かってボール203を投げる動作をプレイヤキャラクタ201に行わせる(図8参照)。そして、ボール203が敵キャラクタ202に当たると、ボール203からサブキャラクタが登場し、当該サブキャラクタと敵キャラクタ202との戦闘が開始される。なお、判定範囲204内に複数の敵キャラクタが存在する場合、ゲームシステム1は、当該複数の敵キャラクタのうちから1つの敵キャラクタを所定の基準に従って選択する。所定の基準は任意であるが、例えば、プレイヤキャラクタ201に最も近い位置の敵キャラクタが選択されてもよいし、判定範囲204の中心に最も近い位置の敵キャラクタが選択されてもよい。このとき、ゲームシステム1は、選択された敵キャラクタに向かってボールを投げるようにプレイヤキャラクタ201の動作を制御する。
一方、判定範囲204内に敵キャラクタ202が存在しない場合、ゲームシステム1は、プレイヤキャラクタ201の前方に向かってボール203を投げる動作をプレイヤキャラクタ201に行わせる。この場合、詳細は後述するが、フィールド上にサブキャラクタが登場し、当該サブキャラクタはフィールド上を自動的に移動する。
また、本実施形態においては、ボール203を敵キャラクタに当てることの他に、プレイヤキャラクタ201が敵キャラクタに接触することによってもコマンド戦闘が開始される。なお、プレイヤキャラクタ201は、プレイヤによる方向入力(例えば、左コントローラ3のアナログスティック32に対する入力)に応じてフィールド上を移動することができる。したがって、プレイヤは、プレイヤキャラクタ201の前方に敵キャラクタが位置する状態で上記投げ動作指示を行うことによって、あるいは、プレイヤキャラクタ201を移動させて敵キャラクタに接触させることによって、当該敵キャラクタとのコマンド戦闘を開始させることができる。
図9は、コマンド戦闘が行われているときのゲーム画像の一例を示す図である。図9に示すように、コマンド戦闘においては、戦闘を行うサブキャラクタ205と敵キャラクタ202とを含むフィールドの画像がディスプレイ12に表示される。また、ゲームシステム1は、サブキャラクタ205の名前(図では「××」と示す)と、レベルと、体力を示すゲージ画像211とを表示し、敵キャラクタ202の名前(図では「〇〇」と示す)と、レベルと、体力を示すゲージ画像212とを表示する。また、ゲームシステム1は、プレイヤが指定可能なコマンドを示すコマンド画像213~215を表示する。
図8および図9に示すように、本実施形態においては、ゲーム画像の視点(すなわち、ゲーム画像を生成するために設定される仮想カメラの位置)が、コマンド戦闘の開始前後において変化する。すなわち、コマンド戦闘の開始前におけるフィールドシーン(すなわち、プレイヤキャラクタがフィールドを移動するシーン)においては、ゲームシステム1は、プレイヤキャラクタ201が視野範囲に含まれるように仮想カメラの位置および向きを設定する(図8参照)。一方、コマンド戦闘においては、ゲームシステム1は、戦闘を行うサブキャラクタ205と敵キャラクタ202とが少なくとも視野範囲に含まれるように仮想カメラの位置および向きを設定する(図9参照)。また、さらにプレイヤキャラクタ201の少なくとも一部も視野範囲に含まれるように仮想カメラの位置および向きを設定してもよい。このように、本実施形態においては、コマンド戦闘が開始される際には、ゲームの場面は切り替わらない(すなわち、フィールドが表示されたままである)ものの、ゲーム画像の視点が変化する。
上記のように、本実施形態においては、コマンド戦闘は、フィールド上において場面を切り替えることなく、当該戦闘を行うサブキャラクタおよび敵キャラクタが少なくとも視野に含まれるように視点を移動させる表示制御が行われてから開始される。これによって、コマンド戦闘によるコマンド戦闘が開始されたことをプレイヤにわかりやすく認識させることができる。
また、本実施形態においては、コマンド戦闘中においてプレイヤキャラクタの移動が制限される。すなわち、コマンド戦闘中においてはプレイヤキャラクタ201はフィールド上を移動しない。もしくは、プレイヤキャラクタ201が移動可能な範囲が、コマンド戦闘が行われている場所の限られた範囲内に限定される。一方、後述する自動戦闘においては、上記のような視点の移動は行われず、自動戦闘中においてプレイヤキャラクタ201はフィールド上の移動が可能である。
本実施形態においては、コマンド戦闘においては、いわゆるターン制の戦闘が行われる。すなわち、1回のターンにおいて、プレイヤは、コマンドを指定することでサブキャラクタ205の行動内容を決定し、敵キャラクタ202の行動内容がゲームシステム1によって決定された後、各キャラクタ202および205がそれぞれ行動する。そして、戦闘が終了するまで上記のターンが繰り返し行われることで対戦ゲームが進行する。なお、他の実施形態においては、コマンド戦闘においては、上記のようなターン制のゲームに限らず、各キャラクタが時間経過に応じて順次行動する(行動内容はプレイヤが指定したコマンドによって決定される)リアルタイム制のゲームが行われてもよい。
図9に示す例においては、コマンド画像213は、サブキャラクタ205が敵キャラクタ202に対して攻撃を行う旨のコマンドを示す。コマンド画像214は、プレイヤキャラクタ201が敵キャラクタ202を捕獲するコマンドを示す。なお、本実施形態においては、サブキャラクタ205が敵キャラクタに対する攻撃を行う一方、プレイヤキャラクタ201が敵キャラクタの捕獲を行うこととするが、サブキャラクタ205が捕獲を行うようにしてもよい。つまり、コマンド戦闘時においてプレイヤキャラクタは戦闘に関する動作を行わなくてもよい。コマンド画像215は、プレイヤキャラクタ201およびサブキャラクタ205が戦闘から逃げるコマンドを示す。
コマンド画像213がプレイヤによって指定された場合、ゲームシステム1は、具体的な攻撃方法をそれぞれ示す複数のコマンド画像をさらに表示し、具体的な攻撃方法をプレイヤに指定させる。コマンド画像214がプレイヤによって指定された場合、ゲームシステム1は、プレイヤキャラクタ201に敵キャラクタ202を捕獲する動作を行わせる。なお、本実施形態においては、捕獲が成功するか否かはゲームシステム1によって判定され、捕獲が成功した場合、プレイヤキャラクタ201は、捕獲された敵キャラクタをサブキャラクタとして用いることができるようになるものとする。また、コマンド画像215がプレイヤによって指定された場合、ゲームシステム1は、プレイヤキャラクタ201が戦闘から逃げることができるか否かを判定し、逃げることができると判定される場合、コマンド戦闘を終了する。一方、逃げることができないと判定される場合、コマンド戦闘は継続される。
上記のように、本実施形態においては、コマンド戦闘においては、サブキャラクタによる敵キャラクタへの攻撃と、敵キャラクタの捕獲とを少なくとも含む複数のコマンドのいずれかが操作入力に基づいて指定され、指定されたコマンドに応じた、プレイヤキャラクタおよび/またはサブキャラクタの動作が実行される。したがって、コマンド戦闘においては、プレイヤは敵キャラクタを捕獲することが可能である。なお、詳細は後述するが、自動戦闘においては敵キャラクタを捕獲することはできない。
コマンド戦闘においてサブキャラクタ205が敵キャラクタ202を倒した場合(具体的には、敵キャラクタ202の体力が0になった場合)、プレイヤキャラクタ201は戦闘に勝利したこととなる。このとき、プレイヤキャラクタ201および/またはサブキャラクタ205は勝利報酬(例えば、経験値や、アイテム)を取得することができる。ゲームシステム1は、プレイヤキャラクタ201が戦闘に勝利した場合、例えば、敵キャラクタ202に基づいて決められる量の経験値をサブキャラクタに付与するとともに、敵キャラクタ202に応じた種類のアイテムをプレイヤキャラクタ201に付与する。
なお、上記の例においては、コマンド戦闘を行うサブキャラクタおよび敵キャラクタはそれぞれ1体であるとしたが、コマンド戦闘を行うサブキャラクタおよび敵キャラクタの数は任意である。他の実施形態においては、複数のサブキャラクタおよび敵キャラクタがコマンド戦闘に参加してもよい。
[2-2.フィールド上におけるサブキャラクタの制御]
本実施形態においては、プレイヤキャラクタ201は、サブキャラクタをコマンド戦闘時にフィールドに登場させることができるだけでなく、フィールドの移動中においても登場させることができる。具体的には、上記投げ動作指示が行われたときに、判定範囲内に敵キャラクタが存在しなければ、プレイヤキャラクタ201は自身の正面方向に向かってボール203を投げる動作を行い、その後、サブキャラクタがフィールドに登場する。例えば、投げられたボール203がプレイヤキャラクタ201から所定の長さだけ離れた時点(例えば、ボールがフィールド上に落下した時点)で、ボール203からサブキャラクタが登場する。
図10は、サブキャラクタがフィールド上に登場したときのゲーム画像の一例を示す図である。図10においては、プレイヤキャラクタ201がフィールドに配置されると共に、プレイヤキャラクタ201が投げたボールから登場したサブキャラクタ205がフィールドに配置されている。なお、本実施形態においては、コマンド戦闘中を除いてサブキャラクタがフィールド上に登場する状態を、「登場状態」と呼ぶ。
上記投げ動作指示によってサブキャラクタ205が登場状態となる場合、当該サブキャラクタ205は自動的にフィールドを移動する。すなわち、上記の場合、サブキャラクタ205は、ゲームシステム1によって自動的に移動するように制御される。なお、「サブキャラクタが自動的に移動する」とは、プレイヤによる操作が直接行われなくてもサブキャラクタが移動する任意の移動態様を含む意味であり、プレイヤによる操作の影響を受けてサブキャラクタが移動することがあってもよい意味である。例えば、サブキャラクタ205は、プレイヤによって操作されるプレイヤキャラクタ201の移動に応じて(例えば、プレイヤキャラクタ201に追従するように)移動するよう、ゲームシステム1によって自動的に移動が制御されてもよい。
上記のように、サブキャラクタを自動的に移動させるための自動制御は、当該サブキャラクタをプレイヤキャラクタに追従させる移動制御を含んでもよい。これによれば、サブキャラクタをプレイヤキャラクタの近傍に配置しやすくすることができ、サブキャラクタの挙動をプレイヤが確認しやすくすることができる。なお、他の実施形態においては、サブキャラクタの移動制御は任意の方法で行われてよく、サブキャラクタは、プレイヤキャラクタの移動に関わらずランダムに移動するように制御されてもよい。
なお、詳細は後述するが、本実施形態においては、フィールド上に登場したサブキャラクタ205は、プレイヤによる指示に応じて敵キャラクタと自動戦闘を行ったりアイテムを取得したりする。ただし、本実施形態においては、サブキャラクタ205の移動が自動的に制御される間において、サブキャラクタ205は、自動的に(つまり、プレイヤの指示なしに)敵キャラクタとの戦闘を開始したり、アイテムを取得したりすることはない。なお、他の実施形態においては、ゲームシステム1は、敵キャラクタとの戦闘やアイテムの取得をサブキャラクタに自動的に行わせるようにしてもよい。
本実施形態においては、サブキャラクタ205が登場状態となる場合、ゲームシステム1は、当該サブキャラクタ205の状態を示す状態画像221を表示する(図10参照)。図10に示す例においては、状態画像221は、サブキャラクタ205を示す画像と、サブキャラクタ205の体力を示すゲージの画像とを含む。状態画像221によって、サブキャラクタがフィールドに登場していることと、当該サブキャラクタの状態とをプレイヤに通知することができる。なお、状態画像221は、サブキャラクタに関する任意の情報を示すものであってよく、例えば、サブキャラクタの名前やレベル等の情報を示すものであってもよい。
本実施形態においては、サブキャラクタ205が登場状態である場合、プレイヤは、当該サブキャラクタ205をフィールド上から退出させる退出指示を行うことができる。具体的には、上記の場合、ゲームシステム1は、退出指示を受け付け、退出指示が行われたことに応じて、サブキャラクタ205をフィールドから退出させる。なお、フィールドから退出したサブキャラクタは、フィールドに登場しない状態であるが、ゲームにおいて消去されたわけではなく、上記投げ動作指示によって再度フィールドに登場させることが可能である。ボール203からサブキャラクタが登場する実施形態においては、退出指示に応じてボール203にサブキャラクタが収容される演出と共にサブキャラクタが退出される処理が行われてもよい。また、本実施形態においては、退出指示は、上記投げ動作指示と同じ操作による操作入力(すなわち、ZRボタン61を押下する入力)によって行われる。
上記のように、本実施形態においては、ゲームシステム1は、サブキャラクタが登場している状態において所定の操作入力が行われた場合、サブキャラクタをフィールド上に登場していない状態にする制御を行う。これによれば、プレイヤは、サブキャラクタのフィールド上への登場および退出を自由に行うことができる。なお、本実施形態においては、上記所定の操作入力は、サブキャラクタをフィールド上に登場させるための操作入力と同じ操作部(すなわち、ZRボタン61)に対する入力である。これによれば、プレイヤは、サブキャラクタのフィールド上への登場および退出を1つの操作部を用いて行うことができるので、操作が容易になる。なお、他の実施形態においては、上記所定の操作入力は、サブキャラクタをフィールド上に登場させるための操作入力とは異なる操作部に対する操作入力であってもよい。
本実施形態においては、サブキャラクタ205が登場状態である間において、プレイヤキャラクタ201は、プレイヤによる方向入力に応じてフィールド上を移動することが可能である。そして、サブキャラクタ205が登場状態である間において、プレイヤキャラクタ201が敵キャラクタに接触したことに応じて、コマンド戦闘が開始される。このとき、コマンド戦闘は、フィールド上に登場しているサブキャラクタと敵キャラクタとの間で行われる。
上記のように、本実施形態においては、ゲームシステム1は、プレイヤキャラクタが敵キャラクタに接触した場合、サブキャラクタがフィールド上に登場しているか否かに関わらず、コマンド戦闘によるサブキャラクタと敵キャラクタとの戦闘を制御する。これによれば、サブキャラクタがフィールド上に登場している場合もしていない場合も、プレイヤはコマンド戦闘を容易に開始することができる。なお、他の実施形態においては、ゲームシステム1は、サブキャラクタがフィールド上に登場している間はコマンド戦闘が行われないようにしてもよい。
なお、本実施形態においては、上述のコマンド戦闘に登場したサブキャラクタは、コマンド戦闘に勝利した場合は、当該コマンド戦闘後においてフィールド上に配置される登場状態となり、自動的に移動が制御される。一方、コマンド戦闘に敗北した場合は、当該サブキャラクタは当該コマンド戦闘後においてフィールド上に登場しない状態となる。ただし、他の実施形態においては、コマンド戦闘に登場したサブキャラクタは、当該コマンド戦闘後において、コマンド戦闘の勝敗にかかわらず、フィールドから退出した状態とされてもよい。また、他の実施形態においては、フィールド上から退出した状態からサブキャラクタがコマンド戦闘を行った場合(つまり、投げ動作指示によってコマンド戦闘が開始された場合)、当該サブキャラクタは、コマンド戦闘後にフィールドから退出した状態となり、サブキャラクタが登場状態からコマンド戦闘を行った場合、当該サブキャラクタは、コマンド戦闘後に登場状態となってもよい。
本実施形態においては、サブキャラクタが登場状態である場合、プレイヤは、目標移動指示によって、フィールド上における所定の位置に向かって当該サブキャラクタを移動させることができる。なお、目標移動指示は、例えば、右コントローラ4の第1Rボタン60に対する入力によって行うことができる。目標移動指示が行われた場合、サブキャラクタは、それまで行っていた自動的に制御される移動を終了し、目標移動指示によって指定される目標位置(後述する図11参照)に向けて移動する。
図11は、サブキャラクタが目標移動指示によってフィールド上を移動するときのゲーム画像の一例を示す図である。図11に示すゲーム画像は、目標移動指示に応じて、サブキャラクタ205が目標位置222まで移動する様子を示している。
目標移動指示が行われた場合、ゲームシステム1は、プレイヤキャラクタ201の位置および向きを基準に設定される上記判定範囲204内に目標位置222を設定し、目標位置222に向かってサブキャラクタ205を移動させる(図11に示す矢印参照)。目標位置222は、例えば、判定範囲204の中心の位置である。なお、本実施形態においては、上記判定範囲204および目標位置222は表示されないものとするが、他の実施形態においては、上記判定範囲204および目標位置222を示す画像が表示されてもよい。また、本実施形態においては、ゲームシステム1は、目標移動指示が行われた場合、プレイヤキャラクタ201に前方(すなわち、目標位置222の方)を指さす動作を行わせる。これによって、目標移動指示が行われたことと、目標位置222の大まかな位置とをプレイヤに通知することができる。
なお、本実施形態においては、上述の投げ動作指示が行われた場合に用いられる判定範囲と、目標移動指示が行われた場合に用いられる判定範囲とは、位置、大きさ、および、形状が同じである。これによって、プレイヤは投げ動作指示および目標移動指示を行いやすくなる。なお、他の実施形態においては、これらの判定範囲は互いに異なる位置、大きさ、および/または、形状であってもよい。
上記のように、本実施形態においては、ゲームシステム1は、目標移動指示のための操作入力が行われた場合、プレイヤキャラクタ201の前方に設定される所定位置(図11に示す例では、目標位置222)に向けてサブキャラクタ205を移動させる制御を行う。これによれば、登場状態におけるサブキャラクタ205を、プレイヤが指定する位置へ移動させることができる。なお、上記所定位置は、図11に示す例では目標位置222であったが、後述する例に示すように、判定範囲内の敵キャラクタまたはアイテムの位置に所定位置が設定されてもよい。
サブキャラクタ205が目標位置222へ移動する場合における具体的な移動態様は任意である。一例として、本実施形態においては、目標移動指示が行われた時点におけるサブキャラクタ205の位置がプレイヤキャラクタ201の位置から離れている場合(具体的には、サブキャラクタ205の位置とプレイヤキャラクタ201の位置とが所定距離以上離れている場合)、ゲームシステム1は、サブキャラクタ205をプレイヤキャラクタ201の近傍の位置に一旦ワープさせ、その後、当該位置から目標位置222へと移動させる。また、目標移動指示が行われた時点におけるサブキャラクタ205の位置がプレイヤキャラクタ201の位置から離れていない場合であっても、サブキャラクタ205に比べてプレイヤキャラクタ201の方が目標位置222に近い位置にいる場合は、ゲームシステム1は、サブキャラクタ205をプレイヤキャラクタ201の近傍の位置に一旦ワープさせ、その後、当該位置から目標位置222へと移動させる。一方、目標移動指示が行われた時点におけるサブキャラクタ205の位置がプレイヤキャラクタ201の位置から離れていない場合であって、かつ、プレイヤキャラクタ201に比べてサブキャラクタ205の方が目標位置222に近い位置にいる場合は、ゲームシステム1は、サブキャラクタ205を現在の位置から目標位置222へと移動させる。上記によれば、サブキャラクタ205が目標位置222まで移動するのに要する時間を短縮することができる。
なお、目標位置が、サブキャラクタ205が現在位置から移動することができないような位置である場合、ゲームシステム1は、サブキャラクタ205を目標位置まで移動させないようにしてもよい。上記の場合とは、例えば、サブキャラクタ205の現在位置から目標位置までの間に段差があり、サブキャラクタ205が当該段差を超えて移動することができない場合や、目標位置が水上または空中にあり、サブキャラクタ205が水上または空中を移動することができない場合である。
また、目標移動指示が行われた場合における上記判定範囲内に敵キャラクタが含まれる場合、ゲームシステム1は、当該敵キャラクタの位置を目標位置として設定し、サブキャラクタを当該敵キャラクタの方へ移動させる。この場合、サブキャラクタと敵キャラクタとの間で自動戦闘が行われる。
図12は、サブキャラクタが目標移動指示によって敵キャラクタの方へ移動するときのゲーム画像の一例を示す図である。図12に示す例においては、目標移動指示が行われた時点におけるプレイヤキャラクタ201の位置および向きに基づく判定範囲204内に敵キャラクタ206が配置されている。また、判定範囲204外の位置に敵キャラクタ207が配置されている。
図12に示すように、目標移動指示が行われた時点において判定範囲204内に敵キャラクタ206が位置する場合、ゲームシステム1は、サブキャラクタ205の目標位置222を当該敵キャラクタ206の位置に設定する。これによって、サブキャラクタ205は、敵キャラクタ206に向けて移動する(図12に示す矢印参照)。なお、判定範囲204内に複数の敵キャラクタが存在する場合、ゲームシステム1は、当該複数の敵キャラクタのうちから1つの敵キャラクタを所定の基準に従って選択する。所定の基準は任意であるが、例えば、プレイヤキャラクタ201またはサブキャラクタ205に最も近い位置の敵キャラクタが選択されてもよいし、判定範囲204の中心に最も近い位置の敵キャラクタが選択されてもよい。
図12に示す例において、サブキャラクタ205が敵キャラクタ206の近傍まで移動した場合(すなわち、サブキャラクタ205を基準とした所定のアクション範囲内に敵キャラクタ206が位置する場合)、サブキャラクタ205と敵キャラクタ206との自動戦闘が開始される。なお、目標位置222が敵キャラクタ206の位置に設定される場合、ゲームシステム1は、当該敵キャラクタ206を示すマーカ画像224を表示する(図12参照)。これによって、自動戦闘の相手となる敵キャラクタをプレイヤに通知することができる。なお、マーカ画像は、目標移動指示が行われる前に表示されてもよい。すなわち、ゲームシステム1は、目標移動指示が可能な状態において、その時点で目標移動指示が行われたとすれば自動戦闘の相手に設定される敵キャラクタについてマーカ画像を表示するようにしてもよい。
なお、本実施形態においては、目標位置が敵キャラクタの位置に設定される場合において、目標位置までの移動中にサブキャラクタが当該敵キャラクタとは異なる他の敵キャラクタの近傍を通過しても、ゲームシステム1は、サブキャラクタと当該他の敵キャラクタとの間では戦闘を行わせない。これによって、プレイヤが目標移動指示によって指定した対戦相手である敵キャラクタとの戦闘前に、サブキャラクタが他の敵キャラクタと戦闘を行ってしまうことを防止することができる。なお、他の実施形態においては、目標位置までの移動中にサブキャラクタが上記他の敵キャラクタの近傍を通過する場合、ゲームシステム1は、サブキャラクタと当該他の敵キャラクタとの間で自動戦闘を行わせるようにしてもよい。
また、本実施形態においては、フィールド上にはプレイヤキャラクタ201が取得可能なアイテムが配置されていることがある。目標移動指示が行われた時点において判定範囲204内に上記アイテムが位置する場合、ゲームシステム1は、サブキャラクタ205の目標位置222を当該アイテムの位置に設定する。これによって、サブキャラクタ205はアイテムに向けて移動する。そして、サブキャラクタ205がアイテムの近傍まで移動した場合(すなわち、サブキャラクタ205を基準とした上記アクション範囲内にアイテムが位置する場合)、サブキャラクタ205はアイテムを取得する。これによって、プレイヤキャラクタ201はアイテムを取得することができる。つまり、プレイヤは、サブキャラクタを用いてフィールド上のアイテムを取得することができる。なお、判定範囲204内に敵キャラクタとアイテムとの両方が存在する場合、ゲームシステム1は、当該複数の対象(すなわち、敵キャラクタおよびアイテム)のうちから1つを所定の基準に従って選択してもよい。例えば、ゲームシステム1は、アイテムよりも敵キャラクタを優先して選択するようにしてもよい。
また、本実施形態においては、サブキャラクタがフィールド上に登場していない状態においても、プレイヤは、目標移動指示を行うことができ、目標移動指示によって指定される目標位置へサブキャラクタを移動させることができる。すなわち、サブキャラクタがフィールド上に登場していない状態においても、ゲームシステム1は、目標移動指示の操作入力を受け付ける。そして、上記の状態で目標移動指示が行われた場合、ゲームシステム1は、プレイヤキャラクタ201にボールを投げる動作を行わせてサブキャラクタをフィールド上に登場させ、さらに、登場したサブキャラクタを、上記目標移動指示に応じて設定される目標位置へ移動させる。
上記のように、本実施形態においては、ゲームシステム1は、サブキャラクタがフィールド上に登場していない状態で所定の操作入力(すなわち、目標移動指示の操作入力)が行われた場合、当該サブキャラクタをフィールド上に登場させると共に所定位置(すなわち、目標位置)に向けて移動させる制御を行う。これによれば、プレイヤは上記所定の操作入力によって、サブキャラクタの登場と所定位置への移動との両方の動作を行わせることができるので、サブキャラクタに関する操作を簡易にすることができ、当該操作の操作性を向上することができる。なお、他の実施形態においては、ゲームシステム1は、サブキャラクタがフィールド上に登場していない状態で目標移動指示を受け付けないようにしてもよい。
本実施形態においては、サブキャラクタがフィールド上に登場していない状態において目標移動指示が行われる場合も、サブキャラクタが登場している状態において目標移動指示が行われる場合と同様に、目標移動指示に応じて目標位置が設定される。つまり、目標となる対象(すなわち、敵キャラクタまたはアイテム)が判定範囲内に存在しない場合には、目標位置は判定範囲の中心位置に設定され、目標となる対象が判定範囲内に存在する場合には、当該対象の位置が目標位置に設定される。
[2-3.自動戦闘]
図13は、サブキャラクタと敵キャラクタとが自動戦闘を行っているときのゲーム画像の一例を示す図である。図13に示す例においては、図12に示す状況からサブキャラクタ205が敵キャラクタ206に向けて移動した結果、サブキャラクタ205と敵キャラクタ206との間で自動戦闘が行われている。
本実施形態においては、自動戦闘は、プレイヤが戦闘に関する入力を行わなくても進行する。つまり、ゲームシステム1は、自動戦闘に関してコマンドを受け付けずに自動的に戦闘を進行させる。具体的には、本実施形態においては、ゲームシステム1は、対戦するサブキャラクタ205と敵キャラクタ206との能力パラメータ(例えば、最大体力、攻撃力、防御力、および、すばやさ等)に基づいて、自動戦闘の勝敗を決定する。また、ゲームシステム1は、自動戦闘によってサブキャラクタ205が受けるダメージを計算し、戦闘後におけるサブキャラクタ205の体力値を計算する。なお、ゲームシステム1は、自動戦闘が開始されると、サブキャラクタ205および敵キャラクタ206にそれぞれ攻撃の動作を行わせるようにしてもよい。この攻撃の動作は、予め定められた内容の動作でよく、行われる動作と戦闘の勝敗とは無関係であってもよい。
上記のように、自動戦闘は、コマンド戦闘に比べて簡易的に戦闘が行われるものであり、プレイヤは、操作の手間をかけずに戦闘を行うことができる。本実施形態においては、プレイヤは、自身で戦闘に関する指示(すなわち、コマンド)を行いたい場合はサブキャラクタにコマンド戦闘を行わせ、指示を行うことなく簡単に戦闘を行いたい場合はサブキャラクタに自動戦闘を行わせることができる。本実施形態においては、コマンド戦闘および自動戦闘という2種類の方法で戦闘を行うことができるので、プレイヤは、例えば自身の好みやゲーム状況に合わせて戦闘方法を選択することができる。
図13に示すように、本実施形態においては、自動戦闘が開始されてもコマンド戦闘の開始時とは異なり、ゲーム画像の視点(すなわち、仮想カメラの位置)は変化しない。すなわち、自動戦闘中において、ゲームシステム1は、プレイヤキャラクタ201が視野範囲に含まれるように仮想カメラの位置および向きを制御する(図13参照)。なお、本実施形態においては、自動戦闘中においても自動戦闘が行われていない間と同様、ゲームシステム1は、プレイヤによる視点操作入力(例えば、右コントローラ4のアナログスティック52に対する方向入力)に応じて視点の位置および向きを変化させる。つまり、プレイヤは、自動戦闘中においても自動戦闘が行われていない間と同様、ゲーム画像の視点を変更することが可能である。
また、自動戦闘中においては、コマンド戦闘中とは異なり、プレイヤキャラクタ201はフィールド上を移動可能である。つまり、ゲームシステム1は、自動戦闘中においても、プレイヤキャラクタ201を移動させるための方向入力を受け付ける。このように、自動戦闘中においては、プレイヤは、戦闘中以外の通常のシーンにおいてフィールドを移動している場合と同様にプレイヤキャラクタ201を移動させたり、ゲーム画像の視点を変化させたりすることができる。
上記のように、本実施形態においては、自動戦闘は、フィールド上において場面を切り替えることなく開始され、当該自動戦闘中において移動操作入力に基づいたプレイヤキャラクタ201の移動制御が実行される。つまり、プレイヤは、フィールド上においてプレイヤキャラクタ201を移動させている間においてもサブキャラクタに自動戦闘を行わせることができる。これによれば、例えば、プレイヤキャラクタ201をフィールド上の目的地まで移動させている間において、プレイヤは、移動を中断することなくサブキャラクタに自動戦闘を行わせることができる。したがって、目的地に早く到着したい一方、サブキャラクタには戦闘を行わせたいと考えるプレイヤにとっては、自動戦闘を行わせることが好都合である。なお、他の実施形態においては、自動戦闘中においてもコマンド戦闘中と同様に、プレイヤキャラクタ201の移動が制限されてもよいし、また、戦闘開始時にゲーム画像の視点が変更(例えば、サブキャラクタが画面の中心に表示されるように変更)されてもよい。
また、本実施形態においては、自動戦闘が行われている間、サブキャラクタ205に関する状態画像221は、自動戦闘中であることを示すように形状が変化する(図13参照)。図12および図13に示す例においては、状態画像221は、自動戦闘が行われていない間は楕円形の形状であり、自動戦闘が行われている間は多角形の形状となっている。これによって、自動戦闘中であることをプレイヤに通知することができる。例えば、自動戦闘中においてサブキャラクタ205がゲーム画像の視野範囲内に含まれない場合もあり得るが、そのような場合であっても、プレイヤは、状態画像221によってサブキャラクタ205が自動戦闘中であるか否かを知ることができる。
図14は、サブキャラクタが自動戦闘に勝利したときのゲーム画像の一例を示す図である。図14に示す例においては、図13に示す状況から、サブキャラクタ205が敵キャラクタ206に勝利した状況を示している。このとき、敗北した敵キャラクタ206は、フィールド上からいなくなる(図14においては、敵キャラクタ206がいなくなったことを点線で示している)。また、ゲームシステム1は、サブキャラクタ205が勝利したことを通知する通知画像225を表示する。
本実施形態においては、自動戦闘においてもコマンド戦闘と同様、サブキャラクタ205が戦闘に勝利した場合には勝利報酬が付与される。具体的には、ゲームシステム1は、プレイヤキャラクタ201が戦闘に勝利した場合、敵キャラクタ206に基づいて決められる量の経験値をサブキャラクタ205に付与するとともに、敵キャラクタ206に応じた種類のアイテムをプレイヤキャラクタ201に付与する。
なお、本実施形態においては、自動戦闘において付与される勝利報酬は、コマンド戦闘において同じ敵キャラクタに勝利したときに付与される勝利報酬よりも少なく設定される。例えば、自動戦闘においてある敵キャラクタに勝利した場合には、コマンド戦闘において当該敵キャラクタに勝利した場合に付与される経験値よりも少ない経験値(例えば、1/3の経験値)がサブキャラクタに付与される。これによれば、自動戦闘よりもコマンド戦闘の方がより多くの勝利報酬を得やすくなるので、コマンド戦闘を行う動機付けをプレイヤに与えることができ、操作が簡易な自動戦闘ばかりをプレイヤが行う可能性を低減することができる。なお、「自動戦闘において付与される勝利報酬を、コマンド戦闘において付与される勝利報酬よりも少なく設定する」とは、1回の戦闘によって付与される報酬が少なくなるような方法と、複数回の戦闘によって付与される報酬の合計が少なくなるような方法との両方を含む意味である。例えば、他の実施形態においては、戦闘において倒した敵キャラクタに応じたアイテムが確率に基づいて付与される場合において、ゲームシステム1は、自動戦闘において勝利したときは、コマンド戦闘において勝利したときよりも低い確率でアイテムが付与されるようにすることで、複数回の自動戦闘によって付与されるアイテムの合計が、複数回のコマンド戦闘によって付与されるアイテムの合計よりも少なくなるようにしてもよい。
本実施形態においては、サブキャラクタ205が敵キャラクタ206との自動戦闘に勝利した時点で当該サブキャラクタ205の周囲に他の敵キャラクタが配置されている場合(図14に示す例で言えば、サブキャラクタ205を基準とした上記アクション範囲内に敵キャラクタ207が位置する場合)、サブキャラクタ205は自動戦闘を継続して行う。つまり、上記の場合、サブキャラクタ205は、敵キャラクタ207の近傍まで移動してから、敵キャラクタ207との自動戦闘を開始する。2体目以降の敵キャラクタとの自動戦闘に勝利した場合も、1体目の敵キャラクタとの自動戦闘に勝利した場合と同様、サブキャラクタ205の周囲に他の敵キャラクタが配置されていれば、サブキャラクタ205は自動戦闘を継続して行う。
上記のように、本実施形態においては、ゲームシステム1は、サブキャラクタと敵キャラクタとの自動戦闘が終了したときに、当該サブキャラクタの位置を含む所定範囲(すなわち、上記アクション範囲)に他の敵キャラクタが配置されている場合、当該サブキャラクタと当該他の敵キャラクタとの自動戦闘を開始する。これによれば、近い距離で配置されている複数の敵キャラクタとの自動戦闘を行わせる際に、プレイヤが目標移動指示を繰り返し行う必要がないので、サブキャラクタの操作に関する操作性を向上することができる。なお、他の実施形態においては、ゲームシステム1は、上記の場合において、サブキャラクタに上記他の敵キャラクタとの新たな自動戦闘を開始させないようにしてもよい。
一方、サブキャラクタ205が敵キャラクタ206との自動戦闘に勝利した時点で当該サブキャラクタ205の周囲に他の敵キャラクタが配置されていない場合(図14に示す例で言えば、サブキャラクタ205を基準とした上記アクション範囲内に敵キャラクタ207が位置しない場合)、サブキャラクタ205は自動戦闘を終了する。この場合、サブキャラクタ205は、ゲームシステム1によって自動的に移動するように制御される。
上記のように、本実施形態においては、ゲームシステム1は、自動戦闘が終了した場合に、サブキャラクタを自動的に移動させる自動制御を開始する。これによれば、自動戦闘が終了した後においてプレイヤが指示を行わなくてもサブキャラクタは動作を行うので、プレイヤは操作の手間を省略することができる。なお、上記「自動戦闘が終了した場合」とは、ある敵キャラクタとの自動戦闘の終了時にサブキャラクタの周囲に他の敵キャラクタが配置されている結果、複数体の敵キャラクタとの自動戦闘が連続して行われる場合は、当該複数体の敵キャラクタとの自動戦闘が終了した場合を指す意味である。なお、他の実施形態においては、自動戦闘が終了した場合におけるサブキャラクタの制御方法は任意であり、自動戦闘が終了した場合において、サブキャラクタは、プレイヤによる何らかの指示が行われるまでは動作を停止してもよい。
図15は、サブキャラクタが自動戦闘に敗北したときのゲーム画像の一例を示す図である。図15に示す例においては、図13に示す状況から、サブキャラクタ205が敵キャラクタ206に敗北した状況を示している。このとき、敗北したサブキャラクタ205は、プレイヤキャラクタ201の方へ戻って来るように移動する(図15に示す矢印参照)。また、ゲームシステム1は、サブキャラクタ205が敗北したことを通知する通知画像226を表示する。
なお、上述のコマンド戦闘においては、サブキャラクタ205の体力が0になった場合に戦闘に敗北したこととなる。換言すれば、サブキャラクタ205が戦闘に敗北した場合には体力が0になる。なお、サブキャラクタ205は、体力が0になった場合にはフィールドに登場することができず、戦闘も行うことができないものとする。これに対して、自動戦闘においては、戦闘に敗北してもサブキャラクタ205の体力は0にならず、体力の上限値未満である所定値(本実施形態においては、1)となるように設定される。したがって、自動戦闘はコマンド戦闘に比べてリスクが少ないと言うことができ、プレイヤはサブキャラクタ205に自動戦闘を気軽に行わせることができる。なお、他の実施形態においては、自動戦闘で敗北した場合もコマンド戦闘の場合と同様、サブキャラクタ205の体力が0に設定されてもよい。
なお、ゲームシステム1は、目標移動指示が行われた場合であっても、所定の制限条件が満たされれば、サブキャラクタ205は目標位置への移動を行わないようにしてもよい。例えば、制限条件は、サブキャラクタの体力が所定値(例えば、20)以下であることである。これは、敗北する可能性が高い状態(すなわち、体力値が低い状態)で自動戦闘が行われないようにするためである。なお、ゲームシステム1は、上記の他、目標移動指示に基づく判定範囲内に特定の敵キャラクタが配置されていることを制限条件として設定してもよい。上記の特定の敵キャラクタとは、例えば、フィールド上に登場することが少ない、珍しい敵キャラクタである。ここで、本実施形態においては、自動戦闘ではプレイヤがコマンドによって指示を行うことができず、敵キャラクタを捕獲することができない。そのため、自動戦闘によってサブキャラクタ205が上記のような珍しい敵キャラクタを倒してしまってプレイヤが捕獲の機会を逃してしまうことを防止するべく、上記特定のキャラクタについては自動戦闘が行われないようにしている。
なお、上記の制限条件の具体的な内容は任意であり、上記以外の条件が用いられてもよい。例えば、プレイヤキャラクタ201が指示を行うことができるサブキャラクタの上限レベルがゲームのストーリーの進行に応じて設定されている場合において、当該上限レベル以上のサブキャラクタについては、目標移動指示が行われた場合であっても目標位置への移動を行わないようにしてもよい。
[2-4.選択指示]
本実施形態においては、プレイヤは、フィールド上においてプレイヤキャラクタ201を移動させる操作が可能な状態において、選択指示の操作入力を行うことができる。選択指示とは、ゲームフィールド上に配置されている1体の敵キャラクタを選択対象とする指示である。すなわち、選択指示が行われた場合、ゲームシステム1は、当該敵キャラクタを選択対象とする。本実施形態においては、選択指示を用いることによって、上述のコマンド戦闘を行うための投げ動作指示や、自動戦闘を行うための目標移動指示を行いやすくすることができる。以下、選択指示の詳細について説明する。
本実施形態においては、選択指示は、コントローラに対する所定の操作入力(例えば、左コントローラ3のZLボタン39を押下する入力)によって行われる。本実施形態においては、ゲームシステム1は、上記所定の操作入力が行われている間(すなわち、ZLボタン39が押下されている間)、選択指示が行われていると判断し、当該操作入力が行われなくなった(すなわち、ZLボタン39が押下されなくなった)ことに応じて選択指示が行われていないと判断する。なお、選択指示のための具体的な入力方法は任意である。例えば、他の実施形態においては、ゲームシステム1は、所定の操作入力が行われたことに応じて選択指示が開始されたと判断し、当該操作入力が再度行われたことに応じて選択指示が解除されたと判断してもよい。
図16は、選択指示が行われているときのゲーム画像の一例を示す図である。本実施形態においては、図16に示すように、選択指示が行われている場合、ゲームシステム1は、選択対象の敵キャラクタ208が画面の中央付近の所定位置に表示されるように、仮想カメラの位置および向きを制御する。すなわち、ゲームシステム1は、選択対象の敵キャラクタ208に注視点を合わせるように仮想カメラを制御する。なお、ゲームシステム1は、選択指示が開始された時点で、例えば上記所定位置の最も近くに配置されている敵キャラクタを選択対象とする。選択指示が行われている間において敵キャラクタ208が移動した場合には、ゲームシステム1は、敵キャラクタ208が上記所定位置に表示されるように、仮想カメラの位置および/または向きを変化させる。
また、選択指示が行われている間、ゲームシステム1は、選択対象の敵キャラクタ208についての情報を表示する。本実施形態においては、図16に示すように、選択対象の敵キャラクタ208の名前(図16では、「〇〇」と記載する)と、レベルと、捕獲済みか否かを示す情報とが表示される。上記情報は、例えば、敵キャラクタ208の近傍に表示される。なお、捕獲済みか否かを示す情報とは、選択対象の敵キャラクタと同じ種類の敵キャラクタを捕獲したことがあるか否かを示すものである。また、表示される情報の内容は任意であり、他の実施形態においては、例えば、上記の情報に加えて(または代えて)、選択対象の敵キャラクタの体力や属性等が表示されてもよい。
本実施形態においては、選択指示が行われている間においても、プレイヤは、上述の投げ動作指示を行うことができる。ここで、選択指示が行われている状態において投げ動作指示が行われた場合、ゲームシステム1は、選択対象の敵キャラクタに対してボールを投げるようにプレイヤキャラクタ201を制御する。つまり、上記の場合、選択対象の敵キャラクタとサブキャラクタとのコマンド戦闘が開始される。
また、本実施形態においては、サブキャラクタが登場状態である場合においてもプレイヤは選択指示を行うことができる。さらに、選択指示が行われている間においても、プレイヤは目標移動指示を行うことができる。選択指示が行われている状態において目標移動指示が行われた場合、ゲームシステム1は、選択対象の敵キャラクタの位置を目標位置として設定し、当該選択対象の敵キャラクタに向けてサブキャラクタを移動させる。つまり、上記の場合、選択対象の敵キャラクタとサブキャラクタとの自動戦闘が開始される。
上記のように、本実施形態においては、ゲームシステム1は、選択指示のための操作入力に基づいて、フィールド上の敵キャラクタのうちいずれかを選択する。そして、敵キャラクタが選択されている状態において第1の操作入力(具体的には、投げ動作指示のための操作入力)が行われた場合、ゲームシステム1は、選択されている当該敵キャラクタが配置されている場所にサブキャラクタを登場させると共に、サブキャラクタと選択されている当該敵キャラクタとのコマンド戦闘を制御する。また、敵キャラクタが選択されている状態において第2の操作入力(具体的には、目標移動指示のための操作入力)が行われた場合、フィールド上において、選択されている当該敵キャラクタに向かってサブキャラクタを移動させると共に、サブキャラクタと選択されている敵キャラクタとの自動戦闘を制御する。上記によれば、選択指示を用いることで、プレイヤは、コマンド戦闘および自動戦闘の対戦相手となる敵キャラクタを容易に指定することができる。例えば、フィールド上に複数の敵キャラクタが互いに近い位置に配置されている状態であっても、プレイヤは、選択指示によって1つの敵キャラクタを選択してコマンド戦闘または自動戦闘をサブキャラクタに行わせることができる。
なお、本実施形態においては、ゲームシステム1は、選択対象となる敵キャラクタを、注目対象として画面の中心位置に表示するように仮想カメラを制御したが、選択対象となる敵キャラクタの選択中において仮想カメラはどのように制御されてもよい。例えば、他の実施形態においては、選択対象となる敵キャラクタの選択中においても選択中でないときと同様に、プレイヤの操作入力に応じて仮想カメラの位置および向きが制御されてもよい。つまり、選択対象となる敵キャラクタは、常に画面の中心位置に表示される必要はなく、また、常に画面に表示されている必要もない。
また、他の実施形態においては、ゲームシステム1は、選択指示を受け付けなくてもよく、また、選択指示を受け付ける場合であっても、選択指示によって選択されている敵キャラクタをコマンド戦闘または自動戦闘の対戦相手としなくてもよい。
なお、本実施形態においては、投げ動作指示によってコマンド戦闘を行うことが可能な距離(すなわち、プレイヤキャラクタ201が投げたボールが敵キャラクタに届く距離)に上限が設定されてもよい。また、このような上限が設定される場合、ゲームシステム1は、選択指示が行われている間において、投げ動作指示によってコマンド戦闘を行うことが可能な状態である場合(例えば、選択対象の敵キャラクタが、プレイヤキャラクタ201が投げたボールが届く範囲内に位置する場合)には、投げ動作指示によってコマンド戦闘が可能であることをプレイヤに通知する通知画像を表示するようにしてもよい。
上記と同様に、目標移動指示によって自動戦闘を行うことが可能な距離(すなわち、プレイヤキャラクタ201から離れてサブキャラクタが移動する距離)に上限が設定されてもよい。また、このような上限が設定される場合、ゲームシステム1は、選択指示が行われている間において、目標移動指示によって自動戦闘を行うことが可能な状態である場合(例えば、選択対象の敵キャラクタが、サブキャラクタが移動可能な範囲内に位置する場合)には、目標移動指示によって自動戦闘が可能であることをプレイヤに通知する通知画像を表示するようにしてもよい。
本実施形態においては、プレイヤキャラクタ201と選択対象の敵キャラクタとの距離が所定距離以上になると、ゲームシステム1は、選択指示が行われているか否かにかかわらず、敵キャラクタを選択対象として仮想カメラを制御する処理を終了する。例えば、上記所定距離は、投げ動作によってプレイヤキャラクタ201がボールを投げることができる距離よりも遠い距離に設定されてもよい。
[3.ゲームシステムにおける処理の具体例]
次に、図17~図22を参照して、ゲームシステム1における情報処理の具体例について説明する。
図17は、ゲームシステム1における情報処理に用いられる各種データの一例を示す図である。図17に示す各種データは、本体装置2がアクセス可能な記憶媒体(例えば、フラッシュメモリ84、DRAM85、および/または、スロット23に装着されたメモリカード等)に記憶される。
図17に示すように、ゲームシステム1は、ゲームプログラムを記憶する。ゲームプログラムは、本実施形態におけるゲーム処理(具体的には、図18~図22に示す各処理)を実行するためのゲームプログラムである。
また、ゲームシステム1は、プレイヤキャラクタデータ、サブキャラクタデータ、敵キャラクタデータ、および、選択対象データを記憶する。
プレイヤキャラクタデータは、プレイヤキャラクタに関する各種情報を示す。本実施形態においては、プレイヤキャラクタデータは、所有キャラクタデータ、所有アイテムデータ、および、キャラクタ位置データを含む。所有キャラクタデータは、プレイヤキャラクタが所有するサブキャラクタ(すなわち、プレイヤキャラクタが所有するボールに関連付けられるサブキャラクタ)を示す。また、所有アイテムデータは、プレイヤキャラクタが所有するアイテムを示す。また、キャラクタ位置データは、プレイヤキャラクタのフィールド上における位置を示す。
サブキャラクタデータは、プレイヤキャラクタが所有するサブキャラクタに関する各種情報を示す。サブキャラクタデータは、プレイヤキャラクタが所有するサブキャラクタ毎に記憶される。本実施形態においては、サブキャラクタデータは、登場状態データ、目標位置データ、キャラクタ位置データ、および、体力値データを含む。登場状態データは、サブキャラクタがフィールド上に登場している登場状態であるか否かを示す。目標位置データは、サブキャラクタについて設定される上記目標位置を示す。また、キャラクタ位置データは、サブキャラクタが登場状態である場合における当該サブキャラクタのフィールド上における位置を示す。体力値データは、サブキャラクタの現在の体力値を示す。なお、上記のデータの他、サブキャラクタデータは、サブキャラクタに関する各種能力パラメータ(例えば、最大体力、攻撃力、防御力、および、すばやさ等)を示すデータを含む。
敵キャラクタデータは、フィールドに配置される敵キャラクタに関する各種情報を示す。敵キャラクタデータは、フィールドに配置される敵キャラクタ毎に記憶される。本実施形態においては、敵キャラクタデータは、敵キャラクタに関する各種能力パラメータを示すデータを含む。また、敵キャラクタデータは、敵キャラクタのフィールド上における位置を示すキャラクタ位置データを含む。
選択対象データは、上述の選択指示が行われている場合に選択対象となる敵キャラクタを示す。
図18および図19は、ゲームシステム1によって実行されるフィールド処理の流れの一例を示すフローチャートである。フィールド処理は、ゲーム中においてプレイヤキャラクタがフィールドを移動する場面において実行されるゲーム処理である。フィールド処理は、例えば、上記ゲームプログラムの実行中において、プレイヤキャラクタがフィールドに出たことに応じて開始される。
なお、本実施形態では、本体装置2のプロセッサ81が、ゲームシステム1に記憶されている上記ゲームプログラムを実行することによって、図18~図22に示す各ステップの処理を実行するものとして説明する。ただし、他の実施形態においては、上記各ステップの処理のうちの一部の処理を、プロセッサ81とは別のプロセッサ(例えば、専用回路等)が実行するようにしてもよい。また、ゲームシステム1が他の情報処理装置(例えば、サーバ)と通信可能である場合、図18~図22に示す各ステップの処理の一部は、他の情報処理装置において実行されてもよい。また、図18~図22に示す各ステップの処理は、単なる一例に過ぎず、同様の結果が得られるのであれば、各ステップの処理順序を入れ替えてもよいし、各ステップの処理に加えて(または代えて)別の処理が実行されてもよい。
また、プロセッサ81は、図18~図22に示す各ステップの処理を、メモリ(例えば、DRAM85)を用いて実行する。すなわち、プロセッサ81は、各処理ステップによって得られる情報(換言すれば、データ)をメモリに記憶し、それ以降の処理ステップにおいて当該情報を用いる場合には、メモリから当該情報を読み出して利用する。
図18に示すステップS1において、プロセッサ81は、プレイヤによる操作入力に基づいてフィールド上においてプレイヤキャラクタを移動させる。具体的には、プロセッサ81は、コントローラ通信部83および/または各端子17および21を介して各コントローラから受信される操作データを取得し、取得された操作データに基づいて、プレイヤキャラクタを移動させるための方向入力を判別する。プロセッサ81は、判別された方向入力に基づいてプレイヤキャラクタを移動させる。このとき、プロセッサ81は、メモリに記憶されているプレイヤキャラクタデータに含まれるキャラクタ位置データを、移動後の位置を示すように更新する。ステップS1の次にステップS2の処理が実行される。
ステップS2において、プロセッサ81は、フィールド上に配置されている敵キャラクタの移動を制御する。すなわち、プロセッサ81は、ゲームプログラムにおいて定められるアルゴリズムに従って敵キャラクタを移動させる。なお、敵キャラクタの具体的な移動態様は任意である。プロセッサ81は、メモリに記憶されている敵キャラクタデータを、移動後の位置を示すように更新する。ステップS2の次にステップS3の処理が実行される。
ステップS3において、プロセッサ81は、フィールド上においてプレイヤキャラクタと敵キャラクタとが接触したか否かを判定する。この判定は、メモリに記憶されているプレイヤキャラクタデータに含まれるキャラクタ位置データと、敵キャラクタデータに含まれるキャラクタ位置データとに基づいて行われる。ステップS3の判定結果が肯定である場合、プロセッサ81はフィールド処理を終了する。この場合、プロセッサ81は、後述するコマンド戦闘処理(図22)を実行する。これによって、コマンド戦闘が開始される。一方、ステップS3の判定結果が否定である場合、ステップS4の処理が実行される。
ステップS4において、プロセッサ81は、上記操作データに基づいて、プレイヤによる選択操作が行われているか否かを判定する。ステップS4の判定結果が肯定である場合、ステップS5の処理が実行される。一方、ステップS4の判定結果が否定である場合、ステップS5およびS6の処理がスキップされてステップS7の処理が実行される。
ステップS5において、プロセッサ81は、プレイヤキャラクタから所定距離内に敵キャラクタが配置されているか否かを判定する。この判定は、メモリに記憶されているプレイヤキャラクタデータに含まれるキャラクタ位置データと、敵キャラクタデータに含まれるキャラクタ位置データとに基づいて行われる。ステップS5の判定結果が肯定である場合、ステップS6の処理が実行される。一方、ステップS5の判定結果が否定である場合、ステップS7の処理が実行される。
ステップS6において、プロセッサ81は、プレイヤキャラクタから所定距離内に配置されている敵キャラクタのうちから、選択対象となる敵キャラクタを設定する。すなわち、プロセッサ81は、上記“[2-4.選択指示]”で述べた方法によって選択対象となる敵キャラクタを設定し、当該敵キャラクタを示すデータを選択対象データとしてメモリに記憶する。ステップS6の次にステップS8の処理が実行される。
ステップS7において、プロセッサ81は、選択対象となっている敵キャラクタを解除する。すなわち、プロセッサ81は、メモリに記憶されている選択対象データを、選択対象が設定されていないことを示す内容に更新する。ステップS7の次にステップS8の処理が実行される。
ステップS8において、プロセッサ81は、上記操作データに基づいて、プレイヤによる投げ動作指示が行われたか否かを判定する。ステップS8の判定結果が肯定である場合、ステップS9の処理が実行される。一方、ステップS8の判定結果が否定である場合、ステップS9~S13の処理がスキップされてステップS14の処理が実行される。
ステップS9において、プロセッサ81は、選択対象に設定されている敵キャラクタがあるか否かを判定する。この判定は、メモリに記憶されている選択対象データを参照することで行うことができる。ステップS9の判定結果が肯定である場合、ステップS11の処理が実行される。一方、ステップS9の判定結果が否定である場合、ステップS10の処理が実行される。
ステップS10において、プロセッサ81は、プレイヤキャラクタを基準として設定される上記判定範囲内に敵キャラクタが配置されているか否かを判定する。すなわち、プロセッサ81は、メモリに記憶されているプレイヤキャラクタデータに含まれるキャラクタ位置データに基づいて、上記判定範囲を設定し、設定された判定範囲と、敵キャラクタデータに含まれるキャラクタ位置データが示す位置とに基づいて上記の判定を行う。ステップS10の判定結果が肯定である場合、ステップS11の処理が実行される。一方、ステップS10の判定結果が否定である場合、ステップS12の処理が実行される。
ステップS11において、プロセッサ81は、敵キャラクタに向かってボールを投げるように、プレイヤキャラクタの動作を制御する。なお、ボールを投げる対象となる敵キャラクタは、選択対象に設定されている敵キャラクタがある場合は、当該敵キャラクタであり、選択対象に設定されている敵キャラクタがない場合は、上記判定範囲内に配置されている敵キャラクタである。ステップS11の処理によって、プレイヤキャラクタがボールを投げる動作を行うと共に、ボールは敵キャラクタの方へ飛んでいくように制御される。そして、ボールが敵キャラクタに当たった場合、ステップS11の処理が終了され、プロセッサ81は、後述するコマンド戦闘処理(図22)を実行する。これによって、コマンド戦闘が開始される。
ステップS12において、プロセッサ81は、プレイヤキャラクタの前方に向かってボールを投げるように、プレイヤキャラクタの動作を制御する。ステップS12の処理によって、プレイヤキャラクタがボールを投げる動作を行うと共に、ボールはプレイヤキャラクタの前方に飛んでいくように制御される。そして、ボールがフィールドに落下した場合、ステップS12の処理が終了され、ステップS13の処理が実行される。
ステップS13において、プロセッサ81は、サブキャラクタをフィールドに登場させる。具体的には、プレイヤキャラクタが所有するサブキャラクタのうち、上述の順序が最初であるサブキャラクタをフィールド上に配置する。このとき、当該サブキャラクタに関してメモリに記憶されているサブキャラクタデータに含まれる状態データは、登場状態を示すように更新され、当該サブキャラクタデータに含まれるキャラクタ位置データは、当該サブキャラクタが登場した位置を示すように更新される。ステップS13の次にステップS14の処理が実行される。
図19に示すステップS14において、プロセッサ81は、登場状態であるサブキャラクタが存在するか否かを判定する。この判定は、メモリに記憶されているサブキャラクタデータに含まれる状態データに基づいて行われる。ステップS14の判定結果が否定である場合、ステップS15の処理が実行される。一方、ステップS14の判定結果が肯定である場合、ステップS15~S21の処理がスキップされてステップS22の処理が実行される。
ステップS15において、プロセッサ81は、上記操作データに基づいて、プレイヤによる目標移動指示が行われたか否かを判定する。ステップS15の判定処理は、サブキャラクタがフィールド上に登場していない状況で目標移動指示が行われたか否かを判定する処理である。ステップS15の判定結果が肯定である場合、ステップS16の処理が実行される。一方、ステップS15の判定結果が否定である場合、ステップS16~S21の処理がスキップされてステップS22の処理が実行される。
ステップS16において、プロセッサ81は、プレイヤキャラクタの前方に向かってボールを投げるように、プレイヤキャラクタの動作を制御する。ステップS16の処理は、上記ステップS12の処理と同様である。ステップS16の処理によって、プレイヤキャラクタがボールを投げる動作を行うと共に、ボールはプレイヤキャラクタの前方に飛んでいくように制御される。そして、ボールがフィールドに落下した場合、ステップS16の処理が終了され、ステップS17の処理が実行される。
ステップS17において、プロセッサ81は、サブキャラクタをフィールドに登場させる。ステップS17の処理は、上記ステップS13の処理と同様である。ステップS17の次にステップS18の処理が実行される。
ステップS18において、プロセッサ81は、ステップS9の判定処理と同様に、選択対象に設定されている敵キャラクタがあるか否か(すなわち、選択操作が行われているか否か)を判定する。ステップS18の判定結果が肯定である場合、ステップS20の処理が実行される。一方、ステップS18の判定結果が否定である場合、ステップS21の処理が実行される。
ステップS19において、プロセッサ81は、プレイヤキャラクタを基準として設定される上記判定範囲内に目標対象(すなわち、敵キャラクタまたはアイテム)が配置されているか否かを判定する。すなわち、プロセッサ81は、メモリに記憶されているプレイヤキャラクタデータに含まれるキャラクタ位置データに基づいて、上記判定範囲を設定し、設定された判定範囲と、フィールドに配置されている敵キャラクタおよびアイテムの位置とに基づいて上記の判定を行う。ステップS19の判定結果が肯定である場合、ステップS20の処理が実行される。一方、ステップS19の判定結果が否定である場合、ステップS21の処理が実行される。
ステップS20において、プロセッサ81は、敵キャラクタまたはアイテムの位置をサブキャラクタの目標位置に設定する。具体的には、選択対象に設定されている敵キャラクタがある場合は、当該敵キャラクタの位置が目標位置に設定され、選択対象に設定されている敵キャラクタがない場合は、上記判定範囲内に配置されている敵キャラクタまたはアイテムの位置が目標位置に設定される。このとき、プロセッサ81は、メモリに記憶されているサブキャラクタデータに含まれる目標位置データを、上記ステップS20の処理によって設定された目標位置を示すように更新する。ステップS20の次にステップS22の処理が実行される。
ステップS21において、プロセッサ81は、プレイヤキャラクタの前方における所定位置をサブキャラクタの目標位置に設定する。このとき、プロセッサ81は、メモリに記憶されているサブキャラクタデータに含まれる目標位置データを、上記ステップS21の処理によって設定された目標位置を示すように更新する。ステップS21の次にステップS22の処理が実行される。
以上より、上記ステップS15において目標移動指示が行われたと判定された場合には、ステップS16の処理によってボールが投げられ、ステップS17の処理によってサブキャラクタがフィールド上に登場した後、後述するサブキャラクタ制御処理(図20および図21参照)において、上記ステップS20またはS21で設定された目標位置に向けてサブキャラクタが移動するように制御されることとなる。
なお、上記ステップS1~S21の一連の処理中において、プロセッサ81は、適宜のタイミングで(例えば、1フレーム時間に1回の割合で)ゲーム画像の生成および表示を行う。具体的には、プロセッサ81は、プレイヤキャラクタを視野範囲に含む位置および向きに設定される仮想カメラを、プレイヤの操作に応じて移動させ、仮想カメラの位置から見たフィールドを示すゲーム画像を生成する。このとき、プロセッサ81は、上記ステップS1,S2,S11~S13,S16,およびS17の処理、ならびに、後述するサブキャラクタ制御処理の結果に基づき、これらの処理に応じた動作を各キャラクタが行う様子を表すゲーム画像を生成する。また、プロセッサ81は、上述の状態画像221(図10参照)や、マーカ画像224(図12参照)が適宜含まれるように上記ゲーム画像を生成する。また、プロセッサ81は、プレイヤによって選択指示が行われている間は、選択対象となる敵キャラクタに注視点を合わせるように仮想カメラを制御して上記ゲーム画像を生成する。なお、ゲーム画像は、本体装置2のディスプレイ12に表示されてもよいし、他の表示装置(例えば、上述した据置型モニタ)に表示されてもよい。上記ステップS24の処理が繰り返し実行されることによって、フィールド上において各キャラクタ(すなわち、プレイヤキャラクタ、サブキャラクタ、および、敵キャラクタ)が動作する様子が表示装置に表示される。ステップS24の次にステップS25の処理が実行される。
ステップS22において、プロセッサ81は、ゲームを終了するか否かを判定する。例えば、プロセッサ81は、ゲームを終了する指示がプレイヤによって行われた場合、ゲームを終了すると判定する。ステップS22の判定結果が否定である場合、ステップS1の処理が再度実行される。以降、ステップS3,S9,またはS10の判定結果が肯定となる場合を除き、ステップS22においてゲームを終了すると判定されるまで、ステップS1~S22の一連の処理が繰り返し実行される。一方、ステップS22の判定結果が肯定である場合、プロセッサ81は、図18および図19に示すフィールド処理を終了する。
図20および図21は、サブキャラクタ制御処理の流れの一例を示すサブフローチャートである。サブキャラクタ制御処理は、フィールド上に登場したサブキャラクタの動作を制御するための処理である。サブキャラクタ制御処理は、上記のフィールド処理中においてサブキャラクタがフィールドに登場したことに応じて開始され、サブキャラクタがフィールドに登場している間、上記フィールド処理と並行して実行される。
サブキャラクタ制御処理においては、まずステップS31において、プロセッサ81は、上記操作データに基づいて、プレイヤによる目標移動指示が行われたか否かを判定する。ステップS31の判定結果が肯定である場合、ステップS32の処理が実行される。一方、ステップS31の判定結果が否定である場合、ステップS32~S35の処理がスキップされてステップS36の処理が実行される。
ステップS32において、プロセッサ81は、選択対象に設定されている敵キャラクタがあるか否か(すなわち、選択操作が行われているか否か)を判定する。ステップS32の判定処理は、上記ステップS19の判定処理と同様に行われる。ステップS32の判定結果が肯定である場合、ステップS34の処理が実行される。一方、ステップS32の判定結果が否定である場合、ステップS33の処理が実行される。
ステップS33において、プロセッサ81は、プレイヤキャラクタを基準として設定される上記判定範囲内に目標対象(すなわち、敵キャラクタまたはアイテム)が配置されているか否かを判定する。ステップS33の判定処理は、上記ステップS20の判定処理と同様に行われる。ステップS33の判定結果が肯定である場合、ステップS34の処理が実行される。一方、ステップS33の判定結果が否定である場合、ステップS35の処理が実行される。
ステップS34において、プロセッサ81は、敵キャラクタまたはアイテムの位置をサブキャラクタの目標位置に設定する。ステップS34の処理は、上記ステップS21の処理と同様である。ステップS34の次にステップS36の処理が実行される。
ステップS35において、プロセッサ81は、プレイヤキャラクタの前方における所定位置をサブキャラクタの目標位置に設定する。ステップS35の処理は、上記ステップS22の処理と同様である。ステップS35の次にステップS36の処理が実行される。
ステップS36において、プロセッサ81は、サブキャラクタが目標位置に向かって移動中であるか否かを判定する。この判定は、メモリに記憶されているサブキャラクタデータに含まれる目標位置データに基づいて行われる。具体的には、サブキャラクタに目標位置が設定されており、かつ、当該目標位置にサブキャラクタが到達していない場合、サブキャラクタが目標位置に向かって移動中であると判定される。一方、サブキャラクタに目標位置が設定されていない、または、目標位置にサブキャラクタが到達している場合、サブキャラクタが目標位置に向かって移動中でないと判定される。ステップS36の判定結果が肯定である場合、ステップS37の処理が実行される。一方、ステップS36の判定結果が否定である場合、ステップS38の処理が実行される。
ステップS37において、プロセッサ81は、サブキャラクタを目標位置に向かって移動させる制御を行う。すなわち、プロセッサ81は、当該サブキャラクタについてメモリに記憶されているサブキャラクタデータに含まれる目標位置データが示す位置へ向かってサブキャラクタを移動させる。このとき、当該サブキャラクタデータに含まれるキャラクタ位置データは、当該サブキャラクタの移動後における位置を示すように更新される。また、上記ステップS37の処理によってサブキャラクタが目標位置に到達した場合、プロセッサ81は、目標位置が設定されていないことを示す内容となるように上記目標位置データを更新する。ステップS37の次にステップS39の処理が実行される。
ステップS38において、プロセッサ81は、サブキャラクタを自動的に移動させる制御を行う。すなわち、プロセッサ81は、ゲームプログラムにおいて定められたアルゴリズムに従って、サブキャラクタを自動的に移動させる。このとき、当該サブキャラクタデータに含まれるキャラクタ位置データは、当該サブキャラクタの移動後における位置を示すように更新される。ステップS38の次にステップS39の処理が実行される。
ステップS39において、プロセッサ81は、上記操作データに基づいて、プレイヤによる退出指示が行われたか否かを判定する。ステップS39の判定結果が肯定である場合、ステップS40の処理が実行される。一方、ステップS39の判定結果が否定である場合、ステップS40の処理がスキップされて、図21に示すステップS41の処理が実行される。
ステップS40において、プロセッサ81は、サブキャラクタをフィールドから退出させる。このとき、プロセッサ81は、メモリに記憶されているサブキャラクタデータに含まれる登場状態データを、フィールド上に登場していない状態であることを示すように更新する。ステップS40の後、プロセッサ81はサブキャラクタ制御処理を終了する。なお、ステップS40の処理が実行される場合の他、上記フィールド処理が終了される場合には、プロセッサ81はサブキャラクタ制御処理を終了する。
図21に示すステップS41において、プロセッサ81は、設定されている目標位置に対応する敵キャラクタにサブキャラクタが近づいたか否かを判定する。この判定は、メモリに記憶されているサブキャラクタデータに含まれるキャラクタ位置データと、敵キャラクタデータに含まれるキャラクタ位置データとに基づいて、サブキャラクタの上記アクション範囲内に敵キャラクタが位置するか否かによって行われる。ステップS41の判定結果が肯定である場合、ステップS42の処理が実行される。一方、ステップS39の判定結果が否定である場合、ステップS42およびS43の処理がスキップされて、ステップS44の処理が実行される。
ステップS42において、プロセッサ81は、サブキャラクタおよび敵キャラクタに自動戦闘の動作を行わせる。例えば、プロセッサ81は、対戦相手のキャラクタに対して所定の攻撃動作を行うように、サブキャラクタおよび敵キャラクタを制御する。ステップS42の次にステップS43の処理が実行される。
ステップS43において、プロセッサ81は、自動戦闘の結果(すなわち、勝敗)を決定する。具体的には、プロセッサ81は、自動戦闘を行うサブキャラクタおよび敵キャラクタに関してメモリに記憶されている能力パラメータを示すデータに基づいて、サブキャラクタが勝利するかそれとも敗北するかを決定する。また、プロセッサ81は、各キャラクタの自動戦闘後における体力値を計算し、メモリに記憶されている当該各キャラクタに関する体力値を示すデータを必要に応じて更新する。ステップS43の次にステップS44の処理が実行される。
ステップS44において、プロセッサ81は、自動戦闘を終了させるか否かを判定する。本実施形態においては、自動戦闘の結果は上記ステップS43の処理によって自動戦闘の開始時に決定されるが、自動戦闘は、上記ステップS42の処理によって制御される各キャラクタの戦闘動作が完了してから終了する。したがって、プロセッサ81は、上記各キャラクタの戦闘動作が完了したか否かによって、上記ステップS44の判定を行う。ステップS44の判定結果が肯定である場合、ステップS45の処理が実行される。一方、ステップS44の判定結果が否定である場合、ステップS45~S49の処理がスキップされて、ステップS50の処理が実行される。
ステップS45において、プロセッサ81は、上記ステップS43の処理結果に基づいて、自動戦闘にサブキャラクタが勝利したか否かを判定する。ステップS45の判定結果が肯定である場合、ステップS46の処理が実行される。一方、ステップS45の判定結果が否定である場合、ステップS49の処理が実行される。
ステップS46において、プロセッサ81は、プレイヤキャラクタおよびサブキャラクタに勝利報酬を付与する。具体的には、プロセッサ81は、自動戦闘によって倒した敵キャラクタに応じたアイテムをプレイヤキャラクタに付与すると共に、当該敵キャラクタに応じた量の経験値をサブキャラクタに付与する。このとき、プロセッサ81は、メモリに記憶されているプレイヤキャラクタデータおよびサブキャラクタデータを、付与後の内容を示すように更新する。ステップS46の次にステップS47の処理が実行される。
ステップS47において、プロセッサ81は、サブキャラクタに自動戦闘を継続して行わせるか否かを判定する。具体的には、プロセッサ81は、サブキャラクタを基準とした上記アクション範囲内に敵キャラクタが配置されているか否かを判定する。ステップS47の判定結果が肯定である場合、ステップS48の処理が実行される。一方、ステップS47の判定結果が否定である場合、ステップS48の処理がスキップされてステップS50の処理が実行される。
ステップS48において、プロセッサ81は、上記アクション範囲内に配置されている敵キャラクタの位置を、新たな目標位置として設定する。このとき、プロセッサ81は、メモリに記憶されているサブキャラクタデータに含まれる目標位置データを、上記敵キャラクタの位置を示すように更新する。これによって、次に実行される上記ステップS41においては、上記敵キャラクタにサブキャラクタが近づいたと判定されることとなり、当該敵キャラクタとサブキャラクタとの自動戦闘が行われる。ステップS48の次にステップS50の処理が実行される。
ステップS49において、プロセッサ81は、プレイヤキャラクタに向けて移動するようにサブキャラクタを制御する。具体的には、プロセッサ81は、プレイヤキャラクタの近傍における所定位置を、サブキャラクタの目標位置として設定する。このとき、メモリに記憶されているサブキャラクタデータに含まれる目標位置データは、上記所定位置を示すように更新される。これによって、以降に実行される上記ステップS37の処理によって、サブキャラクタはプレイヤキャラクタに向けて移動することとなる。ステップS49の次にステップS50の処理が実行される。
ステップS50において、プロセッサ81は、設定されている目標位置に対応するアイテムにサブキャラクタが近づいたか否かを判定する。この判定は、メモリに記憶されているサブキャラクタデータに含まれるキャラクタ位置データと、フィールドに配置されているアイテムの位置を示すデータとに基づいて、サブキャラクタの上記アクション範囲内にアイテムが位置するか否かによって行われる。ステップS50の判定結果が肯定である場合、ステップS51の処理が実行される。一方、ステップS50の判定結果が否定である場合、ステップS31の処理が再度実行される。
ステップS51において、プロセッサ81は、サブキャラクタの近くのアイテムをプレイヤキャラクタに付与する。具体的には、プロセッサ81は、上記アイテムをフィールド上から消去すると共に、メモリに記憶されているプレイヤキャラクタデータを、当該アイテムを所有する内容となるように更新する。なお、ステップS51においては、プロセッサ81は、上記アイテムをフィールド上から消去する処理を実行し、当該アイテムをプレイヤキャラクタに付与する処理は、その後のタイミング(例えば、サブキャラクタがプレイヤキャラクタの近くに来たタイミングや、サブキャラクタがフィールドから退出するタイミング)で実行されてもよい。ステップS51の後、ステップS31の処理が再度実行される。
図22は、ゲームシステム1によって実行されるコマンド戦闘処理の流れの一例を示すフローチャートである。コマンド戦闘処理は、ゲーム中においてコマンド戦闘が行われる場合に実行されるゲーム処理である。コマンド戦闘処理は、上記フィールド処理におけるステップS3またはS13の判定結果が肯定となったことによってフィールド処理が終了されたことに応じて開始される。
なお、図22に示すコマンド戦闘処理においては、コマンド戦闘における1ターンにおいて、ステップS61~S66の処理ループにおける処理が1回実行され、コマンド戦闘においてターンが繰り返される場合には、ステップS61~S66の処理ループが繰り返し実行される。また、図22においては図示しないが、ステップS61~S66の一連の処理において、プロセッサ81は、適宜のタイミングでゲーム画像の生成および表示を行う。これによって、図9に示すようなゲーム画像が表示されたり、ゲーム画像が更新されることによって、各キャラクタが攻撃動作を行うアニメーションが表示されたりする。
図22に示すステップS61において、プロセッサ81は、味方のキャラクタ(すなわち、プレイヤキャラクタおよびサブキャラクタ)の行動を決定する。すなわち、プロセッサ81は、上述のコマンド画像を含むゲーム画像(図9参照)を表示し、コマンドを指定する操作入力を受け付ける。プロセッサ81は、コントローラ通信部83および/または各端子17および21を介して各コントローラから受信される操作データを取得し、取得された操作データに基づいて、プレイヤによって指定されたコマンドを特定する。プロセッサ81は、特定されたコマンドに対応する行動を、味方のキャラクタがとる行動として決定する。ステップS61の次にステップS62の処理が実行される。
ステップS62において、プロセッサ81は、敵キャラクタの行動を決定する。すなわち、プロセッサ81は、ゲームプログラムにおいて定められるアルゴリズムに従って敵キャラクタが行う行動を決定する。ステップS62の次にステップS63の処理が実行される。
ステップS63において、プロセッサ81は、ステップS61およびS62で決定された行動に基づいて、各キャラクタ(すなわち、プレイヤキャラクタ、サブキャラクタ、および、敵キャラクタ)の動作を制御する。本実施形態においては、プロセッサ81は、ゲームプログラムにおいて定められるルールに従って、各キャラクタの行動順を決定し、決定された行動順に従って各キャラクタに順次動作を行わせる。また、キャラクタによる攻撃動作が行われることによって他のキャラクタが攻撃を受ける場合には、プロセッサ81は、当該他のキャラクタが受けるダメージを計算し、当該他のキャラクタの体力値を変更する。ステップS63の次にステップS64の処理が実行される。
ステップS64において、プロセッサ81は、敵キャラクタの捕獲に成功したか否かを判定する。すなわち、上記ステップS61において、プレイヤキャラクタが捕獲を行うことが決定された場合、上記ステップS63において、プレイヤキャラクタによって敵キャラクタを捕獲する動作が行われるとともに、捕獲が成功したかそれとも失敗したかが決定される。ステップS64においては、上記の捕獲が成功したか否かが判定される。ステップS64の判定結果が肯定である場合、ステップS65の処理が実行される。一方、ステップS64の判定結果が否定である場合、ステップS65の処理がスキップされてステップS66の処理が実行される。
ステップS65において、プロセッサ81は、捕獲に成功した敵キャラクタを、プレイヤキャラクタが所有するサブキャラクタに加える。このとき、プロセッサ81は、メモリに記憶されている所有キャラクタデータを、捕獲に成功した敵キャラクタを含む内容となるように更新する。ステップS65の次にステップS66の処理が実行される。
ステップS66において、プロセッサ81は、コマンド戦闘を終了するか否かを判定する。例えば、(a)敵キャラクタの体力が0になった、または、捕獲されたこと、(b)サブキャラクタの体力が0になったこと、(c)プレイヤキャラクタがコマンド戦闘から逃げることに成功したこと、のうちいずれかの条件が満たされた場合には、プロセッサ81は、コマンド戦闘を終了すると判定する。一方、上記の条件のいずれも満たされない場合、プロセッサ81は、コマンド戦闘を終了しないと判定する。ステップS66の判定結果が肯定である場合、ステップS67の処理が実行される。一方、ステップS66の判定結果が否定である場合、ステップS61の処理が再度実行される。以降、ステップS66においてコマンド戦闘を終了すると判定されるまで、ステップS61~S66の処理ループが繰り返し実行されることで、コマンド戦闘におけるターンが繰り返されることとなる。
ステップS67において、プロセッサ81は、コマンド戦闘にサブキャラクタが勝利したか否かを判定する。具体的には、プロセッサ81は、上記(a)の条件が満たされることでコマンド戦闘が終了した場合には、サブキャラクタが勝利したと判定する。一方、上記(b)または(c)の条件が満たされることでコマンド戦闘が終了した場合には、プロセッサ81は、サブキャラクタは勝利していないと判定する。ステップS67の判定結果が肯定である場合、ステップS68の処理が実行される。一方、ステップS67の判定結果が否定である場合、ステップS69の処理が実行される。
ステップS68において、プロセッサ81は、プレイヤキャラクタおよびサブキャラクタに勝利報酬を付与する。ステップS68の処理は、上記ステップS46の処理と同様である。ただし、本実施形態においては、プロセッサ81は、ステップS68の処理においては、同じ敵キャラクタに勝利することで上記ステップS46の処理が実行される場合よりも多くの経験値をサブキャラクタに付与する。ステップS68の次にステップS69の処理が実行される。
ステップS69において、プロセッサ81は、コマンド戦闘後におけるサブキャラクタの状態を設定する。具体的には、プロセッサ81は、サブキャラクタがコマンド戦闘に敗北した場合には、当該サブキャラクタをフィールド上から退出した状態に設定し、それ以外の場合(すなわち、コマンド戦闘にサブキャラクタが勝利した場合、または、プレイヤキャラクタがコマンド戦闘から逃げることで戦闘が終了した場合)には、当該サブキャラクタを登場状態に設定する。プロセッサ81は、メモリに記憶されているサブキャラクタデータに含まれる状態データを、設定後の内容を示すように更新する。ステップS69の後、プロセッサ81はコマンド戦闘処理を終了する。コマンド戦闘処理の終了後、上述のフィールド処理が実行され、サブキャラクタがフィールド上に配置される場合はサブキャラクタ制御処理も実行される。
[4.本実施形態の作用効果および変形例]
以上のように、上記実施形態においては、ゲームプログラムは、情報処理装置(一例としては、本体装置2)のコンピュータに、次の処理を実行させる構成である。
・移動操作入力に基づいて、仮想空間内のフィールド上においてプレイヤキャラクタを移動させる処理(ステップS1)
・第1の操作入力(一例としては、投げ動作指示のための操作入力)に基づいてサブキャラクタをフィールド上に登場させる制御(フィールド処理におけるステップS13、または、コマンド戦闘処理)を行うと共に、(a)当該サブキャラクタを登場させる場所に敵キャラクタが配置されている場合、操作入力に基づいて戦闘が進行する第1の方式による、当該サブキャラクタと敵キャラクタとの戦闘(一例としては、上記コマンド戦闘)を制御し(ステップS63)、(b)サブキャラクタを登場させる場所に敵キャラクタが配置されていない場合、登場したサブキャラクタを自動的に移動させる自動制御を開始する(ステップS38)処理
・第2の操作入力に基づいてフィールド上においてサブキャラクタを所定方向に移動させる制御を行わせる(ステップS37)と共に、移動先の場所に敵キャラクタが配置されている場合、自動的に進行する第2の方式による、当該サブキャラクタと当該敵キャラクタとの戦闘(一例としては、上記自動戦闘)を制御させる処理(ステップS42)
上記の構成によれば、プレイヤは、第1の方式による戦闘と第2の方式による戦闘という2種類の戦闘を行うことが可能である。また、上記の構成によれば、プレイヤが操作入力を行う第1の方式による戦闘と、より簡易な第2の方式による戦闘とをプレイヤが選択して行うことができるので、例えばプレイヤはゲーム状況や好みに合わせて戦闘を行うことができ、快適にゲームを進めることができる。
上記「サブキャラクタを登場させる場所」とは、サブキャラクタが登場時に配置される位置を含む範囲(例えば、上述の判定範囲や、当該位置から所定距離内の範囲であってもよい)を指す意味である。したがって、「サブキャラクタを登場させる場所に敵キャラクタが配置されている場合」とは、サブキャラクタが登場時に配置される位置の近くに敵キャラクタが配置されている場合を含む意味である。
上記「第2の操作入力に基づいてフィールド上においてサブキャラクタを所定方向に移動させる制御」とは、サブキャラクタの移動先の位置(例えば、上述の目標位置)を第2の操作入力によって指定する(サブキャラクタの現在位置から移動先の位置への方向を第2の操作入力によって指定する、とも言うことができる)制御であってもよいし、サブキャラクタデータ移動方向を第2の操作入力によって指定する制御であってもよい意味である。
また、上記第1の方式による戦闘は、プレイヤによる操作入力に基づいて戦闘が進行する任意の方式の戦闘を含む意味である。上記実施形態においては、第1の方式による戦闘の具体例として、プレイヤがコマンドを指定するコマンド戦闘を挙げたが、上記第1の方式による戦闘は、上記コマンド戦闘に限らない。例えば、他の実施形態においては、上記第1の方式による戦闘として、方向入力に応じてキャラクタが戦闘フィールドを移動したり、所定のボタン入力に応じてキャラクタが攻撃動作やジャンプ動作を行ったりする戦闘が行われてもよい。
なお、上記の実施形態において、ある情報処理装置においてデータ(プログラムを含む意味である)を用いて処理が実行される場合、当該処理に必要なデータの一部が、当該ある情報処理装置とは異なる他の情報処理装置から送信されてもよい。このとき、当該ある情報処理装置は、他の情報処理装置から受信されたデータと、自身に記憶されているデータとを用いて上記処理を実行してもよい。
なお、他の実施形態において、情報処理システムは、上記実施形態における構成の一部を備えていなくてもよいし、上記実施形態において実行される処理の一部を実行しなくてもよい。例えば、情報処理システムは、上記実施形態における一部の特定の効果を奏するためには、当該効果を奏するための構成を備え、当該効果を奏するための処理を実行すればよく、その他の構成を備えていなくてもよいし、その他の処理を実行しなくてもよい。