(57)【要約】【課題】記憶すべきリプレイデータの量を抑え、長時間に渡るリプレイ画像を生成できるゲームシステム及び情報記憶媒体を提供すること。【解決手段】ゲーム画像を生成するためのゲームシステムであって、ゲーム中において第１のオブジェクトが第２のオブジェクトに差し替えられた場合に、差し替え元の第１のオブジェクトを特定するための第１の識別データ及び差し替え先の第２のオブジェクトを特定するための第２の識別データを、リプレイデータとしてリプレイデータ記憶手段に書き込み記憶させる書き込み手段と、リプレイデータとして記憶された第１、第２の識別データに基づき、第２のオブジェクトを第１のオブジェクトに差し戻した後に第１のオブジェクトを第２のオブジェクトに差し替えるリプレイ処理を行うリプレイ処理手段とを含むことを特徴とする。【選択図】図１
2007130506.tif 000002
【特許請求の範囲】
【請求項１】
ゲーム画像を生成するためのゲームシステムであって、
ゲーム中において第１のオブジェクトが第２のオブジェクトに差し替えられた場合に、差し替え元の第１のオブジェクトを特定するための第１の識別データ及び差し替え先の第２のオブジェクトを特定するための第２の識別データを、リプレイデータとしてリプレイデータ記憶手段に書き込み記憶させる書き込み手段と、
リプレイデータとして記憶された第１、第２の識別データに基づき、第２のオブジェクトを第１のオブジェクトに差し戻した後に第１のオブジェクトを第２のオブジェクトに差し替えるリプレイ処理を行うリプレイ処理手段と、
を含むことを特徴とするゲームシステム。
【請求項２】
コンピュータが使用可能な情報記憶媒体であって、
ゲーム中において第１のオブジェクトが第２のオブジェクトに差し替えられた場合に、差し替え元の第１のオブジェクトを特定するための第１の識別データ及び差し替え先の第２のオブジェクトを特定するための第２の識別データを、リプレイデータとしてリプレイデータ記憶手段に書き込み記憶させる書き込み手段と、
リプレイデータとして記憶された第１、第２の識別データに基づき、第２のオブジェクトを第１のオブジェクトに差し戻した後に第１のオブジェクトを第２のオブジェクトに差し替えるリプレイ処理を行うリプレイ処理手段として、
コンピュータを機能させるプログラムを含むことを特徴とする情報記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ゲームシステム及び情報記憶媒体に関する。
【背景技術】
【０００２】
従来より、画面上に映し出されたゲーム画像を見ながらシューティングゲームやスポーツゲームや格闘ゲームなどを楽しむことができるゲームシステムが知られている。このようなゲームシステムには、通常、リプレイ機能と呼ばれる機能が設けられており、プレーヤは、このリプレイ機能を利用することで、自身のゲームプレイの様子をゲーム終了後にゲーム中とは異なった視点で見ることができるようになる。
【０００３】
さて、このようなリプレイ機能を実現するためには、リプレイ画像を生成するためのリプレイデータを、ゲームシステム内のリプレイデータ記憶部（リプレイバッファ）に記憶しておく必要がある。このようなリプレイデータの記憶手法には、大別して次の２つの手法がある。
【０００４】
即ち、第１の手法では、ゲームコントローラ（操作部）を用いてプレーヤが入力した操作データ（キーデータ）の履歴をリプレイデータとしてリプレイデータ記憶部に記憶する。そして、リプレイ処理においては、これらの操作データの履歴に基づいてゲーム中と同じ処理を行うことで、ゲーム場面を再構築し、リプレイ画像を生成する。
【０００５】
しかしながら、この第１の手法では、リプレイ処理の際に、ゲーム開始からの操作データの履歴を全てたどる必要がある。このため、ゲーム途中からのリプレイ画像の生成が難しいという問題点がある。
【０００６】
一方、第２の手法としては、例えば国際公開番号ＷＯ９６／００６０１に開示されている従来技術がある。この第２の手法では、オブジェクトの３次元の位置（座標）データ、角度（方向）データをリプレイデータ記憶部に記憶する。そして、リプレイ処理において、これらの位置データ、角度データにより特定される位置、角度でオブジェクトを表示することで、リプレイ画像を生成する。
【０００７】
しかしながら、この第２の手法では、操作データに比べてデータ量の多い位置データ、角度データをリプレイデータ記憶部に記憶する必要がある。従って、リプレイデータ記憶部の使用記憶容量が非常に大きくなってしまい、他の処理に必要な記憶容量を圧迫してしまう。また、リプレイデータ記憶部には数秒間分のリプレイデータしか記憶できないため、長時間に渡るリプレイ画像の生成を実現できないという問題点もある。
【特許文献１】特開平１０−２１６３５８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
本発明は、以上のような課題を解決するためになされたものであり、その目的とするところは、記憶すべきリプレイデータの量を抑え、長時間に渡るリプレイ画像を生成できるゲームシステム及び情報記憶媒体を提供することにある。
【課題を解決するための手段】
【０００９】
上記課題を解決するために、本発明は、ゲーム画像を生成するためのゲームシステムであって、オブジェクトの位置データ又は角度データのビット数を削減し、ビット数が削減された位置データ又は角度データを、リプレイデータとしてリプレイデータ記憶手段に書き込み記憶させる手段と、ビット数が削減されて記憶された位置データ又は角度データに基づいて、該位置データ又は該角度データによりその位置又は角度が特定されるオブジェクトのリプレイ処理を行う手段とを含むことを特徴とする。また本発明に係る情報記憶媒体は、コンピュータにより使用可能な情報記憶媒体であって、上記手段を実現（実行）するための情報（プログラム）を含むことを特徴とする。また本発明に係るプログラムは、コンピュータにより使用可能なプログラムであって、上記手段を実現（実行）するためのプログラムであることを特徴とする。
【００１０】
本発明によれば、オブジェクトの位置（座標）データ又は角度（方向）データのビット数が削減（圧縮）されてリプレイデータ記憶手段に記憶される。そして、このビット数が削減された位置データ又は角度データに基づいてリプレイ処理が行われ、リプレイ画像が生成される。従って、リプレイデータ記憶手段の使用記憶容量を格段に節約でき、長時間に渡るリプレイ画像の生成が可能になる。そして、このようにビット数が削減された位置データ又は角度データに基づいてリプレイ処理を行っても、プレーヤ（操作者）に気づかれる可能性は少ない。一方、ゲーム中で使用される位置データ又は角度データについては、通常通りのビット数に設定できるため、ゲーム中で行われる数値計算に破綻が生じたり、オブジェクトが不自然な動きをする事態も防止できる。
【００１１】
また本発明に係るゲームシステム、情報記憶媒体及びプログラムは、角度データの削減ビット数を、位置データの削減ビット数よりも少なくすることを特徴とする。このようにすれば、リプレイデータ記憶手段の使用記憶容量を節約しながら、オブジェクトの方向が不自然に変化してリプレイ画像の画質が低下する事態を防止できるようになる。
【００１２】
また本発明は、ゲーム画像を生成するためのゲームシステムであって、リプレイデータとして記憶すべき要素データの中で、前回のフレームから変化した要素データを、リプレイデータとしてリプレイデータ記憶手段に書き込み記憶させる手段と、リプレイデータとして記憶された要素データに基づいて、リプレイ画像を生成するためのリプレイ処理を行う手段とを含むことを特徴とする。また本発明に係る情報記憶媒体は、コンピュータにより使用可能な情報記憶媒体であって、上記手段を実現（実行）するための情報（プログラム）を含むことを特徴とする。また本発明に係るプログラムは、コンピュータにより使用可能なプログラムであって、上記手段を実現（実行）するためのプログラムであることを特徴とする。
【００１３】
本発明によれば、前回のフレームから変化したことを条件に、要素データがリプレイデータ記憶手段に記憶されるようになる。従って、要素データの値が長時間に渡って変化しなかった場合等に、無駄な要素データがリプレイデータ記憶手段に記憶される事態を防止できる。これにより、リプレイデータ記憶手段の使用記憶容量を格段に少なくできるようになる。
【００１４】
また本発明に係るゲームシステム、情報記憶媒体及びプログラムは、前回のフレームから変化したことを条件にリプレイデータとして記憶される前記要素データが、オブジェクトの位置データ、オブジェクトの角度データ、オブジェクトのモデル番号、オブジェクトのアニメーション処理におけるアニメーション番号、及びオブジェクトの表示・非表示フラグの少なくとも１つを含むことを特徴とする。但し、前回のフレームから変化したことを条件にリプレイデータとして記憶される要素データは、これらのデータであることが特に望ましいが、これらのデータに限定はされない。
【００１５】
また本発明は、ゲーム画像を生成するためのゲームシステムであって、ゲーム中においてアニメーション処理されるオブジェクトのアニメーション番号を、リプレイデータとしてリプレイデータ記憶手段に書き込み記憶させる手段と、リプレイデータとして記憶されたアニメーション番号に基づいて、ゲーム中においてアニメーション処理されるオブジェクトのリプレイ処理を行う手段とを含むことを特徴とする。また本発明に係る情報記憶媒体は、コンピュータにより使用可能な情報記憶媒体であって、上記手段を実現（実行）するための情報（プログラム）を含むことを特徴とする。また本発明に係るプログラムは、コンピュータにより使用可能なプログラムであって、上記手段を実現（実行）するためのプログラムであることを特徴とする。
【００１６】
本発明によれば、リプレイデータ記憶手段にアニメーション番号等を記憶するだけで、ゲーム中においてアニメーション処理されるオブジェクトのリプレイ処理を実現できるようになる。これにより、リプレイデータ記憶手段の使用記憶容量を節約しながら、適正なリプレイ画像を生成できるようになる。
【００１７】
また本発明に係るゲームシステム、情報記憶媒体及びプログラムは、前回のフレームから変化したことを条件に、アニメーション番号がリプレイデータとしてリプレイデータ記憶手段に記憶されることを特徴とする。このようにすれば、リプレイデータのデータ量を更に少なくできるようになる。
【００１８】
また本発明は、ゲーム画像を生成するためのゲームシステムであって、ゲーム中においてオブジェクトが発生又は消滅した場合に、発生又は消滅したオブジェクトを特定するための識別データを、リプレイデータとしてリプレイデータ記憶手段に書き込み記憶させる手段と、リプレイデータとして記憶された識別データにより特定されるオブジェクトを、所与のアルゴリズムにしたがって自動的に動作又は変化させるリプレイ処理を行う手段とを含むことを特徴とする。また本発明に係る情報記憶媒体は、コンピュータにより使用可能な情報記憶媒体であって、上記手段を実現（実行）するための情報（プログラム）を含むことを特徴とする。また本発明に係るプログラムは、コンピュータにより使用可能なプログラムであって、上記手段を実現（実行）するためのプログラムであることを特徴とする。
【００１９】
本発明によれば、リプレイデータ記憶手段に記憶される識別データにより特定されるオブジェクトが、リプレイ時に、所与のアルゴリズム（例えばゲーム中でそのオブジェクトの動作又は変化に使用されるものと同様のアルゴリズム）にしたがって、自動的に動作（移動、回転、モーション再生等）又は変化するようになる。従って、リプレイデータ記憶手段の使用記憶容量を抑えながら、ゲーム中と同様の画像をリプレイ画像として生成できるようになる。
【００２０】
また本発明に係るゲームシステム、情報記憶媒体及びプログラムは、ゲーム中においてオブジェクトが発生した場合に、発生時におけるオブジェクトの位置データ又は角度データ又は速度データが、リプレイデータとしてリプレイデータ記憶手段に記憶されることを特徴とする。このようにすることで、弾、エフェクトなどの種々のオブジェクトについてのリプレイ画像を生成できるようになる。
【００２１】
また本発明は、ゲーム画像を生成するためのゲームシステムであって、ゲーム中において第１のオブジェクトが第２のオブジェクトに差し替えられた場合に、差し替え元の第１のオブジェクトを特定するための第１の識別データ及び差し替え先の第２のオブジェクトを特定するための第２の識別データを、リプレイデータとしてリプレイデータ記憶手段に書き込み記憶させる手段と、リプレイデータとして記憶された第１、第２の識別データに基づき、第２のオブジェクトを第１のオブジェクトに差し戻した後に第１のオブジェクトを第２のオブジェクトに差し替えるリプレイ処理を行う手段とを含むことを特徴とする。また本発明に係る情報記憶媒体は、コンピュータにより使用可能な情報記憶媒体であって、上記手段を実現（実行）するための情報（プログラム）を含むことを特徴とする。また本発明に係るプログラムは、コンピュータにより使用可能なプログラムであって、上記手段を実現（実行）するためのプログラムであることを特徴とする。
【００２２】
本発明によれば、ゲーム中において第１のオブジェクトが第２のオブジェクトに差し替えられた場合に、差し替え先の第２のオブジェクトを差し替え元の第１のオブジェクトに戻した後に第１のオブジェクトを第２のオブジェクトに差し替える適正なリプレイ画像を生成できるようになる。
【００２３】
また本発明は、ゲーム画像を生成するためのゲームシステムであって、リプレイ処理に使用されるパケットの中で、当該フレームのリプレイ処理に必要なパケットを判断し、必要であると判断されたパケットを、当該フレームに対応するリプレイデータとしてリプレイデータ記憶手段に書き込み記憶させる手段と、記憶されたリプレイデータのパケットに基づいて、リプレイ画像を生成するためのリプレイ処理を行う手段とを含むことを特徴とする。また本発明に係る情報記憶媒体は、コンピュータにより使用可能な情報記憶媒体であって、上記手段を実現（実行）するための情報（プログラム）を含むことを特徴とする。また本発明に係るプログラムは、コンピュータにより使用可能なプログラムであって、上記手段を実現（実行）するためのプログラムであることを特徴とする。
【００２４】
本発明によれば、当該フレームのリプレイ処理に必要なパケットが選別されてリプレイデータ記憶手段に記憶されるようになるため、リプレイデータ記憶手段を無駄なく効率良く使用できるようになる。また、リプレイデータの仕様に変更が生じ、新たなリプレイデータを記憶する必要が生じた場合等にも、容易にこれに対処できるようになる。
【００２５】
また本発明に係るゲームシステム、情報記憶媒体及びプログラムは、第１のリプレイ処理用の第１のパケット、第２のリプレイ処理用の第２のパケット・・・・・第Ｎのリプレイ処理用の第Ｎのパケットが用意され、第１〜第Ｎのリプレイ処理のいずれに使用されるかを指定する分類データが第１〜第Ｎのパケットの各々に付加されて、リプレイデータ記憶手段に記憶されることを特徴とする。このようにすれば、分類データに基づいて、第１〜第Ｎのリプレイ処理に対して第１〜第Ｎのパケットを適切に仕分けできるようになる。この結果、リプレイデータ記憶手段へのパケットの書き込み処理や、リプレイデータ記憶手段からのパケットの読み出し処理を、簡易化できるようになる。
【００２６】
また本発明は、ゲーム画像を生成するためのゲームシステムであって、プレーヤが操作するオブジェクトの位置又は方向或いはプレーヤの視点位置又は視線方向により特定される所与の範囲の外にあるオブジェクトのリプレイデータについてはその記憶を省略しながら、リプレイデータをリプレイデータ記憶手段に書き込み記憶させる手段と、記憶されたリプレイデータに基づいて、リプレイ画像を生成するためのリプレイ処理を行う手段とを含むことを特徴とする。また本発明に係る情報記憶媒体は、コンピュータにより使用可能な情報記憶媒体であって、上記手段を実現（実行）するための情報（プログラム）を含むことを特徴とする。また本発明に係るプログラムは、コンピュータにより使用可能なプログラムであって、上記手段を実現（実行）するためのプログラムであることを特徴とする。
【００２７】
本発明によれば、所与の範囲の外にあるオブジェクトのリプレイデータについては、その記憶が省略されるようになるため、リプレイ画像の品質にそれほど影響を与えない無駄なデータが、リプレイデータ記憶手段に記憶される事態を防止できるようになる。
【００２８】
また本発明に係るゲームシステム、情報記憶媒体及びプログラムは、特定のオブジェクトのリプレイデータについては、前記所与の範囲外にある場合にもリプレイデータ記憶手段に記憶されることを特徴とする。このようにすれば、例えば、新規に発生したはずのオブジェクトが全く現れなくなったり、消滅したはずのオブジェクトが再度現れる等の事態を防止できるようになる。
【発明を実施するための最良の形態】
【００２９】
以下、本発明の好適な実施形態について図面を用いて説明する。なお以下では、本発明をシューティングゲームに適用した場合を例にとり説明するが、本発明はこれに限定されず、種々のゲームに適用できる。
【００３０】
１．構成
図１に、本実施形態のブロック図の一例を示す。なお同図において本実施形態は、少なくとも処理部１００を含めばよく（或いは処理部１００と記憶部１４０、或いは処理部１００と記憶部１４０と情報記憶媒体１５０を含めばよく）、それ以外のブロック（例えば操作部１３０、画像生成部１６０、表示部１６２、音生成部１７０、音出力部１７２、通信部１７４、Ｉ／Ｆ部１７６、メモリーカード１８０等）については、任意の構成要素とすることができる。
【００３１】
ここで処理部１００は、システム全体の制御、システム内の各ブロックへの命令の指示、ゲーム演算などの各種の処理を行うものであり、その機能は、ＣＰＵ（ＣＩＳＣ型、ＲＩＳＣ型）、ＤＳＰ、或いはＡＳＩＣ（ゲートアレイ等）などのハードウェアや、所与のプログラム（ゲームプログラム）により実現できる。
【００３２】
操作部１３０は、プレーヤが操作データを入力するためのものであり、その機能は、レバー、ボタン、十字キー、筺体などのハードウェアにより実現できる。
【００３３】
記憶部１４０は、処理部１００、画像生成部１６０、音生成部１７０、通信部１７４、Ｉ／Ｆ部１７６などのワーク領域となるもので、その機能はＲＡＭなどのハードウェアにより実現できる。
【００３４】
情報記憶媒体（コンピュータにより使用可能な記憶媒体）１５０は、プログラムやデータなどの情報を格納するものであり、その機能は、光ディスク（ＣＤ、ＤＶＤ）、光磁気ディスク（ＭＯ）、磁気ディスク、ハードディスク、磁気テープ、或いは半導体メモリ（ＲＯＭ）などのハードウェアにより実現できる。処理部１００は、この情報記憶媒体１５０に格納される情報に基づいて本発明（本実施形態）の種々の処理を行う。即ち情報記憶媒体１５０には、本発明（本実施形態）の手段（特に処理部１００に含まれるブロック）を実現（実行）するための種々の情報（プログラム、データ）が格納される。
【００３５】
なお、情報記憶媒体１５０に格納される情報の一部又は全部は、システムへの電源投入時等に記憶部１４０に転送されることになる。また情報記憶媒体１５０に記憶される情報は、本発明の処理を行うためのプログラムコード、画像情報、音情報、表示物の形状情報、テーブルデータ、リストデータ、プレーヤ情報や、本発明の処理を指示するための情報、その指示に従って処理を行うための情報等の少なくとも１つを含むものである。
【００３６】
画像生成部１６０は、処理部１００からの指示等にしたがって、各種の画像を生成し表示部１６２に出力するものであり、その機能は、画像生成用ＡＳＩＣ、ＣＰＵ、或いはＤＳＰなどのハードウェアや、所与のプログラム（画像生成プログラム）、画像情報により実現できる。
【００３７】
音生成部１７０は、処理部１００からの指示等にしたがって、各種の音を生成し音出力部１７２に出力するものであり、その機能は、音生成用ＡＳＩＣ、ＣＰＵ、或いはＤＳＰなどのハードウェアや、所与のプログラム（音生成プログラム）、音情報（波形データ等）により実現できる。
【００３８】
通信部１７４は、外部装置（例えばホスト装置や他のゲームシステム）との間で通信を行うための各種の制御を行うものであり、その機能は、通信用ＡＳＩＣ、或いはＣＰＵなどのハードウェアや、所与のプログラム（通信プログラム）により実現できる。
【００３９】
なお本発明（本実施形態）の処理を実現するための情報は、ホスト装置（サーバー）が有する情報記憶媒体からネットワーク及び通信部１７４を介して情報記憶媒体１５０に配信するようにしてもよい。このようなホスト装置（サーバー）の情報記憶媒体の使用も本発明の範囲内に含まれる。
【００４０】
また処理部１００の機能の一部又は全部を、画像生成部１６０、音生成部１７０、又は通信部１７４の機能により実現するようにしてもよい。或いは、画像生成部１６０、音生成部１７０、又は通信部１７４の機能の一部又は全部を、処理部１００の機能により実現するようにしてもよい。
【００４１】
Ｉ／Ｆ部１７６は、処理部１００からの指示等にしたがってメモリーカード（広義には、携帯型ゲーム機などを含む携帯型情報記憶装置）１８０との間で情報交換を行うためのインターフェースとなるものであり、その機能は、メモリーカードを挿入するためのスロットや、データ書き込み・読み出し用コントローラＩＣなどにより実現できる。なお、メモリーカード１８０との間の情報交換を赤外線などの無線を用いて実現する場合には、Ｉ／Ｆ部１７６の機能は、半導体レーザ、赤外線センサーなどのハードウェアにより実現できる。
【００４２】
処理部１００は、ゲーム演算部１１０を含む。
【００４３】
ここでゲーム演算部１１０は、コイン（代価）の受け付け処理、各種モードの設定処理、ゲームの進行処理、選択画面の設定処理、オブジェクト（キャラクタ、移動体）の位置や角度（軸回り回転角度）を決める処理、視点位置や視線角度を決める処理、オブジェクトのモーションを再生する処理、オブジェクト空間へオブジェクトを配置する処理、ヒットチェック処理、ゲーム結果（成果、成績）を演算する処理、複数のプレーヤが共通のゲーム空間でプレイするための処理、或いはゲームオーバー処理などの種々のゲーム演算処理を、操作部１３０からの操作データ、メモリーカード１８０からのデータ、ゲームプログラムなどに基づいて行う。
【００４４】
ゲーム演算部１１０は、リプレイデータ発生部１１２、パケット処理部１１４、リプレイ処理部１２０、仮想カメラ処理部１２４を含む。
【００４５】
ここで、リプレイデータ発生部１１２は、リプレイデータ記憶部（リプレイバッファ）１４２に記憶するリプレイデータ（記憶するリプレイデータの候補）を発生する処理を行う。より具体的には、プレーヤが操作するオブジェクト（キャラクタ、移動体）を制御する処理ルーチンや、コンピュータが操作するオブジェクトを制御する処理ルーチンなどが、このリプレイデータ発生部１１２として機能する。即ち、プレーヤの操作やコンピュータの操作によりオブジェクトが移動すると、移動後のオブジェクトの位置データや角度（方向）データを、上記処理ルーチンが発生することになる。そして発生されたリプレイデータは、パケット処理部１１４に入力されることになる。
【００４６】
パケット処理部１１４は、リプレイデータ発生部１１２が発生したリプレイデータを受け、必要なリプレイデータをパケット形式でリプレイデータ記憶部１４２に書き込み記憶させる処理を行う。
【００４７】
より具体的には、パケット処理部１１４は、判断部１１６、圧縮部１１７、組立部１１８、書き込み部１１９を含む。そして判断部１１６は、リプレイデータ発生部１１２からのリプレイデータを、リプレイデータ記憶部１４２に記憶すべきか否かを判断する。例えば、リプレイデータの要素データ（位置データ、角度データ、アニメーション番号、オブジェクトの表示・非表示フラグ、又はモデル番号等）の前回のフレームでの値と当該フレームでの値を比較し、前回のフレームからその値が変化した要素データについては、リプレイデータ記憶部１４２に記憶するようにする。またプレーヤが操作するオブジェクト（或いはプレーヤの視点位置）から所与の距離離れたオブジェクト（所与の範囲の外にあるオブジェクト）のリプレイデータについては、原則としてリプレイデータ記憶部１４２に記憶しないようにする。但し、新規に発生したオブジェクトや消滅したオブジェクトについてのリプレイデータは、そのオブジェクトがプレーヤの操作するオブジェクトから所与の距離離れていても、リプレイデータ記憶部１４２に記憶する。
【００４８】
圧縮部１１７は、リプレイデータを圧縮するための処理を行う。より具体的には、ゲーム中でのオブジェクトの位置データや角度データのビット数を削減し、ビット数が削減された位置データや角度データがリプレイデータ記憶部１４２に記憶されるようにする。この場合、角度データの削減ビット数（ビット削減率）の方を、位置データの削減ビット数よりも少なくする。このようにすることで、リプレイ画像において、オブジェクトがスムーズに方向変化しないという事態が生じるのを防止できる。
【００４９】
組立部１１８は、リプレイデータについてのパケットを組み立てる処理を行う。即ち、ビット数削減により圧縮されたデータ本体に、ヘッダ（パケット長、分類データ）を付加して、パケットを組み立てる（加工する）。
【００５０】
書き込み部１１９は、組立部１１８により組み立てられたパケットを、リプレイデータ記憶部１４２に書き込む処理を行う。即ち、当該フレームのリプレイ処理に必要な１又は複数のパケットを、当該フレームに対応するリプレイデータとしてリプレイデータ記憶部１４２に書き込む。
【００５１】
リプレイ処理部１２０は、リプレイデータ記憶部１４２に記憶されているリプレイデータを読み出し、リプレイ画像を生成するための種々のリプレイ処理を行う。例えば、ビット数が削減されて記憶された位置データや角度データに基づいて、これらの位置データや角度データによりその位置や角度が特定されるオブジェクトのリプレイ処理を行う。
【００５２】
リプレイ処理部１２０は、読み出し部１２２、処理部１２３を含む。ここで、読み出し部１２２は、リプレイデータ記憶部１４２からリプレイデータのパケットを読み出す処理を行う。そして、処理部１２３は、この読み出されたリプレイデータのパケットに含まれる分類データにより指定されるリプレイ処理を実行する。
【００５３】
仮想カメラ処理部１２４は、仮想カメラについての種々の処理を行う。
【００５４】
例えば、ゲーム中においては、プレーヤの操作により移動するオブジェクトに追従するように、仮想カメラの位置や角度（方向）が制御される。そして、この仮想カメラから見える画像が画像生成部１６０により生成される。
【００５５】
一方、リプレイ中においては、複数のリプレイ用の仮想カメラ（仮想カメラ処理ルーチン）の中から１つの仮想カメラが例えばランダムに選択される。そして、選択された仮想カメラの位置や角度が所与のアルゴリズムにより制御され、この仮想カメラから見える画像が画像生成部１６０により生成されるようになる。
【００５６】
なお、本実施形態のゲームシステムでは、１人のプレーヤがプレイするシングルプレーヤモードによるゲームプレイと、複数のプレーヤがプレイするマルチプレーヤモードによるゲームプレイの両方が可能になっている。
【００５７】
また複数のプレーヤがプレイする場合に、これらの複数のプレーヤに提供するゲーム画像やゲーム音を、１つの端末を用いて生成してもよいし、ネットワーク（伝送ライン、通信回線）などで接続された複数の端末を用いて生成してもよい。
【００５８】
２．本実施形態の特徴
本実施形態の第１の特徴は、ゲーム中でのオブジェクトの位置データ又は角度データ（或いは速度データ）のビット数を削減し（圧縮し）、ビット数が削減された位置データ又は角度データが、リプレイデータとして記憶される点にある。
【００５９】
例えば図２に示すように、ゲーム中においては、オブジェクトの位置データＸ、Ｙ、Ｚのビット数は、全て３２ビットになっている。また角度データα、β、γのビット数は、全て１４ビットになっている（α、β、γは、各々、Ｘ、Ｙ、Ｚ軸回りの回転角度）。従って、ゲーム中においては、３２ビットの精度の位置データ、１４ビットの精度の角度データによりゲーム画像が表示されることになる。
【００６０】
本実施形態では、これらの３２ビットの位置データ、１４ビットの角度データのビット数を削減（切り捨て、四捨五入等）し、各々、２０ビットの位置データ、１２ビットの角度データにする。そして、これらの２０ビットの位置データ、１２ビットの角度データをリプレイデータ記憶部に記憶する。
【００６１】
そして、リプレイ処理においては、これらの２０ビットの位置データ、１２ビットの角度データをリプレイデータ記憶部から読み出し、読み出された２０ビットの位置データ、１２ビットの角度データに基づいてリプレイ画像を生成するようにする。
【００６２】
このようにすることで、リプレイデータ記憶部の使用記憶容量を格段に小さくできるようになる。
【００６３】
即ち、国際公開番号ＷＯ９６／００６０１の従来のゲームシステムにおいては、リプレイデータとして記憶される位置データ、角度データのビット数は、ゲーム中での位置データ、角度データのビット数と同一になっていた。
【００６４】
しかしながら、このように、ゲーム中と同一のビット数で位置データ、角度データをリプレイデータ記憶部に記憶すると、リプレイデータ記憶部の使用記憶容量が非常に大きくなり、他の処理に必要な記憶容量が圧迫されたり、長時間に渡るリプレイ画像の生成を実現できないという問題が生じる。
【００６５】
また、ゲーム中においては、オブジェクトの位置、角度を、プレーヤからの操作データに基づいて高い精度でリアルタイムに数値計算する必要があるため、位置データ、角度データのビット数を多くする必要がある。しかしながら、リプレイ処理においてはこのような高いビット数は不要であることが判明した。本実施形態では、この点に着目して、リプレイ処理に使用する位置データ、角度データのビット数を削減している。
【００６６】
即ち、フレームＫ−１でのオブジェクトの位置をＰＭK-1、速度をＶＭK-1、加速度をＡＭK-1、１フレームの時間を△ｔとすると、フレームＫでのオブジェクトの位置ＰＭK、速度ＶＭKは、例えば下式（１）、（２）のように数値計算される。
【００６７】
ＰＭK＝ＰＭK-1＋ＶＭK-1×△ｔ              （１）
ＶＭK＝ＶＭK-1＋ＡＭK-1×△ｔ              （２）
このような数値計算においては、位置データ、角度データのビット数が少ないと、オブジェクトの動きが不自然なものになったり、計算に破綻が生じるなどの弊害が生じる。
【００６８】
ところが、リプレイ処理においては、上記のような数値計算は行われず、リプレイデータ記憶部からの位置データ、角度データにより特定される位置、角度でオブジェクトを表示するだけでよい。従って、位置データ、角度データのビット数は、３２ビット、１４ビットというように多いビット数である必要はない。
【００６９】
そこで、本実施形態では、ゲーム中での数値計算により得られた位置データ、角度データのビット数を削減して、リプレイデータ記憶部に記憶するようにしている。このようにすることで、リプレイデータ記憶部の使用記憶容量を格段に小さくでき、長時間に渡るリプレイ画像の生成も実現できるようになる。そして、このようにビット数の削減を行うと、リプレイ中でのオブジェクトの位置データや角度データの精度が低くなるが、このような精度の低下は、通常、プレーヤが感じ取れないものであるため、問題はない。またリプレイ処理ではゲーム中とは異なりそのオブジェクトについての数値計算が行われないため、計算が破綻するという問題も考慮する必要がない。
【００７０】
なお、本実施形態では、位置データの削減ビット数は３２−２０＝１２ビットであるのに対して、角度データの削減ビット数は１４−１２＝２ビットとなっており、角度データの削減ビット数が、位置データの削減ビット数よりも少なくなっている。その理由は、位置データの削減ビット数を多くし、位置データの精度が低下しても、プレーヤにはそれほど目立たないが、角度データの削減ビット数を多くし、角度データの精度が低下すると、位置データの場合に比べて目立ってしまうからである。即ち、オブジェクトの方向がスムーズに変化しなくなり、プレーヤに不自然感を与えるからである。角度データの削減ビット数を位置データの削減ビット数に比べて少なくすれば、このような問題も解決できるようになる。
【００７１】
本実施形態の第２の特徴は、リプレイデータとして記憶すべき要素データの中で、前回のフレームから変化した要素データをリプレイデータ記憶手段に記憶する点にある。
【００７２】
例えば図３において、要素データ１は、フレームＫ＋１、Ｋ＋２、Ｋ＋４で変化しているが、フレームＫ、Ｋ＋３では変化していない。従って、この場合には、要素データ１を、フレームＫ＋１、Ｋ＋２、Ｋ＋４においてのみリプレイデータ記憶部に記憶する。同様に、要素データ２は、フレームＫ＋３、Ｋ＋４で変化しているため、フレームＫ＋３、Ｋ＋４においてのみリプレイデータ記憶部に記憶する。
【００７３】
このように、前回のフレームから変化した要素データのみを記憶するようにすれば、リプレイデータ記憶部に記憶されるリプレイデータの冗長度を低くでき、リプレイデータ記憶部に記憶すべきデータの量を効果的に圧縮できるようになる。例えば、図３では、要素データ１のデータ量は３／５になり、要素データ２のデータ量は２／５になる。
【００７４】
なお、前回のフレームから変化したことを条件にリプレイデータとして記憶される要素データとしては、例えば図４に示すように、オブジェクトの位置データ、角度データ、モデル番号、アニメーション処理（頂点アニメーション処理）におけるアニメーション番号、オブジェクトの表示・非表示フラグなどを考えることができる。
【００７５】
例えば、オブジェクトのモデル（絵）が変化した場合には、変化後のモデル番号がリプレイデータ記憶部に記憶されるが、変化しない場合には記憶されない。また、アニメーション番号も、変化した場合にのみ記憶される。また、オブジェクトの表示・非表示フラグも、表示から非表示或いは非表示から表示に変化した場合にのみ、リプレイデータ記憶部に記憶されるようになる。このようにすることで、これらの要素データからなるリプレイデータを効果的に圧縮できるようになる。
【００７６】
本実施形態の第３の特徴は、ゲーム中においてアニメーション処理されるオブジェクト（アニメーションオブジェクト）については、そのアニメーション番号をリプレイデータとして記憶し、この記憶されたアニメーション番号に基づいてリプレイ処理を行う点にある。
【００７７】
例えば図５（Ａ）、（Ｂ）は、キャラクタ１０（プレーヤが操作するオブジェクト）の前に配置されるシャッター１２（アニメーションオブジェクト）が徐々に開くゲーム場面である。ここで、シャッター１２の開閉は、頂点アニメーション処理によりシャッター１２を変形させることで実現されている。
【００７８】
即ち、図６に示すように、アニメーション番号（アニメーションフレーム）が０、１、２・・・と進むにつれて、シャッター１２を変形させることで、シャッター１２の開閉を表現している。
【００７９】
そこで、この場合には、シャッター１２のアニメーション番号をリプレイデータ記憶部に記憶するようにする。そして、リプレイ処理の際には、このアニメーション番号を読み出し、読み出されたアニメーション番号に基づいて、ゲーム中と同様のアニメーション処理を行い、シャッター１２の開閉を表現する。このようにすれば、シャッター１２の頂点位置等をリプレイデータとして記憶する場合に比べて、リプレイデータ記憶部の記憶容量を格段に節約できるようになる。
【００８０】
なお、シャッター１２の位置データ、角度データは、シャッター１２の初期配置時（図５（Ａ）、（Ｂ）のゲーム場面に入った時）に、リプレイデータとして記憶すればよい。
【００８１】
また、図７に示すように、アニメーション番号は、前回のフレームから変化したことを条件にリプレイデータとして記憶する。このようにすれば、無駄なデータがリプレイデータとして記憶される事態を防止できる。
【００８２】
本実施形態の第４の特徴は、ゲーム中においてオブジェクトが発生又は消滅した場合に、発生又は消滅したオブジェクトを特定するＩＤ（識別データ）をリプレイデータとして記憶し、リプレイ処理時に、記憶されたＩＤにより特定されるオブジェクトを所与のアルゴリズム（プログラム）にしたがって自動的に動作（移動、回転、モーション再生等）又は変化させる点にある。
【００８３】
例えば、図８（Ａ）は、ゲーム中にキャラクタ１０が弾１４を撃ったゲーム場面であり、図８（Ｂ）は、撃った弾が敵キャラクタ１６に当たり、エフェクト１８（火花、煙等）が発生したゲーム場面である。
【００８４】
本実施形態では、このような弾１４、エフェクト１８などのオブジェクトが発生又は消滅した場合に、これらの弾１４、エフェクト１８のＩＤをリプレイデータとして記憶する。そして、リプレイ処理時に、これらのＩＤに基づいて所与のアルゴリズムにより自動的に弾１４を移動させたり、エフェクト１８を変化させる。
【００８５】
例えば図９では、ゲーム中に弾１４が発生すると（キャラクタが弾を撃つと）、そのＩＤ（発生オブジェクトであることも示すＩＤ）がリプレイデータとして記憶される。また、弾１４が敵キャラクタや障害物に当たって消滅したり、自然消滅すると、そのＩＤ（消滅オブジェクトであることも示すＩＤ）がリプレイデータ記憶部に記憶される。そして、リプレイ処理においては、記憶されたＩＤにより特定される弾１４が発生し、所与のアルゴリズム（ゲーム中に弾を移動させるアルゴリズムと同一のアルゴリズム）にしたがって自動的に移動した後、消滅するようになる。
【００８６】
このようにすれば、弾の発生後から消滅するまでは、弾の位置データや角度データをリプレイデータとして記憶する必要がなくなる。これにより、リプレイデータ記憶部の使用記憶容量を更に節約できるようになる。
【００８７】
なお、本実施形態では、弾が発生した場合に、発生時における弾１４の位置データ、角度データ、速度（移動量）データ等もリプレイデータとして記憶している。例えば図１０において、弾の発射位置ＰＳや発射角度ＡＳや発射速度ＶＳをリプレイデータとして記憶している。
【００８８】
また、図８（Ｂ）に示すようなエフェクト１８が発生した場合に、エフェクトの強弱データ（エフェクトの強さ、大きさ等を表すデータ）、或いは維持時間データ（エフェクトが発生してから消滅するまでの時間を表すデータ）等もリプレイデータとして記憶している。
【００８９】
本実施形態の第５の特徴は、ゲーム中において第１のオブジェクト（差し替え元）が第２のオブジェクト（差し替え先）に差し替えられた場合に、第１、第２のオブジェクトのＩＤをリプレイデータとして記憶し、リプレイ処理時において、これらのＩＤに基づいて、第２のオブジェクトを第１のオブジェクトに差し戻した後に第１のオブジェクトを第２のオブジェクトに差し替える点にある。
【００９０】
例えば図１１（Ａ）、（Ｂ）では、ゲーム中において、キャラクタ１０の発射した弾１４が当たることで障害物２０-1（差し替え元のマップオブジェクト）が破壊され、破壊されたことを表現する障害物２０-2（差し替え先のマップオブジェクト）に差し替えられている。
【００９１】
このように障害物が破壊された後に、リプレイ処理が開始すると、図１２（Ａ）に示すように、まず、障害物２０-2を障害物２０-1に差し戻す。即ち、破壊状態であった障害物を破壊前の状態に戻す。次に、図１２（Ｂ）に示すように、障害物２０-1を障害物２０-2に差し替えることで、プレーヤの射撃により障害物が破壊されるゲーム場面を再現する。このようにすることで、適正なリプレイ画像の生成が可能になる。
【００９２】
障害物は、プレーヤが射撃に成功すれば破壊され、射撃に成功しなければ破壊されない。このように、ゲーム中において障害物が破壊されたか否かは、プレーヤのゲームプレイの結果に左右されてしまう。従って、リプレイ処理の開始の際に、障害物が破壊状態なのか非破壊状態なのかを伝える必要があり、このために、両方の障害物２０-1、２０-2のＩＤをリプレイデータとして記憶する必要がある。
【００９３】
なお、本実施形態では、オブジェクトを差し替えた場合に、差し替えられたオブジェクトの位置を特定するデータもリプレイデータとして記憶している。
【００９４】
本実施形態の第６の特徴は、リプレイ処理に使用されるパケットの中で、当該フレームのリプレイ処理に必要なパケットを判断し、必要であると判断されたパケットを当該フレームに関連づけてリプレイデータとして記憶し、記憶されたリプレイデータのパケットに基づいて各フレームのリプレイ処理を行う点にある。
【００９５】
例えば図１３において、オブジェクト制御系、リプレイ制御系、アクション制御系、イベント制御系の各パケット処理ルーチンＯＢ、ＲＥ、ＡＣ、ＥＶは、各フレームにおいて、リプレイ処理のためにどのパケットが必要かを判断し、必要と判断されたパケットを組み立てて、リプレイデータ記憶部（リプレイバッファ）に記憶する。
【００９６】
なお、パケット処理ルーチンＯＢ、ＲＥ、ＡＣ、ＥＶが組み立てるパケットＯＢ、ＲＥ、ＡＣ、ＥＶは、各々、オブジェクト（プレーヤ又はコンピュータが操作するオブジェクト）制御系、リプレイ制御系、アクション制御系、イベント制御系のパケットである。また、ここでアクションとは、オブジェクトが、他のオブジェクトに影響を与える物（弾等の攻撃物）を発生させることをいう。また、イベントとは、オブジェクトが、他のオブジェクトに影響を与えない物（煙、火花等）を発生させたり、自分自身が変化することをいう。或いはマップオブジェクトが差し替えられること（マップの一部差し替え）をいう。
【００９７】
例えば図１３において、フレームＫでは、（１）オブジェクトの位置、角度を変更するパケットＯＢ、（２）オブジェクトの表示・非表示を変更するパケットＯＢ、（３）モデル番号を変更するパケットＯＢ、（４）弾Ａ（消滅まで移動量や回転角度が一定又は固定となる弾）を発生するパケットＡＣ、（５）弾Ｂ（消滅まで移動量や回転角度がフレーム毎に変化する弾）を発生するパケットＡＣ、（６）エフェクトＡ（移動も回転もしないエフェクト）を発生するパケットＥＶ、（７）フレーム終了を指示するパケットＲＥが組み立てられ、フレームＫのパケットとしてリプレイデータ記憶部に記憶されている。
【００９８】
即ち、フレームＫでは、オブジェクト（プレーヤ又はコンピュータが操作するオブジェクト）の位置データや角度データが変化したため、位置、角度を変更するパケットが必要であると判断され、このパケットがリプレイデータ記憶部に記憶される。同様に、表示・非表示フラグやモデル番号も変化したため、表示・非表示やモデル番号を変更するパケットが必要と判断され、リプレイデータ記憶部に記憶される。更に、弾Ａ、弾Ｂ、エフェクトＡが発生したため、弾Ａ、弾Ｂ、エフェクトＡを発生させるパケットが必要と判断され、リプレイデータ記憶部に記憶される。
【００９９】
同様にフレームＫ＋１では、（１）オブジェクトの位置、角度を変更するパケットＯＢ、（２）仮想カメラを変更するパケットＲＥ、（３）フレーム終了を指示するパケットＲＥが必要と判断され、これらのパケットが組み立てられ、リプレイデータ記憶部に記憶される。
【０１００】
またフレームＫ＋２では、（１）オブジェクトのアニメーション番号を変更するパケットＯＢ、（２）弾Ａを消滅させるパケットＡＣ、（３）弾Ｂを消滅させるパケットＡＣ、（４）エフェクトＢ（移動又は回転するエフェクト）を発生するパケットＥＶ、（５）マップオブジェクトを差し替えるパケットＥＶ、（６）フレーム終了を指示するパケットＲＥが必要と判断され、これらのパケットが組み立てられ、リプレイデータ記憶部に記憶される。
【０１０１】
そして、このようにリプレイデータ記憶部に記憶された各パケットは、リプレイ処理ルーチンＯＢ、ＲＥ、ＡＣ、ＥＶに読み出される。そして、各リプレイ処理ルーチンＯＢ、ＲＥ、ＡＣ、ＥＶは、これらの読み出されたパケットに応じた各リプレイ処理を行うことになる。
【０１０２】
ここで、オブジェクト制御系、リプレイ制御系、アクション制御系、イベント制御系のパケットＯＢ、ＲＥ、ＡＣ、ＥＶは、各々、オブジェクト制御系、リプレイ制御系、アクション制御系、イベント制御系のリプレイ処理ルーチンＯＢ、ＲＥ、ＡＣ、ＥＶに読み出されることになる。
【０１０３】
そして、各リプレイ処理ルーチンＯＢ、ＲＥ、ＡＣ、ＥＶへの各パケットＯＢ、ＲＥ、ＡＣ、ＥＶの仕分けは、図１４に示すように、パケットのヘッダに付加された分類データに基づいて行われることになる。この分類データは、パケット処理ルーチンＯＢ、ＲＥ、ＡＣ、ＥＶが、パケットの組立の際に、パケットのヘッダに付加してリプレイデータ記憶部に記憶したものである。なお、本実施形態のパケットは可変長になっているため、パケットのヘッダにはパケット長も付加されている。
【０１０４】
パケットのヘッダに付加されるこの分類データは、パケットを、パケットＯＢ、ＲＥ、ＡＣ、ＥＶに分類するためのデータである。更に、この分類データは、各パケットＯＢ、ＲＥ、ＡＣ、ＥＶの詳細な分類データとしても機能する。例えば、パケットＯＢは、(1)オブジェクトの位置、角度を変更するパケット、(2)表示・非表示を変更するパケット、(3)モデル番号を変更するパケット、(4)アニメーション番号を変更するパケット等に更に分類されている。パケットＯＢを受け取ったリプレイ処理ルーチンＯＢは、パケットＯＢに含まれる分類データに基づいて、受け取ったパケットＯＢがこれらのいずれのパケットであるかを知ることができるようになる。
【０１０５】
以上のように図１３の手法によれば、各フレームにおいてどのパケットが必要かを判断し、必要なパケットだけをリプレイデータ記憶部に記憶するようにしたため、リプレイデータ記憶部にリプレイデータを無駄なく効率的に記憶できるようになる。
【０１０６】
即ち、リプレイデータ記憶部にリプレイデータを記憶する１つの手法として、各フレームで記憶するデータの枠を常に固定してしまう手法が考えられる。この手法によると、リプレイデータ記憶部へのリプレイデータの書き込み制御は簡易化できる。しかしながら、この手法では、記憶すべきリプレイデータの量が多いフレームでも、少ないフレームでも、常に同じデータ量のリプレイデータが記憶されるようになってしまい、リプレイデータ記憶部の使用記憶容量が増えてしまう。
【０１０７】
これに対して図１３の手法では、記憶すべきリプレイデータの量が多いフレーム（例えば図１３のフレームＫ）では多くのパケットがリプレイデータ記憶部に記憶され、記憶すべきリプレイデータの量が少ないフレーム（例えば図１３のフレームＫ＋１）では少ないパケットが記憶されるようになる。従って、リプレイデータをリプレイデータ記憶部に無駄なく効率的に記憶できるようになる。
【０１０８】
また、図１３の手法には、記憶すべきリプレイデータの仕様に変更が生じた場合、例えば新たな種類のリプレイデータを記憶しなければならない状況が生じた場合に、容易にこれに対処でき、拡張性が非常に高いという利点もある。即ち、このような場合には、新たな種類のリプレイデータに対応したパケットを新たに定義するだけでよいからである。
【０１０９】
本実施形態の第７の特徴は、プレーヤが操作するオブジェクトの位置又は方向（或いはプレーヤの視点位置又は視線方向）により特定される所与の範囲の外にあるオブジェクトのリプレイデータについては、リプレイデータ記憶部への記憶を省略する点にある。
【０１１０】
例えば図１５（Ａ）において、範囲４０は、プレーヤの操作するオブジェクト３０の位置等により特定される範囲である。より具体的には、範囲４０は、オブジェクト３０から距離Ｄ以内の範囲である。そして、この範囲４０の中にいるオブジェクト３２、３３、３４についてはリプレイデータとして記憶する。一方、範囲４０の外にいるオブジェクト３５、３６、３７についてはリプレイデータとして記憶しない。このようなオブジェクト３５、３６、３７は、プレーヤの視点から遠く離れており、リプレイ時に表示を省略しても目立たないと考えられるからである。そして、このようなオブジェクト３５、３６、３７についてのリプレイデータ（位置データ、角度データ等）の記憶を省略することで、リプレイデータ記憶部の使用記憶容量を更に節約できる。
【０１１１】
なお、本実施形態では、特定のオブジェクトのリプレイデータについては、そのオブジェクトが範囲４０の外にあっても、リプレイデータ記憶部に記憶するようにしている。
【０１１２】
例えば図１５（Ｂ）において、消滅したオブジェクト３６については、消滅したことを示すリプレイデータを記憶するようにする。このようにしないと、消滅したはずのオブジェクト３６が、範囲４０の中に入ってきて、プレーヤの視野内に現れるという不具合が生じるからである。
【０１１３】
また、新規に発生したオブジェクト３８についても、新規に発生したことを示すリプレイデータを記憶するようにする。このようにしないと、ゲーム中に新規に発生したはずのオブジェクトが、リプレイ時には発生しないことになってしまい、ゲーム画像とリプレイ画像との間に不一致が生じてしまうからである。
【０１１４】
３．本実施形態の処理
次に、本実施形態の詳細な詳細例について、図１６、図１７、図１８のフローチャートを用いて説明する。
【０１１５】
フレームが開始すると、オブジェクト処理が開始し、処理対象となるオブジェクトがあるか否かが判断される（ステップＳ１、Ｓ２、Ｓ３）。そして、処理対象となるオブジェクトがある場合には、記憶許可フラグの設定処理を行う（ステップＳ４）。即ち、図１５（Ａ）において、範囲４０の中にいるオブジェクトについては記憶許可フラグがオン（許可）に設定され、範囲４０の外にいるオブジェクトについては、記憶許可フラグがオフ（不許可）に設定される。
【０１１６】
次に、処理対象となるオブジェクト（オブジェクトの処理ルーチン）がリプレイデータを発生したか否かを判断する（ステップＳ５）。そして、発生した場合には、その発生したリプレイデータ（リプレイデータの要素データ）をリプレイデータ記憶部に記憶するか否かを判断する（ステップＳ６）。例えば図３で説明したように、本実施形態では、前回のフレームからその値が変化したリプレイデータの要素データだけが記憶される。また、図１５（Ｂ）で説明したように、範囲４０の外にいるオブジェクトについては記憶されない（特定のオブジェクトについては外にいても記憶される）。
【０１１７】
次に、リプレイデータの要素データの圧縮を行う（ステップＳ７）。即ち、図２で説明したように、位置データや角度データのビット数を削減する。
【０１１８】
次に、パケットの組立を行い、組み立てられたパケットをリプレイデータ記憶部に書き込む（ステップＳ８、Ｓ９）。即ち、図１３で説明したように、当該フレームのリプレイ処理に必要なパケットのみを組み立てて、リプレイデータ記憶部に書き込む。
【０１１９】
全てのオブジェクトの処理が終了すると、背景処理が開始する（ステップＳ１０）。この背景処理では、図１１（Ａ）、（Ｂ）のように差し替えるマップオブジェクトがあるか否かを判断する（ステップＳ１１）。そして、差し替えるマップオブジェクトがある場合には、マップオブジェクトの差し替えを指示するパケットの組立及び書き込み行う（ステップＳ１２、Ｓ１３）。一方、差し替えるマップオブジェクトが無い場合には、フレーム終了を指示するパケットの組立及び書き込みを行う（ステップＳ１４）。
【０１２０】
図１８は、リプレイ処理に関するフローチャートである。
【０１２１】
フレームが開始すると、図１３で説明したようにリプレイデータ記憶部からパケットを読み出す（Ｔ１、Ｔ２）。そして、読み出されたパケットが、フレーム終了のパケットか否かを判断し、フレーム終了のパケットであった場合には処理を終了する（ステップＴ３）。
【０１２２】
一方、フレーム終了パケットでなかった場合には、どのリプレイ処理ルーチンのパケットかを判断する（ステップＴ４）。そして、各リプレイ処理ルーチンＯＢ、ＲＥ、ＡＣ、ＥＶは、分類データ（図１４参照）により分類される各処理を実行する（ステップＴ５〜Ｔ１２）。そして、処理の実行後、ステップＴ２に戻る。
【０１２３】
４．ハードウェア構成
次に、本実施形態を実現できるハードウェアの構成の一例について図１９を用いて説明する。同図に示すシステムでは、ＣＰＵ１０００、ＲＯＭ１００２、ＲＡＭ１００４、情報記憶媒体１００６、音生成ＩＣ１００８、画像生成ＩＣ１０１０、Ｉ／Ｏポート１０１２、１０１４が、システムバス１０１６により相互にデータ送受信可能に接続されている。そして前記画像生成ＩＣ１０１０にはディスプレイ１０１８が接続され、音生成ＩＣ１００８にはスピーカ１０２０が接続され、Ｉ／Ｏポート１０１２にはコントロール装置１０２２が接続され、Ｉ／Ｏポート１０１４には通信装置１０２４が接続されている。
【０１２４】
情報記憶媒体１００６は、プログラム、表示物を表現するための画像データ、音データ等が主に格納されるものである。例えば家庭用ゲームシステムではゲームプログラム等を格納する情報記憶媒体としてＤＶＤ、ゲームカセット、ＣＤＲＯＭ等が用いられる。また業務用ゲームシステムではＲＯＭ等のメモリが用いられ、この場合には情報記憶媒体１００６はＲＯＭ１００２になる。
【０１２５】
コントロール装置１０２２はゲームコントローラ、操作パネル等に相当するものであり、プレーヤがゲーム進行に応じて行う判断の結果をシステム本体に入力するための装置である。
【０１２６】
情報記憶媒体１００６に格納されるプログラム、ＲＯＭ１００２に格納されるシステムプログラム（システム本体の初期化情報等）、コントロール装置１０２２によって入力される信号等に従って、ＣＰＵ１０００はシステム全体の制御や各種データ処理を行う。ＲＡＭ１００４はこのＣＰＵ１０００の作業領域等として用いられる記憶手段であり、情報記憶媒体１００６やＲＯＭ１００２の所与の内容、あるいはＣＰＵ１０００の演算結果等が格納される。また本実施形態を実現するための論理的な構成を持つデータ構造は、このＲＡＭ又は情報記憶媒体上に構築されることになる。
【０１２７】
更に、この種のシステムには音生成ＩＣ１００８と画像生成ＩＣ１０１０とが設けられていてゲーム音やゲーム画像の好適な出力が行えるようになっている。音生成ＩＣ１００８は情報記憶媒体１００６やＲＯＭ１００２に記憶される情報に基づいて効果音やバックグラウンド音楽等のゲーム音を生成する集積回路であり、生成されたゲーム音はスピーカ１０２０によって出力される。また、画像生成ＩＣ１０１０は、ＲＡＭ１００４、ＲＯＭ１００２、情報記憶媒体１００６等から送られる画像情報に基づいてディスプレイ１０１８に出力するための画素情報を生成する集積回路である。なおディスプレイ１０１８として、いわゆるヘッドマウントディスプレイ（ＨＭＤ）と呼ばれるものを使用することもできる。
【０１２８】
また、通信装置１０２４はゲームシステム内部で利用される各種の情報を外部とやりとりするものであり、他のゲームシステムと接続されてゲームプログラムに応じた所与の情報を送受したり、通信回線を介してゲームプログラム等の情報を送受することなどに利用される。
【０１２９】
そして図１〜図１８で説明した種々の処理は、プログラムやデータなどの情報を格納した情報記憶媒体１００６、この情報記憶媒体１００６からの情報等に基づいて動作するＣＰＵ１０００、画像生成ＩＣ１０１０或いは音生成ＩＣ１００８等によって実現される。なお画像生成ＩＣ１０１０、音生成ＩＣ１００８等で行われる処理は、ＣＰＵ１０００あるいは汎用のＤＳＰ等によりソフトウェア的に行ってもよい。
【０１３０】
図２０（Ａ）に、本実施形態を業務用ゲームシステムに適用した場合の例を示す。プレーヤは、ディスプレイ１１００上に映し出されたゲーム画像を見ながら、レバー１１０２、ボタン１１０４等を操作してゲームを楽しむ。内蔵されるシステムボード（サーキットボード）１１０６には、ＣＰＵ、画像生成ＩＣ、音生成ＩＣ等が実装される。そして、本実施形態の処理（本発明の手段）を実行（実現）するための情報は、システムボード１１０６上の情報記憶媒体である半導体メモリ１１０８に格納される。以下、この情報を格納情報と呼ぶ。
【０１３１】
図２０（Ｂ）に、本実施形態を家庭用のゲームシステムに適用した場合の例を示す。プレーヤはディスプレイ１２００に映し出されたゲーム画像を見ながら、ゲームコントローラ１２０２、１２０４を操作してゲームを楽しむ。この場合、上記格納情報は、本体システムに着脱自在な情報記憶媒体であるＤＶＤ１２０６、メモリーカード１２０８、１２０９等に格納されている。
【０１３２】
図２０（Ｃ）に、ホスト装置１３００と、このホスト装置１３００と通信回線（ＬＡＮのような小規模ネットワークや、インターネットのような広域ネットワーク）１３０２を介して接続される端末１３０４-1〜１３０４-nとを含むゲームシステムに本実施形態を適用した場合の例を示す。この場合、上記格納情報は、例えばホスト装置１３００が制御可能な磁気ディスク装置、磁気テープ装置、半導体メモリ等の情報記憶媒体１３０６に格納されている。端末１３０４-1〜１３０４-nが、ＣＰＵ、画像生成ＩＣ、音処理ＩＣを有し、スタンドアロンでゲーム画像、ゲーム音を生成できるものである場合には、ホスト装置１３００からは、ゲーム画像、ゲーム音を生成するためのゲームプログラム等が端末１３０４-1〜１３０４-nに配送される。一方、スタンドアロンで生成できない場合には、ホスト装置１３００がゲーム画像、ゲーム音を生成し、これを端末１３０４-1〜１３０４-nに伝送し端末において出力することになる。
【０１３３】
なお、図２０（Ｃ）の構成の場合に、本発明の処理を、ホスト装置（サーバー）と端末とで分散して処理するようにしてもよい。また、本発明を実現するための上記格納情報を、ホスト装置（サーバー）の情報記憶媒体と端末の情報記憶媒体に分散して格納するようにしてもよい。
【０１３４】
また通信回線に接続する端末は、家庭用ゲームシステムであってもよいし業務用ゲームシステムであってもよい。そして、業務用ゲームシステムを通信回線に接続する場合には、業務用ゲームシステムとの間で情報のやり取りが可能であると共に家庭用ゲームシステムとの間でも情報のやり取りが可能な携帯型情報記憶装置（メモリーカード、携帯型ゲーム機）を用いることが望ましい。
【０１３５】
なお本発明は、上記実施形態で説明したものに限らず、種々の変形実施が可能である。
【０１３６】
例えば、本発明のうち従属請求項に係る発明においては、従属先の請求項の構成要件の一部を省略する構成とすることもできる。また、本発明の１の独立請求項に係る発明の要部を、他の独立請求項に従属させることもできる。
【０１３７】
また、ビット数の削減対象は、位置データ又は角度データそのものには限定されず、位置データ又は角度データと均等なデータのビット数を削減する場合も、本発明の範囲に含まれる。
【０１３８】
また、前回のフレームは１フレーム前には限定されず、前回のフレームから変化したことを条件に記憶されるリプレイデータの要素データも、本実施形態で説明したものには限定されない。
【０１３９】
またアニメーション番号も、頂点アニメーション処理におけるアニメーション番号に限定されず、アニメーション処理されるオブジェクトとしては、シャッター以外にも種々のものを考えることができる。
【０１４０】
また、発生又は消滅した場合にその識別データが記憶されるオブジェクトも、弾や煙等に限定されるものではない。
【０１４１】
また、差し替えられるマップオブジェクトも、図１１（Ａ）、（Ｂ）に示すような障害物に限定されず、建造物（橋、ビル）、砲台等、種々のものを考えることができる。
【０１４２】
また、リプレイデータ記憶手段に記憶されるパケットの形態、分類等も、図１３で説明したものに限定されない。
【０１４３】
また本発明はシューティングゲーム以外にも種々のゲーム（スポーツゲーム、車ゲーム、フライトシミュレーションゲーム、格闘ゲーム、競争ゲーム、ロボット対戦ゲーム、ロールプレイングゲーム、音楽演奏ゲーム、ダンスゲーム等）に適用できる。
【０１４４】
また本発明は、業務用ゲームシステム、家庭用ゲームシステム、多数のプレーヤが参加する大型アトラクションシステム、シミュレータ、マルチメディア端末、画像生成システム、ゲーム画像を生成するシステムボード等の種々のゲームシステムに適用できる。
【図面の簡単な説明】
【０１４５】
【図１】本実施形態のゲームシステムのブロック図の例である。
【図２】位置データ、角度データのビット数を削減する手法について説明するための図である。
【図３】前回のフレームからその値が変化した要素データをリプレイデータとして記憶する手法について説明するための図である。
【図４】リプレイデータの要素データについて説明するための図である。
【図５】図５（Ａ）、（Ｂ）は、アニメーション処理を利用したゲーム場面の例を示す図である。
【図６】アニメーション処理におけるアニメーション番号をリプレイデータとして記憶する手法について説明するための図である。
【図７】前回のフレームから変化したことを条件にアニメーション番号をリプレイデータとして記憶する手法について説明するための図である。
【図８】図８（Ａ）、（Ｂ）は、弾やエフェクトが発生するゲーム場面の例を示す図である。
【図９】弾が発生又は消滅した場合に、発生又は消滅した弾のＩＤをリプレイデータとして記憶する手法について説明するための図である。
【図１０】弾の発射位置、発射角度、発射速度をリプレイデータとして記憶する手法について説明するための図である。
【図１１】図１１（Ａ）、（Ｂ）は、キャラクタが発射した弾により障害物が破壊されるゲーム場面の例を示す図である。
【図１２】図１２（Ａ）、（Ｂ）は、差し替え元、差し替え先のオブジェクトのＩＤをリプレイデータとして記憶し、リプレイ処理時に、オブジェクトの差し戻し、差し替えを行う手法について説明するための図である。
【図１３】当該フレームのリプレイ処理に必要なパケットだけをリプレイデータとして記憶する手法について説明するための図である。
【図１４】パケットのヘッダに付加する分類データについて説明するための図である。
【図１５】図１５（Ａ）、（Ｂ）は、所与の範囲の外にいるオブジェクトのリプレイデータについては、その記憶を省略する手法について説明するための図である。
【図１６】本実施形態の処理の詳細例について示すフローチャートである。
【図１７】本実施形態の処理の詳細例について示すフローチャートである。
【図１８】本実施形態の処理の詳細例について示すフローチャートである。
【図１９】本実施形態を実現できるハードウェアの構成の一例を示す図である。
【図２０】図２０（Ａ）、（Ｂ）、（Ｃ）は、本実施形態が適用される種々の形態のシステムの例を示す図である。
【符号の説明】
【０１４６】
１０    キャラクタ
１２    シャッター
１４    弾
１６    敵キャラクタ
１８    エフェクト
２０-1、２０-2  障害物
３０、３２〜３８  オブジェクト
４０    範囲
１００  処理部
１１０  ゲーム演算部
１１２  リプレイデータ発生部
１１４  パケット処理部
１１６  判断部
１１７  圧縮部
１１８  組立部
１１９  書き込み部
１２０  リプレイ処理部
１２２  読み出し部
１２３  処理部
１２４  仮想カメラ処理部
１３０  操作部
１４０  記憶部
１５０  情報記憶媒体
１６０  画像生成部
１６２  表示部
１７０  音生成部
１７２  音出力部
１７４  通信部
１７６  Ｉ／Ｆ部
１８０  メモリーカード
【図１】
2007130506.tif 000003
【図２】
2007130506.tif 000004
【図３】
2007130506.tif 000005
【図４】
2007130506.tif 000006
【図５】
2007130506.tif 000007
【図６】
2007130506.tif 000008
【図７】
2007130506.tif 000009
【図８】
2007130506.tif 000010
【図９】
2007130506.tif 000011
【図１０】
2007130506.tif 000012
【図１１】
2007130506.tif 000013
【図１２】
2007130506.tif 000014
【図１３】
2007130506.tif 000015
【図１４】
2007130506.tif 000016
【図１５】
2007130506.tif 000017
【図１６】
2007130506.tif 000018
【図１７】
2007130506.tif 000019
【図１８】
2007130506.tif 000020
【図１９】
2007130506.tif 000021
【図２０】
2007130506.tif 000022