JP4790930B2 - シューティングゲーム用コントローラおよび指示位置検出方法 - Google Patents

シューティングゲーム用コントローラおよび指示位置検出方法 Download PDF

Info

Publication number
JP4790930B2
JP4790930B2 JP2001162923A JP2001162923A JP4790930B2 JP 4790930 B2 JP4790930 B2 JP 4790930B2 JP 2001162923 A JP2001162923 A JP 2001162923A JP 2001162923 A JP2001162923 A JP 2001162923A JP 4790930 B2 JP4790930 B2 JP 4790930B2
Authority
JP
Japan
Prior art keywords
timing
detected
screen
light
controller
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
JP2001162923A
Other languages
English (en)
Other versions
JP2002346224A (ja
Inventor
政紀 佐藤
晋 井上
哲之 大塚
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nintendo Co Ltd
Original Assignee
Nintendo Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nintendo Co Ltd filed Critical Nintendo Co Ltd
Priority to JP2001162923A priority Critical patent/JP4790930B2/ja
Publication of JP2002346224A publication Critical patent/JP2002346224A/ja
Application granted granted Critical
Publication of JP4790930B2 publication Critical patent/JP4790930B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Description

【0001】
【産業上の利用分野】
この発明は、シューティングゲーム用コントローラおよびその指示位置検出方法に関し、特にたとえば、ラスタ走査型のディスプレイにシューティング画面を表示するゲーム機と連動し、プレイヤによってトリガ操作が行われたときゲーム機に着弾点を指定する、シューティングゲーム用コントローラおよびその指示位置検出方法に関する。
【0002】
【従来の技術】
従来のこの種のシューティングゲーム用コントローラの一例が、平成9年8月22日付けで登録された特許第2686675号に開示されている。この従来技術は、トリガ操作が行われたときにラスタ走査方式のCRTにフラッシュ画面を表示し、ガン模型の光センサが捕らえている位置(着弾位置)に出現したラスタ光を当該光センサによって検知し、光センサからの検知信号に基づいて着弾位置のXY座標値を算出しようとするものである。
【0003】
【発明が解決しようとする課題】
しかし、この従来技術では、XY座標値の算出はゲーム機側で行われるため、ガン模型の光センサとゲーム機との間の通信状態が悪い場合、特に無線通信の場合には、データ転送中に混信などが起こり、同一データを再送信する必要がある。つまり、同期転送できないため、検知信号の転送に遅延が生じてしまう。したがって、着弾点がプレイヤの狙った位置から外れてしまうという問題があり、ゲーム性を損ねていた。
【0004】
このような問題を解決したシューティングゲーム用コントローラの一例が、平成11年11月24日付けで出願公開された特開平11−319316号公報[A63F 9/22]に開示されている。この従来技術では、モニタ画面に枠を含む画像が表示され、銃型コントローラによりモニタ画面に対して位置を指示しながら、モニタ画面に表示される画像が撮像される。すると、撮像された画像から枠が検出され、撮像された画像内の枠の位置に基づいて指示した位置(指示位置)が決定され、その指示位置(座標値)がゲーム装置に出力される。
【0005】
この従来技術では、正確な指示位置すなわち着弾位置をゲーム装置に指示することができるが、人工網膜ユニットのような撮像手段を設けるため、装置自体が高価である。また、撮像されたゲーム画面に所定の画像処理が施され、指示位置が決定されるため、その画像処理をゲームの進行に違和感や不快感を与えないように実行するためには、処理能力の高い演算装置を用いる必要があり、これも高価の要因になっていた。さらに、プレイヤが所定距離より近づいた場合に、人口網膜ユニットで捕らえることができる領域がモニタ画面、特に画像内の枠より小さくなると、画像内の枠を撮像できないために、正確な指示位置を出力できないという問題も生じる。
【0006】
それゆえに、この発明の主たる目的は、安価な構成で正確な着弾点もしくは指示位置を指示することができる、シューティングゲーム用コントローラおよび指示位置検出方法を提供することである。
【0007】
この発明の他の目的は、ラスタ走査型のモニタに近づきすぎても着弾位置を検出することができる、シューティングゲーム用コントローラおよび指示位置検出方法を提供することである。
【0008】
【課題を解決するための手段】
第1の発明は、ラスタ走査型のモニタにシューティング画面を表示するゲーム機と連動し、プレイヤのトリガ操作に基づいてゲーム機に着弾点を指示するシューティングゲーム用コントローラであって、モニタ画面よりも広い範囲の第1領域の光を検出する第1光センサ、モニタ画面上の着弾点位置を含む狭い範囲の第2領域の光を検出する第2光センサ、トリガ操作に応答してフラッシュ画面表示要求をゲーム機に送信する第1送信手段、フラッシュ画面表示要求に基づいてモニタにフラッシュ画面が描画されるとき、第1光センサの出力の時系列変化に基づいてフラッシュ画面の描画が開始される第1タイミングを検出する第1検出手段、フラッシュ画面が描画されるとき、第2光センサの出力の時系列変化に基づいて着弾点位置が明るくなる第2タイミングを検出する第2検出手段、第1タイミングと第2タイミングとに基づいて着弾点位置の位置情報を作成する作成手段、および位置情報をゲーム機に送信する第2送信手段を備えることを特徴とする、シューティングゲーム用コントローラである。
【0009】
第2の発明は、ラスタ走査型のモニタにゲーム機によってシューティング画面が表示され、プレイヤのトリガ操作に基づいて着弾点に相当する指示位置が指示されたとき、その指示位置を検出する指示位置検出方法であって、モニタ画面よりも広い範囲の第1領域の光を検出し、モニタ画面上の指示位置を含む狭い範囲の第2領域の光を検出し、トリガ操作に応答してフラッシュ画面表示要求をゲーム機に送信し、フラッシュ画面表示要求に基づいてモニタにフラッシュ画面が描画されるとき、第1領域の光の時系列変化に基づいてフラッシュ画面の描画が開始される第1タイミングを検出し、第2領域の光の時系列変化に基づいて指示位置が明るくなる第2タイミングを検出し、そして第1タイミングと第2タイミングとに基づいて指示位置の位置情報を検出する、指示位置検出方法である。
【0010】
第3の発明は、ラスタ走査型のモニタの画面上で所望の位置が指示されるとき、その指示位置を検出する指示位置検出方法であって、モニタ画面よりも広い範囲の第1領域の光を検出し、モニタ画面上の指示位置を含む狭い範囲の第2領域の光を検出し、所望の位置が指示され、モニタにフラッシュ画面が描画されるとき、第1領域の光の時系列変化に基づいてフラッシュ画面の描画が開始される第1タイミングを検出し、第2領域の光の時系列変化に基づいて指示位置が明るくなる第2タイミングを検出し、そして第1タイミングと第2タイミングとに基づいて指示位置の位置情報を検出する、指示位置検出方法。である。
【0011】
【作用】
この発明のシューティングゲーム用コントローラ(以下、単に「コントローラ」という。)は、ラスタ走査型のモニタにシューティング画面を表示するゲーム機と連動し、プレイヤのトリガ操作に基づいて、プレイヤが狙った(指示した)指示位置すなわち着弾点をゲーム機に指示する。コントローラには、テレビジョン受像機のようなモニタ画面よりも広い範囲の第1領域の光を検出する第1光センサとそのようなモニタ画面上の着弾点位置を含む狭い範囲の第2領域の光を検出する第2光センサとが設けられる。たとえば、プレイヤがガントリガを操作すると、このトリガ操作に応答してフラッシュ画面表示要求がゲーム機に送信される。すると、ゲーム機は、フラッシュ画面表示要求に応答して、モニタ画面にフラッシュ画面を描画する。このとき、第1検出手段は、第1光センサの出力の時系列変化に基づいて、フラッシュ画面の描画が開始される第1タイミングを検出する。つまり、フラッシュ画面の描画開始位置(モニタの表示画面の左上隅の位置)が検出される。また、第2検出手段は、第2光センサの出力の時系列変化に基づいて、着弾点位置が明るくなる第2タイミングを検出する。この第1タイミング(描画開始位置)と第2タイミング(着弾点位置)とに基づいて、作成手段が着弾点位置の位置情報を作成し、作成された位置情報が第2送信手段によってゲーム機に送信される。具体的には、モニタ画面における着弾点の座標(XY座標)が検出され、その座標がゲーム機に指示(入力)される。
【0012】
ただし、このようなコントローラを用いた着弾点の検出は、ライトペンのような入力装置にも適用することができる。たとえば、ライトペンを用いてモニタの画面上における所望の位置が指示されると、その指示位置の位置情報(座標)が第1光センサおよび第2光センサの出力の時系列変化に基づいて検出される。その検出方法は、上述したような方法と同じである。ただし、このような入力装置では、ガントリガを用いるようなトリガ操作は必要ない。
【0013】
たとえば、第1検出手段は、第1光センサの出力の時系列変化の中から、モニタの垂直ブランキング期間に相当する期間にわたる低輝度を検出し、その後に1ライン分の水平走査期間に相当する期間にわたる高輝度を検出したとき、フラッシュ画面を正常に検出していると判断する。したがって、その水平走査期間に相当する高輝度の期間の開始時点を第1タイミングとして決定(検出)することができる。
【0014】
また、第1光センサの出力を第1サンプリング手段によってサンプリングするので、そのサンプリング結果が垂直ブランキング期間に相当する期間にわたって低輝度を示し、その後、1ライン分の水平走査期間に相当する期間にわたって高輝度を示すとき、つまり、正常にフラッシュ画面を検出しているとき、第1決定手段は、その水平走査期間に相当する期間の開始時点を第1タイミングに決定できる。また、第2光センサの出力を第2サンプリング手段によってサンプリングするので、そのサンプリング結果が低輝度から高輝度への変化を示すとき、つまり、着弾点位置が明るくなるとき、第2決定手段は、その変化時点を第2タイミングに決定できる。
【0015】
さらに、トリガ操作に応答してカウントを開始するカウンタを設けるようにすれば、第1タイミングにおける第1カウント値と第2タイミングにおける第2カウント値とを取得し、その2つのカウント値に基づいて位置情報を算出することができる。たとえば、カウンタが水平走査のドットに同期する発振周波数信号のパルスをカウントするようにしておけば、第1カウント値と第2カウント値とに基づいて、フラッシュ画面の描画開始位置から着弾点位置までのカウント値を算出することができる。したがって、算出したカウント値に基づいて着弾点の座標を特定することができる。
【0016】
なお、カウンタのカウントを第1タイミングから開始するようにしておけば、第2タイミングにおける第2カウント値に基づいて着弾点位置の座標を特定することもできる。
【0017】
さらにまた、第1領域よりも広い範囲の第3領域の光を検出する第3光センサを設けるようにすれば、第2光センサの出力に基づいて描画開始位置すなわち第1タイミングを検出することができない場合に、第3検出手段が第3光センサの出力に基づいて第1タイミングを検出する。このため、プレイヤがモニタに近づき過ぎた場合やモニタの端部を狙った場合でも、つまりコントローラを構える位置に拘わらず、正確に着弾点位置を検出することができ、ゲーム性を損ねることがない。
【0018】
具体的には、有効化手段は、第1検出手段によって検出された第1タイミングを、第3検出手段によって検出された第1タイミングに優先して有効化するので、上述したように、第1検出手段で第1タイミングを検出できない場合に第3検出手段で第1タイミングが検出される。つまり、第3検出手段は、第1検出手段よりも広い範囲の光を検出することができるが、第1検出手段に比べて精度が低いため、第1検出手段が優先される。したがって、作成手段は有効化手段によって有効化された第1検出手段或いは第3検出手段によって検出された第1タイミングと第2タイミングとに基づいて、位置情報を作成することができる。
【0019】
たとえば、第1送信手段および第2送信手段はそれぞれ無線通信方式によってフラッシュ画面表示要求および着弾表示要求を送信するので、コントローラとゲーム機とをケーブル接続した場合に比べてプレイヤは自由に移動することができ、操作性を向上させることができる。
【0020】
【発明の効果】
この発明によれば、光センサのような安価な素子を用いるので、価格を抑えることができる。また、着弾点の位置情報をゲーム機に送信するので、ゲーム機はプレイヤが狙った着弾点を正確に検出して、ゲームを進行することができる。さらに、モニタに近づきすぎても、モニタ画面上の着弾点の位置情報をゲーム機に指示することができる。
【0021】
この発明の上述の目的,その他の目的,特徴および利点は、図面を参照して行う以下の実施例の詳細な説明から一層明らかとなろう。
【0022】
【実施例】
<第1実施例>
図1を参照して、第1実施例のガンゲームシステム(以下、単に「システム」という。)10はシューティングゲーム用コントローラすなわちガンコントローラ(以下、単に「コントローラ」という。)12を含み、コントローラ12は拳銃を模して形成される。コントローラ12には、銃の引き金に相当する部分にガントリガ14が設けられ、銃口に相当する部分に狭域(第2領域)光センサ16が設けられる。この狭域光センサ16の上方には、中域(第1領域)光センサ18が設けられる。さらに、コントローラ12には、アンテナ20が設けられる。
【0023】
また、システム10はゲーム機22を含み、ゲーム機22にはアンテナ24が設けられる。ゲーム機22は、テレビジョン受像機(以下、「TV受像機」という。)26に、たとえばAVケーブル等のケーブル28によって接続される。
【0024】
なお、TV受像機26に換えて、受信機等を含まないCRTモニタを接続するようにすることもできる。
【0025】
図2に示すように、コントローラ12はCPU30を含み、CPU30には狭域光センサ16および中域光センサ18が、それぞれ、アンド回路32およびアンド回路34を介して接続される。狭域光センサ16は、コントローラ12が指定(指示)している指示位置(焦点位置)の光を検出する。中域光センサ18は、コントローラ12が指定(指示)している方向のある一定領域(一定範囲)内の光を検出し、この実施例では、TV受像機26の表示画面26aから1m離れた位置で半径36インチ程度の範囲についての光を検出することができる。
【0026】
具体的な構成について説明すると、狭域光センサ16は、凸レンズ16aを含み、凸レンズ16aを経た光がフォトダイオード(PD)16bに入射される。PD16bにはオペアンプのようなアンプ(AMP)16cが接続され、アンプ16cはPD16bに入射された光の強度(明るさ)に応じた電気信号を生成し、その電気信号を2値化する。つまり、アンプ16は、電気信号のレベルが所定レベル以上であれば、すなわちPD16bに入射された光が高輝度であれば、ハイレベルの信号を出力する。一方、アンプ16は、電気信号のレベルが所定レベルより小さければ、すなわちPD16bに入射された光が低輝度であれば、ローレベルの信号を出力する。
【0027】
この実施例では、所定レベルは、フラッシュ光かどうかを判断することができる値であり、実験等により経験的に得られる値である。以下、この実施例において同じである。アンプ16cから出力されるハイレベルまたはローレベル(H/L)の信号は、アンド回路32の一方入力端に入力される。
【0028】
また、中域光センサ18は、光学レンズ16aよりも厚く形成された広角レンズ18aを含み、広角レンズ18aを経た光がPD18bに入射される。PD18bにはアンプ16cと同様のアンプ18cが接続され、アンプ18cはPD18bに入射された光の明るさに応じた電気信号を生成し、その電気信号を2値化する。つまり、アンプ18cは、電気信号のレベルが所定レベル以上であれば、すなわちPD18bに入射された光が高輝度であれば、ハイレベルの信号を出力する。一方、アンプ18cは、電気信号のレベルが所定レベルより小さければ、すなわちPD18bに入射された光が低輝度であれば、ローレベルの信号を出力する。このハイレベルまたはローレベル(H/L)の信号は、アンド回路34の一方入力端に入力される。
【0029】
上述したように、コントローラ12はガントリガ14を含み、図2に示すように、ガントリガ14はオン/オフを切り換えるためのスイッチ14aを含む。このスイッチ14aの一方端は、抵抗14bを介して定電圧電源Vccに接続され、スイッチ14aの他方端は基準電位(接地)に接続される。スイッチ14aと抵抗14bとの接続点がCPU30に接続される。
【0030】
ガントリガ14がオンされると、つまりスイッチ14aがオンされると、定電圧電源Vccは、抵抗14bおよびスイッチ14aを介して接地に与えられる。一方、ガントリガ14がオフであれば、つまりスイッチ14aがオフであれば、定電圧電源Vccは、抵抗14bを介してCPU30に与えられる。つまり、ガントリガ14がオフである場合には、ハイレベルの電圧がCPU30に印加され、ガントリガ14がオンである場合には、ローレベル(0V)の電圧がCPU30に印加される。したがって、CPU30は、定電圧電源Vccから印加される電圧のレベルに応じてガントリガ14のオン/オフを判別する。
【0031】
CPU30は、ガントリガ14がオフであれば、アンド回路32およびアンド回路34の他方入力端にローレベルの信号を出力する。或いは、信号を出力しない。一方、ガントリガ14がオンされると、CPU30は、アンド回路32およびアンド回路34の他方入力端にハイレベルの信号を出力する。アンド回路32およびアンド回路34のそれぞれは、一方入力端および他方入力端にハイレベルの信号が入力されると、ハイレベルの信号をCPU30に出力し、一方入力端および他方入力端の少なくとも一方にローレベルの信号が入力されると、ローレベルの信号をCPU30に出力する。
【0032】
また、CPU30は、ガントリガ14がオンされると、ドットカウント用の内部カウンタ36をリセットおよびスタートする。つまり、内部カウンタ36のカウント値が0にされ、カウントが開始される。この内部カウンタ36は、CPU30からカウント停止指令が与えられるまでカウントを続ける。
【0033】
コントローラ12は、さらに、ROM38、RAM40、発振器42および無線通信ユニット44を含み、ROM38、RAM40、発振器42および無線通信ユニット44は、それぞれCPU30に接続される。
【0034】
ROM38は、図3に示すように、着弾点の座標算出プログラム、座標テーブル、垂直ブランキング(BK)期間情報および水平走査期間情報を記憶する。ここで、座標テーブルとは、内部カウンタ36のカウント値に対応するTV受像機26の表示画面26a上における各点(ドット)の位置を示すXY座標のテーブルをいう。また、垂直BK期間情報とは、垂直BK期間に相当する内部カウンタ36のカウント値をいい、水平走査期間情報とは、水平走査期間に相当する内部カウンタ36のカウント値をいう。
【0035】
RAM40は、図4に示すように、少なくとも狭域光センサ16用の領域60と中域光センサ18用の領域62とを有している。狭域光センサ16用の領域60には、着弾点検出フラグ64およびそれに関連づけて着弾点レジスタ66が設けられる。
【0036】
中域光センサ18用の領域62には、基準点検出済フラグ68およびそれに関連づけて基準点レジスタ70が設けられる。また、垂直ブランキング(BK)期間検出フラグ72が設けられる。さらに、立ち下がりフラグ74およびそれに関連づけて立ち下がりレジスタ76が設けられる。さらにまた、立ち上がりフラグ78およびそれに関連づけて立ち上がりレジスタ80が設けられる。
【0037】
発振器42は、TV受像機26における水平ラインのドットに同期した周波数で発振し、発振周波数信号がCPU30に入力される。内部カウンタ36は、この発振周波数信号におけるパルスの立ち上がりエッジ或いは立ち下がりエッジの数(ドット数)をカウントする。たとえば、内部カウンタ36は、発振器42からの発振周波数信号のパルス(立ち上がりエッジ或いは立ち下がりエッジ)を1つ検出するごとにインクリメントされる。
【0038】
図2に戻って、ゲーム機22はCPU46を含み、CPU46には無線通信ユニット48、ROM50およびRAM52が接続される。無線通信ユニット48(アンテナ24を含む。)は、コントローラ12との間でデータ通信を実行する。
【0039】
ROM50は、図示は省略するが、ガンゲームのプログラム、フラッシュ画面描画のプログラムおよび表示画面26aに表示するシューティング画面におけるキャラクタ(標的)の座標データを記憶する。
【0040】
なお、ROM50は、ゲーム機22本体内蔵に限られず、ゲーム機22本体に着脱可能なROMカートリッジであってもよい。
【0041】
RAM52は、CPU46のワーキングメモリおよびバッファメモリとして使用され、主として、TV受像機26の表示画面26aに表示する画面(シューティング画面およびフラッシュ画面)に対応する画面データを展開するために使用される。
【0042】
たとえば、ガンゲームが開始されると、ゲーム機22は、ガントリガ14のオン/オフに応じて、シューティング画面或いはフラッシュ画面の描画を実行する。つまり、図5(A)に示すように、シューティング画面或いはフラッシュ画面を描画するためのフレーム(TVフレーム)がガントリガ14のオン/オフに応じて遷移される。このとき、シューティング画面およびフラッシュ画面のそれぞれに対応する映像信号は、図5(B)のように、示される。ガントリガ14がオンされると、図5(C)に示すように、CPU30はハイレベルの信号をアンド回路32およびアンド回路34の他方入力端に入力する。また、CPU30は、無線通信ユニット44を介してフラッシュ画面の描画の指示(以下、「フラッシュ信号」という。)をゲーム機22に送信する。これと同時に、CPU30は、狭域光センサ16、中域光センサ18および内部カウンタ36を起動する。つまり、狭域光センサ16および中域光センサ18を能動化し、つまりアンド回路32およびアンド回路34の出力を有効化し、内部カウンタ36をリセットおよびスタートする。
【0043】
ゲーム機22では、無線通信ユニット48がフラッシュ信号を受けて(受信して)、CPU46に送信する。これに応じて、CPU46はROM50に記憶されたフラッシュ画面の描画プログラムを起動し、RAM52を用いてフラッシュ画面に対応する画面データを展開した後、ラスタ走査(ラスタスキャン)方式で読み出し、TV受像機26にケーブル28を介してフラッシュ画面のテレビジョン信号を送信する。したがって、TV受像機26の表示画面26aにフラッシュ画面が描画される。
【0044】
たとえば、図6に示すように、プレイヤがコントローラ12をTV受像機26の表示画面26aから所定距離(この実施例では、1m)離れた位置で構えて、ガントリガ14を操作(オン)すると、中域光センサ18は、TV受像機26の表示画面26aと同一平面上であり、かつ表示画面26aよりも広い範囲の第1領域82内の光を検出する。また、狭域光センサ16は、同じく表示画面26aと同一平面上であり、第1領域82よりも狭い範囲の第2領域84内の光を検出する。
【0045】
したがって、フラッシュ画面が描画されると、中域光センサ18によって、表示画面26a全体のフラッシュ光が検出され、狭域光センサ16によって、プレイヤが指示した所望の位置(着弾点位置)のフラッシュ光が検出される。CPU30は、中域光センサ18および狭域光センサ16の出力を検出し、フラッシュ画面の描画が開始されるタイミング(第1タイミング)を検出するとともに、着弾点位置が明るくなるタイミング(第2タイミング)を検出する。
【0046】
なお、この実施例では、フラッシュ画面の描画が開始される位置(描画開始位置)は、表示画面26aの左上隅である。
【0047】
具体的には、CPU30は、中域光センサ18の出力すなわちアンド回路34の出力をサンプリングし、その時系列変化を検出する。アンド回路34(中域光センサ18)の出力の時系列変化は、図5(D)に示すように、少なくとも垂直BK期間が経過するまで、ローレベルであり、垂直BK期間が経過すると、ハイレベルとなり、そのハイレベルの状態が水平走査期間(第1ライン)だけ維持される。その後、ローレベルの状態が水平BK期間だけ維持された後、ハイレベルの状態が水平走査期間(第2ライン)だけ維持され、それが末尾ラインまで交互に繰り返される。
【0048】
したがって、CPU30は、アンド回路34の出力の時系列変化が垂直BK期間以上に相当する期間にわたって低輝度(ローレベル)を示し、その後に1ライン分の水平走査期間に相当する期間にわたって高輝度(ハイレベル)を示すとき、フラッシュ画面の光(フラッシュ光)を正常に検出していると判断する。そして、CPU30は、垂直BK期間に相当する期間が経過した後の1ライン分の水平走査期間に相当する期間の開始時点、すなわち第1ラインの開始時点を第1タイミングに決定し、その第1タイミングにおける内部カウンタ36のカウント値をRAM40に記憶する。
【0049】
また、CPU30は、狭域光センサ16の出力すなわちアンプ32の出力をサンプリングし、図5(E)に示すような時系列変化を検出する。CPU30は、その時系列変化が低輝度から高輝度に変化するとき、当該変化時点を着弾点が明るくなる時点(第2タイミング)に決定し、その第2タイミングにおける内部カウンタ36のカウント値をRAM40に記憶する。
【0050】
ただし、図5(E)に示すように、狭域光センサ16の出力すなわちアンド回路32の出力は、第nライン、第n+1ラインおよび第n+2ラインでローレベルからハイレベルに変化している。ここで、3ライン分にハイレベルが現われているのは、通常、プレイヤが標的を狙ったことを示す第2領域84の大きさが走査線の幅よりも大きいためである。また、第n+1ラインの受光時間が最も長くなっているのは、第n+1ラインが第2領域のほぼ中央を通過しているので、第nライン,第n+2ラインよりも受光時間が長くなるためである。
【0051】
このように、狭域光センサ16の出力がローレベルからハイレベルに変化する水平ラインは複数検出されるが、このように変化する水平ラインは少なくとも1つ検出すれば着弾点の座標を特定することができる。したがって、この実施例では、狭域光センサ16の出力が最初にローレベルからハイレベルに変化したときに、CPU30は着弾点を検出したと判断し、その時点における内部カウンタ36のカウント値をRAM40に記憶するようにしてある。
【0052】
なお、狭域光センサ16の出力がローレベルからハイレベルに変化する水平ラインを検出したときのカウント値のそれぞれをRAM40に記憶しておき、複数の座標を特定するようにしてもよい。また、任意の回数目にローレベルからハイレベルに変化する水平ラインを検出したときのカウント値をRAM40に記憶したり、ローレベルからハイレベルに変化した複数の水平ラインの中でハイレベルの期間がもっとも長くなる水平ラインを検出したときのカウント値をRAM40に記憶したりして、着弾点の座標を特定するようにしてもよい。
【0053】
CPU30は、RAM40に記憶された第1タイミング(描画開始位置)におけるカウント値と第2タイミング(着弾点位置)におけるカウント値との差分を算出し、その差分で示されるカウント値からROM38に記憶されている座標テーブルを参照して、着弾点の座標を特定(同定)する。座標が特定されると、その座標に対応するデータ(座標データ)がゲーム機22に送信される。つまり、着弾点の座標がゲーム機22に指示される。
【0054】
ゲーム機22では、受信した座標データと表示画面26aに表示した標的の座標データとを比較し、標的に命中したかどうかを判定する。そして、判定した結果(判定結果)に応じて、ゲームの進行やシューティング画面の描画などを決定する。つまり、判定結果がゲームの進行やシューティング画面に反映される。
【0055】
上述のような動作を、コントローラ12のCPU30とゲーム機22のCPU46とが図7に示すフロー図に従って処理し、ガンゲームを実行する。
【0056】
図7を参照して、ゲーム機22の電源がオンされると、CPU46はプレイヤの指示に従ってステップS1でガンゲーム処理を実行する。具体的には、CPU46は、ROM50に記憶されたガンゲームのプログラムを実行し、標的を含むシューティング画面をTV受像機26の表示画面26aに表示する。
【0057】
続くステップS3では、コントローラ12からフラッシュ画面の描画の指示すなわちフラッシュ信号を受信したかどうかを判断する。ステップS3で“NO”であれば、つまりフラッシュ信号を受信しなければ、そのままステップS1に戻る。
【0058】
一方、ステップS3で“YES”であれば、つまりフラッシュ信号を受信すれば、ステップS5でROM50に記憶されたフラッシュ画面の描画プログラムを起動し、フラッシュ画面を描画する。続くステップS7では、コントローラ12から着弾点の座標データを取得(受信)したかどうかを判断する。ステップS7で“NO”であれば、つまり座標データを受信しなければ、そのままステップS1に戻る。
【0059】
なお、フロー図においては省略してあるが、フラッシュ画面を描画してから座標データを取得するまでには、多少時間がかかるため、実際には、その時間だけ待機した後に座標データを受信したかどうかを判断している。
【0060】
一方、ステップS7で“YES”であれば、つまり座標データを受信すれば、ステップS9で標的に命中したかどうかを判定する。つまり、CPU46は、コントローラ12から取得した着弾点の座標データと標的の座標データとを比較し、それらが互いに一致するかどうかによって、命中したかどうかを判定する。そして、ステップS11で、命中したかどうかの判定結果に応じたシューティング画面を表示してからステップS1に戻る。
【0061】
他方、コントローラ12では、電源がオンされ、ガンゲームが開始されると、CPU30は処理を開始し、ステップS21でガントリガ14がオンされたかどうかを判断する。ステップS21で“NO”であれば、つまりガントリガ14がオンされなければ、同じステップS21に戻る。一方、ステップS21で“YES”であれば、つまりガントリガ14がオンされれば、ステップS23で各センサと内部カウンタ36を起動し、サンプリングを開始する。つまり、狭域光センサ16および中域光センサ18を能動化するとともに、内部カウンタ36をリセットし、発振器42からの発振周波数信号すなわち水平ラインについてのドット数のカウントを開始する。
【0062】
次に、CPU30は、ステップS25でフラッシュ信号をゲーム機22に送信し、ステップS27で後述する着弾点の座標算出処理を実行する。そして、ステップS29で、算出した着弾点の座標データをゲーム機22に送信し、ステップS31で狭域光センサ16、中域光センサ18および内部カウンタ36を停止(不能化)し、サンプリングを終了してからステップS21に戻る。
【0063】
図7に示したステップS27の着弾点の座標算出処理が開始されると、図8に示すように、CPU30は、ステップS41で図4で示したRAM40内の全てのフラグをクリアする。つまり、着弾点検出済フラグ64、基準点検出済フラグ68、垂直BK期間検出済フラグ72、立ち下がりフラグ74および立ち上がりフラグ78をクリア(オフ)する。
【0064】
続くステップS43では、ガントリガ14がオンされてから2フレーム期間経過したかどうかを判断する。ステップS43で“YES”であれば、つまり2フレーム期間が経過すると、そのまま着弾点の座標算出処理をリターンする。
【0065】
一方、ステップS43で“NO”であれば、つまり2フレーム期間を経過していなければ、ステップS45で基準点検出済フラグ68がオンかどうかを判断する。ステップS45で“YES”であれば、つまり基準点検出済フラグ68がオンであれば、基準点検出処理を終了していると判断し、そのままステップS49に進む。一方、ステップS45で“NO”であれば、つまり基準点検出済フラグ68がオフであれば、基準点検出処理を終了していないと判断し、ステップS47で後述する基準点検出処理を実行してからステップS49に進む。
【0066】
ステップS49では、着弾点検出済フラグ64がオンかどうかを判断する。ステップS49で“YES”であれば、つまり着弾点検出済フラグ64がオンであれば、着弾点検出処理を終了していると判断し、そのままステップS53に進む。一方、ステップS49で“NO”であれば、つまり着弾点検出済フラグ64がオフであれば、着弾点検出処理を終了していないと判断し、ステップS51で後述する着弾点検出処理を実行してからステップS53に進む。
【0067】
ステップS53では、基準点検出済フラグ68および着弾点検出済フラグ64の両方がオンかどうかを判断する。ステップS53で“NO”であれば、つまり基準点検出済フラグ68および着弾点検出済フラグ64の少なくとも一方がオフであれば、基準点および着弾点の検出処理が終了していないと判断し、ステップS43に戻る。
【0068】
一方、ステップS53で“YES”であれば、つまり基準点検出済フラグ68および着弾点検出済フラグ64の両方がオンであれば、基準点検出処理および着弾点検出処理を終了していると判断し、ステップS55で基準点と着弾点とに基づいて着弾点の座標を算出してからリターンする。つまり、ステップS55では、CPU30は、基準点レジスタ70に記憶されているカウント値と着弾点レジスタ66に記憶されているカウント値とを用いて、基準点すなわち表示画面26aの描画開始位置から着弾点位置までのドット数を算出する。つまり、カウント値の差分を算出する。そして、CPU30は、ROM38に記憶されている座標テーブルを参照して、算出したカウント値の差分に対応する座標を特定する。このようにして、着弾点の座標が算出される。
【0069】
図8のステップS47で示した着弾点検出処理が開始されると、図9に示すように、CPU30は、ステップS61で中域光センサ18の出力を読み取り、続くステップS63で垂直BK期間検出済フラグ72がオンかどうかを判断する。ステップS63で“YES”であれば、つまり垂直BK期間検出済フラグ72がオンであれば、図10に示すステップS85に進む。
【0070】
一方、ステップS63で“NO”であれば、つまり垂直BK期間検出済フラグ72がオフであれば、垂直BK期間を検出していないと判断し、ステップS65で立ち下がりフラグ74がオンかどうかを判断する。ステップS65で“YES”であれば、つまり立ち下がりフラグ74がオンであれば、ステップS67で中域光センサ18の出力がローレベル(L)からハイレベル(H)に変化したかどうかを判断する。つまり、立ち上がりエッジを検出したかどうかを判断する。
【0071】
ステップS67で“NO”であれば、つまり立ち上がりエッジを検出しなければ、そのままリターンする。一方、ステップS67で“YES”であれば、つまり立ち上がりエッジを検出すれば、ステップS69で立ち上がりレジスタ80に内部カウンタ36のカウント値をセットする。そして、ステップS71で、立ち上がりフラグ78をオンする。
【0072】
続いて、ステップS73では、立ち下がりレジスタ76のレジスタ値と立ち上がりレジスタ80のレジスタ値との差分が垂直BK期間以上かどうかを判断する。つまり、立ち上がりレジスタ80のレジスタ値から立ち下がりレジスタ76のレジスタ値を減算して得られた値が、ROM38に記憶された垂直BK期間情報以上かどうかを判断する。
【0073】
ステップS73で“YES”であれば、つまりレジスタ値の差分が垂直BK期間以上であれば、垂直BK期間を検出したと判断し、ステップS75で垂直BK期間検出済フラグ72をオンしてから基準点検出処理をリターンする。一方、ステップS73で“NO”であれば、つまりレジスタ値の差分が垂直BK期間より短ければ、垂直BK期間を検出していないと判断し、ステップS77で立ち下がりフラグ74および立ち上がりフラグ78をオフしてからリターンする。
【0074】
また、ステップS65において“NO”であれば、つまり立ち下がりフラグ74がオフであれば、ステップS79で中域光センサ18の出力が「H」から「L」に変化したかどうかを判断する。つまり、立ち下がりエッジを検出したかどうかを判断する。ステップS79で“NO”であれば、つまり立ち下がりエッジを検出しなければ、そのままリターンする。
【0075】
一方、ステップS79で“YES”であれば、つまり立ち下がりエッジを検出すれば、ステップS81で立ち下がりレジスタ76に内部カウンタ36のカウント値をセットし、続いて、ステップS83で立ち下がりフラグ74をオンしてからリターンする。
【0076】
上述したように、ステップS63において“YES”であれば、図10のステップS85に進み、このステップS85では、中域光センサ18の出力が「H」から「L」に変化したかどうかを判断する。つまり、立ち下がりエッジを検出したかどうかを判断する。ステップS85で“NO”であれば、つまり立ち下がりエッジを検出しなければ、そのままリターンする。
【0077】
一方、ステップS85で“YES”であれば、つまり立ち下がりエッジを検出すると、ステップS87で立ち下がりレジスタ76に内部カウンタ36のカウント値をセットし、続いて、ステップS89で立ち下がりフラグ74をオンしてからステップS91に進む。
【0078】
ステップS91では、レジスタ値の差分が水平走査期間と等しいかどうかを判断する。つまり、立ち下がりレジスタ76のレジスタ値と立ち上がりレジスタ80のレジスタ値との差分がROM38に記憶されている水平走査期間情報と等しかどうかを判断する。
【0079】
ステップS91で“NO”であれば、つまりレジスタ値の差分が水平走査期間と等しくなければ、第1ラインを正常に検出していないと判断し、ステップS97で垂直BK期間検出済フラグ72をオフしてからリターンする。
【0080】
一方、ステップS91で“YES”であれば、つまりレジスタ値の差分が水平走査期間と等しければ、第1ラインを正常に検出したと判断し、立ち上がりレジスタ80に記憶されているカウント値を基準点レジスタ80にコピーする。そして、ステップS95で基準点検出済フラグ68をオンしてからリターンする。このようにして、基準点すなわち描画開始位置が検出される。
【0081】
また、図8のステップS51の着弾点検出処理が開始されると、図11に示すよに、CPU30はステップS101で狭域光センサ16の出力を読み取り、ステップS103で狭域光センサ16の出力が「L」から「H」に変化したかどうかを判断する。つまり、立ち上がりエッジを検出したかどうかを判断する。
【0082】
ステップS103で“NO”であれば、つまり立ち上がりエッジを検出しなければ、そのままリターンする。一方、ステップS103で“YES”であれば、つまり立ち上がりエッジを検出すれば、ステップS105で着弾点レジスタ66に内部カウンタ36のカウント値をセットし、ステップS107で着弾点検出済フラグ64をオンしてからリターンする。このようにして、着弾点位置が検出される。
【0083】
この実施例によれば、光センサの出力の時系列変化に基づいて着弾点位置を特定することができるので、CCDや人工網膜ユニットような高価な撮像手段を用いる必要がなく、そのような撮像手段によって撮影された画像を画像処理する必要もないので、低価格にすることができる。また、コントローラ側で着弾点の座標を特定し、特定した結果をゲーム機に送信するので、正確な着弾点に従ってゲームを進行することができる。さらに、ガンゲームにのみ用いられる機能をコントローラ側に持たせることができるので、ゲーム機にガンゲームでしか利用しないカウンタ等の余分な機能を持たせる必要がなく、ゲーム機本体の価格を抑えることもできる。また、上述したように、コントローラで算出した座標をゲーム機に送信するので、各種のゲーム機に利用可能な汎用性の高いコントローラを提供することができる。
【0084】
なお、第1実施例では、コントローラ12からゲーム機22に無線でフラッシュ信号および座標データを送信するようにしたが、コントローラ12とゲーム機22とを有線接続するようにしてもよい。この場合には、無線通信ユニットに換えてコントローラ12およびゲーム22にインターフェイスが設けられ、互いのインターフェイスをケーブルで接続するようにすればよい。
【0085】
また、第1実施例では、コントローラ12で座標データを算出してゲーム機22に送信するようにしたが、コントローラ12では描画開始位置および着弾点位置のカウント値のみを検出し、そのカウント値のデータをゲーム機22に送信して、ゲーム機22側で着弾点の座標を算出するようにするようにしてもよい。或いは、カウント値の差分のデータをゲーム機に送信するようにしてもよい。この場合には、コントローラ12の構成を比較的簡単にすることができる。
【0086】
さらに、第1実施例で示したROM38を書き換え可能なROMを用いて、座標テーブルと垂直BK期間情報および水平走査期間情報のそれぞれに対応するカウント値のデータとを書き換え可能にしておけは、それらを書き換えることにより、通常のTV受像機26に限らず、ハイビジョンのTV受像機においても着弾点を検出することができる。
【0087】
さらにまた、第1実施例では、コントローラ12は、ガンゲームにおいて着弾点を指示(入力)する装置として説明したが、このようなコントローラ12はリモコン送信機のような遠隔操作のための入力装置に適用することも考えられる。たとえば、TV受像機のリモコン送信機に適用した場合には、メニュー画面において、リモコン送信機のカーソルキーを操作せずに、所望のメニューを一発選択することができる。
【0088】
また、第1実施例におけるコントローラ12を用いた着弾点位置の検出は、ライトペンのような入力装置にも適用することができる。この場合には、ライトペンでモニタの画面上における所望の位置が指示(指定)されると、その指示位置の座標が狭域光センサ18および中域光センサ18の出力の時系列変化に基づいて特定(検出)される。ただし、このような入力装置では、コントローラ12のようなトリガ操作は必要でない。
【0089】
<第2実施例>
第2実施例のシステム10は、中域光センサ18よりもさらに広い範囲の第3領域の光を検出することができる広域光センサをコントローラ12に設けるようにした以外は、第1実施例と同じであるため、重複した説明は省略する。
【0090】
図12を参照して、第2実施例のシステム10に適用されるコントローラ12は、広域光センサ86をさらに備える。この広域光センサ86は、コントローラ12の上部に設けられ、プレイヤがコントローラ12を表示画面26aから所定距離(たとえば、1m) だけ離れた位置で構えて、ガントリガ14をオンしたときに、表示画面26aと同一平面上であり、第1領域よりも広い第3領域88の光を検出する。たとえば、この第2実施例では、広域光センサ86は、コントローラ12を表示画面26aに接触した状態で半径36インチ程度の範囲についての光を検出することができる。
【0091】
コントローラ12の電気的な構成は、図13のように示される。広域光センサ86は、広角レンズ18aよりも厚く形成された広角レンズ86aを含み、広角レンズ86aを経た光はPD86bに入射される。PD86bにはアンプ(AMP)86cが接続され、アンプ86cはPD86bに入射された光の明るさに応じた電気信号を生成し、その電気信号のレベルが所定レベル以上かどうかを判別し、電気信号を2値化する。つまり、アンプ86cは、電気信号のレベルが所定レベル以上であれば、すなわちPD86bに入射された光が高輝度であれば、ハイレベルの信号を出力する。一方、アンプ86cは、電気信号のレベルが所定レベルより小さければ、すなわちPD86bに入射された光が低輝度であれば、ローレベルの信号を出力する。
【0092】
なお、所定レベルは、上述の実施例と同じくフラッシュ光を検出しているかどうかを判断することができる値であり、実験等により経験的に得られる値である。
【0093】
アンプ86cから出力されるハイレベルまたはローレベル(H/L)の信号は、アンド回路90の一方入力端に入力される。また、アンド回路90の他方入力端には、ガントリガ14のオン/オフに応じてCPU30から出力されるハイレベルまたはローレベルの信号が入力される。このアンド回路90の出力すなわちハイレベルまたはローレベルの信号は、CPU30に入力される。
【0094】
CPU30は、このハイレベルまたはローレベルの信号の時系列変化を検出(サンプリング)し、フラッシュ画面の描画が開始されるタイミング(第1タイミング)を決定する。
【0095】
なお、それ以外の構成については、第1実施例(図2)と同じであるため、重複した説明は省略することにする。また、ゲーム機22およびTV受像機26についても、図2と同じであるため、図13においては省略してある。
【0096】
ただし、RAM40には、広域光センサ86用の領域92がさらに設けられ、その領域92には、基準点検出済フラグ94およびそれに関連づけて基準点レジスタ96が設けられる。また、領域92には、垂直BK期間検出済フラグ98が設けられる。さらに、領域92には、立ち下がりフラグ100およびそれに関連づけれ立ち下がりレジスタ102が設けられる。さらにまた、領域92には、立ち上がりフラグ104およびそれに関連づけて立ち上がりレジスタ106が設けられる。
【0097】
この第2実施例のシステム10では、中域光センサ18で描画開始位置を検出できない場合に、広域光センサ86を用いて描画開始位置が検出される。つまり、広域光センサ86では、中域光センサ18よりも広い範囲88についての光を検出することができるが、その分精度が低くなるため、中域光センサ18の出力に基づく検出結果が優先される。
【0098】
たとえば、図15に示すように、表示画面26a全体を中域光センサ18および広域光センサ86の両方で検出することができる場合には、映像信号に対応する中域光センサ18の出力および広域光センサ86の出力に基づいて描画開始位置を検出することができる。このような場合には、上述したように、中域光センサ18の出力に基づいて描画開始位置が検出される。
【0099】
しかし、プレイヤがコントローラ12を表示画面26aに近づけ過ぎてしまった場合には、図16に示すように、表示画面26a全体を中域光センサ18で検出することができない。したがって、この場合には、映像信号に対応する中域光センサ18の出力の波形から分かるように、水平ラインを正常に検出していない。つまり、第1ラインを正常に検出していないため、描画開始位置を検出することができない。このため、図16に示すような場合には、表示画面26a全体を検出することができる広域光センサ86の出力に基づいて描画開始位置が検出される。
【0100】
また、図17〜図20に示すように、着弾点が表示画面26aの端近傍である場合にも、中域光センサ18で表示画面26a全体を検出することができない。
【0101】
図17に示すように、着弾点が表示画面26aの上端近傍である場合には、中域光センサ18は表示画面26aの下端部を検出することができない。このような場合には、映像信号の変化に対応する中域光センサ18の出力は末端ラインに近づくに従ってパルス幅が短くなっている。しかし、第1ラインを含む数ライン分の水平ラインを正常に検出しているので、中域光センサ18の出力に基づいて描画開始位置を検出することができる。
【0102】
しかし、図18に示すように、着弾点が表示画面26aの下端近傍である場合には、中域光センサ18は表示画面26aの上端部を検出することができない。このような場合には、映像信号の変化に対応して中域光センサ18の出力は第1ラインのパルス幅が短くなり、末端ラインに向かうに従ってパルス幅が広くなる。つまり、第1ラインを正常に検出することができないので、中域光センサ18の出力に基づいて描画開始位置を検出することもできない。一方、広域光センサ86は、表示画面26a全体を検出することができるので、この場合には、広域光センサ86の出力に基づいて描画描画開始位置が検出される。
【0103】
さらに、図19に示すように、着弾点が表示画面26aの右端近傍である場合には、中域光センサ18は表示画面26aの左端部分を検出することができない。このため、映像信号の変化に対応して中域光センサ18の出力は全ラインについてパルス幅が短くなってしまう。つまり、第1ラインを正常に検出することができないので、描画開始位置を検出することもできない。一方、広域光センサ86は、表示画面26a全体を検出することができるので、この場合にも、広域光センサ86の出力に基づいて描画開始位置が検出される。
【0104】
さらにまた、図20に示すように、着弾点が表示画面26aの左端近傍である場合には、中域光センサ18は表示画面26aの右端部分を検出することができない。このため、映像信号の変化に対応して中域光センサ18の出力は全ラインについてパルス幅が短くなってしまう。つまり、第1ラインを正常に検出することができないので、描画開始位置を検出することもできない。一方、広域光センサ86は、表示画面26a全体を検出することができるので、この場合にも、広域光センサ86の出力に基づいて描画開始位置が検出される。
【0105】
このようなシステム10では、図7で示したように、コントローラ12のCPU30とゲーム機22のCPU46とがそれぞれ処理を実行することにより、ゲームが進行(実行)される。ただし、上述したように、中域光センサ18または広域光センサ86のいずれか一方を用いて描画開始位置を検出するので、着弾点の座標算出処理が第1実施例とは異なる。したがって、この着弾点の座標算出処理について説明することにする。
【0106】
なお、それ以外の処理については、第1実施例と同じであるため、重複した説明は省略する。
【0107】
この第2実施例における着弾点の座標算出処理は、図21および図22に示すフロー図で表される。コントローラ12のCPU30は、着弾点の座標算出処理を開始すると、ステップS111で全フラグをクリア(オフ)する。つまり、図14で示したRAM40内に設けた着弾点検出済フラグ64、基準点検出済フラグ68、垂直BK期間検出済フラグ72、立ち下がりフラグ74、立ち上がりフラグ78、基準点検出済フラグ94、垂直BK期間検出済フラグ98、立ち下がりフラグ100および立ち上がりフラグ104をオフする。
【0108】
続いて、ステップS113でガントリガ14がオンされてから2フレーム期間経過したかどうかを判断する。ステップS113で“YES”であれば、つまり2フレーム期間を経過すると、そのまま着弾点の座標検出処理をリターンする。
【0109】
一方、ステップS113で“NO”であれば、つまり2フレーム期間を経過していなければ、ステップS115で基準点検出済フラグ68がオンかどうかを判断する。ステップS115で“YES”であれば、つまり基準点検出済フラグ68がオンであれば、そのままステップS119に進む。一方、ステップS115で“NO”であれば、つまり基準点検出済フラグ68がオフであれば、ステップS117で図9および図10に示したフロー図を用いて説明した基準点検出処理を実行してからステップS119に進む。
【0110】
ステップS119では、基準点検出済フラグ94がオンかどうかを判断する。ステップS119で“YES”であれば、つまり基準点検出済フラグ94がオンであれば、そのままステップS123に進む。一方、ステップS119で“NO”であれば、つまり基準点検出済フラグ94がオフであれば、ステップS121で基準点検出処理を実行してからステップS123に進む。
【0111】
なお、このステップS121の基準点検出処理は、図9および図10に示したフロー図を用いて説明した処理と同じであるが、ステップS61、S67、S79、S85においては、CPU30は広域光センサ86の出力を読み取り(検出し)、処理を実行する。また、それら以外のステップでは、RAM40の領域92に設けられたフラグ(94、98、100および104)およびレジスタ(96、102および106)を用いて処理が実行される。
【0112】
ステップS123では、着弾点検出済フラグ64がオンかどうかを判断する。ステップS123で“YES”であれば、つまり着弾点検出済フラグ64がオンであれば、そのままステップS127に進む。一方、ステップS123で“NO”であれば、つまり着弾点検出済フラグ64がオフであれば、ステップS125で図11に示したフロー図を用いて説明した着弾点検出処理を実行してからステップS127に進む。
【0113】
ステップS127では、着弾点検出済フラグ64および基準点検出済フラグ68の両方がオンであるかどうかを判断する。ステップS127で“YES”であれば、つまり着弾点検出済フラグ64および基準点検出済フラグ68の両方がオンであれば、ステップS129で対応するレジスタ値から着弾点の座標を算出してリターンする。つまり、ステップS129では、着弾点レジスタ66のレジスタ値と基準点レジスタ70のレジスタ値との差分が検出され、ROM38に記憶された座標テーブルを参照して、座標が算出(特定)される。
【0114】
一方、ステップS127で“NO”であれば、つまり着弾点検出済フラグ64および基準点検出済フラグ68の少なくとも一方がオフであれば、中域光センサ18で描画開始位置を検出することができない或いは描画開始位置および着弾点の少なくとも一方を検出していないと判断し、ステップS131で着弾点検出フラグ64および基準点検出済フラグ94の両方がオンかどうかを判断する。
【0115】
ステップS131で“NO”であれば、つまり着弾点検出フラグ64および基準点検出済フラグ94の少なくとも一方がオフであれば、描画開始位置および着弾点位置の少なくとも一方を検出していないと判断し、ステップS113に戻る。
【0116】
一方、ステップS131で“YES”であれば、つまり着弾点検出フラグ64および基準点検出済フラグ94の両方がオンであれば、ステップS133で対応するレジスタ値から着弾点の座標を算出してからリターンする。つまり、ステップS133では、着弾点レジスタ66のレジスタ値と基準点レジスタ96のレジスタ値との差分が検出され、ROM38に記憶された座標テーブルを参照して、座標が特定される。
【0117】
この実施例によれば、広域センサを用いるので、中域センサの出力に基づいて描画開始位置(第1タイミング)を検出することができない場合であっても、描画開始位置を検出することができる。言い換えると、プレイヤが表示画面に近づき過ぎた場合や表示画面の端部を狙った場合であっても、広域センサの出力に基づいて描画開始位置を検出することができる。つまり、プレイヤがコントローラを構える位置に拘わらず、正常に着弾点を検出することができるので、ゲーム性を損ねることがない。
【0118】
<第3実施例>
第3実施例のシステム10は、ハードを用いて着弾点の座標を算出するようにした以外は、第2実施例と同じであるため、重複した説明は省略する。
【0119】
つまり、この第3実施例では、コントローラ12の構成が第2実施例で示した構成と異なる。具体的には、図23に示すように、コントローラ12は構成される。
【0120】
なお、図23において、狭域光センサ16、中域光センサ18および広域光センサ86の一部については第2実施例と同じものが用いられるため、第2実施例(図13)と同じ参照番号を付してある。
【0121】
図23を参照して、このコントローラ12では、広域光センサ86のアンプ86cには、比較器110aが接続され、同様に、中域光センサ18のアンプ18cには、比較器110bが接続され、さらに、狭域光センサ16のアンプ16cには、比較器110cが接続される。
【0122】
比較器110aの出力端は、サンプリング用カウンタ112aに接続されるとともに、オア(OR)回路114aの一方入力端に接続される。また、比較器110bの出力端は、サンプリング用カウンタ112bに接続されるとともに、オア回路114bの他方入力端に接続される。比較器110cの出力端は、アンド回路116の入力端に接続され、オア回路114aおよびオア回路114bの出力端もまたアンド回路116の入力端に接続される。
【0123】
サンプリング用カウンタ112aの2つの出力端は、比較器118aに接続され、サンプリング用カウンタ112bの2つの出力端は、比較器118bに接続される。比較器118aはテーブル120aを含み、比較器118bはテーブル120bを含む。このテーブル120aおよびテーブル120bには、垂直BK期間、水平走査期間および水平BK期間のそれぞれに対応するカウント値データが記述される。
【0124】
比較器118aの一方出力端はカウンタ122aのリセット端子に接続され、同じ比較器118aの他方出力端はホストインターフェイス(以下、単に「ホストIF」という。)124に接続される。また、比較器118bの一方出力端はカウンタ122bのリセット端子に接続され、同じ比較器118bの他方出力端はホストIF124に接続される。
【0125】
また、カウンタ122aおよびカウンタ122bには、ラッチ回路126の出力端が接続され、ラッチ回路126の入力端には上述したアンド回路116の出力端が接続される。また、ラッチ回路126の出力端は、ホストIF124に接続される。このホストIF124には、上述の実施例で説明したような座標テーブル124aが設けられる。
【0126】
さらに、ホストIF124には、RF回路128およびトリガ回路130が接続される。なお、RF回路128は、第2実施例の図13に示した無線通信回路44(アンテナ20を含む)と同じであり、トリガ回路130は、同じく図13で示したガントリガ14と同じである。
【0127】
このようなコントローラ12では、広域光センサ86の広角レンズ86aを経た光がPD86bに入射される。アンプ(AMP)86cは、PD86bに入射された光の明るさに応じた電気信号を生成する。生成された電気信号は、比較器110aに入力され、比較器110aはアンプ86cから入力された電気信号のレベルを所定の閾値(所定レベル)と比較し、ハイレベルまたはローレベル(H/L)の信号を出力する。つまり、比較器110aは、電気信号のレベルが所定レベル以上であれば、すなわちPD86bに入射された光が高輝度であれば、ハイレベルの信号を出力する。一方、比較器110aは、電気信号のレベルが所定レベルより小さければ、すなわちPD86bに入射された光が低輝度であれば、ローレベルの信号を出力する。
【0128】
なお、所定レベルは、上述の実施例と同様に、フラッシュ光を検出しているかどうかを判断することができる値であり、予め実験等によって経験的に得られる値である。以下、この実施例において同じである。
【0129】
比較器110aの出力すなわちハイレベル/ローレベル(H/L)の信号は、サンプリング用カウンタ112aおよびオア回路114aの一方入力端に入力される。サンプリング用カウンタ112aは、連続するハイレベルまたはローレベルをカウントし、比較器118aにカウントしている信号のレベル(HまたはL)およびカウント値を出力する。
【0130】
比較器118aは、連続するローレベルのカウント値を受けた後、連続するハイレベルのカウント値を受けると、をテーブル120aを参照して、連続したローレベルのカウント値が垂直BK期間に相当するカウント値以上であるかどうかを比較する。比較した結果、ローレベルのカウント値すなわち低輝度の状態が少なくとも垂直BK期間に相当するカウント値以上であれば、つまり垂直BK期間を検出すれば、比較器118aは、垂直BK期間の終了時点でリセットパルスをカウンタ122aに出力する。つまり、第1ラインの開始時点(第1タイミング)で、カウンタ122aはリセット(カウント値=0)され、水平走査に同期したドットのカウントを開始する。その後、カウンタ122aは、カウントの停止信号が入力されるまでカウントし続ける。また、比較機118aは、垂直BK期間を検出すると、比較器118aはホストI/F124にハイレベル(H)の信号を出力する。
【0131】
一方、連続したローレベルのカウント値が垂直BK期間に相当するカウント値に満たなければ、つまり垂直BK期間を検出しなければ、比較機118aは、カウンタ122aにリセットパルスを出力せずに、ホストI/F124にローレベル(L)の信号を出力する。
【0132】
垂直BK期間を検出した後では、比較器118aは、引き続きサンプリング用カウンタ112aから出力される信号のレベル(H/L)およびカウント値に基づいて、水平走査期間および水平BK期間を交互に繰り返し検出するかどうかを判断する。具体的には、比較器118aは、連続するハイレベルのカウント値すなわち高輝度の状態が水平走査期間に相当するカウント値と一致するかどうかを、テーブル120aを参照して比較判断する。また、比較器118aは、連続するローレベルのカウント値すなわち低輝度の状態が水平BK期間に相当するカウント値と一致するかどうかを、テーブル120aを参照して比較判断する。
【0133】
正常に水平走査期間および水平BK期間を交互に繰り返し検出している間では、つまり比較結果が一致を示している間では、比較器118aは、ハイレベルの信号をホストIF124およびオア回路114bの一方入力端に出力し、そのハイレベルの信号を維持する。ホストIF124は、このハイレベルの信号を受けて、フラッシュ画面を正常に検出していると判断する。
【0134】
しかし、水平走査期間或いは水平BK期間の検出に一度でも失敗した場合には、つまり比較結果が一致を示さない場合には、比較器118aは、ローレベルの信号をホストIF124およびオア回路114bの一方入力端に出力する。すなわち、フラッシュ画面を正常に検出していない場合には、比較器118aは、ローレベルの信号を出力し、それ以降では、ローレベルの信号を維持して、フラッシュ画面を検出しない。ホストIF124は、このローレベルの信号を受けて、フラッシュ画面を正常に検出していないと判断する。
【0135】
中域光センサ18もまた、広角レンズ18aを経た光の明るさを検出し、この中域光センサ18の出力に基づいて、フラッシュ画面が検出される。このフラッシュ画面の検出についての各コンポーネント(比較器110b、サンプリング用カウンタ112b、比較器118bおよびカウンタ122b)の動作は、上述した広域光センサ86の場合と同じであるため、重複した説明は省略する。ただし、比較器110bの出力は、サンプリングカウンタ112bおよびオア回路114aの他方入力端に入力され、比較器120bの出力はホストIF124およびオア回路114bの他方入力端に入力される。
【0136】
さらに、狭域光センサ16では、対物レンズ16aを経た光がPD16bに入射され、アンプ16cはPD16bに入射された光の明るさに応じた電気信号を生成する。そして、比較器110cは、電気信号のレベルを所定レベルと比較し、ハイレベルまたはローレベル(H/L)の信号を出力する。つまり、比較器110cは、電気信号のレベルが所定レベル以上であれば、すなわちPD16bに入射された光が高輝度であれば、ハイレベルの信号を出力する。一方、比較器110cは、電気信号のレベルが所定レベルより小さければ、すなわちPD16bに入射された光が低輝度であれば、ローレベルの信号を出力する。
【0137】
したがって、オア回路114aの出力およびオア回路114bの出力がハイレベルであり、かつ比較器110cの出力がハイレベルである場合には、アンド回路116からハイレベルの信号が出力され、このハイレベルの信号はラッチ回路126でラッチされ、カウンタ122aおよびカウンタ122bに入力されるとともに、ホストIF124に入力される。
【0138】
カウンタ122aおよびカウンタ122bでは、ラッチ回路126からハイレベルの信号(カウントの停止信号)が入力されると、カウントを停止し、カウント値をホストIF124に与える。また、ホストIF124は、ラッチ回路126からハイレベルの信号を受けて、着弾点を検出したと判断する。
【0139】
つまり、カウンタ122aおよびカウンタ122bは、垂直BK期間の終了時点すなわち第1ラインの開始時点(描画開始位置)から着弾点位置までのドット数をカウントしている。言い換えると、カウンタ122aおよびカウンタ122bは、フラッシュ画面の描画が開始される第1タイミングから着弾点が明るくなる第2タイミングまでカウントしている。したがって、ホストIF124は、カウンタ122a或いはカウンタ122bのカウント値(ドット数)に基づいて、座標テーブル124aを参照して、着弾点の座標を特定(同定)する。着弾点の座標が特定されると、ホストIF124はRF回路128を介して座標データをゲーム機22に送信する。
【0140】
このように、第3実施例においては、描画開始位置からカウンタ122aおよびカウンタ122bのカウントを開始するので、上述の実施例で示したように、カウント値の差分を算出する必要がない。
【0141】
ただし、カウンタ122aまたはカウンタ122bのいずれのカウント値を採用するかは、ホストIF124は比較器118aまたは比較器118bの出力がハイレベルであるかどうに応じて決定する。これは、第2実施例で示したように、中域光センサ18でフラッシュ画面、特に、第1ラインを正確に検出していない場合には、着弾点を正確に検出することができないためである。
【0142】
しかし、中域光センサ18および広域光センサ86の両方で正確にフラッシュ画面を検出している場合には、つまり比較器118aおよび比較器118bの両方からハイレベルの信号が入力されている場合には、ホストIF124は、中域光センサ18に設けられたカウンタ122bのカウント値を採用する。つまり、中域光センサ18の検出結果が優先される。これは、第2実施例で示したように、広域光センサ86は、中域光センサ18よりも広い範囲の光を検出することができるが、精度が低いからである。
【0143】
一方、オア回路114aの出力、オア回路114bの出力および比較器110cの出力の少なくとも1つの出力がローレベルである場合には、アンド回路116からローレベルの信号が出力される。すると、ラッチ回路116からもローレベルの信号が出力され、カウンタ122a、カウンタ122bおよびホストIF124に入力される。したがって、カウンタ122aおよびカウンタ122bはカウントを続行し、ホストIF124は着弾点を検出していないと判断する。
【0144】
たとえば、プレイヤがガントリガ14をオンすると、これに応答して、ホストIF124は狭域光センサ16、中域光センサ18および広域光センサ86を起動(能動化)するとともに、RF回路128を介してゲーム機22にフラッシュ信号を送信する。すると、ゲーム機22は、TV受像機26の表示画面26aにフラッシュ画面を描画する。
【0145】
フラッシュ画面の描画が開始されると、中域光センサ18(または/および広域光センサ86)はフラッシュ光を検出し、その出力すなわち比較器110b(または/および比較器110a)の出力は、図24(A)のように変化される。中域光センサ18(または/および広域光センサ86)の出力に基づいて、垂直BK期間を検出すると、比較器118b(または/および比較器118a)は、カウンタ122b(または/およびカウンタ122a)にリセットパルスを出力するとともに、正常に水平走査期間および水平BK期間を交互に繰り返し検出している間は、図24(B)に示すようなフラッシュ画面の検出信号すなわちハイレベルの信号をホストIF124およびオア回路114bに出力する。
【0146】
また、狭域光センサ16の出力すなわち比較器110cの出力は、図24(C)のように示され、アンド回路116の出力(AND信号)は、図24(D)のように示される。つまり、広域光センサ86および中域光センサ18の少なくとも一方によって、フラッシュ画面を正常に検出しているときに、狭域光センサ16の出力が変化すると、つまり比較器110cからの出力がハイレベルになると、その比較器110cの出力と同様に変化するAND信号が得られる。このAND信号がハイレベルに変化した時点が着弾点位置が明るくなった時点であり、そのハイレベルの信号がラッチ回路126でラッチされる。そして、カウンタ122aおよびカウンタ122bはカウントを終了し、ホストIF124は着弾点を検出したと判断して、カウンタ122a或いはカウンタ122bのカウント値から着弾点位置を特定する。
【0147】
このように、ソフトウェアを用いずに、ハードウェアにより着弾点の座標を特定することもできる。
【0148】
しかし、図25(A)に示すように、広域光センサ86および中域光センサ18の両方でフラッシュ画面を正常に検出することができない場合には、つまり、水平走査期間および水平BK期間の少なくとも一方の検出に失敗たり、広域光センナ86および中域光センサ18の出力すなわち比較器110aおよび比較器110bの出力がローレベルになったりすると、図25(B)に示すように、フラッシュ画面の検出信号すなわち比較器118aおよび比較器118bの出力が途中でローレベルになってしまう。このように、フラッシュ画面を正常に検出していない状態では、図25(C)に示すように、狭域光センサ16からハイレベルの信号の入力があっても、図25(D)に示すように、アンド回路126の出力(AND信号)はローレベルのままである。さらには、図25(E)に示すように、ラッチ回路126の出力もローレベルのままであるため、ホストIF124は着弾点を検出していないと判断する。このように、フラッシュ画面の検出に失敗した場合には、その後に狭域光センサ16の出力すなわち比較器110cの出力が変化しても、着弾点の座標を特定することができない。
【0149】
なお、第3実施例では、着弾点の座標を算出して、座標データをゲーム機に送信するようにしているが、カウンタ122a或いはカウンタ122bから得られるカウント値のデータをゲーム機22に送信して、ゲーム機22側で着弾点の座標を特定するようにしてもよい。
【0150】
また、第3実施例で示した座標テーブル124aとテーブル120aおよびテーブル120bに記述された垂直BK期間、水平BK期間および水平走査期間のそれぞれに対応するカウント値のデータとは、ホストIF124によって書き換えることが可能であるため、それらを書き換えることにより、通常のTV受像機26に限らず、ハイビジョンのTV受像機においても着弾点を検出することができる。
【図面の簡単な説明】
【図1】この発明の一実施例を示す図解図である。
【図2】図1実施例の構成を示すブロック図である。
【図3】コントローラに設けられたROMのマッピング状態を示す図解図である。
【図4】コントローラに設けられたRAMのマッピング状態を示す図解図である。
【図5】(A)はTVフレームの遷移を示すタイミング図であり、(B)は映像信号を示す波形図であり、(C)はトリガがオンされたときの電圧変化を示す波形図であり、(D)は中域光センサの出力を示す波形図であり、(E)は狭域光センサの出力を示す波形図である。
【図6】図1実施例に適用される光センサの検知範囲の一例を示す図解図である。
【図7】ゲーム機およびコントローラの動作の一部を示すフロー図である。
【図8】コントローラの動作の他の一部を示すフロー図である。
【図9】コントローラの動作のその他の一部を示すフロー図である。
【図10】コントローラの動作のさらに他の一部を示すフロー図である。
【図11】コントローラの動作の他の一部を示すフロー図である。
【図12】この発明の他の実施例に適用される光センサの検知範囲の一例を示す図解図である。
【図13】図12実施例のコントローラの構成を示すブロック図である。
【図14】図12実施例のコントローラに設けられたRAMのマッピング状態を示す図解図である。
【図15】図12実施例の動作の一部を示す図解図である。
【図16】図12実施例の動作の他の一部を示す図解図である。
【図17】図12実施例の動作のその他の一部を示す図解図である。
【図18】図12実施例の動作のさらに他の一部を示す図解図である。
【図19】図12実施例の動作の他の一部を示す図解図である。
【図20】図12実施例の動作のその他の一部を示す図解図である。
【図21】図12実施例のコントローラの動作の一部を示すフロー図である。
【図22】図12実施例のコントローラの動作の他の一部を示すフロー図である。
【図23】この発明のその他の実施例に適用されるコントローラの構成を示すブロック図である。
【図24】(A)は広域光センサまたは中域光センサの出力の一例を示す波形図であり、(B)は比較器の出力の一例を示す波形図であり、(C)は狭域光センサの出力の一例を示す波形図であり、(D)はAND信号の一例を示す波形図であり、(E)はラッチ回路の出力の一例を示す波形図である。
【図25】(A)は広域光センサまたは中域光センサの出力の他の一例を示す波形図であり、(B)は比較器の出力の他の一例を示す波形図であり、(C)は狭域光センサの出力の他の一例を示す波形図であり、(D)はAND信号の他の一例を示す波形図であり、(E)はラッチ回路の出力の他の一例を示す波形図である。
【符号の説明】
10 …ガンゲームシステム
12 …ガンコントローラ
14 …ガントリガ
16 …狭域光センサ
18 …中域光センサ
22 …ゲーム機
26 …TV受像機
30,46 …CPU
44,48 …無線通信ユニット
86 …広域光センサ
110a,110b,110c,118a,118b …比較器
112a,112b …サンプリング用カウンタ
122a,122b …カウンタ
124 …ホストIF
126 …ラッチ回路

Claims (11)

  1. ラスタ走査型のモニタにシューティング画面を表示するゲーム機と連動し、プレイヤのトリガ操作に基づいて前記ゲーム機に着弾点を指示するシューティングゲーム用コントローラであって、
    モニタ画面よりも広い範囲の第1領域の光を検出する第1光センサ、
    前記モニタ画面上の着弾点位置を含む狭い範囲の第2領域の光を検出する第2光センサ、
    トリガ操作に応答してフラッシュ画面表示要求を前記ゲーム機に送信する第1送信手段、
    前記フラッシュ画面表示要求に基づいて前記モニタにフラッシュ画面が描画されるとき、前記第1光センサの出力の時系列変化に基づいて前記フラッシュ画面の描画が開始される第1タイミングを検出する第1検出手段、
    前記フラッシュ画面が描画されるとき、前記第2光センサの出力の時系列変化に基づいて前記着弾点位置が明るくなる第2タイミングを検出する第2検出手段、
    前記第1タイミングと前記第2タイミングとに基づいて前記着弾点位置の位置情報を作成する作成手段、および
    前記位置情報を前記ゲーム機に送信する第2送信手段を備えることを特徴とする、シューティングゲーム用コントローラ。
  2. 前記第1検出手段は、前記第1光センサの出力の時系列変化の中から、前記モニタの垂直ブランキング期間に相当する期間にわたる低輝度を検出し、その後に1ライン分の水平走査期間に相当する期間にわたる高輝度を検出したとき、前記水平走査期間に相当する高輝度の期間の開始時点を前記第1タイミングとして検出する、請求項1記載のシューティングゲーム用コントローラ。
  3. 前記第1光センサの出力をサンプリングする第1サンプリング手段、および前記第2光センサの出力をサンプリングする第2サンプリング手段をさらに備え、
    前記第1検出手段は、前記第1サンプリング手段のサンプリング結果が垂直ブランキング期間に相当する期間にわたって低輝度を示し、その後に1ライン分の水平走査期間に相当する期間にわたって高輝度を示すとき、前記水平走査期間に相当する期間の開始時点を前記第1タイミングに決定する第1決定手段を含み、
    前記第2検出手段は、前記第2サンプリング手段のサンプリング結果が低輝度から高輝度に変化したときの当該変化時点を前記第2タイミングに決定する第2決定手段を含む、請求項1または2記載のシューティングゲーム用コントローラ。
  4. 前記トリガ操作に応答してカウントを開始するカウンタをさらに備え、
    前記作成手段は、前記第1タイミングにおける前記カウンタの第1カウント値と前記第2タイミングにおける前記カウンタの第2カウント値とに基づいて前記位置情報を作成する、請求項1ないし3のいずれかに記載のシューティングゲーム用コントローラ。
  5. 前記第1領域よりも広い範囲の第3領域の光を検出する第3光センサ、および
    前記第1タイミングを前記第3光センサの出力に基づいて検出する第3検出手段をさらに備える、請求項1ないし4のいずれかに記載のシューティングゲーム用コントローラ。
  6. 前記第1検出手段によって検出された第1タイミングを前記第3検出手段によって検出された第1タイミングに優先して有効化する有効化手段をさらに備え、
    前記作成手段は前記有効化手段によって有効化された第1タイミングと前記第2タイミングとに基づいて前記位置情報を作成する、請求項5記載のシューティングゲーム用コントローラ。
  7. 前記第1送信手段および前記第2送信手段はそれぞれ無線通信方式によって送信する、請求項1ないし6のいずれかに記載のシューティングゲーム用コントローラ。
  8. ラスタ走査型のモニタにゲーム機によってシューティング画面が表示され、プレイヤのトリガ操作に基づいて着弾点に相当する指示位置が指示されたとき、その指示位置を検出する指示位置検出方法であって、
    シューティングゲーム用コントローラのプロセッサは、
    モニタ画面よりも広い範囲の第1領域の光を検出し、
    前記モニタ画面上の前記指示位置を含む狭い範囲の第2領域の光を検出し、
    トリガ操作に応答してフラッシュ画面表示要求を前記ゲーム機に送信し、
    前記フラッシュ画面表示要求に基づいて前記モニタにフラッシュ画面が描画されるとき、前記第1領域の光の時系列変化に基づいて前記フラッシュ画面の描画が開始される第1タイミングを検出し、
    前記第2領域の光の時系列変化に基づいて前記指示位置が明るくなる第2タイミングを検出し、そして
    前記第1タイミングと前記第2タイミングとに基づいて前記指示位置の位置情報を検出する、指示位置検出方法。
  9. ラスタ走査型のモニタの画面上で所望の位置が指示されるとき、その指示位置を検出する指示位置検出方法であって、
    シューティングゲーム用コントローラのプロセッサは、
    モニタ画面よりも広い範囲の第1領域の光を検出し、
    前記モニタ画面上の前記指示位置を含む狭い範囲の第2領域の光を検出し、
    前記所望の位置が指示され、前記モニタにフラッシュ画面が描画されるとき、前記第1領域の光の時系列変化に基づいて前記フラッシュ画面の描画が開始される第1タイミングを検出し、
    前記第2領域の光の時系列変化に基づいて前記指示位置が明るくなる第2タイミングを検出し、そして
    前記第1タイミングと前記第2タイミングとに基づいて前記指示位置の位置情報を検出する、指示位置検出方法。
  10. 前記第1タイミングの検出は、前記第1領域の光の時系列変化の中から、前記モニタの垂直ブランキング期間に相当する期間にわたる低輝度を検出し、その後に1ライン分の水平走査期間に相当する期間にわたる高輝度を検出したとき、前記水平走査期間に相当する高輝度の期間の開始時点を前記第1タイミングとして検出する、請求項8または9記載の指示位置検出方法。
  11. 前記シューティングゲーム用コントローラのプロセッサは、
    さらに、前記第1領域より広い範囲の第3領域の光を検出し、
    前記所望の位置が指示され、前記モニタにフラッシュ画面が描画されるとき、前記第3領域の光の時系列変化に基づいて前記フラッシュ画面の描画が開始される第1タイミングを検出し、
    前記第1領域の光によって検出された第1タイミングを、前記第3領域の光によって検出された第1タイミングに優先して有効化し、
    前記位置情報の検出は、前記有効化された第1タイミングと前記第2タイミングとに基づいて位置情報を検出する、請求項8ないし10のいずれかに記載の指示位置検出方法。
JP2001162923A 2001-05-30 2001-05-30 シューティングゲーム用コントローラおよび指示位置検出方法 Expired - Lifetime JP4790930B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2001162923A JP4790930B2 (ja) 2001-05-30 2001-05-30 シューティングゲーム用コントローラおよび指示位置検出方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001162923A JP4790930B2 (ja) 2001-05-30 2001-05-30 シューティングゲーム用コントローラおよび指示位置検出方法

Publications (2)

Publication Number Publication Date
JP2002346224A JP2002346224A (ja) 2002-12-03
JP4790930B2 true JP4790930B2 (ja) 2011-10-12

Family

ID=19005975

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001162923A Expired - Lifetime JP4790930B2 (ja) 2001-05-30 2001-05-30 シューティングゲーム用コントローラおよび指示位置検出方法

Country Status (1)

Country Link
JP (1) JP4790930B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007021065A (ja) 2005-07-21 2007-02-01 Aruze Corp 携帯ゲーム機用コントローラ
AU2012202253A1 (en) 2011-05-13 2012-11-29 Aristocrat Technologies Australia Pty Limited A gaming system and method of gaming

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03138396A (ja) * 1989-10-23 1991-06-12 Mitsubishi Electric Corp リードフレーム材の電着膜形成方法および装置
JP2501540B2 (ja) * 1993-11-15 1996-05-29 コナミ株式会社 光線銃ゲ―ム機
JP3138396B2 (ja) * 1994-10-26 2001-02-26 株式会社ナムコ 画像表示装置及びシューティング型ゲーム装置
JPH09152307A (ja) * 1995-12-01 1997-06-10 Sega Enterp Ltd 座標検出装置、その方法およびゲーム装置
JP2000061138A (ja) * 1998-08-24 2000-02-29 Smk Corp 光位置検出方式
JP3662435B2 (ja) * 1998-12-17 2005-06-22 コナミ株式会社 射的ビデオゲーム装置

Also Published As

Publication number Publication date
JP2002346224A (ja) 2002-12-03

Similar Documents

Publication Publication Date Title
KR100993033B1 (ko) 엔터테인먼트 시스템
CN104834165B (zh) 一种投影屏幕上的激光点位置确定方法
WO2015052765A1 (ja) 投射型映像表示装置、操作検出装置及び投射型映像表示方法
US8851994B2 (en) Game device, game control method, and game control program adapted to control game by using position and posture of input device
WO2016075796A1 (ja) 投射型映像表示装置および映像表示方法
JP3670896B2 (ja) 電子ボードシステム
WO2009120299A2 (en) Computer pointing input device
JP2001236179A (ja) 指示位置検出システムおよび方法、プレゼンテーションシステム並びに情報記憶媒体
US20160231807A1 (en) Electronic apparatus
JPH0895157A (ja) 表示装置
JP2002035411A (ja) ゲームシステム、サイン認識システム、ゲーム用処理方法、およびゲーム用プログラムを記録した記録媒体
CN110689583B (zh) 一种标定方法、装置、存储介质及电子设备
US6955598B2 (en) Designated position detector and game controller utilizing the same
JP2009522681A (ja) イメージセンサーを用いた遠隔ポインティング装置及び方法
JP4790930B2 (ja) シューティングゲーム用コントローラおよび指示位置検出方法
JP2003518346A (ja) ユーザーと電子装置との間におけるインターフェースユニット
CN108139203B (zh) 信息处理设备和位置信息获取方法
JP2002116878A (ja) 画像生成システム、プレゼンテーションシステムおよび情報記憶媒体
US10744404B2 (en) Information processing system, information processing apparatus, computer-readable non-transitory storage medium having stored therein information processing program, and hand-held information processing apparatus
JP2001224853A (ja) ゲーム装置及びカメラ
JPH1139095A (ja) プレゼンテーション装置、その方法、及びペン入力装置
JP4584136B2 (ja) ゲームシステム
JP3159906U (ja) 画像処理モジュール
CN107122083B (zh) 投影面的触控检测方法
KR100651292B1 (ko) 카메라가 탑재된 티브이 및 그 티브이의 영상 정보 제공방법과 그 시스템

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080501

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110201

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110325

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110524

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110602

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110614

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20110628

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110721

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140729

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4790930

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

EXPY Cancellation because of completion of term