説明

プログラム、情報記憶媒体、ゲーム装置及びコントローラ

【課題】 入力デバイスの構成の変更を自動的に検知し、その時々の構成に適した操作入力方法の設定を自動的に実現することによって、プレーヤの嗜好に応じた操作系の変更に柔軟に対応できるゲームを実現する。
【解決手段】ゲームコントローラ1230に、活線挿抜によってコネクタ1275を拡張端子1250に接続/未接続の判定機能を備える。そして、サブコントローラ1231が接続されていると判定した場合、ゲームコントローラ1230単独で操作入力する場合に適用される第1操作割当設定TBL518に従って操作入力信号に対応する制御命令を判定しゲーム制御する。また、サブコントローラ1231が接続されていないと判定した場合、サブコントローラ1231を接続した状態で操作入力する場合に適用される第2操作割当設定TBLに従って操作入力信号に対応する制御命令を判定しゲーム制御する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、プログラム、情報記憶媒体、ゲーム装置及びコントローラに関する。
【背景技術】
【0002】
従来、家庭用ゲーム装置には汎用のゲームコントローラ(ゲームパッドと称されることもある。)が付属する。例えば、ソニー・コンピュータ・エンタテイメント社製家庭用ゲーム装置「プレイステーション2」のゲームコントローラなどがこれに該当する。
そして、市販されているゲームのソフトウェアを家庭用ゲーム装置に読み込ませて実行させると、ソフトウェア処理によって、付属するゲームコントローラに備えられているプッシュスイッチやレバーと言った入力デバイスからの入力信号には、それぞれプレーヤが操作するプレーヤキャラクタ等の制御命令(制御内容)が適宜割り当てられる。したがって、付属するゲームコントローラが一種類であっても、プレーヤはソフトウェアを換えることでゲーム毎に特有の操作入力方法でゲームを楽しむことができるようになっている。
【0003】
ゲームによっては所謂「キーコンフィギュレーション」や「コントローラ設定」と称される機能を備えたものも知られるところである(例えば、ソニー・コンピュータ・エンタテイメント社製家庭用ゲーム装置「プレイステーション2」用のバンダイナムコゲームス社製ゲームソフト「ACE COMBAT ZERO」に関する非特許文献1を参照)。コントローラ設定を変更することで、各入力デバイスに対する制御命令の割当設定をプレーヤが変更することでプレーヤの熟練度や嗜好に応ずることができるようになる。
【0004】
また近年では、付属するゲームコントローラを、メインのコントローラとこれに着脱自在に装着するサブコントローラとで構成したものも存在する(例えば、任天堂株式会社製家庭用ゲーム装置「Wii」に関する非特許文献2を参照)。こうしたゲームコントローラの構成を変えることのできる家庭用ゲーム装置では、ゲームの内容に応じ予めメインのコントローラにサブコントローラを適宜着脱することで、ゲームの内容に適した入力デバイスの構成でゲームを楽しめるようになった(例えば、任天堂株式会社製家庭用ゲーム装置「Wii」用のゲームソフト「Wii Sports」に関する非特許文献3を参照)。
【0005】
またゲームによっては、特別な入力デバイスを備えた専用のゲームコントローラを、家庭用ゲーム装置に付属する汎用のゲームコントローラに代えて使用するケースもある(例えば、特許文献1を参照)。こうした専用のゲームコントローラを用いれば、付属のゲームコントローラでは得られない優れた操作性とゲームへの高い没入感を得ることができる。
【非特許文献1】株式会社バンダイナムコゲームス、ゲームソフト「ACE COMBAT ZERO」付属の「解説書」、P8−P9、2006年
【非特許文献2】任天堂株式会社、「Wii(ウィー) 本体取扱説明書・準備編」、2006年
【非特許文献3】任天堂株式会社、「Wii Sports 取扱説明書」、2006年
【特許文献1】特開2004−94653号公報
【発明の開示】
【発明が解決しようとする課題】
【0006】
ところで、操作入力の設定については、最初は好ましいと思っていても実際にゲームをプレーしてみると別の操作入力方法の方が良かったと言ったことが起こる。こうした場合、非特許文献1のようにコントローラ設定の変更機能を備えるゲームであっても、一旦ゲームを中断してメニュー画面を呼び出し、コントローラ設定の変更操作をしなければならならず不便であった。この点においては、非特許文献2で示したようなメインのゲームコントローラにサブコントローラを着脱できる家庭用ゲーム装置や、非特許文献3の例においても同様である。
【0007】
また例えば、実際にゲームをやってみると特許文献1のような専用のゲームコントローラよりも、付属の汎用ゲームコントローラの方がプレーし易い、或いはその逆と言ったことも起こる。これは、ゲームコントローラの構成そのものに対する嗜好のミスマッチである。これに対応するには、専用のゲームコントローラや入力デバイスの配置の異なる市販のゲームコントローラなどを別途購入する以外に解決策はないのが実情である。上述のように専用のゲームコントローラを購入したのにやはり汎用ゲームコントローラの方が良かったといった場合には、プレーヤにとってみれば甚だ残念なことである。
【0008】
本発明は、こうした事情を鑑みてなされたものであり、その目的とするところは、入力デバイスの構成の変更を自動的に検知し、その時々の構成に適した操作入力方法の設定を自動的に実現することによって、プレーヤの嗜好に応じた操作系の変更に柔軟に対応できるゲームを実現することである。
【課題を解決するための手段】
【0009】
上記の課題を解決するための第1の発明は、サブコントローラ(例えば、図1のサブコントローラ1231)を着脱自在に接続する接続端子(例えば、図2の拡張端子1250)と、前記サブコントローラの接続有無を示す接続有無信号を出力する接続有無信号出力手段(例えば、図2のコントローラ制御ユニット1260、近距離無線通信モジュール1252、図7の処理部110、通信部116、図12のステップS6)と、サブコントローラに為された操作入力及び自メインコントローラに為された操作入力の操作入力信号を出力する操作入力信号出力手段(例えば、図2のコントローラ制御ユニット1260、近距離無線通信モジュール1252、図7の処理部110、通信部116、図12のステップS6)とを備えたメインコントローラ(例えば、図1のゲームコントローラ1230)から出力される前記接続有無信号及び前記操作入力信号に基づいて、コンピュータに所定のゲームの進行を制御させるためのプログラムであって、前記接続有無信号に基づいて前記メインコントローラへの前記サブコントローラの接続有無を判定する接続判定手段(例えば、図1の制御ユニット1210、図7の処理部200、ゲーム演算部210、接続判定部212、図12のステップS8)、前記メインコントローラの操作入力の種別と制御内容との対応関係が定められた第1の操作割当設定と、前記メインコントローラ及び前記サブコントローラそれぞれの操作入力の種別と制御内容との対応関係が定められた第2の操作割当設定とのうち、前記接続判定手段により接続されていないと判定された場合には、前記第1の操作割当設定を現在の操作割当設定とし、接続されていると判定された場合には、前記第2の操作割当設定を現在の操作割当設定とする操作割当切換制御手段(例えば、図1の制御ユニット1210、図7の処理部200、ゲーム演算部210、接続判定部212、図12のステップS10、S12)、として前記コンピュータを機能させ、前記操作入力信号に対応する制御内容を、前記操作割当切換制御手段により切り換えられた現在の操作割当設定から判断して前記ゲームの進行を制御させるためのプログラムである。
【0010】
また、別の形態として、サブコントローラを着脱自在に接続する接続端子と、前記サブコントローラの接続有無を示す接続有無信号を出力する接続有無信号出力手段と、サブコントローラに為された操作入力及び自メインコントローラに為された操作入力の操作入力信号を出力する操作入力信号出力手段とを有するメインコントローラから出力される前記接続有無信号及び前記操作入力信号に基づいて、所定のゲームの進行を制御するゲーム装置であって、前記接続有無信号に基づいて前記メインコントローラへの前記サブコントローラの接続有無を判定する接続判定手段と、前記メインコントローラの操作入力の種別と制御内容との対応関係が定められた第1の操作割当設定と、前記メインコントローラ及び前記サブコントローラそれぞれの操作入力の種別と制御内容との対応関係が定められた第2の操作割当設定とのうち、前記接続判定手段により接続されていないと判定された場合には、前記第1の操作割当設定を現在の操作割当設定とし、接続されていると判定された場合には、前記第2の操作割当設定を現在の操作割当設定とする操作割当切換制御手段と、を備え、前記操作入力信号に対応する制御内容を、前記操作割当切換制御手段により切り換えられた現在の操作割当設定から判断して前記ゲームの進行を制御するゲーム装置とすることもできる。
【0011】
ここで言う「サブコントローラ」とは独自に入力デバイスを備えるが、単独ではゲーム装置本体との間で信号の送受信はできず、メインコントローラに接続されメインコントローラを介することでこれを実現することのできるものを意味する。入力デバイスの数や種類、出力デバイスの搭載の有無、外形には限定されない。また「接続」とは、電気回路の有線接続は勿論、無線接続も含む意味である。
【0012】
第1の発明によれば、メインコントローラにサブコントローラが接続されているか否かを判定することができる。そして、接続/未接続に応じて操作割当の設定を自動的に切り換え、切り換えられた操作割当に従ってゲームの進行を制御することができる。よって、プレーヤがメインコントローラにサブコントローラを装着/取り外しして入力デバイスの構成を変更してもこれを自動的に検知できる。そして、その時々の構成に適した操作入力方法の設定を自動的に実現し、プレーヤの嗜好に応じたプレーヤ自身による操作系の変更に即座に対応できるゲームを実現することができる。
【0013】
第2の発明は、第1の発明のプログラムであって、前記第1及び第2の操作割当設定に定められた制御内容には、少なくともプレーヤキャラクタの制御内容が含まれ、前記操作入力信号に対応する制御内容を、前記操作割当切換制御手段により切り換えられた現在の操作割当設定から判断して、プレーヤキャラクタを制御するプレーヤキャラクタ制御手段として前記コンピュータを機能させるためプログラムである。
【0014】
第2の発明によれば、第1の発明と同様の効果を奏するとともに、プレーヤキャラクタの制御をすることができる。
【0015】
第3の発明は、少なくとも上下左右の方向を操作入力可能な方向指示入力部(例えば、図2の方向入力キー1242、第1加速度センサ1248)と、サブコントローラを着脱自在に接続する接続端子と、前記サブコントローラの接続有無を示す接続有無信号を出力する接続有無信号出力手段と、サブコントローラに為された操作入力及び自メインコントローラに為された操作入力の操作入力信号を出力する操作入力信号出力手段とを備えたメインコントローラから出力される前記接続有無信号及び前記操作入力信号に基づいて、コンピュータに所定のゲームの進行を制御させるためのプログラムであって、前記接続有無信号に基づいて前記メインコントローラへの前記サブコントローラの接続有無を判定する接続判定手段、前記方向指示入力部に為された方向操作入力の方向座標系を、前記接続判定手段により接続されていないと判定された場合には、プレーヤが前記メインコントローラを両手で把持する第1の姿勢で把持した場合の第1の方向座標系とし、接続されていると判定された場合には、プレーヤが前記メインコントローラを片手で把持する第2の姿勢で把持した場合の第2の方向座標系とする方向操作割当切換制御手段(例えば、図1の制御ユニット1210、図7の処理部200、ゲーム演算部210、接続判定部212、図12のステップS10、S12)、として前記コンピュータを機能させ、前記方向指示入力部に為された方向操作入力を、前記方向操作割当切換制御手段により切り換えられた方向座標系に従って上下左右方向を判断して前記ゲームの進行を制御させるためのプログラムである。
【0016】
第12の発明は、少なくとも上下左右の方向を操作入力可能な方向指示入力部と、サブコントローラを着脱自在に接続する接続端子と、前記サブコントローラの接続有無を示す接続有無信号を出力する接続有無信号出力手段と、サブコントローラに為された操作入力及び自メインコントローラに為された操作入力の操作入力信号を出力する操作入力信号出力手段とを有するメインコントローラから出力される前記接続有無信号及び前記操作入力信号に基づいて、所定のゲームの進行を制御するゲーム装置であって、前記接続有無信号に基づいて前記メインコントローラへの前記サブコントローラの接続有無を判定する接続判定手段と、前記方向指示入力部に為された方向操作入力の方向座標系を、前記接続判定手段により接続されていないと判定された場合には、プレーヤが前記メインコントローラを両手で把持する第1の姿勢で把持した場合の第1の方向座標系とし、接続されていると判定された場合には、プレーヤが前記メインコントローラを片手で把持する第2の姿勢で把持した場合の第2の方向座標系とする方向操作割当切換制御手段と、を備え、前記方向指示入力部に為された方向操作入力を、前記方向操作割当切換制御手段により切り換えられた方向座標系に従って上下左右方向を判断して前記ゲームの進行を制御するゲーム装置である。
【0017】
第3又は第12の発明によれば、メインコントローラにサブコントローラが接続されているか否かを判定することができる。そして、接続/未接続に応じて方向指示入力部に為される方向操作入力の方向座標系を自動的に切り換え、切り換えられた座標系に従ってゲームの進行を制御することができる。よって、プレーヤがメインコントローラにサブコントローラを装着/取り外しして入力デバイスの構成を変更してもこれを自動的に検知し、その時々の構成に適した方向座標系に従って上下左右方向を判断してゲームを制御することで、プレーヤの嗜好に応じたプレーヤ自身による操作系の変更に即座に対応できる。
【0018】
第4の発明は、第1又は第2の発明のプログラムであって、前記メインコントローラは、少なくとも上下左右の方向を操作入力可能な方向指示入力部を備えており、前記方向指示入力部に為された方向操作入力の方向座標系を、前記接続判定手段により接続されていないと判定された場合には、プレーヤが前記メインコントローラを両手で把持する第1の姿勢で把持した場合の第1の方向座標系とし、接続されていると判定された場合には、プレーヤが前記メインコントローラを片手で把持する第2の姿勢で把持した場合の第2の方向座標系とする方向操作割当切換制御手段として前記コンピュータを機能させ、前記方向指示入力部に為された方向操作入力を、前記方向操作割当切換制御手段により切り換えられた方向座標系に従って上下左右方向を判断して前記ゲームの進行を制御させるためのプログラムである。
【0019】
第4の発明によれば、第1又は第2の発明と同様の効果を奏するとともに、メインコントローラにサブコントローラが接続されているか否かに応じて方向指示入力部に為される方向操作入力の方向座標系を自動的に切り換えることができる。そして、切り換えられた座標系に従ってゲームの進行を制御することで、プレーヤがメインコントローラにサブコントローラを装着/取り外しして入力デバイスの構成を変更しても、コントローラ設定をプレーヤ自身で変更しなくとも上下左右方向の方向操作入力が変更されゲームを続けることができる。
【0020】
第5の発明は、加速度センサと、サブコントローラを着脱自在に接続する接続端子と、前記サブコントローラの接続有無を示す接続有無信号を出力する接続有無信号出力手段と、サブコントローラに為された操作入力及び前記加速度センサの検出結果を含む自メインコントローラに為された操作入力の操作入力信号を出力する操作入力信号出力手段とを備えたメインコントローラから出力される前記接続有無信号及び前記操作入力信号に基づいて、コンピュータに所定のゲームの進行を制御させるためのプログラムであって、前記接続有無信号に基づいて前記メインコントローラへの前記サブコントローラの接続有無を判定する接続判定手段、前記加速度センサの検出方向と制御内容との対応関係が定められた第1及び第2の検出方向割当設定のうち、前記接続判定手段により接続されていないと判定された場合には第1の検出方向割当設定を現在の検出方向割当設定とし、接続されていると判定された場合には第2の検出方向割当設定を現在の検出方向割当設定とする検出方向割当切換制御手段(例えば、図1の制御ユニット1210、図7の処理部200、ゲーム演算部210、接続判定部212、図12のステップS10、S12)、として前記コンピュータを機能させ、前記加速度センサの検出方向に対応する制御内容を、前記検出方向割当切換制御手段により切り換えられた現在の検出方向割当設定から判断して前記ゲームの進行を制御させるためのプログラムである。
【0021】
第13の発明は、加速度センサと、サブコントローラを着脱自在に接続する接続端子と、前記サブコントローラの接続有無を示す接続有無信号を出力する接続有無信号出力手段と、サブコントローラに為された操作入力及び前記加速度センサの検出結果を含む自メインコントローラに為された操作入力の操作入力信号を出力する操作入力信号出力手段とを有するメインコントローラから出力される前記接続有無信号及び前記操作入力信号に基づいて、所定のゲームの進行を制御するゲーム装置であって、前記接続有無信号に基づいて前記メインコントローラへの前記サブコントローラの接続有無を判定する接続判定手段と、前記加速度センサの検出方向と制御内容との対応関係が定められた第1及び第2の検出方向割当設定のうち、前記接続判定手段により接続されていないと判定された場合には第1の検出方向割当設定を現在の検出方向割当設定とし、接続されていると判定された場合には第2の検出方向割当設定を現在の検出方向割当設定とする検出方向割当切換制御手段と、を備え、前記加速度センサの検出方向に対応する制御内容を、前記検出方向割当切換制御手段により切り換えられた現在の検出方向割当設定から判断して前記ゲームの進行を制御するゲーム装置である。
【0022】
第5又は第13の発明によれば、メインコントローラにサブコントローラが接続されているか否かを判定することができる。そして、接続/未接続に応じて加速度センサの検出方向と制御内容との対応関係を自動的に切り換え、切り換えられた対応関係に従ってゲームの進行を制御することができる。よって、プレーヤがメインコントローラにサブコントローラを装着/取り外しして入力デバイスの構成を変更してもこれを自動的に検知し、その時々の構成に適応した加速度センサの検出方向に適した制御内容を判断してゲームを制御することで、プレーヤの嗜好に応じた操作系の変更に対応できる。
【0023】
第6の発明は、第1〜第4の発明の何れかのプログラムであって、前記メインコントローラは、加速度センサを備えており、前記加速度センサの検出方向と制御内容との対応関係が定められた第1及び第2の検出方向割当設定のうち、前記接続判定手段により接続されていないと判定された場合には第1の検出方向割当設定を現在の検出方向割当設定とし、接続されていると判定された場合には第2の検出方向割当設定を現在の検出方向割当設定とする検出方向割当切換制御手段として前記コンピュータを機能させ、前記加速度センサの検出方向に対応する制御内容を、前記検出方向割当切換制御手段により切り換えられた現在の検出方向割当設定から判断して前記ゲームの進行を制御させるプログラムである。
【0024】
第6の発明によれば、第1〜第4の発明の何れかと同様の効果を奏するとともに、メインコントローラにサブコントローラが接続されているか否かを判定し、接続/未接続に応じて加速度センサの検出方向と制御内容との対応関係を自動的に切り換え、切り換えられた対応関係に従ってゲームの進行を制御することができる。
【0025】
第7の発明は、加速度センサと、サブコントローラを着脱自在に接続する接続端子と、前記サブコントローラの接続有無を示す接続有無信号を出力する接続有無信号出力手段と、サブコントローラに為された操作入力及び前記加速度センサの検出結果を含む自メインコントローラに為された操作入力の操作入力信号を出力する操作入力信号出力手段とを備えたメインコントローラから出力される前記接続有無信号及び前記操作入力信号に基づいて、コンピュータに所定のゲームの進行を制御させるためのプログラムであって、前記接続有無信号に基づいて前記メインコントローラへの前記サブコントローラの接続有無を判定する接続判定手段、前記加速度センサの検出量と制御内容との対応関係が定められた第1及び第2の検出量割当設定のうち、前記接続判定手段により接続されていないと判定された場合には第1の検出量割当設定を現在の検出量割当設定とし、接続されていると判定された場合には第2の検出量割当設定を現在の検出量割当設定とする検出量割当切換制御手段、として前記コンピュータを機能させ、前記加速度センサの検出量に対応する制御内容を、前記検出量割当切換制御手段により切り換えられた現在の検出量割当設定から判断して前記ゲームの進行を制御させるためのプログラムである。
【0026】
第8の発明は、前記メインコントローラは、加速度センサを備えており、前記加速度センサの検出量と制御内容との対応関係が定められた第1及び第2の検出量割当設定のうち、前記接続判定手段により接続されていないと判定された場合には第1の検出量割当設定を現在の検出量割当設定とし、接続されていると判定された場合には第2の検出量割当設定を現在の検出量割当設定とする検出量割当切換制御手段として前記コンピュータを機能させ、前記加速度センサの検出量に対応する制御内容を、前記検出量割当切換制御手段により切り換えられた現在の検出量割当設定から判断して前記ゲームの進行を制御させるための第1〜第6の何れかの発明のプログラムである。
【0027】
第14の発明は、加速度センサと、サブコントローラを着脱自在に接続する接続端子と、前記サブコントローラの接続有無を示す接続有無信号を出力する接続有無信号出力手段と、サブコントローラに為された操作入力及び前記加速度センサの検出結果を含む自メインコントローラに為された操作入力の操作入力信号を出力する操作入力信号出力手段とを有するメインコントローラから出力される前記接続有無信号及び前記操作入力信号に基づいて、所定のゲームの進行を制御するゲーム装置であって、前記接続有無信号に基づいて前記メインコントローラへの前記サブコントローラの接続有無を判定する接続判定手段と、前記加速度センサの検出量と制御内容との対応関係が定められた第1及び第2の検出量割当設定のうち、前記接続判定手段により接続されていないと判定された場合には第1の検出量割当設定を現在の検出量割当設定とし、接続されていると判定された場合には第2の検出量割当設定を現在の検出量割当設定とする検出量割当切換制御手段と、を備え、前記加速度センサの検出量に対応する制御内容を、前記検出量割当切換制御手段により切り換えられた現在の検出量割当設定から判断して前記ゲームの進行を制御するゲーム装置である。
【0028】
第7、第8及び第14の発明によれば、メインコントローラにサブコントローラが接続されているか否かを判定し、接続/未接続に応じて加速度センサによる加速度の検出量(つまり加速度の大きさ)と制御内容との対応関係を自動的に切り換え、切り換えられた対応関係に従ってゲームの進行を制御することができる。
【0029】
第9の発明は、第1〜第8の発明の何れかのプログラムであって、前記メインコントローラは、振動部、発光部及び表示部のうちの少なくとも1つの出力素子と、前記コンピュータから入力される制御信号に従って前記出力素子を制御する出力素子制御手段(例えば、図2のコントローラ制御ユニット1260、図7の処理部110)とを備えており、前記出力素子の制御方法が定められた第1及び第2の出力素子制御方法のうち、前記接続判定手段により接続されていないと判定された場合には第1の出力素子制御方法とし、接続されていると判定された場合には第2の出力素子制御方法とする出力素子制御方法切換手段(例えば、図1の制御ユニット1210、図7の処理部200、ゲーム演算部210、接続判定部212、図12のステップS10、S12)、前記出力素子制御方法切換手段により切り換えられた出力素子制御方法に従った制御信号を前記メインコントローラに出力する制御信号出力手段(例えば、図1の制御ユニット1210、図7の処理部200、ゲーム演算部210、接続判定部212、図12のステップS26)、として前記コンピュータを機能させるためのプログラムである。
【0030】
第9の発明によれば、第1〜第8の発明の何れかと同様の効果を奏するとともに、メインコントローラにサブコントローラが接続されているか否かに応じて、出力素子の制御方法を自動的に切り換えるため、出力素子の構成の変更に対応することができるようになる。
【0031】
第10の発明は、第1〜第9の発明の何れかのプログラムを記憶したコンピュータ読取可能な情報記憶媒体である。
ここで言う「情報記憶媒体」とは、例えば磁気ディスクや光学ディスク、ICメモリなどを含む。第10の発明によれば、第1〜第9の発明の何れかのプログラムをコンピュータに読み取らせて実行させることによって、コンピュータに第1〜第9の発明の何れかと同様の効果を発揮させることができる。
【0032】
第15の発明は、操作入力部(例えば、図2の方向入力キー1242、Aボタン1235、第1加速度センサ1248)と、前記操作入力部に為された操作入力の信号出力を制御する信号出力制御手段(例えば、図2のコントローラ制御ユニット1260)と、サブコントローラを着脱自在に接続する接続端子(例えば、図2の拡張端子1250)と、前記サブコントローラの接続を検出する接続検出手段(例えば、図2のコントローラ制御ユニット1260、図14の接続判定部212、図20のステップS108)と、を備え、前記信号出力制御手段が、前記接続検出手段による検出がなされた際に、前記サブコントローラからのサブコントローラ操作入力信号を、前記操作入力部の操作入力信号に変換して出力する信号変換出力手段(例えば、図2のコントローラ制御ユニット1260、図14の操作入力変換部113、操作入力変換TBL530、図20のステップS114)を有するコントローラである。
【0033】
第15の発明によれば、サブコントローラの接続/未接続を自動的に検出し、接続が検出された場合には、サブコントローラからのサブコントローラ操作入力信号を、前記操作入力部の操作入力信号に変換して出力することができる。つまり、サブコントローラに為された操作入力であっても操作入力部への操作であったかのように自動変換して操作入力信号を出力する。よって、プレーヤは別途操作入力の設定を変更操作せずともサブコントローラを装着/取り外しして入力デバイスの構成を変更するだけでゲームを続けることができる。
【発明の効果】
【0034】
本発明によれば、メインとなるコントローラにサブコントローラが接続された状態を自動的に検知し、接続/未接続の各状態における入力デバイスの構成に適した操作入力方法の設定を自動的に実現し、プレーヤの嗜好に応じたプレーヤ自身による操作系の変更に即座に対応できるゲームを実現することができる。
【発明を実施するための最良の形態】
【0035】
〔第1実施形態〕
以下、本発明を適用した第1実施形態として、家庭用ゲーム装置でプレーヤが戦闘機キャラクタ(以下、「プレーヤキャラクタ」とも言う。)を操作して敵戦闘機キャラクタ(以下、「敵キャラクタ」とも言う。)と空中戦を繰り広げるコンバットフライトシミュレーションゲームを実行する場合を例に挙げて説明する。尚、本実施形態が適用可能なゲームジャンルは、コンバットフライトシミュレーションゲームに限らず、例えばアクションゲームやレースゲーム等の他のゲームにも適用することができる。
【0036】
[ゲーム装置の説明]
図1は、本実施形態における家庭用ゲーム装置の構成例を説明する構成図である。同図に示すように、家庭用ゲーム装置1200は、ゲーム装置本体1201と、ゲームコントローラ1230と、ビデオモニタ1220とを備える。ゲームコントローラ1230(メインコントローラ)には、着脱自在な拡張入出力装置であるサブコントローラ1231をプレーヤが任意に着脱して接続することができる。
【0037】
ゲーム装置本体1201は、例えばCPUや画像処理用LSI、ICメモリ等が実装された制御ユニット1210と、光学ディスク1202やメモリカード1204といった情報記憶媒体の読み取り装置1206,1208とを備える。そして、家庭用ゲーム装置1200は、制御ユニット1210が光学ディスク1202やメモリカード1204からゲームプログラム及び各種設定データを読み出し、ゲームコントローラ1230及びサブコントローラ1231に為される操作入力に基づいて各種の演算処理をしてビデオゲームを実行する。
【0038】
制御ユニット1210は、CPU(Central Processing Unit)やGPU(Graphics Processing Unit)及びDSP(Digital Signal Processor)などの各種マイクロプロセッサ、ASIC(Application Specific Integrated Circuit)、ICメモリなどの電気電子機器を備え家庭用ゲーム装置1200の各部を制御する。
【0039】
また、制御ユニット1210は、通信装置1212と、近距離無線通信モジュール1214とを備える。通信装置1212は、インターネットやLAN(Local Area Network)、WAN(Wide Area Network)と言った通信回線1と有線接続又は無線接続し、外部装置との間でデータ通信を実現する。近距離無線通信モジュール1214は、近距離無線を介して複数のゲームコントローラ1230から送信される操作入力信号を受信する。近距離無線の形式としては、例えばBluetooth(登録商標)やUWB(超広帯域無線)、無線LANなどが適宜適用可能である。
【0040】
ゲーム装置本体1201の制御ユニット1210は、ゲームコントローラ1230から受信した操作入力信号に基づいてゲーム画像やゲーム音を生成してビデオゲームを実行する。生成されたゲーム画像やゲーム音は、信号ケーブル1209で接続されたビデオモニタ1220(ディスプレイモニタ)に出力される。ビデオモニタ1220には、画像を表示する画像表示装置1222と、音声を出力するスピーカ1224とが備えられており、プレーヤは画像表示装置1222に映し出されるゲーム画像を見ながら、スピーカ1224から放音されるゲーム音を聞きつつゲームをプレイする。
【0041】
図2は、本実施形態において用いられるゲームコントローラ1230の一例を示す外観図であって、それぞれ(a)正面図、(b)正面向かって右から見た右側面図、(c)下面図に相当する。同図に示すように、ゲームコントローラ1230は、面取りされた略四角断面を有する棒状を成しており、プレーヤは棒を握る要領で片手把持し操作することができる。
【0042】
ゲームコントローラ1230では、コントローラ制御ユニット1260を中心に、各種入力デバイス及び出力デバイスが、例えばIIC(Inter-Integrated Circuit)バスなどによって実現されるローカルバス回路によって接続されており、コントローラ制御ユニット1260によって各デバイス間の入出力が制御される。
【0043】
スイッチ類の入力デバイスとして、正面側(操作面側)の下部(後部)にAボタン1235、Bボタン1236、Cボタン1237、Dボタン1238を備える。また正面側の上部(前部)には、十字状の四隅を押下することで上下左右の方向を個別に入力することのできる方向入力キー1242と、Eボタン1244とを備える。更に背面側の上部にはトリガー1246を備える。また、その他の入力デバイスとしては、ゲームコントローラ1230の動きや傾きを検出するための第1加速度センサ1248と撮像素子1256とを備える。尚、以下では、方向入力キー1242の入力方向を、図2(a)に向かった場合の入力方向として説明する。具体的には、方向入力キー1242の上方向キーとは、図2(a)に向かって方向入力キー1242の上方向のキー入力を行った場合を指す。また、この方向表現のことを以下では「絶対方向表現」と呼ぶ。
【0044】
第1加速度センサ1248はゲームコントローラ1230の長手方向(図2(a)の上下方向)をX軸、左右方向(図2(a)の左右方向)をY軸、図2(a)の表裏方向をZ軸とする3軸方向の加速度を検出し、検出した加速度に応じた電圧等の検出信号をコントローラ制御ユニット1260に出力する。
【0045】
撮像素子1256は、面状に配置された各受光素子で入射した光の強さを電気信号に変換し出力する光センサであって、例えばCCDセンサやCMOSセンサといったイメージセンサ及びそれらのドライバ回路などによって実現される。撮影素子1256は、ゲームコントローラ1230の長手方向前端部(図2(a)の上側端部)に固定されており、ゲームコントローラ1230の先端方向からの光を所定の画角範囲で受光・撮影し、撮像信号(画像データ)をコントローラ制御ユニット1260に出力する。
【0046】
一方、本実施形態におけるゲームコントローラ1230は、出力デバイスとして第1バイブレータ1254を備える。第1バイブレータ1254は、コントローラ制御ユニット1260から出力された振動制御信号に従って振動を発生させ、ゲームコントローラ1230を把持するプレーヤの手に振動を感じさせる。
【0047】
コントローラ制御ユニット1260は、例えば、CPUやローカルバス回路におけるデータ通信を制御するバスコントローラICなどの各種マイクロチップやICメモリなどの電子部品、ゲーム装置本体1201の近距離無線通信モジュール1214と無線通信を実現する近距離無線通信モジュール1252などを実装する。
【0048】
そして、コントローラ制御ユニット1260は、ローカルバス回路を介して各種入力デバイスから送信された信号に基づいて操作入力信号を生成し、生成した操作入力信号を近距離無線通信モジュール1252で、ゲーム装置本体1201へ出力する。また、近距離無線通信モジュール1252によって、ゲーム装置本体1201から送出された出力信号を受信した場合には、受信した出力信号に対応づけられている出力デバイスへ制御信号を生成・送出する。本実施形態では、第1バイブレータ1254に振動を発生させるための出力信号を受信したならば、第1バイブレータ1254に向けて受信した出力信号に基づく振動制御信号を送出し、所与の振動パターンで振動を発生させることができる。
【0049】
尚、コントローラ制御ユニット1260及び各部が必要とする電力は、ゲームコントローラ1230の背面側に凹設されたバッテリー室1257内に内蔵されたバッテリー1258から供給される。
【0050】
本実施形態におけるゲームコントローラ1230はまた、ゲームコントローラ1230にとって着脱自在な操作入力デバイス及び出力デバイスを備えたサブコントローラ1231を接続するための拡張端子1250を備える。
【0051】
拡張端子1250は、コントローラ制御ユニット1260に設けられたローカルバス回路を外部に拡張するための端子である。本実施形態におけるローカルバスは、例えばIIC(Inter-Integrated Circuit)バス規格によって実現され、所定形状のコネクタを活線挿抜に接続することができるとともに、拡張端子1250に含まれる接続ピンの電圧を検知することで挿抜に伴うコネクタやデバイスの接続検出ができる。
【0052】
図3は、本実施形態におけるサブコントローラ1231の一例を示す外観図であって、(a)正面図、(b)正面向かって右から見た右側面図に相当する。同図に示すように、サブコントローラ1231は、入力デバイスとして、直交する2軸方向を同時に入力することができるレバー1272と、プッシュボタンスイッチ1274と、第2加速度センサ1276とを備える。レバー1272は、所謂「ジョイスティック」などとも呼ばれる。プッシュボタンスイッチ1274はゲームコントローラ1230のAボタン1235と同様の入力デバイスである。また、第2加速度センサ1276は、ゲームコントローラ1230の第1加速度センサ1248と同様の入力デバイスである。また、サブコントローラ1231は、出力デバイスとしてゲームコントローラ1230の第1バイブレータ1254と同様の第2バイブレータ1278を備える。
【0053】
また、以下では、レバー1272の絶対方向表現の入力方向を、図3(a)に向かった場合の入力方向とする。具体的には、レバー1272のレバー上方向とは、図3(a)に向かってレバー1272を上方向に傾倒させる入力を指す。
【0054】
サブコントローラ1231に備えられたこれらの入力デバイス及び出力デバイスは、それぞれサブコントローラ1231内のローカルバス回路に接続されて棒状の外殻1273に一体にケーシングされている。サブコントローラ1231のローカルバス回路は、信号ケーブル1271及びコネクタ1275に電気的に接続されている。
【0055】
コネクタ1275は、ゲームコントローラ1230の拡張端子1250に対応しており、コネクタ1275を拡張端子1250に接続することによってゲームコントローラ1230のローカルバス回路とサブコントローラ1231のローカルバス回路とが電気的に一体に接続され、サブコントローラ1231の入力デバイス及び出力デバイスもゲームコントローラ1230のそれらと同様に扱うことができるようになる。つまり、コネクタ1275の着脱によって、ゲームコントローラ1230に入力デバイス及び出力デバイスを自在に追加・削除することができるとも言える。また、サブコントローラ1231へは、拡張端子1250に接続されたコネクタ1275から信号ケーブル1271を介してバッテリー1258より電力が供給される。
【0056】
コントローラ制御ユニット1260は、コネクタ1275が拡張端子1250に接続されるとこれを検知し、サブコントローラ1231の接続、より具体的にはサブコントローラ1231に備えられている入力デバイス・出力デバイスの接続を検知する。そして、接続されているか否かを示す接続有無信号を、操作入力信号に含めてゲーム装置本体1201に送信する。尚、接続有無信号は、所定のフラグデータでも良いしサブコントローラ1231が備える入力デバイスからの入力信号で兼ねる構成としても良い。
【0057】
また、本実施形態では、拡張端子1250が備える複数の端子ピンのうち、所定の端子ピンの電圧変化からコネクタ1275の接続を検知してゲームコントローラ1230にサブコントローラ1231が接続/未接続の検知が可能であるとしているが、接続検知方法はこれに限るものではない。例えば、図2(c)に示すように、拡張端子1250の横に端面より内側に押し込まれて「ON」となり、押し込み量に応じた信号を出力する接続検知スイッチ1251を設けるとともに、コネクタ1275の接続面に該コネクタを拡張端子1250へ接続するのに伴って接続検知スイッチ1251を押す突起部1275aを設ける。そして、コントローラ制御ユニット1260が、接続検知スイッチ1251から出力される信号からコネクタ1275の接続を検知する、つまりサブコントローラ1231が装着されていることを検知する構成としても良い。
【0058】
[ゲーム概要の説明]
図4は、本実施形態におけるゲーム画面の一例を示す図である。同図に示すように、ゲーム画面W2には、ゲーム空間画像30が主画像として表示される。ゲーム空間画像30は、プレーヤが操作するプレーヤキャラクタとともに移動制御される仮想カメラで撮影したプレーヤキャラクタから見た画像(或いはプレーヤキャラクタを含むゲーム空間の画像)である。そして、プレーヤキャラクタの操縦を補助するための情報として、ゲーム画像上に所謂HUD(Head Up Display)表示として、ウィスキーマーク32、姿勢表示34、高度表示36、速度表示38、方位表示40、残弾数表示42、ダメージ表示44が合成表示される。
【0059】
また、ゲーム画面W2の左下隅の所定領域には、レーダ画像W3が表示される。レーダ画像W3は、プレーヤキャラクタを中心とした俯瞰視簡略図である。中央にプレーヤキャラクタを表すレーダ表示マーク48が配され、これを中心に前後方向・左右方向を示す機軸線50が表示される。そして、その周囲にプレーヤキャラクタから所定のレーダ表示範囲に存在する敵キャラクタを示す表示体として敵レーダ表示マーク(図中の黒塗りマーク)を、プレーヤキャラクタからの相対位置を維持して縮小表示される。
【0060】
本実施形態におけるコンバットフライトシミュレーションゲームは、従来のそれと同様に、3次元仮想空間に形成されたゲーム世界には、プレーヤキャラクタの戦闘機と、コンピュータが自動制御するノンプレーヤキャラクタ(NPC)である複数の敵キャラクタが配置され、各々が装備するミサイルや機銃で相手を攻撃するゲームである。同図の例では、ゲーム空間画面30には、プレーヤキャラクタの前方に存在する敵キャラクタの機影52a,52b,52cが表示されている。
【0061】
プレーヤキャラクタから所定の索敵範囲に存在し、ゲーム空間画像30に写る敵キャラクタの機影52a,52b,52cには、それらのキャラクタを注目させるための識別子であるコンテナ表示56,57が付属表示される。プレーヤは、所定の攻撃目標の選択操作によってコンテナ表示56,57が付属表示される敵キャラクタ52a,52b,52cの何れか一つを攻撃目標として選択できる。
【0062】
同図では、中央の機影の敵キャラクタ52bが選択されており、選択された証としてコンテナ表示57は他のコンテナ表示56よりも強調表示され、更に右上には同敵キャラクタの兵器種類を示す情報58が付加表示されている。通常、攻撃目標として選択された状態で、更に当該敵キャラクタが所定の攻撃可能範囲に所定時間以上存在すれば、ミサイル攻撃の標的(ミサイルの追尾対象)として記憶される所謂「ロックオン」の状態となる。ロックオン状態となるとコンテナ表示57は、更に特別色で表示されてロックオンされたことを示す。このロックオン状態となったことを確認してプレーヤが所定のミサイル発射操作をするとプレーヤキャラクタからミサイルが発射される。或いは、ロックオン状態の有無に係らず所定の機銃発射操作をすると機銃が機首前方に発射されて敵キャラクタを銃撃することができる。
【0063】
ミサイルが発射されると、3次元仮想空間内に新たにミサイルのオブジェクトが配置され、ディスプレイ1222の表示サイクル(描画サイクル)毎にロックオンした敵キャラクタに向かって所定時間追尾飛行するように移動制御される。
【0064】
ゲーム中のミサイルは、現実のそれと同様に時間当たり(この場合一回の移動制御当り)に進行方向を変えることのできる上限角度(転舵限界角度)が予め定められている。したがって、ミサイルが発射された時点におけるプレーヤキャラクタと、敵キャラクタとの相対位置関係や向きの関係、敵キャラクタのその後の軌道によってはミサイルが命中しないことが起きる。つまり、プレーヤは、如何にミサイルをかわされ難いポジションから敵キャラクタを狙うことができるかが戦果を大きく左右することになり、操作入力のし易さがゲームの勝敗に影響する。したがって、操作のし易さは、プレーヤの嗜好が最も現れるところである。
【0065】
[操作入力の説明]
プレーヤキャラクタを操作する操作入力方法について、本実施形態ではゲームコントローラ1230にサブコントローラ1231が装着されているか否かが自動的に判定され、接続/未接続の判定結果に応じて図5及び図6の操作割当図に示す2通りの操作入力方法のうち何れかが自動的に適用される。
【0066】
先ず第1の操作入力方法は、図5に示すように、ゲームコントローラ1230にサブコントローラ1231を装着せずに単独使用する場合に適用される操作入力方法である。同図に示すように、プレーヤはゲームコントローラ1230の前端部を左、後端部を右にして長手方向を左右方向に向け、左端部を左手で把持し右端部を右手で把持するよう構える。そして、絶対方向表現による方向入力キー1242の右方向キー(図2(a)に向かった右になるため。以下同じ。)の入力で機首下げ、左方向キーの入力で機首上げ、下方向キーの入力で右旋回、上方向キーの入力で左旋回、の操縦操作を入力できる。また、Aボタン1235で機銃発射、Bボタン1236でミサイル発射、Cボタン1237で減速、Dボタン1238で加速の各操作を入力することができる。更にEボタン1244で、攻撃目標の選択操作を入力できる。
【0067】
一方、第2の操作入力方法は、図6に示すように、ゲームコントローラ1230にサブコントローラ1231を装着して使用する場合に適用される操作入力方法である。同図に示すように、プレーヤは、ゲームコントローラ1230を上下に構えて母指を方向入力キー1242に沿えて棒を握る要領で片手で把持する一方、サブコントローラ1231のレバー1272に母指を沿えて棒を握る要領でもう一方の手で把持する。そして、絶対方向表現によるレバー1272のレバー上方向(図3(a)に向かった上となり、図6と同様。以下同じ。)で機首下げ、レバー下方向で機首上げ、レバー右方向で右旋回、レバー左方向で左旋回をそれぞれ入力することができる。また、絶対方向表現による方向入力キー1242の上方向キー(図2(a)に向かった上となり、図6と同様。以下同じ。)の入力で減速、下方向キーの入力で加速、右方向キーの入力でミサイル発射、左方向キーの入力で機銃発射を操作入力できる。また、Eボタン1244で、攻撃目標の選択操作を入力できる。
【0068】
第1の操作入力方法は、左手で方向入力キー1242、右手で複数のプッシュボタンを操作するといった従来の家庭用ゲーム装置におけるオーソドックスな操作形態を踏襲しており、サブコントローラ1231の所有如何に係らず従来の家庭用ゲーム装置のオーソドックスな操作形態に遊び慣れた操作形態でゲームプレイしたい場合には適当である。ゲームコントローラ1230を所有しているが、サブコントローラ1231を所有していないプレーヤは、第1の操作入力方法でゲームを楽しむことができる。
【0069】
一方、ゲームコントローラ1230とサブコントローラ1231の両方を所有しているプレーヤは、第2の操作入力方法でもゲームを楽しむことができる。第2の操作入力方法では、操縦操作を方向入力キー1242よりもより細かくスムーズに入力することができるのでより高度で自在な操縦操作を楽しむことができる。また、加速・減速並びに機銃発射・ミサイル発射を方向入力キー1242一つで入力できるので、第1の操作入力方法のように独立して離れたAボタン1235〜Dボタン1238を操作する場合よりも、すばやい操作入力が可能になる。よって、どちらかと言えばより高度な操作を好む上級者プレーヤに適している。また、両手を揃える必要が無いのでより自由な姿勢でゲームプレイしたい場合にも好適である。
【0070】
また、第1の操作入力方法の操作方向と第2の操作入力方法の操作方向とが絶対方向表現で異なるため、それぞれの操作方向に対して適切な制御命令が割当設定される。このことは、操作入力方法が第1の操作入力方法なのか、第2の操作入力方法なのかによって、プレーヤにとっての方向入力キー1242の方向座標系(相対的な方向座標系)に適切に切り換え、適切な方向操作入力を可能とすることを意味する。
【0071】
[機能ブロックの説明]
次に、操作入力方法の自動的な切り換えを実現するための具体的な機能構成について説明する。図7は、本実施形態における家庭用ゲーム装置1200の機能構成の一例を示す機能ブロック図である。同図に示すように本実施形態では、第1操作部100と、第2操作部120と、処理部200と、音出力部350と、画像表示部360と、通信部370と、記憶部500とを備える。
【0072】
第1操作部100は、図1で言うところのゲームコントローラ1230に相当し、操作入力部102、出力部104、処理部110、記憶部113、接続部114、通信部116を備える。
【0073】
操作入力部102は、プッシュボタンや、レバー、タッチパッド、ダイヤル、キーボード、マウス、各種ポインタ、加速度センサ、傾斜センサなどの入力デバイスやセンサ類によって実現され、プレーヤによって為された各種の入力に応じて操作入力信号を処理部110に出力する。図2のAボタン1235〜Dボタン1238、Eボタン1244、方向入力キー1242、第1加速度センサ1248がこれに該当する。
【0074】
出力部104は、バイブレータ、ライト、スピーカ、モータ、画像表示素子といった出力デバイスによって実現され、処理部110から送出された制御信号によってゲームの進行に応じた振動や光、音、動作、画像表示などの出力をする。図2の例では第1バイブレータ1254がこれに該当する。
【0075】
接続部114は、例えばコネクタによって実現され、外部からの信号線を第1操作部100内の信号線と結線させるとともに、接続の有無を検知する仕組みを備える。図2の拡張端子1250及びゲームコントローラ1230のローカルバス回路がこれに該当する。接続検知スイッチ1251を備える場合にはこれも該当する。本実施形態では、第2操作部120に備えられる同様の接続部122との間で接続し電気信号線の結線を実現する。尚、接続部114及び接続部122の接続は、物理的な結線に限らず無線通信によるデータ通信によって代用することもできる。
【0076】
通信部116は、例えば、無線装置やLANアダプタなど通信回線1に接続するための機器によって実現され、外部装置との間で信号の送受を実現する。図2の近距離無線通信モジュール1252がこれに該当し、本実施形態ではゲーム装置本体1201の近距離無線通信モジュール1214(図1参照)に該当する通信部370との間でデータ通信を実現する。
【0077】
処理部110は、例えばCPUやローカルバスにおけるデータ通信を司るバス制御ICといったマイクロプロセッサ、ASIC(特定用途向け集積回路)、ICメモリ、ローカルバスなどの電子部品・電子回路によって実現され、ICメモリ等で実現される記憶部113を作業領域として使用して、第1操作部100の各機能部との間でデータの入出力を制御する。図2のコントローラ制御ユニット1260がこれに該当する。
【0078】
処理部110は、入力部102からの操作入力信号及び接続部114を介して外部から入力された信号に基づいて通信制御部112で操作入力信号を生成し、通信部116から通信部370へ操作入力信号を出力する。また、ローカルバスの仕様や接続検知スイッチ1251などによって接続部114に接続部122が接続されていることを検出し接続有無を出力する。本実施形態では、接続有無信号は接続部122を介して入力された操作入力信号を兼ねる。また、通信部116で通信部370から受信した信号に基づいて出力部104へ制御信号を出力し、第1操作部100における各種出力を制御する。
【0079】
第2操作部120は、第1操作部100に着脱自在な外部操作入力部であって、図1で言うところのサブコントローラ1231に相当し、接続部122と、操作入力部124と、出力部126とを備える。
【0080】
操作入力部124は、操作入力部102と同様に実現され、プレーヤによって為された各種の操作入力に応じて操作入力信号を接続部122に出力する。図3のコネクタ1275がこれに該当する。
【0081】
出力部126は、出力部104と同様に実現され、接続部122を介して受信した制御信号に従って出力をする。
【0082】
処理部200は、例えばCPUやGPUと言ったマイクロプロセッサ、ASIC(特定用途向け集積回路)、ICメモリなどの電子部品によって実現され、各機能部との間でデータの入出力を行うとともに所定のプログラムやデータ及び操作部100からの操作入力信号に基づいて各種の演算処理を実行して、家庭用ゲーム装置1200の動作を制御する。図1では、ゲーム装置本体1201に内蔵された制御ユニット1210が処理部200に該当する。
【0083】
そして、本実施形態における処理部200は、ゲーム演算部210と、音生成部250と、画像生成部260と、通信制御部270とを備える。
【0084】
ゲーム演算部210は、ゲームの進行に係る処理を実行する。例えば、3次元仮想空間中にゲーム空間を形成する処理や、ゲーム空間中に配置されたキャラクタ等のオブジェクトの配置制御処理、敵キャラクタ等のNPC(ノンプレーヤキャラクタ)の自動制御処理、ヒット判定処理、物理演算処理、ゲーム結果の判定処理などが実行対象に含まれる。
【0085】
ゲーム演算部210は、接続判定部212と、操作割当切換制御部214と、出力割当切換制御部216とを含む。
【0086】
接続判定部212は、第1操作部100から受信した操作入力信号(本実施形態では接続有無信号を含む)に基づいて第1操作部100の接続部114に第2操作部120の接続部122が接続されたか否かを判定する。
【0087】
操作割当切換制御部214は、接続判定部212による判定結果に基づいて、第1の操作入力方法及び第2の操作入力方法のうちの何れか一方を適用対象として自動的に切り換える制御を行う。
【0088】
出力割当切換制御部216は、接続判定部212による判定結果に基づいて、第1操作部100の出力部104又は第2操作部120の出力部126に自動的に振り分ける制御を行う。
【0089】
音生成部250は、例えばデジタルシグナルプロセッサ(DSP)などのプロセッサやその制御プログラムなどの公知技術によって実現され、ゲーム演算部210による処理結果に基づいてゲームに係る効果音やBGM、各種操作音の音信号を生成し、音出力部350に出力する。
【0090】
音出力部350は、音生成部250から入力される音信号に基づいて効果音やBGM等を音出力する装置によって実現される。図1ではビデオモニタ1220のスピーカ1224がこれに該当する。
【0091】
画像生成部260は、例えば、GPUやデジタルシグナルプロセッサ(DSP)などのマイクロプロセッサ、その制御プログラム、フレームバッファ等の描画フレーム用ICメモリ等の公知技術によって実現される。そして、画像生成部260は、ゲーム演算部210による処理結果に基づいて1フレーム時間(1/60秒)で1枚のゲーム画像30を生成するとともにレーダ画像W3を生成し、ゲーム画像30にHUD表示やレーダ画像W3等を合成表示して最終的なゲーム画面W2を生成し、ゲーム画像の画像信号を画像表示部360に出力する。
【0092】
画像表示部360は、画像生成部260から入力される画像信号に基づいて各種ゲーム画像W2を表示する。画像表示部360は、例えば、フラットパネルディスプレイ、ブラウン管(CRT)、プロジェクター、ヘッドマウントディスプレイといった画像表示装置によって実現できる。図1ではビデオモニタ1220の画像表示装置1222がこれに該当する。
【0093】
通信制御部270は、データ通信に係るデータ処理を実行し、通信部370を介して外部装置との間でデータの送受を実現する。
【0094】
通信部370は、通信回線1と接続して通信を実現する。例えば、無線通信機、モデム、TA(ターミナルアダプタ)、有線用の通信ケーブルのジャックや制御回路等によって実現され、図1では通信装置1212、及び近距離無線通信モジュール1214がこれに該当する。
【0095】
記憶部500は、予め定義されたプログラムやデータを記憶するとともに、処理部200の作業領域として用いられ、処理部200が各種プログラムに従って実行した演算結果等を一時的に記憶する。この機能は、例えばRAMやROM、EEPROMなどのICメモリ、ハードディスク等の磁気ディスク、CD−ROMやDVD―RAM、MOなどの光学ディスクによって実現される。
【0096】
本実施形態における記憶部500は、処理部200にゲーム装置1200を統合的に制御させるための諸機能を実現するためのシステムプログラム501や、ゲームを実行させるために必要なゲームプログラム502並びに各種データ等を記憶する。処理部200がゲームプログラム502を読み出して実行することによって、処理部200にゲーム演算部210としての機能を実現させることができる。
【0097】
また、記憶部500には、予め用意されるデータとしてゲーム空間設定データ510、兵器初期設定データ512、キャラクタ初期設定データ514、第1操作割当設定TBL(テーブル)518、第2操作割当設定TBL520、第1出力割当設定TBL522、第2出力割当設定TBL524が記憶されている。更にゲームの進行に伴って生成され、随時書き換えられるデータとして、キャラクタステータスデータ516、参照TBL設定526が記憶されるほか、ゲームの進行に係る処理の実行に必要となる情報として、例えば仮想カメラを制御するための画角・視線方向・姿勢情報などのデータ、各種制限時間のカウントデータなどが適宜記憶される。
【0098】
ゲーム空間設定データ510には、3次元仮想空間にゲーム空間を形成するための各種データが格納されている。例えば、空や地表、建物などの配置物に関するモデルデータやテクスチャデータ及びモーションデータが格納されている。
【0099】
兵器初期設定データ512には、ミサイルやプレーヤキャラクタ、敵キャラクタなどゲームに登場する兵器に関する初期設定データが兵器の種類毎に格納されている。具体的には、兵器の表示用モデル、テクスチャ、最高速度や最高加速度、耐久力(ヒットポイント)、兵装の種類や搭載数など当該兵器の能力パラメータ値の初期値が格納されている。
【0100】
キャラクタ初期設定データ514は、プレーヤキャラク及び敵キャラクタの初期条件を定義するデータが格納されている。例えば、各キャラクタの識別情報と対応づけて兵器種類、初期配置位置、各種パラメータの初期値などが格納されている。
【0101】
キャラクタステータスデータ516は、ゲーム空間に配置されたプレーヤキャラクタや敵キャラクタ、発射されたミサイルの現在の位置や状態を示す各種パラメータ値を格納する。例えば、キャラクタ識別情報と対応づけて、現在位置座標、現在の機体の姿勢角度、現在の最大速度や残弾数、現在のヒットポイントに相当する耐久値といった能力パラメータ値等の情報を格納する。能力パラメータ値の耐久値は攻撃を受ける都度減算され、「0」になると撃墜されたことを示す。勿論、これらのパラメータに限るものでは無く、各キャラクタに係る情報を適宜対応付けて格納することができる。
【0102】
第1操作割当設定テーブル(TBL)518は、第1の操作入力方法(図5参照)を実現するためにゲームコントローラ1230及びサブゲームコントローラ1231に備えられている各種入力デバイスからの操作信号を制御命令(制御内容)に割り当てる情報を格納する。尚、操作する方向は、絶対方向表現による。例えば、図8に示すように、入力デバイスからの操作信号に相当する操作入力種類518a毎に制御する内容である制御命令518bを対応付けて格納する。例えば、方向入力キー1242の「上方向キー」に相当する操作入力には「左旋回」が対応づけられており、方向入力キー1242の上を操作すると、プレーヤキャラクタの戦闘機は左に旋回するように制御される。同様に、「Cボタン」には「加速」が対応づけられており、Cボタン1237を操作すると、プレーヤキャラクタ野戦闘機は加速するように制御される。尚、第1の操作入力方法は、サブコントローラ1231が装着されていない場合に適用されるので、サブコントローラ1231のレバー1272の「レバー上方向」〜「レバー左方向」には「(操作入力の割当)なし」が対応付けられており無効となっている。
【0103】
同様にして、第2操作割当設定TBL520は、第2の操作入力方法(図6参照)を実現するためにゲームコントローラ1230及びサブゲームコントローラ1231に備えられている各種入力デバイスからの操作信号を制御命令に割り当てる情報を格納する。例えば、図9に示すように、操作入力種類520aと制御命令520bとを対応付けて格納する。例えば、方向入力キー1242の「上方向キー」には「減速」が対応づけられており、方向入力キー1242の上を操作すると、プレーヤキャラクタの戦闘機は減速するように制御される。同様に、「Cボタン」には「なし」が対応づけられており、Cボタン1237を操作しても入力が受け付けられず無効となるように制御される。一方、サブコントローラ1231のレバー1272の「レバー上方向」には「機首下げ」が対応付けられており、レバー1272を上方向に倒すと倒した量に応じてプレーヤキャラクタの戦闘機は機首を下げるように制御される。
【0104】
第1出力割当設定TBL522は、ゲーム結果に応じた出力をゲームコントローラ1230及びサブコントローラ1231に備えられた出力デバイスに割り当てるための情報を格納し、ゲームコントローラ1230にサブコントローラ1231が装着されていない場合に適用される。例えば、図10に示すように、ゲーム結果を条件とする出力条件522aに、出力対象となる出力デバイスを示す出力デバイス割当522bと、出力内容522cとがそれぞれ対応付けて格納される。例えば、処理部200でゲーム結果を算出した結果、プレーヤキャラクタに敵キャラクタからの機銃が着弾したと判定された場合には、ゲームコントローラ1230の第1バイブレータ1254が所定の時間間隔で断続的に小レベルの振動を発生するための断続小加振の出力信号を出力するように定義されている。
【0105】
尚、本実施形態では、バイブレータを出力対象としている例を挙げているが、例えばゲームコントローラ1230にスピーカが搭載されている場合には、出力条件522a「機銃被弾」に更に出力デバイス割当522bに「スピーカ」を追加し、出力内容522cに「機銃着弾の効果音出力」するための音声データを割り当てることもできる。また、LEDや液晶ディスプレイなどの出力デバイスが搭載されている場合には、LEDを点滅させたり液晶ディスプレイに被弾をイメージする画像やテキストを表示させる出力を定義することもできる。
【0106】
第2出力割当設定TBL524は、ゲーム結果に応じた出力をゲームコントローラ1230及びサブコントローラ1231に備えられた出力デバイスに割り当てるための情報を格納し、ゲームコントローラ1230にサブコントローラ1231が装着されている場合に適用される。例えば、図11に示すように、ゲーム結果を条件とする出力条件524aに、出力デバイス割当524bと、出力内容524cとがそれぞれ対応付けて格納される。例えば、ゲーム結果を算出した結果、プレーヤキャラクタの戦闘機に敵キャラクタからの機銃が着弾したと判定された場合には、サブコントローラ1231の第2バイブレータ1278が所定の時間間隔で断続的に小レベルの振動を発生するための出力信号を出力するように定義されている。また、プレーヤキャラクタに敵キャラクタからのレーダ照射を受けていると判定された場合には、ゲームコントローラ1230の第1バイブレータ1254が断続的に小加振するための出力信号を出力するように定義されている。つまり、第2出力割当設定TBL524が適用されるゲームコントローラ1230にサブコントローラ1231が装着された状態では、バイブレータを2つ使用できるのでより多彩な出力条件に対応した出力をすることができるようになる。
【0107】
例えば、サブコントローラ1231が赤色ランプを出力デバイスの一つとして備えた形態ならば、出力条件524a「機銃被弾」に対応付けて更に出力デバイス割当524bとして「LED」を追加し、出力内容524cとしてLEDの明滅制御を割り当てることもできる。この場合、機銃が被弾したことをプレーヤに対して視覚的にも伝えることができ、より緊迫感のあるゲームを実現する事ができる。
【0108】
参照TBL設定526は、ゲーム実行中の現時点で参照すべき操作割当設定TBL及び出力割当設定TBLが何かを示す識別情報を格納する。尚、本実施形態では、ゲーム開始時点では、第1操作割当設定TBL518及び第1出力割当設定TBL522を現時点で参照すべきTBLとして初期設定されるものとする。
【0109】
[処理の流れの説明]
次に、本実施形態における処理の流れについて説明する。ここで説明される処理は、処理部200がゲームプログラム502を実行することによって実現され、所定のゲーム終了条件を満たすまで繰り返し実行される。尚、敵キャラクタの自動制御については適宜公知の技術を適用することができるので、ここでの詳細な説明は省略する。
【0110】
図12は、本実施形態におけるゲーム進行に係る主たる処理の流れについて説明するためのフローチャートである。同図に示すように、先ずゲーム演算部210は、ゲーム空間設定データ510、兵器初期設定データ512並びにキャラクタ初期設定データ514を参照して、3次元仮想空間内にゲーム空間を形成し、プレーヤキャラクタ及び敵キャラクタを所定の初期位置に初期設定された状態で配置する(ステップS2)。尚、これに伴ってキャラクタステータスデータ516を記憶部500に生成する。また、参照TBL設定526を、参照先を第1操作割当設定TBL518及び第1出力割当設定TBL522として生成する。
【0111】
次に、所定のゲームスタート操作が入力されたならばゲームを開始し(ステップS4のYES)、第1操作部100の処理部110が、接続有無信号を含む操作入力信号を生成し、通信部116と通信部370の間で送受信する(ステップS6)。具体的には、処理部110は、ローカルバスの活線挿抜の検出を利用してゲームコントローラ1230から受信した操作入力信号から拡張端子1250へコネクタ1275が接続されているか否かを判定し、接続されていればゲームコントローラ1230にサブコントローラ1231が装着されていると判定する。或いは、接続検知スイッチ1251のONであれば、同様にゲームコントローラ1230にサブコントローラ1231が装着されていると判定する。そして、サブコントローラ1231に装備されているレバー1272等の入力デバイスからの出力信号を接続有無信号として操作入力信号に含めて出力する。
【0112】
次に、ゲーム演算部210は、第1操作部100から受信した操作入力信号に基づいて、接続判定処理をする(ステップS8)。本実施形態では、受信した操作入力信号にサブコントローラ1231に装備されているレバー1272等の入力デバイスからの出力信号が含まれていれば、接続されていると判定する。
【0113】
そして、ゲームコントローラ1230にサブコントローラ1231が接続されていないと判定した場合には(ステップS8のNO)、ゲーム演算部210は参照TBL設定526の設定を、第1操作割当設定TBL518と第1出力割当設定TBL522とに設定する(ステップS10)。反対に、ゲームコントローラ1230にサブコントローラ1231が接続されていると判定した場合には(ステップS8のYES)、ゲーム演算部210は参照TBL設定526の設定を、第2操作割当設定TBL520と第2出力割当設定TBL524とに設定する(ステップS12)。
【0114】
TBLの設定を行ったならば、次に、キャラクタの動作に関する処理を実行する。
ゲーム演算部210は、先ず敵キャラクタの動作を自動制御する(ステップS14)。具体的には、公知のNPC制御技術を適宜応用することで実現できる。そして、自動制御の結果に応じて敵キャラクタのキャラクステータスデータ516を更新する。
【0115】
次に、ゲームコントローラ1230からの操作入力信号を監視する。プレーヤがプレーヤキャラクタを操作しようとしてゲームコントローラ1230及びサブコントローラ1231を操作すると、当該操作に関する操作入力信号がゲーム装置本体1201に送信される。処理部200は、ゲームコントローラ1230から操作入力信号を受信した場合、プレーヤキャラクタの操作が為されたと判定し(ステップS16のYES)、参照TBL設定に設定された操作割当設定TBLに従って、受信した操作入力信号に対応する制御命令を判定する(ステップS18)。つまり、操作入力信号に対応する制御命令を、現在設定されている操作割当設定TBLに従って判定する。そして、判定された制御命令に基づいてプレーヤキャラクタの動作を制御し、制御の結果に応じてプレーヤキャラクタのキャラクステータスデータ516を更新する(ステップS20)。
【0116】
次に、ゲーム演算部210は、ゲーム結果の判定処理を実行する(ステップS22)。ここで言うゲーム結果の対象には、機銃やミサイルの被弾判定、各キャラクタのダメージ判定、スコアの算出、ゲーム時間の算出などゲームそのもの基本的な進行制御に必要な判定は勿論のこと、第1出力割当設定TBL522及び第2出力割当設定TBL524の出力条件522a,524aとの当否判定可能な内容も含まれる。
【0117】
そして、判定したゲーム結果が第1出力割当設定TBL522及び第2出力割当設定TBL524の出力条件522a,524aに該当するならば(ステップS24のYES)、処理部200は参照TBL設定526に設定されている出力割当設定TBLに従って出力制御する(ステップS26)。具体的には、判定したゲーム結果が該当する出力条件に対応付けられた出力信号などをゲームコントローラ1230へ送信する。ゲームコントローラ1230では、受信した出力信号に従って第1バイブレータ1254などの出力デバイスを動作制御し所定の出力を果たす。
【0118】
出力制御を行ったならば処理部200は、ゲーム終了条件を満たすか否かを判定する。そして、ゲーム終了条件を満たしていなければ(ステップS28のNO)、ステップS6に戻り、ゲーム終了条件を満たしていればゲームを終了する。
【0119】
以上の処理によって、本実施形態によればゲームコントローラ1230にサブコントローラ1231を着脱することによって実現される操作入力部の入力デバイス及び出力デバイスの構成の変化を自動的に検出し、接続/未接続を判定することができる。そして、入力デバイス及び出力デバイスの構成の変化に応じて、入力デバイスへの操作割当並びに出力デバイスへの出力割当を自動的に変更し、プレーヤが望む操作入力形態を実現することができる。
【0120】
しかも、本実施形態ではステップS6〜S12の処理をゲームスタート後に繰り返し実行する構成としているため、ゲーム中であっても自動的に参照TBL設定526が適切に変更されるので、ゲームをしながらでも任意にサブコントローラ1231を着脱し、好みの操作入力方法を選択できるといった前例の無い効果を実現できる。尚、ステップS6〜S12の処理をゲームスタート前に実行し、ゲーム実行中にはステップS6〜S12の処理を行わない構成とすることもできる。但しそうした構成では、ゲーム中に好みの操作入力方法を選択できるといった効果は得られなくなる。
【0121】
尚、本実施形態では、方向入力キー1242及びレバー1272でプレーヤキャラクタの操舵に係る操作入力をする構成としているが、第1加速度センサ1248或いは第2加速度センサ1276を用いて操舵に係る操作入力をする構成とすることもできる。
【0122】
例えば図13は、第1の操作入力方法の変形例を示す図であって、(a)正立面図、(b)正面より向かって右から見た右側立面図に相当する。同図に示すように、第1の操作入力方法の変形例では、ゲームコントローラ1230の下端を机やテーブルなどの上面に当てて立て、これを片手で把持して使用する。
【0123】
ゲーム演算部210は、第1加速度センサ1248により検知される3軸加速度からゲームコントローラ1230の正面に向かって左/右の傾き、及び正面に向かって手前/奥の傾きを算出する。これらの傾きの算出方法は適宜公知技術を用いることができる。例えば、第1加速度センサ1248が常時重力加速度を検知しているため、その重力加速度の方向等に基づいて上述した傾きを算出することができる。そして、左/右の傾きに応じてそれぞれプレーヤキャラクタの左旋回/右旋回が割り当てられ、手前/奥の傾きに応じてそれぞれ機首上げ/機首下げが割り当てられる。尚、以下では、この図13の傾き方向を絶対方向座標とし、この方向座標表現を絶対方向座標表現と呼ぶ。また、方向入力キー1242の上方向入力で減速、下方向入力で加速、右方向入力並びに左方向入力で攻撃目標(ロックオンの対象とすべき目標)の選択が割り当てられる。また、Eボタン1244が機銃発射、トリガー1246がミサイル発射に割り当てられる。
【0124】
一方、図14は、第2の操作入力方法の変形例を示す図であって、(a)正立面図、(b)ゲームコントローラ1230の正面より向かって右から見た右側立面図に相当する。同図に示すように、第2の操作入力方法の変形例では、ゲームコントローラ1230にサブコントローラ1231を装着する。そして、ゲームコントローラ1230の上端を机やテーブルなどの上面に当てて立てて一方の手で把持し、他方の手でサブコントローラ1231を把持する。
【0125】
第2の操作入力方法の変形例では、第1の操作入力方法の変形例と比べるとゲームコントローラ1230を逆さまにして使用することになる。よって、絶対方向座標表現において、左/右の傾きに応じてそれぞれプレーヤキャラクタの右旋回/左旋回が割り当てられ、手前/奥の傾きに応じてそれぞれ機首下げ/機首上げが割り当てられる。また、Aボタン1235で機銃発射、Bボタン1236でミサイル発射が割り当てられ、レバー1272の上方向入力で減速、下方向入力で加速、左右方向で攻撃目標の選択操作が割り当てられる。
【0126】
図15は、第1の操作入力方法の変形例に対応する第1操作割当設定TBL518のデータ構成の一例を示す図である。図16は、第2の操作入力方法の変形例に対応する第2操作割当設定TBL520のデータ構成の一例を示す図である。これらの図に示すように、操作入力種類518a,520aには、第1加速度センサ1248で検出された3軸加速度に基づく傾斜が「手前傾斜」「奥傾斜」「右傾斜」「左傾斜」が含まれ、それぞれに対応する制御命令518b,520bには本実施形態における第1の操作入力方法及び第2の操作入力方法の操舵に係る命令が割り当てられている。すなわち、加速度の検出方向に基づいて傾斜の方向、加速度の検出量と時間との積分値に基づいて操舵量が決定される。
【0127】
よって、ゲームコントローラ1230を単独で使用し片手で操作入力する形態における第1加速度センサ1248のプレーヤにとっての相対的な方向座標系と、ゲームコントローラ1230とサブコントローラ1231とを両手で使用して操作入力する形態における第1加速センサ1248のプレーヤにとっての相対的な方向座標系とを自動的に切り換えることになる。したがって、プレーヤはゲームコントローラ1230を操縦桿に見立てて操作入力することができるとともに、本実施形態の効果を同様に享受することができる。
【0128】
尚、加速度に係る制御内容の対応関係はこの例に限るものではない。例えば、基準値以上の急加速(基準値以上の大きな検出量(加速度))が伴う「急手前傾斜」「急奥傾斜」「急右傾斜」「急左傾斜」を操作入力種類518a及び520aに設定するとしても良い。そして、それぞれの制御命令518b及び520bに、図15及び図16の「手前傾斜」「奥傾斜」「右傾斜」「左傾斜」の操舵に係る命令に加えてエアブレーキの使用命令を同時出力するように設定すると良い。この場合、プレーヤが通常よりも急な傾斜操作をする(大きさ加速度となる)ことによって、別途減速操作をしなくとも自動的に減速を伴った急旋回(旋回半径の小さい旋回)が可能になるので、より操作性を向上させることができる。
勿論、操舵命令に加える命令はエアブレーキの使用に限らず、第1操作割当設定TBL519Bではエアブレーキの使用を付加し、第2操作割当設定TBL520Bではアフターバーナの使用を付加する構成としても良い。
また、加速度の検出元は、ゲームコントローラ1230の第1加速度センサ1248に限らず、サブコントローラ1231の第2加速度センサ1276(図3参照)であっても良いのは勿論である。
【0129】
〔第2実施形態〕
次に、本発明を適用した第2実施形態について説明する。本実施形態は、入力デバイスからの操作入力をプレーヤキャラクタの制御命令に変換する処理を第1実施形態のようにゲーム装置本体1201の制御ユニット1210で実行するのではなく、ゲームコントローラ1230のコントローラ制御ユニット1260で実行する点において異なる。本実施形態の説明では、この第1実施形態と異なる点を中心に述べることととし、第1実施形態と同様の構成要素については同じ符号を付与し詳細な説明は省略する。
【0130】
[機能ブロックの説明]
図17は、本実施形態における機能構成例を示す機能ブロック図である。同図に示すように、本実施形態の記憶部500には、第1実施形態におけるゲームプログラム502に相当するゲームプログラム502Bが記憶されている。また、操作入力変換TBL530が記憶されている。
【0131】
図18は、操作入力変換TBL530のデータ構成例を示す図である。同図に示すように、操作入力変換TBL530は、サブコントローラ1231が接続されている場合であっても、ゲームコントローラ1230が、ゲームコントローラ1230のみに対して操作がなされたかのような操作信号をゲーム装置本体に出力するための、操作信号の変換TBLである。換言すれば、操作入力変換TBL530は、サブコントローラ1231が接続されている状態であっても、サブコントローラ1231が接続されていないゲームコントローラ1230のみに操作がなされたかのように、操作入力を、いわば翻訳する変換TBLである。操作入力変換TBL530には、第1及び第2操作入力部それぞれの入力デバイスへの操作入力種類530aを、ゲームコントローラ1230の入力デバイスによる操作入力に変換した変換操作入力種類530bと対応づけて格納する。例えば、サブコントローラ1231のレバー1272の「レバー上方向」の入力は、方向キー1242の「左方向キー」の入力に対応付けられている。
【0132】
また、本実施形態における処理部110は、自動起動部111を備える。この自動起動部111は、コントローラ制御ユニット1260の起動ROM等に予め記憶されているプログラムをゲームコントローラ1230の電源が入ると自動的に読み込んで実行したり、ゲーム装置本体から受信したプログラムを受信及び記憶後に自動的に実行する制御部である。
【0133】
また、本実施形態における処理部110は、接続判定部212、操作入力変換部113、出力割当切換制御部216を含む。操作入力変換部113は、接続判定部212によって第2操作部120が接続されていると判定された際に、第2操作部120から出力された操作入力に係る信号を、操作入力変換TBL530に従って変換する処理を実行する。
【0134】
第1操作部100の処理部110でこれらを実現するために、第1操作部100の記憶部130には、接続判定プログラム132、操作入力変換プログラム134、出力割当切換制御プログラム136が記憶されており、これらを読み込み実行することで接続判定部212、操作入力変換部113、出力割当切換制御部216として機能する。
これらのプログラムは、ゲームプログラム502Bに含まれており、ゲーム開始前にゲーム装置本体1201からゲームコントローラ1230へ送信され記憶部130へ記憶される。勿論、これらのプログラムが予め記憶部130に記憶されているものとしても良い。
【0135】
同様に、第1出力割当設定TBL522、第2出力割当設定TBL524、操作入力変換TBL530もゲーム開始前にゲーム装置本体1201から送信され記憶部130に記憶されるか、または予め記憶されているものとしても良い。
【0136】
[処理の流れの説明]
次に、本実施形態における処理の流れとして、接続判定プログラム132、操作入力変換プログラム134、出力割当切換制御プログラム136、並びに第1出力割当設定TBL522、第2出力割当設定TBL524、操作入力変換TBL530が、ゲーム装置本体1201からゲームコントローラ1230へ提供される形態を例に挙げて説明する。
【0137】
図19は、本実施形態におけるゲーム装置本体1201における処理の流れを説明するためのフローチャートである。ここで説明される処理は、処理部200がゲームプログラム502Bを読み出して実行することによって実現される。また、図20は、本実施形態におけるゲームコントローラ1230における処理の流れを説明するためのフローチャートである。
【0138】
図19に示すように、先ず処理部200は、第1実施形態と同様に3次元仮想空間内にゲーム空間を形成してキャラクタを配置する(ステップS2)。そして、ゲームがスタートしたならば(ステップS4のYES)、接続判定プログラム132、操作入力変換プログラム134、出力割当切換制御プログラム136、並びに第1出力割当設定TBL522、第2出力割当設定TBL524、操作入力変換TBL530をゲームコントローラ1230へ送信する(ステップT5)。
【0139】
一方、ゲームコントローラ1230は、図20に示すように、先ず処理部110が、ゲーム装置本体1201から受信した信号にプログラムが含まれているか否かを判定する(ステップS100)。そして、含まれていると判定した場合には(ステップS100のYES)、接続判定プログラム132、操作入力変換プログラム134、出力割当切換制御プログラム136を記憶部130に記憶するとともに自動的に実行する(ステップS102)。次いで、同受信した信号に含まれる第1出力割当設定TBL522、第2出力割当設定TBL524、操作入力変換TBL530を記憶部130に記憶し(ステップS104)、参照TBL設定526を生成する(ステップS106)。
【0140】
次に、処理部110は、サブコントローラ1231の接続判定をする(ステップS108)。サブコントローラ1231が接続されていると判定した場合には(ステップS108のYES)、参照TBL設定526に第1出力割当設定TBL設定522を設定する(ステップS110)。そして、操作入力が有った場合には(ステップS112のYES)、操作入力変換TBL530に従って操作入力信号を変換・翻訳し(ステップS114)、変換した操作入力信号をゲーム装置本体1201に送信する(ステップS116)。
【0141】
一方、ステップS108においてサブコントローラ1231が接続されていないと判定された場合には(ステップS108のNO)、処理部110は参照TBL設定526に第2出力割当設定TBL524を設定する(ステップS112)。そして、操作入力が有った場合には(ステップS120のYES)、そのまま操作入力信号をゲーム装置本体に送信する(ステップS122)。
【0142】
つまり、ゲーム装置本体1201から見れば、ゲームコントローラ1230から送信される操作入力信号は、サブコントローラ1231の接続/未接続に係らずゲームコントローラ1230を単独で使用する場合と同様である。
【0143】
一方、ゲーム装置本体1201では、図19に示すように、ステップT5に次いで処理部200が敵キャラクタの自動制御を実行する(ステップS14)。そして、ゲームコントローラ1230から操作入力信号を受信したか否かを判定する(ステップT15)。
【0144】
先に述べたように本実施形態では、ゲーム装置本体1201から見れば、ゲームコントローラ1230から送信される操作入力信号は、サブコントローラ1231の接続/未接続に係らずゲームコントローラ1230を単独で使用する場合と同様である。したがって、ゲームコントローラ1230から操作入力信号を受信したと判定した場合には(ステップT15のYES)、処理部200は第1実施形態のように操作割当設定TBLを参照することなく、受信した操作入力信号に従ってプレーヤキャラクタを制御する(ステップT17)。
【0145】
次に、処理部200はゲーム結果の判定処理を実行し(ステップS22)、第1出力割当設定TBL522を参照し、ゲーム結果が出力条件522aに合致するか否かを判定する(ステップS24)。そして、合致すると判定した場合(ステップS24のYES)、合致した出力条件522aの情報をゲームコントローラ1230に送信する(ステップT27)。具体的には、例えば第1出力割当設定TBL522の登録順何番目の出力条件522aであるか、その登録順情報を送信するとしても良い。
そして、ゲーム終了条件を満たしていなければステップS14に戻り(ステップS28のNO)、ゲーム終了条件を満たしていればゲーム終了とする。
【0146】
一方ゲームコントローラ1230では、図20に示すように、処理部110がステップS116或いはステップS122の次に、ゲーム装置本体1201からゲーム結果が合致する出力条件の情報を受信したか否かを判定する(ステップS124)。受信したと判定した場合(ステップS124のYES)、処理部110は参照TBL設定526に設定された出力割当設定TBLを参照し、ゲーム結果が合致した出力条件に対応する出力デバイスへ出力内容522c,524cに従って出力制御信号を出力する(ステップS126)。そして、ステップS100に戻る。
よって、第1実施形態と同様に、ゲームコントローラ1230にサブコントローラ1231が接続/未接続に応じて変化する出力デバイスの構成に応じた出力割当を自動的に選択し、適切に出力することができる。
【0147】
以上、本実施形態によれば、ゲームコントローラ1230で、サブコントローラ1231の接続/未接続の状態に応じて入力デバイスからの操作入力をプレーヤキャラクタの制御命令に自動的に判定(翻訳)し、これを操作入力信号としてゲーム装置本体1201に送信することができる。したがって、ゲーム装置本体1201側から見ればゲームコントローラ1230から入力された操作入力信号を従来通りそのまま用いてゲーム処理すれば良いことになる。よって、実質的に第1実施形態と同様にゲームコントローラ1230にサブコントローラ1231を着脱することによって為される操作入力部の入力デバイス及び出力デバイスの構成の変化を自動的に検知することができる。そして、入力デバイス及び出力デバイスの構成の変化に応じて、入力デバイスへの操作割当並びに出力デバイスへの出力割当を自動的に変更し、プレーヤが望む操作入力形態を実現することができる。
【0148】
〔変形例〕
以上、本発明を適用した第1及び第2実施形態について説明したが、本発明の形態はこれらに限定されるものではなく、発明の主旨を逸脱しない限りにおいて適宜構成の追加・省略・変更をすることができる。
【0149】
例えば、本発明が適用されるゲーム装置は、家庭用ゲーム装置に限らず業務用のゲーム装置や携帯型のゲーム装置、パソコンなどであっても、ゲームコントローラ1230ならびにサブコントローラ1231に相当する構成可変な操作入力用のハードウェアを備えるならば同様に適用することができる。
【0150】
また例えば、ゲームコントローラ1230に装着する装着体は、上記実施形態におけるサブコントローラ1231の構成に限定されるものではい。例えば、図21に示すように、サブコントローラ1231とは異なる入力デバイスや出力デバイスを備えた、第2サブコントローラ1231Bや第3サブコントローラ1231Cを選択的にゲームコントローラ1230に装着可能な構成としても良い。
【0151】
例えば、第2サブコントローラ1231Bは、レバー1272の代わりの入力デバイスとしてトラックボール1272Bを備え、第2バイブレータ1278の代わりの出力デバイスとして発光部であるLED1278Bを備える。同様に、第3サブコントローラ1231Cは、方向入力可能な入力デバイスとしてタッチパッド1272Cを備え、出力デバイスとしてLCD1278Cを備える。そして、サブコントローラ1231、第2サブコントローラ1231B及び第3サブコントローラ1231Cは、それぞれ突起部1275aが異なる突寸を有している。コネクタ1275をゲームコントローラ1230の拡張端子1250に接続すると、突起部1275aがそれぞれの突寸で接続検知スイッチ1251を押し込む。接続検知スイッチ1251は、押し込み量に応じた信号を出力するので、接続の有無とどの種類のサブコントローラが接続されたかを知ることができる。
【0152】
第1実施形態の構成を踏襲するならば、これらのサブコントローラを自動的に識別可能にするために、コントローラ制御ユニット1260は接続検知スイッチ1251からの検出信号に基づいてサブコントローラの種類を示す情報を操作入力情報に含めてゲーム装置本体1201に出力するように制御する。一方、ゲーム装置本体1201は、処理部500にサブコントローラの種類に対応付けられた第2操作割当設定TBL及び第2出力割当設定TBLを複数あらかじめ記憶しておく。そして、ステップS12(図12参照)において参照TBL設定1256に接続されたサブコントローラの種類に応じた第2操作割当設定TBLと第2出力割当設置TBLを選択して設定させる。
こうすることで、第1実施形態と同様の効果を奏するととともに、使用するサブコントローラを換えることでプレーヤは好みの入力デバイスと出力デバイスとの組み合わせを自由に使用することがことができるようになる。勿論、こうした構成は第2実施形態についても同様に適用できるのは言うまでもない。
【0153】
尚、サブコントローラ1231B,Cの種類を判定する方法は、接続検知スイッチ1251及び突起部1275aによる機械的な判別方法に限らない。例えば、拡張端子1250及びコネクタ1275で接続される所定の端子にサブコントローラの種類に応じた電圧が掛けられる構成や、サブコントローラ1231に種類別に異なるICタグを内蔵させる一方、ゲームコントローラ1230のコントローラ制御ユニット1260にICタグリーダを搭載し、接続されたサブコントローラのICタグを読み取ることで判別する構成など公知の電気的な種別判別方法を利用することができる。
【図面の簡単な説明】
【0154】
【図1】家庭用ゲーム装置の構成例を示す構成図。
【図2】ゲームコントローラの一例を示す外観図。
【図3】サブコントローラの一例を示す外観図。
【図4】ゲーム画面の一例を示す画面図。
【図5】第1実施形態における第1の操作入力方法の操作割当例を示す図。
【図6】第1実施形態における第2の操作入力方法の操作割当例を示す図。
【図7】第1実施形態における機能構成の一例を示す機能ブロック図。
【図8】第1操作割当設定TBLのデータ構成例を示す図。
【図9】第2操作割当設定TBLのデータ構成例を示す図。
【図10】第1出力割当設定TBLのデータ構成例を示す図。
【図11】第2出力割当設定TBLのデータ構成例を示す図。
【図12】第1実施形態における処理の流れを説明するためのフローチャート。
【図13】第1の操作入力方法の変形例の操作割当例を示す図。
【図14】第2の操作入力方法の変形例の操作割当例を示す図。
【図15】第1の操作入力方法の変形例に対応する第1操作割当設定TBLのデータ構成の一例を示す図。
【図16】第2の操作入力方法の変形例に対応する第2操作割当設定TBLのデータ構成の一例を示す図。
【図17】第2実施形態における機能構成例を示す機能ブロック図。
【図18】操作入力変換TBLのデータ構成例を示す図。
【図19】第2実施形態におけるゲーム装置本体における処理の流れを説明するためのフローチャート。
【図20】第2実施形態におけるゲームコントローラにおける処理の流れを説明するためのフローチャート。
【図21】サブコントローラの変形例を示す図。
【符号の説明】
【0155】
100 第1操作入力部
111 自動起動部
113 操作入力変換部
114 接続部
120 第2操作部
122 接続部
200 処理部
210 ゲーム演算部
212 接続判定部
214 操作割当切換制御部
216 出力割当切換制御部
500 記憶部
502 ゲームプログラム
518 第1操作割当設定TBL
520 第2操作割当設定TBL
522 第1出力割当設定TBL
524 第2出力割当設定TBL
526 参照TBL設定
530 操作入力変換TBL
1230 ゲームコントローラ
1231 サブコントローラ

【特許請求の範囲】
【請求項1】
サブコントローラを着脱自在に接続する接続端子と、前記サブコントローラの接続有無を示す接続有無信号を出力する接続有無信号出力手段と、サブコントローラに為された操作入力及び自メインコントローラに為された操作入力の操作入力信号を出力する操作入力信号出力手段とを備えたメインコントローラから出力される前記接続有無信号及び前記操作入力信号に基づいて、コンピュータに所定のゲームの進行を制御させるためのプログラムであって、
前記接続有無信号に基づいて前記メインコントローラへの前記サブコントローラの接続有無を判定する接続判定手段、
前記メインコントローラの操作入力の種別と制御内容との対応関係が定められた第1の操作割当設定と、前記メインコントローラ及び前記サブコントローラそれぞれの操作入力の種別と制御内容との対応関係が定められた第2の操作割当設定とのうち、前記接続判定手段により接続されていないと判定された場合には、前記第1の操作割当設定を現在の操作割当設定とし、接続されていると判定された場合には、前記第2の操作割当設定を現在の操作割当設定とする操作割当切換制御手段、
として前記コンピュータを機能させ、前記操作入力信号に対応する制御内容を、前記操作割当切換制御手段により切り換えられた現在の操作割当設定から判断して前記ゲームの進行を制御させるためのプログラム。
【請求項2】
前記第1及び第2の操作割当設定に定められた制御内容には、少なくともプレーヤキャラクタの制御内容が含まれ、
前記操作入力信号に対応する制御内容を、前記操作割当切換制御手段により切り換えられた現在の操作割当設定から判断して、プレーヤキャラクタを制御するプレーヤキャラクタ制御手段として前記コンピュータを機能させるための請求項1に記載のプログラム。
【請求項3】
少なくとも上下左右の方向を操作入力可能な方向指示入力部と、サブコントローラを着脱自在に接続する接続端子と、前記サブコントローラの接続有無を示す接続有無信号を出力する接続有無信号出力手段と、サブコントローラに為された操作入力及び自メインコントローラに為された操作入力の操作入力信号を出力する操作入力信号出力手段とを備えたメインコントローラから出力される前記接続有無信号及び前記操作入力信号に基づいて、コンピュータに所定のゲームの進行を制御させるためのプログラムであって、
前記接続有無信号に基づいて前記メインコントローラへの前記サブコントローラの接続有無を判定する接続判定手段、
前記方向指示入力部に為された方向操作入力の方向座標系を、前記接続判定手段により接続されていないと判定された場合には、プレーヤが前記メインコントローラを両手で把持する第1の姿勢で把持した場合の第1の方向座標系とし、接続されていると判定された場合には、プレーヤが前記メインコントローラを片手で把持する第2の姿勢で把持した場合の第2の方向座標系とする方向操作割当切換制御手段、
として前記コンピュータを機能させ、前記方向指示入力部に為された方向操作入力を、前記方向操作割当切換制御手段により切り換えられた方向座標系に従って上下左右方向を判断して前記ゲームの進行を制御させるためのプログラム。
【請求項4】
前記メインコントローラは、少なくとも上下左右の方向を操作入力可能な方向指示入力部を備えており、
前記方向指示入力部に為された方向操作入力の方向座標系を、前記接続判定手段により接続されていないと判定された場合には、プレーヤが前記メインコントローラを両手で把持する第1の姿勢で把持した場合の第1の方向座標系とし、接続されていると判定された場合には、プレーヤが前記メインコントローラを片手で把持する第2の姿勢で把持した場合の第2の方向座標系とする方向操作割当切換制御手段として前記コンピュータを機能させ、前記方向指示入力部に為された方向操作入力を、前記方向操作割当切換制御手段により切り換えられた方向座標系に従って上下左右方向を判断して前記ゲームの進行を制御させるための請求項1又は2に記載のプログラム。
【請求項5】
加速度センサと、サブコントローラを着脱自在に接続する接続端子と、前記サブコントローラの接続有無を示す接続有無信号を出力する接続有無信号出力手段と、サブコントローラに為された操作入力及び前記加速度センサの検出結果を含む自メインコントローラに為された操作入力の操作入力信号を出力する操作入力信号出力手段とを備えたメインコントローラから出力される前記接続有無信号及び前記操作入力信号に基づいて、コンピュータに所定のゲームの進行を制御させるためのプログラムであって、
前記接続有無信号に基づいて前記メインコントローラへの前記サブコントローラの接続有無を判定する接続判定手段、
前記加速度センサの検出方向と制御内容との対応関係が定められた第1及び第2の検出方向割当設定のうち、前記接続判定手段により接続されていないと判定された場合には第1の検出方向割当設定を現在の検出方向割当設定とし、接続されていると判定された場合には第2の検出方向割当設定を現在の検出方向割当設定とする検出方向割当切換制御手段、
として前記コンピュータを機能させ、前記加速度センサの検出方向に対応する制御内容を、前記検出方向割当切換制御手段により切り換えられた現在の検出方向割当設定から判断して前記ゲームの進行を制御させるためのプログラム。
【請求項6】
前記メインコントローラは、加速度センサを備えており、
前記加速度センサの検出方向と制御内容との対応関係が定められた第1及び第2の検出方向割当設定のうち、前記接続判定手段により接続されていないと判定された場合には第1の検出方向割当設定を現在の検出方向割当設定とし、接続されていると判定された場合には第2の検出方向割当設定を現在の検出方向割当設定とする検出方向割当切換制御手段として前記コンピュータを機能させ、前記加速度センサの検出方向に対応する制御内容を、前記検出方向割当切換制御手段により切り換えられた現在の検出方向割当設定から判断して前記ゲームの進行を制御させるための請求項1〜4の何れか一項に記載のプログラム。
【請求項7】
加速度センサと、サブコントローラを着脱自在に接続する接続端子と、前記サブコントローラの接続有無を示す接続有無信号を出力する接続有無信号出力手段と、サブコントローラに為された操作入力及び前記加速度センサの検出結果を含む自メインコントローラに為された操作入力の操作入力信号を出力する操作入力信号出力手段とを備えたメインコントローラから出力される前記接続有無信号及び前記操作入力信号に基づいて、コンピュータに所定のゲームの進行を制御させるためのプログラムであって、
前記接続有無信号に基づいて前記メインコントローラへの前記サブコントローラの接続有無を判定する接続判定手段、
前記加速度センサの検出量と制御内容との対応関係が定められた第1及び第2の検出量割当設定のうち、前記接続判定手段により接続されていないと判定された場合には第1の検出量割当設定を現在の検出量割当設定とし、接続されていると判定された場合には第2の検出量割当設定を現在の検出量割当設定とする検出量割当切換制御手段、
として前記コンピュータを機能させ、前記加速度センサの検出量に対応する制御内容を、前記検出量割当切換制御手段により切り換えられた現在の検出量割当設定から判断して前記ゲームの進行を制御させるためのプログラム。
【請求項8】
前記メインコントローラは、加速度センサを備えており、
前記加速度センサの検出量と制御内容との対応関係が定められた第1及び第2の検出量割当設定のうち、前記接続判定手段により接続されていないと判定された場合には第1の検出量割当設定を現在の検出量割当設定とし、接続されていると判定された場合には第2の検出量割当設定を現在の検出量割当設定とする検出量割当切換制御手段として前記コンピュータを機能させ、前記加速度センサの検出量に対応する制御内容を、前記検出量割当切換制御手段により切り換えられた現在の検出量割当設定から判断して前記ゲームの進行を制御させるための請求項1〜6の何れか一項に記載のプログラム。
【請求項9】
前記メインコントローラは、振動部、発光部及び表示部のうちの少なくとも1つの出力素子と、前記コンピュータから入力される制御信号に従って前記出力素子を制御する出力素子制御手段とを備えており、
前記出力素子の制御方法が定められた第1及び第2の出力素子制御方法のうち、前記接続判定手段により接続されていないと判定された場合には第1の出力素子制御方法とし、接続されていると判定された場合には第2の出力素子制御方法とする出力素子制御方法切換手段、
前記出力素子制御方法切換手段により切り換えられた出力素子制御方法に従った制御信号を前記メインコントローラに出力する制御信号出力手段、
として前記コンピュータを機能させるための請求項1〜8の何れか一項に記載のプログラム。
【請求項10】
請求項1〜9の何れか一項に記載のプログラムを記憶したコンピュータ読取可能な情報記憶媒体。
【請求項11】
サブコントローラを着脱自在に接続する接続端子と、前記サブコントローラの接続有無を示す接続有無信号を出力する接続有無信号出力手段と、サブコントローラに為された操作入力及び自メインコントローラに為された操作入力の操作入力信号を出力する操作入力信号出力手段とを有するメインコントローラから出力される前記接続有無信号及び前記操作入力信号に基づいて、所定のゲームの進行を制御するゲーム装置であって、
前記接続有無信号に基づいて前記メインコントローラへの前記サブコントローラの接続有無を判定する接続判定手段と、
前記メインコントローラの操作入力の種別と制御内容との対応関係が定められた第1の操作割当設定と、前記メインコントローラ及び前記サブコントローラそれぞれの操作入力の種別と制御内容との対応関係が定められた第2の操作割当設定とのうち、前記接続判定手段により接続されていないと判定された場合には、前記第1の操作割当設定を現在の操作割当設定とし、接続されていると判定された場合には、前記第2の操作割当設定を現在の操作割当設定とする操作割当切換制御手段と、
を備え、前記操作入力信号に対応する制御内容を、前記操作割当切換制御手段により切り換えられた現在の操作割当設定から判断して前記ゲームの進行を制御するゲーム装置。
【請求項12】
少なくとも上下左右の方向を操作入力可能な方向指示入力部と、サブコントローラを着脱自在に接続する接続端子と、前記サブコントローラの接続有無を示す接続有無信号を出力する接続有無信号出力手段と、サブコントローラに為された操作入力及び自メインコントローラに為された操作入力の操作入力信号を出力する操作入力信号出力手段とを有するメインコントローラから出力される前記接続有無信号及び前記操作入力信号に基づいて、所定のゲームの進行を制御するゲーム装置であって、
前記接続有無信号に基づいて前記メインコントローラへの前記サブコントローラの接続有無を判定する接続判定手段と、
前記方向指示入力部に為された方向操作入力の方向座標系を、前記接続判定手段により接続されていないと判定された場合には、プレーヤが前記メインコントローラを両手で把持する第1の姿勢で把持した場合の第1の方向座標系とし、接続されていると判定された場合には、プレーヤが前記メインコントローラを片手で把持する第2の姿勢で把持した場合の第2の方向座標系とする方向操作割当切換制御手段と、
を備え、前記方向指示入力部に為された方向操作入力を、前記方向操作割当切換制御手段により切り換えられた方向座標系に従って上下左右方向を判断して前記ゲームの進行を制御するゲーム装置。
【請求項13】
加速度センサと、サブコントローラを着脱自在に接続する接続端子と、前記サブコントローラの接続有無を示す接続有無信号を出力する接続有無信号出力手段と、サブコントローラに為された操作入力及び前記加速度センサの検出結果を含む自メインコントローラに為された操作入力の操作入力信号を出力する操作入力信号出力手段とを有するメインコントローラから出力される前記接続有無信号及び前記操作入力信号に基づいて、所定のゲームの進行を制御するゲーム装置であって、
前記接続有無信号に基づいて前記メインコントローラへの前記サブコントローラの接続有無を判定する接続判定手段と、
前記加速度センサの検出方向と制御内容との対応関係が定められた第1及び第2の検出方向割当設定のうち、前記接続判定手段により接続されていないと判定された場合には第1の検出方向割当設定を現在の検出方向割当設定とし、接続されていると判定された場合には第2の検出方向割当設定を現在の検出方向割当設定とする検出方向割当切換制御手段と、
を備え、前記加速度センサの検出方向に対応する制御内容を、前記検出方向割当切換制御手段により切り換えられた現在の検出方向割当設定から判断して前記ゲームの進行を制御するゲーム装置。
【請求項14】
加速度センサと、サブコントローラを着脱自在に接続する接続端子と、前記サブコントローラの接続有無を示す接続有無信号を出力する接続有無信号出力手段と、サブコントローラに為された操作入力及び前記加速度センサの検出結果を含む自メインコントローラに為された操作入力の操作入力信号を出力する操作入力信号出力手段とを有するメインコントローラから出力される前記接続有無信号及び前記操作入力信号に基づいて、所定のゲームの進行を制御するゲーム装置であって、
前記接続有無信号に基づいて前記メインコントローラへの前記サブコントローラの接続有無を判定する接続判定手段と、
前記加速度センサの検出量と制御内容との対応関係が定められた第1及び第2の検出量割当設定のうち、前記接続判定手段により接続されていないと判定された場合には第1の検出量割当設定を現在の検出量割当設定とし、接続されていると判定された場合には第2の検出量割当設定を現在の検出量割当設定とする検出量割当切換制御手段と、
を備え、前記加速度センサの検出量に対応する制御内容を、前記検出量割当切換制御手段により切り換えられた現在の検出量割当設定から判断して前記ゲームの進行を制御するゲーム装置。
【請求項15】
操作入力部と、
前記操作入力部に為された操作入力の信号出力を制御する信号出力制御手段と、
サブコントローラを着脱自在に接続する接続端子と、
前記サブコントローラの接続を検出する接続検出手段と、
を備え、前記信号出力制御手段が、前記接続検出手段による検出がなされた際に、前記サブコントローラからのサブコントローラ操作入力信号を、前記操作入力部の操作入力信号に変換して出力する信号変換出力手段を有するコントローラ。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21】
image rotate