[1.実施形態1]
以下、本発明の実施形態の例について図面に基づき詳細に説明する。本実施形態では、本発明に係るメッセージ送信サーバ及びメッセージ表示端末を、複数のユーザが参加するチャットを制御するメッセージ制御システムに適用した場合を例に挙げて説明する。
[1−1.メッセージ制御システムの全体構成]
図1は、実施形態に係るメッセージ制御システムの全体構成を示す図である。図1に示すように、メッセージ制御システム1は、メッセージ送信サーバ10及び複数のメッセージ表示端末20を含む。メッセージ送信サーバ10及び各メッセージ表示端末20は、通信ネットワーク2を介して、互いにデータ送受信可能に接続される。
メッセージ送信サーバ10は、サーバコンピュータによって実現される。図1に示すように、メッセージ送信サーバ10は、制御部11、記憶部12、及び通信部13を含む。制御部11は、例えば、マイクロプロセッサ等を含み、オペレーティングシステムやその他のプログラムに従って処理を実行する。記憶部12は、主記憶部(例えば、RAM)及び補助記憶部(例えば、ハードディスクドライブ又はソリッドステートドライブ)を含む。通信部13は、通信ネットワーク2を介してデータ通信を行うためのものである。
メッセージ表示端末20は、ユーザが操作するコンピュータである。例えば、メッセージ表示端末20は、携帯電話機(スマートフォンを含む)、携帯情報端末(タブレット型コンピュータを含む)、ゲーム機、又はパーソナルコンピュータによって実現される。図1に示すように、メッセージ表示端末20は、制御部21、記憶部22、通信部23、操作部24、及び表示部25を含む。
制御部21、記憶部22、及び通信部23は、メッセージ送信サーバ10の制御部11、記憶部12、及び通信部13と同様である。操作部24は、入力デバイスであり、例えば、タッチパネル等である。表示部25は、例えば、液晶表示パネル又は有機ELディスプレイ等であり、制御部21の指示に従って各種画像を表示する。
なお、本実施形態において、記憶部12や記憶部22に記憶されるものとして説明するプログラムやデータは、例えば、通信ネットワーク2を介してメッセージ送信サーバ10やメッセージ表示端末20に供給されるようにしてもよい。また、メッセージ送信サーバ10又はメッセージ表示端末20は、コンピュータで読み取り可能な情報記憶媒体(例えば、メモリカード)に記憶されたプログラム又はデータを読み取るための構成要素を含むようにしてもよい。そして、情報記憶媒体を介してメッセージ送信サーバ10又はメッセージ表示端末20にプログラムやデータを供給するようにしてもよい。
[1−2.メッセージ制御システムにおいて実行されるチャット]
次に、ゲームをプレイする4人のユーザが、共通の敵を倒すために協力しながらチャットを行う場面を例に挙げて、メッセージ制御システム1において実行されるチャットについて説明する。ここでは、これら4人のユーザを、それぞれユーザA、B、C及びDと記載する。また、ここでのユーザとは、メッセージを入力する人(メッセージ表示端末20を操作する人)である。
図2は、ユーザAのメッセージ表示端末20に表示されるチャット画像の一例を示す図である。図2に示すように、チャット画像30には、複数のユーザの各々のメッセージを表すメッセージオブジェクト32A〜32C(以降、これらをまとめてメッセージオブジェクト32ともいう。)と、チャットに参加する各ユーザを表すアバタ画像34A〜34D(以降、これらをまとめてアバタ画像34ともいう。)と、が表示される。
メッセージは、ユーザが操作する端末間で伝達される情報の内容であり、例えば、ユーザにより入力又は指定された、記号列、画像、動画像、音声、又はこれらの組み合わせ等のことである。ここでの記号列とは、文字列(テキスト)の他に、言語以外の記号(例えば、顔文字、アスキーアート、又はユーザ同士でのみ通じる暗号などを構成するプラスマイナスなどの記号)を含む意味である。メッセージオブジェクトは、メッセージを表す画像ともいえる。即ち、単にメッセージと記載した場合は、テキストなどの内容自体を示し、メッセージオブジェクトと記載した場合は、表示部25における表示対象を示し、これらを区別する。なお、メッセージオブジェクト32は、図2のように2次元で表されるものではなく、仮想空間内で3次元で表されるものであってもよい。
メッセージオブジェクト32Aは、ユーザDが入力したメッセージを示す。このため、ユーザDのアバタ画像34Dから吹き出しが伸びるように、メッセージオブジェクト32Aが表示されている。同様に、メッセージオブジェクト32B及び32Cは、それぞれ、ユーザB及びAが入力したメッセージを示す。このため、メッセージオブジェクト32Bは、ユーザBのアバタ画像34Bから吹き出しが伸びるように表示され、メッセージオブジェクト32Cは、ユーザAのアバタ画像34Aから吹き出しが伸びるように表示される。このように、各メッセージオブジェクト32は、メッセージの入力者を識別可能な表示態様で表示されている。ここでの入力者とは、人そのものではなく、メッセージを入力したユーザを識別する情報(例えば、ユーザの名称やアカウント)やメッセージ表示端末20を識別する情報である。
また、チャット画像30では、メッセージが新しいほど、メッセージオブジェクト32が上に表示されるようになっている。このため、図2に示す画面例では、最上面に表示されたメッセージオブジェクト32Aが示すメッセージが最も新しく、最下面に表示されたメッセージオブジェクト32Cが示すメッセージが最も古いことになる。更に、各メッセージオブジェクト32は、一定時間が経過すると、チャット画像30から消去されるようになっている。即ち、折り重なって表示される各メッセージオブジェクト32は、最下面にあるものから消去される。
ユーザAは、入力フォーム36にメッセージを入力して送信ボタン38を選択すると、新たなメッセージを送信することができる。即ち、ユーザAが送信ボタン38を選択すると、入力フォーム36に入力したメッセージを表す新たなメッセージオブジェクト32が、ユーザAのアバタ画像34Aから伸びるように表示される。更に、本実施形態では、ユーザAは、入力フォーム36にメッセージを入力しなくても、既に表示されているメッセージオブジェクト32を選択することで、そのメッセージオブジェクト32が表すメッセージを流用して、新たなメッセージとすることができる。
図3は、ユーザAがメッセージを流用した場合の画面遷移図である。図3に示すように、ユーザAが、ユーザDのメッセージを表すメッセージオブジェクト32Dを、自分のアバタ画像34Aにドラッグアンドドロップすると(図3のチャット画像30Aの状態)、そのメッセージオブジェクト32Dが示すメッセージを流用して、自分が入力したメッセージとして発言することができる。このため、チャット画像30Bに示すように、メッセージオブジェクト32Dが示すメッセージと同じメッセージを表すメッセージオブジェクト32Eが、ユーザAの発言として表示される。
なお、図2及び図3では、ユーザAのメッセージ表示端末20に表示されるチャット画像30を例に挙げて説明したが、ユーザB、C、及びDのチャット画像30でも同様に、ユーザAが流用したメッセージを表すメッセージオブジェクト32Dが表示される。更に、ユーザB、C、及びDも、上記と同様に、自分のメッセージ表示端末20に表示されたメッセージオブジェクト32を自分のアバタ画像34にドラッグアンドドロップすることで、そのメッセージオブジェクト32が表すメッセージを流用して、自分の発言とすることができる。以下、本技術を実現するための処理を詳細に説明する。
[1−3.メッセージ制御システムにおいて実現される機能]
図4は、メッセージ制御システム1で実現される機能のうち、本発明に関連する機能を示す機能ブロック図である。ここでは、各メッセージ表示端末20で実現される機能を説明した後に、メッセージ送信サーバ10で実現される機能を説明する。なお、図4では、簡略化のため、1つのメッセージ表示端末20のみ図示しているが、各メッセージ表示端末20で同様の機能が実現される。
[1−3−1.各メッセージ表示端末で実現される機能]
各メッセージ表示端末20では、データ記憶部50、入力操作受付部52、送信操作受付部54、選択操作受付部56、送受信部58、及び表示制御部60が実現される。入力操作受付部52、送信操作受付部54、及び選択操作受付部56は、制御部21及び操作部24を主として実現され、送受信部58は、制御部21及び通信部23を主として実現され、表示制御部60は、制御部21及び表示部25を主として実現される。
[データ記憶部]
データ記憶部50は、チャット画像30を表示させるために必要なデータを記憶する。例えば、データ記憶部50は、後述する送受信部58がメッセージ送信サーバ10の送受信部64から受信したメッセージに関するメッセージデータを記憶する。なお、一定時間が経過したメッセージオブジェクト32は表示部25から消去されるので、そのメッセージオブジェクト32を表示させるためのデータは、一定時間経過後、データ記憶部50から消去するようにしてもよい。
[入力操作受付部]
入力操作受付部52は、メッセージの入力を受け付ける。例えば、入力操作受付部52は、ユーザによる記号列の入力や画像の指定を受け付ける。なお、メッセージに含まれる画像は、メッセージ表示端末20に記憶されていてもよいし、メッセージ送信サーバ10に記憶されていてもよい。
[送信操作受付部]
送信操作受付部54は、入力されたメッセージを送信するための送信操作を受け付ける。送信操作は、予め定められた操作であればよく、本実施形態では、送信操作受付部54は、入力フォーム36に入力されたメッセージを送信するための送信ボタン38の選択を受け付けることになる。
[選択操作受付部]
選択操作受付部56は、メッセージオブジェクト32を選択するための選択操作を受け付ける。選択操作は、送信操作とは異なる操作である。選択操作は、表示部25に表示されたメッセージオブジェクト32のうち少なくとも一つを指定する操作ともいえる。選択操作では、選択操作をするユーザが入力したメッセージ(即ち、自分が入力したメッセージ)を表すメッセージオブジェクト32が選択されてもよいし、選択操作をするユーザとは異なるユーザが入力したメッセージ(即ち、他人が入力したメッセージ)を表すメッセージオブジェクト32が選択されてもよい。
なお、選択操作は、第1の選択操作と第2の選択操作との2つの操作に分けてもよい。この場合、例えば、「第1の選択操作」は、メッセージオブジェクト32をドラッグすることに相当し、「第2の選択操作」は、それを所定の位置(自分のアバタ画像34などの位置)にドロップすることに相当する。また、選択操作は、これに限られず、タップ、ダブルタップ、タップしたまま長押しすること、ピンチアウト、又はピンチインしてメッセージオブジェクト32を選択することであってもよい。
[送受信部]
送受信部58は、メッセージ送信サーバ10の送受信部64と各種データを送受信する。本実施形態では、送受信部58は、メッセージ送信サーバ10のデータ生成部70が生成したメッセージデータを送受信部58を介して受信する。送受信部58が受信したメッセージデータは、データ記憶部50に記録される。
また例えば、送受信部58は、メッセージが入力されたことを示すメッセージ入力通知をメッセージ送信サーバ10に送信する。メッセージ入力通知とは、その送信元においてメッセージが入力されたことを示す通知であり、予め定められた形式のデータを送信することで行われる。ここでの送信元とは、メッセージの入力及び送信操作を受け付けたメッセージ表示端末20(送信操作をしたユーザのメッセージ表示端末20)である。
メッセージ入力通知には、入力フォーム36に入力されたメッセージやその入力者を特定する情報(例えば、ユーザを特定する情報やメッセージ表示端末20を特定する情報)が含まれる。メッセージ入力通知は、各ユーザのメッセージ表示端末20において、入力フォーム36にメッセージが入力された状態で送信ボタン38が選択されたときに、そのメッセージ表示端末20から送信される。別の言い方をすれば、メッセージ入力通知は、ユーザが送信操作をしたときに送信される。
また、送受信部58は、選択操作受付部56が選択操作を受け付けたことを示すメッセージ選択通知を送信する。メッセージ選択通知とは、その送信元においてメッセージオブジェクト32が選択されたことを示す通知であり、予め定められた形式のデータを送信することで行われる。ここでの送信元とは、選択操作を受け付けたメッセージ表示端末20(選択操作をしたユーザのメッセージ表示端末20)である。
メッセージ選択通知には、選択されたメッセージオブジェクト32が表すメッセージを識別する情報(例えば、メッセージID)やその送信元を特定する情報(例えば、ユーザを特定する情報やメッセージ表示端末20を特定する情報)が含まれる。メッセージ選択通知は、各ユーザのメッセージ表示端末20において、メッセージオブジェクト32が選択されたときに、そのメッセージ表示端末20から送信される。別の言い方をすれば、メッセージ選択通知は、ユーザが選択操作をしたときに送信される。
[表示制御部]
表示制御部60は、後述する送受信部58が送信したメッセージデータに基づいて、チャット画像30を表示部25に表示させる。表示制御部60は、各ユーザが入力したメッセージを表すメッセージオブジェクト32を、そのメッセージの入力者を識別可能な表示態様で表示させる。
入力者を識別可能な表示態様とは、メッセージオブジェクト32が表すメッセージの入力者を特定できるように表示させることである。入力者を識別する情報は、入力者を示す画像又は記号列であり、ここでは、アバタ画像34に相当する。例えば、表示制御部60は、メッセージオブジェクト32と入力者を識別する情報とを関連付けて表示させる。具体的には、表示制御部60は、アバタ画像34から吹き出しが伸びるようにメッセージオブジェクト32を表示させたり、アバタ画像34とメッセージオブジェクト32を線で接続させたりする。他にも例えば、表示制御部60は、メッセージオブジェクト32とアバタ画像34を互いに同じ表示態様(例えば、同じ色、模様、輝度、形状、大きさ)で表示させることで、入力者を識別可能なようにしてもよい。
本実施形態では、表示制御部60は、選択操作がなされることに応じて生成されるメッセージに関するメッセージデータであって、選択されたメッセージオブジェクト32を利用して生成されるメッセージデータに基づいて、選択されたメッセージオブジェクト32が表すメッセージに基づいて定まるメッセージを表すメッセージオブジェクト32を、当該選択操作をしたユーザを入力者として識別可能な表示態様で表示させる。ここでは、後述するデータ生成部70が、上記メッセージデータを生成する。
選択されたメッセージオブジェクト32が表すメッセージに基づいて定まるメッセージとは、選択されたメッセージオブジェクト32が表すメッセージと同じメッセージ、又は、選択されたメッセージオブジェクト32が表すメッセージを変更したメッセージである。上記同じメッセージとは、選択操作により選択されたメッセージオブジェクト32が示すメッセージと内容が同一であるメッセージ(選択操作により選択されたメッセージオブジェクト32が示すメッセージと完全一致するメッセージ)である。一方、上記変更したメッセージとは、選択されたメッセージオブジェクト32が表すメッセージと内容の一部が共通するメッセージ(選択操作により選択されたメッセージオブジェクト32が示すメッセージと部分一致するメッセージ)である。なお、異なる部分(流用元と異なる部分)は、ユーザが手入力したものではなく、メッセージ送信サーバ10又はメッセージ表示端末20側で別の記号列や画像をつけ足し又は置き換えたり、一部の記号列や画像を削除したりしたものである。実施形態1では、表示制御部60が上記同じメッセージを表示させる場合を説明し、変形例で、表示制御部60が上記変更したメッセージを表示させる場合を説明する。
なお、実施形態1では、何れかのユーザが選択操作を行うと、それに応じてメッセージ送信サーバ10のデータ生成部70がメッセージデータを生成する場合を説明するが、後述する実施形態2及び3で説明するように、メッセージ表示端末20側でメッセージデータが生成されるようにしてもよい。
[1−3−2.メッセージ送信サーバで実現される機能]
メッセージ送信サーバ10では、データ記憶部62、送受信部64、及びデータ生成部70が実現される。例えば、データ記憶部62は、記憶部12を主として実現され、送受信部64は、制御部11及び通信部13を主として実現され、データ生成部70は、制御部11を主として実現される。
[データ記憶部]
データ記憶部62は、メッセージデータを格納するメッセージデータベースを記憶する。図5は、メッセージデータベースのデータ格納例を示す図である。図5に示すように、メッセージデータベースには、メッセージID、入力者情報、メッセージ、及び時刻情報が関連付けられて格納される。メッセージデータベースに格納される各レコードが、メッセージデータに相当する。メッセージデータは、メッセージを管理(例えば、メッセージを特定又は表示等)するために必要なデータであり、ここでは、メッセージを表示するために必要なデータを含んだデータといえる。図5に示すメッセージIDは、各メッセージを一意に識別するための情報である。入力者情報は、入力者を識別する情報であり、ここでは、メッセージを入力(送信)したユーザを識別する情報である。時刻情報は、メッセージの入力時間である。時刻情報は、日時を示してもよいし、時刻のみを示してもよい。
なお、データ記憶部62に記憶されるデータは、上記の例に限られない。データ記憶部62は、ユーザ間でのメッセージのやり取りを実現するためのデータを記憶していればよい。例えば、データ記憶部62は、チャットに参加するユーザを識別する情報や、各ユーザの詳細情報を記憶していてもよい。他にも例えば、データ記憶部62は、メッセージオブジェクト32やアバタ画像34などの各種画像データを記憶してもよい。
[送受信部]
送受信部64は、送受信部58と各種データを送受信する。ここでは、送受信部64は、通知受信部66及びデータ送信部68を含む。通知受信部66は、各ユーザのメッセージ表示端末20から、メッセージが入力されたことを示すメッセージ入力通知を受信する。また、通知受信部66は、各ユーザのメッセージ表示端末20から、メッセージを表すメッセージオブジェクト32が選択されたことを示すメッセージ選択通知を受信する。
データ送信部68は、データ生成部70が生成したメッセージデータを、各ユーザのメッセージ表示端末20に送信する。例えば、データ送信部68は、各ユーザが入力したメッセージデータを、各メッセージ表示端末20に送信する。また例えば、データ送信部68は、送受信部64が受信したメッセージ選択通知に応じて、選択されたメッセージオブジェクト32が表すメッセージに基づいて定まるメッセージに関するメッセージデータ(本実施形態では、選択されたメッセージオブジェクト32が表すメッセージと同じメッセージに関するメッセージデータ)を、当該メッセージ選択通知の送信元のユーザを入力者として、各ユーザのメッセージ表示端末20に送信することになる。
[データ生成部]
データ生成部70は、メッセージ入力通知やメッセージ選択通知を受信すると、その受信内容に基づいて、メッセージデータを生成する。例えば、データ生成部70は、送受信部64が受信したメッセージ入力通知に応じて、メッセージ入力通知が示すメッセージにメッセージIDを発行して、メッセージ入力通知の送信元を示す入力者情報及び現在日時とともにメッセージデータベースに格納する。
また例えば、データ生成部70は、送受信部64が受信したメッセージ選択通知に応じて、選択されたメッセージオブジェクト32を利用して、選択されたメッセージオブジェクト32が表すメッセージに基づいて定まるメッセージデータ(ここでは、選択されたメッセージオブジェクト32が表すメッセージと同じメッセージ)を、当該メッセージ選択通知の送信元のユーザを入力者として生成する。
選択されたメッセージオブジェクト32を利用するとは、選択されたメッセージオブジェクト32が表すメッセージを識別する情報(ここでは、メッセージID)を使うことであり、選択されたメッセージオブジェクト32が表すメッセージデータに格納された情報を参照することともいえる。ここでは、データ生成部70は、選択操作により選択されたメッセージオブジェクト32が表すメッセージのメッセージIDを特定し、そのメッセージIDが示すメッセージに基づいて定まるメッセージ(本実施形態では、上記特定されたメッセージIDが示すメッセージと同じメッセージ)に、新たにメッセージIDを付与して、メッセージ選択通知の送信元を示す入力者情報及び現在日時とともにメッセージデータベースに格納する。即ち、データ生成部70は、メッセージ選択通知を受信すると、その後に何らかの通知を受信しなくても、自動的にメッセージデータを生成する。
[1−4.メッセージ制御システムにおいて実行される処理]
図6は、メッセージ制御システム1が実行する処理を示すフロー図である。図6に示す処理は、複数のユーザが参加するチャットが開始する場合に、制御部11が、記憶部12に記憶されたプログラムに従って動作し、制御部21が、記憶部22に記憶されたプログラムに従って動作することによって実行される。下記に説明する処理が実行されることにより、図4に示す機能ブロックが実現される。なお、図6では、簡略化のために、一つのメッセージ表示端末20のみを図示しているが、各メッセージ表示端末20で同様の処理が実行される。
まず、図6に示すように、メッセージ表示端末20においては、制御部21は、チャット画像30を表示部25に表示させる(S1)。S1において表示されるチャット画像30は、初期画面なので、まだメッセージオブジェクト32は表示されていない。なお、本実施形態では、ゲームの実行中にチャットが行われるので、各ユーザの操作に基づいてゲームも進行しているものとする。
制御部21は、入力フォーム36にメッセージが入力された状態で送信ボタン38が選択されたか否かを判定する(S2)。ユーザは、操作部24を操作して入力フォーム36に記号列や画像を入力して、送信ボタン38を選択することで、メッセージを送信することができる。なお、入力フォーム36にメッセージが入力されていない状態では、送信ボタン38が選択できないようにしてもよい。
送信ボタン38が選択されたと判定された場合(S2;Y)、制御部21は、メッセージ入力通知を、メッセージ送信サーバ10に送信する(S3)。なお、各メッセージ表示端末20からメッセージ送信サーバ10に対して通知が送信される場合には、ユーザID(メッセージ表示端末20又はメッセージ表示端末20を操作するユーザ等を特定するための情報)なども送信されており、メッセージ送信サーバ10は、どのメッセージ表示端末20又はユーザから通知を受信したかを特定できるようになっている。
メッセージ送信サーバ10は、メッセージ入力通知を受信すると、制御部11は、メッセージ入力通知に応じて、メッセージデータを生成する(S4)。S4においては、メッセージ入力通知が示すメッセージに新たにメッセージIDを発行し、入力者情報及び現在の時刻と関連付けてメッセージデータベースに格納する。なお、メッセージIDは、所定のID発行ルールの元で他のメッセージIDと重複しないように発行されるようにすればよい。また、ここでは現在の時刻が関連付けられる場合を説明するが、メッセージ表示端末20でメッセージの入力時に記録された時刻でもよい。この時刻は、メッセージ表示端末20において取得されるものであり、メッセージ入力通知に含まれる。
制御部11は、生成されたメッセージデータを、各メッセージ表示端末20に送信する(S5)。なお、チャットに参加している各ユーザのメッセージ表示端末20を識別する情報(例えば、IPアドレスなど)は、予め記憶部12に記憶されており、メッセージ送信サーバ10は、メッセージデータの送信先を特定可能である。
メッセージ表示端末20においては、制御部21は、メッセージ送信サーバ10からメッセージデータを受信したか否かを判定する(S6)。メッセージデータを受信したと判定された場合(S6;Y)、制御部21は、受信したメッセージデータに基づいて、チャット画像30の表示を更新する(S7)。S7においては、制御部21は、受信したメッセージデータが示すメッセージのメッセージオブジェクト32が最上面に表示されるようにチャット画像30の表示を更新する。
制御部21は、メッセージオブジェクト32の選択操作が行われたか否かを判定する(S8)。S8においては、制御部21は、操作部24からの信号に基づいて、表示部25に表示されたメッセージオブジェクト32の何れかが選択されたか否かを判定する。
選択操作が行われたと判定された場合(S8;Y)、制御部11は、メッセージ選択通知を、メッセージ送信サーバ10に送信する(S9)。先述のように、S9で送信されるメッセージ選択通知には、選択操作により選択されたメッセージオブジェクト32が表すメッセージのメッセージIDが含まれている。
メッセージ送信サーバ10は、メッセージ選択通知を受信すると、制御部11は、メッセージ選択通知に応じて、メッセージデータを生成する(S10)。S10においては、メッセージ選択通知が示すメッセージと同じメッセージに新たにメッセージIDを発行し、選択操作をしたユーザを示す入力者情報及び現在の時刻と関連付けてメッセージデータベースに格納する。続くS11〜S13の処理は、それぞれS5〜S7と同様である。これらの処理が実行されることにより、ユーザが流用したメッセージを表すメッセージオブジェクト32が各ユーザの表示部25に表示されることになる。
制御部21は、チャットが終了したか否かを判定する(S14)。チャットは、予め定められた条件が満たされた場合に終了し、例えば、チャットを終了させるための所定操作を何れかのユーザが行った場合やゲームをクリアした場合に終了する。チャットが終了したと判定されない場合(S14;N)、S2の処理に戻る。一方、チャットが終了したと判定された場合(S14;Y)、本処理は終了する。
以上説明したメッセージ制御システム1によれば、ユーザがメッセージオブジェクト32を選択することで、そのメッセージオブジェクト32が表すメッセージを流用することができるので、メッセージを入力する手間を軽減することができる。特に、ゲーム中にチャットする場合には、いちいちメッセージを入力している時間がないことが多いため、メッセージを流用して手間を省くことが特に有用である。更に、ゲームでは内容を正確に伝えるよりも素早くメッセージを送信して場を盛り上げることが重要なこともあり、このようなゲームでは、メッセージを流用して素早く発言することで、ゲームを効果的に盛り上げることができる。
また、実施形態1のように、ユーザが入力フォーム36にメッセージを入力して送信ボタン38を選択したときにメッセージが送信される場合に、メッセージオブジェクト32を選択するための選択操作をするだけで、いちいち入力フォーム36にメッセージを入力して送信ボタン38を選択しなくても、自分のメッセージを送信することができる。
[2.実施形態2]
実施形態1では、メッセージ送信サーバ10が、メッセージデータを生成する場合を説明したが、メッセージデータの生成場所は、メッセージ送信サーバ10に限られない。他にも例えば、メッセージの送信操作やメッセージオブジェクト32の選択操作を受け付けたメッセージ表示端末20側で、メッセージデータを生成してもよい。以降、実施形態1と同様な点については説明を省略し、実施形態1と異なる点について説明する。
図7は、実施形態2の機能ブロック図である。図7に示すように、実施形態2では、メッセージ表示端末20においてデータ生成部70が実現される。この場合、データ生成部70は、制御部21を主として実現される。例えば、データ生成部70は、入力操作受付部52がメッセージの入力を受け付けた後に、送信操作受付部54が送信操作を受け付けると、当該入力されたメッセージに関するメッセージデータを生成する。この場合、データ生成部70は、入力されたメッセージにメッセージIDを発行し、入力者情報及び現在時刻と関連付けることで、メッセージデータを生成する。
同様に、データ生成部70は、選択操作受付部56が選択操作を受け付けると、メッセージデータを生成する。データ生成部70は、選択操作により選択されたメッセージオブジェクト32が示すメッセージに基づいて定まるメッセージ(ここでは、選択操作により選択されたメッセージオブジェクト32が示すメッセージと同じメッセージ)にメッセージIDを発行し、入力者情報及び現在時刻と関連付けることで、メッセージデータを生成する。
メッセージ表示端末20の送受信部58は、データ生成部70が生成したデータを、メッセージ送信サーバ10に送信する。メッセージ送信サーバ10の送受信部64は、メッセージデータを受信すると、メッセージデータベースに格納し、各メッセージ表示端末20にそのメッセージデータを配信する。メッセージ表示端末20の送受信部58は、メッセージ送信サーバ10からメッセージデータを受信すると、表示制御部60は、チャット画像30の表示を更新する。表示の更新処理自体は、実施形態1と同様である。
図8は、実施形態2のメッセージ制御システム1が実行する処理を示すフロー図である。図8に示すように、S21及びS22は、それぞれS1及びS2と同様である。S22において、送信ボタン38が選択されたと判定された場合(S22;Y)、制御部21は、入力フォーム36に入力されたメッセージに関するメッセージデータを生成する(S23)。S23の処理内容は、S4と同様であり、制御部21は、入力フォーム36に入力されたメッセージにメッセージIDを発行し、入力者情報及び現在の時刻と関連付けることで、メッセージデータを生成する。
制御部21は、メッセージ送信サーバ10に、メッセージデータを送信する(S24)。制御部21は、S23で生成したメッセージデータに基づいて、チャット画像30の表示を更新する(S25)。S25における処理は、S7と同様である。
メッセージ送信サーバ10は、メッセージデータを受信すると、制御部11は、そのデータをメッセージデータベースに格納する(S26)。制御部11は、メッセージデータを、当該データを生成したメッセージ表示端末20以外のメッセージ表示端末20に送信する(S27)。S27における処理は、S5と同様であるが、メッセージデータを生成したメッセージ表示端末20には、そのデータを送信する必要がないので、S27では、それ以外のメッセージ表示端末20に対してデータが送信されている。
一方、メッセージ表示端末20において、送信ボタン38が選択されたと判定されない場合(S22;N)、制御部21は、メッセージオブジェクト32の選択操作が行われたか否かを判定する(S28)。S28の処理は、S8と同様である。
メッセージオブジェクト32の選択操作が行われたと判定された場合(S28;Y)、制御部21は、当該選択操作に応じて、選択されたメッセージオブジェクト32が示すメッセージと同じメッセージに関するメッセージデータを生成し(S29)、S24の処理に移行する。S29の処理内容は、S10と同様であり、制御部21は、選択されたメッセージオブジェクト32が示すメッセージと同じメッセージにメッセージIDを発行し、入力者情報及び現在の時刻と関連付けることで、メッセージデータを生成する。
一方、メッセージオブジェクト32の選択操作が行われたと判定されない場合(S28;N)、制御部21は、他のメッセージ表示端末20が生成したメッセージデータを受信したか否かを判定する(S30)。S30においては、制御部21は、他のメッセージ表示端末20において生成されたメッセージデータ(即ち、他のメッセージ表示端末20が実行したS23又はS29の処理で生成されたデータ)を、メッセージ送信サーバ10を介して受信したか否かを判定することになる。
他のメッセージ表示端末20が生成したメッセージデータを受信したと判定された場合(S30;Y)、制御部21は、当該受信したデータに基づいて、チャット画像30の表示を更新する(S31)。S31の処理内容は、S7又はS13と同様である。また、続くS32の処理は、S14と同様である。
実施形態2によれば、メッセージ表示端末20側でメッセージデータを生成することで、実施形態1と同様の表示制御を行うことができ、メッセージを入力する手間を軽減することができる。また、メッセージデータを生成する処理を、メッセージ送信サーバ10ではなく、メッセージ表示端末20で実行させることで、メッセージ送信サーバ10の負荷を軽減することができる。
なお、実施形態2では、ユーザが選択したメッセージオブジェクト32が表すメッセージのメッセージIDなどがメッセージ表示端末20に記憶されている場合を説明したが、このデータは、メッセージ表示端末20に記憶させておかず、選択操作が行われたタイミングでメッセージ送信サーバ10にデータの取得を問い合わせるようにしてもよい。
[3.実施形態3]
また、実施形態1では、メッセージ送信サーバ10がメッセージ入力通知やメッセージ選択通知を受信すると、メッセージ送信サーバ10がメッセージデータを生成する場合を説明したが、メッセージ送信サーバ10は、メッセージ入力通知やメッセージ選択通知を各メッセージ表示端末20に転送して、その後にメッセージオブジェクト32を表示させるタイミングで、各メッセージ表示端末20において、メッセージデータが生成されるようにしてもよい。以降、実施形態1又は2と同様な点については説明を省略して、異なる点について説明する。
図9は、実施形態3の機能ブロック図である。図9に示すように、実施形態3では、メッセージ表示端末20においてデータ生成部70が実現される。また、実施形態3では、メッセージ送信サーバ10の送受信部64は、メッセージ入力通知やメッセージ選択通知を、各メッセージ表示端末20にそのまま転送することになる。また、実施形態3では、実施形態2と同様、メッセージ表示端末20においてデータ生成部70が実現される。
データ生成部70は、メッセージ送信サーバ10が転送したメッセージ入力通知を受信すると、当該メッセージ入力通知に応じて、入力されたメッセージに関するメッセージデータを生成する。この生成方法自体は、実施形態1と同様である。例えば、あるメッセージ表示端末20のデータ生成部70は、他のメッセージ表示端末20が送信したメッセージ入力通知を受信した場合に、当該メッセージ入力通知に応じて、入力されたメッセージに関するメッセージデータを生成する。即ち、データ生成部70は、メッセージオブジェクト32が表示されるタイミングで、メッセージデータを生成することになる。
同様に、データ生成部70は、メッセージ送信サーバ10が転送したメッセージ選択通知を受信すると、当該メッセージ選択通知に応じて、メッセージデータを生成する。この生成方法自体は、実施形態1と同様である。例えば、あるメッセージ表示端末20のデータ生成部70は、他のメッセージ表示端末20が送信したメッセージ選択通知を受信した場合に、当該メッセージ選択通知に応じて、選択されたメッセージオブジェクト32が表すメッセージに基づいて定まるメッセージ(ここでは、選択されたメッセージオブジェクト32が表すメッセージと同じメッセージ)に関するデータを生成する。この点、実施形態2では、当該他のメッセージ表示端末20からメッセージデータ自体を受信していたが、実施形態3では、メッセージIDなどの情報のみを含むメッセージ入力通知が受信されるので、当該他のメッセージ表示端末20で入力された内容に関するデータを送受信することを省略することができる。表示制御部60は、データ生成部70が生成した上記データに基づいて、チャット画像30の表示を更新する。表示の更新処理自体は、実施形態1や2と同様である。
図10は、実施形態3のメッセージ制御システム1が実行する処理を示すフロー図である。図10に示すように、S41〜S43は、それぞれS1〜S3と同様である。メッセージ送信サーバ10においては、メッセージ入力通知を受信すると、制御部11は、メッセージ入力通知を各メッセージ表示端末20に転送する(S44)。
メッセージ表示端末20においては、制御部21は、メッセージ入力通知を受信したか否かを判定する(S45)。メッセージ入力通知を受信したと判定された場合(S45;Y)、制御部21は、メッセージ入力通知に応じて、メッセージデータを生成し(S46)、チャット画像30の表示を更新する(S47)。S46の処理内容は、S5と同様であり、S47の処理内容は、S7と同様である。なお、S45において、他のメッセージ表示端末20が送信したメッセージ入力通知を受信した場合には、続くS46において、当該他のメッセージ表示端末20が送信したメッセージ入力通知に応じて、当該他のメッセージ表示端末20において入力されたメッセージに関するメッセージデータが生成されることになる。
続くS48及びS49は、それぞれS8及びS9と同様である。メッセージ送信サーバ10においては、メッセージ選択通知を受信すると、制御部11は、メッセージ選択通知を各メッセージ表示端末20に転送する(S50)。
メッセージ表示端末20においては、制御部21は、メッセージ選択通知を受信したか否かを判定する(S51)。メッセージ選択通知を受信したと判定された場合(S51;Y)、制御部21は、メッセージ選択通知に応じて、メッセージデータを生成し(S52)、チャット画像30の表示を更新する(S53)。S52の処理内容は、S10と同様であり、S53の処理内容は、S13と同様である。続くS54は、S14と同様である。なお、S51において、他のメッセージ表示端末20が送信したメッセージ選択通知を受信した場合には、続くS52において、当該他のメッセージ表示端末20が送信したメッセージ選択通知に応じて、当該他のメッセージ表示端末20において選択されたメッセージオブジェクト32が表すメッセージと同じメッセージに関するメッセージデータが生成されることになる。
実施形態3によれば、メッセージ表示端末20においてメッセージデータを生成することで、実施形態1や2と同様の表示制御を行うことができ、メッセージを入力する手間を軽減することができる。また、実施形態2と同様、メッセージデータを生成する処理を、メッセージ送信サーバ10ではなく、メッセージ表示端末20で実行させることで、メッセージ送信サーバ10の負荷を軽減することができる。また、実施形態2では、メッセージデータが送受信されていたが、実施形態3では、それよりも少ないデータ量のメッセージ選択通知を送受信すればよいため、ネットワーク上の通信量を軽減することもできる。
[4.変形例]
なお、本発明は、以上に説明した実施の形態に限定されるものではない。本発明の趣旨を逸脱しない範囲で、適宜変更可能である。
図11は、変形例の機能ブロック図である。図11に示すように、変形例では、実施形態の機能に加えて、ユーザ受付部72が実現される。ユーザ受付部72は、制御部21及び操作部24を主として実現される。なお、図11では、実施形態1の機能ブロックを元に図示したが、実施形態2又は3のようにメッセージデータを生成する場合には、データ生成部70はメッセージ表示端末20で実現されることになる。
(1)例えば、メッセージオブジェクト32は一定時間が経過すると消えるため、既に消えてしまったメッセージを流用できるように、各ユーザのメッセージの履歴からメッセージオブジェクト32を選択できるようにしてもよい。ここでは、アバタ画像34を選択すると、そのアバタ画像34が示すユーザのメッセージの履歴が表示される。
図12は、ユーザAのメッセージ表示端末20で表示されるチャット画像30を示す図である。図12に示すように、例えば、ユーザAがユーザDのアバタ画像34Dを選択すると、そのアバタ画像34Dが示すユーザDのメッセージの履歴を表す履歴画像40が表示される(チャット画像30Cの状態)。メッセージの履歴とは、あるユーザが入力した過去のメッセージの履歴であり、過去の全期間のメッセージであってもよいし、現時点に基づいて定まる期間内(例えば、現時点から所定時間だけ前の期間)のメッセージのみであってもよい。他にも例えば、直近のメッセージから数えて所定数分のメッセージのみであってもよい。
ユーザ受付部72は、複数のユーザの各々を表すユーザオブジェクト(ここでは、アバタ画像34)の少なくとも一つを選択するための操作を受け付ける。ユーザオブジェクトは、各ユーザを識別するための画像であり、例えば、アバタ画像34の他にも、ユーザの名称を識別する画像であってもよい。なお、ユーザオブジェクトとしては、アバタ画像34のように2次元で表されるものではなく、仮想空間内で3次元で表されるものであってもよい。表示制御部60は、データ記憶部50を参照して、選択されたアバタ画像34が示すユーザのメッセージの履歴を特定し、その履歴を示す履歴画像40を表示させる。ここでは、履歴画像40は、履歴に含まれる各メッセージを表すメッセージオブジェクト32F〜32Jにより構成される。
本変形例の選択操作受付部56は、表示されたメッセージオブジェクト32に関する履歴情報(即ち、表示されたメッセージオブジェクト32の履歴を表す情報。ここでは、データ記憶部50に記憶されている入力済みのメッセージに関するメッセージデータ。)に基づいて表示されるメッセージオブジェクト32を選択するための選択操作を受け付ける。例えば、選択操作受付部56は、履歴に含まれる各メッセージを表すメッセージオブジェクト32を選択するための選択操作を受け付ける。選択操作を受け付けた後の処理については、実施形態1と同様である。即ち、図12に示す例では、履歴に含まれる各メッセージを表すメッセージオブジェクト32F〜32Jのうち、ユーザAがメッセージオブジェクト32Hを自分のアバタ画像34Aにドラッグアンドドロップすると、メッセージオブジェクト32Hが示すメッセージと同じメッセージを表すメッセージオブジェクト32Kが表示される(チャット画像30Dの状態)。
なお、選択操作受付部56は、選択された入力者(ここでは、選択されたアバタ画像34が表すユーザ)の履歴情報に基づいて表示されるメッセージオブジェクト32を選択するための選択操作を受け付けるようにしてもよい。即ち、選択操作受付部56は、全履歴のうち、選択された入力者が入力したメッセージを表すメッセージオブジェクト32の履歴の中から選択操作を受け付ける。例えば、選択操作受付部56は、複数のユーザごとに、当該ユーザが入力したメッセージの履歴から、メッセージオブジェクト32を選択するための選択操作を受け付けるようにしてもよい。例えば、表示制御部60は、ユーザがアバタ画像34を選択したユーザごとに、そのユーザが入力したメッセージの履歴を表す履歴画像40を表示させる。そして、選択操作受付部56は、各履歴画像40が示す履歴から、メッセージオブジェクト32を選択するための選択操作を受け付ける。
また、表示制御部60は、履歴情報に基づいて、メッセージオブジェクト32を互いに同じメッセージが重複しないように表示させるようにしてもよい。即ち、表示制御部60は、メッセージの履歴に含まれる各メッセージを表すメッセージオブジェクト32を、互いに同じメッセージが重複しないように表示させる。表示制御部60は、履歴に含まれる各メッセージを比較して、重複したメッセージがそれぞれ別個のメッセージオブジェクト32として表示されないようにする。例えば、図12に示す画面例では、ユーザDが「やばい!」のメッセージを複数回入力していたとしても、履歴画像40としては、このメッセージを表す1つのメッセージオブジェクト32Hのみ表示されることになる。
変形例(1)によれば、各ユーザは、あるユーザのメッセージの履歴からメッセージオブジェクト32を選択すれば、そのメッセージと同じメッセージを、自分が入力したメッセージとして送信することができるので、メッセージを入力する手間を軽減することができる。
また、各ユーザは、ユーザごとに、そのユーザのメッセージの履歴からメッセージオブジェクト32を選択すれば、そのメッセージと同じメッセージを、自分が入力したメッセージとして送信することができるので、メッセージを入力する手間を軽減しつつ、メッセージオブジェクト32の候補を入力者ごとに絞り込めるので、目当てのメッセージオブジェクト32をより早く検索することができる。
また、メッセージの履歴からメッセージオブジェクト32を選択させる際に、同じメッセージが重複しないので、メッセージオブジェクト32の選択をしやすくなる。即ち、履歴に同じメッセージが複数ある場合に、同じ内容のメッセージオブジェクト32ばかりが表示されてしまうようなことを防止することができる。
なお、上記では、実施形態1のように、メッセージ送信サーバ10がメッセージデータの生成を行う場合を説明したが、変形例(1)でも、実施形態2又は3のように、メッセージ表示端末20がデータの生成を行うようにしてもよい。この場合も、履歴からメッセージオブジェクト32が選択された場合に、実施形態2又は3で説明した通りに、メッセージ表示端末20においてメッセージデータが生成されることになる。
(2)また例えば、ユーザAがユーザDのメッセージを流用した場合、流用元のユーザDのメッセージと、ユーザAのメッセージと、は同じ内容なので、まとめて表示させるようにしてもよい。本変形例の表示制御部60は、選択されたメッセージオブジェクト32が表すメッセージと同じメッセージを表すメッセージオブジェクト32と、選択されたメッセージオブジェクト32と、を関連付けて表示させる。なお、ここでは、データ生成部70が生成するメッセージデータには、流用元のメッセージのメッセージID(即ち、ユーザが選択したメッセージオブジェクト32が表すメッセージのメッセージID)が含まれるものとする。これにより、流用元のメッセージを特定できるようになっている。
図13は、ユーザAのメッセージ表示端末20で表示されるチャット画像30を示す図である。図13に示すように、表示制御部60は、流用元のユーザDのメッセージを表すメッセージオブジェクト32Lと、それを流用して作成したユーザAのメッセージを表すメッセージオブジェクト32Mと、を関連付けてまとめて表示させている。この場合も、表示制御部60は、メッセージオブジェクト32L及び32Mのそれぞれを、ユーザA及びDを識別可能な表示態様で表示させることになる。識別可能な表示態様の意味は、実施形態1と同様である。
また、メッセージオブジェクト32を関連付ける方法は、上記の例に限られない。表示制御部60は、複数のメッセージオブジェクト32の各々を、互いに関連していることを識別可能な表示態様で表示させるようにすればよい。図13に示すような表示態様以外にも、表示制御部60は、複数のメッセージオブジェクト32を線でつないだり、複数のメッセージオブジェクト32を囲ったりすることで関連付けるようにしてもよい。他にも例えば、表示制御部60は、複数のメッセージオブジェクト32を同じ表示態様(例えば、同じ色、模様、輝度、形状、大きさ、フォント)で表示させたり、複数のメッセージオブジェクト32を一列に並べたりすることで関連付けるようにしてもよい。
変形例(2)によれば、メッセージオブジェクト32を関連付けて表示させることで、メッセージオブジェクト32を見やすくすることができる。
なお、表示制御部60は、選択されたメッセージオブジェクト32が表すメッセージと同じメッセージと、選択されたメッセージオブジェクト32が表すメッセージと、を表す一のメッセージオブジェクト32を表示させるようにしてもよい。
図14は、ユーザAのメッセージ表示端末20で表示されるチャット画像30を示す図である。図14に示すように、選択されたメッセージオブジェクト32が表すメッセージと同じメッセージと、選択されたメッセージオブジェクト32が表すメッセージと、を表す一のメッセージオブジェクト32Nを表示させるようにしてもよい。なお、メッセージオブジェクト32Nには、メッセージを入力したユーザA及びDを表す識別画像42が付帯されているようにしてもよい。このようにすれば、流用元のメッセージと、流用して作成した新たなメッセージと、を1つのメッセージオブジェクト32として表示させるので、メッセージオブジェクト32が見やすくなる。
なお、表示制御部60は、変形例(2)で説明した2つの表示制御の少なくとも一方を実行すればよい。また、上記では、実施形態1のように、メッセージ送信サーバ10がメッセージデータの生成を行う場合を説明したが、変形例(2)でも、実施形態2又は3のように、メッセージ表示端末20がデータの生成を行うようにしてもよい。この場合も、実施形態2又は3で説明した通りに、メッセージ表示端末20においてメッセージデータが生成されて、メッセージオブジェクト32が関連付けられて表示されたり、1つのメッセージオブジェクト32として表示させたりすることになる。
(3)また例えば、上記においては、選択されたメッセージオブジェクト32が示すメッセージと同じメッセージを流用する場合を説明したが、全く同じメッセージでなくてもよい。表示制御部60は、選択されたメッセージオブジェクト32が表すメッセージを変更したメッセージを表すメッセージオブジェクト32を表示させるようにしてもよい。
図15は、チャット画像30の一例を示す図である。図15に示すように、ユーザAが、ユーザDのメッセージを表すメッセージオブジェクト32Dを、ユーザCのアバタ画像34Cにドラッグアンドドロップすると(チャット画像30Eの状態)、表示制御部60は、そのアバタ画像34Cが示すユーザCを示す文字列を流用元のメッセージに挿入したメッセージを表すメッセージオブジェクト32Oを表示させる(チャット画像30Fの状態)。
表示制御部60は、選択されたメッセージオブジェクト32が表すメッセージと、選択されたアバタ画像34が表すユーザを識別する識別情報と、を含むメッセージを表すメッセージオブジェクト32を表示させることになる。この識別情報は、ユーザの名称を示す記号列や画像である。
なお、図15の例では、ユーザDのメッセージの冒頭にユーザCを識別する文字列が挿入されているが、ユーザCを識別する文字列の挿入場所は、ユーザDのメッセージの末尾であってもよいし、ユーザDのメッセージの中であってもよい。変形例(3)では、実施形態1と同様に、メッセージ送信サーバ10のデータ生成部70が当該メッセージデータ(即ち、選択されたメッセージオブジェクト32が表すメッセージを変更したメッセージに関するメッセージデータ)を生成し、表示制御部60は、送受信部58及び64を介して、当該データを受信することで、メッセージオブジェクト32を表示させることになる。
変形例(3)によれば、ユーザが選択したメッセージオブジェクト32が表すメッセージに、ユーザを識別する情報を含めたうえで、自分のメッセージとすることができるので、誰に対するメッセージなのかを手間をかけずに分かりやすく表示させることができる。
なお、上記では、実施形態1のように、メッセージ送信サーバ10がメッセージデータの生成を行う場合を説明したが、変形例(3)でも、実施形態2又は3のように、メッセージ表示端末20がデータの生成を行うようにしてもよい。この場合も、実施形態2又は3で説明した通りに、メッセージ表示端末20においてメッセージデータが生成されて、流用元のメッセージに、ユーザが選択したアバタ画像34が示すユーザを識別する情報を挿入させたメッセージを表すメッセージオブジェクト32が表示されることになる。
(4)また例えば、流用元のメッセージ中にユーザの名前などが含まれている場合、その名前を置きかえたうえで新たなメッセージとしてもよい。本変形例のメッセージは、複数のユーザのうちの少なくとも一人のユーザを識別する識別情報を含んでいるものとする。
図16は、チャット画像30の一例を示す図である。図16に示すように、ユーザAが、ユーザDのメッセージを表すメッセージオブジェクト32Pを、ユーザCのアバタ画像34Cにドラッグアンドドロップすると(チャット画像30Gの状態)、表示制御部60は、メッセージ中のユーザの識別情報(ここでは、ユーザDを示す「私」)を、そのアバタ画像34Cが示すユーザCの識別情報に置きかえたメッセージを表すメッセージオブジェクト32Qを表示させる(チャット画像30Hの状態)。なお、メッセージ中に識別情報が含まれているか否かを判定する方法は、所定の記号列又は画像が含まれているか否かを判定することで行われるようにすればよい。
上記のように、表示制御部60は、選択されたメッセージオブジェクト32Pが表すメッセージに含まれる識別情報を、選択されたアバタ画像34Cが表すユーザを識別する情報に置き換えたメッセージを表すメッセージオブジェクト32Qを表示させることになる。なお、変形例(4)では、実施形態1と同様に、メッセージ送信サーバ10のデータ生成部70がメッセージデータを生成し、表示制御部60は、送受信部58及び64を介して、当該データを受信することで、メッセージオブジェクト32を表示させる。
変形例(4)によれば、各ユーザは、メッセージ中の識別情報を置きかえたうえで自分のメッセージとすることができるので、誰に対するメッセージなのかを変更する手間を軽減することができる。
なお、上記では、実施形態1のように、メッセージ送信サーバ10がメッセージデータの生成を行う場合を説明したが、変形例(4)でも、実施形態2又は3のように、メッセージ表示端末20がデータの生成を行うようにしてもよい。この場合も、実施形態2又は3で説明した通りに、メッセージ表示端末20においてメッセージデータが生成されて、流用元のメッセージの識別情報を、ユーザが選択したアバタ画像34が示すユーザを識別する情報に置きかえたメッセージを表すメッセージオブジェクト32が表示されることになる。
(5)また例えば、予め定められた複数のメッセージ候補をデータ記憶部50に記憶しておき、これらメッセージ候補の少なくとも一つをメッセージとして送信するための送信操作が行われるようにしてもよい。この場合、メッセージオブジェクト32の選択操作は、上記送信操作とは異なる。メッセージ候補は、予め定めておいたテキスト等にすぎないため、現在のゲームの状況を想定した内容(現在の状況に合った内容)ではないことがあるが、メッセージオブジェクト32は、ゲームの実行中に入力されたメッセージを表しており、現在の状況に合った内容を表しているので、それを流用することで、メッセージ候補を選択する場合に比べて、その時の状況に合ったメッセージを送信することができる。
(6)また例えば、上記においては、メッセージオブジェクト32がアバタ画像34から伸びるようにすることで、入力者を識別可能な表示態様で表示させる場合を説明したが、入力者を識別可能な表示態様でメッセージオブジェクト32を表示させなくてもよい。即ち、表示制御部60は、特に入力者を識別可能にせず、流用元のメッセージと同じメッセージを表すメッセージオブジェクト32、又は、流用元のメッセージに基づいて定まるメッセージを表すメッセージオブジェクト32を単に表示させるようにしてもよい。この場合でも、メッセージを流用することで、メッセージを入力する手間を軽減することができる。
また例えば、実施形態と上記変形例とを組み合わせるようにしてもよい。
また例えば、各機能ブロックのうち、選択操作受付部56及び表示制御部60以外のものは、メッセージ表示端末20から省略するようにしてもよいし、送受信部64以外のものは、メッセージ送信サーバ10から省略するようにしてもよい。
また例えば、メッセージ送信サーバ10が、メッセージオブジェクト32を含むチャット画像30全体の画像データ(例えば、HTML形式のデータ)を生成して各メッセージ表示端末20に配信するようにしてもよい。この場合、メッセージデータには、チャット画像30全体の画像データが含まれているようにしてもよい。
また例えば、メッセージ制御システム1は、メッセージ送信サーバ10が存在せず、メッセージ表示端末20だけであってもよい。この場合でも、何れかのメッセージ表示端末20がサーバとしての役割を果たすようにしてもよい。
また例えば、本発明に係るメッセージ送信サーバ又はメッセージ制御端末は、ユーザ間でのメッセージがやりとりされる技術に適用すればよく、チャット以外にも適用可能である。例えば、複数のユーザがメッセージを書き込む電子掲示板にも本発明を適用することができる。
[5.発明のまとめ]
以上のような記載から、本発明は例えば以下のように把握される。本発明に係るメッセージ表示端末(20)は、複数のユーザの各々が入力したメッセージを表すメッセージオブジェクトを、入力者を識別可能な表示態様で表示させるメッセージ表示端末(20)であって、前記メッセージオブジェクトを選択するための選択操作を受け付ける受付手段(56)と、前記選択操作がなされることに応じて生成されるメッセージに関するメッセージデータであって、選択された前記メッセージオブジェクトを利用して生成される前記メッセージデータに基づいて、選択された前記メッセージオブジェクトが表すメッセージに基づいて定まるメッセージを表すメッセージオブジェクトを、当該選択操作をしたユーザを入力者として識別可能な表示態様で表示させる表示制御手段(60)と、を含むことを特徴とする。
また、本発明に係るメッセージ表示端末(20)は、複数のユーザの各々が入力したメッセージを表すメッセージオブジェクトを表示させるメッセージ表示端末(20)であって、前記メッセージオブジェクトを選択するための選択操作を受け付ける受付手段(56)と、前記選択操作がなされることに応じて生成されるメッセージに関するメッセージデータであって、選択された前記メッセージオブジェクトを利用して生成される前記メッセージデータに基づいて、選択された前記メッセージオブジェクトが表すメッセージに基づいて定まるメッセージを表すメッセージオブジェクトを表示させる表示制御手段(60)と、を含むことを特徴とする。
また、本発明に係るメッセージ送信サーバ(10)は、複数のユーザの各々が入力したメッセージに関するメッセージデータを、各ユーザの端末に送信するメッセージ送信サーバ(10)であって、前記各ユーザの端末から、前記メッセージを表すメッセージオブジェクトが選択されたことを示すメッセージ選択通知を受信する受信手段(66)と、前記受信手段(66)が受信した前記メッセージ選択通知に応じて、選択された前記メッセージオブジェクトを利用して、選択された前記メッセージオブジェクトが表すメッセージに基づいて定まるメッセージに関するメッセージデータを、当該メッセージ選択通知の送信元のユーザを入力者として生成するデータ生成手段(70)と、前記データ生成手段により生成された前記メッセージデータを、前記各ユーザの端末に送信する送信手段(68)と、を含むことを特徴とする。
また、本発明に係るプログラムは、複数のユーザの各々が入力したメッセージを表すメッセージオブジェクトを、入力者を識別可能な表示態様で表示させるコンピュータを、前記メッセージオブジェクトを選択するための選択操作を受け付ける受付手段(56)、前記選択操作がなされることに応じて生成されるメッセージに関するメッセージデータであって、選択された前記メッセージオブジェクトを利用して生成される前記メッセージデータに基づいて、選択された前記メッセージオブジェクトが表すメッセージに基づいて定まるメッセージを表すメッセージオブジェクトを、当該選択操作をしたユーザを入力者として識別可能な表示態様で表示させる表示制御手段(60)、として機能させる。
また、本発明に係るプログラムは、複数のユーザの各々が入力したメッセージを表すメッセージオブジェクトを表示させるコンピュータを、前記メッセージオブジェクトを選択するための選択操作を受け付ける受付手段(56)、前記選択操作がなされることに応じて生成されるメッセージに関するメッセージデータであって、選択された前記メッセージオブジェクトを利用して生成される前記メッセージデータに基づいて、選択された前記メッセージオブジェクトが表すメッセージに基づいて定まるメッセージを表すメッセージオブジェクトを表示させる表示制御手段(60)、として機能させる。
また、本発明に係るプログラムは、複数のユーザの各々が入力したメッセージに関するメッセージデータを、各ユーザの端末に送信するコンピュータを、前記各ユーザの端末から、前記メッセージを表すメッセージオブジェクトが選択されたことを示すメッセージ選択通知を受信する受信手段(66)、前記受信手段(66)が受信した前記メッセージ選択通知に応じて、選択された前記メッセージオブジェクトを利用して、選択された前記メッセージオブジェクトが表すメッセージに基づいて定まるメッセージに関するメッセージデータを、当該メッセージ選択通知の送信元のユーザを入力者として生成するデータ生成手段(70)、前記データ生成手段(70)により生成された前記メッセージデータを、前記各ユーザの端末に送信する送信手段(68)、として機能させる。
また、本発明に係る情報記憶媒体は、上記プログラムを記録したコンピュータで読み取り可能な情報記憶媒体である。
本発明によれば、メッセージを入力する手間を軽減することができる。
また、本発明の一態様では、前記受付手段(56)は、表示された前記メッセージオブジェクトに関する履歴情報に基づいて表示されるメッセージオブジェクトを選択するための前記選択操作を受け付ける、ことを特徴とする。当該態様によれば、各ユーザは、あるユーザのメッセージの履歴からメッセージオブジェクトを選択すれば、そのメッセージと同じメッセージなどを、自分が入力したメッセージとして送信することができるので、メッセージを入力する手間を軽減することができる。
また、本発明の一態様では、前記受付手段(56)は、選択された前記入力者の前記履歴情報に基づいて表示されるメッセージオブジェクトを選択するための前記選択操作を受け付ける、ことを特徴とする。当該態様によれば、各ユーザは、ユーザごとに、そのユーザのメッセージの履歴からメッセージオブジェクトを選択すれば、そのメッセージと同じメッセージなどを、自分が入力したメッセージとして送信することができるので、メッセージを入力する手間を軽減しつつ、メッセージオブジェクトの候補を入力者ごとに絞り込めるので、目当てのメッセージオブジェクトをより早く検索することができる。
また、本発明の一態様では、前記表示制御手段(60)は、前記履歴情報に基づいて前記メッセージオブジェクトを互いに同じ前記メッセージが重複しないように表示させる、ことを特徴とする。当該態様によれば、メッセージの履歴からメッセージオブジェクトを選択させる際に、同じメッセージが重複しないので、メッセージオブジェクトの選択をしやすくなる。
また、本発明の一態様では、前記表示制御手段(60)は、選択された前記メッセージオブジェクトが表すメッセージに基づいて定まるメッセージを表すメッセージオブジェクトと、選択された前記メッセージオブジェクトと、を関連付けて表示させる手段(60)と、選択された前記メッセージオブジェクトが表すメッセージに基づいて定まるメッセージと、選択された前記メッセージオブジェクトが表すメッセージと、を表す一のメッセージオブジェクトを表示させる手段(60)と、の少なくとも一方を含むことを特徴とする。当該態様によれば、メッセージオブジェクトを関連付けて表示させたり、一のメッセージオブジェクトとして表示させたりすることで、メッセージオブジェクトが見やすくなる。
また、本発明の一態様では、前記メッセージ表示端末(20)は、前記複数のユーザの各々を表すユーザオブジェクト(例えば、アバタ画像34)の少なくとも一つを選択するための操作を受け付ける手段(72)を更に含み、前記表示制御手段(60)は、選択された前記メッセージオブジェクトが表すメッセージと、選択された前記ユーザオブジェクトが表すユーザを識別する識別情報と、を含むメッセージを表す前記メッセージオブジェクトを表示させる、ことを特徴とする。当該態様によれば、ユーザが選択したメッセージオブジェクトが表すメッセージに、ユーザを識別する情報を含めたうえで、自分のメッセージとすることができるので、誰に対するメッセージなのかを手間をかけずに分かりやすく表示させることができる。
また、本発明の一態様では、前記メッセージオブジェクトが表すメッセージは、前記複数のユーザのうちの少なくとも一人のユーザを識別する識別情報を含み、前記メッセージ表示端末(20)は、前記複数のユーザの各々を表すユーザオブジェクト(例えば、アバタ画像34)の少なくとも一つを選択するための操作を受け付ける手段(72)を更に含み、前記表示制御手段(60)は、選択された前記メッセージオブジェクトが表すメッセージに含まれる前記識別情報を、選択された前記ユーザオブジェクトが表すユーザを識別する情報に置き換えたメッセージを表す前記メッセージオブジェクトを表示させる、ことを特徴とする。当該態様によれば、各ユーザは、メッセージ中の識別情報を置きかえたうえで自分のメッセージとすることができるので、誰に対するメッセージなのかを変更する手間を軽減することができる。
また、本発明の一態様では、前記メッセージ表示端末(20)は、入力された前記メッセージを送信するための送信操作、又は、予め定められた複数のメッセージ候補の少なくとも一つを前記メッセージとして送信するための送信操作を受け付ける手段(54)を更に含み、前記受付手段(56)は、前記送信操作とは異なる前記選択操作を受け付ける、ことを特徴とする。当該態様によれば、ユーザが送信操作をしたときにメッセージが送信される場合やユーザがメッセージ候補を選択したときにメッセージが送信される場合に、メッセージオブジェクトを選択するための選択操作をするだけで、いちいち送信操作をすることなく、自分のメッセージとして送信することができる。