まず、本発明の背景および概要を説明する。本発明の実施例として、情報処理システムの一例であるゲームシステムを示す。ゲームシステムでは、ユーザがゲームプレイ中に、ゲームソフトウェアにより予め設定された条件(ミッション)をクリアすると、ゲームソフトウェアより、達成した条件に応じたアイテムが付与される。ミッションは、たとえばレーシングゲームにおいて特別なレースで優勝することや、格闘ゲームにおいて特定の敵キャラクタを倒すことなど、ゲームソフトウェアにおいて適宜設定される。
本実施例において、付与されるアイテムを「トロフィ」と呼ぶ。トロフィの種類は複数存在し、本実施例では、ブロンズ、シルバー、ゴールド、プラチナの4つのグレード(種類)のトロフィを用意する。ゲームソフトウェアは、ブロンズ、シルバー、ゴールドの3つのグレードに対して、この順に難易度の高いミッションを割り当てる。したがって、ブロンズトロフィには達成しやすいミッションが割り当てられ、またゴールドトロフィには達成が困難なミッションが割り当てられることになる。なおプラチナトロフィは、ゲーム中の個々のミッションには対応せず、たとえばゲームソフトウェアが用意した全てのミッションをクリアすると、システムソフトウェアが、プラチナトロフィをユーザに付与する。
近年の通信網の発達により、特に据置型のゲーム装置は、家庭内に設けられたルータを介して、ネットワークに常時接続することが一般的となっている。ネットワーク上の管理サーバが、サインインしたユーザの獲得トロフィを閲覧できるサービスを提供している場合、ゲーム装置が管理サーバにアクセスすることで、ユーザは、自身の獲得トロフィを、他のユーザの獲得トロフィと比較できる。管理サーバはユーザの獲得トロフィを管理し、たとえばユーザが複数のゲーム装置でゲームプレイした場合には、それぞれのゲーム装置で獲得したトロフィを集約して、それぞれのゲーム装置におけるトロフィ獲得情報を同期(ファイル同期)させる。またトロフィの種類ごとにポイントが設定されており、ユーザは、ポイントの獲得数を増やすことで、自身のゲームプレイヤとしてのレベルを上げることができる。
一方で、携帯型のゲーム装置は、アクセスポイントが周辺になければ、ネットワークに接続することができない。本実施例の情報処理システムにおいて、ゲーム装置がネットワークに接続していない状況においても、ユーザがゲームプレイすることによってトロフィを獲得することはできるが、管理サーバにアクセスできなければ、トロフィ獲得情報を同期することはできない。しかしながら、ユーザは、ゲーム装置で獲得したトロフィを確認したいこともあるため、ゲーム装置は、可能な範囲で、獲得したトロフィをユーザに提示する。
図1は、本発明の実施例にかかる情報処理システム1を示す。情報処理システム1は、ユーザ端末である第1の情報処理装置10および第2の情報処理装置12と、管理サーバ14とゲームファイル提供サーバ16とを備える。本実施例において、情報処理装置10は、ゲームプログラムを実行する携帯型のゲーム装置であり、情報処理装置12は、ゲームプログラムを実行する据置型のゲーム装置である。情報処理装置10、12は、ゲーム専用機であってもよいが、エミュレータをインストールしてゲーム装置として動作するコンピュータであってもよい。
ゲームファイル提供サーバ16は、ゲームファイルを提供する。ゲームファイルは、起動ファイル、ゲームプログラムなどのゲームを実行するためのファイル群、および情報処理装置10、12のシステムソフトウェアまたはアプリケーションが使用するファイル群を含んでいる。ゲームプログラムは、ゲームの実行に必要なプログラムであり、ゲームプログラムを走らせることで、ゲームが進行する。起動ファイルは、ゲームプログラムを起動するためのプログラムであり、システムソフトウェアが起動ファイルを実行すると、ゲームプログラムが呼び出されて実行される。システムソフトウェアまたはアプリケーションが使用するファイル群は、たとえば、情報処理装置10におけるメニュー画面に表示されるゲームアイコン画像データや、トロフィの画像データなどを含む。
管理サーバ14は、トロフィを管理する主体により運営されて、ユーザがゲームで獲得したトロフィを管理し、トロフィ閲覧サービスを提供する。情報処理システム1では、ユーザがゲームプレイ中に、ゲームソフトウェアにより予め設定された条件(ミッション)をクリアすると、その条件に応じたトロフィが付与される。ユーザのトロフィ獲得情報は情報処理装置10、12に記録されるとともに、情報処理装置10、12がトロフィ閲覧サービスにサインインしていれば、管理サーバ14に送信されて蓄積される。管理サーバ14は、ネットワーク上のユーザを特定するアカウントIDをもとに、ユーザごとにトロフィ獲得情報を蓄積する。たとえば、一人のユーザが複数の情報処理装置10、12でプレイした場合、管理サーバ14は、アカウントIDが同じであれば、過去に蓄積されたトロフィ獲得情報に、新しいトロフィ獲得情報をマージして集約していく。同時に管理サーバ14は、マージしたトロフィ獲得情報を、サインインしている複数の情報処理装置10、12に送信し、各情報処理装置10、12と管理サーバ14との間で、トロフィ獲得情報の同期がとられる。
情報処理装置10は無線通信機能を有し、アクセスポイント(以下、「AP」と呼ぶ)2を介してネットワーク4に接続して、管理サーバ14にトロフィの獲得情報を送信し、管理サーバ14からトロフィの同期情報を取得する。AP2は、無線LAN(Local Area Network)で情報処理装置10を他のアクセスポイントに接続したり、情報処理装置10をネットワーク4に接続する中継装置として機能する。このように情報処理装置10は、無線LAN方式による通信機能を有してもよいが、第3世代移動通信システムなどの携帯電話通信方式により携帯電話網に接続して、管理サーバ14にトロフィの獲得情報を送信し、管理サーバ14からトロフィの同期情報を取得してもよい。
情報処理装置12はルータを介してネットワーク4に接続して、管理サーバ14にトロフィの獲得情報を送信し、管理サーバ14からトロフィの同期情報を取得する。なお情報処理装置12は、上記したように据置型のゲーム装置であってもよいが、情報処理装置10のように携帯型のゲーム装置であってもよい。
図2は、実施例にかかる情報処理装置10の外観の一例を示す。図2に示す情報処理装置10は携帯型端末であり、無線通信機能を搭載する。なお情報処理装置10は、ケーブルを介してネットワーク4に接続してもよく、また携帯型端末に限らず、据置型端末であってもよい。
図2に示すように、情報処理装置10の表側、すなわち、ユーザが情報処理装置10を把持して操作するときにユーザに面する側には、指示入力ボタン21、方向キー22、Rボタン23、Lボタン24などの入力装置20と、表示装置68が備えられている。表示装置68には、ユーザの指やスタイラスペンなどによる接触を検知するためのタッチパネル69が併設されている。情報処理装置10の内部には、情報処理装置10の傾きを検知するモーションセンサ25が備えられている。なお情報処理装置10の裏側に、背面タッチパネルが備えられてもよい。
情報処理装置10の側面には、メモリカードなどの記録メディアを装着するためのスロット(図示せず)などの収容部が設けられる。また、情報処理装置10の側面には、ゲームファイルを記録した記録メディアを装着するためのスロット(図示せず)などの収容部も設けられる。
ユーザは、情報処理装置10を両手で把持した状態で、例えば、右手親指で指示入力ボタン21を操作し、左手親指で方向キー22を操作し、右手人差し指又は中指でRボタン23を操作し、左手人差し指又は中指でLボタン24を操作することができる。またタッチパネル69を操作する場合には、情報処理装置10を両手で把持した状態で、それぞれの親指でタッチパネル69を操作してもよく、また情報処理装置10を左手で把持した状態で、右手でタッチパネル69を操作し、左手親指で方向キー22を操作し、左手人差し指又は中指でLボタン24を操作してもよい。
図3は、情報処理装置10の機能ブロック図である。表示装置68は、情報処理装置10の各機能により生成される画像を表示する。表示装置68は、液晶表示装置であってもよいし、有機EL表示装置であってもよい。タッチパネル69は、表示装置68の上に重ね合わせて設けられ、ユーザの指やペンなどによる接触を検知する。タッチパネル69は、抵抗膜方式、表面型静電容量方式、投影型静電容量方式など、いずれの方式のものであってもよい。情報処理装置10では、表示装置68およびタッチパネル69によりディスプレイが構成される。
無線通信モジュール30はIEEE802.11b/g等の通信規格に準拠した無線LANモジュールによって構成され、AP2を介して、ネットワーク4に接続する。なお無線通信モジュール30は、端末装置とアドホックモードで直接通信してもよい。携帯電話モジュール32は、ITU(International Telecommunication Union;国際電気通信連合)によって定められたIMT−2000(International Mobile Telecommunication 2000)規格に準拠した第3世代(3rd Generation)デジタル携帯電話方式に対応し、携帯電話網6に接続する。携帯電話モジュール32には、携帯電話の電話番号を特定するための固有のID番号が記録されたSIMカードが挿入される。
インタフェース50において、LED(Light Emitting Diode)51は、無線通信モジュール30や携帯電話モジュール32などがデータの送受信をしている際に点滅する。モーションセンサ25は、情報処理装置10の動きを検知する。マイク52は、情報処理装置10の周辺の音声を入力する。スピーカ53は、情報処理装置10の各機能により生成される音声を出力する。ステレオ入出力端子54は、外部のマイクからステレオ音声を入力し、外部のヘッドフォンなどへステレオ音声を出力する。入力装置20は、前述した操作キーなどを含み、ユーザの操作入力を受け付ける。
CPU(Central Processing Unit)40は、メインメモリ44にロードされたプログラムなどを実行する。GPU(Graphics Processing Unit)42は、画像処理に必要な計算を実行する。メインメモリ44は、RAM(Random Access Memory)などにより構成され、情報処理装置10で動作するプログラムやデータなどを記憶する。ストレージ46は、NAND型フラッシュメモリ(NAND-type flash memory)などにより構成され、プログラムやデータなどを記録する。ストレージ46は、後述する記録メディア80に対して、内蔵型の補助記憶装置として利用される。
GPS(Global Positioning System)制御部60は、GPS衛星からの信号を受信し、現在位置を算出する。USB制御部61は、USB(Universal Serial Bus)で接続された周辺装置との間の通信を制御する。ビデオ出力制御部64は、HDMIなどの規格に基づいて、外部表示装置へビデオ信号を出力する。メモリカード制御部62は、スロットなどの収容部(図示せず)に装着されたフラッシュメモリなどの記録メディア80との間のデータの読み書きを制御する。リムーバブルな記録メディア80が収容部に装着されると、記録メディア80は、外付け型の補助記憶装置として利用される。メディアドライブ63は、ゲームファイルを記録したゲーム記録メディア70が装着される収容部であり、ゲーム記録メディア70との間のデータの読み書きを制御する。なお、ゲーム記録メディア70に記録されたゲームファイルと、ゲームファイル提供サーバ16から送信されるゲームファイルは、同一のファイル構成を有している。メディアドライブ63が、ゲーム記録メディア70をドライブすることで、ユーザは、ゲーム記録メディア70に記録されたゲームをプレイできるようになる。以上の各機能ブロックはバス90によって互いに接続されている。
本実施例の情報処理装置10は、ゲームファイルをゲームファイル提供サーバ16よりダウンロードして、記録メディア80にインストールすることもできる。このように、情報処理装置10は、ゲーム記録メディア70に記録されたゲームファイル、および記録メディア80にインストールされたゲームファイルを実行する機能を有している。
本実施例で説明する情報処理装置10の処理機能は、ゲームに限らず、他のアプリケーションを実行する情報処理装置に適用できる。情報処理装置10では、システムソフトウェア、ゲームソフトウェアおよびアイテム管理ユーティリティが実行される。以下、システムソフトウェア、ゲームソフトウェアおよびアイテム管理ユーティリティにより実現される情報処理装置10の処理機能を説明する。
ゲームソフトウェアは、ユーザのゲームプレイ中に、予め設定したゲームのプレイ条件の達成を検出すると、情報処理装置10にインストールされているアイテム管理ユーティリティを呼び出して、ユーザにアイテム(トロフィ)を与える。
情報処理装置10において、ゲームソフトウェアの初回起動時に、アイテム管理ユーティリティが、情報処理装置10の内蔵型記録媒体であるストレージ46に、ゲームソフトウェアが用意した全てのトロフィIDと、トロフィが獲得されたか否かを獲得フラグ値で示すトロフィ獲得テーブルを生成する。初期状態では、獲得フラグ値は0に設定されている。ゲームソフトウェアが、達成した条件に対応するトロフィIDをアイテム管理ユーティリティに渡すと、アイテム管理ユーティリティが、該当するトロフィIDの獲得フラグ値を参照し、フラグ値が1であれば変更せず、0であれば1に設定する。獲得フラグ値が1に設定されたトロフィIDは、トロフィ獲得情報を構成する。これによりゲームソフトウェアが、設定した条件の達成を検出すると、トロフィ獲得テーブルを更新し、トロフィ獲得情報を増やしていく。
アイテム管理ユーティリティは、管理サーバ14にトロフィ獲得情報を送信する。管理サーバ14は、ユーザのアカウントIDをもとに、過去に蓄積しているトロフィ獲得情報に、新たなトロフィ獲得情報をマージして蓄積する。
またアイテム管理ユーティリティは、管理サーバ14からトロフィ同期情報を受信する。たとえば、ユーザが異なるタイミングで情報処理装置10、12を用いてゲームプレイをする場合、一方の情報処理装置10または12で獲得したトロフィ獲得情報が、管理サーバ14を介して、他方の情報処理装置12または10に送信される。これにより、トロフィ獲得情報は、複数の情報処理装置10、12および管理サーバ14にて同期されることになる。ここで同期とは、複数の情報処理装置間で、記憶するトロフィ獲得情報を、同じ状態、たとえば更新された最新の状態に保つことを意味する。
図4は、アイテム(トロフィ)の管理処理を実行する情報処理システム1の機能ブロック図を示す。情報処理装置10は、システムソフトウェア200、ゲームソフトウェア300およびアイテム管理ユーティリティソフトウェア(以下、「アイテム管理ユーティリティ」)400を実行する。システムソフトウェア200は、オペレーティングシステム(OS)であって、情報処理装置10における表示処理機能などをもつ。アイテム管理ユーティリティ400は、アイテム(トロフィ)管理に関する関数をゲームソフトウェア300に提供する。アイテム管理ユーティリティ400は、アイテム設定情報130のインストール処理、アイテム獲得情報110の生成処理、管理サーバ14からアイテム獲得情報120aを取得する処理を担当する。
管理サーバ14は、コントローラ500および記憶装置502を備え、記憶装置502には、ユーザアカウントIDに紐付けて、ゲームごとのアイテム獲得情報120a〜120dが記録されている。ここで、アイテム獲得情報120a〜120dは、同一のユーザアカウントIDに紐付けられており、情報処理装置10および情報処理装置12でプレイされた複数のゲームに対応している。なお、ここでは1つのユーザアカウントIDに紐付けられたアイテム獲得情報120a〜120dのみが示されているが、実際には、他のユーザアカウントIDに紐付けられたアイテム獲得情報120も記憶装置502に記録されている。
<トロフィ登録処理>
ゲームソフトウェア300は、起動時にアイテム管理ユーティリティ400から「トロフィ登録機能」を呼び出す。トロフィ登録機能は、アイテム設定情報130を参照して、複数のアイテムIDと、アイテムが獲得されていないことを示す獲得フラグ値とを対応付けたテーブルを、ストレージ46に生成する。これによりゲームソフトウェア300は、トロフィを獲得可能な状態となる。このテーブル生成処理は、ゲームソフトウェア300の最初の起動時に実行されればよい。なお、トロフィ登録機能は、ゲームソフトウェア300の起動時に、ストレージ46にテーブルが作成済みであるか確認し、作成されていなければテーブルを生成し、作成されていればテーブル生成処理を終了するようにしてもよい。
またトロフィ登録機能は、ゲーム記録メディア70または記録メディア80に記録されているゲームファイルに含まれている所定のファイル(以下、「アイテムファイル」とよぶ)から、アイテム設定情報130を取り出し、外挿型の記録メディア80にインストールする。アイテム設定情報130のインストール処理は、ゲームソフトウェア300を起動するたびに実行される。なおトロフィ登録機能は、ゲームソフトウェア300の起動時に、最初に記録メディア80にアイテム設定情報130がインストールされているか確認し、インストールされていなければ、ゲームファイルからアイテム設定情報130を取り出して、アイテム設定情報130を記録メディア80にインストールする。一方、記録メディア80にアイテム設定情報130がインストールされていることが確認されると、トロフィ登録機能は、アイテム設定情報130をゲームファイルから取り出すことなく、インストール処理を中止する。そのため、ゲームソフトウェア300の最初の起動時に、アイテム設定情報130が記録メディア80にインストールされると、次回以降の起動時には、アイテム設定情報130は、既に記録メディア80にインストールされているため、トロフィ登録機能は、アイテム設定情報130を再度インストールすることなく、インストール処理を終了する。
一方、たとえば記録メディア80が差し替えられた場合、つまり新たな記録メディア80に交換された場合には、新しい記録メディア80にアイテム設定情報130はインストールされていない。この場合、トロフィ登録機能は、記録メディア80の交換後にゲームソフトウェア300が起動されると、新たに装着された記録メディア80にアイテム設定情報130がインストールされていないことを確認し、ゲームファイルからアイテム設定情報130を取り出して、記録メディア80にインストールする。
このときユーザがトロフィ閲覧サービスにサインインしていれば、トロフィ登録機能は、管理サーバ14においてユーザのアカウントIDに紐付けられているアイテム獲得情報120a〜120dのうち、情報処理装置10で実行されたことのあるゲームのアイテム獲得情報をチェックする。
ここでは、情報処理装置10において、タイトル「ABC TENNIS」のゲームのみが過去にプレイされているものとする。したがって、ストレージ46に保持されているアイテム獲得情報110は、タイトル「ABC TENNIS」のゲームで獲得したアイテムを特定する情報である。
一方、情報処理装置12においては、タイトル「ABC TENNIS」、「XYZ BASEBALL」、「SOCCER6」、「FISHING2」のゲームが同一ユーザによりプレイされているものとする。情報処理装置12は、各ゲームのアイテム獲得情報を管理サーバ14との間で同期させるため、管理サーバ14においては、タイトル「ABC TENNIS」、「XYZ BASEBALL」、「SOCCER6」、「FISHING2」のアイテム獲得情報が記録されている。なお記憶装置502において、アイテム獲得情報120aはタイトル「ABC TENNIS」のゲームで獲得したアイテムを特定する情報であり、アイテム獲得情報120bはタイトル「XYZ BASEBALL」のゲームで獲得したアイテムを特定する情報であり、アイテム獲得情報120cはタイトル「SOCCER6」のゲームで獲得したアイテムを特定する情報であり、アイテム獲得情報120dはタイトル「FISHING2」のゲームで獲得したアイテムを特定する情報である。
したがって、情報処理装置10のトロフィ登録機能は、タイトル「ABC TENNIS」のアイテム獲得情報120aに、ストレージ46に保持しているアイテム獲得情報110で特定されるトロフィ以外のトロフィが含まれている場合、そのアイテム獲得情報120aを取得し、ストレージ46に追加保存する。このときトロフィ登録機能は、アイテム獲得情報110とアイテム獲得情報120aの差分を取得することで、転送データ量を削減できる。
アイテム設定情報130は、各トロフィを表す画像(トロフィ画像)、各トロフィの名称と説明文などの属性を含む。アイテム設定情報130は、1つのアイテムファイルに記録されて、記録メディア80やゲーム記録メディア70に記録されるゲームソフトウェアに含まれている。1つのトロフィは、以下の属性をもつ。
(1)トロフィID
トロフィを識別するためのID
(2)名称/詳細情報
トロフィの名前と説明文
(3)グレード (種類)
ブロンズ/シルバー/ゴールド/プラチナのいずれか
(4)プラチナリンク
そのトロフィの獲得がプラチナトロフィを獲得するための条件に含まれるか。
アイテム設定情報130に複数のトロフィが含まれる場合、以上示した(1)〜(4)の属性、およびトロフィ画像は、アイテム設定情報130においてトロフィの数だけ設定されている。なおトロフィ画像はグレードごとに4種類が用意されていてもよい。
システムソフトウェア200は、アイテム管理ユーティリティ400により供給されるアイテム設定情報130およびアイテム獲得情報110を利用して、トロフィの獲得状況を示す画面の生成など、GUI(グラフィカルユーザインタフェース)を用いて、表示装置68の表示画面を生成する。
以下に、情報処理装置10のトロフィ獲得機能を説明する。図5は、情報処理装置10のトロフィ獲得機能を実現する機能ブロックを示す。トロフィ獲得機能は、システムソフトウェア200、ゲームソフトウェア300およびアイテム管理ユーティリティ400により実現される。
システムソフトウェア200は、オペレーティングシステム(OS)として動作し、特別アイテム獲得条件達成判定部202、メッセージ生成部204、アイテム情報取得部210、表示処理部220、受付部230、モード設定部232および接続確認部234を備える。ゲームソフトウェア300は、ゲーム実行部302、条件達成検出部304およびアイテムID通知部306を備える。アイテム管理ユーティリティ400は、登録処理部402、通信部404、アイテム情報供給部406、特別アイテム処理部410、アイテムID取得部420およびプレイアイテム獲得処理部422を備える。
図5において、さまざまな処理を行う機能ブロックとして記載される各要素は、ハードウェア的には、CPU(Central Processing Unit)、メモリ、その他のLSIで構成することができ、ソフトウェア的には、メモリにロードされたプログラムなどによって実現される。したがって、これらの機能ブロックがハードウェアのみ、ソフトウェアのみ、またはそれらの組合せによっていろいろな形で実現できることは当業者には理解されるところであり、いずれかに限定されるものではない。
上記したトロフィ登録機能は、登録処理部402により実行される。登録処理部402が、ゲームの初回起動時に、ゲーム記録メディア70または記録メディア80に記録されているゲームファイルに含まれるアイテムファイルを参照して、複数のアイテムIDと、アイテムが獲得されていないことを示すフラグ値とを対応付けたトロフィ獲得テーブルを、ストレージ46に生成する。また、登録処理部402は、ゲームが起動される度に、記録メディア80にアイテム設定情報130が記録されているか否かを確認し、記録されていなければ、アイテムファイルに含まれるアイテム設定情報130を取得し、記録メディア80に記録する。アイテムファイルには、ゲームにおいてユーザが獲得可能なアイテム(トロフィ)を特定する複数のアイテムIDと、アイテムの画像とが少なくとも含まれている。
ストレージ46および記録メディア80は、情報処理装置10において補助記憶装置として利用される記録媒体である。ストレージ46は、内蔵型の記録媒体であり、ユーザが自由に取り外すことができない。一方、記録メディア80は、着脱式の記録媒体であって、ストレージ46に比して大容量の記録領域を有している。本実施例において、トロフィ獲得テーブルは、アイテム獲得情報110を記録する領域であり、アイテム獲得情報110は、管理サーバ14や他の情報処理装置12と同期をとるために重要なデータである。一方で、アイテム設定情報130は、獲得アイテムを表示する際のアイテム画像を含んでおり、獲得アイテムをユーザに提示する際に必要となるが、アイテム画像はデータサイズが比較的大きいという性質がある。アイテム画像が動画像で構成される場合には、特にデータサイズは大きくなる。また、情報処理装置10はアイテムの標準画像をデフォルトでストレージ46に記録して用意しており、アイテム設定情報130に含まれるアイテム画像が仮になかったとしても、標準画像で代用することもできる。以上のことから、アイテム獲得情報110と比較して、アイテム設定情報130の重要性は低い。
本実施例の情報処理装置10においては、内蔵型のストレージ46は記録容量が小さいため、記録容量を必要以上に圧迫しないというポリシーのもとで、登録処理部402は、アイテム獲得情報110はストレージ46に記録し、一方、アイテム設定情報130は記録メディア80に記録している。
登録処理部402は、管理サーバ14と接続する通信部404を介して、管理サーバ14におけるアイテム獲得情報120aを確認する。登録処理部402は、ストレージ46に保有しているアイテム獲得情報110のうち、管理サーバ14に保有されていないものがあれば、そのアイテム獲得情報110を通信部404から送信する。また登録処理部402は、情報処理装置10において過去に起動したゲームのリストを参照し、ゲームリストに含まれるゲームのアイテム獲得情報120aが管理サーバ14に存在すれば、そのアイテム獲得情報120aを取得する。なお、過去に起動したゲームを特定する情報は、ストレージ46に記録されている。これにより、情報処理装置10と管理サーバ14の間で、アイテム獲得情報110とアイテム獲得情報120aが同期されることになる。
<トロフィ獲得処理>
以下、本実施例のトロフィ獲得処理について説明する。
ゲームソフトウェア300において、ゲーム実行部302が、ユーザによる入力装置20の操作入力を受けて、ゲームプログラムを実行する。本実施例において、ゲームソフトウェア300は、トロフィを獲得するためのプレイ条件を予め設定する。この条件は、「ミッション」と呼ばれ、ミッションの内容はユーザに公開されてもよく、また非公開とされてもよい。各ミッションには、ミッション達成の際にユーザに付与するトロフィのID(アイテムID)が対応付けられる。
ゲームソフトウェア300は、ユーザによるゲームの進行において、予め設定したゲームのプレイ条件の達成を検出すると、アイテム管理ユーティリティ400を呼び出し、アイテムIDをアイテム管理ユーティリティ400に通知する。ゲームプログラムには、この処理がコーディングされている。各ミッションの内容と、ミッション達成の際にユーザに付与するトロフィのID(アイテムID)とは、一対一に対応づけられる。図6は、ミッション内容とアイテムIDの関係の一例を示す。
条件達成検出部304は、ゲームの進行状況から、ミッションが達成されたこと、すなわちゲームにおいて予め設定されたゲームのプレイ条件が達成されたことを検出する。この検出処理は、ゲームプログラムにハードコーディングされており、ミッションが達成されると、そのミッションに対応付けられたアイテムIDを取得する処理がゲームプログラムに書き込まれている。条件達成の検出は、アイテムIDを取得することに相当する。条件達成検出部304がプレイ条件が達成されたことを検出すると、ゲーム実行部302は、達成されたプレイ条件に対応付けられたトロフィ獲得のメッセージをゲーム画面中に表示させる。アイテムID通知部306は、取得したアイテムIDをアイテム管理ユーティリティ400に通知する。
アイテム管理ユーティリティ400において、アイテムID取得部420は、通知されたアイテムIDを取得し、プレイアイテム獲得処理部422に渡す。プレイアイテム獲得処理部422は、アイテムIDを用いて、アイテム獲得情報110を生成し、トロフィ獲得テーブルに書き込む。アイテム獲得情報110は、アイテムを獲得したことを示す情報である。
図7は、トロフィ獲得テーブルを示す。トロフィ獲得テーブルは、アイテムIDと、アイテム獲得の有無を示す獲得フラグ値とを対応付けて記録する。獲得フラグ値0は、アイテムが獲得されていないことを示し、獲得フラグ値1は、アイテムが獲得されていることを示す。
ミッションが達成されると、そのミッションに対応するアイテムIDの獲得フラグ値が1に設定される。具体的には、プレイアイテム獲得処理部422がアイテムID取得部420からアイテムIDを受け取ると、そのアイテムIDに対応付けられている獲得フラグ値が1であるかチェックし、1であれば変更せず、0であれば1に設定する。
なお、プレイアイテム獲得処理部422が獲得処理を行うアイテムは、ブロンズ、シルバー、ゴールドの3種類のトロフィであり、プラチナトロフィは含まれない。プラチナトロフィのアイテムIDは“0”であり、ブロンズ、シルバー、ゴールドのアイテムIDは“1”以上が割り当てられる。このようにゲームソフトウェア300は、ブロンズ、シルバー、ゴールドの3種類のトロフィをユーザに付与することができる。一方、プラチナトロフィは、システムソフトウェア200によりユーザに付与される。
特別アイテム獲得条件達成判定部202は、プレイアイテム獲得処理部422によりアイテムの獲得処理がなされると、特別アイテム処理部410に、アイテムの獲得状況を調査させる。特別アイテム処理部410は、アイテム設定情報130およびアイテム獲得情報110を参照して、アイテムの獲得状況を調査し、特別アイテム獲得条件達成判定部202に通知する。特別アイテム獲得条件達成判定部202は、特別アイテム処理部410の調査結果をもとに、特別アイテムを獲得するためのアイテム獲得条件が達成されたか否かを判定する。通常、このアイテム獲得条件は、複数のアイテム(トロフィ)を獲得したことに設定されている。
前述したように、トロフィには、属性として「プラチナリンク」の情報が設定されている。プラチナリンクの情報は、フラグ値として設定されており、フラグ値1は、そのトロフィの獲得がプラチナトロフィを獲得するための条件に含まれることを意味し、フラグ値0は、そのトロフィの獲得がプラチナトロフィを獲得するための条件に含まれないことを意味する。アイテム設定情報130においては、全てのアイテムのプラチナリンクのフラグ値が1に設定されている。
特別アイテム処理部410は、アイテム設定情報130を参照して、プラチナリンクのフラグ値(以下、プラチナフラグ値)が1に設定されているアイテムIDを抽出し、続いてトロフィ獲得テーブルを参照して、抽出した全てのアイテムIDの獲得フラグ値が1であるか調査する。
プラチナフラグ値が1のアイテムで獲得されていないものがあれば、特別アイテム処理部410は、その調査結果を特別アイテム獲得条件達成判定部202に通知する。これを受けて特別アイテム獲得条件達成判定部202は、特別アイテム、すなわちプラチナトロフィを獲得するためのアイテム獲得条件が達成されていないことを判定する。一方、プラチナリンクが設定されているアイテムの全てが獲得されていれば、特別アイテム処理部410は、その調査結果を特別アイテム獲得条件達成判定部202に通知し、特別アイテム獲得条件達成判定部202は、特別アイテム獲得条件が達成されたことを判定する。
なお特別アイテム処理部410による調査機能を、特別アイテム獲得条件達成判定部202が有してもよい。この場合、特別アイテム獲得条件達成判定部202は、アイテム情報供給部406からアイテム設定情報130およびアイテム獲得情報110を供給されて、アイテムの獲得状況を調査する。
プラチナトロフィの獲得条件が達成された場合、特別アイテム獲得条件達成判定部202は、プラチナトロフィのアイテムIDを、特別アイテム処理部410に通知する。このアイテムID値は0である。特別アイテム処理部410は、通知されたアイテムIDを取得し、アイテム獲得情報110を生成する。具体的に特別アイテム処理部410はトロフィ獲得テーブルにおいてアイテムID0の獲得フラグ値を1に設定する。
このとき特別アイテム獲得条件達成判定部202は、特別アイテム処理部410に、アイテムID0をゲームソフトウェア300に通知させることを指示する。特別アイテム処理部410は、プラチナトロフィのアイテムID0をゲームソフトウェア300に通知し、これを受けてゲーム実行部302は、ゲーム画面中に、プラチナトロフィを取得したことを示すメッセージを表示させる。なお、このメッセージは、システムソフトウェア200によりゲーム画面に表示されてもよい。プラチナトロフィの獲得条件が達成されると、メッセージ生成部204は、特別アイテム獲得条件達成判定部202からの指示を受けて、プラチナトロフィ獲得に関するメッセージを生成する。表示処理部220は、生成されたメッセージを、実行中のゲーム画面中の所定の領域に重畳表示させる。これにより、仮にゲームソフトウェア300が、プラチナトロフィ獲得のメッセージを表示しない場合であっても、システムソフトウェア200がゲーム画面に重畳表示するため、ユーザは、メッセージを確認する機会をもつことができる。
このように情報処理装置10では、ゲームのミッションを達成した結果としてゲームソフトウェア300がブロンズ、シルバー、ゴールドのトロフィをユーザに付与し、また、ブロンズ、シルバー、ゴールドのトロフィをユーザが獲得した結果としてシステムソフトウェア200がプラチナのトロフィをユーザに付与する。これによりプラチナトロフィのプレミアム感をだすことができる。システムソフトウェア200がプラチナトロフィ獲得処理を行うことで、ゲームソフトウェア300の処理負荷を軽減でき、またゲーム開発者の開発負担も軽減できる。
<トロフィ表示処理>
以下、本実施例のトロフィ表示処理について説明する。トロフィ表示処理は、ユーザが入力装置20からトロフィ表示要求を入力することで開始される。
受付部230が、ユーザからのトロフィ表示要求を受け付けると、モード設定部232が、トロフィの表示モードを設定する。この表示モードには、「第1モード」と「第2モード」がある。後述するが、第1モードにおいては、管理サーバ14に蓄積されているアイテム獲得情報120aに基づいたトロフィ画面が表示され、第2モードにおいては、ストレージ46に蓄積されているアイテム獲得情報110に基づいたトロフィ画面が表示される。つまり、第1モードにおいては、管理サーバ14において、ユーザアカウントIDに紐付けられている全ての獲得トロフィに関する情報がユーザに提示され、第2モードにおいては、現在、ユーザが操作している情報処理装置10で獲得したトロフィに関する情報がユーザに提示される。なお、ここで「第1モード」および「第2モード」は、トロフィ画面の表示対象を定める表示モードであり、モード設定時に、情報処理装置10が、ネットワーク4に接続しているか否か、たとえばトロフィ閲覧サービスにサインインしているか否かとは無関係である。
モード設定部232は、受付部230が表示要求を受け付けたときの画面状態や、前回トロフィ表示処理終了時の状態に応じて、トロフィ画面を生成するアプリケーション(トロフィアプリケーションと呼ぶ)の起動時に、第1モードまたは第2モードのいずれかを設定する。以下、表示モードを決定するための各状態について説明する。
管理サーバ14が提供するトロフィ閲覧サービスでは、サインインしているユーザのプロフィール情報が公開されており、プロフィール情報には、ユーザの属性情報に加えて、獲得したトロフィの概要情報も含まれている。各ユーザは、自身のプロフィール情報や、他のユーザのプロフィール情報を閲覧し、それぞれを比較できる。そのため、ユーザが、自身のプロフィール画面や、他のユーザのプロフィール画面から、トロフィ画面の表示要求を入力するときには、最新のトロフィ獲得状況の閲覧を希望することが多い。そのため受付部230が、自身または他ユーザのプロフィール画面において表示要求を受け付けると、モード設定部232は、トロフィ画面の表示モードを、第1モードに設定する。
また情報処理装置10においては、アプリケーションの起動前に、実行可能なアプリケーションのアイコン画像を並べたメニュー画面が表示される。メニュー画面には、トロフィアプリケーションのアイコン画像も表示され、ユーザが、このアイコン画像を選択操作すると、初期画面が生成される。
図8は、表示装置68に表示されるメニュー画面の一例を示す。たとえば情報処理装置10の電源ON時に、このメニュー画面が表示される。システムソフトウェア200は、実行可能なアプリケーションのアイコン画像140a〜140eを配列したメニュー画像を生成する。生成されたメニュー画像は、表示処理部220により表示装置68に表示される。各アイコン画像140は、アプリケーションに関連づけられており、ユーザが、メニュー画面において、実行したいアイコン画像140を選択すると、そのアイコン画像140により特定されるアプリケーションを実行する環境が整えられる。
各アイコン画像140は、アプリケーションごとに用意され、ユーザが一目みて、アプリケーションを把握できるような絵やテキストで作成されていることが好ましい。たとえば、アイコン画像140aは、Web接続アプリケーションを特定し、アイコン画像140bは、電子メールのアプリケーションを特定し、アイコン画像140cは、仮想ショッピングモールへの接続アプリケーションを特定する。またアイコン画像140dは、ゲームタイトルを特定し、アイコン画像140eは、トロフィアプリケーションを特定する。なお、これらのアプリケーションは例示であって、他のアプリケーションが含まれてもよい。
ユーザは、メニュー画面において、いずれかのアイコン画像140が表示されている領域をタップすることで、アイコン画像140の選択操作を行う。タップ位置はタッチパネル69により検出されて、受付部230がアイコン画像140の選択操作として受け付ける。本実施例の情報処理装置10においては、メニュー画面においてアイコン画像140が選択操作された場合に、すぐに、アイコン画像140で特定されるアプリケーションを開始するのではなく、アプリケーションに関連する表示画像を生成して、表示装置68に表示する。以下において、この表示画面を、「ボード画面」と呼ぶ。
図9は、ボード画面の一例を示す。ボード画面は、アプリケーションの開始前にユーザに提示され、アプリケーションの開始をユーザに指示させるための役割を有している。そのためボード画面は、アプリケーションの開始をユーザが指示するための開始ボタン142を含んで構成される。図9には、図8に示すメニュー画面において、トロフィアプリケーションを特定するアイコン画像140eが選択されたときのボード画面が示される。ユーザが開始ボタン142を押下すると、受付部230が、トロフィ画面の表示要求を受け付け、モード設定部232が表示モードを設定する。
ストレージ46には、前回のトロフィアプリケーションを終了したときの表示モードが記憶されている。この前回表示モードは、トロフィアプリケーションの終了時に、モード設定部232によりストレージ46の所定の領域に記録される。前回のトロフィアプリケーションが第1モードで終了していたとき、モード設定部232は、今回のトロフィアプリケーションの表示モードを第1モードに設定する。一方で、前回のトロフィアプリケーションが第2モードで終了していたとき、モード設定部232は、今回のトロフィアプリケーションの表示モードを第2モードに設定する。このように、メニュー画面からトロフィアプリケーションを起動する場合、モード設定部232は、表示モードを、前回のアプリケーション終了時の表示モードに設定する。前回、第1モードでトロフィアプリケーションを実行したユーザは、今回も第1モードでトロフィアプリケーションを実行する傾向が強く、一方で、前回、第2モードで実行したユーザは、今回も第2モードで実行する傾向が強い。そのような傾向を利用して、モード設定部232は、前回表示モードを、今回表示モードに設定する。
以上のように、モード設定部232は、トロフィアプリケーションが起動される直前の画面状態、または前回のトロフィアプリケーション終了時の表示モードに応じて、今回のトロフィアプリケーションの表示モードを設定する。
なお、図9において、メニュー画面(図8参照)でトロフィアプリケーションを特定するアイコン画像140eが選択されたときのボード画面を示したが、メニュー画面においてアイコン画像140dが選択されると、「ABC RACE」のボード画面が示される。ゲームのボード画像には、ユーザ同士の情報交換等に利用されるコミュニケーション領域が設けられ、ゲームに関して複数のユーザが投稿したメッセージや、他のユーザがトロフィを獲得したことを示すメッセージが表示される。ユーザが、他のユーザがトロフィを獲得したことを示すメッセージの表示領域をタップすると、モード設定部232は、表示モードを第1モードに設定してもよい。なお、ユーザがゲームプレイ中にトロフィを獲得したときは、モード設定部232が、表示モードを第2モードに設定してもよい。
モード設定部232が第1モードを設定した場合、接続確認部234は、現在の接続状況を確認する。通信部404が管理サーバ14に接続していない場合、表示処理部220は、これからネットワークに接続することをユーザに確認するためのメッセージダイアログを表示装置68に表示する。たとえばダイアログには、「これからネットワークに接続します」というメッセージと、OKボタンとが表示され、ユーザがOKボタンをタップすると、通信部404が管理サーバ14との接続を開始する。なお、接続確認部234が、通信部404が管理サーバ14に接続していることを判定すると、メッセージダイアログは表示されない。
このようにモード設定部232が第1モードを設定した場合、通信部404が管理サーバ14にアクセスし、管理サーバ14から、ユーザアカウントIDに紐付けられているアイテム獲得情報120を受信する。なお、トロフィ獲得状況を比較する他のユーザが指定された場合には、他のユーザのアカウントIDに紐付けられているアイテム獲得情報120も受信する。アイテム情報取得部210は、通信部404で受信したアイテム獲得情報120を取得し、表示処理部220に渡す。表示処理部220は、アイテム獲得情報120を用いて、アイテムの獲得状況を表示装置68に表示する。
図10は、第1モードで表示されるトロフィ画面の一例を示す。ユーザ名はTAROであり、他のユーザJIROとトロフィ獲得状況を比較するためのトロフィ画面が生成されている。表示領域240において、TAROのレベル情報242が表示され、表示領域244において、JIROのレベル情報246が表示されている。
表示処理部220は、アイテム獲得情報120を用いて獲得ポイントを算出し、算出したポイントをもとにユーザレベルを導出する。トロフィの種類にはブロンズ、シルバー、ゴールド、プラチナの4種類が用意されているが、各種類に対して以下のようにポイントが設定されている。
ブロンズ 10ポイント
シルバー 30ポイント
ゴールド 100ポイント
プラチナ 200ポイント
ユーザレベルは、獲得ポイント数が増えると、レベル1から順にあがっていく。たとえば、100ポイントを1つのレベルの単位とすると、獲得ポイント数が650ポイントであれば、表示処理部220は、レベルが6であり、レベル6における達成度が50%であることを導出する。表示処理部220は、TAROおよびJIROのユーザレベルを算出し、それぞれ表示領域240、244に表示する。
また表示処理部220は、TAROまたはJIROの少なくとも一方がプレイしたゲームについて、それぞれのゲームの達成度260、262、264、266、268、270を表示する。表示処理部220は、アイテム獲得情報120を用いて獲得ポイントを算出し、またアイテム設定情報130を用いて総ポイントを算出し、算出したポイントをもとにゲームの達成度を導出する。表示処理部220は、ゲームの達成度を(獲得ポイント/総ポイント)×100として算出する。なお、ゲーム達成度が表示されていないことは、そのユーザがプレイしていない、またはプレイしたが獲得ポイントが管理サーバ14に同期されていないことを意味している。
表示処理部220は、第1モードまたは第2モードのいずれが設定されているか示すインジケータ250を表示装置68に表示する。図10において、インジケータ250は、ユーザにより操作可能なモード切替ボタンとしても利用される。ここで、第1表示ボタン254が点線で表示されているが、これは、現在の表示モードが第1モードであることを示している。一方で、第2表示ボタン252が実線で表示されており、これはユーザが選択可能なボタンであることを示している。図10に示すトロフィ画面において、ユーザが第2表示ボタン252をタップすると、モード設定部232は、表示モードを第2モードに切り替える。
なお、各ゲームに対して、「携帯ゲーム機」または「据置ゲーム機」の表示が付されている。これは、ユーザ(TARO)が、トロフィを直近で獲得した端末装置を示しており、タイトル「ABC RACE」については、携帯ゲーム機(情報処理装置10)で、他のゲームについては、据置ゲーム機(情報処理装置12)で、トロフィが取得されている。以上のように、第1モードが設定されている場合には、アイテム情報取得部210が、通信部404を介して管理サーバ14に蓄積されているアイテム獲得情報120を取得し、表示処理部220が、トロフィの獲得状況を表示装置68に表示する。
一方で、モード設定部232が第2モードを設定した場合、アイテム情報取得部210は、ストレージ46からアイテム獲得情報110を取得する。表示処理部220は、アイテム獲得情報110を用いて、アイテムの獲得状況を表示装置68に表示する。なお、所定の条件を満たす場合には、管理サーバ14との間でアイテム獲得情報の同期処理を行った後に、アイテム情報取得部210が、ストレージ46からアイテム獲得情報110を取得してもよい。たとえば、トロフィアプリケーションの起動時に、通信部404が管理サーバ14と接続しており、且つ、前回、管理サーバ14と同期処理を行った後に、新たにトロフィを獲得しているような場合である。前回の同期処理を行った日時情報と、トロフィを獲得した日時情報はアイテム管理ユーティリティ400によりいずれかの記録媒体に記録されており、アイテム情報取得部210は、日時情報を比較することで、前回の同期処理を行った後に、新たにトロフィを獲得しているか判断する。通信部404が管理サーバ14と接続しているか否かは、接続確認部234により判定される。
アイテム情報取得部210は、前回の同期処理後に新たにトロフィを獲得していること、且つトロフィアプリケーションの起動時に管理サーバ14と接続状態にあることを認識すると、登録処理部402に対して同期処理の実行を指示する。
図11は、第2モードで表示されるトロフィ画面の一例を示す。表示処理部220は、ストレージ46に蓄積されているアイテム獲得情報110をもとに、トロフィ画面を生成する。表示処理部220は、ゲームの達成度262を表示し、またプラチナトロフィ272、ゴールドトロフィ274、シルバートロフィ276、ブロンズトロフィ278の獲得数を表示する。ゲームの達成度262の算出方法は、上述したとおりである。
表示処理部220は、第1モードまたは第2モードのいずれが設定されているか示すインジケータ250を表示装置68に表示する。図11において、第2表示ボタン252が点線で表示されているが、これは、現在の表示モードが第2モードであることを示している。一方で、第1表示ボタン254が実線で表示されており、これはユーザが選択可能なボタンであることを示している。図11に示すトロフィ画面において、ユーザが第1表示ボタン254をタップすると、モード設定部232は、表示モードを第1モードに切り替える。以上のように、第2モードが設定されている場合には、アイテム情報取得部210が、ストレージ46に蓄積されているアイテム獲得情報110を取得し、表示処理部220が、トロフィの獲得状況を表示装置68に表示する。
図12は、獲得したトロフィを表現する画面例を示す。獲得トロフィ表示画面では、獲得したトロフィが、トロフィ画像280、282、284により表現される。獲得トロフィ表示画面は、トロフィ画面においてゲームタイトルの領域がタップされると、表示処理部220により生成される。
トロフィ画像280、282、284は、記録メディア80にインストールされたアイテム設定情報130に含まれており、ブロンズ、シルバー、ゴールドのいずれかの配色がなされている。これらのトロフィ画像280、282、284は、ゲームメーカによって作成され、そのゲームの世界観を表現する一助を担っている。表示処理部220は、記録メディア80に記録されたトロフィ画像280、282、284を用いて、獲得トロフィ表示画面を生成する。
しかしながら、トロフィ画像280、282、284が仮になかったとしても、ストレージ46には、トロフィの標準画像が記録されており、表示処理部220は、デフォルトで用意されているトロフィの標準画像を用いて獲得トロフィ表示画面を生成することができる。既述したように、トロフィ登録機能により、ゲームファイルに含まれるトロフィ画像は、ゲームの起動時に記録メディア80にインストールされる。しかしながら、記録メディア80が差し替えられると、ゲームが起動されるまで、差し替えられた記録メディア80にはそのゲームのトロフィ画像が記録されていない状態が継続する。ゲームが起動される前に、トロフィアプリケーションが起動されると、そのゲームに対応するトロフィ画像は記録メディア80にはインストールされていないため、表示処理部220は、ストレージ46に記録されているトロフィの標準画像を用いて、獲得トロフィ表示画面を生成する。
このように、表示処理部220は、トロフィ画像280、282、284が記録メディア80にインストールされていなかったとしても、ストレージ46に記録されているトロフィの標準画像を用いて、獲得トロフィ画面を生成できる。そのため、アイテム獲得情報110と比較すると、アイテム設定情報130の重要性は低く、その観点から、重要なアイテム獲得情報110をストレージ46に、アイテム設定情報130を記録メディア80にそれぞれ記録するようにしている。
図13は、トロフィ画面表示処理のフローチャートを示す。図13に示すフローチャートにおいては、各部の処理手順を、ステップを意味するS(Stepの頭文字)と数字との組み合わせによって表示する。なお、本明細書のフローチャートにおいて、Sと数字との組み合わせによって表示した処理で何らかの判断処理が実行され、その判断結果が肯定的であった場合は、Y(Yesの頭文字)を付加して、例えば、(S10のY)と表示し、逆にその判断結果が否定的であった場合は、N(Noの頭文字)を付加して、(S10のN)と表示する。
受付部230が表示要求を監視し(S10のN)、表示要求を受け付けると(S10のY)、モード設定部232が、トロフィアプリケーションが起動される直前の画面状態、または前回のトロフィアプリケーション終了時の表示モードに応じて、表示モードを設定する(S12)。モード設定部232が第1モードを設定すると(S12のY)、通信部404が管理サーバ14からアイテム獲得情報120を受信し、アイテム情報取得部210が、アイテム獲得情報120を取得する。表示処理部220は、アイテム獲得情報120にもとづいて、トロフィの獲得状況を示すトロフィ画面を生成する(S22)。
一方、モード設定部232が第2モードを設定すると(S12のN)、アイテム情報取得部210は、所定の条件が成立するか判定する(S16)。アイテム情報取得部210は、前回の同期処理の後に、新たなトロフィを獲得している場合に(S16のY)、管理サーバ14との間でアイテム獲得情報の同期処理を行う(S18)。なお、所定の条件が成立していなければ(S16のN)、同期処理は行わない。アイテム情報取得部210は、ストレージ46からアイテム獲得情報110を取得し(S20)、表示処理部220は、アイテム獲得情報110にもとづいて、トロフィの獲得状況を示すトロフィ画面を生成する(S22)。
以上、本発明を実施例をもとに説明した。この実施例は例示であり、それらの各構成要素や各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。実施例では、アプリケーションの例としてゲームを示したが、それ以外のアプリケーションであってもよい。