JP3989393B2 - GAME SYSTEM AND INFORMATION STORAGE MEDIUM - Google Patents

GAME SYSTEM AND INFORMATION STORAGE MEDIUM Download PDF

Info

Publication number
JP3989393B2
JP3989393B2 JP2003080629A JP2003080629A JP3989393B2 JP 3989393 B2 JP3989393 B2 JP 3989393B2 JP 2003080629 A JP2003080629 A JP 2003080629A JP 2003080629 A JP2003080629 A JP 2003080629A JP 3989393 B2 JP3989393 B2 JP 3989393B2
Authority
JP
Japan
Prior art keywords
data
replay
game
stored
replay data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
JP2003080629A
Other languages
Japanese (ja)
Other versions
JP2003236235A (en
Inventor
利幸 小池
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Namco Ltd
Bandai Namco Entertainment Inc
Original Assignee
Namco Ltd
Namco Bandai Games Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Namco Ltd, Namco Bandai Games Inc filed Critical Namco Ltd
Priority to JP2003080629A priority Critical patent/JP3989393B2/en
Publication of JP2003236235A publication Critical patent/JP2003236235A/en
Application granted granted Critical
Publication of JP3989393B2 publication Critical patent/JP3989393B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Description

【0001】
【発明の属する技術分野】
本発明は、ゲームシステム及び情報記憶媒体に関する。
【0002】
【背景技術及び発明が解決しようとする課題】
従来より、画面上に映し出されたゲーム画像を見ながらシューティングゲームやスポーツゲームや格闘ゲームなどを楽しむことができるゲームシステムが知られている。このようなゲームシステムには、通常、リプレイ機能と呼ばれる機能が設けられており、プレーヤは、このリプレイ機能を利用することで、自身のゲームプレイの様子をゲーム終了後にゲーム中とは異なった視点で見ることができるようになる。
【0003】
さて、このようなリプレイ機能を実現するためには、リプレイ画像を生成するためのリプレイデータを、ゲームシステム内のリプレイデータ記憶部(リプレイバッファ)に記憶しておく必要がある。このようなリプレイデータの記憶手法には、大別して次の2つの手法がある。
【0004】
即ち、第1の手法では、ゲームコントローラ(操作部)を用いてプレーヤが入力した操作データ(キーデータ)の履歴をリプレイデータとしてリプレイデータ記憶部に記憶する。そして、リプレイ処理においては、これらの操作データの履歴に基づいてゲーム中と同じ処理を行うことで、ゲーム場面を再構築し、リプレイ画像を生成する。
【0005】
しかしながら、この第1の手法では、リプレイ処理の際に、ゲーム開始からの操作データの履歴を全てたどる必要がある。このため、ゲーム途中からのリプレイ画像の生成が難しいという問題点がある。
【0006】
一方、第2の手法としては、例えば国際公開番号WO96/00601に開示されている従来技術がある。この第2の手法では、オブジェクトの3次元の位置(座標)データ、角度(方向)データをリプレイデータ記憶部に記憶する。そして、リプレイ処理において、これらの位置データ、角度データにより特定される位置、角度でオブジェクトを表示することで、リプレイ画像を生成する。
【0007】
しかしながら、この第2の手法では、操作データに比べてデータ量の多い位置データ、角度データをリプレイデータ記憶部に記憶する必要がある。従って、リプレイデータ記憶部の使用記憶容量が非常に大きくなってしまい、他の処理に必要な記憶容量を圧迫してしまう。また、リプレイデータ記憶部には数秒間分のリプレイデータしか記憶できないため、長時間に渡るリプレイ画像の生成を実現できないという問題点もある。
【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】
また本発明は、業務用ゲームシステム、家庭用ゲームシステム、多数のプレーヤが参加する大型アトラクションシステム、シミュレータ、マルチメディア端末、画像生成システム、ゲーム画像を生成するシステムボード等の種々のゲームシステムに適用できる。
【図面の簡単な説明】
【図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)は、本実施形態が適用される種々の形態のシステムの例を示す図である。
【符号の説明】
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 メモリーカード
[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a game system and an information storage medium.
[0002]
[Background Art and Problems to be Solved by the Invention]
2. Description of the Related Art Conventionally, a game system that can enjoy a shooting game, a sports game, a fighting game, or the like while watching a game image displayed on a screen is known. Such a game system is usually provided with a function called a replay function. By using this replay function, a player can view his game play from a different viewpoint from that during the game. You will be able to see it.
[0003]
In order to realize such a replay function, it is necessary to store replay data for generating a replay image in a replay data storage unit (replay buffer) in the game system. Such replay data storage methods are roughly classified into the following two methods.
[0004]
That is, in the first method, the history of operation data (key data) input by the player using the game controller (operation unit) is stored as replay data in the replay data storage unit. In the replay process, the same process as in the game is performed based on the history of the operation data, thereby reconstructing the game scene and generating a replay image.
[0005]
However, in this first method, it is necessary to follow the entire history of operation data from the start of the game during the replay process. For this reason, there is a problem that it is difficult to generate a replay image from the middle of the game.
[0006]
On the other hand, as the second technique, there is a conventional technique disclosed in, for example, International Publication No. WO96 / 00601. In the second method, three-dimensional position (coordinate) data and angle (direction) data of an object are stored in a replay data storage unit. And in a replay process, a replay image is produced | generated by displaying an object with the position and angle specified by these position data and angle data.
[0007]
However, in the second method, it is necessary to store position data and angle data having a larger data amount than the operation data in the replay data storage unit. Therefore, the used storage capacity of the replay data storage unit becomes very large, and the storage capacity necessary for other processing is compressed. Moreover, since only the replay data for several seconds can be stored in the replay data storage unit, there is a problem that it is impossible to generate a replay image over a long time.
[0008]
The present invention has been made to solve the above-described problems, and its object is to reduce the amount of replay data to be stored and to generate a replay image over a long period of time and information. It is to provide a storage medium.
[0009]
[Means for Solving the Problems]
In order to solve the above problems, the present invention is a game system for generating a game image, wherein the number of bits of position data or angle data of an object is reduced, and the position data or angle data in which the number of bits is reduced. The position or angle is specified by the position data or the angle data based on the means for writing and storing the data as replay data in the replay data storage means and the position data or angle data stored with the number of bits reduced. Means for performing an object replay process. An information storage medium according to the present invention is an information storage medium that can be used by a computer, and includes information (program) for realizing (executing) the above means. The program according to the present invention is a program that can be used by a computer, and is a program for realizing (executing) the above means.
[0010]
According to the present invention, the number of bits of object position (coordinate) data or angle (direction) data is reduced (compressed) and stored in the replay data storage means. Then, a replay process is performed based on the position data or angle data from which the number of bits has been reduced, and a replay image is generated. Therefore, the used storage capacity of the replay data storage means can be significantly saved, and a replay image can be generated for a long time. Even if the replay process is performed based on the position data or the angle data in which the number of bits is reduced in this way, there is little possibility of being noticed by the player (operator). On the other hand, the position data or angle data used in the game can be set to the normal number of bits, preventing the occurrence of failure in numerical calculations performed in the game and unnatural movement of objects. it can.
[0011]
The game system, information storage medium, and program according to the present invention are characterized in that the number of bits of angle data to be reduced is smaller than the number of bits of position data to be reduced. In this way, it is possible to prevent a situation where the image quality of the replay image is degraded due to an unnatural change in the direction of the object, while saving the storage capacity of the replay data storage means.
[0012]
The present invention is also a game system for generating a game image, and among the element data to be stored as replay data, the element data changed from the previous frame is written and stored in the replay data storage means as replay data. And means for performing replay processing for generating a replay image based on element data stored as replay data. An information storage medium according to the present invention is an information storage medium that can be used by a computer, and includes information (program) for realizing (executing) the above means. The program according to the present invention is a program that can be used by a computer, and is a program for realizing (executing) the above means.
[0013]
According to the present invention, element data is stored in the replay data storage means on condition that the frame has changed from the previous frame. Therefore, it is possible to prevent a situation in which useless element data is stored in the replay data storage means when the value of the element data has not changed over a long period of time. Thereby, the used storage capacity of the replay data storage means can be remarkably reduced.
[0014]
In the game system, information storage medium, and program according to the present invention, the element data stored as replay data on condition that the frame has changed from the previous frame are object position data, object angle data, and object model number. And at least one of an animation number in the animation process of the object and a display / non-display flag of the object. However, the element data stored as the replay data on condition that the frame has changed from the previous frame is particularly preferably these data, but is not limited to these data.
[0015]
The present invention is also a game system for generating a game image, wherein the animation number of an object to be animated during the game is written and stored as replay data in the replay data storage means, and stored as replay data. And means for performing a replay process of an object that is animated during the game based on the animation number. An information storage medium according to the present invention is an information storage medium that can be used by a computer, and includes information (program) for realizing (executing) the above means. The program according to the present invention is a program that can be used by a computer, and is a program for realizing (executing) the above means.
[0016]
According to the present invention, it is possible to realize a replay process for an object to be animated during a game, simply by storing an animation number or the like in the replay data storage means. As a result, an appropriate replay image can be generated while saving the used storage capacity of the replay data storage means.
[0017]
The game system, information storage medium, and program according to the present invention are characterized in that the animation number is stored in the replay data storage means as replay data on the condition that it has changed from the previous frame. In this way, the amount of replay data can be further reduced.
[0018]
The present invention is also a game system for generating a game image, and when an object is generated or disappears during the game, identification data for specifying the generated or disappeared object is stored as replay data as replay data. Means for writing and storing in the means; and means for performing replay processing for automatically operating or changing an object specified by the identification data stored as replay data according to a given algorithm. An information storage medium according to the present invention is an information storage medium that can be used by a computer, and includes information (program) for realizing (executing) the above means. The program according to the present invention is a program that can be used by a computer, and is a program for realizing (executing) the above means.
[0019]
According to the present invention, an object specified by the identification data stored in the replay data storage means has a given algorithm (for example, an algorithm similar to that used for movement or change of the object in the game) at the time of replay. ) Automatically (movement, rotation, motion playback, etc.) or change. Therefore, an image similar to that during the game can be generated as a replay image while suppressing the used storage capacity of the replay data storage means.
[0020]
In addition, in the game system, information storage medium, and program according to the present invention, when an object is generated during the game, the position data, angle data, or speed data of the object at the time of occurrence is stored in the replay data storage means as replay data. It is characterized by that. In this way, replay images for various objects such as bullets and effects can be generated.
[0021]
The present invention is also a game system for generating a game image, wherein a first object for specifying a replacement source first object is replaced when the first object is replaced with a second object during the game. Means for writing and storing the first identification data and the second identification data for specifying the replacement second object in the replay data storage means as the replay data, and the first and second stored as the replay data. And means for performing a replay process for replacing the first object with the second object after the second object is returned to the first object based on the identification data. An information storage medium according to the present invention is an information storage medium that can be used by a computer, and includes information (program) for realizing (executing) the above means. The program according to the present invention is a program that can be used by a computer, and is a program for realizing (executing) the above means.
[0022]
According to the present invention, when the first object is replaced with the second object during the game, the first object is replaced with the first object after the replacement second object is returned to the replacement first object. An appropriate replay image to be replaced with the second object can be generated.
[0023]
The present invention is also a game system for generating a game image, wherein a packet necessary for the replay process of the frame is determined from packets used for the replay process, and the packet determined to be necessary Including means for writing and storing in the replay data storage means as replay data corresponding to the frame, and means for performing a replay process for generating a replay image based on a packet of the stored replay data. And An information storage medium according to the present invention is an information storage medium that can be used by a computer, and includes information (program) for realizing (executing) the above means. The program according to the present invention is a program that can be used by a computer, and is a program for realizing (executing) the above means.
[0024]
According to the present invention, since packets necessary for the replay processing of the frame are selected and stored in the replay data storage unit, the replay data storage unit can be used efficiently without waste. Further, when the replay data specification is changed and new replay data needs to be stored, this can be easily dealt with.
[0025]
The game system, information storage medium, and program according to the present invention include a first packet for a first replay process, a second packet for a second replay process, and so on. The Nth packet is prepared, and classification data specifying which of the first to Nth replay processes is used is added to each of the first to Nth packets and stored in the replay data storage means. It is characterized by that. In this way, the first to Nth packets can be appropriately sorted with respect to the first to Nth replay processes based on the classification data. As a result, the packet writing process to the replay data storage unit and the packet reading process from the replay data storage unit can be simplified.
[0026]
Further, the present invention is a game system for generating a game image, and replays an object outside a given range specified by the position or direction of an object operated by the player or the viewpoint position or line-of-sight direction of the player. Including means for writing and storing the replay data in the replay data storage means while omitting the storage of the data, and means for performing a replay process for generating a replay image based on the stored replay data. Features. An information storage medium according to the present invention is an information storage medium that can be used by a computer, and includes information (program) for realizing (executing) the above means. The program according to the present invention is a program that can be used by a computer, and is a program for realizing (executing) the above means.
[0027]
According to the present invention, since replay data of an object outside the given range is omitted, useless data that does not significantly affect the quality of the replay image is stored in the replay data storage. The situation stored in the means can be prevented.
[0028]
The game system, information storage medium, and program according to the present invention are characterized in that the replay data of a specific object is stored in the replay data storage means even when it is outside the given range. In this way, for example, it is possible to prevent a situation in which an object that should have newly occurred does not appear at all or an object that should have disappeared appears again.
[0029]
DETAILED DESCRIPTION OF THE INVENTION
Hereinafter, preferred embodiments of the present invention will be described with reference to the drawings. In the following, a case where the present invention is applied to a shooting game will be described as an example. However, the present invention is not limited to this and can be applied to various games.
[0030]
1. Constitution
FIG. 1 shows an example of a block diagram of this embodiment. In this figure, the present embodiment may include at least the processing unit 100 (or may include the processing unit 100 and the storage unit 140, or the processing unit 100, the storage unit 140, and the information storage medium 150), and other blocks. (For example, the operation unit 130, the image generation unit 160, the display unit 162, the sound generation unit 170, the sound output unit 172, the communication unit 174, the I / F unit 176, the memory card 180, etc.) are optional components. Can do.
[0031]
Here, the processing unit 100 performs various processes such as control of the entire system, instruction instruction to each block in the system, and game calculation, and functions thereof are a CPU (CISC type, RISC type), DSP. Alternatively, it can be realized by hardware such as an ASIC (gate array or the like) or a given program (game program).
[0032]
The operation unit 130 is used by the player to input operation data, and the function can be realized by hardware such as a lever, a button, a cross key, and a housing.
[0033]
The storage unit 140 serves as a work area such as the processing unit 100, the image generation unit 160, the sound generation unit 170, the communication unit 174, and the I / F unit 176, and its functions can be realized by hardware such as a RAM.
[0034]
An information storage medium (storage medium usable by a computer) 150 stores information such as programs and data, and functions thereof are an optical disk (CD, DVD), a magneto-optical disk (MO), a magnetic disk, and a hard disk. It can be realized by hardware such as a magnetic tape or a semiconductor memory (ROM). The processing unit 100 performs various processes of the present invention (this embodiment) based on information stored in the information storage medium 150. That is, the information storage medium 150 stores various information (programs, data) for realizing (executing) the means (particularly, the blocks included in the processing unit 100) of the present invention (this embodiment).
[0035]
Part or all of the information stored in the information storage medium 150 is transferred to the storage unit 140 when the system is powered on. Information stored in the information storage medium 150 includes program code, image information, sound information, shape information of display objects, table data, list data, player information, and processing of the present invention. It includes at least one of information for instructing, information for performing processing in accordance with the instruction, and the like.
[0036]
The image generation unit 160 generates various images in accordance with instructions from the processing unit 100 and outputs them to the display unit 162. The function of the image generation unit 160 is hardware such as an image generation ASIC, CPU, or DSP, It can be realized by a given program (image generation program) and image information.
[0037]
The sound generation unit 170 generates various sounds in accordance with instructions from the processing unit 100 and outputs them to the sound output unit 172. The function of the sound generation unit 170 is a hardware such as a sound generation ASIC, CPU, or DSP. Alternatively, it can be realized by a given program (sound generation program) and sound information (waveform data, etc.).
[0038]
The communication unit 174 performs various types of control for communicating with an external device (for example, a host device or other game system), and functions thereof are hardware such as a communication ASIC or CPU, It can be realized by a given program (communication program).
[0039]
Note that information for realizing the processing of the present invention (this embodiment) may be distributed from the information storage medium of the host device (server) to the information storage medium 150 via the network and the communication unit 174. Use of such an information storage medium of the host device (server) is also included in the scope of the present invention.
[0040]
Further, part or all of the functions of the processing unit 100 may be realized by the functions of the image generation unit 160, the sound generation unit 170, or the communication unit 174. Alternatively, part or all of the functions of the image generation unit 160, the sound generation unit 170, or the communication unit 174 may be realized by the function of the processing unit 100.
[0041]
The I / F unit 176 serves as an interface for exchanging information with a memory card 180 (in a broad sense, a portable information storage device including a portable game machine) according to an instruction from the processing unit 100. This function can be realized by a slot for inserting a memory card, a controller IC for data writing / reading, and the like. In the case where information exchange with the memory card 180 is realized using radio waves such as infrared rays, the function of the I / F unit 176 can be realized by hardware such as a semiconductor laser and an infrared sensor.
[0042]
The processing unit 100 includes a game calculation unit 110.
[0043]
Here, the game calculation unit 110 accepts coins (cost), sets various modes, progresses the game, sets a selection screen, and positions and angles of objects (characters, moving objects) (rotation angle around the axis). Processing, determining viewpoint position and line-of-sight angle, processing to reproduce object motion, processing to place object in object space, hit check processing, processing to calculate game results (results, results), multiple players Various game calculation processes such as a process for playing in a common game space or a game over process are performed based on operation data from the operation unit 130, data from the memory card 180, game programs, and the like.
[0044]
The game calculation unit 110 includes a replay data generation unit 112, a packet processing unit 114, a replay processing unit 120, and a virtual camera processing unit 124.
[0045]
Here, the replay data generation unit 112 performs processing for generating replay data (candidates of replay data to be stored) stored in the replay data storage unit (replay buffer) 142. More specifically, a processing routine for controlling objects (characters, moving objects) operated by the player, a processing routine for controlling objects operated by the computer, and the like function as the replay data generating unit 112. That is, when the object is moved by a player operation or a computer operation, the processing routine generates position data and angle (direction) data of the moved object. The generated replay data is input to the packet processing unit 114.
[0046]
The packet processing unit 114 receives the replay data generated by the replay data generation unit 112 and performs a process of writing and storing necessary replay data in the replay data storage unit 142 in a packet format.
[0047]
More specifically, the packet processing unit 114 includes a determination unit 116, a compression unit 117, an assembly unit 118, and a writing unit 119. Then, the determination unit 116 determines whether or not the replay data from the replay data generation unit 112 should be stored in the replay data storage unit 142. For example, the value of the previous frame of the replay data element data (position data, angle data, animation number, object display / non-display flag, model number, etc.) is compared with the value of the previous frame. The element data whose value has changed from the above is stored in the replay data storage unit 142. Also, in principle, replay data of an object (an object outside the given range) that is a given distance away from the object operated by the player (or the viewpoint position of the player) is not stored in the replay data storage unit 142. To do. However, the replay data for the newly generated object or the disappeared object is stored in the replay data storage unit 142 even if the object is away from the object operated by the player.
[0048]
The compression unit 117 performs a process for compressing the replay data. More specifically, the number of bits of the object position data and angle data in the game is reduced, and the position data and angle data with the reduced number of bits are stored in the replay data storage unit 142. In this case, the reduced number of bits of angle data (bit reduction rate) is made smaller than the reduced number of bits of position data. By doing so, it is possible to prevent a situation in which the direction of the object does not change smoothly in the replay image.
[0049]
The assembling unit 118 performs a process of assembling a packet for replay data. That is, a header (packet length, classification data) is added to the data body compressed by reducing the number of bits, and a packet is assembled (processed).
[0050]
The writing unit 119 performs a process of writing the packet assembled by the assembling unit 118 into the replay data storage unit 142. That is, one or a plurality of packets necessary for the replay processing of the frame are written in the replay data storage unit 142 as replay data corresponding to the frame.
[0051]
The replay processing unit 120 reads out the replay data stored in the replay data storage unit 142 and performs various replay processes for generating a replay image. For example, based on position data and angle data stored with a reduced number of bits, a replay process is performed on an object whose position and angle are specified by these position data and angle data.
[0052]
The replay processing unit 120 includes a reading unit 122 and a processing unit 123. Here, the reading unit 122 performs a process of reading a packet of replay data from the replay data storage unit 142. Then, the processing unit 123 executes a replay process specified by the classification data included in the read replay data packet.
[0053]
The virtual camera processing unit 124 performs various processes for the virtual camera.
[0054]
For example, during the game, the position and angle (direction) of the virtual camera are controlled so as to follow an object that is moved by the operation of the player. Then, an image that can be seen from the virtual camera is generated by the image generation unit 160.
[0055]
On the other hand, during replay, one virtual camera is randomly selected from a plurality of replay virtual cameras (virtual camera processing routines), for example. Then, the position and angle of the selected virtual camera are controlled by a given algorithm, and an image that can be seen from the virtual camera is generated by the image generation unit 160.
[0056]
Note that in the game system of the present embodiment, both the game play in the single player mode played by one player and the game play in the multiplayer mode played by a plurality of players are possible.
[0057]
Further, when a plurality of players play, game images and game sounds to be provided to the plurality of players may be generated using one terminal, or connected via a network (transmission line, communication line) or the like. Alternatively, it may be generated using a plurality of terminals.
[0058]
2. Features of this embodiment
The first feature of the present embodiment is that the number of bits of the position data or angle data (or speed data) of the object in the game is reduced (compressed), and the position data or angle data with the reduced number of bits is The point is that it is stored as replay data.
[0059]
For example, as shown in FIG. 2, the number of bits of the object position data X, Y, Z is all 32 bits during the game. The number of bits of the angle data α, β, γ is all 14 bits (α, β, γ are rotation angles about the X, Y, and Z axes, respectively). Accordingly, during the game, the game image is displayed with position data with 32-bit accuracy and angle data with 14-bit accuracy.
[0060]
In the present embodiment, the number of bits of these 32-bit position data and 14-bit angle data is reduced (rounded down, rounded off, etc.) to 20-bit position data and 12-bit angle data, respectively. Then, these 20-bit position data and 12-bit angle data are stored in the replay data storage unit.
[0061]
In the replay process, these 20-bit position data and 12-bit angle data are read from the replay data storage unit, and a replay image is generated based on the read 20-bit position data and 12-bit angle data. To do.
[0062]
By doing so, the used storage capacity of the replay data storage unit can be remarkably reduced.
[0063]
That is, in the conventional game system of International Publication Number WO96 / 00601, the number of bits of position data and angle data stored as replay data is the same as the number of bits of position data and angle data in the game. .
[0064]
However, if the position data and the angle data are stored in the replay data storage unit with the same number of bits as in the game in this way, the used storage capacity of the replay data storage unit becomes very large, and the storage capacity necessary for other processing Or the like, or the generation of a replay image over a long time cannot be realized.
[0065]
Further, during the game, it is necessary to calculate the position and angle of the object in real time with high accuracy on the basis of operation data from the player, so it is necessary to increase the number of bits of the position data and angle data. However, it has been found that such a high number of bits is not necessary in the replay process. In this embodiment, paying attention to this point, the number of bits of position data and angle data used for the replay process is reduced.
[0066]
That is, if the object position in the frame K-1 is PMK-1, the speed is VMK-1, the acceleration is AMK-1, and the time of one frame is Δt, the object position PMK and the speed VMK in the frame K are For example, numerical calculation is performed as in the following formulas (1) and (2).
[0067]
PMK = PMK-1 + VMK-1 × Δt (1)
VMK = VMK-1 + AMK-1 × Δt (2)
In such numerical calculation, if the number of bits of the position data and angle data is small, there are problems such as unnatural movement of the object and failure of the calculation.
[0068]
However, in the replay process, the numerical calculation as described above is not performed, and it is only necessary to display the object at the position and angle specified by the position data and angle data from the replay data storage unit. Therefore, the number of bits of position data and angle data need not be as large as 32 bits or 14 bits.
[0069]
Therefore, in this embodiment, the number of bits of position data and angle data obtained by numerical calculation in the game is reduced and stored in the replay data storage unit. By doing so, the used storage capacity of the replay data storage unit can be remarkably reduced, and generation of a replay image over a long time can be realized. And, if the number of bits is reduced in this way, the accuracy of the position data and angle data of the object during replay is lowered, but such a decrease in accuracy is usually not felt by the player. No problem. In addition, in the replay process, unlike in the game, numerical calculation is not performed on the object, so that it is not necessary to consider the problem that the calculation fails.
[0070]
In this embodiment, the number of position data reduction bits is 32-20 = 12, whereas the number of angle data reduction bits is 14-12 = 2 bits. The number is smaller than the number of reduced bits of the position data. The reason for this is that even if the number of position data reduction bits is increased and the accuracy of the position data is reduced, it is not so noticeable to the player, but if the angle data reduction bit number is increased and the accuracy of the angle data is reduced, This is because it becomes more conspicuous than in the case of position data. That is, the direction of the object does not change smoothly, giving the player an unnatural feeling. Such a problem can be solved by reducing the number of bits of angle data to be reduced compared to the number of bits of position data.
[0071]
The second feature of the present embodiment is that element data changed from the previous frame among element data to be stored as replay data is stored in the replay data storage means.
[0072]
For example, in FIG. 3, element data 1 changes in frames K + 1, K + 2, and K + 4, but does not change in frames K and K + 3. Therefore, in this case, the element data 1 is stored in the replay data storage unit only in the frames K + 1, K + 2, and K + 4. Similarly, since element data 2 changes in frames K + 3 and K + 4, it is stored in the replay data storage unit only in frames K + 3 and K + 4.
[0073]
Thus, if only the element data changed from the previous frame is stored, the redundancy of the replay data stored in the replay data storage unit can be reduced, and the amount of data to be stored in the replay data storage unit can be reduced. It becomes possible to compress effectively. For example, in FIG. 3, the data amount of the element data 1 is 3/5, and the data amount of the element data 2 is 2/5.
[0074]
As element data stored as replay data on condition that the frame has changed from the previous frame, for example, as shown in FIG. 4, in object position data, angle data, model number, animation processing (vertex animation processing) You can consider animation numbers, object display / non-display flags, and so on.
[0075]
For example, when the model (picture) of the object is changed, the changed model number is stored in the replay data storage unit, but is not stored when the model number is not changed. The animation number is also stored only when it has changed. Further, the display / non-display flag of the object is also stored in the replay data storage unit only when the display is changed from non-display to non-display. In this way, replay data composed of these element data can be effectively compressed.
[0076]
The third feature of the present embodiment is that, for an object (animation object) that is animated during the game, the animation number is stored as replay data, and the replay processing is performed based on the stored animation number. is there.
[0077]
For example, FIGS. 5A and 5B are game scenes in which the shutter 12 (animation object) arranged in front of the character 10 (object operated by the player) is gradually opened. Here, opening and closing of the shutter 12 is realized by deforming the shutter 12 by vertex animation processing.
[0078]
That is, as shown in FIG. 6, as the animation number (animation frame) advances from 0, 1, 2,..., The shutter 12 is deformed to express opening and closing of the shutter 12.
[0079]
Therefore, in this case, the animation number of the shutter 12 is stored in the replay data storage unit. In the replay process, the animation number is read out, and based on the read animation number, the same animation process as in the game is performed to express opening / closing of the shutter 12. In this way, the storage capacity of the replay data storage unit can be significantly saved as compared with the case where the vertex position of the shutter 12 is stored as replay data.
[0080]
The position data and angle data of the shutter 12 may be stored as replay data when the shutter 12 is initially placed (when the game scene shown in FIGS. 5A and 5B is entered).
[0081]
Also, as shown in FIG. 7, the animation number is stored as replay data on condition that it has changed from the previous frame. In this way, it is possible to prevent a situation where useless data is stored as replay data.
[0082]
The fourth feature of the present embodiment is that when an object is generated or disappears during the game, an ID (identification data) that identifies the generated or disappeared object is stored as replay data, and the stored ID is stored during the replay process. The object specified by is automatically moved (moved, rotated, played back, etc.) or changed according to a given algorithm (program).
[0083]
For example, FIG. 8A shows a game scene in which the character 10 shots the bullet 14 during the game, and FIG. 8B shows an effect 18 (spark, smoke, etc.) where the shot bullet hits the enemy character 16. It is a game scene that occurred.
[0084]
In the present embodiment, when such objects such as bullets 14 and effects 18 are generated or disappear, IDs of these bullets 14 and effects 18 are stored as replay data. In the replay process, the bullet 14 is automatically moved or the effect 18 is changed by a given algorithm based on these IDs.
[0085]
For example, in FIG. 9, when a bullet 14 is generated during a game (when a character shoots a bullet), its ID (ID indicating that it is a generated object) is stored as replay data. Further, when the bullet 14 hits an enemy character or an obstacle and disappears or naturally disappears, the ID (an ID indicating that the object is an disappeared object) is stored in the replay data storage unit. In the replay process, the bullet 14 specified by the stored ID is generated and automatically moves according to a given algorithm (the same algorithm that moves the bullet during the game) and then disappears. It becomes like this.
[0086]
In this way, it is not necessary to store bullet position data and angle data as replay data until the bullet disappears after it is generated. As a result, the used storage capacity of the replay data storage unit can be further saved.
[0087]
In this embodiment, when a bullet is generated, the position data, angle data, velocity (movement amount) data, and the like of the bullet 14 at the time of occurrence are also stored as replay data. For example, in FIG. 10, the bullet firing position PS, firing angle AS, and firing speed VS are stored as replay data.
[0088]
Further, when the effect 18 as shown in FIG. 8B occurs, the effect strength data (data indicating the strength and size of the effect) or the maintenance time data (the effect disappears after the effect occurs). Data representing the time until) is also stored as replay data.
[0089]
The fifth feature of the present embodiment is that when the first object (replacement source) is replaced with the second object (replacement destination) during the game, the IDs of the first and second objects are used as replay data. In storing and replaying, based on these IDs, the second object is replaced with the first object, and then the first object is replaced with the second object.
[0090]
For example, in FIGS. 11A and 11B, the obstacle 20-1 (replacement source map object) is destroyed by hitting the bullet 14 fired by the character 10 during the game, thereby expressing that the object has been destroyed. It has been replaced with an obstacle 20-2 (map object to be replaced).
[0091]
When the replay process is started after the obstacle is destroyed in this way, first, the obstacle 20-2 is returned to the obstacle 20-1 as shown in FIG. That is, the obstacle that has been in a destroyed state is returned to the state before the destruction. Next, as shown in FIG. 12B, by replacing the obstacle 20-1 with the obstacle 20-2, a game scene in which the obstacle is destroyed by the shooting of the player is reproduced. By doing so, it is possible to generate an appropriate replay image.
[0092]
The obstacle is destroyed if the player succeeds in shooting, and is not destroyed unless the player succeeds in shooting. As described above, whether or not the obstacle is destroyed during the game depends on the game play result of the player. Therefore, at the start of the replay process, it is necessary to tell whether the obstacle is in a destructive state or a non-destructive state. For this purpose, the IDs of both obstacles 20-1 and 20-2 are stored as replay data. There is a need to.
[0093]
In the present embodiment, when an object is replaced, data for specifying the position of the replaced object is also stored as replay data.
[0094]
A sixth feature of the present embodiment is that, among the packets used for the replay process, a packet necessary for the replay process of the frame is determined, and the replay data is determined by associating the determined packet with the frame. And the replay processing of each frame is performed based on the stored replay data packet.
[0095]
For example, in FIG. 13, the object control system, replay control system, action control system, and event control system packet processing routines OB, RE, AC, and EV determine which packets are required for replay processing in each frame. Then, the packets determined to be necessary are assembled and stored in the replay data storage unit (replay buffer).
[0096]
Note that the packets OB, RE, AC, EV assembled by the packet processing routines OB, RE, AC, EV are respectively an object (object operated by a player or a computer) control system, a replay control system, an action control system, and an event control system. Packet. Here, the action means that an object generates an object (an attack object such as a bullet) that affects another object. An event means that an object generates an object that does not affect other objects (smoke, sparks, etc.) or changes itself. Alternatively, the map object is replaced (part of the map is replaced).
[0097]
For example, in FIG. 13, in frame K, (1) a packet OB for changing the position and angle of the object, (2) a packet OB for changing the display / non-display of the object, (3) a packet OB for changing the model number, 4) A packet AC that generates a bullet A (a bullet whose movement amount and rotation angle are constant or fixed until disappearance), and [5] A bullet B (a bullet whose movement amount and rotation angle changes every frame until disappearance) are generated. Packet AC, {circle around (6)} packet EV for generating effect A (effect that does not move or rotate), {circle around (7)} packet RE instructing the end of the frame are assembled and stored in the replay data storage unit as a packet of frame K .
[0098]
That is, in frame K, since the position data and angle data of the object (object operated by the player or computer) have changed, it is determined that a packet for changing the position and angle is necessary, and this packet is stored in the replay data storage unit. Is done. Similarly, since the display / non-display flag and the model number have also changed, it is determined that a packet for changing the display / non-display and the model number is necessary and stored in the replay data storage unit. Further, since bullet A, bullet B, and effect A are generated, it is determined that a packet for generating bullet A, bullet B, and effect A is necessary, and is stored in the replay data storage unit.
[0099]
Similarly, in frame K + 1, it is determined that (1) a packet OB for changing the position and angle of the object, (2) a packet RE for changing the virtual camera, and (3) a packet RE for instructing the end of the frame. Are assembled and stored in the replay data storage unit.
[0100]
In frame K + 2, (1) a packet OB for changing the animation number of the object, (2) a packet AC for eliminating bullet A, (3) a packet AC for eliminating bullet B, and (4) effect B (moving or rotating) Packet EV for generating (effect), (5) packet EV for replacing the map object, and (6) packet RE for instructing the end of the frame are determined, and these packets are assembled and stored in the replay data storage unit.
[0101]
Then, each packet stored in the replay data storage unit in this way is read to the replay processing routines OB, RE, AC, and EV. Then, each replay processing routine OB, RE, AC, EV performs each replay processing according to these read packets.
[0102]
Here, the object control system, replay control system, action control system, and event control system packets OB, RE, AC, and EV are the object control system, replay control system, action control system, and event control system replay processing routines, respectively. The data is read out to OB, RE, AC, and EV.
[0103]
The sorting of the packets OB, RE, AC, and EV into the replay processing routines OB, RE, AC, and EV is performed based on the classification data added to the packet header as shown in FIG. become. This classification data is added to the header of the packet and stored in the replay data storage unit by the packet processing routines OB, RE, AC, and EV when the packet is assembled. Since the packet of the present embodiment has a variable length, the packet length is also added to the packet header.
[0104]
This classification data added to the header of the packet is data for classifying the packet into packets OB, RE, AC, and EV. Further, this classification data also functions as detailed classification data for each packet OB, RE, AC, EV. For example, packet OB includes (1) a packet for changing the position and angle of an object, (2) a packet for changing display / non-display, (3) a packet for changing a model number, and (4) a packet for changing an animation number. And so on. The replay processing routine OB that has received the packet OB can know which packet the received packet OB is based on the classification data included in the packet OB.
[0105]
As described above, according to the method of FIG. 13, it is determined which packet is necessary in each frame, and only the necessary packet is stored in the replay data storage unit. It becomes possible to memorize efficiently.
[0106]
That is, as one method of storing replay data in the replay data storage unit, a method of always fixing the data frame stored in each frame is conceivable. According to this method, rewrite data write control to the replay data storage unit can be simplified. However, with this method, replay data with the same amount of data is always stored, regardless of whether the amount of replay data to be stored is large or small, and the storage capacity of the replay data storage unit increases. End up.
[0107]
On the other hand, in the method of FIG. 13, in the frame having a large amount of replay data to be stored (for example, frame K in FIG. 13), many packets are stored in the replay data storage unit, and the amount of replay data to be stored is small. In a frame (for example, frame K + 1 in FIG. 13), a small number of packets are stored. Accordingly, the replay data can be efficiently stored in the replay data storage unit without waste.
[0108]
Further, in the method of FIG. 13, when a change occurs in the specification of replay data to be stored, for example, when a situation where a new type of replay data has to be stored occurs, this can be easily dealt with. There is also an advantage that scalability is very high. That is, in such a case, it is only necessary to newly define a packet corresponding to a new type of replay data.
[0109]
The seventh feature of the present embodiment is that replay data of objects outside a given range specified by the position or direction of the object operated by the player (or the viewpoint position or line of sight of the player) is replay data. It is in the point which a memory | storage to a memory | storage part is abbreviate | omitted.
[0110]
For example, in FIG. 15A, a range 40 is a range specified by the position of the object 30 operated by the player. More specifically, the range 40 is a range within a distance D from the object 30. The objects 32, 33, and 34 in the range 40 are stored as replay data. On the other hand, the objects 35, 36, and 37 outside the range 40 are not stored as replay data. This is because such objects 35, 36, and 37 are far from the player's viewpoint, and even if the display is omitted at the time of replay, it is considered inconspicuous. By omitting the storage of replay data (position data, angle data, etc.) for such objects 35, 36, and 37, the used storage capacity of the replay data storage unit can be further saved.
[0111]
In the present embodiment, the replay data of a specific object is stored in the replay data storage unit even if the object is outside the range 40.
[0112]
For example, in FIG. 15B, for the disappeared object 36, replay data indicating that it has disappeared is stored. Otherwise, there is a problem that the object 36 that should have disappeared enters the range 40 and appears in the field of view of the player.
[0113]
In addition, replay data indicating that a newly generated object 38 is newly stored is also stored. Otherwise, an object that should be newly generated during the game will not be generated at the time of replay, and a mismatch will occur between the game image and the replay image.
[0114]
3. Processing of this embodiment
Next, detailed detailed examples of the present embodiment will be described with reference to the flowcharts of FIGS. 16, 17, and 18.
[0115]
When the frame starts, object processing starts, and it is determined whether there is an object to be processed (steps S1, S2, S3). If there is an object to be processed, a storage permission flag setting process is performed (step S4). That is, in FIG. 15A, the storage permission flag is set to on (permitted) for objects within the range 40, and the storage permission flag is turned off (not permitted) for objects outside the range 40. Is set.
[0116]
Next, it is determined whether or not the object to be processed (object processing routine) has generated replay data (step S5). If it occurs, it is determined whether or not the generated replay data (element data of the replay data) is stored in the replay data storage unit (step S6). For example, as described with reference to FIG. 3, in the present embodiment, only element data of replay data whose value has changed from the previous frame is stored. Further, as described with reference to FIG. 15B, the object outside the range 40 is not stored (the specific object is stored even if it is outside).
[0117]
Next, the element data of the replay data is compressed (step S7). That is, as described in FIG. 2, the number of bits of position data and angle data is reduced.
[0118]
Next, the packet is assembled, and the assembled packet is written in the replay data storage unit (steps S8 and S9). That is, as described with reference to FIG. 13, only the packets necessary for the replay processing of the frame are assembled and written in the replay data storage unit.
[0119]
When all the objects have been processed, background processing is started (step S10). In this background process, it is determined whether or not there is a map object to be replaced as shown in FIGS. 11A and 11B (step S11). If there is a map object to be replaced, a packet for instructing replacement of the map object is assembled and written (steps S12 and S13). On the other hand, if there is no map object to be replaced, a packet for instructing the end of the frame is assembled and written (step S14).
[0120]
FIG. 18 is a flowchart regarding the replay process.
[0121]
When the frame starts, the packet is read from the replay data storage unit as described with reference to FIG. 13 (T1, T2). Then, it is determined whether or not the read packet is a frame end packet. If the read packet is a frame end packet, the process ends (step T3).
[0122]
On the other hand, if it is not a frame end packet, it is determined which replay processing routine the packet is (step T4). Then, each replay processing routine OB, RE, AC, EV executes each processing classified by the classification data (see FIG. 14) (steps T5 to T12). And after execution of a process, it returns to step T2.
[0123]
4). Hardware configuration
Next, an example of a hardware configuration capable of realizing the present embodiment will be described with reference to FIG. In the system shown in the figure, a CPU 1000, a ROM 1002, a RAM 1004, an information storage medium 1006, a sound generation IC 1008, an image generation IC 1010, and I / O ports 1012, 1014 are connected to each other via a system bus 1016 so that data can be transmitted and received. A display 1018 is connected to the image generation IC 1010, a speaker 1020 is connected to the sound generation IC 1008, a control device 1022 is connected to the I / O port 1012, and a communication device 1024 is connected to the I / O port 1014. Has been.
[0124]
The information storage medium 1006 mainly stores programs, image data for expressing display objects, sound data, and the like. For example, in a home game system, a DVD, a game cassette, a CDROM, or the like is used as an information storage medium for storing a game program or the like. In the arcade game system, a memory such as a ROM is used. In this case, the information storage medium 1006 is a ROM 1002.
[0125]
The control device 1022 corresponds to a game controller, an operation panel, and the like, and is a device for inputting a result of determination made by the player in accordance with the progress of the game to the system main body.
[0126]
In accordance with a program stored in the information storage medium 1006, a system program stored in the ROM 1002 (system body initialization information, etc.), a signal input by the control device 1022, the CPU 1000 controls the entire system and performs various data processing. . The RAM 1004 is a storage means used as a work area of the CPU 1000 and stores the given contents of the information storage medium 1006 and the ROM 1002 or the calculation result of the CPU 1000. A data structure having a logical configuration for realizing the present embodiment is constructed on the RAM or the information storage medium.
[0127]
Furthermore, this type of system is provided with a sound generation IC 1008 and an image generation IC 1010 so that game sounds and game images can be suitably output. The sound generation IC 1008 is an integrated circuit that generates game sounds such as sound effects and background music based on information stored in the information storage medium 1006 and the ROM 1002, and the generated game sounds are output by the speaker 1020. The image generation IC 1010 is an integrated circuit that generates pixel information to be output to the display 1018 based on image information sent from the RAM 1004, the ROM 1002, the information storage medium 1006, and the like. As the display 1018, a so-called head mounted display (HMD) can be used.
[0128]
The communication device 1024 exchanges various types of information used inside the game system with the outside. The communication device 1024 is connected to other game systems to send and receive given information according to the game program, and to connect a communication line. It is used for sending and receiving information such as game programs.
[0129]
The various processes described with reference to FIGS. 1 to 18 include an information storage medium 1006 that stores information such as programs and data, a CPU 1000 that operates based on information from the information storage medium 1006, an image generation IC 1010, or a sound generation. This is realized by the IC 1008 or the like. The processing performed by the image generation IC 1010, the sound generation IC 1008, and the like may be performed by software using the CPU 1000 or a general-purpose DSP.
[0130]
FIG. 20A shows an example in which the present embodiment is applied to an arcade game system. The player enjoys the game by operating the lever 1102, the button 1104, and the like while viewing the game image displayed on the display 1100. The built-in system board (circuit board) 1106 is mounted with a CPU, an image generation IC, a sound generation IC, and the like. Information for executing (implementing) the processing (means of the present invention) of this embodiment is stored in a semiconductor memory 1108 that is an information storage medium on the system board 1106. Hereinafter, this information is referred to as storage information.
[0131]
FIG. 20B shows an example in which the present embodiment is applied to a home game system. The player enjoys the game by operating the game controllers 1202 and 1204 while viewing the game image displayed on the display 1200. In this case, the stored information is stored in a DVD 1206, a memory card 1208, 1209, or the like, which is an information storage medium detachable from the main system.
[0132]
FIG. 20C shows a host device 1300 and terminals 1304-1 to 1304- connected to the host device 1300 via a communication line (small network such as a LAN or wide area network such as the Internet) 1302. An example in which the present embodiment is applied to a game system including n will be shown. In this case, the stored information is stored in an information storage medium 1306 such as a magnetic disk device, a magnetic tape device, or a semiconductor memory that can be controlled by the host device 1300, for example. When the terminals 1304-1 to 1304-n have a CPU, an image generation IC, and a sound processing IC and can generate game images and game sounds stand-alone, the host device 1300 receives game images and games. A game program or the like for generating sound is delivered to the terminals 1304-1 to 1304-n. On the other hand, if it cannot be generated stand-alone, the host device 1300 generates a game image and a game sound, which is transmitted to the terminals 1304-1 to 1304-n and output at the terminal.
[0133]
In the case of the configuration shown in FIG. 20C, the processing of the present invention may be distributed between the host device (server) and the terminal. The storage information for realizing the present invention may be distributed and stored in the information storage medium of the host device (server) and the information storage medium of the terminal.
[0134]
The terminal connected to the communication line may be a home game system or an arcade game system. And, when the arcade game system is connected to a communication line, portable information storage that can exchange information with the arcade game system and exchange information with the home game system. It is desirable to use a device (memory card, portable game machine).
[0135]
The present invention is not limited to that described in the above embodiment, and various modifications can be made.
[0136]
For example, in the invention according to the dependent claims of the present invention, a part of the constituent features of the dependent claims can be omitted. Moreover, the principal part of the invention according to one independent claim of the present invention can be made dependent on another independent claim.
[0137]
Further, the number of bits to be reduced is not limited to the position data or the angle data itself, and the case of reducing the number of bits of data equivalent to the position data or the angle data is also included in the scope of the present invention.
[0138]
Further, the previous frame is not limited to the previous frame, and the element data of the replay data stored on the condition that the frame has changed from the previous frame is not limited to that described in the present embodiment.
[0139]
Also, the animation number is not limited to the animation number in the vertex animation process, and various objects other than the shutter can be considered as objects to be animated.
[0140]
Further, the object in which the identification data is stored when it is generated or disappears is not limited to bullets or smoke.
[0141]
The map objects to be replaced are not limited to the obstacles as shown in FIGS. 11A and 11B, and various objects such as buildings (bridges, buildings), turrets, and the like can be considered.
[0142]
Further, the form and classification of the packets stored in the replay data storage means are not limited to those described with reference to FIG.
[0143]
The present invention can be applied to various games (sports games, car games, flight simulation games, fighting games, competitive games, robot fighting games, role playing games, music playing games, dance games, etc.) in addition to shooting games.
[0144]
The present invention is also applicable to various game systems such as a business game system, a home game system, a large attraction system in which a large number of players participate, a simulator, a multimedia terminal, an image generation system, and a system board for generating a game image. it can.
[Brief description of the drawings]
FIG. 1 is an example of a block diagram of a game system according to the present embodiment.
FIG. 2 is a diagram for explaining a method of reducing the number of bits of position data and angle data.
FIG. 3 is a diagram for explaining a method of storing element data whose value has changed from the previous frame as replay data;
FIG. 4 is a diagram for explaining element data of replay data.
FIGS. 5A and 5B are diagrams showing an example of a game scene using animation processing.
FIG. 6 is a diagram for describing a method of storing animation numbers as replay data in animation processing.
FIG. 7 is a diagram for explaining a method of storing animation numbers as replay data on the condition that the frame has changed from the previous frame.
FIGS. 8A and 8B are diagrams illustrating an example of a game scene in which bullets and effects are generated.
FIG. 9 is a diagram for explaining a method of storing the ID of a bullet that has been generated or disappeared as replay data when a bullet has been generated or has disappeared.
FIG. 10 is a diagram for explaining a method for storing a bullet firing position, a firing angle, and a firing speed as replay data.
FIGS. 11A and 11B are diagrams illustrating an example of a game scene in which an obstacle is destroyed by a bullet fired by a character.
FIGS. 12A and 12B are diagrams for explaining a technique for storing replacement object IDs and replacement object IDs as replay data, and performing object replacement and replacement at the time of replay processing. is there.
FIG. 13 is a diagram for explaining a method of storing only packets necessary for the replay processing of the frame as replay data.
FIG. 14 is a diagram for explaining classification data added to the header of a packet.
FIGS. 15A and 15B are diagrams for explaining a technique for omitting storing replay data of an object outside a given range. FIGS.
FIG. 16 is a flowchart illustrating a detailed example of processing according to the embodiment.
FIG. 17 is a flowchart illustrating a detailed example of processing according to the embodiment.
FIG. 18 is a flowchart illustrating a detailed example of processing of the present embodiment.
FIG. 19 is a diagram illustrating an example of a hardware configuration capable of realizing the present embodiment.
20A, 20B, and 20C are diagrams showing examples of various forms of systems to which the present embodiment is applied.
[Explanation of symbols]
10 characters
12 Shutter
14 bullets
16 Enemy characters
18 effects
20-1, 20-2 Obstacle
30, 32-38 objects
40 range
100 processor
110 Game calculation part
112 Replay data generator
114 Packet processing unit
116 Judgment part
117 compression section
118 Assembly
119 Writing part
120 Replay processing unit
122 Reading unit
123 Processing unit
124 Virtual camera processing unit
130 Operation unit
140 storage unit
150 Information storage medium
160 Image generator
162 Display section
170 Sound generator
172 sound output unit
174 Communication Department
176 I / F section
180 memory card

Claims (4)

ゲーム画像を生成するためのゲームシステムであって、
ゲーム中において、操作部を用いてプレーヤが入力した操作データに基づき、オブジェクトの位置データ、オブジェクトの角度データ、オブジェクトのモデル番号、オブジェクトのアニメーション処理におけるアニメーション番号、及びオブジェクトの表示・非表示フラグの少なくとも2つの要素データを持つオブジェクト情報をフレーム毎に演算するゲーム演算手段と、
演算された前記オブジェクト情報の各要素データの値と前回フレームにおいて演算された前記オブジェクト情報の各要素データの値とを比較して前記オブジェクト情報の各要素データの値が変化したか否かをフレーム毎に判断する判断手段と、
前記判断手段によって変化したと判断された要素データを含むリプレイデータをリプレイデータ記憶手段に書き込み記憶させる書き込み手段と、
記憶された前記リプレイデータに基づいて、リプレイ画像を生成するためのリプレイ処理を行うリプレイ処理手段と、
を含むことを特徴とするゲームシステム。
A game system for generating a game image,
During the game, based on the operation data input by the player using the operation unit, the object position data, the object angle data, the object model number, the animation number in the object animation process, and the object display / non-display flag Game computing means for computing object information having at least two element data for each frame;
A frame indicating whether the value of each element data of the object information has changed by comparing the value of each element data of the object information calculated with the value of each element data of the object information calculated in the previous frame. A judgment means for judging each;
Writing means for writing and storing replay data including element data determined to have changed by the determination means in the replay data storage means;
Replay processing means for performing a replay process for generating a replay image based on the stored replay data;
A game system comprising:
請求項1において、
前記書き込み手段は、
前記判断手段によって変化したと判断された要素データに、各要素データに予め対応付けられた分類データを付加して、リプレイデータ記憶手段に書き込み記憶させることを特徴とするゲームシステム。
In claim 1,
The writing means includes
A game system, wherein classification data previously associated with each element data is added to the element data determined to have been changed by the determination means, and is written and stored in the replay data storage means.
コンピュータが使用可能な情報記憶媒体であって、
ゲーム中において、操作部を用いてプレーヤが入力した操作データに基づき、オブジェクトの位置データ、オブジェクトの角度データ、オブジェクトのモデル番号、オブジェクトのアニメーション処理におけるアニメーション番号、及びオブジェクトの表示・非表示フラグの少なくとも2つの要素データを持つオブジェクト情報をフレーム毎に演算するゲーム演算手段と、
演算された前記オブジェクト情報の各要素データの値と前回フレームにおいて演算された前記オブジェクト情報の各要素データの値とを比較して前記オブジェクト情報の各要素データの値が変化したか否かをフレーム毎に判断する判断手段と、
前記判断手段によって変化したと判断された要素データを含むリプレイデータをリプレイデータ記憶手段に書き込み記憶させる書き込み手段と、
記憶された前記リプレイデータに基づいて、リプレイ画像を生成するためのリプレイ処理を行うリプレイ処理手段として、
コンピュータを機能させるプログラムを含むことを特徴とする情報記憶媒体。
An information storage medium usable by a computer,
During the game, based on the operation data input by the player using the operation unit, the object position data, the object angle data, the object model number, the animation number in the object animation process, and the object display / non-display flag Game computing means for computing object information having at least two element data for each frame;
A frame indicating whether the value of each element data of the object information has changed by comparing the value of each element data of the object information calculated with the value of each element data of the object information calculated in the previous frame. A judgment means for judging each;
Writing means for writing and storing replay data including element data determined to have changed by the determination means in the replay data storage means;
As a replay processing means for performing a replay process for generating a replay image based on the stored replay data,
An information storage medium comprising a program for causing a computer to function.
請求項3において、
前記書き込み手段は、
前記判断手段によって変化したと判断された要素データに、各要素データに予め対応付けられた分類データを付加して、リプレイデータ記憶手段に書き込み記憶させることを特徴とする情報記憶媒体。
In claim 3,
The writing means includes
An information storage medium characterized in that classification data previously associated with each element data is added to element data determined to have been changed by the determination means, and is written and stored in replay data storage means.
JP2003080629A 2003-03-24 2003-03-24 GAME SYSTEM AND INFORMATION STORAGE MEDIUM Expired - Lifetime JP3989393B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003080629A JP3989393B2 (en) 2003-03-24 2003-03-24 GAME SYSTEM AND INFORMATION STORAGE MEDIUM

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003080629A JP3989393B2 (en) 2003-03-24 2003-03-24 GAME SYSTEM AND INFORMATION STORAGE MEDIUM

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP14658399A Division JP3431534B2 (en) 1999-05-26 1999-05-26 GAME SYSTEM AND INFORMATION STORAGE MEDIUM

Publications (2)

Publication Number Publication Date
JP2003236235A JP2003236235A (en) 2003-08-26
JP3989393B2 true JP3989393B2 (en) 2007-10-10

Family

ID=27785915

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003080629A Expired - Lifetime JP3989393B2 (en) 2003-03-24 2003-03-24 GAME SYSTEM AND INFORMATION STORAGE MEDIUM

Country Status (1)

Country Link
JP (1) JP3989393B2 (en)

Also Published As

Publication number Publication date
JP2003236235A (en) 2003-08-26

Similar Documents

Publication Publication Date Title
JP3431535B2 (en) GAME SYSTEM AND INFORMATION STORAGE MEDIUM
US6666764B1 (en) Method of controlling a character in a video game
JPH10272258A (en) Picture processor
US20040046800A1 (en) Electronic game and method for effecting game features
JP2939230B1 (en) Image generation device and information storage medium
JP4187182B2 (en) Image generation system, program, and information storage medium
US6923717B2 (en) Adrenaline feature for sports video games
JP2939223B2 (en) Image generation device and information storage medium
JP2007130507A (en) Game system and information storage medium
JP3732497B2 (en) Message output device, message control method, and program
JP3431534B2 (en) GAME SYSTEM AND INFORMATION STORAGE MEDIUM
JP2001029652A (en) Image producing system and information memory medium
JP3245142B2 (en) Game system and information storage medium
JP3989392B2 (en) GAME SYSTEM AND INFORMATION STORAGE MEDIUM
JP4212061B2 (en) GAME SYSTEM AND INFORMATION STORAGE MEDIUM
JP4278070B2 (en) Image generation system and information storage medium
JP3989393B2 (en) GAME SYSTEM AND INFORMATION STORAGE MEDIUM
JP4251589B2 (en) Image generation system and information storage medium
JP3736767B2 (en) Image processing method
JP4212060B2 (en) GAME SYSTEM AND INFORMATION STORAGE MEDIUM
JP4071602B2 (en) Game program and storage medium storing the game program
JP4223139B2 (en) Image generating apparatus and information storage medium
JP4212015B2 (en) Image generating apparatus and information storage medium
JP5017248B2 (en) GAME PROGRAM, GAME DEVICE, AND GAME CONTROL METHOD
JP2003275461A (en) Game system and information storage medium

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060327

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20061213

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070213

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070328

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070528

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20070620

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20070717

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100727

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100727

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100727

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110727

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110727

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120727

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120727

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120727

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130727

Year of fee payment: 6

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R360 Written notification for declining of transfer of rights

Free format text: JAPANESE INTERMEDIATE CODE: R360

R370 Written measure of declining of transfer procedure

Free format text: JAPANESE INTERMEDIATE CODE: R370

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

EXPY Cancellation because of completion of term