JP6194221B2 - 情報処理システム、情報処理装置、情報処理プログラム、およびセーブデータの記憶方法 - Google Patents

情報処理システム、情報処理装置、情報処理プログラム、およびセーブデータの記憶方法 Download PDF

Info

Publication number
JP6194221B2
JP6194221B2 JP2013210762A JP2013210762A JP6194221B2 JP 6194221 B2 JP6194221 B2 JP 6194221B2 JP 2013210762 A JP2013210762 A JP 2013210762A JP 2013210762 A JP2013210762 A JP 2013210762A JP 6194221 B2 JP6194221 B2 JP 6194221B2
Authority
JP
Japan
Prior art keywords
save data
information processing
identification information
storage means
save
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.)
Active
Application number
JP2013210762A
Other languages
English (en)
Other versions
JP2015075853A (ja
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.)
Nintendo Co Ltd
Original Assignee
Nintendo Co Ltd
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 Nintendo Co Ltd filed Critical Nintendo Co Ltd
Priority to JP2013210762A priority Critical patent/JP6194221B2/ja
Priority to US14/487,572 priority patent/US9542569B2/en
Publication of JP2015075853A publication Critical patent/JP2015075853A/ja
Application granted granted Critical
Publication of JP6194221B2 publication Critical patent/JP6194221B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/45Controlling the progress of the video game
    • A63F13/49Saving the game status; Pausing or ending the game
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/70Game security or game management aspects
    • A63F13/75Enforcing rules, e.g. detecting foul play or generating lists of cheating players
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2109Game systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Bioethics (AREA)
  • Health & Medical Sciences (AREA)
  • Business, Economics & Management (AREA)
  • General Business, Economics & Management (AREA)
  • Databases & Information Systems (AREA)
  • Human Computer Interaction (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明は、アプリケーションのセーブデータを記憶媒体に記憶するための情報処理システム、情報処理装置、情報処理プログラム、およびセーブデータの記憶方法に関する。
従来、アプリケーション(例えばゲームプログラム等)のセーブデータを記憶媒体に記憶する技術がある(例えば、特許文献1参照)。セーブデータは、情報処理装置がアクセス可能な所定の記憶媒体に記憶され、適宜のタイミングで情報処理装置に読み出された後、情報処理装置で実行中のアプリケーションにおいて使用される。
特開2009−106776号公報
記憶媒体に記憶されたセーブデータが複製され、複製されたセーブデータを利用可能とすると、複製されたセーブデータを用いて不正(例えば、ゲーム上の不正)が行われるおそれがある。そのため、複製されたセーブデータの利用を制限または禁止することが好ましい。
それ故、本発明の目的は、不正に複製されたセーブデータが利用される可能性を低減することができる情報処理システム、情報処理装置、情報処理プログラム、およびセーブデータの記憶方法を提供することである。
上記の課題を解決すべく、本発明は、以下の(1)〜(8)の構成を採用した。
(1)
本発明の一例は、第1記憶手段と、第2記憶手段と、第1記憶制御手段と、第2記憶制御手段と、利用制御手段とを備える、情報処理システムである。第1記憶手段は、アプリケーションのセーブデータを記憶するためのものである。第2記憶制御手段は、例えば第1記憶手段とは異なる記憶装置(記憶媒体)であってもよいし、第1記憶手段と同じ記憶装置(記憶媒体)であってもよい。第1記憶制御手段は、セーブデータが更新される毎に、更新後のセーブデータを識別可能な識別情報を第1記憶手段および第2記憶手段に記憶する。第2記憶制御手段は、セーブデータが更新される毎に、更新前のセーブデータに対応する識別情報を第1記憶手段および第2記憶手段の少なくとも一方に記憶する。利用制御手段は、同じセーブデータを示す識別情報が第1記憶手段および第2記憶手段に記憶されていることを少なくとも条件として、第1記憶手段に記憶されているセーブデータの利用を可能とする。
上記(1)の構成によれば、セーブデータの利用が可能であるか否かを識別情報に基づいて判定することによって、セーブデータの不正利用が行われる可能性を低減することができる。さらに、更新前のセーブデータに対応する識別情報を記憶しておき、当該識別情報にも基づいて判定を行うことによって、セーブデータの更新処理(セーブ処理)が正常に実行されなかった場合においてもセーブデータの利用を可能とすることができる。
(2)
情報処理システムは、処理実行手段と、更新手段をさらに備えていてもよい。処理実行手段は、アプリケーションの実行中において所定の情報処理を実行する。更新手段は、所定の情報処理が実行される場合、当該情報処理の実行前にセーブデータの更新を行うとともに、所定の情報処理の実行後にセーブデータの更新を行う。
上記(2)の構成によれば、所定の情報処理の前後において合計2回のセーブ処理が行われる。これによれば、仮にセーブデータの更新処理(セーブ処理)が正常に実行されなかった場合でも、2回のセーブ処理よりも前のセーブデータを利用することは不可能になるので、過去のセーブデータが不正利用される可能性を低減することができる。
(3)
処理実行手段は、所定の情報処理の実行がユーザによって指示された場合、当該所定の情報処理の実行前におけるセーブデータおよび識別情報の更新が完了したことを条件として当該所定の情報処理を実行してもよい。
上記(3)の構成によれば、所定の情報処理の前に実行されるセーブ処理よりも前のセーブデータが第1記憶手段に残った状態で所定の情報処理が実行されることがないので、過去のセーブデータが不正利用される可能性をより低減することができる。
(4)
セーブデータは、アプリケーションにおいて登場するオブジェクトを示す情報を含んでいてもよい。所定の情報処理は、情報処理システムと他の情報処理システムとの間で通信を行う処理であって、情報処理システムにおいて実行されるアプリケーションにおいてオブジェクトを削除し、他の情報処理システムにおいて実行されるアプリケーションにおいて当該オブジェクトを追加する処理であってもよい。
上記(4)の構成によれば、上記所定の情報処理として、情報処理システムにおいて実行されるアプリケーションにおいて登場するオブジェクトを他の情報処理システムにおいて実行されるアプリケーションへ渡すための通信処理が実行される。このような通信処理が実行される場合には、例えば上記オブジェクトを複製するといったゲーム上の不正が行われる可能性があるが、上記(4)の構成によれば、このような不正が行われる可能性を低減することができる。
(5)
情報処理システムは、セーブデータが更新される場合、更新後のセーブデータを示す識別情報を乱数に基づいて生成する識別情報生成手段をさらに備えていてもよい。
上記(5)の構成によれば、乱数に基づいて生成される識別情報を用いることによって、識別情報の内容(値)を推測することが困難(または不可能)となる。したがって、第1記憶手段に過去に記憶されていた内容を再度利用できるようにするべく識別情報を改ざんすることが困難になるので、セーブデータの不正利用をより確実に防止することができる。
(6)
情報処理システムは、セーブデータが更新される場合、更新後のセーブデータを示す識別情報を、当該更新後のセーブデータに基づいて生成する識別情報生成手段をさらに備えていてもよい。
上記(6)の構成によれば、セーブデータから識別情報を容易に生成することができる。
(7)
第2記憶制御手段は、更新前のセーブデータに対応する識別情報を第1記憶手段および第2記憶手段のいずれか一方に記憶してもよい。第1記憶制御手段は、セーブデータが更新される場合、第1記憶手段および第2記憶手段のうち、更新前のセーブデータに対応する識別情報を記憶する記憶手段に対して先に、他方の記憶手段に対しては後で、更新後のセーブデータに対応する識別情報を記憶してもよい。
上記(7)の構成によれば、更新後のセーブデータに対応する識別情報を先に記憶する方の記憶手段に、更新前のセーブデータに対応する識別情報が記憶される。これによれば、セーブデータの更新処理(セーブ処理)が正常に実行されなかった結果、2つの記憶手段で識別情報の内容がずれてしまう場合でも、セーブデータの利用を可能とすることができる。
(8)
情報処理システムは、アプリケーションを実行する情報処理装置を含んでいてもよい。第1記憶手段は、情報処理装置に着脱可能な記憶媒体であってもよい。第2記憶手段は、情報処理装置に内蔵される記憶媒体であってもよい。
上記(8)の構成によれば、情報処理装置に対して交換が容易な第1記憶手段にセーブデータを記憶することでユーザの利便性を向上することができる。また、データの複製が比較的困難な第2記憶手段に識別情報を記憶し、この識別情報を用いてセーブデータの利用の可否を判定することによって、セーブデータの不正利用の可能性を低減することができる。
本発明の別の一例は、上記(1)〜(8)の情報処理システムにおける情報処理装置と同等の機能を備える情報処理装置であってもよいし、当該情報処理装置における処理をコンピュータに実行させる情報処理プログラムであってもよい。また、本発明の別の一例は、上記(1)〜(8)において実行されるセーブデータの記憶方法であってもよい。
本発明によれば、セーブデータの識別情報を用いてセーブデータの利用の可否を判定することによって、セーブデータの不正利用が行われる可能性を低減することができる。
本実施形態に係る情報処理システムの一例の構成を示すブロック図 本実施形態におけるセーブ処理およびセーブデータ取得処理において行われる動作の流れの一例を示す図 セーブ処理が正常に実行されない場合におけるセーブ処理およびセーブデータ取得処理における動作の流れの一例を示す図 本実施形態におけるゲーム処理において行われる動作の流れの一例を示す図 処理後セーブ処理が正常に実行されない場合におけるゲーム処理における動作の流れの一例を示す図 処理前データ処理が実行されないと仮定した場合におけるゲーム処理における動作の流れの一例を示す図 本実施形態においてゲーム装置が実行するゲーム処理の流れの一例を示すフローチャート 図7に示すセーブデータ取得処理(ステップS21)の詳細な流れを示すフローチャート
[1.情報処理システムの構成]
以下、本実施形態の一例に係る情報処理システム、情報処理装置、情報処理プログラム、および、セーブデータの記憶方法について説明する。まず、情報処理システムの構成について説明する。図1は、本実施形態に係る情報処理システムの一例の構成を示すブロック図である。図1に示すように、情報処理システムは、ゲーム装置1と、カード記憶媒体2とを含む。カード記憶媒体2は、ゲーム装置1に対して着脱可能に装着され、ゲーム装置1は、装着されたカード記憶媒体2にアクセス可能である。
情報処理装置の一例であるゲーム装置1は、情報処理プログラムの一例であるゲームプログラムを実行する。詳細は後述するが、ゲーム装置1は、ゲームプログラムによって行われるゲームの状況(プレイヤキャラクタの状態等)を表すセーブデータをカード記憶媒体に記憶する(図1参照)。なお、情報処理装置は、ゲーム装置に限らず、パーソナルコンピュータ、携帯端末、スマートフォン等、どのような形態の情報処理装置であってもよい。
ゲーム装置1は制御部11を備える。制御部11は、情報処理システムにおいて実行される各種の情報処理(後述するゲーム処理等)を実行する。制御部11はCPU(Central Processing Unit)およびメモリを有し、CPUがメモリを用いて所定の情報処理プログラム(ゲームプログラム)を実行することによって上記各種の情報処理が実行される。
ゲーム装置1はプログラム記憶部12を備える。プログラム記憶部12は、ゲーム装置1において実行される上記ゲームプログラムを記憶する。プログラム記憶部12は、制御部11がアクセス可能な任意の記憶装置(記憶媒体)である。プログラム記憶部12は、例えばハードディスクやメモリ等の、ゲーム装置1に内蔵される記憶部であってもよいし、例えば光ディスクやカートリッジ等の、ゲーム装置1に着脱可能な記憶媒体であってもよい。
ゲーム装置1は入力部13を備える。入力部13は、ボタン(キー)、タッチパネル、および/または、マウス等、ユーザから入力を受け付ける任意の入力装置である。また、ゲーム装置1は表示部14を備える。表示部14は、ゲーム装置1における情報処理によって生成される画像を表示する表示装置である。
ゲーム装置1はデータ記憶部15を備える。データ記憶部15は、ゲームのセーブデータを識別するための識別情報を記憶する(図1参照)。詳細は後述するが、本実施形態においては、セーブデータはゲーム装置1において生成されてカード記憶媒体2に記憶され、セーブデータが生成される毎(つまり、セーブ処理が実行される毎)に、生成されたセーブデータに対して識別情報が付与される。データ記憶部15は、ゲーム装置1において生成された最新のセーブデータに対応する識別情報(「今回識別情報」と呼ぶ)を記憶する。
なお、本実施形態においては、データ記憶部15は、ゲーム装置1に内蔵される不揮発性の記憶媒体である。また、本実施形態においては、データ記憶部15は、ユーザが通常はアクセスできない記憶領域であり、データの変更(改ざん)が(セーブデータが記憶されるカード記憶媒体2に比べて)困難な記憶領域である。
ゲーム装置1は、1つの情報処理装置(例えば携帯型の情報処理装置)で構成されてもよいし、複数の装置で構成されてもよい。例えば、他の実施形態においては、ゲーム装置1は、制御部11を有し情報処理を行うメインの情報処理装置と、入力部13および/または表示部14を有する端末装置とを含む構成であってもよい。また、他の実施形態においては、ゲーム装置1において実行される情報処理の少なくとも一部が、ネットワーク(広域ネットワークおよび/またはローカルネットワーク)によって通信可能な複数の装置によって分散して実行されてもよい。
カード記憶媒体2は、ゲーム装置1において実行されるゲーム(ゲームプログラム)のセーブデータを記憶する(図1参照)。すなわち、ゲーム装置1においてゲームプログラムの実行中に所定のセーブ処理が実行されると、ゲーム装置1においてセーブデータが生成されて、その時点でゲーム装置1に装着されているカード記憶媒体2にセーブデータが記憶される。また、図1に示すように、カード記憶媒体2は、記憶されるセーブデータに対応する識別情報(今回識別情報)を記憶する。さらに、カード記憶媒体2は、現在記憶されているセーブデータの1つ前に記憶されていたセーブデータに対応する識別情報(「前回識別情報」と呼ぶ)を記憶する。
なお、カード記憶媒体2は、ゲーム装置1に着脱可能なカード型の記憶装置である。本実施形態においては、カード記憶媒体2は汎用の(換言すれば、ゲーム装置1とは異なる種類の情報処理装置にも装着可能な)記憶装置であるとするが、ゲーム装置1に専用の記憶装置であってもよい。また、カード記憶媒体2は、上記ゲームプログラムを記憶する記憶媒体であってもよい(つまり、プログラム記憶部12をカード記憶媒体2が備える構成であってもよい)。また、セーブデータ等(セーブデータ、今回識別情報、および前回識別情報)を記憶するための記憶装置は、ゲーム装置1に着脱可能な記憶装置に限らず、他の実施形態においては、ゲーム装置1に内蔵される記憶装置であってもよい。
[2.ゲーム装置における処理の概要]
以下、図2〜図5を参照して、情報処理システムにおいて実行される処理の概要を説明する。図2は、本実施形態におけるセーブ処理およびセーブデータ取得処理において行われる動作の流れの一例を示す図である。
(2−1:セーブ処理)
まず、セーブデータをカード記憶媒体2に記憶するためのセーブ処理について説明する。なお、図2においては、セーブ処理の前において、以下のデータ(情報)がカード記憶媒体2に記憶されている場合を例として説明する。
・セーブデータD(n)
・セーブデータD(n)に対応する今回識別情報I(n)
・セーブデータD(n)の前に記憶されていたセーブデータに対応する前回識別情報I(n−1)
また、ゲーム装置1のデータ記憶部15においては、セーブ処理の前において、上記今回識別情報I(n)が記憶されているものとする。
セーブ処理が開始されると、ゲーム装置1はまず、セーブデータと識別情報とを生成する(ステップS1)。すなわち、その時点のゲーム状況を示すセーブデータD(n+1)が生成され、生成されたセーブデータD(n+1)に対応する今回識別情報I(n+1)が生成される。本実施形態においては、(今回)識別情報は、セーブデータ毎にランダムな値となるランダム値である。つまり、ゲーム装置1は、セーブデータを生成する度に上記のようなランダム値を生成する。
次に、ゲーム装置1は、カード記憶媒体2にセーブデータ等を記憶する(ステップS2)。すなわち、セーブデータD(n+1)と、今回識別情報I(n+1)と、前回識別情報I(n)とがカード記憶媒体2に記憶される(図2参照)。ここで、ゲーム装置1は、セーブ処理前における今回識別情報としてデータ記憶部15に記憶されている識別情報I(n)を、前回識別情報I(n)としてカード記憶媒体2に記憶する。ステップS2の処理によって、カード記憶媒体2に記憶されるセーブデータ、今回識別情報、および前回識別情報が更新される。
カード記憶媒体2に対する記憶処理(ステップS2)が終了すると、ゲーム装置1は、データ記憶部15における今回識別情報を更新する(ステップS3)。すなわち、今回識別情報I(n+1)がデータ記憶部15に記憶され、セーブ処理の前に記憶されていた今回識別情報I(n)が削除される。
以上のセーブ処理によって、カード記憶媒体2にセーブデータ等が記憶される。ここで、以上に説明した動作は、セーブ処理が正常に実行された場合における動作である(セーブ処理が正常に実行されない場合については後述する)。セーブ処理が正常に実行された場合、カード記憶媒体2には、セーブデータD(n+1)と、今回識別情報I(n+1)と、前回識別情報I(n)とが記憶され、データ記憶部15には今回識別情報I(n+1)が記憶されることになる。
(2−2:セーブデータ取得処理)
次に、カード記憶媒体2に記憶されたセーブデータを取得する(読み出す)ためのセーブデータ取得処理について説明する。以下では、上記“(2−1:セーブ処理)”で説明したセーブ処理の後にセーブデータ取得処理が実行される場合(図2参照)を例として説明する。
セーブデータ取得処理が開始されると、ゲーム装置1はまず、カード記憶媒体2から今回識別情報I(n+1)および前回識別情報I(n)を読み出す(ステップS4)。次にゲーム装置1は、カード記憶媒体2から読み出した2つの識別情報と、データ記憶部15に記憶されている今回識別情報とを比較し、セーブデータの利用が可能か否かを判定する(ステップS5)。具体的には、ゲーム装置1は、データ記憶部15に記憶されている今回識別情報が、カード記憶媒体2から読み出した2つの識別情報のいずれかと一致するか否かを判定する。
データ記憶部15に記憶されている今回識別情報と、カード記憶媒体2に記憶されている識別情報のいずれかとが一致すると判定される場合、ゲーム装置1は、セーブデータの利用が可能であると判定し、図2に示すように、セーブデータD(n+1)をカード記憶媒体2から読み出す(ステップS6)。このとき、読み出したセーブデータに基づいて、ゲームを進行させるゲーム制御処理が実行される(ステップS7)。
一方、図示しないが、データ記憶部15内の今回識別情報がカード記憶媒体2内の識別情報のいずれとも一致しないと判定される場合、ゲーム装置1は、セーブデータの利用が不可能であると判定し、セーブデータの読み出しを行わない。
以上のように、本実施形態においては、セーブ処理において、セーブデータとともに識別情報がカード記憶媒体2に記憶され、その識別情報が他の記憶手段(データ記憶部15)にも記憶される(ステップS2およびS3)。セーブデータ取得処理においては、カード記憶媒体2に記憶される識別情報と、データ記憶部15に記憶される識別情報とが一致する場合に、セーブデータの利用(読み出し)が可能となる。これによれば、以前のセーブデータの不正利用が行われる可能性を低減することができる。
ここで、以前のセーブデータを不正利用する方法としては、カード記憶媒体2に記憶されたセーブデータを他の記憶装置に複製しておき、カード記憶媒体2に記憶されるセーブデータが更新された後で、複製しておいたセーブデータを用いる方法が考えられる。このような方法を用いることで過去のセーブデータを再度利用できるようにしてしまうと、例えば貴重なアイテムを多数複製する等、ゲーム上の不正を行うことが可能になるおそれがある。これに対して、本実施形態においては、データ記憶部15に記憶される今回識別情報がセーブ処理毎に更新されるので、複製しておいた以前のセーブデータは利用できなくなる。以上より、本実施形態によれば、不正に複製されたセーブデータが利用される可能性を低減することができる。
また、本実施形態においては、カード記憶媒体2には今回識別情報の他に前回識別情報が記憶される。カード記憶媒体2に今回識別情報を記憶しておくことによって、上記のようなセーブデータの不正利用を防止することは可能であるので、カード記憶媒体2には前回識別情報を記憶しないことも考えられる。ただし、前回識別情報を記憶することによって、次のようなメリットがある。以下、図3を参照して、前回識別情報を記憶することによる効果について説明する。
(2−3:セーブ処理が正常に実行されない場合における動作)
図3は、セーブ処理が正常に実行されない場合におけるセーブ処理およびセーブデータ取得処理における動作の流れの一例を示す図である。図3は、セーブ処理の途中において、カード記憶媒体2に対するデータ書込処理(ステップS2)が完了した後において、何らかの理由でセーブ処理が中止された場合を示している。なお、セーブ処理が中止される理由としては、例えば、ゲーム装置1の電源がユーザによってオフされたり、ゲーム装置1の電力が無くなってゲーム装置1の動作が停止したりすることが考えられる。
上記のようにセーブ処理が途中で中止された場合、図3に示すように、カード記憶媒体2には、更新後の内容、すなわち、セーブデータD(n+1)、今回識別情報I(n+1)、および前回識別情報I(n)が記憶される。これに対して、データ記憶部15に対して更新処理(ステップS3)が実行されないので、データ記憶部15には、更新前の内容、すなわち、今回識別情報I(n)が記憶されたままになる。このように、セーブ処理が途中で中止された場合には、今回識別情報の内容がカード記憶媒体2とデータ記憶部15とで異なってしまうおそれがある。ここで、仮に前回識別情報がカード記憶媒体2に記憶されないとすれば、上記のような場合において、カード記憶媒体2に記憶されたセーブデータD(n+1)は利用することができなくなり、ユーザにとって不都合である。
これに対して、本実施形態においては、前回識別情報をカード記憶媒体2に記憶することによって、上記の場合においてセーブデータD(n+1)の利用を可能としている。すなわち、セーブデータ取得処理においては、図3に示すように、まずカード記憶媒体2から今回識別情報I(n+1)および前回識別情報I(n)が読み出される(ステップS4)。そして、ゲーム装置1は、カード記憶媒体2から読み出した2つの識別情報と、データ記憶部15に記憶されている今回識別情報とを比較し、データ記憶部15に記憶されている今回識別情報が、カード記憶媒体2から読み出した2つの識別情報のいずれかと一致するか否かを判定する(ステップS5)。上記のようにセーブ処理が途中で中止された場合には、データ記憶部15に記憶されている今回識別情報I(n)と、カード記憶媒体2から読み出した前回識別情報I(n)とが一致するので、セーブデータD(n+1)の利用が可能となる(ステップS6,S7)。
以上のように、本実施形態においては、情報処理システムは、アプリケーション(ゲームプログラム)のセーブデータを記憶するための第1記憶手段(カード記憶媒体2)と、第2記憶手段(データ記憶部15)とを備える。ゲーム装置1は、セーブデータが更新される毎に、更新後のセーブデータを識別可能な識別情報(今回識別情報)をカード記憶媒体2およびデータ記憶部15に記憶する(ステップS2,S3)。また、ゲーム装置1は、セーブデータが更新される毎に、更新前のセーブデータに対応する識別情報(前回識別情報)をカード記憶媒体2に記憶する(ステップS2)。ゲーム装置1は、同じセーブデータを示す識別情報がカード記憶媒体2およびデータ記憶部15に記憶されていることを少なくとも条件として(ステップS5)、カード記憶媒体2に記憶されているセーブデータの利用を可能とする(ステップS6)。以上によれば、識別情報を用いてセーブデータの利用が可能であるか否かを判定することによって、セーブデータの不正利用が行われる可能性を低減することができる。さらに、前回識別情報を記憶しておくことによって、セーブ処理が正常に実行されなかった場合において、セーブ処理前のセーブデータを利用することが可能となる。
なお、本実施形態においては、ゲーム装置1は、更新前のセーブデータに対応する前回識別情報を第1記憶手段(カード記憶媒体2)および第2記憶手段(データ記憶部15)のいずれか一方(本実施形態ではカード記憶媒体2)に記憶する。そして、セーブデータが更新される場合、ゲーム装置1は、2つの記憶手段のうち、更新前のセーブデータに対応する識別情報を記憶する記憶手段(カード記憶媒体2)に対して先に、他方の記憶手段(データ記憶部15)に対しては後で、更新後のセーブデータに対応する今回識別情報を記憶する。つまり、ゲーム装置1は、セーブ処理において今回識別情報を先に記憶する方の記憶手段(カード記憶媒体2)に前回識別情報を記憶する。これによれば、上述のように、セーブ処理が中止されてしまった結果、2つの記憶手段で識別情報がずれてしまう場合でも、セーブ処理前のセーブデータを利用することが可能となる。
なお、他の実施形態においては、セーブ処理において、カード記憶媒体2よりも先にデータ記憶部15に対して今回識別情報が記憶されても(書き込まれても)よい。このとき、ゲーム装置1は、データ記憶部15に前回識別情報を記憶するようにしてもよい。これによっても、上記と同様の効果を得ることができる。また、他の実施形態においては、前回識別情報を2つの記憶手段(カード記憶媒体2およびデータ記憶部15)の両方に記憶してもよい。これによれば、2つの記憶手段のいずれに対して先に書き込みが行われる場合であっても、上記と同様の効果を得ることができる。
また、本実施形態においては、情報処理システムは、情報処理装置(ゲーム装置1)において実行されるアプリケーションのセーブデータを記憶するための第1記憶手段(カード記憶媒体2)と、第2記憶手段(データ記憶部15)とを備えている。ここで、カード記憶媒体2は、ゲーム装置1に着脱可能な記憶媒体であり、データ記憶部15は、ゲーム装置1に内蔵される記憶媒体である。したがって、本実施形態においては、ゲーム装置1に対して交換が容易なカード記憶媒体2にセーブデータを記憶することでユーザの利便性を向上することができる(例えば、ユーザは、カード記憶媒体2をより大容量のものへと容易に交換することができる。)。また、カード記憶媒体2は、交換が容易であるというメリットがあるものの、データの複製が比較的容易である。これに関して、本実施形態においては、データの複製が困難な記憶媒体に識別情報を記憶し、この識別情報を用いてセーブデータの利用の可否を判定することによって、セーブデータの不正利用の可能性を低減することができる。
(2−4:ゲーム処理)
次に、ゲーム装置1におけるゲーム処理の流れについて説明する。本実施形態においては、ゲーム処理中において、ゲーム装置1と他のゲーム装置との間で通信処理が実行され、通信処理の前後でセーブ処理が実行される。以下では、ゲーム処理の開始後にセーブデータ取得処理が実行され、その後、通信処理およびセーブ処理が実行される場合について説明する。
図4は、本実施形態におけるゲーム処理において行われる動作の流れの一例を示す図である。図4においては、ゲーム処理の開始時において、カード記憶媒体2には図2に示す場合と同様のデータ(情報)が記憶され、データ記憶部15には図2に示す場合と同様のデータ(情報)が記憶されるものとする。
ゲーム処理の開始後の所定のタイミングにおいて、ゲーム装置1は、上述したセーブデータ取得処理を実行する(ステップS11)。図4に示す例では、セーブデータ取得処理によって、セーブデータD(n)が取得され、セーブデータD(n)に基づくゲーム制御処理が実行される(ステップS12)。なお、セーブデータ取得処理は、前回にセーブを行った時からの続きのゲームを行う目的で、例えばゲームの開始時に実行される。
本実施形態においては、セーブデータD(n)に基づくゲーム制御処理の実行中において、通信処理が実行される。通信処理の内容は任意であるが、本実施形態においては、通信処理は、ゲーム装置1と他のゲーム装置との間で、ゲーム中に登場するアイテムやキャラクタをやり取りする処理である。セーブデータには、上記通信処理によって変化する情報、すなわち、上記アイテムやキャラクタを示す情報が含まれる。通信処理は、例えば、ゲーム装置1と他のゲーム装置とが通信可能な状態で、通信処理を開始する旨の指示(通信開始指示)をユーザが行ったことに応じて開始される。なお、通信処理が実行される条件および通信処理の実行タイミングは、どのようなものであってもよい。
上記指示があった場合、ゲーム装置1は、通信処理を開始する前にセーブ処理を実行する(ステップS13)。以下では、通信処理の前に実行されるセーブ処理を「処理前セーブ処理」と呼ぶ。処理前セーブ処理の具体的な処理内容は、図2に示したセーブ処理と同様である。図4に示す例においては、処理前セーブ処理によって、セーブデータD(n+1)と、今回識別情報I(n+1)と、前回識別情報I(n)とがカード記憶媒体2に記憶される。また、処理前セーブ処理によって、今回識別情報I(n+1)がデータ記憶部15に記憶される。
処理前セーブ処理は、通信開始指示に応じて自動的に実行される処理である。なお、上記「自動的に実行される」とは、「通信開始指示以外のユーザの指示が無くても実行される」という意味である。
上記処理前セーブ処理が完了した後、ゲーム装置1は通信処理を実行する(ステップS14)。通信処理によって、ゲーム装置1におけるゲーム状況は変化する(例えば、登場するアイテムやキャラクタが増減する)。その結果、セーブデータの内容は通信処理の前後で異なるものとなる。つまり、通信処理は、セーブデータとして保存される内容を変化させる処理であると言える。
本実施形態においては、通信処理は、処理前セーブ処理が完了したことを条件として実行される。すなわち、例えば処理前セーブ処理が正常に実行されずに中止された場合には、ゲーム装置1は通信処理を実行しない。なお、その後において通信開始指示がユーザによって再度行われた場合には、処理前セーブ処理が再度実行され、再度の処理前セーブ処理が(正常に)完了した場合に、通信処理が実行される。
通信処理が完了すると、ゲーム装置1は、セーブ処理を再度実行する(ステップS15)。以下では、通信処理の後(直後)に実行されるセーブ処理を「処理後セーブ処理」と呼ぶ。処理後セーブ処理の具体的な処理内容は、図2に示したセーブ処理と同様である。図4に示す例においては、処理後セーブ処理によって、セーブデータD(n+2)と、今回識別情報I(n+2)と、前回識別情報I(n+1)とがカード記憶媒体2に記憶される。また、処理前セーブ処理によって、今回識別情報I(n+2)がデータ記憶部15に記憶される。
以上のように、本実施形態においては、通信処理が実行される場合には、処理前セーブ処理および処理後セーブ処理という2回のセーブ処理が実行される。本実施形態においては、通信処理の前後で2回のセーブ処理を実行することによって、通信処理の前におけるセーブデータが不正利用される可能性を低減している。以下、図5および図6を参照して、この理由を説明する。
図5は、処理後セーブ処理が正常に実行されない場合におけるゲーム処理における動作の流れの一例を示す図である。なお、図5において、通信処理の完了までの処理(ステップS11〜S14の処理)は図4と同じであるので、説明を省略する。
図5は、処理後セーブ処理の途中において、カード記憶媒体2に対するデータ書込処理が完了した後において、何らかの理由で処理後セーブ処理が中止された場合を示している。このとき、図5に示すように、カード記憶媒体2とデータ記憶部15とで今回識別情報の内容が異なることとなる。すなわち、カード記憶媒体2には、今回識別情報I(n+2)が記憶されるのに対して、データ記憶部15には、今回識別情報I(n+1)が記憶されることになる。
ここで、処理前セーブ処理が実行されないと仮定した場合を考える。図6は、処理前データ処理が実行されないと仮定した場合におけるゲーム処理における動作の流れの一例を示す図である。図6は、処理前セーブ処理が実行されない場合であって、図5に示す場合と同様に処理後セーブ処理が正常に実行されない場合を示している。この場合、データ記憶部15には今回識別情報I(n)が記憶されることになるので、ゲーム処理開始時においてカード記憶媒体2に記憶される内容(今回識別情報I(n)に対応するセーブデータD(n))が利用可能となってしまう。ゲーム処理開始時におけるカード記憶媒体2の内容は、例えばゲーム処理の開始前にカード記憶媒体2をゲーム装置1から外して他の情報処理装置に接続することで、複製を比較的容易に行うことができる。したがって、ゲーム処理開始時におけるセーブデータD(n)が利用可能となると、ゲーム上の不正が行われてしまう可能性がある。
これに対して、本実施形態においては、処理前セーブ処理が実行されるので、処理後セーブ処理が中止された場合には、データ記憶部15に今回識別情報I(n+1)が記憶される(図5参照)。そのため、ゲーム処理開始時におけるカード記憶媒体2の内容(今回識別情報I(n)に対応するセーブデータD(n))は、利用不可能となる。このように、本実施形態によれば、通信処理が実行される場合に2回のセーブ処理を実行することによって、それより前のセーブデータ(ゲーム処理開始時のセーブデータ)の利用を不可能とすることができる。
なお、本実施形態においては、処理後セーブ処理が中止された場合、処理前セーブ処理によってカード記憶媒体2に記憶される内容(今回識別情報I(n+1)に対応するセーブデータD(n+1))は、利用可能である。しかし、本実施形態においては、処理前セーブ処理、通信処理、および処理後セーブ処理が続けて実行されるので、処理前セーブ処理によってカード記憶媒体2に記憶される内容を(ゲーム装置1とは別に)読み出して複製することは困難である。したがって、本実施形態においては、通信処理が実行される場合に2回のセーブ処理を実行することによって、通信処理前のセーブデータが不正利用される可能性を低減することができる。
なお、ゲーム装置1は、通信処理中にカード記憶媒体2が外された場合、または、通信処理中にカード記憶媒体2にアクセスがあった場合には、通信処理を中止するようにしてもよい。これによれば、処理前セーブ処理によってカード記憶媒体2に記憶される内容を複製することがより困難(または不可能)になるので、セーブデータが不正利用される可能性をより低減することができる。
以上のように、本実施形態においては、ゲームプログラムの実行中において所定の情報処理(通信処理)が実行される(ステップS14)。通信処理が実行される場合、ゲーム装置1は、通信処理の実行前にセーブデータの更新を行う(ステップS13)とともに、通信処理の実行後にセーブデータの更新を行う(ステップS15)。これによって、通信処理前のセーブデータが不正利用される可能性を低減することができる。
なお、本実施形態においては、ゲーム装置1は、通信処理の実行直前(かつ、通信開始指示の後)に処理前セーブ処理を実行したが、処理前セーブ処理の実行タイミングはこれに限らない。処理前セーブ処理は、通信処理よりも前の期間であって、カード記憶媒体2に記憶されているセーブデータが読み出し不可能な期間において実行されれば、上記と同様の効果を得ることができる。上記「読み出し不可能な期間」とは、例えば、カード記憶媒体2をゲーム装置1から外すことが禁止される(カード記憶媒体2を外すとゲーム処理が中止される)期間、または、カード記憶媒体2(セーブデータ)へのアクセスが禁止される期間である。例えば、ゲームプログラムの実行中においては、カード記憶媒体2をゲーム装置1から外すことが禁止されたり、あるいは、カード記憶媒体2へのアクセスが禁止されたりする場合には、ゲームプログラムの実行中の期間が、上記「読み出し不可能な期間」となる。
また、本実施形態においては、通信処理の実行がユーザによって指示された場合、通信処理の実行前におけるセーブデータおよび識別情報の更新(処理前セーブ処理)が完了したことを条件として通信処理が実行される。これによれば、処理前セーブ処理の開始前のセーブデータがカード記憶媒体2に残った状態で通信処理が実行されることがないので、処理前セーブ処理の開始前のセーブデータが不正利用される可能性をより低減することができる。
また、本実施形態においては、処理前セーブ処理および処理後セーブ処理の間に実行される所定の情報処理の一例として、通信処理が実行された。通信処理においては、ゲームに登場するオブジェクト(アイテムおよび/またはキャラクタ等)をやり取りする処理が行われる。例えば、オブジェクトを渡す処理として、ゲーム装置1において実行されるゲームにおいてオブジェクトを削除し、他のゲーム装置において実行されるゲームにおいて当該オブジェクトを追加する処理が実行される。ここで、このような通信処理において、仮に通信処理前のセーブデータが複製されて不正利用できるとすれば、例えば、通信処理によって他のゲーム装置に渡した(ゲーム装置1では削除された)アイテムを、ゲーム装置1においても残すことが可能となってしまう。つまり、アイテムを複製することができることになり、ゲーム上の不正が可能となってしまう。これに対して、本実施形態においては、上述のように、通信処理前のセーブデータが不正利用される可能性を低減することができるので、通信処理を用いたゲーム上の不正をより確実に防止することができる。
なお、通信処理は、ゲームに登場するオブジェクトをやり取りする処理に限らず、セーブデータとして保存される情報の内容を変化させる任意の処理であってもよい。通信処理によってセーブデータの内容が変化する場合には、通信処理前のセーブデータを用いてゲーム上の不正を行うことができる可能性があるが、そのような場合に本実施形態におけるセーブデータの記憶方法を用いることによってゲーム上の不正を低減することが可能となる。
(2−5:識別情報)
上述のように、本実施形態においては、セーブデータが更新される場合、ゲーム装置1は、更新後のセーブデータを示す識別情報を乱数に基づいて生成する。すなわち、セーブデータ毎にランダムな値となるランダム値を示す情報が識別情報として用いられる。本実施形態における識別情報は、セーブデータから推測することができない情報であると言える。このような識別情報を用いる場合には、ゲーム装置1に記憶されている今回識別情報を推測することが困難(または不可能)であるので、カード記憶媒体2に過去に記憶されていた内容を再度利用できるようにするべく識別情報を改ざんすることが困難になる。つまり、上記によれば、セーブデータの不正利用をより確実に防止することができる。なお、乱数に基づいて生成される識別情報は、上記ランダム値に限らない。例えば、他の実施形態においては、最初に生成されるセーブデータに対応する識別情報をランダム値とし、その後に生成されるセーブデータに対応する識別情報を、当該ランダム値に所定数を加算した値としてもよい。これによっても上記と同様、セーブデータの不正利用をより確実に防止することができる。
なお、識別情報は、セーブデータを識別(区別)可能な任意の情報であってよい。例えば他の実施形態においては、セーブデータが更新される場合、更新後のセーブデータを示す識別情報は、当該更新後のセーブデータに基づいて生成されてもよい。例えば、ゲーム装置1は、セーブデータのチェックサムとして利用される情報、または、セーブデータから生成されるハッシュ値の情報を、識別情報として用いてもよい。上記によれば、セーブデータから識別情報を容易に生成することができる。なお、識別情報をセーブデータから生成する場合には、ゲーム装置1は、識別情報の値をセーブデータから推測することが困難となるような方法(アルゴリズム)で識別情報を生成するとよい。
また、本実施形態においては、あるセーブデータに対応する識別情報としてカード記憶媒体2に記憶される(今回)識別情報とデータ記憶部15に記憶される(今回)識別情報とは、同じ値であった。ここで、他の実施形態においては、あるセーブデータを示す識別情報であって、カード記憶媒体2に記憶される識別情報とデータ記憶部15に記憶される識別情報とは、異なる値であってもよい。例えば、ゲーム装置1は、カード記憶媒体2に記憶される今回識別情報として上述のランダム値を設定し、データ記憶部15に記憶される今回識別情報として、予め定められた所定値から当該ランダム値を減算した値を設定してもよい。このとき、上記ステップS5の判定処理においては、2つの今回識別情報が上記所定値となるか否かによって、同じセーブデータを示す識別情報がカード記憶媒体2およびデータ記憶部15に記憶されているか否か、すなわち、セーブデータの利用が可能か否かを判定することができる。
[3.ゲーム処理の具体例]
以下、本実施形態において情報処理システム(ゲーム装置1)で実行されるゲーム処理の具体的な一例について説明する。図7は、本実施形態においてゲーム装置1(制御部11のCPU)が実行するゲーム処理の流れの一例を示すフローチャートである。本実施形態においては、図7に示す一連の処理は、制御部11のCPUが、プログラム記憶部12に記憶されるゲームプログラムを実行することによって行われる。
図11に示すゲーム処理が開始されるタイミングは任意である。本実施形態においては、ゲーム処理は、例えば上記ゲームプログラムの実行を開始する指示をユーザが行ったことに応じて開始される。また、ゲームプログラムは、適宜のタイミングでその一部または全部が制御部11のメモリに読み出され、CPUによって実行される。これによって、図7に示す一連の処理が開始される。なお、上記ゲームプログラムは、ゲーム装置1内のプログラム記憶部12に予め記憶されているものとする。ただし、他の実施形態においては、ゲームプログラムは、ゲーム装置1に着脱可能な記憶媒体から取得されてメモリに記憶されてもよいし、インターネット等のネットワークを介して他の装置から取得されてメモリに記憶されてもよい。
なお、図7および図8に示すフローチャートにおける各ステップの処理は、単なる一例に過ぎず、同様の結果が得られるのであれば、各ステップの処理順序を入れ替えてもよいし、各ステップの処理に加えて(または代えて)別の処理が実行されてもよい。また、本実施形態では、上記フローチャートの各ステップの処理をCPUが実行するものとして説明するが、上記フローチャートにおける一部のステップの処理を、CPU以外のプロセッサや専用回路が実行するようにしてもよい。
ゲーム処理においては、まずステップS20において、CPUは、カード記憶媒体2からセーブデータを取得するか否かを判定する。この判定は、例えば、以前にセーブしたゲームの続きをプレイする指示がユーザから行われたか否かによって行われる。ステップS20の判定結果が肯定である場合、ステップS21の処理が実行される。一方、ステップS21の判定結果が否定である場合、ステップS21の処理がスキップされてステップS22の処理が実行される。
ステップS21において、CPUは、上述のセーブデータ取得処理(上記ステップS4〜S6)を実行する。以下、図8を参照して、セーブデータ取得処理の詳細について説明する。
図8は、図7に示すセーブデータ取得処理(ステップS21)の詳細な流れを示すフローチャートである。セーブデータ取得処理においてはまずステップS31において、CPUは、カード記憶媒体2から今回識別情報および前回識別情報を読み出す。続くステップS32において、CPUは、データ記憶部15から今回識別情報を読み出す。読み出されたこれらの識別情報はメモリに記憶される。
ステップS33において、CPUは、上記ステップS31およびS32でメモリに記憶した識別情報を用いて、カード記憶媒体2から読み出した2つの識別情報のいずれかと、データ記憶部15から読み出した今回識別情報とが一致するか否かを判定する。ステップS33の判定結果が肯定である場合、ステップS34の処理が実行される。一方、ステップS33の判定結果が否定である場合、ステップS35の処理が実行される。
ステップS34において、CPUは、カード記憶媒体2からセーブデータを読み出し、メモリに記憶する。一方、ステップS35において、CPUは、セーブデータの利用ができない旨をユーザに通知する。例えば、「セーブデータが利用できません」といったメッセージが表示部14に表示される。上記ステップS34またはステップS35の後、CPUはセーブデータ取得処理を終了する。セーブデータ取得処理の次にステップS22の処理が実行される。
図7の説明に戻り、ステップS22において、CPUは、ユーザの操作に応じてゲームを進行するゲーム制御処理を実行する。このとき、上記ステップS21でセーブデータが取得されている場合には、メモリに記憶されたセーブデータに基づいてゲーム制御処理が実行される。例えば、セーブデータが示すゲーム状況からゲームの進行が開始されたり、セーブデータが示すプレイヤキャラクタの状態からゲームが開始されたりする。一方、セーブデータが取得されていない場合には、セーブデータを用いずにゲーム制御処理が実行される。例えば、ゲーム状況やプレイヤキャラクタの状態を初期状態としてゲームが開始される。
ステップS23において、CPUは、セーブ処理を実行するか否かを判定する。この判定は、ユーザからゲーム状態をセーブする指示があったか否か、および、ゲーム状況がセーブを行うべき所定の状態(例えば、ゲームをクリアした状態等)となったか否かによって行われる。すなわち、ユーザから上記指示があった場合、または、ゲーム状況が上記所定の状態となった場合、CPUは、セーブ処理を実行すると判定する。ステップS23の判定結果が肯定である場合、ステップS24の処理が実行される。一方、ステップS23の判定結果が否定である場合、ステップS24の処理がスキップされてステップS25の処理が実行される。
ステップS24において、CPUは、上記“(2−1:セーブ処理)”で説明したセーブ処理を実行する。ステップS24の次にステップS25の処理が実行される。
ステップS25において、CPUは、通信処理を実行するか否かを判定する。すなわち、CPUは、ゲーム装置1と他のゲーム装置とが通信可能な状態で、上述の通信開始指示がユーザによって行われたか否かを判定する。ステップS25の判定結果が肯定である場合、ステップS26の処理が実行される。一方、ステップS25の判定結果が否定である場合、ステップS26〜S28の処理がスキップされてステップS29の処理が実行される。
ステップS26において、CPUは、処理前セーブ処理を実行する。処理前セーブ処理の処理内容は、上記ステップS24におけるセーブ処理と同様である。続くステップS27において、CPUは、上記“(2−4:ゲーム処理)”で説明した通信処理を実行する。さらに、続くステップS28において、CPUは、処理後セーブ処理を実行する。処理後セーブ処理の処理内容は、上記ステップS24におけるセーブ処理と同様である。ステップS28の次にステップS29の処理が実行される。
上記ステップS26〜S28の一連の処理によって、図4に示したステップS13〜S15の一連の処理が実行されたこととなる。なお、図示しないが、セーブ処理が正常に実行されなかった場合(ゲーム装置1の電源がオフされた場合等)には、図7に示すゲーム処理自体が停止(終了)する。
ステップS29において、CPUは、ゲームを終了するか否かを判定する。この判定は、例えば、ゲームを終了する旨の指示がユーザによって行われたか否かによって行われる。ステップS29の判定結果が否定である場合、ステップS22の処理が再度実行される。以降、ステップS29においてゲームを終了すると判定されるまで、ステップS22〜S29の一連の処理が繰り返し実行される。一方、ステップS29の判定結果が肯定である場合、CPUは、図7に示すゲーム処理を終了する。
なお、上記処理例においては、セーブデータ取得処理がゲーム処理の開始時にのみ実行され得る場合を例として説明したが、他の実施形態においては、セーブデータ取得処理がゲーム処理中の適宜のタイミング(例えば、ユーザによる指示があったタイミング)で実行されてもよい。
[4.変形例]
上記実施形態においては、情報処理システムにおいて実行されるアプリケーションの一例としてゲームプログラムを例として説明を行ったが、情報処理システムにおいて実行され、そのセーブデータが記憶されるアプリケーションの種類は任意である。
上記実施形態は、不正に複製されたセーブデータが利用される可能性を低減すること等を目的として、例えばゲームシステム、ゲーム装置、およびゲームプログラム等に利用することが可能である。
1 ゲーム装置
2 カード記憶媒体
11 制御部
12 プログラム記憶部
13 入力部
14 表示部
15 データ記憶部

Claims (11)

  1. アプリケーションのセーブデータを記憶するための第1記憶手段と、
    第2記憶手段と、
    セーブデータが更新される毎に、更新後のセーブデータを識別可能な識別情報を前記第1記憶手段および前記第2記憶手段に記憶する第1記憶制御手段と、
    セーブデータが更新される毎に、更新前のセーブデータに対応する識別情報を前記第1記憶手段および前記第2記憶手段の少なくとも一方に記憶する第2記憶制御手段と、
    同じセーブデータを示す識別情報が前記第1記憶手段および前記第2記憶手段に記憶されていることを少なくとも条件として、前記第1記憶手段に記憶されているセーブデータの利用を可能とする利用制御手段とを備える、情報処理システム。
  2. アプリケーションの実行中において所定の情報処理を実行する処理実行手段と、
    前記所定の情報処理が実行される場合、当該情報処理の実行前にセーブデータの更新を行うとともに、前記所定の情報処理の実行後にセーブデータの更新を行う更新手段をさらに備える、請求項1に記載の情報処理システム。
  3. 前記処理実行手段は、前記所定の情報処理の実行がユーザによって指示された場合、当該所定の情報処理の実行前におけるセーブデータおよび識別情報の更新が完了したことを条件として当該所定の情報処理を実行する、請求項2に記載の情報処理システム。
  4. 前記セーブデータは、アプリケーションにおいて登場するオブジェクトを示す情報を含み、
    前記所定の情報処理は、前記情報処理システムと他の情報処理システムとの間で通信を行う処理であって、前記情報処理システムにおいて実行されるアプリケーションにおいて前記オブジェクトを削除し、前記他の情報処理システムにおいて実行されるアプリケーションにおいて当該オブジェクトを追加する処理である、請求項2または請求項3に記載の情報処理システム。
  5. セーブデータが更新される場合、更新後のセーブデータを示す識別情報を乱数に基づいて生成する識別情報生成手段をさらに備える、請求項1から請求項4のいずれか1項に記載の情報処理システム。
  6. セーブデータが更新される場合、更新後のセーブデータを示す識別情報を、当該更新後のセーブデータに基づいて生成する識別情報生成手段をさらに備える、請求項1から請求項4のいずれか1項に記載の情報処理システム。
  7. 前記第2記憶制御手段は、前記更新前のセーブデータに対応する識別情報を前記第1記憶手段および前記第2記憶手段のいずれか一方に記憶し、
    前記第1記憶制御手段は、セーブデータが更新される場合、前記第1記憶手段および前記第2記憶手段のうち、前記更新前のセーブデータに対応する識別情報を記憶する記憶手段に対して先に、他方の記憶手段に対しては後で、更新後のセーブデータに対応する識別情報を記憶する、請求項1から請求項6のいずれか1項に記載の情報処理システム。
  8. 前記情報処理システムは、前記アプリケーションを実行する情報処理装置を含み、
    前記第1記憶手段は、前記情報処理装置に着脱可能な記憶媒体であり、
    前記第2記憶手段は、前記情報処理装置に内蔵される記憶媒体である、請求項1から請求項7のいずれか1項に記載の情報処理システム。
  9. アプリケーションのセーブデータを記憶するための第1記憶手段と、第2記憶手段とにアクセス可能な情報処理装置であって、
    セーブデータが更新される毎に、更新後のセーブデータを識別可能な識別情報を前記第1記憶手段および前記第2記憶手段に記憶する第1記憶制御手段と、
    セーブデータが更新される毎に、更新前のセーブデータに対応する識別情報を前記第1記憶手段および前記第2記憶手段の少なくとも一方に記憶する第2記憶制御手段と、
    同じセーブデータを示す識別情報が前記第1記憶手段および前記第2記憶手段に記憶されていることを少なくとも条件として、前記第1記憶手段に記憶されているセーブデータの利用を可能とする利用制御手段とを備える、情報処理装置。
  10. アプリケーションのセーブデータを記憶するための第1記憶手段と、第2記憶手段とにアクセス可能な情報処理装置のコンピュータにおいて実行される情報処理プログラムであって、
    セーブデータが更新される毎に、更新後のセーブデータを識別可能な識別情報を前記第1記憶手段および前記第2記憶手段に記憶する第1記憶制御手段と、
    セーブデータが更新される毎に、更新前のセーブデータに対応する識別情報を前記第1記憶手段および前記第2記憶手段の少なくとも一方に記憶する第2記憶制御手段と、
    同じセーブデータを示す識別情報が前記第1記憶手段および前記第2記憶手段に記憶されていることを少なくとも条件として、前記第1記憶手段に記憶されているセーブデータの利用を可能とする利用制御手段として前記コンピュータを機能させる、情報処理プログラム。
  11. アプリケーションのセーブデータを記憶するための第1記憶手段と、第2記憶手段とにアクセス可能な情報処理システムにおいて実行される、セーブデータの記憶方法であって、
    セーブデータが更新される毎に、更新後のセーブデータを識別可能な識別情報を前記第1記憶手段および前記第2記憶手段に記憶する第1記憶制御ステップと、
    セーブデータが更新される毎に、更新前のセーブデータに対応する識別情報を前記第1記憶手段および前記第2記憶手段の少なくとも一方に記憶する第2記憶制御ステップと、
    同じセーブデータを示す識別情報が前記第1記憶手段および前記第2記憶手段に記憶されていることを少なくとも条件として、前記第1記憶手段に記憶されているセーブデータの利用を可能とする利用制御ステップとを備える、セーブデータの記憶方法。
JP2013210762A 2013-10-08 2013-10-08 情報処理システム、情報処理装置、情報処理プログラム、およびセーブデータの記憶方法 Active JP6194221B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2013210762A JP6194221B2 (ja) 2013-10-08 2013-10-08 情報処理システム、情報処理装置、情報処理プログラム、およびセーブデータの記憶方法
US14/487,572 US9542569B2 (en) 2013-10-08 2014-09-16 Information processing system, information processing apparatus, storage medium having stored therein information processing program, and method of storing saved data

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013210762A JP6194221B2 (ja) 2013-10-08 2013-10-08 情報処理システム、情報処理装置、情報処理プログラム、およびセーブデータの記憶方法

Publications (2)

Publication Number Publication Date
JP2015075853A JP2015075853A (ja) 2015-04-20
JP6194221B2 true JP6194221B2 (ja) 2017-09-06

Family

ID=52777893

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013210762A Active JP6194221B2 (ja) 2013-10-08 2013-10-08 情報処理システム、情報処理装置、情報処理プログラム、およびセーブデータの記憶方法

Country Status (2)

Country Link
US (1) US9542569B2 (ja)
JP (1) JP6194221B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6647855B2 (ja) * 2015-12-22 2020-02-14 任天堂株式会社 データ交換システム、情報処理装置、データ交換プログラムおよびデータ交換方法

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7572188B1 (en) * 1998-12-28 2009-08-11 Kabushiki Kaisha Sega Enterprises Backup memory managing device backup memory managing method game machine and recorded medium
JP2002189636A (ja) * 2000-12-20 2002-07-05 Sega Corp セキュリティシステム
JP3888629B2 (ja) * 2002-11-18 2007-03-07 任天堂株式会社 データ書き込みプログラム、ゲームシステムおよびデータ書き込み方法
JPWO2008026238A1 (ja) * 2006-08-28 2010-01-14 三菱電機株式会社 データ処理システム及びデータ処理方法及びプログラム
JP4563482B2 (ja) 2008-12-22 2010-10-13 任天堂株式会社 ゲーム装置およびゲームプログラム
JP4917625B2 (ja) * 2009-03-31 2012-04-18 株式会社コナミデジタルエンタテインメント ゲーム管理プログラム、ゲーム装置、及びゲーム管理方法

Also Published As

Publication number Publication date
JP2015075853A (ja) 2015-04-20
US9542569B2 (en) 2017-01-10
US20150100710A1 (en) 2015-04-09

Similar Documents

Publication Publication Date Title
JP2014000103A (ja) ゲームシステム
JP4893167B2 (ja) 認証方法
CN111651239A (zh) 一种虚拟机克隆方法、装置、设备、介质
JP6194221B2 (ja) 情報処理システム、情報処理装置、情報処理プログラム、およびセーブデータの記憶方法
JP2009075972A5 (ja)
JP3619220B2 (ja) ゲームプログラム、及び装置
CN111399996A (zh) 一种业务数据的批量操作方法、装置及其相关设备
CN112988880A (zh) 数据同步方法、装置、电子设备及计算机存储介质
CN106611109A (zh) 一种存储设备上的软件的运行方法
CN112036133B (zh) 一种文件保存方法、装置、电子设备及存储介质
CN110008175A (zh) 一种分布式对象存储快照方法、系统、设备及计算机介质
JP5671642B2 (ja) ゲームシステム
JP4477411B2 (ja) 印刷装置、印刷装置におけるデータの消去方法およびプログラムならびに記録媒体
CN112380810A (zh) 一种兑换码生成方法及系统
CN102236748A (zh) 一种计算机软件保护方法
JP2009122749A (ja) プログラム、可搬記憶媒体及び制御方法
JP6134351B2 (ja) ゲームシステム
CN107862095B (zh) 一种数据处理方法及装置
JP6282197B2 (ja) 記憶装置、方法及びプログラム
CN109213526A (zh) 用于确定处理器操作的方法及装置
JP7014613B2 (ja) プログラム及びゲーム装置
JP6429934B2 (ja) ゲームシステム
CN117742586A (zh) 数据存储方法、装置、计算机设备和存储介质
CN117828686A (zh) 一种存储设备的安全保护方法、装置、设备及存储介质
CN115563141A (zh) 一种数据更新方法及装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160906

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170731

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: 20170802

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170814

R150 Certificate of patent or registration of utility model

Ref document number: 6194221

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250