JP2008073259A - Game apparatus - Google Patents

Game apparatus Download PDF

Info

Publication number
JP2008073259A
JP2008073259A JP2006256519A JP2006256519A JP2008073259A JP 2008073259 A JP2008073259 A JP 2008073259A JP 2006256519 A JP2006256519 A JP 2006256519A JP 2006256519 A JP2006256519 A JP 2006256519A JP 2008073259 A JP2008073259 A JP 2008073259A
Authority
JP
Japan
Prior art keywords
game
data
state
information
processing unit
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.)
Pending
Application number
JP2006256519A
Other languages
Japanese (ja)
Inventor
Shinichi Tanaka
真一 田中
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.)
Sony Interactive Entertainment Inc
Original Assignee
Sony Computer Entertainment 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 Sony Computer Entertainment Inc filed Critical Sony Computer Entertainment Inc
Priority to JP2006256519A priority Critical patent/JP2008073259A/en
Priority to PCT/JP2007/000763 priority patent/WO2008035453A1/en
Priority to US12/439,041 priority patent/US20090258712A1/en
Publication of JP2008073259A publication Critical patent/JP2008073259A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • A63F13/10
    • 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/45Controlling the progress of the video 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
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/50Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers
    • A63F2300/55Details of game data or player data management
    • A63F2300/5526Game data structure
    • A63F2300/554Game data structure by saving game or status data
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/80Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game specially adapted for executing a specific type of game
    • A63F2300/8058Virtual breeding, e.g. tamagotchi

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Stored Programmes (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To provide save data easy to be handled by a game program. <P>SOLUTION: A saving API (Application Programming Interface) process module 300a is constituted by calling a save data utility function for data saving by an application process part 124. A state acquisition part 310 acquires state information indicating the state of execution environment of a game program, and an addition processing part 324 adds the acquired state information to the game data acquired by a game data acquisition part 322 and stores it in a hard disk. On the other hand, an additional information acquisition part 342 in a loading API process module 300b acquires the additional information from the save data, and a determination part 344 determines consistency between the present state information and the additional information. The determination result is notified to the application processing part 124 by a notification part 346. <P>COPYRIGHT: (C)2008,JPO&INPIT

Description

本発明は、ゲームアプリケーションを実行するゲーム装置に関し、特にゲームデータをセーブおよび/またはロードする機能を備えたゲーム装置に関する。   The present invention relates to a game apparatus that executes a game application, and more particularly to a game apparatus having a function of saving and / or loading game data.

ユーザは、ゲームプレイの進行状況を記憶装置に格納(セーブ)しておくことで、記憶装置に格納したゲームデータを用いて、前回の続きからゲームをプレイすることができる。セーブデータは、たとえばゲームアプリケーションに対応付けられたディレクトリに格納される。ゲーム装置は、実行するゲームアプリケーションに対応付けられるディレクトリからセーブデータを内部メモリにロードする。   The user can play the game from the previous continuation by using the game data stored in the storage device by storing (saving) the progress of the game play in the storage device. The save data is stored, for example, in a directory associated with the game application. The game device loads the save data from the directory associated with the game application to be executed into the internal memory.

たとえば育成シミュレーションゲームは、時間をかけてキャラクタを成長させることを楽しませるゲームであるが、成長したキャラクタのセーブデータが実行ユーザ以外のユーザに対して複製されると、そのユーザは、いきなり高いレベルのキャラクタデータを取得できることになり、ゲームの意味が台無しにされる。他の種類のゲームでも事情は同じであり、セーブデータの複製が安易に行われるようになると、自力でゲームを進行させようとする意欲が減退するため、ゲームアプリケーションの価値を低減することにもつながる。   For example, the breeding simulation game is a game that enjoys growing a character over time, but when the saved data of the grown character is copied to a user other than the execution user, the user suddenly has a high level. Character data can be acquired, and the meaning of the game is ruined. The situation is the same in other types of games, and when save data is copied easily, the willingness to advance the game on its own will decline, so the value of the game application can also be reduced Connected.

このような事情のもとでは、ゲーム装置が、ゲームアプリケーションに対して、必要な場合に何らかの対策を講じることができるような環境を提供することが好ましい。なお、他人の高レベルなセーブデータを複製したいという要望の度合いは、ゲームアプリケーションにより異なるため、ゲーム装置により提供される環境を利用するか否かは、ゲームアプリケーションごとに設定されることが好ましい。   Under such circumstances, it is preferable to provide an environment in which the game device can take some measures against the game application when necessary. It should be noted that since the degree of desire to copy other people's high-level save data differs depending on the game application, it is preferable to set for each game application whether to use the environment provided by the game device.

そこで本発明は、ゲームプログラムが所望の処理を可能とするセーブデータに関する技術を提供することを目的とし、またそのようなセーブデータを処理する技術を提供することを目的とする。   Accordingly, an object of the present invention is to provide a technique related to save data that allows a game program to perform a desired process, and to provide a technique for processing such save data.

上記課題を解決するために、本発明のある態様のゲーム装置は、ゲームプログラムを実行するアプリケーション処理部と、ゲーム進行に関するゲームデータを記憶装置にセーブするセーブ処理部と、セーブデータを記憶装置からロードするロード処理部と、ゲームプログラムの実行環境の状態を示す状態情報を取得する状態取得部とを備える。セーブ処理部は、状態取得部により取得された状態情報を、ゲームデータに付加情報として付加して記憶装置に記憶する付加処理部を備え、ロード処理部は、記憶装置に記憶されたゲームデータから付加情報を取得する付加情報取得部と、状態取得部により取得された状態情報と、付加情報取得部により取得された対応する付加情報との一致性を判定する判定部と、判定結果をアプリケーション処理部に通知する通知部とを備える。   In order to solve the above problems, a game device according to an aspect of the present invention includes an application processing unit that executes a game program, a save processing unit that saves game data related to game progress in a storage device, and save data from the storage device. A load processing unit for loading, and a state acquisition unit for acquiring state information indicating a state of an execution environment of the game program. The save processing unit includes an additional processing unit that adds the state information acquired by the state acquisition unit as additional information to the game data and stores the additional information in the storage device. The load processing unit is configured to store the game data stored in the storage device. An additional information acquisition unit that acquires additional information, a determination unit that determines the consistency between the state information acquired by the state acquisition unit, and the corresponding additional information acquired by the additional information acquisition unit, and the determination result as an application process A notification unit for notifying the unit.

なお、以上の構成要素の任意の組合せ、本発明の表現を方法、装置、システム、記録媒体、コンピュータプログラムなどの間で変換したものもまた、本発明の態様として有効である。   It should be noted that any combination of the above-described constituent elements and a conversion of the expression of the present invention between a method, an apparatus, a system, a recording medium, a computer program, etc. are also effective as an aspect of the present invention.

本発明の情報処理技術によると、ゲームプログラムが所望の処理を可能とするセーブデータに関する技術を提供することができ、またそのようなセーブデータを処理する技術を提供することが可能となる。   According to the information processing technique of the present invention, it is possible to provide a technique related to save data that enables a game program to perform a desired process, and to provide a technique for processing such save data.

図1は、本発明の実施例にかかるゲームシステムを示す。ゲームシステム1は、ゲームアプリケーションを実行するゲーム装置10と、ゲーム装置10における処理結果を出力する出力装置12とを備える。   FIG. 1 shows a game system according to an embodiment of the present invention. The game system 1 includes a game device 10 that executes a game application, and an output device 12 that outputs a processing result in the game device 10.

ゲーム装置10は、ゲームアプリケーションを処理して、ゲームアプリケーションの処理結果を示す画像信号および音声信号を生成する情報処理装置である。ゲーム装置10は、少なくとも1つの出力装置12に接続して、出力装置12に映像を表示し、また音声を出力する。出力装置12は、画像を出力するディスプレイ部を有して構成され、さらに音声を出力する音声出力部を有するテレビであってよい。出力装置12は、ゲーム装置10に有線ケーブルで接続されてよく、また無線LAN(Local Area Network)などにより無線接続されてもよい。   The game apparatus 10 is an information processing apparatus that processes a game application and generates an image signal and an audio signal indicating the processing result of the game application. The game apparatus 10 is connected to at least one output device 12, displays video on the output device 12, and outputs sound. The output device 12 may be a television set that includes a display unit that outputs an image and further includes an audio output unit that outputs audio. The output device 12 may be connected to the game device 10 by a wired cable, or may be wirelessly connected by a wireless LAN (Local Area Network) or the like.

図2は、ゲーム装置10の機能ブロック図を示す。ゲーム装置10は、電源ボタン20、LED22、システムコントローラ24、デバイスコントローラ30、メディアドライブ32、ハードディスクドライブ34、スイッチ36、無線インタフェース38、メインコントローラ100、メインメモリ102および出力処理部200を有して構成される。ゲーム装置10は、自身を識別するための識別情報(以下、「本体ID」とよぶ)をフラッシュメモリに保持している。   FIG. 2 shows a functional block diagram of the game apparatus 10. The game apparatus 10 includes a power button 20, an LED 22, a system controller 24, a device controller 30, a media drive 32, a hard disk drive 34, a switch 36, a wireless interface 38, a main controller 100, a main memory 102, and an output processing unit 200. Composed. The game apparatus 10 holds identification information (hereinafter referred to as “main body ID”) for identifying itself in the flash memory.

電源ボタン20は、ユーザからの操作入力が行われる入力部であって、ゲーム装置10への電源供給をオンまたはオフするために操作される。電源ボタン20は押下ボタンであってよく、押下されることで電源のオンまたはオフが制御されてもよい。なお電源ボタン20は、タッチセンサなど、ユーザが電源のオンオフを行える他の構造をとってもよい。LED22は、電源のオンまたはオフの状態を点灯表示する。システムコントローラ24は、電源ボタン20の押下状態または非押下状態を検出し、電源オフの状態から押下状態への状態遷移を検出すると、メインコントローラ100を起動して、オペレーティングシステムのブートシーケンスを立ち上げるとともに、LED22を点灯制御する。ゲーム装置10に電源ケーブルが差し込まれている場合、システムコントローラ24は、電源オフの状態であってもスタンバイモードを維持して、電源ボタン20の押下を監視する。   The power button 20 is an input unit where an operation input from the user is performed, and is operated to turn on or off the power supply to the game apparatus 10. The power button 20 may be a push button, and the power on or off may be controlled by being pressed. The power button 20 may have another structure such as a touch sensor that allows the user to turn on / off the power. The LED 22 illuminates and displays the power on / off state. When the system controller 24 detects the pressed state or the non-pressed state of the power button 20 and detects a state transition from the power-off state to the pressed state, the system controller 24 starts up the main controller 100 and starts up the operating system boot sequence. At the same time, the lighting of the LED 22 is controlled. When the power cable is inserted into the game apparatus 10, the system controller 24 maintains the standby mode even when the power is off and monitors the pressing of the power button 20.

デバイスコントローラ30は、サウスブリッジのようにデバイス間の情報の受け渡しを実行するLSI(Large-Scale Integrated Circuit)として構成される。図示のように、デバイスコントローラ30には、システムコントローラ24、メディアドライブ32、ハードディスクドライブ34、スイッチ36およびメインコントローラ100などのデバイスが接続される。デバイスコントローラ30は、それぞれのデバイスの電気特性の違いやデータ転送速度の差を吸収し、データ転送のタイミングを制御する。   The device controller 30 is configured as an LSI (Large-Scale Integrated Circuit) that exchanges information between devices like a south bridge. As illustrated, devices such as a system controller 24, a media drive 32, a hard disk drive 34, a switch 36, and the main controller 100 are connected to the device controller 30. The device controller 30 absorbs the difference in electrical characteristics of each device and the difference in data transfer speed, and controls the timing of data transfer.

メディアドライブ32は、ゲームプログラムを記録したメディア50を駆動して、メディア50からゲームプログラムを読み出すドライブ装置である。メディア50は、光ディスクや光磁気ディスク、ブルーレイディスクなどの記録媒体であり、メディアドライブ32に挿入されてゲームプログラムの供給媒体として利用される。メディア50は、自身を識別するための識別情報(以下、「メディアID」とよぶ)を所定の格納領域に記録している。メディアIDは、メディア固有の番号であり、メディアごとに異なっている。なおメディアIDは、ゲームプログラムを記録可能な記録媒体の全てに付与されてもよく、たとえばハードディスクやフラッシュメモリ140など、内蔵型の記録媒体に付与されてもよい。以下では、説明の便宜上、記録媒体を代表してメディア50にメディアIDが付与されている例について示す。   The media drive 32 is a drive device that drives a medium 50 that records a game program and reads the game program from the medium 50. The medium 50 is a recording medium such as an optical disc, a magneto-optical disc, or a Blu-ray disc, and is inserted into the media drive 32 to be used as a game program supply medium. The medium 50 records identification information (hereinafter referred to as “media ID”) for identifying itself in a predetermined storage area. The media ID is a number unique to the media and is different for each media. The media ID may be assigned to all recording media capable of recording the game program, and may be assigned to a built-in recording medium such as a hard disk or a flash memory 140, for example. In the following, for convenience of explanation, an example in which a media ID is assigned to the medium 50 on behalf of the recording medium will be described.

ゲームプログラムは、ゲームアプリケーションを実行させる実行プログラムと、ゲームアプリケーションを特定するための情報(以下、「アプリケーションID」とよぶ)を含んでいる。実行プログラムは、アプリケーション処理に必要なプログラムであり、実行プログラムを走らせることで、ゲームアプリケーションが進行する。アプリケーションIDは、ゲームアプリケーションの種類ごとに設定され、メディア50の所定の格納領域に記録されている。   The game program includes an execution program for executing a game application and information for specifying the game application (hereinafter referred to as “application ID”). The execution program is a program necessary for application processing, and the game application proceeds by running the execution program. The application ID is set for each type of game application and is recorded in a predetermined storage area of the medium 50.

ハードディスクドライブ34は、内蔵ハードディスクを駆動して、データの書込/読出を行うドライブ装置である。ゲーム装置10において、ゲーム進行に関するゲームデータは、内蔵ハードディスクに格納(セーブ)される。ゲームデータには、ゲームプレイの進行状況を表すデータ、ゲームのハイスコアデータ、キャラクタデータなどが含まれる。なお、これらのデータが全てハードディスクにセーブされる必要はなく、ゲームアプリケーションごとにセーブされるゲームデータが設定される。   The hard disk drive 34 is a drive device that drives a built-in hard disk to write / read data. In the game apparatus 10, game data relating to game progress is stored (saved) in an internal hard disk. The game data includes data representing the progress of game play, high score data of the game, character data, and the like. It is not necessary to save all these data in the hard disk, and game data to be saved is set for each game application.

スイッチ36は、イーサネットスイッチ(イーサネットは登録商標)であって、外部の機器と有線または無線で接続して、情報の送受信を行うデバイスである。ゲーム装置10は、スイッチ36を介して外部のインターネットなどのネットワークに接続できる。本実施例において、外部ネットワークには、配信サーバが設けられ、たとえばゲーム装置10は、アプリケーションをサーバからダウンロードすることができる。このとき、ユーザはサーバにユーザ登録する必要があり、ユーザを特定するための情報(以下、「ユーザID」とよぶ)が設定される。設定されたユーザIDは、配信サービスの提供を受ける際に必要となるが、ゲーム装置10において、ユーザを一意に特定するための情報としても利用される。そのため、ゲーム装置10は、配信サーバから通知されるユーザIDをフラッシュメモリに格納する。なお、サーバにユーザ登録をしていないユーザは、ユーザIDを有していない。   The switch 36 is an Ethernet switch (Ethernet is a registered trademark), and is a device that transmits and receives information by connecting to an external device in a wired or wireless manner. The game apparatus 10 can be connected to an external network such as the Internet via the switch 36. In the present embodiment, a distribution server is provided in the external network, and for example, the game apparatus 10 can download an application from the server. At this time, the user needs to register as a user in the server, and information for identifying the user (hereinafter referred to as “user ID”) is set. The set user ID is required when receiving the provision of the distribution service, but is also used as information for uniquely identifying the user in the game apparatus 10. Therefore, the game apparatus 10 stores the user ID notified from the distribution server in the flash memory. A user who has not registered as a user in the server does not have a user ID.

スイッチ36は無線インタフェース38に接続し、無線インタフェース38は、Bluetooth(登録商標)プロトコルやIEEE802.11プロトコルなどの通信プロトコルで無線通信機能をもつゲームコントローラ40と接続する。ゲームコントローラ40は、ユーザからの操作入力が行われる入力部として機能する。   The switch 36 is connected to a wireless interface 38, and the wireless interface 38 is connected to a game controller 40 having a wireless communication function using a communication protocol such as a Bluetooth (registered trademark) protocol or an IEEE802.11 protocol. The game controller 40 functions as an input unit through which an operation input from the user is performed.

メインコントローラ100は、マルチコアCPUを備え、1つのCPUの中に1つの汎用的なプロセッサコアと、複数のシンプルなプロセッサコアを有する。本実施例では、汎用プロセッサコアをPPU(Power Processing Unit)と呼び、残りのプロセッサコアをSPU(Synergistic-Processing Unit)と呼ぶ。   The main controller 100 includes a multi-core CPU, and includes one general-purpose processor core and a plurality of simple processor cores in one CPU. In this embodiment, the general-purpose processor core is called a PPU (Power Processing Unit), and the remaining processor cores are called SPUs (Synergistic-Processing Units).

メインコントローラ100では、ゲーム装置10を効率よく使用するための機能、環境を提供し、装置全体を統括的に制御するオペレーティングシステム(以下、単に「OS(Operating System)」と呼ぶ)が実行される。OS上では、複数のアプリケーションソフトウェアを実行できる。本実施例におけるゲーム装置10のOS階層は、上位から、ユーザ層、カーネル(Kernel)層、ハイパーバイザ(Hypervisor)層の3階層をとる。ゲーム装置10において、ユーザ層、カーネル層とハイパーバイザ層のソフトウェアが一体となって、ゲーム装置10の「OS」として機能する。ハイパーバイザ層を管理するソフトウェアのことを「特権ソフトウェア」とよぶ。ハイパーバイザ層は最下層の機能を担当し、電源ボタン20より電源投入されると、特権ソフトウェアにより必ず最初に優先起動される。   The main controller 100 executes an operating system (hereinafter simply referred to as “OS (Operating System)”) that provides functions and an environment for efficiently using the game apparatus 10 and comprehensively controls the entire apparatus. . A plurality of application software can be executed on the OS. The OS hierarchy of the game apparatus 10 in the present embodiment takes three layers from the top: the user layer, the kernel (Kernel) layer, and the hypervisor (Hypervisor) layer. In the game device 10, the software of the user layer, the kernel layer, and the hypervisor layer are integrated to function as an “OS” of the game device 10. Software that manages the hypervisor layer is called "privileged software". The hypervisor layer is in charge of the function of the lowest layer, and when power is turned on from the power button 20, it is always preferentially activated by privileged software.

図3は、OS階層を示す。電源ボタン20により電源投入されると、システムコントローラ24は、デバイスコントローラ30を経由して、メインコントローラ100および出力処理部200などに電源を供給する。メインコントローラ100に電源が供給されると、PPUは、まずOSのブートローダを実行して特権ソフトウェアを読み出し、特権ソフトウェアによりホストOSのハイパーバイザ層を起動する。つづいて、PPUは、OSのカーネル層を起動し、さらにユーザ層を起動して、メディア50から供給されるゲームプログラムの受入態勢を整える。   FIG. 3 shows the OS hierarchy. When the power is turned on by the power button 20, the system controller 24 supplies power to the main controller 100 and the output processing unit 200 via the device controller 30. When power is supplied to the main controller 100, the PPU first executes the OS boot loader to read the privileged software, and starts up the hypervisor layer of the host OS with the privileged software. Subsequently, the PPU activates the kernel layer of the OS and further activates the user layer to prepare for accepting a game program supplied from the medium 50.

本実施例のゲーム装置10は、複数のOSを搭載してもよい。そのときは、図3に示すOSがホストOSとして機能し、ホストOSのハイパーバイザ層に作成された仮想マシン上でゲストOSを動作させる機能をもつ。メインコントローラ100による管理上、仮想マシン環境とゲストOSは、ホストOS上で動作するプログラムであるため、ゲストOSを動作させるためには、ホストOSのハイパーバイザ層が常に起動している必要がある。ホストOSの起動はPPUにより実行されるが、SPUと協同して実行されてもよい。   The game apparatus 10 of the present embodiment may be equipped with a plurality of OSs. At that time, the OS shown in FIG. 3 functions as the host OS, and has a function of operating the guest OS on the virtual machine created in the hypervisor layer of the host OS. For management by the main controller 100, the virtual machine environment and the guest OS are programs that operate on the host OS. Therefore, in order to operate the guest OS, the hypervisor layer of the host OS must always be activated. . The activation of the host OS is executed by the PPU, but may be executed in cooperation with the SPU.

カーネル層はシステムのリソースを管理し、他のプログラムがそれらのリソースを使って動作できるようにする。具体的にカーネル層は、メモリ、CPUや他のデバイスを含めたハードウェアと、上位のソフトウェアの間の通信を管理し、OSの中核部分を構成する。   The kernel layer manages system resources and allows other programs to operate using those resources. Specifically, the kernel layer manages communication between hardware including a memory, a CPU and other devices, and upper software, and constitutes the core part of the OS.

ユーザ層は、アプリケーションプログラムを効率的に実行できるように、カーネル層との間の橋渡しを行う。ユーザ層は、複数の機能モジュールから構成されてよく、ゲームプログラムに提供するAPI(アプリケーションプログラミングインタフェース)の機能を実現するAPI処理モジュールも含まれる。APIは、プログラミングのためのインターフェースであり、プログラム作成時の規則を生成する。本実施例では、ゲームデータをセーブするためのセーブプログラム、およびセーブデータをロードするためのロードプログラムがライブラリ(以下、「セーブデータユーティリティ」とよぶ)として用意され、セーブデータユーティリティ関数を呼び出すことで、API処理モジュールが構成される。セーブ用またはロード用のAPI処理モジュールを構成することで、ゲームプログラムがゲームデータをハードディスクにセーブし、またハードディスクからセーブデータをロードすることが可能となる。本実施例のゲーム装置10は複数のタイプのセーブ/ロード処理機能を有しており、ハードディスクには、実行する処理に応じたセーブデータユーティリティ関数が用意される。   The user layer bridges with the kernel layer so that the application program can be executed efficiently. The user layer may be composed of a plurality of function modules, and includes an API processing module that realizes an API (application programming interface) function provided to the game program. The API is an interface for programming, and generates rules when creating a program. In this embodiment, a save program for saving game data and a load program for loading save data are prepared as a library (hereinafter referred to as “save data utility”), and the save data utility function is called. , An API processing module is configured. By configuring an API processing module for saving or loading, it becomes possible for the game program to save game data on the hard disk and load save data from the hard disk. The game apparatus 10 of this embodiment has a plurality of types of save / load processing functions, and a save data utility function corresponding to the processing to be executed is prepared on the hard disk.

以下、ゲーム装置10における複数種類のセーブ処理、ロード処理の概略を説明する。なお、以下のセーブ処理、ロード処理のそれぞれに対してセーブデータユーティリティ関数が用意され、ゲームプログラムが要求するセーブデータユーティリティ関数が呼び出されることで、OSのユーザ層にAPI処理モジュールが構成される。これにより、ゲームプログラムが所望するセーブ処理またはロード処理が実行可能となる。   Hereinafter, an outline of a plurality of types of save processing and load processing in the game apparatus 10 will be described. A save data utility function is prepared for each of the following save processing and load processing, and an API processing module is configured in the OS user layer by calling a save data utility function requested by the game program. Thereby, the save process or the load process desired by the game program can be executed.

(1)リスト選択型セーブ/ロード処理
リスト選択型セーブ処理(ListSave())では、既存のセーブデータのリストをユーザに提示して、いずれかのセーブデータに上書き保存するか、または新規作成するかをユーザに選択させる。
リスト選択型ロード処理(ListLoad())では、既存のセーブデータのリストをユーザに提示して、ユーザが選択したセーブデータをロードする。
(1) List selection type save / load processing In the list selection type save processing (ListSave ()), a list of existing save data is presented to the user, and any of the save data is overwritten or newly created. Let the user select
In the list selection type load process (ListLoad ()), a list of existing save data is presented to the user, and the save data selected by the user is loaded.

(2)固定型セーブ/ロード処理
固定型セーブ処理(FixedSave())では、アプリケーションが指定した1つのセーブデータをユーザに提示して、そのセーブデータに上書き保存する。
固定型ロード処理(FixedLoad())では、アプリケーションが指定した1つのセーブデータをユーザに提示して、そのセーブデータをロードする。
(2) Fixed type save / load process In the fixed type save process (FixedSave ()), one save data designated by the application is presented to the user, and the save data is overwritten and saved.
In the fixed load processing (FixedLoad ()), one save data designated by the application is presented to the user, and the save data is loaded.

(3)オートセーブ/ロード処理
オートセーブ処理(AutoSave())では、1つのセーブデータをアプリケーションが指定し、ユーザに提示することなく、そのセーブデータに上書き保存する。
オートロード処理(AutoLoad())では、1つのセーブデータをアプリケーションが指定し、ユーザに提示することなく、そのセーブデータをロードする。
(3) Auto save / load process In the auto save process (AutoSave ()), one save data is designated by the application, and the save data is overwritten and saved without presenting it to the user.
In the autoload process (AutoLoad ()), one save data is designated by the application, and the save data is loaded without presenting it to the user.

メインコントローラ100は、メインメモリ102に接続するメモリコントローラを備える。PPUはレジスタを有し、演算実行主体としてメインプロセッサを備えて、各アプリケーションにおける基本処理単位としてのタスクを各SPUに効率的に割り当てる。なお、PPU自身がタスクを実行してもよい。SPUはレジスタを有し、演算実行主体としてのサブプロセッサとローカルな記憶領域としてのローカルメモリ(専用RAM)を備える。SPUは制御ユニットとして専用のDMA(Direct Memory Access)コントローラをもち、メインメモリ102とローカルメモリの間のデータ転送を行うことで、データを高速にストリーム処理でき、また出力処理部200に内蔵されるフレームメモリとローカルメモリの間で高速なデータ転送を実現できる。   The main controller 100 includes a memory controller connected to the main memory 102. The PPU has a register, has a main processor as an operation execution subject, and efficiently assigns a task as a basic processing unit in each application to each SPU. Note that the PPU itself may execute the task. The SPU has a register, and includes a sub-processor as an operation execution subject and a local memory (dedicated RAM) as a local storage area. The SPU has a dedicated DMA (Direct Memory Access) controller as a control unit, and can transfer data at high speed by transferring data between the main memory 102 and the local memory, and is built in the output processing unit 200. High-speed data transfer can be realized between the frame memory and the local memory.

出力処理部200は、出力装置12に接続されて、アプリケーションの処理結果である映像信号および音声信号を出力する。出力処理部200は、画像処理機能を実現するGPU(Graphics Processing Unit)を備える。GPUは、HDMI(High Definition Multimedia Interface)を採用し、アナログを介さずに、映像信号をデジタル出力できる。   The output processing unit 200 is connected to the output device 12 and outputs a video signal and an audio signal that are processing results of the application. The output processing unit 200 includes a GPU (Graphics Processing Unit) that realizes an image processing function. The GPU employs HDMI (High Definition Multimedia Interface) and can digitally output a video signal without using analog.

図4は、メインコントローラ100の内部構成を示す。メインコントローラ100は、入力受付部104、実行処理部120、フラッシュメモリ140、メモリコントローラ160およびローカルメモリ162を備える。   FIG. 4 shows the internal configuration of the main controller 100. The main controller 100 includes an input receiving unit 104, an execution processing unit 120, a flash memory 140, a memory controller 160, and a local memory 162.

図4において、さまざまな処理を行う機能ブロックとして記載される各要素は、ハードウェア的には、CPU(Central Processing Unit)、メモリ、その他のLSIで構成することができ、ソフトウェア的には、メモリにロードされたプログラムなどによって実現される。既述したように、メインコントローラ100には1つのPPUと複数のSPUとが設けられており、PPUおよびSPUがそれぞれ単独または協同して、各機能ブロックを構成できる。したがって、これらの機能ブロックがハードウェアのみ、ソフトウェアのみ、またはそれらの組合せによっていろいろな形で実現できることは当業者には理解されるところであり、いずれかに限定されるものではない。   In FIG. 4, each element described as a functional block for performing various processes can be configured by a CPU (Central Processing Unit), a memory, and other LSIs in terms of hardware. This is realized by a program loaded on the computer. As described above, the main controller 100 is provided with one PPU and a plurality of SPUs, and each of the PPUs and SPUs can be configured individually or in cooperation with each other. Therefore, it is understood by those skilled in the art that these functional blocks can be realized in various forms by hardware only, software only, or a combination thereof, and is not limited to any one.

メインコントローラ100は、デバイスコントローラ30との間で制御情報を送受する手段として入力受付部104を有する。入力受付部104は、ユーザのゲームコントローラ40からの操作入力を受け付け、またネットワーク上の配信サーバから、ユーザ登録時に設定されたユーザIDを受け付ける。ゲームシステム1において、ユーザはゲームコントローラ40を用いて、ゲームの操作入力を行ってゲームを進行させることができ、またゲームデータのセーブ/ロード時には、OSのAPIなどにより出力装置12の画面に表示されるGUI(Graphical User Interface)をみながら、ゲームデータのセーブまたはロードを指示する操作入力を行うことができる。本実施例において、ユーザは、少なくともデータのセーブまたはロードを指示するための操作入力を行い、入力受付部104は、その指示を受け付けて実行処理部120に通知する。セーブ/ロード処理が開始されると、ユーザは、実行処理部120から提示されるGUIから所定の確認入力や選択入力を行う。   The main controller 100 has an input receiving unit 104 as means for transmitting and receiving control information to and from the device controller 30. The input receiving unit 104 receives an operation input from the user's game controller 40 and receives a user ID set at the time of user registration from a distribution server on the network. In the game system 1, the user can use the game controller 40 to input a game operation and advance the game. When saving / loading game data, the user displays the screen on the output device 12 using the API of the OS. An operation input for instructing saving or loading of game data can be performed while viewing a GUI (Graphical User Interface). In this embodiment, the user performs at least an operation input for instructing to save or load data, and the input receiving unit 104 receives the instruction and notifies the execution processing unit 120 of the input. When the save / load process is started, the user performs a predetermined confirmation input or selection input from the GUI presented from the execution processing unit 120.

フラッシュメモリ140は、その格納領域に、本体ID保持部142およびユーザID保持部144を有する。本体ID保持部142は、ゲーム装置10の識別情報として本体IDを保持する。ユーザID保持部144は、入力受付部104において受け付けたユーザIDを保持する。既述したように、ユーザIDは、配信サーバへのユーザ登録に際して付与されるものであるため、ユーザ登録を行っていない場合は、ユーザID保持部144には空のデータが書き込まれている。   The flash memory 140 has a main body ID holding unit 142 and a user ID holding unit 144 in its storage area. The main body ID holding unit 142 holds a main body ID as identification information of the game apparatus 10. The user ID holding unit 144 holds the user ID received by the input receiving unit 104. As described above, since the user ID is given at the time of user registration to the distribution server, empty data is written in the user ID holding unit 144 when user registration is not performed.

本実施例のゲーム装置10において、ゲーム装置10に設定されている本体IDや、付与されたユーザIDなどの情報は、フラッシュメモリ140ではなく、ハードディスクのレジストリに記憶されてもよい。図4に示した本体ID保持部142およびユーザID保持部144は、便宜上フラッシュメモリ140の領域を使用するように図示しているが、ハードディスクや他の記憶装置の領域であっても構わない。   In the game apparatus 10 of the present embodiment, information such as the main body ID set to the game apparatus 10 and the assigned user ID may be stored in the registry of the hard disk instead of the flash memory 140. The main body ID holding unit 142 and the user ID holding unit 144 shown in FIG. 4 are illustrated as using the area of the flash memory 140 for convenience, but may be areas of a hard disk or other storage device.

実行処理部120は、OSを実行するOS実行部122と、アプリケーションを実行するアプリケーション処理部124とを有する。電源が投入されると、OS実行部122は、OSのハイパーバイザ層を優先起動し、続いてカーネル層、必要なユーザ層を起動する。これにより、アプリケーション処理部124がゲームの実行プログラムを実行する環境が提供される。   The execution processing unit 120 includes an OS execution unit 122 that executes an OS and an application processing unit 124 that executes an application. When the power is turned on, the OS execution unit 122 preferentially activates the OS hypervisor layer, and then activates the kernel layer and necessary user layers. Thereby, an environment in which the application processing unit 124 executes the game execution program is provided.

メモリコントローラ160は、外部のメインメモリ102や、SPUに内蔵されているローカルメモリ162の書込/読出を制御する。メモリコントローラ160は、ハードディスクやメディア50などから読み出したデータを、メインメモリ102ないしはローカルメモリ162に記憶させる。実行処理部120は、メインメモリ102および/またはローカルメモリ162に記憶されたデータをもとに、処理を実行する。   The memory controller 160 controls writing / reading of the external main memory 102 and the local memory 162 built in the SPU. The memory controller 160 stores data read from the hard disk or the medium 50 in the main memory 102 or the local memory 162. The execution processing unit 120 executes processing based on data stored in the main memory 102 and / or the local memory 162.

ゲームデータのセーブ処理またはロード処理を行う際、アプリケーション処理部124は、OS実行部122に対して、所望のタイプのセーブ処理またはロード処理を実行するためのセーブデータユーティリティ関数を呼び出す。OS実行部122がこの呼出要求を受けると、OSのユーザ層にAPI処理モジュールが起動される。   When performing game data save processing or load processing, the application processing unit 124 calls a save data utility function for executing a desired type of save processing or load processing to the OS execution unit 122. When the OS execution unit 122 receives this call request, an API processing module is activated in the OS user layer.

本実施例において、セーブ用のAPI処理モジュールは、ゲームデータにゲームプログラムの実行環境を示す状態情報を付加してハードディスクにセーブする機能をもつ。またロード用のAPI処理モジュールは、ハードディスクからセーブデータをロードする際に、セーブデータの付加情報と、ロード時のゲームプログラムの実行環境を示す状態情報とから、セーブデータの検証処理を行う機能をもつ。   In this embodiment, the API processing module for saving has a function of adding state information indicating the execution environment of the game program to the game data and saving it to the hard disk. The loading API processing module has a function of verifying the save data from the additional information of the save data and the status information indicating the execution environment of the game program at the time of loading the save data from the hard disk. Have.

図5は、OS実行部122において構成されるAPI処理モジュールの機能ブロックを示す。セーブ用API処理モジュール300aは、データセーブ用のセーブデータユーティリティ関数がアプリケーション処理部124により呼び出されることで構成される。セーブ用API処理モジュール300aは、状態取得部310およびセーブ処理部320を備え、セーブ処理部320は、ゲームデータ取得部322および付加処理部324を有する。   FIG. 5 shows functional blocks of an API processing module configured in the OS execution unit 122. The save API processing module 300 a is configured by calling a save data utility function for saving data by the application processing unit 124. The save API processing module 300 a includes a state acquisition unit 310 and a save processing unit 320, and the save processing unit 320 includes a game data acquisition unit 322 and an additional processing unit 324.

状態取得部310は、ゲームプログラムの実行環境の状態を示す状態情報を取得する。実行環境の状態を示す要素としては、ゲームアプリケーションを実行するゲーム装置自体、ゲーム装置10にゲームプログラムを供給するメディア50、ゲームプログラムの種類、ゲームをプレイするユーザなどがあげられる。これらの要素に対応して、状態取得部310は、状態情報として、ゲーム装置10を特定する本体ID、メディア50を特定するメディアID、ゲームプログラムのアプリケーション(ゲーム種類)を特定するアプリケーションID、ゲームユーザを特定するユーザIDを取得する。   The state acquisition unit 310 acquires state information indicating the state of the game program execution environment. The elements indicating the state of the execution environment include the game device itself that executes the game application, the medium 50 that supplies the game program to the game device 10, the type of the game program, the user who plays the game, and the like. Corresponding to these elements, the state acquisition unit 310 includes, as state information, a main body ID that identifies the game device 10, a media ID that identifies the medium 50, an application ID that identifies an application (game type) of a game program, and a game A user ID that identifies the user is acquired.

状態取得部310は、本体ID保持部142から本体IDを、メディア50からメディアIDおよびアプリケーションIDを、ユーザID保持部144からユーザIDをそれぞれ読み出して取得する。なお、メディアIDおよびアプリケーションIDは、メインメモリ102やローカルメモリ162などの内部メモリに既に読み出されている場合は内部メモリから取得されてもよく、ハードディスクに既に読み出されている場合は、ハードディスクから取得されてもよい。なお、状態取得部310は、2つ以上の状態情報を取得することが好ましく、さらにはこれらの全てを取得することが好ましい。取得する状態情報の数が多いほど、ゲームプログラムにとって、使用できる状態情報の数を増やすことができ、すなわちゲームプログラムは、必要な状態情報を状況に応じて選択的に使用でき、使用した状態情報に対応する所望の処理を実行できる。   The state acquisition unit 310 reads and acquires the main body ID from the main body ID holding unit 142, the media ID and application ID from the medium 50, and the user ID from the user ID holding unit 144, respectively. Note that the media ID and application ID may be acquired from the internal memory if already read to the internal memory such as the main memory 102 or the local memory 162, and if already read to the hard disk, the hard disk May be obtained from Note that the state acquisition unit 310 preferably acquires two or more pieces of state information, and more preferably acquires all of them. The more state information to be acquired, the more number of state information that can be used for the game program. That is, the game program can selectively use the necessary state information according to the situation, and the used state information. The desired processing corresponding to can be executed.

セーブ処理部320は、ゲーム進行に関するゲームデータをハードディスクにセーブする機能をもつ。ゲームデータ取得部322は、アプリケーション処理部124からアプリケーションの処理結果などのセーブすべきゲームデータを取得する。付加処理部324は、状態取得部310により取得された状態情報を、ゲームデータ取得部322により取得されたゲームデータに付加情報として付加して、ハードディスクに記憶する。これにより、セーブデータは、付加情報付きのゲームデータとして記憶される。   The save processing unit 320 has a function of saving game data relating to game progress to a hard disk. The game data acquisition unit 322 acquires game data to be saved, such as application processing results, from the application processing unit 124. The addition processing unit 324 adds the state information acquired by the state acquisition unit 310 as additional information to the game data acquired by the game data acquisition unit 322, and stores the additional information in the hard disk. Thereby, the save data is stored as game data with additional information.

このように、セーブすべきゲームデータに状態情報を付加することで、ゲームデータ自体に、セーブ時の環境状態を含めさせることができる。これにより、ゲーム装置10は、セーブデータの付加情報を参照すれば、そのゲームデータのセーブ時の環境を知ることができる。   Thus, by adding state information to game data to be saved, the game data itself can include the environmental state at the time of saving. Thereby, the game apparatus 10 can know the environment when saving the game data by referring to the additional information of the save data.

たとえば状態情報として本体IDが付加されるとき、ゲーム装置10は、付加された本体IDを参照することで、そのゲームデータをセーブしたのが自分であるか、または他のゲーム装置であるかを判定できる。   For example, when the main body ID is added as the status information, the game apparatus 10 refers to the added main body ID to determine whether the game data is saved by itself or another game apparatus. Can be judged.

また状態情報としてメディアIDが付加されるとき、ゲーム装置10は、付加されたメディアIDを参照することで、セーブデータが現在起動しているメディアと同じメディアで作成されたか、または別のメディアで作成されたかを判定できる。   When the media ID is added as the status information, the game apparatus 10 refers to the added media ID, so that the save data is created with the same media as the currently activated media, or with another media. You can determine whether it was created.

また状態情報としてアプリケーションIDが付加されるとき、ゲーム装置10は、付加されたアプリケーションIDを参照することで、セーブデータが現在起動しているアプリケーションと同じアプリケーションで作成されたか、または別のアプリケーションで作成されたかを判定できる。   When the application ID is added as the status information, the game apparatus 10 refers to the added application ID, so that the save data is created by the same application as the application that is currently activated, or by another application. You can determine whether it was created.

また状態情報としてユーザIDが付加されるとき、ゲーム装置10は、付加されたユーザIDを参照することで、セーブデータが現在のユーザによりセーブされたか、または別のユーザによりセーブされたかを判定できる。   When the user ID is added as the state information, the game apparatus 10 can determine whether the save data has been saved by the current user or by another user by referring to the added user ID. .

ロード用API処理モジュール300bは、データロード用のセーブデータユーティリティ関数がアプリケーション処理部124により呼び出されることで構成される。ロード用API処理モジュール300bは、状態取得部330、ロード処理部340およびロード実行部350を備え、ロード処理部340は、付加情報取得部342、判定部344および通知部346を有する。   The load API processing module 300 b is configured by calling a save data utility function for data loading by the application processing unit 124. The load API processing module 300b includes a state acquisition unit 330, a load processing unit 340, and a load execution unit 350. The load processing unit 340 includes an additional information acquisition unit 342, a determination unit 344, and a notification unit 346.

状態取得部330は、状態取得部310と同様に、ゲームプログラムの実行環境の状態を示す状態情報を取得する。状態取得部330は、状態情報として、本体ID、メディアID、アプリケーションID、ユーザIDの少なくとも2つを取得することが好ましい。状態取得部310および330は、同一のプログラムモジュールで構成され、それぞれ同一種類の状態情報を取得する。   Similarly to the state acquisition unit 310, the state acquisition unit 330 acquires state information indicating the state of the game program execution environment. It is preferable that the state acquisition unit 330 acquires at least two of a main body ID, a media ID, an application ID, and a user ID as state information. The state acquisition units 310 and 330 are composed of the same program module, and each acquire the same type of state information.

ロード処理部340は、セーブデータをハードディスクからロードする機能をもつ。まず、付加情報取得部342は、ゲームデータのロード実行前に、ハードディスクに記録されたゲームデータから付加情報を取得する。判定部344は、状態取得部330により取得されたロード前の状態情報と、付加情報取得部342により取得された付加情報との一致性を判定する。なお、一致性の判定は、原則として完全一致か否かで行われる。通知部346は、判定部344による一致性の判定結果をアプリケーション処理部124に通知する。   The load processing unit 340 has a function of loading save data from the hard disk. First, the additional information acquisition unit 342 acquires additional information from the game data recorded on the hard disk before the game data is loaded. The determination unit 344 determines whether the state information before loading acquired by the state acquisition unit 330 matches the additional information acquired by the additional information acquisition unit 342. Note that the coincidence is determined based on whether or not the match is complete. The notification unit 346 notifies the application processing unit 124 of the consistency determination result by the determination unit 344.

判定部344は、複数種類のロード時の状態情報およびゲームデータの付加情報について、それぞれの一致性を判定して、それぞれの判定結果を生成する。たとえば、状態取得部310および330が、状態情報として、本体ID、メディアID、アプリケーションID、ユーザIDを取得する場合、判定部344は、本体ID、メディアID、アプリケーションID、ユーザIDについて一致性を判定し、通知部346は、それぞれの判定結果をアプリケーション処理部124に通知する。これにより、ロード用API処理モジュール300bは、アプリケーション処理部124に対して、きめ細かな環境状態に関する情報を提供できる。アプリケーション処理部124は、環境状態のそれぞれについての変化の有無を認識できるため、個々の環境変化に応じたアプリケーション処理を実行することができる。また複数の状態情報をもとにセーブデータの検証処理を行うため、検証処理自体の確実性をますことができ、また様々なゲームプログラムに有用な情報を供給できる可能性も高めることができる。   The determination unit 344 determines the coincidence of the plurality of types of loading state information and game data additional information, and generates respective determination results. For example, when the status acquisition units 310 and 330 acquire the main body ID, the media ID, the application ID, and the user ID as the status information, the determination unit 344 determines whether the main body ID, the media ID, the application ID, and the user ID are consistent. The notification unit 346 notifies the application processing unit 124 of each determination result. As a result, the loading API processing module 300b can provide detailed information regarding the environmental state to the application processing unit 124. Since the application processing unit 124 can recognize the presence / absence of a change in each environmental state, the application processing unit 124 can execute an application process corresponding to each environmental change. Further, since the save data is verified based on a plurality of state information, the reliability of the verification process itself can be increased, and the possibility that useful information can be supplied to various game programs can be increased.

判定部344は、ロード時の状態情報と、セーブデータの付加情報とが一致していない場合にエラー判定を行い、通知部346は、エラー情報をアプリケーション処理部124に通知する。たとえば判定結果はフラグにより表現されてよく、ロード時の状態情報とセーブデータの付加情報とが一致している場合はフラグ値「0」、異なっている場合はフラグ値「1」とする。一致していない場合には、判定結果が単にエラー情報(すなわち、フラグ値「1」)としてアプリケーション処理部124に通知されるため、アプリケーション処理部124による判定部344の判定結果の取り扱いが容易となる。   The determination unit 344 determines an error when the state information at the time of loading does not match the additional information of the save data, and the notification unit 346 notifies the application processing unit 124 of the error information. For example, the determination result may be expressed by a flag. When the state information at the time of loading coincides with the additional information of the save data, the flag value is “0”, and when they are different, the flag value is “1”. If they do not match, the determination result is simply notified to the application processing unit 124 as error information (that is, flag value “1”), so that the application processing unit 124 can easily handle the determination result of the determination unit 344. Become.

図6は、リスト選択型ロード処理(ListLoad())のシーケンス図である。アプリケーション処理部124が、ListLoad()関数の呼出要求をOS実行部122に送る(S10)。引数として、取得対象とするセーブデータのディレクトリ名プレフィックスや、コールバック関数(データリストコールバック、データステータスコールバック、ファイル操作コールバック)へのポインタなどが指定される。OS実行部122においてListLoad()関数が呼び出され(S12)、ロード用API処理モジュール300bが構成される。ロード用API処理モジュール300bは、ディレクトリ名プレフィックスをもとに、ハードディスクからセーブデータのリストを取得する(S14)。   FIG. 6 is a sequence diagram of list selection type load processing (ListLoad ()). The application processing unit 124 sends a request to call the ListLoad () function to the OS execution unit 122 (S10). As arguments, a directory name prefix of save data to be acquired, a pointer to a callback function (data list callback, data status callback, file operation callback), etc. are specified. In the OS execution unit 122, the ListLoad () function is called (S12), and the loading API processing module 300b is configured. The load API processing module 300b acquires a list of save data from the hard disk based on the directory name prefix (S14).

ロード用API処理モジュール300bは、セーブデータのリストを引数としてデータリストコールバックを呼び出す(S16)。データリストコールバックでは、渡されたセーブデータのリストをもとに、ユーザに提示するセーブデータリストを作成する(S18)。データリストコールバックからリターンし、ユーザ提示用リストがロード用API処理モジュール300bに渡されると(S20)、ロード用API処理モジュール300bは、セーブデータのリストをGUIにより画面表示して(S22)、ユーザからの応答を待つ。ユーザがロード対象とするセーブデータを選択すると(S24)、選択内容がロード用API処理モジュール300bに通知され(S26)、ロード用API処理モジュール300bは、確認ダイアログをGUIにより画面表示する(S28)。ユーザが確認応答を行うと(S30)、セーブデータの検証処理を行う(S32)。この検証処理では、図5に関連して説明したように、セーブ時の状態情報と、現在(ロード時)の状態情報を比較し、一致性を判定する。   The load API processing module 300b calls a data list callback with the list of saved data as an argument (S16). In the data list callback, a save data list to be presented to the user is created based on the passed save data list (S18). When returning from the data list callback and the list for user presentation is passed to the loading API processing module 300b (S20), the loading API processing module 300b displays the list of saved data on the GUI (S22), Wait for a response from the user. When the user selects save data to be loaded (S24), the selection content is notified to the loading API processing module 300b (S26), and the loading API processing module 300b displays a confirmation dialog on the screen using the GUI (S28). . When the user makes a confirmation response (S30), the save data is verified (S32). In this verification process, as described with reference to FIG. 5, the state information at the time of saving and the current state information (at the time of loading) are compared to determine consistency.

ロード用API処理モジュール300bは、データステータスコールバックを呼び出す(S34)。データステータスコールバックに渡される情報は、セーブデータの検証処理の結果や、選択されたセーブデータのディレクトリ名、更新日時などの属性情報である。   The load API processing module 300b calls a data status callback (S34). The information passed to the data status callback is attribute information such as the result of the save data verification process, the directory name of the selected save data, and the update date and time.

アプリケーション処理部124は、セーブデータの検証処理の結果から、たとえばロード処理を実行するか否かを判定する(S38)。たとえば、本体IDに関してエラー情報が通知された場合、ゲーム装置10とは別の機器でセーブデータが作成されたことが分かる。このような場合、他人のセーブデータを利用してゲームを実行しようとする可能性が高いため、アプリケーション処理部124は、ロード処理を終了してもよい(S38のN)。   The application processing unit 124 determines, for example, whether or not to execute a load process from the result of the save data verification process (S38). For example, when error information is notified regarding the main body ID, it can be seen that save data is created by a device different from the game apparatus 10. In such a case, the application processing unit 124 may end the loading process because there is a high possibility of trying to execute the game using the save data of another person (N in S38).

一方、全ての状態情報についてエラーが通知されない場合、アプリケーション処理部124は、ロード処理を実行することを判定し(S38のY)、データステータスコールバックからリターンして、ファイル操作前処理を指定する(S40)。ロード用API処理モジュール300bはファイル操作前処理を行い(S42)、セーブデータを構成するファイルひとつひとつについてファイル操作コールバックを呼び出す(S44)。ファイル操作コールバックに渡される情報は、リード処理を特定する制御情報などである。アプリケーション処理部124は、セーブデータの全ファイルをロードするまで(S46のN)、読み出すファイルを指定し(S48)、ロード実行部350は、ハードディスクからデータをロードする(S50)。全ファイルをロードすると(S46のY)、アプリケーション処理部124は、ロード用API処理モジュール300bに対してロード処理の終了指示を通知し(S52)、ロード用API処理モジュール300bは、画面に完了メッセージを表示して、ロード処理を終了する。   On the other hand, if no error is notified for all the status information, the application processing unit 124 determines to execute the load process (Y in S38), returns from the data status callback, and specifies the file operation pre-process. (S40). The loading API processing module 300b performs file operation pre-processing (S42), and calls a file operation callback for each file constituting the save data (S44). Information passed to the file operation callback is control information for specifying the read process. The application processing unit 124 designates a file to be read (S48) until all files of saved data are loaded (N in S46), and the load execution unit 350 loads data from the hard disk (S50). When all the files are loaded (Y in S46), the application processing unit 124 notifies the loading API processing module 300b of an end instruction for the loading process (S52), and the loading API processing module 300b displays a completion message on the screen. Is displayed and the loading process is terminated.

以上の例では、アプリケーション処理部124が、S32におけるセーブデータの検証処理の結果を受けてロードの実行の可否を判定するものとした。アプリケーション処理部124は、エラー情報の種類に応じて、様々な態様で振る舞うことができる。   In the above example, the application processing unit 124 receives the result of the save data verification process in S32 and determines whether or not the load can be executed. The application processing unit 124 can behave in various ways depending on the type of error information.

A)本体IDにエラー情報が発生した場合
アプリケーション処理部124は、上記したようにロード処理を停止してもよい。これにより、他人によるセーブデータの利用を困難にでき、また他人によるセーブデータの複製も困難にできる。特に、ネットワーク上でセーブデータが公開されることが頻繁に生じるような場合に、本体IDが異なれば、その利用および複製をできなくすることで、セーブデータをネットワーク上に公開する意味をなくすことができる。また、異なるゲーム装置によるセーブデータを使用する場合には、ゲストユーザとしてゲーム装置10が取り扱えるようにしてもよい。
A) When error information occurs in the main body ID The application processing unit 124 may stop the loading process as described above. This makes it difficult for others to use the save data, and makes it difficult for others to copy the save data. In particular, when save data is frequently disclosed on the network, if the body ID is different, the use and duplication of the data cannot be made, thereby making it meaningless to disclose the save data on the network. Can do. Moreover, when using the save data by a different game device, the game device 10 may be handled as a guest user.

B)メディアIDにエラー情報が発生した場合
アプリケーション処理部124は、ロード処理を停止する。これにより、他人によるセーブデータの利用を困難にでき、また他人によるセーブデータの複製も困難にできる。特に、ネットワーク上でセーブデータが公開されることが頻繁に生じるような場合に、メディアIDが異なれば、その利用および複製をできなくすることで、セーブデータをネットワーク上に公開する意味をなくすことができる。また、異なるメディアによるセーブデータを使用する場合には、ゲストユーザとしてゲーム装置10が取り扱えるようにしてもよい。
B) When error information occurs in the media ID The application processing unit 124 stops the loading process. This makes it difficult for others to use the save data, and makes it difficult for others to copy the save data. In particular, when save data is frequently disclosed on the network, if the media ID is different, it is impossible to use and copy the media ID, thereby making it meaningless to disclose the save data on the network. Can do. Further, when using save data from different media, the game apparatus 10 may be handled as a guest user.

C)アプリケーションIDにエラー情報が発生した場合
たとえば、シリーズもののゲームアプリケーションで、旧バージョンのゲームデータを新バージョンで使用したい場合に、ゲーム装置10は、そのゲームデータに対して特典をつけた処理を実行してもよい。
C) When error information occurs in the application ID For example, in the case of a series of game applications, when it is desired to use the old version of the game data in the new version, the game apparatus 10 performs a process of giving a bonus to the game data. May be executed.

D)ユーザIDにエラー情報が発生した場合
まず、ユーザIDが存在しない場合、一致性の判定処理において比較対象が存在しないため、エラー情報が発生される。またゲーム装置10は、ユーザが配信サーバに登録していないことを判定できる。ユーザIDが必要なゲームでは、アプリケーション処理部124が、そのセーブデータの使用を制限してもよい。
D) When error information occurs in the user ID First, when there is no user ID, error information is generated because there is no comparison target in the matching determination process. Further, the game apparatus 10 can determine that the user is not registered in the distribution server. In a game that requires a user ID, the application processing unit 124 may restrict the use of the saved data.

また、ユーザIDが異なっていた場合、ゲーム装置10は、異なるユーザによりセーブされたセーブデータであることを認識できるとともに、セーブしたユーザの特定が可能となる。なお、ユーザIDについては、フラグではなく、ユーザIDそのものをアプリケーション処理部124に通知してもよい。   When the user IDs are different, the game apparatus 10 can recognize that the saved data is saved by a different user, and can specify the saved user. As for the user ID, not the flag but the user ID itself may be notified to the application processing unit 124.

このように、アプリケーション処理部124が、複数の環境状態情報を用いることで、状態情報の一致性判定結果ごとに、様々なバリエーションの処理を実行できるようになる。これにより、ゲームプログラムの保護レベルを高めることができ、またゲーム進行に対して特典を与えるような対応をすることで、ゲームプログラムの魅力を高めることもできる。   As described above, the application processing unit 124 can execute various variations of processing for each status information consistency determination result by using a plurality of pieces of environmental status information. Thereby, the protection level of a game program can be raised, and the charm of a game program can also be heightened by taking a measure that gives a privilege to the progress of the game.

以上、本発明を実施例をもとに説明した。この実施例は例示であり、それらの各構成要素や各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。   In the above, this invention was demonstrated based on the Example. This embodiment is an exemplification, and it will be understood by those skilled in the art that various modifications can be made to the combination of each component and each processing process, and such modifications are also within the scope of the present invention. .

本発明の実施例にかかるゲームシステムを示す図である。It is a figure which shows the game system concerning the Example of this invention. ゲーム装置の機能ブロック図を示す図である。It is a figure which shows the functional block diagram of a game device. OS階層を示す図である。It is a figure which shows OS hierarchy. メインコントローラの内部構成を示す図である。It is a figure which shows the internal structure of a main controller. OS実行部において構成されるAPI処理モジュールの機能ブロックを示す図である。It is a figure which shows the functional block of the API processing module comprised in OS execution part. リスト選択型ロード処理(ListLoad())のシーケンス図である。It is a sequence diagram of list selection type load processing (ListLoad ()).

符号の説明Explanation of symbols

1・・・ゲームシステム、10・・・ゲーム装置、12・・・出力装置、20・・・電源ボタン、22・・・LED、24・・・システムコントローラ、30・・・デバイスコントローラ、32・・・メディアドライブ、34・・・ハードディスクドライブ、36・・・スイッチ、38・・・無線インタフェース、40・・・ゲームコントローラ、50・・・メディア、100・・・メインコントローラ、102・・・メインメモリ、104・・・入力受付部、120・・・実行処理部、122・・・OS実行部、124・・・アプリケーション処理部、140・・・フラッシュメモリ、142・・・本体ID保持部、144・・・ユーザID保持部、160・・・メモリコントローラ、162・・・ローカルメモリ、200・・・出力処理部、300a・・・セーブ用API処理モジュール、300b・・・ロード用API処理モジュール、302・・・状態取得部、310・・・状態取得部、320・・・セーブ処理部、322・・・ゲームデータ取得部、324・・・付加処理部、330・・・状態取得部、340・・・ロード処理部、342・・・付加情報取得部、344・・・判定部、346・・・通知部、350・・・ロード実行部。 DESCRIPTION OF SYMBOLS 1 ... Game system, 10 ... Game device, 12 ... Output device, 20 ... Power button, 22 ... LED, 24 ... System controller, 30 ... Device controller, 32. ..Media drive 34 ... Hard disk drive 36 ... Switch 38 ... Wireless interface 40 ... Game controller 50 ... Media 100 ... Main controller 102 ... Main Memory 104, input accepting unit 120, execution processing unit 122, OS execution unit 124, application processing unit 140, flash memory 142, main body ID holding unit, 144 ... User ID holding unit, 160 ... Memory controller, 162 ... Local memory, 200 ... Output processing , 300a ... API processing module for saving, 300b ... API processing module for loading, 302 ... State acquisition unit, 310 ... State acquisition unit, 320 ... Save processing unit, 322 ... Game Data acquisition unit, 324 ... addition processing unit, 330 ... state acquisition unit, 340 ... load processing unit, 342 ... additional information acquisition unit, 344 ... determination unit, 346 ... notification unit 350... Load execution unit.

Claims (8)

ゲームプログラムを実行するアプリケーション処理部と、
ゲーム進行に関するゲームデータを記憶装置にセーブするセーブ処理部と、
セーブデータを記憶装置からロードするロード処理部と、
ゲームプログラムの実行環境の状態を示す状態情報を取得する状態取得部とを備え、
前記セーブ処理部は、
前記状態取得部により取得された状態情報を、ゲームデータに付加情報として付加して前記記憶装置に記憶する付加処理部を備え、
前記ロード処理部は、
前記記憶装置に記憶されたゲームデータから付加情報を取得する付加情報取得部と、
前記状態取得部により取得された状態情報と、前記付加情報取得部により取得された対応する付加情報との一致性を判定する判定部と、
判定結果を前記アプリケーション処理部に通知する通知部と、
を備えることを特徴とするゲーム装置。
An application processing unit for executing a game program;
A save processing unit for saving game data relating to game progress in a storage device;
A load processing unit for loading save data from a storage device;
A state acquisition unit that acquires state information indicating a state of an execution environment of the game program,
The save processing unit
An additional processing unit that adds the state information acquired by the state acquisition unit as additional information to the game data and stores the additional information in the storage device;
The load processing unit
An additional information acquisition unit that acquires additional information from the game data stored in the storage device;
A determination unit for determining consistency between the state information acquired by the state acquisition unit and the corresponding additional information acquired by the additional information acquisition unit;
A notification unit for notifying the determination result to the application processing unit;
A game apparatus comprising:
前記状態取得部は、複数の状態情報を取得して、前記付加処理部が、複数の状態情報をゲームデータに付加情報として付加し、
前記判定部は、前記状態取得部により取得された複数の状態情報と、前記付加情報取得部により取得された対応する付加情報とのそれぞれの一致性を判定し、
前記通知部は、それぞれの判定結果を前記アプリケーション処理部に通知することを特徴とする請求項1に記載のゲーム装置。
The state acquisition unit acquires a plurality of state information, and the additional processing unit adds the plurality of state information to the game data as additional information,
The determination unit determines the consistency between the plurality of state information acquired by the state acquisition unit and the corresponding additional information acquired by the additional information acquisition unit,
The game device according to claim 1, wherein the notification unit notifies each determination result to the application processing unit.
前記状態取得部は、状態情報として、当該ゲーム装置の識別情報、ゲームプログラムの供給媒体の識別情報、ゲームプログラムのアプリケーション情報、ゲームユーザを特定する識別情報の少なくとも2つを取得することを特徴とする請求項2に記載のゲーム装置。   The state acquisition unit acquires, as state information, at least two of identification information of the game device, identification information of a supply medium of the game program, application information of the game program, and identification information for identifying the game user. The game device according to claim 2. 前記判定部は、ロード時の状態情報と、セーブデータの付加情報とが一致していない場合に、エラー判定を行うことを特徴とする請求項1から3のいずれかに記載のゲーム装置。   The game device according to claim 1, wherein the determination unit performs an error determination when the state information at the time of loading and the additional information of the save data do not match. 前記アプリケーション処理部は、所定の状態情報についてエラー判定が行われた場合には、ロード処理を実行しないことを特徴とする請求項1から4のいずれかに記載のゲーム装置。   The game device according to claim 1, wherein the application processing unit does not execute a load process when an error determination is made for predetermined state information. 前記セーブ処理部および前記ロード処理部は、ゲームプログラムに提供するAPI(アプリケーションプログラミングインタフェース)の機能を実現するAPI処理モジュールとして構成されることを特徴とする請求項1から5のいずれかに記載のゲーム装置。   The said save process part and the said load process part are comprised as an API process module which implement | achieves the function of API (application programming interface) provided to a game program, The Claim 1 characterized by the above-mentioned. Game device. コンピュータに、
ゲームプログラムを実行する機能と、
ゲーム進行に関するゲームデータを記憶装置にセーブする機能と、
セーブデータを記憶装置からロードする機能と、
ゲームプログラムの実行環境の状態を示す複数の状態情報を取得する機能とを実現させ、
前記セーブ機能は、
取得された複数の状態情報を、ゲームデータに付加情報として付加して記憶装置に記憶する機能を備え、
前記ロード機能は、
記憶装置に記憶されたゲームデータから付加情報を取得する機能と、
取得された複数の状態情報と、取得された対応する付加情報とのそれぞれの一致性を判定する機能と、
それぞれの判定結果を、ゲームアプリケーション実行機能に通知する機能とを、実現させるためのプログラム。
On the computer,
A function to execute a game program;
A function for saving game data relating to game progress in a storage device;
A function to load save data from a storage device;
A function for acquiring a plurality of state information indicating the state of the execution environment of the game program,
The save function is
A function of adding the acquired plurality of state information as additional information to the game data and storing it in a storage device,
The load function is
A function of acquiring additional information from game data stored in a storage device;
A function for determining the consistency between the acquired plurality of status information and the corresponding additional information acquired;
A program for realizing the function of notifying the game application execution function of each determination result.
請求項7に記載のプログラムを記録したコンピュータ読み取り可能な記録媒体。   A computer-readable recording medium on which the program according to claim 7 is recorded.
JP2006256519A 2006-09-21 2006-09-21 Game apparatus Pending JP2008073259A (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2006256519A JP2008073259A (en) 2006-09-21 2006-09-21 Game apparatus
PCT/JP2007/000763 WO2008035453A1 (en) 2006-09-21 2007-07-13 Game device
US12/439,041 US20090258712A1 (en) 2006-09-21 2007-07-13 Game Device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006256519A JP2008073259A (en) 2006-09-21 2006-09-21 Game apparatus

Publications (1)

Publication Number Publication Date
JP2008073259A true JP2008073259A (en) 2008-04-03

Family

ID=39200284

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006256519A Pending JP2008073259A (en) 2006-09-21 2006-09-21 Game apparatus

Country Status (3)

Country Link
US (1) US20090258712A1 (en)
JP (1) JP2008073259A (en)
WO (1) WO2008035453A1 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010233791A (en) * 2009-03-31 2010-10-21 Konami Digital Entertainment Co Ltd Game management program, game device, and game management method
JP2013123537A (en) * 2011-12-14 2013-06-24 Sony Computer Entertainment Inc Electronic apparatus and method for recording save data
EP2929922A2 (en) 2014-02-20 2015-10-14 Nintendo Co., Ltd. Game apparatus, speed control method and computer program

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009153910A1 (en) 2008-06-17 2009-12-23 株式会社ソニー・コンピュータエンタテインメント Game device
JP5596320B2 (en) * 2009-09-07 2014-09-24 任天堂株式会社 Information processing program and information processing apparatus
DE102009052156A1 (en) * 2009-11-06 2011-05-12 Sinitec Vertriebsgesellschaft Mbh Terminal and computer for operation with a virtual data processing arrangement, arrangement and method for virtual data processing
JP5474876B2 (en) * 2011-06-02 2014-04-16 株式会社ソニー・コンピュータエンタテインメント Information processing apparatus, server, and information processing system
KR101449675B1 (en) * 2012-07-06 2014-10-15 엔에이치엔엔터테인먼트 주식회사 Apparatus, method and computer readable recording medium for interworking the account based on a mobile terminal and the account based on a game
JP5897688B2 (en) 2014-05-02 2016-03-30 任天堂株式会社 Information processing system, information processing apparatus, information processing program, information processing method, and storage medium
US9597602B2 (en) 2014-05-02 2017-03-21 Nintendo Co., Ltd. Information processing system, information processing device, storage medium storing information processing program, information processing method, and storage device

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63195754A (en) * 1987-02-06 1988-08-12 Mitsuboshi Belting Ltd Diversion control system for external memory card of terminal equipment
JP2000317141A (en) * 1999-05-12 2000-11-21 Mcm Japan Kk Virtual space information processor
JP2002073423A (en) * 2000-08-24 2002-03-12 Tecmo Ltd Program equipped with original decision function, program having alteration factor and system for storing program
WO2006006241A1 (en) * 2004-07-14 2006-01-19 D4 Enterprise, Inc. Content distribution system and launcher

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU2001285125B2 (en) * 2000-08-21 2004-08-26 Igt Method and apparatus for software authentication
US7107461B2 (en) * 2002-06-03 2006-09-12 Sony Computer Entertainment America, Inc. Methods and apparatus for customizing a rewritable storage medium
US9002745B2 (en) * 2006-12-21 2015-04-07 Igt Secure media distribution in a wager gaming system

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63195754A (en) * 1987-02-06 1988-08-12 Mitsuboshi Belting Ltd Diversion control system for external memory card of terminal equipment
JP2000317141A (en) * 1999-05-12 2000-11-21 Mcm Japan Kk Virtual space information processor
JP2002073423A (en) * 2000-08-24 2002-03-12 Tecmo Ltd Program equipped with original decision function, program having alteration factor and system for storing program
WO2006006241A1 (en) * 2004-07-14 2006-01-19 D4 Enterprise, Inc. Content distribution system and launcher

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010233791A (en) * 2009-03-31 2010-10-21 Konami Digital Entertainment Co Ltd Game management program, game device, and game management method
JP2013123537A (en) * 2011-12-14 2013-06-24 Sony Computer Entertainment Inc Electronic apparatus and method for recording save data
US9003147B2 (en) 2011-12-14 2015-04-07 Sony Corporation Electronic device and save data recording method
EP2929922A2 (en) 2014-02-20 2015-10-14 Nintendo Co., Ltd. Game apparatus, speed control method and computer program

Also Published As

Publication number Publication date
WO2008035453A1 (en) 2008-03-27
US20090258712A1 (en) 2009-10-15

Similar Documents

Publication Publication Date Title
JP2008073259A (en) Game apparatus
JP4459215B2 (en) GAME DEVICE AND INFORMATION PROCESSING DEVICE
US8949205B2 (en) Information processing apparatus for processing application software and a patch file
US8589905B2 (en) Game device and information processing apparatus
JP5084577B2 (en) Information processing device
US10754779B2 (en) Information processing device and method for managing file
US8342960B2 (en) Information processor
JP2011100431A (en) Device and method for controlling virtual machine
JP2006516415A (en) Using shared files on game consoles or computers to share game state with each other
JP2007206885A (en) Computer system and system starting method
JP2013123537A (en) Electronic apparatus and method for recording save data
US20090241133A1 (en) Methods, systems, and computer readable media for high reliability downloading of background assets using a manifest in a virtual world application
JP4870626B2 (en) Information processing device
JP7348815B2 (en) Information processing device and file recording method
JP6580515B2 (en) Information processing apparatus and data copy method
JP2006134300A (en) Method and device for generally defining and exhibiting storage device to end user and developer via abstraction storage
JP2008077442A (en) Information processor and image display method
JP6767319B2 (en) Information processing device and file copy method
JP7160762B2 (en) Information processing device and content information display method
JP2019028778A (en) Information processing apparatus and download processing method
JP7316204B2 (en) Information processing device and file access method
US20090217285A1 (en) Information processing system and computer control method
WO2020246378A1 (en) Information processing device and application executing method
TWI334980B (en)
TWI408603B (en) Systems and methods for generating a mini-operating system, and computer program products thereof

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20081107

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20101125

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20110127

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110531

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110726

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110816

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111014

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20111108