(57)【特許請求の範囲】
【請求項１】
ビデオゲームのための複数のフレーム画像を生成して一定のフレーム周期で発生される基準信号に同期して切り替えて画面に表示させるゲーム表示方法であって、
複数のフレーム画像を順次生成する生成ステップと、
前記生成ステップでいずれかのフレーム画像が生成される毎に、前記基準信号の発生を待ち合わせ、前記基準信号が発生したときに、画面にそれまで表示されていたフレーム画像から切り替えて当該生成されたいずれかのフレーム画像を表示させる表示ステップと、
前記生成ステップで次に生成されるべきフレーム画像が生成される前に、当該フレーム画像の生成に要する生成時間を、前記フレーム周期を単位としたフレーム周期数でもって予測する予測ステップと、
操作入力に応答して、通常より低速の表示速度を示すキー信号を入力する入力ステップと、
前記入力ステップで入力されたキー信号に依存して定まる１／Ｎ倍（Ｎは１より大きな整数）の表示速度に応じて、スキップ期間として、前記予測ステップにより予測された前記フレーム周期数と（Ｎ−１）との積に相当するフレーム周期数を設定する設定ステップと、
を含み、
前記生成ステップは、直前に生成されたいずれかのフレーム画像が前記表示ステップにより画面に表示されたことに同期して、前記設定されたスキップ期間の間、次に生成されるべきフレーム画像の生成をスキップしてから、当該次に生成されるべきフレーム画像の生成を開始し、当該次に生成されるべきフレーム画像として、前記予測ステップで予測されたフレーム周期数のフレーム周期のうちの最後のフレーム周期で表示されるべきフレーム画像を生成する、
ことを特徴とするゲーム表示方法。
【請求項２】
前記予測ステップは、前記複数のフレーム画像のいずれかが生成される毎に、当該フレーム画像の生成時間を前記フレーム周期を単位としたフレーム周期数でもって計測し、計測されたフレーム周期数を次に生成されるべきフレーム画像の生成時間の予測値とする、ことを特徴とする請求項１に記載のゲーム表示方法。
【請求項３】
複数のフレーム画像を順次生成する生成ステップと、
前記生成ステップにより生成された複数のフレーム画像の各々の生成後に、一定のフレーム周期を有する所定の基準信号の発生を待ち合わせ、当該基準信号が発生したときに、画面にそれまで表示されていたフレーム画像から切り替えて当該生成されたフレーム画像を表示させる表示ステップと、
前記生成ステップで次に生成されるべきフレーム画像が生成される前に、当該フレーム画像の生成に要する生成時間を予測する予測ステップと、
前記生成ステップで次に生成されるべきフレーム画像に関して前記予測ステップで予測された生成時間に依存して、当該次に生成されるべきフレーム画像と当該生成ステップで直前に生成されたフレーム画像との間のオブジェクトの移動量を一フレーム周期でのオブジェクトの移動量を単位にしたフレーム周期数でもって表すゲーム進行量を決定する決定ステップと、
操作入力に応答して、通常より低速の表示速度を示すキー信号を入力する入力ステップと、
前記入力ステップで入力されたキー信号に依存して定まる１／Ｎ倍（Ｎは１より大きな整数）の表示速度に応じて、スキップ期間として、前記決定ステップにより決定された前記ゲーム進行量を表す前記フレーム周期数と（Ｎ−１）との積に相当するフレーム周期数を設定する設定ステップと、
を含み、
前記生成ステップは、直前に生成されたいずれかのフレーム画像が前記表示ステップにより画面に表示されたことに同期して、前記設定されたスキップ期間の間、次に生成されるべきフレーム画像の生成をスキップしてから、当該次に生成されるべきフレーム画像の生成を開始し、当該次に生成されるべきフレーム画像として、前記決定ステップで決定されたゲーム進行量を表す前記フレーム周期数に対応するオブジェクトの移動量を直前に生成されたフレーム画像に対して有するフレーム画像を生成する、
ことを特徴とするゲーム表示方法。
【請求項４】
前記予測ステップは、前記複数のフレーム画像のいずれかが生成される毎に、当該フレーム画像の生成時間を計測し、計測された生成時間を次に生成されるべきフレーム画像の生成時間の予測値とする、ことを特徴とする請求項３に記載のゲーム表示方法。
【請求項５】
ビデオゲームのための複数のフレーム画像を生成して一定のフレーム周期で発生される基準信号に同期して切り替えて画面に表示させる、ビデオゲームのためのプログラムを記録したコンピュータ読み取り可能な記録媒体であって、
前記プログラムは、
複数のフレーム画像を順次生成する生成ステップと、
前記生成ステップでいずれかのフレーム画像が生成される毎に、前記基準信号の発生を待ち合わせ、前記基準信号が発生したときに、画面にそれまで表示されていたフレーム画像から切り替えて当該生成されたいずれかのフレーム画像を表示させる表示ステップと、
前記生成ステップで次に生成されるべきフレーム画像が生成される前に、当該フレーム画像の生成に要する生成時間を、前記フレーム周期を単位としたフレーム周期数でもって予測する予測ステップと、
操作入力に応答して、通常より低速の表示速度を示すキー信号を入力する入力ステップと、
前記入力ステップで入力されたキー信号に依存して定まる１／Ｎ倍（Ｎは１より大きな整数）の表示速度に応じて、スキップ期間として、前記予測ステップにより予測された前記フレーム周期数と（Ｎ−１）との積に相当するフレーム周期数を設定する設定ステップと、
をコンピュータに実行させるプログラムであり、
前記生成ステップは、直前に生成されたいずれかのフレーム画像が前記表示ステップにより画面に表示されたことに同期して、前記設定されたスキップ期間の間、次に生成されるべきフレーム画像の生成をスキップしてから、当該次に生成されるべきフレーム画像の生成を開始し、当該次に生成されるべきフレーム画像として、前記予測ステップで予測されたフレーム周期数のフレーム周期のうちの最後のフレーム周期で表示されるべきフレーム画像を生成する、
ことを特徴とする記録媒体。
【請求項６】
前記予測ステップは、前記複数のフレーム画像のいずれかが生成される毎に、当該フレーム画像の生成時間を前記フレーム周期を単位としたフレーム周期数でもって計測し、計測されたフレーム周期数を次に生成されるべきフレーム画像の生成時間の予測値とする、ことを特徴とする請求項５に記載の記録媒体。
【請求項７】
ビデオゲームのためのプログラムを記録したコンピュータ読み取り可能な記録媒体であって、
前記プログラムは、
複数のフレーム画像を順次生成する生成ステップと、
前記生成ステップにより生成された複数のフレーム画像の各々の生成後に、一定のフレーム周期を有する所定の基準信号の発生を待ち合わせ、当該基準信号が発生したときに、画面にそれまで表示されていたフレーム画像から切り替えて当該生成されたフレーム画像を表示させる表示ステップと、
前記生成ステップで次に生成されるべきフレーム画像が生成される前に、当該フレーム画像の生成に要する生成時間を予測する予測ステップと、
前記生成ステップで次に生成されるべきフレーム画像に関して前記予測ステップで予測された生成時間に依存して、当該次に生成されるべきフレーム画像と当該生成ステップで直前に生成されたフレーム画像との間のオブジェクトの移動量を一フレーム周期でのオブジェクトの移動量を単位にしたフレーム周期数でもって表すゲーム進行量を決定する決定ステップと、
操作入力に応答して、通常より低速の表示速度を示すキー信号を入力する入力ステップと、
前記入力ステップで入力されたキー信号に依存して定まる１／Ｎ倍（Ｎは１より大きな整数）の表示速度に応じて、スキップ期間として、前記決定ステップにより決定された前記ゲーム進行量を表す前記フレーム周期数と（Ｎ−１）との積に相当するフレーム周期数を設定する設定ステップと、
をコンピュータに実行させるプログラムであり、
前記生成ステップは、直前に生成されたいずれかのフレーム画像が前記表示ステップにより画面に表示されたことに同期して、前記設定されたスキップ期間の間、次に生成されるべきフレーム画像の生成をスキップしてから、当該次に生成されるべきフレーム画像の生成を開始し、当該次に生成されるべきフレーム画像として、前記決定ステップで決定されたゲーム進行量を表す前記フレーム周期数に対応するオブジェクトの移動量を直前に生成されたフレーム画像に対して有するフレーム画像を生成する、
ことを特徴とする記録媒体。
【請求項８】
前記予測ステップは、前記複数のフレーム画像のいずれかが生成される毎に、当該フレーム画像の生成時間を計測し、計測された生成時間を次に生成されるべきフレーム画像の生成時間の予測値とする、ことを特徴とする請求項７に記載の記録媒体。
【請求項９】
ビデオゲームのための複数のフレーム画像を生成して一定のフレーム周期で発生される基準信号に同期させて切り替えて画面に表示させるゲーム表示装置において、
複数のフレーム画像を順次生成する生成手段と、
前記生成手段でいずれかのフレーム画像が生成される毎に、前記基準信号の発生を待ち合わせ、前記基準信号が発生したときに、画面にそれまで表示されていたフレーム画像から切り替えて当該生成されたいずれかのフレーム画像を表示させる表示手段と、
前記生成手段で次に生成されるべきフレーム画像が生成される前に、当該フレーム画像の生成に要する生成時間を、前記フレーム周期を単位としたフレーム周期数でもって予測する予測手段と、
操作入力に応答して、通常より低速の表示速度を示すキー信号を入力する入力手段と、
前記入力手段で入力されたキー信号に依存して定まる１／Ｎ倍（Ｎは１より大きな整数）の表示速度に応じて、スキップ期間として、前記予測手段により予測された前記フレーム周期数と（Ｎ−１）との積に相当するフレーム周期数を設定する設定手段と、
を備え、
前記生成手段は、直前に生成されたいずれかのフレーム画像が前記表示手段により画面に表示されたことに同期して、前記設定されたスキップ期間の間、次に生成されるべきフレーム画像の生成をスキップしてから、当該次に生成されるべきフレーム画像の生成を開始し、当該次に生成されるべきフレーム画像として、前記予測手段で予測されたフレーム周期数のフレーム周期のうちの最後のフレーム周期で表示されるべきフレーム画像を生成する、
ことを特徴とするゲーム表示装置。
【請求項１０】
複数のフレーム画像を順次生成する生成手段と、
前記生成手段により生成された複数のフレーム画像の各々の生成後に、一定のフレーム周期を有する所定の基準信号の発生を待ち合わせ、当該基準信号が発生したときに、画面にそれまで表示されていたフレーム画像から切り替えて当該生成されたフレーム画像を表示させる表示手段と、
前記生成手段で次に生成されるべきフレーム画像が生成される前に、当該フレーム画像の生成に要する生成時間を予測する予測手段と、
前記生成手段で次に生成されるべきフレーム画像に関して前記予測手段で予測された生成時間に依存して、当該次に生成されるべきフレーム画像と当該生成手段で直前に生成されたフレーム画像との間のオブジェクトの移動量を一フレーム周期でのオブジェクトの移動量を単位にしたフレーム周期数でもって表すゲーム進行量を決定する決定手段と、
操作入力に応答して、通常より低速の表示速度を示すキー信号を入力する入力手段と、
前記入力手段で入力されたキー信号に依存して定まる１／Ｎ倍（Ｎは１より大きな整数）の表示速度に応じて、スキップ期間として、前記決定手段により決定された前記ゲーム進行量を表す前記フレーム周期数と（Ｎ−１）との積に相当するフレーム周期数を設定する設定手段と、
を備え、
前記生成手段は、直前に生成されたいずれかのフレーム画像が前記表示手段により画面に表示されたことに同期して、前記設定されたスキップ期間の間、次に生成されるべきフレーム画像の生成をスキップしてから、当該次に生成されるべきフレーム画像の生成を開始し、当該次に生成されるべきフレーム画像として、前記決定手段で決定されたゲーム進行量を表す前記フレーム周期数に対応するオブジェクトの移動量を直前に生成されたフレーム画像に対して有するフレーム画像を生成する、
ことを特徴とするゲーム表示装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ビデオゲームを構成する複数の画像を生成するためのプログラムが記録された記録媒体、ゲーム表示方法およびゲーム表示装置に関する。
【０００２】
【従来の技術】
近年高度の技術を使用したビデオゲームが開発されている。それらのゲームでは、３次元の仮想空間に、人物、機械、道具、建物、背景物等の表示対象物（以下では簡単のためにオブジェクトと呼ぶ）が画面に表示される。
【０００３】
ビデオゲームでは画像生成処理が１秒間に数十回繰り返され、１秒間に数十フレームの静止画像（以下では各静止画像をフレーム画像と呼ぶ）が生成される。順次生成された複数のフレーム画像は、一対のフレームバッファに交互に書き込まれる。書き込まれたフレーム画像は、表示装置により決められる所定のフレーム画像表示周期（以下では、簡単化してフレーム周期と呼ぶことがある）に合わせてこの一対のフレームバッファから読み出され、表示装置に表示される。
【０００４】
【発明が解決しようとする課題】
表示されたオブジェクトの内、人物を模擬するもキャラクタはプレイヤの操作に応じて移動可能である。しかし、一般に画面上のゲームの進行速度（画面上の全てのオブジェクトが動く速度）は、ゲームプログラムにより決められている。
【０００５】
この進行速度をプレイヤの好みに合わせて変えることができれば、ゲームの楽しみ方も変わると期待される。
【０００６】
たとえば、ゲームの内容によっては同じ様な場面が何度も繰り返し出現してくることがある。このような画面を同じ進行速度でくり返し表示したのでは、プレイヤを飽きさせる恐れがある。したがって、ＶＴＲ（Video Tape Recorder）に備わっている早送り再生機能のように、プレイヤの操作によりゲームの進行速度を変えられるような画像再生方法が望まれる。
【０００７】
本発明の目的は、プレイヤの操作入力に応じてビデゲームの進行速度を所望の値に変更するのに適したゲーム表示方法、ゲーム表示装置および記録媒体を提供することである。
【００２２】
【課題を解決するための手段】
本発明に係るゲーム表示方法は、ビデオゲームのための複数のフレーム画像を生成して一定のフレーム周期で発生される基準信号に同期して切り替えて画面に表示させるゲーム表示方法であって、複数のフレーム画像を順次生成する生成ステップと、前記生成ステップでいずれかのフレーム画像が生成される毎に、前記基準信号の発生を待ち合わせ、前記基準信号が発生したときに、画面にそれまで表示されていたフレーム画像から切り替えて当該生成されたいずれかのフレーム画像を表示させる表示ステップと、前記生成ステップで次に生成されるべきフレーム画像が生成される前に、当該フレーム画像の生成に要する生成時間を、前記フレーム周期を単位としたフレーム周期数でもって予測する予測ステップと、操作入力に応答して、通常より低速の表示速度を示すキー信号を入力する入力ステップと、前記入力ステップで入力されたキー信号に依存して定まる１／Ｎ倍（Ｎは１より大きな整数）の表示速度に応じて、スキップ期間として、前記予測ステップにより予測された前記フレーム周期数と（Ｎ−１）との積に相当するフレーム周期数を設定する設定ステップと、を含み、前記生成ステップは、直前に生成されたいずれかのフレーム画像が前記表示ステップにより画面に表示されたことに同期して、前記設定されたスキップ期間の間、次に生成されるべきフレーム画像の生成をスキップしてから、当該次に生成されるべきフレーム画像の生成を開始し、当該次に生成されるべきフレーム画像として、前記予測ステップで予測されたフレーム周期数のフレーム周期のうちの最後のフレーム周期で表示されるべきフレーム画像を生成する、ものである。
より望ましくは、前記予測ステップは、前記複数のフレーム画像のいずれかが生成される毎に、当該フレーム画像の生成時間を前記フレーム周期を単位としたフレーム周期数でもって計測し、計測されたフレーム周期数を次に生成されるべきフレーム画像の生成時間の予測値とする。
本発明に係るゲーム表示方法の他の望ましい態様は、複数のフレーム画像を順次生成する生成ステップと、前記生成ステップにより生成された複数のフレーム画像の各々の生成後に、一定のフレーム周期を有する所定の基準信号の発生を待ち合わせ、当該基準信号が発生したときに、画面にそれまで表示されていたフレーム画像から切り替えて当該生成されたフレーム画像を表示させる表示ステップと、前記生成ステップで次に生成されるべきフレーム画像が生成される前に、当該フレーム画像の生成に要する生成時間を予測する予測ステップと、前記生成ステップで次に生成されるべきフレーム画像に関して前記予測ステップで予測された生成時間に依存して、当該次に生成されるべきフレーム画像と当該生成ステップで直前に生成されたフレーム画像との間のオブジェクトの移動量を一フレーム周期でのオブジェクトの移動量を単位にしたフレーム周期数でもって表すゲーム進行量を決定する決定ステップと、操作入力に応答して、通常より低速の表示速度を示すキー信号を入力する入力ステップと、前記入力ステップで入力されたキー信号に依存して定まる１／Ｎ倍（Ｎは１より大きな整数）の表示速度に応じて、スキップ期間として、前記決定ステップにより決定された前記ゲーム進行量を表す前記フレーム周期数と（Ｎ−１）との積に相当するフレーム周期数を設定する設定ステップと、を含み、前記生成ステップは、直前に生成されたいずれかのフレーム画像が前記表示ステップにより画面に表示されたことに同期して、前記設定されたスキップ期間の間、次に生成されるべきフレーム画像の生成をスキップしてから、当該次に生成されるべきフレーム画像の生成を開始し、当該次に生成されるべきフレーム画像として、前記決定ステップで決定されたゲーム進行量を表す前記フレーム周期数に対応するオブジェクトの移動量を直前に生成されたフレーム画像に対して有するフレーム画像を生成する。
望ましくは、前記予測ステップは、前記複数のフレーム画像のいずれかが生成される毎に、当該フレーム画像の生成時間を計測し、計測された生成時間を次に生成されるべきフレーム画像の生成時間の予測値とする。
【００２３】
本発明に係る記録媒体は、ビデオゲームのための複数のフレーム画像を生成して一定のフレーム周期で発生される基準信号に同期して切り替えて画面に表示させる、ビデオゲームのためのプログラムを記録したコンピュータ読み取り可能な記録媒体であって、前記プログラムは、複数のフレーム画像を順次生成する生成ステップと、前記生成ステップでいずれかのフレーム画像が生成される毎に、前記基準信号の発生を待ち合わせ、前記基準信号が発生したときに、画面にそれまで表示されていたフレーム画像から切り替えて当該生成されたいずれかのフレーム画像を表示させる表示ステップと、前記生成ステップで次に生成されるべきフレーム画像が生成される前に、当該フレーム画像の生成に要する生成時間を、前記フレーム周期を単位としたフレーム周期数でもって予測する予測ステップと、操作入力に応答して、通常より低速の表示速度を示すキー信号を入力する入力ステップと、前記入力ステップで入力されたキー信号に依存して定まる１／Ｎ倍（Ｎは１より大きな整数）の表示速度に応じて、スキップ期間として、前記予測ステップにより予測された前記フレーム周期数と（Ｎ−１）との積に相当するフレーム周期数を設定する設定ステップと、をコンピュータに実行させるプログラムであり、前記生成ステップは、直前に生成されたいずれかのフレーム画像が前記表示ステップにより画面に表示されたことに同期して、前記設定されたスキップ期間の間、次に生成されるべきフレーム画像の生成をスキップしてから、当該次に生成されるべきフレーム画像の生成を開始し、当該次に生成されるべきフレーム画像として、前記予測ステップで予測されたフレーム周期数のフレーム周期のうちの最後のフレーム周期で表示されるべきフレーム画像を生成する、ものである。
望ましくは、前記予測ステップは、前記複数のフレーム画像のいずれかが生成される毎に、当該フレーム画像の生成時間を前記フレーム周期を単位としたフレーム周期数でもって計測し、計測されたフレーム周期数を次に生成されるべきフレーム画像の生成時間の予測値とする。
本発明に係る記録媒体の他の望ましい態様は、ビデオゲームのためのプログラムを記録したコンピュータ読み取り可能な記録媒体であって、前記プログラムは、複数のフレーム画像を順次生成する生成ステップと、前記生成ステップにより生成された複数のフレーム画像の各々の生成後に、一定のフレーム周期を有する所定の基準信号の発生を待ち合わせ、当該基準信号が発生したときに、画面にそれまで表示されていたフレーム画像から切り替えて当該生成されたフレーム画像を表示させる表示ステップと、前記生成ステップで次に生成されるべきフレーム画像が生成される前に、当該フレーム画像の生成に要する生成時間を予測する予測ステップと、前記生成ステップで次に生成されるべきフレーム画像に関して前記予測ステップで予測された生成時間に依存して、当該次に生成されるべきフレーム画像と当該生成ステップで直前に生成されたフレーム画像との間のオブジェクトの移動量を一フレーム周期でのオブジェクトの移動量を単位にしたフレーム周期数でもって表すゲーム進行量を決定する決定ステップと、操作入力に応答して、通常より低速の表示速度を示すキー信号を入力する入力ステップと、前記入力ステップで入力されたキー信号に依存して定まる１／Ｎ倍（Ｎは１より大きな整数）の表示速度に応じて、スキップ期間として、前記決定ステップにより決定された前記ゲーム進行量を表す前記フレーム周期数と（Ｎ−１）との積に相当するフレーム周期数を設定する設定ステップと、をコンピュータに実行させるプログラムであり、前記生成ステップは、直前に生成されたいずれかのフレーム画像が前記表示ステップにより画面に表示されたことに同期して、前記設定されたスキップ期間の間、次に生成されるべきフレーム画像の生成をスキップしてから、当該次に生成されるべきフレーム画像の生成を開始し、当該次に生成されるべきフレーム画像として、前記決定ステップで決定されたゲーム進行量を表す前記フレーム周期数に対応するオブジェクトの移動量を直前に生成されたフレーム画像に対して有するフレーム画像を生成する、ものである。
望ましくは、前記予測ステップは、前記複数のフレーム画像のいずれかが生成される毎に、当該フレーム画像の生成時間を計測し、計測された生成時間を次に生成されるべきフレーム画像の生成時間の予測値とする。
【００２５】
本発明に係るゲーム装置は、ビデオゲームのための複数のフレーム画像を生成して一定のフレーム周期で発生される基準信号に同期させて切り替えて画面に表示させるゲーム表示装置において、複数のフレーム画像を順次生成する生成手段と、前記生成手段でいずれかのフレーム画像が生成される毎に、前記基準信号の発生を待ち合わせ、前記基準信号が発生したときに、画面にそれまで表示されていたフレーム画像から切り替えて当該生成されたいずれかのフレーム画像を表示させる表示手段と、前記生成手段で次に生成されるべきフレーム画像が生成される前に、当該フレーム画像の生成に要する生成時間を、前記フレーム周期を単位としたフレーム周期数でもって予測する予測手段と、操作入力に応答して、通常より低速の表示速度を示すキー信号を入力する入力手段と、前記入力手段で入力されたキー信号に依存して定まる１／Ｎ倍（Ｎは１より大きな整数）の表示速度に応じて、スキップ期間として、前記予測手段により予測された前記フレーム周期数と（Ｎ−１）との積に相当するフレーム周期数を設定する設定手段と、を備え、前記生成手段は、直前に生成されたいずれかのフレーム画像が前記表示手段により画面に表示されたことに同期して、前記設定されたスキップ期間の間、次に生成されるべきフレーム画像の生成をスキップしてから、当該次に生成されるべきフレーム画像の生成を開始し、当該次に生成されるべきフレーム画像として、前記予測手段で予測されたフレーム周期数のフレーム周期のうちの最後のフレーム周期で表示されるべきフレーム画像を生成する、ものである。
本発明に係るゲーム装置の他の望ましい態様は、複数のフレーム画像を順次生成する生成手段と、前記生成手段により生成された複数のフレーム画像の各々の生成後に、一定のフレーム周期を有する所定の基準信号の発生を待ち合わせ、当該基準信号が発生したときに、画面にそれまで表示されていたフレーム画像から切り替えて当該生成されたフレーム画像を表示させる表示手段と、前記生成手段で次に生成されるべきフレーム画像が生成される前に、当該フレーム画像の生成に要する生成時間を予測する予測手段と、前記生成手段で次に生成されるべきフレーム画像に関して前記予測手段で予測された生成時間に依存して、当該次に生成されるべきフレーム画像と当該生成手段で直前に生成されたフレーム画像との間のオブジェクトの移動量を一フレーム周期でのオブジェクトの移動量を単位にしたフレーム周期数でもって表すゲーム進行量を決定する決定手段と、操作入力に応答して、通常より低速の表示速度を示すキー信号を入力する入力手段と、前記入力手段で入力されたキー信号に依存して定まる１／Ｎ倍（Ｎは１より大きな整数）の表示速度に応じて、スキップ期間として、前記決定手段により決定された前記ゲーム進行量を表す前記フレーム周期数と（Ｎ−１）との積に相当するフレーム周期数を設定する設定手段と、を備え、前記生成手段は、直前に生成されたいずれかのフレーム画像が前記表示手段により画面に表示されたことに同期して、前記設定されたスキップ期間の間、次に生成されるべきフレーム画像の生成をスキップしてから、当該次に生成されるべきフレーム画像の生成を開始し、当該次に生成されるべきフレーム画像として、前記決定手段で決定されたゲーム進行量を表す前記フレーム周期数に対応するオブジェクトの移動量を直前に生成されたフレーム画像に対して有するフレーム画像を生成する、ものである。
【００２６】
本発明に係る前記ゲーム表示装置によれば、プレイヤによる操作入力に応答して、画面上でのゲームの進行速度を変更できる。
【００２７】
【発明の実施の形態】
以下、本発明に係るゲーム表示方法、それぞれを用いるプログラム記録媒体およびゲーム表示装置のいくつかの実施の形態を図面を参照して詳細に説明する。
【００２８】
〔発明の実施の形態１〕
【００２９】
図１に示されるように、ゲームシステム１は、たとえば本発明に係るコンピュータゲームプログラムを記録したＣＤ−ＲＯＭ（Compact Disk-Read Only Memory）４０を着脱自在に装着できるゲーム装置１０、表示装置２０およびプレイヤが操作可能な入力装置３０から構成されている。ゲーム装置１０は、家庭用ゲーム装置であり、一つの筐体内に収められたコンピュータ１００を含み、プレイヤは、ゲーム装置１０上の開閉ボタン（図示せず）を押して、開閉可能な蓋（図示せず）を開き、たとえばＣＤ−ＲＯＭ４０をその内部に装着する。ゲーム装置１０は、そのＣＤ−ＲＯＭ４０に記録されたコンピュータゲームプログラムを実行し始める。表示装置２０と入力装置３０はゲーム装置１０にケーブルで接続されている。
【００３０】
本ゲーム装置１０は、カードスロット（図示せず）を有する。カードスロットには外部補助記録媒体であるメモリカード５０を挿入可能である。プレイヤは任意にカードスロットに挿入されたメモリカード５０にプレイヤキャラクタと敵キャラクタに関するデータあるいはゲームプログラムの進行状況に関するデータ等のゲームの再開に必要なデータを記憶させることができる。プレイヤが後にそのメモリカード５０を使用してゲームを再度実行すると、ゲーム装置１０は中断した部分からゲームを再開する。
【００３１】
表示装置２０は、ビデオ信号および音声信号をゲーム装置１０から受信する。表示装置２０は受信したビデオ信号を処理して映像をその画面２１に表示し、受信した音声信号に応じた音声を表示装置２０に付随するスピーカ２２から出力する。表示装置２０は、たとえばテレビジョン受像機により構成される。
【００３２】
入力装置３０は一般にコントローラとも呼ばれ、プレイヤが操作するための複数のボタンその他の操作部（図示せず）を有している。たとえば、画面２１に表示されるカーソルを左、右、上または下に移動するための４つの方向キーからなる方向キー群、セレクトボタン、スタートボタン、△ボタン、○ボタン、×ボタン、□ボタンが設けられている。本発明を適用するゲームシステムは図示されたものあるいはそれに類似のものに限定はされない。
【００３３】
コンピュータ１００は、例えば、中央処理装置（ＣＰＵ）１０１，ＣＰＵ１０１がプログラム命令を実行するのに必要な命令列およびデータを記憶する読み出し専用メモリ（ＲＯＭ）１０２、実行すべきゲームプログラムおよびそのゲームプログラムが使用するデータを一時的に記憶し、メインメモリを構成するランダムアクセスメモリ（ＲＡＭ）１０３、グラフィック処理部１０４、サウンド処理部１０５、ＣＤ−ＲＯＭ４０が搭載されるＣＤ−ＲＯＭドライブ１０６、入出力インタフェース部１０７、通信インタフェース部１０９および以上の回路を接続するバス１０８よりなる。
【００３４】
ＣＰＵ１０１は、ＲＡＭ１０３に記憶されたプログラム命令を解読実行し、その命令にしたがってコンピュータ内部の各回路を制御するとともに、入出力インタフェース部１０７を介して入力装置３０から入力されるプレイヤによる操作入力に応答して、その操作入力に対応するプログラム部分を実行するようにゲームプログラムの実行を制御する。ＣＰＵ１０１はプログラム命令の実行時にＲＯＭ１０２に記憶された命令列を適宜実行する。
【００３５】
グラフィック処理部１０４は、図示されていないビデオＲＡＭ（ＶＲＡＭ）を含み、その中にフレームバッファ（図示せず）を構成し、ＣＰＵ１０１から与えられる命令に応じて、オブジェクトを表すポリゴンからなる画像等をフレームバッファ上に描画する。さらに、グラフィック処理部１０４は、そのフレームバッファに記憶された画像情報に応じたビデオ信号、たとえばテレビジョン信号を生成して、表示装置２０内の図示しないビデオ回路に出力する。
【００３６】
フレームバッファは、一対のフレームバッファ（Ａ，Ｂ）（図示せず）からなり、同一のフレーム画像を構成する複数のオブジェクトの画像は、上記一対のフレームバッファの一方（Ａ）に記憶される。一つのフレーム画像の生成が終了すると、次のフレーム画像が上記一対のフレームバッファの他方（Ｂ）に記憶される。こうして、複数のフレーム画像が上記一対のフレームバッファに交互に記憶される。
【００３７】
一対のフレームバッファの内、現在フレーム画像を記憶中の一方のフレームバッファと異なる他方のフレーバッファからそこに最近に記憶されたフレーム画像が読み出される。読み出すべきフレームバッファの切り替えは、表示装置２０の垂直同期信号に同期して行われ、新たなフレーム画像の生成もこの信号に同期して行われる。垂直同期信号の周期がフレーム画像表示周期（あるいはフレーム周期）である。
【００３８】
サウンド処理部１０５は、ＲＡＭ１０３に記憶されたサウンドデータに基づいて音声、楽曲、効果音等を表すサウンド信号を発生し、表示装置２０内の図示しないオーディオ回路を介してスピーカ２２に供給する。
【００３９】
入出力インタフェース部１０７は、入力装置３０とカードスロット１４（図示せず）に挿入されたメモリカード５０とに接続され、これらとＣＰＵ１０１その他の回路との間のデータ転送のタイミングを制御する。なお、本発明に係るゲーム装置を構成するコンピュータは図示されたものあるいはそれに類似のものに限定はされないことは言うまでもない。
【００４０】
ＣＤ−ＲＯＭ４０は、ゲームプログラムおよびそれが使用するデータを記録した記録媒体である。ＣＤ−ＲＯＭドライブ１０６は、このゲームプログラムをデータとともに読み込み、ＲＡＭ１０３に格納し、ＣＰＵ１０１による実行に供する。本ゲーム装置で使用されるゲームプログラムとデータは、他の方法で提供することもできる。たとえば、そのゲームプログラムを、通信に使用される搬送波内に含ませ、コンピュータで実行させるためのコンピュータデータ信号として送信し、ゲーム装置側で受信するという方法を採用することもできる。
【００４１】
たとえば通信インタフェース部１０９により、通信回線１１１を介して接続されたネットワーク１１０上の図示されていない他の機器からゲームプログラムをダウンロードしてゲーム装置１０で使用してもよい。また、通信回線１１１を介して接続されたネットワーク１１０上の他の機器内のメモリに上記ゲームプログラムとデータを予め記憶し、このゲームプログラムとデータを通信回線１１１を介して必要に応じて順次ＲＡＭ１０３に格納して使用してもよい。なお、このような使用形態とＣＤ−ＲＯＭの使用との一方のみをサポートできるようにゲーム装置１０を構成してもよい。
【００４２】
上記ゲームプログラムは、ＣＰＵ１０１によりコンピュータ１００内の他の回路を適宜使用して実行され、そのことによりこのゲームプログラムが意図するいろいろな機能が実現される。以下の説明から明らかなように、それらの機能にはフレーム画像の生成機能、生成されたフレーム画像を表示装置に供給して表示する表示機能、生成されるフレーム画面のゲーム進行量を変更する機能、フレーム画像の生成をスキップする機能その他が含まれる。
【００４３】
図２は、上記ゲーム装置で実行されるゲームプログラムにより表示される一つのゲーム画像を模式的に示す図である。図では、一つのシーンに属する一つのフレーム画像として、３次元仮想空間に位置するプレイヤキャラクタ９５０が建物内の廊下を歩いている模様が画面２１内に表示されている。廊下の側壁にはいくつかの扉６１，６２，６３が設けられている。
【００４４】
プレイヤは、入力装置３０（図１）を操作して、プレイヤキャラクタ９５０の位置あるいは移動方向を制御できる。プレイヤキャラクタ９５０は廊下をさらに進むこともできる。いずれかの扉に向かって進み、その扉を開くこともできる。プレイヤキャラクタ９５０の移動がプレイヤにより連続して指示されると、それに応じて画面上でのプレイヤキャラクタ９５０の位置が連続して変わる。
【００４５】
しかし、同じ様な画面が同じゲームに幾度か出てくると、プレイヤは、途中の扉を開かずに廊下をさらに先に進みたくなる。このとき、プレイヤは通常の歩行速度ではなく、それより速くプレイヤキャラクタ９５０を歩かせたくなることが起こりうる。
【００４６】
そこで、本発明では、プレイヤの操作に応じてゲームの進行速度を変更可能にする。本実施の形態では、図３に示すように、通常モードでは、フレーム画像Ｐ１，Ｐ２，Ｐ３，，，Ｐ１２が１フレーム周期で切り替えて表示されるゲームの場合、高速モードでは、通常モードの４倍速でゲームを表示するときには、フレーム画像Ｐ１，Ｐ５，Ｐ９，，，が順次生成され表示される。あるいは通常モードの２倍速でゲーム表示するときには、フレーム画像Ｐ１，Ｐ３，Ｐ５，Ｐ７，Ｐ９，Ｐ１１，，が順次生成され表示される。
【００４７】
これにより画面上では、ゲームは通常の４倍あるいは２倍で変化することになる。すなわち、４倍速のときには、次に表示すべきフレーム画像として、通常モードでは直前のフレーム画像から４フレーム期間後に表示されるフレーム画像が表示される。このように、高速モードでは、各フレーム画像のゲーム進行量が増大される。
【００４８】
たとえば、図２に示された画像がフレーム画像Ｐ１であると仮定すると、次のフレーム画像Ｐ２は、図４に例示されるように、プレイヤキャラクタ９５０が少し廊下を前進したことを示す画像になる。通常モードでは、このフレーム画像Ｐ２がフレーム画像Ｐ１の次のフレーム周期で表示される。しかし、４倍速の高速モードでは、フレーム画像Ｐ５がフレーム画像Ｐ１の次に生成され表示される。
【００４９】
フレーム画像Ｐ５は、たとえば図５に示されるように、プレイヤキャラクタが廊下をさらに進んだことを示す画像である。４倍速の高速モードでは、表示される画像が、図２の画像から図５の画像にいきなり変化するため、ゲームの進行が増大する。
【００５０】
低速モードでは、たとえば１／４倍速の場合、各フレーム画像例えばＰ１が４回繰り返し表示された後に次のフレーム画像例えばＰ２が表示されるように、フレーム画像の表示期間が通常モードの場合の４倍に増大される。１／２倍速の場合には、各フレーム画像例えばＰ１が２回繰り返し表示された後に次のフレーム画像例えばＰ２が表示されるように、フレーム画像の表示期間が通常モードの場合の２倍に増大される。
【００５１】
後に説明するように、この低速モードでは、１／４倍速の場合、各フレーム画像が生成されると、次の３フレーム周期は画像の生成がスキップされる。その結果、直前に生成されたフレーム画像が続けて表示される。１／２倍速の場合、各フレーム画像が生成されると、次の２フレーム周期は画像の生成がスキップされる。その結果、直前に生成されたフレーム画像が続けて表示される。
【００５２】
さて、ＲＡＭ１０３は、ゲームプログラムの実行時には、たとえば図６に示すメモリマップにしたがって使用される。システム領域１０３ａには、割り込み処理ルーチンへのジヤンプ先を示す割り込みベクタなどのシステム情報が記憶される。プログラム領域１０３ｂには、ゲームプログラムの実行中の部分が格納される。キャラクタデータ領域１０３ｃにはプレイヤキャラクタおよび敵キャラクタ等のゲーム中に登場する複数のキャラクタに関するデータが格納される。
【００５３】
関連データ領域１０３ｄにはゲームプログラムの実行に使用される他の関連データが格納される。たとえば、各キャラクタのモーションデータが格納される。しかし、この関連データは本発明には直接には関連しないので、その説明を省略する。
【００５４】
サウンドデータ領域１０３ｅにはゲームの進行中に音を生成するためのデータが格納される。ここには、複数の楽曲のサウンドデータ８１，８２，８３，，が記憶される。各サウンドデータには識別子たとえば８１ａが付与されている。この領域１０３ｅにはテンポ変更モードフラグ８４も記憶される。このフラグは、楽曲を再生するときのテンポの変更態様を示すもので、後に述べるように、５個の値（２，１，０，−１，−２）のいずれかの値を採る。
【００５５】
ゲーム進行量関連データ領域１０３ｆには本発明に係るゲーム表示方法を実施するためのデータが格納される。たとえば、実時間カウンタ９１、画像生成開始時刻データ９２、ゲーム進行量データ９３、許容変速モードビット９４、リセットカウンタ９５が格納される。
【００５６】
実時間カウンタ９１はゲーム進行中の実時間を表すカウンタである。本実施の形態では、後に説明するように、表示装置２０（図１）により発生される垂直同期信号の数でもって実時間が表される。すなわち、実時間カウンタ９１はフレーム周期を単位として実時間を表すことになる。言い換えると、実時間カウンタ９１は実時間とフレーム周期との比率により実時間を表している。実時間カウンタ９１は垂直同期信号が発生するごとに１だけ増大されるようになっている。
【００５７】
画像生成開始時刻データ９２は、フレーム画像の生成開始の時刻を表す。本実施の形態では、この時刻も垂直同期信号の数で表される。本実施の形態では、フレーム画像の生成は、垂直同期信号に同期して開始される。したがって、画像生成開始時刻データ９２は、フレーム画像の実際の生成時刻が何番目の垂直同期信号が発生した時刻であるかを示す。
【００５８】
ゲーム進行量データ９３は、本実施の形態に特徴的なデータであり、生成すべきフレーム画像が直前のフレーム画像に対して有すべきゲーム進行量を表す。本実施の形態では、ゲーム進行量データ９３は、生成すべきフレーム画像が有すべきゲーム進行量が、そのときにそのフレーム画像に対してゲームプログラムが想定する１フレーム周期内でのゲーム進行量の何倍であるかを表すように決定される。すなわち、ゲーム進行量データに設定された値によって、続けて発生する二つの垂直同期信号間に処理すべきフレーム周期数が決定する。
【００５９】
実時間カウンタ９１と画像生成開始時刻データ９２を他の時間単位、たとえば秒を用いて表すことも可能であるが、本実施の形態のように、垂直同期信号を単位としてこれらのデータを表す方法を用いれば、後に示すように、フレーム画像の生成時間が、実時間カウンタ９１と画像生成開始時刻データ９２との差により求められ、この差がそのままゲーム進行量データ９３として使用できるという利点がある。
【００６０】
許容変速モードビット９４は許容される変速の種類を指定するビットである。ここでは、許容変速モードビット９４の値が１のときには、４倍速と１／４倍速とが使用され、その値が０のときには、２倍速と１／２倍速とが使用されると仮定する。
【００６１】
２倍速は、たとえば、キャラクタが敵キャラクタと戦闘している模様を示す一連の画像のごとく、通常モードでも激しく内容が変化する画像が続いているときに使用される。このような画像が続いて表示されているときに、プレイヤの操作により高速モードが指示された場合、２倍速表示の方が見易い画像になるからである。２倍速が使用可能なゲーム画面に対しては、１／２倍速も使用可能になっている。
【００６２】
４倍速は、たとえば、町中をキャラクタが歩いている模様を示す一連の画像のごとく、それほど激しく内容が変化しない画像が続いているときに使用される。このような画面が続いて表示されているときに、プレイヤの操作により高速モードが指示された場合、４倍速表示を用いても画面の変化が速すぎることはないからである。４倍速が使用可能なゲーム画面に対しては、１／４倍速も使用可能になっている。
【００６３】
許容変速モードビット９４は、ゲームの進行中に、とくにシーンの変更時に、シーン内の表示すべき画像の種類が上記２種類のいずれかであるかに応じてゲームプログラムにより適宜変更される。
【００６４】
リセットカウンタ９５は、後に述べるように、低速モードのときにフレーム画像を生成しないようにゲーム進行量データ９３をリセットした回数をカウントする。この回数は、フレーム画像を生成しなかった回数を表す。
【００６５】
他のワーク領域１０３ｇはゲームプログラムの実行時に他のデータを一時的に保持するワーク領域として使用される。
【００６６】
本実施の形態で実行されるゲームプログラムは、初期データをＲＡＭ１０３に設定するための初期化処理とゲームの進行を制御し、ゲーム画面を生成し表示するメイン処理とからなる。図９は、メイン処理Ｓ１００の一例を示す。
【００６７】
メイン処理Ｓ１００の説明の前に本実施の形態での処理の原理の概略を説明する。隣接する一対のフレーム画像間の各オブジェクトの位置と向きの変化量は、ゲーム進行速度に依存して予め決められている。言い換えると、あるフレーム画像を生成するには、そのフレーム画像を構成する複数のオブジェクトの各々の位置と向きを、直前のフレーム画像内の同じオブジェクトの位置と向きと、それらのフレーム画像間でそのオブジェクトが移動すべき量に応じて予め決められている。
【００６８】
１フレーム周期に各オブジェクトが移動すべき量は、ゲームプログラムの進行途上の各時刻に対してゲーム進行速度に基づいて定められている。もちろん移動量はプレイヤの操作入力により変わる。さらにゲーム進行速度はプレイヤの入力操作があったときには、ゲームプログラムはその操作に基づいて変化する場合もある。しかし、プレイヤによる操作入力に基づいて、ゲームプログラムが各オブジェクトの移動量を決定するので、プレイヤによる操作入力の影響も含めてゲームプログラムが各オブジェクトの移動量を決定すると考えることができる。
【００６９】
各オブジェクトの移動量が大きいと、画面の上ではゲームが速く進行することになる。したがって、この移動量は、各フレーム画像と直前のフレーム画像との間のゲーム進行量とも言える。すなわち、２つのフレーム画像間のゲーム進行量は、それらのフレーム画像の間のオブジェクトの移動量を表すものである。
【００７０】
なお、本明細書ではとくに断らない限り、フレーム画像生成時間が、フレーム周期の（ Ｎ−１）倍を越え、Ｎ倍以下であるとき（但し、ここでＮは１より大きい整数）、そのフレーム画像の生成時間は、Ｎフレーム周期であると呼ぶ。すなわち、フレーム画像の生成時間をフレーム周期との比較で言うときあるいはフレーム画像の生成時間をフレーム周期を単位として計測するときには、フレーム画像の生成時間は、そのフレーム画像の生成時間を含むフレーム周期の整数倍の期間の内、一番短い期間でもって表される。
【００７１】
連続する複数のフレーム画像の生成時間がいずれも１フレーム周期であるときには、それらのフレーム画像は、表示装置に１フレーム周期で順次供給されるので、それらのフレーム画像は１フレーム周期で切り替えて表示される。したがって、通常モードでは、各フレーム画像とその直前のフレーム画像との間のゲーム進行量が、ゲームプログラムが想定する１フレーム周期の期間でのゲーム進行量と等しければ、画面上ではゲームはゲームプログラムが想定する進行速度で進むことになる。
【００７２】
プレイヤの操作入力に応じて、ゲームプログラムが想定する進行速度より大きい進行速度でゲーム画像を変化させたい場合、本実施の形態では、各フレーム画像とその直前のフレーム画像との間のゲーム進行量が、ゲームプログラムが想定する１フレーム周期の期間でのゲーム進行量より大きくされる。具体的には、通常のゲーム進行速度のＮ倍（但し、Ｎは１より大きい整数）のゲーム進行速度を実現したいときには、各フレーム画像のゲーム進行量が、ゲームプログラムが想定する１フレーム周期の期間でのゲーム進行量のＮ倍にされる。このＮの値は、生成すべきフレーム画像の種類により４または２とされる。
【００７３】
各フレーム画像のゲーム進行量を大きくすることは容易であるので、この方法によれば、２倍あるいは４倍というような大きな値の倍速を実現するのが容易となる。
【００７４】
本実施の形態では、複数のフレーム画像のゲーム進行量は、それらのフレーム画像の生成時に決定される。具体的には、各フレーム画像のゲーム進行量がそのフレーム画像の生成時に決定される。このゲーム進行量は、そのフレーム画像の生成時間に比例して決められる。本実施の形態では、各フレーム画像の生成時間は１フレーム周期であるものとしている。したがって、通常モードでは、各フレーム画像のゲーム進行量は、ビデオゲームが想定する進行量に一致するように定められる。
【００７５】
Ｎ倍のゲーム進行速度を実現するための特定の操作入力がプレイヤにより与えられた場合、その操作入力が与えられている期間だけ、生成すべきフレーム画像のゲーム進行量がＮ倍に変更される。
【００７６】
通常モードより遅いゲーム進行速度を実現するための特定の操作入力がプレイヤにより与えられた場合、本実施の形態では、その操作入力が与えられている期間だけ、各フレーム画像のゲーム進行量をゲームプログラムが想定する１フレーム周期の期間でのゲーム進行量と同じにした上で、フレーム画像の発生周期を通常モードの場合より長くされる。たとえば、通常のゲーム進行速度のＮ分の１のゲーム進行速度を実現したいときには、連続するフレーム画像の発生周期が１／Ｎ倍にされる。
【００７７】
より具体的には、本実施の形態では、Ｎ個のフレーム画像を生成する期間内に１個のフレーム画像が生成される。残りの期間ではフレーム画像の生成はスキップされる。このＮの値は、生成すべきフレーム画像の種類により４または２とされる。
【００７８】
さて、メイン処理Ｓ１００の実行開始後の適当なタイミングで初期設定処理Ｓ１１０が実行される。まず、画像生成開始時刻データ９２（図６）に初期値０が設定される。テンポ変更モードフラグ８４（図６）、リセットカウンタ９５（図６）も０に設定される。テンポ変更モードフラグ８４の値０は、楽曲を通常テンポで演奏すべきことを示す。許容変速モードビット９４（図６）は、１に設定される。許容変速モードビット９４の値１は、４倍速および１／４倍速が使用可能であることを示す。
【００７９】
その後、実時間カウンタ９１は強制的に１に初期化される。この初期化は、画像生成開始時刻データ９２の初期化後に新たな垂直同期信号の発生を待って行われる。画像生成開始時刻データ９２の初期値０と実時間カウンタ９１の初期値１は、次に述べるゲーム進行量・音楽テンポ決定処理Ｓ１２０において決定されるゲーム進行量データ９３の初期値を１にするために選ばれている。したがって、実時間カウンタ９１と画像生成開始時刻データ９２の初期値を他の値にすることも可能である。
【００８０】
メイン処理Ｓ１００は、各フレーム画像を生成するために以下の一連の処理を実行する。ゲーム進行量・音楽テンポ決定処理Ｓ１２０は、次に生成すべきフレーム画像を有すべきゲーム進行量と音楽テンポをそのフレーム画像の生成時に決定するための処理である。図８に示すように、このゲーム進行量・音楽テンポ決定処理Ｓ１２０では、まず画像生成開始時刻データ９２と実時間カウンタ９１の差が計算される。これにより、直前に生成されたフレーム画像の生成時間が計測される（ステップＳ１２１）。
【００８１】
なお、メイン処理Ｓ１００の開始後、最初にゲーム進行量・音楽テンポ決定処理Ｓ１２０が実行されたときには、実時間カウンタ９１、画像生成開始時刻データ９２の値はそれぞれ初期値１，０に等しい。したがって、メイン処理Ｓ１００で最初に生成されるフレーム画像の直前に生成されたフレーム画像は存在しないが、その直前のフレーム画像の生成時間は１フレーム周期であると仮定されていることになる。
【００８２】
上記計測された生成時間は、そのままゲーム進行量データ９３（図６）にセットされる（ステップＳ１２２）。したがって、最初に生成されるフレーム画像のゲーム進行量データ９３の値は１になる。ステップＳ１２１の後に実時間カウンタ９１の値が画像生成開始時刻データ９２に設定される（ステップＳ１２３）。この実時間カウンタ９１の値は、これから作されるフレーム画像の生成開始の時刻を表すことになる。
【００８３】
すでに述べたように、実時間カウンタ９１は垂直同期信号の発生数をカウントする。したがって、実時間カウンタ９１は実時間をフレーム周期を単位として計測していることになる。ステップＳ１２３によりこの実時間カウンタ９１の内容を用いて画像生成開始時刻データ９２も決定されるので、このデータも次のフレーム画像の生成開始時刻をフレーム周期を単位として表していることになる。
【００８４】
したがって、ステップＳ１２１で計測されたフレーム画像の生成時間もフレーム周期を単位として（すなわちフレーム周期数でもって）表されている。すなわち、計測された生成時間は、直前のフレーム画像の生成時間がフレーム周期の何倍であるかを示すことになる。
【００８５】
本実施の形態ではこの生成時間がそのままゲーム進行量データ９３に使用される。以下に説明するように、このゲーム進行量データ９３の値がＭ（Ｍは０以上の整数）のとき、生成すべきフレーム画像のゲーム進行量がゲームプログラムが想定するＭフレーム周期の間のゲーム進行量を有するようにフレーム画像が生成される。したがって、ゲーム進行量データ９３の値は、これから生成しようとするフレーム画像のゲーム進行量が、そのフレーム画像に対しゲームプログラムが想定するゲーム進行量の何倍であるかを示す。言い換えると、ゲーム進行量データ９３の値は、生成されるべきフレーム画像のゲーム進行量を、そのフレーム画像に対してゲームプログラムが想定する一フレーム周期でのゲーム進行量（一フレーム周期でのオブジェクトの移動量）を単位にしたフレーム周期数でもって表しているとも言える。
【００８６】
本実施の形態では各フレーム画像の生成時間は１フレーム周期であると仮定されているので、上記ステップＳ１２１からＳ１２３に代えてゲーム進行量データを常に１に設定してもよい。しかし、これらのステップは、各フレーム画像の生成時間がフレーム周期より大きい場合にも本実施の形態を適用可能にするために設けられている。フレーム画像の生成時間がフレーム周期より大きい場合は、後に第２、第３の実施の形態で説明される。
【００８７】
次に、高速モードを指示するためのキー（以下、このキーを高速モードキーと呼ぶ）がプレイヤにより押されているかが判定される（ステップＳ１２４）。高速モードキーが押されると、高速モードであることを示すモード信号が入力装置３０より入力される。そのキー信号を判定することで上記判定が行われる。このキーとしては、入力装置３０（図１）に設けられた適当なキー、たとえば一部のゲーム装置でＲ２キーと呼ばれるキーを使用することができる。高速モードキーが押されているときには、高速モード設定処理Ｓ２００が実行される。
【００８８】
図９に示すように、高速モード設定処理Ｓ２００では、許容変速モードビット９４が１か０かが判断される（ステップＳ２０１）。許容変速モードビット９４が１のときには、４倍速が利用可能であり、ゲーム進行量データ９３（図６）の値が４倍の値に変更される（ステップＳ２０２）。さらにテンポ変更モードフラグ８４（図６）が２に変更される（ステップＳ２０３）。この値２は、楽曲を通常の４倍のテンポで演奏すべきことを示す。
【００８９】
ステップＳ２０１で許容変速モードビット９４が０であると判断されたときには、２倍速が利用可能であり、ゲーム進行量データ９３（図６）の値が２倍の値に変更される（ステップＳ２０４）。さらに、テンポ変更モードフラグ８４（図６）が１に変更される（ステップＳ２０５）。この値１は楽曲を通常の２倍のテンポで演奏すべきことを示す。
【００９０】
図８に戻り、高速モードキーが押されていないときには、低速モードを指示するためのキー（以下、このキーを低速モードキーと呼ぶ）がプレイヤにより押されているかが判定される（ステップＳ１２５）。低速モードキーが押されると、低速モードであることを示すモード信号が入力装置３０より入力される。そのキー信号を判定することで上記判定が行われる。このキーとしては、入力装置３０（図１）に設けられた適当なキー、たとえば一部のゲーム装置でＬ２キーと呼ばれるキーを使用することができる。低速モードキーが押されているときには、低速モード設定処理Ｓ３００が実行される。
【００９１】
図１０に示すように、低速モード設定処理Ｓ３００では、画像生成スキップ処理Ｓ３１０とテンポ変更モードフラグ変更処理Ｓ３２０が順次実行される。本実施の形態では、低速モードでは、フレーム画像を生成する周期が増大される。具体的には、フレーム画像の生成が所定の回数スキップされる。画像生成スキップ処理Ｓ３１０は、このスキップ済みの回数が目標値に達するまで画像生成をスキップさせるための処理である。
【００９２】
１／４倍速を実行するには、４個のフレーム画像を生成するための期間内で１個のフレーム画像が生成される。１／２倍速を実行するには、２個のフレーム画像を生成するための期間内で１個のフレーム画像が生成される。リセットカウンタ９５にはスキップ中に発生した垂直同期信号の数をカウントした値が逐次設定される。したがって、リセットカウンタ９５の値は、画像生成がスキップされた期間がフレーム周期を単位としてカウントされたものと言える。
【００９３】
具体的には、画像生成スキップ処理Ｓ３１０では、まず、許容変速モードビット９４が１か０かが判断される（Ｓ３１１）。許容変速モードビット９４が１のとき、すなわち、生成すべきフレーム画像に対して１／４倍速が利用可能であるときには、リセットカウンタ９５（図６）の値がすでにスキップ回数目標値３に達しているかであるかが判断される（ステップＳ３１２）。許容変速モードビット９４が０のときには、すなわち、生成すべきフレーム画像に対して１／２倍速が使用可能であるときには、リセットカウンタ９５の値がすでにスキップ回数目標値１に達しているか否かが判断される（ステップＳ３１３）。
【００９４】
判定ステップＳ３１２とＳ３１３のいずれかにおいて、リセットカウンタ９５の値が目標値に達していないと判断されたときには、ゲーム進行量データ９３が０にリセットされる（ステップＳ３１４）。後に説明するように、ゲーム進行量データ９３の値が０のときには、フレーム画像の生成をスキップするように、メイン処理Ｓ１００が構成されている。
【００９５】
その後、リセットカウンタ９５が１だけカウントアップされる（ステップＳ３１５）。ステップＳ３１２またはＳ３１３の判定において、リセットカウンタ９５がすでに目標値に達していると判断されたときには、リセットカウンタ９５が０にされる（ステップＳ３１６）。このときには、ゲーム進行量・音楽テンポ決定処理Ｓ１２０において決定されたゲーム進行量データ９３の値、今の場合は１がそのまま以後の処理で使用される。
【００９６】
以上により、画像生成スキップ処理Ｓ３１０が終了し、テンポ変更モードフラグ変更処理Ｓ３２０が実行される。ここでは、まず許容変速モードビット９４が１か０かが判断される（ステップＳ３２１）。許容変速モードビット９４が１であるとき、生成すべきフレーム画像に対して１／４倍速が利用可能であり、テンポ変更モードフラグ８４（図６）は−２に変更される（ステップＳ３２２）。この値−２は、通常テンポの１／４倍速で楽曲を演奏すべきことを示す。許容変速モードビット９４が０のとき、生成すべきフレーム画像に対して１／２倍速が利用可能であり、テンポ変更モードフラグ８４が−１に変更される（ステップＳ３２３）。この値−１は、音楽テンポを通常テンポの１／２に変更すべきことを示す。
【００９７】
以上から分かるように、低速モードでは、画像生成スキップ処理Ｓ３１０において、スキップ回数がスキップ目標値に達するまでの間、フレーム画像の生成を中止するために、ゲーム進行量データ９３が０にされる。スキップ回数がスキップ目標値に達したとき、ゲーム進行量・音楽テンポ決定処理Ｓ１２０内のステップＳ１２１（図８）で算出された値１に戻される。テンポ変更モードフラグ８４は、値−２（１／４倍速）または−１（１／２倍速）に維持される。
【００９８】
図８に戻り、高速モードキーと低速モードキーのいずれもが押されていないときには、テンポ変更モードフラグ８４（図６）が０（通常テンポ）に設定される（ステップＳ１２６）。今の場合、このフラグは初期設定処理Ｓ１１０ですでに０に設定されているが、ステップＳ１２６は、高速モードあるいは低速モードの終了後に新たなフレーム画像の生成を開始するときに、テンポ変更モードフラグ８４を０にリセットするために設けられている。以上でゲーム進行量・音楽テンポ決定処理Ｓ１２０の処理が終わる。
【００９９】
図７に戻り、メイン処理Ｓ１００では、ゲーム進行量・音楽テンポ決定処理Ｓ１２０の実行後に、ゲーム進行量データ９３が０であるか否かが判定される（ステップＳ１２７）。このデータの値が０であるのは、すでに説明したように、低速モードがプレイヤにより指示された場合である。この低速モードでのメイン処理Ｓ１００の処理の流れは後で説明する。
【０１００】
通常モードのときあるいは高速モードがプレイヤに指示されているときには、すでに述べたように、ゲーム進行量・音楽テンポ決定処理Ｓ１２０の実行後は、ゲーム進行量データ９３の値は、１（通常モード）あるいは４または２（高速モード）である。
【０１０１】
ステップＳ１２０の判定の結果、ゲーム進行量データ９３が０でないと判定されたときには、ゲーム進行処理Ｓ１３０が実行される。ここでは、ゲームの進行が制御される。具体的には、ゲームの部分的な流れを表すシーンの切り替えが行われる。たとえば、プレイヤの操作入力に応じて、戦闘を開始するか否かが判断される。戦闘を開始するときには戦闘のための処理が実行され、その処理に関するシーンが選択される。
【０１０２】
なお、戦闘の実行中においては、ゲーム進行処理Ｓ１３０では、プレイヤキャラクタが敵キャラクタとの戦闘に敗れたか否かも判定される。もしプレイヤキャラクタが敵キャラクタとの戦闘に敗れたと判断された場合、メイン処理Ｓ１００ではゲームオーバ処理がなされ、メイン処理Ｓ１００は終了する。しかし、プレイヤキャラクタの敗戦の判定の詳細は本発明に関連しないので、その詳細の説明はここでは省略される。また、図９では、ゲームオーバ時のメイン処理Ｓ１００の終了に関する処理は簡単化のために示されていない。また、シーンの切り替えが発生した際には、そのシーンに応じた値を許容変更モードビットに設定する。
【０１０３】
次のオブジェクト動作演算処理Ｓ１４０とさらに次の描画処理Ｓ１５０は、各フレーム画像を生成するための処理の主要部を占める。オブジェクト動作演算処理Ｓ１４０では、ゲーム進行処理Ｓ１３０で選択されたシーンを構成する一連のフレーム画像の内、次に生成すべきフレーム画像に含まれるオブジェクトの各々の移動後の位置と向きが決定される。
【０１０４】
すなわち、図１１に示すように、それらのオブジェクトの一つが選択され（ステップＳ１４１）、そのオブジェクトが、オブジェクトの弁別のために予め定められた基準で弁別される（ステップＳ１４２）。具体的には、選択されたオブジェクトが、複雑な動きをする可能性があるオブジェクト、たとえばキャラクタオブジェクトかそれ以外のオブジェクトかが弁別される。
【０１０５】
キャラクタオブジェクトでない場合、ゲーム進行量データ９３の値Ｍに等しい数のフレーム周期の期間におけるそのオブジェクトの動作を演算する処理が実行される（ステップＳ１４５）。すなわち、１フレーム周期分の動作（移動量および向きの変化）を示す値にゲーム進行量データの値が乗算される。その結果が、そのオブジェクトの元の位置及び向きを示すデータに加算される。これによりその期間経過後のそのオブジェクトを構成する複数のポリゴンの各々の仮想空間（ワールド空間）内の位置および向きが決定され、そのオブジェクトを表すオブジェクトモデルが生成される。
【０１０６】
キャラクタオブジェクトの場合、１フレーム周期におけるそのオブジェクト動作を演算する処理が実行される（ステップＳ１４３）。すなわち、その期間経過後のそのキャラクタオブジェクトを構成する複数のポリゴンの各々の仮想空間内の位置および向きが決定され、そのキャラクタオブジェクトを表すオブジェクトモデルが生成される。
【０１０７】
このステップＳ１４３の処理をゲーム進行量データの値だけ繰り返される（ステップＳ１４４）。こうして、ゲーム進行量データの値に等しいフレーム周期の期間経過後の各オブジェクトの位置と向きが決定される。
【０１０８】
キャラクタオブジェクトの場合、このように動作演算Ｓ１４３を１フレーム周期毎に行うのは、キャラクタの動作は、１フレーム毎に急激に変化する可能性があるからである。たとえば、１フレーム周期経過後に、キャラクタが壁とかの障害物に衝突すると、その後のキャラクタの位置と向きは大きく変化する。したがって、１フレーム周期分のキャラクタの動作を計算し、その計算をゲーム進行データの値だけ繰り返す。
【０１０９】
逆に言えば、判定ステップＳ１４２での判定は、このようにフレーム周期毎に動作計算をすべきオブジェクトであるか否かを判定するためのものであり、キャラクタ以外のものもキャラクタと同様に１フレーム周期内に動作が大きく変わる可能性があれば、そのオブジェクトもキャラクタと同様に処理するように判定基準を変えることもできる。
【０１１０】
全てのオブジェクトについて以上の処理が終了したと判断されると（ステップＳ１４６）、オブジェクト動作演算処理Ｓ１４０は終了する。こうして、ゲーム進行量データ９３が示す数のフレーム周期だけ経過した後の、各オブジェクトを構成する全ポリゴンの位置と向きが決定される。
【０１１１】
ここでは、通常モードの場合、上記ゲーム進行量データ９３の値は仮定により１であるので、上記ステップＳ１４３は一度実行されるだけである。しかし、高速モードの場合、上記ゲーム進行量データ９３の値は４または２であるので、ステップＳ１４３はこの値だけくり返し実行される。したがって、オブジェクト動作演算処理Ｓ１４０が実行された後のオブジェクトの位置と向きは、通常モードであれば上記ゲーム進行量データ９３の値だけ先のフレーム周期においてそのオブジェクトが有する位置と向きと同じ値になる。
【０１１２】
図７に戻り、次の描画処理Ｓ１５０では、生成すべきフレーム画像を構成する各オブジェクトの全ポリゴンに対してオブジェクト動作演算処理Ｓ１４０で決定された位置と向きに基づいて、それらのポリゴンを画面に表示するための画像データが生成され、グラフィック処理部１０４内に設けられた図示しないフレームバッファに順次記憶される。
【０１１３】
すなわち、各オブジェクトに対して生成されたオブジェクトモデルを構成する複数のポリゴンの各々に透視変換などのレンダリング処理が施され、表示装置の画面に表示されるオブジェクト図形を表すように、上記オブジェクトモデルを構成する複数のポリゴンのそれぞれの画面上の形と位置が決定される。また、オブジェクトモデルに対してテクスチャマッピング処理が施され、そのオブジェクトを構成する複数のポリゴンの各面に色および模様などが割り当てられる。
【０１１４】
こうしてそのオブジェクトモデルを構成するポリゴンに対して図形データが生成される。以上の処理が画面を構成する複数のオブジェクトの一つを構成する異なるポリゴンに対して順次実行され、同じ処理が異なるオブジェクトに対して順次実行される。こうして、全オブジェクトを表すフレーム画像が生成される。
【０１１５】
グラフィック処理部１０４（図１）内に設けられたフレームバッファは、図示しない一対のフレームバッファＡ，Ｂからなり、描画処理Ｓ１５０で生成された一つのフレーム画像を構成する複数のオブジェクトの画像データは、上記一対のフレームバッファの一方に順次記憶される。
【０１１６】
一つのフレーム画像の生成が終了すると、その後、表示装置２０（図１）による垂直同期信号の発生が待たれる（ステップＳ１６０）。垂直同期信号が発生すると、ゲーム進行量データ９３の値が０か否かが再度判定される（ステップ１６１）。通常モードあるいは高速モードでは、このデータの値は０でないので、フレームバッファが上記一方のフレームバッファから他方のフレームバッファに切り替えられる（ステップＳ１７０）。すなわち、上記一対のフレームバッファの他方が、次のフレーム画像を記憶すべきフレームバッファとして選択される。これによりゲーム進行量データに設定された値に従って決定されたフレーム周期数分の処理を行った場合の最後のフレーム画像が表示される。
【０１１７】
グラフィック処理部１０４は、上記一方のフレームバッファに新たに記憶されたフレーム画像を、上記フレーム画像の生成の完了後に垂直同期信号の発生に同期して、表示装置２０に送り、その画面に表示させる。
【０１１８】
通常モードあるいは高速モードでは、ゲーム進行量・音楽テンポ決定処理Ｓ１２０からフレームバッファ切り替えステップＳ１７０がその後繰り返され、後続のフレーム画像が同様に順次生成される。
【０１１９】
すなわち、ゲーム進行量・音楽テンポ決定処理Ｓ１２０が繰り返されたときには、図８に示したように、ステップＳ１２１において、そのときの実時間カウンタ９１の値と画像生成開始時刻データ９２の値の差が計算される。この差は、生成が完了したフレーム画像の生成開始直前の垂直同期信号が発生された時刻からフレーム画像の生成の完了後の最初に垂直同期信号が発生された時刻までの期間を、フレーム周期を単位として表している。この期間は、生成されたフレーム画像の生成時間を表すと言える。したがって、上記の差は、生成されたフレーム画像の生成時間をフレーム周期を単位として表すことになる。本実施の形態ではこの値は１と仮定されている。
【０１２０】
すでに述べたように、このフレーム画像の生成時間は、そのままゲーム進行量データ９３にセットされる。このデータ９３は、そのまま、あるいはそのときに高速モードキーが押されているときには４倍または２倍されて、次のフレーム画像の生成時に、そのフレーム画像の進行量を表すデータとして、オブジェクト動作演算処理Ｓ１４０において、すでに述べた方法で使用される。さらに、実時間カウンタ９１の値は、画像生成開始時刻データ９２にセットされる。この更新後のデータ９２は、次のフレーム画像の生成開始時刻をフレーム周期を単位として表すことになる。
【０１２１】
その後、先に述べたのと同じ様にして、ゲーム進行処理Ｓ１３０、オブジェクト動作演算処理Ｓ１４０、描画処理Ｓ１５０により、当該次のフレーム画像を表す画像データが上記一対のフレームバッファの他方に記憶される。
【０１２２】
以上の処理がさらに後続の一連のフレーム画像に対して順次実行され、それらのフレーム画像を表す一連の画像データが一対のフレームバッファに交互に記憶される。
【０１２３】
このような新たなフレーム画像の生成と並行して、その生成中のフレーム画像を記憶すべきフレームバッファと異なる他方のフレーバッファから、そこに最近に記憶されたフレーム画像が読み出され、表示装置２０により表示される。したがって、生成時間が１フレーム周期に等しい複数のフレーム画像が続いた場合、それらのフレーム画像の表示は１周期毎に切り替わる。通常モードでは、それらのフレーム画像のゲーム進行量はゲームプログラムが想定する値に等しいので、画面上では、ゲームプログラムが想定する進行速度でゲームが進行する。
【０１２４】
しかし、高速キーが押されている間は、これらのフレーム画像のゲーム進行量が、ゲームプログラムが想定するゲーム進行量の４倍または２倍になるように決定されている。これにより、ゲーム進行量分のフレーム画像生成時の最後のフレーム画像が１フレーム周期後に表示される。したがって、画面上は、ゲームプログラムが想定する進行速度の４倍または２倍でゲームが進行する。こうして、通常モードあるいは高速モードの動作が実現される。
【０１２５】
図７に戻り、低速モードでは、メイン処理Ｓ１００内のゲーム進行量・音楽テンポ決定処理Ｓ１２０によりゲーム進行量データ９３が０に変更される。したがって、判定ステップＳ１２７の後、ゲーム進行処理Ｓ１３０から描画処理Ｓ１５０までがスキップされ、ステップＳ１６０では、垂直同期信号の発生待ち信号が発生される。
【０１２６】
垂直同期信号の発生があると、ステップＳ１６１で、ゲーム進行量データ９３が０であるかが再度判定される。今の場合、仮定によりゲーム進行量データ９３は０であるので、フレームバッファの切り替えステップＳ１７０を実行することなく、処理はゲーム進行量・音楽テンポ決定処理Ｓ１２０に戻る。こうして、フレーム画像の生成がスキップされる。
【０１２７】
フレームバッファの切り替えステップＳ１７０が実行されないので、グラフィック処理部１０４（図１）は、垂直同期信号に同期してそれまで表示していたフレーム画像を繰り返し表示装置２０に供給し、表示中のフレーム画像を続けて表示させることになる。
【０１２８】
スキップ回数の目標値が３の場合には、以上の動作が垂直同期信号が発生するごとに３回繰り返され、スキップ回数が目標値に達する。スキップ毎にリセットカウンタ９５が１だけカウントアップされる（ステップＳ３１５（図１０））。スキップ回数の目標値が１のときには、以上の処理が１度実行されたときにスキップ回数が目標値に達する。
【０１２９】
いずれの場合にもスキップ回数が目標値に達した後にゲーム進行量・音楽テンポ決定処理Ｓ１２０が実行されたときには、その処理内のステップＳ１２２（図８）で決定されたゲーム進行量データ９３はリセットされず、そのまま生成すべきフレーム画像のゲーム進行量データとして使用される。今の場合には、この値は１である。リセットカウンタ９５は０にリセットされる（ステップＳ３１６（図１０））。
【０１３０】
この場合、メイン処理Ｓ１００では、ゲーム進行量・音楽テンポ決定処理Ｓ１２０の実行後にゲーム進行処理Ｓ１３０、オブジェクト動作演算処理Ｓ１４０、描画処理Ｓ１５０が実行され、垂直同期信号の発生が待たれる（ステップＳ１６０）。垂直同期信号が発生すると、フレームバッファ切り替えステップＳ１７０も実行される。
【０１３１】
こうして新たな通常のゲーム進行量を有する画像が生成される。結局、４フレーム期間あるいは２フレーム期間に１フレームのみ生成されるので、表示装置の画面上には通常のゲーム進行速度の１／４倍あるいは１／２倍のゲーム進行速度でビデオゲームが表示されることになる。
【０１３２】
以上の処理により生成および表示されるフレーム画像の変化を図１２，１３に示すいくつかの信号のタイムチャートを用いてより具体的に説明する。
【０１３３】
これらの図において、Ｑ１，Ｑ２等は描画処理Ｓ１５０において生成されるフレーム画像の例を示す。フレーム画像Ｑ１，Ｑ２等が生成される期間は、それぞれのフレーム画像が記憶されるフレームバッファＡまたはＢに対応して示されている。各フレーム画像が生成される期間の上方に括弧付きで示した数値は、そのフレーム画像の生成に使用されるゲーム進行量データ９３の値を示す。
【０１３４】
各フレーム画像が表示装置２０上に表示される期間は、そのフレーム画像が読み出されるフレームバッファに関係なく同一の線上に並べて示されている。各フレーム画像が表示される期間の上方に括弧付きで示した数値は、そのフレーム画像の生成に使用されたゲーム進行量データ９３の値を示す。
【０１３５】
図１２において、時刻Ｔ１の前に初期設定処理Ｓ１１０により、画像生成開始時刻データ９２（図６）が０に初期設定され、時刻Ｔ１において発生した垂直同期信号に応答して、実時間カウンタ９１（図６）が初期値１に設定されたと仮定されている。さらに、その後、ゲーム進行量・音楽テンポ決定処理Ｓ１２０により、実時間カウンタ９１の値１と画像生成開始時刻データ９２の値０との差が計算される。
【０１３６】
この差は、先行するフレーム画像の生成時間を表す。今の場合、その値は１となる。この値はゲーム進行量データ９３の初期値として決められたものである。通常モードでは、このゲーム進行量データ９３がそのまま、生成すべきフレーム画像のゲーム進行量データとして使用される。
【０１３７】
その後、ゲーム進行処理Ｓ１３０によりゲームの進行が制御され、オブジェクト動作演算処理Ｓ１４０において、このゲーム進行量データ９３の値１にしたがって、最初のフレーム画像Ｑ１を構成する全オブジェクトの動作が計算される。その結果に基づいて、描画処理Ｓ１５０により最初のフレーム画像Ｑ１を表す画像データがフレームバッファの一方Ａに記憶される。
【０１３８】
ここでは、最初のフレーム画像Ｑ１の生成時間は、１フレーム周期以内と仮定されている。したがって、次の垂直同期信号が発生する時刻Ｔ２の前にフレーム画像Ｑ１の生成が完了し、垂直同期信号待ちステップＳ１６０（図７）により垂直同期信号待ち信号がセットされる。時刻Ｔ２で新たな垂直同期信号が発生すると、フレームバッファ切り替えステップＳ１７０（図７）が実行され、次に生成すべきフレーム画像を記憶すべきフレームバッファは、他方のフレームバッファＢに切り替えられる。
【０１３９】
その後、次のフレーム画像Ｑ２の生成の前にゲーム進行量・音楽テンポ決定処理Ｓ１２０が実行され、実時間カウンタ９１、画像生成開始時刻データ９２はともに２に更新される。ゲーム進行量データ９３も更新されるが、その値は、仮定により１のままである。こうして、次のフレーム画像Ｑ２もゲーム進行量データ９３の値１に基づいてフレーム画像Ｑ１と同様にして生成されるべきことが決定される。
【０１４０】
ここではフレーム画像Ｑ２の生成時間も１フレーム時間内と仮定している。したがって、次のフレーム画像Ｑ３に対するゲーム進行量データ９３の値も１のままである。以下同様にしてフレーム画像Ｑ３も、ゲーム進行量データ９３の値１に基づいて生成されると仮定している。
【０１４１】
時刻Ｔ３，Ｔ４の前にそれぞれ垂直同期信号待ち信号がセットされ、時刻Ｔ３とＴ４のそれぞれにおいて垂直同期信号が発生したときに、実時間カウンタ９１が順次３，４と更新され、画像生成開始時刻データ９２も順次３，４と更新される。ゲーム進行量データ９３もそれぞれの時刻で更新されるがその値は１のままとなる。
【０１４２】
こうして、フレーム画像Ｑ２，Ｑ３は順次フレームバッファＢ，Ａに記憶される。時刻Ｔ２では、フレーム画像Ｑ１の生成が完了しているので、時刻Ｔ２からフレーム画像Ｑ１が表示される。時刻Ｔ３からフレーム画像Ｑ３が表示される。同様に時刻Ｔ４からフレーム画像Ｑ３が表示される。
【０１４３】
フレーム画像Ｑ１からＱ３に対しては、表示切り替えが１フレーム周期で起きていることが図から分かる。このように、ゲーム進行量データ９３の値が１であるフレーム画像が連続する場合、通常モードでは、従来と同様に各フレーム画像は１フレーム周期の期間のみ表示される。したがって、これらの画像は、ゲームプログラムが想定するゲーム進行速度でゲームを表示することになる。
【０１４４】
さて、時刻Ｔ３とＴ４の途中から時刻Ｔ７とＴ８の途中まで続けて高速モードキーがプレイヤにより押されたと仮定する。時刻Ｔ４から生成が開始されるフレーム画像Ｑ４のゲーム進行量データ９３は、すでに述べたように、ゲーム進行量・音楽テンポ決定処理Ｓ１２０により４倍または２倍される。ここでは、ゲーム進行量データ９３は４倍され、その値は４になると仮定する。
【０１４５】
画像Ｑ４が記憶されるフレームバッファはフレームバッファＢである。フレーム画像Ｑ４に対する描画処理Ｓ１５０が終了すると、垂直同期信号待ち信号が時刻Ｔ５の前に発生される。時刻Ｔ５で垂直同期信号が発生すると、フレームバッファが切り替わる。次のフレーム画像Ｑ５に対するゲーム進行量データも同様に４に変更される。後続のフレーム画像Ｑ５，Ｑ６のゲーム進行量データ９３も同様にして４になる。
【０１４６】
こうして、高速モードキーがプレイヤにより押されている時刻Ｔ４からＴ７の間に生成されるフレーム画像Ｑ４からＱ７が４倍のゲーム進行量を有するように生成される。
【０１４７】
フレーム画像Ｑ４からＱ７は順次フレームバッファＢ，Ａ，Ｂ，Ａに記憶される。時刻Ｔ５では、フレーム画像Ｑ４の生成が完了しているので、時刻Ｔ５からフレーム画像Ｑ４が表示される。時刻Ｔ６からフレーム画像Ｑ５が表示される。同様に時刻Ｔ７からフレーム画像Ｑ６が表示される。この結果、これらのフレーム画像により、ゲームプログラムが想定するゲーム進行速度の４倍の進行速度で変化する画像が画面上に表示されることになる。
【０１４８】
時刻Ｔ３とＴ４の間で高速モードキーがプレイヤに最初に押された後に最初に垂直同期信号が出される時刻Ｔ４において、生成されるべき画像Ｑ４が高速モード用の画像に変更され、次の垂直同期信号の時刻Ｔ５から表示される。したがって、プレイヤの操作後、即座に画面が変更されたことになる。
【０１４９】
一方、時刻Ｔ７とＴ８の途中から時刻Ｔ１９とＴ２０の間まで、プレイヤが高速モードキーに代えて低速モードキーを押し続けたと仮定する。さらに、許容変速モードビット９４の値が１であり、１／４倍速動作が使用できると仮定する。低速モードでは、ゲーム進行量・音楽テンポ決定処理Ｓ１２０（図８）内の低速モード設定処理Ｓ３００が実行される。この処理では、画像生成スキップ処理Ｓ３１０（図１０）により、ゲーム進行量データ９３が目標回数だけ０にリセットされる。
【０１５０】
すなわち、時刻Ｔ８から始まるフレーム周期ではリセットカウンタ９５はすでに０にリセットされている。この周期でのゲーム進行量データ９３は０にリセットされる。リセットカウンタは１にカウントアップされる。ゲーム進行量データ９３が０であるので、このフレーム周期では画像は生成されない。しかし、垂直同期信号待ち信号は生成される。
【０１５１】
時刻Ｔ９から始まる次のフレーム周期でも同様に処理される。ここではリセットカウンタ９５が２にカウントアップされる。同様にして時刻Ｔ１０から始まるフレーム周期ではリセットカウンタ９５は３にカウントアップされる。
【０１５２】
時刻Ｔ１１から始まるフレーム周期では、リセットカウンタ９５の値がすでに３になっているので、画像生成はスキップされない。すなわち、ゲーム進行量・音楽テンポ決定処理Ｓ１２０内のステップＳ１２２で決定された値１がそのままゲーム進行量データとして使用される。リセットカウンタ９５はこのフレーム周期で０にリセットされる。こうして、時刻Ｔ１１からフレーム周期で画像Ｑ８が生成され、フレームバッファＢに格納され、時刻Ｔ１２から表示される。時刻Ｔ１２までは画像Ｑ７がくり返し表示される。
【０１５３】
同様にして、次の画像Ｑ９は、時刻Ｔ１２からＴ１６までの４フレーム周期の内の時刻Ｔ１５から１６の間に、値１のゲーム進行量データ９３を用いて生成され、時刻Ｔ１６から表示される。画像Ｑ８は時刻Ｔ１２からＴ１６までの４フレーム周期にわたり表示される。
【０１５４】
次の画像Ｑ１０は、時刻Ｔ１６からＴ２０までの４フレーム周期の内の時刻Ｔ１９から２０の間に値１のゲーム進行量データ９３を用いて生成され、時刻Ｔ２０から表示される。画像Ｑ９は、時刻Ｔ１０からＴ２０までの４フレーム周期にわたり表示される。
【０１５５】
このように、低速モードではゲーム進行量データ９３の値が１のフレーム画像が４フレーム周期毎に生成され、４フレーム周期にわたり表示される。したがって、画面上では、ゲームは通常のモードに比べて１／４の進行速度で進行することになる。
【０１５６】
また、時刻Ｔ７とＴ８の間で低速モードキーがプレイヤに押された後に最初に垂直同期信号が出される時刻Ｔ８以降において、画像Ｑ８が４フレーム周期後に生成され、４フレーム周期の間続けて表示される。したがって、プレイヤのキー操作後少し遅れて画面が低速用のものに変更されたことになる。
【０１５７】
時刻Ｔ１９とＴ２０の途中からプレイヤが低速モードキーの操作も中止したと仮定する。この通常モードでは、ゲーム進行量・音楽テンポ決定処理Ｓ１２０（図８）内のステップＳ１２２で決定されたゲーム進行量データ９３がそのまま使用されてフレーム画像が生成される。すなわち、時刻Ｔ２０から始まる複数のフレーム周期において、順次フレーム画像Ｑ１１，Ｑ１２，Ｑ１３，Ｑ１４が生成され、それぞれの画像は１フレーム周期後に表示される。したがって、再度通常モードでの表示が実現される。
【０１５８】
なお、２倍速または１／２倍速での画像の表示の模様は、４倍速および１／４倍速の画像の例から明らかであるので、図１２、１３には図示されていない。
【０１５９】
さて、図１２、１３に示されたプレイヤ操作の場合、音楽の演奏は以下のように変化する。画像Ｑ１からＱ３は通常モードで表示される画像である。時刻Ｔ２から時刻Ｔ４に至るまでテンポ変更モードフラグ８４の値は０であり、この間は音楽は通常テンポで演奏される。
【０１６０】
時刻Ｔ３とＴ４の間で高速モードキーがプレイヤにより押された後の最初の垂直同期信号が検出される時刻Ｔ４において、テンポ変更モードフラグ８４は高速モード用の値に変更される。図１２と図１３の場合、許容変速モードビットは１であると仮定しているので、テンポ変更モードフラグ８４は２に変更される。時刻Ｔ７とＴ８の間で高速モードキーに代えて低速モードキーが押された後の最初の垂直同期信号が検出される時刻Ｔ８までこの値は維持される。したがって、時刻Ｔ４から音楽は高速テンポ（４倍テンポ）で演奏される。
【０１６１】
最初の４倍速の画像Ｑ４が表示されるのは時刻Ｔ５であるが、テンポ変更モードフラグ８４は、上に説明したように時刻Ｔ４からただちに変更される。この間にゲームプログラムが音楽の演奏を要求すると、その音楽が４倍速で演奏されることになる。時刻Ｔ５からＴ６までの期間では、通常モードで生成された画像Ｑ４が表示される。
【０１６２】
したがって、この間では音楽と表示される画像のモードは対応しないが、このずれが発生している期間は、１フレーム周期であり、プレイヤにとってとくに問題となる期間ではない。むしろ、高速モードキーが押された後すぐに音楽が高速テンポに変更されるほうが、キー操作が即座にゲームの進行に反映されたとプレイヤに感じさせる可能性がある。
【０１６３】
時刻Ｔ７とＴ８の間で高速モードキーに代えて低速モードキーがプレイヤにより押された後の時刻Ｔ８において最初の垂直同期信号が検出され、テンポ変更モードフラグ８４は−２に変更される。音楽は低速テンポ（１／４倍テンポ）で演奏される。
【０１６４】
時刻Ｔ１９とＴ２０の間で低速モードキーも高速モードキーも開放された後、時刻Ｔ２０で最初の垂直同期信号が検出される。この時刻Ｔ２０までテンポ変更モードフラグ８４の値−２は維持される。したがって、時刻Ｔ８からＴ２０まで音楽は低速モードで、今の場合１／４倍速で演奏される。
【０１６５】
最初の１／４倍速の画像Ｑ８が表示されるのは時刻Ｔ１３であるが、テンポ変更モードフラグ８４は、上に説明したように時刻Ｔ８からただちに変更される。この間にゲームプログラムが、音楽の演奏を要求すると、その音楽が１／４倍速で演奏されることになる。
【０１６６】
時刻Ｔ８からＴ１２までの期間には４倍速用の画像Ｑ７が４周期掛けて表示されるので、画面上では、時刻Ｔ８から低速でゲームが進行することになる。したがって、テンポ変更モードフラグ８４が時刻Ｔ８からただちに変更されることは表示される画像のモードと対応することになり、むしろ望ましいことである。
【０１６７】
時刻Ｔ１９とＴ２０の間で高速モードキーと低速モードキーのいずれもが開放されたときには、時刻Ｔ２０よりテンポ変更モードフラグ８４の値は０になり、通常テンポで音楽が演奏されることになる。
【０１６８】
本実施の形態では、効果音を出力するための音楽の演奏テンポの変更は、以下のようにして実現される。図１４に示された楽譜で表される楽曲の場合、図１５に示されるように、通常テンポでは、各４分音符は０．５秒間発音される。４倍速テンポでは、各４分音符は通常モード時の発音時間の１／４の時間（０．１２５秒）発音される。２倍速テンポでは、各４分音符は通常テンポ時の発音時間の１／２の時間（０．２５秒）発音される。１／２倍速テンポでは、各４分音符は通常テンポ時の発音時間の２倍の時間（１．０秒）発音される。１／４倍速テンポでは、各４分音符は通常テンポ時の発音時間の４倍の時間（２．０秒）発音される。
【０１６９】
図１６は、４分音符と８分音符の種々のテンポでの発音時間を示す。他の音符も同様に通常テンポ時の発音期間がモードに応じて変更される。後に述べるように、本実施の形態では、通常テンポ時の標準のテンポデータがテンポ変更モードフラグ８４の値に応じて変更され、変更後のテンポデータの値に応じて各音符の発音期間が決定されるようになっている。
【０１７０】
ビデオゲームで使用する複数の楽曲はそれぞれサウンドデータとしてＲＡＭ１０３内のサウンドデータ領域１０３ｅ（図６）に予め記憶される。サウンドデータ８１には識別子ＩＤ１（８１ａ）が付加されている。同様に、サウンドデータ８２，８３，，にもそれぞれ識別子ＩＤ２，ＩＤ３，，が付加されている。各サウンドデータが使用されるときには、対応する識別子が指定される。
【０１７１】
割り込みが発生すると、図１７に示されるサウンド再生処理Ｓ４００が起動される。この処理は、メイン処理Ｓ１００が起動された後も、一定周期で起動される。サウンド再生のための割り込みは一定周期毎に、たとえば１／２４０秒毎に発生される。割り込みの発生が検出されると、サウンド再生処理が起動され、楽曲の再生要求があるか否かが判定される（ステップＳ４０２）。
【０１７２】
楽曲の再生要求は、すでに述べたゲーム進行処理Ｓ１３０（図７）により適宜ゲームの進行に合わせて発生される。もしこの要求がないときには、ステップＳ４０１に処理が戻り、再度割り込みの発生が待たれる。楽曲の再生要求があった場合には、その要求が指定する楽曲が現在再生中の楽曲とは異なる新たな楽曲であるかが判定される（ステップＳ４０３）。
【０１７３】
要求された楽曲が現在再生中の楽曲とは異なる楽曲である場合、要求された楽曲に対応するサウンドデータをＲＡＭ１０３のサウンドデータ領域１０３ｅ（図６）から読み込まれる（ステップＳ４０４）。要求された楽曲が現在再生中の楽曲と同じ楽曲である場合、その楽曲に対応するすでに読み込まれたサウンドデータがそのまま使用される。
【０１７４】
次にテンポデータが演算される（ステップＳ４０５）。このテンポ演算では、テンポデータの標準値がテンポ変更モードフラグ８４（図６）の値に応じて変更されて新たなテンポデータが決定される。テンポデータの標準値は、たとえば１２０であり、この値は通常モードでそのままテンポデータとして使用される。
【０１７５】
具体的には、このテンポ演算Ｓ４０５では、テンポ変更モードフラグ８４の値が０（通常モード）であるか否かが判定され（ステップＳ４５１）、その値が０であれば、何も演算はされない。テンポ変更モードフラグ８４の値が０でないときは、その値が２，１，−２，−１のいずれであるかが判定される（ステップＳ４５２）。
【０１７６】
次にテンポ変更モードフラグ８４の値が２であれば、４倍速のためにテンポデータ１２０が４倍され、テンポデータとして値４８０が得られる（ステップＳ４５３）。テンポ変更モードフラグ８４の値が１であれば、２倍速のためにテンポデータ１２０が２倍され、テンポデータとして値２４０が得られる（ステップＳ４５４）。一方、テンポ変更モードフラグ８４の値が−１であれば、１／２倍速のためにテンポデータ１２０が１／２倍され、値６０が得られる（ステップＳ４５５）。テンポ変更モードフラグ８４の値が−２であれば、１／４倍速のためにテンポデータ１２０が１／４倍され、テンポデータとして値３０が得られる（ステップＳ４５６）。
【０１７７】
テンポデータ演算（ステップＳ４０５）の後に、得られた新たなテンポデータに基づいて、テンポが変更され、読み込まれたサウンドデータが再生され、それにより要求された楽曲が再生される（ステップＳ４０６ ）。すなわち、そのサウンドデータに含まれる音符のそれぞれの発音時間ｔが次式１で変更される。
【０１７８】
【数１】
ｔ＝通常テンポでの発音時間×（１２０／テンポデータ）  （１）
【０１７９】
いくつかの各音符の発音時間は、いろいろのモードに対して図１６に示されたとおりとなる。
【０１８０】
〔発明の実施の形態２〕
【０１８１】
第１の実施の形態では、各フレーム画像の生成時間は１フレーム期間であると仮定された。しかし、そこに開示された方法は、各フレーム画像の生成期間が複数のフレーム期間、たとえば２フレーム期間あるいは３フレーム期間であるビデオゲームにも適用できる。
【０１８２】
たとえば、各フレーム画像の生成期間が２フレーム期間であるときには、各フレーム画像の生成に２フレーム期間必要なために、表示装置２０における表示の切り替えは実質的には２フレーム期間毎に起きる。したがって、各フレーム画像のゲーム進行量はゲームプログラムが想定するゲーム進行量の２倍であれば、画面上でのゲームの進行速度はゲームプログラムが想定するものと同じになる。
【０１８３】
各フレーム画像の生成期間が２フレーム期間であるときには、先に示されたゲーム進行量・音楽テンポ決定処理Ｓ１２０（図８）内のステップＳ１２１で検出されるゲーム進行量データの値は２となる。先の実施の形態によれば、通常モードでは各フレーム画像のゲーム進行量は２とされる。したがって、通常モードでは、画面上でのゲームの進行速度はゲームプログラムが想定するものと同じになる。このように、各フレーム画像の生成期間が２フレーム期間である場合でも、先の実施の形態はそのまま通常モード時で使用できる。
【０１８４】
高速モードでは、各フレーム画像のゲーム進行量を通常時の値と進行速度の増大率を掛けた値にすればよい。たとえば、４倍速を実現するには、各フレーム画像のゲーム進行量をビデオゲームが想定するゲーム進行量の８倍にすればよい。
【０１８５】
第１の実施の形態で述べたゲーム進行量・音楽テンポ決定処理Ｓ１２０では、各フレーム画像の生成時間が２フレーム周期であるとき、高速モード設定処理Ｓ２００内のステップＳ２０２において、生成すべきフレーム画像のゲーム進行量は８に変更される。したがって、各フレーム画像の生成時間が２フレーム期間の場合において、高速モードでも、この高速モード設定処理Ｓ２００を含めて、第１の実施の形態がそのまま使用できる。
【０１８６】
各フレーム画像の生成時間が２フレーム周期である場合には、低速モードを実現するには、画像生成をスキップする回数は各フレーム画像の生成時間が１フレーム周期である場合と同じく３回あるいは１回でよい。しかし、一つのフレーム画像の生成期間が２フレーム期間であり、リセットカウンタ９５は、スキップ中の垂直同期信号の数に比例してカウントアップされるので、ステップＳ３１２，Ｓ３１３（図１０）におけるリセットカウンタ９５の目標値は第１の実施の形態での値３または１の２倍にする必要がある。
【０１８７】
結局、リセットカウンタ９５の目標値を、ゲーム進行量・音楽テンポ決定処理Ｓ１２０内のステップＳ１２１で検出されたフレーム生成時間の値に依存して決定すればよい。
【０１８８】
すなわち、画像生成スキップ処理Ｓ３１０（図１０）において、許容変速モードビット９４の値が１であり、１／４倍速が使用可能であるときには、ステップＳ３１２でリセットカウンタ９５の値と比較されるべきスキップ目標値を次式により与えればよい。
【０１８９】
【数２】
スキップ目標値＝フレーム画像の生成時間×３          （２）
【０１９０】
許容変速モードビット９４の値が０であり、１／２倍速が使用できる場合、ステップＳ３１３でリセットカウンタ９５の値と比較されるスキップ目標値を次式により与えればよい。
【０１９１】
【数３】
スキップ目標値＝フレーム画像の生成時間×１          （３）
【０１９２】
いずれの式においてもフレーム画像の生成時間はフレーム周期を単位として表された値が使用される。
【０１９３】
本実施の形態は、第１の実施の形態がこのように変更されて使用される。言い方を変えれば、本実施の形態は、第１の実施の形態と比べて、上記スキップ目標値の設定だけが異なる。本実施の形態では、各フレーム画像の生成時間が２フレーム周期の場合にも低速モードが使用できることになる。
【０１９４】
具体的には、生成時間が２フレーム期間であるフレーム画像の生成と表示の変化は図１８に例示される。ここでは、フレーム画像Ｒ１かＲ４が順次生成されている。各フレーム画像の生成期間は２フレーム周期であると仮定している。
【０１９５】
各フレーム画像が生成される期間は、そのフレーム画像が記憶される一対のフレームバッファの一方に対応させて記載されている。各フレーム画像が生成される期間の上方に括弧内に記載された数値は、そのフレーム画像のゲーム進行量を表す。各フレーム画像が表示される期間は、同一線上に並べて示されている。各フレーム画像が表示される期間の上方に括弧内に記載された数値は、そのフレーム画像のゲーム進行量を表す。
【０１９６】
この図から分かるように、通常モードでは、ビデオゲームが想定するフレーム周期当たりのゲーム進行量の２倍のゲーム進行量を用いてこれらのフレーム画像が生成されれば、表示される一連のフレーム画像が表すゲーム進行速度はビデオゲームが想定する通常の進行速度となる。
【０１９７】
高速モードでは、４倍速の場合には、通常モード時に使用されるゲーム進行量の４倍のゲーム進行量（したがって、ビデオゲームが想定するゲーム進行量の８倍のゲーム進行量）を用いてこれらのフレーム画像が生成されれば、表示される一連のフレーム画像が表すゲーム進行速度はビデオゲームが想定するものの４倍になる。
【０１９８】
低速モードでは、１／４倍速の場合には、通常モード時に使用されるゲーム進行量（したがって、ビデオゲームが想定するゲーム進行量の２倍のゲーム進行量）をそのまま用いてこれらのフレーム画像が８フレーム周期毎に生成されれば、表示される一連のフレーム画像が表すゲーム進行速度はビデオゲームが想定するものの１／４になる。
【０１９９】
以上の説明からも明らかなように、本実施の形態は、各フレーム画像の生成時間が他の値、たとえば３フレーム周期の場合にも適用できる。したがって、本実施の形態は、各フレーム画像の生成時間が１，２，３フレーム周期あるいはそれ以上である場合にも適用できることが分かる。
【０２００】
すでに述べたように、ステップＳ１２１（図８）で使用される画像生成開始時刻データ９２は、次に作成すべきフレーム画像の直前に生成されたフレーム画像の生成開始時刻を表す。したがって、ステップＳ１２１で算出された差は、直前のフレーム画像の生成時間をフレーム周期を単位として表す。第１、第２の実施の形態では、連続するフレーム画像の生成時間は、フレーム周期を単位にして計測すれば同じであると仮定している。
【０２０１】
したがって、ステップＳ１２２では、直前のフレーム画像の生成時間をそのまま次に生成すべきフレーム画像の生成時間として使用し、次に生成すべきフレーム画像のゲーム進行量の値を、そのフレーム画像の生成時間に等しくしていることになる。
【０２０２】
この結果、本実施の形態で述べたように、フレーム画像の生成時間が１フレーム周期から３フレーム周期のいずれでもあるいは他の値のフレーム周期でも、通常モードでプログラムが想定する進行速度でゲームを表示するフレーム画像が生成できることになる。
【０２０３】
しかも、高速モードでは、このようにして決められたフレーム画像のゲーム進行量と速度増大率との積を生成すべきフレーム画像のゲーム進行量とすることにより、フレーム画像の生成時間に依らないで、同じ倍速でゲームを進行できることになる。
【０２０４】
さらに、低速モードでは、上記式２または式３に従い画像生成をスキップする回数をステップＳ１２２により決定されたゲーム進行量データ９３の値に基づいて決めれば、フレーム画像の生成時間に依らないで同じ速度減少率でゲームを進行させることができることになる。
【０２０５】
〔発明の実施の形態３〕
【０２０６】
すでに述べたように、第２の実施の形態は、ビデオゲームを構成する各フレーム画像の生成時間が同じならば、その値が１フレーム周期の場合でもそれ以外の場合でも使用できる。
【０２０７】
フレーム画像の生成時間を大きく支配するのは、すでに述べたオブジェクト動作演算処理Ｓ１４０と、描画処理Ｓ１５０である。同じゲーム内のフレーム画像でも、そこに含まれるオブジェクトの数が変化すると、これらの処理で処理されるべきポリゴンの総数が大きく変化し、フレーム画像の生成時間がフレーム画像毎に大きく変化することが起きる。
【０２０８】
たとえば３つ程度のキャラクタが含まれるフレーム画像の場合には、画像生成時間が３フレーム期間に達することがある。一方、フレーム画像に含まれるキャラクタの数が１個の場合、画像生成時間が１フレーム周期であることが起きる。このように異なる生成時間を要するフレーム画像が同じゲームに含まれている場合も多い。
【０２０９】
したがって、このようなビデオゲームに対してもプレイヤの操作に応じてゲーム進行速度を変化できることが望ましい。しかし、第２の実施の形態は、生成時間が異なっている複数のフレーム画像が混在しているビデオゲームにも使用可能である。
【０２１０】
そのようなビデオゲームにおいても、一般には多くの連続するフレーム画像の生成時間は同じである。すなわち、画像生成時間が１フレーム周期である一連のフレーム画像が含まれ、画像生成時間は２フレーム周期である一連のフレーム画像が含まれている。
【０２１１】
このようなビデオゲームを考慮すると、ステップＳ１２２（図８）では、ステップＳ１２１で計測された直前のフレーム画像の生成時間を、次に生成すべきフレーム画像の生成時間の予測値として使用し、当該次のフレーム画像のゲーム進行量を、次に生成すべきフレーム画像の生成時間の予測値に等しいと見なしていると考えることができる。
【０２１２】
同じ生成時間を有する一連のフレーム画像に対しては、それぞれのフレーム画像の生成時間の予測値が正しいことになる。第２の実施の形態は、各フレーム画像の生成時間の値が１フレーム周期あってもそれ以外であっても適用できる。したがって、第２の実施の形態は、上記一連のフレーム画像に対して通常モード、高速モード、低速モードを正しく実現できることになる。
【０２１３】
すなわち、通常モードでは、次に生成すべきフレーム画像の生成時間のフレーム周期を単位とする予測値をそのフレーム画像のゲーム進行量とされる。そのことにより、フレーム画像の生成時間に依らないで通常モードでゲームを表示するためのフレーム画像が生成される。
【０２１４】
より詳細に説明すると、各フレーム画像が表示される期間は次のフレーム画像の生成期間に依存する。端的には、各フレーム画像は、そのフレーム画像が生成完了した後に垂直同期信号が発生したときから表示され始め、次のフレーム画像が生成された後に垂直同期信号が発生したときに表示されなくなる。すなわち、各フレーム画像は次のフレーム画像が生成されている間、表示される。したがって、各フレーム画像のゲーム進行量を次のフレーム画像の生成時間の予測値に基づいて決めることが望ましい。
【０２１５】
しかし、各フレーム画像も、直前のフレーム画像も次のフレーム画像の生成時間も通常は同じと推測できる。したがって、各フレーム画像の直前のフレーム画像の生成時間は、当該フレーム画像の生成時間の予測値であるとともに、次のフレーム画像の予測時間であるとも考えることができる。したがって、本実施の形態では、各フレーム画像の生成時間の予測値を使用して当該フレームのゲーム進行量が決められているとも言えるだけでなく、各フレーム画像の次のフレーム画像の生成時間の予測値を使用して当該フレームのゲーム進行量が決められているとも言える。
【０２１６】
高速モードでは、次に生成すべきフレーム画像の生成時間の予測値と速度増大率との積をそのフレーム画像のゲーム進行量とされている。そのことにより、フレーム画像の生成時間に依らないで倍速でゲームを表示するためのフレーム画像が生成される。
【０２１７】
さらに、低速モードでは、次に生成すべきフレーム画像の生成時間の予測値と速度減少率に依存する数値（たとえば３または１）との積に等しい回数だけフレーム画像の生成がスキップされる。そのことにより、フレーム画像の生成時間に依らないで同じ低速でゲームを表示するためのフレーム画像が生成される。
【０２１８】
このように、第２の実施の形態においては、次の生成すべきフレーム画像の生成時間の予測値が有効に使用されていることが分かる。
【０２１９】
ところで、先行するフレーム画像の生成時間と後続の隣接するフレーム画像の生成時間が異なる場合、後続のフレーム画像の生成時間についての予測値が正しくないことになる。したがって、この後続のフレーム画像に対しては、上記３つのモードは正確には実現されないが、このようなフレーム画像が表示される期間は、せいぜい数フレーム周期だけであるから、プレイヤにとってとくに問題にはならない。
【０２２０】
したがって、第２の実施の形態は、生成時間が異なるフレーム画像が混在しているビデオゲームにも適用可能である。なお、上記予測値が正しくないフレーム画像の影響を減らすように、第２の実施の形態を変更することも可能である。
【０２２１】
〔発明の実施の形態４〕
【０２２２】
上記いくつかの実施の形態では、各フレーム画像を生成したときに、そのフレーム画像の生成時間をフレーム周期を単位として計測し、これを次のフレーム画像のフレーム周期を単位とした生成時間としてそのまま使用した。この方法は、実際に連続するフレーム画像のフレーム周期を単位とした生成時間は、同じである場合が多いことを利用している。しかし、このように各フレーム画像の生成時間を計測しなくても、各フレーム画像のゲーム進行量をそのフレーム画像の生成時に決定することもできる。
【０２２３】
すでに述べたように、フレーム画像の生成時間は、そのフレーム画像に含まれる複数のオブジェクトの画像データを生成するのに必要な時間である。したがって、全オブジェクトの画像を生成する時間を計測する代わりに、それらの画像を生成するための処理量を予測する方法を用いることもできる。
【０２２４】
フレーム画像の生成のための処理量は、そのフレーム画像に含まれる全オブジェクトの数とそれぞれのオブジェクトを構成するポリゴンの総数に大きく依存する。したがって、すでに述べたゲーム進行処理Ｓ１３０とオブジェクト動作演算処理Ｓ１４０の間で、次に生成するフレーム画像の生成に使用されるオブジェクトのポリゴンの総数を計数し、それぞれのポリゴンあるいはそれぞれのオブジェクトが移動するか否かも判別し、上記計数結果と上記判別結果に基づいて、そのフレーム画像を生成するための処理量を予測する処理を実行すればよい。
【０２２５】
１フレーム周期内でフレーム画像を生成するための処理量の限界値を予め決めておき、予測された処理量とその限界値との比率を計算し、その計算結果をそのフレーム画像の、フレーム周期を単位とした生成時間とすることができる。本実施の形態では、先の初期設定処理Ｓ１１０、ゲーム進行量・音楽テンポ決定処理Ｓ１２０を実行する必要はない。
【０２２６】
第１の実施の形態ですでに述べたように、直前のフレーム画像の生成時間を次のフレーム画像の生成時間の予測値として流用した場合、この予測値が当該フレームの実際の生成時間と異なることが生じる。その結果、それらのフレーム画像が画面に表示されたときに、それらのフレーム画像が表すゲーム進行速度が、ゲームプログラムが想定するものとは異なる。
【０２２７】
本実施の形態では、各フレーム画像の生成時間をそのフレーム画像の内容に基づいて予測するので、このような予測の外れは生じない。したがって、予測の外れによるゲーム進行速度の異常をなくすことができる。
【０２２８】
上で説明したいくつかの実施の形態において表示される画面の変化の例が図１９に示されている。図において、Ｔはフレーム周期を表し、画像７１，７２，７３，７４，７５は、生成時間は１フレーム周期であり、通常モードにおいてフレーム周期毎に切り替えて順次表示される複数の画像を模式的に表す。それぞれの画像は、拡大された文字Ａ，Ｂ，Ｃ，Ｄ，Ｅ，，，を表示する画像であると仮定する。各文字が実際に表示されるときには、同じ文字を表す画像は複数のフレーム周期にわたり表示される。しかし、ここでは便宜上、各文字を表す画像は、後続の画像の生成が完了するまでの期間のみ表示されると仮定する。
【０２２９】
通常モードでは、文字Ａの画像７１が生成され、時刻Ｔ１において表示されたとき、画像７１の表示に並行して文字Ｂの画像７２が生成され、画像７１が１フレーム周期表示された後の時刻Ｔ２において、文字Ｂの画像７２が表示される。同様にして文字Ｃの画像７３、文字Ｄの画像７４、文字Ｅの画像７５等が順次１フレーム周期で表示される。
【０２３０】
一方、２倍速モードでは、文字Ａの画像７１が生成され、時刻Ｔ１において表示され、画像７１の表示に並行して時刻Ｔ１から次の画像が生成されるとき、本来通常モードでは２フレーム先に表示されるべき文字Ｃの画像７３が生成されるようにゲーム進行量が決定される。したがって、時刻Ｔ１より１フレーム周期経過後の時刻Ｔ２において文字Ｃの画像７３が表示される。同様に時刻Ｔ３において、文字Ｅの画像７５が表示される。こうして画面の上での文字画像の変化速度が通常モードの２倍になる。
【０２３１】
逆に、１／２倍速モードでは、文字Ａの画像７１が表示された時刻Ｔ１から始まる１フレーム周期の期間では、ゲーム進行量が０とされ、次の画像の生成がスキップされる。したがって、時刻Ｔ２では新たな画像が表示されず、文字Ａの画像７１が引き続き表示される。時刻Ｔ２から次に表示すべき画像が生成される。今の場合には、文字Ｂの拡大画像７２が生成され、時刻Ｔ３から表示される。こうして、文字Ａの拡大画像７１が表示された時刻Ｔ１の２フレーム周期後に次の文字Ｂの拡大画像７２が表示される。同様にして、文字Ｂの拡大画像７２の表示後２フレーム周期経過した時刻Ｔ５において、文字Ｃの拡大画像７３が表示される。こうして画面の上での文字画像の変化速度が通常モードの１／２になる。
【０２３２】
以上から明らかなように、上記いくつかの実施の形態では、一連のフレーム画像の生成時に、フレーム画像の生成周期を変えずにそれらのフレーム画像のゲーム進行量をプレイヤの操作に応答して変更することにより高速モードが実現される。さらにフレーム画像の生成をスキップすることにより低速モードが実現される。これらにより通常のゲーム進行速度と異なる進行速度を、プレイヤの好むタイミングで、しかもプレイヤによる操作に即座に応答して実現できる。しかも、各フレーム画像の生成時間の値に依らずに種々のゲーム進行速度が実現できる。
【０２３３】
なお、本発明は以上に示した二つの実施の形態に限定されるものではなく、その要旨を逸脱しない範囲でこれらの実施の形態を適宣修正あるいは変更してもよいことは言うまでもない。
【０２３４】
たとえば、上記二つの実施の形態では、低速モードでは、画像生成が所定回数スキップされ、その後、一つのフレーム画像が生成されるという動作が繰り返された。しかし、スキップと生成の順序を逆にして、先に一つのフレーム画像を生成し、その後、画像生成を所定回数だけスキップするという動作を繰り返してもよい。
【０２３５】
低速モードを実現するために画像生成をスキップする方法では表示される画像の切り替え周期が増大するので、それだけ画像のちらつきが増大する。この方法に代えて画像の生成をスキップしないで、各画像のゲーム進行量を低下させる方法を採ることも可能である。
【０２３６】
たとえば、生成時間が２フレーム周期であるフレーム画像の場合、通常モードでそのフレーム画像を表示させたいときには、第２の実施の形態に関して述べたように、そのフレーム画像にゲームプログラムが想定するゲーム進行量の２倍のゲーム移動量を与えればよい。
【０２３７】
このようなフレーム画像が実現するゲーム進行速度を通常モード時の１／２にするには、各フレーム画像のゲーム進行量を通常モード時の半分の値にすれば、フレーム画像の生成周期は変更しなくて済む。すなわち、ゲーム進行量をプログラムが想定するゲーム進行量と同じにすればよい。
【０２３８】
このように、低速モードを画像生成をスキップしないで生成すべきフレーム画像のゲーム進行量を減らして実現するという方法は、生成時間が２フレーム周期と異なり、かつ、速度増大率が１／２と異なる場合にも適用できる。たとえば、生成時間が１フレーム周期であり、速度増大率が１／４の場合には、各フレーム画像のゲーム進行量を通常のゲーム進行量の１／４にすればよい。
【０２３９】
したがって、第１，第２の実施形態において、４倍速、２倍速に関して４倍、２倍にしたところを全て１／４倍、１／２倍に変更すれば、４倍速、２倍速を実現する方法と同じ方法を用いて１／４倍速、１／２倍速を実現できる。また、４倍速、２倍速に関する特徴、効果は１／４倍速、１／２倍速にも当てはまる。もちろん、１／４、１／２倍速以外の倍速についても同じである。
【０２４０】
以上での４倍速と２倍速の一方を省略してもよいことは言うまでもない。同様に、１／４倍速と１／２倍速の一方を省略してもよいこ。しかし、実施の形態のように、自動的に倍速を生成する画面に応じて変更することはプレイヤから見て望ましい。
【０２４１】
また、倍速の値を実施の形態での値と異ならしめてもよい。４倍速に代えてそれ以上の倍速たとえば５倍速を用いてもよい。同様に２倍速に代えてそれ以上の倍速たとえば３倍速を用いてもよい。
【０２４２】
同様に、１／４倍速に代えてそれ以下の倍速たとえば１／５倍速を用いてもよい。同様に、１／２倍速に代えてそれ以下の倍速たとえば１／３倍速を用いてもよい。
【０２４３】
また、上記実施の形態では低速でゲームを進行させる際に、ゲーム進行量デー夕を一定期間「０」にするようにしているが、別の手法でメイン処理を一定期間中断させてもよい。たとえば、図１０に示す低速モード設定処理では、ゲーム進行量データを操作せずに、テンポモードフラグ変更処理Ｓ３２０の処理を行い、その後一定回数の垂直同期信号が入力されるのを待つ。その間は、メイン処理はストップする。
【０２４４】
許容変更モードが１であれば、垂直同期信号が新たに１回発生するのを待ち、垂直同期信号が発生したらメイン処理のステップＳ１２７（図７）の処理を開始させる。また、許容変更モードが２であれば、垂直同期信号が新たに３回発生するのを待ち、３回目の垂直同期信号が発生したらメイン処理のステップＳ１２７（図７）の処理を開始させる。この場合、ステップＳ１２７とステップＳ１６１の処理は不要となる。
【０２４５】
このようにして、第１の実施の形態と同様に、プログラムが目的としていた速度よりも遅い速度で各オブジエクトを動作させることができる。
【０２４６】
以上の実施の形態では、許容変速モードビット９４の値がゲームプログラムが生成する画像の種類に応じて決定された。したがって、プレイヤが自分でゲーム画面の種類を判断することなく、自動的には適当な倍速が決定された。このことは、プレイヤにとって好都合である。
【０２４７】
許容変速モードビット９４のを他の方法により変えてもよい。たとえば、生成すべきフレーム画像が属するシーンによりその値を変えてもよい。あるいは、他の基準でその値を決めてもよい。たとえばフレーム画像に出現するキャラクタの数によりその値を決めてもよい。あるいはフレーム画像内のキャラクタの有無によりその値を決めてもよい。
【０２４８】
なお、場合によってはプレイヤに許容変速モードビットの値を指定させてもよい。その値をプレイヤが指定するためのキーを設けてもよい。さらに、許容変速モードビット９４を使用しないで、高速モードキーとして異なる倍速に対応した複数のキーを用意してもよい。
【０２４９】
実施の形態では各フレーム画像の生成時間をフレーム画像の生成中に発生する垂直同期信号の数を数えて計測した。しかし、コンピュータに備えられている他のクロック信号を使用することもできる。その場合、各フレーム画像の生成時間と１フレーム周期との比率を求める処理が一般に必要である。
【０２５０】
上記本発明の実施の形態で示したゲーム装置を構成するコンピュータにそこで使用したゲームプログラムの一部の機能を実行するための論理回路を設けてもよく、さらにそれに伴いそこで使用したゲームプログラムの機能の実行方法を変更するようにゲームプログラムを変更してもよい。
【０２５１】
上記本発明の実施の形態では、ゲーム装置とは別体に入力装置、表示装置が設けられていた。しかし、入力装置および表示装置の一方または両方がゲーム装置と一体に構成されていてもよい。さらに、ゲーム装置で使用される記録媒体は、ゲーム装置から着脱自在でなくて、ゲーム装置に固定的に組み込まれたものでもよい。
【０２５２】
本発明に係る記録媒体あるいは本発明に係るゲーム装置で使用される記録媒体は、ＣＤ−ＲＯＭに限定されるものではなく、コンピュータが読み取り可能な記録媒体であればよく、たとえばＤＶＤ、磁気的記録媒体、半導体メモリあるいは他の光学的記録媒体であってもよい。
【０２５３】
上記実施の形態では、家庭用ゲーム機をプラツトホームとして使用したが、本発明に係るゲーム装置を、パーソナルコンピュータなどの汎用コンピュータあるいはアーケードゲーム機をプラットホームとして実現してもよい。また、携帯電話、携帯情報端末、カーナビゲーション等の通信端末をプラットホームとして実現してもよい。
【０２５４】
【発明の効果】
本発明によれば、ビデオゲームを構成する複数のフレーム画像の生成時間がフレーム画像毎に変化しても、画面に表示されるビデオゲームのゲーム進行速度を、プレイヤの低速表示を指示する操作に応じて変更できる。
【図面の簡単な説明】
【図１】  本発明に係る、コンピュータ内臓のゲーム装置を使用したゲームシステムの概略図である。
【図２】  ゲームプログラムにより表示される一つのゲーム画像を模式的に示す図である。
【図３】  上記ゲーム装置におけるフレーム画像の生成と表示を説明するための概略的なタイムチャートである。
【図４】  ゲームプログラムにより表示される他のゲーム画像を模式的に示す図である。
【図５】  ゲームプログラムにより表示されるさらに他のゲーム画像を模式的に示す図である。
【図６】  上記ゲーム装置に含まれたコンピュータ内のＲＡＭのメモリマップの一例である。
【図７】  上記ゲーム装置で実行されるのに好適なゲームプログラムのメイン処理の概略フロー図である。
【図８】  メイン処理に含まれたゲーム進行量・音楽テンポ決定処理の概略フロー図である。
【図９】  ゲーム進行量・音楽テンポ決定処理内で実行される高速モード設定処理の概略フロー図である。
【図１０】  ゲーム進行量・音楽テンポ決定処理内で実行される低速モード設定処理の概略フロー図である。
【図１１】  メイン処理内で実行されるオブジェクト動作演算処理の概略フロー図である。
【図１２】  メイン処理によるいくつかのフレーム画像の生成と表示を説明するためのタイムチャートの一部である。
【図１３】  上記タイムチャートの他の部分である。
【図１４】  本発明が適用されるビデオゲームにおける音楽の演奏を説明するための楽譜の一例である。
【図１５】  図１の装置における音符の異なるモードでの発音時間を概念的に示す図である。
【図１６】  図１の装置におけるいくつかの音符の異なるモードでの発音時間を示す図である。
【図１７】  図１の装置における音楽再生処理の概略フロー図である。
【図１８】  メイン処理によるフレーム画像の生成時間が２フレーム周期である場合のいくつかのフレーム画像の生成と表示を説明するための概略的なタイムチャートである。
【図１９】  上記ゲーム装置における高速モードと低速モードで表示される画像の変化速度を例示するための概略的なタイムチャートである。
【符号の説明】
１        ゲームシステム
１０      ゲーム装置
２０      表示装置
３０      入力装置
４０      ＣＤ−ＲＯＭ
１１０    ネットワーク
１１１    通信回線
【図１】
0003795717.tif 000002
【図２】
0003795717.tif 000003
【図３】
0003795717.tif 000004
【図４】
0003795717.tif 000005
【図５】
0003795717.tif 000006
【図６】
0003795717.tif 000007
【図７】
0003795717.tif 000008
【図８】
0003795717.tif 000009
【図９】
0003795717.tif 000010
【図１０】
0003795717.tif 000011
【図１１】
0003795717.tif 000012
【図１２】
0003795717.tif 000013
【図１３】
0003795717.tif 000014
【図１４】
0003795717.tif 000015
【図１５】
0003795717.tif 000016
【図１６】
0003795717.tif 000017
【図１７】
0003795717.tif 000018
【図１８】
0003795717.tif 000019
【図１９】
0003795717.tif 000020