情報処理装置
【課題】メッセージを効果的にユーザに通知する技術を提供する。
【解決手段】情報処理装置500において、メッセージデータ取得部568は、メッセージと、メッセージの通知条件とを含むメッセージデータを取得する。記憶装置590は、取得したメッセージデータを記憶する。状況情報取得部520は、当該情報処理装置500の状況情報を取得する。通知判定部562は、取得した状況情報が、記憶装置590に記憶されたメッセージデータの通知条件を満たしているか判定する。通知判定部562により状況情報が通知条件を満たしていることが判定された場合に、表示情報生成部566はメッセージを通知する。
【解決手段】情報処理装置500において、メッセージデータ取得部568は、メッセージと、メッセージの通知条件とを含むメッセージデータを取得する。記憶装置590は、取得したメッセージデータを記憶する。状況情報取得部520は、当該情報処理装置500の状況情報を取得する。通知判定部562は、取得した状況情報が、記憶装置590に記憶されたメッセージデータの通知条件を満たしているか判定する。通知判定部562により状況情報が通知条件を満たしていることが判定された場合に、表示情報生成部566はメッセージを通知する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ユーザにメッセージを提供する技術に関する。
【背景技術】
【0002】
ユーザ間でメッセージを送受信するシステムの代表格に、電子メールシステムがある。電子メールシステムでは、ユーザから送信された電子メールをSMTP(Simple Mail Transfer Protocol)サーバがPOP(Post Office Protocol)サーバに転送する。POPサーバは、転送された電子メールを蓄積し、電子メールを受信するユーザは、POPサーバにアクセスすることで、電子メールを取得する。またリアルタイムにユーザ端末間でメッセージを送受信するシステムに、チャットシステムがある。チャットシステムでは、ユーザ端末がチャットサーバに接続することで、参加者より入力されたメッセージがリアルタイムに表示され、またユーザ端末から参加者にメッセージを送信できる。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】米国特許第6563999号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
電子メールシステムでは、ユーザがPOPサーバにアクセスすることがメッセージ取得の契機となるため、情報伝達の即時性は、チャットシステムより劣る。一方、チャットシステムは、情報伝達の即時性の観点からは優れたツールであるが、インターネットなどを介してチャットサーバにオンライン接続していなければ、メッセージの提供を受けることができない。そこで、オンライン接続しなくても、状況に応じた即時性をともなってメッセージの提供を受けられるシステムの開発が望まれる。
【0005】
そこで本発明は、メッセージを効果的にユーザに通知する技術を提供することを目的とする。
【課題を解決するための手段】
【0006】
上記課題を解決するために、本発明のある態様は、情報処理装置に関する。この態様の情報処理装置は、メッセージと、メッセージの通知条件とを含むメッセージデータを取得するメッセージデータ取得部と、取得したメッセージデータを記憶する記憶装置と、当該情報処理装置の状況情報を取得する状況情報取得部と、取得した状況情報が、記憶装置に記憶されたメッセージデータの通知条件を満たしているか判定する通知判定部と、通知判定部により、状況情報が通知条件を満たしていることが判定された場合に、メッセージを通知する通知部と、を備える。
【0007】
なお、以上の構成要素の任意の組合せ、本発明の表現を方法、装置、システム、記録媒体、コンピュータプログラムなどの間で変換したものもまた、本発明の態様として有効である。
【発明の効果】
【0008】
本発明によると、メッセージを効果的にユーザに通知する技術を実現できる。
【図面の簡単な説明】
【0009】
【図1】本発明の実施例1にかかるゲームシステムを示す図である。
【図2】ゲーム装置のハードウェアブロックを示す図である。
【図3】メッセージの管理処理を実行するゲームシステムの機能ブロックを示す図である。
【図4】メッセージデータのデータフォーマットを示す図である。
【図5】ゲーム装置の詳細構成を示す図である。
【図6】イベントIDと、プレイ条件とを対応付けたイベントテーブルの一例を示す図である。
【図7】ゲーム画面の一例を示す図である。
【図8】ゲーム画面に重畳表示される入力領域を示す図である。
【図9】(a)は、入力フォーマットの一例を示す図であり、(b)は、イベント決定画面の一例を示す図であり、(c)は、属性決定画面の一例を示す図である。
【図10】メッセージ生成処理のフローチャートを示す図である。
【図11】ゲーム画面に重畳表示される表示領域を示す図である。
【図12】ゲーム画面に重畳表示される表示領域の別の例を示す図である。
【図13】メッセージの閲覧画面の一例を示す図である。
【図14】メッセージ出力処理のフローチャートを示す図である。
【図15】本発明の実施例2にかかる情報通知システムを示す図である。
【図16】情報処理装置の構成を示す図である。
【図17】条件IDと条件種別との対応テーブルを示す図である。
【図18】メッセージデータのデータフォーマットを示す図である。
【図19】(a)は、入力フォーマットの一例を示す図であり、(b)は、条件設定画面の一例を示す図である。
【図20】(a)は、時間条件設定画面の一例を示す図であり、(b)は、場所条件設定画面の一例を示す図である。
【図21】メッセージ生成処理のフローチャートを示す図である。
【図22】メッセージ出力処理のフローチャートを示す図である。
【発明を実施するための形態】
【0010】
(実施例1)
まず、本発明の実施例1の概要を説明する。実施例1にかかるゲームシステムでは、ユーザ(ユーザA)がゲームプレイ中に、ゲームソフトウェアにより予め設定された条件(以下、「プレイ条件」または「ゲームプレイ条件」と呼ぶこともある)を達成すると、ハードディスクドライブ(HDD)やフラッシュメモリなどの記憶装置に予め記憶されているメッセージのうち、クリアしたプレイ条件に応じたメッセージがシステムソフトウェアによりゲーム画面上に表示される。プレイ条件は、たとえばレーシングゲームにおいて特別なレースで優勝することや、格闘ゲームにおいて特定の敵キャラクタを倒すことなど、ゲームソフトウェアにより適宜設定される。また、特定の敵キャラクタに倒されたことなど、本来はユーザに望ましくない結果などに対して、プレイ条件が設定されていてもよい。
【0011】
記憶装置に記憶されているメッセージは、ユーザAによるゲームプレイ前に、別のユーザ(ユーザB)が同じゲームのプレイ条件を達成した際に生成したものである。たとえば、ユーザBは、プレイ条件をクリアしたときの感想や、応援メッセージなどを生成する。ユーザBのゲーム装置は、メッセージと、クリアしたプレイ条件を特定する付加情報とを対応付けたデータを、たとえばユーザBがゲームプレイを終了した時点で、ユーザAのゲーム装置に送信する。このようにして、ユーザAの記憶装置に、ユーザBが作成したメッセージが蓄積される。ユーザAの記憶装置には、さらに別のユーザが作成したメッセージが蓄積されてもよい。ユーザAのゲームプレイ中に、同一プレイ条件を達成したときに生成されたユーザBのメッセージをユーザAに通知することで、プレイ状況にマッチしたメッセージを提供できる。これによりユーザAのゲーム装置がオフラインであっても、ユーザBとあたかも一緒にゲームをしているような環境を提供でき、メッセージ伝達の即時性を実現できる。
【0012】
なお、ユーザAに対して、ゲームメーカなどにより作成されたメッセージデータが提供されてもよい。メッセージは、チュートリアルやガイダンスなどの説明書として利用されてもよい。
【0013】
図1は、本発明の実施例1にかかるゲームシステムを示す。ゲームシステム1は、ゲームコントローラ40と、ゲームプログラムを実行するゲーム装置10aと、ゲーム装置10aによる処理結果を画像出力する表示機器12とを備える。ゲームコントローラ40は、ユーザにゲーム装置10aへの操作入力を行わせる入力インタフェース装置である。ゲームコントローラ40は、無線により操作入力を送信するものであってもよく、またケーブルでゲーム装置10aに接続されるものであってもよい。表示機器12はスピーカを有するテレビであってよい。表示機器12は、ゲーム装置10aに有線ケーブルで接続されてよく、また無線LAN(Local Area Network)などにより無線接続されてもよい。ゲーム装置10はルータ15を介して、ネットワーク16に接続するメッセージ提供サーバ18と通信可能に接続されており、所望のデータを送受信できる。
【0014】
メッセージ提供サーバ18は、ゲーム装置10aに対して、別のゲーム装置10bで生成されたメッセージを提供する。このメッセージには、ゲーム装置10bで達成されたプレイ条件を特定する情報が付加されている。ゲーム装置10aでは、ユーザがゲームソフトウェアにより予め設定されたプレイ条件をクリアすると、その条件に応じたメッセージを抽出して、表示機器12に表示する。なお提供されるメッセージは音声であってもよく、その場合ゲーム装置10aは、スピーカからメッセージを音声出力する。これにより、ゲームのプレイ状況に即した即時性の高いメッセージの通知が実現される。なお以下、特に区別しない場合には、ゲーム装置10a、ゲーム装置10bを「ゲーム装置10」と表現する。ゲーム装置10は、ゲーム専用機であってもよいが、エミュレータをインストールしてゲーム装置として動作するコンピュータであってもよい。
【0015】
図2は、ゲーム装置10のハードウェアブロック図を示す。ゲーム装置10は、電源ボタン20、LED22、システムコントローラ24、デバイスコントローラ30、メディアドライブ32、ハードディスクドライブ34、スイッチ36、無線インタフェース38、メインコントローラ100、メインメモリ102および出力処理部104を有して構成される。
【0016】
電源ボタン20は、ユーザからの操作入力が行われる入力部であって、ゲーム装置10への電源供給をオンまたはオフするために操作される。LED22は、電源のオンまたはオフの状態を点灯表示する。システムコントローラ24は、電源ボタン20の押下状態または非押下状態を検出し、電源オフの状態から押下状態への状態遷移を検出すると、メインコントローラ100を起動して、オペレーティングシステムのブートシーケンスを立ち上げるとともに、LED22を点灯制御する。ゲーム装置10に電源ケーブルが差し込まれている場合、システムコントローラ24は、電源オフの状態であってもスタンバイモードを維持して、電源ボタン20の押下を監視する。
【0017】
デバイスコントローラ30は、サウスブリッジのようにデバイス間の情報の受け渡しを実行するLSI(Large-Scale Integrated Circuit)として構成される。図示のように、デバイスコントローラ30には、システムコントローラ24、メディアドライブ32、ハードディスクドライブ34、スイッチ36およびメインコントローラ100などのデバイスが接続される。デバイスコントローラ30は、それぞれのデバイスの電気特性の違いやデータ転送速度の差を吸収し、データ転送のタイミングを制御する。ハードディスクドライブ34は、内蔵ハードディスクを駆動して、データの書込/読出を行う。内蔵ハードディスクは、データを記憶する記憶装置として機能する。メディアドライブ32は、ゲームソフトウェアを記録した読出専用の記録媒体50が装着されると、記録媒体50を駆動して認識し、記録媒体50から必要なデータを読み出すドライブ装置である。記録媒体50は、光ディスクや光磁気ディスクなどのメディアであってよい。
【0018】
スイッチ36は、イーサネットスイッチ(イーサネットは登録商標)であって、外部の機器と有線または無線で接続して、データの送受信を行うデバイスである。スイッチ36は、ネットワーク16を介して、メッセージ提供サーバ18との間でメッセージデータを送受信する。またスイッチ36は無線インタフェース38に接続し、無線インタフェース38は、Bluetooth(登録商標)プロトコルやIEEE802.11プロトコルなどの通信プロトコルで無線通信機能をもつゲームコントローラ40と接続する。ゲームコントローラ40に入力されたユーザの操作情報は、無線インタフェース38、スイッチ36、デバイスコントローラ30を通じてメインコントローラ100に供給される。
【0019】
メインコントローラ100は、マルチコアCPUを備え、1つのCPUの中に1つの汎用的なプロセッサコアと、複数のシンプルなプロセッサコアを有する。汎用プロセッサコアはPPU(Power Processing Unit)と呼ばれ、残りのプロセッサコアはSPU(Synergistic-Processing Unit)と呼ばれる。メインコントローラ100では、ゲーム装置10を効率よく使用するための機能、環境を提供し、装置全体を統括的に制御するオペレーティングシステム(以下、単に「OS(Operating System)」と呼ぶ)が実行される。本実施例におけるゲーム装置10のOS階層は、上位から、ユーザ層、カーネル(Kernel)層、ハイパーバイザ(Hypervisor)層の3階層をとり、ユーザ層、カーネル層とハイパーバイザ層のソフトウェアが一体となって、ゲーム装置10の「OS」として機能する。
【0020】
電源ボタン20により電源投入されると、システムコントローラ24は、デバイスコントローラ30を経由して、メインコントローラ100および出力処理部104に電源を供給する。メインコントローラ100に電源が供給されると、PPUは、まずOSのブートローダを実行して、ハイパーバイザ層を起動する。つづいて、PPUは、OSのカーネル層を起動し、さらにユーザ層を起動して、ハードディスクドライブ34または記録媒体50から供給されるデータの受入態勢を整える。これにより、メインコントローラ100は、ゲームプログラムを実行できる。
【0021】
メインコントローラ100は、メインメモリ102に接続するメモリコントローラを備える。PPUはレジスタを有し、演算実行主体としてメインプロセッサを備えて、実行するアプリケーションにおける基本処理単位としてのタスクを各SPUに効率的に割り当てる。なお、PPU自身がタスクを実行してもよい。SPUはレジスタを有し、演算実行主体としてのサブプロセッサとローカルな記憶領域としてのローカルメモリを備える。メインメモリ102およびローカルメモリは、RAM(ランダムアクセスメモリ)として構成される。SPUは制御ユニットとして専用のDMA(Direct Memory Access)コントローラをもち、メインメモリ102とローカルメモリの間のデータ転送を行うことで、データを高速にストリーム処理でき、また出力処理部104に内蔵されるフレームメモリとローカルメモリの間で高速なデータ転送を実現できる。
【0022】
出力処理部104は、表示機器12に接続されて、アプリケーションの処理結果である映像信号および音声信号を出力する。出力処理部104は、画像処理機能を実現するGPU(Graphics Processing Unit)を備える。GPUは、HDMI(High Definition Multimedia Interface)を採用し、映像信号をデジタル出力できる。
【0023】
ゲームシステム1において、ゲーム装置10は、メッセージを配信する機能を備えた情報処理装置としての側面、配信されたメッセージをユーザに出力する機能を備えた情報処理装置としての側面をもつ。図1においては、ゲーム装置10bがメッセージを配信し、ゲーム装置10aがメッセージをユーザに通知するとしたが、1つのゲーム装置10が、双方の側面を併せ持って構成されている。ゲーム装置10の機能は、ゲームソフトウェア、システムソフトウェアおよびメッセージ管理ユーティリティによって実現される。
【0024】
なお、本実施例において、ゲームシステム1は情報通知システムの例示である。すなわち、本実施例で説明するゲーム装置10の処理機能は、ゲームに限らず、他のアプリケーションを実行する情報処理装置に適用できる。情報処理装置では、システムソフトウェア、アプリケーションソフトウェアおよびメッセージ管理ユーティリティが実行される。以下、情報処理装置の一例として、システムソフトウェア、ゲームソフトウェアおよびメッセージ管理ユーティリティにより実現されるゲーム装置10の処理機能を説明する。
【0025】
ゲーム装置10のメッセージ配信機能の概要を説明する。ゲームソフトウェアは、ユーザによるゲームの進行状況において、予め設定したゲームのプレイ条件の達成を検出すると、ゲーム装置10にインストールされているメッセージ管理ユーティリティを呼び出し、達成された条件を特定する条件特定情報をメッセージ管理ユーティリティに通知する。ゲームプログラムには、この処理がハードコーディングされている。メッセージ管理ユーティリティは、システムソフトウェアに、メッセージの入力領域の生成を指示する。システムソフトウェアは、指示を受けると、ゲーム画面にメッセージの入力領域を生成する。ユーザがメッセージを入力すると、システムソフトウェアが、入力されたメッセージをメッセージ管理ユーティリティに渡し、メッセージ管理ユーティリティは、メッセージと、達成されたゲームのプレイ条件を特定する付加情報とを含めたメッセージデータを生成して、ハードディスクドライブ34に保存する。メッセージ管理ユーティリティは、送信先となるゲーム装置および/またはメッセージ提供サーバ18を宛先として指定するヘッダをメッセージデータに付加して送信データを生成し、所定のタイミングでメッセージ提供サーバ18に送信する。
【0026】
次に、ゲーム装置10のメッセージ出力機能の概要を説明する。メッセージ管理ユーティリティは、所定のタイミングでメッセージ提供サーバ18から、自分宛のメッセージデータをダウンロードし、ハードディスクドライブ34に格納しておく。ゲームソフトウェアは、ユーザによるゲームの進行状況において、予め設定したゲームのプレイ条件の達成を検出すると、ゲーム装置10にインストールされているメッセージ管理ユーティリティを呼び出し、達成された条件を特定する条件特定情報をメッセージ管理ユーティリティに通知する。ゲームプログラムには、この処理がハードコーディングされている。メッセージ管理ユーティリティは、達成されたゲームのプレイ条件を特定する条件特定情報を取得すると、取得した条件特定情報に対応する付加情報を含むメッセージデータのメッセージをハードディスクドライブ34から読み出し、システムソフトウェアに、メッセージの表示を指示する。システムソフトウェアは、指示を受けると、ゲーム画面にメッセージの表示情報を生成する。別のユーザが同じ条件の達成時に作成したメッセージをゲーム画面に表示することで、ゲームをオフラインで実行している場合であっても、あたかも別のユーザと同じタイミングでゲームを実行しているような臨場感のあるメッセージを提供することが可能となる。
【0027】
図3は、メッセージの管理処理を実行するゲームシステム1の機能ブロック図を示す。ゲーム装置10は、システムソフトウェア200、ゲームソフトウェア300およびメッセージ管理ユーティリティソフトウェア(以下、「メッセージ管理ユーティリティ」)400を実行する。システムソフトウェア200は、オペレーティングシステム(OS)であって、GUI(グラフィカルユーザインタフェース)を用いた表示処理機能などをもつ。メッセージ管理ユーティリティ400は、ゲームシステム1におけるメッセージの配信機能および出力機能を補助する役割をもつ。
【0028】
<メッセージ取得機能>
ゲームソフトウェア300は、その起動時にメッセージ管理ユーティリティ400から「メッセージ取得機能」を呼び出す。メッセージ取得機能は、メッセージ出力機能の一部を構成する。これにより、メッセージ管理ユーティリティ400は、スイッチ36を介してメッセージ提供サーバ18にメッセージ取得要求を送信し、メッセージ提供サーバ18は、当該ゲーム装置10宛てのメッセージデータを有していれば、ゲーム装置10に対してメッセージデータを送信する。メッセージ管理ユーティリティ400は、受信したメッセージデータ60aをハードディスクドライブ34に格納する。
【0029】
<メッセージ入力機能>
ゲームソフトウェア300は、ゲームのプレイ条件達成時に、メッセージ管理ユーティリティ400から「メッセージ入力機能」を呼び出す。メッセージ入力機能は、メッセージ配信機能の一部を構成する。これにより、メッセージ管理ユーティリティ400は、システムソフトウェア200にメッセージ入力領域を生成させ、入力領域に入力されたメッセージと、達成された条件を特定する付加情報とを、所定のフォーマットに収めたメッセージデータ60bを生成し、ハードディスクドライブ34に格納する。
【0030】
<メッセージ通知機能>
またゲームソフトウェア300は、ゲームのプレイ条件達成時に、メッセージ管理ユーティリティ400から「メッセージ通知機能」を呼び出す。メッセージ通知機能は、メッセージ出力機能の一部を構成する。これにより、メッセージ管理ユーティリティ400は、ハードディスクドライブ34から、同一条件の達成時に生成されたメッセージデータ60aを読み出し、システムソフトウェア200にメッセージ通知を行わせる。
【0031】
なおメッセージ入力機能とメッセージ通知機能の呼び出し契機は、それぞれゲームプレイ条件が達成されたことである。このときゲームソフトウェア300は、メッセージ入力機能とメッセージ通知機能とを同じタイミングで呼び出すのではなく、たとえば先にメッセージ通知機能を呼び出し、メッセージ通知処理が終了した後に、メッセージ入力機能を呼び出すようにしてもよい。
【0032】
<メッセージ送信機能>
ゲームソフトウェア300は、たとえばユーザによるゲームプレイの終了時に、メッセージ管理ユーティリティ400から「メッセージ送信機能」を呼び出す。メッセージ送信機能は、メッセージ配信機能の一部を構成する。これにより、メッセージ管理ユーティリティ400は、ゲームプレイ中に生成したメッセージデータ60bに、送信先となるゲーム装置を指定したヘッダを付加した送信データを生成し、メッセージ提供サーバ18に送信する。
以下、特に区別しない場合には、メッセージデータ60a、60bを「メッセージデータ60」と表現する。
【0033】
図4は、メッセージデータ60のデータフォーマットを示す。メッセージデータ60には、タイトルID62、条件特定情報64、属性66およびメッセージ68の各フィールドが設けられる。タイトルID62のフィールドには、ゲームタイトルを特定するための識別情報が含まれる。条件特定情報64のフィールドには、ゲームのプレイ条件を特定するための情報が含まれる。たとえば、ゲームソフトウェア300において、各プレイ条件に識別番号(ID)を割り当て、その識別番号をイベントID(「条件ID」と呼んでもよい)として表現している場合には、条件特定情報64は、達成されたゲームのイベントIDであってよい。なお、条件特定情報64は、プレイ条件そのものであってもよく、いずれにしても、メッセージ管理ユーティリティ400がプレイ条件を特定できる付加情報であればよい。属性66のフィールドには、メッセージ68の属性情報が含まれる。属性66は、基本的にはメッセージの配信者により設定されるが、他のユーザにより設定されてもよい。属性66の詳細については後述する。メッセージ68のフィールドには、ユーザにより入力されたメッセージが含まれる。
【0034】
以下に、ゲーム装置10の詳細を説明する。
図5は、図3に示したゲーム装置10の詳細構成を示す。ゲーム装置10における各機能は、システムソフトウェア200、ゲームソフトウェア300およびメッセージ管理ユーティリティ400を用いて実現される。メッセージ管理ユーティリティ400は、ゲームソフトウェア300により呼び出される際に、ゲームのタイトルIDを通知される。
【0035】
システムソフトウェア200は、オペレーティングシステム(OS)として動作し、表示処理部210および入力受付部220を備える。表示処理部210は、表示情報生成部212および入力領域生成部214を有する。ゲームソフトウェア300は、アプリケーション実行部302、条件達成検出部304およびイベントID通知部306を備える。
【0036】
メッセージ管理ユーティリティ400は、イベントID取得部410、出力処理部420、配信処理部440および通信部460を備える。出力処理部420は、通知判定部422、メッセージ読出部424およびメッセージデータ取得部426を有する。配信処理部440は、指示部442、メッセージデータ生成部444および送信データ生成部446を有する。
【0037】
図5において、さまざまな処理を行う機能ブロックとして記載される各要素は、ハードウェア的には、CPU(Central Processing Unit)、メモリ、その他のLSIで構成することができ、ソフトウェア的には、メモリにロードされたプログラムなどによって実現される。既述したように、メインコントローラ100には1つのPPUと複数のSPUとが設けられており、PPUおよびSPUがそれぞれ単独または協同して、各機能ブロックを構成できる。したがって、これらの機能ブロックがハードウェアのみ、ソフトウェアのみ、またはそれらの組合せによっていろいろな形で実現できることは当業者には理解されるところであり、いずれかに限定されるものではない。
【0038】
図1において、ゲーム装置10bが、メッセージの配信処理を行い、ゲーム装置10aが、メッセージの出力処理を行うゲームシステム1を示した。この例にしたがい、以下では、ユーザBのゲーム装置10bより配信されたメッセージデータを、ユーザAのゲーム装置10aが取得して出力するゲームシステム1を説明する。
【0039】
<メッセージの配信処理>
ゲーム装置10bのゲームソフトウェア300において、アプリケーション実行部302が、ユーザBによるゲームコントローラ40の操作入力を受けて、ゲームプログラムを実行する。本実施例1において、ゲームソフトウェア300は、ゲームのプレイ条件を予め設定し、各条件にイベントIDを割り当てている。ゲームソフトウェア300は、イベントが発生すると、そのイベントIDを出力するようにコーディングされている。イベントIDを割り当てられたプレイ条件の内容は、ユーザに公開されてもよく、また非公開とされてもよい。ゲームソフトウェア300は、各イベントのIDと、プレイ条件の内容とを対応付けたテーブルを有する。
【0040】
図6は、イベントIDと、プレイ条件とを対応付けたイベントテーブルの一例を示す。プレイ条件が達成されることは、ユーザがメッセージを入力するための契機となり、またユーザに他ユーザからのメッセージを通知するための契機となる。図示されるように、ラスボス(final boss)に勝つ(イベントID:01000000)というポジティブな結果だけでなく、ラスボスに負けた(イベントID:01000001)というネガティブな結果に対しても、イベントIDが割り当てられてよい。また、火山のダンジョン(イベントID:00001000)のように、「ダンジョンにいる間」というプレイ条件もイベントとして設定しうる。イベントテーブルは、ゲームメーカにより作成され、ゲームソフトウェア300に組み込まれている。なおイベントテーブルには、タイトルIDとゲームタイトル名とが対応付けられて記録されている。イベントテーブルに記述されているプレイ条件の内容は、後述するメッセージの入力画面や、メッセージの閲覧画面を生成する場合などに、ユーザに提示される。
【0041】
条件達成検出部304は、ゲームの進行状況から、イベントが発生したこと、すなわちゲームにおいて予め設定されたゲームのプレイ条件が達成されたことを検出する。この検出処理は、ゲームプログラムにハードコーディングされており、イベントが発生すると、そのイベントを特定するイベントIDを取得する処理がゲームプログラムに書き込まれている。条件達成の検出は、イベントIDを取得することに相当する。イベントID通知部306は、取得したイベントIDをメッセージ管理ユーティリティ400に通知する。
【0042】
図7は、アプリケーション実行部302により実行されて表示機器12に表示されるゲーム画面の一例を示す。このゲーム画面は、ゲームコントローラ40により操作されるユーザキャラクタが、敵のラスボスと対峙して、これから戦闘を開始する場面を示す。条件達成検出部304は、ユーザキャラクタがラスボスと対峙したときに、図6に示すイベント「ラスボスとの戦闘を開始する」に対応付けられているイベントIDを取得する。イベントID通知部306は、達成されたプレイ条件を特定するイベントID"00111111"をメッセージ管理ユーティリティ400に通知する。
【0043】
メッセージ管理ユーティリティ400において、イベントID取得部410は、通知されたイベントIDを取得し、指示部442に渡す。指示部442は、システムソフトウェア200の入力領域生成部214に、メッセージ入力領域の生成を指示する。入力領域生成部214は、メッセージの入力領域を生成して、ゲーム画面に重畳表示する。メッセージ入力領域は、ユーザがメッセージを入力するためのウィンドウであってよい。
【0044】
図8は、ゲーム画面に重畳表示される入力領域70を示す。入力領域生成部214は、メッセージの入力領域70を、ゲーム進行の邪魔にならないように、たとえばゲーム画面の端に近い位置に表示する。入力領域生成部214は、ゲーム画面の下端に入力領域70を表示してもよい。
【0045】
ユーザBは、入力領域70にメッセージを入力する。たとえば入力するメッセージは、「これから頑張るぞ」という感想であったり、他のユーザを意識して「これから頑張ろう」という応援であってよく、ユーザがゲームコントローラ40やキーボードなどのユーザインタフェースを用いて、自由にテキスト入力できるようにしてもよい。なお、定型文のメッセージを予め複数用意しておき、プルダウン形式で選択可能に表示することで、ユーザが簡単な操作でメッセージを選択入力できるようにしてもよい。
【0046】
メッセージ入力の際、ユーザBは所定のボタン、たとえばゲーム進行を一時停止させるPAUSEボタンを押して、ゲームの進行を止めるようにしてもよい。この場合、入力領域生成部214は、指示部442から指示を受け付けると、すぐに入力領域70をゲーム画面上に表示するのではなく、一旦、メッセージ入力可能であることを示す情報をゲーム画面に重畳表示する。ユーザBが、この情報を見てPAUSEボタンを押すと、アプリケーション実行部302がゲームの進行を一時停止した後、入力領域生成部214が入力領域70を画面表示する。将棋やチェスゲームなどのように、進行が比較的遅いゲームでは、入力領域生成部214は、入力領域70を進行中のゲーム画面に重畳表示してもよいが、格闘ゲームなど進行が速いゲームでは、PAUSEボタンの操作を受けて、入力領域生成部214が入力領域70を表示するように設定することが好ましい。なお、この表示制御の機能は、ゲームソフトウェア300により設定される。
【0047】
なお、ユーザは、所定のプレイ条件を達成した時点でメッセージを入力するのではなく、ゲームプレイを継続して、切りのいいところで、達成済みの複数のプレイ条件に対して、まとめてメッセージを入力したいこともある。このような場合では、入力領域生成部214は、ユーザに、メッセージ入力可能であることをプレイ条件が達成されるたびに通知し、メッセージ入力がなされなければ(たとえばPAUSEボタンが押されなければ)、メッセージ入力可能なイベントを蓄積していく。なお詳細については後述するが、入力領域生成部214は、ユーザが後にイベントを確認しやすいように、プレイ条件が達成されたときのゲーム画面のスクリーンショットを蓄積し、まとめてメッセージ入力がなされる際に、ユーザに提示してもよい。
【0048】
入力領域生成部214は、PAUSEボタンが操作された時点で、メッセージ入力可能なイベントのリストをユーザに提示し、ユーザがメッセージ入力できるようにする。なお、ユーザがメッセージ以外の入力も可能とするために、入力領域生成部214は、入力領域70において、所定の入力フォーマットをユーザに提示してもよい。
【0049】
図9(a)は、入力領域70に生成される入力フォーマットの一例を示す。この入力フォーマットでは、イベントを特定するためのタブ71、メッセージ属性を設定するためのタブ72、添付アイテムを定めるためのタブ73、メッセージ本文の入力画面を開くためのタブ74を含む。これらのタブは、上から順に選択できるようになっており、最初の表示では、タブ71のみがユーザに選択可能とされる。ユーザは、ゲームコントローラ40を操作することで、各タブを選択し、必要な情報を入力する。
【0050】
タブ71が操作されると、図9(b)に示すイベント決定画面78が表示される。イベント決定画面78の生成時、イベントID取得部410は、ゲームソフトウェア300からイベントテーブルを取得し、表示処理部210に渡す。入力領域生成部214は、メッセージ入力可能なイベント、すなわちイベントID通知部306よりイベントIDが通知されたが、まだメッセージが入力されていないイベントのIDを蓄積している。入力領域生成部214は、イベントテーブルを参照して、メッセージ未入力のイベントIDから「プレイ条件の内容」を抽出し、イベント決定画面78にリスト表示する。これにより、イベント決定画面78には、これまで達成したプレイ条件であって、且つメッセージ入力がなされていないプレイ条件の内容がリスト表示される。
【0051】
たとえばユーザキャラクタがラスボスに負けた場合、イベント決定画面78に、プレイ条件「ラスボスに負ける」が表示され、ラスボスに勝たなければ、プレイ条件「ラスボスに勝つ」は表示されない。イベント決定画面78は、入力領域70に重ならないように表示される。たとえば、イベント決定画面78において、イベントを選択すると、イベントの発生時(または発生中)のゲーム画面のスクリーンショットがサムネイル表示領域75に表示される。サムネイル表示領域75に表示されるスクリーンショットは、ユーザに過去のゲームプレイを思い出させる役割を持つ。なおプレイ条件76には、イベントの内容(図6に示すプレイ条件の内容)が記述される。ユーザがリスト表示されたイベントのいずれかを決定すると、図9(a)に示す入力フォーマットに戻る。
【0052】
ユーザがイベントを決定すると、タブ72がユーザに選択可能とされる。タブ72が操作されると、図9(c)に示す属性決定画面79が表示される。属性決定画面79には、入力するメッセージの属性がリスト表示される。「感想」属性は、「ボスキャラ強そう!」、「これから倒すぞ」など、ユーザが、そのイベントに対する感想メッセージを入力する際に選択される。「応援」属性は、「ガンバレ〜」など、ユーザが、他のユーザへの応援を意識したメッセージを入力する際に選択される。「ヒント」属性は、「ボスキャラは火に弱いみたい」など、ユーザが、他のユーザへのアドバイスを意識したメッセージを入力する際に選択される。なお、後述するが、「ヒント」属性が付加されたメッセージは、他のユーザのゲーム装置10において表示されるためには、そのユーザの承認を得る必要がある。
【0053】
ユーザが属性を決定すると、タブ73がユーザに選択可能とされる。タブ73が操作されると、ユーザは、他のユーザに配信するメッセージデータに、アイテムを含めることができる。ユーザが属性を決定したときに、タブ74もユーザに選択可能とされ、メッセージデータにアイテムを含めない場合には、ユーザは、タブ74を操作する。タブ74を操作すると、ユーザは、本文メッセージを入力する。
【0054】
システムソフトウェア200において、入力受付部220が、入力されたメッセージを受け付ける。なお、図9(a)に示す入力フォーマットにしたがってメッセージが入力される場合には、入力受付部220は、イベント(プレイ条件)を特定する情報、属性を特定する情報、アイテムを特定する情報などの付加情報も、メッセージとともに受け付ける。入力受付部220は、受け付けたメッセージおよび付加情報を、メッセージ管理ユーティリティ400のメッセージデータ生成部444に提供する。メッセージデータ生成部444は、メッセージおよび付加情報を用いて、図4に示すデータフォーマットで、メッセージデータを生成する。アイテムを添付する場合には、図4に示すデータフォーマットに、アイテムのフィールドが追加される。
【0055】
タイトルIDは、メッセージ管理ユーティリティ400が呼び出される際に、ゲームソフトウェア300より通知される。イベントID取得部410は、通知されたタイトルIDを、配信処理部440に渡しておく。なお、イベントID通知部306が、イベントIDを通知するたびに、一緒にタイトルIDをイベントID取得部410に通知し、イベントID取得部410が配信処理部440に渡してもよい。メッセージデータ生成部444は、タイトルIDを取得し、またメッセージおよび付加情報を提供されることで、図4に示すデータフォーマットのメッセージデータを生成する。なお実施例1において、メッセージデータ生成部444は、付加情報のうち、イベントID(条件特定情報)は必ずメッセージデータに含める。メッセージデータ生成部444は、生成したメッセージデータ60bをハードディスクドライブ34に格納する。
【0056】
ハードディスクドライブ34には、メッセージデータ60bを配信する宛先となるゲーム装置10aを特定する情報が予め格納されている。送信データ生成部446は、所定のタイミングで、ハードディスクドライブ34に格納されたメッセージデータ60bに、宛先情報を付加した送信データを生成し、通信部460が、メッセージ提供サーバ18に送信する。
【0057】
図10は、メッセージ生成処理のフローチャートを示す。図10に示すフローチャートにおいては、各部の処理手順を、ステップを意味するS(Stepの頭文字)と数字との組み合わせによって表示する。また、Sと数字との組み合わせによって表示した処理で何らかの判断処理が実行され、その判断結果が肯定的であった場合は、Y(Yesの頭文字)を付加して、例えば、(S10のY)と表示し、逆にその判断結果が否定的であった場合は、N(Noの頭文字)を付加して、(S10のN)と表示する。なお、フローチャートにおける表示の意味は、他の図面に示すフローチャートでも同じである。
【0058】
ゲームソフトウェア300において、アプリケーション実行部302が、ユーザからのゲームコントローラ40の操作入力を受けて、ゲームプログラムを実行する(S10)。条件達成検出部304は、ゲームの進行状況から、ゲームにおいて予め設定されたゲームのプレイ条件が達成されたか検出する(S12)。条件達成検出部304は、プレイ条件が達成されたことを検出すると(S12のY)、その条件に対してハードコーディングされているイベントIDを取得する。なお、イベントIDを取得したことをもって、プレイ条件の達成が検出されてもよい。イベントID通知部306は、取得したイベントIDを、メッセージ管理ユーティリティ400に通知する(S14)。なおゲームのプレイ条件が達成されなければ(S12のN)、イベントIDは通知されない。
【0059】
メッセージ管理ユーティリティ400において、イベントID取得部410は、通知されたイベントIDを取得し、指示部442に渡す。指示部442は、入力領域生成部214に、メッセージの入力領域70の生成を指示する(S16)。システムソフトウェア200において、入力領域生成部214は、メッセージの入力領域70を生成し(S18)、表示機器12に画面表示する。入力受付部220が、ユーザから入力されたメッセージを受け付け(S20)、メッセージデータ生成部444に渡す。メッセージデータ生成部444は、図4に示すフォーマットで、メッセージデータ60bを生成する(S22)。ゲームが終了するまで(S24のN)、このメッセージ生成処理は行われ、ゲームが終了すると(S24のY)、メッセージ生成処理は終了する。なお生成されたメッセージデータは、通信部460によりメッセージ提供サーバ18を介してゲーム装置10aに送信される。
【0060】
<メッセージの出力処理>
続いて、ゲーム装置10aにおけるメッセージの出力処理を説明する。ゲーム装置10aのゲームソフトウェア300は、その起動時にメッセージ管理ユーティリティ400から「メッセージ取得機能」を呼び出す。メッセージ管理ユーティリティ400において、通信部460が、メッセージ提供サーバ18にアクセスして、自機宛てのメッセージデータの配信を要求する。メッセージ提供サーバ18は、メッセージデータを保持する場合、通信部460に送信する。このとき、ゲームソフトウェア300で実行されるゲームタイトルにかかわらず、メッセージ提供サーバ18に保持されている全てのゲームタイトルのメッセージデータが通信部460に送信される。メッセージデータ取得部426は、通信部460を介してメッセージデータ60aを取得し、ハードディスクドライブ34に格納する。これにより、プレイ条件に応じたメッセージをユーザAに提示するための環境が整えられる。
【0061】
ゲームソフトウェア300において、アプリケーション実行部302が、ユーザAによるゲームコントローラ40の操作入力を受けて、ゲームプログラムを実行する。既述したように、ゲームプログラムには、イベント発生によりイベントIDを取得する処理がハードコーディングされている。
【0062】
条件達成検出部304は、ゲームの進行状況から、イベントが発生したこと、すなわちゲームにおいて予め設定されたゲームのプレイ条件が達成されたことを検出する。イベントID通知部306は、取得したイベントIDをメッセージ管理ユーティリティ400に通知する。
【0063】
メッセージ管理ユーティリティ400において、イベントID取得部410は、通知されたイベントIDを取得し、通知判定部422に渡す。なお、イベントID取得部410は、メッセージ管理ユーティリティ400がゲームソフトウェア300より呼び出された時点で、出力処理部420にタイトルIDを渡しておく。通知判定部422は、ハードディスクドライブ34に記憶された同一タイトルIDをもつメッセージデータ60aの中で、イベントID取得部410より渡されたイベントIDに対応する付加情報をもつメッセージデータ60aが存在するか判定する。ここで、メッセージデータ60aに含まれる条件特定情報64は、他のゲーム装置10bにおいて達成されたプレイ条件を特定するイベントIDである。この場合、通知判定部422は、イベントID取得部410で取得したイベントIDと、メッセージデータ60aに含まれるイベントIDとを比較し、一致している場合には、取得したイベントIDに対応するメッセージデータ60aが存在することを判定する。この判定結果はメッセージ読出部424に渡され、メッセージ読出部424は、該当するメッセージデータ60aをハードディスクドライブ34から読み出して、システムソフトウェア200における表示情報生成部212に供給する。
【0064】
表示情報生成部212は、メッセージを通知する通知部として機能し、具体的には、メッセージ読出部424から読み出されたメッセージを、ゲーム画面に重畳表示する表示情報を生成する。なお、メッセージが音声である場合には、スピーカが通知部として機能し、メッセージがスピーカから音声出力される。
【0065】
図11は、ゲーム画面に重畳表示される表示領域80を示す。表示情報生成部212は、メッセージの表示領域80を、ゲーム進行の邪魔にならないように、たとえばゲーム画面の端に近い位置に表示する。メッセージが複数存在する場合には、表示領域80が、画面上下方向に並べて配置されてもよい。表示領域80には、メッセージを作成したユーザのユーザ名やアイコン画像が含まれてもよい。なお、ユーザ名やアイコン画像を表示するためには、予め配信されるメッセージデータ60に、ユーザ名やアイコン画像を含ませておく。他のユーザが作成したメッセージを、同じプレイ条件の達成時に通知することで、あたかも一緒にゲームをプレイしているような感覚を与えることができ、臨場感あふれるプレイ環境を実現できる。
【0066】
表示情報生成部212は、表示開始から所定時間経過後に、表示領域80の表示を終了する。なお表示時間は、ユーザにより設定できるようにしてもよく、またユーザのゲームコントローラ40操作により、表示が終了されるようにしてもよい。
【0067】
メッセージ表示の際、ユーザAはたとえば、ゲーム進行を一時停止させるPAUSEボタンを押して、ゲームの進行を止めるようにしてもよい。この場合、表示情報生成部212は、メッセージ読出部424からのメッセージ読出を受けて、すぐに表示領域80をゲーム画面上に表示するのではなく、一旦、メッセージ通知可能であることを示す情報をゲーム画面に重畳表示する。ユーザが、この情報を見てPAUSEボタンを押すと、アプリケーション実行部302がゲームの進行を一時停止した後、表示情報生成部212が表示領域80を画面表示する。なお、この表示制御の機能は、ゲームソフトウェア300により設定される。
【0068】
図12は、ゲーム画面に重畳表示される表示領域80の別の例を示す。メッセージデータ60aに属性が設定されている場合、表示情報生成部212は、属性ごとに、メッセージを表示するようにしてもよい。ユーザは、たとえばメッセージ属性を表現するタブ81、82、83を選択することで、その属性のメッセージを見ることができる。なお、「感想」属性および「応援」属性をもつメッセージについては、タブ81、82を介さず、図11に示すように、表示領域80内にメッセージが直接表示されてもよい。一方、「ヒント」属性をもつメッセージについては、ゲーム攻略の手がかりが含まれており、場合によっては、プレイ中のユーザの興味を減らす可能性もあるので、タブ83を介さなければ見えないようにしてもよい。このように表示情報生成部212は、設定された属性に応じて、メッセージの表示態様を異ならせてもよい。
【0069】
なお、表示情報生成部212は、ユーザに対して、取得したメッセージデータ60aを閲覧できる画面を提供してもよい。たとえば、閲覧画面には、ゲームタイトルと、メッセージデータ60aを送信したユーザ名やユーザアイコンと、メッセージの内容とが表示される。
【0070】
図13は、メッセージの閲覧画面の一例を示す。閲覧画面の生成時、イベントID取得部410は、ゲームソフトウェア300からイベントテーブルを取得する。メッセージ読出部424は、ハードディスクドライブ34に記憶されているメッセージデータ60aを読み出し、またイベントID取得部410から、イベントテーブルを取得する。なおゲームソフトウェア300から読み出されたイベントテーブルがハードディスクドライブ34に予め格納されていてもよく、その場合には、メッセージ読出部424がハードディスクドライブ34からイベントテーブルを読み出す。メッセージ読出部424は、イベントテーブルおよびメッセージデータ60aを、表示情報生成部212に提供する。
【0071】
表示情報生成部212は、メッセージデータ60aの条件特定情報64に対応付けられているプレイ条件の内容を、イベントテーブルから抽出する。また表示情報生成部212は、イベントテーブルから、ゲームタイトル名を抽出する。表示情報生成部212は、ゲームタイトル名84、プレイ条件の内容85およびメッセージ86を用いて、メッセージの閲覧画面を生成する。これにより、ユーザAは、届いたメッセージをまとめて閲覧できる。
【0072】
なお、まだユーザAが「ラスボスに負ける」というプレイ条件を達成していない場合には、そのプレイ条件に対するメッセージがユーザBから届いていた場合であっても、メッセージ内容は表示されない。たとえば、表示情報87として、ユーザ名(ユーザB)のみを表示するようにする。表示情報生成部212は、あくまでもユーザAが達成したプレイ条件に関するメッセージのみを閲覧できるようにする。ユーザAは、メッセージを読むことで、プレイしていたときの臨場感を思い出せる。またゲームプレイ中にメッセージを読まなかったときでも、閲覧画面からあらためてメッセージを読めるようになる。また、達成していないプレイ条件に関するメッセージについては、メッセージを配信したユーザ名のみを表示することで、ユーザAは、ユーザBが既にそのプレイ条件をクリアしていることを認識でき、ユーザAに、その条件を達成しようとするインセンティブを与えることができる。
【0073】
なお、以上は、ゲーム装置10aが、別のゲーム装置10bからメッセージデータ60aをダウンロードする場合について説明したが、ゲームメーカが用意したメッセージデータ60aをダウンロードしてもよい。またゲームソフトウェア300にメッセージデータ60aが含まれていてもよく、この場合、たとえばゲームソフトウェア300の初回起動時に、メッセージデータ60aは、ゲームソフトウェア300からハードディスクドライブ34に読み出されてもよい。ゲームメーカは、たとえばゲームの説明書として利用可能なメッセージデータ60aを作成する。ゲーム装置10のメッセージ出力機能を利用して、システムソフトウェア200による情報通知を行うことで、ゲームソフトウェア300に説明書の表示機能を作り込む必要がなく、ソフトウェア開発の工程を省力化できるという利点がある。
【0074】
図14は、メッセージ出力処理のフローチャートを示す。ゲームソフトウェア300において、アプリケーション実行部302が、ユーザからのゲームコントローラ40の操作入力を受けて、ゲームプログラムを実行する(S30)。条件達成検出部304は、ゲームの進行状況から、ゲームにおいて予め設定されたゲームのプレイ条件が達成されたか検出する(S32)。条件達成検出部304は、プレイ条件が達成されたことを検出すると(S32のY)、その条件に対してハードコーディングされているイベントIDを取得する。なお、イベントIDを取得したことをもって、プレイ条件の達成が検出されてもよい。イベントID通知部306は、取得したイベントIDを、メッセージ管理ユーティリティ400に通知する(S34)。なおゲームのプレイ条件が達成されなければ(S32のN)、イベントIDは通知されない。
【0075】
メッセージ管理ユーティリティ400において、イベントID取得部410は、通知されたイベントIDを取得し、通知判定部422に渡す。通知判定部422は、渡されたイベントIDに、ハードディスクドライブ34に記憶されたメッセージデータ60aのイベントIDが一致するものを探索する(S36)。イベントIDが一致するメッセージデータ60aが存在する場合(S36のY)、メッセージ読出部424は、そのイベントIDをもつメッセージデータ60aをハードディスクドライブ34から読み出し、表示情報生成部212に提供する(S38)。なおイベントIDが一致するメッセージデータ60aが存在しない場合(S36のN)、メッセージデータ60aの読出は行われない。表示情報生成部212は、表示領域80にメッセージを表示する(S40)。ゲームが終了するまで(S42のN)、このメッセージ出力処理は行われ、ゲームが終了すると(S42のY)、メッセージ出力処理は終了する。
【0076】
(実施例2)
本発明の実施例2の情報通知システムの概要を説明する。なお、実施例1において、情報処理装置の一例として説明したゲーム装置10の構成および機能は、実施例2の情報処理装置において同様に含まれてよく、また実施例2において説明する情報処理装置の構成および機能は、実施例1のゲーム装置10において同様に含まれてよい。
【0077】
実施例2において、ユーザ(ユーザA)の情報処理装置は、予め別のユーザ(ユーザB)から配信されたメッセージデータを保持している。このメッセージデータには、メッセージと、メッセージの通知条件とが含まれており、ユーザAの情報処理装置がおかれている環境などが、通知条件を満たした(達成した)場合に、メッセージがユーザに通知される。
【0078】
メッセージデータには、時間(Time)、場所(Place)、場合(Occasion)の少なくとも1つの条件が、通知条件として設定されている。以下、時間で指定する条件を「時間条件」、場所を指定する条件を「場所条件」、場合を指定する条件を「イベント条件」と呼ぶ。これらの条件は、メッセージの通知条件を定めるために、単独で用いられても、組み合わせて用いられてもよい。以下、各条件の使用場面を示す。
【0079】
<時間条件による通知>
ユーザBは、1月1日の午前0時になったことを通知条件とするメッセージデータを、その日時の前にユーザAの情報処理装置に送信する。ユーザBは、たとえば「あけましておめでとう」というメッセージを送信する。ユーザAの情報処理装置は、現在日時が1月1日の午前0時になると、通知条件が満たされたことを判定し、ユーザAにメッセージを通知する。通知の手法は様々考えられるが、たとえば情報処理装置のディスプレイにメッセージを表示してもよく、また、スピーカからメッセージを音声出力してもよい。
【0080】
<場所条件による通知>
ユーザBは、あるレストランCに入店することを通知条件とするメッセージデータを、ユーザAの情報処理装置に送信する。ユーザBは、たとえば「このレストランおいしいよ」というメッセージを送信する。ユーザAの情報処理装置は、たとえばGPS(Global Positioning System)からの位置情報より、現在位置がレストランC内であれば、通知条件が満たされたことを判定し、ユーザAにメッセージを通知する。
【0081】
<イベント条件による通知>
ユーザBは、1日で10km歩いたことを通知条件とするメッセージデータを、ユーザAの情報処理装置に送信する。ユーザBは、たとえば「今日10km歩いてるよ」というメッセージを送信する。ユーザAの情報処理装置は、たとえばGPSからの位置情報より1日の移動距離を求め、10km移動していれば、通知条件が満たされたことを判定し、ユーザAにメッセージを通知する。たとえば、情報処理装置は、所定速度以下で移動したときの距離を導出することで、自動車などでの移動距離を除外し、歩行による移動距離を導出してもよい。
【0082】
<組み合わせ条件による通知>
ユーザBは、マラソンで21km走ったことを通知条件とするメッセージデータを、ユーザAの情報処理装置に送信する。ユーザBは、たとえば「あと半分だよ。がんばって」というメッセージを送信する。マラソンのスタート日時が10月10日の10時であれば、時間条件を「10月10日の10時以降」と設定し、イベント条件を「21km移動したこと」と設定することで、10月10日の10時スタートのマラソンで21km走ったことが通知条件として設定される。ユーザAの情報処理装置は、GPSからの位置情報より10時以降の移動距離を求め、21km移動していれば、通知条件が満たされたことを判定し、ユーザAにメッセージを通知する。
【0083】
図15は、本発明の実施例2にかかる情報通知システム2を示す。情報通知システム2は、ユーザAに保持される情報処理装置500a、ユーザBに保持される情報処理装置500b、およびメッセージデータの配信局501を備える。ここでは、情報処理装置500bをメッセージデータの送信端末、情報処理装置500aをメッセージデータの受信端末として示している。なお、図15では、無線通信によりメッセージデータが送受信される情報通知システム2が示されているが、メッセージデータは有線通信により送受信されてもよい。また、情報処理装置500aは、USBメモリなどのリムーバブルタイプのメモリ装置から、メッセージデータを取得してもよく、その場合、情報処理装置500aは、通信機能を有さなくてもよい。なお以下、特に区別しない場合には、情報処理装置500a、情報処理装置500bを「情報処理装置500」と表現する。以下では、メッセージデータの送受信機能を有する情報処理装置500を説明する。
【0084】
図16は、情報通知システムにおける情報処理装置500の構成を示す。情報処理装置500における各機能は、システムソフトウェアおよびメッセージ管理ユーティリティを用いて実現される。情報処理装置500は、携帯電話など、携帯型の端末装置であってもよいが、据置型の端末装置であってもよい。なお、受信端末として情報処理装置500を利用する場合、特に携帯型であれば、情報通知システム2における利用場面は増大する。
【0085】
情報処理装置500は、入力受付部510、状況情報取得部520、状況情報通知部530、配信処理部540、ディスプレイ550、出力処理部560、通信部580および記憶装置590を備える。状況情報取得部520は、日時情報取得部522、場所情報取得部524およびイベント情報取得部526を有する。配信処理部540は、入力領域生成部542、メッセージデータ生成部544および送信データ生成部546を有する。出力処理部560は、通知判定部562、メッセージ読出部564、表示情報生成部566およびメッセージデータ取得部568を有する。
【0086】
図16において、さまざまな処理を行う機能ブロックとして記載される各要素は、ハードウェア的には、CPU(Central Processing Unit)、メモリ、その他のLSIで構成することができ、ソフトウェア的には、メモリにロードされたプログラムなどによって実現される。したがって、これらの機能ブロックがハードウェアのみ、ソフトウェアのみ、またはそれらの組合せによっていろいろな形で実現できることは当業者には理解されるところであり、いずれかに限定されるものではない。
【0087】
記憶装置590には、メッセージデータ600aおよび/またはメッセージデータ600bが記憶される。以下では、メッセージデータ600bを配信するためのデータ、メッセージデータ600aをユーザに通知するためのデータとして説明するが、特に区別しない場合には、メッセージデータ600a、600bを「メッセージデータ600」と表現する。メッセージデータ600には、通知条件の種別を特定する条件IDと、通知条件を特定する条件特定情報とが含まれる。
【0088】
図17は、条件IDと条件種別との対応テーブルを示す。実施例2では、条件種別として、時間条件、場所条件、イベント条件が用意されており、それぞれに対して条件IDが割り当てられる。
【0089】
図18は、メッセージデータ600のデータフォーマットを示す。メッセージデータ600には、条件ID602a、602b(以下、「条件ID602」と呼ぶこともある)、条件特定情報604a、604b(以下、「条件特定情報604」と呼ぶこともある)およびメッセージ606の各フィールドが設けられる。条件ID602のフィールドには、条件種別を特定するための識別情報が含まれる。条件特定情報604のフィールドには、通知条件を特定するための情報が含まれる。たとえば、情報通知システム2において予め用意された通知条件が存在する場合に、各通知条件に対して識別番号(ID)が割り当てられて、その通知条件IDが条件特定情報604として利用されてもよい。
【0090】
図示の例では、2つの通知条件が含まれている。なお、条件ID602a、条件ID602bは、たとえば時間条件とイベント条件など、異種の条件を特定するIDであってもよいが、両者とも同種の条件を特定するIDであってもよい。条件ID602および条件特定情報604の組み合わせは、通知条件の数だけメッセージデータ600に含められる。
【0091】
メッセージ606のフィールドには、ユーザにより入力されたメッセージが含まれる。なお、図4に示した属性66などの情報がメッセージデータ600に含まれてもよい。
【0092】
図15において、情報処理装置500bが、メッセージの配信処理を行い、情報処理装置500aが、メッセージの出力処理を行う情報通知システム2を示した。この例にしたがい、以下では、情報処理装置500bより配信されたメッセージデータを、情報処理装置500aが取得して出力する情報通知システム2を説明する。
【0093】
<メッセージの配信処理>
情報処理装置500bにおいて、入力受付部510が、ユーザBによる入力インタフェース装置からの操作入力を受け付ける。入力受付部510が、メッセージの入力指示を受け付けると、配信処理部540にメッセージの入力処理を指示する。配信処理部540において、入力領域生成部542は、メッセージの入力領域を生成して、ディスプレイ550に表示する。
【0094】
図19(a)は、ディスプレイ550に表示される入力フォーマットの一例を示す。この入力フォーマットは、通知条件を特定するためのタブ610、添付ファイルを定めるためのタブ611、メッセージ本文の入力画面を開くためのタブ612を含む。ユーザBは、入力インタフェース装置を操作することで、各タブを選択し、必要な情報を入力する。
【0095】
タブ610が操作されると、ディスプレイ550に図19(b)に示す条件設定画面が表示される。条件設定画面には、通知条件を設定するための情報が表示される。条件設定画面には、時間タブ620、AND/OR選択領域621、場所タブ622、AND/OR選択領域623およびイベントタブ624が設定される。
【0096】
時間タブ620が操作されると、ディスプレイ550に図20(a)に示す時間条件設定画面が表示される。時間条件設定画面には、時間条件を設定するための選択肢が表示される。なお、*で表現している箇所には、ユーザより数字や曜日などが入力される。
【0097】
「*月*日:*時*分」は、通知日時を特定する場合に選択される。「*月*日:*時*分〜*月*日:*時*分」は、通知期間を特定する場合に選択される。「毎*曜日」は、通知曜日を特定する場合に選択される。「毎日」は、通知日を毎日とする場合に選択される。「*時*分」は、「毎*曜日」または「毎日」が選択された場合に、通知時刻を特定する場合に選択される。
【0098】
場所タブ622が操作されると、ディスプレイ550に図20(b)に示す場所条件設定画面が表示される。場所条件設定画面には、緯度、経度で特定される場所条件を設定するための選択肢が表示される。「現在地」、「登録地A」、「登録地B」などの他に、住所を入力するための入力領域も表示される。「現在地」が選択された場合、情報処理装置500において、場所情報取得部524が、GPSから、緯度、経度で特定される現在地情報を取得する。また、住所が入力された場合には、たとえば地図サーバなどに問い合わせて、その住所の緯度、経度情報が取得されてもよい。
【0099】
イベントタブ624タブが操作されると、ディスプレイ550に、イベント条件を設定するための入力領域が表示される。たとえばディスプレイ550にソフトウェアキーボードが用意され、ユーザは、ソフトウェアキーボードを用いて入力領域にイベント条件を入力する。受信側の情報処理装置500aは、イベント条件の解読機能を備えて構成され、これにより入力されたイベント条件が、情報処理装置500aにおいて処理可能な情報に変換される。なお、典型的なイベント条件については、情報通知システム2において予め用意され、テンプレート(条件リスト)としてユーザに提示されるようにしてもよい。このとき、条件リストの各条件には、情報通知システム2において使用されるIDが設定され、このIDにより条件が特定されるようにしてもよい。
【0100】
AND/OR選択領域621、623は、各条件の関係を示す論理演算子を設定する領域である。なお、条件が設定されていない場合には、その条件の上側にある論理演算子は、無視されるようにしてもよい。たとえば場所条件が設定されていない場合には、AND/OR選択領域621で設定される論理演算子は、通知条件の決定に影響を及ぼさない。時間条件およびイベント条件が設定され、AND/OR選択領域623がANDに設定されている場合には、AND/OR選択領域621の設定にかかわらず、時間条件とイベント条件との論理積が、通知条件として設定される。
【0101】
図19(a)に戻って、タブ611が操作されると、メッセージに添付するコンテンツの選択画面が表示される。ユーザBは、写真や音楽など、ユーザAに送りたいコンテンツを選択できる。
【0102】
タブ612が操作されると、メッセージの入力画面が表示される。ユーザBは、ユーザインタフェース装置や、たとえばソフトウェアキーボードを用いて、自由にメッセージを入力する。なおタブ612が操作されたとき、音声メッセージが入力できるようにしてもよい。
【0103】
図16に戻って、入力受付部510は、ユーザから入力されたメッセージ、および通知条件などの付加情報を受け付け、メッセージデータ生成部544に渡す。メッセージデータ生成部544は、メッセージおよび付加情報を用いて、図18に示すデータフォーマットで、メッセージデータを生成する。コンテンツを添付する場合には、図18に示すデータフォーマットに、コンテンツのフィールドが追加される。またメッセージの属性情報を含める場合には、属性情報のフィールドが追加される。メッセージデータ生成部544は、生成したメッセージデータ600bを記憶装置590に格納する。
【0104】
記憶装置590には、メッセージデータ600bを配信する宛先となる情報処理装置500aを特定する情報が予め格納されている。送信データ生成部546は、所定のタイミングで、記憶装置590に格納されたメッセージデータ600bに、宛先情報を付加した送信データを生成する。通信部580は、生成された送信データを配信局501に送信し、配信局501は情報処理装置500aに送信する。
【0105】
図21は、メッセージ生成処理のフローチャートを示す。入力受付部510が、メッセージの入力指示を受け付けると、入力領域生成部542が、メッセージの入力領域を生成して、ディスプレイ550に表示する(S60)。入力受付部510は、入力された通知条件を受け付け(S62)、また入力されたメッセージを受け付けると(S64)、メッセージデータ生成部544に渡す。メッセージデータ生成部544は、図18に示すフォーマットで、メッセージデータ600bを生成する(S66)。生成されたメッセージデータ600bは、ユーザAの情報処理装置500aに送信される。
【0106】
<メッセージの出力処理>
情報処理装置500aにおいて、通信部580は、配信局501にアクセスして、自機宛てのメッセージデータの配信を要求する。配信局501は、メッセージデータを保持する場合、通信部580に送信する。なお、配信局501は、情報処理装置500a宛てのメッセージデータを受信すると、すぐに情報処理装置500aに転送してもよい。メッセージデータ取得部568は、通信部580を介してメッセージデータ600aを取得し、記憶装置590に格納する。これにより、情報処理装置500aの状況に応じたメッセージをユーザに提示するための環境が整えられる。
【0107】
状況情報取得部520は、情報処理装置500aの状況情報を取得する。状況情報は、情報処理装置500aの現在の環境情報や周囲の環境情報を含み、また情報処理装置500aの状態情報や稼働情報などを含む。
【0108】
日時情報取得部522が、時計機能などから、現在の日時情報、すなわち現在の年月日と時間情報を取得する。また場所情報取得部524は、GPSなどにより現在の場所情報を取得する。イベント情報取得部526は、情報処理装置500aに発生しているイベント情報を取得する。イベント情報取得部526は、たとえば情報処理装置500aが移動中であることや、バッテリ残量が少ないことなど、情報通知システム2でイベントとして設定されている状況を取得する。以下、日時情報、場所情報およびイベント情報を、まとめて状況情報と呼ぶこともある。日時情報取得部522、場所情報取得部524およびイベント情報取得部526は、取得した情報を、それぞれ状況情報通知部530に渡す。
【0109】
日時情報取得部522、場所情報取得部524およびイベント情報取得部526の機能は、それぞれアプリケーションソフトウェアにより実現されてもよい。たとえば、日時情報取得部522は、現在時刻の分が00分、30分になると日時情報を状況情報通知部530に渡す条件を設定されたアプリケーションであってよい。場所情報取得部524は、GPS情報より、別の市に移動したことが判定されたときに、場所情報を状況情報通知部530に渡す条件を設定されたアプリケーションであってよい。イベント情報取得部526は、イベントが発生したこと、たとえばバッテリ残量が所定量を下回ったことが判定されたときに、イベント情報を状況情報通知部530に渡す条件を設定されたアプリケーションであってよい。なお、日時情報取得部522、場所情報取得部524およびイベント情報取得部526は、取得した情報を、それぞれ定期的に状況情報通知部530に渡すアプリケーションであってもよい。
【0110】
状況情報通知部530は、状況情報取得部520から情報を渡されると、その情報を通知判定部562に通知する。すなわち状況情報通知部530は、状況情報取得部520において設定された条件が達成された場合に、状況情報を通知判定部562に通知する。なお、状況情報通知部530は、日時情報取得部522、場所情報取得部524およびイベント情報取得部526より、それぞれ異なるタイミングで情報を取得するため、それらをまとめて所定のタイミング(たとえば定期的に)通知判定部562に状況情報を通知するようにしてもよい。
【0111】
通知判定部562は、取得した状況情報が、記憶装置590に記憶されたメッセージデータ600aの条件特定情報で特定される通知条件を満たしているか判定する。たとえば、「1月1日の午前0時」になったことを通知条件とするメッセージデータ600aが記憶装置590に記憶されている場合、通知判定部562は、状況情報通知部530から渡される日時情報が「1月1日の午前0時」であれば、通知条件が達成されたことを判定する。このとき通知判定部562は、メッセージデータ600aに含まれる条件ID602を参照して、メッセージデータ600aに設定されている通知条件の種別を特定し、取得した状況情報と対比することが好ましい。たとえば、上記例では、時間条件のみが通知条件とされており、通知判定部562は、時間条件以外の条件を比較する必要がない。条件ID602を有効に利用することで、判定時間を短縮することができる。
【0112】
「緯度X、経度Y」のレストランCに入ることを通知条件とするメッセージデータ600aが記憶装置590に記憶されている場合、通知判定部562は、状況情報通知部530から渡される場所情報が「緯度X、経度Y」であれば、通知条件が達成されたことを判定する。また、10km歩いたことを通知条件とするメッセージデータ600aが記憶装置590に記憶されている場合、通知判定部562は、状況情報通知部530から渡されるイベント情報が移動距離10kmを超えたことを示す場合に、通知条件が達成されたことを判定する。
【0113】
通知判定部562によりメッセージデータ600aの通知条件が達成されたことが判定されると、メッセージ読出部564は、条件が達成されたメッセージデータ600aを記憶装置590から読み出して、表示情報生成部566に供給する。表示情報生成部566は、メッセージを通知する通知部として機能し、具体的には、メッセージ読出部564から読み出されたメッセージを、ディスプレイ550に表示する表示情報を生成する。
【0114】
図22は、メッセージ出力処理のフローチャートを示す。通知判定部562が、状況情報通知部530から状況情報を取得する(S80)。通知判定部562は、取得した状況情報が、記憶装置590に記憶されたメッセージデータ600aの通知条件を満たしているか判定する(S82)。状況情報により、条件特定情報で特定される通知条件が満足される場合(S82のY)、メッセージ読出部564は、対応するメッセージデータ600aを記憶装置590から読み出し、表示情報生成部566に提供する(S84)。なお状況情報により、通知条件が満足されない場合(S82のN)、メッセージデータ600aの読出は行われない。表示情報生成部566は、ディスプレイ550にメッセージを表示する(S86)。なお、メッセージが音声である場合には、図示しない音声出力部から音声が通知される。
【0115】
以下、実施例2における属性情報について説明する。属性情報は、メッセージデータ600に含まれ、メッセージ606の属性を特定する。この属性情報は、一度読み出したメッセージデータ600を、開封済み、未開封、削除のいずれかの状態に設定することを定めるものである。属性情報は、メッセージの配信ユーザBにより設定される。
【0116】
属性情報により、削除することが定められる場合、メッセージ読出部564は、読み出したメッセージデータ600aを、記憶装置590から削除する。これにより、同じメッセージデータ600aが、通知条件が満たされるたびに表示される状況を回避する。
【0117】
属性情報により、開封済みとすることが定められる場合、メッセージ読出部564は、読み出したメッセージデータ600aに、開封済みフラグを設定する。開封済みフラグが設定されたメッセージデータ600aは、次回、通知条件が満たされた場合であっても、メッセージ読出部564により読み出されず、ユーザに通知されない。
【0118】
一方、属性情報により、未開封とすることが定められる場合、メッセージ読出部564は、読み出したメッセージデータ600aであっても、開封済みフラグを設定しない。開封済みフラグが設定されていないメッセージデータ600aは、次回、通知条件が満たされると、メッセージ読出部564により読み出されて、ユーザに通知される。
【0119】
なお情報処理装置500が、実施例1で説明したメッセージの閲覧機能を有する場合に、開封済みフラグが設定されたメッセージは閲覧可能に表示され、設定されていないメッセージは閲覧不能とされてもよい。
【0120】
なお、メッセージデータ生成部544が、メッセージの通知条件に応じて、属性情報を設定してもよい。たとえば図20(a)の時間条件設定画面において、「毎*曜日」、「毎日」などで時間条件が設定されている場合には、メッセージを複数回通知することが前提となっているため、メッセージデータ600aを削除することは好ましくなく、また開封済みとすることも好ましくない。したがって、メッセージデータ生成部544は、読み出し後、未開封とする属性情報を自動設定する。一方で、「*月*日:*時*分」、「*月*日:*時*分〜*月*日:*時*分」などで時間条件が設定されている場合には、メッセージを1度通知できればよいので、メッセージデータ生成部544は、読み出し後、開封済み、または削除とする属性情報を自動設定する。たとえば、「*月*日:*時*分」、「*月*日:*時*分〜*月*日:*時*分」などの時間条件が設定されている場合は、ユーザによる属性情報を受け付けず、メッセージデータ生成部544が、強制的に開封済み、または削除とする属性情報を設定するようにしてもよい。
【0121】
以上、本発明を複数の実施例をもとに説明した。これらの実施例は例示であり、それらの各構成要素や各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。実施例1および実施例2について説明したが、それぞれの実施例の内容を組み合わせることで、より効果的なメッセージの通知制御を実現できる。
【符号の説明】
【0122】
1・・・ゲームシステム、2・・・情報通知システム、10・・・ゲーム装置、12・・・表示機器、18・・・メッセージ提供サーバ、34・・・ハードディスクドライブ、40・・・ゲームコントローラ、60・・・メッセージデータ、70・・・入力領域、80・・・表示領域、200・・・システムソフトウェア、210・・・表示処理部、212・・・表示情報生成部、214・・・入力領域生成部、220・・・入力受付部、300・・・ゲームソフトウェア、302・・・アプリケーション実行部、304・・・条件達成検出部、306・・・イベントID通知部、400・・・メッセージ管理ユーティリティ、410・・・イベントID取得部、420・・・出力処理部、422・・・通知判定部、424・・・メッセージ読出部、426・・・メッセージデータ取得部、440・・・配信処理部、442・・・指示部、444・・・メッセージデータ生成部、446・・・送信データ生成部、460・・・通信部、500・・・情報処理装置、501・・・配信局、510・・・入力受付部、520・・・状況情報取得部、522・・・日時情報取得部、524・・・場所情報取得部、526・・・イベント情報取得部、530・・・状況情報通知部、540・・・配信処理部、542・・・入力領域生成部、544・・・メッセージデータ生成部、546・・・送信データ生成部、550・・・ディスプレイ、560・・・出力処理部、562・・・通知判定部、564・・・メッセージ読出部、566・・・表示情報生成部、568・・・メッセージデータ取得部、580・・・通信部、590・・・記憶装置、600・・・メッセージデータ。
【技術分野】
【0001】
本発明は、ユーザにメッセージを提供する技術に関する。
【背景技術】
【0002】
ユーザ間でメッセージを送受信するシステムの代表格に、電子メールシステムがある。電子メールシステムでは、ユーザから送信された電子メールをSMTP(Simple Mail Transfer Protocol)サーバがPOP(Post Office Protocol)サーバに転送する。POPサーバは、転送された電子メールを蓄積し、電子メールを受信するユーザは、POPサーバにアクセスすることで、電子メールを取得する。またリアルタイムにユーザ端末間でメッセージを送受信するシステムに、チャットシステムがある。チャットシステムでは、ユーザ端末がチャットサーバに接続することで、参加者より入力されたメッセージがリアルタイムに表示され、またユーザ端末から参加者にメッセージを送信できる。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】米国特許第6563999号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
電子メールシステムでは、ユーザがPOPサーバにアクセスすることがメッセージ取得の契機となるため、情報伝達の即時性は、チャットシステムより劣る。一方、チャットシステムは、情報伝達の即時性の観点からは優れたツールであるが、インターネットなどを介してチャットサーバにオンライン接続していなければ、メッセージの提供を受けることができない。そこで、オンライン接続しなくても、状況に応じた即時性をともなってメッセージの提供を受けられるシステムの開発が望まれる。
【0005】
そこで本発明は、メッセージを効果的にユーザに通知する技術を提供することを目的とする。
【課題を解決するための手段】
【0006】
上記課題を解決するために、本発明のある態様は、情報処理装置に関する。この態様の情報処理装置は、メッセージと、メッセージの通知条件とを含むメッセージデータを取得するメッセージデータ取得部と、取得したメッセージデータを記憶する記憶装置と、当該情報処理装置の状況情報を取得する状況情報取得部と、取得した状況情報が、記憶装置に記憶されたメッセージデータの通知条件を満たしているか判定する通知判定部と、通知判定部により、状況情報が通知条件を満たしていることが判定された場合に、メッセージを通知する通知部と、を備える。
【0007】
なお、以上の構成要素の任意の組合せ、本発明の表現を方法、装置、システム、記録媒体、コンピュータプログラムなどの間で変換したものもまた、本発明の態様として有効である。
【発明の効果】
【0008】
本発明によると、メッセージを効果的にユーザに通知する技術を実現できる。
【図面の簡単な説明】
【0009】
【図1】本発明の実施例1にかかるゲームシステムを示す図である。
【図2】ゲーム装置のハードウェアブロックを示す図である。
【図3】メッセージの管理処理を実行するゲームシステムの機能ブロックを示す図である。
【図4】メッセージデータのデータフォーマットを示す図である。
【図5】ゲーム装置の詳細構成を示す図である。
【図6】イベントIDと、プレイ条件とを対応付けたイベントテーブルの一例を示す図である。
【図7】ゲーム画面の一例を示す図である。
【図8】ゲーム画面に重畳表示される入力領域を示す図である。
【図9】(a)は、入力フォーマットの一例を示す図であり、(b)は、イベント決定画面の一例を示す図であり、(c)は、属性決定画面の一例を示す図である。
【図10】メッセージ生成処理のフローチャートを示す図である。
【図11】ゲーム画面に重畳表示される表示領域を示す図である。
【図12】ゲーム画面に重畳表示される表示領域の別の例を示す図である。
【図13】メッセージの閲覧画面の一例を示す図である。
【図14】メッセージ出力処理のフローチャートを示す図である。
【図15】本発明の実施例2にかかる情報通知システムを示す図である。
【図16】情報処理装置の構成を示す図である。
【図17】条件IDと条件種別との対応テーブルを示す図である。
【図18】メッセージデータのデータフォーマットを示す図である。
【図19】(a)は、入力フォーマットの一例を示す図であり、(b)は、条件設定画面の一例を示す図である。
【図20】(a)は、時間条件設定画面の一例を示す図であり、(b)は、場所条件設定画面の一例を示す図である。
【図21】メッセージ生成処理のフローチャートを示す図である。
【図22】メッセージ出力処理のフローチャートを示す図である。
【発明を実施するための形態】
【0010】
(実施例1)
まず、本発明の実施例1の概要を説明する。実施例1にかかるゲームシステムでは、ユーザ(ユーザA)がゲームプレイ中に、ゲームソフトウェアにより予め設定された条件(以下、「プレイ条件」または「ゲームプレイ条件」と呼ぶこともある)を達成すると、ハードディスクドライブ(HDD)やフラッシュメモリなどの記憶装置に予め記憶されているメッセージのうち、クリアしたプレイ条件に応じたメッセージがシステムソフトウェアによりゲーム画面上に表示される。プレイ条件は、たとえばレーシングゲームにおいて特別なレースで優勝することや、格闘ゲームにおいて特定の敵キャラクタを倒すことなど、ゲームソフトウェアにより適宜設定される。また、特定の敵キャラクタに倒されたことなど、本来はユーザに望ましくない結果などに対して、プレイ条件が設定されていてもよい。
【0011】
記憶装置に記憶されているメッセージは、ユーザAによるゲームプレイ前に、別のユーザ(ユーザB)が同じゲームのプレイ条件を達成した際に生成したものである。たとえば、ユーザBは、プレイ条件をクリアしたときの感想や、応援メッセージなどを生成する。ユーザBのゲーム装置は、メッセージと、クリアしたプレイ条件を特定する付加情報とを対応付けたデータを、たとえばユーザBがゲームプレイを終了した時点で、ユーザAのゲーム装置に送信する。このようにして、ユーザAの記憶装置に、ユーザBが作成したメッセージが蓄積される。ユーザAの記憶装置には、さらに別のユーザが作成したメッセージが蓄積されてもよい。ユーザAのゲームプレイ中に、同一プレイ条件を達成したときに生成されたユーザBのメッセージをユーザAに通知することで、プレイ状況にマッチしたメッセージを提供できる。これによりユーザAのゲーム装置がオフラインであっても、ユーザBとあたかも一緒にゲームをしているような環境を提供でき、メッセージ伝達の即時性を実現できる。
【0012】
なお、ユーザAに対して、ゲームメーカなどにより作成されたメッセージデータが提供されてもよい。メッセージは、チュートリアルやガイダンスなどの説明書として利用されてもよい。
【0013】
図1は、本発明の実施例1にかかるゲームシステムを示す。ゲームシステム1は、ゲームコントローラ40と、ゲームプログラムを実行するゲーム装置10aと、ゲーム装置10aによる処理結果を画像出力する表示機器12とを備える。ゲームコントローラ40は、ユーザにゲーム装置10aへの操作入力を行わせる入力インタフェース装置である。ゲームコントローラ40は、無線により操作入力を送信するものであってもよく、またケーブルでゲーム装置10aに接続されるものであってもよい。表示機器12はスピーカを有するテレビであってよい。表示機器12は、ゲーム装置10aに有線ケーブルで接続されてよく、また無線LAN(Local Area Network)などにより無線接続されてもよい。ゲーム装置10はルータ15を介して、ネットワーク16に接続するメッセージ提供サーバ18と通信可能に接続されており、所望のデータを送受信できる。
【0014】
メッセージ提供サーバ18は、ゲーム装置10aに対して、別のゲーム装置10bで生成されたメッセージを提供する。このメッセージには、ゲーム装置10bで達成されたプレイ条件を特定する情報が付加されている。ゲーム装置10aでは、ユーザがゲームソフトウェアにより予め設定されたプレイ条件をクリアすると、その条件に応じたメッセージを抽出して、表示機器12に表示する。なお提供されるメッセージは音声であってもよく、その場合ゲーム装置10aは、スピーカからメッセージを音声出力する。これにより、ゲームのプレイ状況に即した即時性の高いメッセージの通知が実現される。なお以下、特に区別しない場合には、ゲーム装置10a、ゲーム装置10bを「ゲーム装置10」と表現する。ゲーム装置10は、ゲーム専用機であってもよいが、エミュレータをインストールしてゲーム装置として動作するコンピュータであってもよい。
【0015】
図2は、ゲーム装置10のハードウェアブロック図を示す。ゲーム装置10は、電源ボタン20、LED22、システムコントローラ24、デバイスコントローラ30、メディアドライブ32、ハードディスクドライブ34、スイッチ36、無線インタフェース38、メインコントローラ100、メインメモリ102および出力処理部104を有して構成される。
【0016】
電源ボタン20は、ユーザからの操作入力が行われる入力部であって、ゲーム装置10への電源供給をオンまたはオフするために操作される。LED22は、電源のオンまたはオフの状態を点灯表示する。システムコントローラ24は、電源ボタン20の押下状態または非押下状態を検出し、電源オフの状態から押下状態への状態遷移を検出すると、メインコントローラ100を起動して、オペレーティングシステムのブートシーケンスを立ち上げるとともに、LED22を点灯制御する。ゲーム装置10に電源ケーブルが差し込まれている場合、システムコントローラ24は、電源オフの状態であってもスタンバイモードを維持して、電源ボタン20の押下を監視する。
【0017】
デバイスコントローラ30は、サウスブリッジのようにデバイス間の情報の受け渡しを実行するLSI(Large-Scale Integrated Circuit)として構成される。図示のように、デバイスコントローラ30には、システムコントローラ24、メディアドライブ32、ハードディスクドライブ34、スイッチ36およびメインコントローラ100などのデバイスが接続される。デバイスコントローラ30は、それぞれのデバイスの電気特性の違いやデータ転送速度の差を吸収し、データ転送のタイミングを制御する。ハードディスクドライブ34は、内蔵ハードディスクを駆動して、データの書込/読出を行う。内蔵ハードディスクは、データを記憶する記憶装置として機能する。メディアドライブ32は、ゲームソフトウェアを記録した読出専用の記録媒体50が装着されると、記録媒体50を駆動して認識し、記録媒体50から必要なデータを読み出すドライブ装置である。記録媒体50は、光ディスクや光磁気ディスクなどのメディアであってよい。
【0018】
スイッチ36は、イーサネットスイッチ(イーサネットは登録商標)であって、外部の機器と有線または無線で接続して、データの送受信を行うデバイスである。スイッチ36は、ネットワーク16を介して、メッセージ提供サーバ18との間でメッセージデータを送受信する。またスイッチ36は無線インタフェース38に接続し、無線インタフェース38は、Bluetooth(登録商標)プロトコルやIEEE802.11プロトコルなどの通信プロトコルで無線通信機能をもつゲームコントローラ40と接続する。ゲームコントローラ40に入力されたユーザの操作情報は、無線インタフェース38、スイッチ36、デバイスコントローラ30を通じてメインコントローラ100に供給される。
【0019】
メインコントローラ100は、マルチコアCPUを備え、1つのCPUの中に1つの汎用的なプロセッサコアと、複数のシンプルなプロセッサコアを有する。汎用プロセッサコアはPPU(Power Processing Unit)と呼ばれ、残りのプロセッサコアはSPU(Synergistic-Processing Unit)と呼ばれる。メインコントローラ100では、ゲーム装置10を効率よく使用するための機能、環境を提供し、装置全体を統括的に制御するオペレーティングシステム(以下、単に「OS(Operating System)」と呼ぶ)が実行される。本実施例におけるゲーム装置10のOS階層は、上位から、ユーザ層、カーネル(Kernel)層、ハイパーバイザ(Hypervisor)層の3階層をとり、ユーザ層、カーネル層とハイパーバイザ層のソフトウェアが一体となって、ゲーム装置10の「OS」として機能する。
【0020】
電源ボタン20により電源投入されると、システムコントローラ24は、デバイスコントローラ30を経由して、メインコントローラ100および出力処理部104に電源を供給する。メインコントローラ100に電源が供給されると、PPUは、まずOSのブートローダを実行して、ハイパーバイザ層を起動する。つづいて、PPUは、OSのカーネル層を起動し、さらにユーザ層を起動して、ハードディスクドライブ34または記録媒体50から供給されるデータの受入態勢を整える。これにより、メインコントローラ100は、ゲームプログラムを実行できる。
【0021】
メインコントローラ100は、メインメモリ102に接続するメモリコントローラを備える。PPUはレジスタを有し、演算実行主体としてメインプロセッサを備えて、実行するアプリケーションにおける基本処理単位としてのタスクを各SPUに効率的に割り当てる。なお、PPU自身がタスクを実行してもよい。SPUはレジスタを有し、演算実行主体としてのサブプロセッサとローカルな記憶領域としてのローカルメモリを備える。メインメモリ102およびローカルメモリは、RAM(ランダムアクセスメモリ)として構成される。SPUは制御ユニットとして専用のDMA(Direct Memory Access)コントローラをもち、メインメモリ102とローカルメモリの間のデータ転送を行うことで、データを高速にストリーム処理でき、また出力処理部104に内蔵されるフレームメモリとローカルメモリの間で高速なデータ転送を実現できる。
【0022】
出力処理部104は、表示機器12に接続されて、アプリケーションの処理結果である映像信号および音声信号を出力する。出力処理部104は、画像処理機能を実現するGPU(Graphics Processing Unit)を備える。GPUは、HDMI(High Definition Multimedia Interface)を採用し、映像信号をデジタル出力できる。
【0023】
ゲームシステム1において、ゲーム装置10は、メッセージを配信する機能を備えた情報処理装置としての側面、配信されたメッセージをユーザに出力する機能を備えた情報処理装置としての側面をもつ。図1においては、ゲーム装置10bがメッセージを配信し、ゲーム装置10aがメッセージをユーザに通知するとしたが、1つのゲーム装置10が、双方の側面を併せ持って構成されている。ゲーム装置10の機能は、ゲームソフトウェア、システムソフトウェアおよびメッセージ管理ユーティリティによって実現される。
【0024】
なお、本実施例において、ゲームシステム1は情報通知システムの例示である。すなわち、本実施例で説明するゲーム装置10の処理機能は、ゲームに限らず、他のアプリケーションを実行する情報処理装置に適用できる。情報処理装置では、システムソフトウェア、アプリケーションソフトウェアおよびメッセージ管理ユーティリティが実行される。以下、情報処理装置の一例として、システムソフトウェア、ゲームソフトウェアおよびメッセージ管理ユーティリティにより実現されるゲーム装置10の処理機能を説明する。
【0025】
ゲーム装置10のメッセージ配信機能の概要を説明する。ゲームソフトウェアは、ユーザによるゲームの進行状況において、予め設定したゲームのプレイ条件の達成を検出すると、ゲーム装置10にインストールされているメッセージ管理ユーティリティを呼び出し、達成された条件を特定する条件特定情報をメッセージ管理ユーティリティに通知する。ゲームプログラムには、この処理がハードコーディングされている。メッセージ管理ユーティリティは、システムソフトウェアに、メッセージの入力領域の生成を指示する。システムソフトウェアは、指示を受けると、ゲーム画面にメッセージの入力領域を生成する。ユーザがメッセージを入力すると、システムソフトウェアが、入力されたメッセージをメッセージ管理ユーティリティに渡し、メッセージ管理ユーティリティは、メッセージと、達成されたゲームのプレイ条件を特定する付加情報とを含めたメッセージデータを生成して、ハードディスクドライブ34に保存する。メッセージ管理ユーティリティは、送信先となるゲーム装置および/またはメッセージ提供サーバ18を宛先として指定するヘッダをメッセージデータに付加して送信データを生成し、所定のタイミングでメッセージ提供サーバ18に送信する。
【0026】
次に、ゲーム装置10のメッセージ出力機能の概要を説明する。メッセージ管理ユーティリティは、所定のタイミングでメッセージ提供サーバ18から、自分宛のメッセージデータをダウンロードし、ハードディスクドライブ34に格納しておく。ゲームソフトウェアは、ユーザによるゲームの進行状況において、予め設定したゲームのプレイ条件の達成を検出すると、ゲーム装置10にインストールされているメッセージ管理ユーティリティを呼び出し、達成された条件を特定する条件特定情報をメッセージ管理ユーティリティに通知する。ゲームプログラムには、この処理がハードコーディングされている。メッセージ管理ユーティリティは、達成されたゲームのプレイ条件を特定する条件特定情報を取得すると、取得した条件特定情報に対応する付加情報を含むメッセージデータのメッセージをハードディスクドライブ34から読み出し、システムソフトウェアに、メッセージの表示を指示する。システムソフトウェアは、指示を受けると、ゲーム画面にメッセージの表示情報を生成する。別のユーザが同じ条件の達成時に作成したメッセージをゲーム画面に表示することで、ゲームをオフラインで実行している場合であっても、あたかも別のユーザと同じタイミングでゲームを実行しているような臨場感のあるメッセージを提供することが可能となる。
【0027】
図3は、メッセージの管理処理を実行するゲームシステム1の機能ブロック図を示す。ゲーム装置10は、システムソフトウェア200、ゲームソフトウェア300およびメッセージ管理ユーティリティソフトウェア(以下、「メッセージ管理ユーティリティ」)400を実行する。システムソフトウェア200は、オペレーティングシステム(OS)であって、GUI(グラフィカルユーザインタフェース)を用いた表示処理機能などをもつ。メッセージ管理ユーティリティ400は、ゲームシステム1におけるメッセージの配信機能および出力機能を補助する役割をもつ。
【0028】
<メッセージ取得機能>
ゲームソフトウェア300は、その起動時にメッセージ管理ユーティリティ400から「メッセージ取得機能」を呼び出す。メッセージ取得機能は、メッセージ出力機能の一部を構成する。これにより、メッセージ管理ユーティリティ400は、スイッチ36を介してメッセージ提供サーバ18にメッセージ取得要求を送信し、メッセージ提供サーバ18は、当該ゲーム装置10宛てのメッセージデータを有していれば、ゲーム装置10に対してメッセージデータを送信する。メッセージ管理ユーティリティ400は、受信したメッセージデータ60aをハードディスクドライブ34に格納する。
【0029】
<メッセージ入力機能>
ゲームソフトウェア300は、ゲームのプレイ条件達成時に、メッセージ管理ユーティリティ400から「メッセージ入力機能」を呼び出す。メッセージ入力機能は、メッセージ配信機能の一部を構成する。これにより、メッセージ管理ユーティリティ400は、システムソフトウェア200にメッセージ入力領域を生成させ、入力領域に入力されたメッセージと、達成された条件を特定する付加情報とを、所定のフォーマットに収めたメッセージデータ60bを生成し、ハードディスクドライブ34に格納する。
【0030】
<メッセージ通知機能>
またゲームソフトウェア300は、ゲームのプレイ条件達成時に、メッセージ管理ユーティリティ400から「メッセージ通知機能」を呼び出す。メッセージ通知機能は、メッセージ出力機能の一部を構成する。これにより、メッセージ管理ユーティリティ400は、ハードディスクドライブ34から、同一条件の達成時に生成されたメッセージデータ60aを読み出し、システムソフトウェア200にメッセージ通知を行わせる。
【0031】
なおメッセージ入力機能とメッセージ通知機能の呼び出し契機は、それぞれゲームプレイ条件が達成されたことである。このときゲームソフトウェア300は、メッセージ入力機能とメッセージ通知機能とを同じタイミングで呼び出すのではなく、たとえば先にメッセージ通知機能を呼び出し、メッセージ通知処理が終了した後に、メッセージ入力機能を呼び出すようにしてもよい。
【0032】
<メッセージ送信機能>
ゲームソフトウェア300は、たとえばユーザによるゲームプレイの終了時に、メッセージ管理ユーティリティ400から「メッセージ送信機能」を呼び出す。メッセージ送信機能は、メッセージ配信機能の一部を構成する。これにより、メッセージ管理ユーティリティ400は、ゲームプレイ中に生成したメッセージデータ60bに、送信先となるゲーム装置を指定したヘッダを付加した送信データを生成し、メッセージ提供サーバ18に送信する。
以下、特に区別しない場合には、メッセージデータ60a、60bを「メッセージデータ60」と表現する。
【0033】
図4は、メッセージデータ60のデータフォーマットを示す。メッセージデータ60には、タイトルID62、条件特定情報64、属性66およびメッセージ68の各フィールドが設けられる。タイトルID62のフィールドには、ゲームタイトルを特定するための識別情報が含まれる。条件特定情報64のフィールドには、ゲームのプレイ条件を特定するための情報が含まれる。たとえば、ゲームソフトウェア300において、各プレイ条件に識別番号(ID)を割り当て、その識別番号をイベントID(「条件ID」と呼んでもよい)として表現している場合には、条件特定情報64は、達成されたゲームのイベントIDであってよい。なお、条件特定情報64は、プレイ条件そのものであってもよく、いずれにしても、メッセージ管理ユーティリティ400がプレイ条件を特定できる付加情報であればよい。属性66のフィールドには、メッセージ68の属性情報が含まれる。属性66は、基本的にはメッセージの配信者により設定されるが、他のユーザにより設定されてもよい。属性66の詳細については後述する。メッセージ68のフィールドには、ユーザにより入力されたメッセージが含まれる。
【0034】
以下に、ゲーム装置10の詳細を説明する。
図5は、図3に示したゲーム装置10の詳細構成を示す。ゲーム装置10における各機能は、システムソフトウェア200、ゲームソフトウェア300およびメッセージ管理ユーティリティ400を用いて実現される。メッセージ管理ユーティリティ400は、ゲームソフトウェア300により呼び出される際に、ゲームのタイトルIDを通知される。
【0035】
システムソフトウェア200は、オペレーティングシステム(OS)として動作し、表示処理部210および入力受付部220を備える。表示処理部210は、表示情報生成部212および入力領域生成部214を有する。ゲームソフトウェア300は、アプリケーション実行部302、条件達成検出部304およびイベントID通知部306を備える。
【0036】
メッセージ管理ユーティリティ400は、イベントID取得部410、出力処理部420、配信処理部440および通信部460を備える。出力処理部420は、通知判定部422、メッセージ読出部424およびメッセージデータ取得部426を有する。配信処理部440は、指示部442、メッセージデータ生成部444および送信データ生成部446を有する。
【0037】
図5において、さまざまな処理を行う機能ブロックとして記載される各要素は、ハードウェア的には、CPU(Central Processing Unit)、メモリ、その他のLSIで構成することができ、ソフトウェア的には、メモリにロードされたプログラムなどによって実現される。既述したように、メインコントローラ100には1つのPPUと複数のSPUとが設けられており、PPUおよびSPUがそれぞれ単独または協同して、各機能ブロックを構成できる。したがって、これらの機能ブロックがハードウェアのみ、ソフトウェアのみ、またはそれらの組合せによっていろいろな形で実現できることは当業者には理解されるところであり、いずれかに限定されるものではない。
【0038】
図1において、ゲーム装置10bが、メッセージの配信処理を行い、ゲーム装置10aが、メッセージの出力処理を行うゲームシステム1を示した。この例にしたがい、以下では、ユーザBのゲーム装置10bより配信されたメッセージデータを、ユーザAのゲーム装置10aが取得して出力するゲームシステム1を説明する。
【0039】
<メッセージの配信処理>
ゲーム装置10bのゲームソフトウェア300において、アプリケーション実行部302が、ユーザBによるゲームコントローラ40の操作入力を受けて、ゲームプログラムを実行する。本実施例1において、ゲームソフトウェア300は、ゲームのプレイ条件を予め設定し、各条件にイベントIDを割り当てている。ゲームソフトウェア300は、イベントが発生すると、そのイベントIDを出力するようにコーディングされている。イベントIDを割り当てられたプレイ条件の内容は、ユーザに公開されてもよく、また非公開とされてもよい。ゲームソフトウェア300は、各イベントのIDと、プレイ条件の内容とを対応付けたテーブルを有する。
【0040】
図6は、イベントIDと、プレイ条件とを対応付けたイベントテーブルの一例を示す。プレイ条件が達成されることは、ユーザがメッセージを入力するための契機となり、またユーザに他ユーザからのメッセージを通知するための契機となる。図示されるように、ラスボス(final boss)に勝つ(イベントID:01000000)というポジティブな結果だけでなく、ラスボスに負けた(イベントID:01000001)というネガティブな結果に対しても、イベントIDが割り当てられてよい。また、火山のダンジョン(イベントID:00001000)のように、「ダンジョンにいる間」というプレイ条件もイベントとして設定しうる。イベントテーブルは、ゲームメーカにより作成され、ゲームソフトウェア300に組み込まれている。なおイベントテーブルには、タイトルIDとゲームタイトル名とが対応付けられて記録されている。イベントテーブルに記述されているプレイ条件の内容は、後述するメッセージの入力画面や、メッセージの閲覧画面を生成する場合などに、ユーザに提示される。
【0041】
条件達成検出部304は、ゲームの進行状況から、イベントが発生したこと、すなわちゲームにおいて予め設定されたゲームのプレイ条件が達成されたことを検出する。この検出処理は、ゲームプログラムにハードコーディングされており、イベントが発生すると、そのイベントを特定するイベントIDを取得する処理がゲームプログラムに書き込まれている。条件達成の検出は、イベントIDを取得することに相当する。イベントID通知部306は、取得したイベントIDをメッセージ管理ユーティリティ400に通知する。
【0042】
図7は、アプリケーション実行部302により実行されて表示機器12に表示されるゲーム画面の一例を示す。このゲーム画面は、ゲームコントローラ40により操作されるユーザキャラクタが、敵のラスボスと対峙して、これから戦闘を開始する場面を示す。条件達成検出部304は、ユーザキャラクタがラスボスと対峙したときに、図6に示すイベント「ラスボスとの戦闘を開始する」に対応付けられているイベントIDを取得する。イベントID通知部306は、達成されたプレイ条件を特定するイベントID"00111111"をメッセージ管理ユーティリティ400に通知する。
【0043】
メッセージ管理ユーティリティ400において、イベントID取得部410は、通知されたイベントIDを取得し、指示部442に渡す。指示部442は、システムソフトウェア200の入力領域生成部214に、メッセージ入力領域の生成を指示する。入力領域生成部214は、メッセージの入力領域を生成して、ゲーム画面に重畳表示する。メッセージ入力領域は、ユーザがメッセージを入力するためのウィンドウであってよい。
【0044】
図8は、ゲーム画面に重畳表示される入力領域70を示す。入力領域生成部214は、メッセージの入力領域70を、ゲーム進行の邪魔にならないように、たとえばゲーム画面の端に近い位置に表示する。入力領域生成部214は、ゲーム画面の下端に入力領域70を表示してもよい。
【0045】
ユーザBは、入力領域70にメッセージを入力する。たとえば入力するメッセージは、「これから頑張るぞ」という感想であったり、他のユーザを意識して「これから頑張ろう」という応援であってよく、ユーザがゲームコントローラ40やキーボードなどのユーザインタフェースを用いて、自由にテキスト入力できるようにしてもよい。なお、定型文のメッセージを予め複数用意しておき、プルダウン形式で選択可能に表示することで、ユーザが簡単な操作でメッセージを選択入力できるようにしてもよい。
【0046】
メッセージ入力の際、ユーザBは所定のボタン、たとえばゲーム進行を一時停止させるPAUSEボタンを押して、ゲームの進行を止めるようにしてもよい。この場合、入力領域生成部214は、指示部442から指示を受け付けると、すぐに入力領域70をゲーム画面上に表示するのではなく、一旦、メッセージ入力可能であることを示す情報をゲーム画面に重畳表示する。ユーザBが、この情報を見てPAUSEボタンを押すと、アプリケーション実行部302がゲームの進行を一時停止した後、入力領域生成部214が入力領域70を画面表示する。将棋やチェスゲームなどのように、進行が比較的遅いゲームでは、入力領域生成部214は、入力領域70を進行中のゲーム画面に重畳表示してもよいが、格闘ゲームなど進行が速いゲームでは、PAUSEボタンの操作を受けて、入力領域生成部214が入力領域70を表示するように設定することが好ましい。なお、この表示制御の機能は、ゲームソフトウェア300により設定される。
【0047】
なお、ユーザは、所定のプレイ条件を達成した時点でメッセージを入力するのではなく、ゲームプレイを継続して、切りのいいところで、達成済みの複数のプレイ条件に対して、まとめてメッセージを入力したいこともある。このような場合では、入力領域生成部214は、ユーザに、メッセージ入力可能であることをプレイ条件が達成されるたびに通知し、メッセージ入力がなされなければ(たとえばPAUSEボタンが押されなければ)、メッセージ入力可能なイベントを蓄積していく。なお詳細については後述するが、入力領域生成部214は、ユーザが後にイベントを確認しやすいように、プレイ条件が達成されたときのゲーム画面のスクリーンショットを蓄積し、まとめてメッセージ入力がなされる際に、ユーザに提示してもよい。
【0048】
入力領域生成部214は、PAUSEボタンが操作された時点で、メッセージ入力可能なイベントのリストをユーザに提示し、ユーザがメッセージ入力できるようにする。なお、ユーザがメッセージ以外の入力も可能とするために、入力領域生成部214は、入力領域70において、所定の入力フォーマットをユーザに提示してもよい。
【0049】
図9(a)は、入力領域70に生成される入力フォーマットの一例を示す。この入力フォーマットでは、イベントを特定するためのタブ71、メッセージ属性を設定するためのタブ72、添付アイテムを定めるためのタブ73、メッセージ本文の入力画面を開くためのタブ74を含む。これらのタブは、上から順に選択できるようになっており、最初の表示では、タブ71のみがユーザに選択可能とされる。ユーザは、ゲームコントローラ40を操作することで、各タブを選択し、必要な情報を入力する。
【0050】
タブ71が操作されると、図9(b)に示すイベント決定画面78が表示される。イベント決定画面78の生成時、イベントID取得部410は、ゲームソフトウェア300からイベントテーブルを取得し、表示処理部210に渡す。入力領域生成部214は、メッセージ入力可能なイベント、すなわちイベントID通知部306よりイベントIDが通知されたが、まだメッセージが入力されていないイベントのIDを蓄積している。入力領域生成部214は、イベントテーブルを参照して、メッセージ未入力のイベントIDから「プレイ条件の内容」を抽出し、イベント決定画面78にリスト表示する。これにより、イベント決定画面78には、これまで達成したプレイ条件であって、且つメッセージ入力がなされていないプレイ条件の内容がリスト表示される。
【0051】
たとえばユーザキャラクタがラスボスに負けた場合、イベント決定画面78に、プレイ条件「ラスボスに負ける」が表示され、ラスボスに勝たなければ、プレイ条件「ラスボスに勝つ」は表示されない。イベント決定画面78は、入力領域70に重ならないように表示される。たとえば、イベント決定画面78において、イベントを選択すると、イベントの発生時(または発生中)のゲーム画面のスクリーンショットがサムネイル表示領域75に表示される。サムネイル表示領域75に表示されるスクリーンショットは、ユーザに過去のゲームプレイを思い出させる役割を持つ。なおプレイ条件76には、イベントの内容(図6に示すプレイ条件の内容)が記述される。ユーザがリスト表示されたイベントのいずれかを決定すると、図9(a)に示す入力フォーマットに戻る。
【0052】
ユーザがイベントを決定すると、タブ72がユーザに選択可能とされる。タブ72が操作されると、図9(c)に示す属性決定画面79が表示される。属性決定画面79には、入力するメッセージの属性がリスト表示される。「感想」属性は、「ボスキャラ強そう!」、「これから倒すぞ」など、ユーザが、そのイベントに対する感想メッセージを入力する際に選択される。「応援」属性は、「ガンバレ〜」など、ユーザが、他のユーザへの応援を意識したメッセージを入力する際に選択される。「ヒント」属性は、「ボスキャラは火に弱いみたい」など、ユーザが、他のユーザへのアドバイスを意識したメッセージを入力する際に選択される。なお、後述するが、「ヒント」属性が付加されたメッセージは、他のユーザのゲーム装置10において表示されるためには、そのユーザの承認を得る必要がある。
【0053】
ユーザが属性を決定すると、タブ73がユーザに選択可能とされる。タブ73が操作されると、ユーザは、他のユーザに配信するメッセージデータに、アイテムを含めることができる。ユーザが属性を決定したときに、タブ74もユーザに選択可能とされ、メッセージデータにアイテムを含めない場合には、ユーザは、タブ74を操作する。タブ74を操作すると、ユーザは、本文メッセージを入力する。
【0054】
システムソフトウェア200において、入力受付部220が、入力されたメッセージを受け付ける。なお、図9(a)に示す入力フォーマットにしたがってメッセージが入力される場合には、入力受付部220は、イベント(プレイ条件)を特定する情報、属性を特定する情報、アイテムを特定する情報などの付加情報も、メッセージとともに受け付ける。入力受付部220は、受け付けたメッセージおよび付加情報を、メッセージ管理ユーティリティ400のメッセージデータ生成部444に提供する。メッセージデータ生成部444は、メッセージおよび付加情報を用いて、図4に示すデータフォーマットで、メッセージデータを生成する。アイテムを添付する場合には、図4に示すデータフォーマットに、アイテムのフィールドが追加される。
【0055】
タイトルIDは、メッセージ管理ユーティリティ400が呼び出される際に、ゲームソフトウェア300より通知される。イベントID取得部410は、通知されたタイトルIDを、配信処理部440に渡しておく。なお、イベントID通知部306が、イベントIDを通知するたびに、一緒にタイトルIDをイベントID取得部410に通知し、イベントID取得部410が配信処理部440に渡してもよい。メッセージデータ生成部444は、タイトルIDを取得し、またメッセージおよび付加情報を提供されることで、図4に示すデータフォーマットのメッセージデータを生成する。なお実施例1において、メッセージデータ生成部444は、付加情報のうち、イベントID(条件特定情報)は必ずメッセージデータに含める。メッセージデータ生成部444は、生成したメッセージデータ60bをハードディスクドライブ34に格納する。
【0056】
ハードディスクドライブ34には、メッセージデータ60bを配信する宛先となるゲーム装置10aを特定する情報が予め格納されている。送信データ生成部446は、所定のタイミングで、ハードディスクドライブ34に格納されたメッセージデータ60bに、宛先情報を付加した送信データを生成し、通信部460が、メッセージ提供サーバ18に送信する。
【0057】
図10は、メッセージ生成処理のフローチャートを示す。図10に示すフローチャートにおいては、各部の処理手順を、ステップを意味するS(Stepの頭文字)と数字との組み合わせによって表示する。また、Sと数字との組み合わせによって表示した処理で何らかの判断処理が実行され、その判断結果が肯定的であった場合は、Y(Yesの頭文字)を付加して、例えば、(S10のY)と表示し、逆にその判断結果が否定的であった場合は、N(Noの頭文字)を付加して、(S10のN)と表示する。なお、フローチャートにおける表示の意味は、他の図面に示すフローチャートでも同じである。
【0058】
ゲームソフトウェア300において、アプリケーション実行部302が、ユーザからのゲームコントローラ40の操作入力を受けて、ゲームプログラムを実行する(S10)。条件達成検出部304は、ゲームの進行状況から、ゲームにおいて予め設定されたゲームのプレイ条件が達成されたか検出する(S12)。条件達成検出部304は、プレイ条件が達成されたことを検出すると(S12のY)、その条件に対してハードコーディングされているイベントIDを取得する。なお、イベントIDを取得したことをもって、プレイ条件の達成が検出されてもよい。イベントID通知部306は、取得したイベントIDを、メッセージ管理ユーティリティ400に通知する(S14)。なおゲームのプレイ条件が達成されなければ(S12のN)、イベントIDは通知されない。
【0059】
メッセージ管理ユーティリティ400において、イベントID取得部410は、通知されたイベントIDを取得し、指示部442に渡す。指示部442は、入力領域生成部214に、メッセージの入力領域70の生成を指示する(S16)。システムソフトウェア200において、入力領域生成部214は、メッセージの入力領域70を生成し(S18)、表示機器12に画面表示する。入力受付部220が、ユーザから入力されたメッセージを受け付け(S20)、メッセージデータ生成部444に渡す。メッセージデータ生成部444は、図4に示すフォーマットで、メッセージデータ60bを生成する(S22)。ゲームが終了するまで(S24のN)、このメッセージ生成処理は行われ、ゲームが終了すると(S24のY)、メッセージ生成処理は終了する。なお生成されたメッセージデータは、通信部460によりメッセージ提供サーバ18を介してゲーム装置10aに送信される。
【0060】
<メッセージの出力処理>
続いて、ゲーム装置10aにおけるメッセージの出力処理を説明する。ゲーム装置10aのゲームソフトウェア300は、その起動時にメッセージ管理ユーティリティ400から「メッセージ取得機能」を呼び出す。メッセージ管理ユーティリティ400において、通信部460が、メッセージ提供サーバ18にアクセスして、自機宛てのメッセージデータの配信を要求する。メッセージ提供サーバ18は、メッセージデータを保持する場合、通信部460に送信する。このとき、ゲームソフトウェア300で実行されるゲームタイトルにかかわらず、メッセージ提供サーバ18に保持されている全てのゲームタイトルのメッセージデータが通信部460に送信される。メッセージデータ取得部426は、通信部460を介してメッセージデータ60aを取得し、ハードディスクドライブ34に格納する。これにより、プレイ条件に応じたメッセージをユーザAに提示するための環境が整えられる。
【0061】
ゲームソフトウェア300において、アプリケーション実行部302が、ユーザAによるゲームコントローラ40の操作入力を受けて、ゲームプログラムを実行する。既述したように、ゲームプログラムには、イベント発生によりイベントIDを取得する処理がハードコーディングされている。
【0062】
条件達成検出部304は、ゲームの進行状況から、イベントが発生したこと、すなわちゲームにおいて予め設定されたゲームのプレイ条件が達成されたことを検出する。イベントID通知部306は、取得したイベントIDをメッセージ管理ユーティリティ400に通知する。
【0063】
メッセージ管理ユーティリティ400において、イベントID取得部410は、通知されたイベントIDを取得し、通知判定部422に渡す。なお、イベントID取得部410は、メッセージ管理ユーティリティ400がゲームソフトウェア300より呼び出された時点で、出力処理部420にタイトルIDを渡しておく。通知判定部422は、ハードディスクドライブ34に記憶された同一タイトルIDをもつメッセージデータ60aの中で、イベントID取得部410より渡されたイベントIDに対応する付加情報をもつメッセージデータ60aが存在するか判定する。ここで、メッセージデータ60aに含まれる条件特定情報64は、他のゲーム装置10bにおいて達成されたプレイ条件を特定するイベントIDである。この場合、通知判定部422は、イベントID取得部410で取得したイベントIDと、メッセージデータ60aに含まれるイベントIDとを比較し、一致している場合には、取得したイベントIDに対応するメッセージデータ60aが存在することを判定する。この判定結果はメッセージ読出部424に渡され、メッセージ読出部424は、該当するメッセージデータ60aをハードディスクドライブ34から読み出して、システムソフトウェア200における表示情報生成部212に供給する。
【0064】
表示情報生成部212は、メッセージを通知する通知部として機能し、具体的には、メッセージ読出部424から読み出されたメッセージを、ゲーム画面に重畳表示する表示情報を生成する。なお、メッセージが音声である場合には、スピーカが通知部として機能し、メッセージがスピーカから音声出力される。
【0065】
図11は、ゲーム画面に重畳表示される表示領域80を示す。表示情報生成部212は、メッセージの表示領域80を、ゲーム進行の邪魔にならないように、たとえばゲーム画面の端に近い位置に表示する。メッセージが複数存在する場合には、表示領域80が、画面上下方向に並べて配置されてもよい。表示領域80には、メッセージを作成したユーザのユーザ名やアイコン画像が含まれてもよい。なお、ユーザ名やアイコン画像を表示するためには、予め配信されるメッセージデータ60に、ユーザ名やアイコン画像を含ませておく。他のユーザが作成したメッセージを、同じプレイ条件の達成時に通知することで、あたかも一緒にゲームをプレイしているような感覚を与えることができ、臨場感あふれるプレイ環境を実現できる。
【0066】
表示情報生成部212は、表示開始から所定時間経過後に、表示領域80の表示を終了する。なお表示時間は、ユーザにより設定できるようにしてもよく、またユーザのゲームコントローラ40操作により、表示が終了されるようにしてもよい。
【0067】
メッセージ表示の際、ユーザAはたとえば、ゲーム進行を一時停止させるPAUSEボタンを押して、ゲームの進行を止めるようにしてもよい。この場合、表示情報生成部212は、メッセージ読出部424からのメッセージ読出を受けて、すぐに表示領域80をゲーム画面上に表示するのではなく、一旦、メッセージ通知可能であることを示す情報をゲーム画面に重畳表示する。ユーザが、この情報を見てPAUSEボタンを押すと、アプリケーション実行部302がゲームの進行を一時停止した後、表示情報生成部212が表示領域80を画面表示する。なお、この表示制御の機能は、ゲームソフトウェア300により設定される。
【0068】
図12は、ゲーム画面に重畳表示される表示領域80の別の例を示す。メッセージデータ60aに属性が設定されている場合、表示情報生成部212は、属性ごとに、メッセージを表示するようにしてもよい。ユーザは、たとえばメッセージ属性を表現するタブ81、82、83を選択することで、その属性のメッセージを見ることができる。なお、「感想」属性および「応援」属性をもつメッセージについては、タブ81、82を介さず、図11に示すように、表示領域80内にメッセージが直接表示されてもよい。一方、「ヒント」属性をもつメッセージについては、ゲーム攻略の手がかりが含まれており、場合によっては、プレイ中のユーザの興味を減らす可能性もあるので、タブ83を介さなければ見えないようにしてもよい。このように表示情報生成部212は、設定された属性に応じて、メッセージの表示態様を異ならせてもよい。
【0069】
なお、表示情報生成部212は、ユーザに対して、取得したメッセージデータ60aを閲覧できる画面を提供してもよい。たとえば、閲覧画面には、ゲームタイトルと、メッセージデータ60aを送信したユーザ名やユーザアイコンと、メッセージの内容とが表示される。
【0070】
図13は、メッセージの閲覧画面の一例を示す。閲覧画面の生成時、イベントID取得部410は、ゲームソフトウェア300からイベントテーブルを取得する。メッセージ読出部424は、ハードディスクドライブ34に記憶されているメッセージデータ60aを読み出し、またイベントID取得部410から、イベントテーブルを取得する。なおゲームソフトウェア300から読み出されたイベントテーブルがハードディスクドライブ34に予め格納されていてもよく、その場合には、メッセージ読出部424がハードディスクドライブ34からイベントテーブルを読み出す。メッセージ読出部424は、イベントテーブルおよびメッセージデータ60aを、表示情報生成部212に提供する。
【0071】
表示情報生成部212は、メッセージデータ60aの条件特定情報64に対応付けられているプレイ条件の内容を、イベントテーブルから抽出する。また表示情報生成部212は、イベントテーブルから、ゲームタイトル名を抽出する。表示情報生成部212は、ゲームタイトル名84、プレイ条件の内容85およびメッセージ86を用いて、メッセージの閲覧画面を生成する。これにより、ユーザAは、届いたメッセージをまとめて閲覧できる。
【0072】
なお、まだユーザAが「ラスボスに負ける」というプレイ条件を達成していない場合には、そのプレイ条件に対するメッセージがユーザBから届いていた場合であっても、メッセージ内容は表示されない。たとえば、表示情報87として、ユーザ名(ユーザB)のみを表示するようにする。表示情報生成部212は、あくまでもユーザAが達成したプレイ条件に関するメッセージのみを閲覧できるようにする。ユーザAは、メッセージを読むことで、プレイしていたときの臨場感を思い出せる。またゲームプレイ中にメッセージを読まなかったときでも、閲覧画面からあらためてメッセージを読めるようになる。また、達成していないプレイ条件に関するメッセージについては、メッセージを配信したユーザ名のみを表示することで、ユーザAは、ユーザBが既にそのプレイ条件をクリアしていることを認識でき、ユーザAに、その条件を達成しようとするインセンティブを与えることができる。
【0073】
なお、以上は、ゲーム装置10aが、別のゲーム装置10bからメッセージデータ60aをダウンロードする場合について説明したが、ゲームメーカが用意したメッセージデータ60aをダウンロードしてもよい。またゲームソフトウェア300にメッセージデータ60aが含まれていてもよく、この場合、たとえばゲームソフトウェア300の初回起動時に、メッセージデータ60aは、ゲームソフトウェア300からハードディスクドライブ34に読み出されてもよい。ゲームメーカは、たとえばゲームの説明書として利用可能なメッセージデータ60aを作成する。ゲーム装置10のメッセージ出力機能を利用して、システムソフトウェア200による情報通知を行うことで、ゲームソフトウェア300に説明書の表示機能を作り込む必要がなく、ソフトウェア開発の工程を省力化できるという利点がある。
【0074】
図14は、メッセージ出力処理のフローチャートを示す。ゲームソフトウェア300において、アプリケーション実行部302が、ユーザからのゲームコントローラ40の操作入力を受けて、ゲームプログラムを実行する(S30)。条件達成検出部304は、ゲームの進行状況から、ゲームにおいて予め設定されたゲームのプレイ条件が達成されたか検出する(S32)。条件達成検出部304は、プレイ条件が達成されたことを検出すると(S32のY)、その条件に対してハードコーディングされているイベントIDを取得する。なお、イベントIDを取得したことをもって、プレイ条件の達成が検出されてもよい。イベントID通知部306は、取得したイベントIDを、メッセージ管理ユーティリティ400に通知する(S34)。なおゲームのプレイ条件が達成されなければ(S32のN)、イベントIDは通知されない。
【0075】
メッセージ管理ユーティリティ400において、イベントID取得部410は、通知されたイベントIDを取得し、通知判定部422に渡す。通知判定部422は、渡されたイベントIDに、ハードディスクドライブ34に記憶されたメッセージデータ60aのイベントIDが一致するものを探索する(S36)。イベントIDが一致するメッセージデータ60aが存在する場合(S36のY)、メッセージ読出部424は、そのイベントIDをもつメッセージデータ60aをハードディスクドライブ34から読み出し、表示情報生成部212に提供する(S38)。なおイベントIDが一致するメッセージデータ60aが存在しない場合(S36のN)、メッセージデータ60aの読出は行われない。表示情報生成部212は、表示領域80にメッセージを表示する(S40)。ゲームが終了するまで(S42のN)、このメッセージ出力処理は行われ、ゲームが終了すると(S42のY)、メッセージ出力処理は終了する。
【0076】
(実施例2)
本発明の実施例2の情報通知システムの概要を説明する。なお、実施例1において、情報処理装置の一例として説明したゲーム装置10の構成および機能は、実施例2の情報処理装置において同様に含まれてよく、また実施例2において説明する情報処理装置の構成および機能は、実施例1のゲーム装置10において同様に含まれてよい。
【0077】
実施例2において、ユーザ(ユーザA)の情報処理装置は、予め別のユーザ(ユーザB)から配信されたメッセージデータを保持している。このメッセージデータには、メッセージと、メッセージの通知条件とが含まれており、ユーザAの情報処理装置がおかれている環境などが、通知条件を満たした(達成した)場合に、メッセージがユーザに通知される。
【0078】
メッセージデータには、時間(Time)、場所(Place)、場合(Occasion)の少なくとも1つの条件が、通知条件として設定されている。以下、時間で指定する条件を「時間条件」、場所を指定する条件を「場所条件」、場合を指定する条件を「イベント条件」と呼ぶ。これらの条件は、メッセージの通知条件を定めるために、単独で用いられても、組み合わせて用いられてもよい。以下、各条件の使用場面を示す。
【0079】
<時間条件による通知>
ユーザBは、1月1日の午前0時になったことを通知条件とするメッセージデータを、その日時の前にユーザAの情報処理装置に送信する。ユーザBは、たとえば「あけましておめでとう」というメッセージを送信する。ユーザAの情報処理装置は、現在日時が1月1日の午前0時になると、通知条件が満たされたことを判定し、ユーザAにメッセージを通知する。通知の手法は様々考えられるが、たとえば情報処理装置のディスプレイにメッセージを表示してもよく、また、スピーカからメッセージを音声出力してもよい。
【0080】
<場所条件による通知>
ユーザBは、あるレストランCに入店することを通知条件とするメッセージデータを、ユーザAの情報処理装置に送信する。ユーザBは、たとえば「このレストランおいしいよ」というメッセージを送信する。ユーザAの情報処理装置は、たとえばGPS(Global Positioning System)からの位置情報より、現在位置がレストランC内であれば、通知条件が満たされたことを判定し、ユーザAにメッセージを通知する。
【0081】
<イベント条件による通知>
ユーザBは、1日で10km歩いたことを通知条件とするメッセージデータを、ユーザAの情報処理装置に送信する。ユーザBは、たとえば「今日10km歩いてるよ」というメッセージを送信する。ユーザAの情報処理装置は、たとえばGPSからの位置情報より1日の移動距離を求め、10km移動していれば、通知条件が満たされたことを判定し、ユーザAにメッセージを通知する。たとえば、情報処理装置は、所定速度以下で移動したときの距離を導出することで、自動車などでの移動距離を除外し、歩行による移動距離を導出してもよい。
【0082】
<組み合わせ条件による通知>
ユーザBは、マラソンで21km走ったことを通知条件とするメッセージデータを、ユーザAの情報処理装置に送信する。ユーザBは、たとえば「あと半分だよ。がんばって」というメッセージを送信する。マラソンのスタート日時が10月10日の10時であれば、時間条件を「10月10日の10時以降」と設定し、イベント条件を「21km移動したこと」と設定することで、10月10日の10時スタートのマラソンで21km走ったことが通知条件として設定される。ユーザAの情報処理装置は、GPSからの位置情報より10時以降の移動距離を求め、21km移動していれば、通知条件が満たされたことを判定し、ユーザAにメッセージを通知する。
【0083】
図15は、本発明の実施例2にかかる情報通知システム2を示す。情報通知システム2は、ユーザAに保持される情報処理装置500a、ユーザBに保持される情報処理装置500b、およびメッセージデータの配信局501を備える。ここでは、情報処理装置500bをメッセージデータの送信端末、情報処理装置500aをメッセージデータの受信端末として示している。なお、図15では、無線通信によりメッセージデータが送受信される情報通知システム2が示されているが、メッセージデータは有線通信により送受信されてもよい。また、情報処理装置500aは、USBメモリなどのリムーバブルタイプのメモリ装置から、メッセージデータを取得してもよく、その場合、情報処理装置500aは、通信機能を有さなくてもよい。なお以下、特に区別しない場合には、情報処理装置500a、情報処理装置500bを「情報処理装置500」と表現する。以下では、メッセージデータの送受信機能を有する情報処理装置500を説明する。
【0084】
図16は、情報通知システムにおける情報処理装置500の構成を示す。情報処理装置500における各機能は、システムソフトウェアおよびメッセージ管理ユーティリティを用いて実現される。情報処理装置500は、携帯電話など、携帯型の端末装置であってもよいが、据置型の端末装置であってもよい。なお、受信端末として情報処理装置500を利用する場合、特に携帯型であれば、情報通知システム2における利用場面は増大する。
【0085】
情報処理装置500は、入力受付部510、状況情報取得部520、状況情報通知部530、配信処理部540、ディスプレイ550、出力処理部560、通信部580および記憶装置590を備える。状況情報取得部520は、日時情報取得部522、場所情報取得部524およびイベント情報取得部526を有する。配信処理部540は、入力領域生成部542、メッセージデータ生成部544および送信データ生成部546を有する。出力処理部560は、通知判定部562、メッセージ読出部564、表示情報生成部566およびメッセージデータ取得部568を有する。
【0086】
図16において、さまざまな処理を行う機能ブロックとして記載される各要素は、ハードウェア的には、CPU(Central Processing Unit)、メモリ、その他のLSIで構成することができ、ソフトウェア的には、メモリにロードされたプログラムなどによって実現される。したがって、これらの機能ブロックがハードウェアのみ、ソフトウェアのみ、またはそれらの組合せによっていろいろな形で実現できることは当業者には理解されるところであり、いずれかに限定されるものではない。
【0087】
記憶装置590には、メッセージデータ600aおよび/またはメッセージデータ600bが記憶される。以下では、メッセージデータ600bを配信するためのデータ、メッセージデータ600aをユーザに通知するためのデータとして説明するが、特に区別しない場合には、メッセージデータ600a、600bを「メッセージデータ600」と表現する。メッセージデータ600には、通知条件の種別を特定する条件IDと、通知条件を特定する条件特定情報とが含まれる。
【0088】
図17は、条件IDと条件種別との対応テーブルを示す。実施例2では、条件種別として、時間条件、場所条件、イベント条件が用意されており、それぞれに対して条件IDが割り当てられる。
【0089】
図18は、メッセージデータ600のデータフォーマットを示す。メッセージデータ600には、条件ID602a、602b(以下、「条件ID602」と呼ぶこともある)、条件特定情報604a、604b(以下、「条件特定情報604」と呼ぶこともある)およびメッセージ606の各フィールドが設けられる。条件ID602のフィールドには、条件種別を特定するための識別情報が含まれる。条件特定情報604のフィールドには、通知条件を特定するための情報が含まれる。たとえば、情報通知システム2において予め用意された通知条件が存在する場合に、各通知条件に対して識別番号(ID)が割り当てられて、その通知条件IDが条件特定情報604として利用されてもよい。
【0090】
図示の例では、2つの通知条件が含まれている。なお、条件ID602a、条件ID602bは、たとえば時間条件とイベント条件など、異種の条件を特定するIDであってもよいが、両者とも同種の条件を特定するIDであってもよい。条件ID602および条件特定情報604の組み合わせは、通知条件の数だけメッセージデータ600に含められる。
【0091】
メッセージ606のフィールドには、ユーザにより入力されたメッセージが含まれる。なお、図4に示した属性66などの情報がメッセージデータ600に含まれてもよい。
【0092】
図15において、情報処理装置500bが、メッセージの配信処理を行い、情報処理装置500aが、メッセージの出力処理を行う情報通知システム2を示した。この例にしたがい、以下では、情報処理装置500bより配信されたメッセージデータを、情報処理装置500aが取得して出力する情報通知システム2を説明する。
【0093】
<メッセージの配信処理>
情報処理装置500bにおいて、入力受付部510が、ユーザBによる入力インタフェース装置からの操作入力を受け付ける。入力受付部510が、メッセージの入力指示を受け付けると、配信処理部540にメッセージの入力処理を指示する。配信処理部540において、入力領域生成部542は、メッセージの入力領域を生成して、ディスプレイ550に表示する。
【0094】
図19(a)は、ディスプレイ550に表示される入力フォーマットの一例を示す。この入力フォーマットは、通知条件を特定するためのタブ610、添付ファイルを定めるためのタブ611、メッセージ本文の入力画面を開くためのタブ612を含む。ユーザBは、入力インタフェース装置を操作することで、各タブを選択し、必要な情報を入力する。
【0095】
タブ610が操作されると、ディスプレイ550に図19(b)に示す条件設定画面が表示される。条件設定画面には、通知条件を設定するための情報が表示される。条件設定画面には、時間タブ620、AND/OR選択領域621、場所タブ622、AND/OR選択領域623およびイベントタブ624が設定される。
【0096】
時間タブ620が操作されると、ディスプレイ550に図20(a)に示す時間条件設定画面が表示される。時間条件設定画面には、時間条件を設定するための選択肢が表示される。なお、*で表現している箇所には、ユーザより数字や曜日などが入力される。
【0097】
「*月*日:*時*分」は、通知日時を特定する場合に選択される。「*月*日:*時*分〜*月*日:*時*分」は、通知期間を特定する場合に選択される。「毎*曜日」は、通知曜日を特定する場合に選択される。「毎日」は、通知日を毎日とする場合に選択される。「*時*分」は、「毎*曜日」または「毎日」が選択された場合に、通知時刻を特定する場合に選択される。
【0098】
場所タブ622が操作されると、ディスプレイ550に図20(b)に示す場所条件設定画面が表示される。場所条件設定画面には、緯度、経度で特定される場所条件を設定するための選択肢が表示される。「現在地」、「登録地A」、「登録地B」などの他に、住所を入力するための入力領域も表示される。「現在地」が選択された場合、情報処理装置500において、場所情報取得部524が、GPSから、緯度、経度で特定される現在地情報を取得する。また、住所が入力された場合には、たとえば地図サーバなどに問い合わせて、その住所の緯度、経度情報が取得されてもよい。
【0099】
イベントタブ624タブが操作されると、ディスプレイ550に、イベント条件を設定するための入力領域が表示される。たとえばディスプレイ550にソフトウェアキーボードが用意され、ユーザは、ソフトウェアキーボードを用いて入力領域にイベント条件を入力する。受信側の情報処理装置500aは、イベント条件の解読機能を備えて構成され、これにより入力されたイベント条件が、情報処理装置500aにおいて処理可能な情報に変換される。なお、典型的なイベント条件については、情報通知システム2において予め用意され、テンプレート(条件リスト)としてユーザに提示されるようにしてもよい。このとき、条件リストの各条件には、情報通知システム2において使用されるIDが設定され、このIDにより条件が特定されるようにしてもよい。
【0100】
AND/OR選択領域621、623は、各条件の関係を示す論理演算子を設定する領域である。なお、条件が設定されていない場合には、その条件の上側にある論理演算子は、無視されるようにしてもよい。たとえば場所条件が設定されていない場合には、AND/OR選択領域621で設定される論理演算子は、通知条件の決定に影響を及ぼさない。時間条件およびイベント条件が設定され、AND/OR選択領域623がANDに設定されている場合には、AND/OR選択領域621の設定にかかわらず、時間条件とイベント条件との論理積が、通知条件として設定される。
【0101】
図19(a)に戻って、タブ611が操作されると、メッセージに添付するコンテンツの選択画面が表示される。ユーザBは、写真や音楽など、ユーザAに送りたいコンテンツを選択できる。
【0102】
タブ612が操作されると、メッセージの入力画面が表示される。ユーザBは、ユーザインタフェース装置や、たとえばソフトウェアキーボードを用いて、自由にメッセージを入力する。なおタブ612が操作されたとき、音声メッセージが入力できるようにしてもよい。
【0103】
図16に戻って、入力受付部510は、ユーザから入力されたメッセージ、および通知条件などの付加情報を受け付け、メッセージデータ生成部544に渡す。メッセージデータ生成部544は、メッセージおよび付加情報を用いて、図18に示すデータフォーマットで、メッセージデータを生成する。コンテンツを添付する場合には、図18に示すデータフォーマットに、コンテンツのフィールドが追加される。またメッセージの属性情報を含める場合には、属性情報のフィールドが追加される。メッセージデータ生成部544は、生成したメッセージデータ600bを記憶装置590に格納する。
【0104】
記憶装置590には、メッセージデータ600bを配信する宛先となる情報処理装置500aを特定する情報が予め格納されている。送信データ生成部546は、所定のタイミングで、記憶装置590に格納されたメッセージデータ600bに、宛先情報を付加した送信データを生成する。通信部580は、生成された送信データを配信局501に送信し、配信局501は情報処理装置500aに送信する。
【0105】
図21は、メッセージ生成処理のフローチャートを示す。入力受付部510が、メッセージの入力指示を受け付けると、入力領域生成部542が、メッセージの入力領域を生成して、ディスプレイ550に表示する(S60)。入力受付部510は、入力された通知条件を受け付け(S62)、また入力されたメッセージを受け付けると(S64)、メッセージデータ生成部544に渡す。メッセージデータ生成部544は、図18に示すフォーマットで、メッセージデータ600bを生成する(S66)。生成されたメッセージデータ600bは、ユーザAの情報処理装置500aに送信される。
【0106】
<メッセージの出力処理>
情報処理装置500aにおいて、通信部580は、配信局501にアクセスして、自機宛てのメッセージデータの配信を要求する。配信局501は、メッセージデータを保持する場合、通信部580に送信する。なお、配信局501は、情報処理装置500a宛てのメッセージデータを受信すると、すぐに情報処理装置500aに転送してもよい。メッセージデータ取得部568は、通信部580を介してメッセージデータ600aを取得し、記憶装置590に格納する。これにより、情報処理装置500aの状況に応じたメッセージをユーザに提示するための環境が整えられる。
【0107】
状況情報取得部520は、情報処理装置500aの状況情報を取得する。状況情報は、情報処理装置500aの現在の環境情報や周囲の環境情報を含み、また情報処理装置500aの状態情報や稼働情報などを含む。
【0108】
日時情報取得部522が、時計機能などから、現在の日時情報、すなわち現在の年月日と時間情報を取得する。また場所情報取得部524は、GPSなどにより現在の場所情報を取得する。イベント情報取得部526は、情報処理装置500aに発生しているイベント情報を取得する。イベント情報取得部526は、たとえば情報処理装置500aが移動中であることや、バッテリ残量が少ないことなど、情報通知システム2でイベントとして設定されている状況を取得する。以下、日時情報、場所情報およびイベント情報を、まとめて状況情報と呼ぶこともある。日時情報取得部522、場所情報取得部524およびイベント情報取得部526は、取得した情報を、それぞれ状況情報通知部530に渡す。
【0109】
日時情報取得部522、場所情報取得部524およびイベント情報取得部526の機能は、それぞれアプリケーションソフトウェアにより実現されてもよい。たとえば、日時情報取得部522は、現在時刻の分が00分、30分になると日時情報を状況情報通知部530に渡す条件を設定されたアプリケーションであってよい。場所情報取得部524は、GPS情報より、別の市に移動したことが判定されたときに、場所情報を状況情報通知部530に渡す条件を設定されたアプリケーションであってよい。イベント情報取得部526は、イベントが発生したこと、たとえばバッテリ残量が所定量を下回ったことが判定されたときに、イベント情報を状況情報通知部530に渡す条件を設定されたアプリケーションであってよい。なお、日時情報取得部522、場所情報取得部524およびイベント情報取得部526は、取得した情報を、それぞれ定期的に状況情報通知部530に渡すアプリケーションであってもよい。
【0110】
状況情報通知部530は、状況情報取得部520から情報を渡されると、その情報を通知判定部562に通知する。すなわち状況情報通知部530は、状況情報取得部520において設定された条件が達成された場合に、状況情報を通知判定部562に通知する。なお、状況情報通知部530は、日時情報取得部522、場所情報取得部524およびイベント情報取得部526より、それぞれ異なるタイミングで情報を取得するため、それらをまとめて所定のタイミング(たとえば定期的に)通知判定部562に状況情報を通知するようにしてもよい。
【0111】
通知判定部562は、取得した状況情報が、記憶装置590に記憶されたメッセージデータ600aの条件特定情報で特定される通知条件を満たしているか判定する。たとえば、「1月1日の午前0時」になったことを通知条件とするメッセージデータ600aが記憶装置590に記憶されている場合、通知判定部562は、状況情報通知部530から渡される日時情報が「1月1日の午前0時」であれば、通知条件が達成されたことを判定する。このとき通知判定部562は、メッセージデータ600aに含まれる条件ID602を参照して、メッセージデータ600aに設定されている通知条件の種別を特定し、取得した状況情報と対比することが好ましい。たとえば、上記例では、時間条件のみが通知条件とされており、通知判定部562は、時間条件以外の条件を比較する必要がない。条件ID602を有効に利用することで、判定時間を短縮することができる。
【0112】
「緯度X、経度Y」のレストランCに入ることを通知条件とするメッセージデータ600aが記憶装置590に記憶されている場合、通知判定部562は、状況情報通知部530から渡される場所情報が「緯度X、経度Y」であれば、通知条件が達成されたことを判定する。また、10km歩いたことを通知条件とするメッセージデータ600aが記憶装置590に記憶されている場合、通知判定部562は、状況情報通知部530から渡されるイベント情報が移動距離10kmを超えたことを示す場合に、通知条件が達成されたことを判定する。
【0113】
通知判定部562によりメッセージデータ600aの通知条件が達成されたことが判定されると、メッセージ読出部564は、条件が達成されたメッセージデータ600aを記憶装置590から読み出して、表示情報生成部566に供給する。表示情報生成部566は、メッセージを通知する通知部として機能し、具体的には、メッセージ読出部564から読み出されたメッセージを、ディスプレイ550に表示する表示情報を生成する。
【0114】
図22は、メッセージ出力処理のフローチャートを示す。通知判定部562が、状況情報通知部530から状況情報を取得する(S80)。通知判定部562は、取得した状況情報が、記憶装置590に記憶されたメッセージデータ600aの通知条件を満たしているか判定する(S82)。状況情報により、条件特定情報で特定される通知条件が満足される場合(S82のY)、メッセージ読出部564は、対応するメッセージデータ600aを記憶装置590から読み出し、表示情報生成部566に提供する(S84)。なお状況情報により、通知条件が満足されない場合(S82のN)、メッセージデータ600aの読出は行われない。表示情報生成部566は、ディスプレイ550にメッセージを表示する(S86)。なお、メッセージが音声である場合には、図示しない音声出力部から音声が通知される。
【0115】
以下、実施例2における属性情報について説明する。属性情報は、メッセージデータ600に含まれ、メッセージ606の属性を特定する。この属性情報は、一度読み出したメッセージデータ600を、開封済み、未開封、削除のいずれかの状態に設定することを定めるものである。属性情報は、メッセージの配信ユーザBにより設定される。
【0116】
属性情報により、削除することが定められる場合、メッセージ読出部564は、読み出したメッセージデータ600aを、記憶装置590から削除する。これにより、同じメッセージデータ600aが、通知条件が満たされるたびに表示される状況を回避する。
【0117】
属性情報により、開封済みとすることが定められる場合、メッセージ読出部564は、読み出したメッセージデータ600aに、開封済みフラグを設定する。開封済みフラグが設定されたメッセージデータ600aは、次回、通知条件が満たされた場合であっても、メッセージ読出部564により読み出されず、ユーザに通知されない。
【0118】
一方、属性情報により、未開封とすることが定められる場合、メッセージ読出部564は、読み出したメッセージデータ600aであっても、開封済みフラグを設定しない。開封済みフラグが設定されていないメッセージデータ600aは、次回、通知条件が満たされると、メッセージ読出部564により読み出されて、ユーザに通知される。
【0119】
なお情報処理装置500が、実施例1で説明したメッセージの閲覧機能を有する場合に、開封済みフラグが設定されたメッセージは閲覧可能に表示され、設定されていないメッセージは閲覧不能とされてもよい。
【0120】
なお、メッセージデータ生成部544が、メッセージの通知条件に応じて、属性情報を設定してもよい。たとえば図20(a)の時間条件設定画面において、「毎*曜日」、「毎日」などで時間条件が設定されている場合には、メッセージを複数回通知することが前提となっているため、メッセージデータ600aを削除することは好ましくなく、また開封済みとすることも好ましくない。したがって、メッセージデータ生成部544は、読み出し後、未開封とする属性情報を自動設定する。一方で、「*月*日:*時*分」、「*月*日:*時*分〜*月*日:*時*分」などで時間条件が設定されている場合には、メッセージを1度通知できればよいので、メッセージデータ生成部544は、読み出し後、開封済み、または削除とする属性情報を自動設定する。たとえば、「*月*日:*時*分」、「*月*日:*時*分〜*月*日:*時*分」などの時間条件が設定されている場合は、ユーザによる属性情報を受け付けず、メッセージデータ生成部544が、強制的に開封済み、または削除とする属性情報を設定するようにしてもよい。
【0121】
以上、本発明を複数の実施例をもとに説明した。これらの実施例は例示であり、それらの各構成要素や各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。実施例1および実施例2について説明したが、それぞれの実施例の内容を組み合わせることで、より効果的なメッセージの通知制御を実現できる。
【符号の説明】
【0122】
1・・・ゲームシステム、2・・・情報通知システム、10・・・ゲーム装置、12・・・表示機器、18・・・メッセージ提供サーバ、34・・・ハードディスクドライブ、40・・・ゲームコントローラ、60・・・メッセージデータ、70・・・入力領域、80・・・表示領域、200・・・システムソフトウェア、210・・・表示処理部、212・・・表示情報生成部、214・・・入力領域生成部、220・・・入力受付部、300・・・ゲームソフトウェア、302・・・アプリケーション実行部、304・・・条件達成検出部、306・・・イベントID通知部、400・・・メッセージ管理ユーティリティ、410・・・イベントID取得部、420・・・出力処理部、422・・・通知判定部、424・・・メッセージ読出部、426・・・メッセージデータ取得部、440・・・配信処理部、442・・・指示部、444・・・メッセージデータ生成部、446・・・送信データ生成部、460・・・通信部、500・・・情報処理装置、501・・・配信局、510・・・入力受付部、520・・・状況情報取得部、522・・・日時情報取得部、524・・・場所情報取得部、526・・・イベント情報取得部、530・・・状況情報通知部、540・・・配信処理部、542・・・入力領域生成部、544・・・メッセージデータ生成部、546・・・送信データ生成部、550・・・ディスプレイ、560・・・出力処理部、562・・・通知判定部、564・・・メッセージ読出部、566・・・表示情報生成部、568・・・メッセージデータ取得部、580・・・通信部、590・・・記憶装置、600・・・メッセージデータ。
【特許請求の範囲】
【請求項1】
メッセージと、メッセージの通知条件とを含むメッセージデータを取得するメッセージデータ取得部と、
取得したメッセージデータを記憶する記憶装置と、
当該情報処理装置の状況情報を取得する状況情報取得部と、
取得した状況情報が、前記記憶装置に記憶されたメッセージデータの通知条件を満たしているか判定する通知判定部と、
前記通知判定部により、状況情報が通知条件を満たしていることが判定された場合に、メッセージを通知する通知部と、
を備えることを特徴とする情報処理装置。
【請求項2】
前記状況情報取得部は、時間情報、場所情報、イベント情報の少なくとも1つを、状況情報として取得することを特徴とする請求項1に記載の情報処理装置。
【請求項3】
前記通知判定部により、状況情報が通知条件を満たしていることが判定された場合に、前記記憶装置からメッセージデータを読み出す読出部をさらに備えることを特徴とする請求項1または2に記載の情報処理装置。
【請求項4】
前記読出部は、メッセージデータを読み出すと、前記記憶装置から、そのメッセージデータを削除することを特徴とする請求項3に記載の情報処理装置。
【請求項5】
メッセージデータには、メッセージの属性を特定する属性情報が含まれており、
前記読出部は、属性情報に応じて、読み出したメッセージデータを、開封済み、未開封、削除のいずれかの状態に設定することを特徴とする請求項3または4に記載の情報処理装置。
【請求項6】
コンピュータに、
メッセージと、メッセージの通知条件とを含むメッセージデータを取得する機能と、
取得したメッセージデータを記憶装置に記憶する機能と、
状況情報を取得する機能と、
取得した状況情報が、記憶装置に記憶されたメッセージデータの通知条件を満たしているか判定する機能と、
状況情報が通知条件を満たしていることが判定された場合に、メッセージを通知する機能と、
を実現させるためのプログラム。
【請求項7】
請求項6に記載のプログラムを記録したコンピュータ読み取り可能な記録媒体。
【請求項1】
メッセージと、メッセージの通知条件とを含むメッセージデータを取得するメッセージデータ取得部と、
取得したメッセージデータを記憶する記憶装置と、
当該情報処理装置の状況情報を取得する状況情報取得部と、
取得した状況情報が、前記記憶装置に記憶されたメッセージデータの通知条件を満たしているか判定する通知判定部と、
前記通知判定部により、状況情報が通知条件を満たしていることが判定された場合に、メッセージを通知する通知部と、
を備えることを特徴とする情報処理装置。
【請求項2】
前記状況情報取得部は、時間情報、場所情報、イベント情報の少なくとも1つを、状況情報として取得することを特徴とする請求項1に記載の情報処理装置。
【請求項3】
前記通知判定部により、状況情報が通知条件を満たしていることが判定された場合に、前記記憶装置からメッセージデータを読み出す読出部をさらに備えることを特徴とする請求項1または2に記載の情報処理装置。
【請求項4】
前記読出部は、メッセージデータを読み出すと、前記記憶装置から、そのメッセージデータを削除することを特徴とする請求項3に記載の情報処理装置。
【請求項5】
メッセージデータには、メッセージの属性を特定する属性情報が含まれており、
前記読出部は、属性情報に応じて、読み出したメッセージデータを、開封済み、未開封、削除のいずれかの状態に設定することを特徴とする請求項3または4に記載の情報処理装置。
【請求項6】
コンピュータに、
メッセージと、メッセージの通知条件とを含むメッセージデータを取得する機能と、
取得したメッセージデータを記憶装置に記憶する機能と、
状況情報を取得する機能と、
取得した状況情報が、記憶装置に記憶されたメッセージデータの通知条件を満たしているか判定する機能と、
状況情報が通知条件を満たしていることが判定された場合に、メッセージを通知する機能と、
を実現させるためのプログラム。
【請求項7】
請求項6に記載のプログラムを記録したコンピュータ読み取り可能な記録媒体。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【公開番号】特開2011−253453(P2011−253453A)
【公開日】平成23年12月15日(2011.12.15)
【国際特許分類】
【出願番号】特願2010−128199(P2010−128199)
【出願日】平成22年6月3日(2010.6.3)
【出願人】(310021766)株式会社ソニー・コンピュータエンタテインメント (417)
【Fターム(参考)】
【公開日】平成23年12月15日(2011.12.15)
【国際特許分類】
【出願日】平成22年6月3日(2010.6.3)
【出願人】(310021766)株式会社ソニー・コンピュータエンタテインメント (417)
【Fターム(参考)】
[ Back to top ]