本実施形態の一例に係る球状コントローラについて説明する前に、まず、当該球状コントローラが用いられるゲームシステムについて説明する。本実施形態におけるゲームシステム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は、加速度センサ89を備える。本実施例においては、加速度センサ89は、所定の3軸(例えば、図1に示すxyz軸)方向に沿った加速度の大きさを検出する。なお、加速度センサ89は、1軸方向あるいは2軸方向の加速度を検出するものであってもよい。
また、本体装置2は、角速度センサ90を備える。本実施例においては、角速度センサ90は、所定の3軸(例えば、図1に示すxyz軸)回りの角速度を検出する。なお、角速度センサ90は、1軸回りあるいは2軸回りの角速度を検出するものであってもよい。
加速度センサ89および角速度センサ90は、プロセッサ81に接続され、加速度センサ89および角速度センサ90の検出結果は、プロセッサ81へ出力される。プロセッサ81は、上記の加速度センサ89および角速度センサ90の検出結果に基づいて、本体装置2の動きおよび/または姿勢に関する情報を算出することが可能である。
本体装置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へ出力する。
左コントローラ3は、慣性センサを備える。具体的には、左コントローラ3は、加速度センサ104を備える。また、左コントローラ3は、角速度センサ105を備える。本実施例においては、加速度センサ104は、所定の3軸(例えば、図4に示すxyz軸)方向に沿った加速度の大きさを検出する。なお、加速度センサ104は、1軸方向あるいは2軸方向の加速度を検出するものであってもよい。本実施例においては、角速度センサ105は、所定の3軸(例えば、図4に示すxyz軸)回りの角速度を検出する。なお、角速度センサ105は、1軸回りあるいは2軸回りの角速度を検出するものであってもよい。加速度センサ104および角速度センサ105は、それぞれ通信制御部101に接続される。そして、加速度センサ104および角速度センサ105の検出結果は、適宜のタイミングで繰り返し通信制御部101へ出力される。
通信制御部101は、各入力部(具体的には、各ボタン103、アナログスティック32、各センサ104および105)から、入力に関する情報(具体的には、操作に関する情報、またはセンサによる検出結果)を取得する。通信制御部101は、取得した情報(または取得した情報に所定の加工を行った情報)を含む操作データを本体装置2へ送信する。なお、操作データは、所定時間に1回の割合で繰り返し送信される。なお、入力に関する情報が本体装置2へ送信される間隔は、各入力部について同じであってもよいし、同じでなくてもよい。
上記操作データが本体装置2へ送信されることによって、本体装置2は、左コントローラ3に対して行われた入力を得ることができる。すなわち、本体装置2は、各ボタン103およびアナログスティック32に対する操作を、操作データに基づいて判別することができる。また、本体装置2は、左コントローラ3の動きおよび/または姿勢に関する情報を、操作データ(具体的には、加速度センサ104および角速度センサ105の検出結果)に基づいて算出することができる。
左コントローラ3は、振動によってユーザに通知を行うための振動子107を備える。本実施例においては、振動子107は、本体装置2からの指令によって制御される。すなわち、通信制御部101は、本体装置2からの上記指令を受け取ると、当該指令に従って振動子107を駆動させる。ここで、左コントローラ3は、コーデック部106を備える。通信制御部101は、上記指令を受け取ると、指令に応じた制御信号をコーデック部106へ出力する。コーデック部106は、通信制御部101からの制御信号から振動子107を駆動させるための駆動信号を生成して振動子107へ与える。これによって振動子107が動作する。
振動子107は、より具体的にはリニア振動モータである。リニア振動モータは、回転運動をする通常のモータと異なり、入力される電圧に応じて所定方向に駆動されるため、入力される電圧の波形に応じた振幅および周波数で振動をさせることができる。本実施形態において、本体装置2から左コントローラ3に送信される振動制御信号は、単位時間ごとに周波数と振幅とを表すデジタル信号であってよい。別の実施形態においては、本体装置2から波形そのものを示す情報を送信するようにしてもよいが、振幅および周波数だけを送信することで通信データ量を削減することができる。また、さらにデータ量を削減するため、そのときの振幅および周波数の数値に替えて、前回の値からの差分だけを送信するようにしてもよい。この場合、コーデック部106は、通信制御部101から取得される振幅および周波数の値を示すデジタル信号をアナログの電圧の波形に変換し、当該波形に合わせて電圧を入力することで振動子107を駆動させる。したがって、本体装置2は、単位時間ごとに送信する振幅および周波数を変えることによって、そのときに振動子107を振動させる振幅および周波数を制御することができる。なお、本体装置2から左コントローラ3に送信される振幅および周波数は、1つに限らず、2つ以上送信するようにしてもよい。その場合、コーデック部106は、受信された複数の振幅および周波数それぞれが示す波形を合成することで、振動子107を制御する電圧の波形を生成することができる。
左コントローラ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、慣性センサ(加速度センサ114および角速度センサ115)を備える。これらの各入力部については、左コントローラ3の各入力部と同様の機能を有し、同様に動作する。
また、右コントローラ4は、振動子117およびコーデック部116を備える。振動子117およびコーデック部116は、左コントローラ3の振動子107およびコーデック部106と同様に動作する。すなわち、通信制御部111は、本体装置2からの指令に従って、コーデック部116を用いて振動子117を動作させる。
右コントローラ4は、電力供給部118を備える。電力供給部118は、左コントローラ3の電力供給部108と同様の機能を有し、同様に動作する。
以上に説明したように、本実施形態におけるゲームシステム1については左コントローラ3および右コントローラ4が本体装置2から着脱可能である。また、クレードルに左コントローラ3および右コントローラ4が本体装置2に装着された一体型装置や本体装置2単体を装着することによって据置型モニタ6に画像(および音声)を出力可能である。
次に、本実施形態の一例に係る球状コントローラについて説明する。本実施例においては、球状コントローラは、本体装置2に対して指示を行うための操作装置として、上記各コントローラ3および4に代えて用いることも可能であるし、上記各コントローラ3および/または4とともに用いることも可能である。以下、球状コントローラの詳細について説明する。
図8は、球状コントローラの一例を示す斜視図である。図8は、球状コントローラ200を前方上側から見た斜視図である。図8に示すように、球状コントローラ200は、球状のコントローラ本体部201と、ストラップ部202とを備える。例えば、ユーザは、ストラップ部202を腕に掛けつつ、コントローラ本体部201を把持した状態で、球状コントローラ200を使用する。
ここで、以下における球状コントローラ200(具体的には、コントローラ本体部201)に関する説明においては、上下方向、左右方向、および、前後方向を次のように規定する(図8参照)。すなわち、球状のコントローラ本体部201の中心からジョイスティック212への向きを前方向(すなわち、図8に示すz軸負方向)とし、その反対方向を後方向(すなわち、図8に示すz軸正方向)とする。また、前後方向から見た場合にコントローラ本体部201の中心から操作面213の中心への向きと一致する方向を上方向(すなわち、図8に示すy軸正方向)とし、その反対方向を下方向(すなわち、図8に示すy軸負方向)とする。さらに、コントローラ本体部201の中心から、コントローラ本体部201を前側から見て右端となる位置への向きを右方向(すなわち、図8に示すx軸正方向)とし、その反対方向を左方向(すなわち、図8に示すx軸負方向)とする。なお、上下方向、左右方向、および、前後方向は、互いに直交する。
図9は、コントローラ本体部の一例を示す六面図である。図9において、(a)は正面図であり、(b)は右側面図であり、(c)は左側面図であり、(d)は平面図であり、(e)は底面図であり、(f)は背面図である。
図9に示すように、コントローラ本体部201は、球状の形状である。ここで、「球状の形状」とは、外観が概ね球のように見える形状を意味する。球状の形状とは、真球形状であってもよいし、真球の球面に対して欠けている部分、および/または、真球の球面に対して突出している部分を有する形状であってもよい。球状の形状とは、その表面の一部が球面でない形状であってもよい。また、球状の形状とは、真球が若干歪んだ形状であってもよい。
図9に示すように、コントローラ本体部201は、球状の筐体211を備える。本実施例においては、コントローラ本体部201(換言すれば、筐体211)は、ユーザが片手で把持することができる大きさである(図10参照)。筐体211の直径は、例えば4cm〜10cmの範囲で設定される。
本実施例においては、筐体211は、球体の一部が切り欠かれるとともに、一部に孔を有する形状である。筐体211上に操作部(例えば、ジョイスティック212および再起動ボタン214)を設けたり、あるいは、筐体211に他の部品(例えば、ストラップ部202)を取り付けたりする目的で、筐体211には孔が設けられる。
具体的には、本実施例においては、筐体211の前端部分は、平面(前端面)となっている(図9の(b)〜(e)参照)。筐体211は、上記前端面を含む平面で球体を切って当該球体の前端部分を切り落とした形状と言うことができる。図10に示すように、筐体211の前端面には、開口211aが設けられ、方向入力部の一例であるジョイスティック212がこの開口211aから露出するように設けられる。本実施例においては、開口211aの形状は円形であるが、他の実施例においては、開口211aの形状は任意である。例えば、開口211aは、多角形(具体的には、三角形、四角形、および、五角形等)、楕円形、または、星形の形状であってもよい。
ジョイスティック212は、ユーザが任意の方向に傾けることが可能な軸部を有する。また、ジョイスティック212は、軸部を傾倒する操作に加えて、当該軸部を押し下げる操作も可能な種類のジョイスティックである。なお、他の実施例においては、ジョイスティック212は他の種類の入力デバイスであってもよい。なお、本実施例では、ゲームコントローラに設けられた方向入力部の一例としてジョイスティック212を用いている。
ジョイスティック212は、筐体211の前端部分に設けられる。図9に示すように、ジョイスティック212は、筐体211の開口211aから当該ジョイスティック212の一部(具体的には、軸部)が露出するように設けられる。したがって、ユーザは、軸部を傾倒する操作を容易に行うことができる。なお、他の実施例においては、ジョイスティック212は、上記平面に設けられる開口211aから露出し、当該平面から突出して設けられなくてもよい。ジョイスティック212の位置は、上下方向および左右方向については、球状のコントローラ本体部201の中央である(図9の(a)参照)。このように、ユーザは、外形形状が球状のゲームコントローラを用いて、軸部を傾倒する方向入力操作を行うことができる。すなわち、本実施例によれば、外形形状が球状のゲームコントローラを用いて、より詳細な操作を行うことができる。
また、図9の(d)に示すように、筐体211の上端部分には、操作面213が設けられる。操作面213の位置は、左右方向および前後方向については、球状のコントローラ本体部201の中央である(図9の(d)参照)。本実施例においては、操作面213(換言すれば、操作面213の外周)は、筐体211の球面上に形成される、円状の形状である。ただし、他の実施例においては、操作面213の形状は任意であり、例えば四角形または三角形等であってもよい。詳細は後述するが、操作面213は、上から押下可能に構成される。
本実施例においては、操作面213は、筐体211の表面と一体的に形成される。操作面213は、押し下げ操作が可能な操作部(操作ボタンとも言う)の一部である。なお、操作面213は、筐体211における操作面213以外の部分と一体的に形成されていることから、筐体211の一部であると言うこともできる。なお、本実施例においては、操作面213は、押し下げられることによって変形可能である。操作面213を有する操作部は、当該操作面213を押し下げることにより入力される(すなわち、入力が行われる)。
以下、図10を参照して、ジョイスティック212と操作面213との位置関係について説明する。図10は、コントローラ本体部をユーザが把持した様子の一例を示す図である。図10に示すように、ユーザは、コントローラ本体部201を片手で把持した状態で、親指でジョイスティック212を操作し、人差し指で操作面213を操作することが可能である。なお、図10においては、ユーザが左手でコントローラ本体部201を把持する場合を例として示している。ただし、ユーザは、右手でコントローラ本体部201を把持する場合も左手で把持する場合と同様に、右手の親指でジョイスティック212を操作し、右手の人差し指で操作面213を操作することが可能である。
上記のように、本実施例においては、押し下げ操作が可能な操作面213が設けられる。これによれば、ユーザは、外形形状が球状のゲームコントローラを用いて、ジョイスティックを用いた方向入力操作と、操作面213に対する押し下げ操作との両方を行うことができる。これによって、外形形状が球状のゲームコントローラを用いて、多様な操作を行うことが可能となる。
また、コントローラ本体部201は、再起動ボタン214を備える。再起動ボタン214は、球状コントローラ200を再起動する指示を行うためのボタンであり、図9の(c)および(f)に示すように、筐体211の後端より左側の位置に設けられる。再起動ボタン214の上下方向における位置は、球状のコントローラ本体部201の中央である。再起動ボタン214の前後方向における位置は、球状のコントローラ本体部201の中央より後の位置である。なお、他の実施例においては、再起動ボタン214の位置は任意であり、例えば、筐体211の後側の任意の位置に設けられてもよい。
また、本実施例においては、筐体211の内側に発光部(すなわち、図11に示す発光部248)が設けられ、筐体211の開口211aから筐体211の外部へ光が出射される。例えば、筐体211の内部の発光部248が発光すると、図示しない導光部内を通った光が開口211aから筐体211の外部へ出射され、ジョイスティック212の周囲が光って見える。一例として、発光部248は、3つの発光素子(例えば、LED)を含む。各発光素子は、互いに異なる色の光を発する。具体的には、第1発光素子は赤色の光を発し、第2発光素子は緑色の光を発し、第3発光素子は青色の光を発する。発光部248の各発光素子からの光は、上記導光部内を進み、開口211aから出射される。このとき、各発光素子による各色の光が混合されて開口211aから出射されるので、混色された光が開口211aから出射される。これによって、球状コントローラ200は、様々な色の光を発することができる。なお、本実施例においては、発光部248は、3つの発光素子を有する構成であるが、他の実施例においては、発光部248は、2以上の任意の数の発光素子を有していてもよいし、1つの発光素子のみを有していてもよい。
また、本実施例においては、筐体211の内部に振動部271が設けられる。振動部271は、振動を発生して筐体211を振動させる振動子である。例えば、振動部271は、ボイスコイルモータである。すなわち、振動部271は、自身に入力される信号に応じて振動を発生することが可能であるとともに、当該信号に応じて音を発生することが可能である。例えば、可聴域の周波数の信号が振動部271に入力される場合、振動部271は、振動を発生するとともに音(すなわち、可聴音)を発生する。例えば、ゲームに登場するキャラクタの声(または鳴き声)を示す音声信号が入力される場合、振動部271は、当該キャラクタの声(または鳴き声)を出力する。また、可聴域外の周波数の信号が振動部271に入力される場合、振動部271は、振動を発生する。なお、振動部271に入力される信号は、振動部271が行うべき振動の波形を示す信号ということもできるし、振動部271が出力すべき音の波形を示す音声信号ということもできる。振動部271に入力される信号は、振動部271に所望の波形の振動を行わせることを意図した振動信号であってもよいし、振動部271に所望の音を出力させることを意図した音声信号であってもよいし、振動部271に所望の音を出力させることと、振動部271に所望の波形の振動を行わせることの両方を意図した信号であってもよい。本実施例では、筐体211の内部に振動部271から音声を出力させるための音声データ(捕獲対象再生データ、共通再生データ)が格納されるが、当該音声データは、振動部271から所望の音声を出力させるための可聴域の周波数の音声信号が少なくとも含んでおり、振動部271に所望の波形の振動を行わせるための可聴域外の周波数の振動信号が含まれていてもかまわない。
以上のように、本実施例においては、振動部271が振動および音を出力することができるので、球状コントローラ200から振動および音を出力させることができるとともに、コントローラ本体部201の内部構成を簡易化することができる。なお、このような効果を期待しない場合、球状コントローラ200は、音声を出力するためのスピーカ(音声出力部)と振動を行うための振動子(振動出力部)とがそれぞれ別に設けられていてもかまわない。なお、本実施例では、音声出力部の一例として振動部271を用いており、音声出力部は振動部を兼ねていてもかまわないし、音声出力部と振動部とが別に設けられていてもよい。
また、本実施例においては、球状コントローラ200は、筐体211の中心付近に設けられる慣性センサ247(例えば、加速度センサおよび/または角速度センサ)を備える。これによれば、慣性センサ247は、上下方向、左右方向、および前後方向の3軸方向に対して等しい条件で加速度および/または当該3軸方向周りに対して等しい条件で角速度検出を行うことができる。これによって、慣性センサ247による加速度検出精度およびまたは角速度検出精度を向上することができる。
図11は、球状コントローラ200の電気的な接続関係の一例を示すブロック図である。図11に示すように、球状コントローラ200は、制御部321およびメモリ324を備える。制御部321は、プロセッサを有している。本実施例においては、制御部321は、本体装置2との通信処理を制御したり、振動部271から出力する振動や音声を制御したり、発光部248が発する光を制御したり、図11に示す各電気的構成要素に対する電力供給を制御したりする。メモリ324はフラッシュメモリ等で構成され、制御部32はメモリ324に記憶されるファームウェアを実行することによって各種の処理を実行する。また、メモリ324には、振動部271(ボイスコイルモータ)から音声を出力するための音声データや発光部248から様々な色の光を発光するための発光データが記憶されていてもよい。なお、メモリ324には、制御動作に用いられるデータが記憶されてもよいし、本体装置2において実行される、球状コントローラ200を用いたアプリケーション(例えば、ゲームアプリケーション)において用いられるデータが記憶されてもよい。
制御部321は、球状コントローラ200が備える入力手段に電気的に接続される。本実施例においては、球状コントローラ200は、入力手段として、上記ジョイスティック212、検知回路322、慣性センサ247、およびボタン検知部258を備える。検知回路322は、上述の操作面213に対する操作が行われたことを検知する検知回路である。ボタン検知部258は、再起動ボタン214に対する操作を検知するための接点と、当該接点に対して再起動ボタン214が接触したことを検知する検知回路が設けられる。制御部321は、入力手段に対して行われた操作に関する情報(換言すれば、データ)を各入力手段から取得する。
制御部321は、通信部323に電気的に接続される。通信部323は、アンテナを含み、本体装置2との無線通信を行う。すなわち、制御部321は、通信部323を用いて(換言すれば、通信部323を介して)本体装置2に対して情報(換言すればデータ)を送信したり、通信部323を用いて本体装置2から情報(換言すればデータ)を受信したりする。例えば、制御部321は、ジョイスティック212、検知回路322、および慣性センサ247から取得された情報を、通信部323を介して本体装置2へ送信する。なお、本実施例においては、通信部323(および/または、制御部321)は、ジョイスティック212に対する操作に関する情報を本体装置2へ送信する送信部として機能する。また、通信部323(および/または、制御部321)は、操作面213に対する操作に関する情報を本体装置2へ送信する送信部として機能する。また、通信部323(および/または、制御部321)は、慣性センサ247から出力される情報を本体装置2へ送信する送信部として機能する。本実施例においては、通信部323は、本体装置2との間で、Bluetooth(登録商標)の規格に従った通信を行う。また、本実施例では、ゲームコントローラの受信手段の一例として通信部323(および/または、制御部321)を用いており、通信部323(および/または、制御部321)は、振動部271を振動させたり音声出力させたりするための波形を示す音声振動データ等を本体装置2から受信する。
なお、他の実施形態においては、通信部323は、無線通信に代えて、本体装置2と有線通信を行うものであってもよい。また通信部323は、本体装置2と無線通信を行う機能と、有線通信を行う機能との両方の機能を有していてもよい。
制御部321は、球状コントローラ200が備える出力手段に電気的に接続される。本実施例においては、球状コントローラ200は、出力手段として、振動部271および発光部248を備える。制御部321は、出力手段による動作を制御する。例えば、制御部321は、上記入力手段から取得される情報を参照することによって、当該入力手段に対する操作に応じて、出力手段による動作を制御してもよい。例えば、制御部321は、操作面213が押下されたことに応じて、振動部271を振動させたり、発光部248を発光させたりしてもよい。また、制御部321は、通信部323を介して本体装置2から受信された情報に基づいて、出力手段による動作を制御してもよい。すなわち、制御部321は、本体装置2からの制御指令に従って、振動部271を振動させたり、発光部248を発光させたりしてもよい。また、本体装置2は、振動部271を振動させたり音声出力させたりするための波形を示す信号を球状コントローラ200へ送信し、制御部321は、当該波形に従って振動部271を振動させたり音声出力させたりするようにしてもよい。すなわち、通信部323のアンテナは、振動部271を振動させるための信号を外部(すなわち、本体装置2)から受信し、振動部271は、アンテナによって受信された信号に基づいて振動してもよい。なお、本実施例においては、振動部271は、振動や音声を出力することが可能なボイスコイルモータであるので、制御部321は、上記波形に従って振動部271から振動や音声を出力することが可能である。
制御部321は、球状コントローラ200内に設けられた充電池244に電気的に接続される。制御部321は、充電池244から各入力手段、各出力手段、および、通信部に対する電力供給を制御する。なお、充電池244は、各入力手段、各出力手段、および、通信部に対して直接接続されていてもよい。本実施例においては、制御部321は、ボタン検知部258から取得された情報(すなわち、再起動ボタン214が押下されているか否かを示す情報)に基づいて上記電力供給を制御する。具体的には、再起動ボタン214が押下されている場合(換言すれば、押下されている間)、充電池244から各入力手段、各出力手段、および、通信部に対する電力供給を停止する。また、制御部321は、再起動ボタン214が押下されていない場合(換言すれば、押下されていない間)、充電池244から各入力手段、各出力手段、および、通信部に対する電力供給を行う。このように、本実施例においては、再起動ボタン214は、球状コントローラ200を再起動(換言すれば、リセット)するための指示を行うためのボタンである。再起動ボタン214は、球状コントローラ200を電源のオンオフを制御する指示を行うためのボタンであると言うこともできる。
また、充電池244は、球状コントローラ200の外周面に設けられた充電端子249に電気的に接続される。充電端子249は、図示しない充電機器(例えば、ACアダプタ等)を接続するための端子である。本実施例においては、充電端子249は、USBコネクタ(より具体的には、メス側コネクタ)である。本実施例においては、商用電源が供給されている充電機器が充電端子249に電気的に接続される場合、充電端子249を介して充電池244に電力が供給され、それによって充電池244が充電される。
以下、左コントローラ3および右コントローラ4を本体装置2から取り外した状態で、クレードルに本体装置2単体を装着することによって据置型モニタ6に画像(および音声)を出力する利用態様において、球状コントローラ200を用いて操作するゲームシステムを用いて説明する。
上述のように、本実施例においては、左コントローラ3および右コントローラ4を本体装置2から外した状態(「離脱状態」と呼ぶ)でゲームシステム1を利用することも可能である。離脱状態でゲームシステム1を利用してアプリケーション(例えば、ゲームアプリケーション)に対する操作を行う場合の態様としては、1人以上のユーザが左コントローラ3および/または右コントローラ4をそれぞれ用いる態様と1人以上のユーザが1つ以上の球状コントローラ200をそれぞれ用いる態様とが考えられる。また、複数のユーザが同じアプリケーションを用いて操作する場合は、左コントローラ3および/または右コントローラ4を操作するユーザと球状コントローラ200を用いて操作するユーザとによるプレイも考えられる。
以下、図12〜図16を参照して、ゲームシステム1を利用するゲームについて説明する。なお、図12〜図16は、1人のユーザが球状コントローラ200を操作してゲームシステム1を利用するゲームを行う様子の一例を示す図である。
例えば、図12〜図16に示すように、ユーザが球状コントローラ200を片手で把持して操作を行いながら、据置型モニタ6に表示された画像を見ることができる。そして、本ゲーム例では、ユーザは、球状コントローラ200のコントローラ本体部201を片手で把持した状態で、親指でジョイスティック212を傾倒操作または押し込み操作し、人差し指で操作面213を押し下げ操作することが可能である。つまり、ユーザは、外形形状が球状のゲームコントローラを用いて、ジョイスティックを用いた方向入力操作および押し込み操作と、操作面213に対する押し下げ操作との両方を行うことができる。また、片手で球状コントローラ200を把持した状態から、球状コントローラ200を上下左右前後に動かしたり、球状コントローラ200を回転させたり、球状コントローラ200を振り動かしたりすることによって、球状コントローラ200の動きや姿勢に応じてゲームプレイが行われる。そして、上記ゲームプレイにおいて、球状コントローラ200の慣性センサ247は、上記xyz軸方向の加速度および/または上記xyz軸方向周りの角速度をそれぞれ操作入力として検出可能である。
また、球状コントローラ200を把持してゲームプレイする場合、ゲーム状況に応じて、球状コントローラ200から音声が出力されたり振動が与えられたりする。上述したように、球状コントローラ200は、音声出力可能な振動部271(ボイスコイルモータ)を有している。本体装置2のプロセッサ81は、実行しているゲーム状況に応じて音声データおよび/または振動データを球状コントローラ200に送信することによって、当該音声データおよび/または振動データに応じた振幅および周波数で振動部271から音声出力したり振動出力したりすることができる。
図12〜図16は、球状コントローラ200を操作してプレイするゲームにおいて表示されるゲーム画像例を示している。本ゲーム例では、球状コントローラ200を操作することによってプレイヤキャラクタPCおよびボールオブジェクトBの動作を制御して、仮想空間に配置されているキャラクタを捕獲していくゲームが行われ、当該ゲーム状況を示す仮想空間の画像が据置型モニタ6に表示される。
例えば、図12に示すように、本ゲーム例では、球状コントローラ200のジョイスティック212を傾倒操作することによって、プレイヤキャラクタPCを仮想空間内で移動させ、仮想空間内に配置されているキャラクタを探索することができる。そして、プレイヤキャラクタPCが仮想空間内に配置されているキャラクタと遭遇した場合、当該キャラクタが捕獲対象キャラクタHCとして設定され、プレイヤキャラクタPCが当該捕獲対象キャラクタHCを捕獲する捕獲ゲームが開始される。なお、プレイヤキャラクタPCが遭遇可能なキャラクタは複数種類設定されており、捕獲対象キャラクタHCとして当該複数種類のキャラクタから1つの種類のキャラクタが選択されることになる。なお、本ゲームに登場する捕獲対象キャラクタHCおよびプレイヤキャラクタPC等は、仮想空間に配置される仮想オブジェクトとも言えるものである。また、本ゲームに登場するボールオブジェクトB等は、仮想空間に登場するゲームキャラクタとして機能するものである。また、本実施例では、捕獲される対象となるゲームキャラクタの一例として捕獲対象キャラクタHCを用いており、ゲームコントローラの外観に類似するオブジェクトの一例としてボールオブジェクトBを用いている。
本ゲーム例では、プレイヤキャラクタPCが捕獲する捕獲対象キャラクタHCが設定された場合、捕獲ゲームモードに移行する。捕獲ゲームモードでは、中央付近に捕獲対象キャラクタHCが配置された仮想空間の画像が据置型モニタ6に表示され、球状コントローラ200を投げるような操作を行うことによって当該捕獲対象キャラクタHCに向かってボールオブジェクトBが飛んでいくゲーム画像が表示される。
図13に示すように、本ゲーム例では、球状コントローラ200を投げる操作を行う準備操作として、球状コントローラ200をかまえる操作が行われる。例えば、本ゲーム例では、球状コントローラ200のジョイスティック212を押し込む操作を行うことによって、上記かまえる操作が行われる。上記かまえる操作が行われた場合、中央付近に表示されている捕獲対象キャラクタHC周辺に捕獲タイミング画像TMが表示される。ここで、捕獲タイミング画像TMは、捕獲対象キャラクタHCに対する適切な捕獲操作タイミングをユーザに示す画像であり、一例として輪のサイズを順次変化させ、当該サイズが所定のサイズ(例えば、最小サイズ)になったタイミングで球状コントローラ200を投げる操作を行うことによって捕獲対象キャラクタHCの捕獲に成功する可能性が高いことが示される。
また、本ゲーム例では、球状コントローラ200をかまえる操作が行われた場合、本体装置2からの再生指示に応じて、球状コントローラ200からボールをかまえる音声(例えば、ボールを握る音声「ギュッ」)が発せられる。なお、ボールをかまえる音声を示す音声データは、球状コントローラ200内の記憶手段(例えば、メモリ324)に予め書き込まれており、本体装置2からの再生指示に応じて当該音声データが振動部271で再生される。
また、本ゲーム例では、球状コントローラ200をかまえる操作が行われることによって、球状コントローラ200の外観を模したボールオブジェクトBが仮想空間内に表示される。ボールオブジェクトBは、球状コントローラ200をかまえる操作が行われることに応じて、予め定められた姿勢で予め定められた位置に初期配置されて表示される。そして、かまえる操作が行われた後の実空間における球状コントローラ200の位置および/または姿勢の変化に対応するように、仮想空間における位置および/または姿勢を変化させてボールオブジェクトBが表示される。なお、表示されるボールオブジェクトBの動きは、実空間における球状コントローラ200の位置および/または姿勢に完全に一致する必要はない。例えば、表示されるボールオブジェクトBは、実空間における球状コントローラ200の位置および/または姿勢が変化する前後の動きにおいて、相対的に類似するレベルの動きであってもよい。
図14に示すように、本ゲーム例では、球状コントローラ200のコントローラ本体部201を振り動かす(例えば、上から下に振り下ろす)ように動かすことによって、上記なげる操作が行われる。一例として、球状コントローラ200の慣性センサ247が検出する加速度の大きさが所定の閾値を越えた場合、球状コントローラ200を投げる操作が行われたと判定される。上記投げる操作が行われた場合、捕獲タイミング画像TMが消去されるとともに、捕獲対象キャラクタHCに向かってボールオブジェクトBが飛んでいく様子が表示される。なお、仮想空間内を移動するボールオブジェクトBの軌道については、上記投げる操作が行われた時点で表示されているボールオブジェクトBの位置から捕獲対象キャラクタHCの配置位置まで予め定められた軌道であってもよいし、投げる操作の内容(例えば、球状コントローラ200に生じた加速度の大きさ)に応じて軌道が変化するものであってもよい。
また、本ゲーム例では、球状コントローラ200を投げる操作が行われたことに応じて、本体装置2において捕獲対象キャラクタHCの捕獲の成否が判定される。例えば、本体装置2は、球状コントローラ200を投げる操作が行われたタイミング(例えば、投げる操作が行われた時点における捕獲タイミング画像TMのサイズ)、投げる操作の内容(例えば、球状コントローラ200に生じた加速度の大きさ)、捕獲対象キャラクタHCの捕獲難易度、プレイヤキャラクタPCの経験値、捕獲トライ回数等に基づいて、捕獲対象キャラクタHCの捕獲の成否を判定する。
また、本ゲーム例では、球状コントローラ200を投げる操作が行われた場合、本体装置2からの再生指示に応じて、球状コントローラ200からボールが飛んでいく音声(例えば、ボールが飛んでいく音声「ヒュウ〜」)が発せられる。なお、ボールが飛んでいく音声を示す音声データも、球状コントローラ200内の記憶手段(例えば、メモリ324)に予め書き込まれており、本体装置2からの再生指示に応じて当該音声データが振動部271で再生される。
また、本ゲーム例では、球状コントローラ200を投げる操作が行われた場合、本体装置2からの再生指示に応じて、球状コントローラ200が振動する。なお、球状コントローラ200が振動する振動データは上記ボールが飛んでいく音声を示す音声データともに、球状コントローラ200内の記憶手段(例えば、メモリ324)に予め書き込まれており、本体装置2からの再生指示に応じて当該振動データが振動部271で再生される。ここで、上記振動データとともに球状コントローラ200内の記憶手段に書き込まれる音声データは、振動部271からボールが飛んでいく音声を出力させるための可聴域の周波数の音声信号が含まれるとともに、振動部271に投げる操作に応じた振動を行わせるための可聴域外の周波数の振動信号が含まれており、当該音声信号および当該振動信号の両方を含んだ音声振動信号が振動部271に入力することによって振動部271から上記音声および振動が同時に発せられる。
なお、本実施例では、振動部271において再生される信号(波形)について、音声を出力させるための可聴域の周波数の音声を出力させる目的の信号であっても、振動部271が当該信号に応じて音声出力することによって微弱な振動を球状コントローラ200のコントローラ本体部201に与えることがあり得る。また、本実施例では、振動部271において再生される信号(波形)について、振動を行わせるための可聴域外の周波数の振動を出力させる目的の信号であっても、振動部271が当該信号に応じて振動することによって小さな音が球状コントローラ200から発せられることがあり得る。つまり、上記音声信号および上記振動信号の一方を含んだ信号が振動部271に入力した場合であっても、振動部271から音声および振動が同時に発せられることがあり得る。
図15に示すように、本ゲーム例では、捕獲対象キャラクタHCに向かってボールオブジェクトBが飛んでいく様子が据置型モニタ6に表示された後、捕獲対象キャラクタHCにボールオブジェクトBが当たった様子を示すゲーム画像Iが表示される。例えば、図15の例では、捕獲対象キャラクタHCにボールオブジェクトBが良好な状態で当たったことを示す「Nice!」がゲーム画像Iとして表示されている。なお、捕獲対象キャラクタHCにボールオブジェクトBが当たる様子については、本体装置2が捕獲対象キャラクタHCの捕獲の成否に基づいて設定してもよいし、本体装置2が球状コントローラ200を投げる操作の内容に基づいて設定してもよい。また、ボールオブジェクトBが捕獲対象キャラクタHCに当たらない状態であってもよく、例えば、球状コントローラ200を投げる操作の強弱(例えば、球状コントローラ200に生じた加速度の大小)に応じて、ボールオブジェクトBが捕獲対象キャラクタHCの手前で移動を停止したり、ボールオブジェクトBが捕獲対象キャラクタHCを越えて飛んでいったりするような画像が表示されてもよい。
また、本ゲーム例では、捕獲対象キャラクタHCにボールオブジェクトBが当たった場合、本体装置2からの再生指示に応じて、球状コントローラ200からボールが捕獲対象キャラクタHCに当たった音声(例えば、ボールがキャラクタにあたる音声「カシャン!」)が発せられる。なお、ボールがキャラクタにあたる音声を示す音声データも、球状コントローラ200内の記憶手段(例えば、メモリ324)に予め書き込まれており、本体装置2からの再生指示に応じて当該音声データが振動部271で再生される。
また、本ゲーム例では、捕獲対象キャラクタHCの捕獲の成否が通知されるまでの間の期間において、様々な演出が行われてもよい。例えば、本ゲーム例では、捕獲対象キャラクタHCにボールオブジェクトBが当たった後、捕獲対象キャラクタHCがボールオブジェクトBに入る演出、捕獲対象キャラクタHCがボールオブジェクトBに入った後にボールオブジェクトBが閉まる演出、捕獲対象キャラクタHCが入ったボールオブジェクトBが仮想空間の地面に落ちる演出、捕獲対象キャラクタHCが入ったボールオブジェクトBが仮想空間の地面上で間欠的に複数回揺れる演出等が行われてもかまわない。また、本ゲーム例では、上記各演出が行われる場合、本体装置2からの再生指示に応じて、球状コントローラ200から演出に対応する音声が発せられてもよい。なお、これらの演出に対応する音声を示す音声データも、球状コントローラ200内の記憶手段(例えば、メモリ324)に予め書き込まれており、本体装置2からの再生指示に応じて当該音声データがそれぞれ振動部271で再生される。また、本ゲーム例では、上記各演出が行われる場合、ボールオブジェクトBの一部である発光部位Cが所定の色で点灯または点滅している様子が据置型モニタ6に表示されるとともに、本体装置2からの再生指示に応じて、球状コントローラ200から演出に対応する光が出力されてもよい。なお、これらの演出に対応する光を示す発光色データは、球状コントローラ200内の記憶手段(例えば、メモリ324)に予め書き込まれており、本体装置2からの再生指示に応じて当該発光色データが示す色で発光部248が発光する。
なお、捕獲対象キャラクタHCが入ったボールオブジェクトBが仮想空間の地面上で間欠的に複数回揺れる演出では、本体装置2から間欠的に複数回の再生指示が行われ、当該再生指示に応じて球状コントローラ200からボールが揺れる音声が発せられるとともに、球状コントローラ200が振動する。なお、ボールが揺れる音声およびボールが揺れる振動を示す音声データも、球状コントローラ200内の記憶手段(例えば、メモリ324)に予め書き込まれており、本体装置2からの再生指示に応じて当該音声データが振動部271で再生される。ここで、球状コントローラ200内の記憶手段に書き込まれる音声データは、振動部271からボールが揺れる音声を出力させるための可聴域の周波数の音声信号が含まれるとともに、振動部271に揺れる振動を行わせるための可聴域外の周波数の振動信号が含まれており、当該音声信号および当該振動信号が振動部271に同時に入力することによって振動部271から上記音声および振動が同時に発せられる。
図16に示すように、本ゲーム例では、上記演出を経て、捕獲対象キャラクタHCの捕獲の成否を通知する画像が据置型モニタ6に表示される。捕獲対象キャラクタHCの捕獲の成功を通知する第1段階として、捕獲に成功したことを示すゲーム画像とともに、ボールオブジェクトBの一部である発光部位Cが捕獲に成功したことを示す色(例えば、緑色)で点灯または点滅している様子が据置型モニタ6に表示される。また、捕獲対象キャラクタHCの捕獲の成功を通知する第1段階では、本体装置2からの再生指示に応じて、球状コントローラ200から捕獲に成功したことを示す音声が発せられるとともに、球状コントローラ200が捕獲に成功したことを示す色(例えば、緑色)で発光する。一例として、捕獲対象キャラクタHCの捕獲の成功を通知する第1段階では、本体装置2からの再生指示に応じて、球状コントローラ200から捕獲に成功したことを示す音声(例えば、捕獲に成功した音声「カチッ!」)が振動部271から出力される。また、捕獲対象キャラクタHCの捕獲の成功を通知する第1段階では、本体装置2からの再生指示に応じて、捕獲に成功したことを示す色(例えば、緑色)で発光部248が点灯または点滅することによって、球状コントローラ200の開口211aから当該色の光が出射される。なお、捕獲対象キャラクタHCの捕獲の成功を通知する第1段階において出力される音声を示す音声データや発光する光を示す発光色データも、球状コントローラ200内の記憶手段(例えば、メモリ324)に予め書き込まれており、本体装置2からの再生指示に応じて当該音声データが振動部271で再生され、本体装置2からの再生指示に応じて当該発光色データが示す色で発光部248が発光する。
上記第1段階から所定時間経過後である捕獲対象キャラクタHCの捕獲の成功を通知する第2段階では、捕獲に成功した捕獲対象キャラクタHCに対応する色でボールオブジェクトBの発光部位Cが点灯または点滅している様子が据置型モニタ6に表示される。例えば、捕獲対象キャラクタHCに対応する色は、捕獲対象キャラクタHCの基調色に係る色であってもよく、例えば、全身が黄色の基調色であるキャラクタの場合に捕獲対象キャラクタHCに対応する色が黄色としてもよい。また、捕獲対象キャラクタHCの捕獲の成功を通知する第2段階では、本体装置2からの再生指示に応じて、球状コントローラ200から捕獲に成功した捕獲対象キャラクタHCの鳴き声が発せられるとともに、球状コントローラ200が捕獲された捕獲対象キャラクタHCに対応する色で発光する。一例として、捕獲対象キャラクタHCの捕獲の成功を通知する第2段階では、本体装置2からの再生指示に応じて、球状コントローラ200から捕獲に成功した捕獲対象キャラクタHCの鳴き声(例えば、捕獲対象キャラクタHCの鳴き声「ガル〜」)が振動部271から出力される。また、捕獲対象キャラクタHCの捕獲の成功を通知する第2段階では、本体装置2からの再生指示に応じて、捕獲に成功した捕獲対象キャラクタHCに対応する色で発光部248が点灯または点滅することによって、球状コントローラ200の開口211aから当該色の光が出射される。なお、捕獲対象再生データとして後述するように、捕獲対象キャラクタHCの捕獲の成功を通知する第2段階において出力される音声を示す音声データや発光する光を示す発光色データは、捕獲対象キャラクタHCが設定された際に本体装置2から球状コントローラ200に送信されて、球状コントローラ200内の記憶手段(例えば、メモリ324)に書き込まれており、本体装置2からの再生指示に応じて当該音声データが振動部271で再生され、本体装置2からの再生指示に応じて当該発光色データが示す色で発光部248が発光する。
なお、球状コントローラ200から出力される捕獲対象キャラクタHCに対応する音声は、典型的には捕獲対象キャラクタHCの鳴き声である。ここで、捕獲対象キャラクタHCの鳴き声は、捕獲対象キャラクタHCが登場するゲームにおいて当該捕獲対象キャラクタHCが発する鳴き声と実質的に同じであってもよい。具体的には、捕獲対象キャラクタHCが登場するゲーム状況を示す仮想空間の画像が据置型モニタ6に表示される場合、当該ゲーム状況に応じて据置型モニタ6のスピーカから出力される捕獲対象キャラクタHCの鳴き声と実質的に同じ鳴き声が、球状コントローラ200の振動部271から出力されることになる。
また、本実施例においては、捕獲された捕獲対象キャラクタHCに対応する球状コントローラ200の発光は、基調色に対応する単色で点灯または点滅する。他の実施例においては、捕獲された捕獲対象キャラクタHCに対応する球状コントローラ200の発光は、複数の色が組み合わされた光が点灯または点滅するものであってもよい。また、他の実施例においては、捕獲された捕獲対象キャラクタHCに対応する球状コントローラ200の発光は、複数の異なる色に順次変化する発光パターンであってもよい。一例として、捕獲された捕獲対象キャラクタHCが複数の基調色を有している場合に、当該複数の基調色が組み合わされた色彩で点灯または点滅してもよいし、当該複数の基調色に順次変化する発光パターンで発光するものであってもよい。なお、本実施例では、発光制御手段によって制御される発光部の一例として発光部248を用いているが、当該発光制御手段は、ゲーム装置(本体装置2)からの第2データ(再生指示)に基づいて、捕獲されたゲームキャラクタ(捕獲対象キャラクタHC)に対応する発光パターンで発光部(発光部248)を発光させてもよい。また、上記発光制御手段が制御する発光パターンは、単色光による発光パターンでもよいし、異なる色の光に順次変化する発光パターンでもよい。
次に、図17を参照して、上述したゲームにおいて、本体装置2と球状コントローラ200との間で送受信される通信データについて説明する。なお、図17は、ゲームシステム1を利用する上記ゲームが行われる際に本体装置2と球状コントローラ200との間で送受信される通信データの一例を示す図である。
図17において、球状コントローラ200内の記憶手段(例えば、メモリ324)には、予め共通再生データが書き込まれている。ここで、共通再生データは、捕獲対象キャラクタHCの種別に関連することなく共通して出力される音声および/または光を示す情報であり、上述した捕獲対象キャラクタHCの捕獲の成功を通知する第2段階以外の演出において用いられる音声および光を出力するためのデータである。具体的には、共通再生データは、上記演出において振動部271から出力する音声を示す音声振動データや発光部248を発光させる色を示す発光色データを含んでおり、本体装置2からの再生指示(例えば、再生コードを指示する再生指示データID1〜ID10)に対応して出力する音声および発光色が指定されている。なお、予め共通再生データが書き込まれるタイミングは、捕獲対象キャラクタHCが設定される前の期間であればどのような時点でもよく、球状コントローラ200の製造時点で上記記憶手段に書き込まれてもよいし、球状コントローラ200内のアプリケーションを更新する時点で上記記憶手段に書き込まれてもよいし、上記ゲームアプリケーションが本体装置2にインストールされた時点で上記記憶手段に書き込まれてもよい。
プレイヤキャラクタPCを用いてユーザがキャラクタを探索して、複数種類のキャラクタから捕獲対象とする捕獲対象キャラクタHCが選択されて設定された場合、当該捕獲対象キャラクタHCの種類に対応する音声データおよび発光色データが捕獲対象再生データとして本体装置2から球状コントローラ200へ送信される。そして、捕獲対象再生データは、球状コントローラ200において受信され、メモリ324における書き換え領域に書き込まれる。なお、本実施例では、捕獲される対象となるゲームキャラクタに対応する第2データの一例として捕獲対象再生データを用いている。
球状コントローラ200へ送信される捕獲対象再生データは本体装置2内で生成されるが、本体装置2内に予め記憶されているデータ群から抽出されることによって生成されてもよいし、捕獲対象とする捕獲対象キャラクタHCが選択される毎に当該捕獲対象キャラクタHCに関連するパラメータを用いて新たに生成されてもよい。
また、捕獲対象とされた捕獲対象キャラクタHCの種類によって、捕獲対象再生データが予め球状コントローラ200内の記憶手段(例えば、メモリ324)に書き込まれていてもよい。例えば、捕獲対象として頻繁に設定される捕獲対象キャラクタHCについては、上記共通再生データと同様に球状コントローラ200内の記憶手段(例えば、メモリ324)に予め書き込んでおくことが考えられる。この場合、複数種類のキャラクタから捕獲対象とする捕獲対象キャラクタHCが選択されて設定された場合に本体装置2から球状コントローラ200へ送信されるデータは、上記捕獲対象再生データに代えて当該捕獲対象キャラクタHCを特定する識別情報であってもよい。球状コントローラ200は、捕獲対象キャラクタHCを特定する識別情報を本体装置2から受信した場合、予め記憶手段に書き込まれている捕獲対象再生データから当該識別情報に対応するデータ(音声データおよび発光色データ)を抽出して設定する。
次に、ユーザが球状コントローラ200を用いてかまえる操作(図13参照)を行った場合、当該かまえる操作に応じた操作データが球状コントローラ200から本体装置2へ送信される。本体装置2は、かまえる操作に応じた操作データを受信したことに応じて、当該操作に応じたゲーム画像を据置型モニタ6に表示するともに、ボールをかまえる音声を球状コントローラ200から出力するための再生指示データID1を球状コントローラ200へ送信する。そして、球状コントローラ200は、再生指示データID1を受信することに応じて、共通再生データから再生指示データID1に対応する音声データを抽出し、当該音声データに応じた音声(ボールをかまえる音)を振動部271から出力する。ここで、本体装置2が送信する再生指示データは、球状コントローラ200が出力する音声および発光する発光色のコードを示すものでもよく、この場合、球状コントローラ200内の記憶手段(例えば、メモリ324)では当該コードに対応する音声データおよび発光色データが管理される。なお、メモリ324における書き換え領域に書き込まれている捕獲対象再生データについても、本体装置2が送信する再生指示データで指示されるコードに対応して管理される。
次に、ユーザが球状コントローラ200を用いて投げる操作(図14参照)を行った場合、当該投げる操作に応じた操作データが球状コントローラ200から本体装置2へ送信される。本体装置2は、投げる操作に応じた操作データを受信したことに応じて、当該操作に応じたゲーム画像を据置型モニタ6に表示するともに、ボールが飛んでいく音声および振動を球状コントローラ200から出力するための再生指示データID2を球状コントローラ200へ送信する。そして、球状コントローラ200は、再生指示データID2を受信することに応じて、共通再生データから再生指示データID2に対応する音声データを抽出し、当該音声データに応じた音声(ボールが飛んでいく音)および振動(投げる操作に応じた振動)を振動部271から出力する。なお、再生指示データID2に対応する音声データは、振動部271からボールが飛んでいく音声を出力させるための可聴域の周波数の音声信号が含まれるとともに、振動部271に投げる操作に応じた振動を行わせるための可聴域外の周波数の振動信号が含まれており、当該音声信号および当該振動信号が振動部271に同時に入力することによって振動部271から上記音声および振動が同時に発せられる。なお、本実施例では、ゲームコントローラから送信される第1データの一例として投げる操作に応じた操作データを用いている。
一方、本体装置2は、ユーザが球状コントローラ200を用いて行った投げる操作の内容に基づいて、設定されている捕獲対象キャラクタHCの捕獲成否を判定する処理を行う。そして、本体装置2は、再生指示データID2を送信した後、仮想空間において捕獲対象キャラクタHCにボールオブジェクトBが当たるゲーム画像を据置型モニタ6に表示するともに、ボールが接触する音声を球状コントローラ200から出力するための再生指示データID3を球状コントローラ200へ送信する。そして、球状コントローラ200は、再生指示データID3を受信することに応じて、共通再生データから再生指示データID3に対応する音声データを抽出し、当該音声データに応じた音声(ボールの接触音)を振動部271から出力する。
次に、本体装置2は、再生指示データID3を送信した後、仮想空間において捕獲対象キャラクタHCをボールオブジェクトBに格納するゲーム画像を据置型モニタ6に表示するともに、ボールに捕獲対象キャラクタHCを格納する音声を球状コントローラ200から出力するための再生指示データID4を球状コントローラ200へ送信する。そして、球状コントローラ200は、再生指示データID4を受信することに応じて、共通再生データから再生指示データID4に対応する音声データを抽出し、当該音声データに応じた音声(ボールに格納する音)を振動部271から出力する。
次に、本体装置2は、再生指示データID4を送信した後、仮想空間においてボールオブジェクトBをロックするゲーム画像を据置型モニタ6に表示するともに、ボールをロックする音声を球状コントローラ200から出力するための再生指示データID5を球状コントローラ200へ送信する。そして、球状コントローラ200は、再生指示データID5を受信することに応じて、共通再生データから再生指示データID5に対応する音声データを抽出し、当該音声データに応じた音声(ボールをロックする音)を振動部271から出力する。
次に、本体装置2は、再生指示データID5を送信した後、仮想空間においてボールオブジェクトBが地面に落下するゲーム画像を据置型モニタ6に表示するともに、ボールが落下する音声を球状コントローラ200から出力するための再生指示データID6を球状コントローラ200へ送信する。そして、球状コントローラ200は、再生指示データID6を受信することに応じて、共通再生データから再生指示データID6に対応する音声データを抽出し、当該音声データに応じた音声(ボールが落下する音)を振動部271から出力する。
次に、本体装置2は、再生指示データID6を送信した後、仮想空間においてボールオブジェクトBが地面で複数回揺れながら、発光部位Cが所定の色(例えば、黄色)で点灯または点滅しているゲーム画像を据置型モニタ6に表示するともに、ボールが複数回揺れる音声および振動を球状コントローラ200から出力し、球状コントローラ200が所定の色で発光するための再生指示データID7を揺れるタイミングに応じて球状コントローラ200へ複数回送信する。そして、球状コントローラ200は、再生指示データID7を受信する毎に、共通再生データから再生指示データID7に対応する音声データを抽出し、当該音声データに応じた音声(ボールが揺動する音)および振動(ボールが揺れる振動)を振動部271から出力する。また、球状コントローラ200は、再生指示データID7を受信する毎に、共通再生データから再生指示データID7に対応する発光色データを抽出し、当該発光色データに応じた色(例えば、黄色)で発光部248を発光させる。なお、再生指示データID7に対応する音声データは、振動部271からボールが揺れる音声を出力させるための可聴域の周波数の音声信号が含まれるとともに、振動部271に揺れる振動を行わせるための可聴域外の周波数の振動信号が含まれており、当該音声信号および当該振動信号が振動部271に同時に入力することによって振動部271から上記音声および振動が同時に発せられる。
次に、本体装置2は、再生指示データID7を複数回送信した後、仮想空間においてボールオブジェクトBが捕獲に成功したことを示すゲーム画像を据置型モニタ6に表示するともに、捕獲に成功した音声を球状コントローラ200から出力し、球状コントローラ200が捕獲に成功した色(例えば、緑色)で発光するための再生指示データID8を球状コントローラ200へ送信する。そして、球状コントローラ200は、再生指示データID8を受信したことに応じて、共通再生データから再生指示データID8に対応する音声データを抽出し、当該音声データに応じた音声(捕獲成功音)を振動部271から出力する。また、球状コントローラ200は、再生指示データID8を受信したことに応じて、共通再生データから再生指示データID8に対応する発光色データを抽出し、当該発光色データに応じた色(例えば、緑色)で発光部248を発光させる。なお、本実施例では、ゲームキャラクタの捕獲成否判定結果を示すデータの一例として再生指示データID8を用いている。
次に、本体装置2は、再生指示データID8を送信した後、仮想空間においてボールオブジェクトB内に捕獲対象キャラクタHCが捕獲されている様子を示すゲーム画像を据置型モニタ6に表示するともに、捕獲されている捕獲対象キャラクタHCに対応する音声(例えば、鳴き声)を球状コントローラ200から出力し、球状コントローラ200が捕獲されている捕獲対象キャラクタHCに対応する色(例えば、捕獲されている捕獲対象キャラクタHCの基調色)で発光するための再生指示データID10を球状コントローラ200へ送信する。そして、球状コントローラ200は、再生指示データID10を受信したことに応じて、捕獲対象再生データから再生指示データID10に対応する音声データを抽出し、当該音声データに応じた音声(捕獲対象キャラクタHCの鳴き声)を振動部271から出力する。また、球状コントローラ200は、再生指示データID10を受信したことに応じて、捕獲対象再生データから再生指示データID10に対応する発光色データを抽出し、当該発光色データに応じた色(例えば、捕獲対象キャラクタHCの基調色)で発光部248を発光させる。なお、本実施例では、ゲームキャラクタに対応する音声を出力するための第3データおよびゲームキャラクタに対応する色に発光部を発光させるための第4データの一例として再生指示データID10を用いている。
ここで、球状コントローラ200内に格納されている捕獲対象再生データは、設定された捕獲対象キャラクタHCの種類に対応する音声データおよび発光色データが組となって格納されている。この場合、一例として、再生指示データID10は、上記音声データおよび発光色データの組を再生するコマンドでもよい。このような音声データおよび発光色データの組を再生するコマンドは、ゲームキャラクタに対応する音声を出力するための第3データでもあり、ゲームキャラクタに対応する色に発光部を発光させるための第4データでもあると言えるような単一のデータ(すなわち、第3データおよび第4データをまとめて1つのデータ)となる。また、他の例として、再生指示データID10は、上記音声データを再生するコマンドと上記発光色データを再生するコマンドとが別に構成されていてもよい。このように音声データを再生するコマンドと発光色データを再生するコマンドとが別に構成されている場合、ゲームキャラクタに対応する音声を出力するための第3データと、ゲームキャラクタに対応する色に発光部を発光させるための第4データとが、別のデータであると言える。
なお、ボールオブジェクトBによる捕獲が失敗した場合、本体装置2は、再生指示データID8に代えて再生指示データID9を球状コントローラ200へ送信し、再生指示データID10の送信も行わない。すなわち、ボールオブジェクトBによる捕獲が失敗した場合、本体装置2は、再生指示データID7を複数回送信した後、仮想空間においてボールオブジェクトBが捕獲に失敗したことを示すゲーム画像を据置型モニタ6に表示するともに、捕獲に失敗した音声を球状コントローラ200から出力し、球状コントローラ200が捕獲に失敗した色(例えば、赤色)で発光するための再生指示データID9を球状コントローラ200へ送信する。そして、球状コントローラ200は、再生指示データID9を受信したことに応じて、共通再生データから再生指示データID9に対応する音声データを抽出し、当該音声データに応じた音声(捕獲失敗音)を振動部271から出力する。また、球状コントローラ200は、再生指示データID9を受信したことに応じて、共通再生データから再生指示データID9に対応する発光色データを抽出し、当該発光色データに応じた色(例えば、赤色)で発光部248を発光させる。なお、本実施例では、ゲームキャラクタの捕獲成否判定結果を示すデータの他の例として再生指示データID9を用いている。
また、ボールオブジェクトBによる捕獲が失敗した場合、再生指示データID3〜ID7が送信される演出の少なくとも1つが行われなくてもかまわない。一例として、ボールオブジェクトBによる捕獲が失敗した場合、再生指示データID2が送信されるボールオブジェクトBが飛んでいく演出が行われた後、ボールオブジェクトBが捕獲対象キャラクタHCに当たらないゲーム画像を表示して、ボールオブジェクトBが捕獲に失敗したことを示すゲーム画像を据置型モニタ6に表示するともに、再生指示データID9を球状コントローラ200へ送信してもよい。
また、他の実施例においては、ボールオブジェクトBによる捕獲が成功している場合であっても、再生指示データID2が送信されるボールオブジェクトBが飛んでいく演出が行われた後に、ボールオブジェクトBが捕獲対象キャラクタHCに当たらないゲーム画像を用いた演出が行われてもかまわない。この場合、一例として、再生指示データID2が送信されるボールオブジェクトBが飛んでいく演出が行われた後に、再生指示データID6が送信されるボールオブジェクトBが地面に落ちる演出が行われて捕獲に成功する演出が続行されてもよい。
また、本実施例では、捕獲対象とする捕獲対象キャラクタHCが選択されて設定されたことに応じて、当該捕獲対象キャラクタHCの種類に対応する捕獲対象再生データが本体装置2から球状コントローラ200へ送信される。これによって、捕獲に成功した場合に用いられる捕獲対象再生データの受信が遅延することを防止することができる。しかしながら、他の実施例として、捕獲対象とする捕獲対象キャラクタHCが選択されて設定されてから捕獲に成功したと判定される時点までの期間に含まれるタイミングで、捕獲対象キャラクタHCの種類に対応する捕獲対象再生データが本体装置2から球状コントローラ200へ送信されてもよい。一例として、球状コントローラ200へ送信する再生指示データID8と同時に、捕獲に成功した捕獲対象キャラクタHCに対応する捕獲対象再生データ(音声データおよび発光色データ)が本体装置2から球状コントローラ200へ送信されてもよい。この場合、捕獲対象キャラクタHCに対応する捕獲対象再生データは、捕獲に成功したと判定されたタイミングで送信されることになる。また、他の実施例として、捕獲対象とする捕獲対象キャラクタHCが捕獲に成功したと判定された後となるタイミングで、捕獲に成功した捕獲対象キャラクタHCに対応する捕獲対象再生データが本体装置2から球状コントローラ200へ送信されてもよい。一例として、球状コントローラ200へ再生指示データID8が送信されてから再生指示データID10が送信されるまでの間、または球状コントローラ200へ送信する再生指示データID10と同時に、捕獲に成功した捕獲対象キャラクタHCに対応する捕獲対象再生データ(音声データおよび発光色データ)が本体装置2から球状コントローラ200へ送信されてもよい。また、捕獲対象キャラクタHCの種類に対応する音声データと発光色データとは、別のタイミングで本体装置2から球状コントローラ200へ送信されてもよいし、何れか一方が予め球状コントローラ200の記憶手段(例えば、メモリ324)に書き込まれていてもよい。
このように、本実施例における球状コントローラ200が用いられるゲームシステム1は、球状コントローラ200を操作することによって捕獲に成功した捕獲対象キャラクタHCに対応する音声が当該球状コントローラ200から出力されるため、捕獲対象キャラクタHCを捕獲するゲームにおける臨場感を高めることができる。
また、本実施例における球状コントローラ200において捕獲ゲーム中に書き込まれる捕獲対象再生データは、当該捕獲ゲームが終了した時点で消去されてもよいし、新たな捕獲対象が設定された時点で新たな捕獲対象再生データに書き換えられてもよい。これによって、捕獲対象候補が多数設定されている場合であっても、当該捕獲対象候補の1体分の捕獲対象再生データを球状コントローラ200内に書き込むだけで上記演出を実現することができるため、球状コントローラ200内の記憶容量が少なくても上記演出を実現することができる。一方、本実施例における球状コントローラ200において予め書き込まれている共通再生データは、捕獲対象の種類とは無関係に共通に用いられるデータであるために捕獲ゲームが終了しても球状コントローラ200内に継続して維持される。これによって、捕獲ゲーム内に本体装置2から球状コントローラ200へ送信するデータ容量を少なくすることができ、データ送受信の遅延による問題を解消することもできる。
次に、図18〜図22を参照して、本実施形態においてゲームシステム1で実行される具体的な処理の一例について説明する。図18は、本実施例において本体装置2のDRAM85に設定されるデータ領域の一例を示す図である。また、図19は、本実施例において球状コントローラ200のメモリ324に設定されるデータ領域の一例を示す図である。なお、DRAM85およびメモリ324には、図18および図19に示すデータの他、他の処理で用いられるデータも記憶されるが、詳細な説明を省略する。
DRAM85のプログラム記憶領域には、ゲームシステム1で実行される各種プログラムPaが記憶される。本実施例においては、各種プログラムPaは、上述した球状コントローラ200との間で無線通信するための通信プログラムや、球状コントローラ200から取得したデータに基づいた情報処理(例えば、ゲーム処理)を行うためのアプリケーションプログラム等が記憶される。なお、各種プログラムPaは、フラッシュメモリ84に予め記憶されていてもよいし、ゲームシステム1に着脱可能な記憶媒体(例えば、スロット23に装着された所定の種類の記憶媒体)から取得されてDRAM85に記憶されてもよいし、インターネット等のネットワークを介して他の装置から取得されてDRAM85に記憶されてもよい。プロセッサ81は、DRAM85に記憶された各種プログラムPaを実行する。
また、DRAM85のデータ記憶領域には、ゲームシステム1において実行される通信処理や情報処理等の処理において用いられる各種のデータが記憶される。本実施例においては、DRAM85には、操作データDa、慣性データDb、捕獲対象データDc、捕獲対象再生データDd、再生指示データDe、捕獲ゲームフラグデータDf、報知フラグデータDg、ボールオブジェクト動作データDh、捕獲対象キャラクタ動作データDi、プレイヤキャラクタ動作データDj、タイミングエフェクト動作データDk、および画像データDm等が記憶される。
操作データDaは、球状コントローラ200から適宜取得した操作データである。上述したように、球状コントローラ200から送信される操作データには、各入力部(具体的には、ジョイスティック21、ボタン検知部258、検知回路322、慣性センサ247)からの入力に関する情報(具体的には、操作に関する情報や慣性センサ247による検出結果)が含まれている。本実施例では、無線通信によって球状コントローラ200から所定周期で操作データが送信されており、当該受信した操作データを用いて操作データDaが適宜更新される。なお、操作データDaの更新周期は、後述するゲームシステム1で実行される処理の周期である1フレーム毎に更新されてもよいし、上記無線通信によって操作データが送信される周期毎に更新されてもよい。
慣性データDbは、球状コントローラ200に生じている加速度および/または角速度を示すデータである。例えば、慣性データDbは、球状コントローラ200に生じている重力加速度を除いたxyz軸方向に生じている加速度を示すデータおよび/またはxyz軸周りの角速度を示すデータ等を含んでいる。
捕獲対象データDcは、捕獲ゲームにおいて設定された捕獲対象(捕獲対象キャラクタHC)を示すデータである。
捕獲対象再生データDdは、音声データDd1および発光色データDd2等を含んでいる。音声データDd1は、捕獲ゲームにおいて設定された捕獲対象(捕獲対象キャラクタHC)に対応して振動部271から出力する音声を示すデータであり、例えば、ボールオブジェクトB内に捕獲されている捕獲対象キャラクタHCの鳴き声を示すデータである。発光色データDd2は、捕獲ゲームにおいて設定された捕獲対象(捕獲対象キャラクタHC)に対応して発光部248を発光させる色を示すデータである。
再生指示データDeは、球状コントローラ200に対して音声および/または発光を指示するデータであり、例えば、ゲーム状況に応じて指示される再生指示データID1〜ID10を含んでいる。
捕獲ゲームフラグデータDfは、捕獲ゲームが行われている際にオンに設定される捕獲ゲームフラグを示すデータである。報知フラグデータDgは、投げる操作が行われて捕獲成否が報知されるまでの間にオンに設定される報知フラグを示すデータである。
ボールオブジェクト動作データDhは、仮想空間におけるボールオブジェクトBの位置、姿勢、動作等を示すデータである。捕獲対象キャラクタ動作データDiは、仮想空間における捕獲対象キャラクタHCの位置、姿勢、動作等を示すデータである。プレイヤキャラクタ動作データDjは、仮想空間におけるプレイヤキャラクタPCの位置、姿勢、動作等を示すデータである。タイミングエフェクト動作データDkは、捕獲タイミング画像TMの位置、サイズ、動作等を示すデータである。
画像データDmは、ゲームの際に本体装置2のディスプレイ12や据置型モニタ6の表示画面に画像(例えば、プレイヤキャラクタPCの画像、捕獲対象キャラクタHCの画像、ボールオブジェクトBの画像、他の仮想オブジェクトの画像、フィールド画像、背景画像等)を表示するためのデータである。
メモリ324のプログラム記憶領域には、球状コントローラ200で実行される各種プログラムPbが記憶される。本実施例においては、各種プログラムPbは、本体装置2との間で無線通信するための通信プログラムや、本体装置2から取得した再生指示データに基づいた処理を行うためのアプリケーションプログラム等が記憶される。なお、各種プログラムPbは、メモリ324に予め記憶されていてもよいし、本体装置2から取得されてメモリ324に記憶されてもよい。制御部321は、メモリ324に記憶された各種プログラムPbを実行する。
また、メモリ324のデータ記憶領域には、球状コントローラ200において実行される通信処理や情報処理等の処理において用いられる各種のデータが記憶される。本実施例においては、メモリ324には、操作データDw、慣性データDx、共通再生データDy、および捕獲対象再生データDz等が記憶される。
操作データDwは、本体装置2へ適宜送信する操作データである。例えば、操作データDwは、ジョイスティック21、ボタン検知部258、および検知回路322からの入力に関する情報が含まれている。本実施例では、無線通信によって球状コントローラ200から所定周期で操作データが送信される。
慣性データDxは、球状コントローラ200において検出された加速度および/または角速度を示すデータである。例えば、慣性データDxは、xyz軸方向に生じている加速度を検出したデータおよび/またはxyz軸周りの角速度を検出したデータ等を含んでおり、無線通信によって球状コントローラ200から所定周期で送信される。
共通再生データDyは、共通して出力される音声を示す音声データおよび発光色を示す発光色データである。例えば、共通再生データDyは、本体装置2からの再生指示(例えば、再生指示データID1〜ID9)に対応して出力する音声および発光色が指定されている。なお、共通再生データDyがメモリ324に書き込まれるタイミングは、球状コントローラ200の製造時点、球状コントローラ200内のアプリケーションが更新される時点、ゲームアプリケーションが本体装置2にインストールされる時点等でもよい。
捕獲対象再生データDzは、捕獲対象(捕獲対象キャラクタHC)に対応して出力される音声を示す音声データおよび発光色を示す発光色データである。例えば、捕獲対象再生データDzは、本体装置2からの再生指示(例えば、再生指示データID10)に対応して出力する音声および発光色が指定されている。なお、捕獲対象再生データDzがメモリ324に書き込まれるタイミングは、捕獲対象(捕獲対象キャラクタHC)が設定されたことに応じて、本体装置2から送信された時点等である。
次に、図20〜図22を参照して、本実施例における情報処理(ゲーム処理)の詳細な一例を説明する。図20は、ゲームシステム1で実行されるゲーム処理の一例を示すフローチャートである。図21は、図20におけるステップS140において行われる捕獲ゲーム処理の詳細な一例を示すサブルーチンである。図22は、図21におけるステップS160において行われる捕獲成否通知処理の詳細な一例を示すサブルーチンである。本実施例においては、図20〜図22に示す一連の処理は、プロセッサ81が各種プログラムPaに含まれる通信プログラムや所定のアプリケーションプログラム(ゲームプログラム)を実行することによって行われる。また、図20〜図22に示すゲーム処理が開始されるタイミングは任意である。
なお、図20〜図22に示すフローチャートにおける各ステップの処理は、単なる一例に過ぎず、同様の結果が得られるのであれば、各ステップの処理順序を入れ替えてもよいし、各ステップの処理に加えて(または代えて)別の処理が実行されてもよい。また、本実施形態では、上記フローチャートの各ステップの処理をプロセッサ81が実行するものとして説明するが、上記フローチャートにおける一部のステップの処理を、プロセッサ81以外のプロセッサや専用回路が実行するようにしてもよい。また、本体装置2において実行される処理の一部は、本体装置2と通信可能な他の情報処理装置(例えば、本体装置2とネットワークを介して通信可能なサーバ)によって実行されてもよい。すなわち、図20〜図22に示す各処理は、本体装置2を含む複数の情報処理装置が協働することによって実行されてもよい。
図20において、プロセッサ81は、ゲーム処理における初期設定を行い(ステップS121)、次のステップに処理を進める。例えば、上記初期設定では、プロセッサ81は、以下に説明する処理を行うためのパラメータを初期化する。一例として、プロセッサ81は、捕獲ゲームフラグデータDfが示す捕獲ゲームフラグおよび報知フラグデータDgが示す報知フラグをそれぞれオフに初期設定する。なお、本フローチャートにおける処理においては、共通再生データDyは、球状コントローラ200の製造時点においてメモリ324に書き込まれているものとする。
次に、プロセッサ81は、球状コントローラ200から操作データを取得して操作データDaおよび慣性データDbを更新し(ステップS122)、次のステップに処理を進める。
次に、プロセッサ81は、捕獲ゲームフラグがオンに設定されているか否かを判定する(ステップS123)。例えば、プロセッサ81は、捕獲ゲームフラグデータDfが示す捕獲ゲームフラグがオンに設定されている場合、上記ステップS123において肯定判定する。そして、プロセッサ81は、捕獲ゲームフラグがオフに設定されている場合、ステップS124に処理を進める。一方、プロセッサ81は、捕獲ゲームフラグがオンに設定されている場合、ステップS140に処理を進める。
ステップS124において、プロセッサ81は、プレイヤキャラクタ動作処理を行い、次のステップに処理を進める。例えば、プロセッサ81は、上記ステップS122において更新された操作データDaが示す指示内容に応じて、仮想空間においてプレイヤキャラクタPCを動作させる。そして、プロセッサ81は、プレイヤキャラクタPCの仮想空間における位置、方向、姿勢、および動作等を設定してプレイヤキャラクタ動作データDjを更新する。
次に、プロセッサ81は、プレイヤキャラクタPCが仮想空間に複数配置されているキャラクタから1つの捕獲対象(捕獲対象キャラクタHC)を発見したか否かを判定する(ステップS125)。例えば、プロセッサ81は、プレイヤキャラクタPCが仮想空間に複数配置されているキャラクタの1つと接触した場合やプレイヤキャラクタPCの視界内に仮想空間に複数配置されているキャラクタの1つが配置されている場合等において、当該キャラクタが捕獲対象として発見されたと判定する。そして、プロセッサ81は、捕獲対象が発見された場合、ステップS126に処理を進める。一方、プロセッサ81は、捕獲対象が発見されていない場合、ステップS129に処理を進める。なお、探索ゲーム処理手段は、方向入力部に対する操作に基づいて、所定のゲームキャラクタを仮想世界において探索する処理を実行するものであり、一例としてステップS124およびS125の処理を行うプロセッサ81に相当する。
ステップS126において、プロセッサ81は、捕獲対象を設定して、次のステップに処理を進める。例えば、プロセッサ81は、上記ステップS125において発見されたキャラクタを捕獲対象(捕獲対象キャラクタHC)として設定し、当該捕獲対象を用いて捕獲対象データDcを更新する。また、プロセッサ81は、捕獲対象として設定された捕獲対象キャラクタHCに対応する音声および発光色を示すデータを用いて、捕獲対象再生データDdを更新する。なお、データ生成手段は、捕獲される対象となるゲームキャラクタに対応する第2データを生成するものであり、一例としてステップS126の処理を行うプロセッサ81に相当する。また、特定手段は、捕獲される対象となるゲームキャラクタを当該捕獲前に特定するものであり、一例としてステップS126の処理を行うプロセッサ81に相当する。
次に、プロセッサ81は、捕獲対象再生データを球状コントローラ200へ送信し(ステップS127)、次のステップに処理を進める。例えば、プロセッサ81は、上記ステップS126において設定された捕獲対象再生データDd(捕獲対象キャラクタHCの音声データDd1および発光色データDd2)を用いて、球状コントローラ200へ送信する。そして、捕獲対象再生データを受信した球状コントローラ200の制御部321は、当該受信したデータを用いてメモリ324における捕獲対象再生データDzを更新する。
次に、プロセッサ81は、捕獲ゲームフラグをオンに設定し(ステップS128)、ステップS129に処理を進める。例えば、プロセッサ81は、捕獲ゲームフラグデータDfが示す捕獲ゲームフラグをオンに更新する。
一方、上記ステップS123において、捕獲ゲームフラグがオンに設定されていると判定された場合、プロセッサ81は、捕獲ゲーム処理を行い(ステップS140)、ステップS129に処理を進める。以下、図21を参照して、上記ステップS140で行う捕獲ゲーム処理について説明する。なお、捕獲ゲーム処理手段は、第1データに基づいて、所定のゲームキャラクタを捕獲するゲーム処理を実行するものであり、一例としてステップS140の処理を行うプロセッサ81に相当する。
図21において、プロセッサ81は、報知フラグがオンに設定されているか否かを判定する(ステップS141)。例えば、プロセッサ81は、報知フラグデータDgが示す報知フラグがオンに設定されている場合、上記ステップS141において肯定判定する。そして、プロセッサ81は、報知フラグがオフに設定されている場合、ステップS142に処理を進める。一方、プロセッサ81は、報知フラグがオンに設定されている場合、ステップS160に処理を進める。
ステップS142において、プロセッサ81は、捕獲対象キャラクタ動作処理を行い、次のステップに処理を進める。例えば、プロセッサ81は、所定のアルゴリズムに基づいて、仮想空間において捕獲対象キャラクタHCを動作させる。そして、プロセッサ81は、捕獲対象キャラクタHCの仮想空間における位置、方向、姿勢、および動作等を設定して捕獲対象キャラクタ動作データDiを更新する。
次に、プロセッサ81は、かまえる操作が行われたか否かを判定する(ステップS143)。例えば、プロセッサ81は、上記ステップS122において更新された操作データDaがかまえる操作(例えば、球状コントローラ200のジョイスティック212を押し込む操作)が行われたことを示す場合、上記ステップS143において肯定判定する。そして、プロセッサ81は、かまえる操作が行われた場合、ステップS144に処理を進める。一方、プロセッサ81は、かまえる操作が行われていない場合、ステップS147に処理を進める。
ステップS144において、プロセッサ81は、ボールをかまえる音声を球状コントローラ200から出力するための再生指示データID1を球状コントローラ200へ送信(図17参照)し、次のステップに処理を進める。そして、球状コントローラ200の制御部321は、再生指示データID1を受信することに応じて、共通再生データDyから再生指示データID1に対応する音声データを抽出し、当該音声データに応じた音声(ボールをかまえる音)を振動部271から出力する。
次に、プロセッサ81は、ボールオブジェクトBの初期設定を行い(ステップS145)、次のステップに処理を進める。例えば、プロセッサ81は、仮想空間におけるボールオブジェクトBを予め位置および姿勢に設定して、ボールオブジェクト動作データDhを更新する。
次に、プロセッサ81は、タイミングエフェクトを開始し(ステップS146)、ステップS147に処理を進める。例えば、プロセッサ81は、捕獲タイミング画像TM(図13参照)の表示態様が順次変化するタイミングエフェクト演出(例えば、捕獲タイミング画像TMの輪のサイズが順次変化する演出)を開始して、タイミングエフェクト動作データDkを順次更新する。
ステップS147において、プロセッサ81は、ボールオブジェクト動作処理を行い、次のステップに処理を進める。例えば、プロセッサ81は、上記ステップS122において更新された慣性データDbによって算出される実空間における球状コントローラ200の姿勢や動作と同じようにボールオブジェクトBが仮想空間において動くように、ボールオブジェクトBの姿勢や位置を算出し、ボールオブジェクト動作データDhを更新する。例えばプロセッサ81は、慣性データDbが示す球状コントローラ200に生じている加速度および/または角速度に基づいて、実空間における初期位置および初期姿勢(かまえる操作が行われた時点の球状コントローラ200の位置および姿勢)からの球状コントローラ200の姿勢変化や位置変化を算出することが可能である。そして、プロセッサ81は、仮想空間におけるボールオブジェクトBの初期位置および初期姿勢を、上記球状コントローラ200の姿勢変化や位置変化に基づいて変化させることによって、実空間における球状コントローラ200の動きと同様に仮想空間におけるボールオブジェクトBを動かすことができる。なお、上記ステップS147におけるボールオブジェクト動作処理は、上記ステップS145におけるボールオブジェクトBの初期設定処理が行われている場合に限って行われてもよい。この場合、球状コントローラ200によってかまえる操作が行われた以降に、上記ステップS147におけるボールオブジェクト動作処理が行われることになる。また、オブジェクト制御手段は、ゲームコントローラから受信した第1データに基づいて、仮想空間におけるオブジェクトの位置および/または姿勢を制御するものであり、一例としてステップS147の処理を行うプロセッサ81に相当する。また、本実施例では、ゲームコントローラから送信される第1データの他の例として、球状コントローラ200の姿勢や動作に応じた操作データ(慣性データ)を用いている。
次に、プロセッサ81は、投げる操作が行われたか否かを判定する(ステップS148)。例えば、プロセッサ81は、上記ステップS122において更新された慣性データDbが投げる操作(例えば、球状コントローラ200が所定の加速度以上の動きで振り動かされる操作)が行われたことを示す場合、上記ステップS148において肯定判定する。そして、プロセッサ81は、投げる操作が行われた場合、ステップS149に処理を進める。一方、プロセッサ81は、投げる操作が行われていない場合、当該サブルーチンによる処理を終了する。
ステップS149において、プロセッサ81は、ボールが飛んでいく音声を球状コントローラ200から出力するための再生指示データID2を球状コントローラ200へ送信(図17参照)し、次のステップに処理を進める。そして、球状コントローラ200の制御部321は、再生指示データID2を受信することに応じて、共通再生データDyから再生指示データID2に対応する音声データを抽出し、当該音声データに応じた音声(ボールが飛んでいく音)を振動部271から出力する。
次に、プロセッサ81は、捕獲成否判定処理を行い(ステップS150)、次のステップに処理を進める。例えば、プロセッサ81は、投げる操作が行われたタイミング(例えば、投げる操作が行われた時点における捕獲タイミング画像TMのサイズ)、投げる操作の内容(例えば、球状コントローラ200に生じた加速度の大きさ)、捕獲対象キャラクタHCの捕獲難易度、プレイヤキャラクタPCの経験値、捕獲トライ回数等の少なくとも何れか1つに基づいて、捕獲対象キャラクタHCの捕獲の成否を判定する。なお、判定手段は、ゲームキャラクタの捕獲の成否を判定するものであり、一例としてステップS150の処理を行うプロセッサ81に相当する。
次に、プロセッサ81は、報知フラグをオンに設定し(ステップS151)、当該サブルーチンによる処理を終了する。例えば、プロセッサ81は、報知フラグデータDgが示す報知フラグをオンに更新する。
一方、上記ステップS141において、報知フラグがオンに設定されていると判定された場合、プロセッサ81は、捕獲成否報知処理を行い(ステップS160)、当該サブルーチンによる処理を終了する。以下、図22を参照して、上記ステップS160で行う捕獲成否報知処理について説明する。
図22において、プロセッサ81は、ボールオブジェクト動作処理を行い(ステップS161)、次のステップに処理を進める。例えば、プロセッサ81は、投げる操作が行われた時点のボールオブジェクトBの位置から捕獲対象キャラクタHCが配置されている位置に到達する仮想空間における軌道に沿ってボールオブジェクトBが動くように、ボールオブジェクトBの姿勢や位置を算出し、ボールオブジェクト動作データDhを更新する。他の例として、捕獲対象キャラクタHCが配置されている位置にボールオブジェクトBが到達しない軌道に沿ってボールオブジェクトBが移動してもよい。一例として、球状コントローラ200を投げる操作の強弱(例えば、投げる操作において球状コントローラ200に生じた加速度の大小)に応じて、ボールオブジェクトBが捕獲対象キャラクタHCの手前で移動を停止したり、ボールオブジェクトBが捕獲対象キャラクタHCを越えて飛んでいったりするような軌道に沿ってボールオブジェクトBが移動してもよい。
次に、プロセッサ81は、捕獲対象キャラクタ動作処理を行い(ステップS162)、次のステップに処理を進める。例えば、プロセッサ81は、所定のアルゴリズムに基づいて、仮想空間において捕獲対象キャラクタHCを動作させる。そして、プロセッサ81は、捕獲対象キャラクタHCの仮想空間における位置、方向、姿勢、および動作等を設定して捕獲対象キャラクタ動作データDiを更新する。なお、上記ステップS162における捕獲対象キャラクタ動作処理においては、捕獲対象キャラクタHCの捕獲に失敗した場合に、ボールオブジェクトBから捕獲対象キャラクタHCが逃げ出すように動作させてもよい。
次に、プロセッサ81は、捕獲対象キャラクタHCの捕獲の成否が通知されるまでの間の期間において行われる演出において、球状コントローラ200に再生指示データを送信するタイミングであるか否かを判定する(ステップS163)。例えば、図17を用いて説明したように、現時点が再生指示データID3〜ID7の何れかを送信するタイミングである場合、プロセッサ81は、上記ステップS163において肯定判定する。そして、プロセッサ81は、球状コントローラ200に再生指示データを送信するタイミングである場合、ステップS164に処理を進める。一方、プロセッサ81は、球状コントローラ200に再生指示データを送信するタイミングでない場合、ステップS166に処理を進める。
ステップS164において、プロセッサ81は、ゲーム状況や時間経過に応じて再生指示データID3〜ID7の何れかを球状コントローラ200へ送信し、次のステップに処理を進める。例えば、図17を用いて説明したように、現時点が再生指示データID3〜ID7の何れかを送信するタイミングである場合、プロセッサ81は、対象となる再生指示データID3〜ID7の何れかを球状コントローラ200へ送信する。そして、球状コントローラ200の制御部321は、再生指示データID3〜ID7の何れかを受信することに応じて、共通再生データDyから再生指示データID3〜ID7の何れかに対応する音声データを抽出し、当該音声データに応じた音声を振動部271から出力する。また、球状コントローラ200の制御部321は、再生指示データID3〜ID7の何れかを受信することに応じて、共通再生データDyから再生指示データID3〜ID7の何れかに対応する発光色データを抽出し、当該発光色データに応じた色で発光部248を発光させる。
次に、プロセッサ81は、ボールオブジェクトBの点灯処理を行い(ステップS165)、ステップS166に処理を進める。例えば、プロセッサ81は、上記ステップS164において球状コントローラ200の発光部248を発光させる再生指示データを送信している場合、ボールオブジェクトBの一部である発光部位Cを当該再生指示データによって指示している発光色で点灯または点滅している状態に設定して、ボールオブジェクト動作データDhを更新する。
ステップS166において、プロセッサ81は、捕獲対象キャラクタHCの捕獲の成否を通知するタイミングであるか否かを判定する。例えば、図17を用いて説明したように、現時点が捕獲対象キャラクタHCの捕獲の成否を通知するタイミング、すなわち再生指示データID8または再生指示データID9を送信するタイミングである場合、プロセッサ81は、上記ステップS166において肯定判定する。そして、プロセッサ81は、捕獲対象キャラクタHCの捕獲の成否を通知するタイミングである場合、ステップS167に処理を進める。一方、プロセッサ81は、捕獲対象キャラクタHCの捕獲の成否を通知するタイミングでない場合、ステップS172に処理を進める。
ステップS167において、プロセッサ81は、捕獲対象キャラクタHCの捕獲に成功しているか否かを判定する。例えば、上記ステップS150における捕獲成否判定処理において、捕獲対象キャラクタHCの捕獲に成功していると判定されている場合、プロセッサ81は、上記ステップS167において肯定判定する。そして、プロセッサ81は、捕獲対象キャラクタHCの捕獲に成功している場合、ステップS168に処理を進める。一方、プロセッサ81は、上記ステップS150における捕獲成否判定処理において捕獲対象キャラクタHCの捕獲に失敗したと判定されている場合、ステップS170に処理を進める。
ステップS168において、プロセッサ81は、捕獲に成功した音声を球状コントローラ200から出力し、球状コントローラ200が捕獲に成功した色で発光するための再生指示データID8を球状コントローラ200へ送信し、次のステップに処理を進める。そして、球状コントローラ200の制御部321は、再生指示データID8を受信することに応じて、共通再生データDyから再生指示データID8に対応する音声データを抽出し、当該音声データに応じた音声(捕獲成功音)を振動部271から出力する。また、球状コントローラ200の制御部321は、再生指示データID8を受信することに応じて、共通再生データDyから再生指示データID8に対応する発光色データを抽出し、当該発光色データに応じた色(例えば、緑色)で発光部248を発光させる。
次に、プロセッサ81は、ボールオブジェクトBの点灯処理を行い(ステップS169)、ステップS172に処理を進める。例えば、プロセッサ81は、捕獲に成功した色(例えば、緑色)でボールオブジェクトBの一部である発光部位Cを点灯または点滅している状態に設定して、ボールオブジェクト動作データDhを更新する。
一方、ステップS170において、プロセッサ81は、捕獲に失敗した音声を球状コントローラ200から出力し、球状コントローラ200が捕獲に失敗した色で発光するための再生指示データID9を球状コントローラ200へ送信し、次のステップに処理を進める。そして、球状コントローラ200の制御部321は、再生指示データID9を受信することに応じて、共通再生データDyから再生指示データID9に対応する音声データを抽出し、当該音声データに応じた音声(捕獲失敗音)を振動部271から出力する。また、球状コントローラ200の制御部321は、再生指示データID9を受信することに応じて、共通再生データDyから再生指示データID9に対応する発光色データを抽出し、当該発光色データに応じた色(例えば、赤色)で発光部248を発光させる。
次に、プロセッサ81は、ボールオブジェクトBの点灯処理を行い(ステップS171)、ステップS172に処理を進める。例えば、プロセッサ81は、捕獲に失敗した色(例えば、赤色)でボールオブジェクトBの一部である発光部位Cを点灯または点滅している状態に設定して、ボールオブジェクト動作データDhを更新する。
なお、上記ステップS171におけるボールオブジェクトBの点灯処理は、捕獲対象キャラクタHCの捕獲に失敗した場合に行われるが、他の実施例としてボールオブジェクトBが点灯する演出とは異なる演出が行われてもよい。一例として、上記ステップS171において、プロセッサ81は、ボールオブジェクトBの発光部位Cを点灯または点滅させるのではなく、ボールオブジェクトBが割れて中から捕獲対象キャラクタHCから脱出する演出を行って、ボールオブジェクト動作データDhを更新してもよい。この場合、ボールオブジェクトBの中から脱出する捕獲対象キャラクタHCの動作は、上記ステップS162における捕獲対象キャラクタ動作処理において設定され、当該捕獲対象キャラクタHCが再度捕獲対象として継続して設定されて、捕獲ゲームが所定回数繰り返されてもよい。
ステップS172において、プロセッサ81は、捕獲対象キャラクタHCがボールオブジェクトB(球状コントローラ200)内に捕獲されている様子を演出する捕獲演出を行うタイミングか否かを判定する。例えば、図17を用いて説明したように、現時点がボールオブジェクトB(球状コントローラ200)内に捕獲対象キャラクタHCが捕獲されている様子を演出するタイミング、すなわち再生指示データID10を送信するタイミングである場合、プロセッサ81は、上記ステップS172において肯定判定する。そして、プロセッサ81は、捕獲対象キャラクタHCが捕獲されている捕獲演出を行うタイミングである場合、ステップS173に処理を進める。一方、プロセッサ81は、捕獲対象キャラクタHCが捕獲されている捕獲演出を行うタイミングでない場合、ステップS175に処理を進める。
ステップS173において、プロセッサ81は、捕獲に成功した捕獲対象キャラクタHCの鳴き声を球状コントローラ200から出力し、球状コントローラ200が捕獲に成功した捕獲対象キャラクタHCの基調色で発光するための再生指示データID10を球状コントローラ200へ送信し、次のステップに処理を進める。そして、球状コントローラ200の制御部321は、再生指示データID10を受信することに応じて、捕獲対象再生データDzから再生指示データID10に対応する音声データを抽出し、当該音声データに応じた音声(捕獲対象キャラクタHCの鳴き声)を振動部271から出力する。また、球状コントローラ200の制御部321は、再生指示データID10を受信することに応じて、捕獲対象再生データDzから再生指示データID10に対応する発光色データを抽出し、当該発光色データに応じた色(例えば、捕獲対象キャラクタHCの基調色)で発光部248を発光させる。
次に、プロセッサ81は、ボールオブジェクトBの点灯処理を行い(ステップS174)、ステップS175に処理を進める。例えば、プロセッサ81は、捕獲に成功した捕獲対象キャラクタHCに対応する色(例えば、基調色)でボールオブジェクトBの一部である発光部位Cを点灯または点滅している状態に設定して、ボールオブジェクト動作データDhを更新する。
ステップS175において、プロセッサ81は、捕獲ゲームを終了するか否かを判定する。例えば、プロセッサ81は、捕獲対象キャラクタHCがボールオブジェクトB(球状コントローラ200)内に捕獲されている様子を演出する期間が終了した場合や捕獲対象キャラクタHCの捕獲に失敗した演出が終了した場合、上記ステップS175において肯定判定する。そして、プロセッサ81は、捕獲ゲームを終了する場合、ステップS176に処理を進める。一方、プロセッサ81は、捕獲ゲームを継続する場合、当該サブルーチンによる処理を終了する。
ステップS176において、プロセッサ81は、報知フラグおよび捕獲ゲームフラグをそれぞれオフに設定し、当該サブルーチンによる処理を終了する。例えば、プロセッサ81は、報知フラグデータDgが示す報知フラグをオフに更新し、捕獲ゲームフラグデータDfが示す捕獲ゲームフラグをオフに更新する。
図20に戻り、ステップS129において、プロセッサ81は、表示制御処理を行い、次のステップに処理を進める。例えば、プロセッサ81は、ボールオブジェクト動作データDh、捕獲対象キャラクタ動作データDi、およびプレイヤキャラクタ動作データDjを用いて、仮想ゲーム空間にボールオブジェクトB、捕獲対象キャラクタHC、プレイヤキャラクタPC等を配置する。そして、プロセッサ81は、所定の位置に配置された仮想カメラから仮想空間を見た仮想空間画像を生成し、当該仮想空間画像を表示装置(例えば、据置型モニタ6)の表示画面に表示する処理を行う。また、プロセッサ81は、タイミングエフェクト動作データDkを用いて、上記仮想空間画像に捕獲タイミング画像TMが含まれるように当該仮想空間画像を合成し、当該仮想空間画像を表示装置の表示画面に表示する処理を行う。
次に、プロセッサ81は、ゲームを終了するか否かを判定する(ステップS130)。上記ステップS130においてゲームを終了する条件としては、例えば、上記ゲームの結果が確定したことやユーザがゲームを終了する操作を行ったこと等がある。プロセッサ81は、ゲームを終了しない場合に上記ステップS122に戻って処理を繰り返し、ゲームを終了する場合に当該フローチャートによる処理を終了する。以降、ステップS122〜ステップS130の一連の処理は、ステップS130でゲームを終了すると判定されるまで繰り返し実行される。
このように、本実施例においては、球状コントローラ200を操作することによって捕獲に成功した捕獲対象キャラクタHCに対応する音声(例えば、鳴き声)が当該球状コントローラ200から出力されるため、捕獲対象キャラクタHCを捕獲するゲームにおける臨場感を高めることができる。また、本実施例においては、球状コントローラ200を操作することによって捕獲に成功した捕獲対象キャラクタHCの基調色で当該球状コントローラ200が発光するため、捕獲対象キャラクタHCを捕獲するゲームにおける臨場感をさらに高めることができる。
なお、上述した説明では、捕獲対象キャラクタHCの捕獲が成功した際、その直後において捕獲に成功した捕獲対象キャラクタHCに対応する音声(例えば、鳴き声)が球状コントローラ200から出力され、当該捕獲対象キャラクタHCの基調色で球状コントローラ200が発光する例を用いた。これによって、球状コントローラ200内に捕獲に成功した捕獲対象キャラクタHCが入っているかのような感覚をユーザに与えることができるが、このような演出は、捕獲が成功した直後の期間以外において行われてもよい。第1の例として、捕獲対象が設定された際に球状コントローラ200内に格納された捕獲対象再生データを捕獲ゲーム後も維持することによって、球状コントローラ200に対して所定の操作(例えば、球状コントローラ200を振り動かす操作、ジョイスティック21の傾倒操作される、操作面213の押下操作等)が上記ゲーム中の任意のタイミングで行われることを契機として、捕獲対象キャラクタHCに対応する音声を球状コントローラ200から出力し、当該捕獲対象キャラクタHCの基調色で球状コントローラ200を発光させてもよい。第2の例として、本体装置2と球状コントローラ200とが無線通信されていない状態、すなわち上記ゲームが行われていない状態であっても、球状コントローラ200に対して所定の操作が行われることを契機として、捕獲対象キャラクタHCに対応する音声を球状コントローラ200から出力し、当該捕獲対象キャラクタHCの基調色で球状コントローラ200を発光させてもよい。上記第2の例では、上記演出に用いられる捕獲対象再生データは、本体装置2から送信されて球状コントローラ200内に格納されるが、上記捕獲ゲームにおいて捕獲対象が設定された際に格納されたものが当該演出時まで維持されて用いられてもよいし、上記捕獲ゲームが行われていない期間において本体装置2から球状コントローラ200へ捕獲対象再生データを転送する処理を行うことによって球状コントローラ200内に格納されたものが当該演出において用いられてもよい。上記第2の例では、本体装置2と球状コントローラ200とが無線通信されていない状態であっても上記演出が可能となるため、球状コントローラ200内に捕獲対象キャラクタHCを格納した状態で持ち出しているような感覚をユーザに与えることができる。
また、上述した実施例では、捕獲対象キャラクタHCに対応する音声(例えば、鳴き声)が球状コントローラ200から出力される例を用いたが、捕獲対象キャラクタHCに対応する振動が球状コントローラ200に与えられてもかまわない。この場合、球状コントローラ200に格納される捕獲対象再生データには、振動部271から所望の音声を出力させるための可聴域の周波数の音声信号が含まれていなくてもよく、捕獲対象キャラクタHCに対応する波形の振動を振動部271に行わせるための可聴域外の周波数の振動信号のみが含まれていてもよい。
また、上述した説明では、球状コントローラ200を1人のユーザが操作する場合のゲーム例を用いたが、本実施例では、複数のユーザがそれぞれ球状コントローラ200および/または他のコントローラ(例えば、左コントローラ3または右コントローラ4)を操作して捕獲ゲームをプレイする複数人プレイも可能である。この場合、それぞれのユーザが異なるプレイヤキャラクタPCを操作することによって、1体の捕獲対象キャラクタHCに対してプレイヤキャラクタPCがそれぞれ異なるボールオブジェクトBを投げることが考えられる。このような複数人プレイによる捕獲ゲームが行われる場合、捕獲対象とする1体の捕獲対象キャラクタHCが選択されて設定されたことに応じて、当該捕獲対象キャラクタHCの種類に対応する捕獲対象再生データが本体装置2から複数のコントローラ(例えば、複数の球状コントローラ200)へそれぞれ送信されて当該複数のコントローラ内にそれぞれ格納される。そして、一例として、いずれかのユーザが捕獲対象キャラクタHCの捕獲が成功した際、捕獲に成功した捕獲対象キャラクタHCに対応する音声が上記複数のコントローラ200全てからそれぞれ出力され、当該捕獲対象キャラクタHCの基調色で複数のコントローラ200全てが発光する。また、他の例として、いずれかのユーザが捕獲対象キャラクタHCの捕獲が成功した際、捕獲に成功した捕獲対象キャラクタHCに対応する音声が当該ユーザのコントローラのみから出力され、当該捕獲対象キャラクタHCの基調色で当該コントローラのみが発光する。
また、上述した説明では、操作判定処理や球状コントローラ200から音声、振動、および光を出力する処理を本体装置2側で行う例を用いたが、当該処理の少なくとも一部を球状コントローラ200において行ってもよい。例えば、球状コントローラ200の加速度、角速度、姿勢を算出する処理、球状コントローラ200の軸方向や軸方向の変化量を算出する処理、球状コントローラ200に生じている加速度(重力加速度)を算出する処理等を、球状コントローラ200内で行ってもよい。また、振動部271から音声および/または振動を出力する処理や発光部248を発光させる処理を、球状コントローラ200内で行ってもよい。一例として、球状コントローラ200が投げる操作が行われたことが本体装置2または球状コントローラ200内において判定されたことを契機として、球状コントローラ200内の制御部321が振動部271の動作を制御することによって、球状コントローラ200内で振動部271から出力する音声および/または振動を制御する処理が行われてもよい。他の例として、所定のタイミングが到来することに応じて、球状コントローラ200内の制御部321は、振動部271から所定の音声および/または所定の振動を出力する制御を行ってもかまわない。
また、上述した実施例において、球状コントローラ200の動きや姿勢を検出する方法については、単なる一例であって、他の方法や他のデータを用いて球状コントローラ200の動きや姿勢を検出してもよい。また、上述した実施例では、球状コントローラ200を用いた操作に応じたゲーム画像を据置型モニタ6に表示しているが、本体装置2のディスプレイ12に表示してもよい。また、プレイヤキャラクタPCの動作を制御するためのコントローラは、球状コントローラ200だけでなく、他のコントローラでもよい。
また、上記実施例においては、球状コントローラ200は、方向入力部として、傾倒操作可能な軸部を有するジョイスティックを備える構成であった。ここで、他の実施例においては、球状コントローラ200は、方向入力部として、方向入力を行うことが可能な任意の入力デバイスを備えていてもよい。一例として、球状コントローラ200の方向入力部は、スライド可能なスライド部を有する入力デバイス(具体的には、スライドスティック)であってもよい。また、他の例として、球状コントローラ200の方向入力部は、十字キーであってもよい。
また、上述した実施例において、外形形状が球状となるゲームコントローラ(すなわち、球状コントローラ200)を例として説明した。ここで、他の実施例においては、ゲームコントローラの外形形状は任意の形状であってもよい。例えば、また、球状コントローラ200は、情報(例えば、ジョイスティックへの操作に関する情報、および操作面への操作に関する情報)を外部に送信する送信部(すなわち、通信部323)を備える。ここで、「外部に情報を送信する」とは、本体装置2に限らず、球状コントローラ200とは異なる任意の他の装置に情報を送信する態様を含む。すなわち、球状コントローラ200は、本体装置2とは異なる他の種類の情報処理装置と通信を行うことが可能であってもよい。例えば、本体装置2がスマートフォンやタブレットで構成されてもよく、球状コントローラ200は、スマートフォンおよび/またはタブレットと無線通信を行うことが可能であってもよいし、本体装置2とは異なる他の種類の携帯ゲーム機と無線通信を行うことが可能であってもよい。また、球状コントローラ200は、他のゲームコントローラ(例えば、上述の球状コントローラ200)と通信を行ってもよい。このとき、球体コントローラ200からの情報は、当該他のゲームコントローラを介して情報処理装置(例えば、本体装置2)へ送信されてもよい。
また、球状コントローラ200と他の装置との通信は、無線通信であってもよいし、有線通信であってもよい。また、球状コントローラ200は、ゲーム用途に限らず、他の用途に用いられるものであってもよい。例えば、本体装置2においてゲームプログラムとは異なる情報処理プログラム(例えば、ブラウザ)が実行される場合において、球状コントローラ200は、当該情報処理プログラムに関する操作を行うために用いられるコントローラ(換言すれば、操作装置)であってもよい。
また、上述した実施例では、球状コントローラ200に発光部248が備えられている。他の実施例として、球状コントローラ200に備えられる発光部として、発光部248に加えて(または代えて)球状コントローラ200の外面の少なくとも一部に表示画面(例えば、液晶画面や有機EL画面)が備えられていてもよい。この場合、他の実施例として、捕獲された捕獲対象キャラクタHCに対応する球状コントローラ200の発光は、複数の色が用いられた模様が上記表示画面に表示されるものであってもよい。また、他の実施例として、捕獲された捕獲対象キャラクタHCに対応する球状コントローラ200の発光は、当該捕獲対象キャラクタHCの少なくとも一部の画像が上記表示画面に表示されるものであってもよい。
また、付加装置(例えば、クレードル)は、本体装置2を着脱可能な任意の付加装置であってよい。付加装置は、本実施形態のように、本体装置2に対する充電を行う機能を有していてもよいし、有していなくてもよい。
また、ゲームシステム1は、どのような装置であってもよく、携帯型のゲーム装置、任意の携帯型電子機器(PDA(Personal Digital Assistant)、携帯電話、スマートデバイス(スマートフォン等)、パーソナルコンピュータ、カメラ、タブレット等)等であってもよい。これらのハードウェアは、ゲームアプリケーションを実行可能であれば、何れもゲーム装置として機能することができる。
また、上述した説明では情報処理(ゲーム処理)をゲームシステム1でそれぞれ行う例を用いたが、上記処理ステップの少なくとも一部を他の装置で行ってもかまわない。例えば、ゲームシステム1がさらに他の装置(例えば、別のサーバ、他の画像表示装置、他のゲーム装置、他の携帯端末)と通信可能に構成されている場合、上記処理ステップは、さらに当該他の装置が協働することによって実行してもよい。このように、上記処理ステップの少なくとも一部を他の装置で行うことによって、上述した処理と同様の処理が可能となる。また、上述した情報処理(ゲーム処理)は、少なくとも1つの情報処理装置により構成される情報処理システムに含まれる1つのプロセッサまたは複数のプロセッサ間の協働により実行されることが可能である。また、上記実施例においては、ゲームシステム1のプロセッサ81が所定のプログラムを実行することによって情報処理を行うことが可能であるが、ゲームシステム1が備える専用回路によって上記処理の一部または全部が行われてもよい。
ここで、上述した変形例によれば、いわゆるクラウドコンピューティングのシステム形態や分散型の広域ネットワークおよびローカルネットワークのシステム形態でも本発明を実現することが可能となる。例えば、分散型のローカルネットワークのシステム形態では、据置型の情報処理装置(据置型のゲーム装置)と携帯型の情報処理装置(携帯型のゲーム装置)との間で上記処理を協働により実行することも可能となる。なお、これらのシステム形態では、上述した処理をどの装置で行うかについては特に限定されず、どのような処理分担をしたとしても本発明を実現できることは言うまでもない。
また、上述した情報処理で用いられる処理順序、設定値、判定に用いられる条件等は、単なる一例に過ぎず他の順序、値、条件であっても、本実施例を実現できることは言うまでもない。
また、上記プログラムは、外部メモリ等の外部記憶媒体を通じてゲームシステム1に供給されるだけでなく、有線または無線の通信回線を通じて当該装置に供給されてもよい。また、上記プログラムは、当該装置内部の不揮発性記憶装置に予め記録されていてもよい。なお、上記プログラムを記憶する情報記憶媒体としては、不揮発性メモリの他に、CD−ROM、DVD、あるいはそれらに類する光学式ディスク状記憶媒体、フレキシブルディスク、ハードディスク、光磁気ディスク、磁気テープ、などでもよい。また、上記プログラムを記憶する情報記憶媒体としては、上記プログラムを記憶する揮発性メモリでもよい。このような記憶媒体は、コンピュータ等が読み取り可能な記録媒体ということができる。例えば、コンピュータ等に、これらの記録媒体のプログラムを読み込ませて実行させることにより、上述で説明した各種機能を提供させることができる。
以上、本発明を詳細に説明してきたが、前述の説明はあらゆる点において本発明の例示に過ぎず、その範囲を限定しようとするものではない。本発明の範囲を逸脱することなく種々の改良や変形を行うことができることは言うまでもない。本発明は、特許請求の範囲によってのみその範囲が解釈されるべきであることが理解される。また、当業者は、本発明の具体的な実施例の記載から、本発明の記載および技術常識に基づいて等価な範囲を実施することができることが理解される。また、本明細書において使用される用語は、特に言及しない限り、当該分野で通常用いられる意味で用いられることが理解されるべきである。したがって、他に定義されない限り、本明細書中で使用される全ての専門用語および技術用語は、本発明の属する分野の当業者によって一般的に理解されるのと同じ意味を有する。矛盾する場合、本明細書(定義を含めて)が優先する。