説明

ゲーム装置および情報処理装置

【課題】複数の同種ファイルのなかから、好適なファイルを実行する技術を提供する。
【解決手段】ゲーム装置10において、ゲームデータを記録したROM媒体がドライブ装置に挿入される。パッチファイル取得部140は、ゲームデータについてのパッチファイルを取得し、HDDに格納する。ROM媒体およびパッチファイルには、それぞれメインプログラムを起動するための起動ファイルが含まれる。実行処理部132は、より新しいバージョン情報が付与されている起動ファイルをメモリにロードして、ブートシーケンスを実行する。実行処理部132は、ドライブ装置にROM媒体が装着されていない場合にはブートシーケンスを実行せず、ドライブ装置にROM媒体が装着されていることを条件として、ブートシーケンスを実行する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ゲーム装置などの情報処理装置で実行される情報処理技術に関する。
【背景技術】
【0002】
一般にゲームデータ(ゲームプログラム)は、光ディスクや光磁気ディスク、ブルーレイディスクなどのROM媒体の形態で販売される。ROM媒体に記録されたゲームデータは書き換えることができないため、ゲームデータの一部のバグを修正したり、機能を変更または追加するためには、パッチを当てることで対応できる。
【0003】
たとえば特許文献1は、電源投入時やハードリセット時のゲーム装置によるメモリカードを用いたブート処理技術について開示する。このブート処理技術では、電源投入時やハードリセット時において、メモリカードに起動画像表示プログラムが格納されていれば、その起動画像表示プログラムによりブートシーケンスを実行し、メモリカードに起動画像表示プログラムが格納されていなければ、内蔵ブートROMに格納されている起動画像表示プログラムによりブートシーケンスを実行する。特許文献1による電源投入時のブート処理技術は、メモリカードにパッチファイル(起動画像表示プログラム)が存在するか否かを判断基準としてブートシーケンスを簡易且つ適切に実行することができ、技術的な利点を有している。
【特許文献1】特開2000−47876号公報
【特許文献2】特開2000−181876号公報
【発明の開示】
【発明が解決しようとする課題】
【0004】
システムブートが完了した状態で、ゲームデータを実行する場合を考える。このとき、まずゲームデータの起動ファイルを実行することになる。ゲームデータを記録したROM媒体の販売後に、そのゲームデータのパッチファイルが配布されるようなとき、通常は、ROM媒体のゲームデータの起動ファイルを実行するとともに、パッチファイルが読み出されて実行される。この後、リマスタリングされたROM媒体が新たに販売されるような場合には、最初のROM媒体に対するパッチファイルを用いたゲーム起動処理を実行するよりも、リマスタリングされたROM媒体からゲーム起動処理を実行することが好ましい状況もありうる。したがって、複数の起動ファイルが存在する環境では、適切なファイルを選択して実行することが好ましい。また、ゲーム起動処理実行の際だけでなく、ゲームアプリケーションにおいて新たなキャラクタを追加するような場合などにおいても、複数存在する同種のファイルのなかから、適切なファイルを選択して実行することが好ましい。なお、ゲームアプリケーションに限らず、会計ソフトなどの他のアプリケーションについても同様の事情が存在している。
【0005】
そこで本発明は、複数の同種ファイルのなかから、好適なファイルを実行する技術を提供することを目的とする。
【課題を解決するための手段】
【0006】
上記課題を解決するために、本発明のある態様のゲーム装置は、ゲームデータが記録された記録媒体が装着されるドライブ装置と、ゲームデータについてのパッチファイルを保持する記憶装置と、ドライブ装置を介して記録媒体に記録されているバージョン情報を取得する第1バージョン情報取得部と、記憶装置に保持されたパッチファイルに含まれるバージョン情報を取得する第2バージョン情報取得部と、第1バージョン情報取得部により取得されたバージョン情報と、第2バージョン情報取得部により取得されたバージョン情報とを比較する比較部と、記録媒体またはパッチファイルのうち、より新しいバージョン情報が付与されている方から、所定のファイルをメモリにロードする実行処理部とを備える。
【0007】
本発明の別の態様は、情報処理装置である。この情報処理装置は、アプリケーションデータが記録された記録媒体が装着されるドライブ装置と、アプリケーションデータについてのパッチファイルを保持する記憶装置と、ドライブ装置を介して、記録媒体に記録されているバージョン情報を取得する第1バージョン情報取得部と、記憶装置に保持されたパッチファイルに含まれるバージョン情報を取得する第2バージョン情報取得部と、第1バージョン情報取得部により取得されたバージョン情報と、第2バージョン情報取得部により取得されたバージョン情報とを比較する比較部と、記録媒体またはパッチファイルのうち、より新しいバージョン情報が付与されている方から、所定のファイルをメモリにロードする実行処理部とを備える。
【0008】
なお、以上の構成要素の任意の組合せ、本発明の表現を方法、装置、システム、記録媒体、コンピュータプログラムなどの間で変換したものもまた、本発明の態様として有効である。
【発明の効果】
【0009】
本発明の情報処理技術によると、複数の同種ファイルのなかから好適なファイルを実行する技術を提供することが可能となる。
【発明を実施するための最良の形態】
【0010】
図1は、本発明の実施例にかかるゲームシステムを示す。ゲームシステム1は、ゲームアプリケーションを実行するゲーム装置10と、ゲーム装置10における処理結果を出力する表示機器12とを備える。表示機器12は、画像を出力するディスプレイ部を有して構成され、さらに音声を出力する音声出力部を有するテレビであってよい。表示機器12は、ゲーム装置10に有線ケーブルで接続されてよく、また無線LAN(Local Area Network)などにより無線接続されてもよい。ゲームシステム1において、ゲーム装置10は、ケーブル14を介してインターネットなどの外部ネットワークに接続する。なお、無線通信により外部ネットワークへの接続が行われてもよい。
【0011】
ゲーム装置10は、ゲームデータが記録されたROM媒体を装着されて、そのゲームデータを実行し、ゲームアプリケーションの処理結果を示す画像信号および音声信号を生成する情報処理装置である。本実施例に示す技術は、ゲーム装置10に限らず、会計ソフトやCADソフトなどのプログラムが記録されたROM媒体を装着される情報処理装置においても実現できる。
【0012】
図2は、本発明の実施例にかかるファイル更新システムを示す。ファイル更新システム2では、インターネットなどのネットワーク16を介して、ユーザ端末であるゲーム装置10と、ゲームメーカなどが保有する端末である更新サーバ18a、18b、18c(以後、総称して「更新サーバ18」とよぶ)とが通信可能に接続される。ゲームメーカは、ゲームデータについてのパッチファイルを生成すると、それを更新サーバ18に保存して、ゲーム装置10が、パッチファイルを更新サーバ18からダウンロードできるようにする。パッチファイルは、ROM媒体中のプログラムのバグを修正したり、機能を変更または追加などするために使用される。
【0013】
たとえばゲーム装置10は、定期的に各更新サーバ18にアクセスし、パッチファイルが存在する場合に、そのパッチファイルをダウンロードするように構成されてもよい。また、たとえばゲームをプレイする前に、ユーザが、そのゲームデータの更新サーバ18からパッチファイルをゲーム装置10にダウンロードさせてもよい。以上のように、ゲーム装置10にROM媒体を装着させる前に、パッチファイルをゲーム装置10にダウンロードさせておくことで、ゲームデータを最新の状態で実行させることが可能となる。ゲーム装置10は大容量の補助記憶装置を有し、更新サーバ18からダウンロードされたパッチファイルは、補助記憶装置の所定の領域に格納される。
【0014】
図3は、ゲーム装置10の機能ブロック図を示す。ゲーム装置10は、電源ボタン20、LED22、システムコントローラ24、デバイスコントローラ30、メディアドライブ32、ハードディスクドライブ34、スイッチ36、無線インタフェース38、メインコントローラ100、メインメモリ102および出力処理部200を有して構成される。
【0015】
電源ボタン20は、ユーザからの操作入力が行われる入力部であって、ゲーム装置10への電源供給をオンまたはオフするために操作される。電源ボタン20は押下ボタンであってよく、押下されることで電源のオンまたはオフが制御されてもよい。なお電源ボタン20は、タッチセンサなど、ユーザが電源のオンオフを行える他の構造をとってもよい。LED22は、電源のオンまたはオフの状態を点灯表示する。システムコントローラ24は、電源ボタン20の押下状態または非押下状態を検出し、電源オフの状態から押下状態への状態遷移を検出すると、メインコントローラ100を起動し、またLED22を点灯制御する。ゲーム装置10に電源ケーブルが差し込まれている場合、システムコントローラ24は、電源オフの状態であってもスタンバイモードを維持して、電源ボタン20の押下を監視する。
【0016】
デバイスコントローラ30は、サウスブリッジのようにデバイス間の情報の受け渡しを実行するLSI(Large-Scale Integrated Circuit)として構成される。図示のように、デバイスコントローラ30には、システムコントローラ24、メディアドライブ32、ハードディスクドライブ34、スイッチ36およびメインコントローラ100などのデバイスが接続される。デバイスコントローラ30は、それぞれのデバイスの電気特性の違いやデータ転送速度の差を吸収し、データ転送のタイミングを制御する。
【0017】
メディアドライブ32は、ゲームデータを記録したROM媒体50を装着して駆動し、ROM媒体50からゲームデータを読み出すドライブ装置である。ROM媒体50は、光ディスクや光磁気ディスク、ブルーレイディスクなどの読出専用の記録メディアである。ゲームデータは、ゲームアプリケーションを実行させるメインプログラムと、メインプログラムを起動するための起動ファイルと、描画解像度やバージョン情報、パッチファイルの格納場所を特定するための情報などを含む設定ファイルと、アプリケーションのコンテンツ情報を含んでいる。ゲームデータのうち、処理手順を指示するデータやファイルを、以下では、「ゲームプログラム」と呼ぶこともある。たとえば、メインプログラムや起動ファイルは、ゲームプログラムに該当する。
【0018】
メインプログラムは、アプリケーション処理に必要なプログラムであり、メインプログラムを走らせることで、ゲームアプリケーションが進行する。起動ファイルは、メインプログラムを起動するためのプログラムであり、起動ファイルを実行すると、メインプログラムが呼び出されて実行される。設定ファイルにおいて、描画解像度は、メインプログラムによる画像出力解像度を特定し、バージョン情報は、起動ファイルのバージョンを特定する。バージョン情報は、起動ファイルの生成順を特定できるものであればよく、生成順に大きな数字を付与されてもよく、また生成年月日を特定する情報であってもよい。パッチファイルの格納場所を特定するための情報は、更新サーバ18より供給されるパッチファイルのハードディスクドライブ34上の記憶位置を特定する情報であって、パッチファイルの情報を読み出す際に用いられる。またコンテンツ情報は、アプリケーションのタイトル名や説明情報などを含んだデータである。コンテンツ情報は、ゲーム装置10のメニュー画面において、ゲームアプリケーションのタイトルをアイコン表示したり、また説明情報を表示して、ユーザにゲームアプリケーションの内容を通知するために用いられる。コンテンツ情報は、表示するアイコンとして、静止画アイコンおよび/または動画アイコンを含んでよい。
【0019】
ハードディスクドライブ34は、内蔵ハードディスクを駆動し、磁気ヘッドを用いてデータの書込/読出を行う補助記憶装置である。スイッチ36は、イーサネットスイッチ(イーサネットは登録商標)であって、外部の機器と有線または無線で接続して、情報の送受信を行うデバイスである。本実施例では、スイッチ36にケーブル14が差し込まれ、ネットワーク16に通信可能に接続している。さらにスイッチ36は無線インタフェース38に接続し、無線インタフェース38は、Bluetooth(登録商標)プロトコルやIEEE802.11プロトコルなどの通信プロトコルで無線通信機能をもつゲームコントローラ40と接続する。ゲームコントローラ40は、ユーザからの操作入力が行われる入力部として機能する。
【0020】
メインコントローラ100は、マルチコアCPUを備え、1つのCPUの中に1つの汎用的なプロセッサコアと、複数のシンプルなプロセッサコアを有する。汎用プロセッサコアをPPU(Power Processing Unit)と呼び、残りのプロセッサコアをSPU(Synergistic-Processing Unit)と呼ぶ。
【0021】
メインコントローラ100では、ゲーム装置10において、ハードウェアへのインターフェースを抽象化してアプリケーションソフトウェアに提供するオペレーティングシステム(以下、単に「OS(Operating System)」と呼ぶ)が実行される。ゲーム装置10において、OSは、ハイパーバイザと呼ばれる基本ソフトウェア上で実行される。ハイパーバイザにおいて、「特権ソフトウェア」と呼ばれるソフトウェアが実行され、ゲーム用OSなどのOSを実行させるための環境を提供する。ハイパーバイザは、電源ボタン20より電源投入されると、必ず起動される。
【0022】
メインコントローラ100は、主記憶装置であるメインメモリ102に接続するメモリコントローラを備える。PPUはレジスタを有し、演算実行主体としてメインプロセッサを備えて、各アプリケーションにおける基本処理単位としてのタスクを各SPUに効率的に割り当てる。なお、PPU自身がタスクを実行してもよい。SPUはレジスタを有し、演算実行主体としてのサブプロセッサとローカルな記憶領域としてのローカルメモリ(専用RAM)を備える。SPUは制御ユニットとして専用のDMA(Direct Memory Access)コントローラをもち、メインメモリ102とローカルメモリの間のデータ転送を行うことで、データを高速にストリーム処理でき、また出力処理部200に内蔵されるフレームメモリとローカルメモリの間で高速なデータ転送を実現できる。
【0023】
出力処理部200は、表示機器12に接続されて、アプリケーションの処理結果である映像信号および音声信号を出力する。出力処理部200は、画像処理機能を実現するGPU(Graphics Processing Unit)を備える。GPUは、HDMI(High Definition Multimedia Interface)を採用し、アナログを介さずに、映像信号をデジタル出力できる。
【0024】
図4は、メインコントローラ100の内部構成を示す。メインコントローラ100は、入力受付部104、アプリケーション処理部120、メモリコントローラ160およびローカルメモリ162を備える。
【0025】
図4において、さまざまな処理を行う機能ブロックとして記載される各要素は、ハードウェア的には、CPU(Central Processing Unit)、メモリ、その他のLSIで構成することができ、ソフトウェア的には、メモリにロードされたプログラムなどによって実現される。既述したように、メインコントローラ100には1つのPPUと複数のSPUとが設けられており、PPUおよびSPUがそれぞれ単独または協同して、各機能ブロックを構成できる。したがって、これらの機能ブロックがハードウェアのみ、ソフトウェアのみ、またはそれらの組合せによっていろいろな形で実現できることは当業者には理解されるところであり、いずれかに限定されるものではない。
【0026】
メモリコントローラ160は、外部のメインメモリ102や、SPUに内蔵されているローカルメモリ162の書込/読出を制御する。メモリコントローラ160は、アプリケーション処理部120からの指示により制御され、ハードディスクやROM媒体50などから読み出したデータを、メインメモリ102ないしはローカルメモリ162に記憶させる。
【0027】
アプリケーション処理部120は、設定ファイル読込部122、第1バージョン情報取得部124、第2バージョン情報取得部126、比較部128、判定部130、実行処理部132、コンテンツ情報処理部138およびパッチファイル取得部140を有して構成される。実行処理部132は、ブートシーケンス実行部134およびアプリケーション実行部136を有する。アプリケーション処理部120は、主として、メインプログラムのブートシーケンスを実行してメインプログラムを起動する機能をもつ。
【0028】
ファイル更新システム2において、更新サーバ18から供給されるゲームデータについてのパッチファイルは、パッチファイル取得部140により取得されて、ハードディスクドライブ34の所定の領域に格納される。なおパッチファイル取得部140は、ゲーム装置10に対して着脱可能なメモリカードなどの記録媒体から、パッチファイルを取得してもよい。パッチファイル取得部140は、たとえば過去にメディアドライブ32に装着されたことのあるROM媒体50のゲームデータを特定するリストを有し、このリストに含まれるゲームデータの更新を管理する更新サーバ18に定期的にアクセスする。更新サーバ18がゲームデータのパッチファイルを保持している場合、パッチファイル取得部140は、パッチファイルをダウンロードして、ハードディスクドライブ34に格納する。パッチファイルは、ゲームデータごとに設けられたディレクトリに保持される。なお、同一のゲームタイトルに対するパッチファイルは、上書きされて保持される。
【0029】
ハードディスクドライブ34がパッチファイルのデータ量に比して大容量の記憶装置であることに鑑みれば、パッチファイル取得部140が、ファイル更新システム2上に存在する全てのゲームデータのパッチファイルをダウンロードするようにしてもよい。ゲームデータにはタイトルを特定するタイトルIDが付与されているため、パッチファイル取得部140は、このタイトルIDを利用して、パッチファイルの格納ディレクトリをゲームデータ毎に生成し、対応するパッチファイルを格納してもよい。ディレクトリ名の付け方は様々なものが考えられるが、いずれの付け方であっても、ゲームデータを起動する際に、ROM媒体50のゲームデータに対応するパッチファイルの格納場所を第2バージョン情報取得部126が特定できる必要がある。したがって、パッチファイルの格納場所は、ROM媒体50の設定ファイルに含まれる情報から特定可能であることが好ましい。
【0030】
なお、メディアドライブ32にROM媒体50が装着されていることは、ゲームを起動するための条件であるが、パッチファイルをダウンロードするための条件ではない。したがって、メディアドライブ32へのROM媒体50の装着の有無にかかわらず、パッチファイル取得部140は、更新サーバ18からゲームデータに関するパッチファイルをダウンロードできる。これにより、メディアドライブ32にROM媒体50を装着したときに、最新のパッチファイルがハードディスクドライブ34に格納されている状況を作り出すことができる。
【0031】
メインコントローラ100は、デバイスコントローラ30との間で制御情報を送受する手段として入力受付部104を有する。入力受付部104は、ユーザのゲームコントローラ40からの操作入力を受け付ける。
【0032】
ゲームシステム1において、ユーザは、ゲームをプレイする際、所望のゲームデータを記録したROM媒体50をメディアドライブ32に挿入する。ゲーム装置10は、ROM媒体50の認証処理を行って、ROM媒体50が真正なものであるか判定する。ROM媒体50が真正なものであることが認証されると、表示機器12の画面に、ROM媒体50の存在が表示される。このとき、コンテンツ情報処理部138が、ROM媒体50からコンテンツ情報を取得し、出力処理部200に出力する。
【0033】
図5は、表示機器12に生成されるメニュー画面を示す。メニュー画面では、コンテンツ情報処理部138により取得されたコンテンツ情報が表示される。アイコン26には、ゲームアプリケーションのタイトル名が表示され、説明画像28には、ゲームアプリケーションの説明が表示される。ユーザが、ゲームコントローラ40を用いてメニュー画面上のアイコン26を選択操作すると、ゲームの起動ファイルが実行される。このとき、ゲームデータのパッチファイルがハードディスクドライブ34に格納されていれば、ゲーム装置10は、パッチファイルに含まれる起動ファイルと、ROM媒体50に記録されている起動ファイルのうち、最新のバージョンの起動ファイルを選択して実行する。以下、詳細を示す。
【0034】
ユーザがゲームアプリケーションのアイコン26を選択すると、設定ファイル読込部122が、ROM媒体50に記録されている設定ファイルを読み込む。設定ファイル名は、「PARAMETER.A」であり、全てのゲームデータにおいて共通であってよい。
【0035】
図6は、ROM媒体50に記録されている設定ファイルの一例を示す。設定ファイルには、タイトルID、バージョン情報や描画解像度などが記述されている。この例では、タイトルIDは「AAA00001」、バージョンは「1.0」、描画解像度は「720」となっている。バージョン情報はゲームメーカによって作成された起動ファイルのバージョンを示し、バージョン情報のうち、左側の桁の最小値は1、右側の桁の最小値は0であって、バージョン情報「1.0」は、最も初期のバージョンであることを意味している。
【0036】
本実施例のバージョン情報は、起動ファイルにマイナーチェンジを施した場合には右側の数字をインクリメントし、一方、起動ファイルを大きく修正する場合には、左側の数字をインクリメントして右側の数字を0に戻すポリシーで生成される。したがって、バージョン情報を比較したとき、左側の数字の大きい方が新しいバージョンであることが判定され、また左側の数字が等しい場合には、右側の数字の大きい方が新しいバージョンであることが判定される。たとえば、バージョン「1.0」とバージョン「1.1」では、バージョン「1.1」の方が新しく、バージョン「2.0」とバージョン「1.1」では、バージョン「2.0」の方が新しい。左側の数字は、たとえばROM媒体50がリマスタリングされるような場合にインクリメントされる。すなわち、リマスタリングされたROM媒体50のバージョン情報は「2.0」となり、以後、このゲームデータについてのパッチファイルは、右側の数字がインクリメントされたバージョン情報が付与される。
【0037】
本実施例において、パッチファイルの格納ディレクトリは、たとえばゲームデータのタイトルIDで特定されてもよい。タイトルIDは、ゲームデータごとに付与されるため、タイトルIDをディレクトリ名として利用することで、パッチファイルの格納ディレクトリを、ゲームデータごとに生成することができる。なお格納ディレクトリ名は、ゲームデータごとに一意に付与される他の情報を用いて表現されてもよい。
【0038】
図7(a)は、パッチファイルのパスを示す。パッチファイルは、設定ファイル(PARAMETER.A)と、起動ファイル(BOOT.B)を含んで構成される。
パッチファイル取得部140は、ネットワーク16経由でパッチファイルをダウンロードすると、パッチファイル中の設定ファイルに含まれる「タイトルID」を抽出し、GAMEディレクトリの下層に、タイトルIDで表現したディレクトリを生成し、そのディレクトリにパッチファイルを格納する。このようにして、パッチファイルに含まれる情報をもとに、図7(a)に示すパスが形成されてもよい。なおゲーム装置10にはパッチファイル用のインストーラが搭載され、インストーラが、ユーザとの対話形式でパッチファイルの格納場所を設定することも可能である。このとき、ゲーム装置10は、格納場所とタイトルIDとを紐付けて記憶しておき、ROM媒体50に記録されたタイトルIDをキーに、パッチファイルの格納場所が特定できるようにしておくことが好ましい。なお、格納場所と紐付けする情報、および格納ディレクトリを特定するための情報は、タイトルIDだけでなく、ゲームデータごとに一意に付与される他の情報であってもよい。
【0039】
ROM媒体50に含まれる設定ファイルには、ハードディスクドライブ34に格納しているパッチファイルの格納場所を特定する情報が含まれてもよい。たとえば、ROM媒体50の設定ファイルは、パッチファイルの設定ファイルおよび起動ファイルのディレクトリとファイル名で特定されるハードディスクドライブ34中のパスを保持していてもよく、また格納するディレクトリを保持してもよい。ファイル更新システム2において、パッチファイルに含まれる設定ファイル名および起動ファイル名は、ROM媒体50を作成した時点で既に定められており、したがって、ROM媒体50の設定ファイルに、ハードディスクドライブ34における格納場所のパス特定情報を含めさせることが可能となる。ROM媒体50の設定ファイルは、パッチファイルの設定ファイルについてはパス特定情報を保持する一方で、起動ファイルについてはディレクトリ特定情報を保持していてもよく、その逆であってもよい。
【0040】
パス特定情報やディレクトリ特定情報は、それぞれパスおよびディレクトリを直接指定する情報であってもよいが、ゲーム装置10側で処理することで、間接的に指定するものであってもよい。たとえば、図7(a)に示すディレクトリは、図6に示すタイトルIDから導出することが可能であり、この場合は、タイトルIDが、格納ディレクトリを間接的に指定する情報として利用される。
【0041】
図7(b)は、パッチファイルに含まれる設定ファイルの一例を示す。設定ファイルには、タイトルID、バージョン情報や描画解像度などが記述されている。この例では、タイトルIDは「AAA00001」、バージョンは「1.1」、描画解像度は「1080」となっている。図6に示すROM媒体50中の設定ファイルと比較すると、描画解像度が720から1080(フルHD)に拡大され、バージョンアップが施されている。なお、バージョン情報は「1.1」と、右側の桁が1インクリメントされている。
【0042】
図4に戻って、設定ファイル読込部122は、メディアドライブ32を介して、ROM媒体50に記録されている設定ファイル(図6参照)を読み込む。第1バージョン情報取得部124は、読み出した設定ファイルの中からバージョン情報を取得する(以下、このバージョン情報を「第1バージョン情報」と呼ぶ)。ここで第1バージョン情報取得部124は、ROM媒体50に記録されている第1バージョン情報「1.0」を取得する。
【0043】
第2バージョン情報取得部126は、設定ファイル読込部122において読み出した設定ファイルのタイトルIDから、パッチファイルが格納されているディレクトリを特定して、パッチファイルが保持されているか探索する探索部として機能する。なお、「AAA00001」のタイトルIDで特定されるゲームデータのパッチファイルをダウンロードしていない場合は、ディレクトリ自体が存在しない。第2バージョン情報取得部126は、特定したディレクトリからパッチファイルの設定ファイル(図7(b)参照)を読み出し、バージョン情報を取得する(以下、このバージョン情報を「第2バージョン情報」と呼ぶ)。なお、設定ファイル読込部122において読み出した設定ファイルに、パッチファイルの格納ディレクトリのパス特定情報またはディレクトリ特定情報が含まれている場合は、その情報をもとに第2バージョン情報取得部126が格納ディレクトリを特定して、バージョン情報を取得する。なお、タイトルIDやディレクトリ特定情報をもとに格納ディレクトリを特定したときは、第2バージョン情報取得部126が、ディレクトリ内で設定ファイルを探索する。これは、第2バージョン情報取得部126が、パッチファイルの設定ファイル名が「PARAMETER.A」であることを予め認識しているために実現される。ここで第2バージョン情報取得部126は、パッチファイルの第2バージョン情報「1.1」を取得する。
【0044】
比較部128は、第1バージョン情報取得部124により取得された第1バージョン情報と、第2バージョン情報取得部126により取得された第2バージョン情報とを比較し、判定部130は、第1バージョン情報と第2バージョン情報のいずれが新しいかを判定する。上記例では、第1バージョン情報が「1.0」であり、第2バージョン情報が「1.1」であるため、判定部130は、第2バージョンの方が、第1バージョンよりも新しいバージョンであることを判定する。なお、格納ディレクトリ自体が存在しない場合、また格納ディレクトリは存在しているがパッチファイルが存在しない場合には、第2バージョン情報取得部126がパッチファイルの第2バージョン情報を取得できないため、判定部130は、第1バージョン情報が最新であることを判定する。
【0045】
ブートシーケンス実行部134は、ROM媒体50またはパッチファイルのうち、より新しいバージョン情報が付与されている方から、所定のファイルをメインメモリ102またはローカルメモリ162にロードする。ここで所定のファイルとは、起動ファイルであってよく、ブートシーケンス実行部134は、第2バージョン情報が付与されているパッチファイルから、起動ファイルを読み出してメインメモリ102またはローカルメモリ162にロードし、ゲームデータのブートシーケンスすなわちゲーム起動処理を実行する。このブートシーケンスにより、ゲーム装置10の設定がゲーム実行モードに入り、ゲームデータの実行環境が整えられる。具体的には、パッチファイルの設定ファイルにしたがった環境が形成され、たとえば画像出力解像度は1920×1080(図7(b)参照)に設定される。アプリケーション実行部136は、形成されたゲーム実行環境でメインプログラムを起動して、ゲームアプリケーションを実行することができる。
【0046】
なおブートシーケンス実行部134は、メディアドライブ32にROM媒体50が装着されていない場合にはブートシーケンスを実行しない。本実施例では、メディアドライブ32にROM媒体50を装着したときに、ROM媒体50の認証処理が実行され、ROM媒体50が真正な媒体であることが判定された場合に、図5に示したようにメニュー画面にアイコン26が表示される。ゲーム装置10では、ユーザによるアイコン26の選択操作を、ゲームデータの起動条件としており、これにより、真正なROM媒体50を保持しなければ、パッチファイルを起動できないゲーム環境を構築することができる。
【0047】
図8は、ゲームデータの実行プロセスを示すフローチャートである。本実施例のゲーム装置10では、ROM媒体50がメディアドライブ32に装着されなければ(S10のN)、ゲームデータは実行されない。ROM媒体50がメディアドライブ32に装着されると(S10のY)、ROM媒体50の認証処理が実行される。ROM媒体50が真正な媒体であることが判定されると、図5に示すメニュー画面が表示機器12に表示される。ユーザがアイコン26を選択しなければ(S12のN)、ゲームデータは実行されず、アイコン26が選択されると(S12のY)、第1バージョン情報取得部124が、ROM媒体50に記録されている第1バージョン情報を取得する(S14)。続いて第2バージョン情報取得部126が、ハードディスクドライブ34を探索して、ROM媒体50のゲームデータについてのパッチファイルの存在の有無を判定する(S16)。パッチファイルが存在しなければ(S16のN)、ブートシーケンス実行部134が、ROM媒体50から起動ファイルを読み出し、ブートシーケンスを実行する(S24)。アプリケーション実行部136は、メインプログラムを実行する(S26)。
【0048】
一方、パッチファイルが存在していれば(S16のY)、第2バージョン情報取得部126が、パッチファイルに含まれている第2バージョン情報を取得する(S18)。比較部128は、第1バージョン情報と第2バージョン情報とを比較し、判定部130が、いずれか新しい方を判定する(S20)。第1バージョン情報の方が新しい場合(S20のN)、ブートシーケンス実行部134が、ROM媒体50から起動ファイルを読み出し、ブートシーケンスを実行する(S24)。一方、第2バージョン情報の方が新しい場合(S20のY)、ブートシーケンス実行部134が、パッチファイルから起動ファイルを読み出し、ブートシーケンスを実行する(S22)。アプリケーション実行部136は、メインプログラムを実行する(S26)。
【0049】
なお、比較部128による比較の結果、判定部130が、第1バージョン情報と第2バージョン情報とが同一であることを判定する場合も生じうる。たとえばパッチファイルのダウンロード中に発生したエラーであったり、バージョンの設定にミスがあったような場合である。この場合、ブートシーケンス実行部134は、ハードディスクドライブ34に格納されている起動ファイルを読み出して、ブートシーケンスを実行してもよい。ハードディスクドライブ34へのアクセスの方がROM媒体50へのアクセスよりも早いため、両バージョン情報が同じ場合には、処理速度の観点から、パッチファイルの起動ファイルを用いたブートシーケンスを実行してもよい。
【0050】
一方、信頼性の観点から、ROM媒体50の起動ファイルを優先実行することも可能である。パッチファイルは外部のネットワーク16経由で取得されるため、通信エラーなどにより、完全な状態で取得できないことも考えられる。そのような場合に、両バージョン情報が同じであれば、ROM媒体50の起動ファイルのデータ信頼性の方がはるかに高いため、ブートシーケンス実行部134は、ROM媒体50の起動ファイルを用いたブートシーケンスを実行してもよい。
【0051】
両バージョン情報が同一の場合に、いずれの起動ファイルを優先起動させるかは、設計上重要な要素であり、ファイル更新システム2における運用ポリシーにしたがって判断されなければならない。
【0052】
以上、本発明を実施例をもとに説明した。この実施例は例示であり、それらの各構成要素や各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。実施例では、ゲームデータが記録された記録媒体の例としてROM媒体を示したが、記録媒体は、たとえば情報の書換可能な媒体であっても構わない。その場合であっても、記録媒体は、認証処理により真正なものであるか判定可能なものであることが好ましい。また実施例では、より新しいバージョンを判定して、そのバージョンの起動ファイルを実行することとしたが、処理を単純にするために、ブートシーケンス実行部134は、パッチファイルが存在する場合には、そのパッチファイルの起動ファイルを実行し、パッチファイルが存在しなければROM媒体50のパッチファイルを実行するようにしてもよい。
【0053】
実施例では、第2バージョン情報取得部126がパッチファイルのバージョン情報を設定ファイルから取得することとしたが、パッチファイルのバージョン情報は、バージョン管理用のファイルにデータベース化されていてもよい。バージョン管理用ファイルには、ダウンロードした全てのパッチファイルの最新のバージョン情報が記述されており、第2バージョン情報取得部126は、このファイルを用いて迅速に第2バージョン情報を取得できるため、処理の効率化を図ることが可能となる。
【0054】
また実施例では、ROM媒体50の認証処理が適切に完了すると、コンテンツ情報処理部138が、ROM媒体50のコンテンツ情報を読み出して、図5に示すアイコン26および説明画像28をメニュー画面に表示させることとし、アイコン26が選択操作されることが、ROM媒体50およびパッチファイルのバージョンの比較処理の契機となることを説明した。変形例として、ROM媒体50の認証処理が完了した時点で、ROM媒体50およびパッチファイルのバージョン情報を比較して、新しいバージョン情報を判定する処理を行ってもよい。このとき、パッチファイルのバージョン情報が新しく、またパッチファイルがコンテンツ情報を含んでいる場合には、コンテンツ情報処理部138が、パッチファイルに含まれるコンテンツ情報をもとに、アイコンおよび説明画像をメニュー画面に表示してもよい。この場合、アイコンの選択操作は、パッチファイルにおける起動ファイルを起動する契機となってもよい。
【0055】
また、パッチファイルに設定ファイルと起動ファイルが含まれることとしたが、メインプログラムの修正用ファイルや差分ファイルなどが含まれてもよい。この場合、パッチファイルのバージョン情報の方が新しければ、ブートシーケンス実行部134が、パッチファイルの起動ファイルを用いてブートシーケンスを実行し、アプリケーション実行部136が、ROM媒体50に記録されているメインプログラムと、パッチファイルのメインプログラム修正用ファイルとをメモリにロードして、ゲームアプリケーションを実行する。なお、修正用ファイルとしてではなく、更新したメインプログラムがパッチファイルに含まれてもよい。この場合、更新したメインプログラムは、独立して実行されることができる。
【0056】
実施例では、ゲームアプリケーションが1枚のROM媒体50により実行されるケースを前提としたが、ゲームアプリケーションが複数のROM媒体50により実行されるケースも想定される。このとき、複数のROM媒体50とパッチファイルの対応としては、以下の態様が存在する。
【0057】
1つめは、複数のROM媒体50に対して1つのパッチファイルが生成される場合である。パッチファイルは、複数のROM媒体50に対して共通の設定ファイル、起動ファイルと、メインプログラムの差分ファイルとを含んで構成される。
2つめは、複数のROM媒体50に対してそれぞれパッチファイルが生成され、同一のディレクトリに格納される場合である。パッチファイルは、対応するROM媒体50に対する設定ファイル、起動ファイルと、メインプログラムの差分ファイルとを含んで構成される。
3つめは、複数のROM媒体50に対してそれぞれパッチファイルが生成され、それぞれ異なるディレクトリに格納される場合である。パッチファイルは、対応するROM媒体50に対する設定ファイル、起動ファイルと、メインプログラムの差分ファイルとを含んで構成される。
なお、いずれの態様であっても、複数のうちの1つのROM媒体50がメディアドライブ32に装着されると、上記したようにメニュー画面にアイコン26が表示され、アイコン26を選択操作することで、最新の起動ファイルを特定する処理が走ることになる。
【0058】
1枚目のROM媒体50でゲームデータを実行中、2枚目のROM媒体50に差し替える場合を想定する。以下、OSによる処理であるか、またはアプリケーションソフトウェアによる処理であるかに着目して、媒体差替時の処理を説明する。まず、アプリケーションソフトウェアにより、ROM媒体50の交換指示が表示機器12に表示される。ユーザはこれを見て、ROM媒体50を交換する。OSは、ROM媒体50が差替えられたことを認識すると、真正なものであるか否かの認証処理を実行する。真正なものである場合、OSは、差替えられたROM媒体50のパッチファイルの格納場所を特定してパッチファイルからバージョン情報を抽出し、ROM媒体50のバージョン情報との比較を行う。OSは、最新のバージョン情報を判定すると、アプリケーションソフトウェアに通知する。パッチファイルのバージョン情報が新しい場合、アプリケーションソフトウェアは、必要に応じてパッチファイルを取得し、ゲームデータを最新の状態で実行することができる。
【0059】
たとえば図5において、ROM媒体50のゲームデータについてのアイコン26がメニュー画面に表示された様子が示されているが、加えて、ハードディスクドライブ34に他のゲームデータがインストールされていれば、そのゲームデータのアイコンがメニュー画面に表示されてもよい。すなわち、ROM媒体50に記録されたゲームデータのアイコンと、ハードディスクドライブ34にインストールされたゲームデータのアイコンとが、メニュー画面においてリスト表示されてもよい。
【0060】
このとき、メニューの表示項目を切替えると、パッチファイル取得部140により取得された全パッチファイルのアイコンがリスト表示されてもよい。なお、ゲームシステム1では、パッチファイルのアイコンを選択操作してもゲームデータのブートシーケンスすなわちゲーム起動処理は実行されず、あくまでも、ROM媒体50の存在を示すアイコン26の選択操作が、ゲーム起動処理の実行開始の契機となる。ユーザは、パッチファイルのアイコンを削除操作することで、そのパッチファイルをハードディスクドライブ34から削除することはでき、これによりハードディスクドライブ34の空容量を広げることは可能である。
【図面の簡単な説明】
【0061】
【図1】本発明の実施例にかかるゲームシステムを示す図である。
【図2】本発明の実施例にかかるファイル更新システムを示す図である。
【図3】ゲーム装置の機能ブロック図である。
【図4】メインコントローラの内部構成を示す図である。
【図5】表示機器に生成されるメニュー画面を示す図である。
【図6】ROM媒体に記録されている設定ファイルの一例を示す図である。
【図7】(a)はパッチファイルのパスを示す図であり、(b)はパッチファイルに含まれる設定ファイルの一例を示す図である。
【図8】ゲームデータの実行プロセスを示すフローチャートである。
【符号の説明】
【0062】
1・・・ゲームシステム、2・・・ファイル更新システム、10・・・ゲーム装置、12・・・表示機器、14・・・ケーブル、16・・・ネットワーク、18・・・更新サーバ、20・・・電源ボタン、22・・・LED、24・・・システムコントローラ、26・・・アイコン、28・・・説明画像、30・・・デバイスコントローラ、32・・・メディアドライブ、34・・・ハードディスクドライブ、36・・・スイッチ、38・・・無線インタフェース、40・・・ゲームコントローラ、50・・・ROM媒体、100・・・メインコントローラ、102・・・メインメモリ、104・・・入力受付部、120・・・アプリケーション処理部、122・・・設定ファイル読込部、124・・・第1バージョン情報取得部、126・・・第2バージョン情報取得部、128・・・比較部、130・・・判定部、132・・・実行処理部、134・・・ブートシーケンス実行部、136・・・アプリケーション実行部、138・・・コンテンツ情報処理部、140・・・パッチファイル取得部、160・・・メモリコントローラ、162・・・ローカルメモリ、200・・・出力処理部。

【特許請求の範囲】
【請求項1】
ゲームデータが記録された記録媒体が装着されるドライブ装置と、
ゲームデータについてのパッチファイルを保持する記憶装置と、
前記ドライブ装置を介して、記録媒体に記録されているバージョン情報を取得する第1バージョン情報取得部と、
前記記憶装置に保持されたパッチファイルに含まれるバージョン情報を取得する第2バージョン情報取得部と、
前記第1バージョン情報取得部により取得されたバージョン情報と、前記第2バージョン情報取得部により取得されたバージョン情報とを比較する比較部と、
記録媒体またはパッチファイルのうち、より新しいバージョン情報が付与されている方から、所定のファイルをメモリにロードする実行処理部と、
を備えることを特徴とするゲーム装置。
【請求項2】
記録媒体およびパッチファイルには、それぞれメインプログラムを起動するための起動ファイルが含まれており、
前記実行処理部は、より新しいバージョン情報が付与されている起動ファイルをメモリにロードして、ゲーム起動処理を実行することを特徴とする請求項1に記載のゲーム装置。
【請求項3】
前記実行処理部は、前記ドライブ装置に記録媒体が装着されていない場合にはゲーム起動処理を実行せず、前記ドライブ装置に記録媒体が装着されていることを条件として、ゲーム起動処理を実行することを特徴とする請求項2に記載のゲーム装置。
【請求項4】
ゲームデータについてのパッチファイルを取得するパッチファイル取得部をさらに備えることを特徴とする請求項1から3のいずれかに記載のゲーム装置。
【請求項5】
前記パッチファイル取得部は、前記ドライブ装置に記録媒体が装着されていなくてもパッチファイルを取得可能であることを特徴とする請求項4に記載のゲーム装置。
【請求項6】
前記第2バージョン情報取得部は、前記記録媒体に記録されている情報をもとに、前記記憶装置におけるパッチファイルの格納場所を特定して、パッチファイルに含まれるバージョン情報を取得することを特徴とする請求項1から5のいずれかに記載のゲーム装置。
【請求項7】
前記第2バージョン情報取得部がパッチファイルのバージョン情報を取得できない場合、前記実行処理部は、記録媒体から所定のファイルをメモリにロードすることを特徴とする請求項6に記載のゲーム装置。
【請求項8】
ゲームデータが記録された記録媒体が装着されるドライブ装置と、
ゲームデータについてのパッチファイルを保持可能な記憶装置と、
記憶装置にパッチファイルが保持されているか探索する探索部と、
前記探索部によりパッチファイルが前記記憶装置に保持されていることが判定されると、パッチファイルに含まれる所定のファイルをメモリにロードし、前記探索部によりパッチファイルが前記記憶装置に保持されていないことが判定されると、ゲームデータに含まれる所定のファイルをメモリにロードする実行処理部と、
を備えることを特徴とするゲーム装置。
【請求項9】
アプリケーションデータが記録された記録媒体が装着されるドライブ装置と、
アプリケーションデータについてのパッチファイルを保持する記憶装置と、
前記ドライブ装置を介して、記録媒体に記録されているバージョン情報を取得する第1バージョン情報取得部と、
前記記憶装置に保持されたパッチファイルに含まれるバージョン情報を取得する第2バージョン情報取得部と、
前記第1バージョン情報取得部により取得されたバージョン情報と、前記第2バージョン情報取得部により取得されたバージョン情報とを比較する比較部と、
記録媒体またはパッチファイルのうち、より新しいバージョン情報が付与されている方から、所定のファイルをメモリにロードする実行処理部と、
を備えることを特徴とする情報処理装置。
【請求項10】
ファイルのロード方法であって、
ゲームデータについてのパッチファイルを保持するステップと、
ゲームデータを記録した記録媒体に含まれるバージョン情報を取得するステップと、
パッチファイルに含まれるバージョン情報を取得するステップと、
記録媒体から取得したバージョン情報と、パッチファイルから取得したバージョン情報とを比較して、より新しい方を判定するステップと、
記録媒体またはパッチファイルのうち、より新しいバージョン情報が付与されている方から、所定のファイルをメモリにロードするステップと、
を備えることを特徴とするファイルロード方法。
【請求項11】
コンピュータに、
ゲームデータについてのパッチファイルを保持する機能と、
ゲームデータを記録した記録媒体に含まれるバージョン情報を取得する機能と、
パッチファイルに含まれるバージョン情報を取得する機能と、
記録媒体から取得したバージョン情報と、パッチファイルから取得したバージョン情報とを比較して、より新しい方を判定する機能と、
記録媒体またはパッチファイルのうち、より新しいバージョン情報が付与されている方から、所定のファイルをメモリにロードする機能と、
を実現させるためのプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate


【公開番号】特開2008−123139(P2008−123139A)
【公開日】平成20年5月29日(2008.5.29)
【国際特許分類】
【出願番号】特願2006−304616(P2006−304616)
【出願日】平成18年11月9日(2006.11.9)
【出願人】(395015319)株式会社ソニー・コンピュータエンタテインメント (871)
【Fターム(参考)】