この実施形態について、図面を参照しながら詳細に説明する。なお、図中の同一または相当部分については、同一符号を付してその説明は繰返さない。
[A.情報処理システム]
本実施形態に従う情報処理システムに係る装置構成について説明する。本実施形態に従う情報処理システムは、少なくとも以下に説明する情報処理装置によって構成される。
例えば、情報処理装置は、携帯型ゲーム装置、携帯電話、あるいはスマートフォン等といった、携帯型(可搬型とも言う)の装置であってもよいし、パーソナルコンピュータや家庭用ゲーム機等といった据置型の装置であってもよいし、業務用のアーケードゲーム装置のような大型の装置であってもよい。本例においては、一例として情報処理装置の一例としてゲーム装置について説明する。
(a1:ゲーム装置の全体構成)
図1は、本実施形態に従うゲーム装置1の外観を示す模式図である。
図1に示すように、ゲーム装置1は、本体装置2と、左コントローラ3と、右コントローラ4とを含む。本体装置2は、表示部の一例としてのディスプレイ12を有しており、ゲーム装置1でのゲーム処理を含む各種処理を実行する。
図2は、本実施形態に従うゲーム装置1の別態様の外観を示す模式図である。
図2に示すように、左コントローラ3および右コントローラ4は、本体装置2から分離可能に構成されてもよい。このとき、左コントローラ3および右コントローラ4を一体的に構成してもよいし、左コントローラ3および右コントローラ4をそれぞれ分離した装置として構成してもよい。このように、操作部に相当する左コントローラ3および右コントローラ4は、本体装置2とは分離して構成されてもよい。
左コントローラ3は、本体装置2の左側(図1に示すx軸正方向側)に装着することができる。右コントローラ4は、本体装置2の右側(図1に示すx軸負方向側)に装着することができる。なお、以下の説明において、左コントローラ3および右コントローラ4を「コントローラ」と総称することがある。以下、本体装置2、左コントローラ3および右コントローラ4のより具体的な構成例について説明する。
(a2:本体装置の構造)
図3は、本実施形態に従う本体装置2を示す六面図である。
図3を参照して、本体装置2は、略板状のハウジング11を有している。
ハウジング11の主面(すなわち、おもて側の面、あるいは、ディスプレイ12が設けられる面)は、大略的には矩形形状になっている。ハウジング11は、横長の形状を有しており、以下の説明においては、その主面の長手方向(すなわち、図1に示すx軸方向)を横方向(あるいは、左右方向)と称し、その主面の短手方向(すなわち、図1に示すy軸方向)を縦方向(あるいは、上下方向)と称する。ハウジング11の主面に垂直な方向(すなわち、図1に示すz軸方向)を奥行き方向(あるいは、前後方向)と称する。
但し、本体装置2は、ユーザが把持したときにその主面が横長になる向きで使用することも可能であるし、その主面が縦長になる向きで使用することも可能である。したがって、横方向および縦方向といった名称付けは、説明の便宜上のものである。
ハウジング11の形状および大きさは任意に設計できる。例えば、別の実施形態として、ハウジング11に対して、ユーザが把持しやすくするための突起部やグリップ部を付加するようにしてもよい。
(1)ハウジング11の主面上に設けられる部材
図1〜3に示すように、本体装置2のハウジング11の主面には、ディスプレイ12が設けられる。ディスプレイ12は、本体装置2が取得または生成した画像(静止画であってもよいし、動画像であってもよい)を表示する。ゲーム処理が実行される場合、ディスプレイ12は、仮想空間および仮想空間内のオブジェクトを表示する。典型的には、ディスプレイ12は、液晶表示装置(LCD)で構成されるが、任意の種類の表示装置を採用できる。
ディスプレイ12の画面上にはタッチパネル13が設けられる。典型的には、タッチパネル13は、マルチタッチ入力が可能な方式(例えば、静電容量方式)のデバイスが採用される。但し、タッチパネル13としては、例えば、シングルタッチ入力が可能な方式(例えば、抵抗膜方式)のデバイスといった、任意の種類のデバイスを採用できる。
本体装置2のハウジング11の主面には、スピーカ孔11aおよび11bが形成されており、ハウジング11の内部に配置されるスピーカ(図7に示すスピーカ88)から発生された音がスピーカ孔11aおよび11bから出力される。
本体装置2には2つのスピーカが設けられており、左スピーカおよび右スピーカのそれぞれの位置に対応付けてスピーカ孔11aおよび11bが形成されている。すなわち、スピーカ孔11aは、左スピーカに対応付けてディスプレイ12の左側に形成され、スピーカ孔11bは、右スピーカに対応付けてディスプレイ12の右側に形成される。
なお、スピーカ孔11aおよび11bの位置、形状、および数は任意に設計できる。例えば、別の実施形態として、スピーカ孔11aおよび11bをハウジング11の側面または背面に形成してもよい。
(2)ハウジング11の左側面に設けられる部材
ハウジング11の左側面には、左コントローラ3を本体装置2に着脱可能に装着するための部材である左レール部材15が設けられる。左レール部材15は、ハウジング11の左側面において、上下方向に沿って延びる。左レール部材15は、左コントローラ3のスライダ(図4に示すスライダ40)と係合可能な形状を有している。左レール部材15とスライダ40とによってスライド機構が形成される。このようなスライド機構によって、左コントローラ3を本体装置2に対してスライド可能かつ着脱可能に装着することができる。
ハウジング11の左側面には、左側端子17が設けられる。左側端子17は、本体装置2と左コントローラ3との間で有線通信を行なうための端子である。左側端子17は、左コントローラ3が本体装置2に装着された場合に、左コントローラ3の端子(図4に示す端子42)と接触する位置に設けられる。左側端子17は、左コントローラ3が本体装置2に装着された状態で、本体装置2の左側端子と左コントローラ3の端子とが接する任意の位置に配置すればよい。一例として、図3に示すように、左側端子17は左レール部材15の下側端部付近に設けられる。
(3)ハウジング11の右側面に設けられる部材
図3に示すように、ハウジング11の右側面には、左側面に設けられる構成と同様の構成が設けられる。すなわち、ハウジング11の右側面には、右コントローラ4を本体装置2に着脱可能に装着するための部材である右レール部材19が設けられる。右レール部材19は、ハウジング11の右側面において、上下方向に沿って延びる。右レール部材19は、右コントローラ4のスライダ(図5に示すスライダ62)と係合可能な形状を有している。右レール部材19とスライダ62とによってスライド機構が形成される。このようなスライド機構によって、右コントローラ4を本体装置2に対してスライド可能かつ着脱可能に装着することができる。
右レール部材19は、左レール部材15と同様の形状を有している。すなわち、右レール部材19は、左レール部材15と同様の断面形状となる溝を有する形状である。但し、右レール部材19は、左レール部材15と全く同じ形状である必要はない。例えば、別の実施形態として、左レール部材15の溝と右レール部材19の溝との間で大きさおよび/または形状を異ならせることで、右コントローラ4のスライダ62が左レール部材15に係合できないように、および/または、左コントローラ3のスライダ40が右レール部材19に係合できないように構成してもよい。
ハウジング11の右側面には、右側端子21が設けられる。右側端子21は、本体装置2が右コントローラ4との間で有線通信を行なうための端子である。右側端子21は、右コントローラ4が本体装置2に装着された場合に、右コントローラ4の端子(図5に示す端子64)と接触する位置に設けられる。右側端子21は、右コントローラ4が本体装置2に装着された状態で、本体装置2の右側端子と右コントローラ4の端子とが接する任意の位置に配置すればよい。一例として、図3に示すように、右側端子21は右レール部材19の下側端部付近に設けられる。
上述したように、本実施形態に従う本体装置2のハウジング11には、コントローラを装着するための左レール部材15および右レール部材19が設けられる。左レール部材15および右レール部材19の位置、形状、および大きさは任意に設計できる。例えば、別の実施形態として、左レール部材15および右レール部材19を、ハウジング11の主面および/または裏面における左右の端部にそれぞれ設けてもよい。本体装置2とコントローラとを着脱可能に装着するための機構は任意の構成を採用でき、図1〜3に示すスライダ機構とは異なるスライダ機構を採用してもよいし、スライダ機構とは異なる機構を採用してもよい。例えば、本体装置側に設けた凸部とコントローラ側に設けた凹部とを嵌合することで装着するように構成してもよいし、本体装置側もしくはコントローラ側に磁石を設け、他方に磁性体で構成される部分を設けて、両者を吸着させることで装着するように構成してもよい。
(4)ハウジング11の上側面に設けられる部材
図3に示すように、ハウジング11の上側面には、第1の種類の記憶媒体を装着するための第1スロット23が設けられる。典型的な構成として、第1スロット23の開口部には開閉可能な蓋部が設けられており、蓋部を開けた状態において、第1スロット23に第1の種類の記憶媒体を挿入することができる。第1の種類の記憶媒体は、例えば、ゲーム装置1およびそれと同種のゲーム装置に専用設計された記憶媒体(例えば、専用メモリカード)である。第1の種類の記憶媒体は、例えば、本体装置2で利用されるデータ(例えば、アプリケーションのセーブデータ等)、および/または、本体装置2で実行されるプログラム(例えば、アプリケーションのプログラム等)を格納するために用いられる。
ハウジング11の上側面には、本体装置2の電源のオン/オフを切り替えるための電源ボタン28が設けられる。本実施形態においては、電源ボタン28は、オンモードとスリープモードとを切り替えるためにも用いられる。
オンモードは、例えば、ディスプレイ12の画面表示が行なわれるモードであり、スリープモードは、例えば、ディスプレイ12の画面表示が休止されるモードである。スリープモードにおいては、ディスプレイ12の画面表示が休止されるとともに、またはそれに代えて、実行中のアプリケーションにおける処理(例えば、ゲームアプリケーションにおけるゲーム処理)が休止されるようにしてもよい。
電源ボタン28に対して長押し操作が行なわれた場合(例えば、電源ボタン28が所定時間以上押下し続けられた場合)、本体装置2の電源のオン/オフを切り替える処理が実行される。一方、電源ボタン28に対して短押し操作が行なわれた場合(例えば、電源ボタン28が上記所定時間よりも短い時間だけ押下された場合)、オンモードとスリープモードとを切り替える処理が実行される。
上述したように、本実施形態に従う本体装置2の電源ボタン28は、電源のオン/オフの切り替え、および/または、オンモードとスリープモードとの切り替えに用いられる。別の実施形態として、電源ボタン28がいずれか一方の切り替えのみを実行するようにしてもよい。この場合、他方の切り替えを行なう別のボタンが本体装置2に設けられてもよい。
ハウジング11の上側面には、音声入出力端子25(具体的には、イヤホンジャック)が設けられる。音声入出力端子25には、マイクやイヤホンを装着することができる。
(5)ハウジング11の下側面に設けられる部材
図3に示すように、ハウジング11の下側面には、本体装置2が後述するクレードル5との間で有線通信を行なうための下側端子27が設けられる。下側端子27は、本体装置2がクレードル5に装着された場合に、クレードル5の端子と接触する位置に設けられる。典型的には、下側端子27として、USB(Universal Serial Bus)コネクタ(より具体的には、メス側コネクタ)を採用できる。
ハウジング11の下側面には、第1の種類とは異なる第2の種類の記憶媒体を装着するための第2スロット24が設けられる。なお、第2スロット24は、第1スロット23と同じ面に設けられてもよい。典型的な構成として、第2スロット24の開口部には開閉可能な蓋部が設けられており、蓋部を開けた状態において、第2スロット24に第2の種類の記憶媒体を挿入することができる。第2の種類の記憶媒体は、例えば、汎用の記憶媒体(例えば、SDカード)であってもよい。第2の種類の記憶媒体は、例えば、第1の種類の記憶媒体と同様、本体装置2で利用されるデータ(例えば、アプリケーションのセーブデータ等)、および/または、本体装置2で実行されるプログラム(例えば、アプリケーションのプログラム等)を格納するために用いられる。
上述したハウジング11に設けられる各構成要素(具体的には、ボタン、スロット、端子等)の位置、形状、および数は任意に設計できる。例えば、別の実施形態として、電源ボタン28、第1スロット23、第2スロット24のうちのいくつかについては、ハウジング11の他の側面または背面に設けてもよい。また、上記構成要素のうちいくつかを省略した構成を採用してもよい。
(a3:左コントローラの構造)
図4は、本実施形態に従う左コントローラ3を示す六面図である。
図4を参照して、左コントローラ3は、略板状のハウジング31を有している。ハウジング31の主面(すなわち、おもて側の面、あるいは、図1に示すz軸負方向側の面)は、大略的には矩形形状になっている。ハウジング31は、縦長の形状、すなわち上下方向(すなわち、図1に示すy軸方向)に長い形状を有している。
左コントローラ3は、本体装置2から外された状態において、ユーザが把持したときにその主面が縦長となる向きで使用することも可能であるし、その主面が横長となる向きで使用することも可能である。
ハウジング31の形状および大きさは任意に設計できる。別の実施形態として、ハウジング31を略板状以外の形状に構成してもよい。ハウジング31についても、矩形形状でなくてもよく、例えば、半円状等の形状を採用してもよい。さらに、ハウジング31は、縦長の形状でなくてもよい。
ハウジング31の上下方向の長さは、本体装置2に係るハウジング11の上下方向の長さと略同じであることが好ましい。ハウジング31の厚さ(すなわち、前後方向の長さ、あるいは、図1に示すz軸方向の長さ)は、本体装置2のハウジング11の厚さと略同じであることが好ましい。したがって、左コントローラ3が本体装置2に装着された場合(図1参照)には、ユーザは、本体装置2と左コントローラ3とを一体の装置のような感覚で把持することができる。
ハウジング31の主面は、左側の角部分が、右側の角部分よりも丸みを帯びた形状になっている。すなわち、ハウジング31の上側面と左側面との接続部分、および、ハウジング31の下側面と左側面との接続部分は、その上側面と右側面との接続部分、および、その下側面と右側面との接続部分に比べて、丸くなっている(すなわち、面取りにおけるRが大きい)。したがって、左コントローラ3が本体装置2に装着された場合(図1参照)には、ゲーム装置1の左側が丸みを帯びた形状となるので、ユーザにとって持ちやすい形状となる。
左コントローラ3には、アナログスティック32が設けられる。図4に示すように、アナログスティック32は、ハウジング31の主面に設けられる。アナログスティック32は、方向を入力することが可能な方向指示部の一例である。アナログスティック32は、ハウジング31の主面に平行な全方向(すなわち、上下左右および斜め方向を含む、360°の方向)に傾倒可能なスティック部材を有する。ユーザは、スティック部材を傾倒することによって傾倒方向に応じた方向の入力が可能なアナログ入力デバイスである。アナログスティック32はさらに、スティック部材を傾倒するときに、傾倒方向に応じた方向の入力に加えて、傾倒した角度に応じた大きさの入力が可能なように構成してもよい。また、方向指示部は、スライドスティック等であってもよい。スライドスティックは、ハウジング31の主面に平行な全方向にスライド可能なスティック部材を有する入力部であり、ユーザは、スティック部材をスライドすることによってスライド方向に応じた入力が可能である。スライドスティックはさらに、スライド量に応じた大きさの入力が可能なようにも構成できる。また、方向指示部は、ボタンの押下操作によって方向を指示する入力部として構成してもよい。例えば、方向指示部は、十字キーまたは上下左右に対応した4つのボタンによって方向を指示する入力部として構成してもよい。また、本実施形態においては、スティック部材を(ハウジング31に垂直な方向に)押下する入力が可能である。すなわち、本実施形態におけるアナログスティック32は、スティック部材の傾倒方向および傾倒量に応じた方向および大きさの入力と、スティック部材に対する押下入力とを行なうことが可能な入力部である。
左コントローラ3には、4つの操作ボタン33〜36(具体的には、右方向ボタン33、下方向ボタン34、上方向ボタン35、および、左方向ボタン36)が設けられる。図4に示すように、これら4つの操作ボタン33〜36は、ハウジング31の主面においてアナログスティック32の下側に設けられる。本実施形態においては、左コントローラ3の主面に設けられる操作ボタンを4つとするが、操作ボタンの数は任意である。これらの操作ボタン33〜36は、本体装置2で実行される各種プログラム(例えば、OSプログラムやアプリケーションプログラム)に応じた指示を行なうために用いられる。なお、本実施形態においては、操作ボタン33〜36は方向入力を行なうために用いられてもよいことから、説明の便宜上、操作ボタン33〜36を、右方向ボタン33、下方向ボタン34、上方向ボタン35、および、左方向ボタン36とも称する。但し、操作ボタン33〜36は、方向入力以外の指示を行なうために用いられてもよい。
左コントローラ3の主面に設けられる操作部(具体的には、アナログスティック32および操作ボタン33〜36)は、左コントローラ3が本体装置2に装着される場合、ゲーム装置1を把持するユーザの例えば左手の親指によって操作される(図9参照)。また、左コントローラ3が本体装置2から外された状態で使用される場合、操作部は、左コントローラ3を把持するユーザの例えば左の手の親指で操作される(図10参照)。
左コントローラ3には、第1Lボタン38およびZLボタン39が設けられる。これらの操作ボタン38および39は、上述の操作ボタン33〜36と同様、本体装置2で実行される各種プログラムに応じた指示を行なうために用いられる。図4に示すように、第1Lボタン38は、ハウジング31の側面のうち左上部分に設けられる。ZLボタン39は、ハウジング31の側面から裏面にかけての左上部分(厳密には、ハウジング31を表側から見たときの左上部分)に設けられる。つまり、ZLボタン39は、第1Lボタン38の後側(図1に示すz軸正方向側)に設けられる。本実施形態においては、ハウジング31の左上部分が丸みを帯びた形状であるので、第1Lボタン38およびZLボタン39は、ハウジング31の当該左上部分の丸みに応じた丸みを帯びた形状を有する。
左コントローラ3が本体装置2に装着される場合、第1Lボタン38およびZLボタン39は、ゲーム装置1における左上部分に配置されることになる(図1参照)。したがって、ゲーム装置1を把持するユーザは、左手の人差し指や中指で第1Lボタン38およびZLボタン39を操作することができる。
左コントローラ3は、上述したスライダ40を有している。図4に示すように、スライダ40は、ハウジング31の右側面において、上下方向に沿って延びる。スライダ40は、本体装置2の左レール部材15(より具体的には、左レール部材15の溝)と係合可能な形状を有している。具体的には、スライダ40の断面(具体的には、上下方向に対して垂直な断面)は、凸型の形状を有する。より具体的には、スライダ40の断面は、左レール部材15の断面形状に応じたT字形状を有している。したがって、左レール部材15に係合したスライダ40は、スライド方向(すなわち、左レール部材15が延びる方向)に垂直な向きに関しては固定されて外れないようになっている。
左コントローラ3は、通知用LED45を備える。通知用LED45は、ユーザに対して所定の情報を通知するための通知部である。通知用LED45によって通知される情報は任意である。本実施形態においては、通知用LED45は、本体装置2が複数のコントローラと通信を行う場合には、各コントローラを識別する情報をユーザに示す。具体的には、左コントローラ3は、通知用LED45として、本体装置2が同時に通信可能な左コントローラの数(ここでは、4つ)のLEDを備える。そして、4つのLEDのうち、そのコントローラに付された番号に応じたLEDが点灯する。これによれば、通知用LED45によって上記番号をユーザに通知することが可能となる。
他の実施形態においては、通知用LED45は、左コントローラ3と本体装置2との通信に関する状態をユーザに通知しても良い。たとえば、本体装置2との通信が確立している場合に通知用LE45が点灯しても良い。また、本実施形態においては、通知用LED45として機能するLED(換言すれば発光部)の数を4つとしているが、当該LEDの個数は任意である。
本実施形態においては、通知用LED45は、図に示すように、スライダ40の装着面に設けられる。したがって、通知用LED45は、左コントローラ3が本体装置2に装着されている状態では、見えない位置に配置されている。つまり、通知用LED45は、左コントローラ3を本体装置2から外した場合において用いられる。
(a4:右コントローラの構造)
図5は、本実施形態に従う右コントローラ4を示す六面図である。
図5を参照して、右コントローラ4は、略板状のハウジング51を有している。ハウジング51の主面(すなわち、おもて側の面、あるいは、図1に示すz軸負方向側の面)は、大略的には矩形形状になっている。ハウジング51は、縦長の形状、すなわち、上下方向に長い形状を有している。
右コントローラ4は、本体装置2から外された状態において、ユーザが把持したときにその主面が縦長となる向きで使用されることも可能であるし、その主面が横長となる向きで使用することも可能である。
右コントローラ4のハウジング51は、左コントローラ3のハウジング31と同様、その上下方向の長さは、本体装置2に係るハウジング11の上下方向の長さと略同じであることが好ましく、その厚さは、本体装置2のハウジング11の厚さと略同じであることが好ましい。したがって、右コントローラ4が本体装置2に装着された場合(図1参照)には、ユーザは、本体装置2と右コントローラ4とを一体の装置のような感覚で把持することができる。
ハウジング51の主面は、右側の角部分が、左側の角部分よりも丸みを帯びた形状になっている。すなわち、ハウジング51の上側面と右側面との接続部分、および、ハウジング51の下側面と右側面との接続部分は、その上側面と左側面との接続部分、および、その下側面と左側面との接続部分に比べて、丸くなっている(すなわち、面取りにおけるRが大きい)。したがって、右コントローラ4が本体装置2に装着された場合(図1参照)には、ゲーム装置1の右側が丸みを帯びた形状となるので、ユーザにとって持ちやすい形状となる。
右コントローラ4には、左コントローラ3と同様、方向指示部としてアナログスティック52が設けられる。アナログスティック52は、左コントローラ3のアナログスティック32と実質的に同じ構成である。また、右コントローラ4には、左コントローラ3と同様、4つの操作ボタン53〜56(具体的には、Aボタン53、Bボタン54、Xボタン55、および、Yボタン56)が設けられる。これら4つの操作ボタン53〜56は、左コントローラ3の4つの操作ボタン33〜36と実質的に同じ機構である。図5に示すように、これらアナログスティック52および操作ボタン53〜56は、ハウジング51の主面に設けられる。本実施形態においては、右コントローラ4の主面に設けられる操作ボタンを4つとするが、操作ボタンの数は任意である。
右コントローラ4における2種類の操作部(アナログスティック52および操作ボタン)の位置関係は、左コントローラ3におけるこれら2種類の操作部の位置関係とは反対になっている。すなわち、右コントローラ4においては、アナログスティック52は操作ボタン53〜56の上方に配置されるのに対して、左コントローラ3においては、アナログスティック32は操作ボタン33〜36の下方に配置される。このような配置によって、2つのコントローラを本体装置2から外して使用する場合に、両コントローラを互いに似たような操作感覚で使用することができる。
右コントローラ4の主面に設けられる操作部(具体的には、アナログスティック52および操作ボタン53〜56)は、右コントローラ4が本体装置2に装着される場合、ゲーム装置1を把持するユーザの例えば右手の親指によって操作される(図9参照)。また、右コントローラ4が本体装置2から外された状態で使用される場合、操作部は、右コントローラ4を把持するユーザの例えば右の手の親指で操作される。
右コントローラ4には、第1Rボタン60およびZRボタン61が設けられる。図5に示すように、第1Rボタン60は、ハウジング51の側面のうちの右上部分に設けられる。ZRボタン61は、ハウジング51の側面から裏面にかけての右上部分(厳密には、ハウジング51を表側から見たときの右上部分)に設けられる。つまり、ZRボタン61は、第1Rボタン60の後側(図1に示すz軸正方向側)に設けられる。本実施形態においては、ハウジング51の右上部分が丸みを帯びた形状であるので、第1Rボタン60およびZRボタン61は、ハウジング51の当該右上部分の丸みに応じた丸みを帯びた形状を有する。
右コントローラ4が本体装置2に装着される場合、第1Rボタン60およびZRボタン61は、ゲーム装置1における右上部分に配置されることになる(図1参照)。したがって、ゲーム装置1を把持するユーザは、右手の人差し指や中指で第1Rボタン60およびZRボタン61を操作することができる。
本実施形態においては、第1Lボタン38の形状と第1Rボタン60の形状とは左右対称にはならず、ZLボタン39の形状とZRボタン61の形状とは左右対称の形状にはなっていない。但し、別の実施形態として、第1Lボタン38の形状と第1Rボタン60の形状とを左右対称にしてもよく、ZLボタン39の形状とZRボタン61の形状とを左右対称にしてもよい。
右コントローラ4は、右コントローラ4が本体装置2と有線通信を行なうための端子64を有している。端子64は、右コントローラ4が本体装置2に装着された場合に、本体装置2の右側端子21(図3)と接触する位置に設けられる。右コントローラ4が本体装置2に装着された状態で、本体装置2と右コントローラ4とが接触する任意の位置に端子64を配置すればよい。一例として、図5に示すように、端子64はスライダ62の装着面における下側の端部付近に設けられる。
左コントローラ3のハウジング31および/または右コントローラ4のハウジング51に設けられる各構成要素(具体的には、スライダ、スティック、ボタン、およびLED等)の位置、形状、および数は任意に設計できる。例えば、別の実施形態として、コントローラは、アナログスティックとは別の種類の方向指示部が設けられていてもよい。また、スライダ40または62は、本体装置2に設けられる左レール部材15および右レール部材19の位置に応じた位置に配置されてよく、例えば、ハウジング31または51の主面または裏面に配置されてもよい。また、上記構成要素のうちいくつかを省略した構成を採用してもよい。
右コントローラ4は、通知用LED67を備える。通知用LED67は、左コントローラ3の通知用LED45と同様、ユーザに対して所定の情報を通知するための通知部である。また、右コントローラ4は、通知用LED67として、左コントローラ3と同様に、4つのLEDを備える。4つのLEDのうち、そのコントローラに付された番号に応じたLEDが点灯する。これによれば、通知用LED45によって上記番号をユーザに通知することが可能となる。
本実施形態においては、通知用LED67は、図に示すように、通知用LED45と同様にスライダ62の装着面に設けられる。したがって、通知用LED67は、右コントローラ4が本体装置2に装着されている状態では、見えない位置に配置されている。つまり、通知用LED67は、右コントローラ4を本体装置2から外した場合において用いられる。
(a5:クレードルの利用)
図6は、本実施形態に従うゲーム装置1をクレードルとともに使用する場合の外観を示す模式図である。図6に示すゲームシステムは、ゲーム装置1およびクレードル5を含む。
クレードル5は、ゲーム装置1を載置可能に構成されるとともに、ゲーム装置1のディスプレイ12とは別体の外部表示装置の一例であるテレビ6と通信可能に構成される。ゲーム装置1をクレードル5に載置した場合、ゲーム装置1が取得または生成した画像をテレビ6に表示することができる。クレードル5とテレビ6との間の通信は、有線通信であってもよいし、無線通信であってもよい。
クレードル5は、載置されたゲーム装置1を充電する機能と、通信ハブ装置(例えば、USBハブ)の機能を有するようにしてもよい。
[B.各装置の内部構成]
次に、まず、本実施形態に従う情報処理システムに係る各装置の内部構成について説明する。
(b1:本体装置の内部構成)
図7は、本実施形態に従う本体装置2の内部構成を示すブロック図である。
本体装置2は、図7に示す構成要素を有している。図7に示す構成要素は、例えば、電子部品として電子回路基板上に実装されてハウジング11内に収納される。
本体装置2は、ゲーム処理を含めて各種処理を実行する情報処理部(あるいは、プロセッサ)に相当するCPU(Central Processing Unit)81を有している。CPU81は、アクセス可能な記憶部(具体的には、フラッシュメモリ84等の内部記憶媒体、または、第1スロット23もしくは第2スロット24に装着される外部記憶媒体等)に格納されるプログラムを読み出して実行する。
本体装置2は、内蔵される内部記憶媒体の一例として、フラッシュメモリ84およびDRAM(Dynamic Random Access Memory)85を有している。フラッシュメモリ84は、主に、本体装置2に保存される各種のデータ(プログラムであってもよい)を格納する不揮発性記メモリである。DRAM85は、情報処理において用いられる各種のデータを一時的に記憶する揮発性メモリである。
本体装置2は、第1スロットインターフェイス(I/F)91および第2スロットインターフェイス92を有している。第1スロットインターフェイスは、第1スロット23に接続され、CPU81の指示に応じて、第1スロット23に装着された第1の種類の記憶媒体(例えば、SDカード)に対するデータの読み出しおよび書込みを行なう。第2スロットインターフェイス92は、第2スロット24に接続され、CPU81の指示に応じて、第2スロット24に装着された第2の種類の記憶媒体(例えば、専用メモリカード)に対するデータの読み出しおよび書込みを行なう。
本体装置2は、ネットワークを介して外部の装置と通信(具体的には、無線通信)を行なうためのネットワーク通信部82を有している。例えば、ネットワーク通信部82は、Wi−Fiの認証を受けた通信モジュールが用いられ、無線LANを介して外部装置と通信を行なう。別の実施形態として、本体装置2は、無線LANに接続して通信を行なう機能に加えて(または、それに代えて)、モバイル通信網(すなわち、携帯電話通信網)に接続して通信を行なう機能を有していてもよい。
本体装置2は、左コントローラ3および/または右コントローラ4と無線通信を行なうためのコントローラ通信部83を有している。本体装置2と各コントローラとの通信方式は任意であるが、例えば、Bluetooth(登録商標)の規格に従った通信方式を採用できる。
CPU81は、左側端子17、右側端子21、および下側端子27に接続される。CPU81は、左コントローラ3と有線通信を行なう場合、左側端子17を介して左コントローラ3と間でデータを送受信する。また、CPU81は、右コントローラ4と有線通信を行なう場合、右側端子21を介して右コントローラ4と間でデータを送受信する。CPU81が左コントローラ3や右コントローラ4に送信するデータは、例えば、左コントローラ3や右コントローラ4の振動発生部を制御するためのデータである。CPU81が左コントローラ3や右コントローラ4から受信するデータは、例えば、ユーザが左コントローラ3や右コントローラ4の操作部を操作することに応じて出力される操作データである。CPU81は、クレードル5と通信を行なう場合、下側端子27を介してクレードル5へデータを送信する。
本実施形態においては、本体装置2は、左コントローラ3および右コントローラ4との間で、有線通信および無線通信の両方を行なうことができる。
本体装置2は、タッチパネル13の制御を行なうためのタッチパネルコントローラ86を有している。タッチパネルコントローラ86は、タッチパネル13からの信号に応じて、タッチ入力が行なわれた位置を示すデータを生成してCPU81へ出力する。
ディスプレイ12は、CPU81が各種処理の実行することで生成された画像、および/または、外部から取得した画像を表示する。
本体装置2は、コーデック回路87およびスピーカ88(具体的には、左スピーカおよび右スピーカ)を有している。コーデック回路87は、スピーカ88および音声入出力端子25に対する音声データの入出力を制御する。より具体的には、コーデック回路87は、CPU81から音声データを受け取った場合、その音声データをD/A変換して得られる音声信号をスピーカ88または音声入出力端子25へ出力する。これによって、スピーカ88、あるいは、音声入出力端子25に接続された音声出力部(例えばイヤホン)から音が出力される。コーデック回路87は、音声入出力端子25から音声信号を受け取った場合、音声信号をA/D変換して、所定の形式の音声データをCPU81へ出力する。
本体装置2は、加速度センサ89および角速度センサ90を有している。加速度センサ89は、所定の3軸(例えば、図1に示すxyz軸)方向に沿った直線加速度の大きさを検出する。加速度センサ89は、1軸方向あるいは2軸方向の加速度を検出するものであってもよい。角速度センサ90は、所定の3軸(例えば、図1に示すxyz軸)回りの角速度を検出する。なお、角速度センサ90は、1軸回りあるいは2軸回りの角速度を検出するものであってもよい。加速度センサ89および角速度センサ90の検出結果は、CPU81へ出力される。CPU81は、加速度センサ89および角速度センサ90の検出結果に基づいて、本体装置2の動きおよび/または姿勢に関する情報を算出することが可能である。
本体装置2は、電力制御部97およびバッテリ98を有している。電力制御部97は、CPU81からの指令に基づいて、バッテリ98から各構成要素への電力供給を制御する。電力制御部97は、電源ボタン28に対する入力に応じて電力供給を制御する。すなわち、電力制御部97は、電源ボタン28に対して電源をオフする操作が行なわれた場合、電力供給の全部または一部を停止し、電源ボタン28に対して電源をオンする操作が行なわれた場合、電力供給の全部を開始する。電力制御部97は、電源ボタン28に対してスリープモードに切り替える指示が行なわれた場合、ディスプレイ12を含む一部の構成要素に対する電力供給を停止し、電源ボタン28に対してオンモードに切り替える指示が行なわれた場合、電力供給を開始する。
外部の充電装置(例えば、クレードル5)が下側端子27に接続され、下側端子27を介して本体装置2に電力が供給される場合、バッテリ98はその供給される電力により充電される。なお、本体装置2のバッテリ98の充電容量は、左コントローラ3および右コントローラ4が有しているバッテリよりも充電容量が大きいことが好ましい。
(b2:コントローラの内部構成)
図8は、本実施形態に従う左コントローラ3および右コントローラ4の内部構成を示すブロック図である。
図8には、左コントローラ3および右コントローラ4に関連する本体装置2の構成要素についても描いている。
左コントローラ3は、本体装置2との間で通信を行なうための通信制御部101を有している。通信制御部101は、端子42を介した有線通信と、端子42を介さない無線通信との両方で本体装置2と通信を行なうことが可能である。通信制御部101は、左コントローラ3が本体装置2に装着されているか否かに応じて有線通信を行うか、無線通信を行うかを選択して、選択した通信方法によって通信を行う。すなわち、左コントローラ3が本体装置2に装着されている場合、通信制御部101は、端子42を介して本体装置2と通信を行なう。また、左コントローラ3が本体装置2から外されている場合、通信制御部101は、本体装置2(具体的には、コントローラ通信部83)との間で無線通信を行なう。通信制御部は、本体装置との間で通信を行なうことができればよく、例えば、有線通信もしくは無線通信のどちらかのみを行なうように構成されてもよい。なお、左コントローラ3が本体装置2から外されている場合、一例として無線通信を行う場合について説明するが例えばケーブルを介して有線通信を行うようにしても良い。
左コントローラ3は、例えば、フラッシュメモリ等のメモリ102を有している。上記通信制御部101は、例えば、マイクロプロセッサで構成され、メモリ102に記憶されるファームウェアを実行することによって各種の処理を実行する。
左コントローラ3は、操作ボタン群103(具体的には、操作ボタン33〜36,38,39)およびアナログスティック32を有している。操作ボタン群103およびアナログスティック32に対して行なわれた操作に関する情報は、所定周期で通信制御部101へ繰り返し出力される。
左コントローラ3は、加速度センサ104および角速度センサ105を有している。加速度センサ104は、所定の3軸(例えば、図1に示すxyz軸)方向に沿った直線加速度の大きさを検出する。加速度センサ104は、1軸方向あるいは2軸方向の加速度を検出するものであってもよい。角速度センサ105は、所定の3軸(例えば、図1に示すxyz軸)回りの角速度を検出する。なお、角速度センサ105は、1軸回りあるいは2軸回りの角速度を検出するものであってもよい。加速度センサ104および角速度センサ105の検出結果は、所定周期で通信制御部101へ繰り返し出力される。
通信制御部101は、操作ボタン群103、アナログスティック32、加速度センサ104、および、角速度センサ105の各々から入力に関する情報(例えば、ユーザ操作に関する情報、または、センサによる検出結果)を取得する。通信制御部101は、取得した情報(または、取得した情報に所定の加工を行った情報)を含むデータを本体装置2へ送信する。本体装置2へのデータ送信は、所定周期で繰り返し行なわれる。入力に関する情報が本体装置2へ送信される周期は、入力デバイス間で同じであってもよいし、そうでなくてもよい。
本体装置2は、送信されるデータに基づいて、左コントローラ3に対して行なわれた入力を知ることができる。より具体的には、本体装置2は、操作ボタン群103およびアナログスティック32に対する操作を判別することができる。また、本体装置2は、左コントローラ3の動きおよび/または姿勢に関する情報を算出することができる。
左コントローラ3は、バッテリと電力制御回路とを含む電力供給部109を有している。電力供給部109は、左コントローラ3に各構成要素への電力供給を制御する。バッテリは、左コントローラ3が本体装置2に装着されている場合において、端子42を介して本体装置2からの給電によって充電される。
電力供給部109は、バッテリの電力がなくなった場合には電池警告情報を本体装置2に通知する。
右コントローラ4は、基本的には、上述した左コントローラ3と同様の構成を有している。すなわち、右コントローラ4は、通信制御部111と、操作ボタン群113(具体的には、操作ボタン53〜56,60,61)と、アナログスティック52と、加速度センサ114と、角速度センサ115と、電力供給部119とを有している。電力供給部119は、バッテリの電力がなくなくなった場合には電池警告情報を本体装置2に通知する。
右コントローラ4のその他の構成要素については、左コントローラ3に関して説明した対応する構成要素と同様の構成および機能を有しているので、詳細な説明は繰り返さない。
このように、本実施形態に従うゲーム装置1は、ユーザの左手(一方の手)で把持さる左コントローラ3(ユーザの左手で把持される部分)と、当該ユーザの右手(他方の手)で把持される右コントローラ4(ユーザの右手で把持される部分)とを含む。
本明細書において、「操作部」は、ユーザ操作を受付ける機能または構成を意味し、本体装置2、左コントローラ3、および右コントローラ4等に配置される、ボタン、アナログスティック、各種センサなどの、ユーザの操作を検知できるものであればどのようなものも含み得る。操作部は、本体装置2、左コントローラ3、および右コントローラ4等に分けて配置されたボタン、アナログスティック、各種センサなどの組み合わせによってユーザの操作を検知できるように構成してもよい。
[C.ゲームシステムの使用態様]
上述したように、本実施形態に従うゲーム装置1は、左コントローラ3および右コントローラ4が着脱可能に構成される。また、ゲーム装置1は、クレードル5に装着することによって、画像および音声をテレビ6に出力できる。したがって、以下に説明するような種々の使用態様でゲーム装置1を使用できる。以下では、ゲーム装置1の主たる使用態様について例示する。
(c1:コントローラを本体装置に装着して使用する態様)
図9は、左コントローラ3および右コントローラ4を本体装置2に装着した状態(以下、「装着状態」とも称す。)におけるゲーム装置1の使用態様の一例を示す図である。
図9に示すように、装着状態においては、ゲーム装置1を携帯機器として使用できる。
装着状態においては、基本的には、本体装置2と左コントローラ3および右コントローラ4との間の通信は、有線通信によって行なわれる。別の実施形態として、装着状態においても、本体装置2と左コントローラ3および右コントローラ4との間の通信を無線通信によって行なうようにしてもよい。
装着状態においては、左コントローラ3の4つの操作ボタン33〜36は、方向入力(すなわち、方向指示)を行なうために用いられてもよい。このとき、ユーザは、アナログスティック32を用いて方向入力を行なうことも可能であるし、操作ボタン33〜36を用いて方向入力を行なうことも可能である。ユーザは、好みに合った操作手段を用いて方向入力を行なうことができるので、操作性を向上することができる。但し、操作ボタン33〜36がどのような指示に用いられるかについては、本体装置2において実行されるプログラムによって任意に決められてよい。
本実施形態においては、左コントローラ3と右コントローラ4との間で、アナログスティックと4つの操作ボタン(すなわち、A、B、X、Yボタン)との配置が逆になっている。装着状態においては、左コントローラ3においてはアナログスティック32が4つの操作ボタン33〜36よりも上側に配置されるのに対して、右コントローラ4においては4つの操作ボタン53〜56がアナログスティック52よりも上側に配置される。したがって、図9に示すように、ユーザが両手を同じ高さにして(すなわち、上下方向に関して同じ位置にして)ゲーム装置1を把持した場合、一方の手についてはアナログスティックが操作しやすい位置となり、他方の手については4つの操作ボタンが操作しやすい位置となる。このように、本実施形態に従うゲーム装置1は、アナログスティックおよび4つの操作ボタンを操作しやすい構成を提供する。
(c2:一組のコントローラを本体装置から外して使用する態様)
図10は、左コントローラ3および右コントローラ4を本体装置2から外した状態(以下、「離脱状態」とも称す。)におけるゲーム装置1の使用態様の一例を示す図である。
図10に示すように、離脱状態においては、ユーザは、左コントローラ3および右コントローラ4をそれぞれ左手および右手にそれぞれ持って操作することができる。
離脱状態においては、基本的には、本体装置2と左コントローラ3および右コントローラ4との間の通信は、無線通信によって行なわれる。本体装置2は、無線通信を確立した(典型的には、ペアリングを行なった)コントローラからデータを受信して、受信したデータに基づいてゲーム処理を実行する。
本実施形態においては、無線通信の場合、本体装置2は、通信相手となる左コントローラ3および右コントローラ4を区別する。すなわち、本体装置2は、コントローラから受信されたデータが左コントローラ3からのものであるか、右コントローラ4からのものであるかを識別する。
図10には、一組のコントローラ(左コントローラおよび右コントローラ)を1人のユーザが使用する態様を例示するが、二人のユーザがコントローラを1個ずつ使用するという態様も可能である。この場合、一組のコントローラ(左コントローラおよび右コントロラ)で2人のユーザが同時にゲームに参加できる。
図10には、左コントローラ3および右コントローラ4の両方を本体装置2から外した状態を例示するが、これに限らず、左コントローラ3および右コントローラ4のいずれか一方を本体装置2から外し、他方を本体装置2に装着した状態で、ゲーム装置1を使用することも可能である。
(c3:2人のユーザが1つずつコントローラを使用する態様)
図11は、離脱状態において、2人のユーザが1つずつコントローラを把持してゲーム装置1を利用する様子の一例を示す図である。
図11に示すように、離脱状態においては、2人のユーザが操作を行うことが可能である。具体的には、一方のユーザ(「第1のユーザ」と呼ぶ)が左コントローラ3を用いて操作を行うとともに、他方のユーザ(「第2のユーザ」と呼ぶ)が右コントローラ4を用いて操作を行うことが可能である。ゲーム装置1は、例えば、左コントローラ3に対する操作に基づいて仮想空間における第1のオブジェクト(例えばプレイヤキャラクタ)の動作を制御し、右コントローラ4に対する操作に基づいて仮想空間における第2のオブジェクトの動作を制御する情報処理を実行する。なお、図11に示す態様においても図10に示す態様と同様、ユーザは、コントローラが備える操作部に対する操作、および/または、コントローラ自体を動かす操作が可能である。
また、本実施形態においては、右コントローラ4におけるアナログスティック52と各操作ボタン53〜56との位置関係は、左コントローラ3におけるこれら2種類の操作部の位置関係とは反対になっている。したがって、例えば図11に示すように、2人のユーザが左コントローラ3と右コントローラ4とを同じ向きで把持した場合、上記2種類の操作部の位置関係は、2つのコントローラで同じになる。つまり、本実施形態においては、ユーザは、上記2種類の操作部に関して、本体装置2から外した左コントローラ3と右コントローラ4とを同じような操作感覚で使用することができる。これによって、コントローラの操作性を向上することができる。
また、離脱状態においては、左コントローラ3の4つの操作ボタン33〜36は、右コントローラ4の4つの操作ボタン53〜56と同じ機能として用いられてもよい(換言すれば、同じ指示を行うために用いられてもよい)。具体的には、右方向ボタン33はYボタン56と同じ機能として用いられ、下方向ボタン34はXボタン55と同じ機能として用いられ、上方向ボタン35はBボタン54と同じ機能として用いられ、左方向ボタン36はAボタン53と同じ機能として用いられてもよい。このように、本実施形態においては、装着状態と離脱状態とで、操作ボタン33〜36の機能が変更されてもよい。ただし、各操作ボタンがどのような指示に用いられるかは、本体装置2において実行されるプログラムによって自由に決められてよい。
なお、図11においては、ゲーム装置1は、本体装置2のディスプレイ12の表示領域を2つに分割し、分割された一方の表示領域に第1のユーザのための画像(例えば、第1オブジェクトを含む画像)を表示し、分割された他方の表示領域に第2のユーザのための画像(例えば、第2オブジェクトを含む画像)を表示する。ただし、ゲーム装置1において実行されるアプリケーションによっては、ゲーム装置1は、ディスプレイ12の表示領域を分割することなく、2人のユーザのための画像(例えば、第1オブジェクトおよび第2オブジェクトの両方を含む画像)を表示するようにしてもよい。
また、図11に示す態様においても図10に示す態様と同様、本体装置2と左コントローラ3および右コントローラ4との通信は、無線通信によって行われる。このとき、本体装置2は、通信相手となるコントローラを区別する。
(c4:テレビを利用する態様)
図12は、本体装置2をクレードル5に装着した状態でのゲーム装置1の使用態様の一例を示す図である。
図12に示すように、本体装置2をクレードル5に装着することで、ゲーム装置1が取得または生成した画像をテレビ6に表示することができる。ユーザは、テレビ6に表示される画像(および、必要に応じて、本体装置2のディスプレイに表示される画像)を見ながら、左コントローラ3および/または右コントローラ4を操作する。
(c5:3つ以上のコントローラを利用する態様)
上述のように、本実施形態においては、本体装置2は、複数の左コントローラと通信可能である。また、本体装置2は、複数の右コントローラと通信可能である。したがって、本実施形態においては、3つ以上のコントローラを同時に用いることが可能である。
図13は、3つ以上のコントローラを用いる場合における利用態様の一例を示す図である。
図13においては、2つの左コントローラ3aおよび3bと、2つの右コントローラ4aおよび4bという、合計4つのコントローラが用いられる場合を例示している。なお、ここでは、各コントローラは本体装置2から外されているものとする。このように4つのコントローラが用いられる場合、4人のユーザが1人につき1つのコントローラを利用する態様(図13(a))と、2人のユーザが1人につき2つのコントローラ(具体的には、左右1組のコントローラ)を利用する態様(図13(b))とが少なくとも考えられる。
(1人のユーザが1つのコントローラを利用する態様)
図13(a)においては、4つのコントローラ3a,3b,4a,および4bが、ユーザ1人につき1つ用いられる。つまり、本実施形態においては、4つのコントローラが用意される場合には、ユーザAからユーザDという4人のユーザがコントローラを用いて操作を行うことが可能である。ゲーム装置1は、例えば、各コントローラに対する操作に基づいて、そのコントローラに対応するオブジェクトの動作を制御する情報処理を実行する。
図13(a)において、本体装置2は、4つのコントローラ3a,3b,4a,および4bとそれぞれ無線通信を行う。ここで、本実施形態において、本体装置2は、4つのコントローラ3a,3b,4a,および4bを区別する。すなわち、本体装置2は、受信された操作データが4つのうちどのコントローラからのものであるかを識別する。なお、図13(a)の場合においては、本体装置2は、左コントローラ3aと左コントローラ3bとを区別し、また、右コントローラ4aと右コントローラ4bとを区別する。
(1人のユーザが1組のコントローラを利用する態様)
図13(b)においては、4つのコントローラ3a,3b,4a,および4bが、ユーザ1人につき1組用いられる。すなわち、ユーザAが左コントローラ3aおよび右コントローラ4aの1組のコントローラを用い、ユーザBが左コントローラ3bおよび右コントローラ4bの1組のコントローラを用いる。このように、本実施形態においては、4つのコントローラが用意される場合には、2人のユーザがそれぞれ1組のコントローラ(コントローラのセットとも言える)を操作することが可能である。
ゲーム装置1は、1組のコントローラから受信される2つの操作データを1組として、情報処理を実行する。例えば、ゲーム装置1は、1組のコントローラに対する操作に基づいて、当該1組のコントローラに対応するオブジェクトの動作を制御する情報処理を実行する。具体的には、左コントローラ3aおよび右コントローラ4aに対する操作に基づいて、第1のオブジェクトの動作が制御され、左コントローラ3bおよび右コントローラ4bに対する操作に基づいて、第2のオブジェクトの動作が制御される。
ここで、本実施形態においては、図13(b)に示す利用態様において、本体装置2は、1人のユーザが利用する左コントローラと右コントローラとの組を設定する。本体装置2は、設定された組に含まれる2つのコントローラからの各操作データを、1組として用いて(例えば、1つの操作対象を制御するための操作データとして用いて)情報処理を実行する。
コントローラの組を設定する方法はどのような方法であってもよいが、本実施形態においては、本体装置2に左右のコントローラを装着することによって組の設定を行う。すなわち、本体装置2は、同時に装着された左コントローラおよび右コントローラを、1組のコントローラとして設定する。例えば、図13(b)に示すコントローラの組を設定する場合、ユーザは、まず左コントローラ3aおよび右コントローラ4aを本体装置2に装着し、これらの2つの左コントローラ3aおよび右コントローラ4aを本体装置2から外した後、別の左コントローラ3bおよび右コントローラ4bを本体装置2に装着する。これによって、左コントローラ3aおよび右コントローラ4aの組と、左コントローラ3bおよび右コントローラ4bの組とを本体装置2において設定(登録とも言える)することができる。
なお、3つ以上のコントローラを用いる場合には、図13に示す利用態様の他にも、種々の態様で情報処理システムを利用することが可能である。例えば、あるユーザが左右のコントローラからなる1組のコントローラを用い、他のユーザが1つのコントローラを用いる態様で情報処理システムを利用することが可能である。また例えば、あるユーザが本体装置2に装着されたコントローラを用い、他のユーザが本体装置2から外されたコントローラを用いることも可能である。
(c6:その他の態様)
上述したような使用態様に加えて、HMD(ヘッドマウントディスプレイ)型の表示装置を利用することもできる。
(c7:操作上の利点)
本実施形態においては、左コントローラおよび右コントローラが有している加速度センサおよび/または角速度センサの検出結果に基づいて、各コントローラの動きおよび/または姿勢に関する情報を算出できる。ゲーム装置1は、それぞれのコントローラ自体を動かすユーザ操作を入力として受付けることができる。ユーザは、それぞれのコントローラが有している操作部(操作ボタンおよびアナログスティック)に対するユーザ操作だけでなく、コントローラ自体を動かすユーザ操作を行なうことができる。つまり、本実施形態においては、ゲーム装置1は、携帯型機器でありながら、(ディスプレイを動かすことなく)コントローラを動かす操作をユーザに提供することができる。また、ゲーム装置1は、携帯型機器でありながら、ディスプレイ12から離れた場所でユーザが操作を行なうことが可能なゲーム装置を提供することもできる。
ゲーム装置1は、離脱状態に限らず装着状態においても、左コントローラおよび右コントローラが有している加速度センサおよび/または角速度センサの検出結果に基づいて、ゲーム装置1の動きおよび/または姿勢に関する情報を算出できる。また、ゲーム装置1は、装着状態において、本体装置2が有している加速度センサ89および/または角速度センサ90の検出結果に基づいて、ゲーム装置1の動きおよび/または姿勢に関する情報を算出することもできる。
[D.ゲーム処理の概要]
次に、本実施形態に従う情報処理システムにおいて実行されるゲーム処理の概要について説明する。また、上述の動作を行う際に実行されるいくつかの処理について、より詳細な具体例を説明する。
(d1:登録処理)
上述のように、本実施形態においては、本体装置2と各コントローラ3および4との間で通信が行われる。そのため、本体装置2は、自身との通信を行うコントローラを識別するべく、コントローラを登録するための登録処理を実行する。なお、本体装置2と一緒に提供(具体的には、販売)されるコントローラについては、提供時に本体装置2において登録済みであってもよい。
図14は、実施形態に基づく本体装置2において実行される登録処理の流れの一例を説明するフロー図である。
本実施形態においては、登録処理は、本体装置2に対してコントローラが装着されたことに応じて実行される。すなわち、本体装置2は、左コントローラ3または右コントローラ4が装着されたことを検知し、装着が検知されたことに応じて、図14に示す登録処理の実行を開始する。
コントローラが本体装置2に装着されたことを検知する方法は任意である。例えば、検知方法は、本体装置2および/またはコントローラの端子に含まれる所定のピンにおける信号状態(例えば、電圧状態)に基づく方法であってもよい。また例えば、検知方法は、自機に対して他の装置の端子が接続されたことを機械的に検知する方法であってもよい。
また、本体装置2およびコントローラのそれぞれ上記の検知機能を有していてもよいし、いずれか一方のみが検知機能を有していてもよい。いずれか一方のみが検知機能を有する場合には、当該一方の装置は、接続が検知されたことを他方の装置へ必要に応じて通知してもよい。
なお、図14に示すフローチャートにおける各ステップの処理は、単なる一例に過ぎず、同様の結果が得られるのであれば、各ステップの処理順序を入れ替えてもよいし、各ステップの処理に加えて(または代えて)別の処理が実行されてもよい。また、本実施形態では、上記フローチャートの各ステップの処理を本体装置2のCPU81が実行するものとして説明するが、上記フローチャートにおける一部のステップの処理を、CPU81以外のプロセッサや専用回路が実行するようにしてもよい。また、本体装置2において実行される処理の一部は、本体装置2と通信可能な他の情報処理装置(例えば、本体装置2とネットワークを介して通信可能なサーバ)によって実行されてもよい。すなわち、図14等に示す各処理は、本体装置2を含む複数の情報処理装置が協働することによって実行されてもよい。
図14に示す登録処理においては、まずステップS1において、CPU81は、本体装置2に装着されたことが検知されたコントローラが、登録済みであるか否かを判定する。ここで、本実施形態においては、本体装置2は、自身において登録されたコントローラを示す登録情報を自身の記憶部(例えばフラッシュメモリ84)に記憶する。ステップS1の判定は、この登録情報に基づいて行われる。
図15は、実施形態に基づく登録情報の一例を説明する図である。
図15に示されるように、登録情報は、番号情報、識別情報、無線通信情報を関連付けた情報、コントローラの外観に関する外観情報である。番号情報は、登録されたコントローラに付される番号である。コントローラにおける上述の通知用LEDは、この番号に基づく値を表すように制御されてもよい。
識別情報は、コントローラに対して固有に付される値(例えば、ID)を示す情報である。この識別情報によって、コントローラを一意に識別することができる。
ここで、本実施形態においては、識別情報は、左コントローラであるか右コントローラであるかを示す情報を含む。つまり、本体装置2は、コントローラが左コントローラであるか右コントローラであるかを、当該コントローラに付された識別情報に基づいて判定することができる。なお、他の実施形態においては、識別情報は、左コントローラであるか右コントローラであるかを示す情報を含んでいなくてもよい。このとき、登録情報には、左コントローラであるか右コントローラであるかを示す情報が(識別情報とは別に)含まれていてもよい。
なお、CPU81は、コントローラから識別情報を取得する際、左側端子17と右側端子21とのどちらを介して識別情報を取得したかによって、当該識別情報が示すコントローラが左コントローラであるか右コントローラであるかを判別することができる。
無線通信情報は、本体装置2との無線通信に関する接続設定(すなわち、ペアリング)が済んでいるか否かを示す。すなわち、本体装置2とコントローラとのペアリングが完了している場合、当該コントローラに関する無線通信情報として「設定済」を示す情報が記憶される。一方、本体装置2とコントローラとのペアリングが完了していない場合、当該コントローラに関する無線通信情報として「未設定」を示す情報が記憶される。なお、本体装置2は、(登録情報とは別に)無線通信の接続設定に関する情報を記憶しておき、一度ペアリングを行ったコントローラについては再度ペアリングを行わなくてもよいようにしてもよい。
外観情報は、コントローラの外観に関する情報の登録が済んでいるか否かを示す。すなわち、本体装置2とコントローラとのペアリングが完了している場合、当該コントローラに関する外観情報として「登録済」を示す情報が記憶される。一方、本体装置2とコントローラとのペアリングが完了していない場合、当該コントローラに関する外観情報として「未登録」を示す情報が記憶される。なお、本体装置2は、(登録情報とは別に)外観情報に関する情報を記憶しておき、一度ペアリングを行ったコントローラについては再度ペアリングを行わなくてもよいようにしてもよい。
なお、上記登録情報は、ユーザの指示に応じてその一部が削除されたり、変更されたりしてもよい。例えば、本体装置2は、ユーザの指示に応じて、指定されたコントローラに関する情報を削除してもよいし、コントローラに付された番号を変更してもよい。
図14の説明に戻り、上記ステップS1において、CPU81はまず、装着が検知されたコントローラから識別情報を取得する。なお、コントローラのメモリ(例えば、メモリ102または112)には、自身に付された識別情報が予め記憶されているものとする。コントローラは、自身が本体装置2に接続されたことに応じて、または、CPU81からの要求に応じて、自身の識別情報を本体装置2へ送信する。CPU81は、装着が検知されたコントローラが登録済みであるか否かの判定を、取得された識別情報が登録情報に含まれているか否かによって行う。
ステップS1において、CPU81は、コントローラが登録済みでないと判定した場合(ステップS1においてNO)には、ステップS2の処理を実行する。
一方、ステップS1において、CPU81は、コントローラが登録済みであると判定した場合(ステップS1においてYES)には、ステップS2の処理がスキップされてステップS3の処理を実行する。
ステップS2において、CPU81は、装着が検知されたコントローラについて登録を行う。すなわち、CPU81は、当該コントローラについての番号情報、識別情報、無線通信情報および外観情報を関連付けて登録情報に追加するように、記憶部に記憶される登録情報を更新する。番号情報としては、例えば、登録済みの他のコントローラに対して設定されていない番号を示す情報が設定される。識別情報としては、上記ステップS1でコントローラから取得された識別情報が設定される。無線通信情報および外観情報としては、この時点ではペアリングが行われていないので、「未設定」および「未登録」を示す情報が設定される。ステップS2の次にステップS3の処理が実行される。
ステップS3において、CPU81は、本体装置2に左右の両方のコントローラが装着されているか否かを判定する。すなわち、本体装置2に左コントローラ3および右コントローラ4が装着されていることが現時点で検知されるか否かを判定する。
ステップS3において、CPU81は、両方のコントローラが装着されていると判定した場合(ステップS3においてYES)には、ステップS4の処理を実行する。
一方、ステップS3において、CPU81は、両方のコントローラが装着されていないと判定した場合(ステップS3においてNO)には、ステップS4の処理をスキップして登録処理を終了する(エンド)。
ステップS4において、CPU81は、本体装置2に装着されている左コントローラ3および右コントローラ4を1つの組として設定する。ここで、本実施形態においては、本体装置2は、左コントローラおよび右コントローラの組を示す組情報を記憶部(例えばフラッシュメモリ84)に記憶する。
そして、CPU81は、登録処理を終了する(エンド)。
図16は、実施形態に基づく組情報の一例を示す図である。
図16に示されるように、本実施形態における組情報は、左識別情報と右識別情報とを関連付けた情報である。左識別情報は、登録されているコントローラ(換言すれば、登録情報に含まれる識別情報が示すコントローラ)のうち、組として設定されている左コントローラの識別情報である。右識別情報は、登録されているコントローラ(換言すれば、登録情報に含まれる識別情報が示すコントローラ)のうち、組として設定されている右コントローラの識別情報である。また、組情報において関連付けられている左識別情報および右識別情報が、左右のコントローラからなる組を示す。
上記ステップS4においては、CPU81はまず、本体装置2に装着されている左右のコントローラの識別情報を取得する。なお、上記ステップS1で識別情報が取得されているコントローラについては再度識別情報を取得しなくてもよい。次に、CPU81は、取得された左右のコントローラの識別情報を関連付けて組情報に追加する。すなわち、C PU81は、取得された2つの識別情報の組を組情報(正確には更新前の組情報)に追加するように、組情報を更新する。このとき、上記記憶部には、更新後の組情報が記憶される。
なお、2つの識別情報の組を示す情報がすでに組情報に含まれている場合は、CPU81は組情報の更新を行わなくてもよい。また、2つの識別情報のうち一方を含む組を示す情報が組情報にすでに含まれている場合、CPU81は、当該組を組情報から削除する。これによって、今回設定される組に含まれるコントローラのうち一方を含む組は、設定が削除される(すなわち、組情報から削除される)。ステップS4の後、CPU81は登録処理を終了する(エンド)。
以上のように、本実施形態においては、本体装置2にコントローラが装着されたことに応じて、当該コントローラが本体装置2に登録される。これによれば、ユーザは、コントローラの登録作業を容易に行うことができる。また、本実施形態においては、本体装置2とコントローラとが有線通信を行う場合に登録処理が実行されるので、本体装置2がコントローラから情報(具体的には、識別情報)を取得できない可能性を低減でき、登録が失敗する可能性を低減することができる。
また、本実施形態においては、左右両方のコントローラが本体装置2に装着されることに応じて、これら2つのコントローラが組として設定される。ユーザは、組として利用したい2つのコントローラを本体装置2に装着すればよいので、わかりやすく容易な操作で組を設定することができる。
なお、本体装置2は、上記実施形態のように、本体装置2に同時に装着されている2つのコントローラを1組として設定してもよいし、上記実施形態とは異なり、同時には装着されていない2つのコントローラを1組として設定してもよい。例えば、本体装置2は、自身に最後に装着された左コントローラと、自身に最後に装着された右コントローラとを1組として設定してもよい。
なお、他の実施形態においては、組を設定する方法は任意であり、他の方法によってコントローラの組が設定されてもよい。例えば、本体装置2は、所定の期間内に所定の操作が行われる2つのコントローラを同じ組として設定してもよい。具体的には、本体装置2は、所定の条件が満たされたことに応じて(例えば、組を設定する指示がユーザから受け付けたことに応じて)、所定の操作を行う旨の通知をユーザに対して行う。そして、本体装置2は、通信中の2以上のコントローラのうち、当該通知から所定の期間内に当該所定の操作が行われた2つのコントローラを、1組のコントローラとして設定する。なお、上記「所定の操作」は、例えば、Aボタンを押下する操作であってもよいし、2つのコントローラをぶつける操作(この操作は、例えば加速度センサの検出結果に基づいて判別することができる)であってもよい。
(d2:無線設定処理)
上述のように、本実施形態においては、本体装置2と各コントローラ3および4との間で無線通信が行われることがある。そのため、本実施形態においては、ゲーム装置1は、本体装置2とコントローラとの間で無線通信を行うための設定(ペアリングとも言う)を行う。なお、本体装置2と一緒に提供(具体的には、販売)されるコントローラについては、提供時に無線通信の設定が完了していてもよい。
本実施形態においては、本体装置2は、コントローラとの間で無線通信に関する設定を行うための無線設定処理を実行する。
図17は、実施形態に基づく本体装置2において実行される無線設定処理の流れの一例を示すフロー図である。
本実施形態においては、無線設定処理は、本体装置2からコントローラが外されたことに応じて実行される。すなわち、本体装置2は、左コントローラ3または右コントローラ4が外されたことを検知し、外されたこと(「離脱」と呼ぶ)が検知されたことに応じて、図17に示す無線設定処理の実行を開始する。
なお、本体装置2からのコントローラの離脱を検知する方法は任意であるが、例えば、本体装置2に対するコントローラの装着を検知する方法と同様の方法でよい。
図17に示されるように、無線設定処理においては、まずステップS11において、CPU81は、本体装置2からの離脱が検知されたコントローラについて、無線通信のペアリングが完了しているか否かを判定する。この判定は、上述の登録情報を用いて行われる。すなわち、離脱が検知されたコントローラに関して、登録情報に含まれる無線通信情報が「設定済」を示す場合、CPU81は、無線通信のペアリングが完了していると判定する。一方、離脱が検知されたコントローラに関して、登録情報に含まれる無線通信情報が「未設定」を示す場合、CPU81は、無線通信のペアリングが完了していないと判定する。ステップS11の判定結果が否定である場合(ステップS11においてNO)、ステップS12の処理が実行される。一方、ステップS11の判定結果が肯定である場合(ステップS11においてYES)、ステップS12等の処理がスキップされて、CPU81は無線設定処理を終了する。
ステップS12において、CPU81は、離脱が検知されたコントローラとの無線通信を可能とするためのペアリング処理を実行する。本実施形態におけるペアリング処理は、従来のBluetooth(登録商標)の規格に従った通信技術におけるペアリング処理と同様であってよい。本実施形態においては、コントローラは、本体装置2から外されたことに応じてペアリング処理を実行する。これによって、本体装置2と上記コントローラとの間でペアリングが行われ、無線通信が確立する。ステップS12の次にステップS13が実行される。
ステップS13において、CPU81は、離脱が検知されたコントローラとのペアリングが成功したか否かを判定する。なお、ステップS13の処理は、ステップS12の処理後、予め定められた所定時間が経過したタイミングで実行される。ステップS13において、CPU81は、ペアリングが成功したと判断した場合(ステップS13においてYES)には、CPU81は、コントローラに対して外観情報を要求する(ステップS14)。
次に、CPU81は、コントローラから外観情報を受信したか否かを判断する(ステップS15)。
ステップS15において、CPU81は、コントローラから外観情報を受信したと判断した場合(ステップS15においてYES)には、ステップS16の処理に進む。
ステップS15において、CPU81は、コントローラから外観情報を受信しないと判断した場合(ステップS15においてNO)には、ステップS14に戻り、コントローラに外観情報を要求する。当該処理を繰り返す。CPU81は、複数回上記処理を繰り返して、外観情報を受信しないと判断した場合には無線設定処理を終了(エンド)するようにしても良い。
一方、ステップS13において、CPU81は、ペアリングが成功しないと判断した場合(ステップS13においてNO)には、ステップS14〜S16の処理がスキップされて、CPU81は、無線設定処理を終了する(エンド)。
ステップS16において、CPU81は、登録情報を更新する。すなわち、離脱が検知されたコントローラについて、登録情報に含まれている無線通信情報を「設定済」を示す内容に変更する。また、CPU81は、コントローラから受信した外観情報を「登録済」を示す内容に変更する。
ステップS16の後、CPU81は、無線設定処理を終了する。
図18は、実施形態に基づく外観情報データを説明する図である。
図18には、実施形態に基づくコントローラのメモリに格納されている外観情報データが示されている。本実施形態においては、コントローラ3,4のそれぞれのメモリ102および112に予め対応するコントローラ3,4の外観に関する外観情報データが予め格納されている。
外観情報データ200は、コントローラ形状データ201と、第1外観データ202と、第2外観データ203とを含む。
コントローラ形状データ201は、コントローラの種別を識別するためのデータ(識別データ)であり、本例においては、識別データとしてデータ「CT0」が設定されている場合が示されている。一例として、「CT0」は、コントローラの種別として左コントローラ3であることを指し示す。また、「CT1」は、コントローラの種別として右コントローラ4であることを指し示す。また、「CT2」は、後述するが付属で設けることが可能な両手で把持する付属コントローラであることを指し示す。
後述するが、当該識別データに基づいてコントローラの形態を特定することが可能である。一例として、コントローラの輪郭形状を特定することが可能である。
本例においては、コントローラである操作装置画像を生成する際に外観情報データが利用される。
第1外観データ202は、コントローラのハウジングの外観を示すデータである。本例においては、第1外観データ202の一例として色情報が示されている。本例においては、「赤色」が設定されている場合が示されている。
第2外観データ203は、コントローラのボタンの外観を示すデータである。本例においては、第2外観データ203の一例として色情報が示されている。本例においては、「白色」が設定されている場合が示されている。
なお、コントローラのボタンが固定色である場合には、第2外観データ203を設けなくても後述する操作装置画像を生成することが可能である。
また、本例においては、外観情報データが3つのデータ、すなわちコントローラ形状データ201と、第1外観データ202と、第2外観データ203とを含む構成によりコントローラである操作装置画像を生成する場合について説明するが、少なくとも1つのデータが有ってもよく、例えばコントローラ形状データのみで、コントローラの形態、ハウジングの外観およびボタンの外観を特定するようにしても良い。
また、本例においては、コントローラの外観を示すデータとして、色情報について説明するが、コントローラの色彩、模様、形状の少なくともいずれか1つに関する情報であっても良い。また、これらを組み合わせた情報を外観情報データに組み入れることも可能である。
また、本例においては、第2外観データ203としてコントローラのボタンの外観を示すデータについて説明するが、特にこれに限られずアナログスティックの外観を示すデータでも良い。あるいは、コントローラにスライドパッド、タッチパッド等の操作部が設けられている構成の場合には当該操作部の外観を示すデータでも良く、操作可能な部材の外観を示すデータであればどのようなものでも用いることが可能である。
本実施形態においては、上記無線設定処理に関して、コントローラ3および4も本体装置2と同様の処理(「コントローラ側の無線設定処理」と呼ぶ)を実行する。具体的には、コントローラは、自身が装着された本体装置の識別情報と、当該本体装置とのペアリングが完了しているか否かを示す無線通信情報とを関連付けた登録情報を記憶部(例えばメモリ102または112)に記憶しておく。コントローラ(具体的には、通信制御部101または111)は、本体装置2から外されたことに応じて、当該本体装置2とのペアリングが完了しているか否かを判定する。ペアリングが完了していない場合、コントローラは、ペアリング処理を実行する。さらに、コントローラは、ペアリングが成功したか否かを判定し、ペアリングが成功した場合、上記登録情報を更新する。このように、本実施形態においては、本体装置2からコントローラが外された場合、本体装置2およびコントローラにおいてペアリング処理が実行されるので、ペアリングが成功して無線通信が確立することになる。
以上のように、本実施形態においては、本体装置2からコントローラが外されることに応じて、本体装置2とコントローラとの間の無線通信に関する設定処理が実行され、無線通信が確立する。ここで、本実施形態においては、コントローラが本体装置2に装着された状態では有線通信が行われ、コントローラが本体装置2から外された状態において無線通信が行われる。したがって、コントローラが本体装置2から外された場合に設定処理を実行することで、適切なタイミングで無線通信を確立することができる。なお、本実施形態においては、コントローラが本体装置2に最初に装着された場合に当該コントローラの登録が行われるので、コントローラが本体装置2から最初に外される場合に上記設定処理が実行されることになる。これによれば、「登録済みのコントローラが本体装置2から外された状態である場合に無線通信が確立していない」という状況が生じる可能性を低減することができ、ユーザにとって使いやすいゲーム装置1を提供することができる。また、本実施形態によれば、ユーザは、コントローラを本体装置2から外すことによって、上記設定処理をゲーム装置1に容易に行わせることができる。
なお、ゲーム装置1において上記無線通信に関する設定処理が実行される条件は、任意であり、本体装置2からコントローラが外されることに限らない。例えば、他の実施形態においては、本体装置2にコントローラが装着されたことに応じて上記設定処理が実行されてもよい。また例えば、他の実施形態においては、ユーザから指示があったことに応じて上記設定処理が実行されてもよい。具体的には、本体装置2は、ユーザから所定の指示があったことに応じて上記無線設定処理(図17)を実行してもよい。この所定の指示は、メニュー画面において表示される所定の項目をユーザが選択することによって行われてもよいし、本体装置2に設けられる所定のボタンを押下することによって行われてもよい。また、コントローラは、ユーザから所定の指示があったことに応じて、上記「コントローラ側の無線設定処理」を実行してもよい。この所定の指示は、コントローラに設けられる所定のボタンを押下することによって行われてもよい。
また、本実施形態においては、コントローラが本体装置2から外された場合、本体装置2およびコントローラは、当該コントローラと本体装置2とのペアリングが完了しているか否かを判定し、ペアリングが完了していない場合にペアリング処理が実行された。ここで、他の実施形態においては、本体装置2およびコントローラは、コントローラが本体装置2から外された場合には、上記の判定を行うことなく、ペアリング処理を実行するようにしてもよい。
(d3:複数のプレイヤでゲーム処理を実行する例)
図19は、実施形態に基づくゲーム装置1によって実行されるゲーム処理を説明する一例図である。
図19に示されるように、ゲーム装置1で生成した画像がテレビ6に表示されている。
本例においては、4人のプレイヤであるユーザPA〜PDがそれぞれコントローラ3a,4a,3b,4bを用いて対応するオブジェクトを操作している場合が示されている。
本例においては、ゲーム装置1は、テレビ6の表示領域を4つに分割し、分割された表示領域6AにユーザPAのための画像(例えば、第1オブジェクトを含む画像)を表示し、分割された表示領域6BにユーザPBのための画像(例えば、第2オブジェクトを含む画像)を表示する。また、同様に、ゲーム装置1は、分割された表示領域6CにユーザPCのための画像(例えば、第3オブジェクトを含む画像)を表示し、分割された表示領域6DにユーザPDのための画像(例えば、第4オブジェクトを含む画像)を表示する。
また、本実施形態においては、ゲーム装置1は、各コントローラに関する操作装置画像を生成し、対応する表示領域に表示するように制御する。
例えば、分割された表示領域6Aにおいて、操作装置画像を表示する操作装置領域600A(総称して、操作装置領域600とも称する)が設けられている。操作装置領域600A内には、操作装置画像602Aと、インジケータ画像604Aとが設けられている。
同様に、分割された表示領域6Bにおいて、操作装置画像を表示する操作装置領域600Bが設けられている。操作装置領域600B内には、操作装置画像602Bと、インジケータ画像604Bとが設けられている。
分割された表示領域6Cにおいて、操作装置画像を表示する操作装置領域600Cが設けられている。操作装置領域600C内には、操作装置画像602Cと、インジケータ画像604Cとが設けられている。
分割された表示領域6Dにおいて、操作装置画像を表示する操作装置領域600Dが設けられている。操作装置領域600D内には、操作装置画像602Dと、インジケータ画像604Dとが設けられている。
操作装置画像602Aは、プレイヤであるユーザPAが操作しているコントローラを示す画像である。
本実施形態においては、ゲーム装置1は、登録情報に含まれる外観情報データに基づいてコントローラに対応する操作装置画像を生成し、当該生成した操作装置画像を所定の操作装置領域に表示する。外観情報データは、コントローラ形状データ201と、第1外観データ202と、第2外観データ203とを含み、当該データに基づいて操作装置画像が生成される。コントローラ形状データ201に従って操作装置画像の輪郭形状が特定される。また、第1外観データ202に従って操作装置画像の輪郭形状のうちハウジングに対応する領域に指定された色が付与される。また、第2外観データ203に従って操作装置画像の輪郭形状のうちボタンに対応する領域に指定された色が付与される。
例えば、第1外観データ202(赤色)と、第2外観データ203(白色)の場合には、操作装置画像の輪郭形状のうちハウジングに対応する領域に赤色が付与される。また、操作装置画像の輪郭形状のうちボタンに対応する領域に白色が付与される。
したがって、プレイヤであるユーザPAは、自身が操作するコントローラ3aと同様の形態および色である操作装置画像を表示領域6Aで確認することが可能である。
同様に、他のプレイヤであるユーザPBは、自身が操作するコントローラ4aと同様の形態および色である操作装置画像を表示領域6Bで確認することが可能である。
プレイヤであるユーザPCは、自身が操作するコントローラ3bと同様の形態および色である操作装置画像を表示領域6Cで確認することが可能である。
同様に、他のプレイヤであるユーザPDは、自身が操作するコントローラ4bと同様の形態および色である操作装置画像を表示領域6Dで確認することが可能である。
それゆえ、各プレイヤは、自身のコントローラに対応する操作装置画像が表示された表示領域のオブジェクトを操作していることを容易に把握することが可能であり、これにより、コントローラの操作に関するユーザビリティを向上させることが可能である。
また、ゲーム装置1は、登録情報に含まれる番号情報に基づいてコントローラに付される番号を示すインジケータ画像を生成し、当該生成したインジケータ画像を所定の領域に表示する。
本例においては、操作装置画像に関連する関連情報として、4つのボックスが設けられたインジケータ画像が表示されている。なお、本例においては、操作装置画像に関連する関連情報として、インジケータ画像を表示する場合について説明するが、特にインジケータ画像に限られず、プレイヤのための画像(プレイヤを識別可能な画像)であればどのような画像であっても良い。
具体的には、表示領域6Aには、ユーザPAの番号情報「1」に対応してインジケータ画像604Aに含まれる4つのボックスのうちの1つがハッチング領域として示されている。表示領域6Bには、ユーザPBの番号情報「2」に対応してインジケータ画像604Bに含まれる4つのボックスのうちの2つがハッチング領域として示されている。表示領域6Cには、ユーザPCの番号情報「3」に対応してインジケータ画像604Cに含まれる4つのボックスのうちの3つがハッチング領域として示されている。表示領域6Dには、ユーザPDの番号情報「4」に対応してインジケータ画像604Dに含まれる4つのボックスのうちの4つがハッチング領域として示されている。
ハッチング領域の個数によりコントローラに付された番号を容易に把握することが可能である。
また、本例においては、操作装置画像と関連情報(インジケータ画像)とを操作装置領域600内に配置する。すなわち、互いに関連付けて表示することにより、自身のコントローラに対応する操作装置画像と、番号情報とが関連付けられ、表示領域のオブジェクトを操作していることをさらに容易に把握することが可能である。これにより、コントローラの操作に関するユーザビリティをさらに向上させることが可能である。なお、本例におては、上下に操作装置画像とインジケータ画像とを並べて表示する場合について説明しているが、これに限られず、左右にそれぞれ配置してもよく、互いに重ねて表示するようにしても良い。
また、ゲーム装置1は、番号情報を各コントローラに送信する。
各コントローラは、ゲーム装置1からの番号情報に基づいて通知用LEDを制御する。
なお、本例においては、4人のプレイヤであるユーザPA〜PDがそれぞれコントローラ3a,4a,3b,4bを用いて対応するオブジェクトを操作している場合について説明したが、1人のプレイヤの場合についても同様である。
[E:ゲーム処理の実装例]
次に、実施形態に基づくゲーム処理の実装例について説明する。
図20は、実施形態に基づくゲーム処理に係る実装例について説明する図である。
図20を参照して、本体装置2のCPU81がゲーム処理に係るプログラムを実行することで、表示制御モジュール300と、通信制御モジュール310とが実現される。
ゲーム処理に係るプログラムは、例えば、本体装置2のフラッシュメモリ84または第1スロットに装着されるメモリカードから読み出され、DRAM85に保存されて実行される。
表示制御モジュール300は、ゲーム処理に係る表示を制御するモジュールであり、ユーザ操作の内容に応じて、ディスプレイ12等の表示内容を順次更新する。より具体的には、表示制御モジュール300は、画像生成モジュール302と、画像出力モジュール304とを含む。
画像生成モジュール302は、本実施形態においては、フラッシュメモリ84に格納されている外観情報データに基づいてディスプレイ12等に表示する操作装置画像を生成する。
画像出力モジュール304は、画像生成モジュール302で生成された操作装置画像をディスプレイ12等に表示するように出力する。
通信制御モジュール310は、コントローラとの間で必要に応じて通信処理を実行する。
また、通信制御モジュール310は、無線設定処理において、コントローラとの間で無線通信のペアリング処理を実行してコントローラの外観情報を取得し、登録情報を更新する。具体的には、通信制御モジュール310は、外観情報データをフラッシュメモリ84に格納する。
[F:処理手順]
次に、実施形態に基づくゲーム装置1におけるゲーム処理に係る処理手順について説明する。
図21は、実施形態に基づくゲーム処理に係る処理手順を示すフロー図である。
図21に示される各ステップは、典型的には、本体装置2のCPU81がプログラムを実行することで実現される。
図21を参照して、CPU81は、ゲーム処理の開始が指示されるか否かを判断する(ステップS100)。
CPU81は、ゲーム処理の開始が指示されたと判断した場合(ステップS100においてYES)には、ゲーム空間内にオブジェクトを配置したゲーム画像を生成する(ステップS102)。画像生成モジュール302は、DRAM85に保存されて実行されるプログラムに基づいてゲーム空間内にオブジェクトを配置したゲーム画像を生成する。
次に、CPU81は、操作装置画像を配置するための操作装置領域を生成する(ステップS103)。画像生成モジュール302は、DRAM85に保存されて実行されるプログラムに基づいてゲーム空間内に操作装置画像を配置するための操作装置領域を生成する。
複数のプレイヤでゲーム処理を実行する場合には、各プレイヤに対応するコントローラ毎に操作装置領域が生成される。
次に、CPU81は、外観情報データに基づいて操作装置画像を生成する(ステップS104)。画像生成モジュール302は、DRAM85に保存されて実行されるプログラムに基づいてフラッシュメモリ84に保存されている外観情報データに従って操作装置画像を生成する。複数のプレイヤでゲーム処理を実行する場合には、各プレイヤに対応するコントローラ毎に操作装置画像が生成される。
次に、CPU81は、番号情報に基づいてインジケータ画像を生成する(ステップS105)。画像生成モジュール302は、DRAM85に保存されて実行されるプログラムに基づいてフラッシュメモリ84に保存されている番号情報に基づいてインジケータ画像を生成する。複数のプレイヤでゲーム処理を実行する場合には、各プレイヤに対応するコントローラ毎にインジケータ画像が生成される。
次に、CPU81は、生成した画像をテレビ6に出力する(ステップS106)。
画像出力モジュール304は、ゲーム画像とともに、ゲーム画像内の生成された操作装置領域内に操作装置画像およびインジケータ画像が配置されて表示されるようにテレビ6に出力する。当該処理により、図19で説明したゲーム装置1で生成した画像がテレビ6に表示される。
次に、CPU81は、ユーザ操作に応じてゲーム画像を更新出力する(ステップS108)。画像生成モジュール302は、DRAM85に保存されて実行されるプログラムに基づいてユーザ操作に応じたゲーム画像を生成する。また、画像出力モジュール304は、生成されたゲーム画像に従ってテレビ6に更新出力する。
なお、操作装置領域は、当該ゲーム画像とともに継続してテレビ6に出力された領域を維持するようにしても良いし、一定期間経過後に非表示となるように制御されてもよい。あるいは、所定期間経過毎に表示、非表示を繰り返すようにしてもよい。または、所定のボタンの入力に従って、表示、非表示を切り替えるようにしてもよい。
次に、CPU81は、ゲーム処理の終了が指示されたかどうかを判断する(ステップS110)。
ステップS110において、CPU81は、ゲーム処理の終了が指示されたと判断した場合(ステップS110においてYES)には、処理を終了する(エンド)。
一方、ステップS110において、CPU81は、ゲーム処理の終了が指示されていないと判断した場合(ステップS110においてNO)には、ステップS108に戻り、上記処理を繰り返す。
[G:付属コントローラ]
次に、付属コントローラ401について説明する。
上記の左コントローラ3および右コントローラ4とは別に、ゲーム装置1の本体装置2と通信可能な付属コントローラ401を設けることも可能である。
図22は、実施形態に基づく付属コントローラ401の外観を示す図である。
図22に示されるように、付属コントローラ401は、左右にグリップ部400L、1400R(以下、総称してグリップ部400と呼ぶこともある)を備えるハウジング402と、ハウジング402の表面上に設けられた開口部から突出する2本のアナログスティック、および複数個の操作ボタン(後述)を含む操作部とから主に構成される。
ハウジング402は、正面から見た場合にその左右方向を長手方向とした緩やかな略台形状となっており、その上辺側が少し凹んでおり、下辺側については上辺側よりも大きく凹んだような形状、換言すれば、上記グリップ部400L、400Rがそれぞれ底面側(コントローラを把持したときにおいて、プレイヤから見て手前側)に延びるような形状を有していてもよい。また、正面側はアナログスティックのある位置以外は概ね平面状に構成されていてもよい。
アナログスティックのある位置は少し盛り上がっており、グリップ部400L、400Rは、正面から背面部に向けて緩やかなカーブを描くような形状に構成されていてもよい。なお、本実施例のハウジング402は、例えばプラスチック成型によって形成されていてもよい。
ハウジング402の正面左端の上面側付近に、第1アナログスティック411(以下、左スティック)が設けられ、ハウジング402正面の右端上面側付近に第2アナログスティック412(以下、右スティック)が設けられる。より具体的には、グリップ部400Lを把持する左手の親指で操作可能な位置(より好適には、グリップ部400Lを把持する左手の親指が自然と位置するところ)に左スティック411が配され、グリップ部400Rを把持する右手の親指で操作可能な位置(より好適には、グリップ部400Rを把持する右手の親指が自然と位置するところ)に右スティック412が配される。左スティック411および右スティック412は、360度の任意の方向に傾けることが可能なスティックであり、任意の方向を指示するために用いられる。
また、左スティック411および右スティック412は、それぞれ背面方向に押し込むことができ、プッシュボタンとしての役割も有する。左スティック411および右スティック412は、当該コントローラが接続される本体装置2が実行するプログラムに応じて機能する。
このように、左スティック411と右スティック112の間隔が広くなっているため、両方を内側に倒すような操作であっても親指と親指の間隔が狭くならず、操作がしやすいものとなっている。
ハウジング402の正面略中央位置よりも左側の位置であって、左スティック411よりも内側となる位置であり、かつ、グリップ部400Lを把持した左手の親指で操作可能な位置に十字キー(方向キーと呼ばれることもある)421が設けられる。より具体的には、左スティック411の右下となる位置に十字キー421が設けられる。この十字キー421は、十字型の4方向プッシュスイッチであり、4つの方向(前後左右)に対応する操作部分が十字の突出片にそれぞれ90°間隔で配置される。プレイヤが十字キー421のいずれかの操作部分を押下することによって前後左右いずれかの方向が選択される。なお、十字キー421は、当該コントローラが接続される本体装置2が実行するプログラムに応じて機能する。
また、十字キー421の形状は、図示するような形状に限らず、4方向を入力可能な形状であればどのようなものでもよい。たとえば、丸型の台座に十字状の溝が盛り上がっているような形状のもの等であってもよいし、4つのキーが分離しているようなものであってもよい。
また、ハウジング402の正面略中央より右側の位置であって、右スティック412よりも内側となる領域であり、かつ、グリップ部400Rを把持した右手の親指で操作可能な領域に、操作ボタン422A〜422D(以下、第1の操作ボタン群と呼ぶこともある)が上下左右の位置に十字状に配置される。より具体的には、右スティック412の左下に位置する領域に、操作ボタン422A〜422Dが上下左右の位置に十字状に配置される。操作ボタン422A〜422Dは、例えば、操作ボタン422A〜422Dは決定操作やキャンセル操作等に用いられる。
上記のように、十字キー421を左スティック411の右下の位置に配置することにより、左手の親指の付け根を支点とした親指の動きで十字キー421の位置に親指の腹が移動可能である。換言すれば、グリップ部400Lを把持する姿勢を特に変化させることなく、親指をその付け根を支点に右方向に動かすだけで十字キー421の位置に親指の腹部分を移動させることができ、また、左方向に親指を動かすことで左スティック411の位置に親指を戻すことも可能である。つまり、左スティック411と十字キー421間の行き来がしやすくなり、操作性を向上させることができる。換言すれば、十字キー421を操作する際に、親指の先端(十字キーの位置)と親指の付け根の間にスティックが位置することでスティックが邪魔となり操作性が低下するようなことがない。
同様に、第1の操作ボタン群(操作ボタン422A〜422D)を右スティック412の左下の位置に配置することにより、右手親指の付け根を支点とした親指の動きだけで、右スティック412と第1の操作ボタン群との間で親指を移動させることが可能である。これにより、右スティック412と第1の操作ボタン群間の行き来がしやすくなり、操作性を向上させることができる。
ハウジング402の上面左端部の正面側にはLボタン425Lが、その下(背面側)にはZLボタンが設けられ、ハウジング402の上面右端部の正面側にはRボタン425Rが、その下(背面側)にはZRボタンが配置される。Lボタン425Lは、グリップ部400Lを把持する左手の人差し指が届く位置に配され、ZLボタンは、左手中指や薬指が届く位置に配置される。また、Rボタン425Rはグリップ部400Rを把持する右手の人差し指が届く位置に配され、ZRボタンは右手中指や薬指が届く位置に配置される。Lボタン425L、Rボタン425R、ZLボタンおよびZRボタンは、上記情報処理装置が実行するプログラムに応じた機能が適宜割り当てられる。
上記で説明した左コントローラ3および右コントローラ4に設けられた操作ボタンと同様の操作ボタンが付属コントローラ401にも設けられる。
また、ハウジング402正面の底面側に、複数のインジケータが設けられる。具体的には、通知用LED431が設けられる。通知用LED431は、左コントローラの通知用LEDと同様、ユーザに対して所定の情報を通知するための通知部である。また、通知用LED431は、4つのLEDを備える。4つのLEDのうち、そのコントローラに付された番号に応じたLEDが点灯する。これによれば、通知用LED431によって上記番号をユーザに通知することが可能となる。
また、付属コントローラ401の内部構成については、図8で説明した左コントローラ3あるいは右コントローラ4の内部構成と基本的に同様であるのでその詳細な説明については繰り返さない。
付属コントローラ401のメモリ内には、付属コントローラ401の外観に関する外観情報データが予め格納されている。外観情報データは、コントローラ形状データと、第1外観データと、第2外観データとを含む。
付属コントローラの識別データとしてデータ「CT2」が予め設定されている。
また、第1外観データには、付属コントローラのハウジングの外観を示すデータが設定されている。第2外観データには、付属コントローラのボタンの外観を示すデータが設定されている。
本実施形態においては、付属コントローラである操作装置画像を生成する際に当該外観情報データが利用される。
本体装置2と付属コントローラとのペアリングが完了した場合には、上記と同様に登録情報が本体装置2のフラッシュメモリ84に登録される。
CPU81は、上記で説明したのと同様に、外観情報データに基づいて付属コントローラの操作装置画像を生成し、テレビ6等に出力する。
これにより、プレイヤは、自身の付属コントローラに対応する操作装置画像が表示された表示領域のオブジェクトを操作していることを容易に把握することが可能であり、これにより、付属コントローラの操作に関するユーザビリティを向上させることが可能である。
[H:その他の形態]
図23は、その他の実施形態に基づくゲーム装置1によって実行されるゲーム処理を説明する一例図である。
図23に示されるように、ゲーム装置1で生成した画像がテレビ6に表示されている。
図19で説明した場合と比較して、操作装置領域600A内に電池情報610がさらに追加表示されている場合が示されている。
その他の点については同様であるのでその詳細な説明については繰り返さない。
具体的には、ユーザPAのコントローラに関連する情報(関連情報)として電池情報610(「電池が切れました」)と表示されている場合が示されている。
これにより、ユーザPAは、自身のコントローラの電池が切れたことを容易に把握することが可能であり、自身のコントローラについて充電する態様を取るように促される。
操作装置領域600A内にコントローラに関連する情報(関連情報)が表示されることにより、どのユーザのコントローラに関連する情報であるかを容易に把握することが可能である。
図24は、その他の実施形態に基づくゲーム処理に係る処理手順を示すフロー図である。
図24に示される各ステップは、典型的には、本体装置2のCPU81がプログラムを実行することで実現される。
図24を参照して、図21で説明したフロー図と比較して、ステップS109A,S109Bをさらに追加した点が異なる。その他の処理については図21で説明したのと同様であるのでその詳細な説明については繰り返さない。
ステップS108において、CPU81は、ユーザ操作に応じてゲーム画像を更新出力する。画像生成モジュール302は、DRAM85に保存されて実行されるプログラムに基づいてユーザ操作に応じたゲーム画像を生成する。また、画像出力モジュール304は、生成されたゲーム画像に従ってテレビ6に更新出力する。
次に、CPU81は、電池警告情報を受信したかどうかを判断する(ステップS109A)。具体的には、通信制御モジュール310は、コントローラから電池警告情報を受信したか否かを判断する。通信制御モジュール310は、コントローラから電池警告情報を受信した場合には、受信した旨を表示制御モジュール300に出力する。
ステップS109Aにおいて、CPU81は、電池警告情報を受信したと判断した場合(ステップS109AにおいてYES)には、電池情報を表示する(ステップS109B)。
具体的には、表示制御モジュール300は、通信制御モジュール310からの電池警告情報を受信した旨の通知を受けた場合に電池情報(「電池が切れました」)を表示する。当該処理により、図23で説明したゲーム装置1で生成した画像がテレビ6に表示される。
それゆえ、各プレイヤは、自身のコントローラに対応する操作装置画像とともに関連情報を容易に把握することが可能であり、これにより、コントローラの操作に関するユーザビリティを向上させることが可能である。
一方、ステップS109Aにおいて、CPU81は、電池警告情報を受信していないと判断した場合(ステップS109AにおいてNO)には、ステップS109Bをスキップして、ステップS110に進む。
次に、CPU81は、ゲーム処理の終了が指示されたかどうかを判断する(ステップS110)。
ステップS110において、CPU81は、ゲーム処理の終了が指示されたと判断した場合(ステップS110においてYES)には、処理を終了する(エンド)。
一方、ステップS110において、CPU81は、ゲーム処理の終了が指示されていないと判断した場合(ステップS110においてNO)には、ステップS108に戻り、上記処理を繰り返す。
本例においては、電池警告情報を受信した場合に、コントローラに関して電池情報を表示する方式について説明したが、一例であり、他の電池情報を表示することも可能である。たとえば、電池残量に関する情報を表示するようにしても良い。また、コントローラに関する情報として、電池情報に限られず、操作装置の状態(状況)として他の情報を表示するようにしても良い。例えば、通信状態が不安定である場合に通信状態が不安定である旨を情報として表示するようにしても良い。
[I:その他の変形例]
上記においては、操作装置領域600内に操作装置画像が表示される構成について説明した。操作装置領域600に対して仮に背景色が付与された場合、ゲーム画像の一部が当該背景色により見えなくなる可能性がある。
したがって、操作装置領域600に背景色を付与しない(透過状態とする)ことによりプレイヤがゲーム画像を視認する表示領域の範囲を広くすることが可能である。
一方で、操作装置領域600に背景色を付与しない(透過状態とする)ことによりゲーム画像に対して操作装置画像が重なった状態となる。
この点で、ゲーム画像と、操作装置画像との色が同じ色である場合に、操作装置画像を識別し難くなる可能性が考えられる。
したがって、本実施形態のその他の変形例としては、操作装置画像を容易に識別することが可能な方式について説明する。
図25は、実施形態の変形例に基づく操作装置画像を説明する図である。
図25を参照して、実施形態の変形例として操作装置画像612が示されている。
操作装置画像612は、操作装置画像602A〜602Dと比較して、コントローラの輪郭形状の外周領域に縁画像603が付加された場合が示されている。
縁画像603は、ハウジングに対応する領域の色と異なる色が付与される。
たとえば、第1外観データに従ってハウジング領域が赤色に設定される場合には、縁画像としてハウジング領域と異なる色(たとえば白色)となるように設定される。
ハウジング領域と縁画像とを異なる色とすることによりハウジング領域の輪郭形状が視認されて操作装置画像を識別することが可能となる。
なお、縁画像を生成するための縁情報は、予め固定色として外観情報データに含めるようにしても良い。
この点で、画像生成モジュール302は、受信した外観情報データに含まれる縁情報に基づいて操作装置画像612を生成することが可能である。なお、縁情報を本体装置2のフラッシュメモリ84が保持するようにしても良い。縁情報を共通化して本体装置2で保持することにより外観情報データのデータ量を小さくすることが可能である。
あるいは、縁情報をCPU81が実行するプログラムに基づいて設定し、当該設定された縁情報に基づいて操作装置画像612を生成するようにしても良い。
例えば、CPU81が実行されるプログラムには、縁情報を生成するプログラムが含まれているものとする。具体的には、ゲーム画像を生成した際に、ゲーム画像に利用しない色に関する情報(縁情報)を生成する。画像生成モジュール302は、当該縁情報に基づいて操作装置画像の縁画像を生成することにより、ゲーム画像と操作装置画像とを明確に区別することが可能な縁画像を生成することが可能となる。
また、本実施形態におけるプログラムとして、パーソナルコンピュータで実行可能なアプリケーションを提供してもよい。このとき、本実施形態に係るプログラムは、パーソナルコンピュータ上で実行される各種アプリケーションプログラムの一部の機能として組み込まれてもよい。
<作用効果>
次に、本実施形態の作用効果について説明する。
本実施形態に従う情報処理システムは、左コントローラ3および右コントローラ4と、左コントローラ3および右コントローラ4と通信可能な本体装置2とを含む。左コントローラ3および右コントローラ4は、コントローラの外観を示す外観情報データを記憶するメモリ102,112と、メモリ102,112に記憶された外観情報データを本体装置2に送信する通信制御部101,111とが設けられている。本体装置2は、通信制御部101,111により送信された外観情報データを受信する通信制御モジュール310と、通信制御モジュール310により受信した外観情報データに基づいて、コントローラを示す操作装置画像602を生成する画像生成モジュール302と、画像生成モジュール302により生成された操作装置画像602をテレビ6に表示させる画像出力モジュール304とを含む。コントローラを示す操作装置画像602により自身のコントローラを容易に識別することが可能であり、コントローラの操作に関するユーザビリティを向上させることが可能である。
画像出力モジュール304は、操作装置画像602とコントローラに関連する電池情報610とをテレビ6に表示させてもよい。コントローラに関連する付加的な情報をともに表示することにより、どのユーザのコントローラに関連する情報であるかを容易に把握することが可能でありユーザビリティを向上させることが可能である。
本体装置2は、左コントローラ3a,3bおよび右コントローラ4a,4bと通信可能に設けられる。画像生成モジュール302は、通信制御モジュール310により受信した複数の外観情報データに基づいて、それぞれ対応する各コントローラを示す複数の操作装置画像602A,602B,602C,602Dを生成する。画像出力モジュール304は、画像生成モジュール302により生成された複数の操作装置画像602A,602B,602C,602Dをテレビ6に表示させてもよい。複数のユーザがコントローラを操作する場合に、コントローラを示す操作装置画像602により自身のコントローラを容易に識別することが可能であり、コントローラの操作に関するユーザビリティを向上させることが可能である。
外観情報データは、コントローラの外観の一部を示す第1外観データ202と、コントローラの外観の他の一部を示す第2外観データ203とを含んでも良い。複数の外観を示すデータによりコントローラの外観特徴を明確に区別することが可能となり、自身のコントローラを容易に識別することが可能となる。
第1外観データ202は、コントローラのハウジングの外観を示すデータであっても良い。ハウジングの色情報に従って操作装置画像を生成するため自身のコントローラを容易に識別することが可能となる。
第2外観データ203は、コントローラのボタンの外観を示すデータであっても良い。ボタンの色情報に従って操作装置画像を生成するため自身のコントローラを容易に識別することが可能となる。
外観情報は、コントローラの色彩、模様、形状の少なくともいずれか1つに関する情報であっても良い。コントローラの色彩、模様、形状の少なくともいずれか1つに関する情報に基づいて操作装置画像を生成するため自身のコントローラを容易に識別することが可能となる。
画像生成モジュール304は、通信制御モジュール310により受信した外観情報データおよびコントローラの縁を示す縁情報に基づいてコントローラを示す操作装置画像612を生成しても良い。縁画像を付加することによりゲーム画像と操作装置画像とを明確に区別することが可能となり自身のコントローラを容易に識別することが可能となる。
画像生成モジュール304は、通信制御モジュール310により受信した外観情報データおよび本体装置2のフラッシュメモリ84に格納される縁情報に基づいてコントローラを示す操作装置画像を生成しても良い。本体装置2のフラッシュメモリ84で縁情報を共通化して格納することにより外観情報データのデータ量を小さくすることが可能である。
画像生成モジュール304は、通信制御モジュール310により受信した外観情報データおよび、本体装置2で実行されるアプリケーションプログラムに基づいて設定される縁情報に基づいてコントローラを示す操作装置画像を生成しても良い。アプリケーションプログラムに基づいて縁情報を設定することにより、例えば、ゲーム画像を生成した際に、ゲーム画像に利用しない色に関する縁情報を生成し、当該縁情報に基づいて操作装置画像の縁画像を生成することにより、ゲーム画像と操作装置画像とを明確に区別することが可能である。
コントローラに関連する情報は、コントローラのユーザを識別するインジケータ画像であっても良い。インジケータ画像によりコントローラに付されたユーザを識別する番号を容易に認識することが可能である。
コントローラに関連する情報は、コントローラの状態に関する情報であっても良い。電池残量に関する情報によりコントローラの電池の状態を容易に認識することが可能である。
コントローラと本体装置2とは無線通信により通信処理を実行しても良い。無線通信により本体装置2と離れた場所で操作することが可能となり、ユーザビリティが向上する。
コントローラのメモリ102,112は、コントローラの種別を示す識別データおよび操作装置の外観を示す第1および第2外観データを記憶し、通信制御部101,111は、メモリ102,112に記憶されたコントローラの種別を示す識別データおよび操作装置の外観を示す第1および第2外観データを本体装置2に送信し、画像生成モジュール304は、通信制御モジュール310により受信したコントローラの種別を示す識別データおよび操作装置の外観を示す第1および第2外観データに基づいて、操作装置を示す操作装置画像602を生成しても良い。コントローラの種別を示す識別データに従って操作装置画像を生成することにより、種々のコントローラに対応する操作装置画像を生成することが可能となり、例えば、付属コントローラ401等のコントローラを容易に識別することが可能となる。
コントローラは、コントローラのユーザのユーザ番号を識別する通知用LED45,67をさらに含んでも良い。通知用LED45,67によりユーザ番号を容易に識別することが可能である。
別の局面に従う情報処理システムであって、第1情報処理装置である左コントローラ3,右コントローラ4と、第1情報処理装置と通信可能な第2情報処理装置である本体装置2とを備える。左コントローラ3,右コントローラ4は、左コントローラ3,右コントローラ4の外観を示す外観情報データを記憶するメモリ102,112と、メモリ102,112に記憶された外観情報データを本体装置2に送信する通信制御部101,111とを含む。本体装置2は、通信制御部101,111により送信された外観情報データを受信する通信制御モジュール310と、通信制御モジュール310により受信した外観情報データに基づいて、左コントローラ3、右コントローラ4を示す情報処理装置画像を生成する画像生成モジュール302と、画像生成モジュール302により生成された左コントローラ3、右コントローラ4を示す情報処理装置画像をテレビ6に表示する画像出力モジュール304とを含む。コントローラを示す情報処理装置画像により自身のコントローラを容易に識別することが可能であり、コントローラの操作に関するユーザビリティを向上させることが可能である。
ある局面に従う左コントローラ3,右コントローラ4と通信可能な本体装置2であって、左コントローラ3,右コントローラ4から送信された左コントローラ3,右コントローラ4の外観を示す外観情報データを受信する通信制御モジュール310と、通信制御モジュール310により受信した外観情報データに基づいて、左コントローラ3,右コントローラ4を示す操作装置画像を生成する画像生成モジュール302と、画像生成モジュール302により生成された操作装置画像をテレビ6に表示させる画像出力モジュール304とを備える。コントローラを示す情報処理装置画像により自身のコントローラを容易に識別することが可能であり、コントローラの操作に関するユーザビリティを向上させることが可能である。
ある局面に従う左コントローラ3,右コントローラ4と通信可能な本体装置2の制御方法であって、左コントローラ3,右コントローラ4から送信された左コントローラ3,右コントローラ4の外観を示す外観情報データを受信するステップと、受信した外観情報データに基づいて、左コントローラ3,右コントローラ4を示す操作装置画像を生成するステップと、生成された操作装置画像をテレビ6に表示させるステップとを備える。コントローラを示す操作装置画像により自身のコントローラを容易に識別することが可能であり、コントローラの操作に関するユーザビリティを向上させることが可能である。
ある局面に従う左コントローラ3,右コントローラ4と通信可能な本体装置2のCPU81において実行される情報処理プログラムであって、CPU81を、情報処理プログラムにより、左コントローラ3,右コントローラ4から送信された操作装置の外観を示す外観情報データを受信する通信制御モジュール310と、通信制御モジュール310により受信した外観情報データに基づいて、左コントローラ3,右コントローラ4を示す操作装置画像を生成する画像生成モジュール302と、画像生成モジュール302により生成された操作装置画像をテレビ6に表示させる画像出力モジュール304として、機能させる。コントローラを示す操作装置画像により自身のコントローラを容易に識別することが可能であり、コントローラの操作に関するユーザビリティを向上させることが可能である。
今回開示された実施形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した説明ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。