(57)【要約】【課題】リプレイ動画の画質の低減を可及的に抑えながら、長時間のリプレイ動画を表示させる。【解決手段】Ｓ１３の記憶領域確保状況判断処理によってバッファ領域にフレームデータを記憶するスペースに余裕があると判断されたとき、Ｓ２３のフレームデータ読出処理によってそのまま読み出されたバッファ領域に記憶されたフレームデータを基にして、ゲームキャラクタに関する動画データを生成してテレビジョンモニタ２０にリプレイ表示され、Ｓ１３の記憶領域確保状況判断処理によってバッファ領域にフレームデータを記憶するスペースに余裕がないとき、Ｓ１８のフレームデータ補完読出処理によって補完処理して読み出されたバッファ領域に記憶されたフレームデータを基にして、ゲームキャラクタに関する動画データを生成してテレビジョンモニタ２０にリプレイ表示される。【選択図】図１１
2008301913.tif 000002
【特許請求の範囲】
【請求項１】
ゲームキャラクタの動作を制御部によって記憶部に記憶させ、前記ゲームキャラクタの動作画面を前記制御部によってモニタにリプレイ表示させるゲームを実現可能なコンピュータに、
前記記憶部の所定の記憶領域において、所定のフレームにおける前記ゲームキャラクタに関するフレームデータを、前記制御部によって記憶可能に確保する制御を行う記憶領域確保機能と、
前記フレームデータを、所定の間隔毎に前記制御部によって前記所定の記憶領域に記憶する制御を行うフレームデータ記憶機能と、
前記フレームデータ記憶機能によって前記フレームデータを記憶する制御が行われた前記所定の記憶領域に、前記フレームデータをさらに記憶可能な領域が確保されているか否かを前記制御部によって判断する制御を行う記憶領域確保状況判断機能と、
前記記憶領域確保状況判断機能によって前記所定の記憶領域に前記フレームデータをさらに記憶可能な領域が確保されていないと判断されたとき、前記フレームデータ記憶機能によって前記フレームデータを記憶する制御が行われた前記所定の記憶領域の特定の一部分である記憶領域に、前記制御部によって前記フレームデータの特定の一部分であるフレームデータを上書きし記憶する制御を行うフレームデータ上書機能と、
前記記憶領域確保状況判断機能によって前記所定の記憶領域に前記フレームデータをさらに記憶可能な領域が確保されていると判断されたとき、前記フレームデータ記憶機能によって記憶された前記フレームデータを前記制御部によって読み出す制御を行うフレームデータ読出機能と、
前記記憶領域確保状況判断機能によって前記所定の記憶領域に前記フレームデータをさらに記憶可能な領域が確保されていないと判断されたとき、前記フレームデータ記憶機能及び前記フレームデータ上書機能によって記憶された前記フレームデータを補完処理して得られたフレームデータを前記制御部によって前記フレームデータとして読み出す制御を行うフレームデータ補完読出機能と、
前記フレームデータ読出機能または前記フレームデータ補完読出機能によって読み出された前記フレームデータを基にして、前記制御部によって前記ゲームキャラクタに関する動画データを生成し前記モニタにリプレイ表示する制御を行う動画リプレイ表示機能と、
を実現させるためのゲームプログラム。
【請求項２】
前記コンピュータに、
前記フレームデータ記憶機能または前記フレームデータ上書機能において、前記所定の記憶領域の終端部分である記憶領域に、前記制御部によって前記フレームデータ読出機能または前記フレームデータ補完読出機能において前記フレームデータを読み出すときに読み出しを停止するための命令である読出停止命令データを書き込みし記憶する読出停止命令データ書込機能、
をさらに実現させるための、請求項１に記載のゲームプログラム。
【請求項３】
前記記憶領域確保機能は、前記記憶部の所定の領域において所定のｍ個の区画に分割して設けられた第１記憶領域〜第ｍ記憶領域に、前記フレームデータを、前記制御部によって記憶可能に確保する制御を行う機能であり、
前記フレームデータ記憶機能は、所定の第１フレーム〜第ｎフレームにおける前記フレームデータである第１フレームデータ〜第ｎフレームデータと、前記第１フレームデータ〜前記第ｎフレームデータを読み出す順番を指定する前記フレームデータである第１読出順番データ〜第ｎ読出順番データと、前記第１フレームデータ〜前記第ｎフレームデータを上書きする順番を指定する前記フレームデータである第１上書順番データ〜第ｎ上書順番データとを、前記制御部によって前記第１記憶領域〜前記第ｎ記憶領域にそれぞれ記憶する制御を行う機能であり、
前記記憶領域確保状況判断機能は、前記フレームデータの個数である所定のｎが前記記憶領域の個数である所定のｍより大きいか否かを判断する制御を行う機能であり、
前記フレームデータ上書機能は、前記記憶領域確保状況判断機能によって前記フレームデータの個数である所定のｎが前記記憶領域の個数である所定のｍより大きいと判断する制御が行われたとき、第（ｍ＋１）フレームデータ、第（ｍ＋１）読出順番データ及び第（ｍ＋１）上書順番データを、前記制御部によって前記第ｍ上書順番データに対応する前記第１記憶領域〜前記第ｍ記憶領域に含まれる第ｌ記憶領域に上書きし記憶する制御を行い、さらに第（ｌ−１）記憶領域に記憶された第（ｌ−１）読出順番データ及び第（ｌ−１）上書順番データに、前記第ｌ記憶領域に記憶された第ｌ読出順番データ及び第ｌ上書順番データを和算処理して上書きし記憶する機能であり、
前記フレームデータ読出機能は、前記記憶領域確保状況判断機能によって前記フレームデータの個数である所定のｎが前記記憶領域の個数である所定のｍより小さいと判断する制御が行われたとき、前記フレームデータ記憶機能によって記憶された前記第１フレームデータ〜前記第ｎフレームデータを前記制御部によってそのまま読み出す制御を行う機能であり、
前記フレームデータ補完読出機能は、前記フレームデータ記憶機能及び前記フレームデータ上書機能によって記憶された前記第１フレームデータ〜前記第ｎフレームデータを第（ｎ−ｋ）読出順番データに対応する領域順に繰り返し読み出す機能であって、前記第（ｎ−ｋ）読出順番データに対応する領域が前記第ｎ記憶領域であるとき前記第ｎフレームデータを前記制御部によってそのまま読み出す制御を行い、前記第（ｎ−ｋ）読出順番データに対応する領域が前記第（ｎ＋ｊ）記憶領域であるとき前記第（ｎ−ｋ）フレームデータと前記第（ｎ＋ｊ）フレームデータとを補完処理して得られたフレームデータを前記制御部によって前記第ｎフレームデータとして読み出す制御を行う機能である、請求項１又は２に記載のゲームプログラム。
【請求項４】
前記フレームデータ補完読出機能は、前記第（ｎ−ｋ）読出順番データがｈ［ｈ＝１、２、・・・］であり、前記第（ｎ−ｋ）読出順番データを基準として増加した読出順番データがｉ［ｉ＝１、２、・・・］であり、前記第（ｎ−ｉ）読出順番データに対応する領域が前記第（ｎ＋ｊ）記憶領域［ｊ＝ｈ−ｉ、ｎ＋ｊ＝ｎ＋ｈ−ｉ］であるとき、前記第（ｎ−ｉ）フレームデータに（１−ｄ）を乗算処理［ｄ＝（ｉ／ｈ）、１−ｄ＝１−（ｉ／ｈ）］して得られたデータと、前記第（ｎ＋ｊ）フレームデータにｄを乗算処理［ｄ＝（ｉ／ｈ）］して得られたデータとを和算処理して得られたフレームデータを前記制御部によって前記第ｎフレームデータとして読み出す制御を行う機能である、請求項３に記載のゲームプログラム。
【請求項５】
前記第ｎフレームデータは、所定の前記第ｎフレームにおける前記ゲームキャラクタの位置データである第ｎ位置データ、所定の前記第ｎフレームにおける前記ゲームキャラクタの角度データである第ｎ角度データである、請求項３又は４に記載のゲームプログラム。
【請求項６】
前記第ｎフレームデータは、所定の前記第ｎフレームにおける前記第ｎ位置データの実座標データ、所定の前記第ｎフレームにおける前記第ｎ角度データの実角度データである、請求項５に記載のゲームプログラム。
【請求項７】
前記第ｎフレームデータは、所定の前記第ｎフレームにおける前記第ｎ位置データの特定の基準位置データに対する差分座標データ、所定の前記第ｎフレームにおける前記第ｎ角度データの特定の基準角度データに対する差分角度データである、請求項５に記載のゲームプログラム。
【請求項８】
ゲームキャラクタの動作を制御部によって記憶部に記憶させ、前記ゲームキャラクタの動作画面を前記制御部によってモニタにリプレイ表示させるゲームを実行可能なゲーム装置であって、
前記記憶部の所定の記憶領域において、所定のフレームにおける前記ゲームキャラクタに関するフレームデータを、前記制御部によって記憶可能に確保する制御を行う記憶領域確保手段と、
前記フレームデータを、所定の間隔毎に前記制御部によって前記所定の記憶領域に記憶する制御を行うフレームデータ記憶手段と、
前記フレームデータ記憶手段によって前記フレームデータを記憶する制御が行われた前記所定の記憶領域に、前記フレームデータをさらに記憶可能な領域が確保されているか否かを前記制御部によって判断する制御を行う記憶領域確保状況判断手段と、
前記記憶領域確保状況判断手段によって前記所定の記憶領域に前記フレームデータをさらに記憶可能な領域が確保されていないと判断されたとき、前記フレームデータ記憶手段によって前記フレームデータを記憶する制御が行われた前記所定の記憶領域の特定の一部分である記憶領域に、前記制御部によって前記フレームデータの特定の一部分であるフレームデータを上書きし記憶する制御を行うフレームデータ上書手段と、
前記記憶領域確保状況判断手段によって前記所定の記憶領域に前記フレームデータをさらに記憶可能な領域が確保されていると判断されたとき、前記フレームデータ記憶手段によって記憶された前記フレームデータを前記制御部によって読み出す制御を行うフレームデータ読出手段と、
前記記憶領域確保状況判断手段によって前記所定の記憶領域に前記フレームデータをさらに記憶可能な領域が確保されていないと判断されたとき、前記フレームデータ記憶手段及び前記フレームデータ上書手段によって記憶された前記フレームデータを補完処理して得られたフレームデータを前記制御部によって前記フレームデータとして読み出す制御を行うフレームデータ補完読出手段と、
前記フレームデータ読出手段または前記フレームデータ補完読出手段によって読み出された前記フレームデータを基にして、前記制御部によって前記ゲームキャラクタに関する動画データを生成し前記モニタにリプレイ表示する制御を行う動画リプレイ表示手段と、
を備えるゲーム装置。
【請求項９】
ゲームキャラクタの動作を制御部によって記憶部に記憶させ、前記ゲームキャラクタの動作画面を前記制御部によってモニタにリプレイ表示させるゲームをコンピュータにより制御するゲーム制御方法であって、
前記記憶部の所定の記憶領域において、所定のフレームにおける前記ゲームキャラクタに関するフレームデータを、前記制御部によって記憶可能に確保する制御を行う記憶領域確保ステップと、
前記フレームデータを、所定の間隔毎に前記制御部によって前記所定の記憶領域に記憶する制御を行うフレームデータ記憶ステップと、
前記フレームデータ記憶ステップによって前記フレームデータを記憶する制御が行われた前記所定の記憶領域に、前記フレームデータをさらに記憶可能な領域が確保されているか否かを前記制御部によって判断する制御を行う記憶領域確保状況判断ステップと、
前記記憶領域確保状況判断ステップによって前記所定の記憶領域に前記フレームデータをさらに記憶可能な領域が確保されていないと判断されたとき、前記フレームデータ記憶ステップによって前記フレームデータを記憶する制御が行われた前記所定の記憶領域の特定の一部分である記憶領域に、前記制御部によって前記フレームデータの特定の一部分であるフレームデータを上書きし記憶する制御を行うフレームデータ上書ステップと、
前記記憶領域確保状況判断ステップによって前記所定の記憶領域に前記フレームデータをさらに記憶可能な領域が確保されていると判断されたとき、前記フレームデータ記憶ステップによって記憶された前記フレームデータを前記制御部によって読み出す制御を行うフレームデータ読出ステップと、
前記記憶領域確保状況判断ステップによって前記所定の記憶領域に前記フレームデータをさらに記憶可能な領域が確保されていないと判断されたとき、前記フレームデータ記憶ステップ及び前記フレームデータ上書ステップによって記憶された前記フレームデータを補完処理して得られたフレームデータを前記制御部によって前記フレームデータとして読み出す制御を行うフレームデータ補完読出ステップと、
前記フレームデータ読出ステップまたは前記フレームデータ補完読出ステップによって読み出された前記フレームデータを基にして、前記制御部によって前記ゲームキャラクタに関する動画データを生成し前記モニタにリプレイ表示する制御を行う動画リプレイ表示ステップと、
を備えるゲーム制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ゲームプログラム、特に、ゲームキャラクタの動作画面を制御部によってモニタにリプレイ表示させるゲームをコンピュータに実現させるためのゲームプログラムに関する。また、このゲームプログラムによって実行されるゲーム装置及びゲーム制御方法に関する。
【背景技術】
【０００２】
従来から種々のゲームが提案されている。そのうちの１つとして、モニタに表示された選手キャラクタを動作させて競技を行わせる対戦ビデオゲーム、たとえば野球ゲームが知られている。この種の野球ゲームでは、プレイヤが各選手キャラクタが属する１つの野球チームを選択し、他の野球チームを選択したコンピュータと対戦可能である（たとえば、非特許文献１）。
【０００３】
このような野球ゲームでは、攻撃側のチームと守備側のチームとが攻守交替を行うイニングの合間に、たとえば直前のイニングにおいて打者キャラクタが投手キャラクタからホームランを打ったり、投手キャラクタが打者キャラクタから三振を奪ったというような直前のイニングにおけるハイライト場面の動画をリプレイ表示させるようにしている。具体的には、打者キャラクタがホームランを打ったときは、投手キャラクタがボールオブジェクトを投球してから、打者キャラクタが打撃したボールオブジェクトがスタンドに入り、ホームランを打った打者キャラクタが走りながらガッツポーズをするまでの様子の動画がリプレイ表示されるようになっている。また、投手キャラクタが打者キャラクタから三振を奪ったときは、投手キャラクタがボールオブジェクトを投球してから、たとえば打者キャラクタが空振り三振するまでの様子の動画がリプレイ表示されるようになっている。このようなリプレイ動画は、ハイライト場面の内容によってリプレイ表示される総時間が異なっており、たとえば打者キャラクタが投手キャラクタからホームランを打ったときのリプレイ動画の総時間が１５秒であるのに対して、投手キャラクタが打者キャラクタから三振を奪ったときのリプレイ動画の総時間が１０秒であるというように、打者キャラクタが投手キャラクタからホームランを打ったときのリプレイ動画の総時間が、投手キャラクタが打者キャラクタから三振を奪ったときのリプレイ動画の総時間に比して大きくなっている。
【０００４】
このように、ハイライト場面の内容によってリプレイ表示される総時間が異なっていることは、すなわちハイライト場面の内容に応じてリプレイ動画の総フレーム数が異なっていることと同義である。たとえば、秒間６０フレーム（６０ｆｐｓ、６０ｆｒａｍｅ  ｐｅｒ  ｓｅｃｏｎｄ）で画像表示処理を行っているときには、打者キャラクタが投手キャラクタからホームランを打ったときのリプレイ動画の総フレーム数が９００フレーム（１５秒＊６０ｆｐｓ）であるのに対して、投手キャラクタが打者キャラクタから三振を奪ったときのリプレイ動画の総フレーム数が６００フレーム（１０秒＊６０ｆｐｓ）であるというように、打者キャラクタが投手キャラクタからホームランを打ったときのリプレイ動画の総フレーム数が、投手キャラクタが打者キャラクタから三振を奪ったときのリプレイ動画の総フレーム数に比して大きくなっている。
【０００５】
また、このようなリプレイ動画を表示するゲームでは、リプレイ動画を生成するリプレイデータを記憶するバッファ領域が設けられており、たとえば、１フレーム毎に１個のバッファ領域に各選手キャラクタの位置データ、角度データ等からなるリプレイデータが記憶されるようになっている。たとえば、バッファ領域の総量が、３００個である場合には、１フレーム毎に１個（リプレイデータが１個であるのではなく、１フレームに対応する複数の各選手キャラクタの位置データ、角度データ等からなるリプレイデータをまとめて１個であるとする）のバッファ領域を読み出す（１割り込みする）場合には、表示可能なリプレイ動画の総フレーム数が３００フレームとなっており、このため、総時間が５秒以下のリプレイ動画しか表示させることができないようになっている。そこで、１フレーム毎に１個のバッファ領域を読み出すのではなく、３フレーム毎に１個のバッファ領域を読み出す（３割り込みする）ことによって、たとえばリプレイ動画の総フレーム数が９００フレーム（リプレイ動画の総時間が１５秒）である場合には、実施に読み込むバッファ領域が３００個（９００／３）で済むことになり、この結果、総時間が１５秒以下のリプレイ動画を表示させることができる。
【０００６】
しかし、ハイライト場面の内容によっては、リプレイ表示される総時間が１５秒（総フレーム数が９００フレーム）を超えてしまうことがある。たとえば、リプレイ表示される総時間が２０秒（総フレーム数が１２００フレーム）である場合には、バッファ領域の総量である３００個（９００フレーム）を超えてしまい、長時間のリプレイ動画を表示することが困難である。そこで、リプレイ動画を生成するリプレイデータの一部分を削減することによって、大きなリプレイデータを圧縮し、リプレイデータを記憶するバッファ領域の記憶容量を節約したものが知られている（たとえば、特許文献１）。
【０００７】
具体的には、リプレイ表示される総時間が２０秒（総フレーム数が１２００フレーム）である場合には、通常では、総フレーム数が１２００フレーム分のリプレイデータを記憶するのに４００個のバッファ領域が必要であるが、リプレイデータを３／４に圧縮して、３００個のバッファ領域に総フレーム数が１２００フレーム分のリプレイデータを記憶することで、２０秒（総フレーム数が１２００フレーム）のリプレイ動画を表示させることができる。ここでは、総フレーム数が大きなリプレイ動画であっても、リプレイデータを圧縮することによって、リプレイデータの総量を減少させながらリプレイ動画の総フレーム数を維持することができるので、長時間のリプレイ動画を表示させることができる。
【非特許文献１】実況パワフルプロ野球１３公式ガイドコンプリートエディション、日本、株式会社コナミデジタルエンタテインメント、２００６年８月３１日
【特許文献１】特許第３４３１５３４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
前記従来のリプレイ動画を表示するゲームでは、リプレイデータを圧縮することによって、リプレイデータの総量を減少させながら、長時間のリプレイ動画を表示させることができる。しかし、たとえば、１０秒（総フレーム数が６００フレーム）のリプレイ動画を表示させるときには、３フレーム毎に１個のバッファ領域を読み出す（３割り込みする）場合、実施に読み込むバッファ領域が２００個（６００／３）で済むことになるが、この場合においてもリプレイデータの圧縮が行われるために、リプレイデータが３／４に圧縮され、１５０個のバッファ領域に総フレーム数が６００フレーム分のリプレイデータが記憶されてしまうことになる。このため、リプレイデータの圧縮が行われなければ、２００個のバッファ領域に総フレーム数が６００フレーム分のリプレイデータが記憶されるのに対して、ここでは、１５０個のバッファ領域に総フレーム数が６００フレーム分のリプレイデータが記憶されてしまうので、１５０個のバッファ領域を使用した総バッファ領域（３００個）の残り（１５０個）に余裕があるにも関わらず、リプレイ動画の画質が３／４に低減してしまうといった不都合が生じることがある。
【０００９】
本発明の課題は、リプレイ動画を表示するゲームプログラムにおいて、リプレイ動画の画質の低減を可及的に抑えながら、長時間のリプレイ動画を表示させることにある。
【課題を解決するための手段】
【００１０】
請求項１に係るゲームプログラムは、ゲームキャラクタの動作を制御部によって記憶部に記憶させ、ゲームキャラクタの動作画面を制御部によってモニタにリプレイ表示させるゲームを実現可能なコンピュータに、以下の機能を実現させるためのプログラムである。
【００１１】
（１）記憶部の所定の記憶領域において、所定のフレームにおけるゲームキャラクタに関するフレームデータを、制御部によって記憶可能に確保する制御を行う記憶領域確保機能。
【００１２】
（２）フレームデータを、所定の間隔毎に制御部によって所定の記憶領域に記憶する制御を行うフレームデータ記憶機能。
【００１３】
（３）フレームデータ記憶機能によってフレームデータを記憶する制御が行われた所定の記憶領域に、フレームデータをさらに記憶可能な領域が確保されているか否かを制御部によって判断する制御を行う記憶領域確保状況判断機能。
【００１４】
（４）記憶領域確保状況判断機能によって所定の記憶領域にフレームデータをさらに記憶可能な領域が確保されていないと判断されたとき、フレームデータ記憶機能によってフレームデータを記憶する制御が行われた所定の記憶領域の特定の一部分である記憶領域に、制御部によってフレームデータの特定の一部分であるフレームデータを上書きし記憶する制御を行うフレームデータ上書機能。
【００１５】
（５）記憶領域確保状況判断機能によって所定の記憶領域にフレームデータをさらに記憶可能な領域が確保されていると判断されたとき、フレームデータ記憶機能によって記憶されたフレームデータを制御部によって読み出す制御を行うフレームデータ読出機能。
【００１６】
（６）記憶領域確保状況判断機能によって所定の記憶領域にフレームデータをさらに記憶可能な領域が確保されていないと判断されたとき、フレームデータ記憶機能及びフレームデータ上書機能によって記憶されたフレームデータを補完処理して得られたフレームデータを制御部によってフレームデータとして読み出す制御を行うフレームデータ補完読出機能。
【００１７】
（７）フレームデータ読出機能またはフレームデータ補完読出機能によって読み出されたフレームデータを基にして、制御部によってゲームキャラクタに関する動画データを生成し前記モニタにリプレイ表示する制御を行う動画リプレイ表示機能。
【００１８】
このプログラムによって実現されるゲームでは、記憶領域確保機能において、記憶部の所定の記憶領域において、所定のフレームにおけるゲームキャラクタに関するフレームデータを、制御部によって記憶可能に確保する制御が行われる。フレームデータ記憶機能において、フレームデータを、所定の間隔毎に制御部によって所定の記憶領域に記憶する制御が行われる。記憶領域確保状況判断機能において、フレームデータ記憶機能によってフレームデータを記憶する制御が行われた所定の記憶領域に、フレームデータをさらに記憶可能な領域が確保されているか否かを制御部によって判断する制御が行われる。フレームデータ上書機能において、記憶領域確保状況判断機能によって所定の記憶領域にフレームデータをさらに記憶可能な領域が確保されていないと判断されたとき、フレームデータ記憶機能によってフレームデータを記憶する制御が行われた所定の記憶領域の特定の一部分である記憶領域に、制御部によってフレームデータの特定の一部分であるフレームデータを上書きし記憶する制御が行われる。フレームデータ読出機能において、記憶領域確保状況判断機能によって所定の記憶領域にフレームデータをさらに記憶可能な領域が確保されていると判断されたとき、フレームデータ記憶機能によって記憶されたフレームデータを制御部によって読み出す制御が行われる。フレームデータ補完読出機能において、記憶領域確保状況判断機能によって所定の記憶領域にフレームデータをさらに記憶可能な領域が確保されていないと判断されたとき、フレームデータ記憶機能及びフレームデータ上書機能によって記憶されたフレームデータを補完処理して得られたフレームデータを制御部によってフレームデータとして読み出す制御が行われる。動画リプレイ表示機能において、フレームデータ読出機能またはフレームデータ補完読出機能によって読み出されたフレームデータを基にして、制御部によってゲームキャラクタに関する動画データを生成しモニタにリプレイ表示する制御が行われる。
【００１９】
たとえば、選手キャラクタを動作させる野球ゲームを実現させる場合を考える。
【００２０】
ここでは、まず、記憶領域確保機能によって、記憶部の所定の記憶領域において、所定のフレームにおけるゲームキャラクタに関するフレームデータを、制御部によって記憶可能に確保する制御が行われる。記憶領域確保機能では、記憶部の所定の記憶領域において、所定のフレームにおけるゲームキャラクタに関するフレームデータを、制御部によって記憶可能に確保する制御を行う。ここで、ゲームキャラクタに関するフレームデータとは、リプレイ動画を生成するために必要な各選手キャラクタの位置データ、角度データ等からなるリプレイデータであって、後述する位置データ、角度データ、上書順番データ、読出順番データ、読出停止命令データを含む数値データである。１フレーム毎に１個（フレームデータが１個であるのではなく、１フレームに対応する複数の各選手キャラクタの位置データ、角度データ等からなるフレームデータをまとめて１個であるとする）のフレームデータを所定のフレームの数だけ複数個有するものである。また、記憶部の所定の記憶領域とは、リプレイ動画を生成するフレームデータを記憶するバッファ領域であって、１フレーム毎に１個のフレームデータを記憶可能な複数の領域（ｎ個の場合、後述する第１記憶領域〜第ｎ記憶領域）に区切られたバッファ領域である。また、フレームデータを記憶可能に確保するとは、記憶領域のすべてのデータをクリア（初期化）することであって、バッファ領域の複数の領域のフレームデータがすべてリセットされ、フレームデータが１個も記憶されていない初期状態にすることである。記憶領域確保機能では、記憶部の所定の記憶領域において、所定のフレームにおけるゲームキャラクタに関するフレームデータが記憶可能に確保される。
【００２１】
次に、フレームデータ記憶機能によって、フレームデータを、所定の間隔毎に制御部によって所定の記憶領域に記憶する制御が行われる。フレームデータ記憶機能では、フレームデータを、所定の間隔毎に制御部によって所定の記憶領域に記憶する制御を行う。ここで、所定の間隔毎に記憶するとは、たとえば１フレーム毎に１個のバッファ領域にフレームデータをバッファ領域の総量を最大として上から順番に連続して隙間なく第１記憶領域〜第ｎ記憶領域まで記憶する（１順目の書き込みをする）ことであり、後述する上書き記憶する（２順目以降の書き込みをする）ことと異にしており、たとえば、秒間６０フレーム（６０ｆｐｓ、６０ｆｒａｍｅ  ｐｅｒ  ｓｅｃｏｎｄ）で画像表示処理を行っているとき、バッファ領域の総量が、９００個であり、１フレーム毎（＝１／６０秒毎）に１割り込みするときには、たとえば１０秒（６００フレーム）のリプレイ動画の場合、９００個のバッファ領域のうち第１記憶領域〜第６００記憶領域のバッファ領域に６００個のフレームデータが１フレーム毎に記憶される。また、１５秒（９００フレーム）のリプレイ動画の場合、９００個のバッファ領域のうち第１記憶領域〜第９００記憶領域のバッファ領域に９００個のフレームデータが１フレーム毎に記憶される。また、２０秒（１２００フレーム）のリプレイ動画の場合、９００個の第１記憶領域〜第９００記憶領域のバッファ領域に１２００個のフレームデータのうち９００個のフレームデータが１順目の書き込みとして１フレーム毎に記憶される。フレームデータ記憶機能では、フレームデータが所定の間隔毎に所定の記憶領域に記憶される。
【００２２】
次に、記憶領域確保状況判断機能によって、フレームデータ記憶機能によってフレームデータを記憶する制御が行われた所定の記憶領域に、フレームデータをさらに記憶可能な領域が確保されているか否かを制御部によって判断する制御が行われる。記憶領域確保状況判断機能では、フレームデータ記憶機能によってフレームデータを記憶する制御が行われた所定の記憶領域に、フレームデータをさらに記憶可能な領域が確保されているか否かを制御部によって判断する制御を行う。記憶領域確保状況判断機能では、フレームデータの総量と記憶されたフレームデータとを比較することにより、バッファ領域にフレームデータを記憶するスペースに余裕があるか、バッファ領域にフレームデータを記憶するスペースがないかを判断する処理が行われる。具体的には、バッファ領域の総量が、９００個であるときには、たとえば１０秒（６００フレーム）のリプレイ動画の場合、９００個のバッファ領域のうち第１記憶領域〜第６００記憶領域のバッファ領域に６００個のフレームデータが記憶されているので、第６０１記憶領域〜第９００記憶領域のバッファ領域に３００個のフレームデータを記憶可能であるために、バッファ領域にフレームデータを記憶するスペースに余裕があると判断される。また、たとえば１５秒（９００フレーム）のリプレイ動画の場合、９００個のバッファ領域のうち第１記憶領域〜第９００記憶領域のバッファ領域に９００個のフレームデータが記憶されているので、フレームデータの総量（９００個）とバッファ領域の総量（９００個）とが一致するために、バッファ領域にフレームデータを記憶するスペースに余裕がないと判断される。また、たとえば２０秒（１２００フレーム）のリプレイ動画の場合、９００個のバッファ領域のうち第１記憶領域〜第９００記憶領域のバッファ領域に９００個のフレームデータが記憶されているので、フレームデータの総量（１２００個）がバッファ領域の総量（９００個）を超えているために、バッファ領域にフレームデータを記憶するスペースに余裕がないと判断される。記憶領域確保状況判断機能では、バッファ領域にフレームデータを記憶するスペースに余裕があるか、バッファ領域にフレームデータを記憶するスペースがないかが判断される。
【００２３】
次に、フレームデータ上書機能によって、記憶領域確保状況判断機能によって所定の記憶領域にフレームデータをさらに記憶可能な領域が確保されていないと判断されたとき、フレームデータ記憶機能によってフレームデータを記憶する制御が行われた所定の記憶領域の特定の一部分である記憶領域に、制御部によってフレームデータの特定の一部分であるフレームデータを上書きし記憶する制御が行われる。フレームデータ上書機能では、記憶領域確保状況判断機能によって所定の記憶領域にフレームデータをさらに記憶可能な領域が確保されていないと判断されたとき、フレームデータ記憶機能によってフレームデータを記憶する制御が行われた所定の記憶領域の特定の一部分である記憶領域に、制御部によってフレームデータの特定の一部分であるフレームデータを上書きし記憶する制御を行う。ここでは、記憶領域確保状況判断機能によって所定の記憶領域にフレームデータをさらに記憶可能な領域が確保されていないと判断されたとき、すなわち、バッファ領域にフレームデータを記憶するスペースに余裕がないと判断されたときであって、具体的には、たとえば、バッファ領域の総量が、９００個であり、２０秒（１２００フレーム＝第１フレームデータ〜第１２００フレームデータの１２００個のフレームデータ）のリプレイ動画の場合、９００個の第１記憶領域〜第９００記憶領域のバッファ領域に第１フレームデータ〜第９００フレームデータの９００個のフレームデータが記憶され、フレームデータの総量（１２００個）がバッファ領域の総量（９００個）を超えているときである。ここでは、残りの第９０１フレームデータ〜第１２００フレームデータの３００個のフレームデータが、９００個の第１記憶領域〜第９００記憶領域のバッファ領域のうち特定の一部分である記憶領域に上書き記憶される。ここで、フレームデータ上書機能における上書き記憶は、２順目以降の書き込みをすることを意味しており、フレームデータ記憶機能における記憶が１順目の書き込みをすることを意味していることと異なっている。また、９００個の第１記憶領域〜第９００記憶領域のバッファ領域のうち特定の一部分である記憶領域とは、たとえば９００個の第１記憶領域〜第９００記憶領域のバッファ領域のうち、２２５個の第４記憶領域、第８記憶領域〜第９００記憶領域のバッファ領域のように、特定の間隔（たとえば開始位置を４個目として４個おき毎）をあけて各領域が離反した部分のバッファ領域であって、２２５個の第４記憶領域、第８記憶領域〜第９００記憶領域のバッファ領域に、２２５個の第９０１フレームデータ〜第１１２５フレームデータが２順目の書き込みとして１フレーム毎に上書き記憶される。ここでは、残りの７５個（＝３００個−２２５個）の第１１２６フレームデータ〜第１２００フレームデータは、さらに、２２５個の第２記憶領域、第６記憶領域〜第８９８記憶領域のバッファ領域のうちの７５個の第２記憶領域、第６記憶領域〜第２９８記憶領域のバッファ領域のように、特定の間隔（たとえば開始位置を２個目として４個おき毎）をあけて各領域が離反した部分のバッファ領域に、３順目の書き込みとして１フレーム毎に上書き記憶される。フレームデータ上書機能では、記憶領域確保状況判断機能によって所定の記憶領域にフレームデータをさらに記憶可能な領域が確保されていないと判断されたとき、フレームデータ記憶機能によってフレームデータが記憶された所定の記憶領域の特定の一部分である記憶領域に、フレームデータの特定の一部分であるフレームデータが上書き記憶される。
【００２４】
次に、フレームデータ読出機能によって、記憶領域確保状況判断機能によって所定の記憶領域にフレームデータをさらに記憶可能な領域が確保されていると判断されたとき、フレームデータ記憶機能によって記憶されたフレームデータを制御部によって読み出す制御が行われる。フレームデータ読出機能では、記憶領域確保状況判断機能によって所定の記憶領域にフレームデータをさらに記憶可能な領域が確保されていると判断されたとき、フレームデータ記憶機能によって記憶されたフレームデータを制御部によって読み出す制御を行う。ここでは、記憶領域確保状況判断機能によって所定の記憶領域にフレームデータをさらに記憶可能な領域が確保されていると判断されたとき、すなわち、バッファ領域にフレームデータを記憶するスペースに余裕があると判断されたときであって、具体的には、たとえば、バッファ領域の総量が、９００個であり、１０秒（６００フレーム＝第１フレームデータ〜第６００フレームデータの６００個のフレームデータ）のリプレイ動画の場合、６００個の第１記憶領域〜第６００記憶領域のバッファ領域に第１フレームデータ〜第６００フレームデータの６００個のフレームデータが記憶され、フレームデータの総量（６００個）がバッファ領域の総量（９００個）以下のときである。フレームデータ読出機能では、６００個の第１記憶領域〜第６００記憶領域のバッファ領域に記憶された６００個の第１フレームデータ〜第６００フレームデータを変換することなくそのまま読み出す処理が行われる。
【００２５】
次に、フレームデータ補完読出機能によって、記憶領域確保状況判断機能によって所定の記憶領域にフレームデータをさらに記憶可能な領域が確保されていないと判断されたとき、フレームデータ記憶機能及びフレームデータ上書機能によって記憶されたフレームデータを補完処理して得られたフレームデータを制御部によってフレームデータとして読み出す制御が行われる。フレームデータ補完読出機能では、記憶領域確保状況判断機能によって所定の記憶領域にフレームデータをさらに記憶可能な領域が確保されていないと判断されたとき、フレームデータ記憶機能及びフレームデータ上書機能によって記憶されたフレームデータを補完処理して得られたフレームデータを制御部によってフレームデータとして読み出す制御を行う。ここでは、記憶領域確保状況判断機能によって所定の記憶領域にフレームデータをさらに記憶可能な領域が確保されていないと判断されたとき、すなわち、バッファ領域にフレームデータを記憶するスペースに余裕がないと判断されたときであって、具体的には、たとえば、バッファ領域の総量が、９００個であり、２０秒（１２００フレーム＝第１フレームデータ〜第１２００フレームデータの１２００個のフレームデータ）のリプレイ動画の場合、９００個の第１記憶領域〜第９００記憶領域のバッファ領域に第１フレームデータ〜第９００フレームデータの９００個のフレームデータが記憶され、フレームデータの総量（１２００個）がバッファ領域の総量（９００個）を超えているときである。フレームデータ補完読出機能では、９００個の第１記憶領域〜第９００記憶領域のバッファ領域に記憶された９００個の第１フレームデータ〜第１２００フレームデータ（１２００個のフレームデータのうち、第１フレームデータ〜第９００フレームデータの９００個のフレームデータが１順目の書き込みとして記憶され、次の２２５個の第９０１フレームデータ〜第１１２５フレームデータが２順目の書き込みとして上書き記憶され、さらに７５個の第１１２６フレームデータ〜第１２００フレームデータが３順目の書き込みとして上書き記憶されるため、全体として９００個のフレームデータが記憶される）を、補完処理して読み出す処理が行われる。ここで、フレームデータの補完処理とは、たとえば、特定の位置のフレームデータを基準となるフレームデータからの増分の比率と残りの比率とを読み込み先のフレームデータと基準となるフレームデータとにそれぞれ乗算したものを和算して算出する演算処理であって、本来１２００個分のフレームデータがあるのに対して現在９００個分のフレームデータしかないため残りの３００個分のフレームデータを補完する（より元のフレームデータに近い形で復元する）ための処理である。フレームデータ補完読出機能では、９００個の第１記憶領域〜第９００記憶領域のバッファ領域に記憶された９００個の第１フレームデータ〜第１２００フレームデータを補完処理して読み出す処理が行われる。
【００２６】
そして、動画リプレイ表示機能によって、フレームデータ読出機能またはフレームデータ補完読出機能によって読み出されたフレームデータを基にして、制御部によってゲームキャラクタに関する動画データを生成しモニタにリプレイ表示する制御が行われる。動画リプレイ表示機能では、フレームデータ読出機能またはフレームデータ補完読出機能によって読み出されたフレームデータを基にして、制御部によってゲームキャラクタに関する動画データを生成しモニタにリプレイ表示する制御を行う。ここでは、記憶領域確保状況判断機能によって所定の記憶領域にフレームデータをさらに記憶可能な領域が確保されていると判断されたとき、すなわち、バッファ領域にフレームデータを記憶するスペースに余裕があると判断されたとき、フレームデータ読出機能によってそのまま読み出された６００個の第１記憶領域〜第６００記憶領域のバッファ領域に記憶された６００個の第１フレームデータ〜第６００フレームデータを基にして、ゲームキャラクタに関する動画データを生成してモニタにリプレイ表示される。また、記憶領域確保状況判断機能によって所定の記憶領域にフレームデータをさらに記憶可能な領域が確保されていないと判断されたとき、すなわち、バッファ領域にフレームデータを記憶するスペースに余裕がないと判断されたとき、フレームデータ補完読出機能によって補完処理して読み出された９００個の第１記憶領域〜第９００記憶領域のバッファ領域に記憶された９００個の第１フレームデータ〜第１２００フレームデータを基にして、ゲームキャラクタに関する動画データを生成してモニタにリプレイ表示される。
【００２７】
このゲームプログラムでは、まず、記憶領域確保機能によって、記憶部の所定の記憶領域において、所定のフレームにおけるゲームキャラクタに関するフレームデータを、制御部によって記憶可能に確保する制御が行われる。次に、フレームデータ記憶機能によって、フレームデータを、所定の間隔毎に制御部によって所定の記憶領域に記憶する制御が行われる。次に、記憶領域確保状況判断機能によって、フレームデータ記憶機能によってフレームデータを記憶する制御が行われた所定の記憶領域に、フレームデータをさらに記憶可能な領域が確保されているか否かを制御部によって判断する制御が行われる。次に、フレームデータ上書機能によって、記憶領域確保状況判断機能によって所定の記憶領域にフレームデータをさらに記憶可能な領域が確保されていないと判断されたとき、フレームデータ記憶機能によってフレームデータを記憶する制御が行われた所定の記憶領域の特定の一部分である記憶領域に、制御部によってフレームデータの特定の一部分であるフレームデータを上書きし記憶する制御が行われる。次に、フレームデータ読出機能によって、記憶領域確保状況判断機能によって所定の記憶領域にフレームデータをさらに記憶可能な領域が確保されていると判断されたとき、フレームデータ記憶機能によって記憶されたフレームデータを制御部によって読み出す制御が行われる。次に、フレームデータ補完読出機能によって、記憶領域確保状況判断機能によって所定の記憶領域にフレームデータをさらに記憶可能な領域が確保されていないと判断されたとき、フレームデータ記憶機能及びフレームデータ上書機能によって記憶されたフレームデータを補完処理して得られたフレームデータを制御部によってフレームデータとして読み出す制御が行われる。そして、動画リプレイ表示機能によって、フレームデータ読出機能またはフレームデータ補完読出機能によって読み出されたフレームデータを基にして、制御部によってゲームキャラクタに関する動画データを生成しモニタにリプレイ表示する制御が行われる。
【００２８】
具体的には、フレームデータ記憶機能によって、たとえば、バッファ領域の総量が、９００個であり、１０秒（６００フレーム）のリプレイ動画の場合、９００個のバッファ領域のうち第１記憶領域〜第６００記憶領域のバッファ領域に６００個のフレームデータが記憶される。また、２０秒（１２００フレーム）のリプレイ動画の場合、９００個の第１記憶領域〜第９００記憶領域のバッファ領域に第１フレームデータ〜第９００フレームデータの９００個のフレームデータが記憶される。次に、記憶領域確保状況判断機能によって、フレームデータの総量と記憶されたフレームデータとを比較することにより、バッファ領域にフレームデータを記憶するスペースに余裕があるか、バッファ領域にフレームデータを記憶するスペースがないかを判断する処理が行われる。次に、フレームデータ上書機能によって、記憶領域確保状況判断機能によってバッファ領域にフレームデータを記憶するスペースに余裕がないと判断されたとき、２０秒（１２００フレーム＝第１フレームデータ〜第１２００フレームデータの１２００個のフレームデータ）のリプレイ動画の場合、９００個の第１記憶領域〜第９００記憶領域のバッファ領域に第１フレームデータ〜第９００フレームデータの９００個のフレームデータが記憶され、フレームデータの総量（１２００個）がバッファ領域の総量（９００個）を超えているとき、残りの第９０１フレームデータ〜第１２００フレームデータの３００個のフレームデータが、９００個の第１記憶領域〜第９００記憶領域のバッファ領域のうち特定の一部分である記憶領域に上書き記憶される。次に、フレームデータ読出機能によって、記憶領域確保状況判断機能によってバッファ領域にフレームデータを記憶するスペースに余裕があると判断されたとき、１０秒（６００フレーム＝第１フレームデータ〜第６００フレームデータの６００個のフレームデータ）のリプレイ動画の場合、６００個の第１記憶領域〜第６００記憶領域のバッファ領域に第１フレームデータ〜第６００フレームデータの６００個のフレームデータが記憶され、フレームデータの総量（６００個）がバッファ領域の総量（９００個）以下のとき、６００個の第１記憶領域〜第６００記憶領域のバッファ領域に記憶された６００個の第１フレームデータ〜第６００フレームデータを変換することなくそのまま読み出す処理が行われる。次に、フレームデータ補完読出機能によって、記憶領域確保状況判断機能によってバッファ領域にフレームデータを記憶するスペースに余裕がないと判断されたとき、２０秒（１２００フレーム＝第１フレームデータ〜第１２００フレームデータの１２００個のフレームデータ）のリプレイ動画の場合、９００個の第１記憶領域〜第９００記憶領域のバッファ領域に第１フレームデータ〜第９００フレームデータの９００個のフレームデータが記憶され、フレームデータの総量（１２００個）がバッファ領域の総量（９００個）を超えているとき、９００個の第１記憶領域〜第９００記憶領域のバッファ領域に記憶された９００個の第１フレームデータ〜第１２００フレームデータ（１２００個のフレームデータのうち、第１フレームデータ〜第９００フレームデータの９００個のフレームデータが１順目の書き込みとして記憶され、次の２２５個の第９０１フレームデータ〜第１１２５フレームデータが２順目の書き込みとして上書き記憶され、さらに７５個の第１１２６フレームデータ〜第１２００フレームデータが３順目の書き込みとして上書き記憶されるため、全体として９００個のフレームデータが記憶される）を、補完処理して読み出す処理が行われる。そして、動画リプレイ表示機能によって、バッファ領域にフレームデータを記憶するスペースに余裕があると判断されたとき、フレームデータ読出機能によってそのまま読み出された６００個の第１記憶領域〜第６００記憶領域のバッファ領域に記憶された６００個の第１フレームデータ〜第６００フレームデータを基にして、ゲームキャラクタに関する動画データを生成してモニタにリプレイ表示され、バッファ領域にフレームデータを記憶するスペースに余裕がないと判断されたとき、フレームデータ補完読出機能によって補完処理して読み出された９００個の第１記憶領域〜第９００記憶領域のバッファ領域に記憶された９００個の第１フレームデータ〜第１２００フレームデータを基にして、ゲームキャラクタに関する動画データを生成してモニタにリプレイ表示される。
【００２９】
従来のゲームプログラムでは、バッファ領域にフレームデータを記憶するスペースに余裕があるときでもフレームデータが圧縮されてリプレイ動画の画質が低減しているのに対して、請求項１に係るゲームプログラムでは、バッファ領域にフレームデータを記憶するスペースに余裕があると判断されたとき、フレームデータ読出機能によってそのまま読み出された６００個の第１記憶領域〜第６００記憶領域のバッファ領域に記憶された６００個の第１フレームデータ〜第６００フレームデータを基にして、ゲームキャラクタに関する動画データを生成してモニタにリプレイ表示されるようになっているので、従来の構成に比して、リプレイ動画の画質の低減を抑えることができる。しかも、バッファ領域にフレームデータを記憶するスペースに余裕がないときには、フレームデータ補完読出機能によって補完処理して読み出された９００個の第１記憶領域〜第９００記憶領域のバッファ領域に記憶された９００個の第１フレームデータ〜第１２００フレームデータを基にして、ゲームキャラクタに関する動画データを生成してモニタにリプレイ表示されるようになっているので、特に、従来の構成にはない、所定の記憶領域の特定の一部分である記憶領域にフレームデータの特定の一部分であるフレームデータを上書きし記憶するフレームデータ上書機能を有していることによって、従来の構成のように単純にフレームデータを圧縮する場合に比して、リプレイ動画の画質の低減をさらに抑えることができる。したがって、以上の構成によって、リプレイ動画の画質の低減を可及的に抑えながら、長時間のリプレイ動画を表示させることができる。
【００３０】
請求項２に係るゲームプログラムは、請求項１のゲームプログラムにおいて、コンピュータに、以下の機能をさらに実現させるためのプログラムである。
【００３１】
（８）フレームデータ記憶機能またはフレームデータ上書機能において、所定の記憶領域の終端部分である記憶領域に、制御部によってフレームデータ読出機能またはフレームデータ補完読出機能においてフレームデータを読み出すときに読み出しを停止するための命令である読出停止命令データを書き込みし記憶する読出停止命令データ書込機能。
【００３２】
このプログラムによって実現されるゲームでは、読出停止命令データ書込機能において、フレームデータ記憶機能またはフレームデータ上書機能において、所定の記憶領域の終端部分である記憶領域に、制御部によってフレームデータ読出機能またはフレームデータ補完読出機能においてフレームデータを読み出すときに読み出しを停止するための命令である読出停止命令データが書き込まれ記憶される。
【００３３】
ここでは、さらに、読出停止命令データ書込機能によって、フレームデータ記憶機能またはフレームデータ上書機能において、所定の記憶領域の終端部分である記憶領域に、制御部によってフレームデータ読出機能またはフレームデータ補完読出機能においてフレームデータを読み出すときに読み出しを停止するための命令である読出停止命令データが書き込まれ記憶される。読出停止命令データ書込機能では、フレームデータ記憶機能またはフレームデータ上書機能において、所定の記憶領域の終端部分である記憶領域に、制御部によってフレームデータ読出機能またはフレームデータ補完読出機能においてフレームデータを読み出すときに読み出しを停止するための命令である読出停止命令データを書き込みし記憶する。ここで、フレームデータの終端部分を意味する読出停止命令データ（エンドコード）とは、たとえば１０秒（６００フレーム）のリプレイ動画の場合、６００個目の第６００フレームデータ、２０秒（１２００フレーム）のリプレイ動画の場合、１２００個目の第１２００フレームデータであって、フレームデータの終端部分に読出停止命令データ（エンドコード、たとえば０等の数値データ）を書き込むことにより、フレームデータ読出機能またはフレームデータ補完読出機能においてフレームデータを読み出すときに読み出しを停止させることができる。
【００３４】
請求項３に係るゲームプログラムは、請求項１又は２のゲームプログラムにおいて、記憶領域確保機能は、記憶部の所定の領域において所定のｍ個の区画に分割して設けられた第１記憶領域〜第ｍ記憶領域に、フレームデータを、制御部によって記憶可能に確保する制御を行う機能である。フレームデータ記憶機能は、所定の第１フレーム〜第ｎフレームにおけるフレームデータである第１フレームデータ〜第ｎフレームデータと、第１フレームデータ〜第ｎフレームデータを読み出す順番を指定するフレームデータである第１読出順番データ〜第ｎ読出順番データと、第１フレームデータ〜第ｎフレームデータを上書きする順番を指定するフレームデータである第１上書順番データ〜第ｎ上書順番データとを、制御部によって第１記憶領域〜第ｎ記憶領域にそれぞれ記憶する制御を行う機能である。記憶領域確保状況判断機能は、フレームデータの個数である所定のｎが記憶領域の個数である所定のｍより大きいか否かを判断する制御を行う機能である。フレームデータ上書機能は、記憶領域確保状況判断機能によってフレームデータの個数である所定のｎが記憶領域の個数である所定のｍより大きいと判断する制御が行われたとき、第（ｍ＋１）フレームデータ、第（ｍ＋１）読出順番データ及び第（ｍ＋１）上書順番データを、制御部によって第ｍ上書順番データに対応する第１記憶領域〜第ｍ記憶領域に含まれる第ｌ記憶領域に上書きし記憶する制御を行い、さらに第（ｌ−１）記憶領域に記憶された第（ｌ−１）読出順番データ及び第（ｌ−１）上書順番データに、第ｌ記憶領域に記憶された第ｌ読出順番データ及び第ｌ上書順番データを和算処理して上書きし記憶する機能である。フレームデータ読出機能は、記憶領域確保状況判断機能によってフレームデータの個数である所定のｎが記憶領域の個数である所定のｍより小さいと判断する制御が行われたとき、フレームデータ記憶機能によって記憶された第１フレームデータ〜第ｎフレームデータを制御部によってそのまま読み出す制御を行う機能である。フレームデータ補完読出機能は、フレームデータ記憶機能及びフレームデータ上書機能によって記憶された第１フレームデータ〜第ｎフレームデータを第（ｎ−ｋ）読出順番データに対応する領域順に繰り返し読み出す機能であって、第（ｎ−ｋ）読出順番データに対応する領域が第ｎ記憶領域であるとき第ｎフレームデータを制御部によってそのまま読み出す制御を行い、第（ｎ−ｋ）読出順番データに対応する領域が第（ｎ＋ｊ）記憶領域であるとき第（ｎ−ｋ）フレームデータと第（ｎ＋ｊ）フレームデータとを補完処理して得られたフレームデータを制御部によって第ｎフレームデータとして読み出す制御を行う機能である。
【００３５】
具体的には、たとえば、バッファ領域の総量が、９００個であるとき、ｍ＝９００であって、記憶領域確保機能によって、記憶部の所定の領域において９００個の区画に分割して設けられた第１記憶領域〜第９００記憶領域に、フレームデータ（位置データ、角度データ）が、制御部によって記憶可能に確保される。次に、フレームデータ記憶機能によって、所定の第１フレーム〜第９００フレームにおけるフレームデータである第１フレームデータ〜第９００フレームデータ（位置データ、角度データの数値データ）と、第１フレームデータ〜第９００フレームデータを読み出す順番を指定するフレームデータである第１読出順番データ〜第９００読出順番データ（以下、タイマと呼称する、１、２、３・・・の整数となる数値データ）と、第１フレームデータ〜第９００フレームデータを上書きする順番を指定するフレームデータである第１上書順番データ〜第９００上書順番データ（以下、ステップとする、１、２、３・・・の整数、エンドコード＝０を含む数値データ）とが、第１記憶領域〜第９００記憶領域にそれぞれ記憶される。ここで、読出順番データとは、フレームデータ補完読出機能において、フレームデータをどの位置のバッファ領域から読み出すかを決定するためのタイマであって、整数値からなる数値データである。なお、読出順番データには、フレームデータ補完読出機能においてフレームデータを読み出すときに読み出しを停止するための命令である読出停止命令データ（エンドコード＝０）の数値データが含まれる概念である。また、上書順番データとは、フレームデータ上書機能において、フレームデータをどの位置のバッファ領域を上書き記憶するかを決定するためのステップであって、整数値からなる数値データである。次に、記憶領域確保状況判断機能によって、フレームデータの個数である所定のｎが記憶領域の個数である所定のｍより大きいか否かが判断される。具体的には、フレームデータの総量が、６００個であるとき、すなわち、１０秒（６００フレーム＝第１フレームデータ〜第６００フレームデータの６００個のフレームデータ）のリプレイ動画の場合、すなわち、ｍ＝９００、ｎ＝６００であるとき、記憶領域確保状況判断機能によってｎ＜ｍであると判断され、バッファ領域にフレームデータを記憶するスペースに余裕があると判断される。また、フレームデータの総量が、１２００個であるとき、すなわち、２０秒（１２００フレーム＝第１フレームデータ〜第１２００フレームデータの１２００個のフレームデータ）のリプレイ動画の場合、すなわち、ｍ＝９００、ｎ＝１２００であるとき、記憶領域確保状況判断機能によってｎ＞ｍであると判断され、バッファ領域にフレームデータを記憶するスペースに余裕がないと判断される。次に、フレームデータ上書機能によって、記憶領域確保状況判断機能によってフレームデータの個数である所定のｎが記憶領域の個数である所定のｍより大きいと判断する制御が行われたとき（ｎ＞ｍ、２順目の上書き処理に進むとき）、第（ｍ＋１）フレームデータ、第（ｍ＋１）読出順番データ（タイマ）及び第（ｍ＋１）上書順番データ（ステップ）が、第ｍ上書順番データ（１つ前のステップ）に対応する第１記憶領域〜第ｍ記憶領域に含まれる第ｌ記憶領域（２順目の上からｌ個目の領域）に上書き記憶され、さらに第（ｌ−１）記憶領域（第ｌ記憶領域の１つ前の２順目の上から（ｌ−１）個目の領域）に記憶された第（ｌ−１）読出順番データ（１つ前のタイマ）及び第（ｌ−１）上書順番データ（１つ前のステップ）に、第ｌ記憶領域に記憶された第ｌ読出順番データ及び第ｌ上書順番データが和算処理（１つ前のタイマと１つ前のステップとを和算処理）され上書き記憶される。ここで、第ｌ記憶領域とは、９００個の第１記憶領域〜第９００記憶領域のバッファ領域のうち特定の一部分である記憶領域の開始位置であって、たとえば開始位置を４個目とすると、ｌ＝４となるので、第（ｌ−１）記憶領域、第ｌ記憶領域は、それぞれ第３記憶領域、第４記憶領域となる。また、第（ｍ＋１）フレームデータとは、２順目以降のフレームデータであって、ｍ＝９００であるときは、第（ｍ＋１）フレームデータは、第９０１フレームデータとなり、このフレームデータが第ｌ記憶領域（＝第４記憶領域）に上書き記憶される。さらに、第（ｌ−１）読出順番データ（１つ前のタイマ）及び第（ｌ−１）上書順番データ（１つ前のステップ）に、第ｌ記憶領域に記憶された第ｌ読出順番データ及び第ｌ上書順番データが和算処理されて上書き記憶される。具体的には、第（ｌ−１）読出順番データ（第３読出順番データ＝１つ前のタイマ）、第（ｌ−１）上書順番データ（第３上書順番データ＝１つ前のステップ）、第ｌ読出順番データ（第４読出順番データ）、第ｌ上書順番データ（第４上書順番データ）の値を１とすると、第（ｌ−１）読出順番データ（第３読出順番データ＝１つ前のタイマ）、第（ｌ−１）上書順番データ（第３上書順番データ＝１つ前のステップ）は、それぞれ第（ｌ−１）読出順番データ（第３読出順番データ＝１つ前のタイマ）＋第ｌ読出順番データ（第４読出順番データ）＝１＋１＝２、第（ｌ−１）上書順番データ（第３上書順番データ＝１つ前のステップ）＋第ｌ上書順番データ（第４上書順番データ）＝１＋１＝２が上書き記憶される。次に、フレームデータ読出機能によって、記憶領域確保状況判断機能によってフレームデータの個数である所定のｎが記憶領域の個数である所定のｍより小さいと判断する制御が行われたとき（ｎ＜ｍ、１順目で終わるとき）すなわち、バッファ領域にフレームデータを記憶するスペースに余裕があると判断されたとき、１０秒（６００フレーム＝第１フレームデータ〜第６００フレームデータの６００個のフレームデータ）のリプレイ動画の場合、フレームデータ記憶機能によって記憶された第１フレームデータ〜第６００フレームデータを制御部によってそのまま読み出される。そして、フレームデータ補完読出機能によって、記憶領域確保状況判断機能によってフレームデータの個数である所定のｎが記憶領域の個数である所定のｍより大きいと判断する制御が行われたとき（ｎ＞ｍ、２順目以降の上書きがなされているとき）すなわち、バッファ領域にフレームデータを記憶するスペースに余裕がないと判断されたとき、２０秒（１２００フレーム＝第１フレームデータ〜第１２００フレームデータの１２００個のフレームデータ）のリプレイ動画の場合、フレームデータ記憶機能及びフレームデータ上書機能によって記憶された第１フレームデータ〜第ｎフレームデータが第（ｎ−ｋ）読出順番データ（ｋ個前のタイマ、ｋ＝１、２、・・・）に対応する領域順に繰り返し読み出される。フレームデータ補完読出機能では、第（ｎ−ｋ）読出順番データ（ｋ個前のタイマ）に対応する領域が第ｎ記憶領域（ｋ個前のタイマがｎ）であるとき第ｎフレームデータを制御部によってそのまま読み出す制御を行い、第（ｎ−ｋ）読出順番データ（ｋ個前のタイマ）に対応する領域が第（ｎ＋ｊ）記憶領域（ｊ個後のタイマ、ｊ＝１、２、・・・）であるとき第（ｎ−ｋ）フレームデータと第（ｎ＋ｊ）フレームデータとを補完処理して得られたフレームデータが第ｎフレームデータとして読み出される。ここで、第（ｎ−ｋ）読出順番データとは、第ｎ読出順番データのｋ個前の読出順番データであり、第（ｎ＋ｊ）読出順番データとは、第ｎ読出順番データのｊ個後の読出順番データであって、たとえばｋ＝１、ｊ＝１とすると、第（ｎ−１）読出順番データ（１個前のタイマ）に対応する領域が第ｎ記憶領域（１個前のタイマがｎ）であるとき第ｎフレームデータをそのまま読み出す制御を行い、第（ｎ−１）読出順番データ（１個前のタイマ）に対応する領域が第（ｎ＋１）記憶領域（１個後のタイマ）であるとき第（ｎ−１）フレームデータと第（ｎ＋１）フレームデータとを補完処理して得られたフレームデータが第ｎフレームデータとして読み出される。ここでは、フレームデータ上書機能においてフレームデータをどの位置のバッファ領域を上書き記憶するかを決定するためのステップである上書順番データを設け、さらにフレームデータ補完読出機能においてフレームデータをどの位置のバッファ領域から読み出すかを決定するためのタイマである読出順番データを設けることにより、全てのバッファ領域を順番に上書きまたは読み出す場合に比して、不均一となる（ばらつきのある）バッファ領域にフレームデータが書き込まれることになるので、画質が部分的に低下するのを抑えることができる。
【００３６】
請求項４に係るゲームプログラムは、請求項３のゲームプログラムにおいて、フレームデータ補完読出機能は、第（ｎ−ｋ）読出順番データがｈ［ｈ＝１、２、・・・］であり、第（ｎ−ｋ）読出順番データを基準として増加した読出順番データがｉ［ｉ＝１、２、・・・］であり、第（ｎ−ｉ）読出順番データに対応する領域が第（ｎ＋ｊ）記憶領域［ｊ＝ｈ−ｉ、ｎ＋ｊ＝ｎ＋ｈ−ｉ］であるとき、第（ｎ−ｉ）フレームデータに（１−ｄ）を乗算処理［ｄ＝（ｉ／ｈ）、１−ｄ＝１−（ｉ／ｈ）］して得られたデータと、第（ｎ＋ｊ）フレームデータにｄを乗算処理［ｄ＝（ｉ／ｈ）］して得られたデータとを和算処理して得られたフレームデータを制御部によって第ｎフレームデータとして読み出す制御を行う機能である。具体的には、ｈ＝２、ｉ＝１、ｊ＝ｈ−ｉ＝２−１＝１であるとき、ｄ＝（１／２）、１−ｄ＝１−（１／２）＝（１／２）となるので、第ｎフレームデータは、［第（ｎ−１）フレームデータ＊（１／２）］＋［第（ｎ＋１）フレームデータ＊（１／２）］と算出される。また、ｈ＝５、ｉ＝２、ｊ＝ｈ−ｉ＝５−２＝３であるとき、ｄ＝（２／５）、１−ｄ＝１−（２／５）＝（３／５）となるので、第ｎフレームデータは、［第（ｎ−１）フレームデータ＊（３／５）］＋［第（ｎ＋１）フレームデータ＊（２／５）］と算出される。ここでは、それぞれ重み（比率）を有する点と点との間を直線で近似する線形補間による補完処理を行うことにより、単純に点と点とを近似する場合に比して補完精度が高くなるので、画質の低下をより抑えることができる。
【００３７】
請求項５に係るゲームプログラムは、請求項３又は４のゲームプログラムにおいて、第ｎフレームデータは、所定の第ｎフレームにおけるゲームキャラクタの位置データである第ｎ位置データ、所定の第ｎフレームにおけるゲームキャラクタの角度データである第ｎ角度データである。ここでは、フレームデータは、ゲームキャラクタの位置データ、ゲームキャラクタの角度データであるので、各フレームにおけるゲームキャラクタの位置、角度を決定することにより、ゲームキャラクタが動作するリプレイ動画を生成できる。
【００３８】
請求項６に係るゲームプログラムは、請求項５のゲームプログラムにおいて、第ｎフレームデータは、所定の第ｎフレームにおける第ｎ位置データの実座標データ、所定の第ｎフレームにおける第ｎ角度データの実角度データである。ここでは、フレームデータとして、絶対値となる、位置データの実座標データ、角度データの実角度データを用いることにより、データを変換することなくそのまま処理を行うことができるので、全体の処理ステップ数を節約できる。
【００３９】
請求項７に係るゲームプログラムは、請求項５のゲームプログラムにおいて、第ｎフレームデータは、所定の第ｎフレームにおける第ｎ位置データの特定の基準位置データに対する差分座標データ、所定の第ｎフレームにおける第ｎ角度データの特定の基準角度データに対する差分角度データである。ここでは、フレームデータとして、差分値となる、位置データの基準位置データに対する差分座標データ、角度データの基準角度データに対する差分角度データを用いることにより、差分データのデータ量は実データのデータ量に比して小さいので、全体のデータ量を節約できる。
【００４０】
請求項８に係るゲーム装置は、ゲームキャラクタの動作を制御部によって記憶部に記憶させ、ゲームキャラクタの動作画面を制御部によってモニタにリプレイ表示させるゲームを実行可能なゲーム装置である。このゲーム装置は、記憶領域確保手段と、フレームデータ記憶手段と、記憶領域確保状況判断手段と、フレームデータ上書手段と、フレームデータ読出手段と、フレームデータ補完読出手段と、動画リプレイ表示手段とを備えている。記憶領域確保手段において、記憶部の所定の記憶領域において、所定のフレームにおけるゲームキャラクタに関するフレームデータを、制御部によって記憶可能に確保する制御が行われる。フレームデータ記憶手段において、フレームデータを、所定の間隔毎に制御部によって所定の記憶領域に記憶する制御が行われる。記憶領域確保状況判断手段において、フレームデータ記憶手段によってフレームデータを記憶する制御が行われた所定の記憶領域に、フレームデータをさらに記憶可能な領域が確保されているか否かを制御部によって判断する制御が行われる。フレームデータ上書手段において、記憶領域確保状況判断手段によって所定の記憶領域にフレームデータをさらに記憶可能な領域が確保されていないと判断されたとき、フレームデータ記憶手段によってフレームデータを記憶する制御が行われた所定の記憶領域の特定の一部分である記憶領域に、制御部によってフレームデータの特定の一部分であるフレームデータを上書きし記憶する制御が行われる。フレームデータ読出手段において、記憶領域確保状況判断手段によって所定の記憶領域にフレームデータをさらに記憶可能な領域が確保されていると判断されたとき、フレームデータ記憶手段によって記憶されたフレームデータを制御部によって読み出す制御が行われる。フレームデータ補完読出手段において、記憶領域確保状況判断手段によって所定の記憶領域にフレームデータをさらに記憶可能な領域が確保されていないと判断されたとき、フレームデータ記憶手段及びフレームデータ上書手段によって記憶されたフレームデータを補完処理して得られたフレームデータを制御部によってフレームデータとして読み出す制御が行われる。動画リプレイ表示手段において、フレームデータ読出手段またはフレームデータ補完読出手段によって読み出されたフレームデータを基にして、制御部によってゲームキャラクタに関する動画データを生成し前記モニタにリプレイ表示する制御が行われる。
【００４１】
請求項９に係るゲーム制御方法は、ゲームキャラクタの動作を制御部によって記憶部に記憶させ、ゲームキャラクタの動作画面を制御部によってモニタにリプレイ表示させるゲームをコンピュータにより制御するゲーム制御方法である。このゲーム制御方法は、記憶領域確保ステップと、フレームデータ記憶ステップと、記憶領域確保状況判断ステップと、フレームデータ上書ステップと、フレームデータ読出ステップと、フレームデータ補完読出ステップと、動画リプレイ表示ステップとを備えている。記憶領域確保ステップにおいて、記憶部の所定の記憶領域において、所定のフレームにおけるゲームキャラクタに関するフレームデータを、制御部によって記憶可能に確保する制御が行われる。フレームデータ記憶ステップにおいて、フレームデータを、所定の間隔毎に制御部によって所定の記憶領域に記憶する制御が行われる。記憶領域確保状況判断ステップにおいて、フレームデータ記憶ステップによってフレームデータを記憶する制御が行われた所定の記憶領域に、フレームデータをさらに記憶可能な領域が確保されているか否かを制御部によって判断する制御が行われる。フレームデータ上書ステップにおいて、記憶領域確保状況判断ステップによって所定の記憶領域にフレームデータをさらに記憶可能な領域が確保されていないと判断されたとき、フレームデータ記憶ステップによってフレームデータを記憶する制御が行われた所定の記憶領域の特定の一部分である記憶領域に、制御部によってフレームデータの特定の一部分であるフレームデータを上書きし記憶する制御が行われる。フレームデータ読出ステップにおいて、記憶領域確保状況判断ステップによって所定の記憶領域にフレームデータをさらに記憶可能な領域が確保されていると判断されたとき、フレームデータ記憶ステップによって記憶されたフレームデータを制御部によって読み出す制御が行われる。フレームデータ補完読出ステップにおいて、記憶領域確保状況判断ステップによって所定の記憶領域にフレームデータをさらに記憶可能な領域が確保されていないと判断されたとき、フレームデータ記憶ステップ及びフレームデータ上書ステップによって記憶されたフレームデータを補完処理して得られたフレームデータを制御部によってフレームデータとして読み出す制御が行われる。動画リプレイ表示ステップにおいて、フレームデータ読出ステップまたはフレームデータ補完読出ステップによって読み出されたフレームデータを基にして、制御部によってゲームキャラクタに関する動画データを生成し前記モニタにリプレイ表示する制御が行われる。
【発明の効果】
【００４２】
本発明によれば、リプレイ動画を表示するゲームプログラムにおいて、バッファ領域にフレームデータを記憶するスペースに余裕があると判断されたとき、フレームデータ読出機能によってそのまま読み出されたバッファ領域に記憶されたフレームデータを基にして、ゲームキャラクタに関する動画データを生成してモニタにリプレイ表示され、バッファ領域にフレームデータを記憶するスペースに余裕がないとき、フレームデータ補完読出機能によって補完処理して読み出されたバッファ領域に記憶されたフレームデータを基にして、ゲームキャラクタに関する動画データを生成してモニタにリプレイ表示されるようになっているので、所定の記憶領域の特定の一部分である記憶領域にフレームデータの特定の一部分であるフレームデータを上書きし記憶するフレームデータ上書機能を有していることによって、リプレイ動画の画質の低減を可及的に抑えながら、長時間のリプレイ動画を表示させることができる。
【発明を実施するための最良の形態】
【００４３】
〔ゲーム装置の構成と動作〕
図１は、本発明の一実施形態によるゲーム装置の基本構成を示している。ここでは、ビデオゲーム装置の一例として、家庭用ビデオゲーム装置をとりあげて説明を行うこととする。家庭用ビデオゲーム装置は、家庭用ゲーム機本体および家庭用テレビジョンを備える。家庭用ゲーム機本体には、記録媒体１０が装填可能となっており、記録媒体１０からゲームデータが適宜読み出されてゲームが実行される。このようにして実行されるゲーム内容が家庭用テレビジョンに表示される。
【００４４】
家庭用ビデオゲーム装置のゲームシステムは、制御部１と、記憶部２と、画像表示部３と、音声出力部４と、操作入力部５とからなっており、それぞれがバス６を介して接続される。このバス６は、アドレスバス、データバス、およびコントロールバスなどを含んでいる。ここで、制御部１、記憶部２、音声出力部４および操作入力部５は、家庭用ビデオゲーム装置の家庭用ゲーム機本体に含まれており、画像表示部３は家庭用テレビジョンに含まれている。
【００４５】
制御部１は、主に、ゲームプログラムに基づいてゲーム全体の進行を制御するために設けられている。制御部１は、たとえば、ＣＰＵ７（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）と、信号処理プロセッサ８と、画像処理プロセッサ９とから構成されている。ＣＰＵ７と信号処理プロセッサ８と画像処理プロセッサ９とは、それぞれがバス６を介して互いに接続されている。ＣＰＵ７は、ゲームプログラムからの命令を解釈し、各種のデータ処理や制御を行う。たとえば、ＣＰＵ７は、信号処理プロセッサ８に対して、画像データを画像処理プロセッサに供給するように命令する。信号処理プロセッサ８は、主に、３次元空間上における計算と、３次元空間上から擬似３次元空間上への位置変換計算と、光源計算処理と、画像および音声データの生成加工処理とを行っている。画像処理プロセッサ９は、主に、信号処理プロセッサ８の計算結果および処理結果に基づいて、描画すべき画像データをＲＡＭ１２に書き込む処理を行っている。
【００４６】
記憶部２は、主に、プログラムデータや、プログラムデータで使用される各種データなどを格納しておくために設けられている。記憶部２は、たとえば、記録媒体１０と、インターフェース回路１１と、ＲＡＭ１２（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）とから構成されている。記録媒体１０には、インターフェース回路１１が接続されている。そして、インターフェース回路１１とＲＡＭ１２とはバス６を介して接続されている。記録媒体１０は、オペレーションシステムのプログラムデータや、画像データ、音声データ並びに各種プログラムデータからなるゲームデータなどを記録するためのものである。この記録媒体１０は、たとえば、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）カセット、光ディスク、およびフレキシブルディスクなどであり、オペレーティングシステムのプログラムデータやゲームデータなどが記憶される。なお、記録媒体１０にはカード型メモリも含まれており、このカード型メモリは、主に、ゲームを中断するときに中断時点での各種ゲームパラメータを保存するために用いられる。ＲＡＭ１２は、記録媒体１０から読み出された各種データを一時的に格納したり、制御部１からの処理結果を一時的に記録したりするために用いられる。このＲＡＭ１２には、各種データとともに、各種データの記憶位置を示すアドレスデータが格納されており、任意のアドレスを指定して読み書きすることが可能になっている。
【００４７】
画像表示部３は、主に、画像処理プロセッサ９によってＲＡＭ１２に書き込まれた画像データや、記録媒体１０から読み出される画像データなどを画像として出力するために設けられている。この画像表示部３は、たとえば、テレビジョンモニタ２０と、インターフェース回路２１と、Ｄ／Ａコンバータ２２（Ｄｉｇｉｔａｌ−Ｔｏ−Ａｎａｌｏｇコンバータ）とから構成されている。テレビジョンモニタ２０にはＤ／Ａコンバータ２２が接続されており、Ｄ／Ａコンバータ２２にはインターフェース回路２１が接続されている。そして、インターフェース回路２１にバス６が接続されている。ここでは、画像データが、インターフェース回路２１を介してＤ／Ａコンバータ２２に供給され、ここでアナログ画像信号に変換される。そして、アナログ画像信号がテレビジョンモニタ２０に画像として出力される。
【００４８】
ここで、画像データには、たとえば、ポリゴンデータやテクスチャデータなどがある。ポリゴンデータはポリゴンを構成する頂点の座標データのことである。テクスチャデータは、ポリゴンにテクスチャを設定するためのものであり、テクスチャ指示データとテクスチャカラーデータとからなっている。テクスチャ指示データはポリゴンとテクスチャとを対応づけるためのデータであり、テクスチャカラーデータはテクスチャの色を指定するためのデータである。ここで、ポリゴンデータとテクスチャデータとには、各データの記憶位置を示すポリゴンアドレスデータとテクスチャアドレスデータとが対応づけられている。このような画像データでは、信号処理プロセッサ８により、ポリゴンアドレスデータの示す３次元空間上のポリゴンデータ（３次元ポリゴンデータ）が、画面自体（視点）の移動量データおよび回転量データに基づいて座標変換および透視投影変換されて、２次元空間上のポリゴンデータ（２次元ポリゴンデータ）に置換される。そして、複数の２次元ポリゴンデータでポリゴン外形を構成して、ポリゴンの内部領域にテクスチャアドレスデータが示すテクスチャデータを書き込む。このようにして、各ポリゴンにテクスチャが貼り付けられた物体つまり各種キャラクタを表現することができる。
【００４９】
音声出力部４は、主に、記録媒体１０から読み出される音声データを音声として出力するために設けられている。音声出力部４は、たとえば、スピーカー１３と、増幅回路１４と、Ｄ／Ａコンバータ１５と、インターフェース回路１６とから構成されている。スピーカー１３には増幅回路１４が接続されており、増幅回路１４にはＤ／Ａコンバータ１５が接続されており、Ｄ／Ａコンバータ１５にはインターフェース回路１６が接続されている。そして、インターフェース回路１６にバス６が接続されている。ここでは、音声データが、インターフェース回路１６を介してＤ／Ａコンバータ１５に供給され、ここでアナログ音声信号に変換される。このアナログ音声信号が増幅回路１４によって増幅され、スピーカー１３から音声として出力される。音声データには、たとえば、ＡＤＰＣＭ（Ａｄａｐｔｉｖｅ  Ｄｉｆｆｅｒｅｎｔｉａｌ  Ｐｕｌｓｅ  Ｃｏｄｅ  Ｍｏｄｕｌａｔｉｏｎ）データやＰＣＭ（Ｐｕｌｓｅ  Ｃｏｄｅ  Ｍｏｄｕｌａｔｉｏｎ）データなどがある。ＡＤＰＣＭデータの場合、上述と同様の処理方法で音声をスピーカー１３から出力することができる。ＰＣＭデータの場合、ＲＡＭ１２においてＰＣＭデータをＡＤＰＣＭデータに変換しておくことで、上述と同様の処理方法で音声をスピーカー１３から出力することができる。
【００５０】
操作入力部５は、主に、コントローラ１７と、操作情報インターフェース回路１８と、インターフェース回路１９とから構成されている。コントローラ１７には、操作情報インターフェース回路１８が接続されており、操作情報インターフェース回路１８にはインターフェース回路１９が接続されている。そして、インターフェース回路１９にバス６が接続されている。
【００５１】
コントローラ１７は、プレイヤが種々の操作命令を入力するために使用する操作装置であり、プレイヤの操作に応じた操作信号をＣＰＵ７に送出する。コントローラ１７には、第１ボタン１７ａ、第２ボタン１７ｂ、第３ボタン１７ｃ、第４ボタン１７ｄ、上方向キー１７Ｕ、下方向キー１７Ｄ、左方向キー１７Ｌ、右方向キー１７Ｒ、Ｌ１ボタン１７Ｌ１、Ｌ２ボタン１７Ｌ２、Ｒ１ボタン１７Ｒ１、Ｒ２ボタン１７Ｒ２、スタートボタン１７ｅ、セレクトボタン１７ｆ、左スティック１７ＳＬ及び右スティック１７ＳＲが設けられている。
【００５２】
上方向キー１７Ｕ、下方向キー１７Ｄ、左方向キー１７Ｌ及び右方向キー１７Ｒは、たとえば、キャラクタやカーソルをテレビジョンモニタ２０の画面上で上下左右に移動させるコマンドをＣＰＵ７に与えるために使用される。
【００５３】
スタートボタン１７ｅは、記録媒体１０からゲームプログラムをロードするようにＣＰＵ７に指示するときなどに使用される。
【００５４】
セレクトボタン１７ｆは、記録媒体１０からロードされたゲームプログラムに対して、各種選択をＣＰＵ７に指示するときなどに使用される。
【００５５】
左スティック１７ＳＬ及び右スティック１７ＳＲは、いわゆるジョイスティックとほぼ同一構成のスティック型コントローラである。このスティック型コントローラは、直立したスティックを有している。このスティックは、支点を中心として直立位置から前後左右を含む３６０°方向にわたって、傾倒可能な構成になっている。左スティック１７ＳＬ及び右スティック１７ＳＲは、スティックの傾倒方向及び傾倒角度に応じて、直立位置を原点とするｘ座標及びｙ座標の値を、操作信号として操作情報インターフェース回路１８とインターフェース回路１９とを介してＣＰＵ７に送出する。
【００５６】
第１ボタン１７ａ、第２ボタン１７ｂ、第３ボタン１７ｃ、第４ボタン１７ｄ、Ｌ１ボタン１７Ｌ１、Ｌ２ボタン１７Ｌ２、Ｒ１ボタン１７Ｒ１及びＲ２ボタン１７Ｒ２には、記録媒体１０からロードされるゲームプログラムに応じて種々の機能が割り振られている。
【００５７】
なお、左スティック１７ＳＬ及び右スティック１７ＳＲを除くコントローラ１７の各ボタン及び各キーは、外部からの押圧力によって中立位置から押圧されるとオンになり、押圧力が解除されると中立位置に復帰してオフになるオンオフスイッチになっている。
【００５８】
以上のような構成からなる家庭用ビデオゲーム装置の概略動作を、以下に説明する。図示しない電源スイッチがオンにされゲームシステム１に電源が投入されると、ＣＰＵ７が、記録媒体１０に記憶されているオペレーティングシステムに基づいて、記録媒体１０から画像データ、音声データ、およびプログラムデータを読み出す。読み出された画像データ、音声データ、およびプログラムデータの一部若しくは全部は、ＲＡＭ１２に格納される。そして、ＣＰＵ７が、ＲＡＭ１２に格納されたプログラムデータに基づいて、ＲＡＭ１２に格納された画像データや音声データにコマンドを発行する。
【００５９】
画像データの場合、ＣＰＵ７からのコマンドに基づいて、まず、信号処理プロセッサ８が、３次元空間上におけるキャラクタの位置計算および光源計算などを行う。次に、画像処理プロセッサ９が、信号処理プロセッサ８の計算結果に基づいて、描画すべき画像データのＲＡＭ１２への書き込み処理などを行う。そして、ＲＡＭ１２に書き込まれた画像データが、インターフェース回路２１を介してＤ／Ａコンバータ２２に供給される。ここで、画像データがＤ／Ａコンバータ２２でアナログ映像信号に変換される。そして、画像データはテレビジョンモニタ２０に供給され画像として表示される。
【００６０】
音声データの場合、まず、信号処理プロセッサ８が、ＣＰＵ７からのコマンドに基づいて音声データの生成および加工処理を行う。ここでは、音声データに対して、たとえば、ピッチの変換、ノイズの付加、エンベロープの設定、レベルの設定及びリバーブの付加などの処理が施される。次に、音声データは、信号処理プロセッサ８から出力されて、インターフェース回路１６を介してＤ／Ａコンバータ１５に供給される。ここで、音声データがアナログ音声信号に変換される。そして、音声データは増幅回路１４を介してスピーカー１３から音声として出力される。
【００６１】
〔ゲーム装置における各種処理概要〕
本ゲーム機において実行されるゲームは、たとえば野球ゲームである。本ゲーム機は、コントローラ１７を操作することによってテレビジョンモニタ２０に表示されたキャラクタを動作させるゲームを実現可能になっている。図２は、本発明で主要な役割を果たす機能を説明するための機能ブロック図である。制御部１は、キャラクタ表示手段５０と、キャラクタ動作手段５１と、記憶領域確保手段５２と、フレームデータ記憶手段５３と、記憶領域確保状況判断手段５４と、フレームデータ上書手段５５と、フレームデータ記憶停止手段５６と、フレームデータ上書停止手段５７と、フレームデータ読出手段５８と、読出停止命令データ書込手段５９と、フレームデータ補完読出手段６０と、動画リプレイ表示手段６１とを主に備えている。
【００６２】
キャラクタ表示手段５０は、テレビジョンモニタ２０に打者キャラクタ７０を表示する機能を備えている。キャラクタ表示手段５０では、図１５に示す打者キャラクタ７０、図１４に示す投手キャラクタ７１、図１６に示すベンチ選手キャラクタ７２、図１４及び図１５に示すボールオブジェクト７３がテレビジョンモニタ２０に表示される。
【００６３】
この手段では、打者キャラクタ７０に対応する打者用画像データ、投手キャラクタ７１に対応する投手用画像データ、ベンチ選手キャラクタ７２に対応するベンチ選手用画像データ、ボールオブジェクト７３に対応するボールオブジェクト画像データが、ゲームプログラムのロード時に、記憶部２たとえば記録媒体１０からＲＡＭ１２に供給され、ＲＡＭ１２に格納される。このときに、打者用画像データ、投手用画像データ、ベンチ選手用画像データ、ボールオブジェクト画像データが制御部１たとえばＣＰＵ７に認識される。また、打者用画像データ、投手用画像データ、ベンチ選手用画像データ、ボールオブジェクト画像データをテレビジョンモニタ２０に表示するための打者用座標データ、投手用座標データ、ベンチ選手用座標データ、ボールオブジェクト座標データが、記憶部２たとえば記録媒体１０からＲＡＭ１２に供給され、ＲＡＭ１２に格納される。このときに、打者用画像データ、投手用画像データ、ベンチ選手用画像データ、ボールオブジェクト画像データが制御部１たとえばＣＰＵ７に認識される。すると、ＲＡＭ１２に格納された打者用画像データ、投手用画像データ、ベンチ選手用画像データ、ボールオブジェクト画像データが、ＣＰＵ７からの指示に基づいて、画像処理プロセッサ９を介してテレビジョンモニタ２０に供給される。そして、打者用画像データ、投手用画像データ、ベンチ選手用画像データ、ボールオブジェクト画像データが、打者用座標データ、投手用座標データ、ベンチ選手用座標データ、ボールオブジェクト座標データに基づいて、テレビジョンモニタ２０の所定の位置に表示される。なお、打者用画像データ、投手用画像データ、ベンチ選手用画像データ、ボールオブジェクト画像データをテレビジョンモニタ２０の所定の位置に表示するための指示は、ＣＰＵ７によって行われる。
【００６４】
キャラクタ動作手段５１は、打者キャラクタ７０を動作させる機能を備えている。キャラクタ動作手段５１では、打者キャラクタ７０が動作させられる。
【００６５】
この手段では、打者キャラクタ７０を動作させるためのコントローラ１７からの信号が制御部１たとえばＣＰＵ７に認識されると、ＣＰＵ７からの指示に基づいて、打者キャラクタ７０に対応する打者用画像データ、投手キャラクタ７１に対応する投手用画像データ、ベンチ選手キャラクタ７２に対応するベンチ選手用画像データ、ボールオブジェクト７３に対応するボールオブジェクト画像データが、制御部１たとえば信号処理プロセッサ８と画像処理プロセッサ９とによって処理される。そして、処理された画像データがＲＡＭ１２からテレビジョンモニタ２０に供給されて、打者キャラクタ７０のスイング動作、投手キャラクタ７１の投球動作、ベンチ選手キャラクタ７２の歓喜動作、ボールオブジェクト７３の移動動作が動画としてテレビジョンモニタ２０に表示される。
【００６６】
記憶領域確保手段５２は、ＲＡＭ１２の所定の記憶領域（バッファ領域）において、所定のフレームにおけるゲームキャラクタに関するフレームデータを、ＣＰＵ７によって記憶可能に確保する制御を行う機能を備えている。記憶領域確保手段５２では、ＲＡＭ１２の所定の記憶領域（バッファ領域）において、所定のフレームにおけるゲームキャラクタに関するフレームデータを、ＣＰＵ７によって記憶可能に確保する制御が行われる。ここで、ゲームキャラクタに関するフレームデータとは、リプレイ動画（攻撃側のチームと守備側のチームとが攻守交替を行うイニングの合間に、直前のイニングにおいて打者キャラクタが投手キャラクタからホームランを打ったり、投手キャラクタが打者キャラクタから三振を奪ったというような直前のイニングにおけるハイライト場面のリプレイ動画）を生成するために必要な打者キャラクタ７０、投手キャラクタ７１、ベンチ選手キャラクタ７２、ボールオブジェクト７３の位置データ、角度データからなるリプレイデータであって、図３〜図１０に示す一覧表に示すように、上書順番データ（ステップ）、読出順番データ（タイマ、読出停止命令データを含む）、フレームデータ（位置データ、角度データ、具体的には、データ１（Ｘ）、データ２（Ｙ）、・・・、図３〜図１０に示す一覧表ではデータ１（Ｘ）、データ２（Ｙ）以降のデータの記載を省略しているが、複数のデータが存在しているものとする）の数値データである。図３〜図７に示すフレームデータ（位置データ、角度データ）は、位置データの実座標データ、角度データの実角度データであり、図８〜図１０に示すフレームデータ（位置データ、角度データ）は、位置データの差分座標データ、角度データの差分角度データである。ここで、位置データの差分座標データ、角度データの差分角度データとは、位置データの基準位置データに対する差分座標データ、角度データの基準角度データに対する差分角度データであって、たとえば図８〜図１０に示すデータ１（Ｘ）、データ２（Ｙ）の基準位置データが（６５、２３５）であるときには、（１、−１）となる位置データの差分座標データは、（６５＋１、２３５−１）＝（６６、２３４）となる位置データの実座標データと等価である。なお、図８、図９、図１０に示す一覧表と、図３、図６、図７に示す一覧表とは、それぞれ１順目の記憶処理、２順目の上書き処理、３順目の上書き処理を表しているが、図８、図９、図１０に示す一覧表の位置データの位置データの差分座標データ、角度データの差分角度データと、図３、図６、図７に示す一覧表の位置データの実座標データ、角度データの実角度データとが、完全に一致するものではない。また、フレームデータは、１フレーム毎に１個（フレームデータが１個であるのではなく、１フレームに対応する打者キャラクタ７０、投手キャラクタ７１、ベンチ選手キャラクタ７２、ボールオブジェクト７３の位置データ、角度データ等からなるフレームデータ（図３〜図１０に示す一覧表の一行に相当）をまとめて１個であるとする）のフレームデータを所定のフレームの数だけ複数個有するものである。また、ＲＡＭ１２の所定の記憶領域とは、リプレイ動画を生成するフレームデータを記憶するバッファ領域であって、１フレーム毎に１個のフレームデータを記憶可能な複数の領域（９００個の場合、第１記憶領域〜第９００記憶領域、図３〜図１０に示す一覧表では第１記憶領域〜第１７記憶領域の１７個に省略して記載されているが、上から下に向かって９００個の第１記憶領域〜第９００記憶領域が存在しているものとする）に区切られたバッファ領域である。また、フレームデータを記憶可能に確保するとは、記憶領域のすべてのデータをクリア（初期化、フォーマット）することであって、バッファ領域の複数の領域のフレームデータがすべてリセットされ、フレームデータが１個も記憶されていない初期状態にすることである。ここでは、記憶領域確保手段５２によって、ＲＡＭ１２の所定の記憶領域において、所定のフレームにおけるゲームキャラクタに関するフレームデータが記憶可能に確保される。
【００６７】
フレームデータ記憶手段５３は、フレームデータを、所定の間隔毎にＣＰＵ７によって所定の記憶領域に記憶する制御を行う機能を備えている。フレームデータ記憶手段５３では、フレームデータ記憶手段５３では、フレームデータを、所定の間隔毎にＣＰＵ７によって所定の記憶領域に記憶する制御が行われる。ここで、所定の間隔毎に記憶するとは、１フレーム毎に１個のバッファ領域にフレームデータをバッファ領域の総量を最大として上から順番に連続して隙間なく第１記憶領域〜第９００記憶領域まで記憶する（１順目の書き込みをする）ことであり、秒間６０フレーム（６０ｆｐｓ、６０ｆｒａｍｅ  ｐｅｒ  ｓｅｃｏｎｄ）で画像表示処理を行っているとき、バッファ領域の総量が、９００個であり、１フレーム毎（＝１／６０秒毎）に１割り込みするときには、たとえば１０秒（６００フレーム）のリプレイ動画（図１４に示す投手キャラクタ７１が打者キャラクタ７０から三振を奪ったリプレイ動画）の場合、９００個のバッファ領域のうち第１記憶領域〜第６００記憶領域のバッファ領域に６００個のフレームデータが１フレーム毎に記憶される。また、１５秒（９００フレーム）のリプレイ動画（図１５に示す打者キャラクタ７０が投手キャラクタ７１からホームランを打ったリプレイ動画）の場合、９００個のバッファ領域のうち第１記憶領域〜第９００記憶領域のバッファ領域に９００個のフレームデータが１フレーム毎に記憶される。また、２０秒（１２００フレーム）のリプレイ動画（図１６に示す打者キャラクタ７０が投手キャラクタ７１から逆転ホームランを打ったときベンチ選手キャラクタ７２が歓喜しているベンチシーンのリプレイ動画）の場合、９００個の第１記憶領域〜第９００記憶領域のバッファ領域に１２００個のフレームデータのうち９００個のフレームデータが１順目の書き込みとして１フレーム毎に記憶される。フレームデータ記憶手段５３では、フレームデータが所定の間隔毎に所定の記憶領域に記憶される。さらに、フレームデータ記憶手段５３では、所定の第１フレーム〜第９００フレームにおけるフレームデータである第１フレームデータ〜第９００フレームデータ（位置データ、角度データの数値データ）と、第１フレームデータ〜第９００フレームデータを読み出す順番を指定するフレームデータである第１読出順番データ〜第９００読出順番データ（以下、タイマと呼称する、１、２、３・・・の整数となる数値データ）と、第１フレームデータ〜第９００フレームデータを上書きする順番を指定するフレームデータである第１上書順番データ〜第９００上書順番データ（以下、ステップとする、１、２、３・・・の整数、エンドコード＝０を含む数値データ）とが、第１記憶領域〜第９００記憶領域にそれぞれ記憶される。ここで、読出順番データとは、フレームデータ補完読出手段６０において、フレームデータをどの位置のバッファ領域から読み出すかを決定するためのタイマであって、整数値からなる数値データである。なお、読出順番データには、フレームデータ補完読出手段６０においてフレームデータを読み出すときに読み出しを停止するための命令である読出停止命令データ（エンドコード＝０）の数値データが含まれる概念である。また、上��順番データとは、フレームデータ上書手段５５において、フレームデータをどの位置のバッファ領域を上書き記憶するかを決定するためのステップであって、整数値からなる数値データである。ここでは、フレームデータ記憶手段５３によって、１順目の各フレームデータ（図３に示す上書順番データ（ステップ）、読出順番データ（タイマ）、フレームデータ（位置データの実座標データ、角度データの実角度データ））がＲＡＭ１２の各記憶領域のバッファ領域に格納される。
【００６８】
記憶領域確保状況判断手段５４は、フレームデータ記憶手段５３によってフレームデータを記憶する制御が行われた所定の記憶領域に、フレームデータをさらに記憶可能な領域が確保されているか否かをＣＰＵ７によって判断する制御を行う機能を備えている。記憶領域確保状況判断手段５４では、フレームデータ記憶手段５３によってフレームデータを記憶する制御が行われた所定の記憶領域に、フレームデータをさらに記憶可能な領域が確保されているか否かをＣＰＵ７によって判断する制御が行われる。記憶領域確保状況判断手段５４では、フレームデータの総量と記憶されたフレームデータとを比較することにより、バッファ領域にフレームデータを記憶するスペースに余裕があるか、バッファ領域にフレームデータを記憶するスペースがないかを判断する処理が行われる。具体的には、バッファ領域の総量が、９００個であるときには、たとえば１０秒（６００フレーム）のリプレイ動画（図１４に示す投手キャラクタ７１が打者キャラクタ７０から三振を奪ったリプレイ動画）の場合、９００個のバッファ領域のうち第１記憶領域〜第６００記憶領域のバッファ領域に６００個のフレームデータが記憶されているので、第６０１記憶領域〜第９００記憶領域のバッファ領域に３００個のフレームデータを記憶可能であるために、バッファ領域にフレームデータを記憶するスペースに余裕があると判断される。また、たとえば１５秒（９００フレーム）のリプレイ動画（図１５に示す打者キャラクタ７０が投手キャラクタ７１からホームランを打ったリプレイ動画）の場合、９００個のバッファ領域のうち第１記憶領域〜第９００記憶領域のバッファ領域に９００個のフレームデータが記憶されているので、フレームデータの総量（９００個）とバッファ領域の総量（９００個）とが一致するために、バッファ領域にフレームデータを記憶するスペースに余裕がないと判断される。また、たとえば２０秒（１２００フレーム）のリプレイ動画（図１６に示す打者キャラクタ７０が投手キャラクタ７１から逆転ホームランを打ったときベンチ選手キャラクタ７２が歓喜しているベンチシーンのリプレイ動画）の場合、９００個のバッファ領域のうち第１記憶領域〜第９００記憶領域のバッファ領域に９００個のフレームデータが記憶されているので、フレームデータの総量（１２００個）がバッファ領域の総量（９００個）を超えているために、バッファ領域にフレームデータを記憶するスペースに余裕がないと判断される。記憶領域確保状況判断手段５４では、ＣＰＵ７による具体的な処理として、フレームデータの個数である所定のｎが記憶領域の個数である所定のｍより大きいか否かが判断される。フレームデータの総量が、６００個であるとき、すなわち、１０秒（６００フレーム＝第１フレームデータ〜第６００フレームデータの６００個のフレームデータ）のリプレイ動画の場合、すなわち、ｍ＝９００、ｎ＝６００であるとき、記憶領域確保状況判断手段５４によってｎ＜ｍであると判断され、バッファ領域にフレームデータを記憶するスペースに余裕があると判断される。なお、フレームデータの総量が、９００個であるとき、すなわち、１５秒（９００フレーム＝第１フレームデータ〜第９００フレームデータの９００個のフレームデータ）のリプレイ動画の場合、すなわち、ｍ＝９００、ｎ＝９００であるとき、記憶領域確保状況判断手段５４によってｎ＝ｍであると判断され、バッファ領域にフレームデータを記憶するスペースに余裕がないと判断される。また、フレームデータの総量が、１２００個であるとき、すなわち、２０秒（１２００フレーム＝第１フレームデータ〜第１２００フレームデータの１２００個のフレームデータ）のリプレイ動画の場合、すなわち、ｍ＝９００、ｎ＝１２００であるとき、記憶領域確保状況判断手段５４によってｎ＞ｍであると判断され、バッファ領域にフレームデータを記憶するスペースに余裕がないと判断される。記憶領域確保状況判断手段５４では、バッファ領域にフレームデータを記憶するスペースに余裕があるか、バッファ領域にフレームデータを記憶するスペースがないかが判断される。ここでは、記憶領域確保状況判断手段５４によって判断された判断結果含む各種データは、ＲＡＭ１２に格納される。
【００６９】
フレームデータ上書手段５５は、記憶領域確保状況判断手段５４によって所定の記憶領域にフレームデータをさらに記憶可能な領域が確保されていないと判断されたとき、フレームデータ記憶手段５３によってフレームデータを記憶する制御が行われた所定の記憶領域の特定の一部分である記憶領域に、ＣＰＵ７によってフレームデータの特定の一部分であるフレームデータを上書きし記憶する制御を行う機能を備えている。フレームデータ上書手段５５では、記憶領域確保状況判断手段５４によって所定の記憶領域にフレームデータをさらに記憶可能な領域が確保されていないと判断されたとき、フレームデータ記憶手段５３によってフレームデータを記憶する制御が行われた所定の記憶領域の特定の一部分である記憶領域に、ＣＰＵ７によってフレームデータの特定の一部分であるフレームデータを上書きし記憶する制御が行われる。ここでは、記憶領域確保状況判断手段５４によって所定の記憶領域にフレームデータをさらに記憶可能な領域が確保されていないと判断されたとき、すなわち、バッファ領域にフレームデータを記憶するスペースに余裕がないと判断されたときであって、具体的には、たとえば、バッファ領域の総量が、９００個であり、２０秒（１２００フレーム＝第１フレームデータ〜第１２００フレームデータの１２００個のフレームデータ）のリプレイ動画（図１６に示す打者キャラクタ７０が投手キャラクタ７１から逆転ホームランを打ったときベンチ選手キャラクタ７２が歓喜しているベンチシーンのリプレイ動画）の場合、９００個の第１記憶領域〜第９００記憶領域のバッファ領域に第１フレームデータ〜第９００フレームデータの９００個のフレームデータが記憶され（図３が１順目の書き込み）、フレームデータの総量（１２００個）がバッファ領域の総量（９００個）を超えているときである。ここでは、残りの第９０１フレームデータ〜第１２００フレームデータの３００個のフレームデータが、９００個の第１記憶領域〜第９００記憶領域のバッファ領域のうち特定の一部分である記憶領域に上書き記憶される。ここで、フレームデータ上書手段５５における上書き記憶は、２順目以降の書き込み（図４〜図６が２順目の書き込み、図７が３順目の書き込み）をすることを意味しており、フレームデータ記憶手段５３における記憶が１順目の書き込みをすることを意味していることと異なっている。また、９００個の第１記憶領域〜第９００記憶領域のバッファ領域のうち特定の一部分である記憶領域とは、たとえば９００個の第１記憶領域〜第９００記憶領域のバッファ領域のうち、２２５個の第４記憶領域、第８記憶領域〜第９００記憶領域のバッファ領域のように、特定の間隔（開始位置を４個目として４個おき毎、ｌ＝４、なお、ｌ＝４は図３に示す第９００上書順番データ（ステップ）が４であることで開始位置が４つ目と決定される）をあけて各領域が離反した部分のバッファ領域であって、２２５個の第４記憶領域、第８記憶領域〜第９００記憶領域のバッファ領域に、２２５個の第９０１フレームデータ〜第１１２５フレームデータが２順目の書き込みとして１フレーム毎に上書き記憶される（図４〜図６参照）。ここでは、残りの７５個（＝３００個−２２５個）の第１１２６フレームデータ〜第１２００フレームデータは、さらに、２２５個の第２記憶領域、第６記憶領域〜第８９８記憶領域のバッファ領域のうちの７５個の第２記憶領域、第６記憶領域〜第２９８記憶領域のバッファ領域のように、特定の間隔（たとえば開始位置を２個目として４個おき毎、ｌ＝２、なお、ｌ＝２は図６に示す第８９９上書順番データ（ステップ）が３であることで開始位置が２つ目と決定される）をあけて各領域が離反した部分のバッファ領域に、３順目の書き込みとして１フレーム毎に上書き記憶される（図７参照）。フレームデータ上書手段５５では、さらに具体的な上書処理として、記憶領域確保状況判断手段５４によってフレームデータの個数である所定のｎが記憶領域の個数である所定のｍより大きいと判断する制御が行われたとき（ｎ＞ｍ、２順目の上書き処理に進むとき）、第（ｍ＋１）フレームデータ、第（ｍ＋１）読出順番データ（タイマ）及び第（ｍ＋１）上書順番データ（ステップ）が、第ｍ上書順番データ（１つ前のステップ）に対応する第１記憶領域〜第ｍ記憶領域に含まれる第ｌ記憶領域（２順目の上からｌ個目の領域）に上書き記憶され、さらに第（ｌ−１）記憶領域（第ｌ記憶領域の１つ前の２順目の上から（ｌ−１）個目の領域）に記憶された第（ｌ−１）読出順番データ（１つ前のタイマ）及び第（ｌ−１）上書順番データ（１つ前のステップ）に、第ｌ記憶領域に記憶された第ｌ読出順番データ及び第ｌ上書順番データが和算処理（１つ前のタイマと１つ前のステップとを和算処理）され上書き記憶される。ここで、第ｌ記憶領域とは、９００個の第１記憶領域〜第９００記憶領域のバッファ領域のうち特定の一部分である記憶領域の開始位置であって、たとえば開始位置を４個目とすると、ｌ＝４となるので、第（ｌ−１）記憶領域、第ｌ記憶領域は、それぞれ第３記憶領域、第４記憶領域となる。また、第（ｍ＋１）フレームデータとは、２順目以降のフレームデータであって、ｍ＝９００であるときは、第（ｍ＋１）フレームデータは、第９０１フレームデータとなり、このフレームデータが第ｌ記憶領域（＝第４記憶領域）に上書き記憶される。さらに、第（ｌ−１）読出順番データ（１つ前のタイマ）及び第（ｌ−１）上書順番データ（１つ前のステップ）に、第ｌ記憶領域に記憶された第ｌ読出順番データ及び第ｌ上書順番データが和算処理されて上書き記憶される。具体的には、第（ｌ−１）読出順番データ（第３読出順番データ＝１つ前のタイマ）、第（ｌ−１）上書順番データ（第３上書順番データ＝１つ前のステップ）、第ｌ読出順番データ（第４読出順番データ）、第ｌ上書順番データ（第４上書順番データ）の値が１であるので（図４参照）、第（ｌ−１）読出順番データ（第３読出順番データ＝１つ前のタイマ）、第（ｌ−１）上書順番データ（第３上書順番データ＝１つ前のステップ）は、それぞれ第（ｌ−１）読出順番データ（第３読出順番データ＝１つ前のタイマ）＋第ｌ読出順番データ（第４読出順番データ）＝１＋１＝２、第（ｌ−１）上書順番データ（第３上書順番データ＝１つ前のステップ）＋第ｌ上書順番データ（第４上書順番データ）＝１＋１＝２が上書き記憶される（図５参照）。さらに、これらの処理を４個おきずつ繰り返すことによって、２２５個の第４記憶領域、第８記憶領域〜第９００記憶領域のバッファ領域に、２２５個の第９０１フレームデータ〜第１１２５フレームデータが２順目の書き込みとして１フレーム毎に上書き記憶される（図６参照）。さらに、さらに、これらの処理を第２記憶領域から４個おきずつ繰り返すことによって、２２５個の第２記憶領域、第６記憶領域〜第８９８記憶領域のバッファ領域のうちの７５個の第２記憶領域、第６記憶領域〜第２９８記憶領域のバッファ領域のように、特定の間隔をあけて各領域が離反した部分のバッファ領域に、３順目の書き込みとして１フレーム毎に上書き記憶される（図７参照）。フレームデータ上書手段５５では、記憶領域確保状況判断手段５４によって所定の記憶領域にフレームデータをさらに記憶可能な領域が確保されていないと判断されたとき、フレームデータ記憶手段５３によってフレームデータが記憶された所定の記憶領域の特定の一部分である記憶領域に、フレームデータの特定の一部分であるフレームデータが上書き記憶され、ＲＡＭ１２の各記憶領域のバッファ領域に格納される。
【００７０】
フレームデータ記憶停止手段５６は、フレームデータ記憶手段５３によってフレームデータを所定の間隔毎にＣＰＵ７によって所定の記憶領域に記憶するのを停止する制御を行う機能を備えている。フレームデータ記憶停止手段５６では、フレームデータ記憶手段５３によってフレームデータを所定の間隔毎にＣＰＵ７によって所定の記憶領域に記憶するのを停止する制御が行われる。
【００７１】
フレームデータ上書停止手段５７は、フレームデータ上書手段５５によってフレームデータを所定の間隔毎にＣＰＵ７によって所定の記憶領域に記憶するのを停止する制御を行う機能を備えている。フレームデータ上書停止手段５７では、フレームデータ上書手段５５によってフレームデータを所定の間隔毎にＣＰＵ７によって所定の記憶領域に記憶するのを停止する制御が行われる。
【００７２】
フレームデータ読出手段５８は、記憶領域確保状況判断手段５４によって所定の記憶領域にフレームデータをさらに記憶可能な領域が確保されていると判断されたとき、フレームデータ記憶手段５３によって記憶されたフレームデータをＣＰＵ７によって読み出す制御を行う機能を備えている。フレームデータ読出手段５８では、記憶領域確保状況判断手段５４によって所定の記憶領域にフレームデータをさらに記憶可能な領域が確保されていると判断されたとき、フレームデータ記憶手段５３によって記憶されたフレームデータをＣＰＵ７によって読み出す制御が行われる。ここでは、記憶領域確保状況判断手段５４によって所定の記憶領域にフレームデータをさらに記憶可能な領域が確保されていると判断されたとき、すなわち、バッファ領域にフレームデータを記憶するスペースに余裕があると判断されたときであって、具体的には、バッファ領域の総量が、９００個であり、１０秒（６００フレーム＝第１フレームデータ〜第６００フレームデータの６００個のフレームデータ）のリプレイ動画（図１４に示す投手キャラクタ７１が打者キャラクタ７０から三振を奪ったリプレイ動画）の場合、６００個の第１記憶領域〜第６００記憶領域のバッファ領域に第１フレームデータ〜第６００フレームデータの６００個のフレームデータが記憶され、フレームデータの総量（６００個）がバッファ領域の総量（９００個）以下のときである。フレームデータ読出手段５８では、６００個の第１記憶領域〜第６００記憶領域のバッファ領域に記憶された６００個の第１フレームデータ〜第６００フレームデータを変換することなくそのまま読み出す処理が行われる。フレームデータ読出手段５８では、さらに具体的なＣＰＵ７の処理として、記憶領域確保状況判断手段５４によってフレームデータの個数である所定のｎが記憶領域の個数である所定のｍより小さいと判断する制御が行われたとき（ｎ＜ｍ、１順目で終わるとき）すなわち、バッファ領域にフレームデータを記憶するスペースに余裕があると判断されたとき、１０秒（６００フレーム＝第１フレームデータ〜第６００フレームデータの６００個のフレームデータ）のリプレイ動画の場合、フレームデータ記憶機能によって記憶された第１フレームデータ〜第６００フレームデータを制御部によってそのまま読み出される。
【００７３】
読出停止命令データ書込手段５９は、フレームデータ記憶手段５３またはフレームデータ上書手段５５において、所定の記憶領域の終端部分である記憶領域に、ＣＰＵ７によってフレームデータ読出手段５８またはフレームデータ補完読出手段６０においてフレームデータを読み出すときに読み出しを停止するための命令である読出停止命令データを書き込みし記憶する機能を備えている。読出停止命令データ書込手段５９では、フレームデータ記憶手段５３またはフレームデータ上書手段５５において、所定の記憶領域の終端部分である記憶領域に、ＣＰＵ７によってフレームデータ読出手段５８またはフレームデータ補完読出手段６０においてフレームデータを読み出すときに読み出しを停止するための命令である読出停止命令データが書き込まれ記憶される。ここで、フレームデータの終端部分を意味する読出停止命令データ（エンドコード）とは、１０秒（６００フレーム）のリプレイ動画（図１４に示す投手キャラクタ７１が打者キャラクタ７０から三振を奪ったリプレイ動画）の場合、６００個目の第６００フレームデータ（図示しないが、第６００上書順番データがエンドコードを意味する０の数値データ）、２０秒（１２００フレーム）のリプレイ動画（図１６に示す打者キャラクタ７０が投手キャラクタ７１から逆転ホームランを打ったときベンチ選手キャラクタ７２が歓喜しているベンチシーンのリプレイ動画）の場合、１２００個目の第１２００フレームデータであって、フレームデータの終端部分に読出停止命令データ（図７に示すように、１２００個目のデータに相当する第２９８上書順番データがエンドコードを意味する０の数値データ）を書き込むことにより、フレームデータ読出手段５８またはフレームデータ補完読出手段６０においてフレームデータを読み出すときに読み出しが停止される。
【００７４】
フレームデータ補完読出手段６０は、記憶領域確保状況判断手段５４によって所定の記憶領域にフレームデータをさらに記憶可能な領域が確保されていないと判断されたとき、フレームデータ記憶手段５３及びフレームデータ上書手段５５によって記憶されたフレームデータを補完処理して得られたフレームデータをＣＰＵ７によってフレームデータとして読み出す制御を行う機能を備えている。フレームデータ補完読出手段６０では、記憶領域確保状況判断手段５４によって所定の記憶領域にフレームデータをさらに記憶可能な領域が確保されていないと判断されたとき、フレームデータ記憶手段５３及びフレームデータ上書手段５５によって記憶されたフレームデータを補完処理して得られたフレームデータをＣＰＵ７によってフレームデータとして読み出す制御が行われる。フレームデータ補完読出手段６０では、記憶領域確保状況判断手段５４によって所定の記憶領域にフレームデータをさらに記憶可能な領域が確保されていないと判断されたとき、すなわち、バッファ領域にフレームデータを記憶するスペースに余裕がないと判断されたときであって、具体的には、バッファ領域の総量が、９００個であり、２０秒（１２００フレーム＝第１フレームデータ〜第１２００フレームデータの１２００個のフレームデータ）のリプレイ動画（図１６に示す打者キャラクタ７０が投手キャラクタ７１から逆転ホームランを打ったときベンチ選手キャラクタ７２が歓喜しているベンチシーンのリプレイ動画）の場合、９００個の第１記憶領域〜第９００記憶領域のバッファ領域に第１フレームデータ〜第９００フレームデータの９００個のフレームデータが記憶され、フレームデータの総量（１２００個）がバッファ領域の総量（９００個）を超えているときである。フレームデータ補完読出手段６０では、９００個の第１記憶領域〜第９００記憶領域のバッファ領域に記憶された９００個の第１フレームデータ〜第１２００フレームデータ（１２００個のフレームデータのうち、第１フレームデータ〜第９００フレームデータの９００個のフレームデータが１順目の書き込みとして記憶され（図３参照）、次の２２５個の第９０１フレームデータ〜第１１２５フレームデータが２順目の書き込みとして上書き記憶され（図４〜図６参照）、さらに７５個の第１１２６フレームデータ〜第１２００フレームデータが３順目の書き込みとして上書き記憶されるため（図７参照）、全体として９００個のフレームデータが記憶される）を、補完処理して読み出す処理が行われる。ここで、フレームデータの補完処理とは、たとえば、特定の位置のフレームデータを基準となるフレームデータからの増分の比率と残りの比率とを読み込み先のフレームデータと基準となるフレームデータとにそれぞれ乗算したものを和算して算出する演算処理であって、本来１２００個分のフレームデータがあるのに対して現在９００個分のフレームデータしかないため残りの３００個分のフレームデータを補完する（より元のフレームデータに近い形で復元する）ための処理である。さらに、具体的な読み出し処理としては、フレームデータ補完読出手段６０では、第（ｎ−ｋ）読出順番データ（ｋ個前のタイマ）に対応する領域が第ｎ記憶領域（ｋ個前のタイマがｎ）であるとき第ｎフレームデータを制御部によってそのまま読み出す制御を行い、第（ｎ−ｋ）読出順番データ（ｋ個前のタイマ）に対応する領域が第（ｎ＋ｊ）記憶領域（ｊ個後のタイマ、ｊ＝１、２、・・・）であるとき第（ｎ−ｋ）フレームデータと第（ｎ＋ｊ）フレームデータとを補完処理して得られたフレームデータが第ｎフレームデータとして読み出される。ここで、第（ｎ−ｋ）読出順番データとは、第ｎ読出順番データのｋ個前の読出順番データであり、第（ｎ＋ｊ）読出順番データとは、第ｎ読出順番データのｊ個後の読出順番データであって、たとえばｋ＝１、ｊ＝１とすると、第（ｎ−１）読出順番データ（１個前のタイマ）に対応する領域が第ｎ記憶領域（１個前のタイマがｎ）であるとき第ｎフレームデータをそのまま読み出す制御を行い、第（ｎ−１）読出順番データ（１個前のタイマ）に対応する領域が第（ｎ＋１）記憶領域（１個後のタイマ）であるとき第（ｎ−１）フレームデータと第（ｎ＋１）フレームデータとを補完処理して得られたフレームデータが第ｎフレームデータとして読み出される。さらに、具体的な補完処理としては、フレームデータ補完読出手段６０では、第（ｎ−ｋ）読出順番データがｈ［ｈ＝１、２、・・・］であり、第（ｎ−ｋ）読出順番データを基準として増加した読出順番データがｉ［ｉ＝１、２、・・・］であり、第（ｎ−ｉ）読出順番データに対応する領域が第（ｎ＋ｊ）記憶領域［ｊ＝ｈ−ｉ、ｎ＋ｊ＝ｎ＋ｈ−ｉ］であるとき、第（ｎ−ｉ）フレームデータに（１−ｄ）を乗算処理［ｄ＝（ｉ／ｈ）、１−ｄ＝１−（ｉ／ｈ）］して得られたデータと、第（ｎ＋ｊ）フレームデータにｄを乗算処理［ｄ＝（ｉ／ｈ）］して得られたデータとを和算処理して得られたフレームデータをＣＰＵ７によって第ｎフレームデータとして読み出す制御が行われる。具体的には、ｈ＝２、ｉ＝１、ｊ＝ｈ−ｉ＝２−１＝１であるとき、ｄ＝（１／２）、１−ｄ＝１−（１／２）＝（１／２）となるので、第ｎフレームデータは、［第（ｎ−１）フレームデータ＊（１／２）］＋［第（ｎ＋１）フレームデータ＊（１／２）］と算出される。具体的には、図７に示すように、３順目の１２００個目のデータに相当する第２９８フレームデータ（データ１（Ｘ）、データ２（Ｙ））は、（５２、２２０）と上書き記憶されているが、第２９８フレームデータ（データ１（Ｘ）、データ２（Ｙ））を読み出すときには、［第（ｎ−１）フレームデータ＊（１／２）］＋［第（ｎ＋１）フレームデータ＊（１／２）］の算出方法によって、第２９８フレームデータ（データ１（Ｘ）、データ２（Ｙ））＝［第２９７フレームデータ（データ１（Ｘ）、データ２（Ｙ））＊（１／２）］＋［第２９９フレームデータ（データ１（Ｘ）、データ２（Ｙ））＊（１／２）］＝［第２９７フレームデータ（５８、２２３））＊（１／２）］＋［第２９９フレームデータ（６０、２２５）＊（１／２）］＝（５９、２２４）と補完されて読み出される。フレームデータ補完読出手段６０では、９００個の第１記憶領域〜第９００記憶領域のバッファ領域に記憶された９００個の第１フレームデータ〜第１２００フレームデータを補完処理して読み出す処理が行われる。
【００７５】
動画リプレイ表示手段６１は、フレームデータ読出手段５８能またはフレームデータ補完読出手段６０によって読み出されたフレームデータを基にして、ＣＰＵ７によってゲームキャラクタに関する動画データを生成しテレビジョンモニタ２０にリプレイ表示する制御を行う機能を備えている。動画リプレイ表示手段６１では、フレームデータ読出手段５８またはフレームデータ補完読出手段６０によって読み出されたフレームデータを基にして、ＣＰＵ７によってゲームキャラクタに関する動画データを生成しテレビジョンモニタ２０にリプレイ表示する制御が行われる。動画リプレイ表示手段６１では、記憶領域確保状況判断手段５４によって所定の記憶領域にフレームデータをさらに記憶可能な領域が確保されていると判断されたとき、すなわち、バッファ領域にフレームデータを記憶するスペースに余裕があると判断されたとき、具体的には、１０秒（６００フレーム）のリプレイ動画（図１４に示す投手キャラクタ７１が打者キャラクタ７０から三振を奪ったリプレイ動画）の場合、フレームデータ読出手段５８によってそのまま読み出された６００個の第１記憶領域〜第６００記憶領域のバッファ領域に記憶された６００個の第１フレームデータ〜第６００フレームデータを基にして、ゲームキャラクタに関する動画データを生成して図１４に示すリプレイデモ再生表示画面４０がテレビジョンモニタ２０に表示される。また、記憶領域確保状況判断手段５４によって所定の記憶領域にフレームデータをさらに記憶可能な領域が確保されていないと判断されたとき、すなわち、バッファ領域にフレームデータを記憶するスペースに余裕がないと判断されたとき、具体的には、２０秒（１２００フレーム）のリプレイ動画（図１６に示す打者キャラクタ７０が投手キャラクタ７１から逆転ホームランを打ったときベンチ選手キャラクタ７２が歓喜しているベンチシーンのリプレイ動画）の場合、フレームデータ補完読出手段６０によって補完処理して読み出された９００個の第１記憶領域〜第９００記憶領域のバッファ領域に記憶された９００個の第１フレームデータ〜第１２００フレームデータを基にして、ゲームキャラクタに関する動画データを生成して図１６に示すリプレイデモ再生表示画面４０がテレビジョンモニタ２０に表示される。
【００７６】
図１４に示すリプレイデモ再生表示画面４０は、投手キャラクタ７１を注視点とした投手キャラクタ７１がボールオブジェクト７３を投球する動作画面であって、ここでは、バックネット側にカメラを配置したアングルとなっている。ここで、投手キャラクタ７１が打者キャラクタ７０から三振を奪ったときは、投手キャラクタ７１がボールオブジェクト７３を投球してから、たとえば打者キャラクタ７０が空振り三振するまでの様子の動画が１０秒（６００フレーム）となるようにリプレイ表示されるようになっている。また、リプレイデモ再生表示画面４０には、画面の右上部分にリプレイ表示である旨を示すための「Ｒｅｐｌａｙ」の文字キャラクタからなるリプレイ文字キャラクタ８０が表示されるようになっている。
【００７７】
図１５に示すリプレイデモ再生表示画面４０は、打者キャラクタ７０を注視点とした打者キャラクタ７０がホームランを打ったときの動作画面であって、ここでは、バックネット側にカメラを配置したアングルとなっている。ここでは、打者キャラクタ７０がホームランを打ったときは、投手キャラクタ７１がボールオブジェクト７３を投球してから、打者キャラクタ７０が打撃したボールオブジェクト７３がスタンドに入り、ホームランを打った打者キャラクタ７０が走りながらガッツポーズをするまでの様子の動画が１５秒（９００フレーム）となるようにリプレイ表示されるようになっている。また、リプレイデモ再生表示画面４０では、画面の右上部分にリプレイ表示である旨を示すための「Ｒｅｐｌａｙ」の文字キャラクタからなるリプレイ文字キャラクタ８０が表示されるようになっている。
【００７８】
図１６に示すリプレイデモ再生表示画面４０は、ベンチ選手キャラクタ７２を注視点とした打者キャラクタ７０が逆転ホームランを打ったときの動作画面であって、ここでは、投手キャラクタ７１がボールオブジェクト７３を投球してから、打者キャラクタ７０が打撃したボールオブジェクト７３がスタンドに入り、ホームランを打った打者キャラクタ７０が走りながらガッツポーズをする様子に加えて、ホームランを打った打者キャラクタ７０と同じチームのベンチ選手キャラクタ７２がホームランに対して歓喜している様子の動画が２０秒（１２００フレーム）となるようにリプレイ表示されるようになっている。また、リプレイデモ再生表示画面４０では、画面の右上部分にリプレイ表示である旨を示すための「Ｒｅｐｌａｙ」の文字キャラクタからなるリプレイ文字キャラクタ８０が表示されるようになっている。
【００７９】
このゲームプログラムでは、まず、記憶領域確保手段５２によって、ＲＡＭ１２の所定の記憶領域において、所定のフレームにおけるゲームキャラクタに関するフレームデータを、ＣＰＵ７によって記憶可能に確保する制御が行われる。次に、フレームデータ記憶手段５３によって、フレームデータを、所定の間隔毎にＣＰＵ７によって所定の記憶領域に記憶する制御が行われる。次に、記憶領域確保状況判断手段５４によって、フレームデータ記憶手段５３によってフレームデータを記憶する制御が行われた所定の記憶領域に、フレームデータをさらに記憶可能な領域が確保されているか否かをＣＰＵ７によって判断する制御が行われる。次に、フレームデータ上書手段５５によって、記憶領域確保状況判断手段５４によって所定の記憶領域にフレームデータをさらに記憶可能な領域が確保されていないと判断されたとき、フレームデータ記憶手段５３によってフレームデータを記憶する制御が行われた所定の記憶領域の特定の一部分である記憶領域に、ＣＰＵ７によってフレームデータの特定の一部分であるフレームデータを上書きし記憶する制御が行われる。次に、フレームデータ読出手段５８によって、記憶領域確保状況判断手段５４によって所定の記憶領域にフレームデータをさらに記憶可能な領域が確保されていると判断されたとき、フレームデータ記憶手段５３によって記憶されたフレームデータをＣＰＵ７によって読み出す制御が行われる。次に、フレームデータ補完読出手段６０によって、記憶領域確保状況判断手段５４によって所定の記憶領域にフレームデータをさらに記憶可能な領域が確保されていないと判断されたとき、フレームデータ記憶手段５３及びフレームデータ上書手段５５によって記憶されたフレームデータを補完処理して得られたフレームデータをＣＰＵ７によってフレームデータとして読み出す制御が行われる。そして、動画リプレイ表示手段６１によって、フレームデータ読出手段５８またはフレームデータ補完読出手段６０によって読み出されたフレームデータを基にして、ＣＰＵ７によってゲームキャラクタに関する動画データを生成しモニタにリプレイ表示する制御が行われる。
【００８０】
ここでは、記憶領域確保状況判断手段５４によってバッファ領域にフレームデータを記憶するスペースに余裕があると判断されたとき、１０秒（６００フレーム）のリプレイ動画（図１４に示す投手キャラクタ７１が打者キャラクタ７０から三振を奪ったリプレイ動画）の場合、フレームデータ読出手段５８によってそのまま読み出されたバッファ領域に記憶されたフレームデータを基にして、動画リプレイ表示手段６１によってゲームキャラクタに関する動画データを生成してテレビジョンモニタ２０にリプレイ表示され、記憶領域確保状況判断手段５４によってバッファ領域にフレームデータを記憶するスペースに余裕がないとき、２０秒（１２００フレーム）のリプレイ動画（図１６に示す打者キャラクタ７０が投手キャラクタ７１から逆転ホームランを打ったときベンチ選手キャラクタ７２が歓喜しているベンチシーンのリプレイ動画）の場合、フレームデータ補完読出手段６０によって補完処理して読み出されたバッファ領域に記憶されたフレームデータを基にして、動画リプレイ表示手段６１によってゲームキャラクタに関する動画データを生成してテレビジョンモニタ２０にリプレイ表示されるようになっているので、リプレイ動画の画質の低減を可及的に抑えながら、長時間のリプレイ動画を表示させることができる。
【００８１】
〔野球ゲームにおけるリプレイデモ表示処理システム実行時の処理フロー〕
本実施形態の野球ゲームにおけるリプレイデモ表示処理システムを、図１１に示すフローチャートを用いて説明する。ここで、野球ゲームにおけるリプレイデモ表示とは、野球ゲームにおいて３アウトになって攻撃側と守備側とが交代（チェンジ）するときの動作画面をテレビジョンモニタ２０に表示することである。
【００８２】
まず、図１１に示すように、ステップＳ１１において、ＲＡＭ１２の所定の記憶領域（バッファ領域）において、所定のフレームにおけるゲームキャラクタに関するフレームデータを、ＣＰＵ７によって記憶可能に確保する記憶領域確保処理が行われる。ステップＳ１１の記憶領域確保処理では、記憶領域のすべてのデータをクリア（初期化、フォーマット）することによって、バッファ領域の複数の領域のフレームデータがすべてリセットされ、フレームデータが１個も記憶されていない初期状態になる。ステップＳ１１の記憶領域確保処理では、ＲＡＭ１２の所定の記憶領域において、所定のフレームにおけるゲームキャラクタに関するフレームデータが記憶可能に確保される。ステップＳ１１の記憶領域確保処理が行われると、ステップＳ１２のフレームデータ記憶処理へ移行する。
【００８３】
ステップＳ１２のフレームデータ記憶処理では、フレームデータを、所定の間隔毎にＣＰＵ７によって所定の記憶領域に記憶する制御が行われる。具体的には、１０秒（６００フレーム）のリプレイ動画（図１４に示す投手キャラクタ７１が打者キャラクタ７０から三振を奪ったリプレイ動画）の場合、９００個のバッファ領域のうち第１記憶領域〜第６００記憶領域のバッファ領域に６００個のフレームデータが１フレーム毎に記憶される。また、１５秒（９００フレーム）のリプレイ動画（図１５に示す打者キャラクタ７０が投手キャラクタ７１からホームランを打ったリプレイ動画）の場合、９００個のバッファ領域のうち第１記憶領域〜第９００記憶領域のバッファ領域に９００個のフレームデータが１フレーム毎に記憶される。また、２０秒（１２００フレーム）のリプレイ動画（図１６に示す打者キャラクタ７０が投手キャラクタ７１から逆転ホームランを打ったときベンチ選手キャラクタ７２が歓喜しているベンチシーンのリプレイ動画）の場合、９００個の第１記憶領域〜第９００記憶領域のバッファ領域に１２００個のフレームデータのうち９００個のフレームデータが１順目の書き込みとして１フレーム毎に記憶される。さらに、ステップＳ１２のフレームデータ記憶処理では、所定の第１フレーム〜第９００フレームにおけるフレームデータである第１フレームデータ〜第９００フレームデータ（位置データ、角度データの数値データ）と、第１フレームデータ〜第９００フレームデータを読み出す順番を指定するフレームデータである第１読出順番データ〜第９００読出順番データ（以下、タイマと呼称する、１、２、３・・・の整数となる数値データ）と、第１フレームデータ〜第９００フレームデータを上書きする順番を指定するフレームデータである第１上書順番データ〜第９００上書順番データ（以下、ステップとする、１、２、３・・・の整数、エンドコード＝０を含む数値データ）とが、第１記憶領域〜第９００記憶領域にそれぞれ記憶される。ステップＳ１２のフレームデータ記憶処理では、１順目の各フレームデータ（図３に示す上書順番データ（ステップ）、読出順番データ（タイマ）、フレームデータ（位置データの実座標データ、角度データの実角度データ））がＲＡＭ１２の各記憶領域のバッファ領域に格納される。ステップＳ１２のフレームデータ記憶処理
が行われると、ステップＳ１３記憶領域確保状況判断処理へ移行する。
【００８４】
ステップＳ１３の記憶領域確保状況判断処理では、ステップＳ１２のフレームデータ記憶処理によってフレームデータを記憶する制御が行われた所定の記憶領域に、フレームデータをさらに記憶可能な領域が確保されているか否かをＣＰＵ７によって判断する制御が行われる。具体的には、フレームデータの個数である所定のｎが記憶領域の個数である所定のｍより大きいか否かが判断される。フレームデータの総量が、６００個であるとき、すなわち、１０秒（６００フレーム＝第１フレームデータ〜第６００フレームデータの６００個のフレームデータ）のリプレイ動画の場合、すなわち、ｍ＝９００、ｎ＝６００であるとき、ステップＳ１３の記憶領域確保状況判断処理によってｎ＜ｍであると判断され、バッファ領域にフレームデータを記憶するスペースに余裕があると判断される。なお、フレームデータの総量が、９００個であるとき、すなわち、１５秒（９００フレーム＝第１フレームデータ〜第９００フレームデータの９００個のフレームデータ）のリプレイ動画の場合、すなわち、ｍ＝９００、ｎ＝９００であるとき、ステップＳ１３の記憶領域確保状況判断処理によってｎ＝ｍであると判断され、バッファ領域にフレームデータを記憶するスペースに余裕がないと判断される。また、フレームデータの総量が、１２００個であるとき、すなわち、２０秒（１２００フレーム＝第１フレームデータ〜第１２００フレームデータの１２００個のフレームデータ）のリプレイ動画の場合、すなわち、ｍ＝９００、ｎ＝１２００であるとき、ステップＳ１３の記憶領域確保状況判断処理によってｎ＞ｍであると判断され、バッファ領域にフレームデータを記憶するスペースに余裕がないと判断される。ステップＳ１３の記憶領域確保状況判断処理では、バッファ領域にフレームデータを記憶するスペースに余裕があるか、バッファ領域にフレームデータを記憶するスペースがないかが判断される。
【００８５】
ステップＳ１３の記憶領域確保状況判断処理において、バッファ領域にフレームデータを記憶するスペースに余裕があるとき（ｎ＜ｍのとき、１０秒（６００フレーム）のリプレイ動画（図１４に示す投手キャラクタ７１が打者キャラクタ７０から三振を奪ったリプレイ動画）の場合）、ステップＳ２０へ移行し、フレームデータが終了したか否かが判断される。ステップＳ２０において、フレームデータが終了したと判断されると、ステップＳ２１のフレームデータ記憶停止処理へ移行し、フレームデータが終了していないと判断されると、ステップＳ１２のフレームデータ記憶処理へ戻る。
【００８６】
ステップＳ２１のフレームデータ記憶停止処理では、ステップＳ１２のフレームデータ記憶処理によってフレームデータを所定の間隔毎にＣＰＵ７によって所定の記憶領域に記憶するのを停止する制御が行われる。ステップＳ２１のフレームデータ記憶停止処理が行われると、ステップＳ２２の読出停止命令データ書込処理へ移行する。
【００８７】
ステップＳ２２の読出停止命令データ書込処理では、ステップＳ１２のフレームデータ記憶処理において、所定の記憶領域の終端部分である記憶領域に、ＣＰＵ７によってステップＳ２３のフレームデータ読出処理においてフレームデータを読み出すときに読み出しを停止するための命令である読出停止命令データが書き込まれ記憶される。ここで、フレームデータの終端部分を意味する読出停止命令データ（エンドコード）とは、１０秒（６００フレーム）のリプレイ動画（図１４に示す投手キャラクタ７１が打者キャラクタ７０から三振を奪ったリプレイ動画）の場合、６００個目の第６００フレームデータ（図示しないが、第６００上書順番データがエンドコードを意味する０の数値データ）であって、フレームデータの終端部分に読出停止命令データ（エンドコードを意味する０の数値データ）を書き込むことにより、ステップＳ２３のフレームデータ読出処理においてフレームデータを読み出すときに読み出しが停止される。ステップＳ２２の読出停止命令データ書込処理が行われると、ステップＳ２３のフレームデータ読出処理へ移行する。
【００８８】
ステップＳ２３のフレームデータ読出処理では、ステップＳ１３の記憶領域確保状況判断処理によって所定の記憶領域にフレームデータをさらに記憶可能な領域が確保されていると判断されたとき、ステップＳ１２のフレームデータ記憶処理によって記憶されたフレームデータをＣＰＵ７によって読み出す制御が行われる。ここでは、ステップＳ１３の記憶領域確保状況判断処理によって所定の記憶領域にフレームデータをさらに記憶可能な領域が確保されていると判断されたとき、すなわち、バッファ領域にフレームデータを記憶するスペースに余裕があると判断されたときであって、具体的には、バッファ領域の総量が、９００個であり、１０秒（６００フレーム＝第１フレームデータ〜第６００フレームデータの６００個のフレームデータ）のリプレイ動画（図１４に示す投手キャラクタ７１が打者キャラクタ７０から三振を奪ったリプレイ動画）の場合、６００個の第１記憶領域〜第６００記憶領域のバッファ領域に第１フレームデータ〜第６００フレームデータの６００個のフレームデータが記憶され、フレームデータの総量（６００個）がバッファ領域の総量（９００個）以下のときである。フレームデータ読出手段５８では、６００個の第１記憶領域〜第６００記憶領域のバッファ領域に記憶された６００個の第１フレームデータ〜第６００フレームデータを変換することなくそのまま読み出す処理が行われる。ステップＳ２３のフレームデータ読出処理が行われると、ステップＳ１９の動画リプレイ表示処理へ移行する。
【００８９】
ステップＳ１３の記憶領域確保状況判断処理において、バッファ領域にフレームデータを記憶するスペースに余裕がないとき（ｎ＞ｍのとき、２０秒（１２００フレーム）のリプレイ動画（図１６に示す打者キャラクタ７０が投手キャラクタ７１から逆転ホームランを打ったときベンチ選手キャラクタ７２が歓喜しているベンチシーンのリプレイ動画）の場合）、ステップＳ１４のフレームデータ上書処理へ移行する。
【００９０】
ステップＳ１４のフレームデータ上書処理では、ステップＳ１３の記憶領域確保状況判断処理によって所定の記憶領域にフレームデータをさらに記憶可能な領域が確保されていないと判断されたとき、ステップＳ１２のフレームデータ記憶処理によってフレームデータを記憶する制御が行われた所定の記憶領域の特定の一部分である記憶領域に、ＣＰＵ７によってフレームデータの特定の一部分であるフレームデータを上書きし記憶する制御が行われる。ここでは、ステップＳ１３の記憶領域確保状況判断処理によって所定の記憶領域にフレームデータをさらに記憶可能な領域が確保されていないと判断されたとき、すなわち、バッファ領域にフレームデータを記憶するスペースに余裕がないと判断されたときであって、具体的には、たとえば、バッファ領域の総量が、９００個であり、２０秒（１２００フレーム＝第１フレームデータ〜第１２００フレームデータの１２００個のフレームデータ）のリプレイ動画（図１６に示す打者キャラクタ７０が投手キャラクタ７１から逆転ホームランを打ったときベンチ選手キャラクタ７２が歓喜しているベンチシーンのリプレイ動画）の場合、９００個の第１記憶領域〜第９００記憶領域のバッファ領域に第１フレームデータ〜第９００フレームデータの９００個のフレームデータが記憶され（図３が１順目の書き込み）、フレームデータの総量（１２００個）がバッファ領域の総量（９００個）を超えているときである。ここでは、残りの第９０１フレームデータ〜第１２００フレームデータの３００個のフレームデータが、９００個の第１記憶領域〜第９００記憶領域のバッファ領域のうち特定の一部分である記憶領域に上書き記憶される。
【００９１】
ステップＳ１４のフレームデータ上書処理では、さらに具体的な上書処理として、ステップＳ１３の記憶領域確保状況判断処理によってフレームデータの個数である所定のｎが記憶領域の個数である所定のｍより大きいと判断する制御が行われたとき（ｎ＞ｍ、２順目の上書き処理に進むとき）、第（ｍ＋１）フレームデータ、第（ｍ＋１）読出順番データ（タイマ）及び第（ｍ＋１）上書順番データ（ステップ）が、第ｍ上書順番データ（１つ前のステップ）に対応する第１記憶領域〜第ｍ記憶領域に含まれる第ｌ記憶領域（２順目の上からｌ個目の領域）に上書き記憶され、さらに第（ｌ−１）記憶領域（第ｌ記憶領域の１つ前の２順目の上から（ｌ−１）個目の領域）に記憶された第（ｌ−１）読出順番データ（１つ前のタイマ）及び第（ｌ−１）上書順番データ（１つ前のステップ）に、第ｌ記憶領域に記憶された第ｌ読出順番データ及び第ｌ上書順番データが和算処理（１つ前のタイマと１つ前のステップとを和算処理）され上書き記憶される。ここで、第ｌ記憶領域とは、９００個の第１記憶領域〜第９００記憶領域のバッファ領域のうち特定の一部分である記憶領域の開始位置であって、たとえば開始位置を４個目とすると、ｌ＝４となるので、第（ｌ−１）記憶領域、第ｌ記憶領域は、それぞれ第３記憶領域、第４記憶領域となる。また、第（ｍ＋１）フレームデータとは、２順目以降のフレームデータであって、ｍ＝９００であるときは、第（ｍ＋１）フレームデータは、第９０１フレームデータとなり、このフレームデータが第ｌ記憶領域（＝第４記憶領域）に上書き記憶される。さらに、第（ｌ−１）読出順番データ（１つ前のタイマ）及び第（ｌ−１）上書順番データ（１つ前のステップ）に、第ｌ記憶領域に記憶された第ｌ読出順番データ及び第ｌ上書順番データが和算処理されて上書き記憶される。具体的には、第（ｌ−１）読出順番データ（第３読出順番データ＝１つ前のタイマ）、第（ｌ−１）上書順番データ（第３上書順番データ＝１つ前のステップ）、第ｌ読出順番データ（第４読出順番データ）、第ｌ上書順番データ（第４上書順番データ）の値が１であるので（図４参照）、第（ｌ−１）読出順番データ（第３読出順番データ＝１つ前のタイマ）、第（ｌ−１）上書順番データ（第３上書順番データ＝１つ前のステップ）は、それぞれ第（ｌ−１）読出順番データ（第３読出順番データ＝１つ前のタイマ）＋第ｌ読出順番データ（第４読出順番データ）＝１＋１＝２、第（ｌ−１）上書順番データ（第３上書順番データ＝１つ前のステップ）＋第ｌ上書順番データ（第４上書順番データ）＝１＋１＝２が上書き記憶される（図５参照）。さらに、これらの処理を４個おきずつ繰り返すことによって、２２５個の第４記憶領域、第８記憶領域〜第９００記憶領域のバッファ領域に、２２５個の第９０１フレームデータ〜第１１２５フレームデータが２順目の書き込みとして１フレーム毎に上書き記憶される（図６参照）。さらに、さらに、これらの処理を第２記憶領域から４個おきずつ繰り返すことによって、２２５個の第２記憶領域、第６記憶領域〜第８９８記憶領域のバッファ領域のうちの７５個の第２記憶領域、第６記憶領域〜第２９８記憶領域のバッファ領域のように、特定の間隔をあけて各領域が離反した部分のバッファ領域に、３順目の書き込みとして１フレーム毎に上書き記憶される（図７参照）。
【００９２】
このようなステップＳ１４のフレームデータ上書処理では、図１２に示すように、まず、ステップＳ４１において、第（ｌ−１）読出順番データ（第３読出順番データ＝１つ前のタイマ）である１を読み出す処理が行われる。次に、ステップＳ４２において、第ｌ読出順番データ（第４読出順番データ）である１を読み出す処理が行われる。次に、ステップＳ４３において、第（ｌ−１）読出順番データ（第３読出順番データ＝１つ前のタイマ）を、（ｌ−１）読出順番データ（第３読出順番データ＝１つ前のタイマ）＋第ｌ読出順番データ（第４読出順番データ）＝１＋１＝２とする演算処理が行われる。次に、ステップＳ４４において、第（ｌ−１）読出順番データ（第３読出順番データ＝１つ前のタイマ）を、１から２に上書きする処理が行われる。そして、ステップＳ４５において、第（ｌ−１）上書順番データ（第３上書順番データ＝１つ前のステップ）である１を読み出す処理が行われる。次に、ステップＳ４６において、第ｌ上書順番データ（第４上書順番データ）である１を読み出す処理が行われる。次に、ステップＳ４７において、第（ｌ−１）上書順番データ（第３上書順番データ＝１つ前のステップ）を、（ｌ−１）上書順番データ（第３上書順番データ＝１つ前のタイマ）＋第ｌ上書順番データ（第４上書順番データ）＝１＋１＝２とする演算処理が行われる。次に、ステップＳ４８において、第（ｌ−１）上書順番データ（第３上書順番データ＝１つ前のステップ）を、１から２に上書きする処理が行われる。最後に、ステップＳ４８において、第ｌフレームデータを第ｌ記憶領域に記憶される。ステップＳ１４のフレームデータ上書処理が行われると、ステップＳ１５へ移行し、フレームデータが終了したか否かが判断される。ステップＳ２０において、フレームデータが終了したと判断されると、ステップＳ１６のフレームデータ上書停止処理へ移行し、フレームデータが終了していないと判断されると、ステップＳ１４のフレームデータ上書処理へ戻る。
【００９３】
ステップＳ１６のフレームデータ上書停止処理では、スステップＳ１４のフレームデータ上書処理によってフレームデータを所定の間隔毎にＣＰＵ７によって所定の記憶領域に記憶するのを停止する制御が行われる。ステップＳ１６のフレームデータ上書停止処理が行われると、ステップＳ１７の読出停止命令データ書込処理へ移行する。
【００９４】
ステップＳ１７の読出停止命令データ書込処理では、ステップＳ１４のフレームデータ上書処理において、所定の記憶領域の終端部分である記憶領域に、ＣＰＵ７によってステップＳ１８のフレームデータ補完読出処理においてフレームデータを読み出すときに読み出しを停止するための命令である読出停止命令データが書き込まれ記憶される。ここで、フレームデータの終端部分を意味する読出停止命令データ（エンドコード）とは、２０秒（１２００フレーム）のリプレイ動画（図１６に示す打者キャラクタ７０が投手キャラクタ７１から逆転ホームランを打ったときベンチ選手キャラクタ７２が歓喜しているベンチシーンのリプレイ動画）の場合、１２００個目の第１２００フレームデータであって、フレームデータの終端部分に読出停止命令データ（図７に示すように、１２００個目のデータに相当する第２９８上書順番データがエンドコードを意味する０の数値データ）を書き込むことにより、ステップＳ１８のフレームデータ補完読出処理においてフレームデータを読み出すときに読み出しが停止される。ステップＳ１７の読出停止命令データ書込処理が行われると、ステップＳ１８のフレームデータ補完読出処理へ移行する。
【００９５】
ステップＳ１８のフレームデータ補完読出処理では、ステップＳ１３の記憶領域確保状況判断処理によって所定の記憶領域にフレームデータをさらに記憶可能な領域が確保されていないと判断されたとき、ステップＳ１２のフレームデータ記憶処理及びステップＳ１４のフレームデータ上書処理によって記憶されたフレームデータを補完処理して得られたフレームデータをＣＰＵ７によってフレームデータとして読み出す制御が行われる。ステップＳ１８のフレームデータ補完読出処理では、ステップＳ１３の記憶領域確保状況判断処理によって所定の記憶領域にフレームデータをさらに記憶可能な領域が確保されていないと判断されたとき、すなわち、バッファ領域にフレームデータを記憶するスペースに余裕がないと判断されたときであって、具体的には、バッファ領域の総量が、９００個であり、２０秒（１２００フレーム＝第１フレームデータ〜第１２００フレームデータの１２００個のフレームデータ）のリプレイ動画（図１６に示す打者キャラクタ７０が投手キャラクタ７１から逆転ホームランを打ったときベンチ選手キャラクタ７２が歓喜しているベンチシーンのリプレイ動画）の場合、９００個の第１記憶領域〜第９００記憶領域のバッファ領域に第１フレームデータ〜第９００フレームデータの９００個のフレームデータが記憶され、フレームデータの総量（１２００個）がバッファ領域の総量（９００個）を超えているときである。フレームデータ補完読出手段６０では、９００個の第１記憶領域〜第９００記憶領域のバッファ領域に記憶された９００個の第１フレームデータ〜第１２００フレームデータ（１２００個のフレームデータのうち、第１フレームデータ〜第９００フレームデータの９００個のフレームデータが１順目の書き込みとして記憶され（図３参照）、次の２２５個の第９０１フレームデータ〜第１１２５フレームデータが２順目の書き込みとして上書き記憶され（図４〜図６参照）、さらに７５個の第１１２６フレームデータ〜第１２００フレームデータが３順目の書き込みとして上書き記憶されるため（図７参照）、全体として９００個のフレームデータが記憶される）を、補完処理して読み出す処理が行われる。
【００９６】
ステップＳ１８のフレームデータ補完読出処理では、さらに、具体的な読み出し処理としては、第（ｎ−ｋ）読出順番データ（ｋ個前のタイマ）に対応する領域が第ｎ記憶領域（ｋ個前のタイマがｎ）であるとき第ｎフレームデータを制御部によってそのまま読み出す制御を行い、第（ｎ−ｋ）読出順番データ（ｋ個前のタイマ）に対応する領域が第（ｎ＋ｊ）記憶領域（ｊ個後のタイマ、ｊ＝１、２、・・・）であるとき第（ｎ−ｋ）フレームデータと第（ｎ＋ｊ）フレームデータとを補完処理して得られたフレームデータが第ｎフレームデータとして読み出される。ここで、第（ｎ−ｋ）読出順番データとは、第ｎ読出順番データのｋ個前の読出順番データであり、第（ｎ＋ｊ）読出順番データとは、第ｎ読出順番データのｊ個後の読出順番データであって、たとえばｋ＝１、ｊ＝１とすると、第（ｎ−１）読出順番データ（１個前のタイマ）に対応する領域が第ｎ記憶領域（１個前のタイマがｎ）であるとき第ｎフレームデータをそのまま読み出す制御を行い、第（ｎ−１）読出順番データ（１個前のタイマ）に対応する領域が第（ｎ＋１）記憶領域（１個後のタイマ）であるとき第（ｎ−１）フレームデータと第（ｎ＋１）フレームデータとを補完処理して得られたフレームデータが第ｎフレームデータとして読み出される。
【００９７】
このようなステップＳ１８のフレームデータ補完読出処理では、図１３に示すように、ステップＳ５１において、第（ｎ−１）読出順番データ（１個前のタイマ）が１であるか否かが判断される。ステップＳ５１において、第（ｎ−１）読出順番データ（１個前のタイマ）が１であるときは、ステップＳ５２へ移行し、第ｎフレームデータがそのまま読み出される。ステップＳ５１において、第（ｎ−１）読出順番データ（１個前のタイマ）が１以外であるときは、ステップＳ５３へ移行し、第（ｎ−１）フレームデータを読み出し、さらに、ステップＳ５４において、第（ｎ＋１）フレームデータを読み出し、さらに、ステップＳ５５において、第（ｎ−１）フレームデータと第（ｎ＋１）フレームデータとを補完処理して得られたフレームデータが第ｎフレームデータとして読み出される。ステップＳ１８のフレームデータ補完読出処理が行われると、ステップＳ１９の動画リプレイ表示処理へ移行する。
【００９８】
ステップＳ１９の動画リプレイ表示処理では、ステップＳ２３のフレームデータ読出処理またはステップＳ１８のフレームデータ補完読出処理によって読み出されたフレームデータを基にして、ＣＰＵ７によってゲームキャラクタに関する動画データを生成しテレビジョンモニタ２０にリプレイ表示する制御が行われる。ステップＳ１９の動画リプレイ表示処理では、ステップＳ１３の記憶領域確保状況判断処理によって所定の記憶領域にフレームデータをさらに記憶可能な領域が確保されていると判断されたとき、すなわち、バッファ領域にフレームデータを記憶するスペースに余裕があると判断されたとき、具体的には、１０秒（６００フレーム）のリプレイ動画（図１４に示す投手キャラクタ７１が打者キャラクタ７０から三振を奪ったリプレイ動画）の場合、ステップＳ２３のフレームデータ読出処理によってそのまま読み出された６００個の第１記憶領域〜第６００記憶領域のバッファ領域に記憶された６００個の第１フレームデータ〜第６００フレームデータを基にして、ゲームキャラクタに関する動画データを生成して図１４に示すリプレイデモ再生表示画面４０がテレビジョンモニタ２０に表示される。また、ステップＳ１３の記憶領域確保状況判断処理によって所定の記憶領域にフレームデータをさらに記憶可能な領域が確保されていないと判断されたとき、すなわち、バッファ領域にフレームデータを記憶するスペースに余裕がないと判断されたとき、具体的には、２０秒（１２００フレーム）のリプレイ動画（図１６に示す打者キャラクタ７０が投手キャラクタ７１から逆転ホームランを打ったときベンチ選手キャラクタ７２が歓喜しているベンチシーンのリプレイ動画）の場合、ステップＳ１８のフレームデータ補完読出処理によって補完処理して読み出された９００個の第１記憶領域〜第９００記憶領域のバッファ領域に記憶された９００個の第１フレームデータ〜第１２００フレームデータを基にして、ゲームキャラクタに関する動画データを生成して図１６に示すリプレイデモ再生表示画面４０がテレビジョンモニタ２０に表示される。
【００９９】
ここでは、ステップＳ１３の記憶領域確保状況判断処理によってバッファ領域にフレームデータを記憶するスペースに余裕があると判断されたとき、１０秒（６００フレーム）のリプレイ動画（図１４に示す投手キャラクタ７１が打者キャラクタ７０から三振を奪ったリプレイ動画）の場合、ステップＳ２３のフレームデータ読出処理によってそのまま読み出されたバッファ領域に記憶されたフレームデータを基にして、ステップＳ１９の動画リプレイ表示処理によってゲームキャラクタに関する動画データを生成してテレビジョンモニタ２０にリプレイ表示され、ステップＳ１３の記憶領域確保状況判断処理によってバッファ領域にフレームデータを記憶するスペースに余裕がないとき、２０秒（１２００フレーム）のリプレイ動画（図１６に示す打者キャラクタ７０が投手キャラクタ７１から逆転ホームランを打ったときベンチ選手キャラクタ７２が歓喜しているベンチシーンのリプレイ動画）の場合、ステップＳ１８のフレームデータ補完読出処理によって補完処理して読み出されたバッファ領域に記憶されたフレームデータを基にして、ステップＳ１９の動画リプレイ表示処理によってゲームキャラクタに関する動画データを生成してテレビジョンモニタ２０にリプレイ表示されるようになっているので、リプレイ動画の画質の低減を可及的に抑えながら、長時間のリプレイ動画を表示させることができる。
【０１００】
〔他の実施形態〕
（ａ）  前記実施形態では、ゲームプログラムを適用しうるコンピュータの一例としての家庭用ビデオゲーム装置を用いた場合の例を示したが、ゲーム装置は、前記実施形態に限定されず、モニタが別体に構成されたゲーム装置、モニタが一体に構成されたゲーム装置、ゲームプログラムを実行することによってゲーム装置として機能するパーソナルコンピュータやワークステーションなどにも同様に適用することができる。
【０１０１】
（ｂ）  本発明には、前述したようなゲームを実行するプログラム、前述したようなゲームを実行するプログラム方法、およびこのプログラムを記録したコンピュータ読み取り可能な記録媒体も含まれる。この記録媒体としては、カートリッジ以外に、たとえば、コンピュータ読み取り可能なフレキシブルディスク、半導体メモリ、ＣＤ−ＲＯＭ、ＤＶＤ、ＭＯ、ＲＯＭカセット、その他のものが挙げられる。
【図面の簡単な説明】
【０１０２】
【図１】本発明の一実施形態によるビデオゲーム装置の基本構成図。
【図２】前記ビデオゲーム装置の機能ブロック図。
【図３】１順目の記憶処理が行われた各記憶領域（バッファ領域）における、上書順番データ（ステップ）、読出順番データ（タイマ）、フレームデータ（位置データの実座標データ、角度データの実角度データ）の一覧表。
【図４】２順目の１つ目（第４記憶領域）の上書き処理が行われた各記憶領域（バッファ領域）における、上書順番データ（ステップ）、読出順番データ（タイマ）、フレームデータ（位置データの実座標データ、角度データの実角度データ）の一覧表。
【図５】２順目の１つ目（第４記憶領域の１つ前の第３記憶領域）の上書き処理が行われた各記憶領域（バッファ領域）における、上書順番データ（ステップ）、読出順番データ（タイマ）、フレームデータ（位置データの実座標データ、角度データの実角度データ）の一覧表。
【図６】２順目の上書き処理が行われた各記憶領域（バッファ領域）における、上書順番データ（ステップ）、読出順番データ（タイマ）、フレームデータ（位置データの実座標データ、角度データの実角度データ）の一覧表。
【図７】３順目の上書き処理が行われた各記憶領域（バッファ領域）における、上書順番データ（ステップ）、読出順番データ（タイマ）、フレームデータ（位置データの実座標データ、角度データの実角度データ）の一覧表。
【図８】１順目の記憶処理が行われた各記憶領域（バッファ領域）における、上書順番データ（ステップ）、読出順番データ（タイマ）、フレームデータ（位置データの差分座標データ、角度データの差分角度データ）の一覧表。
【図９】２順目の上書き処理が行われた各記憶領域（バッファ領域）における、上書順番データ（ステップ）、読出順番データ（タイマ）、フレームデータ（位置データの差分座標データ、角度データの差分角度データ）の一覧表。
【図１０】３順目の上書き処理が行われた各記憶領域（バッファ領域）における、上書順番データ（ステップ）、読出順番データ（タイマ）、フレームデータ（位置データの差分座標データ、角度データの差分角度データ）の一覧表。
【図１１】リプレイデモ表示処理を説明するためのフローチャート。
【図１２】フレームデータ上書記憶処理を説明するためのフローチャート。
【図１３】フレームデータ補完読出処理を説明するためのフローチャート。
【図１４】投手奪三振リプレイ（１０秒、６００フレーム）のリプレイデモ再生表示画面を示すテレビジョンモニタ図。
【図１５】ホームランリプレイ（１５秒、９００フレーム）のリプレイデモ再生表示画面を示すテレビジョンモニタ図。
【図１６】逆転ホームランリプレイ（ベンチシーンリプレイ、２０秒、１２００フレーム）のリプレイデモ再生表示画面を示すテレビジョンモニタ図。
【符号の説明】
【０１０３】
１  制御部
２  記憶部
７  ＣＰＵ
１２  ＲＡＭ
２０  テレビジョンモニタ
４０  リプレイデモ再生表示画面
５０  キャラクタ表示手段
５１  キャラクタ動作手段
５２  記憶領域確保手段
５３  フレームデータ記憶手段
５４  記憶領域確保状況判断手段
５５  フレームデータ上書手段
５６  フレームデータ記憶停止手段
５７  フレームデータ上書停止手段
５８  フレームデータ読出手段
５９  読出停止命令データ書込手段
６０  フレームデータ補完読出手段
６１  動画リプレイ表示手段
７０  打者キャラクタ
７１  投手キャラクタ
７２  ベンチ選手キャラクタ
７３  ボールオブジェクト
８０  リプレイ文字キャラクタ
【図１】
2008301913.tif 000003
【図２】
2008301913.tif 000004
【図３】
2008301913.tif 000005
【図４】
2008301913.tif 000006
【図５】
2008301913.tif 000007
【図６】
2008301913.tif 000008
【図７】
2008301913.tif 000009
【図８】
2008301913.tif 000010
【図９】
2008301913.tif 000011
【図１０】
2008301913.tif 000012
【図１１】
2008301913.tif 000013
【図１２】
2008301913.tif 000014
【図１３】
2008301913.tif 000015
【図１４】
2008301913.tif 000016
【図１５】
2008301913.tif 000017
【図１６】
2008301913.tif 000018