(57)【特許請求の範囲】
【請求項１】
プレイヤの操作に応答して物体が移動するゲームを、ゲーム画像上で表現するゲーム装置であって、
プレイヤの操作に応答して、少なくとも前記物体を加速移動させる加速操作入力データと前記物体を減速移動させる減速操作入力データとを入力させる操作手段と、
予め前記物体の加速音データを連続したアドレス空間に記憶した加速音記憶手段と、
予め前記物体の減速音データを連続したアドレス空間に記憶した減速音記憶手段と、
前記加速音記憶手段および前記減速音記憶手段に記憶された前記加速音データおよび前記減速音データの何れか一方を前記操作手段から入力する操作入力データに基づいて選択し、現在の前記物体のゲーム空間における移動速度に応じて当該選択された音データの読み出し開始アドレスを演算する読み出しアドレス演算手段と、
前記読み出しアドレス演算手段によって演算されたアドレスから、選択した音データを順次読み出す音データ読み出し手段と、
前記音データ読み出し手段で読み出された音データを音として発音させる音声出力制御手段とを備える、ゲーム装置。
【請求項２】
前記操作手段から入力する前記加速および減速操作入力データが一方から他方に変わる毎に、
前記読み出しアドレス演算手段は、前記読み出し開始アドレスの演算対象として前記加速音記憶手段のアドレスおよび前記減速音記憶手段のアドレスの一方から他方へ変更し、
前記音データ読み出し手段は、前記読み出しアドレス演算手段の演算対象の変更に応じて、新たに演算対象となった音データを前記読み出し開始アドレスから順次読み出すことによって、当該演算対象の変更前後で異なる音データを接続して読み出すことを特徴とする、請求項１に記載のゲーム装置。
【請求項３】
前記音データ読み出し手段が前記操作手段からの前記加速操作入力データに応答して前記加速音データを前記加速音記憶手段から順次読み出しているときに、前記操作手段から前記減速操作入力データが入力されたことに応じて、
前記読み出しアドレス演算手段は、前記音データ読み出し手段が読み出している前記加速音記憶手段の読み出しアドレスに相当する前記減速音記憶手段の読み出し開始アドレスを演算することを特徴とする、請求項１に記載のゲーム装置。
【請求項４】
前記音データ読み出し手段が前記操作手段からの前記減速操作入力データに応答して前記減速音データを前記減速音記憶手段から順次読み出しているときに、前記操作手段から前記加速操作入力データが入力されたことに応じて、
前記読み出しアドレス演算手段は、前記音データ読み出し手段が読み出している前記減速音記憶手段の読み出しアドレスに相当する前記加速音記憶手段の読み出し開始アドレスを演算することを特徴とする、請求項１に記載のゲーム装置。
【請求項５】
前記加速音記憶手段が記憶する加速音データは、少なくとも前記物体に対応する移動物が現実世界において最低速度から最高速度まで一定の加速度で加速したときの加速部分の音データを含み、
前記減速音記憶手段が記憶する減速音データは、少なくとも前記物体に対応する移動物が現実世界において前記最高速度から前記最低速度まで一定の加速度で減速したときの減速部分の音データを含んでいることを特徴とする、請求項１に記載のゲーム装置。
【請求項６】
さらに、前記加速音記憶手段が記憶する加速音データは、前記物体に対応する移動物が現実世界において前記最高速度で一定の速度で移動した最高速度一定部分の音データを前記加速部分の音データに連続して含んでおり、
前記音データ読み出し手段は、前記操作手段から前記加速操作入力データの入力が所定の時間以上継続したとき、前記最高速度一定部分の加速音データを繰り返して読み出すことを特徴とする、請求項５に記載のゲーム装置。
【請求項７】
さらに、前記減速音記憶手段が記憶する減速音データは、前記物体に対応する移動物が現実世界において前記最低速度で一定の速度で動作した最低速度一定部分の音データを前記減速部分の音データに連続して含んでおり、
前記音データ読み出し手段は、前記操作手段から前記減速操作入力データの入力が所定の時間以上継続したとき、前記最低速度一定部分の減速音データを繰り返して読み出すことを特徴とする、請求項５に記載のゲーム装置。
【請求項８】
前記操作手段は、プレイヤの操作量に応答して前記物体を任意の割合で加速移動させる加速操作入力データの入力が可能であり、
前記音声出力制御手段は、前記加速操作入力データが示す加速移動の割合に応じて、前記音データ読み出し手段で読み出された加速音データの周波数を補正する加速音周波数補正手段を含む、請求項１に記載のゲーム装置。
【請求項９】
前記操作手段は、プレイヤの操作量に応答して前記物体を任意の割合で減速移動させる減速操作入力データの入力が可能であり、
前記音声出力制御手段は、前記減速操作入力データが示す減速移動の割合に応じて、前記音データ読み出し手段で読み出された減速音データの周波数を補正する減速音周波数補正手段を含む、請求項１に記載のゲーム装置。
【請求項１０】
記憶部、スピーカ、およびプレイヤによって操作される操作部が接続されたコンピュータに、プレイヤの操作に応答して物体が移動するゲームをゲーム画像上で表現する処理を実行させるゲームプログラムであって、
前記操作部の操作に応答して、少なくとも前記物体を加速移動させる加速操作入力データと前記物体を減速移動させる減速操作入力データとを入力する入力ステップと、
前記記憶部の連続したアドレス空間に予め記憶された前記物体の加速音データおよび減速音データの何れか一方を前記入力ステップで入力する操作入力データに基づいて選択し、現在の前記物体のゲーム空間における移動速度に応じて当該選択された音データの読み出し開始アドレスを演算する読み出しアドレス演算ステップと、
前記読み出しアドレス演算ステップによって演算された前記記憶部のアドレスから、選択した音データを順次読み出す音データ読み出しステップと、
前記音データ読み出しステップで読み出された音データを前記スピーカから音として発音させる音声出力制御ステップとを、前記コンピュータに実行させる、ゲームプログラム。
【請求項１１】
前記読み出しアドレス演算ステップは、前記入力ステップで前記操作部から入力する前記加速および減速操作入力データが一方から他方に変わる毎に、前記読み出し開始アドレスの演算対象として前記加速音データを記憶した前記記憶部のアドレスおよび前記減速音データを記憶した前記記憶部のアドレスの一方から他方へ変更する演算対象変更ステップを含み、
前記音データ読み出しステップは、前記演算対象変更ステップが演算対象を変更することに応じて、新たに演算対象となった音データを前記記憶部の読み出し開始アドレスから順次読み出すことによって、当該演算対象の変更前後で異なる音データを接続して読み出す読み出し対象変更ステップを含むことを特徴とする、請求項１０に記載のゲームプログラム。
【請求項１２】
前記読み出しアドレス演算ステップは、前記音データ読み出しステップが前記入力ステップによる前記加速操作入力データに応答して前記加速音データを前記記憶部から順次読み出しているときに、前記入力ステップによって前記減速操作入力データが入力されたことに応じて、前記音データ読み出しステップが読み出している前記加速音データを記憶した前記記憶部の読み出しアドレスに相当する前記減速音データを記憶した前記記憶部の読み出し開始アドレスを演算する演算対象変更ステップを含むことを特徴とする、請求項１０に記載のゲームプログラム。
【請求項１３】
前記読み出しアドレス演算ステップは、前記音データ読み出しステップが前記入力ステップによる前記減速操作入力データに応答して前記減速音データを前記記憶部から順次読み出しているときに、前記入力ステップによって前記加速操作入力データが入力されたことに応じて、前記音データ読み出しステップが読み出している前記減速音データを記憶した前記記憶部の読み出しアドレスに相当する前記加速音データを記憶した前記記憶部の読み出し開始アドレスを演算する演算対象変更ステップを含むことを特徴とする、請求項１０に記載のゲームプログラム。
【請求項１４】
予め前記記憶部に記憶された前記加速音データは、少なくとも前記物体に対応する移動物が現実世界において最低速度から最高速度まで一定の加速度で加速したときの加速部分の音データを含み、
予め前記記憶部に記憶された前記減速音データは、少なくとも前記物体に対応する移動物が現実世界において前記最高速度から前記最低速度まで一定の加速度で減速したときの減速部分の音データを含んでいることを特徴とする、請求項１０に記載のゲームプログラム。
【請求項１５】
さらに、予め前記記憶部に記憶された前記加速音データは、前記物体に対応する移動物が現実世界において前記最高速度で一定の速度で移動した最高速度一定部分の音データを前記加速部分の音データに連続して含んでおり、
前記音データ読み出しステップは、前記入力ステップによる前記加速操作入力データの入力が所定の時間以上継続したとき、前記最高速度一定部分の加速音データを繰り返して読み出す繰り返し読み出しステップを含むことを特徴とする、請求項１４に記載のゲームプログラム。
【請求項１６】
さらに、予め前記記憶部に記憶された前記減速音データは、前記物体に対応する移動物が現実世界において前記最低速度で一定の速度で動作した最低速度一定部分の音データを前記減速部分の音データに連続して含んでおり、
前記音データ読み出しステップは、前記入力ステップから前記減速操作入力データの入力が所定の時間以上継続したとき、前記最低速度一定部分の減速音データを繰り返して読み出す繰り返し読み出しステップを含むことを特徴とする、請求項１４に記載のゲームプログラム。
【請求項１７】
前記入力ステップは、プレイヤによって操作される前記操作部の操作量に応答して、前記物体を任意の割合で加速移動させる加速操作入力データを前記コンピュータに入力し、
前記音声出力制御ステップは、前記加速操作入力データが示す加速移動の割合に応じて、前記音データ読み出しステップで読み出された加速音データの周波数を補正する加速音周波数補正ステップを含む、請求項１０に記載のゲームプログラム。
【請求項１８】
前記入力ステップは、プレイヤによって操作される前記操作部の操作量に応答して、前記物体を任意の割合で減速移動させる減速操作入力データを前記コンピュータに入力し、
前記音声出力制御ステップは、前記減速操作入力データが示す減速移動の割合に応じて、前記音データ読み出しステップで読み出された減速音データの周波数を補正する減速音周波数補正ステップを含む、請求項１０に記載のゲームプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、物体を移動させるゲームにおいて、その物体動作に応じた移動音を発生するゲーム装置およびゲームプログラムに関し、より特定的には、プレイヤが少なくともアクセル操作を行ってコース上を車オブジェクトが走行するレーシングゲームにおいて、その車オブジェクトの走行に応じたエンジン音を発生するゲーム装置およびゲームプログラムに関する。
【０００２】
【従来の技術】
従来、レーシングゲーム等のビデオゲームでは、ゲーム空間で走行する車オブジェクトの走行動作やエンジン回転数に応じて、そのエンジン音がサウンドとして再生される。このエンジン音の再生においては、予め所定の運転条件に基づいて実際のエンジン音を録音する。そして、録音したサウンドデータをループ再生し、ゲーム中で車オブジェクトのエンジン回転が上下するのに合わせて、サウンドデータの周波数を上下する方法である。しかしながら、録音波形の周波数を変動させると、原音から音質がかけ離れる傾向があったため、例えば、出願人が開発した「マリオカート６４」（登録商標）では、改良した手法を用いていた。すなわち、低速時のエンジン音（１秒程度のループ波形）と、高速時のエンジン音（１秒程度のループ波形）とを予め登録しておき、両者を相互にクロスフェードさせるというものである。
【０００３】
また、エンジンのクランク軸が１燃焼サイクル分回転する時間に相当する長さを単位として、予め複数の範囲に分けたエンジンの運転状態各々について、波形をサウンドデータとして記憶しておく方法もある（例えば、特許文献１参照）。この特許文献１で開示された技術では、ゲーム空間におけるエンジン回転数に応じて、予め取得したサウンドデータの該波形のボリュームやピッチを変化（再生レートを上下）させることにより、少ない記憶容量で、より実際のエンジン音に近似した模擬音を発生させていた。
【０００４】
【特許文献１】
特開２０００−１０５７６号公報
【０００５】
【発明が解決しようとする課題】
しかしながら、低速時および高速時のエンジン音を予め登録しておき、両者を相互にクロスフェードさせる手法は、それぞれの音が重なることにより音質が濁ってしまう欠点があった。また、この手法および特許文献１で開示された手法は、現実のエンジン音を擬似的に再現しているに過ぎず、何れも原音から音質がかけ離れる傾向があった。例えば、現実のエンジン音は、そのエンジン回転数に固有の共振音、吸排気音、エンジンの負荷の違いによる機械音等が含まれているが、擬似的に再生する場合、これらの音を正確に再生できなかった。
【０００６】
それ故に、本発明の目的は、現実に近いエンジン音を再生可能にした、ゲーム装置およびゲームプログラムを提供することである。
【０００７】
【課題を解決するための手段および発明の効果】
上記目的を達成するために、本発明は、以下に述べるような特徴を有している。
第１の発明は、プレイヤの操作に応答して物体（実施例との対応関係を示せば、例えば車オブジェクト）が移動するゲームを、ゲーム画像上で表現するゲーム装置である。ゲーム装置は、操作手段（コントローラ６）、加速音記憶手段（ＡＲＡＭ３５の加速音データ記憶領域３５１）、減速音記憶手段（ＡＲＡＭ３５の減速音データ記憶領域３５２）、読み出しアドレス演算手段（実施例との対応関係を示せば、例えばステップＳ１３、Ｓ２１、Ｓ４３、Ｓ５３を実行するＣＰＵ３０；以下単にステップ番号だけを示す）、音データ読み出し手段（Ｓ１７、Ｓ２５、Ｓ４８、Ｓ５８）、および音声出力制御手段（Ｓ１７、Ｓ２５、Ｓ４８、Ｓ５８）を備えている。操作手段は、プレイヤの操作（Ａボタン６２のＯＮあるいはＯＦＦ）に応答して、少なくとも物体を加速移動させる加速操作入力データ（アクセルＯＮ：Ｓ１２、Ｓ４２）と物体を減速移動させる減速操作入力データ（アクセルＯＦＦ：Ｓ１２、Ｓ４２）とを入力させる。加速音記憶手段は、予め物体の加速音データ（加速音データＤｕ）を連続したアドレス空間（アドレスＡｕ）に記憶する。減速音記憶手段は、予め物体の減速音データ（減速音データＤｄ）を連続したアドレス空間（アドレスＡｄ）に記憶する。読み出しアドレス演算手段は、加速音記憶手段および減速音記憶手段に記憶された加速音データおよび減速音データの何れか一方を操作手段から入力する操作入力データに基づいて選択し、現在の物体のゲーム空間における移動速度に応じてこの選択された音データの読み出し開始アドレス（アドレスＡｕ（ａ−１）、Ａｄ（ｂ−１））を演算する。音データ読み出し手段は、読み出しアドレス演算手段によって演算されたアドレスから、選択した音データを順次読み出す。音声出力制御手段は、音データ読み出し手段で読み出された音データを音として発音させる。
【０００８】
上記第１の発明によれば、ゲーム上の物体の加減速動作に応じて、それらの加減速動作における動作パラメータに応じてそれぞれ予め連続的に記憶された加速音あるいは減速音データが連続的に再生されるため、現実に近い加速音あるいは減速音の再生が可能となる。また、再生される音データは、ゲーム中の物体の走行動作に基づいて選択されるため、ゲーム画面で表現される物体の走行動作とリンクさせて発音することができる。
【０００９】
第２の発明は、第１の発明に従属する発明であって、操作手段から入力する加速および減速操作入力データが一方から他方に変わる毎に（Ｓ１２、Ｓ４２）、読み出しアドレス演算手段は、読み出し開始アドレスの演算対象として加速音記憶手段のアドレスおよび減速音記憶手段のアドレスの一方から他方へ変更する（Ｓ１３、Ｓ２１、Ｓ４３、Ｓ５３）。この場合、音データ読み出し手段は、読み出しアドレス演算手段の演算対象の変更に応じて、新たに演算対象となった音データを読み出し開始アドレスから順次読み出す（Ｓ１７、Ｓ２５、Ｓ４８、Ｓ５８）ことによって、その演算対象の変更前後で異なる音データを接続して読み出す。
【００１０】
上記第２の発明によれば、プレイヤが物体を加速移動する指示から減速移動する指示に変更した場合、あるいは減速移動する指示から加速移動する指示に変更した場合、この変更に応じて再生される音データが、加速音から減速音データ、あるいは減速音から加速音データに変更される。そして、それらの音データは、その変更前後で物体の同じパラメータに基づいて接続されて読み出される。したがって、物体の走行動作が加速から減速、あるいは減速から加速の何れに変更されても、その走行動作に応じた加速音および減速音データを接続して音として発音することができる。また、加速音データあるいは減速音データの読み出し開始位置がゲーム上の物体の動作パラメータに基づいて指定されるため、両者の音データをつなぐ場合、それぞれの接続点を同じ動作パラメータを示す音データにすることが可能であるため、減速音および加速音データが違和感無く繋がる。
【００１１】
第３の発明は、第１の発明に従属する発明であって、音データ読み出し手段が操作手段からの加速操作入力データに応答して加速音データを加速音記憶手段から順次読み出しているときに、操作手段から減速操作入力データが入力される（Ｓ１８、Ｓ４９）。これに応じて、読み出しアドレス演算手段は、音データ読み出し手段が読み出している加速音記憶手段の読み出しアドレスに相当する減速音記憶手段の読み出し開始アドレス（アドレスＡｄ（ｂ−１））を演算する。
【００１２】
上記第３の発明によれば、プレイヤがゲーム中に物体を加速させる入力を行っているときには、対応する加速音データを連続的に読み出して再生し、加速中に減速させる入力を開始したときには、減速音データの最初ではなく、再生し終わった加速音データに対応した減速音データの読み出し位置をその動作パラメータに基づいて指定可能にすることによって、加速音および減速音データが違和感無く繋がった加減速音を再生することができる。
【００１３】
第４の発明は、第１の発明に従属する発明であって、音データ読み出し手段が操作手段からの減速操作入力データに応答して減速音データを減速音記憶手段から順次読み出しているときに、操作手段から加速操作入力データが入力される（Ｓ２６、Ｓ５９）。これに応じて、読み出しアドレス演算手段は、音データ読み出し手段が読み出している減速音データの読み出しアドレスに相当する加速音記憶手段の読み出し開始アドレス（アドレスＡｕ（ａ−１））を演算する。
【００１４】
上記第４の発明によれば、プレイヤがゲーム中に物体を減速させる入力を行っているときには、対応する減速音データを連続的に読み出して再生し、減速中に加速させる入力を開始したときには、加速音データの最初ではなく、減速音データが再生し終わった位置に対応した加速音データの位置から再生を開始できるように、加速音データの読み出し位置をその動作パラメータに基づいて指定可能にすることによって、減速音および加速音データが違和感無く繋がった加減速音を再生することができる。
【００１５】
第５の発明は、第１の発明に従属する発明であって、加速音記憶手段が記憶する加速音データは、少なくとも物体に対応する移動物が現実世界において最低速度（速度０）から最高速度（最高速度ｖｍａｘ）まで一定の加速度で加速したときの加速部分の音データ（加速音データＤｕ０〜Ｄｕ（ｍ−１））を含んでいる。減速音記憶手段が記憶する減速音データは、少なくとも物体に対応する移動物が現実世界において最高速度から最低速度まで一定の加速度で減速したときの減速部分の音データ（減速音データＤｄ０〜Ｄｄ（ｍ−１））を含んでいる。
【００１６】
上記第５の発明によれば、加速音および減速音記憶手段が予め記憶するそれぞれの加速音および減速音データは、一定加速度で加速および減速したときの音データであるため、音データ読み出し手段が読み出し開始位置から連続的に読み出し、音声出力制御手段が読み出された音データを音として発音させるとき、最低から最高速度までを範囲とした一定の加速度で加速あるいは減速するスムーズな加減速音を再生することができる。
【００１７】
第６の発明は、第５の発明に従属する発明であって、さらに、加速音記憶手段が記憶する加速音データは、物体に対応する移動物が現実世界において最高速度で一定の速度で移動した最高速度一定部分の音データ（加速音データＤｕ（ｍ）〜Ｄｕ（ｎ−１））を加速部分の音データに連続して含んでいる。音データ読み出し手段は、操作手段から加速操作入力データの入力が所定の時間以上継続したとき、最高速度一定部分の加速音データを繰り返して読み出す（Ｓ２０、Ｓ５２）。
【００１８】
上記第６の発明によれば、物体が最高速度一定で移動する場合、その移動音を時間制限なく再生することができる。また、最高速度まで加速した後、その最高速度で一定の速度で物体が移動する場合、両者の移動音が違和感無く繋がった移動音を再生することができる。
【００１９】
第７の発明は、第５の発明に従属する発明であって、さらに、減速音記憶手段が記憶する減速音データは、物体に対応する移動物が現実世界において最低速度で一定の速度で動作した最低速度一定部分の音データ（減速音データＤｄ（ｍ）〜Ｄｄ（ｎ−１））を減速部分の音データに連続して含んでいる。音データ読み出し手段は、操作手段から減速操作入力データの入力が所定の時間以上継続したとき、最低速度一定部分の減速音データを繰り返して読み出す（Ｓ２８、Ｓ６１）。
【００２０】
上記第７の発明によれば、物体が最低速度一定で移動あるいは停止する場合、その移動音あるいは停止時音を時間制限なく再生することができる。また、最低速度まで減速した後、その最低速度で一定の速度で物体が移動あるいは停止する場合、両者の音が違和感無く繋がった音を再生することができる。
【００２１】
第８の発明は、第１の発明に従属する発明であって、操作手段は、プレイヤの操作量（Ｒボタン６６ａの押し込み量）に応答して物体を任意の割合（アクセル開度）で加速移動させる加速操作入力データの入力が可能である。音声出力制御手段は、加速音周波数補正手段（Ｓ４５、Ｓ５０）を含む。加速音周波数補正手段は、加速操作入力データが示す加速移動の割合に応じて（アクセル開度補正係数ａｋ）、音データ読み出し手段で読み出された加速音データの周波数を補正する。
【００２２】
上記第８の発明によれば、プレイヤが任意の割合の加速移動が操作可能なゲームであっても、ゲーム上の物体の加速動作に応じて、その加速動作における動作パラメータに応じてそれぞれ予め連続的に記憶された加速音データが連続的に再生されるため、現実に近い加減速音の再生が可能となる。また、加速移動の割合に応じて加速音の周波数を補正することによって、自然な加速音が再生可能である。
【００２３】
第９の発明は、第１の発明に従属する発明であって、操作手段は、プレイヤの操作量（Ｌボタン６６ｂの押し込み量）に応答して物体を任意の割合（ブレーキ強度）で減速移動させる減速操作入力データの入力が可能である。音声出力制御手段は、減速音周波数補正手段（Ｓ５５）を含む。減速音周波数補正手段は、減速操作入力データが示す減速移動の割合に応じて（ブレーキ強度補正係数ｂｋ）、音データ読み出し手段で読み出された減速音データの周波数を補正する。
【００２４】
上記第９の発明によれば、プレイヤが任意の割合の減速移動が操作可能なゲームであっても、ゲーム上の物体の減速動作に応じて、その減速動作における動作パラメータに応じてそれぞれ予め連続的に記憶された減速音データが連続的に再生されるため、現実に近い減速音の再生が可能となる。また、減速移動の割合に応じて減速音の周波数を補正することによって、自然な減速音が再生可能である。
【００２７】
第１０の発明は、記憶部、スピーカ、およびプレイヤによって操作される操作部（コントローラ６）が接続されたコンピュータに、プレイヤの操作に応答して物体が移動するゲームをゲーム画像上で表現する処理を実行させるゲームプログラムである。ゲームプログラムは、入力ステップ（Ｓ１２、Ｓ４２）、読み出しアドレス演算ステップ（Ｓ１３、Ｓ２１、Ｓ４３、Ｓ５３）、音データ読み出しステップ（Ｓ１７、Ｓ２５、Ｓ４８、Ｓ５８）、および音声出力制御ステップ（Ｓ１７、Ｓ２５、Ｓ４８、Ｓ５８）をコンピュータに実行させる。入力ステップは、操作部の操作に応答して、少なくとも物体を加速移動させる加速操作入力データと物体を減速移動させる減速操作入力データとを入力する。読み出しアドレス演算ステップは、記憶部の連続したアドレス空間に予め記憶された物体の加速音データおよび減速音データの何れか一方を入力ステップで入力する操作入力データに基づいて選択し、現在の物体のゲーム空間における移動速度に応じてこの選択された音データの読み出し開始アドレスを演算する。音データ読み出しステップは、読み出しアドレス演算ステップによって演算された記憶部のアドレスから、選択した音データを順次読み出す。音声出力制御ステップは、音データ読み出しステップで読み出された音データをスピーカから音として発音させる。
【００２８】
上記第１０の発明によれば、コンピュータに実行させるゲームプログラムにおいて、ゲーム上の物体の加減速動作に応じて、それらの加減速動作における動作パラメータに応じてそれぞれ予め連続的に記憶された加速音あるいは減速音データが連続的に再生されるため、現実に近い加速音あるいは減速音の再生が可能となる。また、再生される音データは、ゲーム中の物体の走行動作に基づいて選択されるため、ゲーム画面で表現される物体の走行動作とリンクさせて発音することができる。
【００２９】
第１１の発明は、第１０の発明に従属する発明であって、読み出しアドレス演算ステップは、入力ステップで操作部から入力する加速および減速操作入力データが一方から他方に変わる毎に、読み出し開始アドレスの演算対象として加速音データを記憶した記憶部のアドレスおよび減速音データを記憶した記憶部のアドレスの一方から他方へ変更する演算対象変更ステップを含む。この場合、音データ読み出しステップは、演算対象変更ステップが演算対象を変更することに応じて、新たに演算対象となった音データを記憶部の読み出し開始アドレスから順次読み出すことによって、その演算対象の変更前後で異なる音データを接続して読み出す読み出し対象変更ステップを含む。
【００３０】
第１２の発明は、第１０の発明に従属する発明であって、読み出しアドレス演算ステップは、音データ読み出しステップが入力ステップによる加速操作入力データに応答して加速音データを記憶部から順次読み出しているときに、入力ステップによって減速操作入力データが入力されたことに応じて、音データ読み出しステップが読み出している加速音データを記憶した記憶部の読み出しアドレスに相当する減速音データを記憶した記憶部の読み出し開始アドレスを演算する演算対象変更ステップを含む。
【００３１】
第１３の発明は、第１０の発明に従属する発明であって、読み出しアドレス演算ステップは、音データ読み出しステップが入力ステップによる減速操作入力データに応答して減速音データを記憶部から順次読み出しているときに、入力ステップによって加速操作入力データが入力されたことに応じて、音データ読み出しステップが読み出している減速音データを記憶した記憶部の読み出しアドレスに相当する加速音データを記憶した記憶部の読み出し開始アドレスを演算する演算対象変更ステップを含む。
【００３２】
第１４の発明は、第１０の発明に従属する発明であって、予め記憶部に記憶された加速音データは、少なくとも物体に対応する移動物が現実世界において最低速度から最高速度まで一定の加速度で加速したときの加速部分の音データを含んでいる。予め記憶部に記憶された減速音データは、少なくとも物体に対応する移動物が現実世界において最高速度から最低速度まで一定の加速度で減速したときの減速部分の音データを含んでいる。
【００３３】
第１５の発明は、第１４の発明に従属する発明であって、さらに、予め記憶部に記憶された加速音データは、物体に対応する移動物が現実世界において最高速度で一定の速度で移動した最高速度一定部分の音データを加速部分の音データに連続して含んでいる。音データ読み出しステップは、入力ステップによる加速操作入力データの入力が所定の時間以上継続したとき、最高速度一定部分の加速音データを繰り返して読み出す繰り返し読み出しステップを含む。
【００３４】
第１６の発明は、第１４の発明に従属する発明であって、さらに、予め記憶部に記憶された減速音データは、物体に対応する移動物が現実世界において最低速度で一定の速度で動作した最低速度一定部分の音データを減速部分の音データに連続して含んでいる。音データ読み出しステップは、入力ステップから減速操作入力データの入力が所定の時間以上継続したとき、最低速度一定部分の減速音データを繰り返して読み出す繰り返し読み出しステップを含む。
【００３５】
第１７の発明は、第１０の発明に従属する発明であって、入力ステップは、プレイヤによって操作される操作部の操作量に応答して、物体を任意の割合で加速移動させる加速操作入力データをコンピュータに入力する。音声出力制御ステップは、加速音周波数補正ステップ（Ｓ４５、Ｓ５０）を含む。加速音周波数補正ステップは、加速操作入力データが示す加速移動の割合に応じて、音データ読み出しステップで読み出された加速音データの周波数を補正する。
【００３６】
第１８の発明は、第１０の発明に従属する発明であって、入力ステップは、プレイヤによって操作される操作部の操作量に応答して、物体を任意の割合で減速移動させる減速操作入力データをコンピュータに入力する。音声出力制御ステップは、減速音周波数補正ステップ（Ｓ５５）を含む。減速音周波数補正ステップは、減速操作入力データが示す減速移動の割合に応じて、音データ読み出しステップで読み出された減速音データの周波数を補正する。
【００３８】
【発明の実施の形態】
（第１の実施形態）
図１を参照して、本発明の第１の実施形態に係るゲームシステム１について説明する。なお、図１は、当該ゲームシステムを説明するための外観図である。以下、据置型ゲーム装置を一例にして、本発明の第１の実施形態について説明する。
【００３９】
図１において、当該ゲームシステム１は、家庭用テレビジョン受像機等のスピーカ２ａを備えたＣＲＴ（Ｃａｔｈｏｄｅ  Ｒａｙ  Ｔｕｂｅ）ディスプレイ（以下、モニタと記載する）２に、接続コードを介して接続される据置型ゲーム装置（以下、単にゲーム装置と記載する）３によって構成される。ゲーム装置３は、接続コードを介してゲーム装置３と接続されるコントローラ６およびゲーム装置３に対して交換可能に用いられる情報記憶媒体の一例の光ディスク４を含む。また、ゲーム装置３には、セーブデータ等を固定的に記憶するバックアップメモリ等を搭載する外部メモリカード５が必要に応じて着脱自在に装着される。ゲーム装置３は、光ディスク４に記憶されたゲームプログラムを実行することによって、その結果をゲーム画像としてモニタ２に表示する。さらに、ゲーム装置３は、外部メモリカード５に記憶されたセーブデータを用いて、過去に実行されたゲーム状態を再現して、ゲーム画像をモニタ２に表示することもできる。そして、ゲーム装置３のプレイヤは、モニタ２に表示されたゲーム画像を見ながら、コントローラ６を操作することによって、ゲーム進行を楽しむことができる。当該実施形態では、光ディスク４に記憶されたレーシングゲームプログラムが実行される一例を説明する。
【００４０】
コントローラ６は、上述したように接続コードを介してゲーム装置３に接続され、その接続コードは、ゲーム装置３に対して着脱自在である。コントローラ６は、主にモニタ２に表示されるゲーム空間に登場するプレイヤオブジェクト（典型的には、プレイヤの操作対象である車オブジェクト）を操作するための操作手段であり、複数の操作ボタン、キー、およびスティック等の入力部を備えている。具体的には、コントローラ６には、プレイヤによって各々把持されるグリップ部が形成される。そして、コントローラ６は、プレイヤの左手の親指等によって操作可能なメインスティック６１および十字キー６７と、右手の親指等によって操作可能なＣスティック６８、Ａボタン６２、Ｂボタン６３、Ｘボタン６４、Ｙボタン６５、およびスタート−ポーズボタン６９を含む。さらに、コントローラ６には、プレイヤの左右の人差し指等によってそれぞれ操作可能なＲボタン６６ａおよびＬボタン６６ｂを備える。
【００４１】
例えば、コントローラ６の操作によって、後述するレーシングゲームを楽しむ場合、Ａボタン６２は、ゲーム空間内の車オブジェクトのアクセル操作を決定する場合に利用され、例えば、プレイヤがＡボタン６２を押す（ＯＮする）ことによって車オブジェクトのアクセルＯＮ（アクセル全開）が指示され、Ａボタン６２を押すことを止める（ＯＦＦする）ことによって車オブジェクトのアクセルＯＦＦ（アクセル全閉）が指示される。他の入力部についても、後述するゲーム進行で用いられることがあるが、本発明の説明とは直接関連しないため詳細な説明を省略する。
【００４２】
次に、図２を参照して、ゲーム装置３の構成について説明する。なお、図２は、ゲーム装置３の機能ブロック図である。
【００４３】
図２において、ゲーム装置３は、各種プログラムを実行する例えばリスク（ＲＩＳＣ）ＣＰＵ（セントラルプロセッシングユニット）３０を備える。ＣＰＵ３０は、図示しないブートＲＯＭに記憶された起動プログラムを実行し、メインメモリ３３等のメモリの初期化等を行った後、光ディスク４に記憶されているゲームプログラムの実行し、そのゲームプログラムに応じたゲーム処理を行うものである。ＣＰＵ３０には、メモリコントローラ３１を介して、ＧＰＵ（Ｇｒａｐｈｉｃｓ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）３２、メインメモリ３３、ＤＳＰ（Ｄｉｇｉｔａｌ  Ｓｉｇｎａｌ  Ｐｒｏｃｅｓｓｏｒ）３４およびＡＲＡＭ（Ａｕｄｉｏ  ＲＡＭ）３５が接続される。また、メモリコントローラ３１には、所定のバスを介して、コントローラＩ／Ｆ（インターフェース）３６、ビデオＩ／Ｆ３７、外部メモリＩ／Ｆ３８、オーディオＩ／Ｆ３９、およびディスクＩ／Ｆ４１が接続され、それぞれコントローラ６、モニタ２、外部メモリカード５、スピーカ２ａ、およびディスクドライブ４０が接続されている。
【００４４】
ＧＰＵ３２は、ＣＰＵ３０の命令に基づいて画像処理を行うものあり、例えば、３Ｄグラフィックスの表示に必要な計算処理を行う半導体チップで構成される。ＧＰＵ３２は、図示しない画像処理専用のメモリやメインメモリ３３の一部の記憶領域を用いて画像処理を行う。ＧＰＵ３２は、これらを用いてモニタ２に表示すべきゲーム画像データを生成し、適宜メモリコントローラ３１およびビデオＩ／Ｆ３７を介してモニタ２に出力する。
【００４５】
メインメモリ３３は、ＣＰＵ３０で使用される記憶領域であって、ＣＰＵ３０の処理に必要なゲームプログラム等を適宜記憶する。例えば、メインメモリ３３は、ＣＰＵ３０によって光ディスク４から読み出されたゲームプログラムや各種データ等を記憶する。このメインメモリ３３に記憶されたゲームプログラムや各種データ等がＣＰＵ３０によって実行される。
【００４６】
ＤＳＰ３４は、ゲームプログラム実行時にＣＰＵ３０において生成されるサウンドデータ等を処理するものであり、そのサウンドデータ等を記憶するためのＡＲＡＭ３５が接続される。ＡＲＡＭ３５は、ＤＳＰ３４が所定の処理（例えば、先読みしておいたゲームプログラムやサウンドデータの記憶）を行う際に用いられる。ＤＳＰ３４は、ＡＲＡＭ３５に記憶されたサウンドデータを読み出し、メモリコントローラ３１およびオーディオＩ／Ｆ３９を介してモニタ２に備えるスピーカ２ａに出力させる。
【００４７】
メモリコントローラ３１は、データ転送を統括的に制御するものであり、上述した各種Ｉ／Ｆが接続される。コントローラＩ／Ｆ３６は、例えば４つのコントローラＩ／Ｆ３６ａ〜３６ｄで構成され、それらが有するコネクタを介して嵌合可能な外部機器とゲーム装置３とを通信可能に接続する。例えば、コントローラ６は、接続コードを介して上記コネクタと嵌合し、コントローラＩ／Ｆ３６を介してゲーム装置３と接続される。ビデオＩ／Ｆ３７には、モニタ２が接続される。外部メモリＩ／Ｆ３８には、外部メモリカード５が接続され、その外部メモリカード５に設けられたバックアップメモリにアクセス可能となる。オーディオＩ／Ｆ３９にはモニタ２に内蔵されるスピーカ２ａが接続され、ＤＳＰ３４がＡＲＡＭ３５から読み出したサウンドデータやディスクドライブ４０から直接出力されるサウンドデータをスピーカ２ａから出力可能に接続される。ディスクＩ／Ｆ４１には、ディスクドライブ４０が接続される。ディスクドライブ４０は、所定の読み出し位置に配置された光ディスク４に記憶されたデータを読み出し、ゲーム装置３のバスやオーディオＩ／Ｆ３９に出力する。
【００４８】
メインメモリ３３には、上述したようにＣＰＵ３０の処理に必要なゲームプログラム等が適宜記憶され、ＣＰＵ３０によって光ディスク４から読み出されたゲームプログラムや各種データ等が格納される。以下、図３を参照して、本発明のレーシングゲームを実行する場合にメインメモリ３３に記憶されるプログラムおよびデータの一例について説明する。なお、図３は、メインメモリ３３に記憶されるプログラムおよびデータの一例について説明するための概略的なメモリマップである。
【００４９】
図３において、メインメモリ３３は、プログラム記憶領域３３１およびデータ記憶領域３３２を有している。具体的には、プログラム記憶領域３３１には、ＣＰＵ３０によって実行されるゲームメイン処理プログラムと、そのゲームメイン処理プログラムによって利用されるアクセルおよびブレーキ操作プログラムと、エンジン回転数計算プログラムと、加速音および減速音読み出しアドレス算出プログラムと、加速音および減速音周波数補正プログラムと、サウンドデータ読み出しプログラムと、サウンド出力プログラム等とが記憶されている。また、データ記憶領域３３２には、上記ゲームメイン処理プログラム等のプログラムによって利用されるアクセルおよびブレーキ操作データバッファと、加減速音データアドレス等とが記憶され、加減速音データアドレスは、加速および減速部分アドレスと、高速一定部分アドレスと、アイドル部分アドレスとを含んでいる。
【００５０】
アクセル操作プログラムは、プレイヤがアクセルを開ける操作（例えば、Ａボタン６２をＯＮ）をした際の車オブジェクトの走行動作を定義している。本発明のゲームプログラムでは、例えば、車オブジェクトが速度０の状態からＡボタン６２のＯＮが時間ｔ１継続した場合、最高速度ｖｍａｘに車オブジェクトが到達するようにプログラムされている。
【００５１】
ブレーキ操作プログラムは、プレイヤがアクセルを閉める操作（例えば、Ａボタン６２をＯＦＦ）をした際の車オブジェクトの走行動作を定義している。本発明のゲームプログラムでは、例えば、車オブジェクトが最高速度ｖｍａｘの状態からＡボタン６２のＯＦＦが時間ｔ１継続した場合、速度０に車オブジェクトが減速するようにプログラムされている。これは、車オブジェクトがエンジンブレーキで減速することを定義した例であり、プレイヤがさらにブレーキ操作（例えば、Ｂボタン６３をＯＮあるいはＬボタン６６ｂをＯＮ）することによって、時間ｔ１より短い時間で最高速度ｖｍａｘから速度０まで減速することも可能である。しかしながら、第１の実施形態では、説明を単純にするためにプレイヤからのブレーキ操作はないものと仮定（つまり、エンジンブレーキのみによる減速）して、ブレーキ操作による処理は、後述の第２の実施形態で説明する。
【００５２】
エンジン回転数計算プログラムは、車オブジェクトにおけるエンジン回転数の計算が定義されている。代表的には、上記アクセルおよびブレーキ操作プログラムによって演算される車オブジェクトの速度に応じてエンジン回転数が計算されるが、さらに、ゲーム空間上の路面の状況（登り、下り、タイヤとの摩擦等）の影響を加えて、最終的なエンジン回転数が計算される。例えば、車オブジェクトのタイヤが空転していたり、ブレーキ操作等によってタイヤ回転数が０の場合、車オブジェクトの速度に対して、高いエンジン回転数が計算される。
【００５３】
加速音および減速音読み出しアドレス算出プログラムは、それぞれ上述のように演算された車オブジェクトの速度に応じて、後述するＡＲＡＭ３５に記憶されている加速および減速音データＤｕおよびＤｄを読み出すための加減速音データアドレスの演算が定義されている。また、加速音および減速音周波数補正プログラムは、現在の車オブジェクトの速度に対するエンジン回転数に応じた再生するエンジン音の補正が定義されている。これらの詳細な動作については、後述する。
【００５４】
サウンドデータ読み出しプログラムは、ＡＲＡＭ３５から、上記加速音および減速音読み出しアドレス算出プログラムで算出された加減速音データアドレスに応じた加速および減速音データＤｕおよびＤｄや、後述するループ再生のため用いられるエンジン音データの読み出し処理が定義されている。また、サウンド出力プログラムは、サウンドデータ読み出しプログラムによって読み出されたサウンドデータを、メモリコントローラ３１およびオーディオＩ／Ｆ３９を介してスピーカ２ａに出力させる処理が定義されている。
【００５５】
アクセルおよびブレーキ操作データバッファは、上述したプレイヤのアクセル操作の内容や、そのアクセル操作による車オブジェクトの速度やエンジン回転数の状態等が一時的に格納される。加減速音データアドレスは、ＡＲＡＭ３５に記憶される加速音および減速音データのそれぞれのアドレスが、それぞれの音の種別に応じて記憶されている。具体的には、加速音データは、加速部分および高速一定部分のエンジン音データを有しており、それぞれのデータが記憶されているＡＲＡＭ３５のアドレスが加速部分アドレスおよび高速一定部分アドレスとして記憶される。また、減速音データは、減速部分およびアイドル部分のエンジン音データを有しており、それぞれのデータが記憶されているＡＲＡＭ３５のアドレスが減速部分アドレスおよびアイドル部分アドレスとして記憶される。
【００５６】
次に、図４〜図６を参照して、ＡＲＡＭ３５に記憶される加速音データおよび減速音データについて説明する。図４は加速音データを予め取得するための加速音データ（図４（ａ））とその条件（図４（ｂ））との一例を示すグラフであり、図５は減速音データを予め取得するための減速音データ（図５（ａ））とその条件（図５（ｂ））との一例を示すグラフである。また、図６は、図４および図５で示した加速音および減速音データをＡＲＡＭ３５に記憶した際の概略的なメモリマップである。
【００５７】
図４において、加速音データは、実際の車両が速度０から速度ｖまで加速し、その後速度ｖで一定で走行した際の、車の騒音を録音したサウンドデータである。具体的には、実際の録音の際の車両の速度は、時間０〜ｔ１間において一定加速度で速度０から速度ｖまで加速し、時間ｔ１〜ｔ２間において一定速度ｖを維持している（図４（ｂ）参照）。この時間ｔ１は、上述したゲーム空間上の車オブジェクトが速度０の状態からＡボタン６２のＯＮを継続した場合、最高速度ｖｍａｘに車オブジェクトが到達する時間（ｔ１：例えば、８ｓｅｃ）と一致させる。このような走行条件下で録音された加速音データは、時間０〜ｔ１の間が車両が一定加速度で加速する時の音データ（以下、加速部分と記載する）であり、時間ｔ１〜ｔ２の間が車両が高速一定走行する時の音データ（以下、高速一定部分と記載する）である（図４（ａ）参照）。このような加速音データが、時間ｔ２分（例えば、１０ｓｅｃ）に対して、サンプリング周波数ｉＨｚ（例えば、１６ｋＨｚ）で予め録音される。
【００５８】
図５において、減速音データは、実際の車両が速度ｖから速度０まで減速し、その後アイドル（ＩＤ）状態で停止した際の、車内騒音を録音したサウンドデータである。具体的には、実際の録音の際の車両の速度は、時間０〜ｔ１間において一定加速度で速度ｖから速度０まで減速し、時間ｔ１〜ｔ２間においてアイドル停止状態を維持している（図５（ｂ）参照）。この時間ｔ１も、上述したゲーム空間上の車オブジェクトが最高速度ｖｍａｘの状態からＡボタン６２のＯＦＦを継続した場合、速度０に車オブジェクトが減速する時間（ｔ１：例えば、８ｓｅｃ）と一致させる。このような走行条件下で録音された減速音データは、時間０〜ｔ１の間が車両が一定加速度で減速する時の音データ（以下、減速部分と記載する）であり、時間ｔ１〜ｔ２の間が車両がアイドル状態で停止している時の音データ（以下、アイドル部分と記載する）である（図５（ａ）参照）。このような減速音データが、時間ｔ２（例えば、１０ｓｅｃ）に対して、サンプリング周波数ｉＨｚ（例えば、１６ｋＨｚ）で予め録音される。
【００５９】
図６において、ＡＲＡＭ３５は、加速音データ記憶領域３５１および減速音データ記憶領域３５２を有している。加速音データ記憶領域３５１には、上述した条件で録音された加速音データが記憶される。加速音データ記憶領域３５１に記憶される加速音データは、ｎ個のｊビット（例えば、８ｂｉｔ）の加速音データＤｕ０〜Ｄｕ（ｎ−１）に等分割される。そして、加速音データＤｕ０〜Ｄｕ（ｎ−１）は、加速音データ記憶領域３５１のアドレスＡｕ０〜Ａｕ（ｎ−１）にそれぞれサウンドデータとして記憶される。したがって、加速音データ記憶領域３５１に記憶された加速音データＤｕ０〜Ｄｕ（ｎ−１）を（ｉ／ｊ）Ｈｚで順次読み出し、再生レートｉＨｚで再生した場合、予め録音した加速音データと同様のサウンドが再生されることになる。ここで、録音された加速音データの内、上記加速部分に対応するサウンドデータは、アドレスＡｕ０〜Ａｕ（ｍ−１）にｍ個の加速音データＤｕ０〜Ｄｕ（ｍ−１）として記憶される。そして、録音された加速音データの内、上記高速一定部分に対応するサウンドデータは、アドレスＡｕ（ｍ）〜Ａｕ（ｎ−１）に（ｎ−ｍ）個の加速音データＤｕ（ｍ）〜Ｄｕ（ｎ−１）として記憶される。
【００６０】
減速音データ記憶領域３５２には、上述した条件で録音された減速音データが記憶される。減速音データ記憶領域３５２に記憶される減速音データは、ｎ個のｊビット（例えば、８ｂｉｔ）の減速音データＤｄ０〜Ｄｄ（ｎ−１）に等分割される。そして、減速音データＤｄ０〜Ｄｄ（ｎ−１）は、減速音データ記憶領域３５２のアドレスＡｄ０〜Ａｄ（ｎ−１）にそれぞれサウンドデータとして記憶される。したがって、減速音データ記憶領域３５２に記憶された減速音データＤｄ０〜Ｄｄ（ｎ−１）を（ｉ／ｊ）Ｈｚで順次読み出し、再生レートｉＨｚで再生した場合、予め録音した減速音データと同様のサウンドが再生されることになる。ここで、録音された減速音データの内、上記減速部分に対応するサウンドデータは、アドレスＡｄ０〜Ａｄ（ｍ−１）にｍ個の減速音データＤｄ０〜Ｄｄ（ｍ−１）として記憶される。そして、録音された減速音データの内、上記アイドル部分に対応するサウンドデータは、アドレスＡｄ（ｍ）〜Ａｄ（ｎ−１）に（ｎ−ｍ）個の減速音データＤｄ（ｍ）〜Ｄｄ（ｎ−１）として記憶される。
【００６１】
次に、車オブジェクトがプレイヤの操作によってゲーム空間上に設定されたコースを走行するレーシングゲームを一例に、本発明のゲームプログラムに基づいたゲーム装置３の動作について説明する。ゲーム装置３の電源が投入されると、ゲーム装置３のＣＰＵ３０は、図示しないブートＲＯＭに記憶されている起動プログラムを実行し、メインメモリ３３等の各ユニットが初期化される。そして、光ディスク４に格納されたゲームプログラムがディスクドライブ４０およびディスクＩ／Ｆ４１を介してメインメモリ３３に読み込まれ、そのゲームプログラムの実行が開始され、ＧＰＵ３２を介してモニタ２にゲーム空間が表現されることによって、ゲームが開始される。また、光ディスク４に格納された上記加速音および減速音データがディスクドライブ４０およびディスクＩ／Ｆ４１を介してＡＲＡＭ３５に上記アドレスに対応して記憶される。
【００６２】
まず、ゲーム装置３のプレイヤは、モニタ２に表示されたゲーム画像を見ながらレーシングゲームを希望するコースや操作する車オブジェクトの種別を選択する。これらの選択は、上述したようにコントローラ６に設けられた各入力部をプレイヤが操作することによって行われる。そして、プレイヤによって選択されたコースおよび車オブジェクトに応じたゲーム画像がモニタ２に表示される。
【００６３】
次に、図７を参照して、これらの処理動作以降に行われるゲーム装置３におけるエンジン音の再生処理について説明する。なお、図７は、ゲーム装置３が行うエンジン音再生処理の動作を示すフローチャートである。
【００６４】
図７において、ゲーム装置３のＣＰＵ３０は、ゲーム空間上の車オブジェクトのエンジンが始動しているか否か（ステップＳ１１）、およびプレイヤがコントローラ６を操作することによってアクセルがＯＮ（例えば、Ａボタン６２のＯＮ）されているか否か（ステップＳ１２）を判断する。そして、ＣＰＵ３０は、車オブジェクトのエンジンが始動状態でアクセルＯＮである場合、処理を次のステップＳ１３に進め、車オブジェクトのエンジンが始動状態でアクセルＯＦＦである場合、処理を次のステップＳ２１に進める。
【００６５】
ステップＳ１３では、ＣＰＵ３０は、車オブジェクトの加速時のエンジン音を再生するために、ＡＲＡＭ３５の加速音データ記憶領域３５１に記憶されている加速音データＤｕのアドレスＡｕを演算し、次のステップに処理を進める。具体的には、ＣＰＵ３０は、上記ステップＳ１３の演算で、加速部分の加速音データＤｕが記憶されているｍ個のアドレスＡｕ０〜Ａｕ（ｍ−１）に対して、再生を開始する加速音データＤｕがアドレスＡｕ０から何番目（ａ番目）にあたるのかを、式（１）に基づいて演算する。
ａ＝ｍ×ｖｘ／ｖｍａｘ  …（１）
ここで、ｖｘは、現在の車オブジェクトの速度であり、ＣＰＵ３０が車オブジェクトが速度０の状態からＡボタン６２のＯＮおよびＯＦＦが操作された時間をそれぞれ累積計算し、データ記憶領域３３２のアクセルおよびブレーキ操作バッファに記憶された数値を用いて演算される。そして、ｖｍａｘは、アクセルＯＮを継続することによって到達する上述した車オブジェクトの最高速度である。ＣＰＵ３０は、上記式（１）によって演算されたアドレスＡｕ０からａ番目にあたるアドレスＡｕ（ａ−１）を、後述するエンジン音再生を開始する加速音再生開始アドレスとして決定する。
【００６６】
ここで、ＣＰＵ３０は、上記式（１）を用いて、加速音データ記憶領域３５１に記憶されている加速部分の加速音データＤｕのアドレス数ｍに対して、最高速度ｖｍａｘに対する現在の車オブジェクトの速度ｖｘの比率を乗算することによって、加速音再生開始アドレスを演算している。これは、上述したように加速音データ記憶領域３５１に記憶された加速音データＤｕが、実際の車両が時間０〜ｔ１まで一定加速度で速度０から速度ｖまで加速したときのデータに基づいて録音されており、ゲーム上の時間０〜ｔ１までアクセルＯＮを継続することによって到達する車オブジェクトの最高速度ｖｍａｘを実際の車両の速度ｖに置き換えていることになる。つまり、このような置き換えを行うことによって、ＣＰＵ３０は、最高速度ｖｍａｘに対する現在の車オブジェクトの速度ｖｘの割合に相当する現実の加速音が記憶されているアドレスＡｕ（ａ−１）を、正確に演算することができる。
【００６７】
次に、ＣＰＵ３０は、ゲーム空間上の車オブジェクトの速度が、最高速度ｖｍａｘに到達しているか否かを判断する（ステップＳ１４）。そして、ＣＰＵ３０は、車オブジェクトが最高速度ｖｍａｘに未到達の場合、車オブジェクトが加速していると判断して次のステップＳ１５に処理を進める。一方、ＣＰＵ３０は、車オブジェクトが最高速度ｖｍａｘに到達している場合、車オブジェクトが最高速度ｖｍａｘの高速一定状態で走行していると判断して次のステップＳ１９に処理を進める。
【００６８】
ステップＳ１５では、ＣＰＵ３０は、上記ステップＳ１３で演算された加速音再生開始アドレスＡｕ（ａ−１）以降に記憶されている加速音データＤｕに対して、その再生に用いられる周波数補正係数を演算し、次のステップに処理を進める。一般的には、車オブジェクトの速度とエンジン回転数との関係は、トランスミッションのシフトを変更しない限り比例する。しかしながら、ゲーム進行においては、上記速度とエンジン回転数とが比例関係から逸脱する場合があり、上記ステップＳ１５ではこのような場合の周波数補正係数を演算する。例えば、プレイヤが車オブジェクトの速度０でエンジンを空吹かしした場合や、タイヤが空転した場合等に演算される。上述したように、ＣＰＵ３０は、ゲーム進行上の車オブジェクトのエンジン回転数をエンジン回転数計算プログラムによって随時計算しており、このエンジン回転数の値を上記加速音データＤｕの周波数に対して所定割合で反映させる周波数補正係数を演算する。例えば、周波数補正係数は、０．９２〜１．０８の範囲で設定される。
【００６９】
次に、ＣＰＵ３０は、エンジン音再生の際の音量を補正する音量補正係数を演算する（ステップＳ１６）。レーシングゲームにおいては、車オブジェクトをゲーム画像としてとらえるためのカメラが仮想的に設定されており、このカメラの位置は車オブジェクトに対して変更可能な場合がある。例えば、車オブジェクトの車内に上記カメラを設定したり、車オブジェクトに対して鳥瞰図的な視点で上記カメラを設定する場合もある。このような車オブジェクトに対する上記カメラの距離に応じて、ＣＰＵ３０は、上記音量補正係数を設定する。例えば、ＣＰＵ３０は、車オブジェクトに対して所定の地点に設置された上記カメラの視点によって作成されたゲーム画像での再生音量を基準にして、その地点に対して増減するカメラの距離に応じて音量補正係数を演算する。
【００７０】
次に、ＣＰＵ３０は、上記ステップＳ１３で演算された加速音再生開始アドレスＡｕ（ａ−１）以降に記憶されている加速音データＤｕを再生する処理を行い（ステップＳ１７）、プレイヤがアクセル操作を変更せず（ステップＳ１８）、かつ車オブジェクトが最高速度ｖｍａｘに到達するまで（ステップＳ１４）、ステップＳ１５〜Ｓ１７の処理を繰り返す。そして、ＣＰＵ３０は、プレイヤがアクセル操作を変更した場合、上記ステップＳ１１に戻って処理を継続する。上記ステップＳ１７において、ＣＰＵ３０は、ＤＳＰ３４にＡＲＡＭ３５のアドレスＡｕ（ａ−１）以降に記憶されている加速音データＤｕをサウンドデータとして順次読み出す指示をする。そして、ＤＳＰ３４は、それらのサウンドデータが有する周波数に上記ステップＳ１５で算出された周波数補正係数を乗算し、上記ステップＳ１６で算出された音量補正係数による再生音量を調整して、メモリコントローラ３１およびオーディオＩ／Ｆ３９を介してモニタ２に備えるスピーカ２ａからエンジン音を再生する。このサウンド再生処理によって、プレイヤのアクセル操作の変更（つまり、アクセルをＯＦＦする）がなく、最高速度ｖｍａｘに到達しない限り、上記ステップＳ１３で演算された加速音再生開始アドレスを再生開始ポイントとして、予め録音した加速音データが連続して再生される。
【００７１】
一方、上記ステップＳ１４で、ＣＰＵ３０は、車オブジェクトが最高速度ｖｍａｘに到達している場合、車オブジェクトが最高速度ｖｍａｘの高速一定状態で走行していると判断してステップＳ１９に処理を進める。ステップＳ１９では、ＣＰＵ３０は、エンジン音再生の際の音量を補正する音量補正係数を演算し、次のステップに処理を進める。このステップＳ１９の処理については、上記ステップＳ１６と同様の処理であるため、詳細な説明を省略する。
【００７２】
次に、ＣＰＵ３０は、高速一定部分のアドレスＡｕ（ｍ）〜Ａｕ（ｎ−１）に記憶されている加速音データＤｕ（ｍ）〜Ｄｕ（ｎ−１）をループ再生する処理を行う（ステップＳ２０）。このループ再生処理は、プレイヤがアクセルＯＮを継続することによって（ステップＳ１８）、車オブジェクトが最高速度ｖｍａｘの高速一定状態で走行している限り（ステップＳ１４）、上記ステップＳ１９の処理に戻って繰り返して行われる。ＣＰＵ３０は、ＤＳＰ３４にＡＲＡＭ３５のアドレスＡｕ（ｍ）〜Ａｕ（ｎ−１）に記憶されている高速一定部分の加速音データＤｕ（ｍ）〜Ｄｕ（ｎ−１）をサウンドデータとして繰り返して読み出す指示をする。そして、ＤＳＰ３４は、上記ステップＳ１９で算出された音量補正係数による再生音量を調整して、メモリコントローラ３１およびオーディオＩ／Ｆ３９を介してモニタ２に備えるスピーカ２ａからエンジン音を再生する。そして、ＣＰＵ３０は、プレイヤがアクセル操作を変更（つまり、アクセルＯＦＦ）した場合（ステップＳ１８）、上記ステップＳ１１に戻って処理を継続する。
【００７３】
一方、上記ステップＳ１２において、車オブジェクトのエンジンが始動状態でアクセルＯＦＦである場合、処理をステップＳ２１に進める。ステップＳ２１では、ＣＰＵ３０は、車オブジェクトの減速時のエンジン音を再生するために、ＡＲＡＭ３５の減速音データ記憶領域３５２に記憶されている減速音データＤｄのアドレスＡｄを演算し、次のステップに処理を進める。具体的には、ＣＰＵ３０は、上記ステップＳ２１の演算で、減速部分の減速音データＤｄが記憶されているｍ個のアドレスＡｄ０〜Ａｄ（ｍ−１）に対して、再生を開始する減速音データＤｄがアドレスＡｄ０から何番目（ｂ番目）にあたるのかを、式（２）に基づいて演算する。
ｂ＝ｍ−（ｍ×ｖｘ／ｖｍａｘ）  …（２）
ここで、ｖｘは、上記ステップＳ１３で用いられる数値と同様の、現在の車オブジェクトの速度であり、ｖｍａｘは、最高速度である。ＣＰＵ３０は、上記式（２）によって演算されたアドレスＡｄ０からｂ番目にあたるアドレスＡｄ（ｂ−１）を、後述するエンジン音再生を開始する減速音再生開始アドレスとして決定する。
【００７４】
ここで、ＣＰＵ３０は、上記式（２）を用いて、減速音データ記憶領域３５２に記憶されている減速部分の減速音データＤｄのアドレス数ｍに対して、最高速度ｖｍａｘに対する現在の車オブジェクトの速度ｖｘの比率を乗算した値をアドレス数ｍから減算することによって、減速音再生開始アドレスを演算している。これは、上述したように減速音データ記憶領域３５２に記憶された減速音データＤｄが、実際の車両が時間０〜ｔ１まで一定加速度で速度ｖから速度０まで減速したときのデータに基づいて録音されており、ゲーム上の時間０〜ｔ１までアクセルＯＦＦを継続することによって最高速度ｖｍａｘから速度０まで減速する車オブジェクトを、実際の車両の速度ｖから速度０への減速に置き換えていることになる。つまり、このような置き換えを行うことによって、ＣＰＵ３０は、最高速度ｖｍａｘに対する現在の車オブジェクトの速度ｖｘの割合に相当する現実の減速音が記憶されているアドレスＡｄ（ｂ−１）を、正確に演算することができる。
【００７５】
次に、ＣＰＵ３０は、ゲーム空間上の車オブジェクトの速度が、速度０のアイドル状態か否かを判断する（ステップＳ２２）。そして、ＣＰＵ３０は、車オブジェクトが速度０のアイドル状態でない場合、車オブジェクトが減速していると判断して次のステップＳ２３に処理を進める。一方、ＣＰＵ３０は、車オブジェクトが速度０のアイドル状態の場合、次のステップＳ２７に処理を進める。
【００７６】
ステップＳ２３では、ＣＰＵ３０は、上記ステップＳ２１で演算された減速音再生開始アドレスＡｄ（ｂ−１）以降に記憶されている減速音データＤｄに対して、その再生に用いられる周波数補正係数を演算し、エンジン音再生の際の音量を補正する音量補正係数を演算する（ステップＳ２４）。これらステップＳ２３およびＳ２４の処理については、上記ステップＳ１５およびＳ１６と同様であるため、詳細な説明を省略する。そして、ＣＰＵ３０は、次のステップに処理を進める。
【００７７】
次に、ＣＰＵ３０は、上記ステップＳ２３で演算された減速音再生開始アドレスＡｄ（ｂ−１）以降に記憶されている減速音データＤｄを再生する処理を行い（ステップＳ２５）、プレイヤがアクセル操作を変更せず（ステップＳ２６）、かつ車オブジェクトが速度０のアイドル状態になるまで（ステップＳ２２）、ステップＳ２３〜Ｓ２５の処理を繰り返す。そして、ＣＰＵ３０は、プレイヤがアクセル操作を変更（つまり、アクセルＯＮ）した場合、上記ステップＳ１１に戻って処理を継続する。上記ステップＳ２５において、ＣＰＵ３０は、ＤＳＰ３４にＡＲＡＭ３５のアドレスＡｄ（ｂ−１）以降に記憶されている減速音データＤｄをサウンドデータとして順次読み出す指示をする。そして、ＤＳＰ３４は、それらのサウンドデータが有する周波数に上記ステップＳ２３で算出された周波数補正係数を乗算し、上記ステップＳ２４で算出された音量補正係数による再生音量を調整して、メモリコントローラ３１およびオーディオＩ／Ｆ３９を介してモニタ２に備えるスピーカ２ｂからエンジン音を再生する。このサウンド再生処理によって、プレイヤのアクセル操作の変更（つまり、アクセルをＯＮする）がなく、速度０のアイドル状態にならない限り、上記ステップＳ２１で演算された減速音再生開始アドレスを再生開始ポイントとして、予め録音した減速音データが連続して再生される。
【００７８】
一方、上記ステップＳ２２で、ＣＰＵ３０は、車オブジェクトが速度０のアイドル状態の場合、ステップＳ２７に処理を進める。ステップＳ２７では、ＣＰＵ３０は、エンジン音再生の際の音量を補正する音量補正係数を演算し、次のステップに処理を進める。このステップＳ２７の処理については、上記ステップＳ１６と同様の処理であるため、詳細な説明を省略する。
【００７９】
次に、ＣＰＵ３０は、アイドル部分のアドレスＡｄ（ｍ）〜Ａｄ（ｎ−１）に記憶されている減速音データＤｄ（ｍ）〜Ｄｄ（ｎ−１）をループ再生する処理を行う（ステップＳ２８）。このループ再生処理は、プレイヤがアクセルＯＦＦを継続することによって（ステップＳ２６）、車オブジェクトが速度０のアイドル状態を継続している限り（ステップＳ２２）、上記ステップＳ２７の処理に戻って繰り返して行われる。ＣＰＵ３０は、ＤＳＰ３４にＡＲＡＭ３５のアドレスＡｄ（ｍ）〜Ａｄ（ｎ−１）に記憶されているアイドル部分の減速音データＤｄ（ｍ）〜Ｄｄ（ｎ−１）をサウンドデータとして繰り返して読み出す指示をする。そして、ＤＳＰ３４は、上記ステップＳ２７で算出された音量補正係数による再生音量を調整して、メモリコントローラ３１およびオーディオＩ／Ｆ３９を介してモニタ２に備えるスピーカ２ｂからエンジン音を再生する。そして、ＣＰＵ３０は、プレイヤがアクセル操作を変更（つまり、アクセルＯＮ）した場合、上記ステップＳ１１に戻って処理を継続する。
【００８０】
そして、ＣＰＵ３０は、上記ステップＳ１１でエンジンが始動していないと判断した場合、当該フローチャートによるエンジン音再生処理を終了する。
【００８１】
なお、ＡＲＡＭ３５には、加速音データＤｕおよび減速音データＤｄを、それぞれ同じ個数ｎで等分割し、加速音データＤｕの加速部分および減速音データＤｄの減速部分をそれぞれ同じ個数ｍで等分割して記憶したが、同じ個数ｎあるいはｍでなくてもかまわない。上述したフローチャートによる処理および上記式（１）および（２）によるアドレスの算出を行えば、同じ個数でなくても同様の処理が可能である。
【００８２】
次に、図８を参照して、上述したフローチャートに基づいた手順によって、ゲーム装置３が用いる加減速音データの一例を説明する。なお、図８は、車オブジェクトがアイドル状態から最高速度ｖｍａｘまで加速し、その後アイドル状態まで減速する場合に用いられる加減速音データを説明するための図である。
【００８３】
図８において、ゲーム装置３は、車オブジェクトが速度０でアイドル状態の場合、ＡＲＡＭ３５の減速音データ記憶領域３５２に記憶されているアイドル部分の減速音データＡｄ（ｍ）〜Ａｄ（ｎ−１）を用いてループ再生する。次に、プレイヤがアクセルＯＮの操作を行うことによって、加速音データ記憶領域３５１のアドレスＡｕ０から記憶されている加速部分の加速音データＤｕ０、Ｄｕ１、…を順次再生する。そして、プレイヤが時間ｔ１以上アクセルＯＮ状態を継続することによって、当該アクセルＯＮから時間ｔ１経過した時点で、車オブジェクトが最高速度ｖｍａｘに到達する。この時間ｔ１の経過までの期間は、ゲーム装置３は、加速音データ記憶領域３５１のアドレスＡｕ０〜Ａｕ（ｍ−１）に記憶されている加速部分の加速音データＤｕ０〜Ｄｕ（ｍ−１）を順次再生する。その後、車オブジェクトは、プレイヤがさらにアクセルＯＮの操作を継続することによって、最高速度ｖｍａｘを維持する。この最高速度ｖｍａｘを維持している期間に対して、ゲーム装置３は、加速音データ記憶領域３５１のアドレスＡｕ（ｍ）〜Ａｕ（ｎ−１）に記憶されている高速一定部分の加速音データＤｕ（ｍ）〜Ｄｕ（ｎ−１）を用いてループ再生する。
【００８４】
次に、プレイヤがアクセルＯＦＦの操作を行うことによって、減速音データ記憶領域３５２のアドレスＡｄ０から記憶されている減速部分の減速音データＤｄ０、Ｄｄ１、…を順次再生する。そして、プレイヤが時間ｔ１以上アクセルＯＦＦ状態を継続することによって、当該アクセルＯＦＦから時間ｔ１経過した時点で、車オブジェクトが速度０のアイドル状態となる。この時間ｔ１の経過までの期間は、ゲーム装置３は、減速音データ記憶領域３５２のアドレスＡｄ０〜Ａｄ（ｍ−１）に記憶されている減速部分の減速音データＤｄ０〜Ｄｄ（ｍ−１）を順次再生する。その後、車オブジェクトは、プレイヤがさらにアクセルＯＦＦの操作を継続することによって、速度０のアイドル状態を維持する。このアイドル状態を維持している期間に対して、ゲーム装置３は、再度、減速音データ記憶領域３５２のアドレスＡｄ（ｍ）〜Ａｄ（ｎ−１）に記憶されているアイドル部分の減速音データＤｄ（ｍ）〜Ｄｄ（ｎ−１）を用いてループ再生する。
【００８５】
次に、図９を参照して、上述したフローチャートに基づいた手順によって、ゲーム装置３が用いる加減速音データの他の例を説明する。なお、図９は、車オブジェクトがアイドル状態から最高速度ｖｍａｘより遅い速度ｖ１まで加速し、一度速度ｖ２（ｖ２＜ｖ１）まで減速した後、最高速度ｖｍａｘまで再加速する場合に用いられる加減速音データを説明するための図である。
【００８６】
図９において、ゲーム装置３は、車オブジェクトが速度０でアイドル状態の場合、ＡＲＡＭ３５の減速音データ記憶領域３５２に記憶されているアイドル部分の減速音データＡｄ（ｍ）〜Ａｄ（ｎ−１）を用いてループ再生する。次に、プレイヤがアクセルＯＮの操作を行うことによって、加速音データ記憶領域３５１のアドレスＡｕ０から記憶されている加速部分の加速音データＤｕ０、Ｄｕ１、…を順次再生する。そして、プレイヤがアクセルＯＮの操作を停止した時点で、車オブジェクトが速度ｖ１に到達する。この速度ｖ１に到達するまでの期間は、ゲーム装置３は、加速音データ記憶領域３５１のアドレスＡｕ０〜Ａｕ（ｍ−１）に記憶されている加速部分の加速音データＤｕ０〜Ｄｕ（ｍ−１）を用いて、上記速度ｖ１に相当するアドレスまでの加速音データＤｕを順次再生する。
【００８７】
そして、プレイヤがアクセルＯＦＦを継続し、再度アクセルＯＮ状態の操作をするまで、車オブジェクトは速度ｖ１から速度ｖ２までエンジンブレーキによって減速する。この期間において、ゲーム装置３は、減速音データ記憶領域３５２のアドレスＡｄ０〜Ａｄ（ｍ−１）に記憶されている減速部分の減速音データＤｄ０〜Ｄｄ（ｍ−１）を用いて、上記速度ｖ１に相当するアドレスから上記速度ｖ２に相当するアドレスまでの減速音データＤｄを順次再生する。
【００８８】
そして、プレイヤが再度アクセルＯＮの操作を行うことによって、車オブジェクトは速度ｖ２から加速し、やがて最高速度ｖｍａｘに到達する。この期間において、ゲーム装置３は、加速音データ記憶領域３５１のアドレスＡｕ０〜Ａｕ（ｍ−１）に記憶されている加速部分の加速音データＤｕ０〜Ｄｕ（ｍ−１）を用いて、上記速度ｖ２に相当するアドレスから最高速度ｖｍａｘに相当するアドレスＡｕ（ｍ−１）までの加速音データＤｕを順次再生する。その後、車オブジェクトは、プレイヤがさらにアクセルＯＮの操作を継続することによって、最高速度ｖｍａｘを維持する。この最高速度ｖｍａｘを維持している期間に対して、ゲーム装置３は、加速音データ記憶領域３５１のアドレスＡｕ（ｍ）〜Ａｕ（ｎ−１）に記憶されている高速一定部分の加速音データＤｕ（ｍ）〜Ｄｕ（ｎ−１）を用いてループ再生する。
【００８９】
このように、第１の実施形態に係るゲームシステム１においては、ゲーム空間上の車オブジェクトの加速、減速、アイドル、および最高速度一定状態の走行動作に応じたエンジン音が、それらの走行動作を実際の車両の走行によって予め録音されたサウンドデータを用いて再生されるため、現実に近いエンジン音の再生が可能となる。また、ゲーム中で車オブジェクトを加速させる入力を行っているときには、対応する加速音データを連続的に読み出して再生し、減速させる入力を開始したときには、再生し終わった加速音データに対応した減速音データの読み出し位置を指定可能にすることによって、加速音および減速音データが違和感無く繋がったエンジン音を再生することができる。さらに、減速中に加速を始めたときには、加速音データの最初ではなく、減速音データが再生し終わった位置に対応した加速音データの位置から再生を開始できるように、加速音データの読み出し位置を指定可能にすることによって、減速音および加速音データがさらに違和感無く繋がったエンジン音を再生することができる。
【００９０】
（第２の実施形態）
本発明の第２の実施形態に係るゲームシステムについて説明する。第２の実施形態におけるゲームプログラムを実行するゲームシステムは、プレイヤが任意のアクセル開度およびブレーキ強度を操作できるそれぞれのアナログスイッチを備えている。つまり、第１の実施形態では、Ａボタン６２のＯＮによってアクセル開度１００％が指示されて加速し、Ａボタン６２のＯＦＦによってアクセル開度０％が指示されて減速をエンジンブレーキで行うゲームシステムを説明したが、第２の実施形態では、それぞれ加速および減速の加速度を任意に設定できるものである。このようなゲームプログラムを実行するゲームシステムを、第２の実施形態として説明する。
【００９１】
第２の実施形態に係るゲームシステムの構成は、図１を用いて第１の実施形態で説明したゲームシステム１と同様である。以下、同一の構成部については同一の参照符号を付して、詳細な説明を省略する。なお、第２の実施形態のゲームシステムで後述するレーシングゲームを楽しむ場合、上記アナログスイッチは、例えば、コントローラ６に設けられたＲボタン６６ａおよびＬボタン６６ｂが利用される。例えば、プレイヤがＲボタン６６ａを任意の押し下げ量で押す（ＯＮする）ことによって車オブジェクトのアクセル開度０〜１００％がその押し下げ量に応じてゲーム装置３に指示される。例えば、プレイヤが最も奥までＲボタン６６ａを押し下げた時、アクセル開度１００％が指示され、Ｒボタン６６ａを押すことを止める（ＯＦＦする）ことによって車オブジェクトのアクセルＯＦＦ（アクセル開度０％）が指示される。また、プレイヤがＬボタン６６ｂを任意の押し下げ量で押す（ＯＮする）ことによって車オブジェクトのブレーキ強度０〜１００％がその押し下げ量に応じてゲーム装置３に指示される。例えば、プレイヤが最も奥までＬボタン６６ｂを押し下げた時、ブレーキ強度１００％が指示され、Ｌボタン６６ｂを押すことを止める（ＯＦＦする）ことによって車オブジェクトのブレーキＯＦＦ（ブレーキ強度０％）が指示される。
【００９２】
第２の実施形態のゲームシステム１に設けられるゲーム装置３の構成は、図２を用いて第１の実施形態で説明したゲーム装置３と同様である。以下、同一の構成部については同一の参照符号を付して、詳細な説明を省略する。
【００９３】
また、第２の実施形態のメインメモリ３３に記憶されるプログラムおよびデータおよびその領域も、図３を用いて第１の実施形態で説明したメモリマップと同様である。
【００９４】
第２の実施形態のアクセル操作プログラムは、プレイヤがアクセルを開ける操作（例えば、Ｒボタン６６ａをＯＮ）をした押し込み量に応じたアクセル開度に対して、その車オブジェクトの走行動作を定義している。本発明のゲームプログラムでは、例えば、車オブジェクトが速度０の状態からＲボタン６６ａの操作がアクセル開度１００％で時間ｔ１継続した場合、車オブジェクトが最高速度ｖｍａｘに到達するようにプログラムされている。また、車オブジェクトが速度０の状態からＲボタン６６ａの操作がアクセル開度１００％以外の状態で継続した場合、それぞれのアクセル開度毎に設定された時間の継続によって、それぞれのアクセル開度に応じた準最高速度ｖｑｍａｘに車オブジェクトが到達するようにプログラムされている。なお、これら最高速度ｖｍａｘおよび準最高速度ｖｑｍａｘは、何れもアクセル開度に応じて車オブジェクトが走行可能な最高速度であるため、これらを総称する場合は、アクセル開度に応じた最高速度ｖａｍａｘと記載する。
【００９５】
また、ブレーキ操作プログラムは、プレイヤがアクセルを閉める操作（例えば、Ｒボタン６６ａをＯＦＦ）をし、ブレーキをかける操作（例えば、Ｌボタン６６ｂをＯＮ）をした押し込み量に応じたブレーキ強度に対して、その車オブジェクトの走行動作を定義している。本発明のゲームプログラムでは、例えば、車オブジェクトが最高速度ｖｍａｘの状態から、Ｒボタン６６ａおよびＬボタン６６ｂを共にＯＦＦ（つまり、アクセル開度０％およびブレーキ強度０％のエンジンブレーキがかかる状態）が時間ｔ１継続した場合、車オブジェクトが速度０に減速するようにプログラムされている。そして、プレイヤがさらにブレーキ操作（例えば、Ｌボタン６６ｂをＯＮ）することによって、ブレーキ強度に応じて設定された時間ｔ１より短いそれぞれの時間で車オブジェクトが最高速度ｖｍａｘから速度０まで減速することが定義されている。なお、ブレーキ操作が、Ｂボタン６３のＯＮ等によって行われる場合、ブレーキ強度０％および１００％がプレイヤによって指示可能であるため、ブレーキ操作プログラムは、ブレーキ強度０％および１００％に応じた上記時間を定義する。
【００９６】
メインメモリ３３に記憶される他のプログラムおよびデータは、第１の実施形態で説明したものと同様であるため、詳細な説明を省略する。また、ＡＲＡＭ３５に記憶される加速音データおよび減速音データについても、図４〜図６を用いて第１の実施形態で説明したものと同様である。したがって、同一のデータについては同一の参照符号を付して、詳細な説明を省略する。
【００９７】
次に、車オブジェクトがプレイヤの操作によってゲーム空間上に設定されたコースを走行するレーシングゲームを一例に、第２の実施形態に係るゲームプログラムに基づいたゲーム装置３の動作について説明する。ゲーム装置３の電源が投入されると、ゲーム装置３のＣＰＵ３０は、図示しないブートＲＯＭに記憶されている起動プログラムを実行し、メインメモリ３３等の各ユニットが初期化される。そして、光ディスク４に格納されたゲームプログラムがディスクドライブ４０およびディスクＩ／Ｆ４１を介してメインメモリ３３に読み込まれ、そのゲームプログラムの実行が開始され、ＧＰＵ３２を介してモニタ２にゲーム空間が表現されることによって、ゲームが開始される。また、光ディスク４に格納された上記加速音および減速音データがディスクドライブ４０およびディスクＩ／Ｆ４１を介してＡＲＡＭ３５に上記アドレスに対応して記憶される。
【００９８】
まず、ゲーム装置３のプレイヤは、モニタ２に表示されたゲーム画像を見ながらレーシングゲームを希望するコースや操作する車オブジェクトの種別を選択する。これらの選択は、上述したようにコントローラ６に設けられた各入力部をプレイヤが操作することによって行われる。そして、プレイヤによって選択されたコースおよび車オブジェクトに応じたゲーム画像がモニタ２に表示される。
【００９９】
次に、図１０を参照して、これらの処理動作以降に行われる第２の実施形態に係るゲーム装置３におけるエンジン音の再生処理について説明する。なお、図１０は、ゲーム装置３が行うエンジン音再生処理の動作を示すフローチャートである。
【０１００】
図１０において、ゲーム装置３のＣＰＵ３０は、ゲーム空間上の車オブジェクトのエンジンが始動しているか否か（ステップＳ４１）、およびプレイヤがコントローラ６を操作することによってアクセルがＯＮ（例えば、Ｒボタン６６ａのＯＮ）されているか否か（ステップＳ４２）を判断する。そして、ＣＰＵ３０は、車オブジェクトのエンジンが始動状態でアクセルＯＮである場合、処理を次のステップＳ４３に進め、車オブジェクトのエンジンが始動状態でアクセルＯＦＦである場合、処理を次のステップＳ５３に進める。
【０１０１】
ステップＳ４３では、ＣＰＵ３０は、車オブジェクトの加速時のエンジン音を再生するために、ＡＲＡＭ３５の加速音データ記憶領域３５１に記憶されている加速音データＤｕのアドレスＡｕを演算し、次のステップに処理を進める。具体的には、ＣＰＵ３０は、上記ステップＳ４３の演算で、加速部分の加速音データＤｕが記憶されているｍ個のアドレスＡｕ０〜Ａｕ（ｍ−１）に対して、再生を開始する加速音データＤｕがアドレスＡｕ０から何番目（ａ番目）にあたるのかを、式（３）に基づいて演算する。
ａ＝ｍ×ｖｘ／ｖａｍａｘ  …（３）
ここで、ｖｘは、現在の車オブジェクトの速度であり、ＣＰＵ３０が車オブジェクトが速度０の状態からＲボタン６６ａのＯＮおよびＯＦＦと、Ｌボタン６６ｂのＯＮおよびＯＦＦとが操作された時間をそれぞれの押し込み量（つまり、アクセル開度あるいはブレーキ強度）に応じて累積計算し、データ記憶領域３３２のアクセルおよびブレーキ操作バッファに記憶された数値を用いて演算される。そして、ｖａｍａｘは、アクセルＯＮを継続することによって到達する上述した車オブジェクトのアクセル開度に応じた最高速度である。ＣＰＵ３０は、上記式（３）によって演算されたアドレスＡｕ０からａ番目にあたるアドレスＡｕ（ａ−１）をステップＳ４３で演算する加速音再生開始アドレスとして決定する。
【０１０２】
ここで、ＣＰＵ３０は、上記式（３）を用いて、加速音データ記憶領域３５１に記憶されている加速部分の加速音データＤｕのアドレス数ｍに対して、アクセル開度に応じた最高速度ｖａｍａｘに対する現在の車オブジェクトの速度ｖｘの比率を乗算することによって、加速音再生開始アドレスを演算している。これは、上述したように加速音データ記憶領域３５１に記憶された加速音データＤｕが、実際の車両が一定加速度で速度０から速度ｖまで加速したときのデータに基づいて録音されており、ゲーム上でアクセルＯＮを継続することによって到達する車オブジェクトのアクセル開度に応じた最高速度ｖａｍａｘを実際の車両の速度ｖに置き換えていることになる。つまり、このような置き換えを行うことによって、ＣＰＵ３０は、アクセル開度に応じた最高速度ｖａｍａｘに対する現在の車オブジェクトの速度ｖｘの割合に相当する現実の加速音が記憶されているアドレスＡｕ（ａ−１）を、正確に演算することができる。
【０１０３】
次に、ＣＰＵ３０は、ゲーム空間上の車オブジェクトの速度が、現在プレイヤの操作によって指示されているアクセル開度に応じた最高速度ｖａｍａｘに到達しているか否かを判断する（ステップＳ４４）。具体的には、ＣＰＵ３０は、アクセル開度１００％の場合、最高速度ｖｍａｘに基づいて判断を行い、それ以外のアクセル開度の場合、そのアクセル開度に応じた準最高速度ｖｑｍａｘに基づいて判断を行う。そして、ＣＰＵ３０は、車オブジェクトがアクセル開度に応じた最高速度ｖａｍａｘに未到達の場合、車オブジェクトが加速していると判断して次のステップＳ４５に処理を進める。一方、ＣＰＵ３０は、車オブジェクトがアクセル開度に応じた最高速度ｖａｍａｘに到達している場合、車オブジェクトが最高速度ｖａｍａｘの高速一定状態で走行していると判断して次のステップＳ５０に処理を進める。
【０１０４】
ステップＳ４５では、ＣＰＵ３０は、上記ステップＳ４３で演算された加速音再生開始アドレスＡｕ（ａ−１）以降に記憶されている加速音データＤｕに対して、その再生に用いられるアクセル開度補正係数ａｋを演算し、次のステップに処理を進める。上述したように、車オブジェクトが到達可能な最高速度およびそのエンジン回転数は、アクセル開度に応じて異なり、それらの最高速度に到達する時間も異なる。しかしながら、上記式（３）を用いた演算では、アクセル開度に応じた最高速度ｖａｍａｘに対する現在の速度ｖｘの割合が同じであると同じ加速音再生開始アドレスが演算され、結果的に異なった速度ｖｘに対して同じ加速音データが再生されてしまう。また、アクセル開度に応じた最高速度ｖａｍａｘに到達するまでに要するエンジン音再生時間も同じになる。このようなアクセル開度による車オブジェクトの速度、エンジン回転数、および到達時間の違いを正確にエンジン音として再生するために、上記ステップＳ４５では、再生するエンジン音周波数に乗算する周波数倍率としてアクセル開度補正係数ａｋを演算する。ＣＰＵ３０は、上記アクセル開度補正係数ａｋを式（４）によって演算する。
ａｋ＝ａｏｐ×（ａｏ１００−ａｏ０）／１００＋ａｏ０  …（４）
ここで、ａｏｐは現在のアクセル開度（０〜１００％）であり、ａｏ１００はアクセル開度１００％における周波数倍率を示す定数であり、ａｏ０はアクセル開度０％における周波数倍率を示す定数である。例えば、定数ａｏ１００＝１．０、定数ａｏ０＝０．３に予め設定されている。
【０１０５】
次に、ＣＰＵ３０は、上記ステップＳ４３で演算された加速音再生開始アドレスＡｕ（ａ−１）以降に記憶されている加速音データＤｕに対して、その再生に用いられる周波数補正係数を演算し（ステップＳ４６）、エンジン音再生の際の音量を補正する音量補正係数を演算する（ステップＳ４７）。これらステップＳ４６およびＳ４７の処理については、第１の実施形態で説明したステップＳ１５およびＳ１６と同様であるため、詳細な説明を省略する。そして、ＣＰＵ３０は、次のステップに処理を進める。
【０１０６】
次に、ＣＰＵ３０は、上記ステップＳ４３で演算された加速音再生開始アドレスＡｕ（ａ−１）以降に記憶されている加速音データＤｕを再生する処理を行い（ステップＳ４８）、プレイヤがアクセルＯＦＦせず（ステップＳ４９）、かつ車オブジェクトがアクセル開度に応じた最高速度ｖａｍａｘに到達するまで（ステップＳ４４）、ステップＳ４５〜Ｓ４８の処理を繰り返す。そして、ＣＰＵ３０は、プレイヤがアクセルＯＦＦした場合、上記ステップＳ４１に戻って処理を継続する。上記ステップＳ４８において、ＣＰＵ３０は、ＤＳＰ３４にＡＲＡＭ３５のアドレスＡｕ（ａ−１）以降に記憶されている加速音データＤｕをサウンドデータとして順次読み出す指示をする。そして、ＤＳＰ３４は、それらのサウンドデータが有する周波数に上記ステップＳ４５で演算されたアクセル開度補正係数ａｋおよび上記ステップＳ４６で算出された周波数補正係数を乗算し、上記ステップＳ４７で算出された音量補正係数による再生音量を調整して、メモリコントローラ３１およびオーディオＩ／Ｆ３９を介してモニタ２に備えるスピーカ２ａからエンジン音を再生する。このサウンド再生処理によって、プレイヤのアクセル操作の変更（つまり、アクセルをＯＦＦする）がなく、アクセル開度に応じた最高速度ｖａｍａｘに到達しない限り、上記ステップＳ４３で演算された加速音アドレスを再生開始ポイントとして、予め録音した加速音データが連続して再生される。また、ＡＲＡＭ３５に記憶されている加速音データが有する周波数にアクセル開度補正係数ａｋが乗算されているため、アクセル開度が１００％でない場合、そのアクセル開度に応じて相対的に再生周波数が低く、かつそのアクセル開度に応じて最高速度ｖａｍａｘに到達する時間が相対的に遅い加速音が再生される。つまり、アクセル開度による車オブジェクトの速度、エンジン回転数、および到達時間の違いを正確にエンジン音として再生することができる。
【０１０７】
一方、上記ステップＳ４４で、ＣＰＵ３０は、車オブジェクトがアクセル開度に応じた最高速度ｖａｍａｘに到達している場合、車オブジェクトが最高速度ｖａｍａｘの高速一定状態で走行していると判断してステップＳ５０に処理を進める。ステップＳ５０では、ＣＰＵ３０は、高速一定部分のアドレスＡｕ（ｍ）〜Ａｕ（ｎ−１）に記憶されている加速音データＤｕ（ｍ）〜Ｄｕ（ｎ−１）に対して、その再生に用いられるアクセル開度補正係数ａｋを演算し、次のステップに処理を進める。このステップＳ５０の処理については、上記ステップＳ４５と同様であるため、詳細な説明を省略する。
【０１０８】
次に、ＣＰＵ３０は、エンジン音再生の際の音量を補正する音量補正係数を演算し（ステップＳ５１）、次のステップに処理を進める。このステップＳ５１の処理については、第１の実施形態で説明したステップＳ１６と同様の処理であるため、詳細な説明を省略する。
【０１０９】
次に、ＣＰＵ３０は、高速一定部分のアドレスＡｕ（ｍ）〜Ａｕ（ｎ−１）に記憶されている加速音データＤｕ（ｍ）〜Ｄｕ（ｎ−１）をループ再生する処理を行う（ステップＳ５２）。このループ再生処理は、プレイヤがアクセルＯＮを継続している限り（ステップＳ４９）、上記ステップＳ５０の処理に戻って繰り返して行われる。ＣＰＵ３０は、ＤＳＰ３４にＡＲＡＭ３５のアドレスＡｕ（ｍ）〜Ａｕ（ｎ−１）に記憶されている高速一定部分の加速音データＤｕ（ｍ）〜Ｄｕ（ｎ−１）をサウンドデータとして繰り返して読み出す指示をする。そして、ＤＳＰ３４は、そのサウンドデータが有する周波数に上記ステップＳ５０で演算されたアクセル開度補正係数ａｋを乗算し、上記ステップＳ５１で算出された音量補正係数による再生音量を調整して、メモリコントローラ３１およびオーディオＩ／Ｆ３９を介してモニタ２に備えるスピーカ２ａからエンジン音を再生する。そして、ＣＰＵ３０は、プレイヤがアクセル操作を変更（つまり、アクセルＯＦＦ）した場合（ステップＳ４９）、上記ステップＳ４１に戻って処理を継続する。
【０１１０】
一方、上記ステップＳ４２において、車オブジェクトのエンジンが始動状態でアクセルＯＦＦである場合、処理をステップＳ５３に進める。ステップＳ５３では、ＣＰＵ３０は、車オブジェクトの減速時のエンジン音を再生するために、第１の実施形態の上記ステップＳ２１と同様にＡＲＡＭ３５の減速音データ記憶領域３５２に記憶されている減速音データＤｄのアドレスＡｄを演算し、次のステップに処理を進める。具体的には、ＣＰＵ３０は、上記ステップＳ２１の演算で、減速部分の減速音データＤｄが記憶されているｍ個のアドレスＡｄ０〜Ａｄ（ｍ−１）に対して、再生を開始する減速音データＤｄがアドレスＡｄ０から何番目（ｂ番目）にあたるのかを、上記ステップＳ２１で用いた式（２）に基づいて演算する。
ｂ＝ｍ−（ｍ×ｖｘ／ｖｍａｘ）  …（２）
ここで、ｖｘは、上記ステップＳ４３で用いられる数値と同様の、現在の車オブジェクトの速度であり、ｖｍａｘは、最高速度である。ＣＰＵ３０は、上記式（２）によって演算されたアドレスＡｄ０からｂ番目にあたるアドレスＡｄ（ｂ−１）を、エンジン音再生を開始する減速音再生開始アドレスとして決定する。
【０１１１】
次に、ＣＰＵ３０は、ゲーム空間上の車オブジェクトの速度が、速度０のアイドル状態か否かを判断する（ステップＳ５４）。そして、ＣＰＵ３０は、車オブジェクトが速度０のアイドル状態でない場合、車オブジェクトが減速していると判断して次のステップＳ５５に処理を進める。一方、ＣＰＵ３０は、車オブジェクトが速度０のアイドル状態の場合、次のステップＳ６０に処理を進める。
【０１１２】
ステップＳ５５では、ＣＰＵ３０は、上記ステップＳ５３で演算された減速音再生開始アドレスＡｄ（ｂ−１）以降に記憶されている減速音データＤｄに対して、その再生に用いられるブレーキ強度補正係数ｂｋを演算し、次のステップに処理を進める。上述したように、プレイヤがさらにブレーキ操作（例えば、Ｌボタン６６ｂをＯＮ）することによって、指示されたブレーキ強度に応じて設定された時間ｔ１より短いそれぞれの時間で車オブジェクトが最高速度ｖｍａｘから速度０まで減速する。つまり、プレイヤが任意のブレーキ強度でブレーキ操作を行った場合、エンジンブレーキ（ブレーキ強度０％）による減速より相対的に大きな加速度で減速することになる。しかしながら、上記式（２）を用いた演算では、最高速度ｖｍａｘに対する現在の速度ｖｘの割合が同じであると同じ減速音再生開始アドレスが演算され、結果的に減速期間の異なった速度に対して同じ減速音データが再生されてしまう。このようなブレーキ強度による車オブジェクトの速度およびエンジン回転数の違いを正確にエンジン音として再生するために、上記ステップＳ５５では、再生するエンジン音周波数に乗算する周波数倍率としてブレーキ強度補正係数ｂｋを演算する。ＣＰＵ３０は、上記ブレーキ強度補正係数ｂｋを式（５）によって演算する。
0003649722.tif 000002
ここで、ｂｏｐは現在のブレーキ強度（０〜１００％）であり、ｂｏ０はブレーキ強度０％における周波数倍率を示す定数であり、ｂｏ１００はブレーキ強度１００％における周波数倍率を示す定数である。例えば、定数ｂｏ０＝１．０、定数ｂｏ１００＝０．３に予め設定されている。
【０１１３】
次に、ＣＰＵ３０は、上記ステップＳ５３で演算された減速音再生開始アドレスＡｄ（ｂ−１）以降に記憶されている減速音データＤｄに対して、その再生に用いられる周波数補正係数を演算し（ステップＳ５６）、エンジン音再生の際の音量を補正する音量補正係数を演算する（ステップＳ５７）。これらステップＳ５６およびＳ５７の処理については、上記ステップＳ１５およびＳ１６と同様であるため、詳細な説明を省略する。そして、ＣＰＵ３０は、次のステップに処理を進める。
【０１１４】
次に、ＣＰＵ３０は、上記ステップＳ５３で演算された減速音再生開始アドレスＡｄ（ｂ−１）以降に記憶されている減速音データＤｄを再生する処理を行い（ステップＳ５８）、プレイヤがブレーキ操作をＯＦＦしてアクセルＯＮしない状態で（ステップＳ５９）、かつ車オブジェクトが速度０のアイドル状態になるまで（ステップＳ５４）、ステップＳ５５〜Ｓ５８の処理を繰り返す。そして、ＣＰＵ３０は、プレイヤがアクセル操作を変更（つまり、ブレーキ操作をＯＦＦしてアクセルＯＮ）した場合、上記ステップＳ４１に戻って処理を継続する。上記ステップＳ５８において、ＣＰＵ３０は、ＤＳＰ３４にＡＲＡＭ３５のアドレスＡｄ（ｂ−１）以降に記憶されている減速音データＤｄをサウンドデータとして順次読み出す指示をする。そして、ＤＳＰ３４は、それらのサウンドデータが有する周波数に上記ステップＳ５５で演算されたブレーキ強度補正係数ｂｋおよび上記ステップＳ５６で算出された周波数補正係数を乗算し、上記ステップＳ５７で算出された音量補正係数による再生音量を調整して、メモリコントローラ３１およびオーディオＩ／Ｆ３９を介してモニタ２に備えるスピーカ２ｂからエンジン音を再生する。このサウンド再生処理によって、プレイヤのアクセル操作の変更（つまり、ブレーキ操作をＯＦＦしてアクセルをＯＮする）がなく、速度０のアイドル状態にならない限り、上記ステップＳ５３で演算された減速音再生開始アドレスを再生開始ポイントとして、予め録音した減速音データが連続して再生される。また、ＡＲＡＭ３５に記憶されている減速音データが有する周波数にブレーキ強度補正係数ｂｋが乗算されているため、ブレーキ強度が０％（エンジンブレーキのみ）でない場合、そのブレーキ強度に応じて相対的に再生周波数が低い減速音が再生される。つまり、ブレーキ強度による車オブジェクトの速度およびエンジン回転数の違いを正確にエンジン音として再生することができる。
【０１１５】
一方、上記ステップＳ５４で、ＣＰＵ３０は、車オブジェクトが速度０のアイドル状態の場合、ステップＳ６０に処理を進める。ステップＳ６０では、ＣＰＵ３０は、エンジン音再生の際の音量を補正する音量補正係数を演算し、次のステップに処理を進める。このステップＳ６０の処理については、上記ステップＳ１６と同様の処理であるため、詳細な説明を省略する。
【０１１６】
次に、ＣＰＵ３０は、アイドル部分のアドレスＡｄ（ｍ）〜Ａｄ（ｎ−１）に記憶されている減速音データＤｄ（ｍ）〜Ｄｄ（ｎ−１）をループ再生する処理を行う（ステップＳ６１）。このループ再生処理は、プレイヤが少なくともアクセルＯＦＦを継続することによって（ステップＳ５９）、車オブジェクトが速度０のアイドル状態を継続している限り（ステップＳ５４）、上記ステップＳ６０の処理に戻って繰り返して行われる。ＣＰＵ３０は、ＤＳＰ３４にＡＲＡＭ３５のアドレスＡｄ（ｍ）〜Ａｄ（ｎ−１）に記憶されているアイドル部分の減速音データＤｄ（ｍ）〜Ｄｄ（ｎ−１）をサウンドデータとして繰り返して読み出す指示をする。そして、ＤＳＰ３４は、上記ステップＳ６０で算出された音量補正係数による再生音量を調整して、メモリコントローラ３１およびオーディオＩ／Ｆ３９を介してモニタ２に備えるスピーカ２ｂからエンジン音を再生する。そして、ＣＰＵ３０は、プレイヤがアクセル操作を変更（つまり、少なくともアクセルＯＮ）した場合、上記ステップＳ４１に戻って処理を継続する。
【０１１７】
そして、ＣＰＵ３０は、上記ステップＳ４１でエンジンが始動していないと判断した場合、当該フローチャートによるエンジン音再生処理を終了する。
【０１１８】
なお、ＡＲＡＭ３５には、加速音データＤｕおよび減速音データＤｄを、それぞれ同じ個数ｎで等分割し、加速音データＤｕの加速部分および減速音データＤｄの減速部分をそれぞれ同じ個数ｍで等分割して記憶したが、第２の実施形態においても同じ個数ｎあるいはｍでなくてもかまわない。上述したフローチャートによる処理および上記式（２）および（３）によるアドレスの算出を行えば、同じ個数でなくても同様の処理が可能である。
【０１１９】
このように、第２の実施形態に係るゲームシステム１においては、プレイヤが任意のアクセル開度およびブレーキ強度を操作可能なゲームであっても、ゲーム空間上の車オブジェクトの加速、減速、アイドル、および最高速度一定状態の走行動作に応じたエンジン音が、それらの走行動作を実際の車両の走行によって予め録音されたサウンドデータを用いて再生されるため、現実に近いエンジン音の再生が可能となる。また、アクセル開度あるいはブレーキ強度に応じて加速あるいは減速音の周波数を補正することによって、自然な加速あるいは減速音が再生可能である。
【０１２０】
なお、上述した第１および第２の実施形態では、車オブジェクトがプレイヤの操作によってゲーム空間上に設定されたコースを走行するレーシングゲームを一例に説明したが、本発明は、他のゲームにも適用できる。例えば、電車や飛行機等の加速および減速が定義された物体が移動するゲームのサウンド再生においても、本発明を適用することができる。
【０１２１】
また、エンジン音の再生にあたっては、加速音および減速音の一方を予め録音してＡＲＡＭ３５に記憶させ、ゲーム中に他方のエンジン音を再生するときに一方のエンジン音を逆再生することも考えられる。しかしながら、加速時のエンジン音と減速時のエンジン音とは、それぞれに固有の共振音、吸排気音、エンジンの負荷の違いによる機械音等が含まれており、逆再生によってこれらの特徴を再生することは不可能である。したがって、本発明を用いて自然な加速あるいは減速音が再生するためには、加速および減速時の２種類の連続的な音データを用いて、ゲームにおけるエンジンを再生するのが好ましい。
【図面の簡単な説明】
【図１】本発明の第１および第２の実施形態に係るゲームシステムを説明するための外観図である。
【図２】図１のゲーム装置３の機能ブロック図である。
【図３】図２のメインメモリ３３に記憶されるプログラムおよびデータの一例について説明するための概略的なメモリマップである。
【図４】加速音データを予め取得するための加速音データとその条件との一例を示すグラフである。
【図５】減速音データを予め取得するための減速音データとその条件との一例を示すグラフである。
【図６】図４および図５で示した加速音および減速音データを図２のＡＲＡＭ３５に記憶した際の概略的なメモリマップである。
【図７】第１の実施形態に係る図１のゲーム装置３が行うエンジン音再生処理の動作を示すフローチャートである。
【図８】図７のフローチャートに基づいて、車オブジェクトがアイドル状態から最高速度ｖｍａｘまで加速し、その後アイドル状態まで減速する場合に用いられる加減速音データを説明するための図である。
【図９】図７のフローチャートに基づいて、車オブジェクトがアイドル状態から最高速度ｖｍａｘより遅い速度ｖ１まで加速し、一度速度ｖ２（ｖ２＜ｖ１）まで減速した後、最高速度ｖｍａｘまで再加速する場合に用いられる加減速音データを説明するための図である。
【図１０】第２の実施形態に係る図１のゲーム装置３が行うエンジン音再生処理の動作を示すフローチャートである。
【符号の説明】
１…ゲームシステム
２…モニタ
２ｂ…スピーカ
３…ゲーム装置
４…光ディスク
５…外部メモリカード
６…コントローラ
６１…メインスティック
６２…Ａボタン
６３…Ｂボタン
６４…Ｘボタン
６５…Ｙボタン
６６ａ…Ｒボタン
６６ｂ…Ｌボタン
６７…十字キー
６８…Ｃスティック
６９…スタート−ポーズボタン
３０…ＣＰＵ
３１…メモリコントローラ
３２…ＧＰＵ
３３…メインメモリ
３３１…プログラム記憶領域
３３２…データ記憶領域
３４…ＤＳＰ
３５…ＡＲＡＭ
３５１…加速音データ記憶領域
３５２…減速音データ記憶領域
３６…コントローラＩ／Ｆ
３７…ビデオＩ／Ｆ
３８…外部メモリＩ／Ｆ
３９…オーディオＩ／Ｆ
４０…ディスクドライブ
４１…ディスクＩ／Ｆ
【図１】
0003649722.tif 000003
【図２】
0003649722.tif 000004
【図３】
0003649722.tif 000005
【図４】
0003649722.tif 000006
【図５】
0003649722.tif 000007
【図６】
0003649722.tif 000008
【図７】
0003649722.tif 000009
【図８】
0003649722.tif 000010
【図９】
0003649722.tif 000011
【図１０】
0003649722.tif 000012