従来のゲーム、特に、記録媒体に記録されるゲーム継続用データを用いることによって継続されるゲームでは、ゲーム継続用データに複製禁止属性を付加することで、プレイヤが、ある記録媒体から他の記録媒体に、ゲーム継続用データを直接的に複製できないようになっている。しかしながら、ゲームの実行中に、プレイヤがある記録媒体にゲーム継続用データを記録した後、プレイヤがこの記録媒体をゲーム装置から抜き取って他の記録媒体をゲーム装置に装着すると、プレイヤはゲーム継続用データを他の記録媒体にも記録することができてしまう。すなわち、複製禁止属性をゲーム継続用データに付加することにより、プレイヤはゲーム継続用データをある記録媒体から他の記録媒体に直接的に複製することはできないものの、プレイヤは、ゲーム装置を介することによって、同じ内容のゲーム継続用データを複数の記録媒体に記録することができる。一方で、ゲーム継続用データに複製禁止属性が付加されていても、プレイヤが複製禁止属性を無効にすることが可能なバックアップツール等を用いることによって、プレイヤがゲーム継続用データを複数の記録媒体に直接的に記録できてしまうことがある。このように、プレイヤがゲーム継続用データを複数の記録媒体に記録できてしまうと、プレイヤが一連の流れのあるゲームを継続するときに、プレイヤが同じ内容のゲーム継続用データを差し替えて使用することにより、プレイヤは、複数の記録媒体に記録された同じ内容のゲーム継続用データを起点として、ゲームの途中からゲームの流れを分岐して実行することができてしまう。このようにプレイヤがゲームの流れを分岐して実行することができてしまうと、一連の流れを楽しんでもらいたいというゲーム制作者の意図とは異なった方法で、プレイヤがゲームを実行してしまうおそれがある。
本発明の課題は、ゲーム継続用データを複数の記録媒体に記録することができないようにすることにある。
請求項1に係るゲームプログラムは、記録媒体に記録されるゲーム継続用データを用いることによって継続されるゲームを実現可能なコンピュータに、以下の機能を実現させるためのゲームプログラムである。
(1)乱数を発生させる乱数発生機能。
(2)ゲーム継続用データが記録媒体に記録されるときに、乱数のうちの少なくとも1つを第1識別番号として選択し、第1識別番号を媒体識別番号として記録媒体に記録する識別番号選択記録機能。
(3)前回のゲーム継続用データに基づいてゲームを実行するときに、記録媒体に記録された媒体識別番号を記録媒体から内部記憶部に読み込む識別番号読込機能。
(4)前回のゲーム継続用データに基づいてゲームを実行した後に、今回のゲーム継続用データを記録媒体に記録する選択が実行されたとき、記録媒体の媒体識別番号と内部記憶部に読み込まれた媒体識別番号とが一致しているか否かを判断する識別番号判断機能。
(5)識別番号判断機能により記録媒体の媒体識別番号と内部記憶部に読み込まれた媒体識別番号とが一致すると判断された場合に、今回のゲーム継続用データおよび媒体識別番号を記録媒体に記録する識別番号記録機能。
(6)識別番号判断機能により記録媒体の媒体識別番号と内部記憶部に読み込まれた媒体識別番号とが一致しないと判断された場合に、プレイヤに媒体識別番号の不一致を告知する識別番号不一致告知機能。
このプログラムによって実現されるゲームでは、乱数発生機能において、乱数が発生させられる。識別番号選択記録機能においては、ゲーム継続用データが記録媒体に記録されるときに、乱数のうちの少なくとも1つが第1識別番号として選択され、この第1識別番号が媒体識別番号として記録媒体に記録される。識別番号読込機能においては、前回のゲーム継続用データに基づいてゲームが実行されるときに、記録媒体に記録された媒体識別番号が記録媒体から内部記憶部に読み込まれる。識別番号判断機能においては、前回のゲーム継続用データに基づいてゲームが実行された後に、今回のゲーム継続用データを記録媒体に記録する選択が実行されたとき、記録媒体の媒体識別番号と内部記憶部に読み込まれた媒体識別番号とが一致しているか否かが判断される。識別番号記録機能においては、識別番号判断機能により記録媒体の媒体識別番号と内部記憶部に読み込まれた媒体識別番号とが一致すると判断された場合に、今回のゲーム継続用データおよび媒体識別番号が記録媒体に記録される。識別番号不一致告知機能においては、識別番号判断機能により記録媒体の媒体識別番号と内部記憶部に読み込まれた媒体識別番号とが一致しないと判断された場合に、プレイヤに媒体識別番号が不一致であることが告知される。
ここでは、前回のゲーム継続用データに基づいてゲームが実行された後に今回のゲーム継続用データを記録媒体に記録する選択が実行されたとき、記録媒体の媒体識別番号と内部記憶部に読み込まれた媒体識別番号とが一致しているか否かが判断される。そして、記録媒体の媒体識別番号と内部記憶部に読み込まれた媒体識別番号とが一致する場合、今回のゲーム継続用データおよび媒体識別番号が記録媒体に記録される。また、記録媒体の媒体識別番号と内部記憶部に読み込まれた媒体識別番号とが一致しない場合、プレイヤに媒体識別番号が不一致であることが告知される。これにより、プレイヤは、ゲーム装置を介したとしても、同じ内容のゲーム継続用データを、ある記録媒体から他の記録媒体に複製することができなくなる。すなわち、プレイヤがゲーム継続用データを複数の記録媒体に記録することができないようにすることができる。
請求項2に係るゲームプログラムでは、請求項1に記載のゲームプログラムにおいて、コンピュータに以下の機能をさらに実現させるためのゲームプログラムである。
(7)前回のゲーム継続用データに基づいてゲームを実行したか否かを判断するためのフラグを、内部記憶部に記録するフラグ記録機能。
このプログラムによって実現されるゲームでは、フラグ記録機能において、前回のゲーム継続用データに基づいてゲームを実行したか否かを判断するためのフラグが内部記憶部に記録される。そして、今回のゲーム継続用データが記録媒体に記録されるときに、前回のゲーム継続用データに基づいてゲームを実行したとフラグによって判断される場合には、識別番号判断機能により識別番号記録機能又は識別番号不一致告知機能が実行される。一方で、今回のゲーム継続用データが記録媒体に記録されるときに、前回のゲーム継続用データに基づいてゲームを実行しなかったとフラグによって判断される場合には、乱数発生機能により乱数を発生させ、乱数のうちの少なくとも1つを第1識別番号として選択し、第1識別番号を媒体識別番号として、媒体識別番号が記録媒体に記録される。
ここでは、前回のゲーム継続用データに基づいてゲームを実行したか否かを判断するためのフラグが内部記憶部に記録されるようになっている。これにより、今回のゲーム継続用データが記録媒体に記録されるとき、プレイヤが前回のゲーム継続用データに基づいてゲームを実行しなかったとフラグによって判断される場合には、プレイヤに媒体識別番号の不一致を告知することなく、媒体識別番号を記録媒体に記録することができる。
請求項3に係るゲームプログラムでは、請求項1又は2に記載のゲームプログラムにおいて、コンピュータに以下の機能をさらに実現させるためのゲームプログラムである。
(8)記録媒体に記録されるハード識別番号を第2識別番号として媒体識別番号に設定する第1識別番号設定機能。
このプログラムによって実現されるゲームでは、第1識別番号設定機能において、記録媒体に記録されるハード識別番号が第2識別番号として媒体識別番号に設定される。ここでは、媒体識別番号にはハード識別番号が第2識別番号として設定されている。これにより、プレイヤが複製禁止属性を無効にすることが可能なバックアップツール等によってゲーム継続用データを複数の記録媒体に直接的に記録したとしても、識別番号判断機能が記録媒体のハード識別番号と内部記憶部に読み込まれたハード識別番号とが一致しているか否かを判断した結果、記録媒体のハード識別番号と内部記憶部に読み込まれたハード識別番号とが不一致であれば、今回のゲーム継続用データを記録媒体に記録することができないようにすることができる。
請求項4に係るゲームプログラムでは、請求項1から3のいずれかに記載のゲームプログラムにおいて、コンピュータに以下の機能をさらに実現させるためのゲームプログラムである。
(9)ゲーム継続用データが記録媒体に記録されたときのタイムスタンプを記録媒体に記録するタイムスタンプ記録機能。
(10)タイムスタンプ記録機能により記録媒体に記録されたタイムスタンプを第3識別番号として媒体識別番号に設定する第2識別番号設定機能。
このプログラムによって実現されるゲームでは、タイムスタンプ記録機能において、ゲーム継続用データが記録媒体に記録されたときのタイムスタンプが、記録媒体に記録される。第2識別番号設定機能において、媒体識別番号には、タイムスタンプ記録機能により記録媒体に記録されたタイムスタンプが第3識別番号として設定される。ここでは、媒体識別番号にはタイムスタンプが第3識別番号として設定されている。これにより、プレイヤが複製禁止属性を無効にすることが可能なバックアップツール等によってゲーム継続用データを複数の記録媒体に直接的に記録したとしても、識別番号判断機能が記録媒体のタイムスタンプと内部記憶部に読み込まれたタイムスタンプとが一致しているか否かを判断した結果、記録媒体のタイムスタンプと内部記憶部に読み込まれたタイムスタンプとが不一致であれば、プレイヤが今回のゲーム継続用データを記録媒体に記録することができないようにすることができる。
請求項5に係るゲームプログラムでは、請求項1から4のいずれかに記載のゲームプログラムにおいて、記録媒体に記録された媒体識別番号に暗号化処理が施されている。この場合、記録媒体に記録された媒体識別番号には暗号化処理が施されているので、プレイヤが複製禁止属性を無効にすることが可能なバックアップツール等によって媒体識別番号を記録媒体から抽出できたとしても、プレイヤが識別番号を解析できないようにすることができる。
請求項6に係るゲームプログラムでは、請求項1から5のいずれかに記載のゲームプログラムにおいて、識別番号判断機能により記録媒体の媒体識別番号と内部記憶部に読み込まれた媒体識別番号とが一致すると判断された場合に、乱数発生機能により乱数が発生させられ、乱数のうちの少なくとも1つが新規の第1識別番号として選択される。そして、新規の第1識別番号が、新規の媒体識別番号として記録媒体に記録される。また、この場合、今回のゲーム継続用データが、記録媒体に記録される。この機能は、識別番号記録機能において実現される。
請求項7に係るゲーム装置は、記録媒体に記録されるゲーム継続用データを用いることによってゲームを継続するゲーム装置であって、乱数発生手段と、識別番号選択記録手段と、識別番号読込手段と、識別番号判断手段と、識別番号記録手段と、識別番号不一致告知手段とを備えている。乱数発生手段は、乱数を発生させる。識別番号選択記録手段は、ゲーム継続用データが記録媒体に記録されるときに、乱数のうちの少なくとも1つを第1識別番号として選択し、第1識別番号を媒体識別番号として記録媒体に記録する。識別番号読込手段は、前回のゲーム継続用データに基づいてゲームを実行するときに、記録媒体に記録された媒体識別番号を記録媒体から内部記憶部に読み込む。識別番号判断手段は、前回のゲーム継続用データに基づいてゲームを実行した後に、今回のゲーム継続用データを記録媒体に記録する選択が実行されたとき、記録媒体の媒体識別番号と内部記憶部に読み込まれた媒体識別番号とが一致しているか否かを判断する。識別番号記録手段は、識別番号判断手段により記録媒体の媒体識別番号と内部記憶部に読み込まれた媒体識別番号とが一致すると判断された場合に、今回のゲーム継続用データおよび媒体識別番号を記録媒体に記録する。識別番号不一致告知手段は、識別番号判断手段により記録媒体の媒体識別番号と内部記憶部に読み込まれた媒体識別番号とが一致しないと判断された場合に、プレイヤに媒体識別番号の不一致を告知する。
請求項8に係るゲーム制御方法は、記録媒体に記録されるゲーム継続用データを用いることによって継続されるゲームをコンピュータにより制御可能なゲーム制御方法であって、乱数発生ステップと、識別番号選択記録ステップと、識別番号読込ステップと、識別番号判断ステップと、識別番号記録ステップと、識別番号不一致告知ステップとを備えている。乱数発生ステップは、乱数を発生させる。識別番号選択記録ステップは、ゲーム継続用データが記録媒体に記録されるときに、乱数のうちの少なくとも1つを第1識別番号として選択し、第1識別番号を媒体識別番号として記録媒体に記録する。識別番号読込ステップは、前回のゲーム継続用データに基づいてゲームを実行するときに、記録媒体に記録された媒体識別番号を記録媒体から内部記憶部に読み込む。識別番号判断ステップは、前回のゲーム継続用データに基づいてゲームを実行した後に、今回のゲーム継続用データを記録媒体に記録する選択が実行されたとき、記録媒体の媒体識別番号と内部記憶部に読み込まれた媒体識別番号とが一致しているか否かを判断する。識別番号記録ステップは、識別番号判断ステップにより記録媒体の媒体識別番号と内部記憶部に読み込まれた媒体識別番号とが一致すると判断された場合に、今回のゲーム継続用データおよび媒体識別番号を記録媒体に記録する。識別番号不一致告知ステップは、識別番号判断ステップにより記録媒体の媒体識別番号と内部記憶部に読み込まれた媒体識別番号とが一致しないと判断された場合に、プレイヤに媒体識別番号の不一致を告知する。
本発明では、前回のゲーム継続用データに基づいてゲームが実行された後に今回のゲーム継続用データを記録媒体に記録する選択が実行されたとき、記録媒体の媒体識別番号と内部記憶部に読み込まれた媒体識別番号とが一致しているか否かが判断される。そして、記録媒体の媒体識別番号と内部記憶部に読み込まれた媒体識別番号とが一致する場合、今回のゲーム継続用データおよび媒体識別番号が記録媒体に記録される。また、記録媒体の媒体識別番号と内部記憶部に読み込まれた媒体識別番号とが一致しない場合、プレイヤに媒体識別番号が不一致であることが告知される。これにより、プレイヤは、同じ内容のゲーム継続用データを、ある記録媒体から他の記録媒体に複製することができなくなる。すなわち、プレイヤがゲーム継続用データを複数の記録媒体に記録することができないようにすることができる。
〔ゲーム装置の構成と動作〕
図1は、本発明の一実施形態によるゲーム装置の基本構成を示している。ここでは、ビデオゲーム装置の一例として、家庭用ビデオゲーム装置をとりあげて説明を行うこととする。家庭用ビデオゲーム装置は、家庭用ゲーム機本体および家庭用テレビジョンを備える。家庭用ゲーム機本体には、記録媒体10が装填可能となっており、記録媒体10からゲームデータが適宜読み出されてゲームが実行される。このようにして実行されるゲーム内容が家庭用テレビジョンに表示される。
家庭用ビデオゲーム装置のゲームシステムは、制御部1と、記憶部2と、画像表示部3と、音声出力部4と、操作入力部5とからなっており、それぞれがバス6を介して接続される。このバス6は、アドレスバス、データバス、およびコントロールバスなどを含んでいる。ここで、制御部1、記憶部2、音声出力部4および操作入力部5は、家庭用ビデオゲーム装置の家庭用ゲーム機本体に含まれており、画像表示部3は家庭用テレビジョンに含まれている。
制御部1は、主に、ゲームプログラムに基づいてゲーム全体の進行を制御するために設けられている。制御部1は、たとえば、CPU(Central Processing Unit)7と、信号処理プロセッサ8と、画像処理プロセッサ9とから構成されている。CPU7と信号処理プロセッサ8と画像処理プロセッサ9とは、それぞれがバス6を介して互いに接続されている。CPU7は、ゲームプログラムからの命令を解釈し、各種のデータ処理や制御を行う。たとえば、CPU7は、信号処理プロセッサ8に対して、画像データを画像処理プロセッサに供給するように命令する。信号処理プロセッサ8は、主に、3次元空間上における計算と、3次元空間上から擬似3次元空間上への位置変換計算と、光源計算処理と、画像および音声データの生成加工処理とを行っている。画像処理プロセッサ9は、主に、信号処理プロセッサ8の計算結果および処理結果に基づいて、描画すべき画像データをRAM12に書き込む処理を行っている。
記憶部2は、主に、プログラムデータや、プログラムデータで使用される各種データなどを格納しておくために設けられている。記憶部2は、たとえば、記録媒体10と、インターフェース回路11と、RAM(Random Access Memory)12とから構成されている。記録媒体10には、インターフェース回路11が接続されている。そして、インターフェース回路11とRAM12とはバス6を介して接続されている。記録媒体10は、オペレーションシステムのプログラムデータや、画像データ、音声データ並びに各種プログラムデータからなるゲームデータなどを記録するためのものである。この記録媒体10は、たとえば、フレキシブルディスク、半導体メモリ、CD−ROM、DVD、MO、ROM(Read Only Memory)カセットなどであり、オペレーティングシステムのプログラムデータやゲームデータなどが記憶される。なお、記録媒体10にはカード型メモリ10aが含まれており、このカード型メモリ10aは、主に、ゲームを中断するときに中断時点での各種ゲームパラメータやゲーム継続用データを保存するために用いられる。RAM12は、記録媒体10から読み出された各種データの一部若しくは全部を一時的に格納したり、制御部1からの処理結果を一時的に記録したりするために用いられる。このRAM12は、ゲーム装置の内部に装着され、内部記憶部として機能する。RAM12には、各種データとともに、各種データの記憶位置を示すアドレスデータが格納されており、任意のアドレスを指定して読み書きすることが可能になっている。
画像表示部3は、主に、画像処理プロセッサ9によってRAM12に書き込まれた画像データや、記録媒体10から読み出される画像データなどを画像として出力するために設けられている。この画像表示部3は、たとえば、テレビジョンモニタ20と、インターフェース回路21と、D/Aコンバータ(Digital-To-Analogコンバータ)22とから構成されている。テレビジョンモニタ20にはD/Aコンバータ22が接続されており、D/Aコンバータ22にはインターフェース回路21が接続されている。このインターフェース回路21がバス6に接続されている。ここでは、画像データが、インターフェース回路21を介してD/Aコンバータ22に供給され、ここでアナログ画像信号に変換される。そして、アナログ画像信号がテレビジョンモニタ20に画像として出力される。
ここで、画像データには、たとえば、ポリゴンデータやテクスチャデータなどがある。ポリゴンデータはポリゴンを構成する頂点の座標データのことである。テクスチャデータは、ポリゴンにテクスチャを設定するためのものであり、テクスチャ指示データとテクスチャカラーデータとからなっている。テクスチャ指示データはポリゴンとテクスチャとを対応づけるためのデータであり、テクスチャカラーデータはテクスチャの色を指定するためのデータである。ここで、ポリゴンデータとテクスチャデータとには、各データの記憶位置を示すポリゴンアドレスデータとテクスチャアドレスデータとが含まれている。このような画像データでは、信号処理プロセッサ8により、ポリゴンアドレスデータの示す3次元空間上のポリゴンデータ(3次元ポリゴンデータ)が、画面自体(視点)の移動量データおよび回転量データに基づいて座標変換および透視投影変換されて、2次元空間上のポリゴンデータ(2次元ポリゴンデータ)に置換される。そして、複数の2次元ポリゴンデータでポリゴン外形を構成して、ポリゴンの内部領域にテクスチャアドレスデータが示すテクスチャデータを書き込む。このようにして、各ポリゴンにテクスチャが貼り付けられた物体つまり各種キャラクタを表現することができる。
音声出力部4は、主に、記録媒体10から読み出される音声データを音声として出力するために設けられている。音声出力部4は、たとえば、スピーカー13と、増幅回路14と、D/Aコンバータ15と、インターフェース回路16とから構成されている。スピーカー13には増幅回路14が接続されており、増幅回路14にはD/Aコンバータ15が接続されており、D/Aコンバータ15にはインターフェース回路16が接続されている。このインターフェース回路16がバス6に接続されている。ここでは、音声データが、インターフェース回路16を介してD/Aコンバータ15に供給され、ここでアナログ音声信号に変換される。このアナログ音声信号が増幅回路14によって増幅され、スピーカー13から音声として出力される。音声データには、たとえば、ADPCM(Adaptive Differential Pulse Code Modulation)データやPCM(Pulse Code Modulation)データなどがある。ADPCMデータの場合、上述と同様の処理方法で音声をスピーカー13から出力することができる。PCMデータの場合、RAM12においてPCMデータをADPCMデータに変換しておくことで、上述と同様の処理方法で音声をスピーカー13から出力することができる。
操作入力部5は、主に、コントローラ17と、操作情報インターフェース回路18と、インターフェース回路19とから構成されている。コントローラ17には、操作情報インターフェース回路18が接続されており、操作情報インターフェース回路18にはインターフェース回路19が接続されている。このインターフェース回路19がバス6に接続されている。
コントローラ17は、プレイヤが種々の操作命令を入力するために使用する操作装置であり、プレイヤの操作に応じた操作信号をCPU7に送出する。コントローラ17には、第1ボタン17a、第2ボタン17b、第3ボタン17c、第4ボタン17d、上方向キー17U、下方向キー17D、左方向キー17L、右方向キー17R、L1ボタン17L1、L2ボタン17L2、R1ボタン17R1、R2ボタン17R2、スタートボタン17e、セレクトボタン17f、左スティック17SL及び右スティック17SRが設けられている。
上方向キー17U、下方向キー17D、左方向キー17L及び右方向キー17Rは、例えば、キャラクタやカーソルをテレビジョンモニタ20の画面上で上下左右に移動させるコマンドをCPU7に与えるために使用される。
スタートボタン17eは、記録媒体10からゲームプログラムをロードするようにCPU7に指示するときなどに使用される。
セレクトボタン17fは、記録媒体10からロードされたゲームプログラムに対して、各種選択をCPU7に指示するときなどに使用される。
左スティック17SL及び右スティック17SRは、いわゆるジョイスティックとほぼ同一構成のスティック型コントローラである。このスティック型コントローラは、直立したスティックを有している。このスティックは、支点を中心として直立位置から前後左右を含む360°方向に亘って、傾倒可能な構成になっている。左スティック17SL及び右スティック17SRは、スティックの傾倒方向及び傾倒角度に応じて、直立位置を原点とするx座標及びy座標の値を、操作信号として操作情報インターフェース回路18とインターフェース回路19とを介してCPU7に送出する。
第1ボタン17a、第2ボタン17b、第3ボタン17c、第4ボタン17d、L1ボタン17L1、L2ボタン17L2、R1ボタン17R1及びR2ボタン17R2には、記録媒体10からロードされるゲームプログラムに応じて種々の機能が割り振られている。
なお、左スティック17SL及び右スティック17SRを除くコントローラ17の各ボタン及び各キーは、外部からの押圧力によって中立位置から押圧されるとオンになり、押圧力が解除されると中立位置に復帰してオフになるオンオフスイッチになっている。
以上のような構成からなる家庭用ビデオゲーム装置の概略動作を、以下に説明する。電源スイッチ(図示省略)がオンにされゲームシステム1に電源が投入されると、CPU7が、記録媒体10に記憶されているオペレーティングシステムに基づいて、記録媒体10から画像データ、音声データ、およびプログラムデータを読み出す。読み出された画像データ、音声データ、およびプログラムデータの一部若しくは全部は、RAM12に格納される。そして、CPU7が、RAM12に格納されたプログラムデータに基づいて、RAM12に格納された画像データや音声データにコマンドを発行する。
画像データの場合、CPU7からのコマンドに基づいて、まず、信号処理プロセッサ8が、3次元空間上におけるキャラクタの位置計算および光源計算などを行う。次に、画像処理プロセッサ9が、信号処理プロセッサ8の計算結果に基づいて、描画すべき画像データのRAM12への書き込み処理などを行う。そして、RAM12に書き込まれた画像データが、インターフェース回路21を介してD/Aコンバータ22に供給される。ここで、画像データがD/Aコンバータ22でアナログ映像信号に変換される。そして、画像データはテレビジョンモニタ20に供給され画像として表示される。
音声データの場合、まず、信号処理プロセッサ8が、CPU7からのコマンドに基づいて音声データの生成および加工処理を行う。ここでは、音声データに対して、たとえば、ピッチの変換、ノイズの付加、エンベロープの設定、レベルの設定及びリバーブの付加などの処理が施される。次に、音声データは、信号処理プロセッサ8から出力されて、インターフェース回路16を介してD/Aコンバータ15に供給される。ここで、音声データがアナログ音声信号に変換される。そして、音声データは増幅回路14を介してスピーカー13から音声として出力される。
〔ゲーム装置における各種手段〕
図2は、主に、図1に示した制御部1により制御される手段を説明するための機能ブロック図である。この機能ブロック図を用いて、本発明で主要な役割を果たす各種手段の説明を行う。
本ゲーム装置は、記録媒体10に記録されるゲーム継続用データ60を用いることによってゲームを継続するゲーム装置であって、乱数発生手段50と、識別番号選択記録手段51と、識別番号読込手段52と、識別番号判断手段53と、識別番号記録手段54と、識別番号不一致告知手段55と、フラグ記録手段56と、第1識別番号設定手段57と、タイムスタンプ記録手段58と、第2識別番号設定手段59とを有している。
乱数発生手段50は、乱数を発生させる機能を実現する手段である。乱数発生手段50では、制御部1によって乱数生成プログラムが実行されて、乱数生成プログラムによって乱数が生成される。ここで用いられる乱数は、たとえば疑似乱数であり、一様乱数、正規分布乱数、指数分布乱数、ポアソン分布乱数、および二項分布乱数等である。これらの乱数は、乱数生成プログラムにおいて採用された乱数生成アルゴリズムたとえば合同法等に基づいて生成される。
識別番号選択記録手段51は、ゲーム継続用データ60が記録媒体10に記録されるときに、乱数のうちの少なくとも1つを第1識別番号71として選択し、この第1識別番号71を媒体識別番号70として記録媒体10に記録する機能を実現する手段である。識別番号選択記録手段51では、ゲーム継続用データ60が制御部1によってRAM12から読み出し処理されて記録媒体10に記録されるときに、制御部1によって、乱数発生手段50により生成された乱数のうちの少なくとも1つが第1識別番号71として選択される。この第1識別番号71が、制御部1によって、RAM12から読み出し処理されて、媒体識別番号70として記録媒体10に記録される。
識別番号読込手段52は、前回のゲーム継続用データ60に基づいてゲームを実行するときに、記録媒体10に記録された媒体識別番号70を記録媒体10からRAM12に読み込む機能を実現する手段である。識別番号読込手段52では、前回のゲーム継続用データ60に基づいて制御部1によってゲームが制御され実行されるときに、制御部1によって、記録媒体10に記録された媒体識別番号70が記録媒体10から読み出し処理されて、RAM12に読み込み処理される。
識別番号判断手段53は、前回のゲーム継続用データ60に基づいてゲームを実行した後に、今回のゲーム継続用データ60が記録媒体10に記録されるとき、記録媒体10の媒体識別番号70とRAM12に読み込まれた媒体識別番号70とが一致しているか否かを判断する機能を実現する手段である。識別番号判断手段53では、前回のゲーム継続用データ60に基づいて制御部1によってゲームが制御され実行された後に、今回のゲーム継続用データ60が制御部1からの命令によって記録媒体10に記録されるとき、記録媒体10の媒体識別番号70とRAM12に読み込まれた媒体識別番号70とが一致しているか否かが制御部1によって判断される。
識別番号記録手段54は、識別番号判断手段53により記録媒体10の媒体識別番号70とRAM12に読み込まれた媒体識別番号70とが一致すると判断された場合に、媒体識別番号70を記録媒体10に記録する機能を実現する手段である。識別番号記録手段54では、識別番号判断手段53において記録媒体10の媒体識別番号70とRAM12に読み込まれた媒体識別番号70とが一致すると判断された場合に、制御部1からの命令によって媒体識別番号70がRAM12から読み出し処理され記録媒体10に記録される。
識別番号不一致告知手段55は、識別番号判断手段53により記録媒体10の媒体識別番号70とRAM12に読み込まれた媒体識別番号70とが一致しないと判断された場合に、プレイヤに媒体識別番号70の不一致を告知する機能を実現する手段である。識別番号不一致告知手段55では、識別番号判断手段53により記録媒体10の媒体識別番号70とRAM12に読み込まれた媒体識別番号70とが一致しないと判断された場合に、媒体識別番号70が不一致であるということが、制御部1からの命令によって画像表示部3や音声出力部4からプレイヤに告知される。
フラグ記録手段56は、前回のゲーム継続用データ60に基づいてゲームを実行したか否かを判断するためのフラグ66をRAM12に記録する機能を実現する手段である。フラグ記録手段56では、前回のゲーム継続用データ60に基づいてゲームが実行されたか否かを制御部1が判断するためのフラグ66が、制御部1によってRAM12に記録される。
第1識別番号設定手段57は、記録媒体10に記録されるハード識別番号72aを第2識別番号72として媒体識別番号70に設定する機能を実現する手段である。第1識別番号設定手段57では、制御部1によって、記録媒体10に記録されるハード識別番号72aが読み取り処理されて、ハード識別番号72aが第2識別番号72として媒体識別番号70に設定される。
タイムスタンプ記録手段58は、ゲーム継続用データ60が記録媒体10に記録されたときのタイムスタンプ73aを記録媒体10に記録する機能を実現する手段である。タイムスタンプ記録手段58では、ゲーム継続用データ60が記録媒体10に記録されたときのタイムスタンプ73aが、制御部1によって記録媒体10に記録される。
第2識別番号設定手段59は、タイムスタンプ記録手段58により記録媒体10に記録されたタイムスタンプ73aを第3識別番号73として媒体識別番号70に設定する機能を実現する手段である。第2識別番号設定手段59では、タイムスタンプ記録手段58により記録媒体10に記録されたタイムスタンプ73aが、制御部1によって、第3識別番号73として媒体識別番号70に設定される。
〔記録媒体に記録される内部データの構成〕
本実施形態に関連する記録媒体10たとえばカード型メモリ10aの内部データの構成の概要を、図3に示す図を用いて説明する。
カード型メモリ10aに記録される内部データの構成は、カード型メモリ10a固有の情報が記録されるハード情報記録領域80と、各種データが記録されるデータ記録領域81と、オペレーティングシステムによって管理された各種データの管理情報が記録される管理情報記録領域82とからなっている。ハード情報記録領域80は、読み出し可能かつ書き込み禁止になっている。このハード情報記録領域80には、カード型メモリ10a固有のハード識別番号72a等が記録されている。データ記録領域81は、読み書き可能になっている。このデータ記録領域81には、ゲーム継続用データ60、第1識別番号71、およびゲーム継続用データ60のタイムスタンプ73a等が記録される。ゲーム継続用データ60には、ゲームを途中で中断したときのゲーム途中までの実行情報が記述されている。第1識別番号71には、乱数発生手段50により生成された乱数のうちの少なくとも1つが制御部1によって割り当てられる。ゲーム継続用データ60のタイムスタンプ73aは、ゲーム継続用データ60がカード型メモリ10aに記録されたときの日付や時間の情報等を有している。たとえば、ゲーム継続用データ60のタイムスタンプ73aの日付や時間の情報は、ゲーム継続用データ60がデータ記録領域81から読み出されたときには変更されず、ゲーム継続用データ60がデータ記録領域81に書き込まれたときに変更されるようになっている。管理情報記録領域82は、読み書き可能になっている。この管理情報記録領域82には、オペレーティングシステムによって管理されるファイル管理用のタイムスタンプ73bが記録される。ファイル管理用のタイムスタンプ73bは、ゲーム継続用データファイルがアクセスされた日付や時間の情報等を有している。たとえば、ファイル管理用のタイムスタンプ73bの日付や時間の情報は、ゲーム継続用データファイルがデータ記録領域81から読み出されたときや、ゲーム継続用データファイルがデータ記録領域81に記録されたときなどに変更される。
ここで、ハード識別番号72aは第2識別番号72に対応し、ゲーム継続用データ60のタイムスタンプ73aは第3識別番号73に対応する。第1から第3の識別番号71,72,73は、識別番号読込手段52と識別番号判断手段53と識別番号記録手段54と識別番号不一致告知手段55とにおいて、カード型メモリ10aの媒体識別番号70として使用される。
〔ゲームにおける各種機能の実行方法〕
本実施形態が有するゲームの各種機能の実行概要を、図4に示すフローチャートを用いて説明する。
カード型メモリ10aに記録されるゲーム継続用データ60を用いることによってゲームを継続するゲーム装置においては、記録媒体10たとえばDVD−ROMがゲーム装置にセットされて電源がオンされると、DVD−ROMに格納されたゲームプログラムがロードされ、起動画面がテレビジョンモニタ20に表示される。そして、テレビジョンモニタ20には、前回のゲーム継続用データ60を使用してゲームを継続するか否かを選択するための選択画面が表示される。この選択画面において、プレイヤは、コントローラ17を操作することにより、前回のゲーム継続用データ60を使用しないでゲームを実行するゲーム非継続モードと前回のゲーム継続用データ60を使用してゲームを継続するモードであるゲーム継続モードとを選択できるようになっている(S1)。
ゲーム非継続モードが選択された場合(S1でNo)、制御部1によって、フラグ66には「ゲーム非継続(ゲーム初回)」という情報が割り当てられ、このフラグ66はRAM12に記録される(S2)。このように「ゲーム非継続(ゲーム初回)」という情報がフラグ66に割り当てられた後に、初期設定画面がテレビジョンモニタ20に表示される。この初期設定画面において、プレイヤがコントローラ17を操作することによりゲームの各種設定入力を終了させると、ゲームが制御部1によって開始され実行される(S4)。次に、ゲーム終了命令がコントローラ17から制御部1に受け付けられると、ゲーム終了時の処理が制御部1によって実行される(S5)。このとき、ゲーム継続用データ60がRAM12に作成され、このゲーム継続用データ60をカード型メモリ10aに保存するか否かを選択するための保存ボタンおよび非保存ボタンがテレビジョンモニタ20に表示される(S6)。
コントローラ17により非保存ボタンが選択されると(S6でNo)、制御部1によって、ゲーム終了時の処理が実行された後にゲームが終了させられる。一方で、コントローラ17により保存ボタンが選択されると(S6でYes)、フラグ66の情報が制御部1によって参照される(S7)。ここではゲーム非継続モードが選択されているので、フラグ66の情報は「ゲーム非継続(ゲーム初回)」である。この場合(S7でNo)、ゲーム継続用データ60が、制御部1によって、カード型メモリ10aに記録される(S10)。このときに、乱数生成プログラムが制御部1からの命令によって実行され、乱数が生成される。ここで生成された乱数のうちの少なくとも1つが、制御部1によって、第1識別番号71として選択される。そして、選択された第1識別番号71が、制御部1によって、RAM12から読み出し処理されて媒体識別番号70としてカード型メモリ10aに記録される(S11)。また、カード型メモリ10aに記録されたハード識別番号72aが、制御部1によって、読み取り処理されて第2識別番号72として媒体識別番号70に設定される(S11)。さらに、ゲーム継続用データ60がカード型メモリ10aに記録されたときのタイムスタンプが、ゲーム継続用データ60のタイムスタンプ73aとして制御部1によりカード型メモリ10aに記録される。このゲーム継続用データ60のタイムスタンプ73aは、制御部1によって、第3識別番号73として媒体識別番号70に設定される(S11)。このように、媒体識別番号70は、第1から第3識別番号71,72,73により構成される。そして、制御部1によるゲーム継続用データ60および媒体識別番号70のカード型メモリ10aへの記録が終了すると、制御部1によってゲーム終了時の処理が処理された後にゲームが終了させられる。
ゲーム継続モードが選択された場合(S1でYes)、制御部1によって、フラグ66には「ゲーム継続」という情報が割り当てられ、このフラグ66はRAM12に記録される(S3)。このとき、前回のゲーム実行時にカード型メモリ10aに記録されたゲーム継続用データ60および媒体識別番号70が、制御部1によって、カード型メモリ10aから読み出し処理されて、RAM12に読み込み処理される(S3)。このように、ゲーム継続用データ60および媒体識別番号70が制御部1によって処理されると、ゲーム継続用の設定画面がテレビジョンモニタ20に表示される。このゲーム継続用の設定画面において、プレイヤがコントローラ17を操作することによりゲームの各種設定入力を終了させると、ゲームが制御部1によって開始され実行される(S4)。次に、ゲーム終了命令がコントローラ17から制御部1に受け付けられると、ゲーム終了時の処理が制御部1によって実行される(S5)。このとき、今回のゲーム継続用データ60がRAM12に作成され、このゲーム継続用データ60をカード型メモリ10aに保存するか否かを選択するための保存ボタンおよび非保存ボタンがテレビジョンモニタ20に表示される(S6)。
コントローラ17により非保存ボタンが選択されると(S6でNo)、制御部1によって、ゲーム終了時の処理が実行された後にゲームが終了させられる。一方で、コントローラ17により保存ボタンが選択されると(S6でYes)、フラグ66の情報が制御部1によって参照される。ここではゲーム継続モードが選択されているので、フラグ66の情報は「ゲーム継続」である。この場合(S7でYes)、カード型メモリ10a媒体識別番号70とRAM12の媒体識別番号70とが一致しているか否かが制御部1によって判断される(S8)。
ここで、カード型メモリ10aの媒体識別番号70とRAM12に読み込まれた媒体識別番号70とが一致しないと制御部1によって判断された場合(S8でNo)、媒体識別番号70がカード型メモリ10aとRAM12とで不一致であるということが、制御部1からの命令によって画像表示部3や音声出力部4においてプレイヤに告知される(S9)。ここでの告知方法としては、たとえばテレビジョンモニタ20に「カード型メモリの媒体識別番号が一致しませんでした。ゲーム開始時のカード型メモリに戻して下さい。」といった告知文が表示される。そして、再度、ゲーム継続用データ60をカード型メモリ10aに保存するか否かを選択するための保存ボタンおよび非保存ボタンがテレビジョンモニタ20に表示される(S6)。このように、制御部1によってカード型メモリ10aの媒体識別番号70とRAM12との媒体識別番号70が一致すると判断されるまで、S6からS9までの手順が繰り返される。
一方で、カード型メモリ10aの媒体識別番号70とRAM12との媒体識別番号70が一致すると制御部1によって判断された場合(S8でYes)、ゲーム継続用データ60が、制御部1によって、カード型メモリ10aに記録される(S10)。ここで、前回のゲーム継続用データ60がカード型メモリ10aに記録されているときには、今回のゲーム継続用データ60が前回のゲーム継続用データ60に上書きされる。ゲーム継続用データ60がカード型メモリ10aに記録されるとき、乱数生成プログラムが制御部1からの命令によって実行され、乱数が生成される。ここで生成された乱数のうちの少なくとも1つが、制御部1によって、第1識別番号71として選択される。そして、選択された第1識別番号71が、制御部1によって、RAM12から読み出し処理されて媒体識別番号70としてカード型メモリ10aに記録される(S11)。また、カード型メモリ10aに記録されたハード識別番号72aが、制御部1によって、読み取り処理されて第2識別番号72として媒体識別番号70に設定される(S11)。さらに、ゲーム継続用データ60がカード型メモリ10aに記録されたときのタイムスタンプが、ゲーム継続用データ60のタイムスタンプ73aとして制御部1によりカード型メモリ10aに記録される。このゲーム継続用データ60のタイムスタンプ73aは、制御部1によって、第3識別番号73として媒体識別番号70に設定される(S11)。このように、媒体識別番号70は、第1から第3識別番号71,72,73により構成される。そして、制御部1によるゲーム継続用データ60および媒体識別番号70のカード型メモリ10aへの記録が終了すると、制御部1によってゲーム終了時の処理が処理された後にゲームが終了させられる。
本実施形態では、前回のゲーム継続用データ60に基づいてゲームが実行された後に今回のゲーム継続用データ60がカード型メモリ10aに記録されるとき、カード型メモリ10aの媒体識別番号70とRAM12に読み込まれた媒体識別番号70とが一致しているか否かが判断される。そして、カード型メモリ10aの媒体識別番号70とRAM12に読み込まれた媒体識別番号70とが一致する場合、媒体識別番号70がカード型メモリ10aに記録される。また、カード型メモリ10aの媒体識別番号70とRAM12に読み込まれた媒体識別番号70とが一致しない場合、プレイヤに媒体識別番号70が不一致であることが告知される。これにより、プレイヤは、同じ内容のゲーム継続用データ60を、あるカード型メモリ10aから他のカード型メモリ10aに複製することができなくなる。すなわち、プレイヤがゲーム継続用データ60を複数のカード型メモリに記録することができないようにすることができる。
また、本実施形態では、前回のゲーム継続用データ60に基づいてゲームを実行したか否かを判断するためのフラグ66がRAM12に記録されるようになっている。これにより、今回のゲーム継続用データ60がカード型メモリ10aに記録されるとき、プレイヤが前回のゲーム継続用データ60に基づいてゲームを実行しなかったとフラグ66によって判断される場合には、プレイヤに媒体識別番号70の不一致を告知することなく、媒体識別番号70をカード型メモリ10aに記録することができる。
また、本実施形態では、媒体識別番号70にはハード識別番号72aからなる第2識別番号72が設定されている。これにより、プレイヤが複製禁止属性を無効にすることが可能なバックアップツール等によってゲーム継続用データ60を複数のカード型メモリに直接的に記録したとしても、識別番号判断手段53においてカード型メモリのハード識別番号72aとRAM12のハード識別番号72aとが一致しているか否かが判断された結果、カード型メモリのハード識別番号72aとRAM12のハード識別番号72aとが不一致であれば、プレイヤが今回のゲーム継続用データ60をカード型メモリ10aに記録することができないようにすることができる。
また、本実施形態では、媒体識別番号70にはゲーム継続用データ60のタイムスタンプ73aからなる第3識別番号73が設定されている。この状態で、プレイヤが複製禁止属性を無効にすることが可能なバックアップツール等によって、ゲーム継続用データ60をあるカード型メモリ10aから他のカード型メモリに直接的に記録すると、あるカード型メモリ10aのタイムスタンプ73aと他のカード型メモリのタイムスタンプとは異なったものになる。これにより、プレイヤがあるカード型メモリ10aから他のカード型メモリに差し替えてゲーム継続用データ60を保存しようとしたときに、識別番号判断手段53においてカード型メモリのタイムスタンプとRAM12に読み込まれたタイムスタンプとが一致しているか否かが判断された結果、カード型メモリのタイムスタンプとRAM12に読み込まれたタイムスタンプ73aとが不一致であれば、プレイヤが今回のゲーム継続用データ60をカード型メモリ10aに記録することができないようにすることができる。
さらに、本実施形態では、カード型メモリ10aに記録された媒体識別番号70に暗号化処理が施されているので、プレイヤが複製禁止属性を無効にすることが可能なバックアップツール等によって媒体識別番号70をカード型メモリ10aから抽出したとしても、プレイヤが媒体識別番号70を解析できないようにすることができる。
〔他の実施形態〕
(a) 前記実施形態では、家庭用ゲーム装置を用いた場合の例を示したが、ゲーム装置は、前記実施形態に限定されず、モニタが一体に構成された業務用ゲーム装置、ゲームプログラムを実行することによってゲーム装置として機能するパーソナルコンピュータやワークステーションなどにも同様に適用することができる。
(b) 本発明には、前述した方法を実行するプログラムおよびこのプログラムを記録したコンピュータ読み取り可能な記録媒体10も含まれる。この記録媒体10としては、たとえば、コンピュータ読み取り可能なフレキシブルディスク、半導体メモリ、CD−ROM、DVD、MO、ROMカセット、その他のものが挙げられる。
(c) 前記実施形態では、第1から第3識別番号71,72,73が媒体識別番号70として使用される場合の例を示したが、媒体識別番号70として使用される識別番号の組合せは、前記実施形態に限定されず、どのようにしても良い。たとえば、第1識別番号71だけが媒体識別番号70として使用されても良い。また、第1および第2識別番号71,72が媒体識別番号70として使用されても良い。さらに、第1および第3識別番号71,73が媒体識別番号70として使用されても良い。