(57)【要約】【課題】複数の同種ファイルのなかから、好適なファイルを実行する技術を提供する。【解決手段】ゲーム装置１０において、ゲームデータを記録したＲＯＭ媒体がドライブ装置に挿入される。パッチファイル取得部１４０は、ゲームデータについてのパッチファイルを取得し、ＨＤＤに格納する。ＲＯＭ媒体およびパッチファイルには、それぞれメインプログラムを起動するための起動ファイルが含まれる。実行処理部１３２は、より新しいバージョン情報が付与されている起動ファイルをメモリにロードして、ブートシーケンスを実行する。実行処理部１３２は、ドライブ装置にＲＯＭ媒体が装着されていない場合にはブートシーケンスを実行せず、ドライブ装置にＲＯＭ媒体が装着されていることを条件として、ブートシーケンスを実行する。【選択図】図４
2008123139.tif 000002
【特許請求の範囲】
【請求項１】
ゲームデータが記録された記録媒体が装着されるドライブ装置と、
ゲームデータについてのパッチファイルを保持する記憶装置と、
前記ドライブ装置を介して、記録媒体に記録されているバージョン情報を取得する第１バージョン情報取得部と、
前記記憶装置に保持されたパッチファイルに含まれるバージョン情報を取得する第２バージョン情報取得部と、
前記第１バージョン情報取得部により取得されたバージョン情報と、前記第２バージョン情報取得部により取得されたバージョン情報とを比較する比較部と、
記録媒体またはパッチファイルのうち、より新しいバージョン情報が付与されている方から、所定のファイルをメモリにロードする実行処理部と、
を備えることを特徴とするゲーム装置。
【請求項２】
記録媒体およびパッチファイルには、それぞれメインプログラムを起動するための起動ファイルが含まれており、
前記実行処理部は、より新しいバージョン情報が付与されている起動ファイルをメモリにロードして、ゲーム起動処理を実行することを特徴とする請求項１に記載のゲーム装置。
【請求項３】
前記実行処理部は、前記ドライブ装置に記録媒体が装着されていない場合にはゲーム起動処理を実行せず、前記ドライブ装置に記録媒体が装着されていることを条件として、ゲーム起動処理を実行することを特徴とする請求項２に記載のゲーム装置。
【請求項４】
ゲームデータについてのパッチファイルを取得するパッチファイル取得部をさらに備えることを特徴とする請求項１から３のいずれかに記載のゲーム装置。
【請求項５】
前記パッチファイル取得部は、前記ドライブ装置に記録媒体が装着されていなくてもパッチファイルを取得可能であることを特徴とする請求項４に記載のゲーム装置。
【請求項６】
前記第２バージョン情報取得部は、前記記録媒体に記録されている情報をもとに、前記記憶装置におけるパッチファイルの格納場所を特定して、パッチファイルに含まれるバージョン情報を取得することを特徴とする請求項１から５のいずれかに記載のゲーム装置。
【請求項７】
前記第２バージョン情報取得部がパッチファイルのバージョン情報を取得できない場合、前記実行処理部は、記録媒体から所定のファイルをメモリにロードすることを特徴とする請求項６に記載のゲーム装置。
【請求項８】
ゲームデータが記録された記録媒体が装着されるドライブ装置と、
ゲームデータについてのパッチファイルを保持可能な記憶装置と、
記憶装置にパッチファイルが保持されているか探索する探索部と、
前記探索部によりパッチファイルが前記記憶装置に保持されていることが判定されると、パッチファイルに含まれる所定のファイルをメモリにロードし、前記探索部によりパッチファイルが前記記憶装置に保持されていないことが判定されると、ゲームデータに含まれる所定のファイルをメモリにロードする実行処理部と、
を備えることを特徴とするゲーム装置。
【請求項９】
アプリケーションデータが記録された記録媒体が装着されるドライブ装置と、
アプリケーションデータについてのパッチファイルを保持する記憶装置と、
前記ドライブ装置を介して、記録媒体に記録されているバージョン情報を取得する第１バージョン情報取得部と、
前記記憶装置に保持されたパッチファイルに含まれるバージョン情報を取得する第２バージョン情報取得部と、
前記第１バージョン情報取得部により取得されたバージョン情報と、前記第２バージョン情報取得部により取得されたバージョン情報とを比較する比較部と、
記録媒体またはパッチファイルのうち、より新しいバージョン情報が付与されている方から、所定のファイルをメモリにロードする実行処理部と、
を備えることを特徴とする情報処理装置。
【請求項１０】
ファイルのロード方法であって、
ゲームデータについてのパッチファイルを保持するステップと、
ゲームデータを記録した記録媒体に含まれるバージョン情報を取得するステップと、
パッチファイルに含まれるバージョン情報を取得するステップと、
記録媒体から取得したバージョン情報と、パッチファイルから取得したバージョン情報とを比較して、より新しい方を判定するステップと、
記録媒体またはパッチファイルのうち、より新しいバージョン情報が付与されている方から、所定のファイルをメモリにロードするステップと、
を備えることを特徴とするファイルロード方法。
【請求項１１】
コンピュータに、
ゲームデータについてのパッチファイルを保持する機能と、
ゲームデータを記録した記録媒体に含まれるバージョン情報を取得する機能と、
パッチファイルに含まれるバージョン情報を取得する機能と、
記録媒体から取得したバージョン情報と、パッチファイルから取得したバージョン情報とを比較して、より新しい方を判定する機能と、
記録媒体またはパッチファイルのうち、より新しいバージョン情報が付与されている方から、所定のファイルをメモリにロードする機能と、
を実現させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ゲーム装置などの情報処理装置で実行される情報処理技術に関する。
【背景技術】
【０００２】
一般にゲームデータ（ゲームプログラム）は、光ディスクや光磁気ディスク、ブルーレイディスクなどのＲＯＭ媒体の形態で販売される。ＲＯＭ媒体に記録されたゲームデータは書き換えることができないため、ゲームデータの一部のバグを修正したり、機能を変更または追加するためには、パッチを当てることで対応できる。
【０００３】
たとえば特許文献１は、電源投入時やハードリセット時のゲーム装置によるメモリカードを用いたブート処理技術について開示する。このブート処理技術では、電源投入時やハードリセット時において、メモリカードに起動画像表示プログラムが格納されていれば、その起動画像表示プログラムによりブートシーケンスを実行し、メモリカードに起動画像表示プログラムが格納されていなければ、内蔵ブートＲＯＭに格納されている起動画像表示プログラムによりブートシーケンスを実行する。特許文献１による電源投入時のブート処理技術は、メモリカードにパッチファイル（起動画像表示プログラム）が存在するか否かを判断基準としてブートシーケンスを簡易且つ適切に実行することができ、技術的な利点を有している。
【特許文献１】特開２０００−４７８７６号公報
【特許文献２】特開２０００−１８１８７６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
システムブートが完了した状態で、ゲームデータを実行する場合を考える。このとき、まずゲームデータの起動ファイルを実行することになる。ゲームデータを記録したＲＯＭ媒体の販売後に、そのゲームデータのパッチファイルが配布されるようなとき、通常は、ＲＯＭ媒体のゲームデータの起動ファイルを実行するとともに、パッチファイルが読み出されて実行される。この後、リマスタリングされたＲＯＭ媒体が新たに販売されるような場合には、最初のＲＯＭ媒体に対するパッチファイルを用いたゲーム起動処理を実行するよりも、リマスタリングされたＲＯＭ媒体からゲーム起動処理を実行することが好ましい状況もありうる。したがって、複数の起動ファイルが存在する環境では、適切なファイルを選択して実行することが好ましい。また、ゲーム起動処理実行の際だけでなく、ゲームアプリケーションにおいて新たなキャラクタを追加するような場合などにおいても、複数存在する同種のファイルのなかから、適切なファイルを選択して実行することが好ましい。なお、ゲームアプリケーションに限らず、会計ソフトなどの他のアプリケーションについても同様の事情が存在している。
【０００５】
そこで本発明は、複数の同種ファイルのなかから、好適なファイルを実行する技術を提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記課題を解決するために、本発明のある態様のゲーム装置は、ゲームデータが記録された記録媒体が装着されるドライブ装置と、ゲームデータについてのパッチファイルを保持する記憶装置と、ドライブ装置を介して記録媒体に記録されているバージョン情報を取得する第１バージョン情報取得部と、記憶装置に保持されたパッチファイルに含まれるバージョン情報を取得する第２バージョン情報取得部と、第１バージョン情報取得部により取得されたバージョン情報と、第２バージョン情報取得部により取得されたバージョン情報とを比較する比較部と、記録媒体またはパッチファイルのうち、より新しいバージョン情報が付与されている方から、所定のファイルをメモリにロードする実行処理部とを備える。
【０００７】
本発明の別の態様は、情報処理装置である。この情報処理装置は、アプリケーションデータが記録された記録媒体が装着されるドライブ装置と、アプリケーションデータについてのパッチファイルを保持する記憶装置と、ドライブ装置を介して、記録媒体に記録されているバージョン情報を取得する第１バージョン情報取得部と、記憶装置に保持されたパッチファイルに含まれるバージョン情報を取得する第２バージョン情報取得部と、第１バージョン情報取得部により取得されたバージョン情報と、第２バージョン情報取得部により取得されたバージョン情報とを比較する比較部と、記録媒体またはパッチファイルのうち、より新しいバージョン情報が付与されている方から、所定のファイルをメモリにロードする実行処理部とを備える。
【０００８】
なお、以上の構成要素の任意の組合せ、本発明の表現を方法、装置、システム、記録媒体、コンピュータプログラムなどの間で変換したものもまた、本発明の態様として有効である。
【発明の効果】
【０００９】
本発明の情報処理技術によると、複数の同種ファイルのなかから好適なファイルを実行する技術を提供することが可能となる。
【発明を実施するための最良の形態】
【００１０】
図１は、本発明の実施例にかかるゲームシステムを示す。ゲームシステム１は、ゲームアプリケーションを実行するゲーム装置１０と、ゲーム装置１０における処理結果を出力する表示機器１２とを備える。表示機器１２は、画像を出力するディスプレイ部を有して構成され、さらに音声を出力する音声出力部を有するテレビであってよい。表示機器１２は、ゲーム装置１０に有線ケーブルで接続されてよく、また無線ＬＡＮ（Local Area Network）などにより無線接続されてもよい。ゲームシステム１において、ゲーム装置１０は、ケーブル１４を介してインターネットなどの外部ネットワークに接続する。なお、無線通信により外部ネットワークへの接続が行われてもよい。
【００１１】
ゲーム装置１０は、ゲームデータが記録されたＲＯＭ媒体を装着されて、そのゲームデータを実行し、ゲームアプリケーションの処理結果を示す画像信号および音声信号を生成する情報処理装置である。本実施例に示す技術は、ゲーム装置１０に限らず、会計ソフトやＣＡＤソフトなどのプログラムが記録されたＲＯＭ媒体を装着される情報処理装置においても実現できる。
【００１２】
図２は、本発明の実施例にかかるファイル更新システムを示す。ファイル更新システム２では、インターネットなどのネットワーク１６を介して、ユーザ端末であるゲーム装置１０と、ゲームメーカなどが保有する端末である更新サーバ１８ａ、１８ｂ、１８ｃ（以後、総称して「更新サーバ１８」とよぶ）とが通信可能に接続される。ゲームメーカは、ゲームデータについてのパッチファイルを生成すると、それを更新サーバ１８に保存して、ゲーム装置１０が、パッチファイルを更新サーバ１８からダウンロードできるようにする。パッチファイルは、ＲＯＭ媒体中のプログラムのバグを修正したり、機能を変更または追加などするために使用される。
【００１３】
たとえばゲーム装置１０は、定期的に各更新サーバ１８にアクセスし、パッチファイルが存在する場合に、そのパッチファイルをダウンロードするように構成されてもよい。また、たとえばゲームをプレイする前に、ユーザが、そのゲームデータの更新サーバ１８からパッチファイルをゲーム装置１０にダウンロードさせてもよい。以上のように、ゲーム装置１０にＲＯＭ媒体を装着させる前に、パッチファイルをゲーム装置１０にダウンロードさせておくことで、ゲームデータを最新の状態で実行させることが可能となる。ゲーム装置１０は大容量の補助記憶装置を有し、更新サーバ１８からダウンロードされたパッチファイルは、補助記憶装置の所定の領域に格納される。
【００１４】
図３は、ゲーム装置１０の機能ブロック図を示す。ゲーム装置１０は、電源ボタン２０、ＬＥＤ２２、システムコントローラ２４、デバイスコントローラ３０、メディアドライブ３２、ハードディスクドライブ３４、スイッチ３６、無線インタフェース３８、メインコントローラ１００、メインメモリ１０２および出力処理部２００を有して構成される。
【００１５】
電源ボタン２０は、ユーザからの操作入力が行われる入力部であって、ゲーム装置１０への電源供給をオンまたはオフするために操作される。電源ボタン２０は押下ボタンであってよく、押下されることで電源のオンまたはオフが制御されてもよい。なお電源ボタン２０は、タッチセンサなど、ユーザが電源のオンオフを行える他の構造をとってもよい。ＬＥＤ２２は、電源のオンまたはオフの状態を点灯表示する。システムコントローラ２４は、電源ボタン２０の押下状態または非押下状態を検出し、電源オフの状態から押下状態への状態遷移を検出すると、メインコントローラ１００を起動し、またＬＥＤ２２を点灯制御する。ゲーム装置１０に電源ケーブルが差し込まれている場合、システムコントローラ２４は、電源オフの状態であってもスタンバイモードを維持して、電源ボタン２０の押下を監視する。
【００１６】
デバイスコントローラ３０は、サウスブリッジのようにデバイス間の情報の受け渡しを実行するＬＳＩ（Large-Scale Integrated Circuit）として構成される。図示のように、デバイスコントローラ３０には、システムコントローラ２４、メディアドライブ３２、ハードディスクドライブ３４、スイッチ３６およびメインコントローラ１００などのデバイスが接続される。デバイスコントローラ３０は、それぞれのデバイスの電気特性の違いやデータ転送速度の差を吸収し、データ転送のタイミングを制御する。
【００１７】
メディアドライブ３２は、ゲームデータを記録したＲＯＭ媒体５０を装着して駆動し、ＲＯＭ媒体５０からゲームデータを読み出すドライブ装置である。ＲＯＭ媒体５０は、光ディスクや光磁気ディスク、ブルーレイディスクなどの読出専用の記録メディアである。ゲームデータは、ゲームアプリケーションを実行させるメインプログラムと、メインプログラムを起動するための起動ファイルと、描画解像度やバージョン情報、パッチファイルの格納場所を特定するための情報などを含む設定ファイルと、アプリケーションのコンテンツ情報を含んでいる。ゲームデータのうち、処理手順を指示するデータやファイルを、以下では、「ゲームプログラム」と呼ぶこともある。たとえば、メインプログラムや起動ファイルは、ゲームプログラムに該当する。
【００１８】
メインプログラムは、アプリケーション処理に必要なプログラムであり、メインプログラムを走らせることで、ゲームアプリケーションが進行する。起動ファイルは、メインプログラムを起動するためのプログラムであり、起動ファイルを実行すると、メインプログラムが呼び出されて実行される。設定ファイルにおいて、描画解像度は、メインプログラムによる画像出力解像度を特定し、バージョン情報は、起動ファイルのバージョンを特定する。バージョン情報は、起動ファイルの生成順を特定できるものであればよく、生成順に大きな数字を付与されてもよく、また生成年月日を特定する情報であってもよい。パッチファイルの格納場所を特定するための情報は、更新サーバ１８より供給されるパッチファイルのハードディスクドライブ３４上の記憶位置を特定する情報であって、パッチファイルの情報を読み出す際に用いられる。またコンテンツ情報は、アプリケーションのタイトル名や説明情報などを含んだデータである。コンテンツ情報は、ゲーム装置１０のメニュー画面において、ゲームアプリケーションのタイトルをアイコン表示したり、また説明情報を表示して、ユーザにゲームアプリケーションの内容を通知するために用いられる。コンテンツ情報は、表示するアイコンとして、静止画アイコンおよび／または動画アイコンを含んでよい。
【００１９】
ハードディスクドライブ３４は、内蔵ハードディスクを駆動し、磁気ヘッドを用いてデータの書込／読出を行う補助記憶装置である。スイッチ３６は、イーサネットスイッチ（イーサネットは登録商標）であって、外部の機器と有線または無線で接続して、情報の送受信を行うデバイスである。本実施例では、スイッチ３６にケーブル１４が差し込まれ、ネットワーク１６に通信可能に接続している。さらにスイッチ３６は無線インタフェース３８に接続し、無線インタフェース３８は、Bluetooth（登録商標）プロトコルやIEEE802.11プロトコルなどの通信プロトコルで無線通信機能をもつゲームコントローラ４０と接続する。ゲームコントローラ４０は、ユーザからの操作入力が行われる入力部として機能する。
【００２０】
メインコントローラ１００は、マルチコアＣＰＵを備え、１つのＣＰＵの中に１つの汎用的なプロセッサコアと、複数のシンプルなプロセッサコアを有する。汎用プロセッサコアをＰＰＵ（Power Processing Unit）と呼び、残りのプロセッサコアをＳＰＵ（Synergistic-Processing Unit）と呼ぶ。
【００２１】
メインコントローラ１００では、ゲーム装置１０において、ハードウェアへのインターフェースを抽象化してアプリケーションソフトウェアに提供するオペレーティングシステム（以下、単に「ＯＳ（Operating System）」と呼ぶ）が実行される。ゲーム装置１０において、ＯＳは、ハイパーバイザと呼ばれる基本ソフトウェア上で実行される。ハイパーバイザにおいて、「特権ソフトウェア」と呼ばれるソフトウェアが実行され、ゲーム用ＯＳなどのＯＳを実行させるための環境を提供する。ハイパーバイザは、電源ボタン２０より電源投入されると、必ず起動される。
【００２２】
メインコントローラ１００は、主記憶装置であるメインメモリ１０２に接続するメモリコントローラを備える。ＰＰＵはレジスタを有し、演算実行主体としてメインプロセッサを備えて、各アプリケーションにおける基本処理単位としてのタスクを各ＳＰＵに効率的に割り当てる。なお、ＰＰＵ自身がタスクを実行してもよい。ＳＰＵはレジスタを有し、演算実行主体としてのサブプロセッサとローカルな記憶領域としてのローカルメモリ（専用ＲＡＭ）を備える。ＳＰＵは制御ユニットとして専用のＤＭＡ（Direct Memory Access）コントローラをもち、メインメモリ１０２とローカルメモリの間のデータ転送を行うことで、データを高速にストリーム処理でき、また出力処理部２００に内蔵されるフレームメモリとローカルメモリの間で高速なデータ転送を実現できる。
【００２３】
出力処理部２００は、表示機器１２に接続されて、アプリケーションの処理結果である映像信号および音声信号を出力する。出力処理部２００は、画像処理機能を実現するＧＰＵ（Graphics Processing Unit）を備える。ＧＰＵは、ＨＤＭＩ（High Definition Multimedia Interface）を採用し、アナログを介さずに、映像信号をデジタル出力できる。
【００２４】
図４は、メインコントローラ１００の内部構成を示す。メインコントローラ１００は、入力受付部１０４、アプリケーション処理部１２０、メモリコントローラ１６０およびローカルメモリ１６２を備える。
【００２５】
図４において、さまざまな処理を行う機能ブロックとして記載される各要素は、ハードウェア的には、ＣＰＵ（Central Processing Unit）、メモリ、その他のＬＳＩで構成することができ、ソフトウェア的には、メモリにロードされたプログラムなどによって実現される。既述したように、メインコントローラ１００には１つのＰＰＵと複数のＳＰＵとが設けられており、ＰＰＵおよびＳＰＵがそれぞれ単独または協同して、各機能ブロックを構成できる。したがって、これらの機能ブロックがハードウェアのみ、ソフトウェアのみ、またはそれらの組合せによっていろいろな形で実現できることは当業者には理解されるところであり、いずれかに限定されるものではない。
【００２６】
メモリコントローラ１６０は、外部のメインメモリ１０２や、ＳＰＵに内蔵されているローカルメモリ１６２の書込／読出を制御する。メモリコントローラ１６０は、アプリケーション処理部１２０からの指示により制御され、ハードディスクやＲＯＭ媒体５０などから読み出したデータを、メインメモリ１０２ないしはローカルメモリ１６２に記憶させる。
【００２７】
アプリケーション処理部１２０は、設定ファイル読込部１２２、第１バージョン情報取得部１２４、第２バージョン情報取得部１２６、比較部１２８、判定部１３０、実行処理部１３２、コンテンツ情報処理部１３８およびパッチファイル取得部１４０を有して構成される。実行処理部１３２は、ブートシーケンス実行部１３４およびアプリケーション実行部１３６を有する。アプリケーション処理部１２０は、主として、メインプログラムのブートシーケンスを実行してメインプログラムを起動する機能をもつ。
【００２８】
ファイル更新システム２において、更新サーバ１８から供給されるゲームデータについてのパッチファイルは、パッチファイル取得部１４０により取得されて、ハードディスクドライブ３４の所定の領域に格納される。なおパッチファイル取得部１４０は、ゲーム装置１０に対して着脱可能なメモリカードなどの記録媒体から、パッチファイルを取得してもよい。パッチファイル取得部１４０は、たとえば過去にメディアドライブ３２に装着されたことのあるＲＯＭ媒体５０のゲームデータを特定するリストを有し、このリストに含まれるゲームデータの更新を管理する更新サーバ１８に定期的にアクセスする。更新サーバ１８がゲームデータのパッチファイルを保持している場合、パッチファイル取得部１４０は、パッチファイルをダウンロードして、ハードディスクドライブ３４に格納する。パッチファイルは、ゲームデータごとに設けられたディレクトリに保持される。なお、同一のゲームタイトルに対するパッチファイルは、上書きされて保持される。
【００２９】
ハードディスクドライブ３４がパッチファイルのデータ量に比して大容量の記憶装置であることに鑑みれば、パッチファイル取得部１４０が、ファイル更新システム２上に存在する全てのゲームデータのパッチファイルをダウンロードするようにしてもよい。ゲームデータにはタイトルを特定するタイトルＩＤが付与されているため、パッチファイル取得部１４０は、このタイトルＩＤを利用して、パッチファイルの格納ディレクトリをゲームデータ毎に生成し、対応するパッチファイルを格納してもよい。ディレクトリ名の付け方は様々なものが考えられるが、いずれの付け方であっても、ゲームデータを起動する際に、ＲＯＭ媒体５０のゲームデータに対応するパッチファイルの格納場所を第２バージョン情報取得部１２６が特定できる必要がある。したがって、パッチファイルの格納場所は、ＲＯＭ媒体５０の設定ファイルに含まれる情報から特定可能であることが好ましい。
【００３０】
なお、メディアドライブ３２にＲＯＭ媒体５０が装着されていることは、ゲームを起動するための条件であるが、パッチファイルをダウンロードするための条件ではない。したがって、メディアドライブ３２へのＲＯＭ媒体５０の装着の有無にかかわらず、パッチファイル取得部１４０は、更新サーバ１８からゲームデータに関するパッチファイルをダウンロードできる。これにより、メディアドライブ３２にＲＯＭ媒体５０を装着したときに、最新のパッチファイルがハードディスクドライブ３４に格納されている状況を作り出すことができる。
【００３１】
メインコントローラ１００は、デバイスコントローラ３０との間で制御情報を送受する手段として入力受付部１０４を有する。入力受付部１０４は、ユーザのゲームコントローラ４０からの操作入力を受け付ける。
【００３２】
ゲームシステム１において、ユーザは、ゲームをプレイする際、所望のゲームデータを記録したＲＯＭ媒体５０をメディアドライブ３２に挿入する。ゲーム装置１０は、ＲＯＭ媒体５０の認証処理を行って、ＲＯＭ媒体５０が真正なものであるか判定する。ＲＯＭ媒体５０が真正なものであることが認証されると、表示機器１２の画面に、ＲＯＭ媒体５０の存在が表示される。このとき、コンテンツ情報処理部１３８が、ＲＯＭ媒体５０からコンテンツ情報を取得し、出力処理部２００に出力する。
【００３３】
図５は、表示機器１２に生成されるメニュー画面を示す。メニュー画面では、コンテンツ情報処理部１３８により取得されたコンテンツ情報が表示される。アイコン２６には、ゲームアプリケーションのタイトル名が表示され、説明画像２８には、ゲームアプリケーションの説明が表示される。ユーザが、ゲームコントローラ４０を用いてメニュー画面上のアイコン２６を選択操作すると、ゲームの起動ファイルが実行される。このとき、ゲームデータのパッチファイルがハードディスクドライブ３４に格納されていれば、ゲーム装置１０は、パッチファイルに含まれる起動ファイルと、ＲＯＭ媒体５０に記録されている起動ファイルのうち、最新のバージョンの起動ファイルを選択して実行する。以下、詳細を示す。
【００３４】
ユーザがゲームアプリケーションのアイコン２６を選択すると、設定ファイル読込部１２２が、ＲＯＭ媒体５０に記録されている設定ファイルを読み込む。設定ファイル名は、「ＰＡＲＡＭＥＴＥＲ．Ａ」であり、全てのゲームデータにおいて共通であってよい。
【００３５】
図６は、ＲＯＭ媒体５０に記録されている設定ファイルの一例を示す。設定ファイルには、タイトルＩＤ、バージョン情報や描画解像度などが記述されている。この例では、タイトルＩＤは「ＡＡＡ００００１」、バージョンは「１．０」、描画解像度は「７２０」となっている。バージョン情報はゲームメーカによって作成された起動ファイルのバージョンを示し、バージョン情報のうち、左側の桁の最小値は１、右側の桁の最小値は０であって、バージョン情報「１．０」は、最も初期のバージョンであることを意味している。
【００３６】
本実施例のバージョン情報は、起動ファイルにマイナーチェンジを施した場合には右側の数字をインクリメントし、一方、起動ファイルを大きく修正する場合には、左側の数字をインクリメントして右側の数字を０に戻すポリシーで生成される。したがって、バージョン情報を比較したとき、左側の数字の大きい方が新しいバージョンであることが判定され、また左側の数字が等しい場合には、右側の数字の大きい方が新しいバージョンであることが判定される。たとえば、バージョン「１．０」とバージョン「１．１」では、バージョン「１．１」の方が新しく、バージョン「２．０」とバージョン「１．１」では、バージョン「２．０」の方が新しい。左側の数字は、たとえばＲＯＭ媒体５０がリマスタリングされるような場合にインクリメントされる。すなわち、リマスタリングされたＲＯＭ媒体５０のバージョン情報は「２．０」となり、以後、このゲームデータについてのパッチファイルは、右側の数字がインクリメントされたバージョン情報が付与される。
【００３７】
本実施例において、パッチファイルの格納ディレクトリは、たとえばゲームデータのタイトルＩＤで特定されてもよい。タイトルＩＤは、ゲームデータごとに付与されるため、タイトルＩＤをディレクトリ名として利用することで、パッチファイルの格納ディレクトリを、ゲームデータごとに生成することができる。なお格納ディレクトリ名は、ゲームデータごとに一意に付与される他の情報を用いて表現されてもよい。
【００３８】
図７（ａ）は、パッチファイルのパスを示す。パッチファイルは、設定ファイル（ＰＡＲＡＭＥＴＥＲ．Ａ）と、起動ファイル（ＢＯＯＴ．Ｂ）を含んで構成される。
パッチファイル取得部１４０は、ネットワーク１６経由でパッチファイルをダウンロードすると、パッチファイル中の設定ファイルに含まれる「タイトルＩＤ」を抽出し、ＧＡＭＥディレクトリの下層に、タイトルＩＤで表現したディレクトリを生成し、そのディレクトリにパッチファイルを格納する。このようにして、パッチファイルに含まれる情報をもとに、図７（ａ）に示すパスが形成されてもよい。なおゲーム装置１０にはパッチファイル用のインストーラが搭載され、インストーラが、ユーザとの対話形式でパッチファイルの格納場所を設定することも可能である。このとき、ゲーム装置１０は、格納場所とタイトルＩＤとを紐付けて記憶しておき、ＲＯＭ媒体５０に記録されたタイトルＩＤをキーに、パッチファイルの格納場所が特定できるようにしておくことが好ましい。なお、格納場所と紐付けする情報、および格納ディレクトリを特定するための情報は、タイトルＩＤだけでなく、ゲームデータごとに一意に付与される他の情報であってもよい。
【００３９】
ＲＯＭ媒体５０に含まれる設定ファイルには、ハードディスクドライブ３４に格納しているパッチファイルの格納場所を特定する情報が含まれてもよい。たとえば、ＲＯＭ媒体５０の設定ファイルは、パッチファイルの設定ファイルおよび起動ファイルのディレクトリとファイル名で特定されるハードディスクドライブ３４中のパスを保持していてもよく、また格納するディレクトリを保持してもよい。ファイル更新システム２において、パッチファイルに含まれる設定ファイル名および起動ファイル名は、ＲＯＭ媒体５０を作成した時点で既に定められており、したがって、ＲＯＭ媒体５０の設定ファイルに、ハードディスクドライブ３４における格納場所のパス特定情報を含めさせることが可能となる。ＲＯＭ媒体５０の設定ファイルは、パッチファイルの設定ファイルについてはパス特定情報を保持する一方で、起動ファイルについてはディレクトリ特定情報を保持していてもよく、その逆であってもよい。
【００４０】
パス特定情報やディレクトリ特定情報は、それぞれパスおよびディレクトリを直接指定する情報であってもよいが、ゲーム装置１０側で処理することで、間接的に指定するものであってもよい。たとえば、図７（ａ）に示すディレクトリは、図６に示すタイトルＩＤから導出することが可能であり、この場合は、タイトルＩＤが、格納ディレクトリを間接的に指定する情報として利用される。
【００４１】
図７（ｂ）は、パッチファイルに含まれる設定ファイルの一例を示す。設定ファイルには、タイトルＩＤ、バージョン情報や描画解像度などが記述されている。この例では、タイトルＩＤは「ＡＡＡ００００１」、バージョンは「１．１」、描画解像度は「１０８０」となっている。図６に示すＲＯＭ媒体５０中の設定ファイルと比較すると、描画解像度が７２０から１０８０（フルＨＤ）に拡大され、バージョンアップが施されている。なお、バージョン情報は「１．１」と、右側の桁が１インクリメントされている。
【００４２】
図４に戻って、設定ファイル読込部１２２は、メディアドライブ３２を介して、ＲＯＭ媒体５０に記録されている設定ファイル（図６参照）を読み込む。第１バージョン情報取得部１２４は、読み出した設定ファイルの中からバージョン情報を取得する（以下、このバージョン情報を「第１バージョン情報」と呼ぶ）。ここで第１バージョン情報取得部１２４は、ＲＯＭ媒体５０に記録されている第１バージョン情報「１．０」を取得する。
【００４３】
第２バージョン情報取得部１２６は、設定ファイル読込部１２２において読み出した設定ファイルのタイトルＩＤから、パッチファイルが格納されているディレクトリを特定して、パッチファイルが保持されているか探索する探索部として機能する。なお、「ＡＡＡ００００１」のタイトルＩＤで特定されるゲームデータのパッチファイルをダウンロードしていない場合は、ディレクトリ自体が存在しない。第２バージョン情報取得部１２６は、特定したディレクトリからパッチファイルの設定ファイル（図７（ｂ）参照）を読み出し、バージョン情報を取得する（以下、このバージョン情報を「第２バージョン情報」と呼ぶ）。なお、設定ファイル読込部１２２において読み出した設定ファイルに、パッチファイルの格納ディレクトリのパス特定情報またはディレクトリ特定情報が含まれている場合は、その情報をもとに第２バージョン情報取得部１２６が格納ディレクトリを特定して、バージョン情報を取得する。なお、タイトルＩＤやディレクトリ特定情報をもとに格納ディレクトリを特定したときは、第２バージョン情報取得部１２６が、ディレクトリ内で設定ファイルを探索する。これは、第２バージョン情報取得部１２６が、パッチファイルの設定ファイル名が「ＰＡＲＡＭＥＴＥＲ．Ａ」であることを予め認識しているために実現される。ここで第２バージョン情報取得部１２６は、パッチファイルの第２バージョン情報「１．１」を取得する。
【００４４】
比較部１２８は、第１バージョン情報取得部１２４により取得された第１バージョン情報と、第２バージョン情報取得部１２６により取得された第２バージョン情報とを比較し、判定部１３０は、第１バージョン情報と第２バージョン情報のいずれが新しいかを判定する。上記例では、第１バージョン情報が「１．０」であり、第２バージョン情報が「１．１」であるため、判定部１３０は、第２バージョンの方が、第１バージョンよりも新しいバージョンであることを判定する。なお、格納ディレクトリ自体が存在しない場合、また格納ディレクトリは存在しているがパッチファイルが存在しない場合には、第２バージョン情報取得部１２６がパッチファイルの第２バージョン情報を取得できないため、判定部１３０は、第１バージョン情報が最新であることを判定する。
【００４５】
ブートシーケンス実行部１３４は、ＲＯＭ媒体５０またはパッチファイルのうち、より新しいバージョン情報が付与されている方から、所定のファイルをメインメモリ１０２またはローカルメモリ１６２にロードする。ここで所定のファイルとは、起動ファイルであってよく、ブートシーケンス実行部１３４は、第２バージョン情報が付与されているパッチファイルから、起動ファイルを読み出してメインメモリ１０２またはローカルメモリ１６２にロードし、ゲームデータのブートシーケンスすなわちゲーム起動処理を実行する。このブートシーケンスにより、ゲーム装置１０の設定がゲーム実行モードに入り、ゲームデータの実行環境が整えられる。具体的には、パッチファイルの設定ファイルにしたがった環境が形成され、たとえば画像出力解像度は１９２０×１０８０（図７（ｂ）参照）に設定される。アプリケーション実行部１３６は、形成されたゲーム実行環境でメインプログラムを起動して、ゲームアプリケーションを実行することができる。
【００４６】
なおブートシーケンス実行部１３４は、メディアドライブ３２にＲＯＭ媒体５０が装着されていない場合にはブートシーケンスを実行しない。本実施例では、メディアドライブ３２にＲＯＭ媒体５０を装着したときに、ＲＯＭ媒体５０の認証処理が実行され、ＲＯＭ媒体５０が真正な媒体であることが判定された場合に、図５に示したようにメニュー画面にアイコン２６が表示される。ゲーム装置１０では、ユーザによるアイコン２６の選択操作を、ゲームデータの起動条件としており、これにより、真正なＲＯＭ媒体５０を保持しなければ、パッチファイルを起動できないゲーム環境を構築することができる。
【００４７】
図８は、ゲームデータの実行プロセスを示すフローチャートである。本実施例のゲーム装置１０では、ＲＯＭ媒体５０がメディアドライブ３２に装着されなければ（Ｓ１０のＮ）、ゲームデータは実行されない。ＲＯＭ媒体５０がメディアドライブ３２に装着されると（Ｓ１０のＹ）、ＲＯＭ媒体５０の認証処理が実行される。ＲＯＭ媒体５０が真正な媒体であることが判定されると、図５に示すメニュー画面が表示機器１２に表示される。ユーザがアイコン２６を選択しなければ（Ｓ１２のＮ）、ゲームデータは実行されず、アイコン２６が選択されると（Ｓ１２のＹ）、第１バージョン情報取得部１２４が、ＲＯＭ媒体５０に記録されている第１バージョン情報を取得する（Ｓ１４）。続いて第２バージョン情報取得部１２６が、ハードディスクドライブ３４を探索して、ＲＯＭ媒体５０のゲームデータについてのパッチファイルの存在の有無を判定する（Ｓ１６）。パッチファイルが存在しなければ（Ｓ１６のＮ）、ブートシーケンス実行部１３４が、ＲＯＭ媒体５０から起動ファイルを読み出し、ブートシーケンスを実行する（Ｓ２４）。アプリケーション実行部１３６は、メインプログラムを実行する（Ｓ２６）。
【００４８】
一方、パッチファイルが存在していれば（Ｓ１６のＹ）、第２バージョン情報取得部１２６が、パッチファイルに含まれている第２バージョン情報を取得する（Ｓ１８）。比較部１２８は、第１バージョン情報と第２バージョン情報とを比較し、判定部１３０が、いずれか新しい方を判定する（Ｓ２０）。第１バージョン情報の方が新しい場合（Ｓ２０のＮ）、ブートシーケンス実行部１３４が、ＲＯＭ媒体５０から起動ファイルを読み出し、ブートシーケンスを実行する（Ｓ２４）。一方、第２バージョン情報の方が新しい場合（Ｓ２０のＹ）、ブートシーケンス実行部１３４が、パッチファイルから起動ファイルを読み出し、ブートシーケンスを実行する（Ｓ２２）。アプリケーション実行部１３６は、メインプログラムを実行する（Ｓ２６）。
【００４９】
なお、比較部１２８による比較の結果、判定部１３０が、第１バージョン情報と第２バージョン情報とが同一であることを判定する場合も生じうる。たとえばパッチファイルのダウンロード中に発生したエラーであったり、バージョンの設定にミスがあったような場合である。この場合、ブートシーケンス実行部１３４は、ハードディスクドライブ３４に格納されている起動ファイルを読み出して、ブートシーケンスを実行してもよい。ハードディスクドライブ３４へのアクセスの方がＲＯＭ媒体５０へのアクセスよりも早いため、両バージョン情報が同じ場合には、処理速度の観点から、パッチファイルの起動ファイルを用いたブートシーケンスを実行してもよい。
【００５０】
一方、信頼性の観点から、ＲＯＭ媒体５０の起動ファイルを優先実行することも可能である。パッチファイルは外部のネットワーク１６経由で取得されるため、通信エラーなどにより、完全な状態で取得できないことも考えられる。そのような場合に、両バージョン情報が同じであれば、ＲＯＭ媒体５０の起動ファイルのデータ信頼性の方がはるかに高いため、ブートシーケンス実行部１３４は、ＲＯＭ媒体５０の起動ファイルを用いたブートシーケンスを実行してもよい。
【００５１】
両バージョン情報が同一の場合に、いずれの起動ファイルを優先起動させるかは、設計上重要な要素であり、ファイル更新システム２における運用ポリシーにしたがって判断されなければならない。
【００５２】
以上、本発明を実施例をもとに説明した。この実施例は例示であり、それらの各構成要素や各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。実施例では、ゲームデータが記録された記録媒体の例としてＲＯＭ媒体を示したが、記録媒体は、たとえば情報の書換可能な媒体であっても構わない。その場合であっても、記録媒体は、認証処理により真正なものであるか判定可能なものであることが好ましい。また実施例では、より新しいバージョンを判定して、そのバージョンの起動ファイルを実行することとしたが、処理を単純にするために、ブートシーケンス実行部１３４は、パッチファイルが存在する場合には、そのパッチファイルの起動ファイルを実行し、パッチファイルが存在しなければＲＯＭ媒体５０のパッチファイルを実行するようにしてもよい。
【００５３】
実施例では、第２バージョン情報取得部１２６がパッチファイルのバージョン情報を設定ファイルから取得することとしたが、パッチファイルのバージョン情報は、バージョン管理用のファイルにデータベース化されていてもよい。バージョン管理用ファイルには、ダウンロードした全てのパッチファイルの最新のバージョン情報が記述されており、第２バージョン情報取得部１２６は、このファイルを用いて迅速に第２バージョン情報を取得できるため、処理の効率化を図ることが可能となる。
【００５４】
また実施例では、ＲＯＭ媒体５０の認証処理が適切に完了すると、コンテンツ情報処理部１３８が、ＲＯＭ媒体５０のコンテンツ情報を読み出して、図５に示すアイコン２６および説明画像２８をメニュー画面に表示させることとし、アイコン２６が選択操作されることが、ＲＯＭ媒体５０およびパッチファイルのバージョンの比較処理の契機となることを説明した。変形例として、ＲＯＭ媒体５０の認証処理が完了した時点で、ＲＯＭ媒体５０およびパッチファイルのバージョン情報を比較して、新しいバージョン情報を判定する処理を行ってもよい。このとき、パッチファイルのバージョン情報が新しく、またパッチファイルがコンテンツ情報を含んでいる場合には、コンテンツ情報処理部１３８が、パッチファイルに含まれるコンテンツ情報をもとに、アイコンおよび説明画像をメニュー画面に表示してもよい。この場合、アイコンの選択操作は、パッチファイルにおける起動ファイルを起動する契機となってもよい。
【００５５】
また、パッチファイルに設定ファイルと起動ファイルが含まれることとしたが、メインプログラムの修正用ファイルや差分ファイルなどが含まれてもよい。この場合、パッチファイルのバージョン情報の方が新しければ、ブートシーケンス実行部１３４が、パッチファイルの起動ファイルを用いてブートシーケンスを実行し、アプリケーション実行部１３６が、ＲＯＭ媒体５０に記録されているメインプログラムと、パッチファイルのメインプログラム修正用ファイルとをメモリにロードして、ゲームアプリケーションを実行する。なお、修正用ファイルとしてではなく、更新したメインプログラムがパッチファイルに含まれてもよい。この場合、更新したメインプログラムは、独立して実行されることができる。
【００５６】
実施例では、ゲームアプリケーションが１枚のＲＯＭ媒体５０により実行されるケースを前提としたが、ゲームアプリケーションが複数のＲＯＭ媒体５０により実行されるケースも想定される。このとき、複数のＲＯＭ媒体５０とパッチファイルの対応としては、以下の態様が存在する。
【００５７】
１つめは、複数のＲＯＭ媒体５０に対して１つのパッチファイルが生成される場合である。パッチファイルは、複数のＲＯＭ媒体５０に対して共通の設定ファイル、起動ファイルと、メインプログラムの差分ファイルとを含んで構成される。
２つめは、複数のＲＯＭ媒体５０に対してそれぞれパッチファイルが生成され、同一のディレクトリに格納される場合である。パッチファイルは、対応するＲＯＭ媒体５０に対する設定ファイル、起動ファイルと、メインプログラムの差分ファイルとを含んで構成される。
３つめは、複数のＲＯＭ媒体５０に対してそれぞれパッチファイルが生成され、それぞれ異なるディレクトリに格納される場合である。パッチファイルは、対応するＲＯＭ媒体５０に対する設定ファイル、起動ファイルと、メインプログラムの差分ファイルとを含んで構成される。
なお、いずれの態様であっても、複数のうちの１つのＲＯＭ媒体５０がメディアドライブ３２に装着されると、上記したようにメニュー画面にアイコン２６が表示され、アイコン２６を選択操作することで、最新の起動ファイルを特定する処理が走ることになる。
【００５８】
１枚目のＲＯＭ媒体５０でゲームデータを実行中、２枚目のＲＯＭ媒体５０に差し替える場合を想定する。以下、ＯＳによる処理であるか、またはアプリケーションソフトウェアによる処理であるかに着目して、媒体差替時の処理を説明する。まず、アプリケーションソフトウェアにより、ＲＯＭ媒体５０の交換指示が表示機器１２に表示される。ユーザはこれを見て、ＲＯＭ媒体５０を交換する。ＯＳは、ＲＯＭ媒体５０が差替えられたことを認識すると、真正なものであるか否かの認証処理を実行する。真正なものである場合、ＯＳは、差替えられたＲＯＭ媒体５０のパッチファイルの格納場所を特定してパッチファイルからバージョン情報を抽出し、ＲＯＭ媒体５０のバージョン情報との比較を行う。ＯＳは、最新のバージョン情報を判定すると、アプリケーションソフトウェアに通知する。パッチファイルのバージョン情報が新しい場合、アプリケーションソフトウェアは、必要に応じてパッチファイルを取得し、ゲームデータを最新の状態で実行することができる。
【００５９】
たとえば図５において、ＲＯＭ媒体５０のゲームデータについてのアイコン２６がメニュー画面に表示された様子が示されているが、加えて、ハードディスクドライブ３４に他のゲームデータがインストールされていれば、そのゲームデータのアイコンがメニュー画面に表示されてもよい。すなわち、ＲＯＭ媒体５０に記録されたゲームデータのアイコンと、ハードディスクドライブ３４にインストールされたゲームデータのアイコンとが、メニュー画面においてリスト表示されてもよい。
【００６０】
このとき、メニューの表示項目を切替えると、パッチファイル取得部１４０により取得された全パッチファイルのアイコンがリスト表示されてもよい。なお、ゲームシステム１では、パッチファイルのアイコンを選択操作してもゲームデータのブートシーケンスすなわちゲーム起動処理は実行されず、あくまでも、ＲＯＭ媒体５０の存在を示すアイコン２６の選択操作が、ゲーム起動処理の実行開始の契機となる。ユーザは、パッチファイルのアイコンを削除操作することで、そのパッチファイルをハードディスクドライブ３４から削除することはでき、これによりハードディスクドライブ３４の空容量を広げることは可能である。
【図面の簡単な説明】
【００６１】
【図１】本発明の実施例にかかるゲームシステムを示す図である。
【図２】本発明の実施例にかかるファイル更新システムを示す図である。
【図３】ゲーム装置の機能ブロック図である。
【図４】メインコントローラの内部構成を示す図である。
【図５】表示機器に生成されるメニュー画面を示す図である。
【図６】ＲＯＭ媒体に記録されている設定ファイルの一例を示す図である。
【図７】（ａ）はパッチファイルのパスを示す図であり、（ｂ）はパッチファイルに含まれる設定ファイルの一例を示す図である。
【図８】ゲームデータの実行プロセスを示すフローチャートである。
【符号の説明】
【００６２】
１・・・ゲームシステム、２・・・ファイル更新システム、１０・・・ゲーム装置、１２・・・表示機器、１４・・・ケーブル、１６・・・ネットワーク、１８・・・更新サーバ、２０・・・電源ボタン、２２・・・ＬＥＤ、２４・・・システムコントローラ、２６・・・アイコン、２８・・・説明画像、３０・・・デバイスコントローラ、３２・・・メディアドライブ、３４・・・ハードディスクドライブ、３６・・・スイッチ、３８・・・無線インタフェース、４０・・・ゲームコントローラ、５０・・・ＲＯＭ媒体、１００・・・メインコントローラ、１０２・・・メインメモリ、１０４・・・入力受付部、１２０・・・アプリケーション処理部、１２２・・・設定ファイル読込部、１２４・・・第１バージョン情報取得部、１２６・・・第２バージョン情報取得部、１２８・・・比較部、１３０・・・判定部、１３２・・・実行処理部、１３４・・・ブートシーケンス実行部、１３６・・・アプリケーション実行部、１３８・・・コンテンツ情報処理部、１４０・・・パッチファイル取得部、１６０・・・メモリコントローラ、１６２・・・ローカルメモリ、２００・・・出力処理部。
【図１】
2008123139.tif 000003
【図２】
2008123139.tif 000004
【図３】
2008123139.tif 000005
【図４】
2008123139.tif 000006
【図５】
2008123139.tif 000007
【図６】
2008123139.tif 000008
【図７】
2008123139.tif 000009
【図８】
2008123139.tif 000010