(57)【特許請求の範囲】
【請求項１】
各音の音高情報と発音タイミング情報とを備えた演奏パターンであって問題・課題となる所定の演奏パターンを、操作者に指定させるための指定手段と、
前記指定手段によって指定された演奏パターンの各音の音高情報と発音タイミング情報に従って、該演奏パターンを繰り返し発音または表示する手段と、
操作者の演奏操作を検出し、該演奏操作に応じて、各音の音高情報と発音タイミング情報とを備えたＭＩＤＩ情報のパターンを発生するＭＩＤＩ情報発生手段と、
前記ＭＩＤＩ情報発生手段が発生したＭＩＤＩ情報のパターンを入力する入力手段と、
前記指定手段によって指定された演奏パターンの各音の音高情報及び発音タイミング情報と前記入力手段によって入力されたＭＩＤＩ情報の各音の音高情報及び発音タイミング情報との比較を行うことにより、前記入力手段により入力された操作者の演奏操作によるＭＩＤＩ情報のパターンが、前記指定手段により指定された演奏パターンに一致しているか否かを判定するパターン判定手段であって、前記指定手段によって指定された演奏パターンが繰り返し発音または表示される毎に前記パターンの一致の判定を行なうものと、
ゲームの対象物をディスプレイに表示する表示手段と、
前記演奏パターンの繰り返しの度に出力される前記パターン判定手段による判定結果に基づき、操作者の演奏操作に応じて、前記ゲームの対象物である操作者のキャラクタを目標値に前進させる手段と
を備えたことを特徴とするＭＩＤＩ情報を用いたゲーム装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、各種のＭＩＤＩメッセージを用いたゲーム装置に関する。
【０００２】
【従来の技術】
従来より、問題音として種々の音高の楽音をランダムに発生させ、操作者がその問題音に対応する鍵盤の鍵を押鍵すると、問題音の音高と押鍵された鍵の音高とを比較してその一致／不一致を判別し、その判別結果（正解／不正解）を報知することにより、鍵盤に慣れる練習や聴音の訓練をする音楽ゲーム装置（教育装置ともいえる）があった。例えば、実公昭６３−５０６７４号では、ランダムな音高の問題音が音符によって表示されあるいは発音され、操作者がその問題音の音高に対応すると思われる鍵を押鍵すると、押鍵までの時間に応じて得点が表示されるような音楽ゲーム装置が開示されている。
【０００３】
【発明が解決しようとする課題】
上述の従来の音楽ゲーム装置では、電子楽器の付加機能としてゲーム機能を備えたのみであり、本格的なゲームを行なうものではなかった。また、教育装置としても、鍵操作の練習や聴音訓練の教育的効果はあるが、１曲分の曲あるいはある程度長いフレーズの押鍵練習などを行なうことはできなかった。
【０００４】
この発明は、電子楽器などで用いられているＭＩＤＩ（Musical Instrument Digital Interface）情報を用いて本格的なゲームを実現するとともに、１曲あるいは長いフレーズの鍵盤練習にもなるＭＩＤＩ情報を用いたゲーム装置を提供することを目的とする。
【０００８】
【課題を解決するための手段】
請求項１に係るＭＩＤＩ情報を用いたゲーム装置は、各音の音高情報と発音タイミング情報とを備えた演奏パターンであって問題・課題となる所定の演奏パターンを、操作者に指定させるための指定手段と、前記指定手段によって指定された演奏パターンの各音の音高情報と発音タイミング情報に従って、該演奏パターンを繰り返し発音または表示する手段と、操作者の演奏操作を検出し、該演奏操作に応じて、各音の音高情報と発音タイミング情報とを備えたＭＩＤＩ情報のパターンを発生するＭＩＤＩ情報発生手段と、前記ＭＩＤＩ情報発生手段が発生したＭＩＤＩ情報のパターンを入力する入力手段と、前記指定手段によって指定された演奏パターンの各音の音高情報及び発音タイミング情報と前記入力手段によって入力されたＭＩＤＩ情報の各音の音高情報及び発音タイミング情報との比較を行うことにより、前記入力手段により入力された操作者の演奏操作によるＭＩＤＩ情報のパターンが、前記指定手段により指定された演奏パターンに一致しているか否かを判定するパターン判定手段であって、前記指定手段によって指定された演奏パターンが繰り返し発音または表示される毎に前記パターンの一致の判定を行なうものと、ゲームの対象物をディスプレイに表示する表示手段と、前記演奏パターンの繰り返しの度に出力される前記パターン判定手段による判定結果に基づき、操作者の演奏操作に応じて、前記ゲームの対象物である操作者のキャラクタを目標値に前進させる手段とを備えたことを特徴とする。請求項１は、後述するＭＩＤＩ競馬ゲームに対応するものである。
【０００９】
【発明の実施の形態】
以下、図面を用いてこの発明の実施の形態を説明する。
【００１０】
図１は、この発明に係るゲーム装置の全体構成を示すブロック図である。このゲーム装置は、中央処理装置（ＣＰＵ）１０１、ランダムアクセスメモリ（ＲＡＭ）１０２、リードオンメモリ（ＲＯＭ）１０３、ハードディスク装置（ＨＤＤ）やＣＤ−ＲＯＭ装置などの記憶装置１０４、音源１０５、ディスプレイ１０６、キーボードおよびマウス１０７、ＭＩＤＩインタフェース（Ｉ／Ｆ）１０８、コントローラ１０９、通信インタフェース１１０、およびバスライン１１１を備えている。
【００１１】
ＣＰＵ１０１は、このゲーム装置の全体の動作を制御するＣＰＵである。ＲＡＭ１０２は、ＣＰＵ１０１のワーク領域などに使用するメモリである。ＲＯＭ１０３は、電源投入時のスタートアップルーチンや低レベルＩ／Ｏ処理を司るＢＩＯＳ（Basic Input/Output System）などを格納する。ＨＤＤ・ＣＤ−ＲＯＭ１０４は、各種の情報を記憶する記憶装置である。後述する各種ゲームを実現するプログラム（図２、図４、図８、図１１）は、あらかじめＣＤ−ＲＯＭからＨＤＤにインストールされている。これらのプログラムは、操作者の所定の起動操作によってＲＡＭ１０２上にロードされ、ＣＰＵ１０１により実行される。なお、直接、ＣＤ−ＲＯＭ上のプログラムをＲＡＭ１０２にロードして実行するようにしてもよい。音源１０５は、ＣＰＵ１０１からの指示に基づいて楽音信号を発生する。音源１０５から出力された楽音信号は、不図示のサウンドシステムにより放音される。
【００１２】
ディスプレイ１０６は、各種の情報を表示するための表示装置であり、後述するゲームの各画面を表示する。キーボードおよびマウス１０７は、通常のパーソナルコンピュータで使用されるタイピングキーボードおよびマウスなどの入力装置である。なお、キーボードのみに着目するときはキーボード１０７と呼び、マウスのみに着目するときはマウス１０７と呼ぶものとする。ＭＩＤＩインタフェース１０８は、鍵盤などの各種のＭＩＤＩ機器を接続するためのインタフェースである。コントローラ１０９は、ゲーム用の入力装置であり、例えばジョイスティックやゲームパッドなどである。通信インタフェース１１０は、外部のネットワークに接続するためのインタフェースであり、該ネットワークから各種のデータやプログラムをダウンロードしてくることができる。
【００１３】
なお、図１の装置は、汎用のパーソナルコンピュータに、ＣＤ−ＲＯＭ装置、音源、通信Ｉ／Ｆ、コントローラ、およびＭＩＤＩＩ／Ｆなどを装着し、必要なソフトウエアをインストールすることで実現したものである。
【００１４】
このゲーム装置では、基本的に、ＲＡＭ１０２、ＲＯＭ１０３、およびＨＤＤ・ＣＤ−ＲＯＭ１０４などの記憶装置に所定のいくつかのパターンを備えておく。このパターンとは、ＭＩＤＩ情報を出力するパターンであり、例えば下記のようなものである。
▲１▼所定周期で所定音を繰り返し出力するパターン。所定音とは、例えばピッピッというメトロノーム音や所定音高の短い発音時間の音などである。この所定音をタップ音と呼ぶ。タップ音の発音周期を区々に変更して複数のパターンを用意する。
▲２▼所定のリズムをタップ音で出力するパターン。例えば、「タン・タ・タ・タン・タ」というようなリズムである。ここで、「タン」は４分音符、「タ」は８分音符とする。リズムを区々に変更して複数のパターンを用意する。
▲３▼いくつかの音高の音を所定のタイミングで出力するような１フレーズ分のパターン。例えば、題名「ちょうちょ」の曲の最初の２小節分のフレーズなどである。種々のフレーズの複数のパターンを用意する。
▲４▼１曲の全フレーズを出力するようなパターン。例えば、題名「ちょうちょ」の曲の全フレーズなどである。種々の曲の複数のパターンを用意する。
【００１５】
このゲーム装置では、このような複数のパターンからランダムに１つのパターンを選択し、操作者に与える問題としてそのパターンを複数の手段で操作者に認識させる。具体的には、そのパターンに応じたＭＩＤＩメッセージを出力し、そのＭＩＤＩメッセージに応じてディスプレイに表示したり発音したりして、操作者に問題として視覚的あるいは聴覚的にパターンを認識させる。パターンは多種多様なものを用いてよく、出力形式も任意である。パターンに応じてそのゲームの難易度が定まることになる。一方、ゲームの操作者は、このように視覚的あるいは聴覚的に出力されるパターンに沿って、各種の入力装置を操作してＭＩＤＩ情報を発生する。ゲーム装置は、問題として出力したパターンと操作者が入力したパターンとを比較し、その一致度を判定して、例えば一致度に応じた得点を表示したりして、ゲームを実現する。
【００１６】
図２は、図１のゲーム装置で各種のゲームを行なう際の基本的な処理手順を示す。まずステップ２０１で、ゲームの問題となる１つのパターンをランダムに抽出する。ステップ２０２で、抽出したパターンを出力する。この出力処理では、具体的には、抽出パターンに沿って発生するＭＩＤＩ情報に応じて、楽音を出力したり表示画面上にＭＩＤＩ情報に応じた表示を行なう。次に、ステップ２０３で、ゲームの操作者からの入力を待つ。入力に用いる入力装置は、ゲームの種類によって、キーボードおよびマウス１０７、ＭＩＤＩインタフェース１０８に接続された鍵盤などのＭＩＤＩ機器、およびコントローラ１０９などから適当なものを選択すればよい。ステップ２０３で入力があったときは、ステップ２０５で、操作者が入力したＭＩＤＩ情報のパターンと問題である抽出パターンとを比較しパターン判定する。パターンが適合したときは、ステップ２０６で適合処理を行ない、ステップ２０３に戻る。適合処理とは、得点のカウントアップやゲームのレベルのアップなどの処理である。ステップ２０３で操作者からの入力が所定時間無かったとき、あるいはステップ２０５で操作者が入力したＭＩＤＩ情報のパターンと問題である抽出パターンとが適合していなかったときは、ステップ２０４の不適合処理を行ない、ステップ２０３に戻る。不適合処理とは、得点をダウンしたりゲームのレベルをダウンする処理などである。
【００１７】
次に、このゲーム装置において実行する具体的なゲームの例およびその処理ルーチンについて説明する。
【００１８】
図３は、図１のゲーム装置で実行する横スクロールゲームの表示画面を示す。図１の装置で、操作者が所定の操作を行ない、横スクロールゲームの開始を指示したとする。このとき、図３のような表示画面が、ディスプレイ１０６に表示される。図３において、表示画面の左上にはゲームタイトル３０７が表示されている。表示画面の下側には、ゲームの開始を指示するためのスタートボタン３０３、ゲームの中断中止を指示するためのストップボタン３０４、および遊び方などのヘルプ情報を表示するためのヘルプボタン３０５が表示されている。画面中央部には、ゲーム中にスクロールする背景３０１が表示され、その背景３０１中には、走る人間を模したランナー３１１が表示される。背景３０１には、街の景観や山の風景などを表示するようにしてもよい。
【００１９】
ゲームの操作者がスタートボタン３０３をマウスでクリックする前は、背景３０１（固定した１つの背景がスクロールせずに表示される）の下側のライン３０２（以下、地面３０２と呼ぶ）の中央部付近にランナー３１１が直立した状態で表示される。操作者がスタートボタン３０３をクリックすると、ランダムに抽出された問題のパターンの周期的なテンポに合わせてタップ音の発音が「ピッピッピッ…」というように開始され、幾つかのプリカウント発音の後、背景３０１が右から左へと流れるようにスクロールを開始する。画面中央部に表示されたランナー３０１は、操作者の操作がなければ背景３０１のスクロールに合わせて右から左へと移動する。
【００２０】
前記問題のパターンのタップ音のテンポ（以下、タップテンポと呼ぶ）に合わせて、操作者がキーボード１０７のスペースバーを押下すると、表示されているランナー３１１を走らせることができる。操作者のスペースバーの押下がタップテンポにほぼあった状態であれば、ランナー３１１は地面３０２の中央部付近で走るアニメーションで表示される。この間も背景３０１は右から左へとスクロールしているので、ランナー３１１は、画面中央部で背景の移動速度に一致した速度で走っている状態である。操作者のスペースバーの押下のテンポがタップテンポより遅れると、ランナー３１１の走る速度が背景３０１のスクロールの速度より遅くなり、ランナー３１１は、地面３０２上で左側に流れていく。逆に操作者のスペースバーの押下のテンポがタップテンポより速いと、ランナー３１１の走る速度が背景３０１のスクロールの速度より速くなり、ランナー３１１は、地面３０２上で右側に流れていく。このようにして操作者は、タップテンポを聞きながらスペースバーを押下することで、走るアニメーション表示されているランナー３１１の速度を調整し、ランナー３１１を地面３０２上で任意に左右に移動させることができる。
【００２１】
一方、地面３０２上で右側から障害物３２１がスクロールしてくる。障害物３２１は、図３に示したような丸い石状のものでもよいし、溝などを模したものでもよい。障害物３２１の大きさや形状は任意である。障害物３２１が右側からスクロールしてきたとき、操作者は、マウス１０７のマウスボタンをクリックすることによりランナー３１１をジャンプさせて障害物３２１を回避する。図３ではジャンプしたアニメーション３１２〜３１４を示してある。ランナー３１１をジャンプさせて障害物３２１を回避したときはゲームは継続する。ランナー３１１をうまくジャンプさせることができず障害物３２１に衝突した場合は、そこでゲーム終了となる。
【００２２】
以上のようにして、タップテンポに沿ってスペースバーを押下することによりランナー３１１の位置を左右に移動させ、適宜現れてくる障害物３２１をマウスボタンの操作でジャンプさせながら、ランナー３１１を走らせる。走行距離は、図３の表示画面の右上の走行距離３０８の位置に表示する。ゲーム開始時の走行距離３０８の初期値は０である。３０６はタップテンポの速さを示すテンポの表示である。なお、ランナー３１１をうまく走らせつつ所定時間が経過すると、タップ音のパターンが変更されるようになっている。タップテンポを速めてゲームの困難性を高めるようにしてもよい。
【００２３】
図４は、上述した横スクロールゲームの処理手順を示す。この処理手順は、基本的に図２の処理手順と同様のものであるが、横スクロールゲームに特化して処理の流れを詳細化してある。図１の装置において、操作者が所定の処理により横スクロールゲームの実行を指示したとき、まず不図示の処理ルーチンにより図３で説明したような初期画面が表示される。操作者が図３のスタートボタン３０３をマウス１０７でクリックすると、図４の処理が開始する。
【００２４】
まずステップ４０１で、タップ音のパターンをランダムに抽出する。具体的には、タップ音の発音の周期であるタップテンポを決定するということである。次にステップ４０２で、そのタップテンポでタップ音を出力する。具体的には、ＭＩＤＩメッセージを音源１０５に送出してタップ音を発音する。次にステップ４０３で、操作者のスペースバーの入力を待つ。スペースバーの入力があったときは、ステップ４０４で、タップ音のパターンと操作者のスペースバーの入力パターンとを比較する。具体的には、タップ音の発音タイミングと操作者のスペースバーの入力タイミングとを比較して、両者が所定の許容範囲で一致しているか否か、一致していないときはどの程度ずれているか、またスペースバーの入力タイミングがタップ音の発音タイミングより早いのか遅いのか、などを判定するものである。
【００２５】
ステップ４０４のパターン判定でタップ音の発音タイミングと操作者のスペースバーの入力タイミングとが所定の許容範囲で一致していた場合は、ステップ４０５で適合処理を行なった後、点線４１０に示すように、ステップ４０２に戻る。ステップ４０５の適合処理は、図３の地面３０２上のランナー３１１をアニメーション表示しつつ、画面上の位置を止めて表示する処理である。ステップ４０４のパターン判定でタップ音の発音タイミングと操作者のスペースバーの入力タイミングとが所定の許容範囲外にずれていた場合は、ステップ４０８で、タップテンポに比較して操作者のスペースバーの入力のテンポが上回っているか下回っているかを判別する。
【００２６】
ステップ４０８でタップテンポより速いテンポで操作者がスペースバーを操作していた場合は、ステップ４０９で不適合処理２を行ない、タップテンポより遅いテンポで操作者がスペースバーを操作していた場合は、ステップ４０６で不適合処理１を行なう。ステップ４０９の不適合処理２はランナー３１１を画面上で右側に進める処理、ステップ４０６の不適合処理１はランナー３１１を画面上で左側に進める処理である。ステップ４０６，４０９の後、ステップ４０７で所定時間が経過したか否かを判別する。所定の時間が経過していたら、ステップ４０１に戻って、タップ音のパターンを変更すべく新たなパターンをランダムに抽出してゲームを続行する。ステップ４０７で所定の時間が経過していないときは、ステップ４０３に戻る。
【００２７】
なお、図４では障害物が現れる処理やランナー３１１をジャンプさせる処理については省略した。また、操作者に出される問題であるパターンは単純なタップ音のパターンとしたが、さらに複雑なパターンを問題としてもよい。例えば、所定のリズムやフレーズを発音させ、操作者がそのリズムやフレーズに対応するようにＭＩＤＩインターフェース１０８に接続された鍵盤などを操作し、操作者が早めに演奏したときはランナーを右に進め、遅めに演奏したときは左に進める、というようにしてもよい。
【００２８】
図５は、別のゲームである潜水艦ゲームの表示画面の例を示す。図１の装置で、操作者が所定の操作を行ない、潜水艦ゲームの開始を指示したとする。このとき、図５のような表示画面が、ディスプレイ１０６に表示される。図５において、表示画面５０１には、操作者が潜水艦の潜望鏡を覗いたときに見える光景が表示されている。空側５０５には空や雲や陸地が表示され、海側５０６には波が表示されている。空側５０５と海側５０６との境界線が水平線５０２である。十字型に置かれた上下の矢印と左右の矢印およびその全体を囲む円からなる図形５０３は、発射する魚雷の照準を合わせるためのサイト（照準器）である。
【００２９】
潜水艦ゲームが開始されると、水平線５０２上に右側から船舶５０４が現れて左側に移動していく。船舶５０４が現れると、その船舶５０４の移動速度に応じたテンポのタップ音が発音開始する。操作者は、現れた船舶５０４にサイト５０３を合わせて魚雷を発射する。サイト５０３の移動の仕方は、船舶５０４が現れたときに発音されるタップ音のタップテンポに沿って、キーボード１０７のスペースバーを操作することによる。すなわち、タップテンポにほぼ合わせてスペースバーを押下すると、サイト５０３は、船舶５０４と同じ速度で水平線５０２上を右から左へ移動する。操作者のスペースバーの押下のテンポがタップテンポより遅れると、サイト５０３は、船舶５０４の速度より遅い速度で水平線５０２上を右から左へ移動する。操作者のスペースバーの押下のテンポがタップテンポより速いと、サイト５０３は、船舶５０４の速度より速い速度で水平線５０２上を右から左へ移動する。このようにして操作者は、タップテンポを聞きながらスペースバーを押下することで、サイト５０３の速度を調整し、サイト５０３を水平線５０２上で任意に左右に移動させることができる。
【００３０】
魚雷の発射は、マウス１０７のマウスボタンのクリックによる。上記の方法により船舶５０４にサイト５０３を合わせながら、マウスボタンをクリックすると、魚雷が発射され船舶５０４に命中することになる。５０７は発射した魚雷の航跡を示す。初期値として操作者に与えられるのは、魚雷２０発と９０秒の時間である。魚雷の残り数は５１１のように、残り時間は５１２のように、それぞれ表示される。船舶５０４にサイト５０３を正確に合わせて魚雷を発射したとき（すなわち、タップテンポに正確に合わせてスペースバーを押下したとき）、船舶５０４は大破される。船舶５０４にサイト５０３を合わせるのが少しずれたとき（すなわち、タップテンポに大体合わせてスペースバーを押下したが少しタイミングがずれていたとき）、船舶５０４は撃沈される。５１３は撃沈された船舶の数、５１４は大破された船舶の数を表示する領域である。５１５は得点を表示する領域である。
【００３１】
潜水艦ゲームの処理手順は、図４に示したものと同様である。ただし、ステップ４０５の適合処理では図５のサイト５０３を船舶５０４の速度と同じ速度で右から左に進め、ステップ４０６の不適合処理１では船舶５０４の速度より遅い速度で右から左に進め、ステップ４０９の不適合処理２では船舶５０４の速度より速い速度で右から左に進める。また、ステップ４０５の適合処理を行なったときでも、船舶５０４が左側に消えたときは次の船舶５０４を右から出現させるが、この場合タップテンポは変更するため、ステップ４０５から４０１に戻る場合がある。
【００３２】
なお、操作者に出される問題であるパターンは単純なタップ音のパターンとしたが、さらに複雑なパターンを問題としてもよい。例えば、所定のリズムやフレーズを発音させ、操作者がそのリズムやフレーズに対応するようにＭＩＤＩインターフェース１０８に接続された鍵盤などを操作し、操作者が早めに演奏したときはサイト５０３の速度を船舶５０４より早めに進め、遅めに演奏したときは遅めに進める、というようにしてもよい。
【００３３】
図６は、別のゲームである鍵盤落ちゲームの表示画面の例を示す。図１の装置で、操作者が所定の操作を行ない、鍵盤落ちゲームの開始を指示したとする。このとき、図６のような表示画面６０１がディスプレイ１０６に表示される。表示画面６０１の上部には鍵盤表示６０２が表示される。ゲーム開始と同時に、ランダムに、この鍵盤表示６０２からカタカナ音名キャラクタが、例えば矢印６３１のように、落ちてくる。一度に画面６０１上に落ちてくる音名キャラクタは１つとする。鍵盤表示６０２から一つの音名キャラクタが落ちるとき、その音に対応する鍵盤表示６０２の鍵の色が変色する。
【００３４】
鍵盤表示６０２と画面下部６２５との間の空間は、所定幅でエリア１〜４に４分割されている。６２１がエリア１、６２２がエリア２、６２３がエリア３、６２４がエリア４の領域である。６１１〜６１５は各エリアの分割線である。これらの分割線６１１〜６１５は実際には画面６０１上で不可視である。なお、分割線６１１の上側には鍵盤表示６０２までの間に若干の余白があり、分割線６１５の下側には画面下部６２５までの間に若干の余白があるが、これらはそれぞれエリア１とエリア４に含まれるものとする。
【００３５】
音名キャラクタが鍵盤表示６０２から落ち始めるときは、例えば６３２に示すような長方形の背面図で落ち始め、エリア１内で、落ちていく方向の軸を中心に矢印６３３のように回転して文字（ド、レ、ミなど）６３４を表示する。落ちてくる音名キャラクタは、４分割されたエリアを不連続で明滅して落ちてくるものとする。すなわち、各エリアに表示されるとき「明」で表示し、上のエリアから下のエリアに移動するときに「滅」、すなわち消えるものとする。そして、落ち始めるときを含め、落ちてくる音名キャラクタがエリアを変えるごとに、対応する音高の音を発音する。落ちてくる音名キャラクタは、各エリアに所定時間（例えば１秒程度）停止する。次のエリアには所定時間（例えば０．３秒程度）のインターバルで移る。落ちてきたキャラクタは、画面下部６２５に衝突すると、６３５のように衝突した様子を表示した後、消滅する。消滅するときは消滅音を発音する。
【００３６】
操作者は、落ちてくる音名キャラクタが画面６０１内にあるうちに、その音高の音をキーで押さえる。この入力は、ＭＩＤＩインターフェース１０８に接続された鍵盤などを用いて行なってもよいし、キーボード１０７によって入力してもよい。落ちてきたキャラクタに対応する音名の入力がなされたときは、操作者が正解を入力したということだから、得点表示６０４の得点を何点か増加させる。操作者が正解を入力したら、その音名キャラクタは消滅し、次の音名キャラクタが鍵盤表示６０２から落ちてくる。いくつかの音名キャラクタについて正解したら、ゲームのレベルが順次上がる。６０３はゲームのレベルを示す表示である。
【００３７】
ゲームの進行とともに、表示画面６０１の下部６２５がせり上がる形で画面全体が上方へスクロールし、始めに鍵盤表示６０２が見えなくなる。この場合、見えなくなった鍵盤から音名キャラクタが落ちてくるので、ゲームの難易度が上がる。さらにゲームが進行すると、画面下部６２５がさらにせり上がり一番下のエリア４から順にエリアが狭くなってくる。図７は、画面下部６２５がせり上がりエリア４の中程付近まで消えた状態を示す。この場合、鍵盤が表示されていない上にエリアも狭くなるので、７０１〜７０５のように音名キャラクタが落ちる時間も短くなり、さらにゲームの難易度が高い。
【００３８】
図８は、上述した鍵盤落ちゲームの処理ルーチンを示す。まずステップ８０１で、問題となるパターンをランダムに抽出する。このパターンは、図６および図７で説明したように落ちてくる音名キャラクタのパターンである。次にステップ８０２で、ステップ８０１で抽出した音名の音に対応するＭＩＤＩメッセージを出力し、その音名の音を音源１０５で発音するとともに、鍵盤表示６０２から落ちる表示とエリア１における表示を行なう。
【００３９】
次にステップ８０３で、操作者の入力を待つ。これは、ＭＩＤＩインターフェース１０８に接続された鍵盤あるいはキーボード１０７の入力を検出するものである。入力があったときは、ステップ８０４でパターン判定を行なう。パターン判定では、問題として出された画面上を落ちていく音名キャラクタと操作者により入力された音名とを比較し、一致していたときはステップ８０５に進む。一致していなかったときは、ステップ８０３に戻って操作者の再度の入力を待つ。ステップ８０５はゲームが進んで難易度が高くなったときの処理であり、一つの音名キャラクタが画面上に存在する程度の難易度の場合は、ステップ８０５はスキップしてステップ８０６に進むものとする。ステップ８０６では適合処理を行なう。この適合処理は、操作者の入力が正解だったときの処理であり、その問題の音名キャラクタを消滅させ、得点表示６０４を増やし、必要に応じてレベル６０３をアップするような処理である。適合処理の後は、ステップ８０１に戻って次の音名キャラクタを発生させ、ゲームを続行する。
【００４０】
ステップ８０４で落ちてきた音名キャラクタの音名と操作者が入力した音名とが異なる場合は、ステップ８０３に戻って、このエリア（いまはエリア１に音名キャラクタが表示されている状態である）における操作者の再度の入力を待つ。ステップ８０３で画面上の音名キャラクタが一つのエリア内にある間に操作者の入力が無かったときは、ステップ８０７で、１エリア内の表示を行なう所定時間が経過したかどうか判別する。経過していたときは、ステップ８０８で当該落ちてきた音名キャラクタが全エリア終了したか否か（すなわち、落ちてきた音名キャラクタがエリア１〜４を通過したか否か）判別する。いまはエリア１に音名キャラクタがあり、エリア１に表示する時間が経過したところだから、ステップ８０８からステップ８０９に進む。
【００４１】
ステップ８０９では、音名キャラクタを表示するエリアを切り替えるため、別手段による抽出パターンの出力を行なう。いまは音名キャラクタをエリア１からエリア２へ移動するため、その音名の音を音源１０５で発音するとともに、エリア２における表示を行なう。次に、ステップ８０３に戻って、エリア２における操作者の入力を待つ。なお、ステップ８０７で１エリア内の時間が経過していなかったときはステップ８０３に戻る。
【００４２】
エリア２からエリア３への移行、エリア３からエリア４への移行の処理も上記と同様である。エリア４に音名キャラクタが表示されている状態で、ステップ８０３の入力がなかったときは、ステップ８０７を経て、ステップ８０８に至る。このとき音名キャラクタは最後のエリア４に至っているので、ステップ８０８からステップ８１０に進む。ステップ８１０では、終了条件が満たされたか否か、すなわち操作者によりゲーム終了が指示されたか否か判別する。ゲーム終了が指示されていたときはゲーム終了とし、そうでないときは、ステップ８１１で全エリア終了処理（当該落ちてきた音名キャラクタを画面下部６２５に衝突させて消滅させ消滅音を発生する処理など）を行ない、ステップ８０１に戻って次の音名キャラクタを発生させ、ゲームを続行する。
【００４３】
以上のようにして落ちてくる音名キャラクタの幾つかを正解すると、ゲームのレベルが上がる。ゲームのレベルが上がると、上述したように画面下部がせり上がって難易度が上がるが、さらに難易度を上げるために、落ちてくる音名キャラクタを所定のフレーズのパターンとしてもよい。例えば、「ちょうちょ」の始めのフレーズである「ソミミファレレ」のパターンをエリア１に落とし、操作者に該パターンを入力させるようにしてもよい。この場合、図８の処理では、ステップ８０４のパターン判定で音名１つずつの比較を行ない、ステップ８０５でパターン全体の比較を行なう。すなわち、上記の例では、始めに「ソミミファレレ」のうちの第１番目の音名「ソ」についてステップ８０４で操作者が入力したか判別し、入力していたら、ステップ８０５で「ソミミファレレ」の全体について操作者が入力したか否か判別する。いまは第１番目の音名「ソ」を入力したのみであるので、ステップ８０５からステップ８０３に戻って次の入力を待つ。これを「ソミミファレレ」の各音名について繰り返し、最後の「レ」のとき、ステップ８０５で全パターンについて入力されたと判別し、ステップ８０６に進むようにする。
【００４４】
図９および図１０は、別のゲームであるＭＩＤＩ競馬ゲームの表示画面の例を示す。図１の装置で、操作者が所定の操作を行ない、ＭＩＤＩ競馬ゲームの開始を指示したとする。このとき、図９のような出走前ベティング画面９０１がディスプレイ１０６に表示される。出走前ベティング画面９０１は、出走馬表示ウインドウ９０２、演奏音確認ウインドウ９０３、およびガイダンスウインドウ９０４からなる。
【００４５】
出走馬表示ウインドウ９０２には、出走する馬の一覧、各馬のオッズ、各馬を走らせるために操作者に要求される課題である指使い、および各馬の下馬評が表示される。操作者は、出走馬表示ウインドウ９０２の出走馬一覧から１頭の馬をマウス１０７でクリックすることにより選択する。なお、出走馬中には操作者が選択できないＣＰＵ馬がある。図９では、「シンセザン」がＣＰＵ馬である。
【００４６】
演奏音確認ウインドウ９０３には、操作者が選択した馬の名前が表示され、さらにその馬を走らせるための課題である指使いを色で、演奏順序を数字で表示し、操作者にその通りに鍵盤（ＭＩＤＩインターフェース１０８に接続されている鍵盤）を押さえさせて確認させる。確認が終わると自動的に出走モードに移行し、画面は図１０のように変わる。ガイダンスウインドウ９０４は、各種のガイダンスメッセージを表示するためのウインドウである。
【００４７】
図１０は、出走モードにおける出走後レース実況画面１００１の例である。出走後レース実況画面１００１は、現在馬が走っている区域を表示するトラックウインドウ１００２、出走馬の馬番とオッズを表示する出走馬ウインドウ１００３、現在の順位を表示する順位表示ウインドウ１００４、および各馬が走っている様子をアニメーション表示する実況ウインドウ１００５からなる。出走モードでは、操作者は、演奏音確認ウインドウ９０３で指定された指使いで鍵盤演奏を行なうことにより、選択した馬を走らせることができる。特に、指定されたパターンと一致する演奏を操作者が行なうと、操作者の馬が進む。パターンがずれて入力された場合は、馬は進まない。例えば、図９の演奏音確認ウインドウ９０３では、Ｃ３／Ｅ３／Ｇ３が指定されているので、この順に所定のインターバルで鍵盤演奏を行なうことにより馬を進めることができる。すべての馬がゴールするとレースが終了になり、順位の表示などが行なわれる。
【００４８】
図１１は、上述したＭＩＤＩ競馬ゲームの処理ルーチンを示す。まずステップ１１０１で、図９のように遊び方を表示し、操作者にキャラクター（出走馬）を選択させる。また、課題（問題）のパターンを表示し、指使いなどの表示も行なう。出走モードに移行すると、ステップ１１０２でゲームスタートする。なお、ステップ１１０２は処理の流れの上の単なるノードを示すものであり、特に何かの処理を行なうものではない。
【００４９】
次に、ステップ１１０３で、操作者以外の出走馬を目標値に任意に前進させる。また、ステップ１１０３と並行して、別タスクで、ステップ１１０４〜１１０６の処理を行なう。ステップ１１０４では、ＭＩＤＩインターフェース１０８に接続された鍵盤（なお、鍵盤以外のＭＩＤＩ入力機器を用いてもよい）からの入力を検出する。次に、ステップ１１０５で、操作者による入力パターンとステップ１１０１で指定されたパターン（図９の演奏音確認ウインドウ９０３で指定されたもの）とが一致しているか否か判別する。例えば、指定されたのが図９の演奏音確認ウインドウ９０３のようにＣ３／Ｅ３／Ｇ３であったときは、この３音を所定のインターバルで順に演奏することが基準のパターンであるので、演奏者の入力がこのパターンに合っているかを、音名の比較だけでなく各音間のインターバルの比較も行なって、判別するものである。ステップ１１０４で操作者からの入力がないとき、あるいはステップ１１０５でパターンが一致していないときは、ステップ１１０２に戻る。ステップ１１０５でパターンが一致していたら、ステップ１１０６で操作者の馬を目標値に前進させる。
【００５０】
ステップ１１０３，１１０６の後、ステップ１１０７で、いずれかの馬がゴールに至ったか否か判別する。どの馬もゴールしていないときは、ステップ１１０２に戻る。いずれかの馬がゴールしていたときは、ステップ１１０８で、全出走馬がゴールしたか（目標値に至ったか）否かを判別する。全出走馬がゴールしていなかったら、ステップ１１０２に戻る。全出走馬がゴールしていたら、ステップ１１０９で、レース終了処理を行ない、順位の表示などを行なう。
【００５１】
なお、このＭＩＤＩ競馬ゲームでは、操作者が入力したパターンに応じて音源１０５から発音するようにしているが、発音は行なわないようにしてもよい。
【００５２】
上記発明の実施の形態では、ゲームの課題・問題として出力するパターンは、所定の音高の音を所定のタイミングで発音するようなもの（すなわち、音高情報と発音タイミング情報からなるパターン）であったが、他にＭＩＤＩの押鍵情報に含まれるチャンネル情報や強弱情報（ベロシティ）などをパターンに含ませるようにしてもよい。
【００５３】
【発明の効果】
以上説明したように、この発明によれば、ＭＩＤＩ情報を利用してゲームを実現することにより、問題として提示されたパターンに沿って演奏できるか否かでゲームの正否が決まることになる。したがって、ゲームをうまくクリアしようとすることで、例えば、所定のテンポやリズムの刻み方の練習、所定のフレームの演奏練習、１曲分の演奏練習など、種々の音楽教育的な効果がある。また、通常のゲームでは、ゲームパッドなどのコントローラを用いるがスイッチの数はそれほど多くないので、操作者が制御できる量の数はそれほど多くはない。これに対し、この発明ではＭＩＤＩ情報を用いているので、操作者が制御できる量であるＭＩＤＩメッセージで入力できるパラメータを、すべてゲームの入力とすることができ、多種多様なゲームを実現できる。
【図面の簡単な説明】
【図１】この発明に係るゲーム装置の全体構成を示すブロック図
【図２】各種のゲームを行なう際の基本的な処理手順を示すフローチャート図
【図３】横スクロールゲームの表示画面例を示す図
【図４】横スクロールゲームの処理手順を示すフローチャート図
【図５】潜水艦ゲームの表示画面例を示す図
【図６】鍵盤落ちゲームの表示画面例（その１）を示す図
【図７】鍵盤落ちゲームの表示画面例（その２）を示す図
【図８】鍵盤落ちゲームの処理手順を示すフローチャート図
【図９】ＭＩＤＩ競馬ゲームの表示画面例（その１）を示す図
【図１０】ＭＩＤＩ競馬ゲームの表示画面例（その２）を示す図
【図１１】ＭＩＤＩ競馬ゲームの処理手順を示すフローチャート図
【符号の説明】
１０１…中央処理装置（ＣＰＵ）、１０２…ランダムアクセスメモリ（ＲＡＭ）、１０３…リードオンメモリ（ＲＯＭ）、１０４…ハードディスク・ＣＤ−ＲＯＭ、１０５…音源、１０６…ディスプレイ、１０７…キーボードおよびマウス、１０８…ＭＩＤＩインタフェース（Ｉ／Ｆ）、１０９…コントローラ、１１０…通信インタフェース、１１１…バスライン。
【図１】
0003880015.tif 000002
【図２】
0003880015.tif 000003
【図３】
0003880015.tif 000004
【図４】
0003880015.tif 000005
【図５】
0003880015.tif 000006
【図６】
0003880015.tif 000007
【図７】
0003880015.tif 000008
【図８】
0003880015.tif 000009
【図９】
0003880015.tif 000010
【図１０】
0003880015.tif 000011
【図１１】
0003880015.tif 000012