説明

ゲームシステム及び情報記憶媒体

【課題】記憶すべきリプレイデータの量を抑え、長時間に渡るリプレイ画像を生成できるゲームシステム及び情報記憶媒体を提供すること。
【解決手段】ゲーム画像を生成するためのゲームシステムであって、ゲーム中においてオブジェクトが発生又は消滅した場合に、発生又は消滅したオブジェクトを特定するための識別データを、リプレイデータとしてリプレイデータ記憶手段に書き込み記憶させる書き込み手段と、リプレイデータとして記憶された識別データにより特定されるオブジェクトを、所与のアルゴリズムにしたがって自動的に動作又は変化させるリプレイ処理を行うリプレイ処理手段とを含むことを特徴とする。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ゲームシステム及び情報記憶媒体に関する。
【背景技術】
【0002】
従来より、画面上に映し出されたゲーム画像を見ながらシューティングゲームやスポーツゲームや格闘ゲームなどを楽しむことができるゲームシステムが知られている。このようなゲームシステムには、通常、リプレイ機能と呼ばれる機能が設けられており、プレーヤは、このリプレイ機能を利用することで、自身のゲームプレイの様子をゲーム終了後にゲーム中とは異なった視点で見ることができるようになる。
【0003】
さて、このようなリプレイ機能を実現するためには、リプレイ画像を生成するためのリプレイデータを、ゲームシステム内のリプレイデータ記憶部(リプレイバッファ)に記憶しておく必要がある。このようなリプレイデータの記憶手法には、大別して次の2つの手法がある。
【0004】
即ち、第1の手法では、ゲームコントローラ(操作部)を用いてプレーヤが入力した操作データ(キーデータ)の履歴をリプレイデータとしてリプレイデータ記憶部に記憶する。そして、リプレイ処理においては、これらの操作データの履歴に基づいてゲーム中と同じ処理を行うことで、ゲーム場面を再構築し、リプレイ画像を生成する。
【0005】
しかしながら、この第1の手法では、リプレイ処理の際に、ゲーム開始からの操作データの履歴を全てたどる必要がある。このため、ゲーム途中からのリプレイ画像の生成が難しいという問題点がある。
【0006】
一方、第2の手法としては、例えば国際公開番号WO96/00601に開示されている従来技術がある。この第2の手法では、オブジェクトの3次元の位置(座標)データ、角度(方向)データをリプレイデータ記憶部に記憶する。そして、リプレイ処理において、これらの位置データ、角度データにより特定される位置、角度でオブジェクトを表示することで、リプレイ画像を生成する。
【0007】
しかしながら、この第2の手法では、操作データに比べてデータ量の多い位置データ、角度データをリプレイデータ記憶部に記憶する必要がある。従って、リプレイデータ記憶部の使用記憶容量が非常に大きくなってしまい、他の処理に必要な記憶容量を圧迫してしまう。また、リプレイデータ記憶部には数秒間分のリプレイデータしか記憶できないため、長時間に渡るリプレイ画像の生成を実現できないという問題点もある。
【特許文献1】特開平10−216358号公報
【発明の開示】
【発明が解決しようとする課題】
【0008】
本発明は、以上のような課題を解決するためになされたものであり、その目的とするところは、記憶すべきリプレイデータの量を抑え、長時間に渡るリプレイ画像を生成できるゲームシステム及び情報記憶媒体を提供することにある。
【課題を解決するための手段】
【0009】
記課題を解決するために、本発明は、ゲーム画像を生成するためのゲームシステムであって、オブジェクトの位置データ又は角度データのビット数を削減し、ビット数が削減された位置データ又は角度データを、リプレイデータとしてリプレイデータ記憶手段に書き込み記憶させる手段と、ビット数が削減されて記憶された位置データ又は角度データに基づいて、該位置データ又は該角度データによりその位置又は角度が特定されるオブジェクトのリプレイ処理を行う手段とを含むことを特徴とする。また本発明に係る情報記憶媒体は、コンピュータにより使用可能な情報記憶媒体であって、上記手段を実現(実行)するための情報(プログラム)を含むことを特徴とする。また本発明に係るプログラムは、コンピュータにより使用可能なプログラムであって、上記手段を実現(実行)するためのプログラムであることを特徴とする。
【0010】
本発明によれば、オブジェクトの位置(座標)データ又は角度(方向)データのビット数が削減(圧縮)されてリプレイデータ記憶手段に記憶される。そして、このビット数が削減された位置データ又は角度データに基づいてリプレイ処理が行われ、リプレイ画像が生成される。従って、リプレイデータ記憶手段の使用記憶容量を格段に節約でき、長時間に渡るリプレイ画像の生成が可能になる。そして、このようにビット数が削減された位置データ又は角度データに基づいてリプレイ処理を行っても、プレーヤ(操作者)に気づかれる可能性は少ない。一方、ゲーム中で使用される位置データ又は角度データについては、通常通りのビット数に設定できるため、ゲーム中で行われる数値計算に破綻が生じたり、オブジェクトが不自然な動きをする事態も防止できる。
【0011】
また本発明に係るゲームシステム、情報記憶媒体及びプログラムは、角度データの削減ビット数を、位置データの削減ビット数よりも少なくすることを特徴とする。このようにすれば、リプレイデータ記憶手段の使用記憶容量を節約しながら、オブジェクトの方向が不自然に変化してリプレイ画像の画質が低下する事態を防止できるようになる。
【0012】
また本発明は、ゲーム画像を生成するためのゲームシステムであって、リプレイデータとして記憶すべき要素データの中で、前回のフレームから変化した要素データを、リプレイデータとしてリプレイデータ記憶手段に書き込み記憶させる手段と、リプレイデータとして記憶された要素データに基づいて、リプレイ画像を生成するためのリプレイ処理を行う手段とを含むことを特徴とする。また本発明に係る情報記憶媒体は、コンピュータにより使用可能な情報記憶媒体であって、上記手段を実現(実行)するための情報(プログラム)を含むことを特徴とする。また本発明に係るプログラムは、コンピュータにより使用可能なプログラムであって、上記手段を実現(実行)するためのプログラムであることを特徴とする。
【0013】
本発明によれば、前回のフレームから変化したことを条件に、要素データがリプレイデータ記憶手段に記憶されるようになる。従って、要素データの値が長時間に渡って変化しなかった場合等に、無駄な要素データがリプレイデータ記憶手段に記憶される事態を防止できる。これにより、リプレイデータ記憶手段の使用記憶容量を格段に少なくできるようになる。
【0014】
また本発明に係るゲームシステム、情報記憶媒体及びプログラムは、前回のフレームから変化したことを条件にリプレイデータとして記憶される前記要素データが、オブジェクトの位置データ、オブジェクトの角度データ、オブジェクトのモデル番号、オブジェクトのアニメーション処理におけるアニメーション番号、及びオブジェクトの表示・非表示フラグの少なくとも1つを含むことを特徴とする。但し、前回のフレームから変化したことを条件にリプレイデータとして記憶される要素データは、これらのデータであることが特に望ましいが、これらのデータに限定はされない。
【0015】
また本発明は、ゲーム画像を生成するためのゲームシステムであって、ゲーム中においてアニメーション処理されるオブジェクトのアニメーション番号を、リプレイデータとしてリプレイデータ記憶手段に書き込み記憶させる手段と、リプレイデータとして記憶されたアニメーション番号に基づいて、ゲーム中においてアニメーション処理されるオブジェクトのリプレイ処理を行う手段とを含むことを特徴とする。また本発明に係る情報記憶媒体は、コンピュータにより使用可能な情報記憶媒体であって、上記手段を実現(実行)するための情報(プログラム)を含むことを特徴とする。また本発明に係るプログラムは、コンピュータにより使用可能なプログラムであって、上記手段を実現(実行)するためのプログラムであることを特徴とする。
【0016】
本発明によれば、リプレイデータ記憶手段にアニメーション番号等を記憶するだけで、ゲーム中においてアニメーション処理されるオブジェクトのリプレイ処理を実現できるようになる。これにより、リプレイデータ記憶手段の使用記憶容量を節約しながら、適正なリプレイ画像を生成できるようになる。
【0017】
また本発明に係るゲームシステム、情報記憶媒体及びプログラムは、前回のフレームから変化したことを条件に、アニメーション番号がリプレイデータとしてリプレイデータ記憶手段に記憶されることを特徴とする。このようにすれば、リプレイデータのデータ量を更に少なくできるようになる。
【0018】
また本発明は、ゲーム画像を生成するためのゲームシステムであって、ゲーム中においてオブジェクトが発生又は消滅した場合に、発生又は消滅したオブジェクトを特定するための識別データを、リプレイデータとしてリプレイデータ記憶手段に書き込み記憶させる手段と、リプレイデータとして記憶された識別データにより特定されるオブジェクトを、所与のアルゴリズムにしたがって自動的に動作又は変化させるリプレイ処理を行う手段とを含むことを特徴とする。また本発明に係る情報記憶媒体は、コンピュータにより使用可能な情報記憶媒体であって、上記手段を実現(実行)するための情報(プログラム)を含むことを特徴とする。また本発明に係るプログラムは、コンピュータにより使用可能なプログラムであって、上記手段を実現(実行)するためのプログラムであることを特徴とする。
【0019】
本発明によれば、リプレイデータ記憶手段に記憶される識別データにより特定されるオブジェクトが、リプレイ時に、所与のアルゴリズム(例えばゲーム中でそのオブジェクトの動作又は変化に使用されるものと同様のアルゴリズム)にしたがって、自動的に動作(移動、回転、モーション再生等)又は変化するようになる。従って、リプレイデータ記憶手段の使用記憶容量を抑えながら、ゲーム中と同様の画像をリプレイ画像として生成できるようになる。
【0020】
また本発明に係るゲームシステム、情報記憶媒体及びプログラムは、ゲーム中においてオブジェクトが発生した場合に、発生時におけるオブジェクトの位置データ又は角度データ又は速度データが、リプレイデータとしてリプレイデータ記憶手段に記憶されることを特徴とする。このようにすることで、弾、エフェクトなどの種々のオブジェクトについてのリプレイ画像を生成できるようになる。
【0021】
また本発明は、ゲーム画像を生成するためのゲームシステムであって、ゲーム中において第1のオブジェクトが第2のオブジェクトに差し替えられた場合に、差し替え元の第1のオブジェクトを特定するための第1の識別データ及び差し替え先の第2のオブジェクトを特定するための第2の識別データを、リプレイデータとしてリプレイデータ記憶手段に書き込み記憶させる手段と、リプレイデータとして記憶された第1、第2の識別データに基づき、第2のオブジェクトを第1のオブジェクトに差し戻した後に第1のオブジェクトを第2のオブジェクトに差し替えるリプレイ処理を行う手段とを含むことを特徴とする。また本発明に係る情報記憶媒体は、コンピュータにより使用可能な情報記憶媒体であって、上記手段を実現(実行)するための情報(プログラム)を含むことを特徴とする。また本発明に係るプログラムは、コンピュータにより使用可能なプログラムであって、上記手段を実現(実行)するためのプログラムであることを特徴とする。
【0022】
本発明によれば、ゲーム中において第1のオブジェクトが第2のオブジェクトに差し替えられた場合に、差し替え先の第2のオブジェクトを差し替え元の第1のオブジェクトに戻した後に第1のオブジェクトを第2のオブジェクトに差し替える適正なリプレイ画像を生成できるようになる。
【0023】
また本発明は、ゲーム画像を生成するためのゲームシステムであって、リプレイ処理に使用されるパケットの中で、当該フレームのリプレイ処理に必要なパケットを判断し、必要であると判断されたパケットを、当該フレームに対応するリプレイデータとしてリプレイデータ記憶手段に書き込み記憶させる手段と、記憶されたリプレイデータのパケットに基づいて、リプレイ画像を生成するためのリプレイ処理を行う手段とを含むことを特徴とする。また本発明に係る情報記憶媒体は、コンピュータにより使用可能な情報記憶媒体であって、上記手段を実現(実行)するための情報(プログラム)を含むことを特徴とする。また本発明に係るプログラムは、コンピュータにより使用可能なプログラムであって、上記手段を実現(実行)するためのプログラムであることを特徴とする。
【0024】
本発明によれば、当該フレームのリプレイ処理に必要なパケットが選別されてリプレイデータ記憶手段に記憶されるようになるため、リプレイデータ記憶手段を無駄なく効率良く使用できるようになる。また、リプレイデータの仕様に変更が生じ、新たなリプレイデータを記憶する必要が生じた場合等にも、容易にこれに対処できるようになる。
【0025】
また本発明に係るゲームシステム、情報記憶媒体及びプログラムは、第1のリプレイ処理用の第1のパケット、第2のリプレイ処理用の第2のパケット・・・・・第Nのリプレイ処理用の第Nのパケットが用意され、第1〜第Nのリプレイ処理のいずれに使用されるかを指定する分類データが第1〜第Nのパケットの各々に付加されて、リプレイデータ記憶手段に記憶されることを特徴とする。このようにすれば、分類データに基づいて、第1〜第Nのリプレイ処理に対して第1〜第Nのパケットを適切に仕分けできるようになる。この結果、リプレイデータ記憶手段へのパケットの書き込み処理や、リプレイデータ記憶手段からのパケットの読み出し処理を、簡易化できるようになる。
【0026】
また本発明は、ゲーム画像を生成するためのゲームシステムであって、プレーヤが操作するオブジェクトの位置又は方向或いはプレーヤの視点位置又は視線方向により特定される所与の範囲の外にあるオブジェクトのリプレイデータについてはその記憶を省略しながら、リプレイデータをリプレイデータ記憶手段に書き込み記憶させる手段と、記憶されたリプレイデータに基づいて、リプレイ画像を生成するためのリプレイ処理を行う手段とを含むことを特徴とする。また本発明に係る情報記憶媒体は、コンピュータにより使用可能な情報記憶媒体であって、上記手段を実現(実行)するための情報(プログラム)を含むことを特徴とする。また本発明に係るプログラムは、コンピュータにより使用可能なプログラムであって、上記手段を実現(実行)するためのプログラムであることを特徴とする。
【0027】
本発明によれば、所与の範囲の外にあるオブジェクトのリプレイデータについては、その記憶が省略されるようになるため、リプレイ画像の品質にそれほど影響を与えない無駄なデータが、リプレイデータ記憶手段に記憶される事態を防止できるようになる。
【0028】
また本発明に係るゲームシステム、情報記憶媒体及びプログラムは、特定のオブジェクトのリプレイデータについては、前記所与の範囲外にある場合にもリプレイデータ記憶手段に記憶されることを特徴とする。このようにすれば、例えば、新規に発生したはずのオブジェクトが全く現れなくなったり、消滅したはずのオブジェクトが再度現れる等の事態を防止できるようになる。
【発明を実施するための最良の形態】
【0029】
以下、本発明の好適な実施形態について図面を用いて説明する。なお以下では、本発明をシューティングゲームに適用した場合を例にとり説明するが、本発明はこれに限定されず、種々のゲームに適用できる。
【0030】
1.構成
図1に、本実施形態のブロック図の一例を示す。なお同図において本実施形態は、少なくとも処理部100を含めばよく(或いは処理部100と記憶部140、或いは処理部100と記憶部140と情報記憶媒体150を含めばよく)、それ以外のブロック(例えば操作部130、画像生成部160、表示部162、音生成部170、音出力部172、通信部174、I/F部176、メモリーカード180等)については、任意の構成要素とすることができる。
【0031】
ここで処理部100は、システム全体の制御、システム内の各ブロックへの命令の指示、ゲーム演算などの各種の処理を行うものであり、その機能は、CPU(CISC型、RISC型)、DSP、或いはASIC(ゲートアレイ等)などのハードウェアや、所与のプログラム(ゲームプログラム)により実現できる。
【0032】
操作部130は、プレーヤが操作データを入力するためのものであり、その機能は、レバー、ボタン、十字キー、筺体などのハードウェアにより実現できる。
【0033】
記憶部140は、処理部100、画像生成部160、音生成部170、通信部174、I/F部176などのワーク領域となるもので、その機能はRAMなどのハードウェアにより実現できる。
【0034】
情報記憶媒体(コンピュータにより使用可能な記憶媒体)150は、プログラムやデータなどの情報を格納するものであり、その機能は、光ディスク(CD、DVD)、光磁気ディスク(MO)、磁気ディスク、ハードディスク、磁気テープ、或いは半導体メモリ(ROM)などのハードウェアにより実現できる。処理部100は、この情報記憶媒体150に格納される情報に基づいて本発明(本実施形態)の種々の処理を行う。即ち情報記憶媒体150には、本発明(本実施形態)の手段(特に処理部100に含まれるブロック)を実現(実行)するための種々の情報(プログラム、データ)が格納される。
【0035】
なお、情報記憶媒体150に格納される情報の一部又は全部は、システムへの電源投入時等に記憶部140に転送されることになる。また情報記憶媒体150に記憶される情報は、本発明の処理を行うためのプログラムコード、画像情報、音情報、表示物の形状情報、テーブルデータ、リストデータ、プレーヤ情報や、本発明の処理を指示するための情報、その指示に従って処理を行うための情報等の少なくとも1つを含むものである。
【0036】
画像生成部160は、処理部100からの指示等にしたがって、各種の画像を生成し表示部162に出力するものであり、その機能は、画像生成用ASIC、CPU、或いはDSPなどのハードウェアや、所与のプログラム(画像生成プログラム)、画像情報により実現できる。
【0037】
音生成部170は、処理部100からの指示等にしたがって、各種の音を生成し音出力部172に出力するものであり、その機能は、音生成用ASIC、CPU、或いはDSPなどのハードウェアや、所与のプログラム(音生成プログラム)、音情報(波形データ等)により実現できる。
【0038】
通信部174は、外部装置(例えばホスト装置や他のゲームシステム)との間で通信を行うための各種の制御を行うものであり、その機能は、通信用ASIC、或いはCPUなどのハードウェアや、所与のプログラム(通信プログラム)により実現できる。
【0039】
なお本発明(本実施形態)の処理を実現するための情報は、ホスト装置(サーバー)が有する情報記憶媒体からネットワーク及び通信部174を介して情報記憶媒体150に配信するようにしてもよい。このようなホスト装置(サーバー)の情報記憶媒体の使用も本発明の範囲内に含まれる。
【0040】
また処理部100の機能の一部又は全部を、画像生成部160、音生成部170、又は通信部174の機能により実現するようにしてもよい。或いは、画像生成部160、音生成部170、又は通信部174の機能の一部又は全部を、処理部100の機能により実現するようにしてもよい。
【0041】
I/F部176は、処理部100からの指示等にしたがってメモリーカード(広義には、携帯型ゲーム機などを含む携帯型情報記憶装置)180との間で情報交換を行うためのインターフェースとなるものであり、その機能は、メモリーカードを挿入するためのスロットや、データ書き込み・読み出し用コントローラICなどにより実現できる。なお、メモリーカード180との間の情報交換を赤外線などの無線を用いて実現する場合には、I/F部176の機能は、半導体レーザ、赤外線センサーなどのハードウェアにより実現できる。
【0042】
処理部100は、ゲーム演算部110を含む。
【0043】
ここでゲーム演算部110は、コイン(代価)の受け付け処理、各種モードの設定処理、ゲームの進行処理、選択画面の設定処理、オブジェクト(キャラクタ、移動体)の位置や角度(軸回り回転角度)を決める処理、視点位置や視線角度を決める処理、オブジェクトのモーションを再生する処理、オブジェクト空間へオブジェクトを配置する処理、ヒットチェック処理、ゲーム結果(成果、成績)を演算する処理、複数のプレーヤが共通のゲーム空間でプレイするための処理、或いはゲームオーバー処理などの種々のゲーム演算処理を、操作部130からの操作データ、メモリーカード180からのデータ、ゲームプログラムなどに基づいて行う。
【0044】
ゲーム演算部110は、リプレイデータ発生部112、パケット処理部114、リプレイ処理部120、仮想カメラ処理部124を含む。
【0045】
ここで、リプレイデータ発生部112は、リプレイデータ記憶部(リプレイバッファ)142に記憶するリプレイデータ(記憶するリプレイデータの候補)を発生する処理を行う。より具体的には、プレーヤが操作するオブジェクト(キャラクタ、移動体)を制御する処理ルーチンや、コンピュータが操作するオブジェクトを制御する処理ルーチンなどが、このリプレイデータ発生部112として機能する。即ち、プレーヤの操作やコンピュータの操作によりオブジェクトが移動すると、移動後のオブジェクトの位置データや角度(方向)データを、上記処理ルーチンが発生することになる。そして発生されたリプレイデータは、パケット処理部114に入力されることになる。
【0046】
パケット処理部114は、リプレイデータ発生部112が発生したリプレイデータを受け、必要なリプレイデータをパケット形式でリプレイデータ記憶部142に書き込み記憶させる処理を行う。
【0047】
より具体的には、パケット処理部114は、判断部116、圧縮部117、組立部118、書き込み部119を含む。そして判断部116は、リプレイデータ発生部112からのリプレイデータを、リプレイデータ記憶部142に記憶すべきか否かを判断する。例えば、リプレイデータの要素データ(位置データ、角度データ、アニメーション番号、オブジェクトの表示・非表示フラグ、又はモデル番号等)の前回のフレームでの値と当該フレームでの値を比較し、前回のフレームからその値が変化した要素データについては、リプレイデータ記憶部142に記憶するようにする。またプレーヤが操作するオブジェクト(或いはプレーヤの視点位置)から所与の距離離れたオブジェクト(所与の範囲の外にあるオブジェクト)のリプレイデータについては、原則としてリプレイデータ記憶部142に記憶しないようにする。但し、新規に発生したオブジェクトや消滅したオブジェクトについてのリプレイデータは、そのオブジェクトがプレーヤの操作するオブジェクトから所与の距離離れていても、リプレイデータ記憶部142に記憶する。
【0048】
圧縮部117は、リプレイデータを圧縮するための処理を行う。より具体的には、ゲーム中でのオブジェクトの位置データや角度データのビット数を削減し、ビット数が削減された位置データや角度データがリプレイデータ記憶部142に記憶されるようにする。この場合、角度データの削減ビット数(ビット削減率)の方を、位置データの削減ビット数よりも少なくする。このようにすることで、リプレイ画像において、オブジェクトがスムーズに方向変化しないという事態が生じるのを防止できる。
【0049】
組立部118は、リプレイデータについてのパケットを組み立てる処理を行う。即ち、ビット数削減により圧縮されたデータ本体に、ヘッダ(パケット長、分類データ)を付加して、パケットを組み立てる(加工する)。
【0050】
書き込み部119は、組立部118により組み立てられたパケットを、リプレイデータ記憶部142に書き込む処理を行う。即ち、当該フレームのリプレイ処理に必要な1又は複数のパケットを、当該フレームに対応するリプレイデータとしてリプレイデータ記憶部142に書き込む。
【0051】
リプレイ処理部120は、リプレイデータ記憶部142に記憶されているリプレイデータを読み出し、リプレイ画像を生成するための種々のリプレイ処理を行う。例えば、ビット数が削減されて記憶された位置データや角度データに基づいて、これらの位置データや角度データによりその位置や角度が特定されるオブジェクトのリプレイ処理を行う。
【0052】
リプレイ処理部120は、読み出し部122、処理部123を含む。ここで、読み出し部122は、リプレイデータ記憶部142からリプレイデータのパケットを読み出す処理を行う。そして、処理部123は、この読み出されたリプレイデータのパケットに含まれる分類データにより指定されるリプレイ処理を実行する。
【0053】
仮想カメラ処理部124は、仮想カメラについての種々の処理を行う。
【0054】
例えば、ゲーム中においては、プレーヤの操作により移動するオブジェクトに追従するように、仮想カメラの位置や角度(方向)が制御される。そして、この仮想カメラから見える画像が画像生成部160により生成される。
【0055】
一方、リプレイ中においては、複数のリプレイ用の仮想カメラ(仮想カメラ処理ルーチン)の中から1つの仮想カメラが例えばランダムに選択される。そして、選択された仮想カメラの位置や角度が所与のアルゴリズムにより制御され、この仮想カメラから見える画像が画像生成部160により生成されるようになる。
【0056】
なお、本実施形態のゲームシステムでは、1人のプレーヤがプレイするシングルプレーヤモードによるゲームプレイと、複数のプレーヤがプレイするマルチプレーヤモードによるゲームプレイの両方が可能になっている。
【0057】
また複数のプレーヤがプレイする場合に、これらの複数のプレーヤに提供するゲーム画像やゲーム音を、1つの端末を用いて生成してもよいし、ネットワーク(伝送ライン、通信回線)などで接続された複数の端末を用いて生成してもよい。
【0058】
2.本実施形態の特徴
本実施形態の第1の特徴は、ゲーム中でのオブジェクトの位置データ又は角度データ(或いは速度データ)のビット数を削減し(圧縮し)、ビット数が削減された位置データ又は角度データが、リプレイデータとして記憶される点にある。
【0059】
例えば図2に示すように、ゲーム中においては、オブジェクトの位置データX、Y、Zのビット数は、全て32ビットになっている。また角度データα、β、γのビット数は、全て14ビットになっている(α、β、γは、各々、X、Y、Z軸回りの回転角度)。従って、ゲーム中においては、32ビットの精度の位置データ、14ビットの精度の角度データによりゲーム画像が表示されることになる。
【0060】
本実施形態では、これらの32ビットの位置データ、14ビットの角度データのビット数を削減(切り捨て、四捨五入等)し、各々、20ビットの位置データ、12ビットの角度データにする。そして、これらの20ビットの位置データ、12ビットの角度データをリプレイデータ記憶部に記憶する。
【0061】
そして、リプレイ処理においては、これらの20ビットの位置データ、12ビットの角度データをリプレイデータ記憶部から読み出し、読み出された20ビットの位置データ、12ビットの角度データに基づいてリプレイ画像を生成するようにする。
【0062】
このようにすることで、リプレイデータ記憶部の使用記憶容量を格段に小さくできるようになる。
【0063】
即ち、国際公開番号WO96/00601の従来のゲームシステムにおいては、リプレイデータとして記憶される位置データ、角度データのビット数は、ゲーム中での位置データ、角度データのビット数と同一になっていた。
【0064】
しかしながら、このように、ゲーム中と同一のビット数で位置データ、角度データをリプレイデータ記憶部に記憶すると、リプレイデータ記憶部の使用記憶容量が非常に大きくなり、他の処理に必要な記憶容量が圧迫されたり、長時間に渡るリプレイ画像の生成を実現できないという問題が生じる。
【0065】
また、ゲーム中においては、オブジェクトの位置、角度を、プレーヤからの操作データに基づいて高い精度でリアルタイムに数値計算する必要があるため、位置データ、角度データのビット数を多くする必要がある。しかしながら、リプレイ処理においてはこのような高いビット数は不要であることが判明した。本実施形態では、この点に着目して、リプレイ処理に使用する位置データ、角度データのビット数を削減している。
【0066】
即ち、フレームK−1でのオブジェクトの位置をPMK-1、速度をVMK-1、加速度をAMK-1、1フレームの時間を△tとすると、フレームKでのオブジェクトの位置PMK、速度VMKは、例えば下式(1)、(2)のように数値計算される。
【0067】
PMK=PMK-1+VMK-1×△t (1)
VMK=VMK-1+AMK-1×△t (2)
このような数値計算においては、位置データ、角度データのビット数が少ないと、オブジェクトの動きが不自然なものになったり、計算に破綻が生じるなどの弊害が生じる。
【0068】
ところが、リプレイ処理においては、上記のような数値計算は行われず、リプレイデータ記憶部からの位置データ、角度データにより特定される位置、角度でオブジェクトを表示するだけでよい。従って、位置データ、角度データのビット数は、32ビット、14ビットというように多いビット数である必要はない。
【0069】
そこで、本実施形態では、ゲーム中での数値計算により得られた位置データ、角度データのビット数を削減して、リプレイデータ記憶部に記憶するようにしている。このようにすることで、リプレイデータ記憶部の使用記憶容量を格段に小さくでき、長時間に渡るリプレイ画像の生成も実現できるようになる。そして、このようにビット数の削減を行うと、リプレイ中でのオブジェクトの位置データや角度データの精度が低くなるが、このような精度の低下は、通常、プレーヤが感じ取れないものであるため、問題はない。またリプレイ処理ではゲーム中とは異なりそのオブジェクトについての数値計算が行われないため、計算が破綻するという問題も考慮する必要がない。
【0070】
なお、本実施形態では、位置データの削減ビット数は32−20=12ビットであるのに対して、角度データの削減ビット数は14−12=2ビットとなっており、角度データの削減ビット数が、位置データの削減ビット数よりも少なくなっている。その理由は、位置データの削減ビット数を多くし、位置データの精度が低下しても、プレーヤにはそれほど目立たないが、角度データの削減ビット数を多くし、角度データの精度が低下すると、位置データの場合に比べて目立ってしまうからである。即ち、オブジェクトの方向がスムーズに変化しなくなり、プレーヤに不自然感を与えるからである。角度データの削減ビット数を位置データの削減ビット数に比べて少なくすれば、このような問題も解決できるようになる。
【0071】
本実施形態の第2の特徴は、リプレイデータとして記憶すべき要素データの中で、前回のフレームから変化した要素データをリプレイデータ記憶手段に記憶する点にある。
【0072】
例えば図3において、要素データ1は、フレームK+1、K+2、K+4で変化しているが、フレームK、K+3では変化していない。従って、この場合には、要素データ1を、フレームK+1、K+2、K+4においてのみリプレイデータ記憶部に記憶する。同様に、要素データ2は、フレームK+3、K+4で変化しているため、フレームK+3、K+4においてのみリプレイデータ記憶部に記憶する。
【0073】
このように、前回のフレームから変化した要素データのみを記憶するようにすれば、リプレイデータ記憶部に記憶されるリプレイデータの冗長度を低くでき、リプレイデータ記憶部に記憶すべきデータの量を効果的に圧縮できるようになる。例えば、図3では、要素データ1のデータ量は3/5になり、要素データ2のデータ量は2/5になる。
【0074】
なお、前回のフレームから変化したことを条件にリプレイデータとして記憶される要素データとしては、例えば図4に示すように、オブジェクトの位置データ、角度データ、モデル番号、アニメーション処理(頂点アニメーション処理)におけるアニメーション番号、オブジェクトの表示・非表示フラグなどを考えることができる。
【0075】
例えば、オブジェクトのモデル(絵)が変化した場合には、変化後のモデル番号がリプレイデータ記憶部に記憶されるが、変化しない場合には記憶されない。また、アニメーション番号も、変化した場合にのみ記憶される。また、オブジェクトの表示・非表示フラグも、表示から非表示或いは非表示から表示に変化した場合にのみ、リプレイデータ記憶部に記憶されるようになる。このようにすることで、これらの要素データからなるリプレイデータを効果的に圧縮できるようになる。
【0076】
本実施形態の第3の特徴は、ゲーム中においてアニメーション処理されるオブジェクト(アニメーションオブジェクト)については、そのアニメーション番号をリプレイデータとして記憶し、この記憶されたアニメーション番号に基づいてリプレイ処理を行う点にある。
【0077】
例えば図5(A)、(B)は、キャラクタ10(プレーヤが操作するオブジェクト)の前に配置されるシャッター12(アニメーションオブジェクト)が徐々に開くゲーム場面である。ここで、シャッター12の開閉は、頂点アニメーション処理によりシャッター12を変形させることで実現されている。
【0078】
即ち、図6に示すように、アニメーション番号(アニメーションフレーム)が0、1、2・・・と進むにつれて、シャッター12を変形させることで、シャッター12の開閉を表現している。
【0079】
そこで、この場合には、シャッター12のアニメーション番号をリプレイデータ記憶部に記憶するようにする。そして、リプレイ処理の際には、このアニメーション番号を読み出し、読み出されたアニメーション番号に基づいて、ゲーム中と同様のアニメーション処理を行い、シャッター12の開閉を表現する。このようにすれば、シャッター12の頂点位置等をリプレイデータとして記憶する場合に比べて、リプレイデータ記憶部の記憶容量を格段に節約できるようになる。
【0080】
なお、シャッター12の位置データ、角度データは、シャッター12の初期配置時(図5(A)、(B)のゲーム場面に入った時)に、リプレイデータとして記憶すればよい。
【0081】
また、図7に示すように、アニメーション番号は、前回のフレームから変化したことを条件にリプレイデータとして記憶する。このようにすれば、無駄なデータがリプレイデータとして記憶される事態を防止できる。
【0082】
本実施形態の第4の特徴は、ゲーム中においてオブジェクトが発生又は消滅した場合に、発生又は消滅したオブジェクトを特定するID(識別データ)をリプレイデータとして記憶し、リプレイ処理時に、記憶されたIDにより特定されるオブジェクトを所与のアルゴリズム(プログラム)にしたがって自動的に動作(移動、回転、モーション再生等)又は変化させる点にある。
【0083】
例えば、図8(A)は、ゲーム中にキャラクタ10が弾14を撃ったゲーム場面であり、図8(B)は、撃った弾が敵キャラクタ16に当たり、エフェクト18(火花、煙等)が発生したゲーム場面である。
【0084】
本実施形態では、このような弾14、エフェクト18などのオブジェクトが発生又は消滅した場合に、これらの弾14、エフェクト18のIDをリプレイデータとして記憶する。そして、リプレイ処理時に、これらのIDに基づいて所与のアルゴリズムにより自動的に弾14を移動させたり、エフェクト18を変化させる。
【0085】
例えば図9では、ゲーム中に弾14が発生すると(キャラクタが弾を撃つと)、そのID(発生オブジェクトであることも示すID)がリプレイデータとして記憶される。また、弾14が敵キャラクタや障害物に当たって消滅したり、自然消滅すると、そのID(消滅オブジェクトであることも示すID)がリプレイデータ記憶部に記憶される。そして、リプレイ処理においては、記憶されたIDにより特定される弾14が発生し、所与のアルゴリズム(ゲーム中に弾を移動させるアルゴリズムと同一のアルゴリズム)にしたがって自動的に移動した後、消滅するようになる。
【0086】
このようにすれば、弾の発生後から消滅するまでは、弾の位置データや角度データをリプレイデータとして記憶する必要がなくなる。これにより、リプレイデータ記憶部の使用記憶容量を更に節約できるようになる。
【0087】
なお、本実施形態では、弾が発生した場合に、発生時における弾14の位置データ、角度データ、速度(移動量)データ等もリプレイデータとして記憶している。例えば図10において、弾の発射位置PSや発射角度ASや発射速度VSをリプレイデータとして記憶している。
【0088】
また、図8(B)に示すようなエフェクト18が発生した場合に、エフェクトの強弱データ(エフェクトの強さ、大きさ等を表すデータ)、或いは維持時間データ(エフェクトが発生してから消滅するまでの時間を表すデータ)等もリプレイデータとして記憶している。
【0089】
本実施形態の第5の特徴は、ゲーム中において第1のオブジェクト(差し替え元)が第2のオブジェクト(差し替え先)に差し替えられた場合に、第1、第2のオブジェクトのIDをリプレイデータとして記憶し、リプレイ処理時において、これらのIDに基づいて、第2のオブジェクトを第1のオブジェクトに差し戻した後に第1のオブジェクトを第2のオブジェクトに差し替える点にある。
【0090】
例えば図11(A)、(B)では、ゲーム中において、キャラクタ10の発射した弾14が当たることで障害物20-1(差し替え元のマップオブジェクト)が破壊され、破壊されたことを表現する障害物20-2(差し替え先のマップオブジェクト)に差し替えられている。
【0091】
このように障害物が破壊された後に、リプレイ処理が開始すると、図12(A)に示すように、まず、障害物20-2を障害物20-1に差し戻す。即ち、破壊状態であった障害物を破壊前の状態に戻す。次に、図12(B)に示すように、障害物20-1を障害物20-2に差し替えることで、プレーヤの射撃により障害物が破壊されるゲーム場面を再現する。このようにすることで、適正なリプレイ画像の生成が可能になる。
【0092】
障害物は、プレーヤが射撃に成功すれば破壊され、射撃に成功しなければ破壊されない。このように、ゲーム中において障害物が破壊されたか否かは、プレーヤのゲームプレイの結果に左右されてしまう。従って、リプレイ処理の開始の際に、障害物が破壊状態なのか非破壊状態なのかを伝える必要があり、このために、両方の障害物20-1、20-2のIDをリプレイデータとして記憶する必要がある。
【0093】
なお、本実施形態では、オブジェクトを差し替えた場合に、差し替えられたオブジェクトの位置を特定するデータもリプレイデータとして記憶している。
【0094】
本実施形態の第6の特徴は、リプレイ処理に使用されるパケットの中で、当該フレームのリプレイ処理に必要なパケットを判断し、必要であると判断されたパケットを当該フレームに関連づけてリプレイデータとして記憶し、記憶されたリプレイデータのパケットに基づいて各フレームのリプレイ処理を行う点にある。
【0095】
例えば図13において、オブジェクト制御系、リプレイ制御系、アクション制御系、イベント制御系の各パケット処理ルーチンOB、RE、AC、EVは、各フレームにおいて、リプレイ処理のためにどのパケットが必要かを判断し、必要と判断されたパケットを組み立てて、リプレイデータ記憶部(リプレイバッファ)に記憶する。
【0096】
なお、パケット処理ルーチンOB、RE、AC、EVが組み立てるパケットOB、RE、AC、EVは、各々、オブジェクト(プレーヤ又はコンピュータが操作するオブジェクト)制御系、リプレイ制御系、アクション制御系、イベント制御系のパケットである。また、ここでアクションとは、オブジェクトが、他のオブジェクトに影響を与える物(弾等の攻撃物)を発生させることをいう。また、イベントとは、オブジェクトが、他のオブジェクトに影響を与えない物(煙、火花等)を発生させたり、自分自身が変化することをいう。或いはマップオブジェクトが差し替えられること(マップの一部差し替え)をいう。
【0097】
例えば図13において、フレームKでは、(1)オブジェクトの位置、角度を変更するパケットOB、(2)オブジェクトの表示・非表示を変更するパケットOB、(3)モデル番号を変更するパケットOB、(4)弾A(消滅まで移動量や回転角度が一定又は固定となる弾)を発生するパケットAC、(5)弾B(消滅まで移動量や回転角度がフレーム毎に変化する弾)を発生するパケットAC、(6)エフェクトA(移動も回転もしないエフェクト)を発生するパケットEV、(7)フレーム終了を指示するパケットREが組み立てられ、フレームKのパケットとしてリプレイデータ記憶部に記憶されている。
【0098】
即ち、フレームKでは、オブジェクト(プレーヤ又はコンピュータが操作するオブジェクト)の位置データや角度データが変化したため、位置、角度を変更するパケットが必要であると判断され、このパケットがリプレイデータ記憶部に記憶される。同様に、表示・非表示フラグやモデル番号も変化したため、表示・非表示やモデル番号を変更するパケットが必要と判断され、リプレイデータ記憶部に記憶される。更に、弾A、弾B、エフェクトAが発生したため、弾A、弾B、エフェクトAを発生させるパケットが必要と判断され、リプレイデータ記憶部に記憶される。
【0099】
同様にフレームK+1では、(1)オブジェクトの位置、角度を変更するパケットOB、(2)仮想カメラを変更するパケットRE、(3)フレーム終了を指示するパケットREが必要と判断され、これらのパケットが組み立てられ、リプレイデータ記憶部に記憶される。
【0100】
またフレームK+2では、(1)オブジェクトのアニメーション番号を変更するパケットOB、(2)弾Aを消滅させるパケットAC、(3)弾Bを消滅させるパケットAC、(4)エフェクトB(移動又は回転するエフェクト)を発生するパケットEV、(5)マップオブジェクトを差し替えるパケットEV、(6)フレーム終了を指示するパケットREが必要と判断され、これらのパケットが組み立てられ、リプレイデータ記憶部に記憶される。
【0101】
そして、このようにリプレイデータ記憶部に記憶された各パケットは、リプレイ処理ルーチンOB、RE、AC、EVに読み出される。そして、各リプレイ処理ルーチンOB、RE、AC、EVは、これらの読み出されたパケットに応じた各リプレイ処理を行うことになる。
【0102】
ここで、オブジェクト制御系、リプレイ制御系、アクション制御系、イベント制御系のパケットOB、RE、AC、EVは、各々、オブジェクト制御系、リプレイ制御系、アクション制御系、イベント制御系のリプレイ処理ルーチンOB、RE、AC、EVに読み出されることになる。
【0103】
そして、各リプレイ処理ルーチンOB、RE、AC、EVへの各パケットOB、RE、AC、EVの仕分けは、図14に示すように、パケットのヘッダに付加された分類データに基づいて行われることになる。この分類データは、パケット処理ルーチンOB、RE、AC、EVが、パケットの組立の際に、パケットのヘッダに付加してリプレイデータ記憶部に記憶したものである。なお、本実施形態のパケットは可変長になっているため、パケットのヘッダにはパケット長も付加されている。
【0104】
パケットのヘッダに付加されるこの分類データは、パケットを、パケットOB、RE、AC、EVに分類するためのデータである。更に、この分類データは、各パケットOB、RE、AC、EVの詳細な分類データとしても機能する。例えば、パケットOBは、(1)オブジェクトの位置、角度を変更するパケット、(2)表示・非表示を変更するパケット、(3)モデル番号を変更するパケット、(4)アニメーション番号を変更するパケット等に更に分類されている。パケットOBを受け取ったリプレイ処理ルーチンOBは、パケットOBに含まれる分類データに基づいて、受け取ったパケットOBがこれらのいずれのパケットであるかを知ることができるようになる。
【0105】
以上のように図13の手法によれば、各フレームにおいてどのパケットが必要かを判断し、必要なパケットだけをリプレイデータ記憶部に記憶するようにしたため、リプレイデータ記憶部にリプレイデータを無駄なく効率的に記憶できるようになる。
【0106】
即ち、リプレイデータ記憶部にリプレイデータを記憶する1つの手法として、各フレームで記憶するデータの枠を常に固定してしまう手法が考えられる。この手法によると、リプレイデータ記憶部へのリプレイデータの書き込み制御は簡易化できる。しかしながら、この手法では、記憶すべきリプレイデータの量が多いフレームでも、少ないフレームでも、常に同じデータ量のリプレイデータが記憶されるようになってしまい、リプレイデータ記憶部の使用記憶容量が増えてしまう。
【0107】
これに対して図13の手法では、記憶すべきリプレイデータの量が多いフレーム(例えば図13のフレームK)では多くのパケットがリプレイデータ記憶部に記憶され、記憶すべきリプレイデータの量が少ないフレーム(例えば図13のフレームK+1)では少ないパケットが記憶されるようになる。従って、リプレイデータをリプレイデータ記憶部に無駄なく効率的に記憶できるようになる。
【0108】
また、図13の手法には、記憶すべきリプレイデータの仕様に変更が生じた場合、例えば新たな種類のリプレイデータを記憶しなければならない状況が生じた場合に、容易にこれに対処でき、拡張性が非常に高いという利点もある。即ち、このような場合には、新たな種類のリプレイデータに対応したパケットを新たに定義するだけでよいからである。
【0109】
本実施形態の第7の特徴は、プレーヤが操作するオブジェクトの位置又は方向(或いはプレーヤの視点位置又は視線方向)により特定される所与の範囲の外にあるオブジェクトのリプレイデータについては、リプレイデータ記憶部への記憶を省略する点にある。
【0110】
例えば図15(A)において、範囲40は、プレーヤの操作するオブジェクト30の位置等により特定される範囲である。より具体的には、範囲40は、オブジェクト30から距離D以内の範囲である。そして、この範囲40の中にいるオブジェクト32、33、34についてはリプレイデータとして記憶する。一方、範囲40の外にいるオブジェクト35、36、37についてはリプレイデータとして記憶しない。このようなオブジェクト35、36、37は、プレーヤの視点から遠く離れており、リプレイ時に表示を省略しても目立たないと考えられるからである。そして、このようなオブジェクト35、36、37についてのリプレイデータ(位置データ、角度データ等)の記憶を省略することで、リプレイデータ記憶部の使用記憶容量を更に節約できる。
【0111】
なお、本実施形態では、特定のオブジェクトのリプレイデータについては、そのオブジェクトが範囲40の外にあっても、リプレイデータ記憶部に記憶するようにしている。
【0112】
例えば図15(B)において、消滅したオブジェクト36については、消滅したことを示すリプレイデータを記憶するようにする。このようにしないと、消滅したはずのオブジェクト36が、範囲40の中に入ってきて、プレーヤの視野内に現れるという不具合が生じるからである。
【0113】
また、新規に発生したオブジェクト38についても、新規に発生したことを示すリプレイデータを記憶するようにする。このようにしないと、ゲーム中に新規に発生したはずのオブジェクトが、リプレイ時には発生しないことになってしまい、ゲーム画像とリプレイ画像との間に不一致が生じてしまうからである。
【0114】
3.本実施形態の処理
次に、本実施形態の詳細な詳細例について、図16、図17、図18のフローチャートを用いて説明する。
【0115】
フレームが開始すると、オブジェクト処理が開始し、処理対象となるオブジェクトがあるか否かが判断される(ステップS1、S2、S3)。そして、処理対象となるオブジェクトがある場合には、記憶許可フラグの設定処理を行う(ステップS4)。即ち、図15(A)において、範囲40の中にいるオブジェクトについては記憶許可フラグがオン(許可)に設定され、範囲40の外にいるオブジェクトについては、記憶許可フラグがオフ(不許可)に設定される。
【0116】
次に、処理対象となるオブジェクト(オブジェクトの処理ルーチン)がリプレイデータを発生したか否かを判断する(ステップS5)。そして、発生した場合には、その発生したリプレイデータ(リプレイデータの要素データ)をリプレイデータ記憶部に記憶するか否かを判断する(ステップS6)。例えば図3で説明したように、本実施形態では、前回のフレームからその値が変化したリプレイデータの要素データだけが記憶される。また、図15(B)で説明したように、範囲40の外にいるオブジェクトについては記憶されない(特定のオブジェクトについては外にいても記憶される)。
【0117】
次に、リプレイデータの要素データの圧縮を行う(ステップS7)。即ち、図2で説明したように、位置データや角度データのビット数を削減する。
【0118】
次に、パケットの組立を行い、組み立てられたパケットをリプレイデータ記憶部に書き込む(ステップS8、S9)。即ち、図13で説明したように、当該フレームのリプレイ処理に必要なパケットのみを組み立てて、リプレイデータ記憶部に書き込む。
【0119】
全てのオブジェクトの処理が終了すると、背景処理が開始する(ステップS10)。この背景処理では、図11(A)、(B)のように差し替えるマップオブジェクトがあるか否かを判断する(ステップS11)。そして、差し替えるマップオブジェクトがある場合には、マップオブジェクトの差し替えを指示するパケットの組立及び書き込み行う(ステップS12、S13)。一方、差し替えるマップオブジェクトが無い場合には、フレーム終了を指示するパケットの組立及び書き込みを行う(ステップS14)。
【0120】
図18は、リプレイ処理に関するフローチャートである。
【0121】
フレームが開始すると、図13で説明したようにリプレイデータ記憶部からパケットを読み出す(T1、T2)。そして、読み出されたパケットが、フレーム終了のパケットか否かを判断し、フレーム終了のパケットであった場合には処理を終了する(ステップT3)。
【0122】
一方、フレーム終了パケットでなかった場合には、どのリプレイ処理ルーチンのパケットかを判断する(ステップT4)。そして、各リプレイ処理ルーチンOB、RE、AC、EVは、分類データ(図14参照)により分類される各処理を実行する(ステップT5〜T12)。そして、処理の実行後、ステップT2に戻る。
【0123】
4.ハードウェア構成
次に、本実施形態を実現できるハードウェアの構成の一例について図19を用いて説明する。同図に示すシステムでは、CPU1000、ROM1002、RAM1004、情報記憶媒体1006、音生成IC1008、画像生成IC1010、I/Oポート1012、1014が、システムバス1016により相互にデータ送受信可能に接続されている。そして前記画像生成IC1010にはディスプレイ1018が接続され、音生成IC1008にはスピーカ1020が接続され、I/Oポート1012にはコントロール装置1022が接続され、I/Oポート1014には通信装置1024が接続されている。
【0124】
情報記憶媒体1006は、プログラム、表示物を表現するための画像データ、音データ等が主に格納されるものである。例えば家庭用ゲームシステムではゲームプログラム等を格納する情報記憶媒体としてDVD、ゲームカセット、CDROM等が用いられる。また業務用ゲームシステムではROM等のメモリが用いられ、この場合には情報記憶媒体1006はROM1002になる。
【0125】
コントロール装置1022はゲームコントローラ、操作パネル等に相当するものであり、プレーヤがゲーム進行に応じて行う判断の結果をシステム本体に入力するための装置である。
【0126】
情報記憶媒体1006に格納されるプログラム、ROM1002に格納されるシステムプログラム(システム本体の初期化情報等)、コントロール装置1022によって入力される信号等に従って、CPU1000はシステム全体の制御や各種データ処理を行う。RAM1004はこのCPU1000の作業領域等として用いられる記憶手段であり、情報記憶媒体1006やROM1002の所与の内容、あるいはCPU1000の演算結果等が格納される。また本実施形態を実現するための論理的な構成を持つデータ構造は、このRAM又は情報記憶媒体上に構築されることになる。
【0127】
更に、この種のシステムには音生成IC1008と画像生成IC1010とが設けられていてゲーム音やゲーム画像の好適な出力が行えるようになっている。音生成IC1008は情報記憶媒体1006やROM1002に記憶される情報に基づいて効果音やバックグラウンド音楽等のゲーム音を生成する集積回路であり、生成されたゲーム音はスピーカ1020によって出力される。また、画像生成IC1010は、RAM1004、ROM1002、情報記憶媒体1006等から送られる画像情報に基づいてディスプレイ1018に出力するための画素情報を生成する集積回路である。なおディスプレイ1018として、いわゆるヘッドマウントディスプレイ(HMD)と呼ばれるものを使用することもできる。
【0128】
また、通信装置1024はゲームシステム内部で利用される各種の情報を外部とやりとりするものであり、他のゲームシステムと接続されてゲームプログラムに応じた所与の情報を送受したり、通信回線を介してゲームプログラム等の情報を送受することなどに利用される。
【0129】
そして図1〜図18で説明した種々の処理は、プログラムやデータなどの情報を格納した情報記憶媒体1006、この情報記憶媒体1006からの情報等に基づいて動作するCPU1000、画像生成IC1010或いは音生成IC1008等によって実現される。なお画像生成IC1010、音生成IC1008等で行われる処理は、CPU1000あるいは汎用のDSP等によりソフトウェア的に行ってもよい。
【0130】
図20(A)に、本実施形態を業務用ゲームシステムに適用した場合の例を示す。プレーヤは、ディスプレイ1100上に映し出されたゲーム画像を見ながら、レバー1102、ボタン1104等を操作してゲームを楽しむ。内蔵されるシステムボード(サーキットボード)1106には、CPU、画像生成IC、音生成IC等が実装される。そして、本実施形態の処理(本発明の手段)を実行(実現)するための情報は、システムボード1106上の情報記憶媒体である半導体メモリ1108に格納される。以下、この情報を格納情報と呼ぶ。
【0131】
図20(B)に、本実施形態を家庭用のゲームシステムに適用した場合の例を示す。プレーヤはディスプレイ1200に映し出されたゲーム画像を見ながら、ゲームコントローラ1202、1204を操作してゲームを楽しむ。この場合、上記格納情報は、本体システムに着脱自在な情報記憶媒体であるDVD1206、メモリーカード1208、1209等に格納されている。
【0132】
図20(C)に、ホスト装置1300と、このホスト装置1300と通信回線(LANのような小規模ネットワークや、インターネットのような広域ネットワーク)1302を介して接続される端末1304-1〜1304-nとを含むゲームシステムに本実施形態を適用した場合の例を示す。この場合、上記格納情報は、例えばホスト装置1300が制御可能な磁気ディスク装置、磁気テープ装置、半導体メモリ等の情報記憶媒体1306に格納されている。端末1304-1〜1304-nが、CPU、画像生成IC、音処理ICを有し、スタンドアロンでゲーム画像、ゲーム音を生成できるものである場合には、ホスト装置1300からは、ゲーム画像、ゲーム音を生成するためのゲームプログラム等が端末1304-1〜1304-nに配送される。一方、スタンドアロンで生成できない場合には、ホスト装置1300がゲーム画像、ゲーム音を生成し、これを端末1304-1〜1304-nに伝送し端末において出力することになる。
【0133】
なお、図20(C)の構成の場合に、本発明の処理を、ホスト装置(サーバー)と端末とで分散して処理するようにしてもよい。また、本発明を実現するための上記格納情報を、ホスト装置(サーバー)の情報記憶媒体と端末の情報記憶媒体に分散して格納するようにしてもよい。
【0134】
また通信回線に接続する端末は、家庭用ゲームシステムであってもよいし業務用ゲームシステムであってもよい。そして、業務用ゲームシステムを通信回線に接続する場合には、業務用ゲームシステムとの間で情報のやり取りが可能であると共に家庭用ゲームシステムとの間でも情報のやり取りが可能な携帯型情報記憶装置(メモリーカード、携帯型ゲーム機)を用いることが望ましい。
【0135】
なお本発明は、上記実施形態で説明したものに限らず、種々の変形実施が可能である。
【0136】
例えば、本発明のうち従属請求項に係る発明においては、従属先の請求項の構成要件の一部を省略する構成とすることもできる。また、本発明の1の独立請求項に係る発明の要部を、他の独立請求項に従属させることもできる。
【0137】
また、ビット数の削減対象は、位置データ又は角度データそのものには限定されず、位置データ又は角度データと均等なデータのビット数を削減する場合も、本発明の範囲に含まれる。
【0138】
また、前回のフレームは1フレーム前には限定されず、前回のフレームから変化したことを条件に記憶されるリプレイデータの要素データも、本実施形態で説明したものには限定されない。
【0139】
またアニメーション番号も、頂点アニメーション処理におけるアニメーション番号に限定されず、アニメーション処理されるオブジェクトとしては、シャッター以外にも種々のものを考えることができる。
【0140】
また、発生又は消滅した場合にその識別データが記憶されるオブジェクトも、弾や煙等に限定されるものではない。
【0141】
また、差し替えられるマップオブジェクトも、図11(A)、(B)に示すような障害物に限定されず、建造物(橋、ビル)、砲台等、種々のものを考えることができる。
【0142】
また、リプレイデータ記憶手段に記憶されるパケットの形態、分類等も、図13で説明したものに限定されない。
【0143】
また本発明はシューティングゲーム以外にも種々のゲーム(スポーツゲーム、車ゲーム、フライトシミュレーションゲーム、格闘ゲーム、競争ゲーム、ロボット対戦ゲーム、ロールプレイングゲーム、音楽演奏ゲーム、ダンスゲーム等)に適用できる。
【0144】
また本発明は、業務用ゲームシステム、家庭用ゲームシステム、多数のプレーヤが参加する大型アトラクションシステム、シミュレータ、マルチメディア端末、画像生成システム、ゲーム画像を生成するシステムボード等の種々のゲームシステムに適用できる。
【図面の簡単な説明】
【0145】
【図1】本実施形態のゲームシステムのブロック図の例である。
【図2】位置データ、角度データのビット数を削減する手法について説明するための図である。
【図3】前回のフレームからその値が変化した要素データをリプレイデータとして記憶する手法について説明するための図である。
【図4】リプレイデータの要素データについて説明するための図である。
【図5】図5(A)、(B)は、アニメーション処理を利用したゲーム場面の例を示す図である。
【図6】アニメーション処理におけるアニメーション番号をリプレイデータとして記憶する手法について説明するための図である。
【図7】前回のフレームから変化したことを条件にアニメーション番号をリプレイデータとして記憶する手法について説明するための図である。
【図8】図8(A)、(B)は、弾やエフェクトが発生するゲーム場面の例を示す図である。
【図9】弾が発生又は消滅した場合に、発生又は消滅した弾のIDをリプレイデータとして記憶する手法について説明するための図である。
【図10】弾の発射位置、発射角度、発射速度をリプレイデータとして記憶する手法について説明するための図である。
【図11】図11(A)、(B)は、キャラクタが発射した弾により障害物が破壊されるゲーム場面の例を示す図である。
【図12】図12(A)、(B)は、差し替え元、差し替え先のオブジェクトのIDをリプレイデータとして記憶し、リプレイ処理時に、オブジェクトの差し戻し、差し替えを行う手法について説明するための図である。
【図13】当該フレームのリプレイ処理に必要なパケットだけをリプレイデータとして記憶する手法について説明するための図である。
【図14】パケットのヘッダに付加する分類データについて説明するための図である。
【図15】図15(A)、(B)は、所与の範囲の外にいるオブジェクトのリプレイデータについては、その記憶を省略する手法について説明するための図である。
【図16】本実施形態の処理の詳細例について示すフローチャートである。
【図17】本実施形態の処理の詳細例について示すフローチャートである。
【図18】本実施形態の処理の詳細例について示すフローチャートである。
【図19】本実施形態を実現できるハードウェアの構成の一例を示す図である。
【図20】図20(A)、(B)、(C)は、本実施形態が適用される種々の形態のシステムの例を示す図である。
【符号の説明】
【0146】
10 キャラクタ
12 シャッター
14 弾
16 敵キャラクタ
18 エフェクト
20-1、20-2 障害物
30、32〜38 オブジェクト
40 範囲
100 処理部
110 ゲーム演算部
112 リプレイデータ発生部
114 パケット処理部
116 判断部
117 圧縮部
118 組立部
119 書き込み部
120 リプレイ処理部
122 読み出し部
123 処理部
124 仮想カメラ処理部
130 操作部
140 記憶部
150 情報記憶媒体
160 画像生成部
162 表示部
170 音生成部
172 音出力部
174 通信部
176 I/F部
180 メモリーカード

【特許請求の範囲】
【請求項1】
ゲーム画像を生成するためのゲームシステムであって、
ゲーム中においてオブジェクトが発生又は消滅した場合に、発生又は消滅したオブジェクトを特定するための識別データを、リプレイデータとしてリプレイデータ記憶手段に書き込み記憶させる書き込み手段と、
リプレイデータとして記憶された識別データにより特定されるオブジェクトを、所与のアルゴリズムにしたがって自動的に動作又は変化させるリプレイ処理を行うリプレイ処理手段と、
を含むことを特徴とするゲームシステム。
【請求項2】
請求項2において、
ゲーム中においてオブジェクトが発生した場合に、発生時におけるオブジェクトの位置データ又は角度データ又は速度データが、リプレイデータとしてリプレイデータ記憶手段に記憶されることを特徴とするゲームシステム。
【請求項3】
コンピュータが使用可能な情報記憶媒体であって、
ゲーム中においてオブジェクトが発生又は消滅した場合に、発生又は消滅したオブジェクトを特定するための識別データを、リプレイデータとしてリプレイデータ記憶手段に書き込み記憶させる書き込み手段と、
リプレイデータとして記憶された識別データにより特定されるオブジェクトを、所与のアルゴリズムにしたがって自動的に動作又は変化させるリプレイ処理を行うリプレイ処理手段として、
コンピュータを機能させるプログラムを含むことを特徴とする情報記憶媒体。
【請求項4】
請求項3において、
ゲーム中においてオブジェクトが発生した場合に、発生時におけるオブジェクトの位置データ又は角度データ又は速度データが、リプレイデータとしてリプレイデータ記憶手段に記憶されることを特徴とする情報記憶媒体。

【図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

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate


【公開番号】特開2007−130505(P2007−130505A)
【公開日】平成19年5月31日(2007.5.31)
【国際特許分類】
【出願番号】特願2007−32509(P2007−32509)
【出願日】平成19年2月13日(2007.2.13)
【分割の表示】特願2003−80627(P2003−80627)の分割
【原出願日】平成11年5月26日(1999.5.26)
【出願人】(000134855)株式会社バンダイナムコゲームス (1,157)
【Fターム(参考)】