JP2004325984A - ゲームbgm生成プログラム、ゲームbgm生成方法およびゲーム装置 - Google Patents

ゲームbgm生成プログラム、ゲームbgm生成方法およびゲーム装置 Download PDF

Info

Publication number
JP2004325984A
JP2004325984A JP2003123258A JP2003123258A JP2004325984A JP 2004325984 A JP2004325984 A JP 2004325984A JP 2003123258 A JP2003123258 A JP 2003123258A JP 2003123258 A JP2003123258 A JP 2003123258A JP 2004325984 A JP2004325984 A JP 2004325984A
Authority
JP
Japan
Prior art keywords
data
phrase
bgm
rhythm
game
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.)
Granted
Application number
JP2003123258A
Other languages
English (en)
Other versions
JP3839417B2 (ja
Inventor
Kazuo Todaka
一生 戸高
Mitsuhiro Hikino
光啓 疋野
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 JP2003123258A priority Critical patent/JP3839417B2/ja
Priority to US10/825,200 priority patent/US7690993B2/en
Priority to EP04252287A priority patent/EP1473705B1/en
Priority to DE602004012646T priority patent/DE602004012646T2/de
Publication of JP2004325984A publication Critical patent/JP2004325984A/ja
Application granted granted Critical
Publication of JP3839417B2 publication Critical patent/JP3839417B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H1/00Details of electrophonic musical instruments
    • G10H1/0008Associated control or indicating means
    • G10H1/0025Automatic or semi-automatic music composition, e.g. producing random music, applying rules from music theory or modifying a musical piece
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/60Methods for processing data by generating or executing the game program
    • A63F2300/6063Methods for processing data by generating or executing the game program for sound processing
    • A63F2300/6081Methods for processing data by generating or executing the game program for sound processing generating an output signal, e.g. under timing constraints, for spatialization

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Electrophonic Musical Instruments (AREA)

Abstract

【構成】ゲーム装置12はCPU36を含み、CPU36はゲームの進行状況等に応じてゲームBGMを生成する。CPU36は、ゲームの進行状況等に従うコンダクタデータをメインメモリ40から選択し、コンダクタデータに含まれる1または2以上のトラックデータについてのBGMデータを生成する。BGMデータを生成する場合には、トラックデータによって指定されるリズムグループ内のリズムデータを所定の順番またはランダムに選択するとともに、同じく指定されるフレーズグループ内のフレーズデータをランダムに選択する。そして、選択されたリズムデータとフレーズデータとからBGMデータを生成する。
【効果】予め用意してあるリズムデータおよびフレーズデータを選択するだけなので、処理負担を増大させずに様々なBGMを生成し、演奏できるので、ゲームに対する興味の減退を防止することができる。
【選択図】 図2

Description

【0001】
【産業上の利用分野】
この発明はゲームBGM生成プログラム、ゲームBGM生成方法およびゲーム装置に関し、特にたとえば、ゲームステージの雰囲気に合わせた演出の一環として、臨場感を高めるために演奏されるBGMを生成する、ゲームBGM生成プログラム、ゲームBGM生成方法およびゲーム装置に関する。
【0002】
【従来の技術】
一般的に、テレビゲーム装置や液晶ゲーム装置などのゲーム装置で動作するゲームソフトは、ゲームの臨場感を高めるために、BGMが用意され、プレイヤはBGMを聞きながらゲームをプレイしている。このBGMは、ゲーム画面と同様に、予め複数種類用意されており、ゲームの進行に従って選択的に出力される。たとえば、通常、BGMは、楽曲のデータを最初から最後まで演奏し、この演奏が繰り返される。また、BGMが単調にならないように、プレイヤキャラクタが敵キャラクタに遭遇したり、戦闘シーンに移行したりすると、異なるBGMが出力され、または、予め設けられた制限時間が迫ってくると、演奏のテンポが速くなっていた。
【0003】
また、BGMが単調にならないようにするためには、特許文献1に開示されるような方法に従ってBGMを自動生成することも考えられる。この特許文献1に開示されるBGMの自動生成方法は、フレーズデータベースを予め用意し、選択されたフレーズに基づいて新しくフレーズを生成し、自動的にメロディを生成するものである。
【0004】
【特許文献1】
特許第3271282号
【0005】
【発明が解決しようとする課題】
しかし、前者のように、ゲームの進行に従ってBGMを変化させたり、BGMのテンポを変化させたりしたとしても、同じ場面では同じBGMが演奏されるため、プレイヤはBGMに飽きてしまい、ゲームへの興味を減退させるおそれがあった。
【0006】
また、後者では、多彩なBGMを生成することができるため、前者のような飽きは来ないが、ゲームのBGMを生成する装置としては、その規模が大きく、しかも、フレーズやメロディの生成処理が膨大であるため、本来のゲーム進行のための処理を圧迫してしまうという問題があった。つまり、ゲーム装置には不向きであった。
【0007】
それゆえに、この発明の主たる目的は、処理負担を増大させずに多彩なBGMを生成することができる、ゲームBGM生成プログラム、ゲームBGM生成方法およびゲーム装置を提供することである。
【0008】
【課題を解決するための手段】
請求項1は、フレーズデータ記憶手段、リズムパターン記憶手段、BGMデータ再生手段、音色データ記憶手段、および音出力手段を備えるゲーム装置に実行させるBGMデータ生成プログラムである。このゲーム装置では、フレーズデータ記憶手段は、音色の発音の長さおよび音程を指定する異なる種類の複数のフレーズデータを音楽的特徴に基づくグループ毎に記憶する。リズムパターン記憶手段は、フレーズを演奏するための演奏の長さおよびフレーズの発音タイミングを指定する2つ以上のリズムデータによって構成される少なくとも1種類のリズムパターンデータを記憶する。BGMデータ再生手段は、少なくとも1つのパートで構成されるBGMデータを再生する。音色データ記憶手段は、BGMデータに従って出力される音のデータを記憶する。そして、音出力手段は、BGMデータ再生手段によって再生されたBGMデータに従う音を出力する。BGMデータ生成プログラムは、ゲーム装置のプロセサに、フレーズ選択ステップ、リズム選択ステップ、およびBGM生成ステップ、を実行させる。フレーズ選択ステップは、フレーズデータ記憶手段に記憶された1のグループから1種類のフレーズデータをランダムに選択する。リズム選択ステップは、リズムパターン記憶手段に記憶された1種類のリズムパターンデータから1つのリズムデータを所定のルールに従って選択する。そして、BGM生成ステップは、フレーズ選択ステップによって選択されたフレーズデータとリズム選択ステップによって選択されたリズムデータとからBGMデータを生成する。
【0009】
請求項2は請求項1に従属し、リズム選択ステップは、1種類のリズムパターンデータからランダムにリズムデータを選択するランダム選択ステップを含む。
【0010】
請求項3は請求項1または2に従属し、リズム選択ステップは、1種類のリズムパターンデータからリズムデータを所定の順番で選択する順次選択ステップを含む。
【0011】
請求項4は、請求項1ないし3のいずれかに従属し、ゲーム装置は、同じフレーズが選択された回数をカウントする連続カウンタをさらに備える。フレーズ選択ステップは、インクリメントステップおよび再選択ステップを含む。インクリメントステップは、前回選択されたフレーズデータと今回選択されたフレーズデータとが一致するとき、連続カウンタをインクリメントする。再選択ステップは、連続カウンタのカウント値が所定値より大きいとき、フレーズデータを選択し直す。
【0012】
請求項5は、請求項1ないし4のいずれかに従属し、ゲーム装置は、プレイヤによる操作を入力する操作手段、およびBGMの演奏方法を変化させる演奏変化データを記憶する演奏変化データ記憶手段をさらに備える。ゲームBGM生成プログラムは、演奏変化データ記憶ステップおよびBGMデータ変化ステップを、プロセサにさらに実行させる。演奏変化データ記憶ステップは、少なくとも操作手段の操作に応じて演奏変化データを演奏変化データ記憶手段に記憶させる。BGMデータ変化ステップは、演奏変化データ記憶ステップによって演奏変化データ記憶手段に記憶された演奏変化データに応じて、BGMデータに所定の変化を加える。
【0013】
請求項6は請求項5に従属し、BGMデータ変化ステップは、演奏変化データに従ってBGMデータのテンポを変化させるテンポ変化ステップを含む。
【0014】
請求項7は請求項1ないし6のいずれかに従属し、ゲーム装置は、フレーズの演奏期間および演奏休止期間を指定する期間指定データを記憶する期間指定データ記憶手段をさらに備える。BGMデータ再生手段は、期間指定データに基づいて演奏休止期間におけるBGMデータの再生を休止させる。ゲームBGM生成プログラムは、期間指定データによって指定される演奏期間および演奏休止期間をリズムデータの選択回数でカウントする期間カウントステップをプロセサにさらに実行させる。
【0015】
請求項8は、フレーズデータ記憶手段、リズムパターン記憶手段、BGMデータ再生手段、音色データ記憶手段および音出力手段を備えるゲーム装置におけるゲームBGM生成方法である。このゲーム装置では、フレーズデータ記憶手段は、音色の発音の長さおよび音程を指定する異なる種類の複数のフレーズデータを音楽的特徴に基づくグループ毎に記憶する。リズムパターン記憶手段は、フレーズを演奏するための演奏の長さおよびフレーズの発音タイミングを指定する2つ以上のリズムデータによって構成される少なくとも1種類のリズムパターンデータを記憶する。BGMデータ再生手段は、少なくとも1つのパートで構成されるBGMデータを再生する。音色データ記憶手段は、BGMデータに従って出力される音のデータを記憶する。そして、音出力手段は、BGMデータ再生手段によって再生されたBGMデータに従う音を出力する。このゲーム装置は、(a) フレーズデータ記憶手段に記憶された1のグループから1種類のフレーズデータをランダムに選択し、(b) リズムパターン記憶手段に記憶された1種類のリズムパターンデータから1つのリズムデータを順次的に或いはランダムに選択し、そして、(c) ステップ(a) によって選択されたフレーズデータとステップ(b) によって選択されたリズムデータとからBGMデータを生成する。
【0016】
請求項9は、少なくともゲームの進行状況に応じたBGMを演奏するゲーム装置である。このゲーム装置は、フレーズデータ記憶手段、リズムパターン記憶手段、BGMデータ再生手段、音色データ記憶手段、フレーズ選択手段、リズムパターン選択手段、BGM生成手段および音出力手段を備える。フレーズデータ記憶手段は、音色の発音の長さおよび音程を指定する異なる種類の複数のフレーズデータを音楽的特徴に基づくグループ毎に記憶する。リズムパターン記憶手段は、フレーズを演奏するための演奏の長さおよびフレーズの発音タイミングを指定する2つ以上のリズムデータによって構成される少なくとも1種類のリズムパターンデータを記憶する。BGMデータ再生手段は、少なくとも1つのパートで構成されるBGMデータを再生する。音色データ記憶手段は、BGMデータに従って出力される音のデータを記憶する。フレーズ選択手段は、フレーズデータ記憶手段に記憶された1のグループから1種類のフレーズデータをランダムに選択する。リズムパターン選択手段は、リズムパターン記憶手段に記憶された1種類のリズムパターンデータから1つのリズムデータを所定のルールに従って選択する。BGM生成手段は、フレーズ選択ステップによって選択されたフレーズデータとリズムパターン選択ステップによって選択されたリズムデータとからBGMデータを生成する。そして、音出力手段は、BGMデータ再生手段によって再生されたBGMデータに従う音を出力する。
【0017】
【作用】
請求項1によれば、ゲーム装置(12:実施例で相当する参照番号。以下、同じ。)は、フレーズデータ記憶手段(40,76)、リズムパターン記憶手段(40,78)、BGMデータ再生手段(36)、音色データ記憶手段(40,54)および音出力手段(34a,52,62)を備える。フレーズデータ記憶手段(40,76)は、音色の発音の長さおよび音程を指定する異なる種類の複数のフレーズデータを音楽的特徴に基づくグループ毎に記憶する。たとえば、フレーズは、楽曲の一部の楽譜(譜面)に相当し、これに対応するデータがフレーズデータである。リズムパターン記憶手段(40,78)は、フレーズを演奏するための演奏(発音)の長さおよびフレーズの発音タイミングを指定するリズムデータで構成される少なくとも1種類のリズムパターンデータを記憶する。たとえば、リズムは、音符で規定され、当該音符に対応するデータがリズムデータである。BGMデータ再生手段(36)は、少なくとも1つのパート(楽器やオーケストラ)で構成されるBGMデータを再生する。音色データ記憶手段(40,54)は、BGMデータに従って出力される音、すなわち楽器やオーケストラの音についてのデータを記憶する。音出力手段(34a,52,62)は、BGMデータ再生手段(36,S113,S183)によって再生されたBGMデータに従う音を出力する。つまり、BGMが演奏される。ゲームBGM生成プログラムは、このゲーム装置のプロセサに、フレーズ選択ステップ(S91,S157)、リズム選択ステップ(S59,S133)およびBGM生成ステップ(S113,S183)を実行させる。フレーズ選択ステップ(S91,S157)は、フレーズデータ記憶手段(40,76)に記憶された1のグループから1種類のフレーズデータをランダムに選択する。リズム選択ステップ(S59,S133)は、リズムパターン記憶手段(40,78)に記憶された1種類のリズムパターンデータからリズムデータを所定のルールに従って選択する。BGM生成ステップ(S113,S183)は、フレーズ選択ステップ(S91,S157)によって選択されたフレーズデータとリズム選択ステップ(S59,S133)によって選択されたリズムデータとからBGMデータを生成する。
【0018】
この発明によれば、ランダムに選択したフレーズデータと所定のルールに従って選択したリズムデータとからBGMデータを生成するので、様々なBGMデータを生成することができる。また、フレーズデータやリズムデータは予め用意しておくので、それらのデータの生成処理を行う必要がなく、処理負担の増大を防止することができる。
【0019】
請求項2によれば、ランダム選択ステップ(S133)は、1種類のリズムパターンデータからランダムにリズムを選択するので、様々なリズムパターンに従うBGMを演奏することができる。
【0020】
請求項3によれば、順次選択ステップ(S59)は、1種類のリズムパターンデータからリズムデータを所定の順番で選択するので、予め設定されるリズムパターンに従うBGMを演奏することができる。
【0021】
請求項4によれば、ゲーム装置(12)は、同じフレーズが選択された回数をカウントする連続カウンタ(40,82d)をさらに備える。インクリメントステップ(S95,S161)は、前回選択されたフレーズデータと今回選択されたフレーズデータとが一致するとき、連続カウンタ(40,82d)をインクリメントする。再選択ステップ(S91,S157)は、連続カウンタ(40,82d)のカウント値が所定値より大きいとき、フレーズデータを選択し直す。つまり、同じフレーズが繰り返し選択されることによって、BGMが単調になるのを防止してある。
【0022】
請求項5によれば、ゲーム装置(12)は、プレイヤによる操作を入力する操作手段(22,26)およびBGMの演奏方法を変化させる演奏変化データを記憶する記憶手段(40,80)をさらに備えている。ゲームBGM生成プログラムは、演奏変化データ記憶ステップ(S21,S25,S33)およびBGMデータ変化ステップ(S119,S121,S125,S171,S187,S191)を実行する。演奏変化データ記憶ステップ(S21,S25,S33)は、少なくとも操作手段の操作に応じて演奏変化データを演奏変化データ記憶手段(40,80)に記憶する。ただし、ゲームの進行状況や所定のイベント等に応じて演奏変化データを記憶するようにしてもよい。BGMデータ変化ステップ(S119,S121,S125,S171,S187,S191)は、演奏変化データ記憶手段(40,80)に記憶された演奏変化データに応じてBGMデータに所定の変化を加える。つまり、プレイヤの操作等に応じて、BGMの演奏を変化させることにより、ゲーム画面だけでなく、BGMによって、ゲーム内容等の演出効果を高めているのである。
【0023】
請求項6によれば、たとえば、テンポ変化ステップ(S125,S191)は、演奏変化データに従ってBGMデータのテンポを変化させる。つまり、BGMの演奏速度を改変することができる。
【0024】
請求項7によれば、ゲーム装置(12)は、フレーズの演奏期間および演奏休止期間を指定する期間指定データを記憶する期間指定データ記憶手段(40,82b,82c)含む。BGMデータ再生手段(36)は、期間指定データに基づいて演奏休止期間におけるBGMデータの再生を休止させる。ゲームBGM生成プログラムでは、期間カウントステップが、期間指定データによって指定される演奏期間および演奏休止期間をリズムの選択回数でカウントする。このように、演奏期間および演奏休止期間をリズムの選択回数でカウントするので、演奏休止状態から演奏状態に戻る(移行)する場合であっても、フレーズの発音タイミング、すなわちBGMの演奏タイミングにずれが生じることがない。
【0025】
請求項8または請求項9においても、請求項1と同様に、処理負担を増大させずに多彩なBGMを生成することができる。
【0026】
【発明の効果】
この発明によれば、予め用意した複数のフレーズデータからフレーズデータをランダムに選択するとともに、1種類のリズムパターンからリズムデータを所定のルールに従って選択し、選択したフレーズデータおよびリズムデータに基づいてBGMデータを生成するので、様々なBGMを生成することができる。また、フレーズデータやリズムパターンは予め用意してあるので、BGMの生成処理の負担がいたずらに増大することもない。
【0027】
この発明の上述の目的,その他の目的,特徴および利点は、図面を参照して行う以下の実施例の詳細な説明から一層明らかとなろう。
【0028】
【実施例】
図1を参照して、この実施例のビデオゲームシステム10はビデオゲーム装置12を含む。このビデオゲーム装置12には電源が与えられるが、この電源は、実施例では、一般的なACアダプタ(図示せず)であってよい。ACアダプタは家庭用の標準的な壁ソケットに差し込まれ、家庭用電源を、ビデオゲーム装置12を駆動するのに適した低いDC電圧信号に変換する。他の実施例としては、電源として、バッテリが用いられてもよい。
【0029】
ビデオゲーム装置12は、略立方体のハウジング14を含み、ハウジング14の上端には光ディスクドライブ16が設けられる。光ディスクドライブ16には、ゲームプログラム等を記憶した情報記憶媒体の一例である光ディスク18が装着される。ハウジング14の前面には複数の(実施例では4つの)コネクタ20が設けられる。これらコネクタ20は、ケーブル24によって、コントローラ22をビデオゲーム装置12に接続するためのものであり、この実施例では最大4つのコントローラ22をビデオゲーム装置12に接続することができる。
【0030】
コントローラ22には、その上面,下面,或いは側面などに、操作手段(コントロール)26が設けられる。操作手段26は,たとえば2つのアナログジョイスティック,1つの十字キー,複数のボタンスイッチ等を含む。1つのアナログジョイスティックは、スティックの傾き量と方向とによって、プレイヤキャラクタ(プレイヤがコントローラ22によって操作可能な動画キャラクタ)の移動方向および/または移動速度ないし移動量などを入力するために用いられる。他のアナログジョイスティックは、傾斜方向によって、仮想カメラの移動を制御する。十字スイッチは、アナログジョイスティックに代えてプレイヤキャラクタの移動方向を指示するために用いられる。ボタンスイッチは、プレイヤキャラクタの動作を指示するために利用されたり、3次元画像の仮想カメラの視点を切り換えたり、プレイヤキャラクタの移動スピード調節等に用いられる。ボタンスイッチは、さらに、たとえばメニュー選択やポインタあるいはカーソル移動を制御する。
【0031】
なお、この実施例ではコントローラ22がそれと一体的に設けられるケーブル24によってビデオゲーム装置12に接続された。しかしながら、コントローラ22は、他の方法、たとえば電磁波(たとえば電波または赤外線)を介してワイヤレスで、ビデオゲーム装置12に接続されてもよい。また、コントローラ22の操作手段26の具体的構成は、もちろん実施例の構成に限られるものではなく、任意の変形が可能である。たとえば、アナログジョイスティックは1つだけでもよいし、用いられなくてもよい。十字スイッチは用いられなくてもよい。
【0032】
ビデオゲーム装置12のハウジング14の前面のコネクタ20の下方には、少なくとも1つの(この実施例では2つの)メモリスロット28が設けられる。このメモリスロット28にはメモリカード30が挿入される。メモリカード30は、光ディスク18から読み出したゲームプログラム等をローディングして一時的に記憶したり、このゲームシステム10を利用してプレイしたゲームのゲームデータ(たとえばゲームの結果)を保存(セーブ)しておいたりするために利用される。
【0033】
ビデオゲーム装置12のハウジング14の後面には、AVケーブルコネクタ(図示せず)が設けられ、そのコネクタを用いて、AVケーブル32を通してビデオビデオゲーム装置12にモニタ34を接続する。このモニタ34は典型的にはカラーテレビジョン受像機であり、AVケーブル32は、ビデオゲーム装置12からの映像信号をカラーテレビのビデオ入力端子に入力し、音声信号を音声入力端子に与える。したがって、カラーテレビ(モニタ)34の画面上にたとえば3次元(3D)ビデオゲームのゲーム画像が表示され、左右のスピーカ34aからゲーム音楽や効果音などのステレオゲーム音声、または2スピーカであってもサラウンド効果を出すことが可能な場合は、サラウンド音声を含むゲーム音声が出力される。
【0034】
このゲームシステム10において、ユーザまたはゲームプレイヤがゲーム(または他のアプリケーション)をプレイするために、ユーザはまずゲーム装置12の電源をオンし、次いで、ユーザはビデオゲーム(もしくはプレイしたいと思う他のアプリケーション)をストアしている適宜の光ディスク18を選択し、その光ディスク18をゲーム装置12のディスクドライブ16にローディングする。応じて、ゲーム装置12がその光ディスク18にストアされているソフトウェアに基づいてビデオゲームもしくは他のアプリケーションを実行し始めるようにする。ユーザはゲーム装置12に入力を与えるためにコントローラ22を操作する。たとえば、操作手段26のどれかを操作することによってゲームもしくは他のアプリケーションをスタートさせる。操作手段26の他のものを動かすことによって、動画キャラクタ(プレイヤキャラクタ)を異なる方向に移動させ、または3次元(3D)のゲーム世界におけるユーザの視点(カメラ位置)を変化させることができる。
【0035】
図2は図1実施例のビデオゲームシステム10の電気的な構成を示すブロック図である。ビデオゲーム装置12には、中央処理ユニット(以下、「CPU」という。)36が設けられる。このCPU36は、コンピュータ或いはプロセサなどとも呼ばれ、ビデオゲーム装置12の全体的な制御を担当する。CPU36ないしコンピュータは、ゲームプロセサとして機能し、このCPU36には、バスを介して、メモリコントローラ38が結合される。メモリコントローラ38は主として、CPU36の制御の下で、バスを介して結合されるメインメモリ40の書込みや読出しを制御する。このメモリコントローラ38にはGPU(Graphics Processing Unit:グラフィックス処理装置) 42が結合される。
【0036】
GPU42は、描画手段の一部を形成し、たとえばシングルチップASICで構成され、メモリコントローラ38を介してCPU36からのグラフィクスコマンド(graphics command :作画命令) を受け、そのコマンドに従って、ジオメトリユニット44およびレンダリングユニット46によって3次元(3D)ゲーム画像を生成する。つまり、ジオメトリユニット44は、3次元座標系の各種キャラクタやオブジェクト(複数のポリゴンで構成されている。そして、ポリゴンとは少なくとも3つの頂点座標によって定義される多角形平面をいう。)の回転,移動,変形等の座標演算処理を行う。レンダリングユニット46は、各種オブジェクトの各ポリゴンにテクスチャ(Texture :模様画像)を張り付けるなどの画像生成処理を施す。したがって、GPU42によって、ゲーム画面上に表示すべき3D画像データが生成(作成)され、その画像データがフレームバッファ48内に描画(記憶)される。
【0037】
なお、GPU42が作画コマンドを実行するにあたって必要なデータ(プリミティブまたはポリゴンやテクスチャ等)は、GPU42がメモリコントローラ38を介して、メインメモリ40から入手する。
【0038】
フレームバッファ48は、たとえばラスタスキャンモニタ34の1フレーム分の画像データを描画(蓄積)しておくためのメモリであり、GPU42によって1フレーム毎に書き換えられる。後述のビデオI/F58がメモリコントローラ38を介してフレームバッファ48のデータを読み出すことによって、モニタ34の画面上に3Dゲーム画像が表示される。
【0039】
また、Zバッファ50は、フレームバッファ48に対応する画素(記憶位置またはアドレス)数×1画素当たりの奥行データのビット数に相当する記憶容量を有し、フレームバッファ48の各記憶位置に対応するドットの奥行き情報または奥行データ(Z値)を記憶するものである。
【0040】
なお、フレームバッファ48およびZバッファ50は、ともにメインメモリ40の一部を用いて構成されてもよい。
【0041】
メモリコントローラ38はまた、DSP(Digital Signal Processor)52を介して、ARAM54に結合される。したがって、メモリコントローラ38は、メインメモリ40だけでなく、サブメモリとしてのARAM54の書込みおよび/または読出しを制御する。
【0042】
DSP52は、サウンドプロセサとして働き、CPU36の指示に従って、ARAM54に書き込まれている音波形データ(図5参照)を用いて、ゲームに必要な音(効果音)、音声或いは音楽(BGM)に対応するオーディオデータを生成する。
【0043】
メモリコントローラ38は、さらに、バスによって、各インタフェース(I/F)56,58,60,62および64に結合される。コントローラI/F56は、コントローラ22のためのインタフェースであり、コントローラ22の操作手段26の操作信号またはデータをメモリコントローラ38を通してCPU36に与える。ビデオI/F58は、フレームバッファ48にアクセスし、GPU42で作成した画像データを読み出して、画像信号または画像データ(ディジタルRGBピクセル値)をAVケーブル32(図1)を介してモニタ34に与える。
【0044】
外部メモリI/F60は、ゲーム装置12の前面に挿入されるメモリカード30(図1)をメモリコントローラ38に連係させる。それによって、メモリコントローラ38を介して、CPU36がこのメモリカード30にデータを書込み、またはメモリカード30からデータを読み出すことができる。オーディオI/F62は、メモリコントローラ38を通してDSP52から与えられるオーディオデータまたは光ディスク18から読み出されたオーディオストリームを受け、それらに応じたオーディオ信号(音声信号)をモニタ34のスピーカ34aに与える。
【0045】
なお、ステレオ音声の場合には、スピーカ34aは、少なくとも、左右1つずつ設けられる。また、サラウンド処理することで、左右2つのスピーカのみであっても後方から音が発生しているように音を聞かせることも可能である。
【0046】
そして、ディスクI/F64は、そのディスクドライブ16をメモリコントローラ38に結合し、したがって、CPU36がディスクドライブ16を制御する。このディスクドライブ16によって光ディスク18から読み出されたプログラムデータやテクスチャデータ等が、CPU36の制御の下で、メインメモリ40に書き込まれる。
【0047】
図3にはメインメモリ40のメモリマップが示される。メインメモリ40は、プログラム記憶領域70、コンダクタデータ記憶領域72、音色記憶領域74、フレーズ記憶領域76、リズムパターン記憶領域78、フラグ記憶領域80、カウンタ記憶領域82およびフレーズ番号記憶領域84などを含む。プログラム記憶領域70には、光ディスク18から読み出したゲームプログラムが、1度にまたは部分的にかつ順次的に、記憶される。このゲームプログラムは、この実施例では、ゲームメイン処理プログラム70a、フレーズ選択プログラム70b、リズム選択プログラム70c、BGM生成プログラム70d、BGM演奏プログラム70e、操作入力プログラム70fおよびBGM演奏変化付与プログラム70gなどによって構成される。
【0048】
ゲームメイン処理プログラム70aは、当該ゲームのメインルーチンを処理するプログラムである。フレーズ選択プログラム70bは、後述するコンダクタデータが示すフレーズグループからフレーズデータをランダムに選択するプログラムである。リズム選択プログラム70cは、後述するコンダクタデータが示すリズムグループからリズムデータを所定のルールに従って(順次的に或いはランダムに)選択するプログラムである。BGM生成プログラム70dは、フレーズ選択プログラム70bによって選択されたフレーズデータとリズム選択プログラム70cによって選択されたリズムデータとからBGMデータを生成するプログラムである。
【0049】
なお、コンダクタデータは、後述するように、複数種類用意されており、ゲームの進行状況等に応じて、ゲームメイン処理プログラム70aによって1つのコンダクタデータが選択される。
【0050】
BGM演奏プログラム70eは、BGM生成プログラム70dによって生成されたBGMデータを演奏(再生)するプログラムである。操作入力プログラム70fは、プレイヤによるコントローラ22(操作手段26)の操作入力を検出するプログラムである。BGM演奏変化付与プログラム70gは、操作入力プログラム70fで検出された操作入力、ゲームの進行状況或いはイベント等に応じて、BGMの演奏(出力)に変化を加えるプログラムである。
【0051】
なお、図示は省略するが、ゲームプログラムとしては、画像処理プログラムも記憶され、この画像処理プログラムを実行することによって、ゲームの仮想3次元空間 (ゲーム世界)の画像がモニタ34に表示されたり、プレイヤキャラクタ、敵キャラクタおよびアイテム(武器、金貨、食物、道具、薬など)などのキャラクタ、或いは、建物、壁および樹木などのオブジェクトについての画像がモニタ34に表示されたりする。
【0052】
コンダクタデータ記憶領域72には、異なる種類の複数のコンダクタデータ、この実施例では、コンダクタAデータ72a,コンダクタBデータ72b,コンダクタCデータ72c,…が記憶される。ここで、「コンダクタ」は「指揮者」を意味するが、この実施例では、コンダクタデータは、BGMデータを生成するためのデータである。後で詳細に説明するが、コンダクタデータ72a〜72cは、それぞれ、テンポデータおよび少なくとも1つのトラックデータとによって構成される。トラックデータは、さらに、プログラム(音色)の番号(記号)を示すデータ(音色グループ番号データ)、フレーズグループの番号(記号)を示すデータ(フレーズグループ番号データ)およびリズムグループの番号(記号)を示すデータ(リズムグループ番号データ)などによって構成される(図7参照)。
【0053】
なお、これらのコンダクタデータ72a〜72cは、ゲームプログラムと同様に、光ディスク18から一度にまたは部分的にかつ順次的に、必要に応じてロードされる。
【0054】
音色記憶領域74は、さらに、グループ単位で区分けされた複数の記憶領域、この実施例では、音色グループ1(Prog01)の記憶領域740,音色グループ2(Prog02)の記憶領域742,…によって構成される。記憶領域740および記憶領域742は、図4(A)に示すように、それぞれ、1または複数の音色のデータ(後述する音波形データ)に割り当てられた番号(記号)のデータが記憶される。ただし、図面においては、分かり易く説明するために、音波形データの名称(ファイル名)を記述してある。つまり、記憶領域740には、プログラム(音色)AおよびプログラムDが記述され、記憶領域742には、プログラムB、プログラムCおよびプログラムDが記述される。
【0055】
なお、図4(A)からも分かるように、各記憶領域内では、異なる種類の音色データの番号が記述されるが、異なる記憶領域では、同じ種類の音色データの番号が記述される場合もある。
【0056】
また、このような音色のグループは、ゲームのプログラマ等の開発者が予め設定してある。
【0057】
音色データすなわち音波形データは、図5に示すように、音波形データ記憶領域、この実施例では、サブメモリとしてのARAM54に、光ディスク18からロードされ書き込まれる。この図5に示すように、たとえば、音波形データ記憶領域すなわちARAM54には、パート毎の音についての音波形データが記憶され、原則として、1のパートは1の楽器に対応する。ただし、オーケストラの音のように、1のパートが2以上の楽器に対応する場合もある。具体的には、この実施例では、ピアノの音についての音波形Aデータ(Prog_a)54a、ベースの音についての音波形Bデータ(Prog_b)54b、ドラムの音についての音波形Cデータ(Prog_c)54cおよびオーケストラの音についての音波形Dデータ(Prog_d)54dなどが記憶される。図示は省略するが、他のパートの音についての音波形データも記憶される。
【0058】
つまり、DSP52は、CPU36の指示の下、音波形データ54a,54b,54c,54d,…のいずれか1つ或いは2つ以上を用いて、ゲームに必要な音(効果音)、音声或いは音楽(BGM)に対応するオーディオデータを生成するのである。
【0059】
図3に戻って、フレーズ記憶領域76は、さらに、グループ単位で区分けされた複数の記憶領域、この実施例では、フレーズグループ1の記憶領域760,フレーズグループ2の記憶領域762,…、およびフレーズデータ記憶領域770によって構成される。図4(B)に示すように、記憶領域760および記憶領域762には、それぞれ、1または複数のフレーズデータに割り当てられた番号(記号)のデータが記憶される。1の記憶領域すなわち1のグループに記憶されるフレーズデータの番号としては、音楽的特徴が類似(近似)する異なる種類のフレーズデータの番号が記述される。ここで、「音楽的特徴が類似する」とは、楽曲の中でいずれのフレーズを演奏したとしても、違和感や不快感を感じることがないことを意味する。
【0060】
ただし、図面においては、分かり易く示すために、フレーズデータの名称(ファイル名)を記述してある。つまり、この実施例では、記憶領域760にはフレーズA,フレーズB,フレーズCおよびフレーズDが記述され、記憶領域762にはフレーズA,フレーズCおよびフレーズDが記述される。
【0061】
また、フレーズデータ記憶領域770には、異なる種類の複数のフレーズデータが記憶される。この実施例では、フレーズAデータ(Tip_a)770a,フレーズBデータ(Tip_b)770b,フレーズCデータ(Tip_c)770c,フレーズDデータ(Tip_d)770d,…が記憶される。
【0062】
ここで、フレーズは、楽曲の一部の楽譜(譜面)を意味し、その最小構成単位は1つの音符である。具体的には、図6(A)に示すように、フレーズは、五線譜表に、音色の発音の長さおよび音程 (音高;音の高さ)を指定する1または2以上の音符を並べたものである。このフレーズは、予めゲームプログラマ等の開発者によって決定される。
【0063】
具体的に説明すると、この実施例では、フレーズAデータ770aに対応するフレーズは、1つの2分音符によって構成され、この音符の音高は、ト音記号のみが表記されるとき、ソの音に相当する。また、フレーズBデータ770bに対応するフレーズは、左から順に、16分音符、16分音符、8分音符、8分音符、8分音符および4分音符によって構成され、それぞれの音符の音高は、ト音記号のみが表示されるとき、ド、レ、ミ、ソ、シ、ミ/(/は1オクターブ(完全8度)上の音を意味する。以下、同じである。)およびレ/の音に相当する。さらに、フレーズCデータ770bに対応するフレーズは、左から順に、8分音符、4分音符、8分音符、8分音符、4分音符および8分音符によって構成され、それぞれの音符の音高は、ト音記号のみが表示されるとき、ソ、ラ、ソ、ミ、ソおよびミの音に相当する。さらにまた、フレーズDデータ770dに対応するフレーズは、左から順に、4分音符、4分音符、付点4分音符(4分音符+8分音符の長さ)、8分音符、4分音符および4分音符によって構成され、それぞれの音符の音高は、ト音記号のみが表示されるとき、レ/、ラ、ラ、ソ、ミおよびソの音に相当する。
【0064】
つまり、フレーズデータは、楽曲の一部の楽譜についてのデータであり、音色の発音の長さおよび音程(音階)を指定(規定)するデータである。
【0065】
なお、図4(B)に示したように、フレーズグループの記憶領域に直接フレーズデータを記憶せずに、フレーズグループの記憶領域とフレーズデータ記憶領域とを別に設けるようにしたのは、異なるフレーズグループであっても同じフレーズデータが含まれる場合があり、データ量が多くなってしまうのを防止するためである。
【0066】
図3に戻って、リズムパターン記憶領域78は、さらに、グループ単位で区分けされた複数の記憶領域、この実施例では、リズムグループ1の記憶領域780,リズムグループ2の記憶領域782,…によって構成される。これらの記憶領域には、それぞれ、2つ以上のリズムのデータ(リズムデータ)が記憶される。具体的には、この実施例では、図4(C)に示すように、記憶領域780にはリズムAデータ(Rhythm_a)780a,リズムBデータ(Rhythm_b)780bおよび同じくリズムBデータ(Rhythm_b)780bが記憶される。また、記憶領域782には、リズムBデータ780b,リズムAデータ780a,リズムCデータ(Rhythm_c)780c,リズムDデータ(Rhythm_d)780dおよびリズムBデータ780bが記憶される。
【0067】
このリズムデータは、フレーズ(データ)を演奏するための演奏(発音)の長さおよびフレーズ(データ)の発音(演奏開始)のタイミング(発音タイミング)を指定する1の音符についてのデータである。たとえば、1のグループ内に含まれるリズムデータは、順次的に或いはランダムに選択することにより、或るリズムのパターン(リズムパターン)が形成される。この点において、1のグループ内に含まれるリズムデータをまとめてリズムパターンデータと言うことができる。
【0068】
この実施例では、図6(B)に示すように、リズムグループ1(Rhythms01)は、左から順に、リズムAデータ780aに対応する4分音符、リズムBデータ780bに対応する8分音符および同じくリズムBデータ780bに対応する8分音符によってリズムパターンが形成される。
【0069】
たとえば、リズムの選択方法として順次選択方法が選択された場合には、先頭から順に(左から順に)リズムデータが選択され、すなわち、リズムAデータ780a、リズムBデータ780b、リズムBデータ780bの順番で選択され、ゲームプログラマが意図したリズムパターンが形成される。また、リズムの選択方法としてランダム選択方法が選択された場合には、3つのリズムデータ780a,780b,780bが適当な順番で(ランダムに)選択され、複数種類のリズムパターンが形成される。
【0070】
同様に、リズムグループ2(Rhythms02)では、リズムBデータ780b、リズムAデータ780a、リズムCデータ780c、リズムDデータ780dおよびリズムBデータによってリズムパターンが形成される。
【0071】
たとえば、順次選択方法が選択された場合には、リズムグループ1の場合と同様に、先頭から順に各リズムデータが選択され、ゲームプログラマ等が意図したリズムパターンが形成される。一方、ランダム選択方法が選択された場合には、リズムグループ1の場合と同様に、5つのリズムデータ780b,780a,780c,780d,780bがランダムに選択され、複数種類のリズムパターンが形成される。
【0072】
なお、音色記憶領域74、フレーズ記憶領域76およびリズムパターン記憶領域78に記憶されるデータも、ゲームプログラムと同様に、光ディスク18から一度にまたは部分的にかつ順次的に、必要に応じてロードされる。
【0073】
図3に戻って、フラグ記憶領域80には、戦闘フラグ80a、隊列少数フラグ80b、体力減少フラグ80c、スウィングフラグ80d、演奏期間フラグ80eおよび演奏休止期間フラグ80fが記憶される。図示は省略するが、これらのフラグ80a〜80fは、それぞれ、1ビットのレジスタで構成され、成立(オン)されると、レジスタのデータ値は“1”に設定され、逆にオフされると、レジスタのデータ値は“0”に設定される。
【0074】
戦闘フラグ80aは、プレイヤキャラクタ等が敵キャラクタと戦闘する場面(戦闘シーン)であるか否かを判別するためのフラグであり、戦闘シーンではオンされ、それ以外ではオフされる。隊列少数フラグ80bは、プレイヤキャラクタについてくる仲間(味方)のキャラクタ(たとえば、「ピクミン」;「PIKMIN」(登録商標))が一定数以下であり、かつ、或るゲームステージにおいて一匹以上死んだかどうかを判別するためのフラグである。この隊列少数フラグ80bは、ピクミンが一定数以下であり、かつ、或るゲームステージにおいて一匹以上死んだ場合にはオンされ、それ以外ではオフされる。体力減少フラグ80cは、プレイヤキャラクタの体力値が一定レベル以下になったかどうかを判別するためのフラグであり、プレイヤキャラクタの体力値が一定レベル以下の場合にはオンされ、プレイヤキャラクタの体力値が一定レベルを超えている場合にはオフされる。
【0075】
スウィングフラグ80dは、演奏されるBGMのテンポのカウント方法を変更するか否かを判別するためのフラグであり、テンポのカウント方法を変更する場合にはオンされ、変更しない場合にはオフされる。演奏期間フラグ80eは、BGMの演奏期間を判別するためのフラグであり、BGMの演奏期間である場合にはオンされ、それ以外ではオフされる。また、演奏休止期間フラグ80fは、BGMの演奏休止期間を判別するためのフラグであり、BGMの演奏休止期間である場合にはオンされ、それ以外ではオフされる。
【0076】
カウンタ記憶領域82には、複数のカウンタが設けられ、この実施例では、リズムステップカウンタ82a、演奏期間カウンタ82b、演奏休止期間カウンタ82cおよびフレーズ連続カウンタ82dが設けられる。たとえば、これらのカウンタ82a〜82dは、それぞれ、レジスタによって構成され、後述するBGMの生成および再生処理(図10〜図16参照)において用いられる。
【0077】
フレーズ番号記憶領域84は、後述するBGMの生成および再生処理(図10〜図16参照)において用いられる領域であり、BGMデータの生成時に選択されたフレーズデータに割り当てられた番号(以下、単に「フレーズ番号」という。)を記憶する。ただし、フレーズデータの名称を記憶するようにしてもよい。
【0078】
なお、図示は省略するが、メインメモリ40には、上述したようなゲーム世界の画像データ、キャラクタの画像データおよびオブジェクトの画像データなども記憶され、このような画像データもまた、ゲームプログラムと同様に、光ディスク18から一度にまたは部分的にかつ順次的に、必要に応じてロードされる。
【0079】
図7はコンダクタデータ(72a,72b,72c,…)のデータ構造720を示す図解図である。この図7を参照して、上述したように、コンダクタデータ(72a,72b,72c,…)は、テンポデータ722および複数のトラックデータ724,726,728,730,…によって構成される。
【0080】
テンポデータ722は、楽曲を演奏する際の演奏速度を制御するためのデータである。ここで、テンポは、楽曲を演奏する際の速度を意味しており、1分間あたりに演奏する単位音符の数(bpm:beet per minutes) を用いて表される。単位音符としては、4分音符が用いられるのが一般的である。ただし、楽曲によっては、他の音符が用いられる場合もある。つまり、テンポデータ722は、この単位音符をどの程度の速さで演奏するかを規定(指定)するためのデータである。
【0081】
したがって、DSP52は、BGMに対応するオーディオデータを生成する際、このテンポデータ722に従って、たとえば、メトロノームがカチカチと音を立てるのと同様に、カチカチと音を立てるタイミングでハイレベルとなるパルスを含むパルスデータを生成する。ただし、パルス幅は、拍(単位音符)の長さによって決定され、デフォルトのテンポデータでは、単位音符が存在する表の拍子と単位音符が存在しない裏の拍子との時間間隔が同じ間隔に設定される。
【0082】
トラックデータ724,726,728,730は、それぞれ、該当するコンダクタデータ(72a,72b,72c,…)に基づく楽曲(BGM)の演奏を担当する1または2以上のパート(楽器やオーケストラなど)についてのデータである。このトラックデータ724(トラックデータ726,728,730も同様)は、音色グループ番号データ724a、フレーズグループ番号データ724b、リズムグループ番号データ724c、リズムの選択方法識別データ724d、演奏期間データ724e、演奏休止期間データ724f、音量データ724g、音響データ724hおよび移調データ724iによって構成される。
【0083】
音色グループ番号データ724aは、プログラム(音色)グループ(Prog)に付加される番号(記号)を示すデータである。ただし、音色グループの番号(記号)に変えて、音色グループの名称を示すデータであってもよい。したがって、この音色グループデータ724aを参照することにより、当該トラック724の再生に使用する音波形データ(Wave_a,Wave_b,Wave_c,…)の番号を記憶する記憶領域を特定することができる。
【0084】
フレーズグループ番号データ724bは、フレーズグループ(Tips)に付加される番号(記号)を示すデータである。ただし、フレーズグループの番号(記号)に変えて、フレーズグループの名称を示すデータであってもよい。したがって、このフレーズグループ番号データ724bを参照することにより、当該トラック724の再生に使用するフレーズデータの番号を記憶する記憶領域を特定することができる。
【0085】
リズムグループ番号データ724cは、リズムグループ(Rhythms)に付加される番号(記号)を示すデータである。ただし、リズムグループの番号(記号)名称に変えてグループの名称を示すデータであってもよい。したがって、このリズムグループ番号データ724cを参照することにより、当該トラック724の再生に使用するリズムグループ(リズムパターン)を記憶する記憶領域を特定することができる。
【0086】
リズム選択方法識別データ724dは、選択されたリズムグループ内におけるリズムデータ…の選択方法を識別するデータである。この実施例では、リズムデータをテーブルの順番に従って選択する順次選択方法とリズムデータをランダムに選択するランダム選択方法とがあり、このリズム選択方法識別データ724dを参照することにより、当該トラックの再生に使用するリズムデータの選択方法が識別される。
【0087】
演奏期間データ724eは、楽曲の演奏期間を指定(規定)するためのデータであり、具体的には、選択されたリズムグループ(リズムパターン)におけるリズムデータの選択回数によって決定される。ただし、厳密に言うと、順次選択方法とランダム選択方法とでは、リズムデータの選択回数のカウントの仕方が異なる。順次選択方法では、選択されたリズムパターンに含まれるリズムデータをすべてカウントしたときに、1周期(1サイクル)がカウントされる。一方、ランダム選択方法では、選択されたリズムパターンに含まれるリズムデータが選択される毎に、1サイクルがカウントされる。つまり、演奏期間データ724eは、このサイクル数を示すデータである。
【0088】
演奏休止期間データ724fは、楽曲の演奏休止期間を指定するためのデータであり、演奏期間データ724eと同様に、選択されたリズムグループ(リズムパターン)におけるリズムデータの選択回数を示すデータである。ただし、順次選択方法とランダム選択方法とでは、選択回数すなわちサイクルのカウントの仕方が異なる点は、演奏期間データ724eの場合と同じである。このように、演奏休止期間についても、リズムデータの選択回数で指定するのは、演奏休止状態から演奏を再開する場合に、音の出力タイミングがずれるのを防止するためである。
【0089】
音量データ724gは、音量(音の大きさ)を示すデータある。音響データ724hは、定位(サラウンド)の大きさを示すデータである。移調データ724iは、移調(転調)の幅を示すデータであり、「♭」や「♯」などの変記号に相当するデータである。
【0090】
たとえば、この実施例のゲームは、主人公であるプレイヤキャラクタが、仲間(味方)のキャラクタであるピクミンを率いて、敵キャラクタと戦闘するなどの様々なイベントをクリアすることにより、最終的な目的を達成するものである。このゲームでは、ピクミンは、植物と動物の両方の特徴を兼ね揃えた生命体であり、頭の先にある芽が地面から伸びていて、プレイヤキャラクタがその芽を引っこ抜くことにより、仲間に(隊列に)加わる。また、プレイヤキャラクタはメイン(主)とサブ(副)の2人存在し、プレイヤはコントローラ22(操作手段26)を操作して、それらを適宜切り換えることにより、様々なイベントを効率よくクリアして行く。
【0091】
簡単に説明すると、メインのプレイヤキャラクタ(以下、「メインキャラクタ」という。)およびサブのプレイヤキャラクタ(以下、「サブキャラクタ」という。)は、共に行動することができ、この場合には、メインキャラクタおよびサブキャラクタの両方にピクミンの隊列がついてくる。また、プレイヤは、必要に応じて、メインキャラクタとサブキャラクタとを切り離して、個別に操作することができ、この場合には、メインキャラクタとサブキャラクタとのそれぞれに、分割されたピクミンの隊列がついてくる。したがって、たとえば、メインキャラクタは、自身についてきたピクミンの隊列を敵キャラクタと戦闘させることができ、他方で、サブキャラクタは、自身についてきたピクミンの隊列に橋を作るなどの作業をさせることができる。
【0092】
また、戦闘シーンにおいては、敵キャラクタにピクミンが食べられてしまう場合があり、これにより、メインキャラクタおよびサブキャラクタについてくるピクミンの隊列が減少する。
【0093】
このようなAIアクションゲームやロールプレイングゲームなどでは、通常、ゲームの進行中では、BGMが演奏され、当該BGMはゲームの進行状況などに応じて変化される。たとえば、通常のゲーム世界が表示されている場合と戦闘シーンとでは、異なるBGMが演奏される。
【0094】
しかし、一般的なロールプレイングゲームでは、同じシーン(場面)においては、同じBGMが演奏されるため、プレイヤがゲームを繰り返している間に、BGMに飽きてしまい、ゲーム自体への興味も減退してしまう恐れがあった。
【0095】
これを回避するため、この実施例では、毎回BGMを生成し、同じシーンであっても、同じBGMが演奏されるのを可及的に防止するようにしてある。これにより、ゲームに対する興味の減退を回避してある。
【0096】
具体的には、図2に示したCPU36が図3に示したようなゲームプログラムを実行することにより、図8および図9に示すフロー図を処理する。図8に示すように、CPU36はゲーム処理を開始すると、ステップS1で、ゲームメイン処理を実行する。
【0097】
詳細な説明は省略するが、このステップS1では、ゲームの進行を制御したり、ゲームの進行に応じたゲーム画面を表示したり、プレイヤキャラクタや敵キャラクタの表示を制御したりなどする。たとえば、プレイヤがコントローラ22の操作手段26のうち、アナログジョイスティック(または3Dジョイスティック)を操作すると、これに応じて、CPU36は、ジョイスティックの傾斜方向および傾斜量のデータをコントローラI/F56から受けて、そのデータに基づいて、プレイヤキャラクタの位置をゲーム世界(ワールド座標系)において変更する。
【0098】
また、ゲームの進行中では、その進行状況等に応じたBGMが演奏される。たとえば、戦闘シーンでは、当該戦闘シーンに対応したコンダクタデータが選択され、選択されたコンダクタデータに基づいてBGMデータが生成される。そして、CPU36の指示に従って、DSP52がBGMデータに従ってオーディオデータを生成する。生成されたオーディオデータは、オーディオI/F62でオーディオ信号に変換された後、スピーカ34aから出力される。すなわち、BGMが演奏される。このBGMの生成出力(再生)の処理については、後で詳細に説明する(図10〜図16参照)。
【0099】
続くステップS3では、敵キャラクタが一定範囲内に存在するかどうかを判断する。ステップS3で“NO”であれば、つまり敵キャラクタが一定範囲内に存在しない場合には、そのままステップS13に進む。一方、ステップS3で“YES”であれば、つまり敵キャラクタが一定範囲内に存在する場合には、ステップS5で、敵キャラクタが戦闘状態かどうかを判断する。ステップS5で“NO”であれば、つまり敵キャラクタが戦闘状態でない場合には、ステップS11で、現在演奏されているBGMについてのコンダクタデータに、敵キャラクタの存在を音(音楽)で表現するためのトラック(敵気配トラック)データを加えて、図9に示すステップS35に進む。
【0100】
一方、ステップS5で“YES”であれば、つまり敵キャラクタが戦闘状態である場合には、ステップS7で、戦闘フラグ80aをオンし、ステップS9で、現在演奏されているBGMについてのコンダクタデータに、戦闘シーンを音(音楽)で表現するためのトラック(戦闘トラック)データを加えて、図9に示すステップS35に進む。
【0101】
ステップS13では、イベントが進行しているかどうかを判断する。この実施例では、イベントは、複数のピクミンが物や戦闘により倒した敵キャラクタを運んだり、ゲートの破壊や橋建設などの通路確保の仕事をしたりしている状態を意味する。ステップS13で“YES”であれば、つまりイベントが進行している場合には、ステップS15で、現在演奏されているBGMについてのコンダクタデータに、イベントが進行していることを音(音楽)で表現するためのトラック(イベントトラック)データを加えて、図9に示すステップS35に進む。
【0102】
一方、ステップS13で“NO”であれば、つまりイベントが進行していない場合には、ステップS17で、隊列を成しているピクミンが一定数(たとえば、30匹)以下かどうかを判断する。ステップS17で“NO”であれば、つまり隊列を成しているピクミンが一定数を超えている場合には、図9に示すステップS23に進む。しかし、ステップS17で“YES”であれば、つまり隊列を成しているピクミンが一定数以下である場合には、ステップS19で、ピクミンがそのステージ(戦闘シーン)において一匹以上死んだかどうかを判断する。
【0103】
ステップS19で“NO”であれば、つまりピクミンがそのステージにおいて死んでいない場合には、図9に示すステップS23に進む。一方、ステップS19で“YES”であれば、つまりピクミンがそのステージにおいて一匹以上死んだ場合には、ステップS21で、ピクミンの隊列が減ったことを判別するためのフラグすなわち隊列少数フラグ80bをオンしてから、図9に示すステップS35に進む。
【0104】
このように、ピクミンが一定数以下であり、かつピクミンがステージ上で死んだ場合に、隊列少数フラグ80bをオンするようにしてあるのは、当該ゲームの開始時点において、隊列を成しているピクミンの数が一定数以下である場合と区別するためである。
【0105】
図9に示すように、ステップS23では、プレイヤキャラクタの体力が一定レベル以下であるかどうかを判断する。ステップS23で“YES”であれば、つまりプレイヤキャラクタの体力が一定レベル以下であれば、ステップS25で、プレイヤキャラクタの体力が減少したことを判別するフラグすなわち体力減少フラグ80cをオンして、ステップS35に進む。
【0106】
一方、ステップS23で“NO”であれば、つまりプレイヤキャラクタの体力が一定レベルを超えている場合には、ステップS27で、ゲーム世界における地形が開けているかどうかを判断する。ステップS27で“YES”であれば、つまりゲーム世界における地形が開けている場合には、ステップS29で、現在演奏されているBGMについてのコンダクタデータに、地形が開けていること(広闊)を音(音楽)で表現するためのトラック(広闊トラック)データを加えて、ステップS35に進む。
【0107】
しかし、ステップS27で“NO”であれば、つまりゲーム世界における地形が開けていない場合には、ステップS31で、プレイヤキャラクタがサブ(サブキャラクタ)かどうかを判断する。ステップS31で“NO”であれば、つまりプレイヤキャラクタがメイン(メインキャラクタ)であれば、そのままステップS35に進む。一方、ステップS31で“YES”であれば、つまりプレイヤキャラクタがサブキャラクタである場合には、ステップS33で、演奏されるBGMのテンポのカウント方法を変更するか否かを判別するためのフラグすなわちスウィングフラグ80dをオンして、ステップS35に進む。
【0108】
ステップS35では、その他のゲーム処理を実行する。その他のゲーム処理としては、ゲームの進行によって発生したゲームデータのバックアップ(セーブ)処理などが該当する。たとえば、ゲームの進行に従って、ゲームデータがメインメモリ40のワーク領域(図示せず)に書き込まれ、ゲームデータは逐次更新される。そして、プレイヤの指示や所定のイベントに従って、バックアップ処理が実行されると、メインメモリ40のワーク領域に書き込まれているゲームデータが外部メモリI/F60を介してメモリカード30に記憶される(図2)。
【0109】
続くステップS37では、ゲーム終了かどうかを判断する。ステップS37で“NO”であれば、つまりゲーム終了でなければ、ステップS1に戻る。一方、ステップS37で“YES”であれば、つまりゲーム終了であれば、ゲーム処理を終了する。
【0110】
図10〜図16はBGMの生成および再生処理を示すフロー図である。なお、このBGMの生成および再生処理は、1つのトラックについての処理であり、コンダクタデータに、2つ以上のトラックデータが含まれる場合には、それぞれのトラックについて同じ処理が同時(並列)に実行される。
【0111】
図10に示すように、CPU36はBGMの生成および再生処理を開始すると、ステップS41で、BGMストップコールすなわち再生の停止指示(停止命令)があるかどうかを判断する。ステップS41で“YES”であれば、つまりBGMストップコールがある場合には、ステップS43で、現在演奏中のBGMをストップする。つまり、BGMデータの再生を停止する。そして、ステップS45で、初期化を実行し、BGMの生成および再生処理をリターンして、図8に示したステップS1のゲームメイン処理に戻る。
【0112】
このステップS45における初期化では、Tips(フレーズグループ番号)=00,Rythms(リズムグループ番号)=00,リズムステップカウンタ=00,演奏期間フラグ=0(オフ),演奏期間カウンタ=00,演奏休止期間カウンタ=00,フレーズ番号=00およびフレーズ連続カウンタ=00のそれぞれを設定する。
【0113】
一方、ステップS41で“NO”であれば、つまりBGMストップコールがない場合には、ステップS47で、新しいBGMコールすなわち新しいBGMの再生指示(再生命令)があるかどうかを判断する。ステップS47で“NO”であれば、つまり新しいBGMコールがない場合には、そのままステップS55に進む。一方、ステップS47で“YES”であれば、ステップS49で、現在演奏中のBGMをストップし、ステップS51で、初期化を実行し、ステップS53で、新しいBGMの再生を開始して、ステップS55に進む。
【0114】
ステップS51の初期化では、Tips(フレーズグループ番号)=指定値,Rhythms(リズムグループ番号)=指定値,リズムステップカウンタ=00,演奏期間フラグ=1(オン),演奏期間カウンタ=指定値,演奏休止期間カウンタ=指定値,フレーズ番号=00およびフレーズ連続カウンタ=00のそれぞれを設定する。
【0115】
ここで、指定値とは、コンダクタデータによって指定される値を意味する。したがって、たとえば、Tipsには、フレーズグループ番号データ(724b)が示す値(番号)が設定され、Rhythmsには、リズムグループ番号データ(724c)が示す値(番号)が設定され、演奏期間カウンタ82bには、演奏期間データ(724e)が示す値が設定され、演奏休止期間カウンタ82cには、演奏休止期間データ(724f)が示す値が設定される。
【0116】
ステップS55では、リズムの選択方法がランダムモード(ランダム選択方法)であるかどうかを判断する。具体的には、当該トラックデータ(724)に含まれるリズム選択方法識別データ(724d)に基づいて順次選択方法かランダム選択方法かを判別する。ステップS55で“YES”であれば、つまりランダム選択方法である場合には、図14にステップS129に進む。
【0117】
一方、ステップS55で“NO”であれば、つまり順次選択方法である場合には、ステップS57で、リズムステップカウンタ82aのカウント値が“00”であるかどうかを判断する。ステップS57で“NO”であれば、つまりリズムステップカウンタ82aのカウント値が“00”でない場合には、図13に示すステップS103に進む。一方、ステップS57で“YES”であれば、つまりリズムステップカウンタ82aのカウント値が“00”である場合には、ステップS59で、選択されたリズムグループからリズムを順番に選択する。つまり、当該トラックデータ(724)に含まれるリズムグループ番号データ(724c)に従って1のリズムグループ記憶領域が選択され、この選択されたリズムグループ記憶領域に記憶されるリズムデータを先頭から順に選択する。たとえば、この実施例では、図4(C)に示したリズムグループ記憶領域において、上から順番にリズムデータが選択されるのである。
【0118】
図11に示すように、続くステップS61では、当該リズムグループのすべてのリズムを選択したかどうかを判断する。つまり、前回選択したリズムデータが当該グループ記憶領域の最後尾のリズムデータであるかどうかを判断する。ステップS61で“NO”であれば、つまり当該リズムグループのすべてのリズムを選択していない場合には、図12に示すステップS85に進む。一方、ステップS61で“YES”であれば、つまり当該リズムグループのすべてのリズムを選択した場合には、ステップS63で、当該リズムグループの先頭のリズムを選択し、ステップS65で、選択されたリズム(リズムデータ)のステップ数をリズムステップカウンタ82aに設定する。
【0119】
ここで、ステップ数は、予め決定した基準(所定)の音符(この実施例では、16分音符)を最小単位(この実施例では、30ステップ)とした場合における、選択された音符(リズム)のステップ数を意味する。したがって、たとえば、選択されたリズムデータが4分音符に対応する場合には、ステップ数として“120”が設定され、また、選択されたリズムデータが8分音符に対応する場合には、ステップ数として“60”が設定される。以下、同様である。
【0120】
続くステップS67では、演奏期間フラグ80eがオンであるかどうかを判断する。ステップS67で“NO”であれば、つまり演奏期間フラグ80eがオフである場合には、演奏休止期間であると判断して、ステップS69で、演奏休止期間カウンタ82cをデクリメントして、ステップS71で、演奏休止期間カウンタ82cのカウント値が“00”であるかどうかを判断する。
【0121】
ステップS71で“NO”であれば、つまり演奏休止期間カウンタ82cのカウント値が“00”でない場合には、図12のステップS89に進む。一方、ステップS71で“YES”であれば、つまり演奏休止期間カウンタ82cのカウント値が“00”である場合には、ステップS73で、演奏期間フラグ80eをオンし、ステップS75で、演奏休止期間カウンタ82cに指定値を設定して、図12に示すステップS91に進む。
【0122】
また、ステップS67で“YES”であれば、つまり演奏期間フラグ80eがオンである場合には、演奏期間であると判断して、ステップS77で、演奏期間カウンタ82bをデクリメントし、ステップS79で、演奏期間カウンタ82bのカウント値が“00”であるかどうかを判断する。ステップS79で“NO”であれば、つまり演奏期間カウンタ82bのカウント値が“00”でない場合には、そのまま図12に示すステップS91に進む。しかし、ステップS79で“YES”であれば、つまり演奏期間カウンタ82bのカウント値が“00”である場合には、ステップS81で、演奏休止期間カウンタ82cの指定値が“00”であるかどうかを判断する。
【0123】
ステップS81で“NO”であれば、つまり演奏休止期間カウンタ82cの指定値が“00”でない場合には、演奏休止期間があると判断して、図13に示すステップS107に進む。一方、ステップS81で“YES”であれば、つまり演奏休止期間カウンタ82cの指定値が“00”である場合には、演奏休止期間がないと判断して、ステップS83で、演奏期間カウンタ82bに指定値を設定して、図12に示すステップS91に進む。
【0124】
上述したように、図11のステップS61において、当該リズムグループのすべてのリズムを選択していないと判断した場合には、図12に示すように、ステップS85で、選択されたリズムのステップ数をリズムステップカウンタ82aに設定する。続くステップS87では、演奏期間フラグ80eがオンであるかどうかを判断する。ステップS87で“YES”であれば、つまり演奏期間フラグ80eがオンである場合には、そのままステップS91に進む。しかし、ステップS87で“NO”であれば、つまり演奏期間フラグ80eがオフである場合には、ステップS89で、戦闘フラグ80aがオンであるかどうかを判断する。
【0125】
ステップS89で“NO”であれば、つまり戦闘フラグ80aがオフである場合には、図13に示すステップS105に進む。一方、ステップS89で“YES”であれば、つまり戦闘フラグ80aがオンである場合には、ステップS91に進む。このように、演奏期間フラグ80eがオフの場合であっても、戦闘フラグ80aがオンの場合には、戦闘シーンにおいてBGMを強制的に演奏するために、ステップS91に進んで、演奏休止期間フラグ80fを無視するようにしてあるのである。
【0126】
ステップS91では、指定されているフレーズグループからフレーズをランダム(適当)に選択する。つまり、当該トラックデータ(724)に含まれるフレーズグループ番号(724b)に従って1のフレーズグループが選択され、この選択されたフレーズグループの記憶領域に記憶されるフレーズ番号が、たとえば、乱数によってランダムに選択される。そして、ランダムに選択されたフレーズ番号が示すフレーズデータをフレーズデータ記憶領域770から読み出す(選択する)のである。続くステップS93では、選択されたフレーズ番号とフレーズ番号記憶領域84に記憶されたフレーズ番号とが一致するかどうかを判断する。つまり、前回選択したフレーズデータと今回選択したフレーズデータとが同じであるかどうかを判断する。
【0127】
ステップS93で“YES”であれば、つまり選択されたフレーズ番号と記憶されたフレーズ番号とが一致する場合には、ステップS95で、フレーズ連続カウンタ82dをインクリメントし、ステップS97で、フレーズ連続カウンタ82dのカウント値が“03”以上かどうかを判断する。つまり、連続して同じフレーズデータが3回選択されたかどうかを判断する。ステップS97で“NO”であれば、つまりフレーズ連続カウンタ82dのカウント値が“03”未満である場合には、そのまま図13に示すステップS117に進む。一方、ステップS97で“YES”であれば、つまりフレーズ連続カウンタ82dのカウント値が“03”以上である場合には、連続して同じフレーズデータが3回選択されたと判断して、ステップS91に戻る。すなわち、連続して同じフレーズデータが3回選択された場合には、フレーズデータを選択し直して、3回以上連続して同じフレーズが演奏されるのを禁止してある。これにより、BGMが単調になるのを回避しているのである。
【0128】
一方、ステップS93で“NO”であれば、つまり選択されたフレーズ番号と記憶されたフレーズ番号とが一致しない場合には、選択されたフレーズ番号をメインメモリ40のフレーズ番号記憶領域84に記憶(上書き)し、ステップS101で、フレーズ連続カウンタ82dのカウント値を“00”に設定(リセット)して、図13に示すステップS117に進む。
【0129】
上述したように、図10のステップS57において、リズムステップカウンタ82aのカウント値が“00”であると判断した場合には、図13に示すように、ステップS103で、演奏期間フラグ80eがオンであるかどうかを判断する。ステップS103で“YES”であれば、つまり演奏期間フラグ80eがオンである場合には、演奏期間であると判断して、そのままステップS113に進む。一方、ステップS103で“NO”であれば、つまり演奏期間フラグ80eがオフである場合には、演奏休止期間であると判断して、ステップS105に進む。
【0130】
また、上述したように、図11のステップS81において、演奏休止期間カウンタ82cの指定値が“00”でないと判断した場合には、図13に示すように、ステップS107で、演奏期間フラグ80eをオフし、ステップS109で、演奏期間カウンタ82bに指定値を設定して、ステップS105に進む。
【0131】
ステップS105では、フレーズの再生中かどうかを判断する。ステップS105で“NO”であれば、つまりフレーズの再生中でない場合には、ステップS111で、フレーズを再生しないで、つまりフレーズの再生を休止して、ステップS127に進む。一方、ステップS105で“YES”であれば、つまりフレーズの再生中であれば、ステップS113で、選択されているフレーズを、選択されたリズムデータに従って再生し、ステップS115に進む。
【0132】
図17は、リズムの選択方法として順次選択方法が選択されている場合において、演奏するBGM(楽譜)を生成する方法を説明するための図解図である。たとえば、図17(A)に示すように、リズムグループ1(Rhythms01)が選択されると、順次選択方法では、リズムAデータ(Rhythm_a)780a,リズムBデータ(Rhythm_b)780bおよびリズムBデータ(Rhythm_b)780bの順番で、繰り返しリズムデータが選択される。
【0133】
また、たとえば、フレーズグループ1(Tips01)が選択されると、上述したように、このフレーズグループ1に含まれるフレーズ番号がランダムに選択される。そして、選択されたフレーズ番号が示すフレーズデータが選択される。ここでは、たとえば、図17(B)に示すように、フレーズBデータ(Tip_b)770b、フレーズCデータ(Tip_c)770c、フレーズAデータ(Tip_a)770a、フレーズAデータ(Tip_a)770a、フレーズDデータ(Tip_d)770dおよびフレーズBデータ(Tip_b)770bの順番でフレーズが選択されたとする。
【0134】
図17(A)に示すリズムデータ(音符)は、それぞれ、図17(B)に示すフレーズデータ(フレーズ)に対応する。また、上述したように、リズムデータは、フレーズデータを演奏するための演奏の長さおよび発音タイミングを規定するため、フレーズは、それぞれ、対応するリズムに従ってその一部が抽出され、図17(C)に示すような楽譜(ノート)が生成される。
【0135】
つまり、最初(1番目)のリズムAデータ780aと対応するフレーズBデータ770bは、リズムAデータ780aに対応する4分音符に相当する長さだけ抽出される。つまり、フレーズBデータ770bに対応するフレーズの最初の16分音符、2番目の16分音符および3番目の16分音符が抽出される。
【0136】
なお、図面においては、抽出するフレーズを分かり易く示すために、当該フレーズの一部を四角枠で囲んである。また、リズムデータに対応する音符の音の長さおよび抽出したフレーズの長さを、バーグラフで相対的に示してある。以下、同様である。
【0137】
また、2番目のリズムBデータ780bと対応するフレーズCデータ770cでは、1番目の8分音符が抽出される。3番目のリズムBデータ780bと対応するフレーズAデータ770aでは、1の音符(2分音符)で構成されるフレーズであるため、当該2分音符の示す音が、リズムBデータ780bに対応する8分音符に相当する長さだけ抽出される。4番目のリズムAデータ780aと対応するフレーズAデータ770aもまた、2分音符の示す音が、リズムAデータ780aに対応する4分音符の長さだけ抽出される。5番目のリズムBデータ780bと対応するフレーズDデータ770dでは、1番目の4分音符が示す音が、リズムBデータ780bに対応する8分音符に相当する長さだけ抽出される。そして、6番目のリズムBデータ780bと対応するフレーズBデータ770bでは、最初の16分音符および2番目の16分音符が抽出される。
【0138】
したがって、図17(C)に示すような楽譜が生成される。この楽譜に対応するデータがBGMデータである。ただし、上述したように、このBGMの生成再生処理では、1つのトラックについての処理であるため、コンダクタデータが2つ以上のトラックデータを含む場合には、それぞれで生成されたBGMデータをまとめて、BGMデータと言うこともできる。
【0139】
CPU36は、このBGMデータをコンダクタデータ(720)に含まれるテンポデータ(722)に従って再生するとともに、トラックデータ(724)に含まれる音色グループ番号データ724aが示す音色データ(音波形データ)、音量データ(724g)が示す音量(音の大きさ)および音響データ(724h)が示す音響の大きさを指定する。つまり、DSP52にテンポデータ722に従うBGMデータが与えられるとともに、使用する音色データ、音量データおよび音響データが与えられ(指定され)、これに従って、DSP52は、BGMデータについてのオーディオデータを生成する。このオーディオデータが、オーディオI/F62を介してスピーカ34aに出力される。つまり、BGMが演奏(再生)される。
【0140】
なお、図17に示す例では、リズムデータおよびフレーズデータが、それぞれ、6回選択された状態を示してあるが、リズムデータおよびフレーズデータが一回選択される毎に、選択されたリズムに従うフレーズが再生され、リズムが指定する長さ分のフレーズが再生されると、次のリズムデータおよびフレーズデータが選択される。このような処理が繰り返され、BGMが再生されるのである。
【0141】
また、図18は、演奏期間および演奏休止期間が規定(指定)される場合の演奏方法を説明するための図解図である。この図18に示す例では、リズムグループ1(Rhythms01)が選択され、フレーズグループ2(Tips02)が選択され、さらに、演奏期間(OnCycle)カウンタ82bに指定値“02”が設定され、演奏休止期間(OffCycle)カウンタ82cに指定値“03”が設定されている場合について説明する。
【0142】
図18(A)に示すように、リズムの選択方法として順次選択方法が選択された場合には、上述したように、リズムデータが順次選択され、フレーズデータがランダムに選択される。ただし、図18においては、簡単のため、フレーズを四角枠およびその枠内の模様(斜線や白抜き)で示してある。また、四角枠の長さ(幅)が抽出したフレーズに相当し、点線で示す四角枠は、演奏が休止されることを示している。
【0143】
上述したように、順次選択方法が選択されている場合には、リズムパターンを構成するリズムデータをすべて選択したときに、1周期(1サイクル)をカウントする。したがって、演奏期間カウンタ82bに指定値“02”が設定されると、この演奏期間カウンタ82bは、リズムパターンを構成する、リズムAデータ780a、リズムBデータ780bおよびリズムBデータ780bがすべて選択されたときにデクリメントされ、すなわちリズムパターンを選択する毎にデクリメントされ、演奏期間カウンタ82bのカウント値が“00”になると、演奏を停止する。演奏が停止されると、演奏休止期間カウンタ82cに指定値“03”が設定され、この演奏休止期間カウンタ82cもまた、リズムパターンを構成する、リズムAデータ780a、リズムBデータ780bおよびリズムBデータ780bをすべて選択されたときにデクリメントされ、すなわちリズムパターンが選択される毎にデクリメントされ、演奏休止期間カウンタ82cのカウント値が“00”になると、演奏を開始(再開)する。つまり、演奏休止状態から演奏状態に戻る(移行する)。
【0144】
つまり、リズムパターン(すべてのリズムデータ)の選択回数をカウントすることにより、演奏期間および演奏休止期間を計る(カウントする)ので、演奏休止状態から演奏状態に移行した場合であっても、フレーズの発音タイミングにずれが生じることはない。
【0145】
なお、この実施例では、演奏休止期間においては、たとえば、フレーズデータにマスクをかけることにより、音が出力されないようにしてある。
【0146】
図13に戻って、上述したように、図12のステップS97において、フレーズ連続カウンタ82dのカウント値が“03”未満であると判断されたり、同じく図12のステップS101において、フレーズ連続カウンタ82dに“00”を設定したりした場合には、この図13に示すように、ステップ117で、隊列少数フラグ80bがオンであるかどうを判断する。ステップS117で“NO”であれば、つまり隊列少数フラグ80bがオフである場合には、ステップS113に進む。一方、ステップS117で“YES”であれば、つまり隊列少数フラグ80bがオンである場合には、ステップS119で、選択されているフレーズの一部を適当に間引いてから、ステップS113に進む。つまり、一部の音を削除したフレーズを演奏することにより、隊列のピクミンが欠けたことを音により演出しているのである。たとえば、フレーズデータの一部にマスクをかければ、一部のフレーズを間引くことができる。
【0147】
ステップS115では、スウィングフラグ80dがオンかどうかを判断する。ステップS115で“YES”であれば、つまりスウィングフラグ80dがオンである場合には、ステップS121で、跳ねたリズムにするようにテンポのカウント方法を変更(スウィング)して、ステップS123に進む。上述したように、この実施例では、デフォルトのテンポは、1分間に演奏される単位音符の数で予め決定され、表の拍子と裏の拍子との時間間隔が同じ間隔に設定されるが、ステップS121では、表の拍子と裏の拍子との時間間隔が3対1の割合になるように変更する。これにより、跳ねた感じのリズムでBGMが演奏されるのである。
【0148】
具体的には、図19(A)に示すように、デフォルトのテンポ(Normal)では、表の拍子(On Beat)と裏の拍子(Off Beat)とでは、同じ時間間隔(1対1の割合)で、生成された楽譜すなわちBGMが演奏される。一方、図19(B)に示すように、スウィングする場合には、On Beatの期間とOff Beatの期間との時間間隔が3対1の割合になるように、テンポのカウント方法が変更され、すなわちDSP52によって生成されるパルスデータのパルス幅が変更され、変更されたテンポに従ってBGMが演奏される。また、図19(A)および図19(B)から分かるように、テンポのカウント方法が変更された場合には、一部の音符(厳密には音の長さ)が変更される。これは、On Beatの期間とOff Beatの期間との時間間隔の割合が変更されるためである。
【0149】
このように、テンポのカウント方法を変えることにより、プレイヤはゲーム画面だけでなく、演奏されるBGMによって、現在操作中のプレイヤキャラクタがメインキャラクタかサブキャラクタかを容易に判別することができるのである。以下、同様である。
【0150】
ステップS123では、体力減少フラグ80cがオンかどうかを判断する。ステップS123で“NO”であれば、つまり体力減少フラグ80cがオフであれば、そのままステップS127に進む。しかし、ステップS123で“YES”であれば、つまり体力減少フラグ80cがオンであれば、ステップS125で、テンポを落として、ステップS127に進む。たとえば、ステップS127では、1分間に演奏する単位音符の数がデフォルトのテンポの半分にするように、テンポを変更する。ただし、表の拍子と裏の拍子との時間間隔は同じ間隔である。つまり、デフォルトのテンポデータを時間軸方向に均等に引き延ばして、演奏速度を遅くしているのである。以下、同様である。
【0151】
ステップS127では、リズムステップカウンタ82aをデクリメントして、図10に示したステップS41に戻る。つまり、リズムステップカウンタ82aのカウント値が“00”になるまでは、選択されているリズムに従って、選択されているフレーズが再生され、リズムステップカウンタ82aのカウント値が“00”になると、次のリズムが選択されるとともに、次のフレーズがランダムに選択されるのである。
【0152】
また、上述したように、図10のステップS55において、リズムの選択方法がランダム選択方法であると判断した場合には、図14に示すように、ステップS129で、リズムステップカウンタ82aのカウント値が“00”であるかどうかを判断する。ステップS129で“NO”であれば、つまりリズムステップカウンタ82aのカウント値が“00”でない場合には、図16に示すステップS171に進む。一方、ステップS129で“YES”であれば、つまりリズムステップカウンタ82aのカウント値が“00”である場合には、ステップS131で、選択されたリズムグループの記憶領域からリズム(リズムデータ)をランダムに選択し、ステップS133で、選択されたリズムのステップ数をリズムステップカウンタ82aに設定する。
【0153】
続くステップS135では、演奏期間フラグ80eがオンであるかどうかを判断する。ステップS135で“NO”であれば、つまり演奏期間フラグ80eがオフである場合には、ステップS137で、演奏休止期間カウンタ82cをデクリメントして、ステップS139で、演奏休止期間カウンタ82cのカウント値が“00”かどうかを判断する。ステップS139で“NO”であれば、つまり演奏休止期間カウンタ82cのカウント値が“00”でない場合には、図15に示すステップS153に進む。一方、ステップS139で“YES”であれば、つまり演奏休止期間カウンタ82cのカウント値が“00”である場合には、ステップS141で、演奏期間フラグ80eをオンし、ステップS143で、演奏休止期間カウンタ82cに指定値を設定してから、図15に示すステップS155に進む。
【0154】
一方、ステップS135で“YES”であれば、つまり演奏期間フラグ80eがオンである場合には、ステップS145で、演奏期間カウンタ82bをデクリメントして、ステップS147で、演奏期間カウンタ82bのカウント値が“00”であるかどうかを判断する。
【0155】
ステップS147で“NO”であれば、つまり演奏期間カウンタ82bのカウント値が“00”でない場合には、そのまま図15に示すステップS155に進む。一方、ステップS147で“YES”であれば、つまり演奏期間カウンタ82bのカウント値が“00”である場合には、ステップS149で、演奏休止期間カウンタ82cの指定値が“00”であるかどうかを判断する。ステップS149で“NO”であれば、つまり演奏休止期間カウンタ82cの指定値が“00”でない場合には、演奏休止期間があると判断して、図16に示すステップS175に進む。一方、ステップS149で“YES”であれば、つまり演奏休止期間カウンタ82cの指定値が“00”である場合には、演奏休止期間がないと判断して、ステップS151で、演奏期間カウンタに指定値を設定してから、図15に示すステップS155に進む。
【0156】
上述したように、図14のステップS139において、演奏休止期間カウンタ82cのカウント値が“00”でないと判断した場合には、図15に示すように、ステップS153で、戦闘フラグ80aがオンかどうかを判断する。ステップS153で“NO”であれば、つまり戦闘フラグ80aがオンでない場合には、図16に示すステップS173に進む。一方、ステップS153で“YES”であれば、つまり戦闘フラグ80aがオンである場合には、ステップS155で、指定(選択)されているフレーズグループからフレーズ番号をランダムに選択して、選択したフレーズ番号が示すフレーズデータをフレーズデータ記憶領域770から読み出す(選択する)。
【0157】
続くステップS157では、選択されたフレーズ番号とフレーズ番号記憶領域84に記憶されたフレーズ番号とが一致するかどうかを判断する。つまり、続けて同じフレーズデータが選択されたかどうかを判断する。ステップS157で“YES”であれば、つまり選択されたフレーズ番号と記憶されたフレーズ番号とが一致する場合には、続けて同じフレーズデータが選択されたと判断して、ステップS159で、フレーズ連続カウンタ82dをインクリメントする。そして、ステップS161で、フレーズ連続カウンタ82dのカウント値が“03”以上であるかどうかを判断する。
【0158】
ステップS161で“YES”であれば、つまりフレーズ連続カウンタ82dのカウント値が“03”以上である場合には、続けて同じフレーズが3回選択されたと判断して、ステップS155に戻って、フレーズの選択をやり直す。一方、ステップS161で“NO”であれば、つまりフレーズ連続カウンタ82dのカウント値が“03”未満である場合には、続けて同じフレーズが選択された回数が2回以下であると判断して、そのままステップS167に進む。
【0159】
また、ステップS157で“NO”であれば、つまり選択されたフレーズ番号と記憶されたフレーズ番号とが一致しない場合には、続けて同じフレーズが選択されていないと判断して、ステップS163で、選択されたフレーズ番号をメインメモリ40のフレーズ番号記憶領域84に記憶(上書き)し、ステップS165で、フレーズ連続カウンタ82dのカウント値を“00”に設定(リセット)して、ステップS167に進む。
【0160】
ステップS167では、隊列少数フラグ80bがオンかどうかを判断する。ステップS167で“YES”であれば、つまり隊列少数フラグ80bがオンである場合には、ステップS169で、選択されているフレーズの一部を適当に間引いて、図16に示すステップS181に進む。一方、ステップS167で“NO”であれば、つまり隊列少数フラグ80bがオンでない場合には、そのまま図16に示すステップS181に進む。
【0161】
上述したように、図14のステップS129において、リズムステップカウンタ82aのカウント値が“00”でないと判断した場合には、図16に示すように、ステップS171で、演奏期間フラグ80eがオンであるかどうかを判断する。ステップS171で“YES”であれば、つまり演奏期間フラグ80eがオンである場合には、そのままステップS183に進む。一方、ステップS171で“NO”であれば、つまり演奏期間フラグ80eがオフである場合には、ステップS173に進む。
【0162】
また、上述したように、図14のステップS149において、演奏休止期間カウンタ82cの指定値が“00”でないと判断した場合には、図16に示すステップS175で、演奏期間フラグ80eをオフし、ステップS177で、演奏期間カウンタ82bに指定値を設定して、ステップS173に進む。
【0163】
ステップS173では、フレーズの再生中かどうかを判断する。ステップS173で“NO”であれば、つまりフレーズの再生中でない場合には、ステップS179で、フレーズの再生をせずに、そのままステップS191に進む。一方、ステップS173で“YES”であれば、つまりフレーズの再生中である場合には、ステップS181で、選択されているフレーズを、選択されたリズムに従って再生して、ステップS183に進む。
【0164】
図20は、リズムの選択方法としてランダム選択方法が選択された場合に、演奏するBGM(楽譜)を生成する方法を説明するための図解図である。たとえば、図20(A)に示すように、リズムグループ2(Rhythms02)が選択され、ランダム選択方法において、リズムAデータ(Rhythm_a)780a,リズムAデータ(Rhythm_a)780a,リズムBデータ(Rhythm_b)780b,リズムDデータ(Rhythm_d)780d、リズムBデータ(Rhythm_b)780bおよびリズムCデータ(Rhythm_c)780cが順に選択されたとする。
【0165】
また、たとえば、フレーズグループ1(Tips01)が選択され、上述したように、このフレーズグループ1に含まれるフレーズ番号がランダムに選択され、選択されたフレーズ番号に対応するフレーズデータがフレーズ記憶領域770から選択される。たとえば、図20(B)に示すように、フレーズBデータ(Tip_b)770b、フレーズCデータ(Tip_c)770c、フレーズAデータ(Tip_a)770a、フレーズBデータ(Tip_b)770b、フレーズDデータ(Tip_d)770dおよびフレーズDデータ(Tip_d)770dの順番でフレーズが選択されたとする。
【0166】
図20(A)に示す各リズムデータ(音符)は、図20(B)に示す各フレーズデータ(フレーズ)に対応し、上述したように、リズムデータは、フレーズデータを演奏するための演奏の長さおよび発音タイミングを規定する。したがって、図17に示した順次選択方法の場合と同様にして、図20(C)に示すような楽譜(ノート)が生成される。
【0167】
具体的には、最初(1番目)のリズムAデータ780aと対応するフレーズBデータ770bは、リズムAデータ780aに対応する4分音符に相当する長さだけ抽出される。つまり、フレーズBデータ770bに対応するフレーズの最初の16分音符、2番目の16分音符および3番目の16分音符が抽出される。
【0168】
同様に、2番目のリズムAデータ780aと対応するフレーズCデータ770cでは、1番目の8分音符、2番目の4分音符および3番目の8分音符が抽出される。3番目のリズムBデータ780bと対応するフレーズAデータ770aでは、1の音符(2分音符)で構成されるフレーズであるため、当該2分音符の示す音が、リズムBデータ780bに対応する8分音符に相当する長さだけ抽出される。4番目のリズムDデータ780dと対応するフレーズBデータ770bでは、1番目の16分音符、2番目の16分音符、3番目の8分音符および4番目の8分音符が抽出される。5番目のリズムBデータ780bと対応するフレーズDデータ770dでは、1番目の4分音符の示す音が、リズムBデータ780bに対応する8分音符に相当する長さだけ抽出される。そして、6番目のリズムCデータ780cと対応するフレーズDデータ770dでは、1番目の4分音符、2番目の4分音符、3番目の付点4分音符および4番目の8分音符が抽出される。
【0169】
なお、図20に示す例においても、図17に示した例と同様に、リズムデータおよびフレーズデータが、それぞれ、6回選択された状態を示してあるが、リズムデータおよびフレーズデータが一回選択される毎に、選択されたリズムに従うフレーズが再生され、リズムが指定する長さ分のフレーズが再生されると、次のリズムデータおよびフレーズデータが選択される。このような処理が繰り返され、BGMが再生されるのである。
【0170】
また、図18(B)に示すように、リズムの選択方法としてランダム選択方法が選択された場合には、上述したように、リズムデータおよびフレーズデータが、それぞれ、ランダムに選択される。また、上述したように、ランダム選択方法が選択されている場合には、リズムパターンを構成する1のリズムデータを選択する毎に、1周期(1サイクル)をカウントする。
【0171】
したがって、演奏期間カウンタ82bに指定値“02”が設定されると、この演奏期間カウンタ82bは、リズムデータが選択される毎にデクリメントされ、演奏期間カウンタ82bのカウント値が“00”になると、演奏を停止する。演奏が停止されると、演奏休止期間カウンタ82cに指定値“03”が設定され、この演奏休止期間カウンタ82cは、リズムデータが選択される毎にデクリメントされ、演奏休止期間カウンタ82cのカウント値が“00”になると、演奏休止状態から演奏状態に移行する(戻る)。
【0172】
なお、演奏休止期間においては、フレーズデータにマスクをかけるようにするのは、順次選択方法の場合と同じである。
【0173】
このように、ランダム選択方法においても、リズムデータの選択回数によって、演奏期間および演奏休止期間を計る(カウントする)ので、演奏休止状態から演奏状態に移行された場合であっても、フレーズの発音タイミングにずれが生じることはない。
【0174】
なお、BGMの再生については、上述の順次選択方法における場合と同じである。
【0175】
図16に戻って、ステップS183では、スウィングフラグ80dがオンであるかどうかを判断する。ステップS183で“YES”であれば、つまりスウィングフラグ80dがオンである場合には、ステップS185で、跳ねたリズムにするようにテンポのカウント方法を変更して、ステップS187に進む。一方、ステップS183で“NO”であれば、つまりスウィングフラグ80dがオフである場合には、そのままステップS187に進む。
【0176】
ステップS187では、体力減少フラグ80cがオンであるかどうかを判断する。ステップS187で“NO”であれば、つまり体力減少フラグ80cがオフである場合には、そのままステップS191に進む。一方、ステップS187で“YES”であれば、つまり体力減少フラグ80cがオンである場合には、ステップS189で、テンポを落としてから、ステップS191に進む。
【0177】
ステップS191では、リズムステップカウンタ82aをデクリメントして、図10に示したステップS41に戻る。つまり、リズムステップカウンタ82aのカウント値が“00”になるまでは、選択されているリズムに従って、選択されているフレーズが再生され、リズムステップカウンタ82aのカウント値が“00”になると、次のリズムがランダムに選択されるとともに、次のフレーズがランダムに選択されるのである。
【0178】
なお、このBGMの生成および再生処理においては省略したが、移調データ724iに従って、生成するBGMデータを移調させるようにしてもよい。たとえば、プレイヤの所定の操作、ゲームの進行状況或いは所定のイベント等に従ってオン/オフされるフラグ(移調フラグ)をフラグ記憶領域80に記憶しておき、移調フラグがオンである場合に、生成するBGMデータを移調させることができる。これにより、半音上げたり、半音下げたりなどしたBGMを演奏ることもできる。
【0179】
この実施例によれば、ゲーム進行状況に応じて選択されるコンダクタデータに従ってランダムに選択されるフレーズデータと所定のルールに従って選択されるリズムデータとからBGMデータを生成するので、同じBGMが演奏されるのを可及的に少なくすることができる。つまり、ゲームの趣向性を向上することができ、同じBGMが演奏されることに起因するゲーム自体への興味の減退を防止することができる。
【0180】
また、予め用意してあるフレーズデータやリズムデータを用いてBGMデータを生成するので、フレーズデータやリズムデータ(リズムパターン)を生成する必要がない。したがって、CPUの処理負担が増大することもない。
【0181】
なお、この実施例では、ピクミンの隊列が減った場合には、1のパート(トラック)において選択されたフレーズの一部を適当に間引いて再生するようにしたが、任意の1または複数のトラックの再生を停止するようにしてもよい。
【0182】
また、この実施例では、フレーズデータやリズムデータをグループに分けて複数記憶するようにしたが、いずれについても少なくとも1のグループを設けておけば、様々なBGMを生成することができる。
【0183】
さらに、この実施例では、プレイヤの操作やゲームの進行状況(イベント)等に応じて再生するBGMに変化を加えるようにしたが、これらは単なる例示に過ぎず、ゲームプログラマ等の設計者によって決定される事項である。つまり、任意のイベント等に応じて再生するBGMに変化を加える点に着目すべきである。
【0184】
また、この実施例では、図1に示したようなビデオゲーム装置についてのみ説明したが、モニタおよびスピーカが一体的に設けられるゲーム装置、携帯型ゲーム装置およびゲーム機能を備える携帯電話機などにも適用できることは言うまでもない。
【図面の簡単な説明】
【図1】この発明のゲームシステムの一例を示す図解図である。
【図2】図1実施例に示すビデオゲーム装置の電気的な構成を示すブロック図である。
【図3】図2に示すメインメモリのメモリマップを示す図解図である。
【図4】図2に示すメモリマップの一部を示す図解図である。
【図5】図2に示すARAMのメモリマップを示す図解図である。
【図6】図3に示すフレーズデータおよびリズムデータを示す図解図である。
【図7】図2に示すコンダクタデータのデータ構造を示す図解図である。
【図8】図2に示すCPUのゲーム処理の一部を示すフロー図である。
【図9】図2に示すCPUのゲーム処理の他の一部を示すフロー図である。
【図10】図2に示すCPUのBGMの生成および再生処理の一部を示すフロー図である。
【図11】図2に示すCPUのBGMの生成および再生処理の他の一部を示すフロー図である。
【図12】図2に示すCPUのBGMの生成および再生処理のその他の一部を示すフロー図である。
【図13】図2に示すCPUのBGMの生成および再生処理のさらに他の一部を示すフロー図である。
【図14】図2に示すCPUのBGMの生成および再生処理の他の一部を示すフロー図である。
【図15】図2に示すCPUのBGMの生成および再生処理のその他の一部を示すフロー図である。
【図16】図2に示すCPUのBGMの生成および再生処理のさらに他の一部を示すフロー図である。
【図17】順次選択方法でリズムを選択する場合のBGMの生成方法を示す図解図である。
【図18】演奏期間および演奏休止期間が規定される場合のBGMの演奏方法を示す図解図である。
【図19】通常のテンポとスウィング時のテンポとにおけるBGMの演奏方法を示す図解図である。
【図20】ランダム選択方法でリズムを選択する場合のBGMの生成方法を示す図解図である。
【符号の説明】
10 …ゲームシステム
12 …ゲーム装置
18 …光ディスク
22 …コントローラ
34 …モニタ
34a …スピーカ
36 …CPU
38 …メモリコントローラ
40 …メインメモリ
42 …GPU
52 …DSP
54 …ARAM
62 …オーディオI/F

Claims (9)

  1. 音色の発音の長さおよび音程を指定する異なる種類の複数のフレーズデータを音楽的特徴に基づくグループ毎に記憶するフレーズデータ記憶手段、
    フレーズを演奏するための演奏の長さおよび前記フレーズの発音タイミングを指定する2つ以上のリズムデータによって構成される少なくとも1種類のリズムパターンデータを記憶するリズムパターン記憶手段、
    少なくとも1つのパートで構成されるBGMデータを再生するBGMデータ再生手段、
    前記BGMデータに従って出力される音のデータを記憶する音色データ記憶手段、および
    前記BGMデータ再生手段によって再生されたBGMデータに従う音を出力する音出力手段を備えたゲーム装置に実行させるゲームBGM生成プログラムであって、
    前記ゲーム装置のプロセサに、
    前記フレーズデータ記憶手段に記憶された1のグループから1種類のフレーズデータをランダムに選択するフレーズ選択ステップ、
    前記リズムパターン記憶手段に記憶された1種類のリズムパターンデータから1つのリズムデータを所定のルールに従って選択するリズム選択ステップ、および
    前記フレーズ選択ステップによって選択されたフレーズデータと前記リズム選択ステップによって選択されたリズムデータとからBGMデータを生成するBGM生成ステップ、を実行させる、ゲームBGM生成プログラム。
  2. 前記リズム選択ステップは、1種類の前記リズムパターンデータからランダムにリズムデータを選択するランダム選択ステップを含む、請求項1記載のゲームBGM生成プログラム。
  3. 前記リズム選択ステップは、1種類の前記リズムパターンデータからリズムデータを所定の順番で選択する順次選択ステップを含む、請求項1または2記載のゲームBGM生成プログラム。
  4. 前記ゲーム装置は、同じフレーズが選択された回数をカウントする連続カウンタをさらに備え、
    前記フレーズ選択ステップは、前回選択されたフレーズデータと今回選択されたフレーズデータとが一致するとき、前記連続カウンタをインクリメントするインクリメントステップ、および前記連続カウンタのカウント値が所定値より大きいとき、フレーズデータを選択し直す再選択ステップを含む、請求項1ないし3のいずれかに記載のゲームBGM生成プログラム。
  5. 前記ゲーム装置は、プレイヤによる操作を入力する操作手段、およびBGMの演奏方法を変化させる演奏変化データを記憶する演奏変化データ記憶手段をさらに備え、
    少なくとも前記操作手段の操作に応じて演奏変化データを前記演奏変化データ記憶手段に記憶させる演奏変化データ記憶ステップ、および
    前記演奏変化データ記憶ステップによって前記演奏変化データ記憶手段に記憶された演奏変化データに応じて、前記BGMデータに所定の変化を加えるBGMデータ変化ステップを、前記プロセサにさらに実行させる、請求項1ないし4のいずれかに記載のゲームBGM生成プログラム。
  6. 前記BGMデータ変化ステップは、前記演奏変化データに従って前記BGMデータのテンポを変化させるテンポ変化ステップを含む、請求項5記載のゲームBGM生成プログラム。
  7. 前記ゲーム装置は、フレーズの演奏期間および演奏休止期間を指定する期間指定データを記憶する期間指定データ記憶手段をさらに備え、
    前記BGMデータ再生手段は、前記期間指定データに基づいて演奏休止期間におけるBGMデータの再生を休止させ、
    前記期間指定データによって指定される演奏期間および演奏休止期間をリズムデータの選択回数でカウントする期間カウントステップを前記プロセサにさらに実行させる、請求項1ないし6のいずれかに記載のゲームBGM生成プログラム。
  8. 音色の発音の長さおよび音程を指定する異なる種類の複数のフレーズデータを音楽的特徴に基づくグループ毎に記憶するフレーズデータ記憶手段、
    フレーズを演奏するための演奏の長さおよび前記フレーズの発音タイミングを指定する2つ以上のリズムデータによって構成される少なくとも1種類のリズムパターンデータを記憶するリズムパターン記憶手段、
    少なくとも1つのパートで構成されるBGMデータを再生するBGMデータ再生手段、
    前記BGMデータに従って出力される音のデータを記憶する音色データ記憶手段、および
    前記BGMデータ再生手段によって再生されたBGMデータに従う音を出力する音出力手段を備えたゲーム装置におけるゲームBGM生成方法であって、
    (a) 前記フレーズデータ記憶手段に記憶された1のグループから1種類のフレーズデータをランダムに選択し、
    (b) 前記リズムパターン記憶手段に記憶された1種類のリズムパターンデータから1つのリズムデータを順次的に或いはランダムに選択し、そして、
    (c) 前記ステップ(a) によって選択されたフレーズデータと前記ステップ(b) によって選択されたリズムデータとからBGMデータを生成する、ゲームBGM生成方法。
  9. 少なくともゲームの進行状況に応じたBGMを演奏するゲーム装置において、音色の発音の長さおよび音程を指定する異なる種類の複数のフレーズデータを音楽的特徴に基づくグループ毎に記憶するフレーズデータ記憶手段、
    フレーズを演奏するための演奏の長さおよび前記フレーズの発音タイミングを指定する2つ以上のリズムデータによって構成される少なくとも1種類のリズムパターンデータを記憶するリズムパターン記憶手段、
    少なくとも1つのパートで構成されるBGMデータを再生するBGMデータ再生手段、
    前記BGMデータに従って出力される音のデータを記憶する音色データ記憶手段、
    前記フレーズデータ記憶手段に記憶された1のグループから1種類のフレーズデータをランダムに選択するフレーズ選択手段、
    前記リズムパターン記憶手段に記憶された1種類のリズムパターンデータから1つのリズムデータを所定のルールに従って選択するリズムパターン選択手段、
    前記フレーズ選択ステップによって選択されたフレーズデータと前記リズムパターン選択ステップによって選択されたリズムデータとから前記BGMデータを生成するBGM生成手段、および
    前記BGMデータ再生手段によって再生されたBGMデータに従う音を出力する音出力手段を備えることを特徴とする、ゲーム装置。
JP2003123258A 2003-04-28 2003-04-28 ゲームbgm生成プログラム、ゲームbgm生成方法およびゲーム装置 Expired - Lifetime JP3839417B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2003123258A JP3839417B2 (ja) 2003-04-28 2003-04-28 ゲームbgm生成プログラム、ゲームbgm生成方法およびゲーム装置
US10/825,200 US7690993B2 (en) 2003-04-28 2004-04-16 Game music generating method and game apparatus
EP04252287A EP1473705B1 (en) 2003-04-28 2004-04-19 Generation of background music for games
DE602004012646T DE602004012646T2 (de) 2003-04-28 2004-04-19 Erzeugung von Hintergrundmusik für Spiele

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003123258A JP3839417B2 (ja) 2003-04-28 2003-04-28 ゲームbgm生成プログラム、ゲームbgm生成方法およびゲーム装置

Publications (2)

Publication Number Publication Date
JP2004325984A true JP2004325984A (ja) 2004-11-18
JP3839417B2 JP3839417B2 (ja) 2006-11-01

Family

ID=32985549

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003123258A Expired - Lifetime JP3839417B2 (ja) 2003-04-28 2003-04-28 ゲームbgm生成プログラム、ゲームbgm生成方法およびゲーム装置

Country Status (4)

Country Link
US (1) US7690993B2 (ja)
EP (1) EP1473705B1 (ja)
JP (1) JP3839417B2 (ja)
DE (1) DE602004012646T2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016077758A (ja) * 2014-10-21 2016-05-16 株式会社三洋物産 遊技機
JP2022019676A (ja) * 2020-07-17 2022-01-27 北京達佳互▲れん▼信息技術有限公司 オーディオの生成方法、オーディオの生成装置、サーバ、記憶媒体及びコンピュータプログラム

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1500079B1 (en) * 2002-04-30 2008-02-27 Nokia Corporation Selection of music track according to metadata and an external tempo input
JP3827094B2 (ja) * 2005-03-03 2006-09-27 株式会社コナミデジタルエンタテインメント ゲーム装置、ゲーム装置の制御方法及びプログラム
US20090301287A1 (en) * 2008-06-06 2009-12-10 Avid Technology, Inc. Gallery of Ideas
EP3122431A4 (en) * 2014-03-26 2017-12-06 Elias Software AB Sound engine for video games
US11559742B2 (en) 2019-05-23 2023-01-24 Nintendo Co., Ltd. Computer-readable non-transitory storage medium having game program stored therein, game system, game apparatus control method, and game apparatus
JP2023069573A (ja) * 2021-11-05 2023-05-18 任天堂株式会社 情報処理プログラム、情報処理装置、情報処理システム、及び情報処理方法

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3469289A (en) * 1969-02-06 1969-09-30 Nasa Quick release hook tape
US4956775A (en) * 1985-10-01 1990-09-11 Klamer R B Object sensor for detecting characteristics such as color for games
JP2830422B2 (ja) * 1989-09-04 1998-12-02 カシオ計算機株式会社 自動演奏装置
JP3271282B2 (ja) 1991-12-30 2002-04-02 カシオ計算機株式会社 自動メロディ生成装置
US5547049A (en) * 1994-05-31 1996-08-20 Lord Corporation Magnetorheological fluid composite structures
US5497861A (en) * 1994-06-27 1996-03-12 Brotz; Gregory R. Variable motion dampener
US6096962A (en) * 1995-02-13 2000-08-01 Crowley; Ronald P. Method and apparatus for generating a musical score
JPH08299032A (ja) * 1995-05-09 1996-11-19 Ykk Kk 成形面ファスナー
US5945193A (en) * 1995-12-06 1999-08-31 Velcro Industries B.V. Touch fastener with porous metal containing layer
JP3286683B2 (ja) * 1996-07-18 2002-05-27 衛 市川 旋律合成装置及び旋律合成方法
US5741185A (en) * 1997-02-05 1998-04-21 Toymax Inc. Interactive light-operated toy shooting game
US5814999A (en) * 1997-05-27 1998-09-29 Ford Global Technologies, Inc. Method and apparatus for measuring displacement and force
US6029783A (en) * 1998-04-16 2000-02-29 Wirthlin; Alvin R. Variable resistance device using electroactive fluid
FR2786070B1 (fr) * 1998-11-19 2000-12-22 Aplix Sa Bande stratifiee auto-agrippante
US6270409B1 (en) * 1999-02-09 2001-08-07 Brian Shuster Method and apparatus for gaming
US6257133B1 (en) * 1999-03-15 2001-07-10 International Paper Method and apparatus for controlling cross directional nip dynamics
DE19917726C1 (de) * 1999-04-20 2001-01-11 Daimler Chrysler Ag Lösbarer Verschluß
JP3496874B2 (ja) * 2000-02-23 2004-02-16 コナミ株式会社 ゲーム装置、ゲーム装置の制御方法、情報記憶媒体、ゲーム配信装置及びゲーム配信方法
US20010035087A1 (en) * 2000-04-18 2001-11-01 Morton Subotnick Interactive music playback system utilizing gestures
WO2001086630A2 (en) 2000-05-05 2001-11-15 Sseyo Limited Automated generation of sound sequences
JP3627636B2 (ja) * 2000-08-25 2005-03-09 ヤマハ株式会社 楽曲データ生成装置及び方法並びに記憶媒体
US20020076520A1 (en) * 2000-12-14 2002-06-20 Neeb Alexander J. Magnetic fastening system
US6544245B2 (en) * 2001-05-10 2003-04-08 Velcro Industries B.V. Bi-stable fastening
US6822153B2 (en) * 2001-05-15 2004-11-23 Nintendo Co., Ltd. Method and apparatus for interactive real time music composition
US6598274B1 (en) * 2002-04-11 2003-07-29 Koninklijke Philips Electronics N.V. Electrically releasable hook and loop fastener
US6752396B2 (en) * 2002-07-24 2004-06-22 Tommy R. Smith Method and system for playing trivia games

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016077758A (ja) * 2014-10-21 2016-05-16 株式会社三洋物産 遊技機
JP2022019676A (ja) * 2020-07-17 2022-01-27 北京達佳互▲れん▼信息技術有限公司 オーディオの生成方法、オーディオの生成装置、サーバ、記憶媒体及びコンピュータプログラム
US11883742B2 (en) 2020-07-17 2024-01-30 Beijing Dajia Internet Information Technology Co., Ltd. Method and device for audio generation

Also Published As

Publication number Publication date
DE602004012646D1 (de) 2008-05-08
US20040214638A1 (en) 2004-10-28
EP1473705B1 (en) 2008-03-26
US7690993B2 (en) 2010-04-06
JP3839417B2 (ja) 2006-11-01
DE602004012646T2 (de) 2009-06-18
EP1473705A1 (en) 2004-11-03

Similar Documents

Publication Publication Date Title
EP0978301B1 (en) Character display controlling device, display controlling method, and recording medium
US6699123B2 (en) Entertainment system, entertainment apparatus, recording medium, and program
EP1031363B1 (en) Music reproducing system, rhythm analyzing method and storage medium
US6554711B1 (en) Music game machine with interactive second game device
JP5177983B2 (ja) ダンスゲーム装置、ダンスゲーム採点方法およびコンピュータ読み取り可能な記憶媒体
US20070163427A1 (en) Systems and methods for generating video game content
US20100304865A1 (en) Simulated Guitar Controller with Split Strum Bar
US8147305B2 (en) Attacking a virtual enemy by corresponding input to output sound
US7096079B2 (en) Audio processing and image generating apparatus, audio processing and image generating method, recording medium and program
CN103093745B (zh) 演奏动作显示装置及方法
EP1114659A2 (en) Game system and computer-readable storage medium therefor
JP3839417B2 (ja) ゲームbgm生成プログラム、ゲームbgm生成方法およびゲーム装置
JP4757704B2 (ja) 音楽再生プログラム、音楽再生装置、音楽再生方法及び音楽再生システム
US8496516B2 (en) Game device, tempo announcement method, information recording medium and program
JP2004187706A (ja) ゲーム音楽演奏プログラム、ゲーム装置およびゲーム音楽演奏方法
JP4366240B2 (ja) ゲーム装置および音高付効果音生成プログラムならびに方法
US20010048762A1 (en) Image processing apparatus, image processing method, recording medium and program
JP4372571B2 (ja) ゲーム装置およびゲームプログラム
JP2000225272A (ja) ゲーム制御装置、ゲーム制御方法、ゲームプログラムを記録したコンピュータ読取り可能な記録媒体及びゲームシステム
JP3942720B2 (ja) 楽音生成装置、画像生成装置、ゲーム装置及び情報記憶媒体
JP2007014700A (ja) ゲームプログラム、ゲーム装置及びゲーム方法
JP3492357B1 (ja) ゲーム装置、ゲーム方法、ならびに、プログラム
JP2008253445A (ja) ゲーム機及びゲームプログラム
Kobayashi et al. Simple Multi-track Loop Sequencer for Minimal Music Using a Standard Gamepad
JP2005111091A (ja) 麻雀ゲーム機及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20041105

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20060720

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: 20060801

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20060802

R150 Certificate of patent or registration of utility model

Ref document number: 3839417

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20090811

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20090811

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20100811

Year of fee payment: 4

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

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

Free format text: PAYMENT UNTIL: 20100811

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20110811

Year of fee payment: 5

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

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

Free format text: PAYMENT UNTIL: 20110811

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20120811

Year of fee payment: 6

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

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

Free format text: PAYMENT UNTIL: 20120811

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20120811

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20130811

Year of fee payment: 7

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

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

Free format text: PAYMENT UNTIL: 20130811

Year of fee payment: 7

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

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