説明

ゲームプログラム、ゲーム装置及びゲーム制御方法

【課題】リプレイ動画の画質の低減を可及的に抑えながら、長時間のリプレイ動画を表示させる。
【解決手段】S13の記憶領域確保状況判断処理によってバッファ領域にフレームデータを記憶するスペースに余裕があると判断されたとき、S23のフレームデータ読出処理によってそのまま読み出されたバッファ領域に記憶されたフレームデータを基にして、ゲームキャラクタに関する動画データを生成してテレビジョンモニタ20にリプレイ表示され、S13の記憶領域確保状況判断処理によってバッファ領域にフレームデータを記憶するスペースに余裕がないとき、S18のフレームデータ補完読出処理によって補完処理して読み出されたバッファ領域に記憶されたフレームデータを基にして、ゲームキャラクタに関する動画データを生成してテレビジョンモニタ20にリプレイ表示される。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ゲームプログラム、特に、ゲームキャラクタの動作画面を制御部によってモニタにリプレイ表示させるゲームをコンピュータに実現させるためのゲームプログラムに関する。また、このゲームプログラムによって実行されるゲーム装置及びゲーム制御方法に関する。
【背景技術】
【0002】
従来から種々のゲームが提案されている。そのうちの1つとして、モニタに表示された選手キャラクタを動作させて競技を行わせる対戦ビデオゲーム、たとえば野球ゲームが知られている。この種の野球ゲームでは、プレイヤが各選手キャラクタが属する1つの野球チームを選択し、他の野球チームを選択したコンピュータと対戦可能である(たとえば、非特許文献1)。
【0003】
このような野球ゲームでは、攻撃側のチームと守備側のチームとが攻守交替を行うイニングの合間に、たとえば直前のイニングにおいて打者キャラクタが投手キャラクタからホームランを打ったり、投手キャラクタが打者キャラクタから三振を奪ったというような直前のイニングにおけるハイライト場面の動画をリプレイ表示させるようにしている。具体的には、打者キャラクタがホームランを打ったときは、投手キャラクタがボールオブジェクトを投球してから、打者キャラクタが打撃したボールオブジェクトがスタンドに入り、ホームランを打った打者キャラクタが走りながらガッツポーズをするまでの様子の動画がリプレイ表示されるようになっている。また、投手キャラクタが打者キャラクタから三振を奪ったときは、投手キャラクタがボールオブジェクトを投球してから、たとえば打者キャラクタが空振り三振するまでの様子の動画がリプレイ表示されるようになっている。このようなリプレイ動画は、ハイライト場面の内容によってリプレイ表示される総時間が異なっており、たとえば打者キャラクタが投手キャラクタからホームランを打ったときのリプレイ動画の総時間が15秒であるのに対して、投手キャラクタが打者キャラクタから三振を奪ったときのリプレイ動画の総時間が10秒であるというように、打者キャラクタが投手キャラクタからホームランを打ったときのリプレイ動画の総時間が、投手キャラクタが打者キャラクタから三振を奪ったときのリプレイ動画の総時間に比して大きくなっている。
【0004】
このように、ハイライト場面の内容によってリプレイ表示される総時間が異なっていることは、すなわちハイライト場面の内容に応じてリプレイ動画の総フレーム数が異なっていることと同義である。たとえば、秒間60フレーム(60fps、60frame per second)で画像表示処理を行っているときには、打者キャラクタが投手キャラクタからホームランを打ったときのリプレイ動画の総フレーム数が900フレーム(15秒*60fps)であるのに対して、投手キャラクタが打者キャラクタから三振を奪ったときのリプレイ動画の総フレーム数が600フレーム(10秒*60fps)であるというように、打者キャラクタが投手キャラクタからホームランを打ったときのリプレイ動画の総フレーム数が、投手キャラクタが打者キャラクタから三振を奪ったときのリプレイ動画の総フレーム数に比して大きくなっている。
【0005】
また、このようなリプレイ動画を表示するゲームでは、リプレイ動画を生成するリプレイデータを記憶するバッファ領域が設けられており、たとえば、1フレーム毎に1個のバッファ領域に各選手キャラクタの位置データ、角度データ等からなるリプレイデータが記憶されるようになっている。たとえば、バッファ領域の総量が、300個である場合には、1フレーム毎に1個(リプレイデータが1個であるのではなく、1フレームに対応する複数の各選手キャラクタの位置データ、角度データ等からなるリプレイデータをまとめて1個であるとする)のバッファ領域を読み出す(1割り込みする)場合には、表示可能なリプレイ動画の総フレーム数が300フレームとなっており、このため、総時間が5秒以下のリプレイ動画しか表示させることができないようになっている。そこで、1フレーム毎に1個のバッファ領域を読み出すのではなく、3フレーム毎に1個のバッファ領域を読み出す(3割り込みする)ことによって、たとえばリプレイ動画の総フレーム数が900フレーム(リプレイ動画の総時間が15秒)である場合には、実施に読み込むバッファ領域が300個(900/3)で済むことになり、この結果、総時間が15秒以下のリプレイ動画を表示させることができる。
【0006】
しかし、ハイライト場面の内容によっては、リプレイ表示される総時間が15秒(総フレーム数が900フレーム)を超えてしまうことがある。たとえば、リプレイ表示される総時間が20秒(総フレーム数が1200フレーム)である場合には、バッファ領域の総量である300個(900フレーム)を超えてしまい、長時間のリプレイ動画を表示することが困難である。そこで、リプレイ動画を生成するリプレイデータの一部分を削減することによって、大きなリプレイデータを圧縮し、リプレイデータを記憶するバッファ領域の記憶容量を節約したものが知られている(たとえば、特許文献1)。
【0007】
具体的には、リプレイ表示される総時間が20秒(総フレーム数が1200フレーム)である場合には、通常では、総フレーム数が1200フレーム分のリプレイデータを記憶するのに400個のバッファ領域が必要であるが、リプレイデータを3/4に圧縮して、300個のバッファ領域に総フレーム数が1200フレーム分のリプレイデータを記憶することで、20秒(総フレーム数が1200フレーム)のリプレイ動画を表示させることができる。ここでは、総フレーム数が大きなリプレイ動画であっても、リプレイデータを圧縮することによって、リプレイデータの総量を減少させながらリプレイ動画の総フレーム数を維持することができるので、長時間のリプレイ動画を表示させることができる。
【非特許文献1】実況パワフルプロ野球13公式ガイドコンプリートエディション、日本、株式会社コナミデジタルエンタテインメント、2006年8月31日
【特許文献1】特許第3431534号公報
【発明の開示】
【発明が解決しようとする課題】
【0008】
前記従来のリプレイ動画を表示するゲームでは、リプレイデータを圧縮することによって、リプレイデータの総量を減少させながら、長時間のリプレイ動画を表示させることができる。しかし、たとえば、10秒(総フレーム数が600フレーム)のリプレイ動画を表示させるときには、3フレーム毎に1個のバッファ領域を読み出す(3割り込みする)場合、実施に読み込むバッファ領域が200個(600/3)で済むことになるが、この場合においてもリプレイデータの圧縮が行われるために、リプレイデータが3/4に圧縮され、150個のバッファ領域に総フレーム数が600フレーム分のリプレイデータが記憶されてしまうことになる。このため、リプレイデータの圧縮が行われなければ、200個のバッファ領域に総フレーム数が600フレーム分のリプレイデータが記憶されるのに対して、ここでは、150個のバッファ領域に総フレーム数が600フレーム分のリプレイデータが記憶されてしまうので、150個のバッファ領域を使用した総バッファ領域(300個)の残り(150個)に余裕があるにも関わらず、リプレイ動画の画質が3/4に低減してしまうといった不都合が生じることがある。
【0009】
本発明の課題は、リプレイ動画を表示するゲームプログラムにおいて、リプレイ動画の画質の低減を可及的に抑えながら、長時間のリプレイ動画を表示させることにある。
【課題を解決するための手段】
【0010】
請求項1に係るゲームプログラムは、ゲームキャラクタの動作を制御部によって記憶部に記憶させ、ゲームキャラクタの動作画面を制御部によってモニタにリプレイ表示させるゲームを実現可能なコンピュータに、以下の機能を実現させるためのプログラムである。
【0011】
(1)記憶部の所定の記憶領域において、所定のフレームにおけるゲームキャラクタに関するフレームデータを、制御部によって記憶可能に確保する制御を行う記憶領域確保機能。
【0012】
(2)フレームデータを、所定の間隔毎に制御部によって所定の記憶領域に記憶する制御を行うフレームデータ記憶機能。
【0013】
(3)フレームデータ記憶機能によってフレームデータを記憶する制御が行われた所定の記憶領域に、フレームデータをさらに記憶可能な領域が確保されているか否かを制御部によって判断する制御を行う記憶領域確保状況判断機能。
【0014】
(4)記憶領域確保状況判断機能によって所定の記憶領域にフレームデータをさらに記憶可能な領域が確保されていないと判断されたとき、フレームデータ記憶機能によってフレームデータを記憶する制御が行われた所定の記憶領域の特定の一部分である記憶領域に、制御部によってフレームデータの特定の一部分であるフレームデータを上書きし記憶する制御を行うフレームデータ上書機能。
【0015】
(5)記憶領域確保状況判断機能によって所定の記憶領域にフレームデータをさらに記憶可能な領域が確保されていると判断されたとき、フレームデータ記憶機能によって記憶されたフレームデータを制御部によって読み出す制御を行うフレームデータ読出機能。
【0016】
(6)記憶領域確保状況判断機能によって所定の記憶領域にフレームデータをさらに記憶可能な領域が確保されていないと判断されたとき、フレームデータ記憶機能及びフレームデータ上書機能によって記憶されたフレームデータを補完処理して得られたフレームデータを制御部によってフレームデータとして読み出す制御を行うフレームデータ補完読出機能。
【0017】
(7)フレームデータ読出機能またはフレームデータ補完読出機能によって読み出されたフレームデータを基にして、制御部によってゲームキャラクタに関する動画データを生成し前記モニタにリプレイ表示する制御を行う動画リプレイ表示機能。
【0018】
このプログラムによって実現されるゲームでは、記憶領域確保機能において、記憶部の所定の記憶領域において、所定のフレームにおけるゲームキャラクタに関するフレームデータを、制御部によって記憶可能に確保する制御が行われる。フレームデータ記憶機能において、フレームデータを、所定の間隔毎に制御部によって所定の記憶領域に記憶する制御が行われる。記憶領域確保状況判断機能において、フレームデータ記憶機能によってフレームデータを記憶する制御が行われた所定の記憶領域に、フレームデータをさらに記憶可能な領域が確保されているか否かを制御部によって判断する制御が行われる。フレームデータ上書機能において、記憶領域確保状況判断機能によって所定の記憶領域にフレームデータをさらに記憶可能な領域が確保されていないと判断されたとき、フレームデータ記憶機能によってフレームデータを記憶する制御が行われた所定の記憶領域の特定の一部分である記憶領域に、制御部によってフレームデータの特定の一部分であるフレームデータを上書きし記憶する制御が行われる。フレームデータ読出機能において、記憶領域確保状況判断機能によって所定の記憶領域にフレームデータをさらに記憶可能な領域が確保されていると判断されたとき、フレームデータ記憶機能によって記憶されたフレームデータを制御部によって読み出す制御が行われる。フレームデータ補完読出機能において、記憶領域確保状況判断機能によって所定の記憶領域にフレームデータをさらに記憶可能な領域が確保されていないと判断されたとき、フレームデータ記憶機能及びフレームデータ上書機能によって記憶されたフレームデータを補完処理して得られたフレームデータを制御部によってフレームデータとして読み出す制御が行われる。動画リプレイ表示機能において、フレームデータ読出機能またはフレームデータ補完読出機能によって読み出されたフレームデータを基にして、制御部によってゲームキャラクタに関する動画データを生成しモニタにリプレイ表示する制御が行われる。
【0019】
たとえば、選手キャラクタを動作させる野球ゲームを実現させる場合を考える。
【0020】
ここでは、まず、記憶領域確保機能によって、記憶部の所定の記憶領域において、所定のフレームにおけるゲームキャラクタに関するフレームデータを、制御部によって記憶可能に確保する制御が行われる。記憶領域確保機能では、記憶部の所定の記憶領域において、所定のフレームにおけるゲームキャラクタに関するフレームデータを、制御部によって記憶可能に確保する制御を行う。ここで、ゲームキャラクタに関するフレームデータとは、リプレイ動画を生成するために必要な各選手キャラクタの位置データ、角度データ等からなるリプレイデータであって、後述する位置データ、角度データ、上書順番データ、読出順番データ、読出停止命令データを含む数値データである。1フレーム毎に1個(フレームデータが1個であるのではなく、1フレームに対応する複数の各選手キャラクタの位置データ、角度データ等からなるフレームデータをまとめて1個であるとする)のフレームデータを所定のフレームの数だけ複数個有するものである。また、記憶部の所定の記憶領域とは、リプレイ動画を生成するフレームデータを記憶するバッファ領域であって、1フレーム毎に1個のフレームデータを記憶可能な複数の領域(n個の場合、後述する第1記憶領域〜第n記憶領域)に区切られたバッファ領域である。また、フレームデータを記憶可能に確保するとは、記憶領域のすべてのデータをクリア(初期化)することであって、バッファ領域の複数の領域のフレームデータがすべてリセットされ、フレームデータが1個も記憶されていない初期状態にすることである。記憶領域確保機能では、記憶部の所定の記憶領域において、所定のフレームにおけるゲームキャラクタに関するフレームデータが記憶可能に確保される。
【0021】
次に、フレームデータ記憶機能によって、フレームデータを、所定の間隔毎に制御部によって所定の記憶領域に記憶する制御が行われる。フレームデータ記憶機能では、フレームデータを、所定の間隔毎に制御部によって所定の記憶領域に記憶する制御を行う。ここで、所定の間隔毎に記憶するとは、たとえば1フレーム毎に1個のバッファ領域にフレームデータをバッファ領域の総量を最大として上から順番に連続して隙間なく第1記憶領域〜第n記憶領域まで記憶する(1順目の書き込みをする)ことであり、後述する上書き記憶する(2順目以降の書き込みをする)ことと異にしており、たとえば、秒間60フレーム(60fps、60frame per second)で画像表示処理を行っているとき、バッファ領域の総量が、900個であり、1フレーム毎(=1/60秒毎)に1割り込みするときには、たとえば10秒(600フレーム)のリプレイ動画の場合、900個のバッファ領域のうち第1記憶領域〜第600記憶領域のバッファ領域に600個のフレームデータが1フレーム毎に記憶される。また、15秒(900フレーム)のリプレイ動画の場合、900個のバッファ領域のうち第1記憶領域〜第900記憶領域のバッファ領域に900個のフレームデータが1フレーム毎に記憶される。また、20秒(1200フレーム)のリプレイ動画の場合、900個の第1記憶領域〜第900記憶領域のバッファ領域に1200個のフレームデータのうち900個のフレームデータが1順目の書き込みとして1フレーム毎に記憶される。フレームデータ記憶機能では、フレームデータが所定の間隔毎に所定の記憶領域に記憶される。
【0022】
次に、記憶領域確保状況判断機能によって、フレームデータ記憶機能によってフレームデータを記憶する制御が行われた所定の記憶領域に、フレームデータをさらに記憶可能な領域が確保されているか否かを制御部によって判断する制御が行われる。記憶領域確保状況判断機能では、フレームデータ記憶機能によってフレームデータを記憶する制御が行われた所定の記憶領域に、フレームデータをさらに記憶可能な領域が確保されているか否かを制御部によって判断する制御を行う。記憶領域確保状況判断機能では、フレームデータの総量と記憶されたフレームデータとを比較することにより、バッファ領域にフレームデータを記憶するスペースに余裕があるか、バッファ領域にフレームデータを記憶するスペースがないかを判断する処理が行われる。具体的には、バッファ領域の総量が、900個であるときには、たとえば10秒(600フレーム)のリプレイ動画の場合、900個のバッファ領域のうち第1記憶領域〜第600記憶領域のバッファ領域に600個のフレームデータが記憶されているので、第601記憶領域〜第900記憶領域のバッファ領域に300個のフレームデータを記憶可能であるために、バッファ領域にフレームデータを記憶するスペースに余裕があると判断される。また、たとえば15秒(900フレーム)のリプレイ動画の場合、900個のバッファ領域のうち第1記憶領域〜第900記憶領域のバッファ領域に900個のフレームデータが記憶されているので、フレームデータの総量(900個)とバッファ領域の総量(900個)とが一致するために、バッファ領域にフレームデータを記憶するスペースに余裕がないと判断される。また、たとえば20秒(1200フレーム)のリプレイ動画の場合、900個のバッファ領域のうち第1記憶領域〜第900記憶領域のバッファ領域に900個のフレームデータが記憶されているので、フレームデータの総量(1200個)がバッファ領域の総量(900個)を超えているために、バッファ領域にフレームデータを記憶するスペースに余裕がないと判断される。記憶領域確保状況判断機能では、バッファ領域にフレームデータを記憶するスペースに余裕があるか、バッファ領域にフレームデータを記憶するスペースがないかが判断される。
【0023】
次に、フレームデータ上書機能によって、記憶領域確保状況判断機能によって所定の記憶領域にフレームデータをさらに記憶可能な領域が確保されていないと判断されたとき、フレームデータ記憶機能によってフレームデータを記憶する制御が行われた所定の記憶領域の特定の一部分である記憶領域に、制御部によってフレームデータの特定の一部分であるフレームデータを上書きし記憶する制御が行われる。フレームデータ上書機能では、記憶領域確保状況判断機能によって所定の記憶領域にフレームデータをさらに記憶可能な領域が確保されていないと判断されたとき、フレームデータ記憶機能によってフレームデータを記憶する制御が行われた所定の記憶領域の特定の一部分である記憶領域に、制御部によってフレームデータの特定の一部分であるフレームデータを上書きし記憶する制御を行う。ここでは、記憶領域確保状況判断機能によって所定の記憶領域にフレームデータをさらに記憶可能な領域が確保されていないと判断されたとき、すなわち、バッファ領域にフレームデータを記憶するスペースに余裕がないと判断されたときであって、具体的には、たとえば、バッファ領域の総量が、900個であり、20秒(1200フレーム=第1フレームデータ〜第1200フレームデータの1200個のフレームデータ)のリプレイ動画の場合、900個の第1記憶領域〜第900記憶領域のバッファ領域に第1フレームデータ〜第900フレームデータの900個のフレームデータが記憶され、フレームデータの総量(1200個)がバッファ領域の総量(900個)を超えているときである。ここでは、残りの第901フレームデータ〜第1200フレームデータの300個のフレームデータが、900個の第1記憶領域〜第900記憶領域のバッファ領域のうち特定の一部分である記憶領域に上書き記憶される。ここで、フレームデータ上書機能における上書き記憶は、2順目以降の書き込みをすることを意味しており、フレームデータ記憶機能における記憶が1順目の書き込みをすることを意味していることと異なっている。また、900個の第1記憶領域〜第900記憶領域のバッファ領域のうち特定の一部分である記憶領域とは、たとえば900個の第1記憶領域〜第900記憶領域のバッファ領域のうち、225個の第4記憶領域、第8記憶領域〜第900記憶領域のバッファ領域のように、特定の間隔(たとえば開始位置を4個目として4個おき毎)をあけて各領域が離反した部分のバッファ領域であって、225個の第4記憶領域、第8記憶領域〜第900記憶領域のバッファ領域に、225個の第901フレームデータ〜第1125フレームデータが2順目の書き込みとして1フレーム毎に上書き記憶される。ここでは、残りの75個(=300個−225個)の第1126フレームデータ〜第1200フレームデータは、さらに、225個の第2記憶領域、第6記憶領域〜第898記憶領域のバッファ領域のうちの75個の第2記憶領域、第6記憶領域〜第298記憶領域のバッファ領域のように、特定の間隔(たとえば開始位置を2個目として4個おき毎)をあけて各領域が離反した部分のバッファ領域に、3順目の書き込みとして1フレーム毎に上書き記憶される。フレームデータ上書機能では、記憶領域確保状況判断機能によって所定の記憶領域にフレームデータをさらに記憶可能な領域が確保されていないと判断されたとき、フレームデータ記憶機能によってフレームデータが記憶された所定の記憶領域の特定の一部分である記憶領域に、フレームデータの特定の一部分であるフレームデータが上書き記憶される。
【0024】
次に、フレームデータ読出機能によって、記憶領域確保状況判断機能によって所定の記憶領域にフレームデータをさらに記憶可能な領域が確保されていると判断されたとき、フレームデータ記憶機能によって記憶されたフレームデータを制御部によって読み出す制御が行われる。フレームデータ読出機能では、記憶領域確保状況判断機能によって所定の記憶領域にフレームデータをさらに記憶可能な領域が確保されていると判断されたとき、フレームデータ記憶機能によって記憶されたフレームデータを制御部によって読み出す制御を行う。ここでは、記憶領域確保状況判断機能によって所定の記憶領域にフレームデータをさらに記憶可能な領域が確保されていると判断されたとき、すなわち、バッファ領域にフレームデータを記憶するスペースに余裕があると判断されたときであって、具体的には、たとえば、バッファ領域の総量が、900個であり、10秒(600フレーム=第1フレームデータ〜第600フレームデータの600個のフレームデータ)のリプレイ動画の場合、600個の第1記憶領域〜第600記憶領域のバッファ領域に第1フレームデータ〜第600フレームデータの600個のフレームデータが記憶され、フレームデータの総量(600個)がバッファ領域の総量(900個)以下のときである。フレームデータ読出機能では、600個の第1記憶領域〜第600記憶領域のバッファ領域に記憶された600個の第1フレームデータ〜第600フレームデータを変換することなくそのまま読み出す処理が行われる。
【0025】
次に、フレームデータ補完読出機能によって、記憶領域確保状況判断機能によって所定の記憶領域にフレームデータをさらに記憶可能な領域が確保されていないと判断されたとき、フレームデータ記憶機能及びフレームデータ上書機能によって記憶されたフレームデータを補完処理して得られたフレームデータを制御部によってフレームデータとして読み出す制御が行われる。フレームデータ補完読出機能では、記憶領域確保状況判断機能によって所定の記憶領域にフレームデータをさらに記憶可能な領域が確保されていないと判断されたとき、フレームデータ記憶機能及びフレームデータ上書機能によって記憶されたフレームデータを補完処理して得られたフレームデータを制御部によってフレームデータとして読み出す制御を行う。ここでは、記憶領域確保状況判断機能によって所定の記憶領域にフレームデータをさらに記憶可能な領域が確保されていないと判断されたとき、すなわち、バッファ領域にフレームデータを記憶するスペースに余裕がないと判断されたときであって、具体的には、たとえば、バッファ領域の総量が、900個であり、20秒(1200フレーム=第1フレームデータ〜第1200フレームデータの1200個のフレームデータ)のリプレイ動画の場合、900個の第1記憶領域〜第900記憶領域のバッファ領域に第1フレームデータ〜第900フレームデータの900個のフレームデータが記憶され、フレームデータの総量(1200個)がバッファ領域の総量(900個)を超えているときである。フレームデータ補完読出機能では、900個の第1記憶領域〜第900記憶領域のバッファ領域に記憶された900個の第1フレームデータ〜第1200フレームデータ(1200個のフレームデータのうち、第1フレームデータ〜第900フレームデータの900個のフレームデータが1順目の書き込みとして記憶され、次の225個の第901フレームデータ〜第1125フレームデータが2順目の書き込みとして上書き記憶され、さらに75個の第1126フレームデータ〜第1200フレームデータが3順目の書き込みとして上書き記憶されるため、全体として900個のフレームデータが記憶される)を、補完処理して読み出す処理が行われる。ここで、フレームデータの補完処理とは、たとえば、特定の位置のフレームデータを基準となるフレームデータからの増分の比率と残りの比率とを読み込み先のフレームデータと基準となるフレームデータとにそれぞれ乗算したものを和算して算出する演算処理であって、本来1200個分のフレームデータがあるのに対して現在900個分のフレームデータしかないため残りの300個分のフレームデータを補完する(より元のフレームデータに近い形で復元する)ための処理である。フレームデータ補完読出機能では、900個の第1記憶領域〜第900記憶領域のバッファ領域に記憶された900個の第1フレームデータ〜第1200フレームデータを補完処理して読み出す処理が行われる。
【0026】
そして、動画リプレイ表示機能によって、フレームデータ読出機能またはフレームデータ補完読出機能によって読み出されたフレームデータを基にして、制御部によってゲームキャラクタに関する動画データを生成しモニタにリプレイ表示する制御が行われる。動画リプレイ表示機能では、フレームデータ読出機能またはフレームデータ補完読出機能によって読み出されたフレームデータを基にして、制御部によってゲームキャラクタに関する動画データを生成しモニタにリプレイ表示する制御を行う。ここでは、記憶領域確保状況判断機能によって所定の記憶領域にフレームデータをさらに記憶可能な領域が確保されていると判断されたとき、すなわち、バッファ領域にフレームデータを記憶するスペースに余裕があると判断されたとき、フレームデータ読出機能によってそのまま読み出された600個の第1記憶領域〜第600記憶領域のバッファ領域に記憶された600個の第1フレームデータ〜第600フレームデータを基にして、ゲームキャラクタに関する動画データを生成してモニタにリプレイ表示される。また、記憶領域確保状況判断機能によって所定の記憶領域にフレームデータをさらに記憶可能な領域が確保されていないと判断されたとき、すなわち、バッファ領域にフレームデータを記憶するスペースに余裕がないと判断されたとき、フレームデータ補完読出機能によって補完処理して読み出された900個の第1記憶領域〜第900記憶領域のバッファ領域に記憶された900個の第1フレームデータ〜第1200フレームデータを基にして、ゲームキャラクタに関する動画データを生成してモニタにリプレイ表示される。
【0027】
このゲームプログラムでは、まず、記憶領域確保機能によって、記憶部の所定の記憶領域において、所定のフレームにおけるゲームキャラクタに関するフレームデータを、制御部によって記憶可能に確保する制御が行われる。次に、フレームデータ記憶機能によって、フレームデータを、所定の間隔毎に制御部によって所定の記憶領域に記憶する制御が行われる。次に、記憶領域確保状況判断機能によって、フレームデータ記憶機能によってフレームデータを記憶する制御が行われた所定の記憶領域に、フレームデータをさらに記憶可能な領域が確保されているか否かを制御部によって判断する制御が行われる。次に、フレームデータ上書機能によって、記憶領域確保状況判断機能によって所定の記憶領域にフレームデータをさらに記憶可能な領域が確保されていないと判断されたとき、フレームデータ記憶機能によってフレームデータを記憶する制御が行われた所定の記憶領域の特定の一部分である記憶領域に、制御部によってフレームデータの特定の一部分であるフレームデータを上書きし記憶する制御が行われる。次に、フレームデータ読出機能によって、記憶領域確保状況判断機能によって所定の記憶領域にフレームデータをさらに記憶可能な領域が確保されていると判断されたとき、フレームデータ記憶機能によって記憶されたフレームデータを制御部によって読み出す制御が行われる。次に、フレームデータ補完読出機能によって、記憶領域確保状況判断機能によって所定の記憶領域にフレームデータをさらに記憶可能な領域が確保されていないと判断されたとき、フレームデータ記憶機能及びフレームデータ上書機能によって記憶されたフレームデータを補完処理して得られたフレームデータを制御部によってフレームデータとして読み出す制御が行われる。そして、動画リプレイ表示機能によって、フレームデータ読出機能またはフレームデータ補完読出機能によって読み出されたフレームデータを基にして、制御部によってゲームキャラクタに関する動画データを生成しモニタにリプレイ表示する制御が行われる。
【0028】
具体的には、フレームデータ記憶機能によって、たとえば、バッファ領域の総量が、900個であり、10秒(600フレーム)のリプレイ動画の場合、900個のバッファ領域のうち第1記憶領域〜第600記憶領域のバッファ領域に600個のフレームデータが記憶される。また、20秒(1200フレーム)のリプレイ動画の場合、900個の第1記憶領域〜第900記憶領域のバッファ領域に第1フレームデータ〜第900フレームデータの900個のフレームデータが記憶される。次に、記憶領域確保状況判断機能によって、フレームデータの総量と記憶されたフレームデータとを比較することにより、バッファ領域にフレームデータを記憶するスペースに余裕があるか、バッファ領域にフレームデータを記憶するスペースがないかを判断する処理が行われる。次に、フレームデータ上書機能によって、記憶領域確保状況判断機能によってバッファ領域にフレームデータを記憶するスペースに余裕がないと判断されたとき、20秒(1200フレーム=第1フレームデータ〜第1200フレームデータの1200個のフレームデータ)のリプレイ動画の場合、900個の第1記憶領域〜第900記憶領域のバッファ領域に第1フレームデータ〜第900フレームデータの900個のフレームデータが記憶され、フレームデータの総量(1200個)がバッファ領域の総量(900個)を超えているとき、残りの第901フレームデータ〜第1200フレームデータの300個のフレームデータが、900個の第1記憶領域〜第900記憶領域のバッファ領域のうち特定の一部分である記憶領域に上書き記憶される。次に、フレームデータ読出機能によって、記憶領域確保状況判断機能によってバッファ領域にフレームデータを記憶するスペースに余裕があると判断されたとき、10秒(600フレーム=第1フレームデータ〜第600フレームデータの600個のフレームデータ)のリプレイ動画の場合、600個の第1記憶領域〜第600記憶領域のバッファ領域に第1フレームデータ〜第600フレームデータの600個のフレームデータが記憶され、フレームデータの総量(600個)がバッファ領域の総量(900個)以下のとき、600個の第1記憶領域〜第600記憶領域のバッファ領域に記憶された600個の第1フレームデータ〜第600フレームデータを変換することなくそのまま読み出す処理が行われる。次に、フレームデータ補完読出機能によって、記憶領域確保状況判断機能によってバッファ領域にフレームデータを記憶するスペースに余裕がないと判断されたとき、20秒(1200フレーム=第1フレームデータ〜第1200フレームデータの1200個のフレームデータ)のリプレイ動画の場合、900個の第1記憶領域〜第900記憶領域のバッファ領域に第1フレームデータ〜第900フレームデータの900個のフレームデータが記憶され、フレームデータの総量(1200個)がバッファ領域の総量(900個)を超えているとき、900個の第1記憶領域〜第900記憶領域のバッファ領域に記憶された900個の第1フレームデータ〜第1200フレームデータ(1200個のフレームデータのうち、第1フレームデータ〜第900フレームデータの900個のフレームデータが1順目の書き込みとして記憶され、次の225個の第901フレームデータ〜第1125フレームデータが2順目の書き込みとして上書き記憶され、さらに75個の第1126フレームデータ〜第1200フレームデータが3順目の書き込みとして上書き記憶されるため、全体として900個のフレームデータが記憶される)を、補完処理して読み出す処理が行われる。そして、動画リプレイ表示機能によって、バッファ領域にフレームデータを記憶するスペースに余裕があると判断されたとき、フレームデータ読出機能によってそのまま読み出された600個の第1記憶領域〜第600記憶領域のバッファ領域に記憶された600個の第1フレームデータ〜第600フレームデータを基にして、ゲームキャラクタに関する動画データを生成してモニタにリプレイ表示され、バッファ領域にフレームデータを記憶するスペースに余裕がないと判断されたとき、フレームデータ補完読出機能によって補完処理して読み出された900個の第1記憶領域〜第900記憶領域のバッファ領域に記憶された900個の第1フレームデータ〜第1200フレームデータを基にして、ゲームキャラクタに関する動画データを生成してモニタにリプレイ表示される。
【0029】
従来のゲームプログラムでは、バッファ領域にフレームデータを記憶するスペースに余裕があるときでもフレームデータが圧縮されてリプレイ動画の画質が低減しているのに対して、請求項1に係るゲームプログラムでは、バッファ領域にフレームデータを記憶するスペースに余裕があると判断されたとき、フレームデータ読出機能によってそのまま読み出された600個の第1記憶領域〜第600記憶領域のバッファ領域に記憶された600個の第1フレームデータ〜第600フレームデータを基にして、ゲームキャラクタに関する動画データを生成してモニタにリプレイ表示されるようになっているので、従来の構成に比して、リプレイ動画の画質の低減を抑えることができる。しかも、バッファ領域にフレームデータを記憶するスペースに余裕がないときには、フレームデータ補完読出機能によって補完処理して読み出された900個の第1記憶領域〜第900記憶領域のバッファ領域に記憶された900個の第1フレームデータ〜第1200フレームデータを基にして、ゲームキャラクタに関する動画データを生成してモニタにリプレイ表示されるようになっているので、特に、従来の構成にはない、所定の記憶領域の特定の一部分である記憶領域にフレームデータの特定の一部分であるフレームデータを上書きし記憶するフレームデータ上書機能を有していることによって、従来の構成のように単純にフレームデータを圧縮する場合に比して、リプレイ動画の画質の低減をさらに抑えることができる。したがって、以上の構成によって、リプレイ動画の画質の低減を可及的に抑えながら、長時間のリプレイ動画を表示させることができる。
【0030】
請求項2に係るゲームプログラムは、請求項1のゲームプログラムにおいて、コンピュータに、以下の機能をさらに実現させるためのプログラムである。
【0031】
(8)フレームデータ記憶機能またはフレームデータ上書機能において、所定の記憶領域の終端部分である記憶領域に、制御部によってフレームデータ読出機能またはフレームデータ補完読出機能においてフレームデータを読み出すときに読み出しを停止するための命令である読出停止命令データを書き込みし記憶する読出停止命令データ書込機能。
【0032】
このプログラムによって実現されるゲームでは、読出停止命令データ書込機能において、フレームデータ記憶機能またはフレームデータ上書機能において、所定の記憶領域の終端部分である記憶領域に、制御部によってフレームデータ読出機能またはフレームデータ補完読出機能においてフレームデータを読み出すときに読み出しを停止するための命令である読出停止命令データが書き込まれ記憶される。
【0033】
ここでは、さらに、読出停止命令データ書込機能によって、フレームデータ記憶機能またはフレームデータ上書機能において、所定の記憶領域の終端部分である記憶領域に、制御部によってフレームデータ読出機能またはフレームデータ補完読出機能においてフレームデータを読み出すときに読み出しを停止するための命令である読出停止命令データが書き込まれ記憶される。読出停止命令データ書込機能では、フレームデータ記憶機能またはフレームデータ上書機能において、所定の記憶領域の終端部分である記憶領域に、制御部によってフレームデータ読出機能またはフレームデータ補完読出機能においてフレームデータを読み出すときに読み出しを停止するための命令である読出停止命令データを書き込みし記憶する。ここで、フレームデータの終端部分を意味する読出停止命令データ(エンドコード)とは、たとえば10秒(600フレーム)のリプレイ動画の場合、600個目の第600フレームデータ、20秒(1200フレーム)のリプレイ動画の場合、1200個目の第1200フレームデータであって、フレームデータの終端部分に読出停止命令データ(エンドコード、たとえば0等の数値データ)を書き込むことにより、フレームデータ読出機能またはフレームデータ補完読出機能においてフレームデータを読み出すときに読み出しを停止させることができる。
【0034】
請求項3に係るゲームプログラムは、請求項1又は2のゲームプログラムにおいて、記憶領域確保機能は、記憶部の所定の領域において所定のm個の区画に分割して設けられた第1記憶領域〜第m記憶領域に、フレームデータを、制御部によって記憶可能に確保する制御を行う機能である。フレームデータ記憶機能は、所定の第1フレーム〜第nフレームにおけるフレームデータである第1フレームデータ〜第nフレームデータと、第1フレームデータ〜第nフレームデータを読み出す順番を指定するフレームデータである第1読出順番データ〜第n読出順番データと、第1フレームデータ〜第nフレームデータを上書きする順番を指定するフレームデータである第1上書順番データ〜第n上書順番データとを、制御部によって第1記憶領域〜第n記憶領域にそれぞれ記憶する制御を行う機能である。記憶領域確保状況判断機能は、フレームデータの個数である所定のnが記憶領域の個数である所定のmより大きいか否かを判断する制御を行う機能である。フレームデータ上書機能は、記憶領域確保状況判断機能によってフレームデータの個数である所定のnが記憶領域の個数である所定のmより大きいと判断する制御が行われたとき、第(m+1)フレームデータ、第(m+1)読出順番データ及び第(m+1)上書順番データを、制御部によって第m上書順番データに対応する第1記憶領域〜第m記憶領域に含まれる第l記憶領域に上書きし記憶する制御を行い、さらに第(l−1)記憶領域に記憶された第(l−1)読出順番データ及び第(l−1)上書順番データに、第l記憶領域に記憶された第l読出順番データ及び第l上書順番データを和算処理して上書きし記憶する機能である。フレームデータ読出機能は、記憶領域確保状況判断機能によってフレームデータの個数である所定のnが記憶領域の個数である所定のmより小さいと判断する制御が行われたとき、フレームデータ記憶機能によって記憶された第1フレームデータ〜第nフレームデータを制御部によってそのまま読み出す制御を行う機能である。フレームデータ補完読出機能は、フレームデータ記憶機能及びフレームデータ上書機能によって記憶された第1フレームデータ〜第nフレームデータを第(n−k)読出順番データに対応する領域順に繰り返し読み出す機能であって、第(n−k)読出順番データに対応する領域が第n記憶領域であるとき第nフレームデータを制御部によってそのまま読み出す制御を行い、第(n−k)読出順番データに対応する領域が第(n+j)記憶領域であるとき第(n−k)フレームデータと第(n+j)フレームデータとを補完処理して得られたフレームデータを制御部によって第nフレームデータとして読み出す制御を行う機能である。
【0035】
具体的には、たとえば、バッファ領域の総量が、900個であるとき、m=900であって、記憶領域確保機能によって、記憶部の所定の領域において900個の区画に分割して設けられた第1記憶領域〜第900記憶領域に、フレームデータ(位置データ、角度データ)が、制御部によって記憶可能に確保される。次に、フレームデータ記憶機能によって、所定の第1フレーム〜第900フレームにおけるフレームデータである第1フレームデータ〜第900フレームデータ(位置データ、角度データの数値データ)と、第1フレームデータ〜第900フレームデータを読み出す順番を指定するフレームデータである第1読出順番データ〜第900読出順番データ(以下、タイマと呼称する、1、2、3・・・の整数となる数値データ)と、第1フレームデータ〜第900フレームデータを上書きする順番を指定するフレームデータである第1上書順番データ〜第900上書順番データ(以下、ステップとする、1、2、3・・・の整数、エンドコード=0を含む数値データ)とが、第1記憶領域〜第900記憶領域にそれぞれ記憶される。ここで、読出順番データとは、フレームデータ補完読出機能において、フレームデータをどの位置のバッファ領域から読み出すかを決定するためのタイマであって、整数値からなる数値データである。なお、読出順番データには、フレームデータ補完読出機能においてフレームデータを読み出すときに読み出しを停止するための命令である読出停止命令データ(エンドコード=0)の数値データが含まれる概念である。また、上書順番データとは、フレームデータ上書機能において、フレームデータをどの位置のバッファ領域を上書き記憶するかを決定するためのステップであって、整数値からなる数値データである。次に、記憶領域確保状況判断機能によって、フレームデータの個数である所定のnが記憶領域の個数である所定のmより大きいか否かが判断される。具体的には、フレームデータの総量が、600個であるとき、すなわち、10秒(600フレーム=第1フレームデータ〜第600フレームデータの600個のフレームデータ)のリプレイ動画の場合、すなわち、m=900、n=600であるとき、記憶領域確保状況判断機能によってn<mであると判断され、バッファ領域にフレームデータを記憶するスペースに余裕があると判断される。また、フレームデータの総量が、1200個であるとき、すなわち、20秒(1200フレーム=第1フレームデータ〜第1200フレームデータの1200個のフレームデータ)のリプレイ動画の場合、すなわち、m=900、n=1200であるとき、記憶領域確保状況判断機能によってn>mであると判断され、バッファ領域にフレームデータを記憶するスペースに余裕がないと判断される。次に、フレームデータ上書機能によって、記憶領域確保状況判断機能によってフレームデータの個数である所定のnが記憶領域の個数である所定のmより大きいと判断する制御が行われたとき(n>m、2順目の上書き処理に進むとき)、第(m+1)フレームデータ、第(m+1)読出順番データ(タイマ)及び第(m+1)上書順番データ(ステップ)が、第m上書順番データ(1つ前のステップ)に対応する第1記憶領域〜第m記憶領域に含まれる第l記憶領域(2順目の上からl個目の領域)に上書き記憶され、さらに第(l−1)記憶領域(第l記憶領域の1つ前の2順目の上から(l−1)個目の領域)に記憶された第(l−1)読出順番データ(1つ前のタイマ)及び第(l−1)上書順番データ(1つ前のステップ)に、第l記憶領域に記憶された第l読出順番データ及び第l上書順番データが和算処理(1つ前のタイマと1つ前のステップとを和算処理)され上書き記憶される。ここで、第l記憶領域とは、900個の第1記憶領域〜第900記憶領域のバッファ領域のうち特定の一部分である記憶領域の開始位置であって、たとえば開始位置を4個目とすると、l=4となるので、第(l−1)記憶領域、第l記憶領域は、それぞれ第3記憶領域、第4記憶領域となる。また、第(m+1)フレームデータとは、2順目以降のフレームデータであって、m=900であるときは、第(m+1)フレームデータは、第901フレームデータとなり、このフレームデータが第l記憶領域(=第4記憶領域)に上書き記憶される。さらに、第(l−1)読出順番データ(1つ前のタイマ)及び第(l−1)上書順番データ(1つ前のステップ)に、第l記憶領域に記憶された第l読出順番データ及び第l上書順番データが和算処理されて上書き記憶される。具体的には、第(l−1)読出順番データ(第3読出順番データ=1つ前のタイマ)、第(l−1)上書順番データ(第3上書順番データ=1つ前のステップ)、第l読出順番データ(第4読出順番データ)、第l上書順番データ(第4上書順番データ)の値を1とすると、第(l−1)読出順番データ(第3読出順番データ=1つ前のタイマ)、第(l−1)上書順番データ(第3上書順番データ=1つ前のステップ)は、それぞれ第(l−1)読出順番データ(第3読出順番データ=1つ前のタイマ)+第l読出順番データ(第4読出順番データ)=1+1=2、第(l−1)上書順番データ(第3上書順番データ=1つ前のステップ)+第l上書順番データ(第4上書順番データ)=1+1=2が上書き記憶される。次に、フレームデータ読出機能によって、記憶領域確保状況判断機能によってフレームデータの個数である所定のnが記憶領域の個数である所定のmより小さいと判断する制御が行われたとき(n<m、1順目で終わるとき)すなわち、バッファ領域にフレームデータを記憶するスペースに余裕があると判断されたとき、10秒(600フレーム=第1フレームデータ〜第600フレームデータの600個のフレームデータ)のリプレイ動画の場合、フレームデータ記憶機能によって記憶された第1フレームデータ〜第600フレームデータを制御部によってそのまま読み出される。そして、フレームデータ補完読出機能によって、記憶領域確保状況判断機能によってフレームデータの個数である所定のnが記憶領域の個数である所定のmより大きいと判断する制御が行われたとき(n>m、2順目以降の上書きがなされているとき)すなわち、バッファ領域にフレームデータを記憶するスペースに余裕がないと判断されたとき、20秒(1200フレーム=第1フレームデータ〜第1200フレームデータの1200個のフレームデータ)のリプレイ動画の場合、フレームデータ記憶機能及びフレームデータ上書機能によって記憶された第1フレームデータ〜第nフレームデータが第(n−k)読出順番データ(k個前のタイマ、k=1、2、・・・)に対応する領域順に繰り返し読み出される。フレームデータ補完読出機能では、第(n−k)読出順番データ(k個前のタイマ)に対応する領域が第n記憶領域(k個前のタイマがn)であるとき第nフレームデータを制御部によってそのまま読み出す制御を行い、第(n−k)読出順番データ(k個前のタイマ)に対応する領域が第(n+j)記憶領域(j個後のタイマ、j=1、2、・・・)であるとき第(n−k)フレームデータと第(n+j)フレームデータとを補完処理して得られたフレームデータが第nフレームデータとして読み出される。ここで、第(n−k)読出順番データとは、第n読出順番データのk個前の読出順番データであり、第(n+j)読出順番データとは、第n読出順番データのj個後の読出順番データであって、たとえばk=1、j=1とすると、第(n−1)読出順番データ(1個前のタイマ)に対応する領域が第n記憶領域(1個前のタイマがn)であるとき第nフレームデータをそのまま読み出す制御を行い、第(n−1)読出順番データ(1個前のタイマ)に対応する領域が第(n+1)記憶領域(1個後のタイマ)であるとき第(n−1)フレームデータと第(n+1)フレームデータとを補完処理して得られたフレームデータが第nフレームデータとして読み出される。ここでは、フレームデータ上書機能においてフレームデータをどの位置のバッファ領域を上書き記憶するかを決定するためのステップである上書順番データを設け、さらにフレームデータ補完読出機能においてフレームデータをどの位置のバッファ領域から読み出すかを決定するためのタイマである読出順番データを設けることにより、全てのバッファ領域を順番に上書きまたは読み出す場合に比して、不均一となる(ばらつきのある)バッファ領域にフレームデータが書き込まれることになるので、画質が部分的に低下するのを抑えることができる。
【0036】
請求項4に係るゲームプログラムは、請求項3のゲームプログラムにおいて、フレームデータ補完読出機能は、第(n−k)読出順番データがh[h=1、2、・・・]であり、第(n−k)読出順番データを基準として増加した読出順番データがi[i=1、2、・・・]であり、第(n−i)読出順番データに対応する領域が第(n+j)記憶領域[j=h−i、n+j=n+h−i]であるとき、第(n−i)フレームデータに(1−d)を乗算処理[d=(i/h)、1−d=1−(i/h)]して得られたデータと、第(n+j)フレームデータにdを乗算処理[d=(i/h)]して得られたデータとを和算処理して得られたフレームデータを制御部によって第nフレームデータとして読み出す制御を行う機能である。具体的には、h=2、i=1、j=h−i=2−1=1であるとき、d=(1/2)、1−d=1−(1/2)=(1/2)となるので、第nフレームデータは、[第(n−1)フレームデータ*(1/2)]+[第(n+1)フレームデータ*(1/2)]と算出される。また、h=5、i=2、j=h−i=5−2=3であるとき、d=(2/5)、1−d=1−(2/5)=(3/5)となるので、第nフレームデータは、[第(n−1)フレームデータ*(3/5)]+[第(n+1)フレームデータ*(2/5)]と算出される。ここでは、それぞれ重み(比率)を有する点と点との間を直線で近似する線形補間による補完処理を行うことにより、単純に点と点とを近似する場合に比して補完精度が高くなるので、画質の低下をより抑えることができる。
【0037】
請求項5に係るゲームプログラムは、請求項3又は4のゲームプログラムにおいて、第nフレームデータは、所定の第nフレームにおけるゲームキャラクタの位置データである第n位置データ、所定の第nフレームにおけるゲームキャラクタの角度データである第n角度データである。ここでは、フレームデータは、ゲームキャラクタの位置データ、ゲームキャラクタの角度データであるので、各フレームにおけるゲームキャラクタの位置、角度を決定することにより、ゲームキャラクタが動作するリプレイ動画を生成できる。
【0038】
請求項6に係るゲームプログラムは、請求項5のゲームプログラムにおいて、第nフレームデータは、所定の第nフレームにおける第n位置データの実座標データ、所定の第nフレームにおける第n角度データの実角度データである。ここでは、フレームデータとして、絶対値となる、位置データの実座標データ、角度データの実角度データを用いることにより、データを変換することなくそのまま処理を行うことができるので、全体の処理ステップ数を節約できる。
【0039】
請求項7に係るゲームプログラムは、請求項5のゲームプログラムにおいて、第nフレームデータは、所定の第nフレームにおける第n位置データの特定の基準位置データに対する差分座標データ、所定の第nフレームにおける第n角度データの特定の基準角度データに対する差分角度データである。ここでは、フレームデータとして、差分値となる、位置データの基準位置データに対する差分座標データ、角度データの基準角度データに対する差分角度データを用いることにより、差分データのデータ量は実データのデータ量に比して小さいので、全体のデータ量を節約できる。
【0040】
請求項8に係るゲーム装置は、ゲームキャラクタの動作を制御部によって記憶部に記憶させ、ゲームキャラクタの動作画面を制御部によってモニタにリプレイ表示させるゲームを実行可能なゲーム装置である。このゲーム装置は、記憶領域確保手段と、フレームデータ記憶手段と、記憶領域確保状況判断手段と、フレームデータ上書手段と、フレームデータ読出手段と、フレームデータ補完読出手段と、動画リプレイ表示手段とを備えている。記憶領域確保手段において、記憶部の所定の記憶領域において、所定のフレームにおけるゲームキャラクタに関するフレームデータを、制御部によって記憶可能に確保する制御が行われる。フレームデータ記憶手段において、フレームデータを、所定の間隔毎に制御部によって所定の記憶領域に記憶する制御が行われる。記憶領域確保状況判断手段において、フレームデータ記憶手段によってフレームデータを記憶する制御が行われた所定の記憶領域に、フレームデータをさらに記憶可能な領域が確保されているか否かを制御部によって判断する制御が行われる。フレームデータ上書手段において、記憶領域確保状況判断手段によって所定の記憶領域にフレームデータをさらに記憶可能な領域が確保されていないと判断されたとき、フレームデータ記憶手段によってフレームデータを記憶する制御が行われた所定の記憶領域の特定の一部分である記憶領域に、制御部によってフレームデータの特定の一部分であるフレームデータを上書きし記憶する制御が行われる。フレームデータ読出手段において、記憶領域確保状況判断手段によって所定の記憶領域にフレームデータをさらに記憶可能な領域が確保されていると判断されたとき、フレームデータ記憶手段によって記憶されたフレームデータを制御部によって読み出す制御が行われる。フレームデータ補完読出手段において、記憶領域確保状況判断手段によって所定の記憶領域にフレームデータをさらに記憶可能な領域が確保されていないと判断されたとき、フレームデータ記憶手段及びフレームデータ上書手段によって記憶されたフレームデータを補完処理して得られたフレームデータを制御部によってフレームデータとして読み出す制御が行われる。動画リプレイ表示手段において、フレームデータ読出手段またはフレームデータ補完読出手段によって読み出されたフレームデータを基にして、制御部によってゲームキャラクタに関する動画データを生成し前記モニタにリプレイ表示する制御が行われる。
【0041】
請求項9に係るゲーム制御方法は、ゲームキャラクタの動作を制御部によって記憶部に記憶させ、ゲームキャラクタの動作画面を制御部によってモニタにリプレイ表示させるゲームをコンピュータにより制御するゲーム制御方法である。このゲーム制御方法は、記憶領域確保ステップと、フレームデータ記憶ステップと、記憶領域確保状況判断ステップと、フレームデータ上書ステップと、フレームデータ読出ステップと、フレームデータ補完読出ステップと、動画リプレイ表示ステップとを備えている。記憶領域確保ステップにおいて、記憶部の所定の記憶領域において、所定のフレームにおけるゲームキャラクタに関するフレームデータを、制御部によって記憶可能に確保する制御が行われる。フレームデータ記憶ステップにおいて、フレームデータを、所定の間隔毎に制御部によって所定の記憶領域に記憶する制御が行われる。記憶領域確保状況判断ステップにおいて、フレームデータ記憶ステップによってフレームデータを記憶する制御が行われた所定の記憶領域に、フレームデータをさらに記憶可能な領域が確保されているか否かを制御部によって判断する制御が行われる。フレームデータ上書ステップにおいて、記憶領域確保状況判断ステップによって所定の記憶領域にフレームデータをさらに記憶可能な領域が確保されていないと判断されたとき、フレームデータ記憶ステップによってフレームデータを記憶する制御が行われた所定の記憶領域の特定の一部分である記憶領域に、制御部によってフレームデータの特定の一部分であるフレームデータを上書きし記憶する制御が行われる。フレームデータ読出ステップにおいて、記憶領域確保状況判断ステップによって所定の記憶領域にフレームデータをさらに記憶可能な領域が確保されていると判断されたとき、フレームデータ記憶ステップによって記憶されたフレームデータを制御部によって読み出す制御が行われる。フレームデータ補完読出ステップにおいて、記憶領域確保状況判断ステップによって所定の記憶領域にフレームデータをさらに記憶可能な領域が確保されていないと判断されたとき、フレームデータ記憶ステップ及びフレームデータ上書ステップによって記憶されたフレームデータを補完処理して得られたフレームデータを制御部によってフレームデータとして読み出す制御が行われる。動画リプレイ表示ステップにおいて、フレームデータ読出ステップまたはフレームデータ補完読出ステップによって読み出されたフレームデータを基にして、制御部によってゲームキャラクタに関する動画データを生成し前記モニタにリプレイ表示する制御が行われる。
【発明の効果】
【0042】
本発明によれば、リプレイ動画を表示するゲームプログラムにおいて、バッファ領域にフレームデータを記憶するスペースに余裕があると判断されたとき、フレームデータ読出機能によってそのまま読み出されたバッファ領域に記憶されたフレームデータを基にして、ゲームキャラクタに関する動画データを生成してモニタにリプレイ表示され、バッファ領域にフレームデータを記憶するスペースに余裕がないとき、フレームデータ補完読出機能によって補完処理して読み出されたバッファ領域に記憶されたフレームデータを基にして、ゲームキャラクタに関する動画データを生成してモニタにリプレイ表示されるようになっているので、所定の記憶領域の特定の一部分である記憶領域にフレームデータの特定の一部分であるフレームデータを上書きし記憶するフレームデータ上書機能を有していることによって、リプレイ動画の画質の低減を可及的に抑えながら、長時間のリプレイ動画を表示させることができる。
【発明を実施するための最良の形態】
【0043】
〔ゲーム装置の構成と動作〕
図1は、本発明の一実施形態によるゲーム装置の基本構成を示している。ここでは、ビデオゲーム装置の一例として、家庭用ビデオゲーム装置をとりあげて説明を行うこととする。家庭用ビデオゲーム装置は、家庭用ゲーム機本体および家庭用テレビジョンを備える。家庭用ゲーム機本体には、記録媒体10が装填可能となっており、記録媒体10からゲームデータが適宜読み出されてゲームが実行される。このようにして実行されるゲーム内容が家庭用テレビジョンに表示される。
【0044】
家庭用ビデオゲーム装置のゲームシステムは、制御部1と、記憶部2と、画像表示部3と、音声出力部4と、操作入力部5とからなっており、それぞれがバス6を介して接続される。このバス6は、アドレスバス、データバス、およびコントロールバスなどを含んでいる。ここで、制御部1、記憶部2、音声出力部4および操作入力部5は、家庭用ビデオゲーム装置の家庭用ゲーム機本体に含まれており、画像表示部3は家庭用テレビジョンに含まれている。
【0045】
制御部1は、主に、ゲームプログラムに基づいてゲーム全体の進行を制御するために設けられている。制御部1は、たとえば、CPU7(Central Processing Unit)と、信号処理プロセッサ8と、画像処理プロセッサ9とから構成されている。CPU7と信号処理プロセッサ8と画像処理プロセッサ9とは、それぞれがバス6を介して互いに接続されている。CPU7は、ゲームプログラムからの命令を解釈し、各種のデータ処理や制御を行う。たとえば、CPU7は、信号処理プロセッサ8に対して、画像データを画像処理プロセッサに供給するように命令する。信号処理プロセッサ8は、主に、3次元空間上における計算と、3次元空間上から擬似3次元空間上への位置変換計算と、光源計算処理と、画像および音声データの生成加工処理とを行っている。画像処理プロセッサ9は、主に、信号処理プロセッサ8の計算結果および処理結果に基づいて、描画すべき画像データをRAM12に書き込む処理を行っている。
【0046】
記憶部2は、主に、プログラムデータや、プログラムデータで使用される各種データなどを格納しておくために設けられている。記憶部2は、たとえば、記録媒体10と、インターフェース回路11と、RAM12(Random Access Memory)とから構成されている。記録媒体10には、インターフェース回路11が接続されている。そして、インターフェース回路11とRAM12とはバス6を介して接続されている。記録媒体10は、オペレーションシステムのプログラムデータや、画像データ、音声データ並びに各種プログラムデータからなるゲームデータなどを記録するためのものである。この記録媒体10は、たとえば、ROM(Read Only Memory)カセット、光ディスク、およびフレキシブルディスクなどであり、オペレーティングシステムのプログラムデータやゲームデータなどが記憶される。なお、記録媒体10にはカード型メモリも含まれており、このカード型メモリは、主に、ゲームを中断するときに中断時点での各種ゲームパラメータを保存するために用いられる。RAM12は、記録媒体10から読み出された各種データを一時的に格納したり、制御部1からの処理結果を一時的に記録したりするために用いられる。このRAM12には、各種データとともに、各種データの記憶位置を示すアドレスデータが格納されており、任意のアドレスを指定して読み書きすることが可能になっている。
【0047】
画像表示部3は、主に、画像処理プロセッサ9によってRAM12に書き込まれた画像データや、記録媒体10から読み出される画像データなどを画像として出力するために設けられている。この画像表示部3は、たとえば、テレビジョンモニタ20と、インターフェース回路21と、D/Aコンバータ22(Digital−To−Analogコンバータ)とから構成されている。テレビジョンモニタ20にはD/Aコンバータ22が接続されており、D/Aコンバータ22にはインターフェース回路21が接続されている。そして、インターフェース回路21にバス6が接続されている。ここでは、画像データが、インターフェース回路21を介してD/Aコンバータ22に供給され、ここでアナログ画像信号に変換される。そして、アナログ画像信号がテレビジョンモニタ20に画像として出力される。
【0048】
ここで、画像データには、たとえば、ポリゴンデータやテクスチャデータなどがある。ポリゴンデータはポリゴンを構成する頂点の座標データのことである。テクスチャデータは、ポリゴンにテクスチャを設定するためのものであり、テクスチャ指示データとテクスチャカラーデータとからなっている。テクスチャ指示データはポリゴンとテクスチャとを対応づけるためのデータであり、テクスチャカラーデータはテクスチャの色を指定するためのデータである。ここで、ポリゴンデータとテクスチャデータとには、各データの記憶位置を示すポリゴンアドレスデータとテクスチャアドレスデータとが対応づけられている。このような画像データでは、信号処理プロセッサ8により、ポリゴンアドレスデータの示す3次元空間上のポリゴンデータ(3次元ポリゴンデータ)が、画面自体(視点)の移動量データおよび回転量データに基づいて座標変換および透視投影変換されて、2次元空間上のポリゴンデータ(2次元ポリゴンデータ)に置換される。そして、複数の2次元ポリゴンデータでポリゴン外形を構成して、ポリゴンの内部領域にテクスチャアドレスデータが示すテクスチャデータを書き込む。このようにして、各ポリゴンにテクスチャが貼り付けられた物体つまり各種キャラクタを表現することができる。
【0049】
音声出力部4は、主に、記録媒体10から読み出される音声データを音声として出力するために設けられている。音声出力部4は、たとえば、スピーカー13と、増幅回路14と、D/Aコンバータ15と、インターフェース回路16とから構成されている。スピーカー13には増幅回路14が接続されており、増幅回路14にはD/Aコンバータ15が接続されており、D/Aコンバータ15にはインターフェース回路16が接続されている。そして、インターフェース回路16にバス6が接続されている。ここでは、音声データが、インターフェース回路16を介してD/Aコンバータ15に供給され、ここでアナログ音声信号に変換される。このアナログ音声信号が増幅回路14によって増幅され、スピーカー13から音声として出力される。音声データには、たとえば、ADPCM(Adaptive Differential Pulse Code Modulation)データやPCM(Pulse Code Modulation)データなどがある。ADPCMデータの場合、上述と同様の処理方法で音声をスピーカー13から出力することができる。PCMデータの場合、RAM12においてPCMデータをADPCMデータに変換しておくことで、上述と同様の処理方法で音声をスピーカー13から出力することができる。
【0050】
操作入力部5は、主に、コントローラ17と、操作情報インターフェース回路18と、インターフェース回路19とから構成されている。コントローラ17には、操作情報インターフェース回路18が接続されており、操作情報インターフェース回路18にはインターフェース回路19が接続されている。そして、インターフェース回路19にバス6が接続されている。
【0051】
コントローラ17は、プレイヤが種々の操作命令を入力するために使用する操作装置であり、プレイヤの操作に応じた操作信号をCPU7に送出する。コントローラ17には、第1ボタン17a、第2ボタン17b、第3ボタン17c、第4ボタン17d、上方向キー17U、下方向キー17D、左方向キー17L、右方向キー17R、L1ボタン17L1、L2ボタン17L2、R1ボタン17R1、R2ボタン17R2、スタートボタン17e、セレクトボタン17f、左スティック17SL及び右スティック17SRが設けられている。
【0052】
上方向キー17U、下方向キー17D、左方向キー17L及び右方向キー17Rは、たとえば、キャラクタやカーソルをテレビジョンモニタ20の画面上で上下左右に移動させるコマンドをCPU7に与えるために使用される。
【0053】
スタートボタン17eは、記録媒体10からゲームプログラムをロードするようにCPU7に指示するときなどに使用される。
【0054】
セレクトボタン17fは、記録媒体10からロードされたゲームプログラムに対して、各種選択をCPU7に指示するときなどに使用される。
【0055】
左スティック17SL及び右スティック17SRは、いわゆるジョイスティックとほぼ同一構成のスティック型コントローラである。このスティック型コントローラは、直立したスティックを有している。このスティックは、支点を中心として直立位置から前後左右を含む360°方向にわたって、傾倒可能な構成になっている。左スティック17SL及び右スティック17SRは、スティックの傾倒方向及び傾倒角度に応じて、直立位置を原点とするx座標及びy座標の値を、操作信号として操作情報インターフェース回路18とインターフェース回路19とを介してCPU7に送出する。
【0056】
第1ボタン17a、第2ボタン17b、第3ボタン17c、第4ボタン17d、L1ボタン17L1、L2ボタン17L2、R1ボタン17R1及びR2ボタン17R2には、記録媒体10からロードされるゲームプログラムに応じて種々の機能が割り振られている。
【0057】
なお、左スティック17SL及び右スティック17SRを除くコントローラ17の各ボタン及び各キーは、外部からの押圧力によって中立位置から押圧されるとオンになり、押圧力が解除されると中立位置に復帰してオフになるオンオフスイッチになっている。
【0058】
以上のような構成からなる家庭用ビデオゲーム装置の概略動作を、以下に説明する。図示しない電源スイッチがオンにされゲームシステム1に電源が投入されると、CPU7が、記録媒体10に記憶されているオペレーティングシステムに基づいて、記録媒体10から画像データ、音声データ、およびプログラムデータを読み出す。読み出された画像データ、音声データ、およびプログラムデータの一部若しくは全部は、RAM12に格納される。そして、CPU7が、RAM12に格納されたプログラムデータに基づいて、RAM12に格納された画像データや音声データにコマンドを発行する。
【0059】
画像データの場合、CPU7からのコマンドに基づいて、まず、信号処理プロセッサ8が、3次元空間上におけるキャラクタの位置計算および光源計算などを行う。次に、画像処理プロセッサ9が、信号処理プロセッサ8の計算結果に基づいて、描画すべき画像データのRAM12への書き込み処理などを行う。そして、RAM12に書き込まれた画像データが、インターフェース回路21を介してD/Aコンバータ22に供給される。ここで、画像データがD/Aコンバータ22でアナログ映像信号に変換される。そして、画像データはテレビジョンモニタ20に供給され画像として表示される。
【0060】
音声データの場合、まず、信号処理プロセッサ8が、CPU7からのコマンドに基づいて音声データの生成および加工処理を行う。ここでは、音声データに対して、たとえば、ピッチの変換、ノイズの付加、エンベロープの設定、レベルの設定及びリバーブの付加などの処理が施される。次に、音声データは、信号処理プロセッサ8から出力されて、インターフェース回路16を介してD/Aコンバータ15に供給される。ここで、音声データがアナログ音声信号に変換される。そして、音声データは増幅回路14を介してスピーカー13から音声として出力される。
【0061】
〔ゲーム装置における各種処理概要〕
本ゲーム機において実行されるゲームは、たとえば野球ゲームである。本ゲーム機は、コントローラ17を操作することによってテレビジョンモニタ20に表示されたキャラクタを動作させるゲームを実現可能になっている。図2は、本発明で主要な役割を果たす機能を説明するための機能ブロック図である。制御部1は、キャラクタ表示手段50と、キャラクタ動作手段51と、記憶領域確保手段52と、フレームデータ記憶手段53と、記憶領域確保状況判断手段54と、フレームデータ上書手段55と、フレームデータ記憶停止手段56と、フレームデータ上書停止手段57と、フレームデータ読出手段58と、読出停止命令データ書込手段59と、フレームデータ補完読出手段60と、動画リプレイ表示手段61とを主に備えている。
【0062】
キャラクタ表示手段50は、テレビジョンモニタ20に打者キャラクタ70を表示する機能を備えている。キャラクタ表示手段50では、図15に示す打者キャラクタ70、図14に示す投手キャラクタ71、図16に示すベンチ選手キャラクタ72、図14及び図15に示すボールオブジェクト73がテレビジョンモニタ20に表示される。
【0063】
この手段では、打者キャラクタ70に対応する打者用画像データ、投手キャラクタ71に対応する投手用画像データ、ベンチ選手キャラクタ72に対応するベンチ選手用画像データ、ボールオブジェクト73に対応するボールオブジェクト画像データが、ゲームプログラムのロード時に、記憶部2たとえば記録媒体10からRAM12に供給され、RAM12に格納される。このときに、打者用画像データ、投手用画像データ、ベンチ選手用画像データ、ボールオブジェクト画像データが制御部1たとえばCPU7に認識される。また、打者用画像データ、投手用画像データ、ベンチ選手用画像データ、ボールオブジェクト画像データをテレビジョンモニタ20に表示するための打者用座標データ、投手用座標データ、ベンチ選手用座標データ、ボールオブジェクト座標データが、記憶部2たとえば記録媒体10からRAM12に供給され、RAM12に格納される。このときに、打者用画像データ、投手用画像データ、ベンチ選手用画像データ、ボールオブジェクト画像データが制御部1たとえばCPU7に認識される。すると、RAM12に格納された打者用画像データ、投手用画像データ、ベンチ選手用画像データ、ボールオブジェクト画像データが、CPU7からの指示に基づいて、画像処理プロセッサ9を介してテレビジョンモニタ20に供給される。そして、打者用画像データ、投手用画像データ、ベンチ選手用画像データ、ボールオブジェクト画像データが、打者用座標データ、投手用座標データ、ベンチ選手用座標データ、ボールオブジェクト座標データに基づいて、テレビジョンモニタ20の所定の位置に表示される。なお、打者用画像データ、投手用画像データ、ベンチ選手用画像データ、ボールオブジェクト画像データをテレビジョンモニタ20の所定の位置に表示するための指示は、CPU7によって行われる。
【0064】
キャラクタ動作手段51は、打者キャラクタ70を動作させる機能を備えている。キャラクタ動作手段51では、打者キャラクタ70が動作させられる。
【0065】
この手段では、打者キャラクタ70を動作させるためのコントローラ17からの信号が制御部1たとえばCPU7に認識されると、CPU7からの指示に基づいて、打者キャラクタ70に対応する打者用画像データ、投手キャラクタ71に対応する投手用画像データ、ベンチ選手キャラクタ72に対応するベンチ選手用画像データ、ボールオブジェクト73に対応するボールオブジェクト画像データが、制御部1たとえば信号処理プロセッサ8と画像処理プロセッサ9とによって処理される。そして、処理された画像データがRAM12からテレビジョンモニタ20に供給されて、打者キャラクタ70のスイング動作、投手キャラクタ71の投球動作、ベンチ選手キャラクタ72の歓喜動作、ボールオブジェクト73の移動動作が動画としてテレビジョンモニタ20に表示される。
【0066】
記憶領域確保手段52は、RAM12の所定の記憶領域(バッファ領域)において、所定のフレームにおけるゲームキャラクタに関するフレームデータを、CPU7によって記憶可能に確保する制御を行う機能を備えている。記憶領域確保手段52では、RAM12の所定の記憶領域(バッファ領域)において、所定のフレームにおけるゲームキャラクタに関するフレームデータを、CPU7によって記憶可能に確保する制御が行われる。ここで、ゲームキャラクタに関するフレームデータとは、リプレイ動画(攻撃側のチームと守備側のチームとが攻守交替を行うイニングの合間に、直前のイニングにおいて打者キャラクタが投手キャラクタからホームランを打ったり、投手キャラクタが打者キャラクタから三振を奪ったというような直前のイニングにおけるハイライト場面のリプレイ動画)を生成するために必要な打者キャラクタ70、投手キャラクタ71、ベンチ選手キャラクタ72、ボールオブジェクト73の位置データ、角度データからなるリプレイデータであって、図3〜図10に示す一覧表に示すように、上書順番データ(ステップ)、読出順番データ(タイマ、読出停止命令データを含む)、フレームデータ(位置データ、角度データ、具体的には、データ1(X)、データ2(Y)、・・・、図3〜図10に示す一覧表ではデータ1(X)、データ2(Y)以降のデータの記載を省略しているが、複数のデータが存在しているものとする)の数値データである。図3〜図7に示すフレームデータ(位置データ、角度データ)は、位置データの実座標データ、角度データの実角度データであり、図8〜図10に示すフレームデータ(位置データ、角度データ)は、位置データの差分座標データ、角度データの差分角度データである。ここで、位置データの差分座標データ、角度データの差分角度データとは、位置データの基準位置データに対する差分座標データ、角度データの基準角度データに対する差分角度データであって、たとえば図8〜図10に示すデータ1(X)、データ2(Y)の基準位置データが(65、235)であるときには、(1、−1)となる位置データの差分座標データは、(65+1、235−1)=(66、234)となる位置データの実座標データと等価である。なお、図8、図9、図10に示す一覧表と、図3、図6、図7に示す一覧表とは、それぞれ1順目の記憶処理、2順目の上書き処理、3順目の上書き処理を表しているが、図8、図9、図10に示す一覧表の位置データの位置データの差分座標データ、角度データの差分角度データと、図3、図6、図7に示す一覧表の位置データの実座標データ、角度データの実角度データとが、完全に一致するものではない。また、フレームデータは、1フレーム毎に1個(フレームデータが1個であるのではなく、1フレームに対応する打者キャラクタ70、投手キャラクタ71、ベンチ選手キャラクタ72、ボールオブジェクト73の位置データ、角度データ等からなるフレームデータ(図3〜図10に示す一覧表の一行に相当)をまとめて1個であるとする)のフレームデータを所定のフレームの数だけ複数個有するものである。また、RAM12の所定の記憶領域とは、リプレイ動画を生成するフレームデータを記憶するバッファ領域であって、1フレーム毎に1個のフレームデータを記憶可能な複数の領域(900個の場合、第1記憶領域〜第900記憶領域、図3〜図10に示す一覧表では第1記憶領域〜第17記憶領域の17個に省略して記載されているが、上から下に向かって900個の第1記憶領域〜第900記憶領域が存在しているものとする)に区切られたバッファ領域である。また、フレームデータを記憶可能に確保するとは、記憶領域のすべてのデータをクリア(初期化、フォーマット)することであって、バッファ領域の複数の領域のフレームデータがすべてリセットされ、フレームデータが1個も記憶されていない初期状態にすることである。ここでは、記憶領域確保手段52によって、RAM12の所定の記憶領域において、所定のフレームにおけるゲームキャラクタに関するフレームデータが記憶可能に確保される。
【0067】
フレームデータ記憶手段53は、フレームデータを、所定の間隔毎にCPU7によって所定の記憶領域に記憶する制御を行う機能を備えている。フレームデータ記憶手段53では、フレームデータ記憶手段53では、フレームデータを、所定の間隔毎にCPU7によって所定の記憶領域に記憶する制御が行われる。ここで、所定の間隔毎に記憶するとは、1フレーム毎に1個のバッファ領域にフレームデータをバッファ領域の総量を最大として上から順番に連続して隙間なく第1記憶領域〜第900記憶領域まで記憶する(1順目の書き込みをする)ことであり、秒間60フレーム(60fps、60frame per second)で画像表示処理を行っているとき、バッファ領域の総量が、900個であり、1フレーム毎(=1/60秒毎)に1割り込みするときには、たとえば10秒(600フレーム)のリプレイ動画(図14に示す投手キャラクタ71が打者キャラクタ70から三振を奪ったリプレイ動画)の場合、900個のバッファ領域のうち第1記憶領域〜第600記憶領域のバッファ領域に600個のフレームデータが1フレーム毎に記憶される。また、15秒(900フレーム)のリプレイ動画(図15に示す打者キャラクタ70が投手キャラクタ71からホームランを打ったリプレイ動画)の場合、900個のバッファ領域のうち第1記憶領域〜第900記憶領域のバッファ領域に900個のフレームデータが1フレーム毎に記憶される。また、20秒(1200フレーム)のリプレイ動画(図16に示す打者キャラクタ70が投手キャラクタ71から逆転ホームランを打ったときベンチ選手キャラクタ72が歓喜しているベンチシーンのリプレイ動画)の場合、900個の第1記憶領域〜第900記憶領域のバッファ領域に1200個のフレームデータのうち900個のフレームデータが1順目の書き込みとして1フレーム毎に記憶される。フレームデータ記憶手段53では、フレームデータが所定の間隔毎に所定の記憶領域に記憶される。さらに、フレームデータ記憶手段53では、所定の第1フレーム〜第900フレームにおけるフレームデータである第1フレームデータ〜第900フレームデータ(位置データ、角度データの数値データ)と、第1フレームデータ〜第900フレームデータを読み出す順番を指定するフレームデータである第1読出順番データ〜第900読出順番データ(以下、タイマと呼称する、1、2、3・・・の整数となる数値データ)と、第1フレームデータ〜第900フレームデータを上書きする順番を指定するフレームデータである第1上書順番データ〜第900上書順番データ(以下、ステップとする、1、2、3・・・の整数、エンドコード=0を含む数値データ)とが、第1記憶領域〜第900記憶領域にそれぞれ記憶される。ここで、読出順番データとは、フレームデータ補完読出手段60において、フレームデータをどの位置のバッファ領域から読み出すかを決定するためのタイマであって、整数値からなる数値データである。なお、読出順番データには、フレームデータ補完読出手段60においてフレームデータを読み出すときに読み出しを停止するための命令である読出停止命令データ(エンドコード=0)の数値データが含まれる概念である。また、上書順番データとは、フレームデータ上書手段55において、フレームデータをどの位置のバッファ領域を上書き記憶するかを決定するためのステップであって、整数値からなる数値データである。ここでは、フレームデータ記憶手段53によって、1順目の各フレームデータ(図3に示す上書順番データ(ステップ)、読出順番データ(タイマ)、フレームデータ(位置データの実座標データ、角度データの実角度データ))がRAM12の各記憶領域のバッファ領域に格納される。
【0068】
記憶領域確保状況判断手段54は、フレームデータ記憶手段53によってフレームデータを記憶する制御が行われた所定の記憶領域に、フレームデータをさらに記憶可能な領域が確保されているか否かをCPU7によって判断する制御を行う機能を備えている。記憶領域確保状況判断手段54では、フレームデータ記憶手段53によってフレームデータを記憶する制御が行われた所定の記憶領域に、フレームデータをさらに記憶可能な領域が確保されているか否かをCPU7によって判断する制御が行われる。記憶領域確保状況判断手段54では、フレームデータの総量と記憶されたフレームデータとを比較することにより、バッファ領域にフレームデータを記憶するスペースに余裕があるか、バッファ領域にフレームデータを記憶するスペースがないかを判断する処理が行われる。具体的には、バッファ領域の総量が、900個であるときには、たとえば10秒(600フレーム)のリプレイ動画(図14に示す投手キャラクタ71が打者キャラクタ70から三振を奪ったリプレイ動画)の場合、900個のバッファ領域のうち第1記憶領域〜第600記憶領域のバッファ領域に600個のフレームデータが記憶されているので、第601記憶領域〜第900記憶領域のバッファ領域に300個のフレームデータを記憶可能であるために、バッファ領域にフレームデータを記憶するスペースに余裕があると判断される。また、たとえば15秒(900フレーム)のリプレイ動画(図15に示す打者キャラクタ70が投手キャラクタ71からホームランを打ったリプレイ動画)の場合、900個のバッファ領域のうち第1記憶領域〜第900記憶領域のバッファ領域に900個のフレームデータが記憶されているので、フレームデータの総量(900個)とバッファ領域の総量(900個)とが一致するために、バッファ領域にフレームデータを記憶するスペースに余裕がないと判断される。また、たとえば20秒(1200フレーム)のリプレイ動画(図16に示す打者キャラクタ70が投手キャラクタ71から逆転ホームランを打ったときベンチ選手キャラクタ72が歓喜しているベンチシーンのリプレイ動画)の場合、900個のバッファ領域のうち第1記憶領域〜第900記憶領域のバッファ領域に900個のフレームデータが記憶されているので、フレームデータの総量(1200個)がバッファ領域の総量(900個)を超えているために、バッファ領域にフレームデータを記憶するスペースに余裕がないと判断される。記憶領域確保状況判断手段54では、CPU7による具体的な処理として、フレームデータの個数である所定のnが記憶領域の個数である所定のmより大きいか否かが判断される。フレームデータの総量が、600個であるとき、すなわち、10秒(600フレーム=第1フレームデータ〜第600フレームデータの600個のフレームデータ)のリプレイ動画の場合、すなわち、m=900、n=600であるとき、記憶領域確保状況判断手段54によってn<mであると判断され、バッファ領域にフレームデータを記憶するスペースに余裕があると判断される。なお、フレームデータの総量が、900個であるとき、すなわち、15秒(900フレーム=第1フレームデータ〜第900フレームデータの900個のフレームデータ)のリプレイ動画の場合、すなわち、m=900、n=900であるとき、記憶領域確保状況判断手段54によってn=mであると判断され、バッファ領域にフレームデータを記憶するスペースに余裕がないと判断される。また、フレームデータの総量が、1200個であるとき、すなわち、20秒(1200フレーム=第1フレームデータ〜第1200フレームデータの1200個のフレームデータ)のリプレイ動画の場合、すなわち、m=900、n=1200であるとき、記憶領域確保状況判断手段54によってn>mであると判断され、バッファ領域にフレームデータを記憶するスペースに余裕がないと判断される。記憶領域確保状況判断手段54では、バッファ領域にフレームデータを記憶するスペースに余裕があるか、バッファ領域にフレームデータを記憶するスペースがないかが判断される。ここでは、記憶領域確保状況判断手段54によって判断された判断結果含む各種データは、RAM12に格納される。
【0069】
フレームデータ上書手段55は、記憶領域確保状況判断手段54によって所定の記憶領域にフレームデータをさらに記憶可能な領域が確保されていないと判断されたとき、フレームデータ記憶手段53によってフレームデータを記憶する制御が行われた所定の記憶領域の特定の一部分である記憶領域に、CPU7によってフレームデータの特定の一部分であるフレームデータを上書きし記憶する制御を行う機能を備えている。フレームデータ上書手段55では、記憶領域確保状況判断手段54によって所定の記憶領域にフレームデータをさらに記憶可能な領域が確保されていないと判断されたとき、フレームデータ記憶手段53によってフレームデータを記憶する制御が行われた所定の記憶領域の特定の一部分である記憶領域に、CPU7によってフレームデータの特定の一部分であるフレームデータを上書きし記憶する制御が行われる。ここでは、記憶領域確保状況判断手段54によって所定の記憶領域にフレームデータをさらに記憶可能な領域が確保されていないと判断されたとき、すなわち、バッファ領域にフレームデータを記憶するスペースに余裕がないと判断されたときであって、具体的には、たとえば、バッファ領域の総量が、900個であり、20秒(1200フレーム=第1フレームデータ〜第1200フレームデータの1200個のフレームデータ)のリプレイ動画(図16に示す打者キャラクタ70が投手キャラクタ71から逆転ホームランを打ったときベンチ選手キャラクタ72が歓喜しているベンチシーンのリプレイ動画)の場合、900個の第1記憶領域〜第900記憶領域のバッファ領域に第1フレームデータ〜第900フレームデータの900個のフレームデータが記憶され(図3が1順目の書き込み)、フレームデータの総量(1200個)がバッファ領域の総量(900個)を超えているときである。ここでは、残りの第901フレームデータ〜第1200フレームデータの300個のフレームデータが、900個の第1記憶領域〜第900記憶領域のバッファ領域のうち特定の一部分である記憶領域に上書き記憶される。ここで、フレームデータ上書手段55における上書き記憶は、2順目以降の書き込み(図4〜図6が2順目の書き込み、図7が3順目の書き込み)をすることを意味しており、フレームデータ記憶手段53における記憶が1順目の書き込みをすることを意味していることと異なっている。また、900個の第1記憶領域〜第900記憶領域のバッファ領域のうち特定の一部分である記憶領域とは、たとえば900個の第1記憶領域〜第900記憶領域のバッファ領域のうち、225個の第4記憶領域、第8記憶領域〜第900記憶領域のバッファ領域のように、特定の間隔(開始位置を4個目として4個おき毎、l=4、なお、l=4は図3に示す第900上書順番データ(ステップ)が4であることで開始位置が4つ目と決定される)をあけて各領域が離反した部分のバッファ領域であって、225個の第4記憶領域、第8記憶領域〜第900記憶領域のバッファ領域に、225個の第901フレームデータ〜第1125フレームデータが2順目の書き込みとして1フレーム毎に上書き記憶される(図4〜図6参照)。ここでは、残りの75個(=300個−225個)の第1126フレームデータ〜第1200フレームデータは、さらに、225個の第2記憶領域、第6記憶領域〜第898記憶領域のバッファ領域のうちの75個の第2記憶領域、第6記憶領域〜第298記憶領域のバッファ領域のように、特定の間隔(たとえば開始位置を2個目として4個おき毎、l=2、なお、l=2は図6に示す第899上書順番データ(ステップ)が3であることで開始位置が2つ目と決定される)をあけて各領域が離反した部分のバッファ領域に、3順目の書き込みとして1フレーム毎に上書き記憶される(図7参照)。フレームデータ上書手段55では、さらに具体的な上書処理として、記憶領域確保状況判断手段54によってフレームデータの個数である所定のnが記憶領域の個数である所定のmより大きいと判断する制御が行われたとき(n>m、2順目の上書き処理に進むとき)、第(m+1)フレームデータ、第(m+1)読出順番データ(タイマ)及び第(m+1)上書順番データ(ステップ)が、第m上書順番データ(1つ前のステップ)に対応する第1記憶領域〜第m記憶領域に含まれる第l記憶領域(2順目の上からl個目の領域)に上書き記憶され、さらに第(l−1)記憶領域(第l記憶領域の1つ前の2順目の上から(l−1)個目の領域)に記憶された第(l−1)読出順番データ(1つ前のタイマ)及び第(l−1)上書順番データ(1つ前のステップ)に、第l記憶領域に記憶された第l読出順番データ及び第l上書順番データが和算処理(1つ前のタイマと1つ前のステップとを和算処理)され上書き記憶される。ここで、第l記憶領域とは、900個の第1記憶領域〜第900記憶領域のバッファ領域のうち特定の一部分である記憶領域の開始位置であって、たとえば開始位置を4個目とすると、l=4となるので、第(l−1)記憶領域、第l記憶領域は、それぞれ第3記憶領域、第4記憶領域となる。また、第(m+1)フレームデータとは、2順目以降のフレームデータであって、m=900であるときは、第(m+1)フレームデータは、第901フレームデータとなり、このフレームデータが第l記憶領域(=第4記憶領域)に上書き記憶される。さらに、第(l−1)読出順番データ(1つ前のタイマ)及び第(l−1)上書順番データ(1つ前のステップ)に、第l記憶領域に記憶された第l読出順番データ及び第l上書順番データが和算処理されて上書き記憶される。具体的には、第(l−1)読出順番データ(第3読出順番データ=1つ前のタイマ)、第(l−1)上書順番データ(第3上書順番データ=1つ前のステップ)、第l読出順番データ(第4読出順番データ)、第l上書順番データ(第4上書順番データ)の値が1であるので(図4参照)、第(l−1)読出順番データ(第3読出順番データ=1つ前のタイマ)、第(l−1)上書順番データ(第3上書順番データ=1つ前のステップ)は、それぞれ第(l−1)読出順番データ(第3読出順番データ=1つ前のタイマ)+第l読出順番データ(第4読出順番データ)=1+1=2、第(l−1)上書順番データ(第3上書順番データ=1つ前のステップ)+第l上書順番データ(第4上書順番データ)=1+1=2が上書き記憶される(図5参照)。さらに、これらの処理を4個おきずつ繰り返すことによって、225個の第4記憶領域、第8記憶領域〜第900記憶領域のバッファ領域に、225個の第901フレームデータ〜第1125フレームデータが2順目の書き込みとして1フレーム毎に上書き記憶される(図6参照)。さらに、さらに、これらの処理を第2記憶領域から4個おきずつ繰り返すことによって、225個の第2記憶領域、第6記憶領域〜第898記憶領域のバッファ領域のうちの75個の第2記憶領域、第6記憶領域〜第298記憶領域のバッファ領域のように、特定の間隔をあけて各領域が離反した部分のバッファ領域に、3順目の書き込みとして1フレーム毎に上書き記憶される(図7参照)。フレームデータ上書手段55では、記憶領域確保状況判断手段54によって所定の記憶領域にフレームデータをさらに記憶可能な領域が確保されていないと判断されたとき、フレームデータ記憶手段53によってフレームデータが記憶された所定の記憶領域の特定の一部分である記憶領域に、フレームデータの特定の一部分であるフレームデータが上書き記憶され、RAM12の各記憶領域のバッファ領域に格納される。
【0070】
フレームデータ記憶停止手段56は、フレームデータ記憶手段53によってフレームデータを所定の間隔毎にCPU7によって所定の記憶領域に記憶するのを停止する制御を行う機能を備えている。フレームデータ記憶停止手段56では、フレームデータ記憶手段53によってフレームデータを所定の間隔毎にCPU7によって所定の記憶領域に記憶するのを停止する制御が行われる。
【0071】
フレームデータ上書停止手段57は、フレームデータ上書手段55によってフレームデータを所定の間隔毎にCPU7によって所定の記憶領域に記憶するのを停止する制御を行う機能を備えている。フレームデータ上書停止手段57では、フレームデータ上書手段55によってフレームデータを所定の間隔毎にCPU7によって所定の記憶領域に記憶するのを停止する制御が行われる。
【0072】
フレームデータ読出手段58は、記憶領域確保状況判断手段54によって所定の記憶領域にフレームデータをさらに記憶可能な領域が確保されていると判断されたとき、フレームデータ記憶手段53によって記憶されたフレームデータをCPU7によって読み出す制御を行う機能を備えている。フレームデータ読出手段58では、記憶領域確保状況判断手段54によって所定の記憶領域にフレームデータをさらに記憶可能な領域が確保されていると判断されたとき、フレームデータ記憶手段53によって記憶されたフレームデータをCPU7によって読み出す制御が行われる。ここでは、記憶領域確保状況判断手段54によって所定の記憶領域にフレームデータをさらに記憶可能な領域が確保されていると判断されたとき、すなわち、バッファ領域にフレームデータを記憶するスペースに余裕があると判断されたときであって、具体的には、バッファ領域の総量が、900個であり、10秒(600フレーム=第1フレームデータ〜第600フレームデータの600個のフレームデータ)のリプレイ動画(図14に示す投手キャラクタ71が打者キャラクタ70から三振を奪ったリプレイ動画)の場合、600個の第1記憶領域〜第600記憶領域のバッファ領域に第1フレームデータ〜第600フレームデータの600個のフレームデータが記憶され、フレームデータの総量(600個)がバッファ領域の総量(900個)以下のときである。フレームデータ読出手段58では、600個の第1記憶領域〜第600記憶領域のバッファ領域に記憶された600個の第1フレームデータ〜第600フレームデータを変換することなくそのまま読み出す処理が行われる。フレームデータ読出手段58では、さらに具体的なCPU7の処理として、記憶領域確保状況判断手段54によってフレームデータの個数である所定のnが記憶領域の個数である所定のmより小さいと判断する制御が行われたとき(n<m、1順目で終わるとき)すなわち、バッファ領域にフレームデータを記憶するスペースに余裕があると判断されたとき、10秒(600フレーム=第1フレームデータ〜第600フレームデータの600個のフレームデータ)のリプレイ動画の場合、フレームデータ記憶機能によって記憶された第1フレームデータ〜第600フレームデータを制御部によってそのまま読み出される。
【0073】
読出停止命令データ書込手段59は、フレームデータ記憶手段53またはフレームデータ上書手段55において、所定の記憶領域の終端部分である記憶領域に、CPU7によってフレームデータ読出手段58またはフレームデータ補完読出手段60においてフレームデータを読み出すときに読み出しを停止するための命令である読出停止命令データを書き込みし記憶する機能を備えている。読出停止命令データ書込手段59では、フレームデータ記憶手段53またはフレームデータ上書手段55において、所定の記憶領域の終端部分である記憶領域に、CPU7によってフレームデータ読出手段58またはフレームデータ補完読出手段60においてフレームデータを読み出すときに読み出しを停止するための命令である読出停止命令データが書き込まれ記憶される。ここで、フレームデータの終端部分を意味する読出停止命令データ(エンドコード)とは、10秒(600フレーム)のリプレイ動画(図14に示す投手キャラクタ71が打者キャラクタ70から三振を奪ったリプレイ動画)の場合、600個目の第600フレームデータ(図示しないが、第600上書順番データがエンドコードを意味する0の数値データ)、20秒(1200フレーム)のリプレイ動画(図16に示す打者キャラクタ70が投手キャラクタ71から逆転ホームランを打ったときベンチ選手キャラクタ72が歓喜しているベンチシーンのリプレイ動画)の場合、1200個目の第1200フレームデータであって、フレームデータの終端部分に読出停止命令データ(図7に示すように、1200個目のデータに相当する第298上書順番データがエンドコードを意味する0の数値データ)を書き込むことにより、フレームデータ読出手段58またはフレームデータ補完読出手段60においてフレームデータを読み出すときに読み出しが停止される。
【0074】
フレームデータ補完読出手段60は、記憶領域確保状況判断手段54によって所定の記憶領域にフレームデータをさらに記憶可能な領域が確保されていないと判断されたとき、フレームデータ記憶手段53及びフレームデータ上書手段55によって記憶されたフレームデータを補完処理して得られたフレームデータをCPU7によってフレームデータとして読み出す制御を行う機能を備えている。フレームデータ補完読出手段60では、記憶領域確保状況判断手段54によって所定の記憶領域にフレームデータをさらに記憶可能な領域が確保されていないと判断されたとき、フレームデータ記憶手段53及びフレームデータ上書手段55によって記憶されたフレームデータを補完処理して得られたフレームデータをCPU7によってフレームデータとして読み出す制御が行われる。フレームデータ補完読出手段60では、記憶領域確保状況判断手段54によって所定の記憶領域にフレームデータをさらに記憶可能な領域が確保されていないと判断されたとき、すなわち、バッファ領域にフレームデータを記憶するスペースに余裕がないと判断されたときであって、具体的には、バッファ領域の総量が、900個であり、20秒(1200フレーム=第1フレームデータ〜第1200フレームデータの1200個のフレームデータ)のリプレイ動画(図16に示す打者キャラクタ70が投手キャラクタ71から逆転ホームランを打ったときベンチ選手キャラクタ72が歓喜しているベンチシーンのリプレイ動画)の場合、900個の第1記憶領域〜第900記憶領域のバッファ領域に第1フレームデータ〜第900フレームデータの900個のフレームデータが記憶され、フレームデータの総量(1200個)がバッファ領域の総量(900個)を超えているときである。フレームデータ補完読出手段60では、900個の第1記憶領域〜第900記憶領域のバッファ領域に記憶された900個の第1フレームデータ〜第1200フレームデータ(1200個のフレームデータのうち、第1フレームデータ〜第900フレームデータの900個のフレームデータが1順目の書き込みとして記憶され(図3参照)、次の225個の第901フレームデータ〜第1125フレームデータが2順目の書き込みとして上書き記憶され(図4〜図6参照)、さらに75個の第1126フレームデータ〜第1200フレームデータが3順目の書き込みとして上書き記憶されるため(図7参照)、全体として900個のフレームデータが記憶される)を、補完処理して読み出す処理が行われる。ここで、フレームデータの補完処理とは、たとえば、特定の位置のフレームデータを基準となるフレームデータからの増分の比率と残りの比率とを読み込み先のフレームデータと基準となるフレームデータとにそれぞれ乗算したものを和算して算出する演算処理であって、本来1200個分のフレームデータがあるのに対して現在900個分のフレームデータしかないため残りの300個分のフレームデータを補完する(より元のフレームデータに近い形で復元する)ための処理である。さらに、具体的な読み出し処理としては、フレームデータ補完読出手段60では、第(n−k)読出順番データ(k個前のタイマ)に対応する領域が第n記憶領域(k個前のタイマがn)であるとき第nフレームデータを制御部によってそのまま読み出す制御を行い、第(n−k)読出順番データ(k個前のタイマ)に対応する領域が第(n+j)記憶領域(j個後のタイマ、j=1、2、・・・)であるとき第(n−k)フレームデータと第(n+j)フレームデータとを補完処理して得られたフレームデータが第nフレームデータとして読み出される。ここで、第(n−k)読出順番データとは、第n読出順番データのk個前の読出順番データであり、第(n+j)読出順番データとは、第n読出順番データのj個後の読出順番データであって、たとえばk=1、j=1とすると、第(n−1)読出順番データ(1個前のタイマ)に対応する領域が第n記憶領域(1個前のタイマがn)であるとき第nフレームデータをそのまま読み出す制御を行い、第(n−1)読出順番データ(1個前のタイマ)に対応する領域が第(n+1)記憶領域(1個後のタイマ)であるとき第(n−1)フレームデータと第(n+1)フレームデータとを補完処理して得られたフレームデータが第nフレームデータとして読み出される。さらに、具体的な補完処理としては、フレームデータ補完読出手段60では、第(n−k)読出順番データがh[h=1、2、・・・]であり、第(n−k)読出順番データを基準として増加した読出順番データがi[i=1、2、・・・]であり、第(n−i)読出順番データに対応する領域が第(n+j)記憶領域[j=h−i、n+j=n+h−i]であるとき、第(n−i)フレームデータに(1−d)を乗算処理[d=(i/h)、1−d=1−(i/h)]して得られたデータと、第(n+j)フレームデータにdを乗算処理[d=(i/h)]して得られたデータとを和算処理して得られたフレームデータをCPU7によって第nフレームデータとして読み出す制御が行われる。具体的には、h=2、i=1、j=h−i=2−1=1であるとき、d=(1/2)、1−d=1−(1/2)=(1/2)となるので、第nフレームデータは、[第(n−1)フレームデータ*(1/2)]+[第(n+1)フレームデータ*(1/2)]と算出される。具体的には、図7に示すように、3順目の1200個目のデータに相当する第298フレームデータ(データ1(X)、データ2(Y))は、(52、220)と上書き記憶されているが、第298フレームデータ(データ1(X)、データ2(Y))を読み出すときには、[第(n−1)フレームデータ*(1/2)]+[第(n+1)フレームデータ*(1/2)]の算出方法によって、第298フレームデータ(データ1(X)、データ2(Y))=[第297フレームデータ(データ1(X)、データ2(Y))*(1/2)]+[第299フレームデータ(データ1(X)、データ2(Y))*(1/2)]=[第297フレームデータ(58、223))*(1/2)]+[第299フレームデータ(60、225)*(1/2)]=(59、224)と補完されて読み出される。フレームデータ補完読出手段60では、900個の第1記憶領域〜第900記憶領域のバッファ領域に記憶された900個の第1フレームデータ〜第1200フレームデータを補完処理して読み出す処理が行われる。
【0075】
動画リプレイ表示手段61は、フレームデータ読出手段58能またはフレームデータ補完読出手段60によって読み出されたフレームデータを基にして、CPU7によってゲームキャラクタに関する動画データを生成しテレビジョンモニタ20にリプレイ表示する制御を行う機能を備えている。動画リプレイ表示手段61では、フレームデータ読出手段58またはフレームデータ補完読出手段60によって読み出されたフレームデータを基にして、CPU7によってゲームキャラクタに関する動画データを生成しテレビジョンモニタ20にリプレイ表示する制御が行われる。動画リプレイ表示手段61では、記憶領域確保状況判断手段54によって所定の記憶領域にフレームデータをさらに記憶可能な領域が確保されていると判断されたとき、すなわち、バッファ領域にフレームデータを記憶するスペースに余裕があると判断されたとき、具体的には、10秒(600フレーム)のリプレイ動画(図14に示す投手キャラクタ71が打者キャラクタ70から三振を奪ったリプレイ動画)の場合、フレームデータ読出手段58によってそのまま読み出された600個の第1記憶領域〜第600記憶領域のバッファ領域に記憶された600個の第1フレームデータ〜第600フレームデータを基にして、ゲームキャラクタに関する動画データを生成して図14に示すリプレイデモ再生表示画面40がテレビジョンモニタ20に表示される。また、記憶領域確保状況判断手段54によって所定の記憶領域にフレームデータをさらに記憶可能な領域が確保されていないと判断されたとき、すなわち、バッファ領域にフレームデータを記憶するスペースに余裕がないと判断されたとき、具体的には、20秒(1200フレーム)のリプレイ動画(図16に示す打者キャラクタ70が投手キャラクタ71から逆転ホームランを打ったときベンチ選手キャラクタ72が歓喜しているベンチシーンのリプレイ動画)の場合、フレームデータ補完読出手段60によって補完処理して読み出された900個の第1記憶領域〜第900記憶領域のバッファ領域に記憶された900個の第1フレームデータ〜第1200フレームデータを基にして、ゲームキャラクタに関する動画データを生成して図16に示すリプレイデモ再生表示画面40がテレビジョンモニタ20に表示される。
【0076】
図14に示すリプレイデモ再生表示画面40は、投手キャラクタ71を注視点とした投手キャラクタ71がボールオブジェクト73を投球する動作画面であって、ここでは、バックネット側にカメラを配置したアングルとなっている。ここで、投手キャラクタ71が打者キャラクタ70から三振を奪ったときは、投手キャラクタ71がボールオブジェクト73を投球してから、たとえば打者キャラクタ70が空振り三振するまでの様子の動画が10秒(600フレーム)となるようにリプレイ表示されるようになっている。また、リプレイデモ再生表示画面40には、画面の右上部分にリプレイ表示である旨を示すための「Replay」の文字キャラクタからなるリプレイ文字キャラクタ80が表示されるようになっている。
【0077】
図15に示すリプレイデモ再生表示画面40は、打者キャラクタ70を注視点とした打者キャラクタ70がホームランを打ったときの動作画面であって、ここでは、バックネット側にカメラを配置したアングルとなっている。ここでは、打者キャラクタ70がホームランを打ったときは、投手キャラクタ71がボールオブジェクト73を投球してから、打者キャラクタ70が打撃したボールオブジェクト73がスタンドに入り、ホームランを打った打者キャラクタ70が走りながらガッツポーズをするまでの様子の動画が15秒(900フレーム)となるようにリプレイ表示されるようになっている。また、リプレイデモ再生表示画面40では、画面の右上部分にリプレイ表示である旨を示すための「Replay」の文字キャラクタからなるリプレイ文字キャラクタ80が表示されるようになっている。
【0078】
図16に示すリプレイデモ再生表示画面40は、ベンチ選手キャラクタ72を注視点とした打者キャラクタ70が逆転ホームランを打ったときの動作画面であって、ここでは、投手キャラクタ71がボールオブジェクト73を投球してから、打者キャラクタ70が打撃したボールオブジェクト73がスタンドに入り、ホームランを打った打者キャラクタ70が走りながらガッツポーズをする様子に加えて、ホームランを打った打者キャラクタ70と同じチームのベンチ選手キャラクタ72がホームランに対して歓喜している様子の動画が20秒(1200フレーム)となるようにリプレイ表示されるようになっている。また、リプレイデモ再生表示画面40では、画面の右上部分にリプレイ表示である旨を示すための「Replay」の文字キャラクタからなるリプレイ文字キャラクタ80が表示されるようになっている。
【0079】
このゲームプログラムでは、まず、記憶領域確保手段52によって、RAM12の所定の記憶領域において、所定のフレームにおけるゲームキャラクタに関するフレームデータを、CPU7によって記憶可能に確保する制御が行われる。次に、フレームデータ記憶手段53によって、フレームデータを、所定の間隔毎にCPU7によって所定の記憶領域に記憶する制御が行われる。次に、記憶領域確保状況判断手段54によって、フレームデータ記憶手段53によってフレームデータを記憶する制御が行われた所定の記憶領域に、フレームデータをさらに記憶可能な領域が確保されているか否かをCPU7によって判断する制御が行われる。次に、フレームデータ上書手段55によって、記憶領域確保状況判断手段54によって所定の記憶領域にフレームデータをさらに記憶可能な領域が確保されていないと判断されたとき、フレームデータ記憶手段53によってフレームデータを記憶する制御が行われた所定の記憶領域の特定の一部分である記憶領域に、CPU7によってフレームデータの特定の一部分であるフレームデータを上書きし記憶する制御が行われる。次に、フレームデータ読出手段58によって、記憶領域確保状況判断手段54によって所定の記憶領域にフレームデータをさらに記憶可能な領域が確保されていると判断されたとき、フレームデータ記憶手段53によって記憶されたフレームデータをCPU7によって読み出す制御が行われる。次に、フレームデータ補完読出手段60によって、記憶領域確保状況判断手段54によって所定の記憶領域にフレームデータをさらに記憶可能な領域が確保されていないと判断されたとき、フレームデータ記憶手段53及びフレームデータ上書手段55によって記憶されたフレームデータを補完処理して得られたフレームデータをCPU7によってフレームデータとして読み出す制御が行われる。そして、動画リプレイ表示手段61によって、フレームデータ読出手段58またはフレームデータ補完読出手段60によって読み出されたフレームデータを基にして、CPU7によってゲームキャラクタに関する動画データを生成しモニタにリプレイ表示する制御が行われる。
【0080】
ここでは、記憶領域確保状況判断手段54によってバッファ領域にフレームデータを記憶するスペースに余裕があると判断されたとき、10秒(600フレーム)のリプレイ動画(図14に示す投手キャラクタ71が打者キャラクタ70から三振を奪ったリプレイ動画)の場合、フレームデータ読出手段58によってそのまま読み出されたバッファ領域に記憶されたフレームデータを基にして、動画リプレイ表示手段61によってゲームキャラクタに関する動画データを生成してテレビジョンモニタ20にリプレイ表示され、記憶領域確保状況判断手段54によってバッファ領域にフレームデータを記憶するスペースに余裕がないとき、20秒(1200フレーム)のリプレイ動画(図16に示す打者キャラクタ70が投手キャラクタ71から逆転ホームランを打ったときベンチ選手キャラクタ72が歓喜しているベンチシーンのリプレイ動画)の場合、フレームデータ補完読出手段60によって補完処理して読み出されたバッファ領域に記憶されたフレームデータを基にして、動画リプレイ表示手段61によってゲームキャラクタに関する動画データを生成してテレビジョンモニタ20にリプレイ表示されるようになっているので、リプレイ動画の画質の低減を可及的に抑えながら、長時間のリプレイ動画を表示させることができる。
【0081】
〔野球ゲームにおけるリプレイデモ表示処理システム実行時の処理フロー〕
本実施形態の野球ゲームにおけるリプレイデモ表示処理システムを、図11に示すフローチャートを用いて説明する。ここで、野球ゲームにおけるリプレイデモ表示とは、野球ゲームにおいて3アウトになって攻撃側と守備側とが交代(チェンジ)するときの動作画面をテレビジョンモニタ20に表示することである。
【0082】
まず、図11に示すように、ステップS11において、RAM12の所定の記憶領域(バッファ領域)において、所定のフレームにおけるゲームキャラクタに関するフレームデータを、CPU7によって記憶可能に確保する記憶領域確保処理が行われる。ステップS11の記憶領域確保処理では、記憶領域のすべてのデータをクリア(初期化、フォーマット)することによって、バッファ領域の複数の領域のフレームデータがすべてリセットされ、フレームデータが1個も記憶されていない初期状態になる。ステップS11の記憶領域確保処理では、RAM12の所定の記憶領域において、所定のフレームにおけるゲームキャラクタに関するフレームデータが記憶可能に確保される。ステップS11の記憶領域確保処理が行われると、ステップS12のフレームデータ記憶処理へ移行する。
【0083】
ステップS12のフレームデータ記憶処理では、フレームデータを、所定の間隔毎にCPU7によって所定の記憶領域に記憶する制御が行われる。具体的には、10秒(600フレーム)のリプレイ動画(図14に示す投手キャラクタ71が打者キャラクタ70から三振を奪ったリプレイ動画)の場合、900個のバッファ領域のうち第1記憶領域〜第600記憶領域のバッファ領域に600個のフレームデータが1フレーム毎に記憶される。また、15秒(900フレーム)のリプレイ動画(図15に示す打者キャラクタ70が投手キャラクタ71からホームランを打ったリプレイ動画)の場合、900個のバッファ領域のうち第1記憶領域〜第900記憶領域のバッファ領域に900個のフレームデータが1フレーム毎に記憶される。また、20秒(1200フレーム)のリプレイ動画(図16に示す打者キャラクタ70が投手キャラクタ71から逆転ホームランを打ったときベンチ選手キャラクタ72が歓喜しているベンチシーンのリプレイ動画)の場合、900個の第1記憶領域〜第900記憶領域のバッファ領域に1200個のフレームデータのうち900個のフレームデータが1順目の書き込みとして1フレーム毎に記憶される。さらに、ステップS12のフレームデータ記憶処理では、所定の第1フレーム〜第900フレームにおけるフレームデータである第1フレームデータ〜第900フレームデータ(位置データ、角度データの数値データ)と、第1フレームデータ〜第900フレームデータを読み出す順番を指定するフレームデータである第1読出順番データ〜第900読出順番データ(以下、タイマと呼称する、1、2、3・・・の整数となる数値データ)と、第1フレームデータ〜第900フレームデータを上書きする順番を指定するフレームデータである第1上書順番データ〜第900上書順番データ(以下、ステップとする、1、2、3・・・の整数、エンドコード=0を含む数値データ)とが、第1記憶領域〜第900記憶領域にそれぞれ記憶される。ステップS12のフレームデータ記憶処理では、1順目の各フレームデータ(図3に示す上書順番データ(ステップ)、読出順番データ(タイマ)、フレームデータ(位置データの実座標データ、角度データの実角度データ))がRAM12の各記憶領域のバッファ領域に格納される。ステップS12のフレームデータ記憶処理
が行われると、ステップS13記憶領域確保状況判断処理へ移行する。
【0084】
ステップS13の記憶領域確保状況判断処理では、ステップS12のフレームデータ記憶処理によってフレームデータを記憶する制御が行われた所定の記憶領域に、フレームデータをさらに記憶可能な領域が確保されているか否かをCPU7によって判断する制御が行われる。具体的には、フレームデータの個数である所定のnが記憶領域の個数である所定のmより大きいか否かが判断される。フレームデータの総量が、600個であるとき、すなわち、10秒(600フレーム=第1フレームデータ〜第600フレームデータの600個のフレームデータ)のリプレイ動画の場合、すなわち、m=900、n=600であるとき、ステップS13の記憶領域確保状況判断処理によってn<mであると判断され、バッファ領域にフレームデータを記憶するスペースに余裕があると判断される。なお、フレームデータの総量が、900個であるとき、すなわち、15秒(900フレーム=第1フレームデータ〜第900フレームデータの900個のフレームデータ)のリプレイ動画の場合、すなわち、m=900、n=900であるとき、ステップS13の記憶領域確保状況判断処理によってn=mであると判断され、バッファ領域にフレームデータを記憶するスペースに余裕がないと判断される。また、フレームデータの総量が、1200個であるとき、すなわち、20秒(1200フレーム=第1フレームデータ〜第1200フレームデータの1200個のフレームデータ)のリプレイ動画の場合、すなわち、m=900、n=1200であるとき、ステップS13の記憶領域確保状況判断処理によってn>mであると判断され、バッファ領域にフレームデータを記憶するスペースに余裕がないと判断される。ステップS13の記憶領域確保状況判断処理では、バッファ領域にフレームデータを記憶するスペースに余裕があるか、バッファ領域にフレームデータを記憶するスペースがないかが判断される。
【0085】
ステップS13の記憶領域確保状況判断処理において、バッファ領域にフレームデータを記憶するスペースに余裕があるとき(n<mのとき、10秒(600フレーム)のリプレイ動画(図14に示す投手キャラクタ71が打者キャラクタ70から三振を奪ったリプレイ動画)の場合)、ステップS20へ移行し、フレームデータが終了したか否かが判断される。ステップS20において、フレームデータが終了したと判断されると、ステップS21のフレームデータ記憶停止処理へ移行し、フレームデータが終了していないと判断されると、ステップS12のフレームデータ記憶処理へ戻る。
【0086】
ステップS21のフレームデータ記憶停止処理では、ステップS12のフレームデータ記憶処理によってフレームデータを所定の間隔毎にCPU7によって所定の記憶領域に記憶するのを停止する制御が行われる。ステップS21のフレームデータ記憶停止処理が行われると、ステップS22の読出停止命令データ書込処理へ移行する。
【0087】
ステップS22の読出停止命令データ書込処理では、ステップS12のフレームデータ記憶処理において、所定の記憶領域の終端部分である記憶領域に、CPU7によってステップS23のフレームデータ読出処理においてフレームデータを読み出すときに読み出しを停止するための命令である読出停止命令データが書き込まれ記憶される。ここで、フレームデータの終端部分を意味する読出停止命令データ(エンドコード)とは、10秒(600フレーム)のリプレイ動画(図14に示す投手キャラクタ71が打者キャラクタ70から三振を奪ったリプレイ動画)の場合、600個目の第600フレームデータ(図示しないが、第600上書順番データがエンドコードを意味する0の数値データ)であって、フレームデータの終端部分に読出停止命令データ(エンドコードを意味する0の数値データ)を書き込むことにより、ステップS23のフレームデータ読出処理においてフレームデータを読み出すときに読み出しが停止される。ステップS22の読出停止命令データ書込処理が行われると、ステップS23のフレームデータ読出処理へ移行する。
【0088】
ステップS23のフレームデータ読出処理では、ステップS13の記憶領域確保状況判断処理によって所定の記憶領域にフレームデータをさらに記憶可能な領域が確保されていると判断されたとき、ステップS12のフレームデータ記憶処理によって記憶されたフレームデータをCPU7によって読み出す制御が行われる。ここでは、ステップS13の記憶領域確保状況判断処理によって所定の記憶領域にフレームデータをさらに記憶可能な領域が確保されていると判断されたとき、すなわち、バッファ領域にフレームデータを記憶するスペースに余裕があると判断されたときであって、具体的には、バッファ領域の総量が、900個であり、10秒(600フレーム=第1フレームデータ〜第600フレームデータの600個のフレームデータ)のリプレイ動画(図14に示す投手キャラクタ71が打者キャラクタ70から三振を奪ったリプレイ動画)の場合、600個の第1記憶領域〜第600記憶領域のバッファ領域に第1フレームデータ〜第600フレームデータの600個のフレームデータが記憶され、フレームデータの総量(600個)がバッファ領域の総量(900個)以下のときである。フレームデータ読出手段58では、600個の第1記憶領域〜第600記憶領域のバッファ領域に記憶された600個の第1フレームデータ〜第600フレームデータを変換することなくそのまま読み出す処理が行われる。ステップS23のフレームデータ読出処理が行われると、ステップS19の動画リプレイ表示処理へ移行する。
【0089】
ステップS13の記憶領域確保状況判断処理において、バッファ領域にフレームデータを記憶するスペースに余裕がないとき(n>mのとき、20秒(1200フレーム)のリプレイ動画(図16に示す打者キャラクタ70が投手キャラクタ71から逆転ホームランを打ったときベンチ選手キャラクタ72が歓喜しているベンチシーンのリプレイ動画)の場合)、ステップS14のフレームデータ上書処理へ移行する。
【0090】
ステップS14のフレームデータ上書処理では、ステップS13の記憶領域確保状況判断処理によって所定の記憶領域にフレームデータをさらに記憶可能な領域が確保されていないと判断されたとき、ステップS12のフレームデータ記憶処理によってフレームデータを記憶する制御が行われた所定の記憶領域の特定の一部分である記憶領域に、CPU7によってフレームデータの特定の一部分であるフレームデータを上書きし記憶する制御が行われる。ここでは、ステップS13の記憶領域確保状況判断処理によって所定の記憶領域にフレームデータをさらに記憶可能な領域が確保されていないと判断されたとき、すなわち、バッファ領域にフレームデータを記憶するスペースに余裕がないと判断されたときであって、具体的には、たとえば、バッファ領域の総量が、900個であり、20秒(1200フレーム=第1フレームデータ〜第1200フレームデータの1200個のフレームデータ)のリプレイ動画(図16に示す打者キャラクタ70が投手キャラクタ71から逆転ホームランを打ったときベンチ選手キャラクタ72が歓喜しているベンチシーンのリプレイ動画)の場合、900個の第1記憶領域〜第900記憶領域のバッファ領域に第1フレームデータ〜第900フレームデータの900個のフレームデータが記憶され(図3が1順目の書き込み)、フレームデータの総量(1200個)がバッファ領域の総量(900個)を超えているときである。ここでは、残りの第901フレームデータ〜第1200フレームデータの300個のフレームデータが、900個の第1記憶領域〜第900記憶領域のバッファ領域のうち特定の一部分である記憶領域に上書き記憶される。
【0091】
ステップS14のフレームデータ上書処理では、さらに具体的な上書処理として、ステップS13の記憶領域確保状況判断処理によってフレームデータの個数である所定のnが記憶領域の個数である所定のmより大きいと判断する制御が行われたとき(n>m、2順目の上書き処理に進むとき)、第(m+1)フレームデータ、第(m+1)読出順番データ(タイマ)及び第(m+1)上書順番データ(ステップ)が、第m上書順番データ(1つ前のステップ)に対応する第1記憶領域〜第m記憶領域に含まれる第l記憶領域(2順目の上からl個目の領域)に上書き記憶され、さらに第(l−1)記憶領域(第l記憶領域の1つ前の2順目の上から(l−1)個目の領域)に記憶された第(l−1)読出順番データ(1つ前のタイマ)及び第(l−1)上書順番データ(1つ前のステップ)に、第l記憶領域に記憶された第l読出順番データ及び第l上書順番データが和算処理(1つ前のタイマと1つ前のステップとを和算処理)され上書き記憶される。ここで、第l記憶領域とは、900個の第1記憶領域〜第900記憶領域のバッファ領域のうち特定の一部分である記憶領域の開始位置であって、たとえば開始位置を4個目とすると、l=4となるので、第(l−1)記憶領域、第l記憶領域は、それぞれ第3記憶領域、第4記憶領域となる。また、第(m+1)フレームデータとは、2順目以降のフレームデータであって、m=900であるときは、第(m+1)フレームデータは、第901フレームデータとなり、このフレームデータが第l記憶領域(=第4記憶領域)に上書き記憶される。さらに、第(l−1)読出順番データ(1つ前のタイマ)及び第(l−1)上書順番データ(1つ前のステップ)に、第l記憶領域に記憶された第l読出順番データ及び第l上書順番データが和算処理されて上書き記憶される。具体的には、第(l−1)読出順番データ(第3読出順番データ=1つ前のタイマ)、第(l−1)上書順番データ(第3上書順番データ=1つ前のステップ)、第l読出順番データ(第4読出順番データ)、第l上書順番データ(第4上書順番データ)の値が1であるので(図4参照)、第(l−1)読出順番データ(第3読出順番データ=1つ前のタイマ)、第(l−1)上書順番データ(第3上書順番データ=1つ前のステップ)は、それぞれ第(l−1)読出順番データ(第3読出順番データ=1つ前のタイマ)+第l読出順番データ(第4読出順番データ)=1+1=2、第(l−1)上書順番データ(第3上書順番データ=1つ前のステップ)+第l上書順番データ(第4上書順番データ)=1+1=2が上書き記憶される(図5参照)。さらに、これらの処理を4個おきずつ繰り返すことによって、225個の第4記憶領域、第8記憶領域〜第900記憶領域のバッファ領域に、225個の第901フレームデータ〜第1125フレームデータが2順目の書き込みとして1フレーム毎に上書き記憶される(図6参照)。さらに、さらに、これらの処理を第2記憶領域から4個おきずつ繰り返すことによって、225個の第2記憶領域、第6記憶領域〜第898記憶領域のバッファ領域のうちの75個の第2記憶領域、第6記憶領域〜第298記憶領域のバッファ領域のように、特定の間隔をあけて各領域が離反した部分のバッファ領域に、3順目の書き込みとして1フレーム毎に上書き記憶される(図7参照)。
【0092】
このようなステップS14のフレームデータ上書処理では、図12に示すように、まず、ステップS41において、第(l−1)読出順番データ(第3読出順番データ=1つ前のタイマ)である1を読み出す処理が行われる。次に、ステップS42において、第l読出順番データ(第4読出順番データ)である1を読み出す処理が行われる。次に、ステップS43において、第(l−1)読出順番データ(第3読出順番データ=1つ前のタイマ)を、(l−1)読出順番データ(第3読出順番データ=1つ前のタイマ)+第l読出順番データ(第4読出順番データ)=1+1=2とする演算処理が行われる。次に、ステップS44において、第(l−1)読出順番データ(第3読出順番データ=1つ前のタイマ)を、1から2に上書きする処理が行われる。そして、ステップS45において、第(l−1)上書順番データ(第3上書順番データ=1つ前のステップ)である1を読み出す処理が行われる。次に、ステップS46において、第l上書順番データ(第4上書順番データ)である1を読み出す処理が行われる。次に、ステップS47において、第(l−1)上書順番データ(第3上書順番データ=1つ前のステップ)を、(l−1)上書順番データ(第3上書順番データ=1つ前のタイマ)+第l上書順番データ(第4上書順番データ)=1+1=2とする演算処理が行われる。次に、ステップS48において、第(l−1)上書順番データ(第3上書順番データ=1つ前のステップ)を、1から2に上書きする処理が行われる。最後に、ステップS48において、第lフレームデータを第l記憶領域に記憶される。ステップS14のフレームデータ上書処理が行われると、ステップS15へ移行し、フレームデータが終了したか否かが判断される。ステップS20において、フレームデータが終了したと判断されると、ステップS16のフレームデータ上書停止処理へ移行し、フレームデータが終了していないと判断されると、ステップS14のフレームデータ上書処理へ戻る。
【0093】
ステップS16のフレームデータ上書停止処理では、スステップS14のフレームデータ上書処理によってフレームデータを所定の間隔毎にCPU7によって所定の記憶領域に記憶するのを停止する制御が行われる。ステップS16のフレームデータ上書停止処理が行われると、ステップS17の読出停止命令データ書込処理へ移行する。
【0094】
ステップS17の読出停止命令データ書込処理では、ステップS14のフレームデータ上書処理において、所定の記憶領域の終端部分である記憶領域に、CPU7によってステップS18のフレームデータ補完読出処理においてフレームデータを読み出すときに読み出しを停止するための命令である読出停止命令データが書き込まれ記憶される。ここで、フレームデータの終端部分を意味する読出停止命令データ(エンドコード)とは、20秒(1200フレーム)のリプレイ動画(図16に示す打者キャラクタ70が投手キャラクタ71から逆転ホームランを打ったときベンチ選手キャラクタ72が歓喜しているベンチシーンのリプレイ動画)の場合、1200個目の第1200フレームデータであって、フレームデータの終端部分に読出停止命令データ(図7に示すように、1200個目のデータに相当する第298上書順番データがエンドコードを意味する0の数値データ)を書き込むことにより、ステップS18のフレームデータ補完読出処理においてフレームデータを読み出すときに読み出しが停止される。ステップS17の読出停止命令データ書込処理が行われると、ステップS18のフレームデータ補完読出処理へ移行する。
【0095】
ステップS18のフレームデータ補完読出処理では、ステップS13の記憶領域確保状況判断処理によって所定の記憶領域にフレームデータをさらに記憶可能な領域が確保されていないと判断されたとき、ステップS12のフレームデータ記憶処理及びステップS14のフレームデータ上書処理によって記憶されたフレームデータを補完処理して得られたフレームデータをCPU7によってフレームデータとして読み出す制御が行われる。ステップS18のフレームデータ補完読出処理では、ステップS13の記憶領域確保状況判断処理によって所定の記憶領域にフレームデータをさらに記憶可能な領域が確保されていないと判断されたとき、すなわち、バッファ領域にフレームデータを記憶するスペースに余裕がないと判断されたときであって、具体的には、バッファ領域の総量が、900個であり、20秒(1200フレーム=第1フレームデータ〜第1200フレームデータの1200個のフレームデータ)のリプレイ動画(図16に示す打者キャラクタ70が投手キャラクタ71から逆転ホームランを打ったときベンチ選手キャラクタ72が歓喜しているベンチシーンのリプレイ動画)の場合、900個の第1記憶領域〜第900記憶領域のバッファ領域に第1フレームデータ〜第900フレームデータの900個のフレームデータが記憶され、フレームデータの総量(1200個)がバッファ領域の総量(900個)を超えているときである。フレームデータ補完読出手段60では、900個の第1記憶領域〜第900記憶領域のバッファ領域に記憶された900個の第1フレームデータ〜第1200フレームデータ(1200個のフレームデータのうち、第1フレームデータ〜第900フレームデータの900個のフレームデータが1順目の書き込みとして記憶され(図3参照)、次の225個の第901フレームデータ〜第1125フレームデータが2順目の書き込みとして上書き記憶され(図4〜図6参照)、さらに75個の第1126フレームデータ〜第1200フレームデータが3順目の書き込みとして上書き記憶されるため(図7参照)、全体として900個のフレームデータが記憶される)を、補完処理して読み出す処理が行われる。
【0096】
ステップS18のフレームデータ補完読出処理では、さらに、具体的な読み出し処理としては、第(n−k)読出順番データ(k個前のタイマ)に対応する領域が第n記憶領域(k個前のタイマがn)であるとき第nフレームデータを制御部によってそのまま読み出す制御を行い、第(n−k)読出順番データ(k個前のタイマ)に対応する領域が第(n+j)記憶領域(j個後のタイマ、j=1、2、・・・)であるとき第(n−k)フレームデータと第(n+j)フレームデータとを補完処理して得られたフレームデータが第nフレームデータとして読み出される。ここで、第(n−k)読出順番データとは、第n読出順番データのk個前の読出順番データであり、第(n+j)読出順番データとは、第n読出順番データのj個後の読出順番データであって、たとえばk=1、j=1とすると、第(n−1)読出順番データ(1個前のタイマ)に対応する領域が第n記憶領域(1個前のタイマがn)であるとき第nフレームデータをそのまま読み出す制御を行い、第(n−1)読出順番データ(1個前のタイマ)に対応する領域が第(n+1)記憶領域(1個後のタイマ)であるとき第(n−1)フレームデータと第(n+1)フレームデータとを補完処理して得られたフレームデータが第nフレームデータとして読み出される。
【0097】
このようなステップS18のフレームデータ補完読出処理では、図13に示すように、ステップS51において、第(n−1)読出順番データ(1個前のタイマ)が1であるか否かが判断される。ステップS51において、第(n−1)読出順番データ(1個前のタイマ)が1であるときは、ステップS52へ移行し、第nフレームデータがそのまま読み出される。ステップS51において、第(n−1)読出順番データ(1個前のタイマ)が1以外であるときは、ステップS53へ移行し、第(n−1)フレームデータを読み出し、さらに、ステップS54において、第(n+1)フレームデータを読み出し、さらに、ステップS55において、第(n−1)フレームデータと第(n+1)フレームデータとを補完処理して得られたフレームデータが第nフレームデータとして読み出される。ステップS18のフレームデータ補完読出処理が行われると、ステップS19の動画リプレイ表示処理へ移行する。
【0098】
ステップS19の動画リプレイ表示処理では、ステップS23のフレームデータ読出処理またはステップS18のフレームデータ補完読出処理によって読み出されたフレームデータを基にして、CPU7によってゲームキャラクタに関する動画データを生成しテレビジョンモニタ20にリプレイ表示する制御が行われる。ステップS19の動画リプレイ表示処理では、ステップS13の記憶領域確保状況判断処理によって所定の記憶領域にフレームデータをさらに記憶可能な領域が確保されていると判断されたとき、すなわち、バッファ領域にフレームデータを記憶するスペースに余裕があると判断されたとき、具体的には、10秒(600フレーム)のリプレイ動画(図14に示す投手キャラクタ71が打者キャラクタ70から三振を奪ったリプレイ動画)の場合、ステップS23のフレームデータ読出処理によってそのまま読み出された600個の第1記憶領域〜第600記憶領域のバッファ領域に記憶された600個の第1フレームデータ〜第600フレームデータを基にして、ゲームキャラクタに関する動画データを生成して図14に示すリプレイデモ再生表示画面40がテレビジョンモニタ20に表示される。また、ステップS13の記憶領域確保状況判断処理によって所定の記憶領域にフレームデータをさらに記憶可能な領域が確保されていないと判断されたとき、すなわち、バッファ領域にフレームデータを記憶するスペースに余裕がないと判断されたとき、具体的には、20秒(1200フレーム)のリプレイ動画(図16に示す打者キャラクタ70が投手キャラクタ71から逆転ホームランを打ったときベンチ選手キャラクタ72が歓喜しているベンチシーンのリプレイ動画)の場合、ステップS18のフレームデータ補完読出処理によって補完処理して読み出された900個の第1記憶領域〜第900記憶領域のバッファ領域に記憶された900個の第1フレームデータ〜第1200フレームデータを基にして、ゲームキャラクタに関する動画データを生成して図16に示すリプレイデモ再生表示画面40がテレビジョンモニタ20に表示される。
【0099】
ここでは、ステップS13の記憶領域確保状況判断処理によってバッファ領域にフレームデータを記憶するスペースに余裕があると判断されたとき、10秒(600フレーム)のリプレイ動画(図14に示す投手キャラクタ71が打者キャラクタ70から三振を奪ったリプレイ動画)の場合、ステップS23のフレームデータ読出処理によってそのまま読み出されたバッファ領域に記憶されたフレームデータを基にして、ステップS19の動画リプレイ表示処理によってゲームキャラクタに関する動画データを生成してテレビジョンモニタ20にリプレイ表示され、ステップS13の記憶領域確保状況判断処理によってバッファ領域にフレームデータを記憶するスペースに余裕がないとき、20秒(1200フレーム)のリプレイ動画(図16に示す打者キャラクタ70が投手キャラクタ71から逆転ホームランを打ったときベンチ選手キャラクタ72が歓喜しているベンチシーンのリプレイ動画)の場合、ステップS18のフレームデータ補完読出処理によって補完処理して読み出されたバッファ領域に記憶されたフレームデータを基にして、ステップS19の動画リプレイ表示処理によってゲームキャラクタに関する動画データを生成してテレビジョンモニタ20にリプレイ表示されるようになっているので、リプレイ動画の画質の低減を可及的に抑えながら、長時間のリプレイ動画を表示させることができる。
【0100】
〔他の実施形態〕
(a) 前記実施形態では、ゲームプログラムを適用しうるコンピュータの一例としての家庭用ビデオゲーム装置を用いた場合の例を示したが、ゲーム装置は、前記実施形態に限定されず、モニタが別体に構成されたゲーム装置、モニタが一体に構成されたゲーム装置、ゲームプログラムを実行することによってゲーム装置として機能するパーソナルコンピュータやワークステーションなどにも同様に適用することができる。
【0101】
(b) 本発明には、前述したようなゲームを実行するプログラム、前述したようなゲームを実行するプログラム方法、およびこのプログラムを記録したコンピュータ読み取り可能な記録媒体も含まれる。この記録媒体としては、カートリッジ以外に、たとえば、コンピュータ読み取り可能なフレキシブルディスク、半導体メモリ、CD−ROM、DVD、MO、ROMカセット、その他のものが挙げられる。
【図面の簡単な説明】
【0102】
【図1】本発明の一実施形態によるビデオゲーム装置の基本構成図。
【図2】前記ビデオゲーム装置の機能ブロック図。
【図3】1順目の記憶処理が行われた各記憶領域(バッファ領域)における、上書順番データ(ステップ)、読出順番データ(タイマ)、フレームデータ(位置データの実座標データ、角度データの実角度データ)の一覧表。
【図4】2順目の1つ目(第4記憶領域)の上書き処理が行われた各記憶領域(バッファ領域)における、上書順番データ(ステップ)、読出順番データ(タイマ)、フレームデータ(位置データの実座標データ、角度データの実角度データ)の一覧表。
【図5】2順目の1つ目(第4記憶領域の1つ前の第3記憶領域)の上書き処理が行われた各記憶領域(バッファ領域)における、上書順番データ(ステップ)、読出順番データ(タイマ)、フレームデータ(位置データの実座標データ、角度データの実角度データ)の一覧表。
【図6】2順目の上書き処理が行われた各記憶領域(バッファ領域)における、上書順番データ(ステップ)、読出順番データ(タイマ)、フレームデータ(位置データの実座標データ、角度データの実角度データ)の一覧表。
【図7】3順目の上書き処理が行われた各記憶領域(バッファ領域)における、上書順番データ(ステップ)、読出順番データ(タイマ)、フレームデータ(位置データの実座標データ、角度データの実角度データ)の一覧表。
【図8】1順目の記憶処理が行われた各記憶領域(バッファ領域)における、上書順番データ(ステップ)、読出順番データ(タイマ)、フレームデータ(位置データの差分座標データ、角度データの差分角度データ)の一覧表。
【図9】2順目の上書き処理が行われた各記憶領域(バッファ領域)における、上書順番データ(ステップ)、読出順番データ(タイマ)、フレームデータ(位置データの差分座標データ、角度データの差分角度データ)の一覧表。
【図10】3順目の上書き処理が行われた各記憶領域(バッファ領域)における、上書順番データ(ステップ)、読出順番データ(タイマ)、フレームデータ(位置データの差分座標データ、角度データの差分角度データ)の一覧表。
【図11】リプレイデモ表示処理を説明するためのフローチャート。
【図12】フレームデータ上書記憶処理を説明するためのフローチャート。
【図13】フレームデータ補完読出処理を説明するためのフローチャート。
【図14】投手奪三振リプレイ(10秒、600フレーム)のリプレイデモ再生表示画面を示すテレビジョンモニタ図。
【図15】ホームランリプレイ(15秒、900フレーム)のリプレイデモ再生表示画面を示すテレビジョンモニタ図。
【図16】逆転ホームランリプレイ(ベンチシーンリプレイ、20秒、1200フレーム)のリプレイデモ再生表示画面を示すテレビジョンモニタ図。
【符号の説明】
【0103】
1 制御部
2 記憶部
7 CPU
12 RAM
20 テレビジョンモニタ
40 リプレイデモ再生表示画面
50 キャラクタ表示手段
51 キャラクタ動作手段
52 記憶領域確保手段
53 フレームデータ記憶手段
54 記憶領域確保状況判断手段
55 フレームデータ上書手段
56 フレームデータ記憶停止手段
57 フレームデータ上書停止手段
58 フレームデータ読出手段
59 読出停止命令データ書込手段
60 フレームデータ補完読出手段
61 動画リプレイ表示手段
70 打者キャラクタ
71 投手キャラクタ
72 ベンチ選手キャラクタ
73 ボールオブジェクト
80 リプレイ文字キャラクタ

【特許請求の範囲】
【請求項1】
ゲームキャラクタの動作を制御部によって記憶部に記憶させ、前記ゲームキャラクタの動作画面を前記制御部によってモニタにリプレイ表示させるゲームを実現可能なコンピュータに、
前記記憶部の所定の記憶領域において、所定のフレームにおける前記ゲームキャラクタに関するフレームデータを、前記制御部によって記憶可能に確保する制御を行う記憶領域確保機能と、
前記フレームデータを、所定の間隔毎に前記制御部によって前記所定の記憶領域に記憶する制御を行うフレームデータ記憶機能と、
前記フレームデータ記憶機能によって前記フレームデータを記憶する制御が行われた前記所定の記憶領域に、前記フレームデータをさらに記憶可能な領域が確保されているか否かを前記制御部によって判断する制御を行う記憶領域確保状況判断機能と、
前記記憶領域確保状況判断機能によって前記所定の記憶領域に前記フレームデータをさらに記憶可能な領域が確保されていないと判断されたとき、前記フレームデータ記憶機能によって前記フレームデータを記憶する制御が行われた前記所定の記憶領域の特定の一部分である記憶領域に、前記制御部によって前記フレームデータの特定の一部分であるフレームデータを上書きし記憶する制御を行うフレームデータ上書機能と、
前記記憶領域確保状況判断機能によって前記所定の記憶領域に前記フレームデータをさらに記憶可能な領域が確保されていると判断されたとき、前記フレームデータ記憶機能によって記憶された前記フレームデータを前記制御部によって読み出す制御を行うフレームデータ読出機能と、
前記記憶領域確保状況判断機能によって前記所定の記憶領域に前記フレームデータをさらに記憶可能な領域が確保されていないと判断されたとき、前記フレームデータ記憶機能及び前記フレームデータ上書機能によって記憶された前記フレームデータを補完処理して得られたフレームデータを前記制御部によって前記フレームデータとして読み出す制御を行うフレームデータ補完読出機能と、
前記フレームデータ読出機能または前記フレームデータ補完読出機能によって読み出された前記フレームデータを基にして、前記制御部によって前記ゲームキャラクタに関する動画データを生成し前記モニタにリプレイ表示する制御を行う動画リプレイ表示機能と、
を実現させるためのゲームプログラム。
【請求項2】
前記コンピュータに、
前記フレームデータ記憶機能または前記フレームデータ上書機能において、前記所定の記憶領域の終端部分である記憶領域に、前記制御部によって前記フレームデータ読出機能または前記フレームデータ補完読出機能において前記フレームデータを読み出すときに読み出しを停止するための命令である読出停止命令データを書き込みし記憶する読出停止命令データ書込機能、
をさらに実現させるための、請求項1に記載のゲームプログラム。
【請求項3】
前記記憶領域確保機能は、前記記憶部の所定の領域において所定のm個の区画に分割して設けられた第1記憶領域〜第m記憶領域に、前記フレームデータを、前記制御部によって記憶可能に確保する制御を行う機能であり、
前記フレームデータ記憶機能は、所定の第1フレーム〜第nフレームにおける前記フレームデータである第1フレームデータ〜第nフレームデータと、前記第1フレームデータ〜前記第nフレームデータを読み出す順番を指定する前記フレームデータである第1読出順番データ〜第n読出順番データと、前記第1フレームデータ〜前記第nフレームデータを上書きする順番を指定する前記フレームデータである第1上書順番データ〜第n上書順番データとを、前記制御部によって前記第1記憶領域〜前記第n記憶領域にそれぞれ記憶する制御を行う機能であり、
前記記憶領域確保状況判断機能は、前記フレームデータの個数である所定のnが前記記憶領域の個数である所定のmより大きいか否かを判断する制御を行う機能であり、
前記フレームデータ上書機能は、前記記憶領域確保状況判断機能によって前記フレームデータの個数である所定のnが前記記憶領域の個数である所定のmより大きいと判断する制御が行われたとき、第(m+1)フレームデータ、第(m+1)読出順番データ及び第(m+1)上書順番データを、前記制御部によって前記第m上書順番データに対応する前記第1記憶領域〜前記第m記憶領域に含まれる第l記憶領域に上書きし記憶する制御を行い、さらに第(l−1)記憶領域に記憶された第(l−1)読出順番データ及び第(l−1)上書順番データに、前記第l記憶領域に記憶された第l読出順番データ及び第l上書順番データを和算処理して上書きし記憶する機能であり、
前記フレームデータ読出機能は、前記記憶領域確保状況判断機能によって前記フレームデータの個数である所定のnが前記記憶領域の個数である所定のmより小さいと判断する制御が行われたとき、前記フレームデータ記憶機能によって記憶された前記第1フレームデータ〜前記第nフレームデータを前記制御部によってそのまま読み出す制御を行う機能であり、
前記フレームデータ補完読出機能は、前記フレームデータ記憶機能及び前記フレームデータ上書機能によって記憶された前記第1フレームデータ〜前記第nフレームデータを第(n−k)読出順番データに対応する領域順に繰り返し読み出す機能であって、前記第(n−k)読出順番データに対応する領域が前記第n記憶領域であるとき前記第nフレームデータを前記制御部によってそのまま読み出す制御を行い、前記第(n−k)読出順番データに対応する領域が前記第(n+j)記憶領域であるとき前記第(n−k)フレームデータと前記第(n+j)フレームデータとを補完処理して得られたフレームデータを前記制御部によって前記第nフレームデータとして読み出す制御を行う機能である、請求項1又は2に記載のゲームプログラム。
【請求項4】
前記フレームデータ補完読出機能は、前記第(n−k)読出順番データがh[h=1、2、・・・]であり、前記第(n−k)読出順番データを基準として増加した読出順番データがi[i=1、2、・・・]であり、前記第(n−i)読出順番データに対応する領域が前記第(n+j)記憶領域[j=h−i、n+j=n+h−i]であるとき、前記第(n−i)フレームデータに(1−d)を乗算処理[d=(i/h)、1−d=1−(i/h)]して得られたデータと、前記第(n+j)フレームデータにdを乗算処理[d=(i/h)]して得られたデータとを和算処理して得られたフレームデータを前記制御部によって前記第nフレームデータとして読み出す制御を行う機能である、請求項3に記載のゲームプログラム。
【請求項5】
前記第nフレームデータは、所定の前記第nフレームにおける前記ゲームキャラクタの位置データである第n位置データ、所定の前記第nフレームにおける前記ゲームキャラクタの角度データである第n角度データである、請求項3又は4に記載のゲームプログラム。
【請求項6】
前記第nフレームデータは、所定の前記第nフレームにおける前記第n位置データの実座標データ、所定の前記第nフレームにおける前記第n角度データの実角度データである、請求項5に記載のゲームプログラム。
【請求項7】
前記第nフレームデータは、所定の前記第nフレームにおける前記第n位置データの特定の基準位置データに対する差分座標データ、所定の前記第nフレームにおける前記第n角度データの特定の基準角度データに対する差分角度データである、請求項5に記載のゲームプログラム。
【請求項8】
ゲームキャラクタの動作を制御部によって記憶部に記憶させ、前記ゲームキャラクタの動作画面を前記制御部によってモニタにリプレイ表示させるゲームを実行可能なゲーム装置であって、
前記記憶部の所定の記憶領域において、所定のフレームにおける前記ゲームキャラクタに関するフレームデータを、前記制御部によって記憶可能に確保する制御を行う記憶領域確保手段と、
前記フレームデータを、所定の間隔毎に前記制御部によって前記所定の記憶領域に記憶する制御を行うフレームデータ記憶手段と、
前記フレームデータ記憶手段によって前記フレームデータを記憶する制御が行われた前記所定の記憶領域に、前記フレームデータをさらに記憶可能な領域が確保されているか否かを前記制御部によって判断する制御を行う記憶領域確保状況判断手段と、
前記記憶領域確保状況判断手段によって前記所定の記憶領域に前記フレームデータをさらに記憶可能な領域が確保されていないと判断されたとき、前記フレームデータ記憶手段によって前記フレームデータを記憶する制御が行われた前記所定の記憶領域の特定の一部分である記憶領域に、前記制御部によって前記フレームデータの特定の一部分であるフレームデータを上書きし記憶する制御を行うフレームデータ上書手段と、
前記記憶領域確保状況判断手段によって前記所定の記憶領域に前記フレームデータをさらに記憶可能な領域が確保されていると判断されたとき、前記フレームデータ記憶手段によって記憶された前記フレームデータを前記制御部によって読み出す制御を行うフレームデータ読出手段と、
前記記憶領域確保状況判断手段によって前記所定の記憶領域に前記フレームデータをさらに記憶可能な領域が確保されていないと判断されたとき、前記フレームデータ記憶手段及び前記フレームデータ上書手段によって記憶された前記フレームデータを補完処理して得られたフレームデータを前記制御部によって前記フレームデータとして読み出す制御を行うフレームデータ補完読出手段と、
前記フレームデータ読出手段または前記フレームデータ補完読出手段によって読み出された前記フレームデータを基にして、前記制御部によって前記ゲームキャラクタに関する動画データを生成し前記モニタにリプレイ表示する制御を行う動画リプレイ表示手段と、
を備えるゲーム装置。
【請求項9】
ゲームキャラクタの動作を制御部によって記憶部に記憶させ、前記ゲームキャラクタの動作画面を前記制御部によってモニタにリプレイ表示させるゲームをコンピュータにより制御するゲーム制御方法であって、
前記記憶部の所定の記憶領域において、所定のフレームにおける前記ゲームキャラクタに関するフレームデータを、前記制御部によって記憶可能に確保する制御を行う記憶領域確保ステップと、
前記フレームデータを、所定の間隔毎に前記制御部によって前記所定の記憶領域に記憶する制御を行うフレームデータ記憶ステップと、
前記フレームデータ記憶ステップによって前記フレームデータを記憶する制御が行われた前記所定の記憶領域に、前記フレームデータをさらに記憶可能な領域が確保されているか否かを前記制御部によって判断する制御を行う記憶領域確保状況判断ステップと、
前記記憶領域確保状況判断ステップによって前記所定の記憶領域に前記フレームデータをさらに記憶可能な領域が確保されていないと判断されたとき、前記フレームデータ記憶ステップによって前記フレームデータを記憶する制御が行われた前記所定の記憶領域の特定の一部分である記憶領域に、前記制御部によって前記フレームデータの特定の一部分であるフレームデータを上書きし記憶する制御を行うフレームデータ上書ステップと、
前記記憶領域確保状況判断ステップによって前記所定の記憶領域に前記フレームデータをさらに記憶可能な領域が確保されていると判断されたとき、前記フレームデータ記憶ステップによって記憶された前記フレームデータを前記制御部によって読み出す制御を行うフレームデータ読出ステップと、
前記記憶領域確保状況判断ステップによって前記所定の記憶領域に前記フレームデータをさらに記憶可能な領域が確保されていないと判断されたとき、前記フレームデータ記憶ステップ及び前記フレームデータ上書ステップによって記憶された前記フレームデータを補完処理して得られたフレームデータを前記制御部によって前記フレームデータとして読み出す制御を行うフレームデータ補完読出ステップと、
前記フレームデータ読出ステップまたは前記フレームデータ補完読出ステップによって読み出された前記フレームデータを基にして、前記制御部によって前記ゲームキャラクタに関する動画データを生成し前記モニタにリプレイ表示する制御を行う動画リプレイ表示ステップと、
を備えるゲーム制御方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate


【公開番号】特開2008−301913(P2008−301913A)
【公開日】平成20年12月18日(2008.12.18)
【国際特許分類】
【出願番号】特願2007−149856(P2007−149856)
【出願日】平成19年6月6日(2007.6.6)
【出願人】(506113602)株式会社コナミデジタルエンタテインメント (1,441)
【Fターム(参考)】