(57)【要約】【課題】簡単な構成でゲームデータの不正な改変を困難化することが可能なゲーム装置等を提供すること。【解決手段】ゲーム装置は、セーブを行う度に、ゲームデータを構成する複数の個別データそれぞれの保存用データ内の配置位置を決定し、決定した配置位置に従って複数の個別データを配置し、保存用データの所定位置に、最初に展開すべき個別データの配置位置を特定するためのアドレス情報を配置し、個別データに、次に展開すべき個別データの配置位置を特定するためのアドレス情報を配置して、保存用データを生成し、生成した保存用データを外部メモリにセーブし、ロードを行う際に、外部メモリにセーブされた保存用データをロードし、ロードした保存用データに含まれるアドレス情報に基づいて複数の個別データを展開してゲームデータに復元する。【選択図】図３
2019118768.tif 000002
【特許請求の範囲】
【請求項１】
ゲームデータを用いてゲームを実行するゲーム実行部と、
前記ゲームデータをデータ処理して保存用データを生成し、生成した保存用データを外部メモリにセーブするセーブ処理部と、
前記外部メモリにセーブされた保存用データをロードし、ロードした保存用データを前記ゲームデータに復元するロード処理部としてコンピュータを機能させ、
前記ゲームデータは、複数の個別データによって構成されており、
前記セーブ処理部は、
セーブを行う度に、前記複数の個別データそれぞれの前記保存用データ内の配置位置を決定し、決定した配置位置に従って前記複数の個別データを配置し、前記保存用データの所定位置に、最初に展開すべき個別データの配置位置を特定するためのアドレス情報を配置し、前記個別データに、次に展開すべき個別データの配置位置を特定するためのアドレス情報を配置して、前記保存用データを生成し、
前記ロード処理部は、
前記保存用データに含まれる前記アドレス情報に基づいて前記複数の個別データを展開して前記ゲームデータに復元することを特徴とするプログラム。
【請求項２】
請求項１において、
前記セーブ処理部は、
前記複数の個別データそれぞれの前記保存用データ内の配置位置をランダムに決定することを特徴とするプログラム。
【請求項３】
請求項１又は２において、
前記保存用データは、最初に展開すべき個別データの配置位置を特定するためのアドレス情報に隣接する位置にダミーのアドレス情報を含むことを特徴とするプログラム。
【請求項４】
請求項１乃至３のいずれか１項において、
前記保存用データは、ダミーの個別データを含むことを特徴とするプログラム。
【請求項５】
請求項４において、
前記ロード処理部は、
前記ダミーの個別データが書き換えられたことを検出した場合に、前記ゲームの進行を不能にすることを特徴とするプログラム。
【請求項６】
請求項１乃至５のいずれか１項において、
前記セーブ処理部は、
セーブを行う際に、前記複数の個別データそれぞれを暗号化することを特徴とするプログラム。
【請求項７】
ゲームデータを用いてゲームを実行するゲーム実行部と、
前記ゲームデータをデータ処理して保存用データを生成し、生成した保存用データを外部メモリにセーブするセーブ処理部と、
前記外部メモリにセーブされた保存用データをロードし、ロードした保存用データを前記ゲームデータに復元するロード処理部とを含み、
前記ゲームデータは、複数の個別データによって構成されており、
前記セーブ処理部は、
セーブを行う度に、前記複数の個別データそれぞれの前記保存用データ内の配置位置を決定し、決定した配置位置に従って前記複数の個別データを配置し、前記保存用データの所定位置に、最初に展開すべき個別データの配置位置を特定するためのアドレス情報を配
置し、前記個別データに、次に展開すべき個別データの配置位置を特定するためのアドレス情報を配置して、前記保存用データを生成し、
前記ロード処理部は、
前記保存用データに含まれる前記アドレス情報に基づいて前記複数の個別データを展開して前記ゲームデータに復元することを特徴とするゲーム装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プログラム及びゲーム装置に関する。
【背景技術】
【０００２】
昨今、ゲームデータ（セーブデータ）を改造するためのツールが市販されており、ゲームデータを不正に改変する行為（チート行為）が容易に行われる状態となっている。従来のチート行為対策として、アドレス変換テーブルを使うことで、外部メモリに記憶される各データの位置を容易に把握されないようにする手法が知られている（特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００９−１１０４７６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
上記のチート行為対策手法では、アドレス変換テーブルを提供するサーバを用意する必要があり、構成が複雑化するといった問題があった。
【０００５】
本発明は、以上のような課題に鑑みてなされたものであり、その目的とするところは、簡単な構成でゲームデータの不正な改変を困難化することが可能なプログラム及びゲーム装置を提供することにある。
【課題を解決するための手段】
【０００６】
（１）本発明は、ゲームデータを用いてゲームを実行するゲーム実行部と、前記ゲームデータをデータ処理して保存用データを生成し、生成した保存用データを外部メモリにセーブするセーブ処理部と、前記外部メモリにセーブされた保存用データをロードし、ロードした保存用データを前記ゲームデータに復元するロード処理部としてコンピュータを機能させ、前記ゲームデータは、複数の個別データによって構成されており、前記セーブ処理部は、セーブを行う度に、前記複数の個別データそれぞれの前記保存用データ内の配置位置を決定し、決定した配置位置に従って前記複数の個別データを配置し、前記保存用データの所定位置に、最初に展開すべき個別データの配置位置を特定するためのアドレス情報を配置し、前記個別データに、次に展開すべき個別データの配置位置を特定するためのアドレス情報を配置して、前記保存用データを生成し、前記ロード処理部は、前記保存用データに含まれる前記アドレス情報に基づいて前記複数の個別データを展開して前記ゲームデータに復元することを特徴とするプログラムに関する。また本発明は、コンピュータ読み取り可能な情報記憶媒体であって、上記各部としてコンピュータを機能させるためのプログラムを記憶した情報記憶媒体に関する。また本発明は、上記各部を含むゲーム装置に関する。
【０００７】
本発明によれば、セーブを行う度に、ゲームデータを構成する複数の個別データの配置位置を変化させるとともに、各個別データの配置位置を特定するためのアドレス情報を配置して、保存用データを生成し、生成した保存用データを外部メモリにセーブすることで、簡単な構成でゲームデータの不正な改変を困難化することができる。
【０００８】
（２）また本発明に係るプログラム、情報記憶媒体及びゲーム装置では、前記セーブ処理部は、前記複数の個別データそれぞれの前記保存用データ内の配置位置をランダムに決
定してもよい。
【０００９】
本発明によれば、セーブを行う度に、ゲームデータを構成する複数の個別データの配置位置をランダムに決定することで、簡単な構成でゲームデータの不正な改変を困難化することができる。
【００１０】
（３）また本発明に係るプログラム、情報記憶媒体及びゲーム装置では、前記保存用データは、最初に展開すべき個別データの配置位置を特定するためのアドレス情報に隣接する位置にダミーのアドレス情報を含んでもよい。
【００１１】
本発明によれば、保存用データにダミーのアドレス情報を追加することで、ゲームデータの不正な改変をより困難にすることができる。
【００１２】
（４）また本発明に係るプログラム、情報記憶媒体及びゲーム装置では、前記保存用データは、ダミーの個別データを含んでもよい。
【００１３】
本発明によれば、保存用データにダミーの個別データを追加することで、ゲームデータの不正な改変をより困難にすることができる。
【００１４】
（５）また本発明に係るプログラム、情報記憶媒体及びゲーム装置では、前記ロード処理部は、前記ダミーの個別データが書き換えられたことを検出した場合に、前記ゲームの進行を不能にしてもよい。
【００１５】
本発明によれば、ゲームデータの改変行為を容易に検出して、改変データを用いたゲームの実行を禁止することができる。
【００１６】
（６）また本発明に係るプログラム、情報記憶媒体及びゲーム装置では、前記セーブ処理部は、セーブを行う際に、前記複数の個別データそれぞれを暗号化してもよい。
【００１７】
本発明によれば、複数の個別データそれぞれを暗号化することで、ゲームデータの不正な改変をより困難にすることができる。
【図面の簡単な説明】
【００１８】
【図１】本実施形態のゲーム装置の機能ブロック図の一例を示す図。
【図２】ゲームデータの一例を模式的に示す図。
【図３】保存用データの一例を模式的に示す図。
【図４】１〜３回目のセーブ時に生成される保存用データの一例を示す図。
【図５】ダミーのアドレス情報が追加された保存用データの一例を示す図。
【図６】ダミーの個別データが追加された保存用データの一例を示す図。
【図７】個別データの暗号化について説明するための図。
【図８】セーブ処理部の処理の流れを示すフローチャート。
【図９】ロード処理部の処理の流れを示すフローチャート。
【発明を実施するための形態】
【００１９】
以下、本実施形態について説明する。なお、以下に説明する本実施形態は、特許請求の範囲に記載された本発明の内容を不当に限定するものではない。また本実施形態で説明される構成の全てが、本発明の必要構成要件であるとは限らない。
【００２０】
１．構成
図１に、本実施形態のゲーム装置の機能ブロック図の一例を示す。なお本実施形態のゲ
ーム装置は図１の構成要素（各部）の一部を省略した構成としてもよい。
【００２１】
入力部１５０は、プレーヤからの入力情報を入力（検出）するための機器であり、プレーヤの入力情報（操作入力）を処理部１００に出力する。入力部１５０の機能は、タッチパネル、タッチパッド、マウス、方向キーやボタン、キーボード等の入力機器により実現することができる。
【００２２】
記憶部１７０は、処理部１００の各部としてコンピュータを機能させるためのプログラムや各種データを記憶するとともに、処理部１００のワーク領域として機能する。記憶部１７０は、メインメモリ１７２（ＲＡＭ）と外部メモリ１７４（メモリカード、ハードディスクなどの不揮発性記憶媒体）を含む。
【００２３】
表示部１９０は、処理部１００で生成されたゲーム画像を出力するものであり、その機能は、入力部１５０としても機能するタッチパネル、ＬＣＤ或いはＨＭＤ（ヘッドマウントディスプレイ）などのディスプレイにより実現できる。
【００２４】
音出力部１９２は、処理部１００で生成された音を出力するものであり、その機能は、スピーカ、或いはヘッドフォンなどにより実現できる。
【００２５】
通信部１９６はサーバや他のゲーム装置との間で通信を行うための各種制御を行うものであり、その機能は、各種プロセッサ又は通信用ＡＳＩＣなどのハードウェアや、プログラムなどにより実現できる。
【００２６】
なお、サーバが有する情報記憶媒体や記憶部に記憶されている処理部１００の各部としてコンピュータを機能させるためのプログラムや各種データを、ネットワークを介して受信し、受信したプログラムやデータを記憶部１７０に記憶してもよい。このようにプログラムや各種データを受信して端末を機能させる場合も本発明の範囲内に含む。
【００２７】
処理部１００（プロセッサ）は、入力部１５０からの入力情報（操作入力）、プログラム、通信部１９６を介して受信したデータなどに基づいて、ゲーム処理、画像生成処理、音生成処理、などの処理を行う。処理部１００の機能は各種プロセッサ（ＣＰＵ、ＤＳＰ等）、ＡＳＩＣ（ゲートアレイ等）などのハードウェアや、プログラムにより実現できる。処理部１００は、ゲーム実行部１１０、セーブ処理部１１２、ロード処理部１１４、画像生成部１２０、音生成部１３０を含む。
【００２８】
ゲーム実行部１１０は、入力部１５０からの入力情報やプログラムに基づいて、ゲームデータを用いてゲームを実行する処理を行う。ゲームデータは、複数の個別データによって構成され、各個別データは、例えばプレーヤが保有するキャラクタ（プレーヤのパーティを構成するキャラクタ）、アイテム、ゲーム内通貨に関する情報や、ゲームシナリオに関する情報等を格納する。
【００２９】
セーブ処理部１１２は、ゲームデータをデータ処理して保存用データを生成し、生成した保存用データを外部メモリ１７４にセーブする。セーブ処理部１１２は、セーブを行う度に、複数の個別データそれぞれの保存用データ内の配置位置（保存用データにおける配列順）をランダムに決定し、決定した配置位置に従って複数の個別データを配置（配列）し、更に、保存用データの所定位置に、最初に展開すべき個別データの配置位置を特定するためのアドレス情報を配置し、各個別データの先頭位置に、次に展開すべき個別データの配置位置を特定するためのアドレス情報を配置することで、保存用データを生成する。セーブ処理部１１２は、保存用データの、最初に展開すべき個別データの配置位置を特定するためのアドレス情報に隣接する位置に、ダミーのアドレス情報を追加してもよい。ま
た、セーブ処理部１１２は、保存用データにダミーの個別データを追加してもよいし、保存用データ内の個別データにダミーのデータを追加してもよい。また、セーブ処理部１１２は、保存用データを生成する際に、複数の個別データそれぞれを暗号化してもよい。
【００３０】
ロード処理部１１４は、外部メモリ１７４にセーブされた保存用データをメインメモリ１７２にロードし、保存用データに含まれるアドレス情報に基づいて複数の個別データを展開することで、保存用データをゲームデータに復元する。保存用データを生成する際に各個別データを暗号化した場合、ロード処理部１１４は、保存用データをゲームデータに復元する際に、各個別データを復号化する。また、ロード処理部１１４は、保存用データをゲームデータに復元する際に、ダミーの個別データの一部又は全部が書き換えられたことを検出した場合に、当該ゲームデータを用いたゲームの進行を不能するようにしてもよい。
【００３１】
画像生成部１２０は、処理部１００で行われる種々の処理の結果に基づいて描画処理を行い、これによりゲーム画像を生成し、表示部１９０に出力する。画像生成部１２０は、オブジェクト空間（ゲーム空間）内において仮想カメラ（所与の視点）から見える画像（いわゆる３次元画像）を生成してもよい。
【００３２】
音生成部１３０は、処理部１００で行われる種々の処理の結果に基づいて音処理を行い、ＢＧＭ、効果音、又は音声などのゲーム音を生成し、音出力部１９２に出力する。
【００３３】
２．本実施形態の手法
次に本実施形態の手法について図面を用いて説明する。
【００３４】
ゲームデータを改造する方法には、大きく分けて二通りの方法が存在する。１つは外部メモリ（メモリカード、ＨＤＤ）に保存されたゲームデータを改造する方法であり、もう１つはメインメモリ（ＲＡＭ）に展開されたゲームデータを改造する方法である。前者の方法では、外部メモリに保存されたゲームデータをＰＣにコピーし、ＰＣ上でゲームデータを改造し、改造したゲームデータを再度外部メモリに保存する。後者の手法では、ゲームプレイ中に何らかの方法でメインメモリにアクセスし、メインメモリ上に展開されたゲームデータを改造する。本実施形態の手法は、前者の方法を対象とした対策手法に関するものである。
【００３５】
図２は、ゲームデータの一例を模式的に示す図である。ゲームデータは、複数の個別データによって構成される。図２に示す例では、ゲームデータ２００は、パーティブロック２０１、アイテムブロック２０２、マップブロック２０３、コンフィグブロック２０４、プレーヤブロック２０５の５つの個別データによって構成されている。パーティブロック２０１には、プレーヤのパーティを構成する複数のキャラクタに関する情報、パーティの所持金額、隊列、ステータス等に関する情報が格納される。アイテムブロック２０２には、プレーヤ（パーティ）が保有するアイテムの種類、数等に関する情報が格納される。マップブロック２０３には、ゲームマップにおけるパーティの現在位置等に関する情報が格納される。コンフィグブロック２０４には、ゲーム全体の設定情報（例えば、難易度、キー操作に関する情報）が格納される。プレーヤブロック２０５には、プレーヤ（パーティ）の体力値（ＨＰ）、レベル、名前等に関する情報が格納される。
【００３６】
ゲームデータ２００を構成する複数の個別データの配置位置は固定（所定の順序で配列）されており、ここでは、ゲームデータ２００における複数の個別データの配列順は、パーティブロック２０１、アイテムブロック２０２、マップブロック２０３、コンフィグブロック２０４、プレーヤブロック２０５の順となっている。ここで、仮に、ゲームデータ２００をそのまま外部メモリ１７４にセーブしたとすると、常にゲームデータ内の同じ位
置に同じ種類のデータが配置されるため、特定種類のデータがゲームデータ内のどの位置に配置されているか推測され易くなってしまう。
【００３７】
そこで、本実施形態の手法では、セーブを行う際に、各個別データの配置位置をランダムに決定（シャッフル）して保存用データを生成し、生成した保存用データを外部メモリ１７４にセーブする。また、ロード時に、配置位置がシャッフルされた複数の個別データを所定の順序で読み込む（メインメモリ１７２上に展開する）ことができるように、保存用データの先頭位置（所定位置の一例）に、最初に展開すべき個別データの配置位置を特定するためのアドレス情報を配置し、各個別データの先頭位置に、次に展開すべき個別データの配置位置を特定するためのアドレス情報を配置する。個別データの配置位置を特定するためのアドレス情報とは、保存用データの先頭アドレスから当該個別データの先頭アドレスまでのオフセット値である。
【００３８】
図３は、保存用データの一例を模式的に示す図である。図３に示す例では、保存用データ３００において、複数の個別データが、プレーヤブロック２０５、コンフィグブロック２０４、マップブロック２０３、アイテムブロック２０２、パーティブロック２０１の順で配列されている。保存用データ３００の先頭には、最初に展開すべきパーティブロック２０１の配置位置を示すアドレス情報３０１が配置され、パーティブロック２０１の先頭には、次に展開すべきアイテムブロック２０２の配置位置を示すアドレス情報３０２が配置され、アイテムブロック２０２の先頭には、次に展開すべきマップブロック２０３の配置位置を示すアドレス情報３０３が配置され、マップブロック２０３の先頭には、次に展開すべきコンフィグブロック２０４の配置位置を示すアドレス情報３０４が配置され、コンフィグブロック２０４の先頭には、次に展開すべきプレーヤブロック２０５の配置位置を示すアドレス情報３０５が配置されている。プレーヤブロック２０５は最後に展開される個別データであるため、プレーヤブロック２０５の先頭には無効なアドレス情報３０６（例えば、ｎｕｌｌ）が配置される。
【００３９】
複数の個別データの配置位置の決定（変更）は、セーブを行う度に行われる。図４に、１〜３回目のセーブ時に生成される保存用データ３００の一例を示す。複数の個別データの配置位置（配列順）を決定する際には、各個別データの配列順を直接ランダムに決定してもよいし、複数の配置パターン（配列パターン）を格納するテーブルから１の配置パターンをランダムに選択し、選択した配置パターンに従って複数の個別データの配置位置を決定してもよい。
【００４０】
ロードを行う際には、まず、保存用データ３００の先頭に位置するアドレス情報３０１を参照してパーティブロック２０１を展開し、次に、パーティブロック２０１の先頭に位置するアドレス情報３０２を参照してアイテムブロック２０２を展開し、次に、アイテムブロック２０２の先頭に位置するアドレス情報３０３を参照してマップブロック２０３を展開し、次に、マップブロック２０３の先頭に位置するアドレス情報３０４を参照してコンフィグブロック２０４を展開し、最後に、コンフィグブロック２０４の先頭に位置するアドレス情報３０５を参照してプレーヤブロック２０５を展開することで、保存用データ３００をゲームデータ２００に復元する。
【００４１】
このように、本実施形態の手法によれば、セーブを行う度に毎回、保存用データにおける複数の個別データの配置位置を変化させる（ランダムに決定する）ことで、特定種類のデータがどの位置に配置されているか推測され難くすることができ、サーバ等を必要とせず簡単な構成でゲームデータの不正な改変を困難化することができる。
【００４２】
なお、保存用データ３００は、アドレス情報３０１に隣接する位置に、１又は複数のダミーのアドレス情報を含んでもよい。図５に、ダミーのアドレス情報が追加された保存用
データの一例を示す。図５に示す例では、保存用データ３００の先頭に１６個のアドレス情報が配置され、そのうちの１個が真正の（最初に展開すべき個別データの配置位置を特定するための）アドレス情報３０１であり、残りの１５個がダミーのアドレス情報３１０となっている。ダミーのアドレス情報３１０はそれぞれ、保存用データ３００内のランダムな位置を示すオフセット値であり、セーブが行われる度に更新される。真正のアドレス情報３０１の配置位置は常に固定され、保存用データ３００の先頭からｎ番目に配置されたアドレス情報が常に真正のアドレス情報３０１となる。従って、ロード時には、保存用データ３００の先頭からｎ番目のアドレス情報３０１を参照して、最初に展開すべき個別データ（パーティブロック２０１）を読み込む。なお、図５に示す例では、ｎ＝６としている。このように、アドレス情報３０１に隣接する位置にダミーのアドレス情報を追加することで、最初に展開すべき個別データの配置位置を推測され難くすることができ、ゲームデータの不正な改変をより困難化することができる。
【００４３】
また、保存用データ３００は、１又は複数のダミーの個別データを含んでもよい。ダミーの個別データとは、ロード時にメインメモリ１７２上に展開されない（アドレス情報３０１〜３０５で参照されない）個別データである。図６に、ダミーの個別データが追加された保存用データの一例を示す。図６に示す例では、コンフィグブロック２０４とマップブロック２０３の間に、ダミーの個別データ３２０が配置されている。例えば、ダミーの個別データ３２０を、真正の個別データ（２０１〜２０５）をコピーしたデータ、或いは真正の個別データの一部（特定のパラメータ）を書き換えたデータとし、当該ダミーの個別データ３２０を、真正の個別データに隣接する位置に配置してもよい。また、ゲームで用いない架空のパラメータを格納したデータを、ダミーの個別データ３２０として保存用データ３００の任意の位置に配置してもよい。このように、保存用データにダミーの個別データを追加することで、特定の個別データの配置位置をより推測され難くすることができ、ゲームデータの不正な改変をより困難化することができる。ここで、保存用データ３００がダミーの個別データ３２０を含む場合、セーブ時のダミーの個別データ３２０の少なくとも一部の内容を記憶しておき、ロードを行う際に、ダミーの個別データ３２０が書き換えられたか否かを検出し、書き換えられたことを検出した場合に、ゲームの進行を不能にしてもよい。このようにすると、ダミーの個別データを用いてゲームデータの改変行為を容易に検出することができ、改変データを用いたゲームの実行を禁止することができる。
【００４４】
また、セーブ時に、複数の個別データそれぞれを暗号化して保存用データを生成してもよい。複数の個別データを暗号化する際の暗号化モードとしては、例えばＣＢＣモードを用いることができ、暗号化アルゴリズムとしては、例えばＡＥＳを用いることができる。この場合、図７に示すように、まず、ゲームデータ２００を構成する１番目の個別データであるパーティブロック２０１を、暗号キーを用いて暗号化して暗号化済みのパーティブロック２０１’を得て、平文のパーティブロック２０１のハッシュ値と暗号キーのＸＯＲをとって暗号キーを更新する。次に、ゲームデータ２００を構成する２番目の個別データであるアイテムブロック２０２を、更新した暗号キーを用いて暗号化して暗号化済みのアイテムブロック２０２’を得て、平文のアイテムブロック２０２のハッシュ値とこの暗号キーのＸＯＲをとって暗号キーを再度更新する。以降、マップブロック２０３、コンフィグブロック２０４、プレーヤブロック２０５についても同様に暗号化する。以上の手順で暗号化することで、個別データ内のデータを改変した場合には、以降の個別データを正常に復号することができなくなるため、改変データを用いたゲームの実行を防止することができる。なお、以上の手順で個別データ毎の暗号化を行った後、最後に保存用データ全体を暗号化してもよい。また、保存用データのハッシュ値を保存用データとともに外部メモリ１７４に保存しておくことで、ロード時にデータの改変を検出できるようにしてもよい。
【００４５】
３．処理
次に、本実施形態のゲーム装置の処理の一例について図８、図９のフローチャートを用いて説明する。
【００４６】
図８は、セーブ処理部１１２の処理の流れを示すフローチャートである。まず、複数の個別データ（暗号化済み個別データ）の保存用データ内の配置位置をランダムに決定する（ステップＳ１１）。次に、変数ｍに１をセットする（ステップＳ１２）。
【００４７】
次に、ｍ番目の（ｍ番目に展開すべき）個別データの配置を開始し（ステップＳ１３）、ｍ＋１番目の個別データの配置位置を示すアドレス情報を暗号化し、暗号化したアドレス情報を、ｍ番目の個別データについて決定された保存用データ内の配置位置に配置する（ステップＳ１４）。次に、ｍ番目の個別データを暗号化し、暗号化したｍ番目の個別データを、ｍ番目の個別データについて決定された配置位置からアドレス情報のサイズ分だけオフセットした位置に配置する（ステップＳ１５）。
【００４８】
次に、変数ｍがＭ（Ｍは、個別データの総数）と等しくなったか否かを判断し（ステップＳ１６）、変数ｍがＭ未満である場合（ステップＳ１６のＮ）には、変数ｍに１を加算し（ステップＳ１７）、ステップＳ１３に移行する。以降、変数ｍがＭと等しくなるまで、ステップＳ１３〜Ｓ１７の処理を繰り返す。
【００４９】
変数ｍがＭと等しくなった場合（ステップＳ１６のＹ）には、保存用データの先頭に、１番目の個別データの配置位置を示すアドレス情報を配置する（ステップＳ１８）。次に、以上の処理により生成した保存用データを外部メモリ１７４にセーブする（ステップＳ１９）。
【００５０】
図９は、ロード処理部１１４の処理の流れを示すフローチャートである。まず、外部メモリ１７４にセーブされた保存用データをメインメモリ１７２にロードする（ステップＳ２０）。次に、保存用データの先頭に配置された、１番目の個別データの配置位置を示すアドレス情報を取得し、取得したアドレス情報で示される配置位置を「現在の配置位置」とする（ステップＳ２１）。次に、変数ｍに１をセットする（ステップＳ２２）。
【００５１】
次に、ｍ番目の個別データの取得を開始し（ステップＳ２３）、保存用データ内の「現在の配置位置」に配置された、ｍ＋１番目の個別データの配置位置を示すアドレス情報を復号化して取得し、取得したアドレス情報で示される配置位置を「次の配置位置」とする（ステップＳ２４）。次に、「現在の配置位置」からアドレス情報のサイズ分だけオフセットした位置に配置されたｍ番目の個別データを復号化して取得し、取得した個別データをメインメモリ１７２に展開する（ステップＳ２５）。次に、「次の配置位置」を「現在の配置位置」とする（ステップＳ２６）。
【００５２】
次に、変数ｍがＭと等しくなったか否かを判断し（ステップＳ２７）、変数ｍがＭ未満である場合（ステップＳ２７のＮ）には、変数ｍに１を加算し（ステップＳ２８）、ステップＳ２３に移行する。以降、変数ｍがＭと等しくなるまで、ステップＳ２３〜Ｓ２８の処理を繰り返して、Ｍ個の個別データが所定の順序で配列されたゲームデータを復元する。
【００５３】
本発明は、上記実施形態で説明したものに限らず、種々の変形実施が可能である。例えば、明細書又は図面中の記載において広義や同義な用語として引用された用語は、明細書又は図面中の他の記載においても広義や同義な用語に置き換えることができる。
【符号の説明】
【００５４】
１００…処理部、１１０…ゲーム実行部、１１２…セーブ処理部、１１４…ロード処理部、１２０…画像生成部、１３０…音生成部、１５０…入力部、１７０…記憶部、１７２…メインメモリ、１７４…外部メモリ、１９０…表示部、１９２…音出力部、１９６…通信部
【図１】
2019118768.tif 000003
【図２】
2019118768.tif 000004
【図３】
2019118768.tif 000005
【図４】
2019118768.tif 000006
【図５】
2019118768.tif 000007
【図６】
2019118768.tif 000008
【図７】
2019118768.tif 000009
【図８】
2019118768.tif 000010
【図９】
2019118768.tif 000011