(57)【要約】【課題】  入力デバイスの構成の変更を自動的に検知し、その時々の構成に適した操作入力方法の設定を自動的に実現することによって、プレーヤの嗜好に応じた操作系の変更に柔軟に対応できるゲームを実現する。【解決手段】ゲームコントローラ１２３０に、活線挿抜によってコネクタ１２７５を拡張端子１２５０に接続／未接続の判定機能を備える。そして、サブコントローラ１２３１が接続されていると判定した場合、ゲームコントローラ１２３０単独で操作入力する場合に適用される第１操作割当設定ＴＢＬ５１８に従って操作入力信号に対応する制御命令を判定しゲーム制御する。また、サブコントローラ１２３１が接続されていないと判定した場合、サブコントローラ１２３１を接続した状態で操作入力する場合に適用される第２操作割当設定ＴＢＬに従って操作入力信号に対応する制御命令を判定しゲーム制御する。【選択図】図１２
2009072319.tif 000002
【特許請求の範囲】
【請求項１】
サブコントローラを着脱自在に接続する接続端子と、前記サブコントローラの接続有無を示す接続有無信号を出力する接続有無信号出力手段と、サブコントローラに為された操作入力及び自メインコントローラに為された操作入力の操作入力信号を出力する操作入力信号出力手段とを備えたメインコントローラから出力される前記接続有無信号及び前記操作入力信号に基づいて、コンピュータに所定のゲームの進行を制御させるためのプログラムであって、
前記接続有無信号に基づいて前記メインコントローラへの前記サブコントローラの接続有無を判定する接続判定手段、
前記メインコントローラの操作入力の種別と制御内容との対応関係が定められた第１の操作割当設定と、前記メインコントローラ及び前記サブコントローラそれぞれの操作入力の種別と制御内容との対応関係が定められた第２の操作割当設定とのうち、前記接続判定手段により接続されていないと判定された場合には、前記第１の操作割当設定を現在の操作割当設定とし、接続されていると判定された場合には、前記第２の操作割当設定を現在の操作割当設定とする操作割当切換制御手段、
として前記コンピュータを機能させ、前記操作入力信号に対応する制御内容を、前記操作割当切換制御手段により切り換えられた現在の操作割当設定から判断して前記ゲームの進行を制御させるためのプログラム。
【請求項２】
前記第１及び第２の操作割当設定に定められた制御内容には、少なくともプレーヤキャラクタの制御内容が含まれ、
前記操作入力信号に対応する制御内容を、前記操作割当切換制御手段により切り換えられた現在の操作割当設定から判断して、プレーヤキャラクタを制御するプレーヤキャラクタ制御手段として前記コンピュータを機能させるための請求項１に記載のプログラム。
【請求項３】
少なくとも上下左右の方向を操作入力可能な方向指示入力部と、サブコントローラを着脱自在に接続する接続端子と、前記サブコントローラの接続有無を示す接続有無信号を出力する接続有無信号出力手段と、サブコントローラに為された操作入力及び自メインコントローラに為された操作入力の操作入力信号を出力する操作入力信号出力手段とを備えたメインコントローラから出力される前記接続有無信号及び前記操作入力信号に基づいて、コンピュータに所定のゲームの進行を制御させるためのプログラムであって、
前記接続有無信号に基づいて前記メインコントローラへの前記サブコントローラの接続有無を判定する接続判定手段、
前記方向指示入力部に為された方向操作入力の方向座標系を、前記接続判定手段により接続されていないと判定された場合には、プレーヤが前記メインコントローラを両手で把持する第１の姿勢で把持した場合の第１の方向座標系とし、接続されていると判定された場合には、プレーヤが前記メインコントローラを片手で把持する第２の姿勢で把持した場合の第２の方向座標系とする方向操作割当切換制御手段、
として前記コンピュータを機能させ、前記方向指示入力部に為された方向操作入力を、前記方向操作割当切換制御手段により切り換えられた方向座標系に従って上下左右方向を判断して前記ゲームの進行を制御させるためのプログラム。
【請求項４】
前記メインコントローラは、少なくとも上下左右の方向を操作入力可能な方向指示入力部を備えており、
前記方向指示入力部に為された方向操作入力の方向座標系を、前記接続判定手段により接続されていないと判定された場合には、プレーヤが前記メインコントローラを両手で把持する第１の姿勢で把持した場合の第１の方向座標系とし、接続されていると判定された場合には、プレーヤが前記メインコントローラを片手で把持する第２の姿勢で把持した場合の第２の方向座標系とする方向操作割当切換制御手段として前記コンピュータを機能させ、前記方向指示入力部に為された方向操作入力を、前記方向操作割当切換制御手段により切り換えられた方向座標系に従って上下左右方向を判断して前記ゲームの進行を制御させるための請求項１又は２に記載のプログラム。
【請求項５】
加速度センサと、サブコントローラを着脱自在に接続する接続端子と、前記サブコントローラの接続有無を示す接続有無信号を出力する接続有無信号出力手段と、サブコントローラに為された操作入力及び前記加速度センサの検出結果を含む自メインコントローラに為された操作入力の操作入力信号を出力する操作入力信号出力手段とを備えたメインコントローラから出力される前記接続有無信号及び前記操作入力信号に基づいて、コンピュータに所定のゲームの進行を制御させるためのプログラムであって、
前記接続有無信号に基づいて前記メインコントローラへの前記サブコントローラの接続有無を判定する接続判定手段、
前記加速度センサの検出方向と制御内容との対応関係が定められた第１及び第２の検出方向割当設定のうち、前記接続判定手段により接続されていないと判定された場合には第１の検出方向割当設定を現在の検出方向割当設定とし、接続されていると判定された場合には第２の検出方向割当設定を現在の検出方向割当設定とする検出方向割当切換制御手段、
として前記コンピュータを機能させ、前記加速度センサの検出方向に対応する制御内容を、前記検出方向割当切換制御手段により切り換えられた現在の検出方向割当設定から判断して前記ゲームの進行を制御させるためのプログラム。
【請求項６】
前記メインコントローラは、加速度センサを備えており、
前記加速度センサの検出方向と制御内容との対応関係が定められた第１及び第２の検出方向割当設定のうち、前記接続判定手段により接続されていないと判定された場合には第１の検出方向割当設定を現在の検出方向割当設定とし、接続されていると判定された場合には第２の検出方向割当設定を現在の検出方向割当設定とする検出方向割当切換制御手段として前記コンピュータを機能させ、前記加速度センサの検出方向に対応する制御内容を、前記検出方向割当切換制御手段により切り換えられた現在の検出方向割当設定から判断して前記ゲームの進行を制御させるための請求項１〜４の何れか一項に記載のプログラム。
【請求項７】
加速度センサと、サブコントローラを着脱自在に接続する接続端子と、前記サブコントローラの接続有無を示す接続有無信号を出力する接続有無信号出力手段と、サブコントローラに為された操作入力及び前記加速度センサの検出結果を含む自メインコントローラに為された操作入力の操作入力信号を出力する操作入力信号出力手段とを備えたメインコントローラから出力される前記接続有無信号及び前記操作入力信号に基づいて、コンピュータに所定のゲームの進行を制御させるためのプログラムであって、
前記接続有無信号に基づいて前記メインコントローラへの前記サブコントローラの接続有無を判定する接続判定手段、
前記加速度センサの検出量と制御内容との対応関係が定められた第１及び第２の検出量割当設定のうち、前記接続判定手段により接続されていないと判定された場合には第１の検出量割当設定を現在の検出量割当設定とし、接続されていると判定された場合には第２の検出量割当設定を現在の検出量割当設定とする検出量割当切換制御手段、
として前記コンピュータを機能させ、前記加速度センサの検出量に対応する制御内容を、前記検出量割当切換制御手段により切り換えられた現在の検出量割当設定から判断して前記ゲームの進行を制御させるためのプログラム。
【請求項８】
前記メインコントローラは、加速度センサを備えており、
前記加速度センサの検出量と制御内容との対応関係が定められた第１及び第２の検出量割当設定のうち、前記接続判定手段により接続されていないと判定された場合には第１の検出量割当設定を現在の検出量割当設定とし、接続されていると判定された場合には第２の検出量割当設定を現在の検出量割当設定とする検出量割当切換制御手段として前記コンピュータを機能させ、前記加速度センサの検出量に対応する制御内容を、前記検出量割当切換制御手段により切り換えられた現在の検出量割当設定から判断して前記ゲームの進行を制御させるための請求項１〜６の何れか一項に記載のプログラム。
【請求項９】
前記メインコントローラは、振動部、発光部及び表示部のうちの少なくとも１つの出力素子と、前記コンピュータから入力される制御信号に従って前記出力素子を制御する出力素子制御手段とを備えており、
前記出力素子の制御方法が定められた第１及び第２の出力素子制御方法のうち、前記接続判定手段により接続されていないと判定された場合には第１の出力素子制御方法とし、接続されていると判定された場合には第２の出力素子制御方法とする出力素子制御方法切換手段、
前記出力素子制御方法切換手段により切り換えられた出力素子制御方法に従った制御信号を前記メインコントローラに出力する制御信号出力手段、
として前記コンピュータを機能させるための請求項１〜８の何れか一項に記載のプログラム。
【請求項１０】
請求項１〜９の何れか一項に記載のプログラムを記憶したコンピュータ読取可能な情報記憶媒体。
【請求項１１】
サブコントローラを着脱自在に接続する接続端子と、前記サブコントローラの接続有無を示す接続有無信号を出力する接続有無信号出力手段と、サブコントローラに為された操作入力及び自メインコントローラに為された操作入力の操作入力信号を出力する操作入力信号出力手段とを有するメインコントローラから出力される前記接続有無信号及び前記操作入力信号に基づいて、所定のゲームの進行を制御するゲーム装置であって、
前記接続有無信号に基づいて前記メインコントローラへの前記サブコントローラの接続有無を判定する接続判定手段と、
前記メインコントローラの操作入力の種別と制御内容との対応関係が定められた第１の操作割当設定と、前記メインコントローラ及び前記サブコントローラそれぞれの操作入力の種別と制御内容との対応関係が定められた第２の操作割当設定とのうち、前記接続判定手段により接続されていないと判定された場合には、前記第１の操作割当設定を現在の操作割当設定とし、接続されていると判定された場合には、前記第２の操作割当設定を現在の操作割当設定とする操作割当切換制御手段と、
を備え、前記操作入力信号に対応する制御内容を、前記操作割当切換制御手段により切り換えられた現在の操作割当設定から判断して前記ゲームの進行を制御するゲーム装置。
【請求項１２】
少なくとも上下左右の方向を操作入力可能な方向指示入力部と、サブコントローラを着脱自在に接続する接続端子と、前記サブコントローラの接続有無を示す接続有無信号を出力する接続有無信号出力手段と、サブコントローラに為された操作入力及び自メインコントローラに為された操作入力の操作入力信号を出力する操作入力信号出力手段とを有するメインコントローラから出力される前記接続有無信号及び前記操作入力信号に基づいて、所定のゲームの進行を制御するゲーム装置であって、
前記接続有無信号に基づいて前記メインコントローラへの前記サブコントローラの接続有無を判定する接続判定手段と、
前記方向指示入力部に為された方向操作入力の方向座標系を、前記接続判定手段により接続されていないと判定された場合には、プレーヤが前記メインコントローラを両手で把持する第１の姿勢で把持した場合の第１の方向座標系とし、接続されていると判定された場合には、プレーヤが前記メインコントローラを片手で把持する第２の姿勢で把持した場合の第２の方向座標系とする方向操作割当切換制御手段と、
を備え、前記方向指示入力部に為された方向操作入力を、前記方向操作割当切換制御手段により切り換えられた方向座標系に従って上下左右方向を判断して前記ゲームの進行を制御するゲーム装置。
【請求項１３】
加速度センサと、サブコントローラを着脱自在に接続する接続端子と、前記サブコントローラの接続有無を示す接続有無信号を出力する接続有無信号出力手段と、サブコントローラに為された操作入力及び前記加速度センサの検出結果を含む自メインコントローラに為された操作入力の操作入力信号を出力する操作入力信号出力手段とを有するメインコントローラから出力される前記接続有無信号及び前記操作入力信号に基づいて、所定のゲームの進行を制御するゲーム装置であって、
前記接続有無信号に基づいて前記メインコントローラへの前記サブコントローラの接続有無を判定する接続判定手段と、
前記加速度センサの検出方向と制御内容との対応関係が定められた第１及び第２の検出方向割当設定のうち、前記接続判定手段により接続されていないと判定された場合には第１の検出方向割当設定を現在の検出方向割当設定とし、接続されていると判定された場合には第２の検出方向割当設定を現在の検出方向割当設定とする検出方向割当切換制御手段と、
を備え、前記加速度センサの検出方向に対応する制御内容を、前記検出方向割当切換制御手段により切り換えられた現在の検出方向割当設定から判断して前記ゲームの進行を制御するゲーム装置。
【請求項１４】
加速度センサと、サブコントローラを着脱自在に接続する接続端子と、前記サブコントローラの接続有無を示す接続有無信号を出力する接続有無信号出力手段と、サブコントローラに為された操作入力及び前記加速度センサの検出結果を含む自メインコントローラに為された操作入力の操作入力信号を出力する操作入力信号出力手段とを有するメインコントローラから出力される前記接続有無信号及び前記操作入力信号に基づいて、所定のゲームの進行を制御するゲーム装置であって、
前記接続有無信号に基づいて前記メインコントローラへの前記サブコントローラの接続有無を判定する接続判定手段と、
前記加速度センサの検出量と制御内容との対応関係が定められた第１及び第２の検出量割当設定のうち、前記接続判定手段により接続されていないと判定された場合には第１の検出量割当設定を現在の検出量割当設定とし、接続されていると判定された場合には第２の検出量割当設定を現在の検出量割当設定とする検出量割当切換制御手段と、
を備え、前記加速度センサの検出量に対応する制御内容を、前記検出量割当切換制御手段により切り換えられた現在の検出量割当設定から判断して前記ゲームの進行を制御するゲーム装置。
【請求項１５】
操作入力部と、
前記操作入力部に為された操作入力の信号出力を制御する信号出力制御手段と、
サブコントローラを着脱自在に接続する接続端子と、
前記サブコントローラの接続を検出する接続検出手段と、
を備え、前記信号出力制御手段が、前記接続検出手段による検出がなされた際に、前記サブコントローラからのサブコントローラ操作入力信号を、前記操作入力部の操作入力信号に変換して出力する信号変換出力手段を有するコントローラ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プログラム、情報記憶媒体、ゲーム装置及びコントローラに関する。
【背景技術】
【０００２】
従来、家庭用ゲーム装置には汎用のゲームコントローラ（ゲームパッドと称されることもある。）が付属する。例えば、ソニー・コンピュータ・エンタテイメント社製家庭用ゲーム装置「プレイステーション２」のゲームコントローラなどがこれに該当する。
そして、市販されているゲームのソフトウェアを家庭用ゲーム装置に読み込ませて実行させると、ソフトウェア処理によって、付属するゲームコントローラに備えられているプッシュスイッチやレバーと言った入力デバイスからの入力信号には、それぞれプレーヤが操作するプレーヤキャラクタ等の制御命令（制御内容）が適宜割り当てられる。したがって、付属するゲームコントローラが一種類であっても、プレーヤはソフトウェアを換えることでゲーム毎に特有の操作入力方法でゲームを楽しむことができるようになっている。
【０００３】
ゲームによっては所謂「キーコンフィギュレーション」や「コントローラ設定」と称される機能を備えたものも知られるところである（例えば、ソニー・コンピュータ・エンタテイメント社製家庭用ゲーム装置「プレイステーション２」用のバンダイナムコゲームス社製ゲームソフト「ＡＣＥ  ＣＯＭＢＡＴ  ＺＥＲＯ」に関する非特許文献１を参照）。コントローラ設定を変更することで、各入力デバイスに対する制御命令の割当設定をプレーヤが変更することでプレーヤの熟練度や嗜好に応ずることができるようになる。
【０００４】
また近年では、付属するゲームコントローラを、メインのコントローラとこれに着脱自在に装着するサブコントローラとで構成したものも存在する（例えば、任天堂株式会社製家庭用ゲーム装置「Ｗｉｉ」に関する非特許文献２を参照）。こうしたゲームコントローラの構成を変えることのできる家庭用ゲーム装置では、ゲームの内容に応じ予めメインのコントローラにサブコントローラを適宜着脱することで、ゲームの内容に適した入力デバイスの構成でゲームを楽しめるようになった（例えば、任天堂株式会社製家庭用ゲーム装置「Ｗｉｉ」用のゲームソフト「Ｗｉｉ  Ｓｐｏｒｔｓ」に関する非特許文献３を参照）。
【０００５】
またゲームによっては、特別な入力デバイスを備えた専用のゲームコントローラを、家庭用ゲーム装置に付属する汎用のゲームコントローラに代えて使用するケースもある（例えば、特許文献１を参照）。こうした専用のゲームコントローラを用いれば、付属のゲームコントローラでは得られない優れた操作性とゲームへの高い没入感を得ることができる。
【非特許文献１】株式会社バンダイナムコゲームス、ゲームソフト「ＡＣＥ  ＣＯＭＢＡＴ  ＺＥＲＯ」付属の「解説書」、Ｐ８−Ｐ９、２００６年
【非特許文献２】任天堂株式会社、「Ｗｉｉ（ウィー）  本体取扱説明書・準備編」、２００６年
【非特許文献３】任天堂株式会社、「Wii  Sports  取扱説明書」、２００６年
【特許文献１】特開２００４−９４６５３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
ところで、操作入力の設定については、最初は好ましいと思っていても実際にゲームをプレーしてみると別の操作入力方法の方が良かったと言ったことが起こる。こうした場合、非特許文献１のようにコントローラ設定の変更機能を備えるゲームであっても、一旦ゲームを中断してメニュー画面を呼び出し、コントローラ設定の変更操作をしなければならならず不便であった。この点においては、非特許文献２で示したようなメインのゲームコントローラにサブコントローラを着脱できる家庭用ゲーム装置や、非特許文献３の例においても同様である。
【０００７】
また例えば、実際にゲームをやってみると特許文献１のような専用のゲームコントローラよりも、付属の汎用ゲームコントローラの方がプレーし易い、或いはその逆と言ったことも起こる。これは、ゲームコントローラの構成そのものに対する嗜好のミスマッチである。これに対応するには、専用のゲームコントローラや入力デバイスの配置の異なる市販のゲームコントローラなどを別途購入する以外に解決策はないのが実情である。上述のように専用のゲームコントローラを購入したのにやはり汎用ゲームコントローラの方が良かったといった場合には、プレーヤにとってみれば甚だ残念なことである。
【０００８】
本発明は、こうした事情を鑑みてなされたものであり、その目的とするところは、入力デバイスの構成の変更を自動的に検知し、その時々の構成に適した操作入力方法の設定を自動的に実現することによって、プレーヤの嗜好に応じた操作系の変更に柔軟に対応できるゲームを実現することである。
【課題を解決するための手段】
【０００９】
上記の課題を解決するための第１の発明は、サブコントローラ（例えば、図１のサブコントローラ１２３１）を着脱自在に接続する接続端子（例えば、図２の拡張端子１２５０）と、前記サブコントローラの接続有無を示す接続有無信号を出力する接続有無信号出力手段（例えば、図２のコントローラ制御ユニット１２６０、近距離無線通信モジュール１２５２、図７の処理部１１０、通信部１１６、図１２のステップＳ６）と、サブコントローラに為された操作入力及び自メインコントローラに為された操作入力の操作入力信号を出力する操作入力信号出力手段（例えば、図２のコントローラ制御ユニット１２６０、近距離無線通信モジュール１２５２、図７の処理部１１０、通信部１１６、図１２のステップＳ６）とを備えたメインコントローラ（例えば、図１のゲームコントローラ１２３０）から出力される前記接続有無信号及び前記操作入力信号に基づいて、コンピュータに所定のゲームの進行を制御させるためのプログラムであって、前記接続有無信号に基づいて前記メインコントローラへの前記サブコントローラの接続有無を判定する接続判定手段（例えば、図１の制御ユニット１２１０、図７の処理部２００、ゲーム演算部２１０、接続判定部２１２、図１２のステップＳ８）、前記メインコントローラの操作入力の種別と制御内容との対応関係が定められた第１の操作割当設定と、前記メインコントローラ及び前記サブコントローラそれぞれの操作入力の種別と制御内容との対応関係が定められた第２の操作割当設定とのうち、前記接続判定手段により接続されていないと判定された場合には、前記第１の操作割当設定を現在の操作割当設定とし、接続されていると判定された場合には、前記第２の操作割当設定を現在の操作割当設定とする操作割当切換制御手段（例えば、図１の制御ユニット１２１０、図７の処理部２００、ゲーム演算部２１０、接続判定部２１２、図１２のステップＳ１０、Ｓ１２）、として前記コンピュータを機能させ、前記操作入力信号に対応する制御内容を、前記操作割当切換制御手段により切り換えられた現在の操作割当設定から判断して前記ゲームの進行を制御させるためのプログラムである。
【００１０】
また、別の形態として、サブコントローラを着脱自在に接続する接続端子と、前記サブコントローラの接続有無を示す接続有無信号を出力する接続有無信号出力手段と、サブコントローラに為された操作入力及び自メインコントローラに為された操作入力の操作入力信号を出力する操作入力信号出力手段とを有するメインコントローラから出力される前記接続有無信号及び前記操作入力信号に基づいて、所定のゲームの進行を制御するゲーム装置であって、前記接続有無信号に基づいて前記メインコントローラへの前記サブコントローラの接続有無を判定する接続判定手段と、前記メインコントローラの操作入力の種別と制御内容との対応関係が定められた第１の操作割当設定と、前記メインコントローラ及び前記サブコントローラそれぞれの操作入力の種別と制御内容との対応関係が定められた第２の操作割当設定とのうち、前記接続判定手段により接続されていないと判定された場合には、前記第１の操作割当設定を現在の操作割当設定とし、接続されていると判定された場合には、前記第２の操作割当設定を現在の操作割当設定とする操作割当切換制御手段と、を備え、前記操作入力信号に対応する制御内容を、前記操作割当切換制御手段により切り換えられた現在の操作割当設定から判断して前記ゲームの進行を制御するゲーム装置とすることもできる。
【００１１】
ここで言う「サブコントローラ」とは独自に入力デバイスを備えるが、単独ではゲーム装置本体との間で信号の送受信はできず、メインコントローラに接続されメインコントローラを介することでこれを実現することのできるものを意味する。入力デバイスの数や種類、出力デバイスの搭載の有無、外形には限定されない。また「接続」とは、電気回路の有線接続は勿論、無線接続も含む意味である。
【００１２】
第１の発明によれば、メインコントローラにサブコントローラが接続されているか否かを判定することができる。そして、接続／未接続に応じて操作割当の設定を自動的に切り換え、切り換えられた操作割当に従ってゲームの進行を制御することができる。よって、プレーヤがメインコントローラにサブコントローラを装着／取り外しして入力デバイスの構成を変更してもこれを自動的に検知できる。そして、その時々の構成に適した操作入力方法の設定を自動的に実現し、プレーヤの嗜好に応じたプレーヤ自身による操作系の変更に即座に対応できるゲームを実現することができる。
【００１３】
第２の発明は、第１の発明のプログラムであって、前記第１及び第２の操作割当設定に定められた制御内容には、少なくともプレーヤキャラクタの制御内容が含まれ、前記操作入力信号に対応する制御内容を、前記操作割当切換制御手段により切り換えられた現在の操作割当設定から判断して、プレーヤキャラクタを制御するプレーヤキャラクタ制御手段として前記コンピュータを機能させるためプログラムである。
【００１４】
第２の発明によれば、第１の発明と同様の効果を奏するとともに、プレーヤキャラクタの制御をすることができる。
【００１５】
第３の発明は、少なくとも上下左右の方向を操作入力可能な方向指示入力部（例えば、図２の方向入力キー１２４２、第１加速度センサ１２４８）と、サブコントローラを着脱自在に接続する接続端子と、前記サブコントローラの接続有無を示す接続有無信号を出力する接続有無信号出力手段と、サブコントローラに為された操作入力及び自メインコントローラに為された操作入力の操作入力信号を出力する操作入力信号出力手段とを備えたメインコントローラから出力される前記接続有無信号及び前記操作入力信号に基づいて、コンピュータに所定のゲームの進行を制御させるためのプログラムであって、前記接続有無信号に基づいて前記メインコントローラへの前記サブコントローラの接続有無を判定する接続判定手段、前記方向指示入力部に為された方向操作入力の方向座標系を、前記接続判定手段により接続されていないと判定された場合には、プレーヤが前記メインコントローラを両手で把持する第１の姿勢で把持した場合の第１の方向座標系とし、接続されていると判定された場合には、プレーヤが前記メインコントローラを片手で把持する第２の姿勢で把持した場合の第２の方向座標系とする方向操作割当切換制御手段（例えば、図１の制御ユニット１２１０、図７の処理部２００、ゲーム演算部２１０、接続判定部２１２、図１２のステップＳ１０、Ｓ１２）、として前記コンピュータを機能させ、前記方向指示入力部に為された方向操作入力を、前記方向操作割当切換制御手段により切り換えられた方向座標系に従って上下左右方向を判断して前記ゲームの進行を制御させるためのプログラムである。
【００１６】
第１２の発明は、少なくとも上下左右の方向を操作入力可能な方向指示入力部と、サブコントローラを着脱自在に接続する接続端子と、前記サブコントローラの接続有無を示す接続有無信号を出力する接続有無信号出力手段と、サブコントローラに為された操作入力及び自メインコントローラに為された操作入力の操作入力信号を出力する操作入力信号出力手段とを有するメインコントローラから出力される前記接続有無信号及び前記操作入力信号に基づいて、所定のゲームの進行を制御するゲーム装置であって、前記接続有無信号に基づいて前記メインコントローラへの前記サブコントローラの接続有無を判定する接続判定手段と、前記方向指示入力部に為された方向操作入力の方向座標系を、前記接続判定手段により接続されていないと判定された場合には、プレーヤが前記メインコントローラを両手で把持する第１の姿勢で把持した場合の第１の方向座標系とし、接続されていると判定された場合には、プレーヤが前記メインコントローラを片手で把持する第２の姿勢で把持した場合の第２の方向座標系とする方向操作割当切換制御手段と、を備え、前記方向指示入力部に為された方向操作入力を、前記方向操作割当切換制御手段により切り換えられた方向座標系に従って上下左右方向を判断して前記ゲームの進行を制御するゲーム装置である。
【００１７】
第３又は第１２の発明によれば、メインコントローラにサブコントローラが接続されているか否かを判定することができる。そして、接続／未接続に応じて方向指示入力部に為される方向操作入力の方向座標系を自動的に切り換え、切り換えられた座標系に従ってゲームの進行を制御することができる。よって、プレーヤがメインコントローラにサブコントローラを装着／取り外しして入力デバイスの構成を変更してもこれを自動的に検知し、その時々の構成に適した方向座標系に従って上下左右方向を判断してゲームを制御することで、プレーヤの嗜好に応じたプレーヤ自身による操作系の変更に即座に対応できる。
【００１８】
第４の発明は、第１又は第２の発明のプログラムであって、前記メインコントローラは、少なくとも上下左右の方向を操作入力可能な方向指示入力部を備えており、前記方向指示入力部に為された方向操作入力の方向座標系を、前記接続判定手段により接続されていないと判定された場合には、プレーヤが前記メインコントローラを両手で把持する第１の姿勢で把持した場合の第１の方向座標系とし、接続されていると判定された場合には、プレーヤが前記メインコントローラを片手で把持する第２の姿勢で把持した場合の第２の方向座標系とする方向操作割当切換制御手段として前記コンピュータを機能させ、前記方向指示入力部に為された方向操作入力を、前記方向操作割当切換制御手段により切り換えられた方向座標系に従って上下左右方向を判断して前記ゲームの進行を制御させるためのプログラムである。
【００１９】
第４の発明によれば、第１又は第２の発明と同様の効果を奏するとともに、メインコントローラにサブコントローラが接続されているか否かに応じて方向指示入力部に為される方向操作入力の方向座標系を自動的に切り換えることができる。そして、切り換えられた座標系に従ってゲームの進行を制御することで、プレーヤがメインコントローラにサブコントローラを装着／取り外しして入力デバイスの構成を変更しても、コントローラ設定をプレーヤ自身で変更しなくとも上下左右方向の方向操作入力が変更されゲームを続けることができる。
【００２０】
第５の発明は、加速度センサと、サブコントローラを着脱自在に接続する接続端子と、前記サブコントローラの接続有無を示す接続有無信号を出力する接続有無信号出力手段と、サブコントローラに為された操作入力及び前記加速度センサの検出結果を含む自メインコントローラに為された操作入力の操作入力信号を出力する操作入力信号出力手段とを備えたメインコントローラから出力される前記接続有無信号及び前記操作入力信号に基づいて、コンピュータに所定のゲームの進行を制御させるためのプログラムであって、前記接続有無信号に基づいて前記メインコントローラへの前記サブコントローラの接続有無を判定する接続判定手段、前記加速度センサの検出方向と制御内容との対応関係が定められた第１及び第２の検出方向割当設定のうち、前記接続判定手段により接続されていないと判定された場合には第１の検出方向割当設定を現在の検出方向割当設定とし、接続されていると判定された場合には第２の検出方向割当設定を現在の検出方向割当設定とする検出方向割当切換制御手段（例えば、図１の制御ユニット１２１０、図７の処理部２００、ゲーム演算部２１０、接続判定部２１２、図１２のステップＳ１０、Ｓ１２）、として前記コンピュータを機能させ、前記加速度センサの検出方向に対応する制御内容を、前記検出方向割当切換制御手段により切り換えられた現在の検出方向割当設定から判断して前記ゲームの進行を制御させるためのプログラムである。
【００２１】
第１３の発明は、加速度センサと、サブコントローラを着脱自在に接続する接続端子と、前記サブコントローラの接続有無を示す接続有無信号を出力する接続有無信号出力手段と、サブコントローラに為された操作入力及び前記加速度センサの検出結果を含む自メインコントローラに為された操作入力の操作入力信号を出力する操作入力信号出力手段とを有するメインコントローラから出力される前記接続有無信号及び前記操作入力信号に基づいて、所定のゲームの進行を制御するゲーム装置であって、前記接続有無信号に基づいて前記メインコントローラへの前記サブコントローラの接続有無を判定する接続判定手段と、前記加速度センサの検出方向と制御内容との対応関係が定められた第１及び第２の検出方向割当設定のうち、前記接続判定手段により接続されていないと判定された場合には第１の検出方向割当設定を現在の検出方向割当設定とし、接続されていると判定された場合には第２の検出方向割当設定を現在の検出方向割当設定とする検出方向割当切換制御手段と、を備え、前記加速度センサの検出方向に対応する制御内容を、前記検出方向割当切換制御手段により切り換えられた現在の検出方向割当設定から判断して前記ゲームの進行を制御するゲーム装置である。
【００２２】
第５又は第１３の発明によれば、メインコントローラにサブコントローラが接続されているか否かを判定することができる。そして、接続／未接続に応じて加速度センサの検出方向と制御内容との対応関係を自動的に切り換え、切り換えられた対応関係に従ってゲームの進行を制御することができる。よって、プレーヤがメインコントローラにサブコントローラを装着／取り外しして入力デバイスの構成を変更してもこれを自動的に検知し、その時々の構成に適応した加速度センサの検出方向に適した制御内容を判断してゲームを制御することで、プレーヤの嗜好に応じた操作系の変更に対応できる。
【００２３】
第６の発明は、第１〜第４の発明の何れかのプログラムであって、前記メインコントローラは、加速度センサを備えており、前記加速度センサの検出方向と制御内容との対応関係が定められた第１及び第２の検出方向割当設定のうち、前記接続判定手段により接続されていないと判定された場合には第１の検出方向割当設定を現在の検出方向割当設定とし、接続されていると判定された場合には第２の検出方向割当設定を現在の検出方向割当設定とする検出方向割当切換制御手段として前記コンピュータを機能させ、前記加速度センサの検出方向に対応する制御内容を、前記検出方向割当切換制御手段により切り換えられた現在の検出方向割当設定から判断して前記ゲームの進行を制御させるプログラムである。
【００２４】
第６の発明によれば、第１〜第４の発明の何れかと同様の効果を奏するとともに、メインコントローラにサブコントローラが接続されているか否かを判定し、接続／未接続に応じて加速度センサの検出方向と制御内容との対応関係を自動的に切り換え、切り換えられた対応関係に従ってゲームの進行を制御することができる。
【００２５】
第７の発明は、加速度センサと、サブコントローラを着脱自在に接続する接続端子と、前記サブコントローラの接続有無を示す接続有無信号を出力する接続有無信号出力手段と、サブコントローラに為された操作入力及び前記加速度センサの検出結果を含む自メインコントローラに為された操作入力の操作入力信号を出力する操作入力信号出力手段とを備えたメインコントローラから出力される前記接続有無信号及び前記操作入力信号に基づいて、コンピュータに所定のゲームの進行を制御させるためのプログラムであって、前記接続有無信号に基づいて前記メインコントローラへの前記サブコントローラの接続有無を判定する接続判定手段、前記加速度センサの検出量と制御内容との対応関係が定められた第１及び第２の検出量割当設定のうち、前記接続判定手段により接続されていないと判定された場合には第１の検出量割当設定を現在の検出量割当設定とし、接続されていると判定された場合には第２の検出量割当設定を現在の検出量割当設定とする検出量割当切換制御手段、として前記コンピュータを機能させ、前記加速度センサの検出量に対応する制御内容を、前記検出量割当切換制御手段により切り換えられた現在の検出量割当設定から判断して前記ゲームの進行を制御させるためのプログラムである。
【００２６】
第８の発明は、前記メインコントローラは、加速度センサを備えており、前記加速度センサの検出量と制御内容との対応関係が定められた第１及び第２の検出量割当設定のうち、前記接続判定手段により接続されていないと判定された場合には第１の検出量割当設定を現在の検出量割当設定とし、接続されていると判定された場合には第２の検出量割当設定を現在の検出量割当設定とする検出量割当切換制御手段として前記コンピュータを機能させ、前記加速度センサの検出量に対応する制御内容を、前記検出量割当切換制御手段により切り換えられた現在の検出量割当設定から判断して前記ゲームの進行を制御させるための第１〜第６の何れかの発明のプログラムである。
【００２７】
第１４の発明は、加速度センサと、サブコントローラを着脱自在に接続する接続端子と、前記サブコントローラの接続有無を示す接続有無信号を出力する接続有無信号出力手段と、サブコントローラに為された操作入力及び前記加速度センサの検出結果を含む自メインコントローラに為された操作入力の操作入力信号を出力する操作入力信号出力手段とを有するメインコントローラから出力される前記接続有無信号及び前記操作入力信号に基づいて、所定のゲームの進行を制御するゲーム装置であって、前記接続有無信号に基づいて前記メインコントローラへの前記サブコントローラの接続有無を判定する接続判定手段と、前記加速度センサの検出量と制御内容との対応関係が定められた第１及び第２の検出量割当設定のうち、前記接続判定手段により接続されていないと判定された場合には第１の検出量割当設定を現在の検出量割当設定とし、接続されていると判定された場合には第２の検出量割当設定を現在の検出量割当設定とする検出量割当切換制御手段と、を備え、前記加速度センサの検出量に対応する制御内容を、前記検出量割当切換制御手段により切り換えられた現在の検出量割当設定から判断して前記ゲームの進行を制御するゲーム装置である。
【００２８】
第７、第８及び第１４の発明によれば、メインコントローラにサブコントローラが接続されているか否かを判定し、接続／未接続に応じて加速度センサによる加速度の検出量（つまり加速度の大きさ）と制御内容との対応関係を自動的に切り換え、切り換えられた対応関係に従ってゲームの進行を制御することができる。
【００２９】
第９の発明は、第１〜第８の発明の何れかのプログラムであって、前記メインコントローラは、振動部、発光部及び表示部のうちの少なくとも１つの出力素子と、前記コンピュータから入力される制御信号に従って前記出力素子を制御する出力素子制御手段（例えば、図２のコントローラ制御ユニット１２６０、図７の処理部１１０）とを備えており、前記出力素子の制御方法が定められた第１及び第２の出力素子制御方法のうち、前記接続判定手段により接続されていないと判定された場合には第１の出力素子制御方法とし、接続されていると判定された場合には第２の出力素子制御方法とする出力素子制御方法切換手段（例えば、図１の制御ユニット１２１０、図７の処理部２００、ゲーム演算部２１０、接続判定部２１２、図１２のステップＳ１０、Ｓ１２）、前記出力素子制御方法切換手段により切り換えられた出力素子制御方法に従った制御信号を前記メインコントローラに出力する制御信号出力手段（例えば、図１の制御ユニット１２１０、図７の処理部２００、ゲーム演算部２１０、接続判定部２１２、図１２のステップＳ２６）、として前記コンピュータを機能させるためのプログラムである。
【００３０】
第９の発明によれば、第１〜第８の発明の何れかと同様の効果を奏するとともに、メインコントローラにサブコントローラが接続されているか否かに応じて、出力素子の制御方法を自動的に切り換えるため、出力素子の構成の変更に対応することができるようになる。
【００３１】
第１０の発明は、第１〜第９の発明の何れかのプログラムを記憶したコンピュータ読取可能な情報記憶媒体である。
ここで言う「情報記憶媒体」とは、例えば磁気ディスクや光学ディスク、ＩＣメモリなどを含む。第１０の発明によれば、第１〜第９の発明の何れかのプログラムをコンピュータに読み取らせて実行させることによって、コンピュータに第１〜第９の発明の何れかと同様の効果を発揮させることができる。
【００３２】
第１５の発明は、操作入力部（例えば、図２の方向入力キー１２４２、Ａボタン１２３５、第１加速度センサ１２４８）と、前記操作入力部に為された操作入力の信号出力を制御する信号出力制御手段（例えば、図２のコントローラ制御ユニット１２６０）と、サブコントローラを着脱自在に接続する接続端子（例えば、図２の拡張端子１２５０）と、前記サブコントローラの接続を検出する接続検出手段（例えば、図２のコントローラ制御ユニット１２６０、図１４の接続判定部２１２、図２０のステップＳ１０８）と、を備え、前記信号出力制御手段が、前記接続検出手段による検出がなされた際に、前記サブコントローラからのサブコントローラ操作入力信号を、前記操作入力部の操作入力信号に変換して出力する信号変換出力手段（例えば、図２のコントローラ制御ユニット１２６０、図１４の操作入力変換部１１３、操作入力変換ＴＢＬ５３０、図２０のステップＳ１１４）を有するコントローラである。
【００３３】
第１５の発明によれば、サブコントローラの接続／未接続を自動的に検出し、接続が検出された場合には、サブコントローラからのサブコントローラ操作入力信号を、前記操作入力部の操作入力信号に変換して出力することができる。つまり、サブコントローラに為された操作入力であっても操作入力部への操作であったかのように自動変換して操作入力信号を出力する。よって、プレーヤは別途操作入力の設定を変更操作せずともサブコントローラを装着／取り外しして入力デバイスの構成を変更するだけでゲームを続けることができる。
【発明の効果】
【００３４】
本発明によれば、メインとなるコントローラにサブコントローラが接続された状態を自動的に検知し、接続／未接続の各状態における入力デバイスの構成に適した操作入力方法の設定を自動的に実現し、プレーヤの嗜好に応じたプレーヤ自身による操作系の変更に即座に対応できるゲームを実現することができる。
【発明を実施するための最良の形態】
【００３５】
〔第１実施形態〕
以下、本発明を適用した第１実施形態として、家庭用ゲーム装置でプレーヤが戦闘機キャラクタ（以下、「プレーヤキャラクタ」とも言う。）を操作して敵戦闘機キャラクタ（以下、「敵キャラクタ」とも言う。）と空中戦を繰り広げるコンバットフライトシミュレーションゲームを実行する場合を例に挙げて説明する。尚、本実施形態が適用可能なゲームジャンルは、コンバットフライトシミュレーションゲームに限らず、例えばアクションゲームやレースゲーム等の他のゲームにも適用することができる。
【００３６】
［ゲーム装置の説明］
図１は、本実施形態における家庭用ゲーム装置の構成例を説明する構成図である。同図に示すように、家庭用ゲーム装置１２００は、ゲーム装置本体１２０１と、ゲームコントローラ１２３０と、ビデオモニタ１２２０とを備える。ゲームコントローラ１２３０（メインコントローラ）には、着脱自在な拡張入出力装置であるサブコントローラ１２３１をプレーヤが任意に着脱して接続することができる。
【００３７】
ゲーム装置本体１２０１は、例えばＣＰＵや画像処理用ＬＳＩ、ＩＣメモリ等が実装された制御ユニット１２１０と、光学ディスク１２０２やメモリカード１２０４といった情報記憶媒体の読み取り装置１２０６，１２０８とを備える。そして、家庭用ゲーム装置１２００は、制御ユニット１２１０が光学ディスク１２０２やメモリカード１２０４からゲームプログラム及び各種設定データを読み出し、ゲームコントローラ１２３０及びサブコントローラ１２３１に為される操作入力に基づいて各種の演算処理をしてビデオゲームを実行する。
【００３８】
制御ユニット１２１０は、ＣＰＵ（Central Processing Unit）やＧＰＵ（Graphics Processing Unit）及びＤＳＰ（Digital Signal Processor）などの各種マイクロプロセッサ、ＡＳＩＣ(Application Specific Integrated Circuit)、ＩＣメモリなどの電気電子機器を備え家庭用ゲーム装置１２００の各部を制御する。
【００３９】
また、制御ユニット１２１０は、通信装置１２１２と、近距離無線通信モジュール１２１４とを備える。通信装置１２１２は、インターネットやＬＡＮ（Local Area Network）、ＷＡＮ（Wide Area Network）と言った通信回線１と有線接続又は無線接続し、外部装置との間でデータ通信を実現する。近距離無線通信モジュール１２１４は、近距離無線を介して複数のゲームコントローラ１２３０から送信される操作入力信号を受信する。近距離無線の形式としては、例えばＢｌｕｅｔｏｏｔｈ（登録商標）やＵＷＢ（超広帯域無線）、無線ＬＡＮなどが適宜適用可能である。
【００４０】
ゲーム装置本体１２０１の制御ユニット１２１０は、ゲームコントローラ１２３０から受信した操作入力信号に基づいてゲーム画像やゲーム音を生成してビデオゲームを実行する。生成されたゲーム画像やゲーム音は、信号ケーブル１２０９で接続されたビデオモニタ１２２０（ディスプレイモニタ）に出力される。ビデオモニタ１２２０には、画像を表示する画像表示装置１２２２と、音声を出力するスピーカ１２２４とが備えられており、プレーヤは画像表示装置１２２２に映し出されるゲーム画像を見ながら、スピーカ１２２４から放音されるゲーム音を聞きつつゲームをプレイする。
【００４１】
図２は、本実施形態において用いられるゲームコントローラ１２３０の一例を示す外観図であって、それぞれ（ａ）正面図、（ｂ）正面向かって右から見た右側面図、（ｃ）下面図に相当する。同図に示すように、ゲームコントローラ１２３０は、面取りされた略四角断面を有する棒状を成しており、プレーヤは棒を握る要領で片手把持し操作することができる。
【００４２】
ゲームコントローラ１２３０では、コントローラ制御ユニット１２６０を中心に、各種入力デバイス及び出力デバイスが、例えばＩＩＣ（Inter-Integrated Circuit）バスなどによって実現されるローカルバス回路によって接続されており、コントローラ制御ユニット１２６０によって各デバイス間の入出力が制御される。
【００４３】
スイッチ類の入力デバイスとして、正面側（操作面側）の下部（後部）にＡボタン１２３５、Ｂボタン１２３６、Ｃボタン１２３７、Ｄボタン１２３８を備える。また正面側の上部（前部）には、十字状の四隅を押下することで上下左右の方向を個別に入力することのできる方向入力キー１２４２と、Ｅボタン１２４４とを備える。更に背面側の上部にはトリガー１２４６を備える。また、その他の入力デバイスとしては、ゲームコントローラ１２３０の動きや傾きを検出するための第１加速度センサ１２４８と撮像素子１２５６とを備える。尚、以下では、方向入力キー１２４２の入力方向を、図２（ａ）に向かった場合の入力方向として説明する。具体的には、方向入力キー１２４２の上方向キーとは、図２（ａ）に向かって方向入力キー１２４２の上方向のキー入力を行った場合を指す。また、この方向表現のことを以下では「絶対方向表現」と呼ぶ。
【００４４】
第１加速度センサ１２４８はゲームコントローラ１２３０の長手方向（図２（ａ）の上下方向）をＸ軸、左右方向（図２（ａ）の左右方向）をＹ軸、図２（ａ）の表裏方向をＺ軸とする３軸方向の加速度を検出し、検出した加速度に応じた電圧等の検出信号をコントローラ制御ユニット１２６０に出力する。
【００４５】
撮像素子１２５６は、面状に配置された各受光素子で入射した光の強さを電気信号に変換し出力する光センサであって、例えばＣＣＤセンサやＣＭＯＳセンサといったイメージセンサ及びそれらのドライバ回路などによって実現される。撮影素子１２５６は、ゲームコントローラ１２３０の長手方向前端部（図２（ａ）の上側端部）に固定されており、ゲームコントローラ１２３０の先端方向からの光を所定の画角範囲で受光・撮影し、撮像信号（画像データ）をコントローラ制御ユニット１２６０に出力する。
【００４６】
一方、本実施形態におけるゲームコントローラ１２３０は、出力デバイスとして第１バイブレータ１２５４を備える。第１バイブレータ１２５４は、コントローラ制御ユニット１２６０から出力された振動制御信号に従って振動を発生させ、ゲームコントローラ１２３０を把持するプレーヤの手に振動を感じさせる。
【００４７】
コントローラ制御ユニット１２６０は、例えば、ＣＰＵやローカルバス回路におけるデータ通信を制御するバスコントローラＩＣなどの各種マイクロチップやＩＣメモリなどの電子部品、ゲーム装置本体１２０１の近距離無線通信モジュール１２１４と無線通信を実現する近距離無線通信モジュール１２５２などを実装する。
【００４８】
そして、コントローラ制御ユニット１２６０は、ローカルバス回路を介して各種入力デバイスから送信された信号に基づいて操作入力信号を生成し、生成した操作入力信号を近距離無線通信モジュール１２５２で、ゲーム装置本体１２０１へ出力する。また、近距離無線通信モジュール１２５２によって、ゲーム装置本体１２０１から送出された出力信号を受信した場合には、受信した出力信号に対応づけられている出力デバイスへ制御信号を生成・送出する。本実施形態では、第１バイブレータ１２５４に振動を発生させるための出力信号を受信したならば、第１バイブレータ１２５４に向けて受信した出力信号に基づく振動制御信号を送出し、所与の振動パターンで振動を発生させることができる。
【００４９】
尚、コントローラ制御ユニット１２６０及び各部が必要とする電力は、ゲームコントローラ１２３０の背面側に凹設されたバッテリー室１２５７内に内蔵されたバッテリー１２５８から供給される。
【００５０】
本実施形態におけるゲームコントローラ１２３０はまた、ゲームコントローラ１２３０にとって着脱自在な操作入力デバイス及び出力デバイスを備えたサブコントローラ１２３１を接続するための拡張端子１２５０を備える。
【００５１】
拡張端子１２５０は、コントローラ制御ユニット１２６０に設けられたローカルバス回路を外部に拡張するための端子である。本実施形態におけるローカルバスは、例えばＩＩＣ（Inter-Integrated Circuit）バス規格によって実現され、所定形状のコネクタを活線挿抜に接続することができるとともに、拡張端子１２５０に含まれる接続ピンの電圧を検知することで挿抜に伴うコネクタやデバイスの接続検出ができる。
【００５２】
図３は、本実施形態におけるサブコントローラ１２３１の一例を示す外観図であって、（ａ）正面図、（ｂ）正面向かって右から見た右側面図に相当する。同図に示すように、サブコントローラ１２３１は、入力デバイスとして、直交する２軸方向を同時に入力することができるレバー１２７２と、プッシュボタンスイッチ１２７４と、第２加速度センサ１２７６とを備える。レバー１２７２は、所謂「ジョイスティック」などとも呼ばれる。プッシュボタンスイッチ１２７４はゲームコントローラ１２３０のＡボタン１２３５と同様の入力デバイスである。また、第２加速度センサ１２７６は、ゲームコントローラ１２３０の第１加速度センサ１２４８と同様の入力デバイスである。また、サブコントローラ１２３１は、出力デバイスとしてゲームコントローラ１２３０の第１バイブレータ１２５４と同様の第２バイブレータ１２７８を備える。
【００５３】
また、以下では、レバー１２７２の絶対方向表現の入力方向を、図３（ａ）に向かった場合の入力方向とする。具体的には、レバー１２７２のレバー上方向とは、図３（ａ）に向かってレバー１２７２を上方向に傾倒させる入力を指す。
【００５４】
サブコントローラ１２３１に備えられたこれらの入力デバイス及び出力デバイスは、それぞれサブコントローラ１２３１内のローカルバス回路に接続されて棒状の外殻１２７３に一体にケーシングされている。サブコントローラ１２３１のローカルバス回路は、信号ケーブル１２７１及びコネクタ１２７５に電気的に接続されている。
【００５５】
コネクタ１２７５は、ゲームコントローラ１２３０の拡張端子１２５０に対応しており、コネクタ１２７５を拡張端子１２５０に接続することによってゲームコントローラ１２３０のローカルバス回路とサブコントローラ１２３１のローカルバス回路とが電気的に一体に接続され、サブコントローラ１２３１の入力デバイス及び出力デバイスもゲームコントローラ１２３０のそれらと同様に扱うことができるようになる。つまり、コネクタ１２７５の着脱によって、ゲームコントローラ１２３０に入力デバイス及び出力デバイスを自在に追加・削除することができるとも言える。また、サブコントローラ１２３１へは、拡張端子１２５０に接続されたコネクタ１２７５から信号ケーブル１２７１を介してバッテリー１２５８より電力が供給される。
【００５６】
コントローラ制御ユニット１２６０は、コネクタ１２７５が拡張端子１２５０に接続されるとこれを検知し、サブコントローラ１２３１の接続、より具体的にはサブコントローラ１２３１に備えられている入力デバイス・出力デバイスの接続を検知する。そして、接続されているか否かを示す接続有無信号を、操作入力信号に含めてゲーム装置本体１２０１に送信する。尚、接続有無信号は、所定のフラグデータでも良いしサブコントローラ１２３１が備える入力デバイスからの入力信号で兼ねる構成としても良い。
【００５７】
また、本実施形態では、拡張端子１２５０が備える複数の端子ピンのうち、所定の端子ピンの電圧変化からコネクタ１２７５の接続を検知してゲームコントローラ１２３０にサブコントローラ１２３１が接続／未接続の検知が可能であるとしているが、接続検知方法はこれに限るものではない。例えば、図２（ｃ）に示すように、拡張端子１２５０の横に端面より内側に押し込まれて「ＯＮ」となり、押し込み量に応じた信号を出力する接続検知スイッチ１２５１を設けるとともに、コネクタ１２７５の接続面に該コネクタを拡張端子１２５０へ接続するのに伴って接続検知スイッチ１２５１を押す突起部１２７５ａを設ける。そして、コントローラ制御ユニット１２６０が、接続検知スイッチ１２５１から出力される信号からコネクタ１２７５の接続を検知する、つまりサブコントローラ１２３１が装着されていることを検知する構成としても良い。
【００５８】
［ゲーム概要の説明］
図４は、本実施形態におけるゲーム画面の一例を示す図である。同図に示すように、ゲーム画面Ｗ２には、ゲーム空間画像３０が主画像として表示される。ゲーム空間画像３０は、プレーヤが操作するプレーヤキャラクタとともに移動制御される仮想カメラで撮影したプレーヤキャラクタから見た画像（或いはプレーヤキャラクタを含むゲーム空間の画像）である。そして、プレーヤキャラクタの操縦を補助するための情報として、ゲーム画像上に所謂ＨＵＤ（Head Up Display）表示として、ウィスキーマーク３２、姿勢表示３４、高度表示３６、速度表示３８、方位表示４０、残弾数表示４２、ダメージ表示４４が合成表示される。
【００５９】
また、ゲーム画面Ｗ２の左下隅の所定領域には、レーダ画像Ｗ３が表示される。レーダ画像Ｗ３は、プレーヤキャラクタを中心とした俯瞰視簡略図である。中央にプレーヤキャラクタを表すレーダ表示マーク４８が配され、これを中心に前後方向・左右方向を示す機軸線５０が表示される。そして、その周囲にプレーヤキャラクタから所定のレーダ表示範囲に存在する敵キャラクタを示す表示体として敵レーダ表示マーク（図中の黒塗りマーク）を、プレーヤキャラクタからの相対位置を維持して縮小表示される。
【００６０】
本実施形態におけるコンバットフライトシミュレーションゲームは、従来のそれと同様に、３次元仮想空間に形成されたゲーム世界には、プレーヤキャラクタの戦闘機と、コンピュータが自動制御するノンプレーヤキャラクタ（ＮＰＣ）である複数の敵キャラクタが配置され、各々が装備するミサイルや機銃で相手を攻撃するゲームである。同図の例では、ゲーム空間画面３０には、プレーヤキャラクタの前方に存在する敵キャラクタの機影５２ａ，５２ｂ，５２ｃが表示されている。
【００６１】
プレーヤキャラクタから所定の索敵範囲に存在し、ゲーム空間画像３０に写る敵キャラクタの機影５２ａ，５２ｂ，５２ｃには、それらのキャラクタを注目させるための識別子であるコンテナ表示５６，５７が付属表示される。プレーヤは、所定の攻撃目標の選択操作によってコンテナ表示５６，５７が付属表示される敵キャラクタ５２ａ，５２ｂ，５２ｃの何れか一つを攻撃目標として選択できる。
【００６２】
同図では、中央の機影の敵キャラクタ５２ｂが選択されており、選択された証としてコンテナ表示５７は他のコンテナ表示５６よりも強調表示され、更に右上には同敵キャラクタの兵器種類を示す情報５８が付加表示されている。通常、攻撃目標として選択された状態で、更に当該敵キャラクタが所定の攻撃可能範囲に所定時間以上存在すれば、ミサイル攻撃の標的（ミサイルの追尾対象）として記憶される所謂「ロックオン」の状態となる。ロックオン状態となるとコンテナ表示５７は、更に特別色で表示されてロックオンされたことを示す。このロックオン状態となったことを確認してプレーヤが所定のミサイル発射操作をするとプレーヤキャラクタからミサイルが発射される。或いは、ロックオン状態の有無に係らず所定の機銃発射操作をすると機銃が機首前方に発射されて敵キャラクタを銃撃することができる。
【００６３】
ミサイルが発射されると、３次元仮想空間内に新たにミサイルのオブジェクトが配置され、ディスプレイ１２２２の表示サイクル（描画サイクル）毎にロックオンした敵キャラクタに向かって所定時間追尾飛行するように移動制御される。
【００６４】
ゲーム中のミサイルは、現実のそれと同様に時間当たり（この場合一回の移動制御当り）に進行方向を変えることのできる上限角度（転舵限界角度）が予め定められている。したがって、ミサイルが発射された時点におけるプレーヤキャラクタと、敵キャラクタとの相対位置関係や向きの関係、敵キャラクタのその後の軌道によってはミサイルが命中しないことが起きる。つまり、プレーヤは、如何にミサイルをかわされ難いポジションから敵キャラクタを狙うことができるかが戦果を大きく左右することになり、操作入力のし易さがゲームの勝敗に影響する。したがって、操作のし易さは、プレーヤの嗜好が最も現れるところである。
【００６５】
［操作入力の説明］
プレーヤキャラクタを操作する操作入力方法について、本実施形態ではゲームコントローラ１２３０にサブコントローラ１２３１が装着されているか否かが自動的に判定され、接続／未接続の判定結果に応じて図５及び図６の操作割当図に示す２通りの操作入力方法のうち何れかが自動的に適用される。
【００６６】
先ず第１の操作入力方法は、図５に示すように、ゲームコントローラ１２３０にサブコントローラ１２３１を装着せずに単独使用する場合に適用される操作入力方法である。同図に示すように、プレーヤはゲームコントローラ１２３０の前端部を左、後端部を右にして長手方向を左右方向に向け、左端部を左手で把持し右端部を右手で把持するよう構える。そして、絶対方向表現による方向入力キー１２４２の右方向キー（図２（ａ）に向かった右になるため。以下同じ。）の入力で機首下げ、左方向キーの入力で機首上げ、下方向キーの入力で右旋回、上方向キーの入力で左旋回、の操縦操作を入力できる。また、Ａボタン１２３５で機銃発射、Ｂボタン１２３６でミサイル発射、Ｃボタン１２３７で減速、Ｄボタン１２３８で加速の各操作を入力することができる。更にＥボタン１２４４で、攻撃目標の選択操作を入力できる。
【００６７】
一方、第２の操作入力方法は、図６に示すように、ゲームコントローラ１２３０にサブコントローラ１２３１を装着して使用する場合に適用される操作入力方法である。同図に示すように、プレーヤは、ゲームコントローラ１２３０を上下に構えて母指を方向入力キー１２４２に沿えて棒を握る要領で片手で把持する一方、サブコントローラ１２３１のレバー１２７２に母指を沿えて棒を握る要領でもう一方の手で把持する。そして、絶対方向表現によるレバー１２７２のレバー上方向（図３（ａ）に向かった上となり、図６と同様。以下同じ。）で機首下げ、レバー下方向で機首上げ、レバー右方向で右旋回、レバー左方向で左旋回をそれぞれ入力することができる。また、絶対方向表現による方向入力キー１２４２の上方向キー（図２（ａ）に向かった上となり、図６と同様。以下同じ。）の入力で減速、下方向キーの入力で加速、右方向キーの入力でミサイル発射、左方向キーの入力で機銃発射を操作入力できる。また、Ｅボタン１２４４で、攻撃目標の選択操作を入力できる。
【００６８】
第１の操作入力方法は、左手で方向入力キー１２４２、右手で複数のプッシュボタンを操作するといった従来の家庭用ゲーム装置におけるオーソドックスな操作形態を踏襲しており、サブコントローラ１２３１の所有如何に係らず従来の家庭用ゲーム装置のオーソドックスな操作形態に遊び慣れた操作形態でゲームプレイしたい場合には適当である。ゲームコントローラ１２３０を所有しているが、サブコントローラ１２３１を所有していないプレーヤは、第１の操作入力方法でゲームを楽しむことができる。
【００６９】
一方、ゲームコントローラ１２３０とサブコントローラ１２３１の両方を所有しているプレーヤは、第２の操作入力方法でもゲームを楽しむことができる。第２の操作入力方法では、操縦操作を方向入力キー１２４２よりもより細かくスムーズに入力することができるのでより高度で自在な操縦操作を楽しむことができる。また、加速・減速並びに機銃発射・ミサイル発射を方向入力キー１２４２一つで入力できるので、第１の操作入力方法のように独立して離れたＡボタン１２３５〜Ｄボタン１２３８を操作する場合よりも、すばやい操作入力が可能になる。よって、どちらかと言えばより高度な操作を好む上級者プレーヤに適している。また、両手を揃える必要が無いのでより自由な姿勢でゲームプレイしたい場合にも好適である。
【００７０】
また、第１の操作入力方法の操作方向と第２の操作入力方法の操作方向とが絶対方向表現で異なるため、それぞれの操作方向に対して適切な制御命令が割当設定される。このことは、操作入力方法が第１の操作入力方法なのか、第２の操作入力方法なのかによって、プレーヤにとっての方向入力キー１２４２の方向座標系（相対的な方向座標系）に適切に切り換え、適切な方向操作入力を可能とすることを意味する。
【００７１】
［機能ブロックの説明］
次に、操作入力方法の自動的な切り換えを実現するための具体的な機能構成について説明する。図７は、本実施形態における家庭用ゲーム装置１２００の機能構成の一例を示す機能ブロック図である。同図に示すように本実施形態では、第１操作部１００と、第２操作部１２０と、処理部２００と、音出力部３５０と、画像表示部３６０と、通信部３７０と、記憶部５００とを備える。
【００７２】
第１操作部１００は、図１で言うところのゲームコントローラ１２３０に相当し、操作入力部１０２、出力部１０４、処理部１１０、記憶部１１３、接続部１１４、通信部１１６を備える。
【００７３】
操作入力部１０２は、プッシュボタンや、レバー、タッチパッド、ダイヤル、キーボード、マウス、各種ポインタ、加速度センサ、傾斜センサなどの入力デバイスやセンサ類によって実現され、プレーヤによって為された各種の入力に応じて操作入力信号を処理部１１０に出力する。図２のＡボタン１２３５〜Ｄボタン１２３８、Ｅボタン１２４４、方向入力キー１２４２、第１加速度センサ１２４８がこれに該当する。
【００７４】
出力部１０４は、バイブレータ、ライト、スピーカ、モータ、画像表示素子といった出力デバイスによって実現され、処理部１１０から送出された制御信号によってゲームの進行に応じた振動や光、音、動作、画像表示などの出力をする。図２の例では第１バイブレータ１２５４がこれに該当する。
【００７５】
接続部１１４は、例えばコネクタによって実現され、外部からの信号線を第１操作部１００内の信号線と結線させるとともに、接続の有無を検知する仕組みを備える。図２の拡張端子１２５０及びゲームコントローラ１２３０のローカルバス回路がこれに該当する。接続検知スイッチ１２５１を備える場合にはこれも該当する。本実施形態では、第２操作部１２０に備えられる同様の接続部１２２との間で接続し電気信号線の結線を実現する。尚、接続部１１４及び接続部１２２の接続は、物理的な結線に限らず無線通信によるデータ通信によって代用することもできる。
【００７６】
通信部１１６は、例えば、無線装置やＬＡＮアダプタなど通信回線１に接続するための機器によって実現され、外部装置との間で信号の送受を実現する。図２の近距離無線通信モジュール１２５２がこれに該当し、本実施形態ではゲーム装置本体１２０１の近距離無線通信モジュール１２１４（図１参照）に該当する通信部３７０との間でデータ通信を実現する。
【００７７】
処理部１１０は、例えばＣＰＵやローカルバスにおけるデータ通信を司るバス制御ＩＣといったマイクロプロセッサ、ＡＳＩＣ（特定用途向け集積回路）、ＩＣメモリ、ローカルバスなどの電子部品・電子回路によって実現され、ＩＣメモリ等で実現される記憶部１１３を作業領域として使用して、第１操作部１００の各機能部との間でデータの入出力を制御する。図２のコントローラ制御ユニット１２６０がこれに該当する。
【００７８】
処理部１１０は、入力部１０２からの操作入力信号及び接続部１１４を介して外部から入力された信号に基づいて通信制御部１１２で操作入力信号を生成し、通信部１１６から通信部３７０へ操作入力信号を出力する。また、ローカルバスの仕様や接続検知スイッチ１２５１などによって接続部１１４に接続部１２２が接続されていることを検出し接続有無を出力する。本実施形態では、接続有無信号は接続部１２２を介して入力された操作入力信号を兼ねる。また、通信部１１６で通信部３７０から受信した信号に基づいて出力部１０４へ制御信号を出力し、第１操作部１００における各種出力を制御する。
【００７９】
第２操作部１２０は、第１操作部１００に着脱自在な外部操作入力部であって、図１で言うところのサブコントローラ１２３１に相当し、接続部１２２と、操作入力部１２４と、出力部１２６とを備える。
【００８０】
操作入力部１２４は、操作入力部１０２と同様に実現され、プレーヤによって為された各種の操作入力に応じて操作入力信号を接続部１２２に出力する。図３のコネクタ１２７５がこれに該当する。
【００８１】
出力部１２６は、出力部１０４と同様に実現され、接続部１２２を介して受信した制御信号に従って出力をする。
【００８２】
処理部２００は、例えばＣＰＵやＧＰＵと言ったマイクロプロセッサ、ＡＳＩＣ（特定用途向け集積回路）、ＩＣメモリなどの電子部品によって実現され、各機能部との間でデータの入出力を行うとともに所定のプログラムやデータ及び操作部１００からの操作入力信号に基づいて各種の演算処理を実行して、家庭用ゲーム装置１２００の動作を制御する。図１では、ゲーム装置本体１２０１に内蔵された制御ユニット１２１０が処理部２００に該当する。
【００８３】
そして、本実施形態における処理部２００は、ゲーム演算部２１０と、音生成部２５０と、画像生成部２６０と、通信制御部２７０とを備える。
【００８４】
ゲーム演算部２１０は、ゲームの進行に係る処理を実行する。例えば、３次元仮想空間中にゲーム空間を形成する処理や、ゲーム空間中に配置されたキャラクタ等のオブジェクトの配置制御処理、敵キャラクタ等のＮＰＣ（ノンプレーヤキャラクタ）の自動制御処理、ヒット判定処理、物理演算処理、ゲーム結果の判定処理などが実行対象に含まれる。
【００８５】
ゲーム演算部２１０は、接続判定部２１２と、操作割当切換制御部２１４と、出力割当切換制御部２１６とを含む。
【００８６】
接続判定部２１２は、第１操作部１００から受信した操作入力信号（本実施形態では接続有無信号を含む）に基づいて第１操作部１００の接続部１１４に第２操作部１２０の接続部１２２が接続されたか否かを判定する。
【００８７】
操作割当切換制御部２１４は、接続判定部２１２による判定結果に基づいて、第１の操作入力方法及び第２の操作入力方法のうちの何れか一方を適用対象として自動的に切り換える制御を行う。
【００８８】
出力割当切換制御部２１６は、接続判定部２１２による判定結果に基づいて、第１操作部１００の出力部１０４又は第２操作部１２０の出力部１２６に自動的に振り分ける制御を行う。
【００８９】
音生成部２５０は、例えばデジタルシグナルプロセッサ（ＤＳＰ）などのプロセッサやその制御プログラムなどの公知技術によって実現され、ゲーム演算部２１０による処理結果に基づいてゲームに係る効果音やＢＧＭ、各種操作音の音信号を生成し、音出力部３５０に出力する。
【００９０】
音出力部３５０は、音生成部２５０から入力される音信号に基づいて効果音やＢＧＭ等を音出力する装置によって実現される。図１ではビデオモニタ１２２０のスピーカ１２２４がこれに該当する。
【００９１】
画像生成部２６０は、例えば、ＧＰＵやデジタルシグナルプロセッサ（ＤＳＰ）などのマイクロプロセッサ、その制御プログラム、フレームバッファ等の描画フレーム用ＩＣメモリ等の公知技術によって実現される。そして、画像生成部２６０は、ゲーム演算部２１０による処理結果に基づいて１フレーム時間（１／６０秒）で１枚のゲーム画像３０を生成するとともにレーダ画像Ｗ３を生成し、ゲーム画像３０にＨＵＤ表示やレーダ画像Ｗ３等を合成表示して最終的なゲーム画面Ｗ２を生成し、ゲーム画像の画像信号を画像表示部３６０に出力する。
【００９２】
画像表示部３６０は、画像生成部２６０から入力される画像信号に基づいて各種ゲーム画像Ｗ２を表示する。画像表示部３６０は、例えば、フラットパネルディスプレイ、ブラウン管（ＣＲＴ）、プロジェクター、ヘッドマウントディスプレイといった画像表示装置によって実現できる。図１ではビデオモニタ１２２０の画像表示装置１２２２がこれに該当する。
【００９３】
通信制御部２７０は、データ通信に係るデータ処理を実行し、通信部３７０を介して外部装置との間でデータの送受を実現する。
【００９４】
通信部３７０は、通信回線１と接続して通信を実現する。例えば、無線通信機、モデム、ＴＡ（ターミナルアダプタ）、有線用の通信ケーブルのジャックや制御回路等によって実現され、図１では通信装置１２１２、及び近距離無線通信モジュール１２１４がこれに該当する。
【００９５】
記憶部５００は、予め定義されたプログラムやデータを記憶するとともに、処理部２００の作業領域として用いられ、処理部２００が各種プログラムに従って実行した演算結果等を一時的に記憶する。この機能は、例えばＲＡＭやＲＯＭ、ＥＥＰＲＯＭなどのＩＣメモリ、ハードディスク等の磁気ディスク、ＣＤ−ＲＯＭやＤＶＤ―ＲＡＭ、ＭＯなどの光学ディスクによって実現される。
【００９６】
本実施形態における記憶部５００は、処理部２００にゲーム装置１２００を統合的に制御させるための諸機能を実現するためのシステムプログラム５０１や、ゲームを実行させるために必要なゲームプログラム５０２並びに各種データ等を記憶する。処理部２００がゲームプログラム５０２を読み出して実行することによって、処理部２００にゲーム演算部２１０としての機能を実現させることができる。
【００９７】
また、記憶部５００には、予め用意されるデータとしてゲーム空間設定データ５１０、兵器初期設定データ５１２、キャラクタ初期設定データ５１４、第１操作割当設定ＴＢＬ（テーブル）５１８、第２操作割当設定ＴＢＬ５２０、第１出力割当設定ＴＢＬ５２２、第２出力割当設定ＴＢＬ５２４が記憶されている。更にゲームの進行に伴って生成され、随時書き換えられるデータとして、キャラクタステータスデータ５１６、参照ＴＢＬ設定５２６が記憶されるほか、ゲームの進行に係る処理の実行に必要となる情報として、例えば仮想カメラを制御するための画角・視線方向・姿勢情報などのデータ、各種制限時間のカウントデータなどが適宜記憶される。
【００９８】
ゲーム空間設定データ５１０には、３次元仮想空間にゲーム空間を形成するための各種データが格納されている。例えば、空や地表、建物などの配置物に関するモデルデータやテクスチャデータ及びモーションデータが格納されている。
【００９９】
兵器初期設定データ５１２には、ミサイルやプレーヤキャラクタ、敵キャラクタなどゲームに登場する兵器に関する初期設定データが兵器の種類毎に格納されている。具体的には、兵器の表示用モデル、テクスチャ、最高速度や最高加速度、耐久力（ヒットポイント）、兵装の種類や搭載数など当該兵器の能力パラメータ値の初期値が格納されている。
【０１００】
キャラクタ初期設定データ５１４は、プレーヤキャラク及び敵キャラクタの初期条件を定義するデータが格納されている。例えば、各キャラクタの識別情報と対応づけて兵器種類、初期配置位置、各種パラメータの初期値などが格納されている。
【０１０１】
キャラクタステータスデータ５１６は、ゲーム空間に配置されたプレーヤキャラクタや敵キャラクタ、発射されたミサイルの現在の位置や状態を示す各種パラメータ値を格納する。例えば、キャラクタ識別情報と対応づけて、現在位置座標、現在の機体の姿勢角度、現在の最大速度や残弾数、現在のヒットポイントに相当する耐久値といった能力パラメータ値等の情報を格納する。能力パラメータ値の耐久値は攻撃を受ける都度減算され、「０」になると撃墜されたことを示す。勿論、これらのパラメータに限るものでは無く、各キャラクタに係る情報を適宜対応付けて格納することができる。
【０１０２】
第１操作割当設定テーブル（ＴＢＬ）５１８は、第１の操作入力方法（図５参照）を実現するためにゲームコントローラ１２３０及びサブゲームコントローラ１２３１に備えられている各種入力デバイスからの操作信号を制御命令（制御内容）に割り当てる情報を格納する。尚、操作する方向は、絶対方向表現による。例えば、図８に示すように、入力デバイスからの操作信号に相当する操作入力種類５１８ａ毎に制御する内容である制御命令５１８ｂを対応付けて格納する。例えば、方向入力キー１２４２の「上方向キー」に相当する操作入力には「左旋回」が対応づけられており、方向入力キー１２４２の上を操作すると、プレーヤキャラクタの戦闘機は左に旋回するように制御される。同様に、「Ｃボタン」には「加速」が対応づけられており、Ｃボタン１２３７を操作すると、プレーヤキャラクタ野戦闘機は加速するように制御される。尚、第１の操作入力方法は、サブコントローラ１２３１が装着されていない場合に適用されるので、サブコントローラ１２３１のレバー１２７２の「レバー上方向」〜「レバー左方向」には「（操作入力の割当）なし」が対応付けられており無効となっている。
【０１０３】
同様にして、第２操作割当設定ＴＢＬ５２０は、第２の操作入力方法（図６参照）を実現するためにゲームコントローラ１２３０及びサブゲームコントローラ１２３１に備えられている各種入力デバイスからの操作信号を制御命令に割り当てる情報を格納する。例えば、図９に示すように、操作入力種類５２０ａと制御命令５２０ｂとを対応付けて格納する。例えば、方向入力キー１２４２の「上方向キー」には「減速」が対応づけられており、方向入力キー１２４２の上を操作すると、プレーヤキャラクタの戦闘機は減速するように制御される。同様に、「Ｃボタン」には「なし」が対応づけられており、Ｃボタン１２３７を操作しても入力が受け付けられず無効となるように制御される。一方、サブコントローラ１２３１のレバー１２７２の「レバー上方向」には「機首下げ」が対応付けられており、レバー１２７２を上方向に倒すと倒した量に応じてプレーヤキャラクタの戦闘機は機首を下げるように制御される。
【０１０４】
第１出力割当設定ＴＢＬ５２２は、ゲーム結果に応じた出力をゲームコントローラ１２３０及びサブコントローラ１２３１に備えられた出力デバイスに割り当てるための情報を格納し、ゲームコントローラ１２３０にサブコントローラ１２３１が装着されていない場合に適用される。例えば、図１０に示すように、ゲーム結果を条件とする出力条件５２２ａに、出力対象となる出力デバイスを示す出力デバイス割当５２２ｂと、出力内容５２２ｃとがそれぞれ対応付けて格納される。例えば、処理部２００でゲーム結果を算出した結果、プレーヤキャラクタに敵キャラクタからの機銃が着弾したと判定された場合には、ゲームコントローラ１２３０の第１バイブレータ１２５４が所定の時間間隔で断続的に小レベルの振動を発生するための断続小加振の出力信号を出力するように定義されている。
【０１０５】
尚、本実施形態では、バイブレータを出力対象としている例を挙げているが、例えばゲームコントローラ１２３０にスピーカが搭載されている場合には、出力条件５２２ａ「機銃被弾」に更に出力デバイス割当５２２ｂに「スピーカ」を追加し、出力内容５２２ｃに「機銃着弾の効果音出力」するための音声データを割り当てることもできる。また、ＬＥＤや液晶ディスプレイなどの出力デバイスが搭載されている場合には、ＬＥＤを点滅させたり液晶ディスプレイに被弾をイメージする画像やテキストを表示させる出力を定義することもできる。
【０１０６】
第２出力割当設定ＴＢＬ５２４は、ゲーム結果に応じた出力をゲームコントローラ１２３０及びサブコントローラ１２３１に備えられた出力デバイスに割り当てるための情報を格納し、ゲームコントローラ１２３０にサブコントローラ１２３１が装着されている場合に適用される。例えば、図１１に示すように、ゲーム結果を条件とする出力条件５２４ａに、出力デバイス割当５２４ｂと、出力内容５２４ｃとがそれぞれ対応付けて格納される。例えば、ゲーム結果を算出した結果、プレーヤキャラクタの戦闘機に敵キャラクタからの機銃が着弾したと判定された場合には、サブコントローラ１２３１の第２バイブレータ１２７８が所定の時間間隔で断続的に小レベルの振動を発生するための出力信号を出力するように定義されている。また、プレーヤキャラクタに敵キャラクタからのレーダ照射を受けていると判定された場合には、ゲームコントローラ１２３０の第１バイブレータ１２５４が断続的に小加振するための出力信号を出力するように定義されている。つまり、第２出力割当設定ＴＢＬ５２４が適用されるゲームコントローラ１２３０にサブコントローラ１２３１が装着された状態では、バイブレータを２つ使用できるのでより多彩な出力条件に対応した出力をすることができるようになる。
【０１０７】
例えば、サブコントローラ１２３１が赤色ランプを出力デバイスの一つとして備えた形態ならば、出力条件５２４ａ「機銃被弾」に対応付けて更に出力デバイス割当５２４ｂとして「ＬＥＤ」を追加し、出力内容５２４ｃとしてＬＥＤの明滅制御を割り当てることもできる。この場合、機銃が被弾したことをプレーヤに対して視覚的にも伝えることができ、より緊迫感のあるゲームを実現する事ができる。
【０１０８】
参照ＴＢＬ設定５２６は、ゲーム実行中の現時点で参照すべき操作割当設定ＴＢＬ及び出力割当設定ＴＢＬが何かを示す識別情報を格納する。尚、本実施形態では、ゲーム開始時点では、第１操作割当設定ＴＢＬ５１８及び第１出力割当設定ＴＢＬ５２２を現時点で参照すべきＴＢＬとして初期設定されるものとする。
【０１０９】
［処理の流れの説明］
次に、本実施形態における処理の流れについて説明する。ここで説明される処理は、処理部２００がゲームプログラム５０２を実行することによって実現され、所定のゲーム終了条件を満たすまで繰り返し実行される。尚、敵キャラクタの自動制御については適宜公知の技術を適用することができるので、ここでの詳細な説明は省略する。
【０１１０】
図１２は、本実施形態におけるゲーム進行に係る主たる処理の流れについて説明するためのフローチャートである。同図に示すように、先ずゲーム演算部２１０は、ゲーム空間設定データ５１０、兵器初期設定データ５１２並びにキャラクタ初期設定データ５１４を参照して、３次元仮想空間内にゲーム空間を形成し、プレーヤキャラクタ及び敵キャラクタを所定の初期位置に初期設定された状態で配置する（ステップＳ２）。尚、これに伴ってキャラクタステータスデータ５１６を記憶部５００に生成する。また、参照ＴＢＬ設定５２６を、参照先を第１操作割当設定ＴＢＬ５１８及び第１出力割当設定ＴＢＬ５２２として生成する。
【０１１１】
次に、所定のゲームスタート操作が入力されたならばゲームを開始し（ステップＳ４のＹＥＳ）、第１操作部１００の処理部１１０が、接続有無信号を含む操作入力信号を生成し、通信部１１６と通信部３７０の間で送受信する（ステップＳ６）。具体的には、処理部１１０は、ローカルバスの活線挿抜の検出を利用してゲームコントローラ１２３０から受信した操作入力信号から拡張端子１２５０へコネクタ１２７５が接続されているか否かを判定し、接続されていればゲームコントローラ１２３０にサブコントローラ１２３１が装着されていると判定する。或いは、接続検知スイッチ１２５１のＯＮであれば、同様にゲームコントローラ１２３０にサブコントローラ１２３１が装着されていると判定する。そして、サブコントローラ１２３１に装備されているレバー１２７２等の入力デバイスからの出力信号を接続有無信号として操作入力信号に含めて出力する。
【０１１２】
次に、ゲーム演算部２１０は、第１操作部１００から受信した操作入力信号に基づいて、接続判定処理をする（ステップＳ８）。本実施形態では、受信した操作入力信号にサブコントローラ１２３１に装備されているレバー１２７２等の入力デバイスからの出力信号が含まれていれば、接続されていると判定する。
【０１１３】
そして、ゲームコントローラ１２３０にサブコントローラ１２３１が接続されていないと判定した場合には（ステップＳ８のＮＯ）、ゲーム演算部２１０は参照ＴＢＬ設定５２６の設定を、第１操作割当設定ＴＢＬ５１８と第１出力割当設定ＴＢＬ５２２とに設定する（ステップＳ１０）。反対に、ゲームコントローラ１２３０にサブコントローラ１２３１が接続されていると判定した場合には（ステップＳ８のＹＥＳ）、ゲーム演算部２１０は参照ＴＢＬ設定５２６の設定を、第２操作割当設定ＴＢＬ５２０と第２出力割当設定ＴＢＬ５２４とに設定する（ステップＳ１２）。
【０１１４】
ＴＢＬの設定を行ったならば、次に、キャラクタの動作に関する処理を実行する。
ゲーム演算部２１０は、先ず敵キャラクタの動作を自動制御する（ステップＳ１４）。具体的には、公知のＮＰＣ制御技術を適宜応用することで実現できる。そして、自動制御の結果に応じて敵キャラクタのキャラクステータスデータ５１６を更新する。
【０１１５】
次に、ゲームコントローラ１２３０からの操作入力信号を監視する。プレーヤがプレーヤキャラクタを操作しようとしてゲームコントローラ１２３０及びサブコントローラ１２３１を操作すると、当該操作に関する操作入力信号がゲーム装置本体１２０１に送信される。処理部２００は、ゲームコントローラ１２３０から操作入力信号を受信した場合、プレーヤキャラクタの操作が為されたと判定し（ステップＳ１６のＹＥＳ）、参照ＴＢＬ設定に設定された操作割当設定ＴＢＬに従って、受信した操作入力信号に対応する制御命令を判定する（ステップＳ１８）。つまり、操作入力信号に対応する制御命令を、現在設定されている操作割当設定ＴＢＬに従って判定する。そして、判定された制御命令に基づいてプレーヤキャラクタの動作を制御し、制御の結果に応じてプレーヤキャラクタのキャラクステータスデータ５１６を更新する（ステップＳ２０）。
【０１１６】
次に、ゲーム演算部２１０は、ゲーム結果の判定処理を実行する（ステップＳ２２）。ここで言うゲーム結果の対象には、機銃やミサイルの被弾判定、各キャラクタのダメージ判定、スコアの算出、ゲーム時間の算出などゲームそのもの基本的な進行制御に必要な判定は勿論のこと、第１出力割当設定ＴＢＬ５２２及び第２出力割当設定ＴＢＬ５２４の出力条件５２２ａ，５２４ａとの当否判定可能な内容も含まれる。
【０１１７】
そして、判定したゲーム結果が第１出力割当設定ＴＢＬ５２２及び第２出力割当設定ＴＢＬ５２４の出力条件５２２ａ，５２４ａに該当するならば（ステップＳ２４のＹＥＳ）、処理部２００は参照ＴＢＬ設定５２６に設定されている出力割当設定ＴＢＬに従って出力制御する（ステップＳ２６）。具体的には、判定したゲーム結果が該当する出力条件に対応付けられた出力信号などをゲームコントローラ１２３０へ送信する。ゲームコントローラ１２３０では、受信した出力信号に従って第１バイブレータ１２５４などの出力デバイスを動作制御し所定の出力を果たす。
【０１１８】
出力制御を行ったならば処理部２００は、ゲーム終了条件を満たすか否かを判定する。そして、ゲーム終了条件を満たしていなければ（ステップＳ２８のＮＯ）、ステップＳ６に戻り、ゲーム終了条件を満たしていればゲームを終了する。
【０１１９】
以上の処理によって、本実施形態によればゲームコントローラ１２３０にサブコントローラ１２３１を着脱することによって実現される操作入力部の入力デバイス及び出力デバイスの構成の変化を自動的に検出し、接続／未接続を判定することができる。そして、入力デバイス及び出力デバイスの構成の変化に応じて、入力デバイスへの操作割当並びに出力デバイスへの出力割当を自動的に変更し、プレーヤが望む操作入力形態を実現することができる。
【０１２０】
しかも、本実施形態ではステップＳ６〜Ｓ１２の処理をゲームスタート後に繰り返し実行する構成としているため、ゲーム中であっても自動的に参照ＴＢＬ設定５２６が適切に変更されるので、ゲームをしながらでも任意にサブコントローラ１２３１を着脱し、好みの操作入力方法を選択できるといった前例の無い効果を実現できる。尚、ステップＳ６〜Ｓ１２の処理をゲームスタート前に実行し、ゲーム実行中にはステップＳ６〜Ｓ１２の処理を行わない構成とすることもできる。但しそうした構成では、ゲーム中に好みの操作入力方法を選択できるといった効果は得られなくなる。
【０１２１】
尚、本実施形態では、方向入力キー１２４２及びレバー１２７２でプレーヤキャラクタの操舵に係る操作入力をする構成としているが、第１加速度センサ１２４８或いは第２加速度センサ１２７６を用いて操舵に係る操作入力をする構成とすることもできる。
【０１２２】
例えば図１３は、第１の操作入力方法の変形例を示す図であって、（ａ）正立面図、（ｂ）正面より向かって右から見た右側立面図に相当する。同図に示すように、第１の操作入力方法の変形例では、ゲームコントローラ１２３０の下端を机やテーブルなどの上面に当てて立て、これを片手で把持して使用する。
【０１２３】
ゲーム演算部２１０は、第１加速度センサ１２４８により検知される３軸加速度からゲームコントローラ１２３０の正面に向かって左／右の傾き、及び正面に向かって手前／奥の傾きを算出する。これらの傾きの算出方法は適宜公知技術を用いることができる。例えば、第１加速度センサ１２４８が常時重力加速度を検知しているため、その重力加速度の方向等に基づいて上述した傾きを算出することができる。そして、左／右の傾きに応じてそれぞれプレーヤキャラクタの左旋回／右旋回が割り当てられ、手前／奥の傾きに応じてそれぞれ機首上げ／機首下げが割り当てられる。尚、以下では、この図１３の傾き方向を絶対方向座標とし、この方向座標表現を絶対方向座標表現と呼ぶ。また、方向入力キー１２４２の上方向入力で減速、下方向入力で加速、右方向入力並びに左方向入力で攻撃目標（ロックオンの対象とすべき目標）の選択が割り当てられる。また、Ｅボタン１２４４が機銃発射、トリガー１２４６がミサイル発射に割り当てられる。
【０１２４】
一方、図１４は、第２の操作入力方法の変形例を示す図であって、（ａ）正立面図、（ｂ）ゲームコントローラ１２３０の正面より向かって右から見た右側立面図に相当する。同図に示すように、第２の操作入力方法の変形例では、ゲームコントローラ１２３０にサブコントローラ１２３１を装着する。そして、ゲームコントローラ１２３０の上端を机やテーブルなどの上面に当てて立てて一方の手で把持し、他方の手でサブコントローラ１２３１を把持する。
【０１２５】
第２の操作入力方法の変形例では、第１の操作入力方法の変形例と比べるとゲームコントローラ１２３０を逆さまにして使用することになる。よって、絶対方向座標表現において、左／右の傾きに応じてそれぞれプレーヤキャラクタの右旋回／左旋回が割り当てられ、手前／奥の傾きに応じてそれぞれ機首下げ／機首上げが割り当てられる。また、Ａボタン１２３５で機銃発射、Ｂボタン１２３６でミサイル発射が割り当てられ、レバー１２７２の上方向入力で減速、下方向入力で加速、左右方向で攻撃目標の選択操作が割り当てられる。
【０１２６】
図１５は、第１の操作入力方法の変形例に対応する第１操作割当設定ＴＢＬ５１８のデータ構成の一例を示す図である。図１６は、第２の操作入力方法の変形例に対応する第２操作割当設定ＴＢＬ５２０のデータ構成の一例を示す図である。これらの図に示すように、操作入力種類５１８ａ，５２０ａには、第１加速度センサ１２４８で検出された３軸加速度に基づく傾斜が「手前傾斜」「奥傾斜」「右傾斜」「左傾斜」が含まれ、それぞれに対応する制御命令５１８ｂ，５２０ｂには本実施形態における第１の操作入力方法及び第２の操作入力方法の操舵に係る命令が割り当てられている。すなわち、加速度の検出方向に基づいて傾斜の方向、加速度の検出量と時間との積分値に基づいて操舵量が決定される。
【０１２７】
よって、ゲームコントローラ１２３０を単独で使用し片手で操作入力する形態における第１加速度センサ１２４８のプレーヤにとっての相対的な方向座標系と、ゲームコントローラ１２３０とサブコントローラ１２３１とを両手で使用して操作入力する形態における第１加速センサ１２４８のプレーヤにとっての相対的な方向座標系とを自動的に切り換えることになる。したがって、プレーヤはゲームコントローラ１２３０を操縦桿に見立てて操作入力することができるとともに、本実施形態の効果を同様に享受することができる。
【０１２８】
尚、加速度に係る制御内容の対応関係はこの例に限るものではない。例えば、基準値以上の急加速（基準値以上の大きな検出量（加速度））が伴う「急手前傾斜」「急奥傾斜」「急右傾斜」「急左傾斜」を操作入力種類５１８ａ及び５２０ａに設定するとしても良い。そして、それぞれの制御命令５１８ｂ及び５２０ｂに、図１５及び図１６の「手前傾斜」「奥傾斜」「右傾斜」「左傾斜」の操舵に係る命令に加えてエアブレーキの使用命令を同時出力するように設定すると良い。この場合、プレーヤが通常よりも急な傾斜操作をする（大きさ加速度となる）ことによって、別途減速操作をしなくとも自動的に減速を伴った急旋回（旋回半径の小さい旋回）が可能になるので、より操作性を向上させることができる。
勿論、操舵命令に加える命令はエアブレーキの使用に限らず、第１操作割当設定ＴＢＬ５１９Ｂではエアブレーキの使用を付加し、第２操作割当設定ＴＢＬ５２０Ｂではアフターバーナの使用を付加する構成としても良い。
また、加速度の検出元は、ゲームコントローラ１２３０の第１加速度センサ１２４８に限らず、サブコントローラ１２３１の第２加速度センサ１２７６（図３参照）であっても良いのは勿論である。
【０１２９】
〔第２実施形態〕
次に、本発明を適用した第２実施形態について説明する。本実施形態は、入力デバイスからの操作入力をプレーヤキャラクタの制御命令に変換する処理を第１実施形態のようにゲーム装置本体１２０１の制御ユニット１２１０で実行するのではなく、ゲームコントローラ１２３０のコントローラ制御ユニット１２６０で実行する点において異なる。本実施形態の説明では、この第１実施形態と異なる点を中心に述べることととし、第１実施形態と同様の構成要素については同じ符号を付与し詳細な説明は省略する。
【０１３０】
［機能ブロックの説明］
図１７は、本実施形態における機能構成例を示す機能ブロック図である。同図に示すように、本実施形態の記憶部５００には、第１実施形態におけるゲームプログラム５０２に相当するゲームプログラム５０２Ｂが記憶されている。また、操作入力変換ＴＢＬ５３０が記憶されている。
【０１３１】
図１８は、操作入力変換ＴＢＬ５３０のデータ構成例を示す図である。同図に示すように、操作入力変換ＴＢＬ５３０は、サブコントローラ１２３１が接続されている場合であっても、ゲームコントローラ１２３０が、ゲームコントローラ１２３０のみに対して操作がなされたかのような操作信号をゲーム装置本体に出力するための、操作信号の変換ＴＢＬである。換言すれば、操作入力変換ＴＢＬ５３０は、サブコントローラ１２３１が接続されている状態であっても、サブコントローラ１２３１が接続されていないゲームコントローラ１２３０のみに操作がなされたかのように、操作入力を、いわば翻訳する変換ＴＢＬである。操作入力変換ＴＢＬ５３０には、第１及び第２操作入力部それぞれの入力デバイスへの操作入力種類５３０ａを、ゲームコントローラ１２３０の入力デバイスによる操作入力に変換した変換操作入力種類５３０ｂと対応づけて格納する。例えば、サブコントローラ１２３１のレバー１２７２の「レバー上方向」の入力は、方向キー１２４２の「左方向キー」の入力に対応付けられている。
【０１３２】
また、本実施形態における処理部１１０は、自動起動部１１１を備える。この自動起動部１１１は、コントローラ制御ユニット１２６０の起動ＲＯＭ等に予め記憶されているプログラムをゲームコントローラ１２３０の電源が入ると自動的に読み込んで実行したり、ゲーム装置本体から受信したプログラムを受信及び記憶後に自動的に実行する制御部である。
【０１３３】
また、本実施形態における処理部１１０は、接続判定部２１２、操作入力変換部１１３、出力割当切換制御部２１６を含む。操作入力変換部１１３は、接続判定部２１２によって第２操作部１２０が接続されていると判定された際に、第２操作部１２０から出力された操作入力に係る信号を、操作入力変換ＴＢＬ５３０に従って変換する処理を実行する。
【０１３４】
第１操作部１００の処理部１１０でこれらを実現するために、第１操作部１００の記憶部１３０には、接続判定プログラム１３２、操作入力変換プログラム１３４、出力割当切換制御プログラム１３６が記憶されており、これらを読み込み実行することで接続判定部２１２、操作入力変換部１１３、出力割当切換制御部２１６として機能する。
これらのプログラムは、ゲームプログラム５０２Ｂに含まれており、ゲーム開始前にゲーム装置本体１２０１からゲームコントローラ１２３０へ送信され記憶部１３０へ記憶される。勿論、これらのプログラムが予め記憶部１３０に記憶されているものとしても良い。
【０１３５】
同様に、第１出力割当設定ＴＢＬ５２２、第２出力割当設定ＴＢＬ５２４、操作入力変換ＴＢＬ５３０もゲーム開始前にゲーム装置本体１２０１から送信され記憶部１３０に記憶されるか、または予め記憶されているものとしても良い。
【０１３６】
［処理の流れの説明］
次に、本実施形態における処理の流れとして、接続判定プログラム１３２、操作入力変換プログラム１３４、出力割当切換制御プログラム１３６、並びに第１出力割当設定ＴＢＬ５２２、第２出力割当設定ＴＢＬ５２４、操作入力変換ＴＢＬ５３０が、ゲーム装置本体１２０１からゲームコントローラ１２３０へ提供される形態を例に挙げて説明する。
【０１３７】
図１９は、本実施形態におけるゲーム装置本体１２０１における処理の流れを説明するためのフローチャートである。ここで説明される処理は、処理部２００がゲームプログラム５０２Ｂを読み出して実行することによって実現される。また、図２０は、本実施形態におけるゲームコントローラ１２３０における処理の流れを説明するためのフローチャートである。
【０１３８】
図１９に示すように、先ず処理部２００は、第１実施形態と同様に３次元仮想空間内にゲーム空間を形成してキャラクタを配置する（ステップＳ２）。そして、ゲームがスタートしたならば（ステップＳ４のＹＥＳ）、接続判定プログラム１３２、操作入力変換プログラム１３４、出力割当切換制御プログラム１３６、並びに第１出力割当設定ＴＢＬ５２２、第２出力割当設定ＴＢＬ５２４、操作入力変換ＴＢＬ５３０をゲームコントローラ１２３０へ送信する（ステップＴ５）。
【０１３９】
一方、ゲームコントローラ１２３０は、図２０に示すように、先ず処理部１１０が、ゲーム装置本体１２０１から受信した信号にプログラムが含まれているか否かを判定する（ステップＳ１００）。そして、含まれていると判定した場合には（ステップＳ１００のＹＥＳ）、接続判定プログラム１３２、操作入力変換プログラム１３４、出力割当切換制御プログラム１３６を記憶部１３０に記憶するとともに自動的に実行する（ステップＳ１０２）。次いで、同受信した信号に含まれる第１出力割当設定ＴＢＬ５２２、第２出力割当設定ＴＢＬ５２４、操作入力変換ＴＢＬ５３０を記憶部１３０に記憶し（ステップＳ１０４）、参照ＴＢＬ設定５２６を生成する（ステップＳ１０６）。
【０１４０】
次に、処理部１１０は、サブコントローラ１２３１の接続判定をする（ステップＳ１０８）。サブコントローラ１２３１が接続されていると判定した場合には（ステップＳ１０８のＹＥＳ）、参照ＴＢＬ設定５２６に第１出力割当設定ＴＢＬ設定５２２を設定する（ステップＳ１１０）。そして、操作入力が有った場合には（ステップＳ１１２のＹＥＳ）、操作入力変換ＴＢＬ５３０に従って操作入力信号を変換・翻訳し（ステップＳ１１４）、変換した操作入力信号をゲーム装置本体１２０１に送信する（ステップＳ１１６）。
【０１４１】
一方、ステップＳ１０８においてサブコントローラ１２３１が接続されていないと判定された場合には（ステップＳ１０８のＮＯ）、処理部１１０は参照ＴＢＬ設定５２６に第２出力割当設定ＴＢＬ５２４を設定する（ステップＳ１１２）。そして、操作入力が有った場合には（ステップＳ１２０のＹＥＳ）、そのまま操作入力信号をゲーム装置本体に送信する（ステップＳ１２２）。
【０１４２】
つまり、ゲーム装置本体１２０１から見れば、ゲームコントローラ１２３０から送信される操作入力信号は、サブコントローラ１２３１の接続／未接続に係らずゲームコントローラ１２３０を単独で使用する場合と同様である。
【０１４３】
一方、ゲーム装置本体１２０１では、図１９に示すように、ステップＴ５に次いで処理部２００が敵キャラクタの自動制御を実行する（ステップＳ１４）。そして、ゲームコントローラ１２３０から操作入力信号を受信したか否かを判定する（ステップＴ１５）。
【０１４４】
先に述べたように本実施形態では、ゲーム装置本体１２０１から見れば、ゲームコントローラ１２３０から送信される操作入力信号は、サブコントローラ１２３１の接続／未接続に係らずゲームコントローラ１２３０を単独で使用する場合と同様である。したがって、ゲームコントローラ１２３０から操作入力信号を受信したと判定した場合には（ステップＴ１５のＹＥＳ）、処理部２００は第１実施形態のように操作割当設定ＴＢＬを参照することなく、受信した操作入力信号に従ってプレーヤキャラクタを制御する（ステップＴ１７）。
【０１４５】
次に、処理部２００はゲーム結果の判定処理を実行し（ステップＳ２２）、第１出力割当設定ＴＢＬ５２２を参照し、ゲーム結果が出力条件５２２ａに合致するか否かを判定する（ステップＳ２４）。そして、合致すると判定した場合（ステップＳ２４のＹＥＳ）、合致した出力条件５２２ａの情報をゲームコントローラ１２３０に送信する（ステップＴ２７）。具体的には、例えば第１出力割当設定ＴＢＬ５２２の登録順何番目の出力条件５２２ａであるか、その登録順情報を送信するとしても良い。
そして、ゲーム終了条件を満たしていなければステップＳ１４に戻り（ステップＳ２８のＮＯ）、ゲーム終了条件を満たしていればゲーム終了とする。
【０１４６】
一方ゲームコントローラ１２３０では、図２０に示すように、処理部１１０がステップＳ１１６或いはステップＳ１２２の次に、ゲーム装置本体１２０１からゲーム結果が合致する出力条件の情報を受信したか否かを判定する（ステップＳ１２４）。受信したと判定した場合（ステップＳ１２４のＹＥＳ）、処理部１１０は参照ＴＢＬ設定５２６に設定された出力割当設定ＴＢＬを参照し、ゲーム結果が合致した出力条件に対応する出力デバイスへ出力内容５２２ｃ，５２４ｃに従って出力制御信号を出力する（ステップＳ１２６）。そして、ステップＳ１００に戻る。
よって、第１実施形態と同様に、ゲームコントローラ１２３０にサブコントローラ１２３１が接続／未接続に応じて変化する出力デバイスの構成に応じた出力割当を自動的に選択し、適切に出力することができる。
【０１４７】
以上、本実施形態によれば、ゲームコントローラ１２３０で、サブコントローラ１２３１の接続／未接続の状態に応じて入力デバイスからの操作入力をプレーヤキャラクタの制御命令に自動的に判定（翻訳）し、これを操作入力信号としてゲーム装置本体１２０１に送信することができる。したがって、ゲーム装置本体１２０１側から見ればゲームコントローラ１２３０から入力された操作入力信号を従来通りそのまま用いてゲーム処理すれば良いことになる。よって、実質的に第１実施形態と同様にゲームコントローラ１２３０にサブコントローラ１２３１を着脱することによって為される操作入力部の入力デバイス及び出力デバイスの構成の変化を自動的に検知することができる。そして、入力デバイス及び出力デバイスの構成の変化に応じて、入力デバイスへの操作割当並びに出力デバイスへの出力割当を自動的に変更し、プレーヤが望む操作入力形態を実現することができる。
【０１４８】
〔変形例〕
以上、本発明を適用した第１及び第２実施形態について説明したが、本発明の形態はこれらに限定されるものではなく、発明の主旨を逸脱しない限りにおいて適宜構成の追加・省略・変更をすることができる。
【０１４９】
例えば、本発明が適用されるゲーム装置は、家庭用ゲーム装置に限らず業務用のゲーム装置や携帯型のゲーム装置、パソコンなどであっても、ゲームコントローラ１２３０ならびにサブコントローラ１２３１に相当する構成可変な操作入力用のハードウェアを備えるならば同様に適用することができる。
【０１５０】
また例えば、ゲームコントローラ１２３０に装着する装着体は、上記実施形態におけるサブコントローラ１２３１の構成に限定されるものではい。例えば、図２１に示すように、サブコントローラ１２３１とは異なる入力デバイスや出力デバイスを備えた、第２サブコントローラ１２３１Ｂや第３サブコントローラ１２３１Ｃを選択的にゲームコントローラ１２３０に装着可能な構成としても良い。
【０１５１】
例えば、第２サブコントローラ１２３１Ｂは、レバー１２７２の代わりの入力デバイスとしてトラックボール１２７２Ｂを備え、第２バイブレータ１２７８の代わりの出力デバイスとして発光部であるＬＥＤ１２７８Ｂを備える。同様に、第３サブコントローラ１２３１Ｃは、方向入力可能な入力デバイスとしてタッチパッド１２７２Ｃを備え、出力デバイスとしてＬＣＤ１２７８Ｃを備える。そして、サブコントローラ１２３１、第２サブコントローラ１２３１Ｂ及び第３サブコントローラ１２３１Ｃは、それぞれ突起部１２７５ａが異なる突寸を有している。コネクタ１２７５をゲームコントローラ１２３０の拡張端子１２５０に接続すると、突起部１２７５ａがそれぞれの突寸で接続検知スイッチ１２５１を押し込む。接続検知スイッチ１２５１は、押し込み量に応じた信号を出力するので、接続の有無とどの種類のサブコントローラが接続されたかを知ることができる。
【０１５２】
第１実施形態の構成を踏襲するならば、これらのサブコントローラを自動的に識別可能にするために、コントローラ制御ユニット１２６０は接続検知スイッチ１２５１からの検出信号に基づいてサブコントローラの種類を示す情報を操作入力情報に含めてゲーム装置本体１２０１に出力するように制御する。一方、ゲーム装置本体１２０１は、処理部５００にサブコントローラの種類に対応付けられた第２操作割当設定ＴＢＬ及び第２出力割当設定ＴＢＬを複数あらかじめ記憶しておく。そして、ステップＳ１２（図１２参照）において参照ＴＢＬ設定１２５６に接続されたサブコントローラの種類に応じた第２操作割当設定ＴＢＬと第２出力割当設置ＴＢＬを選択して設定させる。
こうすることで、第１実施形態と同様の効果を奏するととともに、使用するサブコントローラを換えることでプレーヤは好みの入力デバイスと出力デバイスとの組み合わせを自由に使用することがことができるようになる。勿論、こうした構成は第２実施形態についても同様に適用できるのは言うまでもない。
【０１５３】
尚、サブコントローラ１２３１Ｂ，Ｃの種類を判定する方法は、接続検知スイッチ１２５１及び突起部１２７５ａによる機械的な判別方法に限らない。例えば、拡張端子１２５０及びコネクタ１２７５で接続される所定の端子にサブコントローラの種類に応じた電圧が掛けられる構成や、サブコントローラ１２３１に種類別に異なるＩＣタグを内蔵させる一方、ゲームコントローラ１２３０のコントローラ制御ユニット１２６０にＩＣタグリーダを搭載し、接続されたサブコントローラのＩＣタグを読み取ることで判別する構成など公知の電気的な種別判別方法を利用することができる。
【図面の簡単な説明】
【０１５４】
【図１】家庭用ゲーム装置の構成例を示す構成図。
【図２】ゲームコントローラの一例を示す外観図。
【図３】サブコントローラの一例を示す外観図。
【図４】ゲーム画面の一例を示す画面図。
【図５】第１実施形態における第１の操作入力方法の操作割当例を示す図。
【図６】第１実施形態における第２の操作入力方法の操作割当例を示す図。
【図７】第１実施形態における機能構成の一例を示す機能ブロック図。
【図８】第１操作割当設定ＴＢＬのデータ構成例を示す図。
【図９】第２操作割当設定ＴＢＬのデータ構成例を示す図。
【図１０】第１出力割当設定ＴＢＬのデータ構成例を示す図。
【図１１】第２出力割当設定ＴＢＬのデータ構成例を示す図。
【図１２】第１実施形態における処理の流れを説明するためのフローチャート。
【図１３】第１の操作入力方法の変形例の操作割当例を示す図。
【図１４】第２の操作入力方法の変形例の操作割当例を示す図。
【図１５】第１の操作入力方法の変形例に対応する第１操作割当設定ＴＢＬのデータ構成の一例を示す図。
【図１６】第２の操作入力方法の変形例に対応する第２操作割当設定ＴＢＬのデータ構成の一例を示す図。
【図１７】第２実施形態における機能構成例を示す機能ブロック図。
【図１８】操作入力変換ＴＢＬのデータ構成例を示す図。
【図１９】第２実施形態におけるゲーム装置本体における処理の流れを説明するためのフローチャート。
【図２０】第２実施形態におけるゲームコントローラにおける処理の流れを説明するためのフローチャート。
【図２１】サブコントローラの変形例を示す図。
【符号の説明】
【０１５５】
１００    第１操作入力部
１１１    自動起動部
１１３    操作入力変換部
１１４    接続部
１２０    第２操作部
１２２    接続部
２００    処理部
２１０    ゲーム演算部
２１２    接続判定部
２１４    操作割当切換制御部
２１６    出力割当切換制御部
５００    記憶部
５０２    ゲームプログラム
５１８    第１操作割当設定ＴＢＬ
５２０    第２操作割当設定ＴＢＬ
５２２    第１出力割当設定ＴＢＬ
５２４    第２出力割当設定ＴＢＬ
５２６    参照ＴＢＬ設定
５３０    操作入力変換ＴＢＬ
１２３０    ゲームコントローラ
１２３１    サブコントローラ
【図１】
2009072319.tif 000003
【図２】
2009072319.tif 000004
【図３】
2009072319.tif 000005
【図４】
2009072319.tif 000006
【図５】
2009072319.tif 000007
【図６】
2009072319.tif 000008
【図７】
2009072319.tif 000009
【図８】
2009072319.tif 000010
【図９】
2009072319.tif 000011
【図１０】
2009072319.tif 000012
【図１１】
2009072319.tif 000013
【図１２】
2009072319.tif 000014
【図１３】
2009072319.tif 000015
【図１４】
2009072319.tif 000016
【図１５】
2009072319.tif 000017
【図１６】
2009072319.tif 000018
【図１７】
2009072319.tif 000019
【図１８】
2009072319.tif 000020
【図１９】
2009072319.tif 000021
【図２０】
2009072319.tif 000022
【図２１】
2009072319.tif 000023