(57)【特許請求の範囲】
【請求項１】
アプリケーションプログラムを実行するアプリケーション実行部と、
アプリケーションにおいて予め設定された条件が達成された場合に、メッセージの入力領域を画面上に生成する入力領域生成部と、
ユーザにより入力領域に入力されたメッセージを受け付ける受付部と、
受け付けたメッセージと、達成されたアプリケーションの条件を特定する付加情報とを含めた送信データを生成する送信データ生成部と、を備え、
前記入力領域生成部は、アプリケーションにおいて予め設定された条件が達成された場合に、メッセージ入力可能であることを示す情報を画面上に表示し、
かかる情報の表示後、ユーザが所定のボタンを操作すると、前記アプリケーション実行部がアプリケーションプログラムの実行を一時停止して、前記入力領域生成部がメッセージの入力領域を画面上に生成し、一方でユーザが所定のボタンを操作しなければ、前記入力領域生成部がメッセージの入力領域を画面上に生成せずに、達成された条件に対応するイベントの識別情報を蓄積する、
ことを特徴とする情報処理装置。
【請求項２】
前記入力領域生成部は、入力されるメッセージの属性を特定するための属性決定画面をユーザに提示することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
アプリケーションにおいて予め設定された条件が達成されたことを検出する条件達成検出部と、をさらに備え、
前記入力領域生成部は、前記条件達成検出部により条件達成が検出された場合に、メッセージの入力領域を画面上に生成することを特徴とする請求項１または２に記載の情報処理装置。
【請求項４】
コンピュータに、
アプリケーションプログラムを実行する機能と、
アプリケーションにおいて予め設定された条件が達成された場合に、メッセージの入力領域を画面上に生成する機能と、
ユーザにより入力領域に入力されたメッセージを受け付ける機能と、
受け付けたメッセージと、達成されたアプリケーションの条件を特定する付加情報とを含めた送信データを生成する機能と、を実現させるためのプログラムであって、
入力領域の生成機能は、アプリケーションにおいて予め設定された条件が達成された場合に、メッセージ入力可能であることを示す情報を画面上に表示し、
かかる情報の表示後、ユーザが所定のボタンを操作すると、プログラム実行機能がアプリケーションプログラムの実行を一時停止して、入力領域の生成機能が、メッセージの入力領域を画面上に生成し、一方でユーザが所定のボタンを操作しなければ、入力領域の生成機能が、メッセージの入力領域を画面上に生成せずに、達成された条件に対応するイベントの識別情報を蓄積する、
ことを特徴とするプログラム。
【請求項５】
請求項４に記載のプログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ユーザにメッセージを提供する技術に関する。
【背景技術】
【０００２】
ユーザ間でメッセージを送受信するシステムの代表格に、電子メールシステムがある。電子メールシステムでは、ユーザから送信された電子メールをＳＭＴＰ(Simple Mail Transfer Protocol)サーバがＰＯＰ(Post Office Protocol)サーバに転送する。ＰＯＰサーバは、転送された電子メールを蓄積し、電子メールを受信するユーザは、ＰＯＰサーバにアクセスすることで、電子メールを取得する。またリアルタイムにユーザ端末間でメッセージを送受信するシステムに、チャットシステムがある。チャットシステムでは、ユーザ端末がチャットサーバに接続することで、参加者より入力されたメッセージがリアルタイムに表示され、またユーザ端末から参加者にメッセージを送信できる。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】米国特許第６５６３９９９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
電子メールシステムでは、ユーザがＰＯＰサーバにアクセスすることがメッセージ取得の契機となるため、情報伝達の即時性は、チャットシステムより劣る。一方、チャットシステムは、情報伝達の即時性の観点からは優れたツールであるが、インターネットなどを介してチャットサーバにオンライン接続していなければ、メッセージの提供を受けることができない。そこで、オンライン接続しなくても、状況に応じた即時性をともなってメッセージの提供を受けられるシステムの開発が望まれる。
【０００５】
そこで本発明は、メッセージを効果的にユーザに通知する技術を提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記課題を解決するために、本発明のある態様は、情報処理装置に関する。この態様の情報処理装置は、メッセージと、付加情報とを含むメッセージデータを取得するメッセージデータ取得部と、取得したメッセージデータを記憶する記憶装置と、アプリケーションにおいて予め設定された条件が達成された場合に、達成された条件を特定する条件特定情報を取得する条件特定情報取得部と、取得した条件特定情報に対応する付加情報を含むメッセージデータのメッセージを通知する通知部と、を備える。
【０００７】
本発明の別の態様も、情報処理装置に関する。この態様の情報処理装置は、アプリケーションにおいて予め設定された条件が達成された場合に、メッセージの入力領域を画面上に生成する入力領域生成部と、ユーザにより入力領域に入力されたメッセージを受け付ける受付部と、受け付けたメッセージと、達成されたアプリケーションの条件を特定する付加情報とを含めた送信データを生成する送信データ生成部と、を備える。
【０００８】
なお、以上の構成要素の任意の組合せ、本発明の表現を方法、装置、システム、記録媒体、コンピュータプログラムなどの間で変換したものもまた、本発明の態様として有効である。
【発明の効果】
【０００９】
本発明によると、メッセージを効果的にユーザに通知する技術を実現できる。
【図面の簡単な説明】
【００１０】
【図１】本発明の実施例１にかかるゲームシステムを示す図である。
【図２】ゲーム装置のハードウェアブロックを示す図である。
【図３】メッセージの管理処理を実行するゲームシステムの機能ブロックを示す図である。
【図４】メッセージデータのデータフォーマットを示す図である。
【図５】ゲーム装置の詳細構成を示す図である。
【図６】イベントＩＤと、プレイ条件とを対応付けたイベントテーブルの一例を示す図である。
【図７】ゲーム画面の一例を示す図である。
【図８】ゲーム画面に重畳表示される入力領域を示す図である。
【図９】（ａ）は、入力フォーマットの一例を示す図であり、（ｂ）は、イベント決定画面の一例を示す図であり、（ｃ）は、属性決定画面の一例を示す図である。
【図１０】メッセージ生成処理のフローチャートを示す図である。
【図１１】ゲーム画面に重畳表示される表示領域を示す図である。
【図１２】ゲーム画面に重畳表示される表示領域の別の例を示す図である。
【図１３】メッセージの閲覧画面の一例を示す図である。
【図１４】メッセージ出力処理のフローチャートを示す図である。
【図１５】本発明の実施例２にかかる情報通知システムを示す図である。
【図１６】情報処理装置の構成を示す図である。
【図１７】条件ＩＤと条件種別との対応テーブルを示す図である。
【図１８】メッセージデータのデータフォーマットを示す図である。
【図１９】（ａ）は、入力フォーマットの一例を示す図であり、（ｂ）は、条件設定画面の一例を示す図である。
【図２０】（ａ）は、時間条件設定画面の一例を示す図であり、（ｂ）は、場所条件設定画面の一例を示す図である。
【図２１】メッセージ生成処理のフローチャートを示す図である。
【図２２】メッセージ出力処理のフローチャートを示す図である。
【発明を実施するための形態】
【００１１】
（実施例１）
まず、本発明の実施例１の概要を説明する。実施例１にかかるゲームシステムでは、ユーザ（ユーザＡ）がゲームプレイ中に、ゲームソフトウェアにより予め設定された条件（以下、「プレイ条件」または「ゲームプレイ条件」と呼ぶこともある）を達成すると、ハードディスクドライブ（ＨＤＤ）やフラッシュメモリなどの記憶装置に予め記憶されているメッセージのうち、クリアしたプレイ条件に応じたメッセージがシステムソフトウェアによりゲーム画面上に表示される。プレイ条件は、たとえばレーシングゲームにおいて特別なレースで優勝することや、格闘ゲームにおいて特定の敵キャラクタを倒すことなど、ゲームソフトウェアにより適宜設定される。また、特定の敵キャラクタに倒されたことなど、本来はユーザに望ましくない結果などに対して、プレイ条件が設定されていてもよい。
【００１２】
記憶装置に記憶されているメッセージは、ユーザＡによるゲームプレイ前に、別のユーザ（ユーザＢ）が同じゲームのプレイ条件を達成した際に生成したものである。たとえば、ユーザＢは、プレイ条件をクリアしたときの感想や、応援メッセージなどを生成する。ユーザＢのゲーム装置は、メッセージと、クリアしたプレイ条件を特定する付加情報とを対応付けたデータを、たとえばユーザＢがゲームプレイを終了した時点で、ユーザＡのゲーム装置に送信する。このようにして、ユーザＡの記憶装置に、ユーザＢが作成したメッセージが蓄積される。ユーザＡの記憶装置には、さらに別のユーザが作成したメッセージが蓄積されてもよい。ユーザＡのゲームプレイ中に、同一プレイ条件を達成したときに生成されたユーザＢのメッセージをユーザＡに通知することで、プレイ状況にマッチしたメッセージを提供できる。これによりユーザＡのゲーム装置がオフラインであっても、ユーザＢとあたかも一緒にゲームをしているような環境を提供でき、メッセージ伝達の即時性を実現できる。
【００１３】
なお、ユーザＡに対して、ゲームメーカなどにより作成されたメッセージデータが提供されてもよい。メッセージは、チュートリアルやガイダンスなどの説明書として利用されてもよい。
【００１４】
図１は、本発明の実施例１にかかるゲームシステムを示す。ゲームシステム１は、ゲームコントローラ４０と、ゲームプログラムを実行するゲーム装置１０ａと、ゲーム装置１０ａによる処理結果を画像出力する表示機器１２とを備える。ゲームコントローラ４０は、ユーザにゲーム装置１０ａへの操作入力を行わせる入力インタフェース装置である。ゲームコントローラ４０は、無線により操作入力を送信するものであってもよく、またケーブルでゲーム装置１０ａに接続されるものであってもよい。表示機器１２はスピーカを有するテレビであってよい。表示機器１２は、ゲーム装置１０ａに有線ケーブルで接続されてよく、また無線ＬＡＮ（Local Area Network）などにより無線接続されてもよい。ゲーム装置１０はルータ１５を介して、ネットワーク１６に接続するメッセージ提供サーバ１８と通信可能に接続されており、所望のデータを送受信できる。
【００１５】
メッセージ提供サーバ１８は、ゲーム装置１０ａに対して、別のゲーム装置１０ｂで生成されたメッセージを提供する。このメッセージには、ゲーム装置１０ｂで達成されたプレイ条件を特定する情報が付加されている。ゲーム装置１０ａでは、ユーザがゲームソフトウェアにより予め設定されたプレイ条件をクリアすると、その条件に応じたメッセージを抽出して、表示機器１２に表示する。なお提供されるメッセージは音声であってもよく、その場合ゲーム装置１０ａは、スピーカからメッセージを音声出力する。これにより、ゲームのプレイ状況に即した即時性の高いメッセージの通知が実現される。なお以下、特に区別しない場合には、ゲーム装置１０ａ、ゲーム装置１０ｂを「ゲーム装置１０」と表現する。ゲーム装置１０は、ゲーム専用機であってもよいが、エミュレータをインストールしてゲーム装置として動作するコンピュータであってもよい。
【００１６】
図２は、ゲーム装置１０のハードウェアブロック図を示す。ゲーム装置１０は、電源ボタン２０、ＬＥＤ２２、システムコントローラ２４、デバイスコントローラ３０、メディアドライブ３２、ハードディスクドライブ３４、スイッチ３６、無線インタフェース３８、メインコントローラ１００、メインメモリ１０２および出力処理部１０４を有して構成される。
【００１７】
電源ボタン２０は、ユーザからの操作入力が行われる入力部であって、ゲーム装置１０への電源供給をオンまたはオフするために操作される。ＬＥＤ２２は、電源のオンまたはオフの状態を点灯表示する。システムコントローラ２４は、電源ボタン２０の押下状態または非押下状態を検出し、電源オフの状態から押下状態への状態遷移を検出すると、メインコントローラ１００を起動して、オペレーティングシステムのブートシーケンスを立ち上げるとともに、ＬＥＤ２２を点灯制御する。ゲーム装置１０に電源ケーブルが差し込まれている場合、システムコントローラ２４は、電源オフの状態であってもスタンバイモードを維持して、電源ボタン２０の押下を監視する。
【００１８】
デバイスコントローラ３０は、サウスブリッジのようにデバイス間の情報の受け渡しを実行するＬＳＩ（Large-Scale Integrated Circuit）として構成される。図示のように、デバイスコントローラ３０には、システムコントローラ２４、メディアドライブ３２、ハードディスクドライブ３４、スイッチ３６およびメインコントローラ１００などのデバイスが接続される。デバイスコントローラ３０は、それぞれのデバイスの電気特性の違いやデータ転送速度の差を吸収し、データ転送のタイミングを制御する。ハードディスクドライブ３４は、内蔵ハードディスクを駆動して、データの書込／読出を行う。内蔵ハードディスクは、データを記憶する記憶装置として機能する。メディアドライブ３２は、ゲームソフトウェアを記録した読出専用の記録媒体５０が装着されると、記録媒体５０を駆動して認識し、記録媒体５０から必要なデータを読み出すドライブ装置である。記録媒体５０は、光ディスクや光磁気ディスクなどのメディアであってよい。
【００１９】
スイッチ３６は、イーサネットスイッチ（イーサネットは登録商標）であって、外部の機器と有線または無線で接続して、データの送受信を行うデバイスである。スイッチ３６は、ネットワーク１６を介して、メッセージ提供サーバ１８との間でメッセージデータを送受信する。またスイッチ３６は無線インタフェース３８に接続し、無線インタフェース３８は、Bluetooth（登録商標）プロトコルやIEEE802.11プロトコルなどの通信プロトコルで無線通信機能をもつゲームコントローラ４０と接続する。ゲームコントローラ４０に入力されたユーザの操作情報は、無線インタフェース３８、スイッチ３６、デバイスコントローラ３０を通じてメインコントローラ１００に供給される。
【００２０】
メインコントローラ１００は、マルチコアＣＰＵを備え、１つのＣＰＵの中に１つの汎用的なプロセッサコアと、複数のシンプルなプロセッサコアを有する。汎用プロセッサコアはＰＰＵ（Power Processing Unit）と呼ばれ、残りのプロセッサコアはＳＰＵ（Synergistic-Processing Unit）と呼ばれる。メインコントローラ１００では、ゲーム装置１０を効率よく使用するための機能、環境を提供し、装置全体を統括的に制御するオペレーティングシステム（以下、単に「ＯＳ（Operating System）」と呼ぶ）が実行される。本実施例におけるゲーム装置１０のＯＳ階層は、上位から、ユーザ層、カーネル（Kernel）層、ハイパーバイザ（Hypervisor）層の３階層をとり、ユーザ層、カーネル層とハイパーバイザ層のソフトウェアが一体となって、ゲーム装置１０の「ＯＳ」として機能する。
【００２１】
電源ボタン２０により電源投入されると、システムコントローラ２４は、デバイスコントローラ３０を経由して、メインコントローラ１００および出力処理部１０４に電源を供給する。メインコントローラ１００に電源が供給されると、ＰＰＵは、まずＯＳのブートローダを実行して、ハイパーバイザ層を起動する。つづいて、ＰＰＵは、ＯＳのカーネル層を起動し、さらにユーザ層を起動して、ハードディスクドライブ３４または記録媒体５０から供給されるデータの受入態勢を整える。これにより、メインコントローラ１００は、ゲームプログラムを実行できる。
【００２２】
メインコントローラ１００は、メインメモリ１０２に接続するメモリコントローラを備える。ＰＰＵはレジスタを有し、演算実行主体としてメインプロセッサを備えて、実行するアプリケーションにおける基本処理単位としてのタスクを各ＳＰＵに効率的に割り当てる。なお、ＰＰＵ自身がタスクを実行してもよい。ＳＰＵはレジスタを有し、演算実行主体としてのサブプロセッサとローカルな記憶領域としてのローカルメモリを備える。メインメモリ１０２およびローカルメモリは、ＲＡＭ（ランダムアクセスメモリ）として構成される。ＳＰＵは制御ユニットとして専用のＤＭＡ（Direct Memory Access）コントローラをもち、メインメモリ１０２とローカルメモリの間のデータ転送を行うことで、データを高速にストリーム処理でき、また出力処理部１０４に内蔵されるフレームメモリとローカルメモリの間で高速なデータ転送を実現できる。
【００２３】
出力処理部１０４は、表示機器１２に接続されて、アプリケーションの処理結果である映像信号および音声信号を出力する。出力処理部１０４は、画像処理機能を実現するＧＰＵ（Graphics Processing Unit）を備える。ＧＰＵは、ＨＤＭＩ（High Definition Multimedia Interface）を採用し、映像信号をデジタル出力できる。
【００２４】
ゲームシステム１において、ゲーム装置１０は、メッセージを配信する機能を備えた情報処理装置としての側面、配信されたメッセージをユーザに出力する機能を備えた情報処理装置としての側面をもつ。図１においては、ゲーム装置１０ｂがメッセージを配信し、ゲーム装置１０ａがメッセージをユーザに通知するとしたが、１つのゲーム装置１０が、双方の側面を併せ持って構成されている。ゲーム装置１０の機能は、ゲームソフトウェア、システムソフトウェアおよびメッセージ管理ユーティリティによって実現される。
【００２５】
なお、本実施例において、ゲームシステム１は情報通知システムの例示である。すなわち、本実施例で説明するゲーム装置１０の処理機能は、ゲームに限らず、他のアプリケーションを実行する情報処理装置に適用できる。情報処理装置では、システムソフトウェア、アプリケーションソフトウェアおよびメッセージ管理ユーティリティが実行される。以下、情報処理装置の一例として、システムソフトウェア、ゲームソフトウェアおよびメッセージ管理ユーティリティにより実現されるゲーム装置１０の処理機能を説明する。
【００２６】
ゲーム装置１０のメッセージ配信機能の概要を説明する。ゲームソフトウェアは、ユーザによるゲームの進行状況において、予め設定したゲームのプレイ条件の達成を検出すると、ゲーム装置１０にインストールされているメッセージ管理ユーティリティを呼び出し、達成された条件を特定する条件特定情報をメッセージ管理ユーティリティに通知する。ゲームプログラムには、この処理がハードコーディングされている。メッセージ管理ユーティリティは、システムソフトウェアに、メッセージの入力領域の生成を指示する。システムソフトウェアは、指示を受けると、ゲーム画面にメッセージの入力領域を生成する。ユーザがメッセージを入力すると、システムソフトウェアが、入力されたメッセージをメッセージ管理ユーティリティに渡し、メッセージ管理ユーティリティは、メッセージと、達成されたゲームのプレイ条件を特定する付加情報とを含めたメッセージデータを生成して、ハードディスクドライブ３４に保存する。メッセージ管理ユーティリティは、送信先となるゲーム装置および／またはメッセージ提供サーバ１８を宛先として指定するヘッダをメッセージデータに付加して送信データを生成し、所定のタイミングでメッセージ提供サーバ１８に送信する。
【００２７】
次に、ゲーム装置１０のメッセージ出力機能の概要を説明する。メッセージ管理ユーティリティは、所定のタイミングでメッセージ提供サーバ１８から、自分宛のメッセージデータをダウンロードし、ハードディスクドライブ３４に格納しておく。ゲームソフトウェアは、ユーザによるゲームの進行状況において、予め設定したゲームのプレイ条件の達成を検出すると、ゲーム装置１０にインストールされているメッセージ管理ユーティリティを呼び出し、達成された条件を特定する条件特定情報をメッセージ管理ユーティリティに通知する。ゲームプログラムには、この処理がハードコーディングされている。メッセージ管理ユーティリティは、達成されたゲームのプレイ条件を特定する条件特定情報を取得すると、取得した条件特定情報に対応する付加情報を含むメッセージデータのメッセージをハードディスクドライブ３４から読み出し、システムソフトウェアに、メッセージの表示を指示する。システムソフトウェアは、指示を受けると、ゲーム画面にメッセージの表示情報を生成する。別のユーザが同じ条件の達成時に作成したメッセージをゲーム画面に表示することで、ゲームをオフラインで実行している場合であっても、あたかも別のユーザと同じタイミングでゲームを実行しているような臨場感のあるメッセージを提供することが可能となる。
【００２８】
図３は、メッセージの管理処理を実行するゲームシステム１の機能ブロック図を示す。ゲーム装置１０は、システムソフトウェア２００、ゲームソフトウェア３００およびメッセージ管理ユーティリティソフトウェア（以下、「メッセージ管理ユーティリティ」）４００を実行する。システムソフトウェア２００は、オペレーティングシステム（ＯＳ）であって、ＧＵＩ（グラフィカルユーザインタフェース）を用いた表示処理機能などをもつ。メッセージ管理ユーティリティ４００は、ゲームシステム１におけるメッセージの配信機能および出力機能を補助する役割をもつ。
【００２９】
＜メッセージ取得機能＞
ゲームソフトウェア３００は、その起動時にメッセージ管理ユーティリティ４００から「メッセージ取得機能」を呼び出す。メッセージ取得機能は、メッセージ出力機能の一部を構成する。これにより、メッセージ管理ユーティリティ４００は、スイッチ３６を介してメッセージ提供サーバ１８にメッセージ取得要求を送信し、メッセージ提供サーバ１８は、当該ゲーム装置１０宛てのメッセージデータを有していれば、ゲーム装置１０に対してメッセージデータを送信する。メッセージ管理ユーティリティ４００は、受信したメッセージデータ６０ａをハードディスクドライブ３４に格納する。
【００３０】
＜メッセージ入力機能＞
ゲームソフトウェア３００は、ゲームのプレイ条件達成時に、メッセージ管理ユーティリティ４００から「メッセージ入力機能」を呼び出す。メッセージ入力機能は、メッセージ配信機能の一部を構成する。これにより、メッセージ管理ユーティリティ４００は、システムソフトウェア２００にメッセージ入力領域を生成させ、入力領域に入力されたメッセージと、達成された条件を特定する付加情報とを、所定のフォーマットに収めたメッセージデータ６０ｂを生成し、ハードディスクドライブ３４に格納する。
【００３１】
＜メッセージ通知機能＞
またゲームソフトウェア３００は、ゲームのプレイ条件達成時に、メッセージ管理ユーティリティ４００から「メッセージ通知機能」を呼び出す。メッセージ通知機能は、メッセージ出力機能の一部を構成する。これにより、メッセージ管理ユーティリティ４００は、ハードディスクドライブ３４から、同一条件の達成時に生成されたメッセージデータ６０ａを読み出し、システムソフトウェア２００にメッセージ通知を行わせる。
【００３２】
なおメッセージ入力機能とメッセージ通知機能の呼び出し契機は、それぞれゲームプレイ条件が達成されたことである。このときゲームソフトウェア３００は、メッセージ入力機能とメッセージ通知機能とを同じタイミングで呼び出すのではなく、たとえば先にメッセージ通知機能を呼び出し、メッセージ通知処理が終了した後に、メッセージ入力機能を呼び出すようにしてもよい。
【００３３】
＜メッセージ送信機能＞
ゲームソフトウェア３００は、たとえばユーザによるゲームプレイの終了時に、メッセージ管理ユーティリティ４００から「メッセージ送信機能」を呼び出す。メッセージ送信機能は、メッセージ配信機能の一部を構成する。これにより、メッセージ管理ユーティリティ４００は、ゲームプレイ中に生成したメッセージデータ６０ｂに、送信先となるゲーム装置を指定したヘッダを付加した送信データを生成し、メッセージ提供サーバ１８に送信する。
以下、特に区別しない場合には、メッセージデータ６０ａ、６０ｂを「メッセージデータ６０」と表現する。
【００３４】
図４は、メッセージデータ６０のデータフォーマットを示す。メッセージデータ６０には、タイトルＩＤ６２、条件特定情報６４、属性６６およびメッセージ６８の各フィールドが設けられる。タイトルＩＤ６２のフィールドには、ゲームタイトルを特定するための識別情報が含まれる。条件特定情報６４のフィールドには、ゲームのプレイ条件を特定するための情報が含まれる。たとえば、ゲームソフトウェア３００において、各プレイ条件に識別番号（ＩＤ）を割り当て、その識別番号をイベントＩＤ（「条件ＩＤ」と呼んでもよい）として表現している場合には、条件特定情報６４は、達成されたゲームのイベントＩＤであってよい。なお、条件特定情報６４は、プレイ条件そのものであってもよく、いずれにしても、メッセージ管理ユーティリティ４００がプレイ条件を特定できる付加情報であればよい。属性６６のフィールドには、メッセージ６８の属性情報が含まれる。属性６６は、基本的にはメッセージの配信者により設定されるが、他のユーザにより設定されてもよい。属性６６の詳細については後述する。メッセージ６８のフィールドには、ユーザにより入力されたメッセージが含まれる。
【００３５】
以下に、ゲーム装置１０の詳細を説明する。
図５は、図３に示したゲーム装置１０の詳細構成を示す。ゲーム装置１０における各機能は、システムソフトウェア２００、ゲームソフトウェア３００およびメッセージ管理ユーティリティ４００を用いて実現される。メッセージ管理ユーティリティ４００は、ゲームソフトウェア３００により呼び出される際に、ゲームのタイトルＩＤを通知される。
【００３６】
システムソフトウェア２００は、オペレーティングシステム（ＯＳ）として動作し、表示処理部２１０および入力受付部２２０を備える。表示処理部２１０は、表示情報生成部２１２および入力領域生成部２１４を有する。ゲームソフトウェア３００は、アプリケーション実行部３０２、条件達成検出部３０４およびイベントＩＤ通知部３０６を備える。
【００３７】
メッセージ管理ユーティリティ４００は、イベントＩＤ取得部４１０、出力処理部４２０、配信処理部４４０および通信部４６０を備える。出力処理部４２０は、通知判定部４２２、メッセージ読出部４２４およびメッセージデータ取得部４２６を有する。配信処理部４４０は、指示部４４２、メッセージデータ生成部４４４および送信データ生成部４４６を有する。
【００３８】
図５において、さまざまな処理を行う機能ブロックとして記載される各要素は、ハードウェア的には、ＣＰＵ（Central Processing Unit）、メモリ、その他のＬＳＩで構成することができ、ソフトウェア的には、メモリにロードされたプログラムなどによって実現される。既述したように、メインコントローラ１００には１つのＰＰＵと複数のＳＰＵとが設けられており、ＰＰＵおよびＳＰＵがそれぞれ単独または協同して、各機能ブロックを構成できる。したがって、これらの機能ブロックがハードウェアのみ、ソフトウェアのみ、またはそれらの組合せによっていろいろな形で実現できることは当業者には理解されるところであり、いずれかに限定されるものではない。
【００３９】
図１において、ゲーム装置１０ｂが、メッセージの配信処理を行い、ゲーム装置１０ａが、メッセージの出力処理を行うゲームシステム１を示した。この例にしたがい、以下では、ユーザＢのゲーム装置１０ｂより配信されたメッセージデータを、ユーザＡのゲーム装置１０ａが取得して出力するゲームシステム１を説明する。
【００４０】
＜メッセージの配信処理＞
ゲーム装置１０ｂのゲームソフトウェア３００において、アプリケーション実行部３０２が、ユーザＢによるゲームコントローラ４０の操作入力を受けて、ゲームプログラムを実行する。本実施例１において、ゲームソフトウェア３００は、ゲームのプレイ条件を予め設定し、各条件にイベントＩＤを割り当てている。ゲームソフトウェア３００は、イベントが発生すると、そのイベントＩＤを出力するようにコーディングされている。イベントＩＤを割り当てられたプレイ条件の内容は、ユーザに公開されてもよく、また非公開とされてもよい。ゲームソフトウェア３００は、各イベントのＩＤと、プレイ条件の内容とを対応付けたテーブルを有する。
【００４１】
図６は、イベントＩＤと、プレイ条件とを対応付けたイベントテーブルの一例を示す。プレイ条件が達成されることは、ユーザがメッセージを入力するための契機となり、またユーザに他ユーザからのメッセージを通知するための契機となる。図示されるように、ラスボス（final boss）に勝つ（イベントＩＤ：01000000）というポジティブな結果だけでなく、ラスボスに負けた（イベントＩＤ：01000001）というネガティブな結果に対しても、イベントＩＤが割り当てられてよい。また、火山のダンジョン（イベントＩＤ：00001000）のように、「ダンジョンにいる間」というプレイ条件もイベントとして設定しうる。イベントテーブルは、ゲームメーカにより作成され、ゲームソフトウェア３００に組み込まれている。なおイベントテーブルには、タイトルＩＤとゲームタイトル名とが対応付けられて記録されている。イベントテーブルに記述されているプレイ条件の内容は、後述するメッセージの入力画面や、メッセージの閲覧画面を生成する場合などに、ユーザに提示される。
【００４２】
条件達成検出部３０４は、ゲームの進行状況から、イベントが発生したこと、すなわちゲームにおいて予め設定されたゲームのプレイ条件が達成されたことを検出する。この検出処理は、ゲームプログラムにハードコーディングされており、イベントが発生すると、そのイベントを特定するイベントＩＤを取得する処理がゲームプログラムに書き込まれている。条件達成の検出は、イベントＩＤを取得することに相当する。イベントＩＤ通知部３０６は、取得したイベントＩＤをメッセージ管理ユーティリティ４００に通知する。
【００４３】
図７は、アプリケーション実行部３０２により実行されて表示機器１２に表示されるゲーム画面の一例を示す。このゲーム画面は、ゲームコントローラ４０により操作されるユーザキャラクタが、敵のラスボスと対峙して、これから戦闘を開始する場面を示す。条件達成検出部３０４は、ユーザキャラクタがラスボスと対峙したときに、図６に示すイベント「ラスボスとの戦闘を開始する」に対応付けられているイベントＩＤを取得する。イベントＩＤ通知部３０６は、達成されたプレイ条件を特定するイベントＩＤ"00111111"をメッセージ管理ユーティリティ４００に通知する。
【００４４】
メッセージ管理ユーティリティ４００において、イベントＩＤ取得部４１０は、通知されたイベントＩＤを取得し、指示部４４２に渡す。指示部４４２は、システムソフトウェア２００の入力領域生成部２１４に、メッセージ入力領域の生成を指示する。入力領域生成部２１４は、メッセージの入力領域を生成して、ゲーム画面に重畳表示する。メッセージ入力領域は、ユーザがメッセージを入力するためのウィンドウであってよい。
【００４５】
図８は、ゲーム画面に重畳表示される入力領域７０を示す。入力領域生成部２１４は、メッセージの入力領域７０を、ゲーム進行の邪魔にならないように、たとえばゲーム画面の端に近い位置に表示する。入力領域生成部２１４は、ゲーム画面の下端に入力領域７０を表示してもよい。
【００４６】
ユーザＢは、入力領域７０にメッセージを入力する。たとえば入力するメッセージは、「これから頑張るぞ」という感想であったり、他のユーザを意識して「これから頑張ろう」という応援であってよく、ユーザがゲームコントローラ４０やキーボードなどのユーザインタフェースを用いて、自由にテキスト入力できるようにしてもよい。なお、定型文のメッセージを予め複数用意しておき、プルダウン形式で選択可能に表示することで、ユーザが簡単な操作でメッセージを選択入力できるようにしてもよい。
【００４７】
メッセージ入力の際、ユーザＢは所定のボタン、たとえばゲーム進行を一時停止させるＰＡＵＳＥボタンを押して、ゲームの進行を止めるようにしてもよい。この場合、入力領域生成部２１４は、指示部４４２から指示を受け付けると、すぐに入力領域７０をゲーム画面上に表示するのではなく、一旦、メッセージ入力可能であることを示す情報をゲーム画面に重畳表示する。ユーザＢが、この情報を見てＰＡＵＳＥボタンを押すと、アプリケーション実行部３０２がゲームの進行を一時停止した後、入力領域生成部２１４が入力領域７０を画面表示する。将棋やチェスゲームなどのように、進行が比較的遅いゲームでは、入力領域生成部２１４は、入力領域７０を進行中のゲーム画面に重畳表示してもよいが、格闘ゲームなど進行が速いゲームでは、ＰＡＵＳＥボタンの操作を受けて、入力領域生成部２１４が入力領域７０を表示するように設定することが好ましい。なお、この表示制御の機能は、ゲームソフトウェア３００により設定される。
【００４８】
なお、ユーザは、所定のプレイ条件を達成した時点でメッセージを入力するのではなく、ゲームプレイを継続して、切りのいいところで、達成済みの複数のプレイ条件に対して、まとめてメッセージを入力したいこともある。このような場合では、入力領域生成部２１４は、ユーザに、メッセージ入力可能であることをプレイ条件が達成されるたびに通知し、メッセージ入力がなされなければ（たとえばＰＡＵＳＥボタンが押されなければ）、メッセージ入力可能なイベントを蓄積していく。なお詳細については後述するが、入力領域生成部２１４は、ユーザが後にイベントを確認しやすいように、プレイ条件が達成されたときのゲーム画面のスクリーンショットを蓄積し、まとめてメッセージ入力がなされる際に、ユーザに提示してもよい。
【００４９】
入力領域生成部２１４は、ＰＡＵＳＥボタンが操作された時点で、メッセージ入力可能なイベントのリストをユーザに提示し、ユーザがメッセージ入力できるようにする。なお、ユーザがメッセージ以外の入力も可能とするために、入力領域生成部２１４は、入力領域７０において、所定の入力フォーマットをユーザに提示してもよい。
【００５０】
図９（ａ）は、入力領域７０に生成される入力フォーマットの一例を示す。この入力フォーマットでは、イベントを特定するためのタブ７１、メッセージ属性を設定するためのタブ７２、添付アイテムを定めるためのタブ７３、メッセージ本文の入力画面を開くためのタブ７４を含む。これらのタブは、上から順に選択できるようになっており、最初の表示では、タブ７１のみがユーザに選択可能とされる。ユーザは、ゲームコントローラ４０を操作することで、各タブを選択し、必要な情報を入力する。
【００５１】
タブ７１が操作されると、図９（ｂ）に示すイベント決定画面７８が表示される。イベント決定画面７８の生成時、イベントＩＤ取得部４１０は、ゲームソフトウェア３００からイベントテーブルを取得し、表示処理部２１０に渡す。入力領域生成部２１４は、メッセージ入力可能なイベント、すなわちイベントＩＤ通知部３０６よりイベントＩＤが通知されたが、まだメッセージが入力されていないイベントのＩＤを蓄積している。入力領域生成部２１４は、イベントテーブルを参照して、メッセージ未入力のイベントＩＤから「プレイ条件の内容」を抽出し、イベント決定画面７８にリスト表示する。これにより、イベント決定画面７８には、これまで達成したプレイ条件であって、且つメッセージ入力がなされていないプレイ条件の内容がリスト表示される。
【００５２】
たとえばユーザキャラクタがラスボスに負けた場合、イベント決定画面７８に、プレイ条件「ラスボスに負ける」が表示され、ラスボスに勝たなければ、プレイ条件「ラスボスに勝つ」は表示されない。イベント決定画面７８は、入力領域７０に重ならないように表示される。たとえば、イベント決定画面７８において、イベントを選択すると、イベントの発生時（または発生中）のゲーム画面のスクリーンショットがサムネイル表示領域７５に表示される。サムネイル表示領域７５に表示されるスクリーンショットは、ユーザに過去のゲームプレイを思い出させる役割を持つ。なおプレイ条件７６には、イベントの内容（図６に示すプレイ条件の内容）が記述される。ユーザがリスト表示されたイベントのいずれかを決定すると、図９（ａ）に示す入力フォーマットに戻る。
【００５３】
ユーザがイベントを決定すると、タブ７２がユーザに選択可能とされる。タブ７２が操作されると、図９（ｃ）に示す属性決定画面７９が表示される。属性決定画面７９には、入力するメッセージの属性がリスト表示される。「感想」属性は、「ボスキャラ強そう！」、「これから倒すぞ」など、ユーザが、そのイベントに対する感想メッセージを入力する際に選択される。「応援」属性は、「ガンバレ〜」など、ユーザが、他のユーザへの応援を意識したメッセージを入力する際に選択される。「ヒント」属性は、「ボスキャラは火に弱いみたい」など、ユーザが、他のユーザへのアドバイスを意識したメッセージを入力する際に選択される。なお、後述するが、「ヒント」属性が付加されたメッセージは、他のユーザのゲーム装置１０において表示されるためには、そのユーザの承認を得る必要がある。
【００５４】
ユーザが属性を決定すると、タブ７３がユーザに選択可能とされる。タブ７３が操作されると、ユーザは、他のユーザに配信するメッセージデータに、アイテムを含めることができる。ユーザが属性を決定したときに、タブ７４もユーザに選択可能とされ、メッセージデータにアイテムを含めない場合には、ユーザは、タブ７４を操作する。タブ７４を操作すると、ユーザは、本文メッセージを入力する。
【００５５】
システムソフトウェア２００において、入力受付部２２０が、入力されたメッセージを受け付ける。なお、図９（ａ）に示す入力フォーマットにしたがってメッセージが入力される場合には、入力受付部２２０は、イベント（プレイ条件）を特定する情報、属性を特定する情報、アイテムを特定する情報などの付加情報も、メッセージとともに受け付ける。入力受付部２２０は、受け付けたメッセージおよび付加情報を、メッセージ管理ユーティリティ４００のメッセージデータ生成部４４４に提供する。メッセージデータ生成部４４４は、メッセージおよび付加情報を用いて、図４に示すデータフォーマットで、メッセージデータを生成する。アイテムを添付する場合には、図４に示すデータフォーマットに、アイテムのフィールドが追加される。
【００５６】
タイトルＩＤは、メッセージ管理ユーティリティ４００が呼び出される際に、ゲームソフトウェア３００より通知される。イベントＩＤ取得部４１０は、通知されたタイトルＩＤを、配信処理部４４０に渡しておく。なお、イベントＩＤ通知部３０６が、イベントＩＤを通知するたびに、一緒にタイトルＩＤをイベントＩＤ取得部４１０に通知し、イベントＩＤ取得部４１０が配信処理部４４０に渡してもよい。メッセージデータ生成部４４４は、タイトルＩＤを取得し、またメッセージおよび付加情報を提供されることで、図４に示すデータフォーマットのメッセージデータを生成する。なお実施例１において、メッセージデータ生成部４４４は、付加情報のうち、イベントＩＤ（条件特定情報）は必ずメッセージデータに含める。メッセージデータ生成部４４４は、生成したメッセージデータ６０ｂをハードディスクドライブ３４に格納する。
【００５７】
ハードディスクドライブ３４には、メッセージデータ６０ｂを配信する宛先となるゲーム装置１０ａを特定する情報が予め格納されている。送信データ生成部４４６は、所定のタイミングで、ハードディスクドライブ３４に格納されたメッセージデータ６０ｂに、宛先情報を付加した送信データを生成し、通信部４６０が、メッセージ提供サーバ１８に送信する。
【００５８】
図１０は、メッセージ生成処理のフローチャートを示す。図１０に示すフローチャートにおいては、各部の処理手順を、ステップを意味するＳ（Ｓｔｅｐの頭文字）と数字との組み合わせによって表示する。また、Ｓと数字との組み合わせによって表示した処理で何らかの判断処理が実行され、その判断結果が肯定的であった場合は、Ｙ（Ｙｅｓの頭文字）を付加して、例えば、（Ｓ１０のＹ）と表示し、逆にその判断結果が否定的であった場合は、Ｎ（Ｎｏの頭文字）を付加して、（Ｓ１０のＮ）と表示する。なお、フローチャートにおける表示の意味は、他の図面に示すフローチャートでも同じである。
【００５９】
ゲームソフトウェア３００において、アプリケーション実行部３０２が、ユーザからのゲームコントローラ４０の操作入力を受けて、ゲームプログラムを実行する（Ｓ１０）。条件達成検出部３０４は、ゲームの進行状況から、ゲームにおいて予め設定されたゲームのプレイ条件が達成されたか検出する（Ｓ１２）。条件達成検出部３０４は、プレイ条件が達成されたことを検出すると（Ｓ１２のＹ）、その条件に対してハードコーディングされているイベントＩＤを取得する。なお、イベントＩＤを取得したことをもって、プレイ条件の達成が検出されてもよい。イベントＩＤ通知部３０６は、取得したイベントＩＤを、メッセージ管理ユーティリティ４００に通知する（Ｓ１４）。なおゲームのプレイ条件が達成されなければ（Ｓ１２のＮ）、イベントＩＤは通知されない。
【００６０】
メッセージ管理ユーティリティ４００において、イベントＩＤ取得部４１０は、通知されたイベントＩＤを取得し、指示部４４２に渡す。指示部４４２は、入力領域生成部２１４に、メッセージの入力領域７０の生成を指示する（Ｓ１６）。システムソフトウェア２００において、入力領域生成部２１４は、メッセージの入力領域７０を生成し（Ｓ１８）、表示機器１２に画面表示する。入力受付部２２０が、ユーザから入力されたメッセージを受け付け（Ｓ２０）、メッセージデータ生成部４４４に渡す。メッセージデータ生成部４４４は、図４に示すフォーマットで、メッセージデータ６０ｂを生成する（Ｓ２２）。ゲームが終了するまで（Ｓ２４のＮ）、このメッセージ生成処理は行われ、ゲームが終了すると（Ｓ２４のＹ）、メッセージ生成処理は終了する。なお生成されたメッセージデータは、通信部４６０によりメッセージ提供サーバ１８を介してゲーム装置１０ａに送信される。
【００６１】
＜メッセージの出力処理＞
続いて、ゲーム装置１０ａにおけるメッセージの出力処理を説明する。ゲーム装置１０ａのゲームソフトウェア３００は、その起動時にメッセージ管理ユーティリティ４００から「メッセージ取得機能」を呼び出す。メッセージ管理ユーティリティ４００において、通信部４６０が、メッセージ提供サーバ１８にアクセスして、自機宛てのメッセージデータの配信を要求する。メッセージ提供サーバ１８は、メッセージデータを保持する場合、通信部４６０に送信する。このとき、ゲームソフトウェア３００で実行されるゲームタイトルにかかわらず、メッセージ提供サーバ１８に保持されている全てのゲームタイトルのメッセージデータが通信部４６０に送信される。メッセージデータ取得部４２６は、通信部４６０を介してメッセージデータ６０ａを取得し、ハードディスクドライブ３４に格納する。これにより、プレイ条件に応じたメッセージをユーザＡに提示するための環境が整えられる。
【００６２】
ゲームソフトウェア３００において、アプリケーション実行部３０２が、ユーザＡによるゲームコントローラ４０の操作入力を受けて、ゲームプログラムを実行する。既述したように、ゲームプログラムには、イベント発生によりイベントＩＤを取得する処理がハードコーディングされている。
【００６３】
条件達成検出部３０４は、ゲームの進行状況から、イベントが発生したこと、すなわちゲームにおいて予め設定されたゲームのプレイ条件が達成されたことを検出する。イベントＩＤ通知部３０６は、取得したイベントＩＤをメッセージ管理ユーティリティ４００に通知する。
【００６４】
メッセージ管理ユーティリティ４００において、イベントＩＤ取得部４１０は、通知されたイベントＩＤを取得し、通知判定部４２２に渡す。なお、イベントＩＤ取得部４１０は、メッセージ管理ユーティリティ４００がゲームソフトウェア３００より呼び出された時点で、出力処理部４２０にタイトルＩＤを渡しておく。通知判定部４２２は、ハードディスクドライブ３４に記憶された同一タイトルＩＤをもつメッセージデータ６０ａの中で、イベントＩＤ取得部４１０より渡されたイベントＩＤに対応する付加情報をもつメッセージデータ６０ａが存在するか判定する。ここで、メッセージデータ６０ａに含まれる条件特定情報６４は、他のゲーム装置１０ｂにおいて達成されたプレイ条件を特定するイベントＩＤである。この場合、通知判定部４２２は、イベントＩＤ取得部４１０で取得したイベントＩＤと、メッセージデータ６０ａに含まれるイベントＩＤとを比較し、一致している場合には、取得したイベントＩＤに対応するメッセージデータ６０ａが存在することを判定する。この判定結果はメッセージ読出部４２４に渡され、メッセージ読出部４２４は、該当するメッセージデータ６０ａをハードディスクドライブ３４から読み出して、システムソフトウェア２００における表示情報生成部２１２に供給する。
【００６５】
表示情報生成部２１２は、メッセージを通知する通知部として機能し、具体的には、メッセージ読出部４２４から読み出されたメッセージを、ゲーム画面に重畳表示する表示情報を生成する。なお、メッセージが音声である場合には、スピーカが通知部として機能し、メッセージがスピーカから音声出力される。
【００６６】
図１１は、ゲーム画面に重畳表示される表示領域８０を示す。表示情報生成部２１２は、メッセージの表示領域８０を、ゲーム進行の邪魔にならないように、たとえばゲーム画面の端に近い位置に表示する。メッセージが複数存在する場合には、表示領域８０が、画面上下方向に並べて配置されてもよい。表示領域８０には、メッセージを作成したユーザのユーザ名やアイコン画像が含まれてもよい。なお、ユーザ名やアイコン画像を表示するためには、予め配信されるメッセージデータ６０に、ユーザ名やアイコン画像を含ませておく。他のユーザが作成したメッセージを、同じプレイ条件の達成時に通知することで、あたかも一緒にゲームをプレイしているような感覚を与えることができ、臨場感あふれるプレイ環境を実現できる。
【００６７】
表示情報生成部２１２は、表示開始から所定時間経過後に、表示領域８０の表示を終了する。なお表示時間は、ユーザにより設定できるようにしてもよく、またユーザのゲームコントローラ４０操作により、表示が終了されるようにしてもよい。
【００６８】
メッセージ表示の際、ユーザＡはたとえば、ゲーム進行を一時停止させるＰＡＵＳＥボタンを押して、ゲームの進行を止めるようにしてもよい。この場合、表示情報生成部２１２は、メッセージ読出部４２４からのメッセージ読出を受けて、すぐに表示領域８０をゲーム画面上に表示するのではなく、一旦、メッセージ通知可能であることを示す情報をゲーム画面に重畳表示する。ユーザが、この情報を見てＰＡＵＳＥボタンを押すと、アプリケーション実行部３０２がゲームの進行を一時停止した後、表示情報生成部２１２が表示領域８０を画面表示する。なお、この表示制御の機能は、ゲームソフトウェア３００により設定される。
【００６９】
図１２は、ゲーム画面に重畳表示される表示領域８０の別の例を示す。メッセージデータ６０ａに属性が設定されている場合、表示情報生成部２１２は、属性ごとに、メッセージを表示するようにしてもよい。ユーザは、たとえばメッセージ属性を表現するタブ８１、８２、８３を選択することで、その属性のメッセージを見ることができる。なお、「感想」属性および「応援」属性をもつメッセージについては、タブ８１、８２を介さず、図１１に示すように、表示領域８０内にメッセージが直接表示されてもよい。一方、「ヒント」属性をもつメッセージについては、ゲーム攻略の手がかりが含まれており、場合によっては、プレイ中のユーザの興味を減らす可能性もあるので、タブ８３を介さなければ見えないようにしてもよい。このように表示情報生成部２１２は、設定された属性に応じて、メッセージの表示態様を異ならせてもよい。
【００７０】
なお、表示情報生成部２１２は、ユーザに対して、取得したメッセージデータ６０ａを閲覧できる画面を提供してもよい。たとえば、閲覧画面には、ゲームタイトルと、メッセージデータ６０ａを送信したユーザ名やユーザアイコンと、メッセージの内容とが表示される。
【００７１】
図１３は、メッセージの閲覧画面の一例を示す。閲覧画面の生成時、イベントＩＤ取得部４１０は、ゲームソフトウェア３００からイベントテーブルを取得する。メッセージ読出部４２４は、ハードディスクドライブ３４に記憶されているメッセージデータ６０ａを読み出し、またイベントＩＤ取得部４１０から、イベントテーブルを取得する。なおゲームソフトウェア３００から読み出されたイベントテーブルがハードディスクドライブ３４に予め格納されていてもよく、その場合には、メッセージ読出部４２４がハードディスクドライブ３４からイベントテーブルを読み出す。メッセージ読出部４２４は、イベントテーブルおよびメッセージデータ６０ａを、表示情報生成部２１２に提供する。
【００７２】
表示情報生成部２１２は、メッセージデータ６０ａの条件特定情報６４に対応付けられているプレイ条件の内容を、イベントテーブルから抽出する。また表示情報生成部２１２は、イベントテーブルから、ゲームタイトル名を抽出する。表示情報生成部２１２は、ゲームタイトル名８４、プレイ条件の内容８５およびメッセージ８６を用いて、メッセージの閲覧画面を生成する。これにより、ユーザＡは、届いたメッセージをまとめて閲覧できる。
【００７３】
なお、まだユーザＡが「ラスボスに負ける」というプレイ条件を達成していない場合には、そのプレイ条件に対するメッセージがユーザＢから届いていた場合であっても、メッセージ内容は表示されない。たとえば、表示情報８７として、ユーザ名（ユーザＢ）のみを表示するようにする。表示情報生成部２１２は、あくまでもユーザＡが達成したプレイ条件に関するメッセージのみを閲覧できるようにする。ユーザＡは、メッセージを読むことで、プレイしていたときの臨場感を思い出せる。またゲームプレイ中にメッセージを読まなかったときでも、閲覧画面からあらためてメッセージを読めるようになる。また、達成していないプレイ条件に関するメッセージについては、メッセージを配信したユーザ名のみを表示することで、ユーザＡは、ユーザＢが既にそのプレイ条件をクリアしていることを認識でき、ユーザＡに、その条件を達成しようとするインセンティブを与えることができる。
【００７４】
なお、以上は、ゲーム装置１０ａが、別のゲーム装置１０ｂからメッセージデータ６０ａをダウンロードする場合について説明したが、ゲームメーカが用意したメッセージデータ６０ａをダウンロードしてもよい。またゲームソフトウェア３００にメッセージデータ６０ａが含まれていてもよく、この場合、たとえばゲームソフトウェア３００の初回起動時に、メッセージデータ６０ａは、ゲームソフトウェア３００からハードディスクドライブ３４に読み出されてもよい。ゲームメーカは、たとえばゲームの説明書として利用可能なメッセージデータ６０ａを作成する。ゲーム装置１０のメッセージ出力機能を利用して、システムソフトウェア２００による情報通知を行うことで、ゲームソフトウェア３００に説明書の表示機能を作り込む必要がなく、ソフトウェア開発の工程を省力化できるという利点がある。
【００７５】
図１４は、メッセージ出力処理のフローチャートを示す。ゲームソフトウェア３００において、アプリケーション実行部３０２が、ユーザからのゲームコントローラ４０の操作入力を受けて、ゲームプログラムを実行する（Ｓ３０）。条件達成検出部３０４は、ゲームの進行状況から、ゲームにおいて予め設定されたゲームのプレイ条件が達成されたか検出する（Ｓ３２）。条件達成検出部３０４は、プレイ条件が達成されたことを検出すると（Ｓ３２のＹ）、その条件に対してハードコーディングされているイベントＩＤを取得する。なお、イベントＩＤを取得したことをもって、プレイ条件の達成が検出されてもよい。イベントＩＤ通知部３０６は、取得したイベントＩＤを、メッセージ管理ユーティリティ４００に通知する（Ｓ３４）。なおゲームのプレイ条件が達成されなければ（Ｓ３２のＮ）、イベントＩＤは通知されない。
【００７６】
メッセージ管理ユーティリティ４００において、イベントＩＤ取得部４１０は、通知されたイベントＩＤを取得し、通知判定部４２２に渡す。通知判定部４２２は、渡されたイベントＩＤに、ハードディスクドライブ３４に記憶されたメッセージデータ６０ａのイベントＩＤが一致するものを探索する（Ｓ３６）。イベントＩＤが一致するメッセージデータ６０ａが存在する場合（Ｓ３６のＹ）、メッセージ読出部４２４は、そのイベントＩＤをもつメッセージデータ６０ａをハードディスクドライブ３４から読み出し、表示情報生成部２１２に提供する（Ｓ３８）。なおイベントＩＤが一致するメッセージデータ６０ａが存在しない場合（Ｓ３６のＮ）、メッセージデータ６０ａの読出は行われない。表示情報生成部２１２は、表示領域８０にメッセージを表示する（Ｓ４０）。ゲームが終了するまで（Ｓ４２のＮ）、このメッセージ出力処理は行われ、ゲームが終了すると（Ｓ４２のＹ）、メッセージ出力処理は終了する。
【００７７】
（実施例２）
本発明の実施例２の情報通知システムの概要を説明する。なお、実施例１において、情報処理装置の一例として説明したゲーム装置１０の構成および機能は、実施例２の情報処理装置において同様に含まれてよく、また実施例２において説明する情報処理装置の構成および機能は、実施例１のゲーム装置１０において同様に含まれてよい。
【００７８】
実施例２において、ユーザ（ユーザＡ）の情報処理装置は、予め別のユーザ（ユーザＢ）から配信されたメッセージデータを保持している。このメッセージデータには、メッセージと、メッセージの通知条件とが含まれており、ユーザＡの情報処理装置がおかれている環境などが、通知条件を満たした（達成した）場合に、メッセージがユーザに通知される。
【００７９】
メッセージデータには、時間（Time）、場所（Place）、場合（Occasion）の少なくとも１つの条件が、通知条件として設定されている。以下、時間で指定する条件を「時間条件」、場所を指定する条件を「場所条件」、場合を指定する条件を「イベント条件」と呼ぶ。これらの条件は、メッセージの通知条件を定めるために、単独で用いられても、組み合わせて用いられてもよい。以下、各条件の使用場面を示す。
【００８０】
＜時間条件による通知＞
ユーザＢは、１月１日の午前０時になったことを通知条件とするメッセージデータを、その日時の前にユーザＡの情報処理装置に送信する。ユーザＢは、たとえば「あけましておめでとう」というメッセージを送信する。ユーザＡの情報処理装置は、現在日時が１月１日の午前０時になると、通知条件が満たされたことを判定し、ユーザＡにメッセージを通知する。通知の手法は様々考えられるが、たとえば情報処理装置のディスプレイにメッセージを表示してもよく、また、スピーカからメッセージを音声出力してもよい。
【００８１】
＜場所条件による通知＞
ユーザＢは、あるレストランＣに入店することを通知条件とするメッセージデータを、ユーザＡの情報処理装置に送信する。ユーザＢは、たとえば「このレストランおいしいよ」というメッセージを送信する。ユーザＡの情報処理装置は、たとえばＧＰＳ（Global Positioning System）からの位置情報より、現在位置がレストランＣ内であれば、通知条件が満たされたことを判定し、ユーザＡにメッセージを通知する。
【００８２】
＜イベント条件による通知＞
ユーザＢは、１日で１０ｋｍ歩いたことを通知条件とするメッセージデータを、ユーザＡの情報処理装置に送信する。ユーザＢは、たとえば「今日１０ｋｍ歩いてるよ」というメッセージを送信する。ユーザＡの情報処理装置は、たとえばＧＰＳからの位置情報より１日の移動距離を求め、１０ｋｍ移動していれば、通知条件が満たされたことを判定し、ユーザＡにメッセージを通知する。たとえば、情報処理装置は、所定速度以下で移動したときの距離を導出することで、自動車などでの移動距離を除外し、歩行による移動距離を導出してもよい。
【００８３】
＜組み合わせ条件による通知＞
ユーザＢは、マラソンで２１ｋｍ走ったことを通知条件とするメッセージデータを、ユーザＡの情報処理装置に送信する。ユーザＢは、たとえば「あと半分だよ。がんばって」というメッセージを送信する。マラソンのスタート日時が１０月１０日の１０時であれば、時間条件を「１０月１０日の１０時以降」と設定し、イベント条件を「２１ｋｍ移動したこと」と設定することで、１０月１０日の１０時スタートのマラソンで２１ｋｍ走ったことが通知条件として設定される。ユーザＡの情報処理装置は、ＧＰＳからの位置情報より１０時以降の移動距離を求め、２１ｋｍ移動していれば、通知条件が満たされたことを判定し、ユーザＡにメッセージを通知する。
【００８４】
図１５は、本発明の実施例２にかかる情報通知システム２を示す。情報通知システム２は、ユーザＡに保持される情報処理装置５００ａ、ユーザＢに保持される情報処理装置５００ｂ、およびメッセージデータの配信局５０１を備える。ここでは、情報処理装置５００ｂをメッセージデータの送信端末、情報処理装置５００ａをメッセージデータの受信端末として示している。なお、図１５では、無線通信によりメッセージデータが送受信される情報通知システム２が示されているが、メッセージデータは有線通信により送受信されてもよい。また、情報処理装置５００ａは、ＵＳＢメモリなどのリムーバブルタイプのメモリ装置から、メッセージデータを取得してもよく、その場合、情報処理装置５００ａは、通信機能を有さなくてもよい。なお以下、特に区別しない場合には、情報処理装置５００ａ、情報処理装置５００ｂを「情報処理装置５００」と表現する。以下では、メッセージデータの送受信機能を有する情報処理装置５００を説明する。
【００８５】
図１６は、情報通知システムにおける情報処理装置５００の構成を示す。情報処理装置５００における各機能は、システムソフトウェアおよびメッセージ管理ユーティリティを用いて実現される。情報処理装置５００は、携帯電話など、携帯型の端末装置であってもよいが、据置型の端末装置であってもよい。なお、受信端末として情報処理装置５００を利用する場合、特に携帯型であれば、情報通知システム２における利用場面は増大する。
【００８６】
情報処理装置５００は、入力受付部５１０、状況情報取得部５２０、状況情報通知部５３０、配信処理部５４０、ディスプレイ５５０、出力処理部５６０、通信部５８０および記憶装置５９０を備える。状況情報取得部５２０は、日時情報取得部５２２、場所情報取得部５２４およびイベント情報取得部５２６を有する。配信処理部５４０は、入力領域生成部５４２、メッセージデータ生成部５４４および送信データ生成部５４６を有する。出力処理部５６０は、通知判定部５６２、メッセージ読出部５６４、表示情報生成部５６６およびメッセージデータ取得部５６８を有する。
【００８７】
図１６において、さまざまな処理を行う機能ブロックとして記載される各要素は、ハードウェア的には、ＣＰＵ（Central Processing Unit）、メモリ、その他のＬＳＩで構成することができ、ソフトウェア的には、メモリにロードされたプログラムなどによって実現される。したがって、これらの機能ブロックがハードウェアのみ、ソフトウェアのみ、またはそれらの組合せによっていろいろな形で実現できることは当業者には理解されるところであり、いずれかに限定されるものではない。
【００８８】
記憶装置５９０には、メッセージデータ６００ａおよび／またはメッセージデータ６００ｂが記憶される。以下では、メッセージデータ６００ｂを配信するためのデータ、メッセージデータ６００ａをユーザに通知するためのデータとして説明するが、特に区別しない場合には、メッセージデータ６００ａ、６００ｂを「メッセージデータ６００」と表現する。メッセージデータ６００には、通知条件の種別を特定する条件ＩＤと、通知条件を特定する条件特定情報とが含まれる。
【００８９】
図１７は、条件ＩＤと条件種別との対応テーブルを示す。実施例２では、条件種別として、時間条件、場所条件、イベント条件が用意されており、それぞれに対して条件ＩＤが割り当てられる。
【００９０】
図１８は、メッセージデータ６００のデータフォーマットを示す。メッセージデータ６００には、条件ＩＤ６０２ａ、６０２ｂ（以下、「条件ＩＤ６０２」と呼ぶこともある）、条件特定情報６０４ａ、６０４ｂ（以下、「条件特定情報６０４」と呼ぶこともある）およびメッセージ６０６の各フィールドが設けられる。条件ＩＤ６０２のフィールドには、条件種別を特定するための識別情報が含まれる。条件特定情報６０４のフィールドには、通知条件を特定するための情報が含まれる。たとえば、情報通知システム２において予め用意された通知条件が存在する場合に、各通知条件に対して識別番号（ＩＤ）が割り当てられて、その通知条件ＩＤが条件特定情報６０４として利用されてもよい。
【００９１】
図示の例では、２つの通知条件が含まれている。なお、条件ＩＤ６０２ａ、条件ＩＤ６０２ｂは、たとえば時間条件とイベント条件など、異種の条件を特定するＩＤであってもよいが、両者とも同種の条件を特定するＩＤであってもよい。条件ＩＤ６０２および条件特定情報６０４の組み合わせは、通知条件の数だけメッセージデータ６００に含められる。
【００９２】
メッセージ６０６のフィールドには、ユーザにより入力されたメッセージが含まれる。なお、図４に示した属性６６などの情報がメッセージデータ６００に含まれてもよい。
【００９３】
図１５において、情報処理装置５００ｂが、メッセージの配信処理を行い、情報処理装置５００ａが、メッセージの出力処理を行う情報通知システム２を示した。この例にしたがい、以下では、情報処理装置５００ｂより配信されたメッセージデータを、情報処理装置５００ａが取得して出力する情報通知システム２を説明する。
【００９４】
＜メッセージの配信処理＞
情報処理装置５００ｂにおいて、入力受付部５１０が、ユーザＢによる入力インタフェース装置からの操作入力を受け付ける。入力受付部５１０が、メッセージの入力指示を受け付けると、配信処理部５４０にメッセージの入力処理を指示する。配信処理部５４０において、入力領域生成部５４２は、メッセージの入力領域を生成して、ディスプレイ５５０に表示する。
【００９５】
図１９（ａ）は、ディスプレイ５５０に表示される入力フォーマットの一例を示す。この入力フォーマットは、通知条件を特定するためのタブ６１０、添付ファイルを定めるためのタブ６１１、メッセージ本文の入力画面を開くためのタブ６１２を含む。ユーザＢは、入力インタフェース装置を操作することで、各タブを選択し、必要な情報を入力する。
【００９６】
タブ６１０が操作されると、ディスプレイ５５０に図１９（ｂ）に示す条件設定画面が表示される。条件設定画面には、通知条件を設定するための情報が表示される。条件設定画面には、時間タブ６２０、ＡＮＤ／ＯＲ選択領域６２１、場所タブ６２２、ＡＮＤ／ＯＲ選択領域６２３およびイベントタブ６２４が設定される。
【００９７】
時間タブ６２０が操作されると、ディスプレイ５５０に図２０（ａ）に示す時間条件設定画面が表示される。時間条件設定画面には、時間条件を設定するための選択肢が表示される。なお、＊で表現している箇所には、ユーザより数字や曜日などが入力される。
【００９８】
「＊月＊日：＊時＊分」は、通知日時を特定する場合に選択される。「＊月＊日：＊時＊分〜＊月＊日：＊時＊分」は、通知期間を特定する場合に選択される。「毎＊曜日」は、通知曜日を特定する場合に選択される。「毎日」は、通知日を毎日とする場合に選択される。「＊時＊分」は、「毎＊曜日」または「毎日」が選択された場合に、通知時刻を特定する場合に選択される。
【００９９】
場所タブ６２２が操作されると、ディスプレイ５５０に図２０（ｂ）に示す場所条件設定画面が表示される。場所条件設定画面には、緯度、経度で特定される場所条件を設定するための選択肢が表示される。「現在地」、「登録地Ａ」、「登録地Ｂ」などの他に、住所を入力するための入力領域も表示される。「現在地」が選択された場合、情報処理装置５００において、場所情報取得部５２４が、ＧＰＳから、緯度、経度で特定される現在地情報を取得する。また、住所が入力された場合には、たとえば地図サーバなどに問い合わせて、その住所の緯度、経度情報が取得されてもよい。
【０１００】
イベントタブ６２４タブが操作されると、ディスプレイ５５０に、イベント条件を設定するための入力領域が表示される。たとえばディスプレイ５５０にソフトウェアキーボードが用意され、ユーザは、ソフトウェアキーボードを用いて入力領域にイベント条件を入力する。受信側の情報処理装置５００ａは、イベント条件の解読機能を備えて構成され、これにより入力されたイベント条件が、情報処理装置５００ａにおいて処理可能な情報に変換される。なお、典型的なイベント条件については、情報通知システム２において予め用意され、テンプレート（条件リスト）としてユーザに提示されるようにしてもよい。このとき、条件リストの各条件には、情報通知システム２において使用されるＩＤが設定され、このＩＤにより条件が特定されるようにしてもよい。
【０１０１】
ＡＮＤ／ＯＲ選択領域６２１、６２３は、各条件の関係を示す論理演算子を設定する領域である。なお、条件が設定されていない場合には、その条件の上側にある論理演算子は、無視されるようにしてもよい。たとえば場所条件が設定されていない場合には、ＡＮＤ／ＯＲ選択領域６２１で設定される論理演算子は、通知条件の決定に影響を及ぼさない。時間条件およびイベント条件が設定され、ＡＮＤ／ＯＲ選択領域６２３がＡＮＤに設定されている場合には、ＡＮＤ／ＯＲ選択領域６２１の設定にかかわらず、時間条件とイベント条件との論理積が、通知条件として設定される。
【０１０２】
図１９（ａ）に戻って、タブ６１１が操作されると、メッセージに添付するコンテンツの選択画面が表示される。ユーザＢは、写真や音楽など、ユーザＡに送りたいコンテンツを選択できる。
【０１０３】
タブ６１２が操作されると、メッセージの入力画面が表示される。ユーザＢは、ユーザインタフェース装置や、たとえばソフトウェアキーボードを用いて、自由にメッセージを入力する。なおタブ６１２が操作されたとき、音声メッセージが入力できるようにしてもよい。
【０１０４】
図１６に戻って、入力受付部５１０は、ユーザから入力されたメッセージ、および通知条件などの付加情報を受け付け、メッセージデータ生成部５４４に渡す。メッセージデータ生成部５４４は、メッセージおよび付加情報を用いて、図１８に示すデータフォーマットで、メッセージデータを生成する。コンテンツを添付する場合には、図１８に示すデータフォーマットに、コンテンツのフィールドが追加される。またメッセージの属性情報を含める場合には、属性情報のフィールドが追加される。メッセージデータ生成部５４４は、生成したメッセージデータ６００ｂを記憶装置５９０に格納する。
【０１０５】
記憶装置５９０には、メッセージデータ６００ｂを配信する宛先となる情報処理装置５００ａを特定する情報が予め格納されている。送信データ生成部５４６は、所定のタイミングで、記憶装置５９０に格納されたメッセージデータ６００ｂに、宛先情報を付加した送信データを生成する。通信部５８０は、生成された送信データを配信局５０１に送信し、配信局５０１は情報処理装置５００ａに送信する。
【０１０６】
図２１は、メッセージ生成処理のフローチャートを示す。入力受付部５１０が、メッセージの入力指示を受け付けると、入力領域生成部５４２が、メッセージの入力領域を生成して、ディスプレイ５５０に表示する（Ｓ６０）。入力受付部５１０は、入力された通知条件を受け付け（Ｓ６２）、また入力されたメッセージを受け付けると（Ｓ６４）、メッセージデータ生成部５４４に渡す。メッセージデータ生成部５４４は、図１８に示すフォーマットで、メッセージデータ６００ｂを生成する（Ｓ６６）。生成されたメッセージデータ６００ｂは、ユーザＡの情報処理装置５００ａに送信される。
【０１０７】
＜メッセージの出力処理＞
情報処理装置５００ａにおいて、通信部５８０は、配信局５０１にアクセスして、自機宛てのメッセージデータの配信を要求する。配信局５０１は、メッセージデータを保持する場合、通信部５８０に送信する。なお、配信局５０１は、情報処理装置５００ａ宛てのメッセージデータを受信すると、すぐに情報処理装置５００ａに転送してもよい。メッセージデータ取得部５６８は、通信部５８０を介してメッセージデータ６００ａを取得し、記憶装置５９０に格納する。これにより、情報処理装置５００ａの状況に応じたメッセージをユーザに提示するための環境が整えられる。
【０１０８】
状況情報取得部５２０は、情報処理装置５００ａの状況情報を取得する。状況情報は、情報処理装置５００ａの現在の環境情報や周囲の環境情報を含み、また情報処理装置５００ａの状態情報や稼働情報などを含む。
【０１０９】
日時情報取得部５２２が、時計機能などから、現在の日時情報、すなわち現在の年月日と時間情報を取得する。また場所情報取得部５２４は、ＧＰＳなどにより現在の場所情報を取得する。イベント情報取得部５２６は、情報処理装置５００ａに発生しているイベント情報を取得する。イベント情報取得部５２６は、たとえば情報処理装置５００ａが移動中であることや、バッテリ残量が少ないことなど、情報通知システム２でイベントとして設定されている状況を取得する。以下、日時情報、場所情報およびイベント情報を、まとめて状況情報と呼ぶこともある。日時情報取得部５２２、場所情報取得部５２４およびイベント情報取得部５２６は、取得した情報を、それぞれ状況情報通知部５３０に渡す。
【０１１０】
日時情報取得部５２２、場所情報取得部５２４およびイベント情報取得部５２６の機能は、それぞれアプリケーションソフトウェアにより実現されてもよい。たとえば、日時情報取得部５２２は、現在時刻の分が００分、３０分になると日時情報を状況情報通知部５３０に渡す条件を設定されたアプリケーションであってよい。場所情報取得部５２４は、ＧＰＳ情報より、別の市に移動したことが判定されたときに、場所情報を状況情報通知部５３０に渡す条件を設定されたアプリケーションであってよい。イベント情報取得部５２６は、イベントが発生したこと、たとえばバッテリ残量が所定量を下回ったことが判定されたときに、イベント情報を状況情報通知部５３０に渡す条件を設定されたアプリケーションであってよい。なお、日時情報取得部５２２、場所情報取得部５２４およびイベント情報取得部５２６は、取得した情報を、それぞれ定期的に状況情報通知部５３０に渡すアプリケーションであってもよい。
【０１１１】
状況情報通知部５３０は、状況情報取得部５２０から情報を渡されると、その情報を通知判定部５６２に通知する。すなわち状況情報通知部５３０は、状況情報取得部５２０において設定された条件が達成された場合に、状況情報を通知判定部５６２に通知する。なお、状況情報通知部５３０は、日時情報取得部５２２、場所情報取得部５２４およびイベント情報取得部５２６より、それぞれ異なるタイミングで情報を取得するため、それらをまとめて所定のタイミング（たとえば定期的に）通知判定部５６２に状況情報を通知するようにしてもよい。
【０１１２】
通知判定部５６２は、取得した状況情報が、記憶装置５９０に記憶されたメッセージデータ６００ａの条件特定情報で特定される通知条件を満たしているか判定する。たとえば、「１月１日の午前０時」になったことを通知条件とするメッセージデータ６００ａが記憶装置５９０に記憶されている場合、通知判定部５６２は、状況情報通知部５３０から渡される日時情報が「１月１日の午前０時」であれば、通知条件が達成されたことを判定する。このとき通知判定部５６２は、メッセージデータ６００ａに含まれる条件ＩＤ６０２を参照して、メッセージデータ６００ａに設定されている通知条件の種別を特定し、取得した状況情報と対比することが好ましい。たとえば、上記例では、時間条件のみが通知条件とされており、通知判定部５６２は、時間条件以外の条件を比較する必要がない。条件ＩＤ６０２を有効に利用することで、判定時間を短縮することができる。
【０１１３】
「緯度Ｘ、経度Ｙ」のレストランＣに入ることを通知条件とするメッセージデータ６００ａが記憶装置５９０に記憶されている場合、通知判定部５６２は、状況情報通知部５３０から渡される場所情報が「緯度Ｘ、経度Ｙ」であれば、通知条件が達成されたことを判定する。また、１０ｋｍ歩いたことを通知条件とするメッセージデータ６００ａが記憶装置５９０に記憶されている場合、通知判定部５６２は、状況情報通知部５３０から渡されるイベント情報が移動距離１０ｋｍを超えたことを示す場合に、通知条件が達成されたことを判定する。
【０１１４】
通知判定部５６２によりメッセージデータ６００ａの通知条件が達成されたことが判定されると、メッセージ読出部５６４は、条件が達成されたメッセージデータ６００ａを記憶装置５９０から読み出して、表示情報生成部５６６に供給する。表示情報生成部５６６は、メッセージを通知する通知部として機能し、具体的には、メッセージ読出部５６４から読み出されたメッセージを、ディスプレイ５５０に表示する表示情報を生成する。
【０１１５】
図２２は、メッセージ出力処理のフローチャートを示す。通知判定部５６２が、状況情報通知部５３０から状況情報を取得する（Ｓ８０）。通知判定部５６２は、取得した状況情報が、記憶装置５９０に記憶されたメッセージデータ６００ａの通知条件を満たしているか判定する（Ｓ８２）。状況情報により、条件特定情報で特定される通知条件が満足される場合（Ｓ８２のＹ）、メッセージ読出部５６４は、対応するメッセージデータ６００ａを記憶装置５９０から読み出し、表示情報生成部５６６に提供する（Ｓ８４）。なお状況情報により、通知条件が満足されない場合（Ｓ８２のＮ）、メッセージデータ６００ａの読出は行われない。表示情報生成部５６６は、ディスプレイ５５０にメッセージを表示する（Ｓ８６）。なお、メッセージが音声である場合には、図示しない音声出力部から音声が通知される。
【０１１６】
以下、実施例２における属性情報について説明する。属性情報は、メッセージデータ６００に含まれ、メッセージ６０６の属性を特定する。この属性情報は、一度読み出したメッセージデータ６００を、開封済み、未開封、削除のいずれかの状態に設定することを定めるものである。属性情報は、メッセージの配信ユーザＢにより設定される。
【０１１７】
属性情報により、削除することが定められる場合、メッセージ読出部５６４は、読み出したメッセージデータ６００ａを、記憶装置５９０から削除する。これにより、同じメッセージデータ６００ａが、通知条件が満たされるたびに表示される状況を回避する。
【０１１８】
属性情報により、開封済みとすることが定められる場合、メッセージ読出部５６４は、読み出したメッセージデータ６００ａに、開封済みフラグを設定する。開封済みフラグが設定されたメッセージデータ６００ａは、次回、通知条件が満たされた場合であっても、メッセージ読出部５６４により読み出されず、ユーザに通知されない。
【０１１９】
一方、属性情報により、未開封とすることが定められる場合、メッセージ読出部５６４は、読み出したメッセージデータ６００ａであっても、開封済みフラグを設定しない。開封済みフラグが設定されていないメッセージデータ６００ａは、次回、通知条件が満たされると、メッセージ読出部５６４により読み出されて、ユーザに通知される。
【０１２０】
なお情報処理装置５００が、実施例１で説明したメッセージの閲覧機能を有する場合に、開封済みフラグが設定されたメッセージは閲覧可能に表示され、設定されていないメッセージは閲覧不能とされてもよい。
【０１２１】
なお、メッセージデータ生成部５４４が、メッセージの通知条件に応じて、属性情報を設定してもよい。たとえば図２０（ａ）の時間条件設定画面において、「毎＊曜日」、「毎日」などで時間条件が設定されている場合には、メッセージを複数回通知することが前提となっているため、メッセージデータ６００ａを削除することは好ましくなく、また開封済みとすることも好ましくない。したがって、メッセージデータ生成部５４４は、読み出し後、未開封とする属性情報を自動設定する。一方で、「＊月＊日：＊時＊分」、「＊月＊日：＊時＊分〜＊月＊日：＊時＊分」などで時間条件が設定されている場合には、メッセージを１度通知できればよいので、メッセージデータ生成部５４４は、読み出し後、開封済み、または削除とする属性情報を自動設定する。たとえば、「＊月＊日：＊時＊分」、「＊月＊日：＊時＊分〜＊月＊日：＊時＊分」などの時間条件が設定されている場合は、ユーザによる属性情報を受け付けず、メッセージデータ生成部５４４が、強制的に開封済み、または削除とする属性情報を設定するようにしてもよい。
【０１２２】
以上、本発明を複数の実施例をもとに説明した。これらの実施例は例示であり、それらの各構成要素や各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。実施例１および実施例２について説明したが、それぞれの実施例の内容を組み合わせることで、より効果的なメッセージの通知制御を実現できる。
【符号の説明】
【０１２３】
１・・・ゲームシステム、２・・・情報通知システム、１０・・・ゲーム装置、１２・・・表示機器、１８・・・メッセージ提供サーバ、３４・・・ハードディスクドライブ、４０・・・ゲームコントローラ、６０・・・メッセージデータ、７０・・・入力領域、８０・・・表示領域、２００・・・システムソフトウェア、２１０・・・表示処理部、２１２・・・表示情報生成部、２１４・・・入力領域生成部、２２０・・・入力受付部、３００・・・ゲームソフトウェア、３０２・・・アプリケーション実行部、３０４・・・条件達成検出部、３０６・・・イベントＩＤ通知部、４００・・・メッセージ管理ユーティリティ、４１０・・・イベントＩＤ取得部、４２０・・・出力処理部、４２２・・・通知判定部、４２４・・・メッセージ読出部、４２６・・・メッセージデータ取得部、４４０・・・配信処理部、４４２・・・指示部、４４４・・・メッセージデータ生成部、４４６・・・送信データ生成部、４６０・・・通信部、５００・・・情報処理装置、５０１・・・配信局、５１０・・・入力受付部、５２０・・・状況情報取得部、５２２・・・日時情報取得部、５２４・・・場所情報取得部、５２６・・・イベント情報取得部、５３０・・・状況情報通知部、５４０・・・配信処理部、５４２・・・入力領域生成部、５４４・・・メッセージデータ生成部、５４６・・・送信データ生成部、５５０・・・ディスプレイ、５６０・・・出力処理部、５６２・・・通知判定部、５６４・・・メッセージ読出部、５６６・・・表示情報生成部、５６８・・・メッセージデータ取得部、５８０・・・通信部、５９０・・・記憶装置、６００・・・メッセージデータ。
【図１】
0005562123.tif 000002
【図２】
0005562123.tif 000003
【図３】
0005562123.tif 000004
【図４】
0005562123.tif 000005
【図５】
0005562123.tif 000006
【図６】
0005562123.tif 000007
【図７】
0005562123.tif 000008
【図８】
0005562123.tif 000009
【図９】
0005562123.tif 000010
【図１０】
0005562123.tif 000011
【図１１】
0005562123.tif 000012
【図１２】
0005562123.tif 000013
【図１３】
0005562123.tif 000014
【図１４】
0005562123.tif 000015
【図１５】
0005562123.tif 000016
【図１６】
0005562123.tif 000017
【図１７】
0005562123.tif 000018
【図１８】
0005562123.tif 000019
【図１９】
0005562123.tif 000020
【図２０】
0005562123.tif 000021
【図２１】
0005562123.tif 000022
【図２２】
0005562123.tif 000023