明細書 音楽ゲーム装置、 音楽ゲームシステム、 操作物、 音楽ゲームプログラム、 及ぴ、 音楽ゲーム方法
技術分野
本発明は、 操作物の動きに追従した画像を表示する音楽ゲーム装置及びその関 連技術に関する。
背景技術
特許文献 1 (特開 2 0 0 2— 2 6 3 3 6 0号公報) には、 演奏指揮ゲーム装置 が開示されている。 この演奏指揮ゲーム装置では、 指揮棒コントローラの先端に 投光ュニッ トが設けられるとともに、 モニタの下部に受光ュニッ トが設けられる。 このような構成により、 指揮棒コントローラの動きを検出する。
ゲームが開始されると、 指揮棒コントローラを振る方向及ぴタイミングを指示 する操作案内画像が、 モニタに表示されるとともに、 演奏音が出力される。 この 演奏音は、 指揮棒コントローラの操作に関係なく出力される。 そして、 プレイヤ が、 指示された方向及びタイミングで、 指揮棒コントローラを操作したときにの み、 指揮棒反応音が出力される。 この指揮棒反応音は、 ある演奏パートを所定の 長さで分断したものである。 従って、 プレイヤが、 指示された方向及ぴタイミン グで、 指揮棒コントローラを操作するたびに、 対応する指揮棒反応音が出力され る。
特許文献 2 (特開平 1 0— 1 4 3 1 5 1号公報) には、 指揮装置が開示されて いる。 この指揮装置では、 マウスを指揮棒のように操作することで、 マウスが描 く軌跡からテンポ、 アクセント及ぴ強弱などの音楽パラメータを算出する。 そし て、 算出したこれらの音楽パラメータを、'出力する音楽や画像に反映させる。 例 えば、 汽車の動画像を表示する際に、 汽車のスピードを、 算出したテンポに追従 させ、 スピー ドの変化を、 アクセントに追従させ、 汽車の煙の量を、 強弱に追従 させる。
上述のように、 特許文献 1の演奏指揮ゲーム装置は、 プレイヤが演奏を行うこ とを主目的とした装置であることは明らかである。 また、 特許文献 2の指揮装置
では、 プレイヤが演奏を行うことを主目的とするため、 マウスの移動情報を音楽 パラメータに変換して、 この音楽パラメータを音楽及ぴ画像に反映させている。 このように、 プレイヤが演奏を行うことを主目的とする従来の装置では、 表示 される画像 (上記の例では、 汽車) に面白味がなく、 プレイヤが画像を楽しむ、 ということが重視されていない。
さらに、 プレイヤによる操作物である指揮棒コントローラやマウスについては、 次のことが言える。 特許文献 1の指揮棒コントローラは、 投光ユニッ トを備えて いるため、 電子回路を備えることが必要となる。 従って、 指揮棒コントローラの コス トが高くなるし、 また、 故障の原因となる。 さらに、 操作性が低くなる。 特 に、 指揮棒コントローラは、 動かされるものであるため、 電子回路を備えること なく、 簡易な構成とすることが好ましい。 また、 特許文献 2のマウスでは、 平面 上での操作のみが可能であり、 操作の制約が大きいし、 また、 特許文献 1の指揮 棒コントローラと同様の問題もある。
発明の開示
そこで、 本発明は、 プレイヤが関与することなく楽曲を自動演奏しながらも、 簡易な構成の操作物をプレイヤが操作することにより、 楽曲とともに、 操作に追 従した画像を楽しむことができる音楽ゲーム装置及びその関連技術を提供するこ とを目的とする。 '
本発明の観点によると、 音楽ゲーム装置は、 楽曲を自動演奏する音楽ゲーム装 置であって、 プレイヤによって操作される操作物に、 予め定められた周期で、 光 を照射するス トロボスコープと、 前記スト口ポスコープの発光時及ぴ消灯時のそ れぞれにおいて、 前記操作物を撮影して、 発光時画像信号及び消灯時画像信号を 生成する撮像ュニッ トと、 前記発光時画像信号と前記消灯時画像信号との差分信 号を生成する差分信号生成ユニッ トと、 前記差分信号に基づいて、 前記操作物の 状態情報を算出する状態情報算出ユニッ トと、 前記操作物に連動するカーソルの 操作のためのガイ ドの表示を、 前記楽曲に基づくタイミングで制御するガイ ド制 御ユニッ トと、 前記カーソルの表示を、 前記操作物の前記状態情報に基づいて制 御するカーソル制御ユニッ トと、 前記操作物による前記カーソルの操作が、 前記 ガイ ドに適合したときに、 前記ガイ ドによる案内に応じて、 画像の表示を制御す
る追従画像制御ユニッ トと、 を備え、 前記追従画像制御ユニッ トは、 前記操作物 の前記状態情報及ぴ前記ガイ ドに関する情報に基づいて、 前記操作物による前記 カーソルの操作が、 前記ガイ ドに適合しているか否かを判断する。
この構成によれば、 カーソルの操作がガイ ドに適合している場合に、 ガイ ドに よる案内に応じて画像の表示が制御される。 この場合、 ガイ ドによる案内に適合 してカーソルの操作が行われているため、 カーソルの操作に応じて画像の表示が 制御されることになる。 つまり、 カーソルは操作物と連動しているため、 操作物 の操作に応じて画像の表示が制御される。 また、 ス トロボスコープにより間欠的 に光が照射される操作物を撮像ュニッ トによ'り撮影して、 操作物の状態情報を求 めている。 このため、 操作物の状態情報を求めるために、 操作物に電源により駆 動する回路を内蔵する必要がない。 さらに、 この音楽ゲーム装置は、 楽曲を自動 演奏する。
以上の結果、 プレイヤが関与することなく楽曲を自動演奏しながらも、 簡易な 構成の操作物をプレイヤが操作することにより、 楽曲とともに、 操作物の操作に 追従した画像を楽しむことができる。
また、 楽曲に基づくタイミングでガイ ドが制御されるため、 プレイヤが、 ガイ ドに従ってカーソルを操作すれば、 操作物の操作も楽曲に合ったものとなる。 従 つて、 プレイヤは、 楽曲'に合った操作物の操作を楽しむことができる。
ここで、 操作物の操作とは、 操作物自体を動かすこと (例えば、 移動させるこ と) を意味し、 スィッチを押下したり、 アナログスティックを動かしたり、 等は 含まない。
上記音楽ゲーム装置において、 前記ガイ ドは、 前記カーソルの移動位置及ぴ操 作タイミングを案内し、 前記追従画像制御ユニッ トは、 前記操作物による前記力 一ソルの操作が、 前記ガイ ドに適合したときに、 前記ガイ ドが案内する前記移動 位置の方向に対応して、 前記画像の表示を制御する。
この構成によれば、 プレイヤが、 操作物を操作して、 カーソルを、 ガイ ドが案 内する操作タイミングで、 ガイ ドが案内する移動位置に移動させた場合に、 ガイ ドが案内するカーソルの移動位置の方向に対応して、 画像の表示が制御される。 その結果、 楽曲とともに、 操作物の操作に連動するカーソルの移動に追従した画
像を楽しむことができる。
上記音楽ゲーム装置において、 前記状態情報算出ユニッ トは、 前記差分信号に 基づいて、 前記操作物の前記状態情報としての位置を算出し、 前記追従画像制御 ユニッ トは、 前記状態情報算出ユニッ トが算出した前記操作物の前記位置が、 前 記ガイ ドが案内する期間内に、 前記ガイ ドが案内する領域内に存在する場合に、 前記操作物に連動するカーソルの操作が、 前記ガイ ドに適合していると判断する。 この構成によれば、 簡易な処理で算出できる操作物の位置により、 カーソルの 操作の的確性を判断できる。
上記音楽ゲーム装置において、 前記ガイ ドは、 前記カーソルの移動経路、 移動 方向、 及ぴ、 操作タイミングを案内する。
この構成によれば、 プレイヤが、 操作物を操作して、 カーソルを、 ガイ ドが案 内する操作タイミングで、 ガイ ドが案内する移動方向に、 ガイ ドが案内する移動 経路に沿って移動させた場合に、 ガイ ドに応じて、 画像の表示が制御される。 そ の結果、 '楽曲とともに、 操作物の操作に連動するカーソルの移動に応じた画像を 楽しむことができる。
上記音楽ゲーム装置において、 前記状態情報算出ユニッ トは、 前記差分信号に 基づいて、 前記操作物の前記状態情報としての位置を算出し、 前記追従画像制御 ユニッ トは、 前記状態憎報算出ユニッ トが算出した前記操作物の前記位置が、 前 記ガイ ドが案内する期間内に、 前記ガイ ドが案内する複数の所定領域を、 前記ガ イ ドが案内する所定の順序で移動した場合に、 前記操作物に連動するカーソルの 操作が、 前記ガイ ドに適合していると判断する。
この構成によれば、 簡易な処理で算出できる操作物の位置により、 カーソルの 操作の的確性を判断できる。
上記音楽ゲーム装置において、 前記ガイ ドは、 画面上の予め定められた複数の 位置の各々に表示され、 前記ガイ ド制御ュニッ トは、 前記ガイ ドの形態を、 前記 楽曲にもとづくタイミングで変化させる。
この構成によれば、 プレイヤは、 ガイ ドの形態の変化により、 カーソルを移動 すべき位置及び方向を容易に認識できる。
ここで、 本明細書において、 ガイ ドの形態には、 ガイ ドの形状及び色のいずれ
カ あるいは、 その双方が含まれる。
上記音楽ゲーム装置において、 前記ガイ ドは、 画面上の第 1の予め定められた 位置から第 2の予め定められた位置への移動が視覚的に認識できる表示により表 現され、 前記ガイ ド制御ユニッ トは、 前記ガイ ドの表示を、 前記楽曲にもとづく タイミングで制御する。
この構成によれば、 プレイヤは、 カーソルを移動すべき方向及ぴ経路をより明 確に認識できる。
例えば、 前記ガイ ドは、 画面上の前記第 1の予め定められた位置を始点とし、 前記第 2の予め定められた位置を終点とする経路上に配置される複数のオブジェ タ トの形態の変化により表現することができる。
この構成によれば、 プレイヤは、 複数のオブジェク トの形態の変化により、 力 一ソルを移動すべき方向及ぴ経路を容易に認識できる。
例えば、 前記ガイ ドは、 面面上の前記第 1の予め定められた位置から前記第 2 の予め定められた位置へのオブジェク トの移動により表現できる。
この構成によれば、 プレイヤは、 オブジェク トの移動により、 カーソルを移動 すべき方向及び経路を容易に認識できる。
例えば、 前記ガイ ドは、 画面上の前記第 1の予め定められた位置を始点とし、 前記第 2の予め定めら た位置を終点とする経路の形態の変化により表現できる。 この構成によれば、 プレイヤは、 経路の形態の変化により、 カーソルを移動す べき方向及ぴ経路を容易に認識できる。
上記音楽ゲーム装置において、 前記状態情報算出ュニッ トが算出する前記操作 物の前記状態情報は、 速さ情報、 移動方向情報、 移動距離情報、 速度べク トル情 報、 加速度情報、 移動軌跡情報、 面積情報、 若しくは、 位置情報、 のいずれか、 又は、 それらの 2以上の組み合わせ、 である。
この構成によれば、 操作物によるカーソルの操作が、 ガイ ドに適合しているか 否かを判断する際の操作物の状態情報として、 様々な情報を利用できるため、 ガ イ ドの表現の自由度が大きくなり、 ひいては、 ゲーム内容の設計の自由度も大き くなる。
本発明の新規な特徴は、 特許請求の範囲に記載されている。 しかしながら、 発
明そのもの及ぴその他の特徴と効果は、 添付図面を参照して具体的な実施例の詳 細な説明を読むことにより容易に理解される。
図面の簡単な説明
図 1は、本発明の実施の形態における音楽ゲームシステムの全体構成を示す図で ある。
図 2は、 図 1の操作物の斜視図である。
図 3 (a ) は、 図 2の反射ポールの上面図である。 図 3 ( b ) は、 図 3 ( a) の 矢印 A方向からの反射ポールの側面図である。 図 3 ( c ) は、 図 3 ( a ) の矢印 B方向からの反射ポールの側面図である。
図 4は、 図 2の反射ポールの縦断面図である。
図 5は、 図 1の撮像ユニッ トの一例を示す図解図である。
図 6は、 図 1の音楽ゲーム装置の電気的な構成を示す図である。
図 7は、 図 6の髙速プロセッサのプロック図である。
図 8ほ、図 6のィメージセンサから髙速プロセッサへピクセルデータを取り込む 構成及ぴ L ED駆動回路を示す回路図である。
図 9 ( a) は、 図 8のイメージセンサが出力するフレームステータスフラグ信号 F S Fのタイミング図である。 図 9 ( b ) は、 図 8のイメージセンサが出力する ピクセルデータス トロープ信号 PD Sのタイミング図である。 図 9 ( c ) は、 図 8のイメージセンサが出力するピクセルデータ D (X, Y) のタイミング図であ る。 図 9 ( d ) は、 図 8の髙速プロセッサが出力する L E Dコントロール信号 L ED Cのタイミング図である。 図 9 ( e ) は、 図 8の赤外発光ダイオードの点灯 状態を示すタイミング図である。 図 9 ( f ) は、 図 8のイメージセンサの露光期 間を示すタイミング図である。
図 1 0 (a ) は、 図 9のフレームステータスフラグ信号 F S Fの拡大図である。 図 1 0 (b) は、 図 9のピクセルデータス トローブ信号 P D Sの拡大図である。 図 1 0 ( c) は、 図 9のピクセルデータ D (X, Y) の拡大図である。
図 1 1は、図 1のテレビジョンモニタのスクリーンに表示されるゲーム画面の例 示図である。
図 1 2は、図 1のテレビジョンモニタのスクリーンに表示されるゲーム画面の他
の例示図である。
図 1 3は、図 1のテレビジョンモニタのスクリーンに表示されるゲーム画面のさ らに他の例示図である。
図 1 4は、図 1のテレビジョンモニタのスクリーンに表示されるォブジェク トを 構成するスプライ トの説明図である。
図 1 5は、図 1のテレビジョンモニタのスクリーンに表示される全景スクリーン の説明図である。
図 1 6 ( a ) は、 図 1 5の全景スク リーンをスクロールする前の説明図である。 図 1 6 ( b ) は、 図 1 5の全景スク リーンをスクロールした後の説明図である。 図 1 7は、図 6の R O Mに格納されたプログラム及ぴデータを示す概念図である。 図 1 8は、 図 1 7の第 1の楽譜データの一例を示す概念図である。
図 1 9は、 図 1 7の第 2の楽譜データの一例を示す概念図である。
図 2 0 ( a ) は、 カーソルを案内する方向とノートナンパとの関係図である。 図 2 0 ( b ) は、 カーソルを案内する方向とノートナンパとの他の関係図である。 図 2 0 ( c ) は、 カーソルを案内する方向とノートナンパとのさらに他の関係図 である。
図 2 1 ( a ) は、 一般的なィメージセンサにより撮影された、 特別な処理を施さ ない画像の例示図であ 。 図 2 1 ( b ) は、 図 2 1 ( a ) の画像信号を或る閾値 でレベル弁別したときの画像信号の例示図である。 図 2 1 ( c ) は、 赤外フィル タを介したィメージセンサの点灯時の画像信号を或る閾値でレベル弁別したとき の画像信号の例示図である。 図 2 1 ( d ) は、 赤外フィルタを介したイメージセ ンサの消灯時の画像信号を或る閾値でレベル弁別したときの画像信号の例示図で ある。 図 2 1 ( e ) は、 点灯時の画像信号と消灯時の画像信号との差分信号の例 示図である。
図 2 2は、 図 1の操作物の注目点の座標算出の説明図である。
図 2 3 ( a ) は、 最大輝度値を持つピクセルの座標を基に、 図 1の操作物の注目 点座標を算出する際の X方向スキャンの説明 0である。 図 2 3 ( b ) は、 最大輝 度値を持つピクセルの座標を基に、 図 1の操作物の注目点座標を算出する際の Y 方向スキャンのスター ト時の説明図である。 図 2 3 ( c ) は、 最大輝度値を持つ
ピクセルの座標を基に、 図 1の操作物の注目点座標を算出する際の Y方向スキヤ ンの説明図である。 図 2 3 ( d) は、 最大輝度値を持つピクセルの座標を基に、 操作物の注目点座標を算出する際の結果の説明図である。
図 24は、 C PU 20 1による注目点存在領域判定処理 ( 1 ) の説明図である。 図 2 5は、 C PU 20 1による注目点存在領域判定処理 ( 2) の説明図である。 図 26は、 本実施の形態による、 方向ガイ G、 位置ガイ ド g、 及び、 経路ガイ ド r g、 のアニメーショ ンの登録の説明図である。
図 2 7は、図 26のアニメーショ ンテーブル格納位置情報により指定されるァニ メーションテープルの例示図である。
図 2 8は、 本実施の形態における、 第 1の楽譜データ、 第 2の楽譜データ、 方向 ガイ KG、 位置ガイ K g、 操作判定、 及ぴ、 ダンスアニメーショ ン、 の関係を説 明するためのタイミング図である。
図 2 9は、図 1の音楽ゲーム装置の全体の処理の流れを示すフローチヤ一トであ る。
図 3 0は、図 2 9のステップ S 1の初期設定処理の流れを示すフローチヤ一トで ある。
図 3 1は、図 30のステップ S 1 4のセンサ初期設定処理の流れを示すフローチ ヤー トである。
図 3 2は、図 3 1のステップ S 2 1のコマンド送信処理の流れを示すフローチヤ ートである。
図 3 3は、 (a) 図 8のレジスタ設定クロック C LKのタイ ミング図である。 ( b ) 図 8のレジスタデータのタイ ミング図である。
図 34は、図 3 1のステップ S 2 3のレジスタ設定処理の流れを示すフローチヤ ートである。
図 3 5は、図 2 9のステップ S 2の状態情報算出処理の流れを示すフローチヤ一 トである。
図 3 6は、図 3 5のステップ S 5 0のピクセルデータ群取得処理の流れを示すフ ローチャートである。
図 3 7は、図 3 6のステップ S 6 1のピクセルデータ取得処理の流れを示すフロ
一チャートである。
図 3 8は、図 3 5のステップ S 5 1の注目点抽出処理の流れを示すフローチヤ一 トである。
図 3 9は、図 3 8のステップ S 8 5の注目点座標算出処理の流れを示すフローチ ヤートである。
図 4 0は、図 2 9のステップ S 3のゲーム処理の流れを示すフローチヤ一トであ る。
図 4 1は、本実施の形態における割込み処理の流れを示すフローチヤ一トである。 図 4 2は、図 4 1のステップ S 1 5 0の楽曲再生処理の流れを示すフローチヤ一 トである。
図 4 3は、図 4 1のステップ S 1 5 1のガイ ド登録処理の流れを示すフローチヤ ートである。
図 4 4は、 本実施の形態におけるガイ ドの他の例示図である。
図 4 5は、 本実施の形態におけるガイ ドのさらに他の例示図である。
図 4 6は、 本実施の形態におけるガイ ドのさらに他の例示図である。
発明を実施するための最良の形態
以下、 本発明の実施の形態について、 図面を参照しながら説明する。 なお、 図中、 同一または相当部分につい Tは同一の参照符号を付してその説明を援用する。
図 1は、 本発明の実施の形態における音楽ゲームシステムの全体構成を示す図 である。 図 1に示すように、 この音楽ゲームシステムは、 音楽ゲーム装置 1、 操 作物 1 5 0、 及ぴ、 テレビジョンモニタ 9 0、 を含む。
音楽ゲーム装置 1のハウジング 1 9には、 撮像ュニッ ト 1 3が組み込まれる。 撮像ュニッ ト 1 3は、 4つの赤外発光ダイォード 1 5及び赤外フィルタ 1 7を含 む。 赤外発光ダイォード 1 5の発光部は、 赤外ブイルタ 1 7から露出している。 音楽ゲーム装置 1には、 A Cアダプタ 9 2により、直流電源電圧が与えられる。 ただし、 A Cアダプタ 9 2に代えて、 電池 (図示せず) により、 直流電源電圧を 与えることもできる。
テレビジョ ンモニタ 9 0には、 その前面にスク リーン 9 1が設けられる。 テレ ビジョンモニタ 9 0と音楽ゲーム装置 1 とは、 A Vケーブル 9 3により接続され.
る。 なお、 音楽ゲーム装置 1は、 例えば、 図 1に示すように、 テレビジヨ ンモニ タ 9 0の上面に載置される。
プレイヤ 9 4が、 音楽ゲーム装置 1の背面に設けられた電源スィッチ (図示せ ず) をオンにすると、 スクリーン 9 1に、 ゲーム画面が表示される。 プレイヤ 9 4は、 ゲーム画面のガイ ドに従って、 操作物 1 5 0を操作して、 ゲームを実行す る。 ここで、 操作物 1 5 0の操作とは、 操作物自体を動かすこと (例えば、 移動 させること) を意味し、 スィッチを押下したり、 アナログスティックを動かした り、 等は含まない。
撮像ュニッ ト 1 3の赤外発光ダイオード 1 5は、 間欠的に赤外光を発光する。 赤外発光ダイオード 1 5からの赤外光は、 この操作物 1 5 0に取り付けられた反 射シート (後述) により反射され、 赤外フィルタ 1 7の内部に設けられた撮像素 子 (後述) に入力される。 このよ うにして、 操作物 1 5 0が間欠的に撮影される。 従って、 音楽ゲーム装置 1は、 プレイヤ 9 4により動かされた操作物 1 5 0の間 欠的な映像信号を取得できる。 音楽ゲーム装置 1は、 この映像信号を解析して、 その解析結果をゲームに反映する。 本実施の形態で使用する反射シートは、 例え ば、 再帰反射シートである。
図 2は、 図 1 の操作物 1 5 0の斜視図である。 図 2に示すように、 操作物 1 5 0は、 スティック 1 5 2 'の先端に反射ボール 1 5 1を固定して構成される。 この 反射ポール 1 5 1により、 赤外発光ダイォード 1 5からの赤外光が反射される。 反射ポール 1 5 1の詳細を説明する。
図 3 ( a ) は、 図 2の反射ボール 1 5 1の上面図、 図 3 ( b ) は、 図 3 ( a ) の矢印 A方向からの反射ポール 1 5 1の側面図、 図 3 ( c ) は、 図 3 ( a ) の矢 印 B方向からの反射ボール 1 5 1の側面図、 である。
図 3 ( a ) 〜図 3 ( c )に示すように、 反射ボール 1 5 1は、 透明色 (半透明、 有色透明、 及び、 無色透明、 を含む。) の球状外殻 1 5 3の内部に球状内殻 1 5 4 を固定してなる。 球状内殻 1 5 4には、 反射シート 1 5 5が取り付けられる。 こ の反射シート 1 5 5が、 赤外発光ダイォード 1 5からの赤外光を反射する。
図 4は、 図 2の反射ポール 1 5 1の縦断面図である。 図 4に示すように、 球状 外殻 1 5 3は、 2つの半球状外殻をボス 1 5 6及びビス (図示せず) により固定
してなる。 球状内殻 1 5 4は、 球状外殻 1 5 3の内部に、 2つの半球状内殻をボ ス 1 5 7により固定してなる。 また、 反射ボール 1 5 1には、 スティック 1 5 2 が、 揷入して固定される。 具体的には、 球状外殻 1 5 3を構成する 2つの半球状 外殻と、 球状内殻 1 5 4を構成する 2つの半球状内殻と、 によりスティック 1 5 2を挟み、 2つの半球状外殻をボス 1 5 6及びビスで固定するとともに、 2つの 半球状内殼をボス 1 5 7で固定することで、 スティ ック 1 5 2を反射ポール 1 5 1に取り付ける。
図 5は、 図 1の撮像ュニッ ト 1 3の一例を示す図解図である。 図' 5に示すよう に、 この撮像ユニッ ト 1 3は、 たとえばプラスチック成型によって形成されるュ ニッ トベース 3 5を含み、 このユニッ トベース 3 5内には支持筒 3 6が取り付け られる。 支持筒 3 6の上面には内面が逆円錐形状であるラッパ状の開口 4 1が形 成され、 その開口 4 1の下方の筒状部内部には、 いずれもがたとえば透明プラス チックの成型によって形成された凹レンズ 3 9および凸レンズ 3 7を含む光学系 が設けられ、 凸レンズ 3 7の下方において、 撮像素子としてのイメージセンサ 4 3が固着される。 したがって、 イメージセンサ 4 3は、 開口 4 1からレンズ 3 9 および 3 7を通して入射する光に応じた画像を撮影することができる。
イメージセンサ 4 3は、 低解像度の C M O Sイメージセンサ(たとえば 3 2ピク セル X 3 2ピクセル: グ'レースケール)である。 ただし、 このイメージセンサ 4 3 は、 画素数のもっと多いものでもよいし、 C C D等の他の素子からなるものであ つてよい。 以下では、 イメージセンサ 4 3が、 3 2 ピクセル X 3 2ピクセルからな るものとして説明を行う。
また、 ュニッ トベース 3 5には、 光出射方向がいずれも上方向とされた複数 (実 施の形態では 4つ) の赤外発光ダイオード 1 5が取り付けられる。 この赤外発光 ダイォード 1 5によって、撮像ュニッ ト 1 3の上方に赤外光が照射される。 また、 ユニッ トベース 3 5の上方には、 赤外フィルタ (赤外光のみを透過するフィルタ) 1 7が上記開口 4 1を覆うように、 取り付けられる。 そして、 赤外発光ダイォー ド 1 5は後述のように、 点灯/消灯 (非点灯) が連続的に繰り返されるので、 ス トロボスコープとして機能する。 ただし、 「ス トロボスコープ」 とは、 運動体を間 欠的に照らす装置の総称である。 したがって、 上記イメージセンサ 4 3は、 その
撮影範囲内で移動する物体、 実施の形態では、 操作物 1 5 0を撮影することにな る。 なお、 後述する図 8に示すように、 ス トロボスコープは、 主に、 赤外発光ダ ィォード 1 5、 L ED駆動回路 7 5、 及ぴ、 高速プロセッサ 2 0 0、 により構成 される。
ここで、 撮像ュニッ ト 1 3は、 イメージセンサ 4 3の受光面が、 水平面から所 定角度 (例えば、 9 0度) だけ傾くように、 ハウジング 1 9に組み込まれる。 ま た、 回レンズ 3 9および ώレンズ 3 7により、 ィメージセンサ 4 3の撮影範囲は、 例えば、 6 0度の範囲である。
図 6は、 図 1 の音楽ゲーム装置 1の電気的な構成を示す図である。 図 6に示す ように、 音楽ゲーム装置 1は、 イメージセンサ 4 3、 赤外発光ダイォード 1 5、 映像信号出力端子 4 7、 音声信号出力端子 4 9、 高速プロセッサ 2 0 0、 ROM ( r e a d o n l y m e m o r y) 5 1、 及び、 ノ ス 5 3、 を含む。
高速プロセッサ 2 0 0には、 パス 5 3が接続される。 さらに、 ノ ス 5 3には、 ROM 5 1が接続される。 従って、 高速プロセッサ 2 0 0は、 バス 5 3を介して、 ROM5 1にアクセスすることができるので、 ROM 5 1に格納されたゲームプ ログラムをリードして実行でき、 また、 ROM5 1に格納された画像データ及ぴ 音楽データをリードして処理し、 映像信号及び音声信号を生成して、 映像信号出 力端子 4 7及び音声信号'出力端子 4 9に出力することができる。
操作物 1 5 0は、 赤外発光ダイオード 1 5が発光する赤外光に照射され、 その 赤外光を反射シート 1 5 5で反射する。 この反射シート 1 5 5からの反射光がィ メージセンサ 4 3によって検知され、 したがって、 イメージセンサ 4 3からは反 射シート 1 5 5の画像信号が出力される。 ィメージセンサ 4 3からのこのアナ口 グ画像信号は高速プロセッサ 2 0 0に内蔵された A/Dコンバータ (後述) によ つてデジタルデータに変換される。 赤外光消灯時も同様の処理が行われる。 高速 プロセッサ 2 0 0は、 このデジタルデータを解析して、 その解析結果をゲーム処 理に反映する。
図 7は、図 6の髙速プロセッサ 2 0 0のプロック図である。 図 7に示すように、 この髙速プロセッサ 2 0 0は、 中央演算処理装置 (C P U : c e n t r a l r o c e s s i n g u n i t ) 2 0 1、 グラフィックプロセッサ 2 0 2、 サゥ
ンドプロセッサ 20 3、 DMA (d i r e c t m e m o r y a c c e s s ) コントローラ 2 04、 第 1パス調停回路 20 5、 第 2パス調停回路 20 6、 内部 メモリ 20 7、 A/Dコンバータ (ADC : a n a l o g t o d i g i t a 1 c o n v e r t e r ) 2 0 8、 入出力制御回路 2 0 9、 タイマ回路 2 1 0、 DRAM (d y n a m i c r a n d om a c c e s s m e m o r y) リ ブ レッシュ制御回路 2 1 1、 外部メモリインタフェース回路 2 1 2、 クロック ドラ ィパ 2 1 3、 P L L (p h a s e - l o c k e d l o o p) 回路 2 1 4、 低電 圧検出回路 2 1 5、 第 1パス 2 1 8、 及び、 第 2パス 2 1 9、 を含む。
C PU 20 1は、 メモリ (内部メモリ 20 7、 又は、 ROM5 1 ) に格納され たプログラムに従い、 各種演算やシステム全体の制御を行う。 C PU 2 0 1は、 第 1パス 2 1 8及び第 2パス 2 1 9のパスマスタであり、 それぞれのパスに接続 された資源にアクセスが可能である。
グラフィックプロセッサ 2 0 2は、 第 1パス 2 1 8及び第 2パス 2 1 9のパス マスタであり、 内部メモリ 20 7、 又は、 ROM5 1に格納されたデータを基に、 映像信号を生成して、 映像信号出力端子 4 7へ出力する。 グラフィックプロセッ サ 20 2は、 第 1パス 2 1 8を通じて、 C PU 2 0 1により制御される。 また、 グラフィックプロセッサ 2 0 2は、 C PU 20 1に対して、 割込み要求信号 2 2 0を発生する機能を有ザる。
サウンドプロセッサ 2 0 3は、 第 1パス 2 1 8及ぴ第 2バス 2 1 9のバスマス タであり、 内部メモリ 2 0 7、 又は、 ROM5 1に格納されたデータを基に、 音 声信号を生成して、 音声信号出力端子 4 9へ出力する。 サウンドプロセッサ 2 0 3は、 第 1パス 2 1 8を通じて、 C PU 20 1により制御される。 また、 サゥン ドプロセッサ 2 0 3は、 C PU 2 0 1に対して、 割込み要求信号 2 20を発生す る機能を有する。
DMAコン トローラ 2 04は、 ROM5 1力 ら、 内部メモリ 2 0 7へのデータ 転送を司る。 また、 DMAコントローラ 204は、 データ転送の完了を通知する ために、 C PU 2 0 1に対する割込み要求信号 2 2 0を発生する機能を有する。 DMAコン トローラ 2 04は、 第 1パス 2 1 8及び第 2バス 2 1 9のバスマスタ である。 DMAコントローラ 2 04は、 第 1パス 2 1 8を通じて0 ?112 0 1に
より制御される。
内部メモリ 20 7は、 マスク ROM、 S RAM ( s t a t i c r a n d o m a c c e s s me mo r y)、 及ぴ、 DRAMのうち、 必要なものを備える。 バ ッテリによる S RAMのデータ保持が必要とされる場合、 パッテリ 2 1 7が必要 となる。 D RAMが搭載される場合、 定期的にリフレッシュと呼ばれる記憶内容 保持のための動作が必要とされる。
第 1パス調停回路 20 5は、 第 1バス 2 1 8の各パスマスタからの第 1バス使 用要求信号を受け付け、 調停を行い、 各パスマスタへの第 1パス使用許可信号を 発行する。 各パスマスタは、 第 1パス使用許可信号を受領することによって第 1 パス 2 1 8に対するアクセスが許可される。 ここで、 第 1バス使用要求信号及ぴ 第 1バス使用許可信号は、 図 7では、 第 1バス調停信号 2 2 2として示されてい る。
第 2バス調停回路 20 6は、 第 2バス 2 1 9の各バスマスタからの第 2バス使 用要求信号を受け付け、 調停を行い、 各パスマスタへの第 2パス使用許可信号を 発行する。 各バスマスタは、 第 2パス使用許可信号を受領することによって第 2 バス 2 1 9に対するァクセスが許可される。 ここで、 第 2バス使用要求信号及ぴ 第 2バス使用許可信号は、 図 7では、 第 2パス調停信号 2 2 3 として示されてい る。 '
入出力制御回路 2 0 9は、 外部入出力装置や外部の半導体素子との通信等を入 出力信号を介して行う。 入出力信号は、 第 1バス 2 1 8を介して、 C PU 2 0 1 からリード/ライ トされる。 また、 入出力制御回路 20 9は、 C PU 20 1に対 して、 割込み要求信号 2 20を発生する機能を有する。
この入出力制御回路 2 0 9から、 赤外発光ダイォード 1 5を制御する L E Dコ ントロール信号 L E D Cが出力される。
タイマ回路 2 1 0は、 設定された時間間隔に基づき、 C PU 2 0 1に対する割 込み要求信号 2 20を発生する機能を有する。 時間間隔等の設定は、 第 1バス 2 1 8を介して C PU 20 1によって行われる。
AD C 20 8は、 アナログ入力信号をデジタル信号に変換する。 このデジタル 信号は、 第 1バス 2 1 8を介して〇?112 0 1にょってリードされる。 また、 A
D C 20 8は、 C PU 2 0 1に対して、 割込み要求信号 2 2 0を発生する機能を 有する。
この AD C 2 0 8が、 イメージセンサ 4 3からのピクセノレデータ (アナログ) を受けて、 デジタルデータに変換する。
P L L回路 2 1 4は、 水晶振動子 2 1 6より得られる正弦波信号を通倍した高 周波クロック信号を生成する。
クロック ドライバ 2 1 3は、 P L L回路 2 1 4より受け取った高周波クロック 信号を、 各プロックへク口ック信号 2 2 5を供給するのに十分な信号強度へ増幅 する。
低電圧検出回路 2 1 5は、 電源電圧 V c cを監視し、 電源電圧 V c cがー定電 圧以下のときに、 P L L回路 2 1 4のリセッ ト信号 2 2 6、 その他のシステム全 体のリセッ ト信号 2 2 7を発行する。 また、 内部メモリ 2 0 7が S RAMで構成 されており、 かつ、 S RAMのパッテリ 2 1 7によるデータ保持が要求される場 合、 電源電圧 V c cが一定電圧以下のときに、 バッテリバックアップ制御信号 2 24を発行する機能を有する。
外部メモリインタフェース回路 2 1 2は、 第 2パス 2 1 9を外部バス 5 3に接 続するための機能、 及ぴ、 第 2バス 2 1 9のサイクル終了信号 2 2 8を発行する ことにより、 第 2バスの'バスサイクル長を制御する機能、 を有する。
DRAMリ フレツシュ制御回路 2 1 1は、 一定期間毎に第 1パス 2 1 8の使用 権を無条件に獲得し、 D RAMのリ フレッシュ動作を行う。 なお、 DRAMリ フ レッシュ制御回路 2 1 1は、 内部メモリ 2 0 7が D RAMを含む場合に設けられ る。
ここで、 図 8〜図 1 0を参照して、 イメージセンサ 4 3から髙速プロセッサ 2 00へピクセルデータを取り込むための構成を詳細に説明する。
図 8は、 図 6のイメージセンサ 4 3から髙速プロセッサ 2 00へピクセルデー タを取り込む構成及ぴ L E D駆動回路を示す回路図である。 図 9は、 図 6のィメ ージセンサ 4 3から高速プロセッサ 20 0へピクセルデータを取り込む際の動作 を示すタイミング図である。 図 1 0は、 図 9の一部を拡大して示すタイミング図 である。
図 8に示すように、 ィメ ジセンサ 4 3は、 ピクセルデータ D (X, Y) をァ ナログ信号として出力するタイプのものであるため、 このピクセルデータ D (X, Y) は高速プロセッサ 2 0 0めアナログ入力ポートに入力される。 アナログ入力 ポートは、 この高速プロセッサ 20 0において AD C 20 8に接続され、 したが つて、 髙速プロセッサ 200は、 AD C 2 0 8からデジタルデータに変換された ピクセルデータをその内部に取得する。
上述のアナログピクセルデータ D (X, Y) の中点は、 イメージセンサ 4 3の 基準電圧端子 V r e f に与えられる基準電圧によって決定される。 そのため、 ィ メージセンサ 4 3に関連して例えば抵抗分圧回路からなる基準電圧発生回路 5 9 が設けられ、 この回路 5 9から基準電圧端子 V r e f に常に一定の大きさの基準 電圧が与えられる。
ィメージセンサ 43を制御するための各デジタル信号は、 高速プロセッサ 2 0 0の I /Oポートに与えられ、 またはそこから出力される。 この I /Oポートは 各々入力/出力の制御が可能なデジタルポートであり、 この高速プロセッサ 2 0 0で入出力制御回路 20 9に接続されている。
詳しく言う と、 高速プロセッサ 2 0 0の出力ポートからはイメージセンサ 4 3 をリセッ トするためのリセッ ト信号 r e s e tが出力され、 ィメージセンサ 4 3 に与えられる。 また、 イメージセンサ 4 3からは、 ピクセルデータス トロープ信 号 P D Sおよびフレームステータスフラグ信号 F S Fが出力され、 それらの信号 が高速プロセッサ 200の入力ポートに与えられる。
ピクセルデータス トロープ信号 P D Sは上述の各ピクセル信号 D (X, Y) を 読み込むための図 9 ( b ) に示すようなス トロープ信号である。 フレームステー タスブラグ信号 F S Fはィメージセンサ 4 3の状態を示すフラグ信号で、 図 9 ( a ) に示すように、 このイメージセンサ 4 3の露光期間を規定する。 つまり、 フレームステータスフラグ信号 F S Fの図 9 ( a ) に示すローレベルが露光期間 を示し、 図 9 (a) に示すハイレベルが非露光期間を示す。
また、 高速プロセッサ 2 0 0は、 イメージセンサ 4 3の制御レジスタ (図示せ ず) に設定するコマンド (またはコマンド +データ) をレジスタデータとして I /Oポートから出力するとともに、 たとえばハイレベルおょぴローレベルを繰り
返すレジスタ設定クロック C LKを出力し、 それらをィメージセンサ 4 3に与え る。
なお、 赤外発光ダイオード i 5 として、 図 8に示すように互いに並列接続され た 4つの赤外発光ダイオード 1 5 a, 1 5 b , 1 5 cおよび 1 5 dを用いる。 こ の 4つの赤外発光ダイォード 1 5 a〜 1 5 dは、 上で説明したように、 操作物 1 5 0を照らすように、 イメージセンサ 4 3の視点方向と同一方向に赤外光を照射 するようにかつィメ ^"ジセンサ 4 3を囲むように配置される。 ただし、 これら個 別の赤外発光ダイォード 1 5 a〜 1 5 dは、 特に区別する必要がある場合を除い て、 単に赤外発光ダイオード 1 5と呼ばれる。
この赤外発光ダイオード 1 5は L E D駆動回路 7 5によって、 点灯されまたは 消灯 (非点灯) される。 LED駆動回路 7 5は、 イメージセンサ 4 3から上述の フレームステータスフラグ信号 F S Fを受け、 このフラグ信号 F S Fは、 抵抗 6 9およびコンデンサ 7 1からなる微分回路 6 7を通して PNP トランジスタ 7 7 のベースに与えられる。 この PNP トランジスタ 7 7にはさらにブルアップ抵抗 7 9が接続されていて、 この PNP トランジスタ 7 7のベースは、 通常は、 ハイ レベルにプノレアップされている。 そして、 フレームステータス信号 F S Fがロー レベルになると、 そのローレベルが微分回路 6 7を経てベースに入力されるため、 P N P トランジスタ 77は、 フラグ信号 F S Fがローレベル期間にのみオンする。
PNP トランジスタ 7 7のェミッタは抵抗 7 3および 6 5を介して接地される。 そして、 ェミ ッタ抵抗 7 3および 6 5の接続点が N P Nトランジスタ 8 1のべ一 スに接続される。 この NPNトランジスタ 8 1のコレクタが各赤外発光ダイォー ド 1 5 a〜1 5 dのァノードに共通に接続される。 N P Nトランジスタ 8 1のェ ミ ッタが別の N P Nトランジスタ 6 1のベースに直接接続される。 N P Nトラン ジスタ 6 1のコレクタが各赤外発光ダイォード 1 5 a〜1 5 dの力ソードに共通 接続され、 ェミッタが接地される。
この L E D駆動回路 7 5では、 高速プロセッサ 2 00の Iノ Oポートから出力 される L E Dコントロール信号 L E D Cがアクティブ (ハイ レベル) でありかつ イメージセンサ 4 3からのフレームステータスフラグ信号 F S Fがローレベルで ある期間にのみ赤外発光ダイォード 1 5が点灯される。
図 9 ( a) に示すようにフレームステ一タスフラグ信号 F S Fがローレベルに なると、 そのローレベル期間中 (実際には微分回路 6 7の時定数での遅れがある 力 、 P N P トランジスタ 7 7がオンする。 したがって、 図 9 (d) に示す LED コントロール信号 L ED Cが高速プロセッサ 20 0からハイレベルで出力される と、 N P Nトランジスタ 8 1のベースがハイベルとなり、 この トランジスタ 8 1 がオンとなる。 トランジスタ 8 1がオンすると トランジスタ 6 1はオンとなる。 したがって、 電源 (図 8では小さい白丸で示す) から各赤外発光ダイオード 1 5 a〜l 5 dおよびトランジスタ 6 1を経て電流が流れ、 応じて図 9 ( e ) に示す ように各赤外発光ダイオード 1 5 a ~ 1 5 dが点灯される。
L ED駆動回路 7 5では、 このよ うに、 図 9 ( d ) の LEDコントロール信号 L EDCがアクティブでありかつ図 9 ( a ) のフレームステータスブラグ信号 F S Fがローレベルである期間にのみ赤外発光ダイォード 1 5が点灯されるので、 イメージセンサ 4 3の露光期間 (図 9 ( f ) 参照) にのみ赤外発光ダイオード 1 5が点灯されることになる。
したがって、 無駄な電力消費を抑制することができる。 さらに、 フレームステ 一タスブラグ信号 F S Fはコンデンサ 7 1によってカップリングされているので、 万一イメージセンサ 43の暴走等によりそのフラグ信号 F S Fがローレベルのま ま停止した場合でも、 一'定時間後にはトランジスタ 7 7は必ずオフされ、 赤外発 光ダイォード 1 5も一定時間後には必ずオフされる。
このよ うに、 フレームステータス信号 F S Fの持続期間を変更することによつ て、 イメージセンサ 4 3の露光時間を任意にかつ自在に設定または変更すること ができる。
さらに、 フレームステータス信号 F S Fおよび L EDコントロール信号 L ED Cの持続時間や周期を変更することによって、 赤外発光ダイォード 1 5すなわち ス トロボスコープの発光期間、 非発光期間、 発光 非発光周期などを任意にかつ 自在に変更または設定できる。
先に説明したように、 赤外発光ダイォード 1 5からの赤外光によって操作物 1 5 0が照射されると、 操作物 1 5 0からの反射光によってィメージセンサ 4 3が 露光される。 応じて、 イメージセンサ 43から上述のピクセルデータ D (X, Y)
が出力される。 詳しく説明すると、 イメージセンサ 4 3は、 上述の図 9 (a ) の フレームステータスフラグ信号 F S Fがハイレベルの期間 (赤外発光ダイォード 1 5の非点灯期間) に図 9 (b ) に示すピクセルデータス トローブ PD Sに同期 して、 図 9 ( c ) に示すようにアナログのピクセルデータ D (X, Y) を出力す る。
高速プロセッサ 2 00では、 そのフレームステータスフラグ信号 F S Fとピク セルデータス トロープ P D Sとを監視しながら、 ADC 2 0 8を通じて、 デジタ ノレのピクセルデータを取得する。
ただし、 ピクセルデータは、 図 1 0 ( c ) に示すように、 第 0行, 第 1行, … 第 3 1行と行順次に出力される。 ただし、 後に説明するように、 各行の先頭の 1 ピクセルはダミーデータとなる。
さて、 次に、 音楽ゲーム装置 1によるゲーム内容について、 具体例を挙げなが ら説明する。
図 1 1は、 図 1のテレビジョ ンモニタ 9 0のスク リーン 9 1に表示されるゲー ム画面の例示図である。 図 1 1に示すゲーム画面は、 ゲームスタート画面である。 図 1 1に示すように、 ゲームスタート画面として、 スクリーン 9 1には、 背景 1 1 0、 位置ガイ ド G 1 ~G 4、 評価オブジェタ ト 1 0 7〜 1 0 9、 カーソル 1 0 5、 ダンスオブジェク ト 1 0 6、 及ぴ、 マスク 1 4 1, 1 4 2が表示される。 そ して、 楽曲の自動演奏が開始される。
なお、 本実施の形態の例では、 位置ガイ ド G 1 ~G4は、 花の図形で表現され、 評価オブジェク ト 1 0 7〜 1 0 9は、 ハートの図形で表現され、 ダンスオブジェ ク ト 1 0 6は、 男女がダンスをしている図形で表現され、 カーソル 1 0 5は、 操 作物 1 5 0を模した図形で表現される。 ここで、 位置ガイ KG 1〜G 4を包括的 に表現する場合は、 「位置ガイ G」 と表記する。
カーソル 1 0 5は、 操作物 1 5 0のスクリーン 9 1上での位置を表しており、 操作物 1 5 0の動きに追従してスクリーン 9 1上を移動する。 従って、 プレイヤ 94から見れば、 操作物 1 5 0の操作とカーソル 1 0 5の操作とは同義である。 位置ガイ ド Gは、 カーソル 1 0 5 (操作物 1 5 0) の操作タイミング及ぴ移動位 置を、 自動演奏する楽曲のタイミングで案内する。 後述の方向ガイ ド g 1〜 g 5
は、 カーソル 1 0 5 (操作物 1 5 0) の操作タイミング及ぴ移動方向を、 自動演 奏する楽曲のタイミングで案内する。 後述の経路ガイ ド r g l〜r g l Oは、 力 一ソル 1 05 (操作物 1 5 0 ) の操作タイ ミ ング、 移動方向及ぴ移動経路を、 自 動演奏する楽曲のタイミングで案内する。 評価オブジェク ト 1 0 7〜 1 0 9は、 プレイヤ 94によるカーソル 1 0 5 (操作物 1 5 0) の操作の評価を視覚的に表 示する。 ここで、 方向ガイ ド g 1〜g 5を包括的に表現するときは、 「方向ガイ ド g」 と表記する。 また、経路ガイ ド r g l〜r g l Oを包括的に表現するときは、 「経路ガイ ド r g」 と表記する。
図 1 2は、 図 1のテレビジョンモニタ 9 0のスク リーン 9 1に表示されるゲー ム画面の他の例示図である。 図 1 2に示すように、 位置ガイ ド Gによる、 徐々に 花が開くアニメーショ ンは、 カーソル 1 0 5を移動させる位置を示す。 これによ り、 プレイヤ 94に対して、 花が開くアニメーションを行っている位置ガイ G が表示されている領域に、 カーソル 1 0 5を移動させることが指示される。 プレ ィャ 94は、 操作物 1 5 0を移動させて、 花が開くアニメーショ ンを行っている 位置ガイ ド Gが表示されている領域にカーソル 1 0 5を移動させる。 花が開くァ ニメーションの後は、 花がしぼむアニメーションにより、 位置ガイ ド Gが表現さ れる。 さらに、 花が開くアニメーショ ンを行っている位置ガイ ド Gの方向が、 力 一ソル 1 0 5を移動させる方向を示す。 これにより、 プレイヤ 94に対して、 花 が開くアニメーションを行っている位置ガイ ド Gの方向にカーソル 1 0 5を移動 させることが指示される。
以上のことに加えて、 方向ガイ ド g l〜g 5によっても、 カーソル 1 0 5を移 動させる方向が案内される。 つまり、 最初に方向ガイ ド g 1、 次に方向ガイ ド g 2、 その次に方向ガイ ド g 3、 さらにその次に方向ガイ ド g 4、 さらにその次に 方向ガイ ド g 5、 という順番で、 方向ガイ ド g 1〜 g 5は出現する。 従って、 方 向ガイ ド g 1〜 g 5の出現の方向により、 カーソル 1 0 5を移動させる方向が案 内される。 ここで、 方向ガイ ド g 1〜 g 5の各々は、 出現当初は小さな球を表現 した図形であり、 その球は時間とともに徐々に大きくなり、 大きさが最大となつ た後は、 球が砕けるようなアニメーションが実行される。 従って、 球の図形が出 現する方向が、 カーソル 1 0 5を移動させる方向である。
プレイヤ 9 4は、 位置ガイ ド Gによる花が開いた所定時間の間に、 カーソル 1 0 5を、 当該位置ガイ ド Gが表示されている領域に移動させなければならない。 つまり、 位置ガイ ド Gは、 花が開くアニメーショ ンにより、 カーソル 1 0 5 の操 作タイミングを案内する。 また、 プレイヤ 9 4は、 一番最後の方向ガイ ド gによ る球の図形が出現してから所定時間の間に、 カーソル 1 0 5を花が開いた位置ガ イ ド Gが表示されている領域に移動させなければならない。 つまり、 方向ガイ ド gによっても、 カーソル 1 0 5の操作タイミ ングが案内される。
また、位置ガイ ド Gは、カーソル 1 0 5の操作方向を予告する機能をも有する。 つまり、位置ガイ ド Gにより、花のつぼみが開き始めることで、 プレイヤ 9 4は、 次にカーソル 1 0 5を移動させる方向を知ることができる。 さらに、 方向ガイ ド gも、 カーソル 1 0 5の操作方向を予告する機能をも有する。 つまり、 方向ガイ ド gは、 操作タイミングが到来する前に出現するため、 プレイヤ 9 4は、 これに よっても、 次にカーソル 1 0 5を移動させる方向を知ることができる。
以上の点を具体例を挙げて説明する。 図 1 2の例では、位置ガイ ド G 2による、 徐々に花が開くアニメーショ ンにより、 カーソル 1 0 5を移動させる位置が案内 されている。 これにより、 プレイヤ 9 4に、 花が開くアニメーショ ンを行ってい る位置ガイ ド G 2が表示されている領域に、 カーソル 1 0 5を移動させることが 案内される。 また、 花が開くアニメーションを行っている位置ガイ ド G 2の方向 力 S、 カーソル 1 0 5を移動させる方向である。 これにより、 プレイヤ 9 4に、 花 が開くアニメーショ ンを行っている位置ガイ ド G 2の方向にカーソル 1 0 5を移 動させることが案内される。 さらに、 方向ガイ ド g 1〜 g 5による球の図形は、 位置ガイ ド G 1から位置ガイ ド G 2へ向かって出現している。 このように、 方向 ガイ K g 1 ~ g 5によっても、 カーソル 1 0 5を、 位置ガイ K G 1から位置ガイ K G 2へ移動させることが案内される。
プレイヤ 9 4は、 位置ガイ ド G 2による花が開いた所定時間の間に、 カーソル 1 0 5を、 当該位置ガイ K G 2が表示されている領域に移動させなければならな い。 また、 プレイヤ 9 4は、 一番最後の方向ガイ ド g 5による球の図形が出現し てから所定時間の間に、 カーソル 1 0 5を花が開いた位置ガイ ド G 2が表示され ている領域に移動させなければならない。 つまり、 方向ガイ ド gによっても、 力
一ソル 1 0 5の操作タイミングが案内される。
プレイヤ 94は、 位置ガイ G 2及ぴ方向ガイ g 1〜 5による案内に従って、 操作物 1 5 0を適切に操作しで、 位置ガイ ド G 1から位置ガイ ド G 2の位置まで カーソル 1 0 5を移動させている。 従って、 評価オブジェク ト 1 0 7〜 1 0 9の 全てが点滅するアニメーショ ンが実行される。 なお、 最も適切なタイ ミングで、 カーソル 1 0 5が操作された場合は、 評価オブジェク ト 1 0 7〜 1 0 9の全てが 点滅するアニメーションが実行され、 最も適切なタイミングではないが許容範囲 のタイミングでカーソル 1 0 5が操作された場合は、 評価ォブジェク ト 1 0 8の みが点滅するアニメーションが実行される。 なお、 位置ガイ ド G l , G 3 , G 4 は、 カーソル 1 0 5の操作タイミング及ぴ移動位置を案内する時間帯でないため、 花のつぼみの図形となっている。 また、位置ガイ ド G 2と位置ガイ KG 4との間、 位置ガイ ド G 4と位置ガイ ド G 3 との間、 及ぴ、 位置ガイ ド G 3と位置ガイ ド G 1 との間、 では、 カーソル 1 0 5の操作タイ ミング及ぴ操作方向を案内する時間 帯ではないため、 方向ガイ ド gが出現していない。
プレイヤ 94は、 位置ガイ KG 2及ぴ方向ガイ Kg 1〜 5による案内に従って、 カーソル 1 0 5を適切に操作しているため、 カーソル 1 0 5の移動方向 (位置ガ イ ド G 1から位置ガイ ド G 2の方向、 つまり、 スク リーン 9 1に向かって右方向) に対応した方向にダンスを行うアニメーショ ンが実行される。 例えば、 ダンスォ ブジェク ト 1 0 6が、 反時計回りに回転するアニメーションを行い、 かつ、 背景 1 1 0が、 スクリーン 9 1に向かって、 左方向にスクロールする。 これにより、 ダンスオブジェク ト 1 0 6の位置はスクリーン 9 1の中心にありながらも、 ダン スォブジェク ト 1 0 6が、 右方向に移動しながら反時計回りに回転したように見 7Lる。
図 1 3は、 図 1のテレビジョンモニタ 9 0のスク リーン 9 1に表示されるゲー ム画面のさらに他の例示図である。 図 1 3では、 4つの位置ガイ ド G 1〜G 4が 同時に、 花が開くアニメーショ ンをしている。 これを契機として、 プレイヤ 94 に対して、 経路ガイ ド r g :!〜 r g l Oに案内される経路及び方向にカーソル 1 0 5を移動させることが案内される。 この場合、 経路ガイ ド r g l〜r g l 0の 出現位置が、 カーソル 1 0 5の案内経路を示す。 また、 最初に経路ガイ ド r g 1、
次に経路ガイ ド r g 2、 その次に経路ガイ ド r g 3、 さらにその次に経路ガイ ド r g 4、 ···、 最後に経路ガイ ド r g 1 0、 という順番で、 経路ガイ ド r g 1〜 r g 1 0は出現する。 従って、 経路ガイ ド r g l〜 r g 1 0の出現の方向により、 力一ソル 1 0 5を移動させる方向が案内される。 ここで、 経路ガイ ド r g 1〜g 1 0の各々は、 出現当初は小さな球を表現した図形であり、 その球は時間ととも に徐々に大きくなり、 大きさが最大となった後は、 球が砕けるようなアニメーシ ヨンが実行される。 図 1 3では、 位置ガイ ド G 3の近傍を出発点として、 経路ガ イ ド r g l ~g l Oに沿って、 反時計回りにカーソル 1 0 5を移動させることが 案内されている。
プレイヤ 94が、 位置ガイ ド G 1〜G 4及ぴ経路ガイ ド r g l〜 r g l Oに従 つて、 操作物 1 5 0を操作して適切にカーソル 1 0 5を操作した場合は、 ダンス オブジェク ト 1 0 6は、 経路ガイ ド r g l〜 r g l Oに対応したアニメーシヨ ン (例えば、 反時計回りに大きく回転するようなアニメーショ ン) を実行する。 なお、 上記のように、 図 1 2及ぴ図 1 3に示したダンスォブジェク ト 1 0 6等 のオブジェク トは、 アニメーションの、 あるコマの画像である。 例えば、 ダンス アニメーショ ンのために、 一連のダンスオブジェク ト 1 0 6が用意されている。 また例えば、 位置ガイ ド Gのアニメーショ ンのために、 一連の花の図形のォブジ ェク ト画像が用意されている。 また、 例えば、 方向ガイ ド g及ぴ経路ガイ ド r g のアニメーショ ンのために、 一連の球の図形のオブジェク ト画像が用意されてい る。
ここで、 図 1 1〜図 1 3に示したゲーム画面のダンスオブジェク ト 1 0 6、 位 置ガイ KG、 評価ォブジェク ト 1 0 7〜 1 0 9、 カーソル 1 0 5、 方向ガイ ド g、 及ぴ、 経路ガイ ド r g、 は単数あるいは複数のスプライ トからなる。 スプライ ト は、 矩形の画素集合であり、 スク リーン 9 1の任意の位置に配置できる。 なお、 位置ガイ KG、 評価ォブジェク ト 1 0 7〜 1 0 9、 カーソル 1 0 5、 方向ガイ ド g、 及ぴ、 経路ガイ ド r g、 を総称してオブジェク ト (あるいはォブジェク ト画 像) と呼ぶこともある。
図 1 4は、 スク リーン 9 1に表示されるォブジェク トを構成するスプライ トの 説明図である。 図 1 4に示すように、 図 1 1のダンスオブジェク ト 1 0 6は、 例
えば、 1 2個のスプライ ト S P 0〜S P 1 1により構成される。 スプライ ト S P 0〜 S P 1 1の各々は、 例えば、 1 6画素 X 1 6画素からなる。 ダンスオブジェク ト 1 0 6をスクリーン 9 1上に配置するときは、 例えば、 左上の角のスプライ ト S P 0の中心を、 スク リーン 9 1上のどの座標に配置するかが指定される。 そし て、 指定された座標及びスプライ ト S P 0〜S P 1 1のサイズをもとに、 各スプ ライ ト S P 1〜S P 1 1の中心を配置する座標が算出される。
次に、 背景 1 1 0のスクロールについて説明する。 まず、 全景スクリーンにつ いて説明する。
図 1 5は、 図 1のテレビジョ ンモニタ 9 0のスク リーン 9 1に表示される全景 スク リーンの説明図である。 図 1 5に示すように、 全景スクリーン 1 4 0は、 例 えば、 3 2個 X 3 2個のプロック 「0」〜プロック 「 1 0 2 3」 により構成される。 ブロック 「 0」 〜ブロック 「 1 0 2 3」 の各々は、 例えば、 8画素 X 8画素からな る矩形要素である。 ブロック 「0」 〜プロック 「 1 0 2 3」 に対応して、 配列 P A [ 0 ]〜配歹【J P A [ 1 0 2 3 ] 及び配列 C A [ 0 ] 〜'配列 C A [ 1 0 2 3 ] が用 意される。 ここで、 ブロック 「0」 〜プロック 「 1 0 2 3」 を包括して表現する ときは、 単に 「プロック」 と表記し、 配列 P A [0 ]〜配列 P A [ 1 0 2 3 ] を包 括して表現するときは、 「配列 PA」 と表記し、 配列 CA [0] 〜配列 CA [ 1 0 2 3 ] を包括して表現するときは、 「配列 CA」 と表記する。
さて、 配列 P Aには、 対応するブロックの画素パターンを指定するデータ (画 素パターンデータ) が代入される。 この画素パターンデータは、 ブロックを構成 する 8画素 X 8画素の各画素の色情報である。 また、 配列 C Aには、 対応するプロ ックに使用するカラーパレツ ト及ぴデプス値を指定する情報が代入される。 力ラ 一パレッ トは、 所定数の色情報からなる。 デプス値は、 画素の奥行きを表す情報 であり、 同じ位置に、 複数の画素が存在することとなる場合、 最も大きなデプス 値を持つ画素だけが表示されることになる。
図 1 6 ( a ) は、 全景スクリーン 1 4 0をスクロールする前の説明図、 図 1 6 ( b ) は、 全景スクリーン 1 4 0をスクロールした後の説明図、 である。 図 1 6 ( a ) に示すように、 テレビジョンモニタ 9 0のスクリーン 9 1のサイズは、 2 5 6画素 X 2 2 4画素であるため、全景スクリーン 1 4 0のうち、 2 5 6画素 X 2
2 4画素の範囲がスクリーン 9 1に表示される。 ここで、 全景スクリーン 1 4 0 の中心位置を k画素だけ左にスク ロールすることを考える。 そうすると、 全景ス クリーン 1 4 0の横方向 (水平方向) の幅が、 スク リーン 9 1の横方向の幅と同 じであるため、 図 1 6 ( b ) に示すように、 スク リーン 9 1 の範囲外となった部 分 (斜線部分) ± スク リーン 9 1 の右端に表示される。 つまり、 概念的には、 横方向にスク口ールをする場合は、 同じ複数の全景スクリーン 1 4 0が横方向に 連なっていると考えることができる。
例えば、 スク リーン 9 1の範囲外となった部分 (斜線部分) が、 図 1 5 のプロ ック 「6 4」, ブロック 「9 6」, …, ブロック 「 8 9 6」, ブロック 「 9 2 8」 と すると、 これらのプロックに対応する配列 P A [ 6 4 ] , 〜 P A [ 9 2 8 ] 及ぴ配 列 C A [ 6 4 ], …じ A [ 9 2 8 ] によって定まる画像が、 スク リーン 9 1 の右端 に表示される。 従って、 全景スクリーン 1 4 0の左スク ロールにより、 背景が連 続的に連なるようにするには、 スク リーン 9 1 の範囲外となった部分 (斜線部分) に含まれるプロックに対応する配列 P A及ぴ配列 C Aに代入されたデータを更新 する必要がある。 そうすれば、 更新された配列 P A及ぴ配列 C Aによって定まる 画像が、 スク リーン 9 1 の右端に表示される。
背景を滑らかに連続するように見せるためには、 スク リーン 9 1 の右端に表示 される前に、 該当する |έ列 P A及び配列 C Aのデータを更新する必要がある。 そ うすると、 スク リーン 9 1の左端に表示中のときに、 該当する配列 P A及ぴ配列 C Aのデータを更新する必要が生じ、 スクリーン 9 1の左端の表示が不連続なも のとなる。 従って、 このような不都合を回避するため、 図 1 1〜図 1 3に示すよ うに、 スクリーン 9 1の左端にマスク 1 4 1をする。 同様の理由により、 右端に もマスク 1 4 2をする。
なお、 右方向へのスク口ール処理も上記の左方向のスク口ール処理と同様であ る。 また、 本実施の形態では、 全景スクリーン 1 4 0の縦方向 (垂直方向) のス ク口ール範囲を土 1 6画素としているため、スクリーン 9 1の上下端にマスクはし ていない。
以上のようにして、 全景スクリーン 1 4 0をスクロールさせることで、 背景 1 1 0 をスク ローノレさせる。
さて、 次に、 音楽ゲーム装置 1によるゲーム処理の詳細を説明する。 図 1 7は、 図 6の R O M 5 1に格納されたプログラム及ぴデータを示す概念図である。 図 1 7に示すように、 R O M 5 1 は、 ゲームプログラム 3 0 0、 画像データ 3 0 1、 及び、 音楽データ 3 0 4、 が格納される。 画像データ 3 0 2は、 ォブジヱク ト画 像データ (位置ガイ ド G、 方向ガイ ド g、 経路ガイ ド r g、 評価オブジェク ト 1 0 7 - 1 0 9 , 及び、 カーソル 1 0 5、 等の画像データを含む。) 及ぴ背景画像デ ータを含む。 音楽データ 3 0 4は、 第 1の楽譜データ 3 0 5、 第 2の楽譜データ 3 0 6、 及ぴ、 音源データ (波形データ) 3 0 7、 を含む。
図 1 7に示す第 1の楽譜データ 3 0 5は、 楽曲制御情報が時系列に配置された データである。
図 1 8は、 図 1 7の第 1 の楽譜データ 3 0 5の一例を示す概念図である。 図 1 8に示すように、 楽曲制御情報は、 コマンド、 ノートナンパ/待機時間情報、 楽 器指定情報、 ベロシティ、 及び、 ゲートタイム、 を含む。
ノートオンは、 音を出すコマンド、 待機は、 待機時間を設定するコマンド、 で ある。 待機時間は、 次のコマンドを読み出すまでの時間 (ある音符から次の音符 までの時間) である。 ノートナンパは、 音の高さ (ピッチ) を指定する情報であ る。 待機時間情報は、 設定する待機時間を指定する情報である。 楽器指定情報は、 どの楽器の音色を使うかを指定する情報である。ベロシティは、音の強弱の情報、 つまり、 音量の情報、 である。 ゲートタイムは、 音が発音される長さである。 図 1 7に戻って、 第 2の楽譜データ 3 0 6は、 ガイ ド制御情報が、 時系列に配 置されたデータである。 この第 2の楽譜データ 3 0 6は、 ガイ ド (位置ガイ K G、 方向ガイ ド g、 及び、 経路ガイ ド r g ) を、 スク リーン 9 1に表示する際に使用 される。 つまり、 第 1の楽譜データ 3 0 5は、 楽曲を自動演奏するための楽譜デ ータであるが、 第 2の楽譜データ 3 0 6は、 ガイ ドを楽曲に合ったタイミングで 表示させるための楽譜データである。
図 1 9は、 図 1 7の第 2の楽譜データ 3 0 6の一例を示す概念図である。 図 1 9に示すように、 ガイ ド制御情報は、 コマンド、 ノートナンパ 待機時間情報、 及び、 楽器指定情報、 からなる。
第 2の楽譜データ 3 0 6では、 楽器指定情報は、 楽曲を奏でる楽器 (音色) を
示す番号ではなく、 第 2の楽譜データ 3 0 6が、 ガイ ド (位置ガイ ド G、 方向ガ イ ド g、 及び、 経路ガイ ド r g ) を出現させる楽譜データであることを示す番号 である。 '
従って、 ノートオンは、 音を出すコマンドではなく、 位置ガイ ド Gのアニメ一 ション開始を指示したり、 方向ガイ ド g及び経路ガイ ド r gの出現開始を指示し たりするコマンドである。 そして、 ノートナンバは、 音の高さ (ピッチ) を指定 する情報ではなく、 どの位置ガイ ド Gのアニメーションを開始するかを示したり、 どこに方向ガイ ド g及び経路ガイ ド r gを出現させるかを示したりする情報であ る。 この点を詳しく説明する。
図 2 0 (a ) 〜図 2 0 ( c ) は、 カーソル 1 0 5を案内する方向とノートナン パとの関係図である。 図 20 (a ) 〜図 20 ( c) に示すように、 矢印の向きが、 カーソル 1 0 5を案内する方向を示し、 矢印の始点が、 直前にカーソル 1 0 5を 案内した位置ガイ ド Gの位置を示し、 矢印の終点が、 カーソル 1 0 5を案内する 位置ガイ ド Gの位置を示している。 例えば、 図 20 ( a ) に示すように、 ノート ナンパ 「 5 5」 は、 カーソル 1 0 5を、 位置ガイ KG 1から位置ガイ KG 2へ案 内する場合に使用され、 楽譜データポインタが指すノートナンパが 「 5 5」 の場 合は、 図 1 2に示す位置ガイ ド G及び方向ガイ ド gが出現する。 また、 例えば、 図 20 ( c ) に示すように、 ノートナ.ンバ 「5 7」 は、 位置ガイ ド G 3を始点と して、 カーソル 1 0 5を反時計回りに回転させることを案内する場合に使用され、 楽譜データポインタが指すノートナンパが 「5 7」 の場合は、 図 1 3に示す位置 ガイ ド G及ぴ経路ガイ ド r gが出現する。
なお、 例えば、 ノートナンパ 「 8 1」 は、 第 2の楽譜データ 3 0 6の先頭に配 置するダミーデータであり (図 1 9参照)、ガイ ドの表示を制御する情報ではない。 こうすることで、 第 1の楽譜データ 3 0 5と第 2の楽譜データ 3 0 6 との先頭を 揃えている。 また、 例えば、 ノートナンパ 「 7 9」 は、 楽曲終了を意味するデー タであり、 第 2の楽譜データ 3 0 6の最後尾に配置される (図 1 9参照)。 なお、 ノートナンパ 「 7 9」 は、 ガイ ドの表示を制御する情報ではない。
さて、 次に、 髙速プロセッサ 2 0 0が実行する主な処理について説明する。
[ピクセルデータ群取得処理] C PU 2 0 1は、 イメージセンサ 4 3が出力し
たアナログのピクセルデータを変換したデジタルのピクセルデータを取得して、 配列 P [X] [Y] に代入する。 なお、 イメージセンサ 4 3の水平方向 (横方向、 行方向) を X軸、 垂直方向 (縦方向、 列方向) を Y軸とする。
[差分データ算出処理] C P U 20 1は、 赤外発光ダイオード 1 5の点灯時の ピクセルデータ P [X] [Y] と、 消灯時のピクセルデータ P [X] [Y] と、 の 差分を算出して、 差分データを配列 D i f [X] [Y] に代入する。 ここで、 図面 を用いて、 差分を求める効果を説明する。 ここで、 ピクセルデータは輝度を表す。 よって、 差分データも輝度を表す。
図 2 1 (a ) は、 一般的なイメージセンサにより撮影された、 特別な処理を施 さない画像の例示図、 図 2 1 (b ) は、 図 2 1 (a ) の画像信号を或る閾値でレ ベル弁別したときの画像信号の例示図、 図 2 1 ( c ) は、 赤外フィルタ 1 7を介 したィメージセンサ 43の点灯時の画像信号を或る閾値でレベル弁別したときの 画像信号の例示図、 図 2 1 ( d) は、 赤外フィルタ 1 7を介したイメージセンサ 4 3の消灯時の画像信号を或る閾値でレベル弁別したときの画像信号の例示図、 図 2 1 ( e ) は、 点灯時の画像信号と消灯時の画像信号との差分信号の例示図、 である。
上記のように、 操作物 1 5 0に赤外光を照射し、 赤外フィルタ 1 7を介してィ メージセンサ 4 3に入射した反射赤外光による画像を撮影している。 一般的な室 内環境で一般的な光源を用いて操作物 1 5 0をス トロボスコープ撮影した場合に は、 一般的なイメージセンサ (図 5のイメージセンサ 43に相当する。) には、 図 2 1 ( a ) に示すように、 操作物 1 5 0による画像以外に、 蛍光灯光源、 白熱灯 光源、 太陽光 (窓) のような光源だけでなく、 室内のすべてのものの画像がすべ て写り込む。 したがって、 この図 2 1 (a ) の画像を処理して操作物 1 5 0の画 像のみを抽出するのは、 かなり髙速のコンピュータまたはプロセサが必要である。 しかしながら、 安価が条件の装置ではそのような高性能コンピュータを使えない。 そこで種々の処理を行って負担を軽減することが考えられる。
なお、 図 2 1 ( a ) の画像は、 本来ならば、 白黒の階調により表される画像で あるが、 その図示を省略している。 また、 図 2 1 ( a) 〜図 2 1 ( e ) では、 操 作物 1 5 0の反射シート 1 5 5が撮影されている。
さて、 図 2 1 ( b ) は、 図 2 1 ( a ) の画像信号を或る閾値でレベル弁別した ときの画像信号である。 このよ うなレベル弁別処理は専用のハードウエア回路で も、 ソフ トウェア的にでも、実行することができるが、 いずれの方法によっても、 一定以下の光量のピクセルデータを力ッ トするレベル弁別を実行すると、 操作物 1 5 0や光源以外の低輝度画像を除去することができる。 この図 2 1 ( b ) の画 像では操作物 1 5 0および室内の光源以外の画像の処理を省略でき、 したがって、 コンピュータの負担を軽減できるが、 それでも、 光源画像を含む高輝度画像が依 然として写り込んでいるので、 操作物 1 5 0と他の光源を分別することは難しい。 そこで、 図 5に示したように赤外フィルタ 1 7を利用して、 ィメージセンサ 4 3に赤外光による画像以外の画像が写らないようにした。 それによつて、 図 2 1 ( c ) に示すように、 赤外光を殆ど含まない蛍光灯光源の画像は除去できる。 し かしながら、 それでもなお太陽光や白熱灯が画像信号中に含まれてしまう。 した がって、 更なる負担軽減のために、 赤外ス トロボスコープの点灯時のピクセルデ ータと消灯時のピクセルデータとの差分を計算することとした。
そのため、 図 2 1 ( c ) の点灯時の画像信号のピクセルデータと、 図 2 1 ( d ) の消灯時の画像信号のピクセルデータとの差分を計算した。 すると、 図 2 1 ( e ) に示すように、その差分だけの画像が取得できる。 この差分データによる画像は、 図 2 1 ( a ) と対比すれば明らかなように、 操作物 1 5 0によって得られる画像 のみを含むことになる。 したがって、 処理の軽減を図りながらも、 操作物 1 5 0 の状態情報を取得できる。 状態情報とは、 例えば、 速さ情報、 移動方向情報、 移 動距離情報、 速度べク トル情報、 加速度情報、 移動軌跡情報、 面積情報、 若しく は、 位置情報、 のいずれか、 又は、 それらの 2以上の組み合わせ、 等である。 以上のような理由で、 C P U 2 0 1は、 赤外発光ダイォード 1 5の点灯時のピ クセルデータと、 消灯時のピクセルデータと、 の差分を算出して、 差分デ タを 得る。
[注目点抽出処理] C P U 2 0 1は、 算出した差分データ D i f [ X ] [ Y ] を 基に、 操作物 1 5 0の注目点の座標を求める。 この点を詳細に説明する。
図 2 2は、 操作物 1 5 0の注目点の座標算出の説明図である。 なお、 図 2 2に 示したィメージセンサ 4 3は、 3 2ピクセル Χ 3 2 ピクセルのものとする。
図 2 2に示すように、 C P U 2 0 1は、 X方向 (水平方向、 横方向、 行方向) に 3 2ピクセル分の差分データをスキャンし、 そして、 Y座標をインクリメント し、 X方向に 3 2 ピクセル分め差分データをスキャンし、 そして、 Y座標をィン クリメントし、 というように、 Y座標をインクリメントしながら、 X方向に 3 2 ピクセル分の差分データをスキャンしていく。
この場合、 C P U 2 0 1 は、 スキャンした 3 2ピクセル X 3 2ピクセル分の差分 データから、 最大輝度値の差分データを求め、 その最大輝度値と所定の閾値 T h とを比較する。 そして、 C P U 2 0 1は、 その最大輝度値が所定の閾値 T hより 大きい場合は、 その最大輝度値を持つピクセルの座標を基に、 操作物 1 5 0の注 目点の座標を算出する。 この点を詳しく説明する。
図 2 3 ( a ) は、 最大輝度値を持つピクセルの座標を基に、 操作物 1 5 0の注 目点座標を算出する際の X方向スキャンの説明図、 図 2 3 ( ) は、 最大輝度値 を持つピクセルの座標を基に、 操作物 1 5 0の注目点座標を算出する際の Y方向 スキャンのスタート時の説明図、 図 2 3 ( c ) は、 最大輝度値を持つピクセルの 座標を基に、 操作物 1 5 0の注目点座標を算出する際の Y方向スキャンの説明図、 図 2 3 ( d ) は、 最大輝度値を持つピクセルの座標を基に、 操作物 1 5 0の注目 点座標を算出する際の結果の説明図、 である。
図 2 3 ( a ) に示すように、 C P U 2 0 1は、 最大輝度値のピクセルの座標を 中心に、 X方向に、 差分データのスキャンを実行して、 所定の閾値 T hより大き い輝度値のピクセルを検出する。 図 2 3 ( a ) の例では、 X = 1 1〜 1 5までが、 所定の閾値 T hを超えたピクセルである。
次に、 図 2 3 ( b ) に示すように、 C P U 2 0 1は、 X = l l〜 1 5の中心を 求める。 すると、 中心の X座標は、 X c = l 3である。
次に、 図 2 3 ( c ) に示すように、 図 2 3 ( b ) で求めた X座標 (= 1 3 ) を 中心に、 Y方向に、 差分データのスキャンを実行して、 所定の閾値 T hより大き い輝度値のピクセルを検出する。 図 2 3 ( c ) の例では、 Y = 5〜 1 0までが、 • 所定の閾値 T hを超えたピクセルである。
次に、 図 2 3 ( d ) に示すように、 C P U 2 0 1は、 Y = 5〜 1 0の中心を求 める。 すると、 中心の Υ座標は、 Y c = 7である。
C P U 20 1は、 以上のようにして算出した注目点の座標 (X c, Y c ) = ( 1 3, 7 ) を、 スク リーン 9 1上の座標 ( X c , y c ) に変換する。 C P U 20 1 は、 以上のような注目点の座穰 ( X c , y c ) を求める処理を、 フレームが更新 されるたびに実行する。 そして、 C PU 20 1は、 X c及ぴ y cをそれぞれ配列 P X [M] 及ぴ P y [M] に代入する。 なお、 「M」 は整数であり、 スク リーン 9 1に表示するフレームが更新されるたぴに 1つインク リメントされる。
[注目点存在領域判定処理 ( 1 )] C P U 2 0 1は、 操作物 1 5 0の注目点が、 スク リーン 9 1上のどの領域 a 1 ~ a 4に存在するかを判定する。 この点を詳細 に説明する。
図 24は、 C P U 20 1による注目点存在領域判定処理 (2) の説明図である。 図 24に示すように、 スク リーン 9 1に、 位置ガイ KG 1を含む所定領域 a 1、 位置ガイ ド G 2を含む所定領域 a 2、位置ガイ ド G 3を含む所定領域 a 3、及ぴ、 位置ガイ ド G 4を含む所定領域 a 4、 を設定する。 C P U 2 0 1は、 所定領域 a 1 ~ a 4の中から、 操作物 1 50の注目点 (x c, y c ) が属する領域を判定し、 判定結果を配列 J 1 [M]に格納する。 C PU 20 1は、以上のような判定処理を、 スク リーン 9 1に表示するフレームが更新されるたびに実行する。
[注目点存在領域判定処理 ( 2)] C PU 2 0 1は、 操作物 1 5 0の注目点が、 スク リーン 9 1上のどの領域 A 1〜A 4に存在するかを判定する。 この点を詳細 に説明する。
図 2 5は、 C PU 2 0 1による注目点存在領域判定処理 ( 2) の説明図である。 図 2 5に示すように、 スク リーン 9 1を 4分割した領域 A 1〜 A 4を設定する。 C PU 20 1は、 領域 A 1〜A4の中から、 操作物 1 50の注目点 (x c, y c ) が属する領域を判定し、 判定結果を配列 J 2 [M]に格納する。 C PU 2 0 1は、 以上のような判定処理を、 スク リーン 9 1に表示するフレームが更新されるたび に実行する。
[カーソル制御処理] C PU 2 0 1は、 現在の操作物 1 5 0の注目点の座標 (X c , y c ) を、 次のフレームで表示す ¾カーソル 1 0 5の座標と して登録する (内 部メモリ 20 7に格納する)。
[ガイ ド種類登録処理] C PU 2 0 1は、 ガイ ド用の楽譜データポインタに従
つて、 第 2の楽譜データ 3 0 6から読み出したノートナンパ (図 1 9及ぴ図 2 0 ( a ) 〜図 2 0 ( c ) 参照) を配列 N N 「0」 あるいは配列 N N [ 1 ]に代入する。 このように、 配列の要素数を 2つにしたのは、 ある位置ガイ ド Gによる案内と他 の位置ガイ ド Gによる案内とが、 違うタイミングで開始されるが、 ある期間重複 して実行される場合もあるからである。 なお、ガイ ド用の楽譜データボインタは、 第 2の楽譜データ 3 0 6の読み出し位置を示すボインタである。
[ガイ ド制御処理] C P U 2 0 1は、 配列 N N [ J ] (ガイ ド表示番号 J = 0, 1 ) を参照して、 配列 N N [ J ] に代入されているノートナンパに従って、 方向 ガイ ド Gのアニメーショ ン情報、 位置ガイ ド gのアニメーショ ン情報、 及び、 経 路ガイ ド r gのアニメーション情報、 を登録する。 この点を詳細に説明する。 図 2 6は、 方向ガイ ド G、 位置ガイ ド g、'及ぴ、 経路ガイ ド r g、 のアニメ一 シヨンの登録処理の説明図である。 図 2 6に示すように、 ノートナンパと、 ァニ メーシヨ ン情報 (位置ガイ ド Gのアニメーショ ンテーブルの格納位置情報、 位置 ガイ ド Gのスク リーン 9 1上の表示座標、 位置ガイ ド Gの表示タイミング情報、 方向ガイ ド g /経路ガイ ド r gのアニメーションテーブルの格納位置情報、 方向 ガイ ド g /経路ガイ ド r gのスク リーン 9 1上の表示座標情報、 及ぴ、 方向ガイ ド g /経路ガイ ド r gの表示タイミング情報) と、が関連付けられたテーブルが、 R O M 5 1あるいは内部メモリ 2 0 7に用意される。
このテーブルのノ一トナンバは、 ガイ ドの表示を制御するためのノ一トナンパ であり、 図 2 0 ( a ) 〜図 2 0 ( c ) に示したノートナンパである。 例えば、 C P U 2 0 1は、 配列 N N [ J ] に代入されているノ一トナンパが 「 5 5」 の場合 は、 このテーブルを参照して、 ノートナンパ 「 5 5」 に関連付けられたアニメ一 シヨ ン情報 (位置ガイ ド Gのアニメーショ ンテーブルの格納位置情報、 位置ガイ ド Gのスク リーン 9 1上の表示座標、 位置ガイ ド Gの表示タイ ミ ング情報、 方向 ガイ ド gのアニメーショ ンテーブルの格納位置情報、 方向ガイ ド gのスク リーン 9 1上の表示座標情報、 及ぴ、 方向ガイ ド gの表示タイミング情報) を登録する (内部メモリ 2 0 7の所定領域に格納する。)。
ここで、 表示タイミング情報は、 スク リーン 9 1にオブジェク トをいつ表示す るかを示す情報である。 例えば、 ガイ ドナンパ 「5 5」 に関しては、 位置ガイ ド
Gの表示タイ ミング情報が 「 0」 であるため、 現在表示中のフレームの次のフレ ームにおいて、 位置ガイ G 2を座標 ( X 1 , y 1 ) に表示することを意味する。 また、 例えば、 ガイ ドナンバ 「 5 5」 に関しては、 方向ガイ ド gの表示タイ ミン グ情報が 0, 6, 1 2, …, 2 4であるため、 現在表示中のフレームの次のフレ ームにおいて、 位置ガイ ド g 1 を座標 ( X 3, y l ) に表示し、 6フレーム後に 位置ガイ ド g 2を座標 ( X 4, y l ) に表示し、 ···、 2 4フレーム後に位置ガイ ド g 5を座標 (x 7, y l ) に表示することを意味する。
図 2 7は、 図 2 6のアニメーショ ンテーブル格納位置情報によ り指定されるァ 二メーシヨ ンテーブルの例示図である。 図 2 7に示すよ うに、 アニメーショ ンテ 一ブルは、 アニメーショ ン画像データ (複数のオブジェク ト画像データを時系列 に配置したもの) の格納位置情報、 アニメ シヨ ンを行うオブジェク トの番号を 時系列に配置したもの、 何フレーム連続して各オブジェク トを表示するかを示す 情報 (持続フレーム数)、 オブジェク トのサイズ、 カラーパレッ トの情報、 デプス 値の情報、 及ぴ、 スプライ トサイズ、 を関連付けたテーブルである。 なお、 ァニ メーシヨ ン画像データは、 画素パターンデータである。 ここで、 画素パターンデ ータ、 カラーパレツ ト、 及ぴ、 デプス値は、 ォブジェク トを構成するスプライ ト に関するものであり、 その意味は、 図 1 4で説明したプロックに関するものと同 様である。
アニメーショ ンテーブル格納位置情報 a d d r e s s 0が示すアニメーシヨ ン テーブルは、 位置ガイ ド Gのアニメーションテーブルの例示であり、 アニメーシ ョ ンテーブル格納位置情報 a d d r e s s lが示すアニメーショ ンテーブルは、 方向ガイ ド gのアニメーショ ンテーブルの例示であり、 アニメーショ ンテーブル 格納位置情報 a d d r e s s 2が示すアニメーショ ンテーブルは、 経路ガイ ド r gのアニメーショ ンテープルの例示であり、 アニメーショ ンテーブル格納位置情 報 a d d r e s s 3が示すアニメーショ ンテーブルは、 プレイヤ 9 4によるカー ソル 1 0 5の操作が成功したときに利用する位置ガイ ド Gのアニメ一ショ ンテー プルの例示である。
[ダンス制御処理] C PU 2 0 1 は、 プレイヤ 9 4によるカーソル 1 0 5の操 作が、 位置ガイ ド G及ぴ方向ガイ K g、 あるいは、 位置ガイ ド G及ぴ経路ガイ ド
r g、 に適合して操作されたか否かを判断する。 具体的には、 次の通りである。
C PU 2 0 1は、 注目点存在領域判定処理 ( 1 ) による判定結果 J 1 [M] を もとに、 位置ガイ ド G及ぴ方向ガイ ド gが現在案内している領域に、 カーソル 1 0 5 (つまり、 操作物 1 5 0の注目点) が存在するかどうかを判断する (図 24 参照)。 例えば、 C PU 20 1は、 位置ガイ ド G及ぴ方向ガイ ド gが現在案内して いる領域が領域 a 2の場合に、 カーソル 1 0 5が存在する領域が領域 a 2である 場合は、 カーソル 1 0 5が位置ガイ ド G及ぴ方向ガイ gに適合して操作された と判断する。
また、 C PU 20 1は、 注目点存在領域判定処理(2) による判定結果 J 2 [M] をもとに、 位置ガイ ド G及ぴ経路ガイ ド r gが現在案内している経路に沿って、 カーソル 1 0 5 (つまり、 操作物 1 5 0の注目点) が移動したかどうかを判断す る (図 2 5参照)。 ここで、 図 20 (b ) のガイ ドナンパ 「5 3」 が案内する経路 は、図 2 5の領域 A 3→領域 A 1→領域 A 2→領域 A 4である。 また、図 20 ( c) のガイ ドナンバ 「5 7」 が案内する経路は、 図 2 5の領域 A 4→領域 A 2→領域 A 1→領域 A 3である。 従って、 例えば、 C P U 2 0 1は、 位置ガイ ド G及ぴ経 路ガイ ド r gが現在案内している経路がガイ ドナンパ 「5 3」 に対応する経路で ある場合に、 カーソル 1 0 5が移動した経路が、 領域 A 3→領域 A 1→領域 A 2 →領域 4、 である場合は、 カーソル 1 0 5が位置ガイ ド G及ぴ経路ガイ ド r g に適合して操作されたと判断する。
上述の結果、 プレイヤ 94によるカーソル 1 0 5の操作が、 位置ガイ ド G及ぴ 方向ガイ Kg、 あるいは、 位置ガイ ド G及ぴ経路ガイ ド r g、 に適合して操作さ れたと判断した場合は、 C PU 2 0 1は、 位置ガイ ド G及ぴ方向ガイ ド g、 ある いは、 位置ガイ ド G及ぴ経路ガイ ド r g、 に対応したダンスアニメーショ ン情報 を登録する (内部メモリ 2 0 7の所定領域に格納する。)。 図 2 6のテーブルと同 様に、 ガイ ドの表示を制御するノートナンパ (図 20 (a) 〜図 20 ( c ) 参照) とダンスアニメーション情報とを関連付けたテーブルが、 ROM5 1あるいは内 部メモリ 2 0 7に用意される。 ただし、 案内方向が同じノートナンパ (例えば、 ノートナンパ 「5 5」 と 「6 7」) については、 ダンスアニメーショ ン情報も同じ にしている。
ダンスアニメーショ ン情報は、 図 2 6のアニメーショ ン情報と同様のものであ り、 ダンスアニメーションテーブルの格納位置情報、 ダンスオブジェク ト 1 0 6 のスク リーン 9 1上の表示座ネ票、 及ぴ、 ダンスオブジェク ト 1 ひ 6の表示タイ ミ ング情報、 を含む。 また、 ダンスアニメーショ ンテーブルは、 図 2 7のアニメ一 シヨ ンテーブルと同様のものであり、 ダンスアニメーショ ン画像データ (複数の ダンスオブジェク ト 1 0 6の画像データを時系列に配置したもの) の格納位置情 報、 アニメーショ ンを行うダンスオブジェク ト 1 0 6の番号を時系列に配置した もの、 何フレーム連続して各ダンスオブジェタ ト 1 0 6を表示するかを示す情報 (持続フレーム数)、 ダンスオブジェク ト 1 0 6のサイズ、 カラーパレツ トの情報、 デプス値の情報、 及ぴ、 スプライ トサイズ、 を関連付けたテーブルである。 ダン スアニメーション画像データは、 画素パタ ンデータである。
なお、 図 1 7の第 2の楽譜データ 3 0 6には、 速い速度のダンスアニメーショ ンを行う ことを指示するノー トナンパ、 及ぴ、 遅い速度のダンスアニメーショ ン を行う ことを指示するノー トナンパ、 を含めることができる。 この場合は、 ダン スアニメーショ ンテーブルも、 速い速度のダンスアニメーショ ンテープノレと遅い 速度のダンスアニメーショ ンテーブルとが用意される。 また、 この場合は、 ガイ ドの表示を制御するノ一トナンパ及ぴダンス速度を制御するノ一トナンパと、 ダ ンスアニメーショ ン情報と、 を関連付けたテーブルが、 R O M 5 1 あるいは内部 メモリ 2 0 7に用意される。 同様に、 ダンス速度ごとに、 ダンスアニメーショ ン テーブルが用意される。
また、 プレイヤ 9 4によるカーソル 1 0 5の操作が、 位置ガイ ド G及ぴ方向ガ イ ド g、 あるいは、 位置ガイ ド G及ぴ経路ガイ ド r g、 に適合して操作されたと 判断した場合は、 C P U 2 0 1 は、 操作が成功した際に使用する位置ガイ ド Gの アニメーショ ンテーブルの格納位置情報 (図 2 7の例では、 a d d r e s s 3 ) を登録する。
また、 プレイヤ 9 4によるカーソル 1 0 5の操作が、 位置ガイ ド G及ぴ方向ガ ィ K g、 あるいは、 位置ガイ ド G及び経路ガイ ド r g、 に適合して操作されたと 判断した場合は、 C P U 2 0 1 は、 評価オブジェク ト 1 0 7〜1 0 9のためのァ 二メーシヨ ン情報を登録する (内部メモリ 2 0 7の所定領域に格納する。)。 この
アニメーショ ン情報は、 図 2 6のアニメーショ ン情報と同様のものである。 従つ て、 このアニメーション情報には、 評価オブジェク ト 1 0 7〜 1 0 9のためのァ ニメーションテーブルの格納位置情報が含まれる。 このアニメーションテーブル は、 図 2 7のアニメーションテーブルと同様のものである。
さらに、 プレイヤ 9 4によるカーソル 1 0 5 の操作が、 位置ガイ ド G及び方向 ガイ K g、 あるいは、 位置ガイ ド G及び経路ガイ ド r g、 に適合して操作された と判断した場合は、 C P U 2 0 1は、位置ガイ ド G及ぴ方向ガイ ド§、 あるいは、 位置ガイ ド G及ぴ経路ガイ ド r g、 に対応したスク ロール制御を行う。 具体的に は、 C P U 2 0 1は、 位置ガイ ド G及ぴ方向ガイ ド g、 あるいは、 位置ガイ ド G 及ぴ経路ガイ ド r g、 並びに、 ダンス速度を制御するノートナンパ、 に対応して、 全景スク リーン 1 4 0の中心位置を変更して (図 1 6 ( a ) 及ぴ図 1 6 ( b ) 参 照)、 背景 1 1 0をスクロールする。 また、 C P U 2 0 1は、 横方向に全景スクリ ーン 1 4 0をスクロールさせる場合は、 該当する配列 P A及ぴ配列 C Aのデータ を変更する。
さて、 図 2 8は、 第 1の楽譜データ 3 0 5、 第 2の楽譜データ 3 0 6、 方向ガ イ ド G、 位置ガイ ド g、 操作判定、 及び、 ダンスアニメーショ ン、 の関係を説明 するためのタイミング図である。 なお、 図 2 8において、 太い線は、 処理の実行 期間を示し、 太い線の左端の黒丸は処理の開始を示し、 太い線の右側の黒丸は処 理の終了を示す。
図 2 8に示すように、 第 2の楽譜データ 3 0 6の読み出しの開始時点は、 第 1 の楽譜データ 3 0 5の読み出しの開始時点 T 1, T 2 , ···、 よりも所定時間 tだ け早い。 従って、 方向ガイ ド gは、 第 1の楽譜データ 3 0 5の対応するノートナ ンバが読み出される時 T 1〜T 3よりも、 所定時間 tだけ早く表示され、 第 1の 楽譜データ 3 0 5の対応するノートナンパが読み出される時 T 1〜T 3まで (例 えば、 6 0 フレームの間) 表示される。 同様に、 位置ガイ ド Gは、 第 1 の楽譜デ ータ 3 0 5の対応するノートナンパが読み出される時 Τ 1〜Τ 3よりも、 所定時 間 tだけ早くアニメーショ ンを開始し、 第 1の楽譜データ 3 0 5の対応するノ一 トナンパが読み出される時 T 1〜T 3の少し後までアニメーションを継続する。
C P U 2 0 1は、 力一ソル 1 0 5の操作が、 方向ガイ ド g及ぴ位置ガイ ド Gに
適合して行われたか否かの判断を、 方向ガイ ド gの表示開始から、 一定期間経過 後 (例えば、 3 0フレーム経過後) に開始し、 第 1の楽譜データ 3 0 5の対応す るノートナンパが読み出され ¾時 T 1〜T 3に終了する。 そして、 C P U 2 0 1 は、 カーソル 1 0 5の操作が、 方向ガイ ド g及び位置ガイ ド Gに適合して行われ たと判断した場合は、 判断期間の終了時に、 ダンスアニメーショ ン情報を登録す る。 従って、 この場合、 登録されたダンスアニメーション情報にもとづいて、 ダ ンスアニメーションが実行される。
なお、 第 2の楽譜データ 3 0 6の読み出しの開始時点が、 第 1の楽譜データ 3 0 5の読み出しの開始時点 T 1, T 2 , ···、 よりも所定時間 tだけ早い理由は、 次の通りである。 つまり、 プレイヤ 9 4は、 方向ガイ ド g及び位置ガイ ド Gによ る案内開始後に、 操作物 1 5 0の操作を開始するため、 その時間誤差を調整する ため、 方向ガイ ド g及ぴ位置ガイ ド Gの表示を楽曲のタイミングよりも早く した のである。
経路ガイ ド r gの表示タイミングについては、 方向ガイ ド Gの表示タイミング と同様である。 ただし、 例えば、 カーソル 1 0 5の操作が経路ガイ ド r gに適合 するか否かの判断は、経路ガイ ド r gによる案内開始時から終了時の間 (例えば、 6 0フレームの間) に行う。
[画像表示処理] C P U 2 0 1は、 カーソル制御処理、 ガイ ド制御処理、 及ぴ、 ダンス制御処理、 により登録された情報をもとに、 描画に必要な情報を垂直ブラ ンキング期間に、 図 7のグラフィックプロセッサ 2 0 2に与える。 すると、 グラ フィックプロセッサ 2 0 2は、 与えられた情報をもとに映像信号を生成して、 映 像信号出力端子 4 7に出力する。 これにより、 テレビジョ ンモニタ 9 0のスク リ ーン 9 1に、 位置ガイ ド Gや背景 1 1 0等を含むゲーム画面が表示される。 より 具体的には、 次の通りである。
C P U 2 0 1は、 カーソル制御処理で登録した座標情報 (操作物 1 5 0の注目 点の座標情報) をもとに、 カーソル 1 0 5を構成する各スプライ トの表示座標を 算出する。 そして、 C P U 2 0 1は、 カーソル 1 0 5を構成する各スプライ トの、 表示座標情報、 カラーパレッ ト情報、 デプス値、 サイズ情報、 及ぴ、 画素パター ンデータ格納位置情報、 をグラフィックプロセッサ 2 0 2に与える。 グラフイツ
クプロセッサ 20 2は、 これらの情報をもとに、 カーソル 1 0 5を表す映像信号 を生成して、 映像信号出力端子 4 7に出力する。
また、 C PU 20 1は、 ガイ ド制御処理で登録したアニメーション情報に含ま れるアニメーションテーブル格納位置情報にもとづいて、 アニメーションテープ ルを参照し、 ガイ ド (位置ガイ G, 方向ガイ Kg, 経路ガイ ド r g) のアニメ ーシヨン画像を構成するオブジェク トのサイズ情報、 及ぴ、 そのオブジェク トを 構成するスプライ トのサイズ情報、 を取得する。 そして、 C PU 20 1は、 これ らの情報と、 登録されているアニメーショ ン情報に含まれる表示座標情報と、 を もとに、 当該ォブジェク トを構成する各スプライ トの表示座標を算出する。 また、 C PU 2 0 1は、 これから表示する位置ガイ ド Gのオブジェク ト番号、 アニメ一 ションテーブルに含まれるオブジェク ト及ひ、スプライ トのサイズ情報、 並びに、 アニメーションテーブルに含まれる位置ガイ ド Gのアニメーション画像データ格 納位置情報、 をもとに、 オブジェク トを構成する各スプライ トの画素パターンデ ータ格納位置情報を算出する。
そして、 さらに、 C PU 2 0 1は、 アニメーションテ プルを参照して、 位置 ガイ ド Gを構成する各スプライ トの、 カラーパレッ ト情報、 デプス値、 及ぴ、 サ ィズ情報を、 各スプライ トの画素パターンデータ格納位置情報及び表示座標情報 とともに、 グラフィックプロセッサ 20 2に与える。 この場合、 C P U 20 1は、 登録されているアニメーション情報に含まれる位置ガイ ド Gの表示タイミング情 報、 及ぴ、 アニメーションテーブルの持続フレーム数情報、 に従って、 上記の情 報をグラフィックプロセッサ 20 2に与える。
方向ガイ ド g及ぴ経路ガイ ド r gに関しても、 C PU 2 0 1がグラフィックプ 口セッサ 20 2に与える情報の取得及ぴ内容は、 位置ガイ ド Gと同様である。 た だし、 方向ガイ ド g 1〜 g 4及ぴ経路ガイ ド r g l〜r g l Oは、 アニメーショ ン情報に含まれる表示タイミング情報が指示するタイミングで、 アニメーション 情報に含まれる表示座標情報が指示する複数の位置に順次表示されるため、 方向 ガイ ド g 1〜 g 4の各々及び経路ガイ ド r g l〜r g l Oの各々の表示開始時に おいては、 C P U 20 1は、 登録されているアニメーション情報に含まれる表示 座標情報及ぴ表示タイミング情報を参照して、 方向ガイ ド g 1〜 g 4及び経路ガ
イ ド r g l〜 r g l Oの情報をグラフィ ックプロセッサ 20 2に与える。
以上のようにして与えられた情報をもとに、 グラフィ ックプロセッサ 20 2は、 ガイ ド (位置ガイ ド G, 方向力'ィ Kg , 経路ガイ ド r g) を表す映像信号を生成 して、 映像信号出力端子 47に出力する。
また、 C PU 2 0 1は、 ダンス制御処理で登録したダンスアニメーショ ン情報 に含まれるダンスアニメーションテーブル格納位置情報にもとづいて、 ダンスァ ニメーショ ンテーブルを参照し、 ダンスアニメーショ ン画像を構成するダンスォ ブジェク ト 1 0 6のサイズ情報、 及ぴ、 ダンスオブジェク ト 1 0 6を構成するス プライ トのサイズ情報、 を取得する。 そして、 CPU 20 1は、 これらの情報と、 登録されているダンスアニメーショ ン情報に含まれる表示座標情報と、 をもとに、 ダンスオブジェク ト 1 0 6を構成する各スプライ トの表示座標を算出する。 また、 C PU 2 0 1は、 これから表示するダンスオブジェク ト 1 0 6の番号、 ダンスァ 二メーシヨンテーブルに含まれるダンスオブジェク ト 1 0 6及ぴスプライ トのサ ィズ情報'、 及ぴ、 ダンスアニメーショ ンテーブルに含まれるダンスアニメーショ ン画像データ格納位置情報、 をもとに、 ダンスオブジェク ト 1 0 6を構成する各 スプライ トの画素パターンデータ格納位置情報を算出する。
そして、 さらに、 C P U 20 1は、 ダンスアニメーショ ンテーブルを参照して、 ダンスオブジェク ト 1 0 6を構成する各スプライ トの、 カラーパレツ ト情報、 デ ブス値、 及び、 サイズ情報を、 各スプライ トの画素パターンデータ格納位置情報 及ぴ表示座標情報と ともに、 グラフィ ックプロセッサ 20 2に与える。 この場合、 C PU 2 0 1は、 登録されているダンスアニメーショ ン情報に含まれる表示タイ ミ ング情報、 及ぴ、 ダンスアニメーショ ンテーブルの持続フレーム数情報、 に従 つて、 上記の情報をグラフイ ツクプロセッサ 20 2に与える。
さらに、 C PU 2 0 1は、 ダンス制御処理で登録した、 評価オブジェク ト 1 0 7〜 1 0 9のためのアニメーショ ン情報及びアニメーショ ンテーブルをもとに、 映像信号の生成に必要な情報を取得して、 グラフィ ックプロセッサ 2 0 2に与え る。 なお、 この場合に、 C PU 2 0 1がグラフィ ックプロセッサ 2 0 2に与える 情報の取得及ぴ内容は、 ダンスォブジェク ト 1 0 6の場合と同様である。
以上のよう にして与えられた情報をもとに、 グラフィ ックプロセッサ 20 2は、
ダンスォブジェク ト 1 0 6及ぴ評価オブジェク ト 1 0 7〜 1 0 9を表す映像信号 を生成して、 映像信号出力端子 4 7に出力する。
[楽曲再生] 楽曲の再生は、 割込み処理により行われる。 C P U 2 0 1は、 楽 曲用の楽譜データポインタをィンクリメントしながら、 図 1 8の楽曲制御情報を 読み出して解釈する。 なお、 楽曲用の楽譜データポインタは、 第 1の楽譜データ 3 0 5の読み出し位置を示すボインタである。
そして、 C P U 2 0 1は、 読み出した楽曲制御情報に含まれるコマンドが、 ノ 一トオンであれば、その楽曲制御情報に含まれるノ一トナンパが示す音の高さ (ピ ツチ) 及び楽器指定情報が示す楽器 (音色) に応じた波形データが格納されてい る先頭ア ドレスを、 サウンドプロセッサ 2 0 3に与える。 さらに、 C P U 2 0 1 は、 読み出した楽曲制御情報に含まれるコマンドが、 ノートオンであれば、 必要 なエンベロープデータが格納されている先頭ァドレスを、 サウンドプロセッサ 2 0 3に与える。 さらに、 C P U 2 0 1は、 読み出した楽曲制御情報に含まれるコ マンドが、 ノートオンであれば、 その楽曲制御情報に含まれるノートナンパが示 す音の高さ (ピッチ) に応じたピッチ制御情報、 及び、 その楽曲制御情報に含ま れるボリューム情報、 をサウンドプロセッサ 2 0 3に与える。
ここで、 ピッチ制御情報について説明しておく。 ピッチ制御情報は、 波形デー タを読み出す周期を変 ることによって行われるピッチ変換に用いられる。 つま り、 サウンドプロセッサ 2 0 3は、 ピッチ制御情報を一定期間毎に読み出して累 算する。 そして、 サウンドプロセッサ 2 0 3は、 この累算結果を加工して、 波形 データのア ドレスポインタとする。 よって、 ピッチ制御情報に大きな値が設定さ れれば、 アドレスポインタのインクリメントは早く行われ、 波形データの周波数 が高くなり、 ピッチ制御情報に小さな値が設定されれば、 アドレスポインタのィ ンクリメントは遅く行われ、 波形データの周波数が低くなる。 このようにして、 サウンドプロセッサ 2 0 3は、 波形データのピッチ変換を行う。
さて、 サウンドプロセッサ 2 0 3は、 与えられたピッチ制御情報に基づいて、 ァドレスボインタをインクリメントしながら、 与えられた先頭ァドレスが示す位 置に格納されている波形データを R O M 5 1から読み出す。 そして、 サウンドプ 口セッサ 2 0 3は、 順次読み出される波形データに、 エンベロープデータ及ぴボ
リューム情報を乗算して、 音声信号を生成する。 このよ うにして、 第 1の楽譜デ ータ 305が指示する楽器の音色、 音の高さ (ピッチ)、 及び、 音量、 の音声信号 が生成され、 音声信号出力端子 4 9に出力される。
一方、 C PU 2 0 1は、 読み出した楽曲制御情報に含まれるゲートタイムを管 理している。 従って、 C PU 2 0 1は、 ゲートタイムが経過した時に、 該当する 楽音の発音を終了するように、 サウンドプロセッサ 20 3に指示を出す。 これを 受けて、 サウンドプロセッサ 20 3は、 指示された楽音の発音を終了する。
以上のようにして、 第 1の楽譜データ 3 0 5に基づいて楽曲が再生され、 テレ ビジョンモニタ 9 0のスピーカ (図示せず) から発音される。
さて、 次に、 図 1の音楽ゲーム装置 1の全体の処理の流れを、 フローチャート を用いて説明する。
図 2 9は、 図 1の音楽ゲーム装置 1の全体の処理の流れを示すフローチヤ一ト である。 図 2 9に示すように、 ステップ S 1にて、 C PU 2 0 1は、 システムの 初期設定を実行する。 ステップ S 2にて、 C PU 20 1は、 操作物 1 5 0の状態 情報を算出する。 ステップ S 3にて、 C PU 2 0 1は、 ステップ S 2で算出した 操作物 1 5 0の状態情報をもとに、 ゲーム処理を実行する。 ステップ S 4にて、 C PU 20 1は、 「Mj が所定値 「K」 より小さいかどうかを判断する。 C PU 2 0 1は、 「M」 が所定値 「K」 以上である場合、 ステップ S 5に進み、 「Mj に 「0」 を代入して、 ステップ S 6に進む。 一方、 C P U 20 1は、 「M」 が所定値 「K」 より小さい場合、 ステップ S 4からステップ S 6に進む。 この 「Μ」 については、 後述の説明の中で明らかになる。
ステップ S 6では、 C PU 2 0 1は、 ビデオ同期の割込み待ちかどうかを判断 する。 C PU 20 1は、 テレビジョンモニタ 9 0の表示画面を更新するための画 像情報を、 垂直ブランキング期間の開始後にグラフイツクプロセッサ 2 0 2に与 える(ステップ S 7)。従って、表示画面を更新するための演算処理が完了したら、 ビデオ同期割込みがあるまで処理を進めないようにしている。 ステップ S 6で「Y E S」 であれば、 即ち、 ビデオ同期の割込み待ちであれば (ビデオ同期信号によ る割り込みがなければ)、 同じステップ S 6に戻る。 一方、 ステップ S 6で 「NO」 であれば、 即ち、 ビデオ同期の割込み待ちでなければ (ビデオ同期信号による割
り込みがあれば)、 ステップ S 7に進む。 ステップ S 7では、 C P U 20 1は、 ス テツプ S 3のゲーム処理の結果をもとに、 ゲーム画面 (図 1 1〜図 1 3参照) の 生成に必要な画像情報を、 垂 ΐプランキング期間に、 グラフィ ックプロセッサ 2 0 2に与える (画像表示処理)。
図 3 0は、 図 2 9のステップ S 1の初期設定処理の流れを示すフローチャート である。 図 3 0に示すように、 ステップ S 1 0にて、 C P U 2 0 1は、 ガイ ド用 の楽譜データポインタを初期化する。 ステップ S 1 1にて、 C PU 20 1は、 ガ イ ド用の実行待機カウンタを 「0」 にセッ トする。
ステップ S 1 2にて、 C PU 2 0 1は、 楽曲用の楽譜データボインタを初期化 する。 ステップ S 1 3にて、 C PU 20 1は、 楽曲用の実行待機カウンタを 「 t」 にセッ トする。
ステップ S 1 4にて、 C PU 2 0 1は、 ィメージセンサ 4 3の初期設定処理を 実行する。 ステップ S 1 5にて、 C PU 20 1は、 各種フラグ及ぴ各種力ゥンタ を初期化する。
ステップ S 1 6にて、 C PU 20 1は、 タイマ回路 2 1 0を発音のための割込 み源と してセッ トする。 なお、 割込み処理によ り、 サゥンドプロセッサ 20 3に よる処理が実行されて、 テレビジョ ンモニタ 9 0のスピー力から音声が出力され る。
図 3 1は、 図 3 0のステップ S 1 4のセンサ初期設定処理の流れを示すフ口一 チャー トである。 図 3 1に示すよ うに、 最初のステップ S 2 0では、 高速プロセ ッサ 200は、 設定データと して、 コマン ド "CONF" を設定する。 ただし、 このコマンド "CONF" は、 イメージセンサ 4 3に、 髙速プロセッサ 20 0か らコマン ドを送信する設定モー ドに入ることを知らせるためのコマン ドである。 そして、 次のステップ S 2 1にて、 コマンド送信処理を実行する。
図 3 2は、 図 3 1のステップ S 2 1のコマンド送信処理の流れを示すフローチ ヤー 卜である。 図 3 2に示すよ うに、 最初のステップ S 3 0では、 髙速プロセッ サ 200は、 設定データ (ステップ S 2 1の場合はコマンド " CONF") をレジ スタデータ ( I /Oポー ト) に設定し、 次のステップ S 3 1でレジスタ設定クロ ック C LK ( I ZOポー ト) をローレベルに設定する。 その後、 ステップ S 3 2
で規定時間待機した後、 ステップ S 3 3で、 レジスタ設定クロック C L Kをハイ レベルに設定する。 そして、 さらにステップ S 3 4での規定時間の待機の後、 ス テツプ S 3 5でレジスタ設定クロック C L Kを再ぴローレベルに設定する。
このようにして、 図 3 3に示すように、 規定時間の待機を行いながら、 レジス タ設定クロック C L Kをローレべノレ, ノヽィ レべノレそしてローレベルとすることに よって、 コマンド (コマンドまたはコマンド +データ) の送信処理が行われる。 図 3 1の説明に戻る。 ステップ S 2 2では、 ピクセルモードを設定するととも に、 露光時間の設定を行う。 この実施の形態の場合、 イメージセンサ 4 3は先に 述べたようにたとえば 3 2ピクセル X 3 2ピクセルの CMO Sィメージセンサで あるため、 設定ア ドレス " 0 " のピクセルモードレジスタに 3 2 ピクセル X 3 2ピ クセルであることを示す " O h" を設定する。 次のステップ S 2 3において、 高 速プロセッサ 2 0 0は、 レジスタ設定処理を実行する。
図 3 4は、 図 3 1のステップ S 2 3のレジスタ設定処理の流れを示すフローチ ヤートである。 図 3 4に示すように、 最初のステップ S 4 0では、 高速プロセッ サ 2 0 0は、 設定データとして、 コマンド "MO V" +ァドレスを設定し、 次の ステップ S 4 1で、 図 3 2で先に説明したコマンド送信処理を実行して、 それを 送信する。 次にステップ S 4 2において、 高速プロセッサ 2 0 0は、 設定データ として、 コマンド "LD" +データを設定し、 次のステップ S 4 3でコマンド送 信処理を実行して、 それを送信する。 そして、 ステップ S 4 4で、 高速プロセッ サ 2 0 0は、 設定データとして、 コマン ド " S E T" を設定し、 次のステップ S 4 5でそれを送信する。 なお、 コマン ド "MOV" は制御レジスタのア ドレスを 送信することを示すコマンドで、 コマンド "LD" はデータを送信することを示 すコマンドで、 コマンド " S E T" はデータをそのア ドレスに実際に設定させる ためのコマンドである。 なお、 この処理は、 設定する制御レジスタが複数ある場 合には、 繰り返し実行される。
図 3 1 の説明に戻る。 ステップ S 2 4では、 設定ァドレスを " 1 " (露光時間設 定レジスタのローニブルのァドレスを示す) とし、 最大露光時間を示す "F F h" のローニプルデータ "F h" を設定すべきデータとして設定する。 そして、 ステ ップ S 2 5で図 3 4のレジスタ設定処理を実行する。 同様にして、 ステップ S 2
6において、 設定アドレスを "2" (露光時間設定レジスタのハイ二ブルのァ ドレ スを示す) とし、 最大露光時間を示す " F F h" のハイ二ブルデータ "F h" を 設定すべきデータとして設定し、 ステップ S 2 7でレジスタ設定処理を実行する。 その後、 ステップ S 2 8で設定終了を示しかつィメージセンサ 4 3にデータの 出力を開始させるためのコマンド " RUN" を設定し、 ステップ S 2 9で送信す る。 このようにして、 図 3 0に示すステップ S 1 4でのセンサ初期設定処理が実 行される。 ただし、 図 3 1〜図 34に示す具体例は、 使用されるイメージセンサ 4 3の仕様に応じて、 適宜変更され得るものである。 .
図 3 5は、 図 2 9のステップ S 2の状態情報算出処理の流れを示すフローチヤ ートである。 図 3 5に示すように、 ステップ S 5 0にて、 C PU 2 0 1は、 AD C 2 0 8からデジタルのピクセルデータを取得する。 このデジタルのピクセルデ ータは、 イメージセンサ 4 3からのアナログのピクセルデータが、 AD C 2 0 8 により、 デジタルに変換されたものである。
ステップ S 5 1にて、 注目点抽出処理が実行される。 具体的には、 C PU 20 1が、 赤外発光ダイオード 1 5の発光時のピクセルデータと消灯時のピクセルデ ータとの差分を算出して、 差分データを得る。 そして、 C PU 2 0 1は、 その差 分データの最大値を検出して、 所定の閾値丁 hと比較する。 さらに、 C PU 2 0 1は、 差分データの最大値が所定の閾値 T liを超えている場合は、 その最大値の 差分データを持つピクセルの座標を、 テレビジョンモニタ 9 0のスクリーン 9 1 上の座標に変換し、 操作物 1 5 0の注目点の座標とする。
ステップ S 5 2にて、 C PU 2 0 1は、 操作物 1 5 0の注目点が、 図 24のい ずれの領域 a 1〜 a 4に存在するかを判定して、 判定結果を配列 J 1 [M] に格 納する。
ステップ S 5 3にて、 C P U 2 0 1は、 操作物 1 5 0の注目点が、 図 2 5のい ずれの領域 A 1〜 A 4に存在するかを判定して、 判定結果を配列 J 2 [M] 格納 する。
図 3 6は、 図 3 5のステップ S 5 0のピクセルデータ群取得処理の流れを示す フローチャートである。 図 3 6に示すように、 最初のステップ S 6 0で、 C PU 20 1は、 ピクセルデータ配列の要素番号として に 「一 1」、 Yに 「0」 を設定
する。 本実施の形態におけるピクセルデータ配列は、 X== 0〜3 1、 Y= 0〜3 1の 2次元配列であるが、 前述のように各行の先頭ピクセルのデータと してダミ 一データが出力されるので、 Xの初期値として 「一 1」 が設定される。 続くステ ップ S 6 1では、 ピクセルデータの取得処理を実行する。
図 3 7は、 図 3 6のステップ S 6 1のピクセルデータ取得処理の流れを示すフ ローチャートである。 図 3 7に示すよ うに、 最初のステツプ S 70で、 C PU 2 0 1は、 ィメージセンサ 4 3からのフレームステータスフラグ信号 F S Fをチェ ック し、 ステップ S 7 1でそのァップェッジ (ローレべノレ力、らノヽィ レべノレへの) が発生したかどうか判断する。 そして、 ステップ S 7 1でフラグ信号 F S Fのァ ップェッジを検出すると、 次のステップ S 7 2において、 C PU 2 0 1は、 AD C 2 0 8に入力されてきたアナ口グのピクセルデータのデジタルデータへの変換 の開始を指示する。 その後、 ステップ S 7 3でイメージセンサ 43からのピクセ ルス トロープ PD Sをチェック し、 ステップ S 74でそのス トローブ信号 P D S のローレベルからハイ レベルへのアップエッジが発生したかどうか判断する。 ステップ S 74で "YE S" が判断されると、 C P U 20 1は、 ステップ S 7 5において、 X =— 1かどう力 、 すなわち先頭ピクセルかどうか判断する。 先に 述べたように、 各行の先頭ピクセルはダミーピクセルと して設定されているので、 このステップ S 7 5で "YE S" が判断されると、 次のステップ S 7 7でそのと きのピクセルデータを取得しないで、 要素番号 Xをィンク リメントする。
ステップ S 7 5で " NO" が判断されると、 行の第 2番目以降のピクセルデー タであるので、 ステップ S 7 6および S 7 8において、 そのときのピクセルデー タを取得し、 テンポラリ レジスタ (図示せず) にそのピクセルデータを格納する。 その後、 図 3 6のステップ S 6 2に進む。
図 3 6のステップ S 6 2では、 テンポラ リ レジスタに格納されたピクセルデー タをピクセルデータ配列 P [Y] [X] に代入する。
続くステップ S 6 3で Xをィンク リ メントする。 が 3 2に満たない場合、 前 述の S 6 1から S 6 3の処理を繰り返し実行する。 Xが 3 2の場合、 すなわちピ クセルデータの取得が行の終端に到達した場合には、 続くステップ S 6 5で Xに Γ— 1」 を設定し、 ステップ S 6 6で Yをインク リメント し、 次の行の先頭から
ピクセルデータの取得処理を繰り返す。
ステップ S 6 7で Yが 3 2の場合、 すなわちピクセルデータの取得がピクセル データ配列 P [Y] [X]の終端に到達した場合、 図 3 5のステップ35 1に進む。 図 3 8は、 図 3 5のステップ S 5 1の注目点抽出処理の流れを示すフローチヤ ートである。 図 3 8に示すように、 ステップ S 8 0にて、 C PU 20 1は、 ィメ ージセンサ 43からの、 赤外発光ダイォード 1 5の点灯時のピクセルデータと、 赤外発光ダイオード 1 5の消灯時のピクセルデータと、 の差分を算出して、 差分 データを得る。 ステップ S 8 1にて、 C PU 20 1は、 配列 D i f [X] [Y]に、 算出した差分データを代入する。 ここで、 実施の形態では、 3 2ピクセル Χ 3 2ピ クセルのイメージセンサ 4 3を用いているため、 Χ= 0〜3 1、 Υ= 0~ 3 1、 である。
ステップ S 8 2にて、 C PU 2 0 1は、 配列 D i f [X] [Y] の全要素をスキ ャンする。 ステップ S 8 3にて、 C PU 2 0 1は、 配列 D i f [X] [Y]の全要 素の最大値を検出する。 C PU 20 1は、 その最大値が所定の閾値 T hより大き い場合は、 ステップ S 8 5に進み、 所定の閾値 T h以下の場合は、 図 2 9のステ ップ S 4に進む (ステップ S 84)。
ステップ S 8 5にて、 C PU 20 1は、 その最大値の座標を基に、 操作物 1 5 0の注目点の座標 (X c , Y c ) を算出する。 ステップ S 8 6にて、 C PU 2 0 1は、 回数 Mの値を 1つインク リメントする (M = M+ 1 )。
ステップ S 8 7にて、 C PU 20 1は、 イメージセンサ 4 3上の注目点の座標 (X c , Y c ) を、 テレビジョンモニタ 9 0のスクリーン 9 1上の座標 (x c, y c ) に変換する。 ステップ S 8 8にて、 C PU 20 1は、 M回目の注目点の x 座標として、 配列 P X [M] に X cを代入し、 M回目の注目点の y座標として、 配列 P y [M] に y cを代入する。
図 3 9は、 図 3 8のステップ S 8 5の注目点座標算出処理の流れを示すフロー チャートである。 図 3 9に示すように、 ステップ S 1 0 0にて、 C PU 20 1は、
「m」 及ぴ 「n」 にそれぞれ、 ステップ S 8 3で求めた最大値の X座標及ぴ Y座 標を代入する。 ステップ S 1 0 1にて、 C PU 20 1は、 「m」 を 1つインクリメ ントする (m = m+ l )。 C PU 20 1は、 差分データ D i f [m] [η] が、 所
定の閾値 T hより大きい場合は、 ステップ S 1 0 3に進み、 そうでない場合は、 ステップ S 1 04に進む (ステップ S 1 0 2)。 ステップ S 1 03にて、 C PU 2 0 1は、 「mr」 にそのときの 「m」 を代入する。 このように、 ステップ S 1 0 1 〜 S 1 0 3を繰り返しながら、 最大値から X軸の正方向にスキャンを実行して、 値が所定の閾値 T hを超える一番端の差分データの X座標を求める。
ステップ S 1 04にて、 C PU 20 1は、 「m」 に、 ステップ S 8 3で求めた最 大値の X座標を代入する。 ステップ S 1 0 5にて、 C PU 2 0 1は、 「m」 を 1つ デクリメントする。 C PU 20 1は、 差分データ D i f [m] [n] が、 所定の閾 値 T hより大きい場合は、 ステップ S 1 0 7に進み、 そうでない場合は、 ステツ プ S 1 0 8に進む(ステップ S 1 06)。ステップ S 1 0 7にて、 C PU 20 1は、 「m 1」 にそのときの 「m」 を代入する。 このように、 ステップ S 1 0 5〜S 1 0 7を繰り返しながら、 最大値から X軸の負方向にスキャンを実行して、 値が所 定の閾値 T hを超える一番端の差分データの X座標を求める。
ステップ S 1 0 8にて、 C PU 20 1は、 X座標 m r と X座標 m l との中心座 標を算出して、 それを、 注目点の X座標 (X c) とする。 ステップ S 1 0 9にて、 C P U 20 1は、 「m」 及ぴ Γ n」 にそれぞれ、 ステップ S 1 0 8で求めた 「X c」 およびステップ S 8 3で求めた最大値の Y座標を代入する。 ステップ S 1 1 0に て、 C PU 2 0 1は、 「n」 を 1つインクリメントする (n = n + l )。 C PU 2 0 1は、 差分データ D i f [m] [n] が、 所定の閾値 T hより大きい場合は、 ス テツプ S 1 1 2に進み、 そうでない場合は、 ステップ S 1 1 3に進む (ステツプ S l l l )。 ステップ S 1 1 2にて、 C PU 20 1は、 「md」 にそのときの 「n」 を代入する。 このように、 ステップ3 1 1 0〜3 1 1 2を繰り返しながら、 最大 値から Y軸の正方向にスキャンを実行して、 値が所定の閾値 Thを超える一番端 の差分データの Y座標を求める。
ステップ S 1 1 3にて、 CPU 20 1は、 「n」 に、 ステップ S 8 3で求めた最 大値の Y座標を代入する。 ステップ S 1 1 4にて、 C PU 2 0 1は、 「n」 を 1つ デクリメントする。 C P U 20 1は、 差分データ D i f [m] [n] 力 所定の閾 値 T hより大きい場合は、 ステップ S 1 1 6に進み、 そうでない場合は、 ステツ プ S 1 1 7に進む(ステップ S 1 1 5 )。ステップ S 1 1 6にて、 C P U 2 0 1は、
「mu」 にそのときの 「n」 を代入する。 このよ うに、 ステップ S 1 1 4〜S 1 1 6を繰り返しながら、 最大値から Y軸の負方向にスキャンを実行して、 値が所 定の閾値 T hを超える一番端の差分データの Y座標を求める。
ステップ S 1 1 7にて、 C PU 20 1は、 Y座標 m dと Y座標 m uとの中心座 標を算出して、 それを、 注目点の Y座標 (Y c) とする。 以上のよ うにして、 操 作物 1 5 0の注目点の座標 (X c, Y c) が算出される。
図 40は、 図 2 9のステップ S 3のゲーム処理の流れを示すフローチャー トで ある。 図 40に示すよ うに、 ステップ S 1 20にて、 C PU 2 0 1は、 楽曲終了 フラグをチェックして (図 43のステップ S 1 9 6参照)、 楽曲終了であれば、 ゲ ーム処理を終了し、 楽曲終了でなければ、 ステップ S 1 2 1へ進む
ステップ S 1 2 1にて、 C PU 2 0 1は、 操作物 1 5 0の注目点の X座標 P x [M]及び y座標 P y [M]を、 カーソル 1 0 5のスク リーン 9 1上の表示座標と し て登録する。
C PU 2 0 1は、 ステップ S 1 2 2とステップ S 1 44との間の処理を 2回繰 り返す。 ここで、 「; j 」 は、 ガイ ド表示番号 Jを意味する (図 43参照)。
ステップ S 1 2 3にて、 C P U 20 1は、 ガイ ド開始フラグ G F [ j ]をチェッ クする (図 43のステップ S 1 9 4参照)。 C P U 2 0 1は、 ガイ ド開始フラグ G F [ j ]がオンであれば、 ステップ S 1 2 5へ進み、 オフであれば、 ステップ S 1 44へ進む (ステップ S 1 24)。 ステップ S 1 2 5にて、 C PU 20 1は、 フレ ームカウンタ C [j ]をチェックする。 C PU 2 0 1は、 フレームカウンタ C [j ] 力 S 「0」 より大きい場合は、 ステップ S 1 2 8に進み、 フレームカウンタ C [j ] 力 S 「0」 の場合は、 ステップ S 1 2 7に進む (ステップ S 1 26)。 ステップ S 1 2 7にて、 C PU 2 0 1は、 ノー トナンパ NN[j ]に従って、 位置ガイ ド Gのァ ニメーショ ン情報を登録すると ともに、 方向ガイ ド gあるいは経路ガイ ド r gの アニメ ション情報を登録する。 フレームカウンタ C [j ]が 「0」 の場合にのみ、 このよ うなアニメーショ ン情報の登録を行うのは、 一且、 アニメーショ ン情報の 登録をすれば、 その後は、 その登録情報に従ってアニメーショ ンが実行されるた め、 アニメーションの開始時のみ登録するようにしている。
ステップ S 1 2 8にて、 C PU 2 0 1は、 ノートナンパ NN[j ]をチェック し
て、 カーソル 1 0 5の旋回を指示するノートナンパである場合は (図 20 ( b ) 及ぴ図 20 (c) 参照)、 ステップ S 1 3 1に進み、 それ以外のノー トナンパであ れば (図 20 ( a ) 参照)、 ステップ S 1 2 9に進む。 ステップ S 1 2 9にて、 C PU 2 0 1は、 フレームカウンタ C U ]をチェックする。 C PU 2 0 1は、 フレ ームカウンタ [j ]が、 規定フレーム数 f 1以上であれば、 ステップ S 1 3 1へ進 み、 そうでなければ、 ステップ S 1 4 1に進む (ステップ S 1 3 0)。 ステップ S 1 3 1にて、 C PU 20 1は、 カーソル 1 0 5の操作が、 ガイ ド (位置ガイ G /方向ガイ ド g/経路ガイ ド r g) に適合しているか否かを判定する (成功判定)。 なお、 ステップ S 1 28及ぴステップ S 1 3 1から明らかなよ うに、 ノー トナ ンパ NN [ j ]がカーソル 1 0 5の旋回を指示するノ一トナンパである場合には、 フレーム力ゥンタ C [ ]· ]に関係なく、 位置ガイ ド G及ぴ経路ガイ ド r gの表示開 始時から (フレームカウンタ C [ j ]が 「0J)、 カーソル 1 0 5の操作の成功判定 を行っている。 一方、 ノートナンパ NN[j ]がカーソル 1 0 5の旋回を指示する ノー トナンパ以外である場合は、 位置ガイ ド G及ぴ方向ガイ ド gの表示開始時か ら (フレームカウンタ C [j ]が 「0」)、 規定フレーム数 f 1 (例えば。 3 0フレ ーム) 経過した後に、 カーソル 1 0 5の操作の成功判定を行っている (図 2 8参 照)。
さて、 C PU 20 1は、 ステップ S 1 3 1での判定の結果、 カーソル 1 0 5の 操作が成功であった場合は、 ステップ S 1 3 3に進み、 成功でない場合は、 ステ ップ S 1 40に進む (ステップ S 1 3 2)。 ステップ S I 3 3にて、 C PU 2 0 1 は、 ノートナンパ NN [ j ] 及ぴダンス速度フラグ DFを参照して (図 4 3のス テツプ S 1 9 3、 ステップ S I 9 0及ぴステップ S 1 9 2参照)、 ダンスアニメ一 ショ ン情報の登録を行う。 また、 操作成功の場合、 背景 1 1 0をスクロールすべ く、 C PU 2 0 1は、 ノー トナンパ NN [ j ] 及ぴダンス速度ブラグ D Fを参照 して、 全景スク リーン 1 40の中心位置の変更、 並びに、 配列 P A及ぴ配列 C A の該当データの変更を実行する。 さらに、 C P U 2 0 1は、 操作成功の際に使用 する位置ガイ ド Gのアニメーショ ンテーブル格納位置情報を登録する。
ステップ S 1 34にて、 C P U 2 0 1は、 ノー トナンパ NN[ j ]をチェック し て、 カーソル 1 0 5の旋回を指示するノー トナンパである場合は、 ステップ S 1
3 7に進み、 それ以外のノートナンパであれば、 ステップ S 1 3 5に進む。 ステ ップ S 1 3 5にて、 C P U 2 0 1 は、 フレームカウンタ C [ j ]をチェックする。 C PU 2 0 1 は、 フレームカウンタ U ]が、 規定フレーム数 f 2以上であれば、 ステップ S 1 3 7へ進み、 そうでなければ、 ステップ S 1 3 8に進む (ステップ S 1 3 6 )。 ステップ S 1 3 7にて、 C PU 2 0 1は、 スコア Sに 「 3」 を加える。 一方、 ステップ S 1 3 8にて、 スコア Sに 「 1」 を加える。
なお、 ステップ S 1 3 7では、 スコア Sに 「 3」 を加え、 ステップ S 1 3 8で は、 スコア Sに 「 1」 を加えているの次の理由による。 位置ガイ ド G及ぴ方向ガ イ ド gの表示開始時から (フレームカウンタ C U ]が 「 0」)、 規定フレーム数 f 2 (例えば、 5 0フレーム) 経過した後の所定期間内 (例えば、 1 0フレーム) に、 カーソル 1 0 5が位置ガイ ド Gの領域に存在した場合は、 ベス トなタイ ミン グでカーソル 1 0 5が操作されたと して、 「 3」 を加える。 一方、 規定フレーム数 f 1経過時から、 規定フレーム数 f 2経過前に、 カーソル 1 0 5が位置ガイ G の領域に存在した場合は、 通常の成功であると して、 「 1」 を加える。 また、 位置 ガイ ド G及び経路ガイ ド r g (カーソル 1 0 5の旋回を指示するガイ ド) に適合 した操作が行われた場合は、 一律に 「 3」 を加える。
さて、 ステップ S 1 3 9にて、 C P U 2 0 1 は、 フレームカウンタ C [ j ]をチ エックする。 C P U 2 0 1 は、 フレーム力ゥンタ C [ j ]が、 規定フレーム数 f 3 (例えば、 6 0フレーム) に等しければ、 ステップ S 1 4 2へ進み、 そうでなけ れば、 ステップ S 1 4 1に進む (ステップ S 1 4 0)。 ステップ S 1 4 1にて、 C P U 2 0 1 は、 フレームカウンタ C [; j ]を 1つインク リ メントする。 一方、 ステ ップ S 1 4 2にて、 C P U 2 0 1 は、 フレームカウンタ C [ j ]に 「 0」 をセッ ト する。 ステップ S 1 4 3にて、 C PU 2 0 1 は、 ガイ ド開始フラグ G F [ j ]をォ フにする。 なお、 規定フレーム数 f 3は、 成功判定の終了時を定めている。
図 4 1 は、 割込み処理の流れを示すフローチャー トである。 図 4 1 に示すよう に、 ステップ S 1 5 0にて、 C P U 2 0 1 は、 楽曲の再生処理を実行する。 ステ ップ S 1 5 1 にて、 C P U 2 0 1 は、 ガイ ド (位置ガイ G、 方向ガイ ド g、 経 路ガイ ド r g ) の登録処理を実行する。
図 4 2は、 図 4 1 のステップ S 1 5 0の楽曲再生処理の流れを示すフローチヤ
ートである。 図 4 2に示すように、 ステップ S 1 6 0にて、 0 PU 2 0 1は、 楽 曲用の実行待機カウンタをチェックする。 楽曲用の実行待機カウンタの値が 「0」 ならば、 ステップ S 1 6 2へ ¾み、 「0」 でないならば、 ステップ S 1 7 0へ進む (ステップ S 1 6 1 )。 ステップ S 1 7 0にて、 C P U 2 0 1は、 楽曲用の実行待 機カウンタをデク リメントする。
—方、 ステップ S 1 6 2にて、 C P U 2 0 1 は、 楽曲用の楽譜データポィンタ の指すコマンドを読み出して解釈する。 コマンドがノー トオンであれば、 ステツ プ S 1 6 4に進む (ステップ S 1 6 3)。 一方、 コマンドが、 ノートオンでなけれ ば、 即ち、 待機であれば、 ステップ S 1 6 5に進む。 ステップ S 1 6 5にて、 C PU 2 0 1は、 楽曲用の実行待機カウンタに待機時間をセッ トする。
さて、 ステップ S 1 6 4にて、 C PU 2 0 1は、 サウンドプロセッサ 2 0 3に、 読み出したノ ^ " トナンパに応じた発音を開始させる。 ステップ S 1 6 6にて、 C PU 2 0 1は、 楽曲用の楽譜データポィンタをインク リ メントする。
ステップ S 1 6 7にて、 C P U 2 0 1は、 発音中のノートナンパに対する残り の発音時間をチェックする。 残りの発音時間が 「 0」 であれば、 ステップ S 1 6 9に進み、 そうでなければ、 図 4 1のステップ S 1 5 1へ進む (ステップ S 1 6 8)。 ステップ S 1 6 9にて、 C PU 2 0 1は、 サウンドプロセッサ 2 0 3に対し て、 残りの発音時間が 「0」 のノートナンパの発音終了処理を実行させる。
図 4 3は、 図 4 1のステップ S 1 5 1のガイ ド登録処理の流れを示すブローチ ヤートである。 図 4 3に示すよ うに、 ステップ S 1 8 0にて、 C P U 2 0 1 は、 ガイ ド用の実行待機カウンタをチヱックする。 ガイ ド用の実行待機カウンタの値 力 S 「0」 ならば、 ステップ S 1 8 2へ進み、 「 0」 でないならば、 ステップ S 1 9 8へ進む (ステップ S 1 8 1 )。 ステップ S 1 9 8にて、 C PU 2 0 1は、 ガイ ド 用の実行待機カウンタをデク リメントする。
一方、 ステップ S 1 8 2にて、 C P U 2 0 1 は、 ガイ ド用の楽譜データボイン タの指すコマンドを読み出して解釈する。 C P U 2 0 1 は、 コマンドがノー トォ ンであれば、 ステップ S 1 8 4に進む (ステップ S 1 8 3)。 一方、 C P U 2 0 1 は、 コマンドが、 ノー トオンでなければ、 即ち、 待機であれば、 ステップ S 1 9 7に進む。 ステップ S 1 9 7にて、 C P U 2 0 1 は、 ガイ ド用の実行待機力ゥン
タに待機時間をセッ トする。
さて、 C PU 2 0 1は、 ノートナンパが楽曲終了を意味するものであれば、 ス テツプ S 1 9 6に進み、 そうでなければ、 ステップ S 1 8 5に進む (ステップ S 1 8 4)。ステップ S 1 9 6にて、 C PU 2 0 1は、楽曲終了フラグをオンにする。 —方、 C P U 2 0 1 はノートナンパが楽曲開始を意味するものであれば、 ステ ップ S 1 9 5に進み、 そうでなければ、 ステップ S 1 8 6に進む (ステップ S 1 8 5 )。 C PU 2 0 1 は、 ガイ ド表示番号 Jが、 「 1」 であれば、 ステップ S 1 8 8にて、 ガイ ド表示番号 J を 「0」 と し、 ガイ ド表示番号 Jが、 「 1」 でなければ (「 0」 であれば)、 ステップ S 1 8 7にて、 ガイ ド表示番号 J を 「 1」 とする。 なお、 ある位置ガイ ド Gによる案内と他の位置ガイ ド Gによる案内とが、 違うタ イ ミングで開始されるが、 ある期間重複して実行される場合もあるため、 ガイ ド 表示番号 Jを規定して、 図 2 9のステップ S 3のゲーム処理を実行している。
さて、 C P U 2 0 1 は、 ノートナンパが、 速い速度のダンスアニメーショ ンを 行う ことを指示するノ一トナンパであれば、 ステップ S 1 9 0に進み、 そうでな ければ、 ステップ S 1 9 1 に進む (ステップ S 1 8 9 )。 ステップ S 1 9 0にて、 C PU 2 0 1 は、 ダシス速度フラグ D Fを 「 1」 (速い速度のダンスアニメーショ ン) にセッ トする。
一方、 C PU 2 0 1 は、 ノートナンパが、 遅い速度のダンスアニメーショ ンを 行う ことを指示するノ一トナンパであれば、 ステップ S 1 9 2に進み、 そうでな ければ、 ステップ S 1 9 3に進む (ステップ S 1 9 1 )。 ステップ S 1 9 2にて、 C PU 2 0 1は、 ダンス速度フラグ D Fを 「 0」 (遅い速度のダンスアニメーショ ン) にセッ トする。
さて、 ノートナンパが、 楽曲終了を表すノー トナンパ、 楽曲の開始を表すノー トナンパ、 速い速度のダンスアニメーショ ンを表すノー トナンパ、 及ぴ、 遅い速 度のダンスアニメーショ ンを表すノー トナンパ、 のいずれでもない場合は、 その ノートナンパは、 ガイ ドの種類を表すノートナンパ (図 2 0 ( a ) 〜図 2 0 ( c )) であるから、 C P U 2 0 1 は、 ステップ S 1 9 3にて、 配列 N N [ J ]に、 そのノ 一トナンパを代入する。 ステップ S 1 9 4にて、 C P U 2 0 1 は、 ガイ ド開始フ ラグ GF [ J ]をオンにする。
ステップ S 1 9 5にて、 C P U 2 0 1は、 ガイ ド用の楽譜データボインタをィ ンクリメントする。
さて、 次に、 方向ガイ ド gの他の例を説明する。 図 4 4は、 方向ガイ ド gの他 の例を適用したゲーム画面の例示図である。 図 4 4に示すように、 位置ガイ ド G 1から位置ガイ K G 2へ延びるように、 帯状の方向ガイ ド g 2 0が表示される。 この方向ガイ ド g 2 0は、 時間の経過とともに、 位置ガイ K G 1から位置ガイ ド G 2まで延びる。 この方向ガイ ド g 2 0が延びる方向によって、 カーソル 1 0 5 を操作する方向が案内される。 また、 方向ガイ ド g 2 0が位置ガイ ド G 2に到達 した時から所定時間を、 カーソル 1 0 5の操作の成功判定の期間とすれば、 方向 ガイ ド g 2 0により、 カーソル 1 0 5の操作タイミングを案内することもできる。 なお、 方向ガイ ド g 2 0は、 位置ガイ ド G 1から位置ガイ ド G 2までの経路の色 を徐々に変化させることにより表現されている、 ということもできる。
図 4 5は、 方向ガイ ド gのさらに他の例を適用したゲーム画面の例示図である。 図 4 5に示すように、 ゲーム画面には、 位置ガイ ド Gと他の位置ガイ ド Gとの間 に、 方向ガイ ド g 3 0が表示される。 この方向ガイ ド g 3 0は、 5つの部分経路 g 3 1〜 g 3 5からなる。 そして、 図 4 5の例では、 位置ガイ ド G 1から位置ガ イ ド G 2へ向かって順番に、 5つの部分経路 g 3 1〜 g 3 5の色が変化する。 な お、 色の変化は、 ハッチングで示している。 このようにすることで、 部分経路 g 3 1〜 g 3 5の色の変化の方向により、 カーソル 1 0 5の操作方向を案内できる。 また、 この例において、 カーソル 1 0 5の移動位置を案内する位置ガイ ド G 2に 隣接した部分経路 g 3 5の色が変化した時から所定時間を、 カーソル 1 0 5の操 作の成功判定の期間とすれば、 方向ガイ ド g 3 0により、 カーソル 1 0 5の操作 タイミングを案内することもできる。
図 4 6は、 方向ガイ ド gのさらに他の例を適用したゲーム画面の例示図である。 図 4 6に示すように、 ゲーム画面には、 位置ガイ ド G 1 と位置ガイ ド G 2 との間 に、 方向ガイ ド g 4 0が表示される。 この方向ガイ ド g 4 0は、 時間の経過とと もに、 位置ガイ K G 1から位置ガイ ド G 2まで移動する。 この方向ガイ ド g 4 0 が移動する方向によって、 カーソル 1 0 5を操作する方向が案内される。 また、 方向ガイ ド g 4 0が位置ガイ K G 2に到達した時から所定時間を、 カーソル 1 0
5の操作の成功判定の期間とすれば、 方向ガイ ド g 40により、 カーソル 1 05 の操作タイミングを案内することもできる。
さて、 以上のように本実施の形態では、 カーソル 1 05の操作がガイ ド (位置 ガイ G、 方向ガイ Kg、 経路ガイ ド r g) に適合している場合に、 ガイ ドによ る案内に応じて画像 (上記例では、 ダンスオブジェク ト 106及び背景 1 10 ) の表示が制御される。 この場合、 ガイ ドによる案内に適合してカーソル 1 05の 操作が行われているため、 カーソル 1 05の操作に応じて画像の表示が制御され ることになる。 つまり、 カーソル 1 05は操作物 1 50と連動しているため、 操 作物 1 50の操作に応じて画像の表示が制御される。 また、 ス トロボスコープに より間欠的に光が照射される操作物 1 50を撮像ュニッ ト 1 3により撮影して、 操作物 1 50の状態情報を求めている。 このため、 操作物 1 50の状態情報を求 めるために、 操作物 1 50に電源により駆動する回路を内蔵する必要がない。 さ らに、 この音楽ゲーム装置 1は、 楽曲を自動演奏する。
以上の結果、 プレイヤ 94が関与することなく楽曲を自動演奏しながらも、 簡 易な構成の操作物 1 50をプレイヤ 94が操作することにより、 楽曲とともに、 操作物 1 50の操作に追従した画像を楽しむことができる。
また、 楽曲に基づくタイミングでガイ ドが制御されるため、 プレイヤ 94が、 ガイ ドに従ってカーソル 1 05を操作すれば、 操作物 1 50の操作も楽曲に合つ たものとなる。 従って、 プレイヤ 94は、 楽曲に合った操作物 1 50の操作を楽 しむことができる。
ここで、 例えば、 高速プロセッサ 200は、 ノートナンパ 「55」 及び 「6 7」 に対応して、 背景 1 1 0を左にスクロールさせ、 また、 ダンスオブジェク ト 1 0 6を反時計回りに回転させるダンスアニメーション情報及びダンスアニメーショ ンテーブルを用意する。 また、 例えば、 高速プロセッサ 200は、 ノートナンパ 「 45」 及び 「 64」 に対応して、 背景 1 1 0を右にスクロールさせ、 また、 ダ ンスォブジェク ト 1 06を時計回りに回転させるダンスアニメーション情報及び ダンスアニメーショ ンテーブルを用意する。 また、 例えば、 高速プロセッサ 20 0は、 ノートナンパ 「 76」 及び 「77」 に対応して、 背景 1 1 0を下にスクロ ールさせ、 また、 ダンスオブジェク ト 1 06を反時計回りに回転させるダンスァ
ニメーション情報及びダンスアニメーションテーブルを用意する。 また、例えば、 高速プロセッサ 2 0 0は、 ノートナンパ 「6 5」 及ぴ 「 7 4」 に対応して、 背景 1 1 0を上にスク ロールさせ、 また、 ダンスオブジェク ト 1 0 6を時計回りに回 転させるダンスアニメーション情報及びダンスアニメーションテーブルを用意す る。 また、 例えば、 ノートナンパ 「5 3」 に対応して、 ダンスオブジェク ト 1 0 6を時計回りに大きく回転させるダンスアニメーション情報及びダンスアニメ一 シヨ ンテーブルを用意する。 また、 例えば、 ノートナンパ 「5 7」 に対応して、 ダンスオブジェク ト 1 0 6を反時計回りに大きく回転させるダンスアニメーショ ン情報及びダンスアニメーションテーブルを用意する。
なお、 このようなノートナンパ (図 2 0 ( a ) 〜図 2 0 ( c ) 参照) は、 ガイ ドの表示を制御するノートナンパであるため、 背景 1 1 0及ぴダンスォブジェク ト 1 0 6は、ガイ ドに応じて制御されるということになる。 さらに言い換えると、 背景 1 1 0及びダンスオブジェク ト 1 0 6は、 操作物 1 5 0の操作に応じて制御 されるということになる。
また、 本実施の形態では、 位置ガイ ド Gは、 カーソル 1 0 5の移動位置及び操 作タイミングを案内する。 そして、 高速プロセッサ 2 0 0は、 操作物 1 5 0によ るカーソル 1 0 5の操作が、 位置ガイ ド Gの案内に適合したときに、 位置ガイ ド Gが案内する移動位置の方向に対応して、 画像 (上記例では、 ダンスォブジェク ト 1 0 6及ぴ背景 1 1 0 ) の表示を制御する。
従って、 プレイヤ 9 4が、 操作物 1 5 0を操作して、 カーソル 1 0 5を、 位置 ガイ ド Gが案内する操作タイ ミ ングで、 位置ガイ ド Gが案内する移動位置に移動 させた場合に、 位置ガイ ド Gが案内する移動位置の方向に対応して、 画像の表示 が制御される。 その結果、 楽曲とともに、 操作物 1 5 0の操作に連動するカーソ ル 1 0 5の移動に追従した画像を楽しむことができる (図 1 2参照)。
さらに、 本実施の形態では、 経路ガイ ド r gは、 カーソル 1 0 5の移動経路、 移動方向、 及ぴ、 操作タイミングを案内する。 従って、 プレイヤ 9 4が、 操作物 1 5 0を操作して、 カーソル 1 0 5を、 経路ガイ ド r gが案内する操作タイミン グで、 経路ガイ ド r gが案内する移動方向に、 経路ガイ ド r gが案内する移動経 路に沿って移動させた場合に、 経路ガイ ド r gに応じて、 画像 (上記例では、 ダ
ンスオブジェク ト) の表示が制御される。 その結果、 楽曲とともに、 操作物 1 5 0の操作に連動するカーソル 1 0 5の移動に応じた画像を楽しむことができる (図 1 3参照)。
さらに、 本実施の形態によれば、 操作物 1 5 0の注目点の位置が、 位置ガイ ド Gが案内する期間内に、 位置ガイ ド Gが案内する領域内に存在する場合に、 操作 物 1 5 0に連動するカーソル 1 0 5の操作が、 位置ガイ ド Gの案内に適合してい ると判断される (図 2 4参照)。 また、 操作物 1 5 0の注目点の位置が、 経路ガイ ド r gが案内する期間内に、 経路ガイ ド r gが案内する複数の所定領域を、 経路 ガイ ド r gが案内する所定の順序で移動した場合に、 操作物 1 5 0に連動する力 一ソル 1 0 5の操作が、 経路ガイ ド r gの案内に適合していると判断される (図 2 5参照)。 以上のように、 簡易な処理で算出できる操作物 1 5 0の注目点の位置 により、 カーソル 1 0 5の操作の的確性を判断できる。
さらに、 本実施の形態では、 位置ガイ ド Gは、 スク リーン 9 1上の予め定めら れた複数の位置の各々に表示される。 そして、 高速プロセッサ 2 0 0は、 位置ガ イ ド Gの形態を、 楽曲にもとづくタイミングで変化させる (図 1 2の例では、 花 が開くアニメーション)。 従って、 プレイヤ 9 4は、 位置ガイ ド Gの形態の変化に より、 カーソル 1 0 5を移動すべき位置及ぴ方向を容易に認識できる。
さらに、 本実施の形態では、 方向ガイ ド g及ぴ経路ガイ ド r gは、 スク リーン 9 1上の第 1の予め定められた位置から第 2の予め定められた位置への移動が視 覚的に認識できる表示により表現される。 このよ うに、 位置ガイ ド Gに加えて、 方向ガイ ド gおよび経路ガイ ド r gによっても、 カーソル 1 0 5の操作を案内し ている。 従って、 プレイヤ 9 4は、 カーソル 1 0 5を移動すべき方向及ぴ経路を より明確に認識できる。 より具体的には次の通りである。
方向ガイ K g及ぴ経路ガイ ド r gは、 スク リーン 9 1上の第 1の予め定められ た位置を始点とし、 第 2の予め定められた位置を終点とする経路上に配置される 複数のオブジェク ト (図 1 2及び図 1 3の例では、 球の図形) の形態の変化によ り表現される。 この場合、 プレイヤ 9 4は、 複数のオブジェク トの形態の変化に より、 カーソル 1 0 5を移動すべき方向及ぴ経路を容易に認識できる。
また、 方向ガイ ド gは、 スク リーン 9 1上の第 1の予め定められた位置から第
2の予め定められた位置へのオブジェク ト (図 4 6の例では、 鳥の図形) の移動 により表現される。 この場合、 プレイヤ 9 4は、 オブジェク トの移動により、 力 一ソル 1 0 5を移動すべき方向及ぴ経路を容易に認識できる。
また、 方向ガイ ド gは、 スクリーン 9 1上の第 1の予め定められた位置を始点 とし、 第 2の予め定められた位置を終点とする経路の形態の変化により表現され る (図 4 4及ぴ図 4 5参照)。 この場合、 プレイヤ 9 4は、 経路の形態の変化によ り、 カーソル 1 0 5を移動すべき方向及ぴ経路を容易に認識できる。
さらに、 本実施の形態では、 高速プロセッサ 2 0 0は、 操作物 1 5 0の状態情 報として、 速さ情報、 移動方向情報、 移動距離情報、 速度べク トル情報、 加速度 情報、 移動軌跡情報、 面積情報、 若しくは、 位置情報、 のいずれか、 又は、 それ らの 2以上の組み合わせ、 を算出できる。 ごのように、 操作物 1 5 0によるカー ソル 1 0 5の操作が、 ガイ ド (位置ガイ K G、 方向ガイ ド§、 経路ガイ ド r g ) に適合しているか否かを判断する際の操作物 1 5 0の状態情報として、 様々な情 報を利用できるため、 ガイ ドの表現の自由度が大きくなり、 ひいては、 ゲーム内 容の設計の自由度も大きくなる。
さらに、 本実施の形態では、 反射シート' 1 5 5を取り付けた操作物 1 5 0に間 欠的に赤外光を照射して、 これを撮影することにより、 操作物 1 5 0の状態情報 を求めることができる。 このため、 操作物 1 5 0の状態情報を求めるために、 操 作物 1 5 0に電源により駆動する回路を内蔵する必要がない。 よって、 操作物 1 5 0の操作性及ぴ信頼性の向上を図ることができ、 また、 コス トの低減を図るこ とができる。
なお、 本発明は、 上記の実施の形態に限られるものではなく、 その要旨を逸脱 しない範囲で種々の態様において実施することが可能であり、 例えば、 以下のよ うな変形も可能である。
( 1 ) 実施の形態では、 操作物 1 5 0に追従して制御される画像 (追従画像) の例として、 ダンスオブジェク ト 1 0 6及ぴ背景 1 1 0を挙げた。 ただし、 本発 明は、 これに限定されず、 追従画像として任意のオブジェク トを選択できる。 ま た、 背景 1 1 0のスクロールにより、 ダンスオブジェク ト 1 0 6の移動を表現す るのではなく、 ダンスオブジェク ト 1 0 6 自体を上下左右に移動させることもで
きる。
( 2 ) 実施の形態では、 位置ガイ ド G及ぴ方向ガイ ド gの双方により、 カーソ ル 1 0 5の直線操作を案内したが、 いずれか一方により案内することもできる。 方向ガイ ド gのみによりカーソル 1 0 5の操作を案内する場合は、 静止画の位置 ガイ ド Gを、 方向ガイ ド gの始点と終点とに配置することが好ましい。 また、 位 置ガイ ド G及ぴ経路ガイ ド r gの双方により、 カーソル 1 0 5の旋回操作を案内 したが、 経路ガイ ド r gのみにより案内することもできる。 また、 ガイ ド (位置 ガイ ド G、 方向ガイ ド g、 経路ガイ ド r g ) を、 アニメーショ ンにより表現した が、 本発明は、 これに限定されない。 また、 ガイ ドの態様は、 上記したものに限 定されるものではない。
( 3 ) 実施の形態では、 操作物として、 スティック 1 5 2および反射ポール 1 5 1からなる操作物 1 5 0を揉用したが、 反射体を具備するのもであれば、 操作 物の形態はこれに限定されない。
( 4 ) 実施の形態では、 図 2 3 ( a ) 〜図 2 3 ( d ) に示すようにして、 操作 物 1 5 0の注目点の座標を算出したが、 所定の閾値 T hを超える最大輝度値を持 つピクセルの座標を (図 3 8のステップ S 8 3参照)、 スクリーン 9 1上の座標に 変換して、 これを注目点の座標とすることもできる。
( 5 ) 図 6の高速プロセッサ 2 0 0として、 任意の種類のプロセッサを使用で きるが、 本件出願人が既に特許出願している高速プロセッサを用いることが好ま しい。 この髙速プロセッサは、 例えば、 特開平 1 0— 3 0 7 7 9 0号公報おょぴ これに対応するアメ リカ特許第 6, 0 7 0 , 2 0 5号に詳細に開示されている。 以上、 本発明を実施例により詳細に説明したが、 当業者にとっては、 本発明が 本願中に説明した実施例に限定されるものではないということは明らかである。 本発明は、 特許請求の範囲の記載により定まる本発明の趣旨及ぴ範囲を逸脱する ことなく修正及び変更態様として実施することができる。従って、本願の記載は、 例示説明を目的とするものであり、 本発明に対して何ら制限的な意味を有するも のではない。