[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にプログラムやデータを供給するようにしてもよい。
[2.メッセージ表示制御システムにおいて実行されるチャット]
次に、ゲームをプレイする4人のユーザが、共通の敵を倒すために協力しながらチャットを行う場面を例に挙げて、メッセージ表示制御システム1において実行されるチャットについて説明する。ここでは、これら4人のユーザを、それぞれユーザA、B、C及びDと記載し、特に区別する必要がないときは、単にユーザという。また、ここでのユーザとは、メッセージを入力する人(メッセージ表示制御装置20を操作する人)であり、ゲームのプレイヤともいえる。
図2は、メッセージ表示制御装置20に表示されるゲーム画面の一例を示す図である。なお、ここでは、説明の簡略化のため、各ユーザA〜Dのそれぞれのメッセージ表示制御装置20に同じゲーム画面30が表示される場合を説明するが、メッセージ表示制御装置20によってゲーム画面30の内容が異なっていてもよい。
図2に示すように、ゲーム画面30には、実行中のゲームの様子を示すゲーム画像32と、ユーザAが入力したメッセージを表すメッセージオブジェクト34A(以降、後述するメッセージオブジェクト34Bや34Cと区別する必要のないときは、単にメッセージオブジェクト34という。)と、各ユーザを表すアバタ画像36A〜36D(以降、これらをまとめてアバタ画像36ともいう。)と、が表示される。
メッセージは、ユーザが操作する装置間で伝達される情報の内容であり、例えば、ユーザにより入力又は指定された、記号列、画像、動画像、音声、又はこれらの組み合わせ等のことである。ここでの記号列とは、文字列(テキスト)の他に、言語以外の記号(例えば、顔文字、アスキーアート、又はユーザ同士でのみ通じる暗号などを構成するプラスマイナスなどの記号)を含む意味である。メッセージオブジェクト34は、メッセージを表す画像である。例えば図2に示す例では、メッセージオブジェクト34は、メッセージを含む吹き出し画像となっている。なお、単にメッセージと記載した場合は、テキストなどの内容自体を示し、メッセージオブジェクト34と記載した場合は、表示部25における表示対象を示し、これらを区別する。また、メッセージオブジェクト34は、図2のように2次元で表されるものではなく、仮想空間内で3次元で表されるものであってもよい。
メッセージオブジェクト34は、ゲーム画面30のどこでも表示可能なのではなく、一部の表示可能領域38内に表示され、メッセージオブジェクト34がゲーム画像32に重ならないようになっている。これは、メッセージオブジェクト34がゲーム画像32に重なってしまうと、ゲーム画像32が見えなくなってしまい、実行中のゲームの状況をユーザが確認できなくなってしまうからである。
また、ゲーム画面30には、ユーザがメッセージを入力するための入力フォーム40と、入力フォーム40に入力されたメッセージを送信するための送信ボタン42と、が表示される。ユーザが入力フォーム40にメッセージを入力して送信ボタン42を選択すると、新たなメッセージを送信することができる。例えば、メッセージオブジェクト34Aは、ユーザAが送信ボタン42を選択したときに入力フォーム40に入力されていたメッセージを示す。このため、メッセージオブジェクト34Aは、ユーザAのアバタ画像36Aから吹き出しが伸びるように表示されており、ユーザAが入力したメッセージであることを識別できるようになっている。
図2に示す状態では、表示可能領域38内にメッセージオブジェクト34Aしか表示されていないため、新たなメッセージオブジェクト34を表示させるためのスペースが十分に残されている。このため、ユーザBが新たにメッセージを入力したとしても、そのメッセージを表すメッセージオブジェクト34Bを、メッセージオブジェクト34Aに重ねずに表示させることができる。
図3は、メッセージオブジェクト34Bが表示される様子を示す図である。図3に示すように、メッセージオブジェクト34Bが、メッセージオブジェクト34Aに重ならないように、ユーザBのアバタ画像36Bから吹き出しが伸びるように表示される。この状態になると、メッセージオブジェクト34A及び34Bが表示可能領域38内に表示されており、新たなメッセージオブジェクト34を表示させるためのスペースがあまり残っていないので、ユーザCが新たにメッセージを入力して、そのメッセージを表すメッセージオブジェクト34Cを表示させようとすると、メッセージオブジェクト34A及び34Bの少なくとも一方に重なってしまい、重なった部分をユーザが確認できなくなってしまう。
このため、本実施形態では、他のメッセージオブジェクト34によって隠れないようにして各メッセージオブジェクト34を最低限表示すべき時間を設定しておき、新たなメッセージオブジェクト34を表示させるときに、上記時間を経過していないメッセージオブジェクト34には重ねずに、上記時間を経過したメッセージオブジェクト34に重ねるようにしている。例えば、メッセージオブジェクト34Aは、比較的古いメッセージであり最低限表示すべき時間が経過しているため、ユーザがメッセージを確認した可能性が高い。しかし、メッセージオブジェクト34Bは、比較的新しいメッセージであり最低限表示すべき時間がまだ経過していないため、ユーザがメッセージを確認していない可能性が高い。したがって、新たなメッセージオブジェクト34Cは、メッセージオブジェクト34Bではなく、メッセージオブジェクト34Aの上に重ねて表示させる方が好ましい。
図4は、メッセージオブジェクト34Cが表示される様子を示す図である。図4に示すように、メッセージオブジェクト34Cは、ユーザが確認した可能性の高いメッセージオブジェクト34Aに重なって表示され、ユーザが確認した可能性の低いメッセージオブジェクト34Bには重ならないようになっている。このようにすれば、メッセージオブジェクト34Bを確認時間を確保しつつ、新たなメッセージオブジェクト34Cを表示させることができる。以下、本技術を実現するための処理を詳細に説明する。
[3.メッセージ表示制御システムにおいて実現される機能]
図5は、メッセージ表示制御システム1で実現される機能のうち、本発明に関連する機能を示す機能ブロック図である。ここでは、メッセージ表示制御サーバ10で実現される機能を説明した後に、各メッセージ表示制御装置20で実現される機能を説明する。なお、図5では、簡略化のため、1つのメッセージ表示制御装置20のみ図示しているが、各メッセージ表示制御装置20で同様の機能が実現される。
[3−1.メッセージ表示制御サーバで実現される機能]
メッセージ表示制御サーバ10では、データ記憶部50、送受信部52、及びデータ生成部54が実現される。例えば、データ記憶部50は、記憶部12を主として実現され、送受信部52は、制御部11及び通信部13を主として実現され、データ生成部54は、制御部11を主として実現される。
[データ記憶部]
データ記憶部50は、メッセージデータベースを記憶する。図6は、メッセージデータベースのデータ格納例を示す図である。図6に示すように、メッセージデータベースには、メッセージID、入力者情報、時刻情報、基準表示時間、及びメッセージが関連付けられて格納される。以降、メッセージデータベースに格納される各レコードを、メッセージに関するメッセージデータという。メッセージデータは、メッセージを管理(例えば、メッセージを特定又は表示等)するために必要なデータであり、ここでは、メッセージを表示するために必要なデータを含んだデータといえる。
メッセージIDは、各メッセージを一意に識別するための情報である。入力者情報は、メッセージの入力者(送信者)を識別する情報であり、例えば、メッセージを入力したユーザを識別する情報やメッセージの入力を受け付けたメッセージ表示制御装置20を識別する情報である。時刻情報は、メッセージが入力された時刻を示す情報である。時刻情報は、日時を示してもよいし、時刻のみを示してもよい。基準表示時間は、メッセージオブジェクト34をユーザが確認するために確保すべき時間として設定された時間である。メッセージオブジェクト34は、基準表示時間を経過しても消去されずに表示される。基準表示時間は、全メッセージで共通であってもよいし、メッセージに応じて異なっていてもよい。ここでは、説明の簡略化のため、共通の基準表示時間が用いられるものとして説明する。
[送受信部]
送受信部52による下記処理は、制御部11により実行され、より詳しくは、制御部11が通信部13に指示を送ることで実行される。送受信部52は、送受信部70と各種データを送受信する。例えば、送受信部52は、各ユーザのメッセージ表示制御装置20から、メッセージが入力されたことを示すメッセージ入力通知を受信する。また、送受信部52は、データ生成部54が生成したメッセージデータを、各ユーザのメッセージ表示制御装置20に送信する。
[データ生成部]
データ生成部54による下記処理は、制御部11により実行される。データ生成部54は、メッセージ入力通知を受信すると、その受信内容に基づいて、メッセージデータを生成する。例えば、データ生成部54は、送受信部52がメッセージ入力通知を受信すると、そのメッセージ入力通知が示すメッセージにメッセージIDを発行して、メッセージ入力通知の送信元を示す入力者情報、現在日時、及び基準表示時間とともにメッセージデータベースに格納する。本実施形態では、基準表示時間を示す情報は、予めデータ記憶部50に記憶されているものとする。
[3−2.各メッセージ表示制御装置で実現される機能]
各メッセージ表示制御装置20では、データ記憶部60、経過判定部62、経過判定結果取得部64、必要判定部66、必要判定結果取得部68、送受信部70、及び表示制御部72が実現される。データ記憶部60は、記憶部22を主として実現され、送受信部70は、制御部21及び通信部23を主として実現される。表示制御部72は、制御部21及び表示部25を主として実現され、他の各機能は、制御部21を主として実現される。
[データ記憶部]
データ記憶部60は、ゲーム画面30を表示させるために必要なデータを記憶する。例えば、データ記憶部60は、後述する送受信部70がメッセージ表示制御サーバ10の送受信部52から受信したメッセージデータを記憶する。このため、本実施形態では、データ記憶部60には、メッセージデータベースと同じ内容が記憶されていることになる。なお、一定時間が経過したメッセージオブジェクト34は表示部25から消去されるので、そのメッセージオブジェクト34を表示させるためのメッセージデータは、一定時間経過後、データ記憶部60から消去するようにしてもよい。
また、データ記憶部60は、表示部25に表示されているメッセージオブジェクト34に関するメッセージ表示管理情報を記憶する。図7は、メッセージ表示管理情報の一例を示す図である。図7に示すように、メッセージ表示管理情報は、メッセージID、表示開始時刻、表示座標、及び表示優先度が関連付けられている。メッセージ表示管理情報は、表示部25に表示されているメッセージオブジェクト34の表示を管理するための情報である。
メッセージIDは、表示部25に表示されているメッセージオブジェクト34が表すメッセージのメッセージIDである。表示開始時刻は、メッセージオブジェクト34の表示を開始した時刻である。表示座標は、メッセージオブジェクト34の表示位置を示す座標である。ここでは、ゲーム画面30の左上を原点としたスクリーン座標系で表示座標が表されるものとする。表示優先度は、基準表示時間が経過したか否かを表す情報であり、例えば、「1」は基準表示時間が経過していないことを示し、「0」は基準表示時間が経過したことを示す。
[経過判定部及び経過判定結果取得部]
経過判定部62及び経過判定結果取得部64による下記処理は、制御部21により実行される。経過判定部62は、表示部25に表示された一又は複数のメッセージオブジェクト34の各々について、基準表示時間が経過したか否かを判定する。経過判定部62は、各メッセージオブジェクト34について、計測開始タイミングから基準表示時間が経過したか否かを判定する。計測開始タイミングは、メッセージオブジェクト34の表示開始タイミングであってもよいし、表示開始タイミングの前後の時点であってもよい。
計測開始タイミングの一例としては、下記が挙げられるが、下記はあくまで一例であり、計測開始タイミングはこの限りではない。下記の何れかのタイミングを示す情報をデータ記憶部50に記憶しておき、経過判定部62は、当該情報が示す時刻から基準表示時間が経過したか否かを判定することになる。なお、下記の(2)〜(4)の場合は、各タイミングを示す情報がメッセージ表示制御サーバ10で生成され、送受信部70が当該情報を受信するものとする。
(1)ユーザがメッセージを入力したタイミング
(2)メッセージ表示制御サーバ10がメッセージ表示制御装置20からメッセージ入力通知を受信したタイミング
(3)データ生成部54がメッセージデータを生成したタイミング
(4)メッセージ表示制御サーバ10がメッセージ表示制御装置20にメッセージデータを送信したタイミング
(5)メッセージ表示制御装置20がメッセージデータを受信したタイミング
(6)メッセージ表示制御装置20がメッセージオブジェクト34を表示したタイミング
(7)メッセージオブジェクト34を表示開始から所定時間経過後のタイミング
経過判定結果取得部64は、経過判定部62の判定結果を取得する。例えば、経過判定結果取得部64は、基準表示時間が経過していないことを示す情報である判定結果、又は、基準表示時間が経過したことを示す情報である判定結果を、経過判定部62から取得する。
[必要判定部及び必要判定結果取得部]
必要判定部66及び必要判定結果取得部68による下記処理は、制御部21により実行される。必要判定部66は、新たなメッセージオブジェクト34を表示部25に表示させるために、表示部25に表示されたメッセージオブジェクト34の表示領域の少なくとも一部を利用する必要があるか否かを判定する。必要判定部66は、新たなメッセージオブジェクト34の大きさと、表示可能領域38のうちメッセージオブジェクト34が表示されていない領域(以降、この領域を空き領域ともいう。)と、に基づいて判定を行う。
より具体的には、必要判定部66は、新たなメッセージオブジェクト34が、表示部25に表示されたメッセージオブジェクト34と重ならないようにして、新たなメッセージオブジェクト34を表示することが可能であるか否かを判定する。これが可能でない場合、必要判定部66は、表示部25に表示されたメッセージオブジェクト34の表示領域の少なくとも一部を利用する必要があると判定することになる。
別の言い方をすれば、必要判定部66は、表示部25に表示されたメッセージオブジェクト34の表示が制限される(隠れる又は見えなくなる)ことがないようにして、新たなメッセージオブジェクト34を表示することが可能であるか否かを判定する。これが可能でない場合、必要判定部66は、表示部25に表示されたメッセージオブジェクト34の表示領域の少なくとも一部を利用する必要があると判定する。
必要判定結果取得部68は、必要判定部66の判定結果を取得する。例えば、経過判定結果取得部64は、メッセージオブジェクト34の表示領域の少なくとも一部を利用する必要がないことを示す情報、又は、メッセージオブジェクト34の表示領域の少なくとも一部を利用する必要があることを示す情報を、経過判定部62から取得する。
[送受信部]
送受信部70による下記処理は、制御部21により実行され、より詳しくは、制御部21が通信部23に指示を送ることで実行される。送受信部70は、メッセージ表示制御サーバ10の送受信部52と各種データを送受信する。本実施形態では、送受信部70は、メッセージ表示制御サーバ10のデータ生成部54が生成したメッセージデータを送受信部52を介して受信する。送受信部70が受信したメッセージデータは、データ記憶部60に記録される。
また、送受信部70は、メッセージが入力されたことを示すメッセージ入力通知をメッセージ表示制御サーバ10に送信する。メッセージ入力通知は、その送信元においてメッセージが入力されたことを示し、予め定められた形式のデータを送信することで行われる。ここでの送信元とは、メッセージの入力及び送信操作を受け付けたメッセージ表示制御装置20(送信操作をしたユーザのメッセージ表示制御装置20)である。
メッセージ入力通知には、入力フォーム40に入力されたメッセージやその入力者を特定する情報(例えば、ユーザを特定する情報やメッセージ表示制御装置20を特定する情報)が含まれる。メッセージ入力通知は、各ユーザのメッセージ表示制御装置20において、入力フォーム40にメッセージが入力された状態で送信ボタン42が選択されたときに、そのメッセージ表示制御装置20から送信される。
[表示制御部]
表示制御部72による下記処理は、制御部21により実行され、より詳しくは、制御部21が表示部25に指示を送ることで実行される。表示制御部72は、メッセージデータに基づいて、メッセージオブジェクト34を表示させる。表示制御部72は、経過判定結果取得部64が取得した判定結果に基づいて、一又は複数のメッセージオブジェクト34が表示された表示部25に新たなメッセージオブジェクト34を表示させるための制御を行う。新たなメッセージオブジェクト34を表示させるための制御とは、基準表示時間が経過していないメッセージオブジェクト34の表示を制限しないようにして、新たなメッセージオブジェクト34を表示させることである。
例えば、表示制御部72は、基準表示時間が経過したメッセージオブジェクト34の表示領域の少なくとも一部を利用して、新たなメッセージオブジェクト34を表示部25に表示させる。メッセージオブジェクト34の表示領域とは、メッセージオブジェクト34が表示された領域である。
また、基準表示時間が経過したメッセージオブジェクト34の表示領域の少なくとも一部を利用して新たなメッセージオブジェクト34を表示させるとは、基準表示時間が経過したメッセージオブジェクト34の表示領域の少なくとも一部を直接的又は間接的に利用して、新たなメッセージオブジェクト34を表示させることである。本実施形態では、直接的に利用する場合を説明し、間接的に利用する場合は、後述の変形例で説明する。
基準表示時間が経過したメッセージオブジェクト34の表示領域の少なくとも一部を直接的に利用するとは、基準表示時間が経過したメッセージオブジェクト34の表示領域の少なくとも一部に、新たなメッセージオブジェクト34を表示させることである。別の言い方をすれば、基準表示時間が経過したメッセージオブジェクト34が表示されている領域又は表示されていた領域の少なくとも一部に、新たなメッセージオブジェクト34を表示させることである。例えば、表示制御部72が新たなメッセージオブジェクト34を次のように表示させることが、基準表示時間が経過したメッセージオブジェクト34の表示領域の少なくとも一部を直接的に利用することに相当する。
(1)表示制御部72が、基準表示時間が経過したメッセージオブジェクト34の少なくとも一部の上に、新たなメッセージオブジェクト34の少なくとも一部が重畳するようにして、新たなメッセージオブジェクト34を表示させること。
(2)表示制御部72が、基準表示時間が経過したメッセージオブジェクト34の少なくとも一部の上に、新たなメッセージオブジェクト34の少なくとも一部を上書き表示させること。
(3)表示制御部72が、基準表示時間が経過したメッセージオブジェクト34の少なくとも一部を消し、当該少なくとも一部が表示されていた領域を利用して新たなメッセージオブジェクト34を表示させること。例えば、表示制御部72が、当該少なくとも一部が表示されていた領域に新たなメッセージオブジェクト34の少なくとも一部を表示するようにして、新たなメッセージオブジェクト34を表示させること。
本実施形態では、表示制御部72は、必要判定部66により必要があると判定された場合に、基準表示時間が経過したメッセージオブジェクト34の表示領域の少なくとも一部を利用して、新たなメッセージオブジェクト34を表示させる。一方、表示制御部72は、必要判定部66により必要がないと判定された場合には、基準表示時間が経過したメッセージオブジェクト34の表示領域を利用せずに、新たなメッセージオブジェクト34を表示させる。
本実施形態では、表示制御部72は、基準表示時間が経過したメッセージオブジェクト34の少なくとも一部に重畳するようにして、新たなメッセージオブジェクト34を表示させる。即ち、表示制御部72は、基準表示時間が経過したメッセージオブジェクト34の一部又は全部に、新たなメッセージオブジェクト34の一部又は全部を重畳させる。基準表示時間が経過したメッセージオブジェクト34の少なくとも一部に重畳するとは、基準表示時間が経過したメッセージオブジェクト34の表示領域と、新たなメッセージオブジェクト34の表示領域と、に共通する部分が存在することである。より具体的には、2次元画像のレイヤ機能を利用してメッセージオブジェクト34を表示させる場合には、新たなメッセージオブジェクト34の順番(重なり順)を、基準表示時間が経過したメッセージオブジェクト34の順番(重なり順)よりも手前側に設定して重ねることであり、3次元的にメッセージオブジェクト34を表示させる場合には、3次元空間において、視点(仮想カメラ)と基準表示時間が経過したメッセージオブジェクト34との間に、新たなメッセージオブジェクト34を配置させることである。
例えば、表示制御部72は、表示部25に表示されたメッセージオブジェクト34に、基準表示時間が経過したメッセージオブジェクト34が複数含まれる場合には、基準表示時間が経過した当該複数のメッセージオブジェクト34のうち、基準表示時間が経過した後の時間が最も長いメッセージオブジェクト34の表示領域の少なくとも一部を利用して、新たなメッセージオブジェクト34を表示させる。基準表示時間が経過した後の時間とは、基準表示時間が経過してからの経過時間であり、基準表示時間が経過した時点と現時点との時間間隔である。
表示制御部72は、表示部25に表示されたメッセージオブジェクト34に、基準表示時間が経過したメッセージオブジェクト34が含まれていない場合、表示部25に表示されたメッセージオブジェクト34のうち、基準表示時間が経過するまでの残り時間が最も短いメッセージオブジェクト34の表示領域の少なくとも一部を利用して、新たなメッセージオブジェクト34を表示させる。基準表示時間が経過するまでの残り時間は、基準表示時間の経過に要する時間であり、現時点と基準表示時間が経過する時点との時間間隔である。
また、表示制御部72は、表示部25に表示されたメッセージオブジェクト34を表示期限が到来した場合に消去させる。表示期限は、基準表示時間の経過後に到来する時点である。表示期限は、メッセージオブジェクト34を消去すべきタイミングであり、基準表示時間とは異なる。即ち、表示期限は、メッセージオブジェクト34を十分に余裕を持って確認するために必要な時間であり、基準表示時間は、メッセージオブジェクト34を確認するために最低限確保すべき時間であるともいえる。別の言い方をすれば、表示期限を設定する目的と基準表示時間を設定する目的は異なる。表示期限は、ゲーム画面30の全体の視認性の観点から不要なメッセージオブジェクト34を消去する目的で設定され、基準表示時間は、ユーザが確認するための最低限の時間を確保する目的で設定される。基準表示時間が経過してもメッセージオブジェクト34は表示されるが、表示期限が訪れるとメッセージオブジェクト34は表示されなくなる。表示期限は、全メッセージで共通であってもよいし、メッセージに応じて異なっていてもよい。例えば、表示期限は、メッセージオブジェクト34が表すメッセージの長さに応じて変化してもよいし、ユーザの設定やゲームの状況に応じて可変であってもよい(例えば、ユーザごとに違ってもよいし、ゲームの状況が所定の状況であるか否かに応じて変化してもよい)。
また、本実施形態では、表示制御部72は、メッセージオブジェクト34とアバタ画像36とを関連付けて表示させる。メッセージオブジェクト34がアバタ画像36に関連付けて表示されるとは、メッセージオブジェクト34とアバタ画像36とが関連していることをユーザが把握できるように表示することを意味する。具体的には、メッセージオブジェクト34の一部がアバタ画像36を指し示すようにして表示することが「メッセージオブジェクト34がアバタ画像36に関連付けて表示される」ことに相当する。また例えば、メッセージオブジェクト34の少なくとも一部の表示位置(吹き出しの起点)がアバタ画像36の位置に基づいて設定するようにして表示することが「メッセージオブジェクト34がアバタ画像36に関連付けて表示される」の一例に相当する。また例えば、メッセージオブジェクト34の少なくとも一部をアバタ画像36の付近(所定距離以内の位置)に表示することが「メッセージオブジェクト34がアバタ画像36に関連付けて表示される」の一例に相当する。
[4.メッセージ表示制御システムにおいて実行される処理]
図8及び図9は、メッセージ表示制御システム1が実行する処理を示すフロー図である。図8及び図9に示す処理は、複数のユーザが参加するチャットが開始する場合に、制御部11が、記憶部12に記憶されたプログラムに従って動作し、制御部21が、記憶部22に記憶されたプログラムに従って動作することによって実行される。下記に説明する処理が実行されることにより、図5に示す機能ブロックが実現される。なお、図8及び図9では、簡略化のために、一つのメッセージ表示制御装置20のみを図示しているが、各メッセージ表示制御装置20で同様の処理が実行される。
まず、図8に示すように、メッセージ表示制御装置20においては、制御部21は、ゲーム画面30を表示部25に表示させる(S1)。S1において表示されるゲーム画面30は、初期画面なので、まだメッセージオブジェクト34は表示されていない。なお、本実施形態では、ゲームの実行中にチャットが行われるので、各ユーザの操作に基づいてゲームも進行しているものとする。
制御部21は、表示可能領域38に表示されたメッセージオブジェクト34の各々について、基準表示時間が経過したか否かを判定する(S2)。S2においては、制御部21は、表示優先度が「1」のメッセージオブジェクト34の各々について、表示開始時間から基準表示時間後の時点が到来したか否かを判定することになる。なお、表示可能領域38にメッセージオブジェクト34が表示されていない場合は、S2〜S5の処理は実行されない。
基準表示時間が経過したと判定された場合(S2;Y)、制御部21は、基準表示時間が経過したメッセージオブジェクト34の表示優先度を更新する(S3)。S3においては、制御部21は、基準表示時間が経過したメッセージオブジェクト34の表示優先度を「1」から「0」に変更する。
一方、基準表示時間が経過したと判定されない場合(S2;N)、制御部21は、表示可能領域38に表示されたメッセージオブジェクト34の各々について、表示期限が到来したか否かを判定する(S4)。S4においては、制御部21は、表示部25に表示されたメッセージオブジェクト34の各々について、表示開始時間から所定時間後の表示期限が到来したか否かを判定することになる。
表示期限が到来したと判定された場合(S4;Y)、制御部21は、表示期限が到来したメッセージオブジェクト34を消去する(S5)。S5においては、制御部21は、メッセージ表示管理情報から、消去すべきメッセージオブジェクト34に対応するレコードを削除する。その結果、メッセージオブジェクト34が表示部25から消去される。
一方、表示期限が到来していないと判定された場合(S4;N)、制御部21は、入力フォーム40にメッセージが入力された状態で送信ボタン42が選択されたか否かを判定する(S6)。ユーザは、操作部24を操作して入力フォーム40に記号列や画像を入力して、送信ボタン42を選択することで、メッセージを送信することができる。なお、入力フォーム40にメッセージが入力されていない状態では、送信ボタン42が選択できないようにしてもよい。
送信ボタン42が選択されたと判定された場合(S6;Y)、制御部21は、メッセージ入力通知を、メッセージ表示制御サーバ10に送信する(S7)。なお、各メッセージ表示制御装置20からメッセージ表示制御サーバ10に対して通知が送信される場合には、ユーザID(メッセージ表示制御装置20又はメッセージ表示制御装置20を操作するユーザ等を特定するための情報)なども送信されており、メッセージ表示制御サーバ10は、どのメッセージ表示制御装置20又はユーザから通知を受信したかを特定できるようになっている。
メッセージ表示制御サーバ10は、メッセージ入力通知を受信すると、制御部11は、メッセージ入力通知に応じて、メッセージデータを生成する(S8)。S8においては、メッセージ入力通知が示すメッセージに新たにメッセージIDを発行し、入力者情報、基準表示時間、及び現在の時刻と関連付けてメッセージデータベースに格納する。なお、メッセージIDは、所定のID発行ルールの元で他のメッセージIDと重複しないように発行されるようにすればよい。また、ここでは現在の時刻が関連付けられる場合を説明するが、メッセージ表示制御装置20でメッセージの入力時に記録された時刻でもよい。この時刻は、メッセージ表示制御装置20において取得されるものであり、メッセージ入力通知に含まれる。
制御部11は、S8において生成したメッセージデータを、各メッセージ表示制御装置20に送信する(S9)。なお、チャットに参加している各ユーザのメッセージ表示制御装置20を識別する情報(例えば、IPアドレスなど)は、予め記憶部12に記憶されており、メッセージ表示制御サーバ10は、メッセージデータの送信先を特定可能である。
メッセージ表示制御装置20においては、制御部21は、メッセージ表示制御サーバ10からメッセージデータを受信したか否かを判定する(S10)。メッセージデータを受信したと判定された場合(S10;Y)、制御部21は、受信したメッセージデータを記憶部22に記録する(S11)。
制御部21は、受信したメッセージデータに基づいて、新たなメッセージオブジェクト34を生成する(S12)。S12においては、制御部21は、メッセージデータが示すメッセージを表すメッセージオブジェクト34を生成する。メッセージオブジェクト34を生成するための画像データは、記憶部22に予め記憶されているものとする。例えば、制御部21は、メッセージデータが示すメッセージの長さに応じて画像データが示す画像の大きさを変更し、当該変更した画像にメッセージを埋め込むことによって、メッセージオブジェクト34を生成する。制御部21は、S12で生成したメッセージオブジェクト34の画像データを記憶部22に一時的に記録する。
図9に移り、制御部21は、S12で生成した新たなメッセージオブジェクト34を、表示可能領域38に表示されたメッセージオブジェクト34の表示領域の少なくとも一部を利用して表示させる必要があるか否かを判定する(S13)。S13においては、制御部21は、メッセージ表示管理情報が示す各メッセージオブジェクト34の表示座標を参照して、S12で生成した新たなメッセージオブジェクト34を、表示可能領域38に表示されている他のメッセージオブジェクト34に重ねずに表示可能か否かを判定することになる。
必要がないと判定された場合(S13;N)、制御部21は、S12で生成した新たなメッセージオブジェクト34を、表示可能領域38に表示されたメッセージオブジェクト34と重ならないように表示させ(S14)、メッセージ表示管理情報を更新する(S15)。S15においては、制御部21は、新たなメッセージオブジェクト34が表すメッセージのメッセージID、現在の時刻、及び新たなメッセージオブジェクト34を表示させた座標を関連付けてメッセージ表示管理情報に格納する。なお、新たなメッセージオブジェクト34は、表示を開始したばかりであり基準表示時間が経過していないので、表示優先度は「1」となる。
一方、必要があると判定された場合(S13;Y)、制御部21は、表示可能領域38に表示されたメッセージオブジェクト34の中に基準表示時間を経過したものがあるか否かを判定する(S16)。S16においては、制御部21は、メッセージ表示管理情報に格納された各レコードの表示優先度の値を参照する。
基準表示時間を経過したメッセージオブジェクト34が一つあると判定された場合(S16;一つ)、制御部21は、基準表示時間を経過したメッセージオブジェクト34の上に、新たなメッセージオブジェクト34を重ねて表示させる(S17)。S17においては、制御部21は、基準表示時間を経過したメッセージオブジェクト34の一部にのみ、新たなメッセージオブジェクト34が重なるようにしてもよいし、基準表示時間を経過したメッセージオブジェクト34の全部に新たなメッセージオブジェクト34が重なるようにしてもよい。
一方、基準表示時間を経過したメッセージオブジェクト34が複数あると判定された場合(S16;複数)、制御部21は、基準表示時間を経過した複数のメッセージオブジェクト34のうち、基準表示時間の経過後の時間が最も長いメッセージオブジェクト34の上に、新たなメッセージオブジェクト34を重ねて表示させる(S18)。S18においては、制御部21は、表示優先度の値が「0」のメッセージオブジェクト34の各々について、基準表示時間の経過後の時間を計算する。そして、制御部21は、当該計算した時間が最も長いメッセージオブジェクト34の上に、新たなメッセージオブジェクト34を重ねることになる。
一方、基準表示時間を経過したメッセージオブジェクト34がないと判定された場合(S16;なし)、制御部21は、基準表示時間が到来するまでの残り時間が最も短いメッセージオブジェクト34の上に、新たなメッセージオブジェクト34を表示させる(S19)。S19においては、制御部21は、表示優先度の値が「1」のメッセージオブジェクト34の各々について、基準表示時間が到来するまでの残り時間を計算する。そして、制御部21は、当該計算した残り時間が最も短いメッセージオブジェクト34の上に、新たなメッセージオブジェクト34を重ねることになる。なお、S17〜S19の何れかの処理が実行された後は、S15の処理に移行して、制御部21は、メッセージオブジェクト34の表示座標及び現在の時刻に基づいて、メッセージ表示管理情報を更新する。
図8に戻り、制御部21は、チャットが終了したか否かを判定する(S20)。チャットは、予め定められた条件が満たされた場合に終了し、例えば、チャットを終了させるための所定操作を何れかのユーザが行った場合やゲームをクリアした場合に終了する。チャットが終了したと判定されない場合(S20;N)、S2の処理に戻る。一方、チャットが終了したと判定された場合(S20;Y)、本処理は終了する。
以上説明したメッセージ表示制御システム1によれば、各メッセージオブジェクト34について基準表示時間が経過したか否かの判定結果に基づいて新たなメッセージオブジェクト34を表示させるための制御をしているので、各メッセージオブジェクト34を確認する時間を確保することができる。特に、ゲーム中にチャットする場合には、ゲームに関する各種操作をしたりゲーム画像32を確認したりしなければならないため、メッセージオブジェクト34をすぐに確認できないことがある。この点、各メッセージオブジェクト34をメッセージオブジェクト34を他のメッセージオブジェクト34によって隠れないようにして最低限表示すべき基準表示時間を設定しておくことにより、ゲームの操作をしたりゲーム画像32を確認したりしつつ、メッセージオブジェクト34を確認させることができる。更に、メッセージオブジェクト34とアバタ画像36とが関連付けられて表示される場合には、メッセージオブジェクト34の表示位置に制約があるので、各メッセージオブジェクト34が重なりやすくなるが、上記のように基準表示時間を設定することで、各メッセージオブジェクト34が重なりやすい状況であっても確認する時間を確保することができる。
また、新たなメッセージオブジェクト34を表示させるときに、基準表示時間が経過していないメッセージオブジェクト34の表示領域を利用しなくてすむので、基準表示時間が経過していないメッセージオブジェクト34を確認する時間を確保することができる。より具体的には、基準表示時間が経過したメッセージオブジェクト34の少なくとも一部に重畳するようにして、新たなメッセージオブジェクト34を表示させることによって、基準表示時間が経過していないメッセージオブジェクト34を表示させる時間を確保することができる。
また、新たなメッセージオブジェクト34を表示させるために、既に表示されたメッセージオブジェクト34の表示領域を利用する必要があるときに、基準表示時間が経過したメッセージオブジェクト34の表示領域の少なくとも一部を利用して、新たなメッセージオブジェクト34を表示させるので、既に表示されたメッセージオブジェクト34の表示領域を利用する必要がないときは、基準時間が経過したメッセージオブジェクト34であっても、その表示領域を利用しなくてすむので、そのまま長い時間表示することができる。
また、基準表示時間が経過した後の時間が長いメッセージオブジェクト34は、確認した可能性が高く、基準表示時間が経過した後の時間が短いメッセージオブジェクト34は、確認した可能性が低いので、この時間が最も長いメッセージオブジェクト34の表示領域の少なくとも一部を利用して、新たなメッセージオブジェクト34を表示させることで、確認した可能性が比較的低いメッセージオブジェクト34を確認する時間を確保することができる。
また、基準表示時間が経過するまでの残り時間が短いメッセージオブジェクト34は、確認した可能性が高く、基準表示時間が経過するまでの残り時間が長いメッセージオブジェクト34は、確認した可能性が低いので、この残り時間が最も短いメッセージオブジェクト34の表示領域の少なくとも一部を利用して、新たなメッセージオブジェクト34を表示させることで、確認した可能性が低いメッセージオブジェクト34を確認する時間を確保することができる。
[5.変形例]
なお、本発明は、以上に説明した実施の形態に限定されるものではない。本発明の趣旨を逸脱しない範囲で、適宜変更可能である。
図10は、変形例の機能ブロック図である。図10に示すように、変形例では、表示制御部72において確保部74及び待機部76が実現される。更に、変形例では、実施形態の機能に加えて、基準表示時間設定部78、制限部80、待機数判定部82、及び待機数判定結果取得部84が実現される。これらの機能は、制御部21を主として実現される。なお、確保部74は、変形例(3−1)〜変形例(3−5)において必須の構成であるが、他の変形例では省略してもよい。待機部76は、変形例(5−1)及び変形例(5−2)において必須の構成であるが、他の変形例では省略してもよい。基準表示時間設定部78は、変形例(4)において必須の構成であるが、他の変形例では省略してもよい。制限部80は、変形例(5−2)及び変形例(6)において必須の構成であるが、他の変形例では省略してもよい。待機数判定部82及び待機数判定結果取得部84は、変形例(5−2)において必須の構成であるが、他の変形例では省略してもよい。
(1−1)例えば、実施形態では、基準表示時間が経過したメッセージオブジェクト34のうち新たなメッセージオブジェクト34と重なっている部分はユーザが確認できないようになっているが、表示制御部72は、基準表示時間が経過したメッセージオブジェクト34の表示領域の少なくとも一部において、当該メッセージオブジェクト34の少なくとも一部及び新たなメッセージオブジェクト34の少なくとも一部を表示させるようにしてもよい。
基準表示時間が経過したメッセージオブジェクト34の少なくとも一部及び新たなメッセージオブジェクト34の少なくとも一部を表示するとは、ある領域内において、基準表示時間が経過したメッセージオブジェクト34の少なくとも一部と、新たなメッセージオブジェクト34の少なくとも一部と、の両方を表示させることである。別の言い方をすれば、ある領域内において、基準表示時間が経過したメッセージオブジェクト34が表すメッセージの少なくとも一部と、新たなメッセージオブジェクト34が表すメッセージの少なくとも一部と、をユーザが確認可能にすることである。
ここでは、表示制御部72は、基準表示時間が経過したメッセージオブジェクト34の少なくとも一部に重畳するようにして、新たなメッセージオブジェクト34を半透明で表示させる場合を例に挙げて説明する。例えば、表示制御部72は、新たなメッセージオブジェクト34を半透明にすることで、基準表示時間が経過したメッセージオブジェクト34のうち新たなメッセージオブジェクト34と重なっている部分をユーザが確認できるようにする。
図11は、変形例(1−1)におけるゲーム画面30の一例を示す図である。図11に示すように、表示制御部72は、新たなメッセージオブジェクト34Cの透過率を変更して透過させることによって、メッセージオブジェクト34Aのうち、メッセージオブジェクト34Cと重なっている部分(図11では、模式的に破線で示す。)を表示可能にしている。別の言い方をすれば、表示制御部72は、メッセージオブジェクト34A及び34Cを半透明合成させることによって、これらメッセージオブジェクト34A及び34Cの両方を確認可能にしている。
なお、表示制御部72は、新たなメッセージオブジェクト34Cを表示後、時間経過とともに、新たなメッセージオブジェクト34Cの透過率を徐々に下げるようにしてもよい。即ち、表示制御部72は、新たなメッセージオブジェクト34Cの表示開始直後は所定の透過率で透過させ、時間が経過するほど透過しないように新たなメッセージオブジェクト34Cの透過率を変化させる。このようにすることで、新たなメッセージオブジェクト34Cが半透明のままでは見にくいため、時間経過とともに新たなメッセージオブジェクト34Cを見やすくすることができる。
また、上記とは逆に、表示制御部72は、新たなメッセージオブジェクト34Cを表示開始の時点で半透明で表示させず、時間経過とともに、新たなメッセージオブジェクト34Cの透過率を徐々に上げるようにしてもよい。即ち、表示制御部72は、新たなメッセージオブジェクト34Cの表示開始直後は透過させず、時間が経過するほど透過するように新たなメッセージオブジェクト34Cの透過率を変化させる。このようにすれば、新たなメッセージオブジェクト34Cを表示開始直後は比較的見やすい状態とし、時間経過とともに透過させることで、メッセージオブジェクト34Aも確認可能にすることができる。
また、S19の処理が実行される場合に、新たなメッセージオブジェクト34Cを半透明で表示させるようにしてもよい。即ち、表示制御部72は、メッセージオブジェクト34A及び34Bが何れも基準表示時間を経過していない場合に、新たなメッセージオブジェクト34Cを透過させるようにしてもよい。このようにすれば、ユーザは、メッセージオブジェクト34A〜34Cの全てを確認することができる。その後、メッセージオブジェクト34A及び34Bのうちメッセージオブジェクト34Cと重なっている方の基準表示時間が経過した場合に、表示制御部72は、メッセージオブジェクト34Cの半透明の状態を解除して、メッセージオブジェクト34Cを透過させないようにしてもよい。
変形例(1−1)によれば、新たなメッセージオブジェクト34Cを確認させつつ、基準表示時間が経過したメッセージオブジェクト34Aについても確認させることができる。
なお、基準表示時間が経過したメッセージオブジェクト34Aの表示領域の少なくとも一部において、当該メッセージオブジェクト34Aの少なくとも一部及び新たなメッセージオブジェクト34Cの少なくとも一部を表示するための方法は、上記のように新たなメッセージオブジェクト34Cを半透明にする態様(画像合成を伴う方法)に限られない。他にも例えば、表示制御部72は、基準表示時間が経過したメッセージオブジェクト34Aの表示領域の少なくとも一部(例えば、図11に示すメッセージオブジェクト34A及び34Cが重なっている部分)において、メッセージオブジェクト34Aだけが表示される領域と、メッセージオブジェクト34Cだけが表示される領域と、が存在するように表示制御を行うようにしてもよい。例えば、表示制御部72は、メッセージオブジェクト34Aだけが表示される領域と、メッセージオブジェクト34Cだけが表示される領域と、が交互に並ぶように(例えば、網かけや紋模様等の所定のパターンを利用して2つの画像を交互に表示させるように)表示制御を行うようにしてもよい。
(1−2)また例えば、実施形態では、基準表示時間が経過したメッセージオブジェクト34を表示させたまま、新たなメッセージオブジェクト34を重ねるようにしたが、表示制御部72は、基準表示時間が経過したメッセージオブジェクト34の少なくとも一部を消去して、当該少なくとも一部が表示されていた領域を利用して、新たなメッセージオブジェクト34を表示させるようにしてもよい。
図12は、変形例(1−2)における表示制御を説明するための図である。図12に示す例では、表示制御部72は、メッセージオブジェクト34Aの全部を消去して、その少なくとも一部が表示されていた領域を利用して、新たなメッセージオブジェクト34Cの一部を表示させる。
なお、図12では、メッセージオブジェクト34Aの全部を消去する場合を説明したが、表示制御部72は、メッセージオブジェクト34Aの一部を消去して、当該メッセージオブジェクト34Aが表示されていた領域を利用して、新たなメッセージオブジェクト34の一部又は全部を表示させるようにしてもよい。この場合、ゲーム画面30としては、図4と同様の画面となる。メッセージオブジェクト34Aは、メッセージオブジェクト34Cと重なっている部分が削れた状態となる。新たなメッセージオブジェクト34Cの他の部分が表示される領域は、元々他のメッセージオブジェクト34A及び34Bが表示されていなかった領域である。
変形例(1−2)によれば、基準表示時間が経過したメッセージオブジェクト34の少なくとも一部を消去して、その領域を利用して、新たなメッセージオブジェクト34を表示させるので、ユーザが確認した可能性が高い画像を表示することがなくなり無駄をなくしつつ、基準表示時間が経過していないメッセージオブジェクト34を表示させる時間を確保することができる。
(2)また例えば、表示制御部72は、表示部25に表示されたメッセージオブジェクト34に、基準表示時間が経過したメッセージオブジェクト34が複数含まれる場合に、基準表示時間が経過した当該複数のメッセージオブジェクト34のうち、表示期限が到来するまでの残り時間が最も短いメッセージオブジェクト34の表示領域の少なくとも一部を利用して、新たなメッセージオブジェクト34を表示させるようにしてもよい。表示期限が到来するまでの残り時間とは、表示期限が到来するまでに要する時間であり、現時点と表示期限との時間間隔である。
図13は、変形例(2)における表示制御の説明図である。図13に示すt軸は、時間軸である。時刻t0は、現在の時刻であり、時刻tA1,tA2,tA3は、それぞれ、メッセージオブジェクト34Aの表示開始の時刻、メッセージオブジェクト34Aの基準表示時間が経過した時刻、及びメッセージオブジェクト34Aの表示期限が到来する時刻である。同様に、時刻tB1,tB2,tB3は、それぞれ、メッセージオブジェクト34Bの表示開始の時刻、メッセージオブジェクト34Bの基準表示時間が経過した時刻、及びメッセージオブジェクト34Bの表示期限が到来する時刻である。
図13に示す例では、メッセージオブジェクト34A及び34Bのそれぞれは、ともに基準表示時間が経過しており、表示期限までの残り時間(時刻t0と、時刻tA3又は時刻tB3と、の時間間隔)はそれぞれ1秒と3秒であるので、残り時間が最も短いものは、メッセージオブジェクト34Aである。このため、表示制御部72は、残り時間が最も短いメッセージオブジェクト34Aの表示領域の少なくとも一部を利用して、新たなメッセージオブジェクト34Cを表示させることになる。メッセージオブジェクト34Aの表示領域を利用する方法自体は、実施形態で説明した方法と同様である。
変形例(2)によれば、表示期限が到来するまでの残り時間が短く、もうすぐ消去されるメッセージオブジェクト34は、ユーザが確認した可能性が高く、表示期限が到来するまでの残り時間が長く、まだ消去されないメッセージオブジェクト34は、ユーザが確認した可能性が低いので、この残り時間が最も短いメッセージオブジェクト34の表示領域の少なくとも一部を利用して、新たなメッセージオブジェクト34を表示させることで、確認した可能性が比較的低いメッセージオブジェクト34を確認する時間を確保することができる。
(3−1)また例えば、表示制御部72が確保部74を含み、確保部74は、基準表示時間が経過したメッセージオブジェクト34の大きさを、基準表示時間が経過する前の大きさよりも小さくすることによって、新たなメッセージオブジェクト34を表示させるために利用可能な領域を広げるようにしてもよい。確保部74による処理は、制御部21により実行される。新たなメッセージオブジェクト34を表示させるために利用可能な領域とは、表示可能領域38のうち、メッセージオブジェクト34が表示されていない領域、及び、基準表示時間が経過したメッセージオブジェクト34が表示されている領域の少なくとも一方の領域である。例えば、本変形例では、基準表示時間が経過したメッセージオブジェクト34の大きさが小さくなり、その結果として、メッセージオブジェクト34が表示されていない領域が広がるので、新たなメッセージオブジェクト34を表示させるために利用可能な領域が広がることになる。
メッセージオブジェクト34の大きさとは、メッセージオブジェクト34の表示領域の広さであり、メッセージオブジェクト34が画面に表れる面積のことである。確保部74は、基準表示時間が経過したメッセージオブジェクト34を小さくすることで、表示可能領域38のうち、どのメッセージオブジェクト34も表示されていない領域(空き領域)を広げる。領域を広げるとは、面積を増加させる(大きくする)ことである。別の言い方をすれば、確保部74は、新たなメッセージオブジェクト34を表示させるために利用可能な領域を確保、生成、又は設定しているともいえる。
図14は、変形例(3−1)におけるゲーム画面30の変化を示す図である。図14に示すように、メッセージオブジェクト34Aは基準表示時間が経過したので、確保部74は、メッセージオブジェクト34Aの大きさを、基準表示時間の経過前よりも小さくする。その結果、表示可能領域38のうちメッセージオブジェクト34が表示されていない領域が広がるので、表示制御部72は、その領域に、新たなメッセージオブジェクト34Cを表示させることになる。確保部74がメッセージオブジェクト34を小さくする割合(縮小率)は、予め定められた値であってもよいし、新たなメッセージオブジェクト34Cの大きさに応じて決まってもよい。
なお、確保部74は、基準表示時間の経過後すぐにメッセージオブジェクト34Aを小さくしてもよいし、新たなメッセージオブジェクト34Cを表示させるときに、メッセージオブジェクト34Aを小さくするようにしてもよい。即ち、メッセージオブジェクト34Aを小さくするタイミングは、基準表示時間の経過後であればよい。なお、この点は、後述する変形例(3−2)〜(3−5)でも同様であり、メッセージオブジェクト34の形状、向き、又は表示位置を変化させるタイミングは、基準表示時間の経過後であればよい。
変形例(3−1)によれば、基準表示時間が経過したメッセージオブジェクト34が小さくなり、新たなメッセージオブジェクト34を表示させるために利用可能な領域が広がることにより、新たなメッセージオブジェクト34を表示させるときに、基準表示時間が経過していないメッセージオブジェクト34の表示領域を利用しなくてすむので、基準表示時間が経過していないメッセージオブジェクト34を確認する時間を確保することができる。基準表示時間が経過していないメッセージオブジェクト34の大きさを変えてしまうと、当該メッセージオブジェクト34を見にくくなってしまうが、基準表示時間が経過するまでは、メッセージオブジェクト34の大きさを変えないように担保しているため、基準表示時間が経過していないメッセージオブジェクト34を見やすい状態のままとすることができる。
(3−2)また例えば、確保部74は、基準表示時間が経過したメッセージオブジェクト34の形状を、基準表示時間が経過する前の形状から変えることによって、新たなメッセージオブジェクト34を表示させるために利用可能な領域を確保するようにしてもよい。メッセージオブジェクト34の形状を変えるとは、メッセージオブジェクト34の輪郭の形を変えることともいえる。
図15は、変形例(3−2)におけるゲーム画面30の一例を示す図である。図15に示すように、確保部74は、新たなメッセージオブジェクト34を表示させる場合に、他のメッセージオブジェクト34の表示領域を利用する必要がないように、基準表示時間が経過したメッセージオブジェクト34Aの形状を変化させる。なお、確保部74がメッセージオブジェクト34Aの形状を変える場合に、メッセージオブジェクト34Aの大きさは、変化してもよいし、変化しないようにしてもよい。
変形例(3−2)によれば、基準表示時間が経過したメッセージオブジェクト34の形状を変えることで、新たなメッセージオブジェクト34を表示させるために利用可能な領域を確保することにより、新たなメッセージオブジェクト34を表示させるときに、基準表示時間が経過していないメッセージオブジェクト34の表示領域を利用しなくてすむので、基準表示時間が経過していないメッセージオブジェクト34を確認する時間を確保することができる。基準表示時間が経過していないメッセージオブジェクト34の形状を変えてしまうと、当該メッセージオブジェクト34の見た目が変化するため見にくくなるが、基準表示時間が経過するまでは、メッセージオブジェクト34の形状を変えないように担保しているため、基準表示時間が経過していないメッセージオブジェクト34を見やすい状態のままとすることができる。
(3−3)また例えば、確保部74は、基準表示時間が経過したメッセージオブジェクト34の向きを、基準表示時間が経過する前の向きから変えることによって、新たなメッセージオブジェクト34を表示させるために利用可能な領域を確保するようにしてもよい。
図16は、変形例(3−3)におけるゲーム画面30の一例を示す図である。図16示すように、確保部74は、新たなメッセージオブジェクト34を表示させる場合に、他のメッセージオブジェクト34の表示領域を利用する必要がないように、基準表示時間が経過したメッセージオブジェクト34Aの向きを変化させる。
メッセージオブジェクト34Aの向きを変えるとは、メッセージオブジェクト34Aを所定の回転軸でその方向を変更することである。例えば、図15では、メッセージオブジェクト34Aの形状を変化させて文字列が縦書きで表示されているが、図16では、メッセージオブジェクト34Aが、新たなメッセージオブジェクト34Cと重ならないような角度まで回転し、文字列もその角度分だけ回転していることになる。その結果、メッセージオブジェクト34Aの方向と図16に示すXs軸又はYs軸とのなす角度が変わることになる。なお、メッセージオブジェクト34Aの向きを変える場合に、メッセージオブジェクト34Aの大きさは、変化してもよいし、変化しないようにしてもよい。
変形例(3−3)によれば、基準表示時間が経過したメッセージオブジェクト34の向きを変えることで、新たなメッセージオブジェクト34を表示させるために利用可能な領域を確保することにより、新たなメッセージオブジェクト34を表示させるときに、基準表示時間が経過していないメッセージオブジェクト34の表示領域を利用しなくてすむので、基準表示時間が経過していないメッセージオブジェクト34を確認する時間を確保することができる。基準表示時間が経過していないメッセージオブジェクト34の向きを変えてしまうと、当該メッセージオブジェクト34の向きが変わるため見にくくなってしまうが、基準表示時間が経過するまでは、メッセージオブジェクト34の向きを変えないように担保しているため、基準表示時間が経過していないメッセージオブジェクト34を見やすい状態のままとすることができる。
(3−4)また例えば、確保部74は、基準表示時間が経過したメッセージオブジェクト34の表示位置を基準表示時間が経過する前の表示位置から変えることによって、新たなメッセージオブジェクト34を表示させるために利用可能な領域を確保するようにしてもよい。
図17は、変形例(3−4)におけるゲーム画面30の一例を示す図である。図17に示すように、確保部74は、新たなメッセージオブジェクト34を表示させる場合に、他のメッセージオブジェクト34の表示領域を利用する必要がないように、基準表示時間が経過したメッセージオブジェクト34Aの表示位置を変化させる。なお、メッセージオブジェクト34Aの表示位置を変える場合に、メッセージオブジェクト34Aの大きさは、変化してもよいし、変化しないようにしてもよい。
変形例(3−4)によれば、基準表示時間が経過したメッセージオブジェクト34の表示位置を変えることで、新たなメッセージオブジェクト34を表示させるために利用可能な領域を確保することにより、新たなメッセージオブジェクト34を表示させるときに、基準表示時間が経過していないメッセージオブジェクト34の表示領域を利用しなくてすむので、基準表示時間が経過していないメッセージオブジェクト34を確認する時間を確保することができる。基準表示時間が経過していないメッセージオブジェクト34の表示位置を変えてしまうと、当該メッセージオブジェクト34を目で追わなければならないため見にくくなってしまうが、基準表示時間が経過するまでは、メッセージオブジェクト34の表示位置を変えないように担保しているため、基準表示時間が経過していないメッセージオブジェクト34を見やすい状態のままとすることができる。
(3−5)なお、上記では、表示制御部72が、新たなメッセージオブジェクト34を表示させるために、基準表示時間が経過したメッセージオブジェクト34の表示領域を直接的に利用する場合を説明したが、先述したように、表示制御部72は、基準表示時間が経過したメッセージオブジェクト34の表示領域を間接的に利用するようにしてもよい。
基準表示時間が経過したメッセージオブジェクト34の表示領域の少なくとも一部を間接的に利用するとは、基準表示時間が経過したメッセージオブジェクト34の表示領域の少なくとも一部に表示されるように、基準表示時間が経過していないメッセージオブジェクト34の表示を変化させて(例えば、メッセージオブジェクト34を移動させたり、メッセージオブジェクト34の形状、向き、大きさを変化させたりして)、当該メッセージオブジェクト34の移動前の表示領域の少なくとも一部(即ち、基準表示時間が経過していないメッセージオブジェクト34を移動させることで空いた領域)に、新たなメッセージオブジェクト34を表示させることである。例えば、確保部74は、基準表示時間が経過していないメッセージオブジェクト34を、基準表示時間が経過していたメッセージオブジェクト34上に移動させることによって、新たなメッセージオブジェクト34を表示するための領域を確保する。そして、表示制御部72は、このようにして確保された領域の少なくとも一部を利用して、新たなメッセージオブジェクト34を表示させる。
図18は、基準表示時間が経過したメッセージオブジェクト34の表示領域を間接的に利用する場合のゲーム画面30の一例を示す図である。図18に示す例では、確保部74は、メッセージオブジェクト34Aの基準表示時間が経過した場合、基準表示時間が経過していないメッセージオブジェクト34Bを、メッセージオブジェクト34Aの上に移動させる。この場合、移動前にメッセージオブジェクト34Bが表示されていた領域が、新たなメッセージオブジェクト34Cを表示するための領域として確保される。このように、確保部74は、基準表示時間が経過したメッセージオブジェクト34の表示態様や表示位置を変えずに、基準表示時間が経過したメッセージオブジェクト34の表示領域を間接的に利用して、新たなメッセージオブジェクト34を表示するための領域を確保するようにしてもよい。
(4)また例えば、メッセージオブジェクト34が表すメッセージが長くなるほど、確認するのに時間がかかるため、基準表示時間をメッセージの長さに応じて変えるようにしてもよい。本変形例のメッセージ表示装置20は、基準表示時間設定部78を含む。基準表示時間設定部78による下記処理は、制御部21により実行される。基準表示時間設定部78は、表示部25に表示されたメッセージオブジェクト34の各々について、当該メッセージオブジェクト34が表すメッセージの長さに基づいて、基準表示時間を設定する。メッセージの長さとは、メッセージを構成する記号(文字など)の数である。
図19は、メッセージデータの格納例を示す図である。図19に示すように、基準表示時間設定部78は、メッセージが長くなるほど基準表示時間が長くなるように設定し、メッセージが短くなるほど基準表示時間が短くなるように設定している。なお、基準表示時間設定部78が基準表示時間を設定するために必要なデータ(例えば、数式やテーブル)は、データ記憶部60に記憶されているものとする。また、ここでは、基準表示時間設定部78がメッセージ表示制御装置20で実現される場合を説明しているため、メッセージ表示制御サーバ10は、基準表示時間設定部78が設定した基準表示時間を取得して、データ記憶部50のメッセージデータベースに格納するようにしてもよい。
変形例(4)によれば、メッセージの長さに応じた表示時間を確保することができる。なお、基準表示時間設定部78は、メッセージの長さ以外にも、ユーザの設定やゲームの状況に応じて、基準表示時間を変化させるようにしてもよい。
(5−1)また例えば、新たなメッセージオブジェクト34を表示させるときに、既に表示されているメッセージオブジェクト34がどれも基準表示時間が経過しておらず、かつ、空き領域もない場合には、新たなメッセージオブジェクト34の表示を待機するようにしてもよい。新たなメッセージオブジェクト34の表示を待機するとは、新たに入力されたメッセージを表すメッセージオブジェクト34を表示させない状態を維持(保持)することである。その結果、当該メッセージオブジェクト34の表示開始を遅らせることになる。
本変形例では、表示制御部72の待機部76による下記処理は、制御部21により実行される。待機部76は、新たなメッセージオブジェクト34を表示部25に表示させるために、表示部25に表示されたメッセージオブジェクト34の表示領域の少なくとも一部を利用する必要があり、かつ、表示部25に表示されたメッセージオブジェクト34に、基準表示時間が経過したメッセージオブジェクト34が含まれていない場合に、新たなメッセージオブジェクト34の表示部25への表示を待機させる。
図20は、メッセージオブジェクト34の表示が待機される様子を示す図である。図20に示す例では、表示可能領域38に、新たなメッセージオブジェクト34Cを表示させるための空き領域がなく、かつ、既に表示されているメッセージオブジェクト34A及び34Bは、何れも基準表示時間がまだ経過していない。この場合、待機部76は、新たなメッセージオブジェクト34Cの表示開始のタイミングを遅らせる。
例えば、待機部76は、既に表示されているメッセージオブジェクト34A又は34Bの何れかの基準表示時間が経過するまで、メッセージオブジェクト34Cの表示開始を待つ。ここでは、メッセージオブジェクト34Aの方が先に基準表示時間が経過するので、表示制御部72は、メッセージオブジェクト34Aの基準表示時間が経過した場合に、メッセージオブジェクト34Cを表示させる。この場合のゲーム画面30は、図4と同様であり、表示制御部72は、メッセージオブジェクト34Cの表示座標及び現在の時刻に基づいて、メッセージ表示管理情報を更新する点は、実施形態と同様である。
変形例(5−1)によれば、表示手段に表示されたメッセージオブジェクト34に、基準表示時間が経過したメッセージオブジェクト34が含まれていないときに、新たなメッセージの表示を待機することで、各メッセージオブジェクト34を表示させる時間を確保することができる。
(5−2)また例えば、待機部76により表示が待機されている表示待ちのメッセージオブジェクト34の数が多くなった場合にはときには、それ以上の新規のメッセージの入力を受け付けないようにしてもよい。本変形例のメッセージ表示制御装置20は、制限部80、待機数判定部82、及び待機数判定結果取得部84を含む。制限部80、待機数判定部82、及び待機数判定結果取得部84による下記処理は、制御部21により実行される。待機数判定部82は、表示部25への表示が待機された新たなメッセージオブジェクト34の数が閾値以上であるか否かを判定する。
なお、閾値は、データ記憶部60に記憶されており、固定値であってもよいし、可変値であってもよい。可変値である場合には、ユーザの設定により変化してもよいし、実行中のゲームの状況に応じて変化してもよい。待機数判定結果取得部84は、待機数判定部82の判定結果を取得する。待機数判定結果取得部84は、表示待ちの数が閾値以上であることを示す情報、又は、表示待ちの数が閾値未満であることを示す情報を、待機数判定部82から取得する。
制限部80は、表示部25への表示が待機された新たなメッセージオブジェクト34の数が閾値以上であると判定された場合に、新たなメッセージの入力の受け付けを制限する。新たなメッセージの入力の受付を制限するとは、新たなメッセージを入力するための入力操作を制限することや新たなメッセージを送信するための送信操作を制限することである。例えば、制限部80は、メッセージを入力するための入力操作(例えば、入力フォーム40へのメッセージの入力)を受け付けないようにする。また例えば、制限部80は、入力フォーム40への入力は受け付けるが、その内容を送信するための送信操作を受け付けないようにする(送信ボタン42を表示させない、又は、送信ボタン42は表示させるがグレーアウト等して選択できない)。
図21は、変形例(5−2)におけるゲーム画面30の一例を示す図である。図21に示す例では、メッセージオブジェクト34A及び34Bの基準表示時間が経過していないため、待機部76は、メッセージオブジェクト34C及び34D等の表示を待機した状態となっている。更に、待機数判定結果取得部84は、表示待ちの数が閾値以上であることを示す情報を待機数判定部82から取得したため、制限部80により、送信ボタン42が消去されて、新たなメッセージの入力が制限されている。このため、これ以上はメッセージオブジェクト34の表示待ちが増えないことになる。
なお、表示制御部72は、表示部25への表示が待機された新たなメッセージオブジェクト34の数が閾値未満であると判定された場合に、制限部80による制限を解除する。即ち、図21の例では、表示制御部72は、送信ボタン42を選択できるようにする。
変形例(5−2)によれば、表示が待機されたメッセージオブジェクト34が比較的多くなったときに、メッセージの入力の受付を制限するので、表示待ちの数の増加を防止することで、メッセージの入力から表示までの時間差を少なくすることができる。
(6)また例えば、変形例(5−1)では、新たなメッセージオブジェクト34を表示させるときに、既に表示されているメッセージオブジェクト34がどれも基準表示時間が経過しておらず、かつ、空き領域もない場合に新たなメッセージオブジェクト34の表示を待機させ、変形例(5−2)では、表示待ちのメッセージオブジェクト34の数が閾値以上となった場合に新たなメッセージの入力を制限するようにしていたが、既に表示されているメッセージオブジェクト34がどれも基準表示時間が経過しておらず、かつ、空き領域もない場合に新たなメッセージの入力を制限するようにしてもよい。
本変形例の制限部80は、新たなメッセージオブジェクト34を表示部25に表示させるために、表示部25に表示されたメッセージオブジェクト34の各々の表示領域の少なくとも一部を利用する必要があり、かつ、表示部25に表示されたメッセージオブジェクト34に、基準表示時間が経過したメッセージオブジェクト34が含まれていない場合に、新たなメッセージの入力の受け付けを制限するようにしてもよい。この制限自体は、変形例(5−2)と同様である。
図22は、変形例(6)におけるゲーム画面30の一例を示す図である。図22に示す例では、メッセージオブジェクト34A及び34Bの基準表示時間が経過しておらず、かつ、表示可能領域38に新たなメッセージオブジェクト34を表示させる領域が十分にないものとする。例えば、必要判定部66は、表示可能領域38のうち、基準表示時間が経過していないメッセージオブジェクト34A及び34Bが表示されていない領域の広さが基準以下であるか否かを判定する。この基準を示す情報は、データ記憶部60に予め記憶されているものとする。基準以下であれば、必要判定部66は、メッセージオブジェクト34の表示領域の少なくとも一部を利用する必要があると判定する。この場合、図22に示すように、制限部80により、送信ボタン42が消去されて、新たなメッセージの入力が制限されている。
変形例(6)によれば、新たにメッセージを表示させる領域を確保できないときに、新たなメッセージの入力の受け付けを制限するので、基準表示時間が経過していないにも関わらずメッセージオブジェクト34が見えなくなってしまうことを防止することができ、メッセージオブジェクト34を表示させる時間を確保することができる。
(7)また例えば、上記変形例の2つ以上を組み合わせるようにしてもよい。
また例えば、図8及び図9で説明した、既に表示されたメッセージオブジェクト34に関する表示制御処理(S2〜S5の処理)と新たなメッセージオブジェクト34に関する表示制御処理(S6〜S19の処理)の順番を入れ替えてもよい。即ち、新たなメッセージオブジェクト34を表示させるための処理を実行した後に、既に表示されているメッセージオブジェクト34の基準表示時間が経過したか否かを判定したり、表示期限が到来したか否かを判定したりしてもよい。
また例えば、メッセージデータに表示開始時刻を格納する代わりに、基準表示時間が経過するまでの残り時間と、表示期限が経過するまでの残り時間と、をメッセージデータに格納するようにしてもよい。この場合、表示制御部72は、メッセージオブジェクト34が表示された後の時間経過とともに、これらの残り時間を減少させる。そして、基準表示時間が経過するまでの残り時間が0になった場合に、経過判定部62は、基準表示時間が経過したと判定する。同様に、表示期限が経過するまでの残り時間が0になった場合に、表示制御部72は、表示期限が到来したと判定する。より具体的には、基準表示時間が2秒であり、表示期限が5秒であり、図8及び図9の処理が実行される間隔が1/60秒である場合、表示制御部72がメッセージオブジェクト34を新たに表示する際には、これらの残り時間にそれぞれ「120」「300」をセットし、処理が実行されるごとに各数値が1ずつデクリメントされるようにしてもよい。
また例えば、変形例(3−1)では、基準表示時間が経過したメッセージオブジェクト34が小さくなる場合を説明したが、表示制御部72は、新たなメッセージオブジェクト34を小さくするようにしてもよい。例えば、表示制御部72は、表示部25に表示されたメッセージオブジェクト34に、基準表示時間が経過したメッセージオブジェクト34が含まれていない場合は、表示可能領域38の空き領域に収まるように、新たなメッセージオブジェクト34を通常よりも小さくするようにしてもよい。
また例えば、メッセージ表示制御サーバ10によりデータ生成部54が実現される場合を説明したが、データ生成部54は、メッセージ表示制御装置20により実現されるようにしてもよい。この場合、データ生成部54は、メッセージの入力を受け付けた場合に、当該メッセージに関するメッセージデータを生成するようにしてもよい。この場合、メッセージ表示制御装置20において生成されたメッセージデータは、送受信部70を介してメッセージ表示制御サーバ10に送信される。メッセージ表示制御サーバ10は、当該メッセージデータを、メッセージデータベースに格納しつつ、他のメッセージ表示制御装置20に配信することになる。この場合、メッセージ表示制御サーバ10でメッセージデータを生成しなくてすむので、メッセージ表示制御サーバ10の負荷を軽減することができる。他にも例えば、メッセージ表示制御装置20のデータ生成部54は、他のメッセージ表示制御装置20からメッセージ入力通知を取得した場合に、当該メッセージ入力通知に基づいてメッセージデータを生成するようにしてもよい。このようにすれば、比較的データ量の小さいメッセージ入力通知のみが通信ネットワーク2上でやりとりされるので、送受信されるデータ量を抑えることができる。なお、この場合のメッセージデータの生成方法自体は、実施形態で説明した方法と同様である。
また例えば、メッセージ表示制御装置20に含まれるものとして説明した各機能は、メッセージ表示制御サーバ10で実現されるようにしてもよい。例えば、経過判定部62及び経過判定結果取得部64がメッセージ表示制御サーバ10で実現されるようにしてもよい。この場合、経過判定部62及び経過判定結果取得部64は、制御部11を主として実現される。経過判定部62は、計測開始タイミングを各メッセージ表示制御装置20から取得して判定処理を実行するようにしてもよい。更に、経過判定部62がメッセージ表示制御サーバ10で実現され、経過判定結果取得部64がメッセージ表示制御装置20で実現されるようにしてもよい。この場合、メッセージ表示制御装置20の経過判定結果取得部64は、メッセージ表示制御サーバ10の経過判定部62から通信ネットワーク2を介して判定結果を取得することになる。また、上記とは逆に、経過判定結果取得部64がメッセージ表示制御サーバ10で実現され、経過判定部62がメッセージ表示制御装置20で実現されるようにしてもよい。この場合、メッセージ表示制御サーバ10の経過判定結果取得部64は、メッセージ表示制御装置20の経過判定部62から通信ネットワーク2を介して判定結果を取得することになる。
また例えば、必要判定部66及び必要判定結果取得部68がメッセージ表示制御サーバ10で実現されるようにしてもよい。この場合、必要判定部66及び必要判定結果取得部68は、制御部11を主として実現される。必要判定部66は、各メッセージ表示制御装置20からメッセージ表示管理情報を取得して判定処理を行うようにしてもよいし、データ記憶部50に各メッセージ表示制御装置20のメッセージ表示管理情報を記憶しておき、このメッセージ表示管理情報を参照することで判定処理を行うようにしてもよい。更に、必要判定部66がメッセージ表示制御サーバ10で実現され、必要判定結果取得部68がメッセージ表示制御装置20で実現されるようにしてもよい。この場合、メッセージ表示制御装置20の必要判定結果取得部68は、メッセージ表示制御サーバ10の必要判定部66から通信ネットワーク2を介して判定結果を取得することになる。また、上記とは逆に、必要判定結果取得部68がメッセージ表示制御サーバ10で実現され、必要判定部66がメッセージ表示制御装置20で実現されるようにしてもよい。この場合、メッセージ表示制御サーバ10の必要判定結果取得部68は、メッセージ表示制御装置20の必要判定部66から通信ネットワーク2を介して判定結果を取得することになる。
また例えば、メッセージ表示制御サーバ10で主要な機能が実現される場合には、送受信部70は、経過判定結果取得部64が取得した判定結果に基づいて、一又は複数のメッセージオブジェクト34が表示された表示部25に新たなメッセージオブジェクト34を表示させるためのデータをメッセージ表示制御装置に送信する。当該データは、新たなメッセージオブジェクト34のメッセージデータやメッセージ表示管理情報であってもよいし、メッセージ表示制御サーバ10においてゲーム画面30の画像データ自体を作成してしまう場合には、当該画像データであってもよい。
また例えば、表示制御部72がメッセージ表示制御サーバ10で実現されるようにしてもよい。この場合、表示制御部72は、制御部11を主として実現される。メッセージ表示制御サーバ10の表示制御部72は、各メッセージ表示制御装置20から受信したメッセージ入力通知やメッセージデータに基づいて、新たなメッセージオブジェクト34を表示させるためのデータを生成することになる。このデータは、ゲーム画面30の画像データであってもよいし、新たなメッセージオブジェクト34の画像データやその表示位置を示すデータであってもよい。他にも例えば、新たなメッセージオブジェクト34が表すメッセージのメッセージデータであってもよい。更に、メッセージ表示管理情報をデータ記憶部50で記憶しておき、メッセージ表示制御サーバ10がメッセージ表示管理情報を更新するようにしてもよい。確保部74や待機部76についても同様に、メッセージ表示制御サーバ10で実現されるようにしてもよい。この場合、確保部74は、メッセージオブジェクト34の大きさ、形状、向き、又は表示位置を変える旨の指示を各メッセージ表示制御装置20に送信することにより、新たなメッセージオブジェクト34を表示させる領域を確保する。更に、待機部76は、新たなメッセージオブジェクト34の表示を待機する旨の指示を各メッセージ表示制御装置20に送信するようにしてもよいし、新たなメッセージオブジェクト34を表示させるためのデータの送信を待機するようにしてもよい。
また例えば、基準表示時間設定部78がメッセージ表示制御サーバ10で実現されるようにしてもよい。この場合、基準表示時間設定部78は、制御部11を主として実現される。例えば、メッセージ表示制御サーバ10の基準表示時間設定部78は、基準表示時間を示す情報を各メッセージ表示装置20に配信する。
また例えば、制限部80がメッセージ表示制御サーバ10で実現されるようにしてもよい。この場合、制限部80は、制御部11を主として実現される。例えば、メッセージ表示制御サーバ10の制限部80は、各メッセージ表示制御装置20からの通信を制限して、メッセージ入力通知を受信しないようにする。
また例えば、待機数判定部82及び待機数判定結果取得部84がメッセージ表示制御サーバ10で実現されるようにしてもよい。この場合、待機数判定部82及び待機数判定結果取得部84は、制御部11を主として実現される。待機数判定部82は、各メッセージ表示制御装置20からメッセージ表示管理情報を取得して判定処理を行うようにしてもよいし、データ記憶部50に各メッセージ表示制御装置20のメッセージ表示管理情報を記憶しておき、このメッセージ表示管理情報を参照することで判定処理を行うようにしてもよい。更に、待機数判定部82がメッセージ表示制御サーバ10で実現され、待機数判定結果取得部84がメッセージ表示制御装置20で実現されるようにしてもよい。この場合、メッセージ表示制御装置20の待機数判定結果取得部84は、メッセージ表示制御サーバ10の待機数判定部82から通信ネットワーク2を介して判定結果を取得することになる。また、上記とは逆に、待機数判定結果取得部84がメッセージ表示制御サーバ10で実現され、待機数判定部82がメッセージ表示制御装置20で実現されるようにしてもよい。この場合、メッセージ表示制御サーバ10の待機数判定結果取得部84は、メッセージ表示制御装置20の待機数判定部82から通信ネットワーク2を介して判定結果を取得することになる。
また例えば、メッセージオブジェクト34が表すメッセージは、一又は複数のユーザの各々によって入力されたメッセージである場合を説明したが、予め定められたメッセージであってもよい。例えば、予め用意された複数のメッセージのうちのいずれかをユーザが選択することで、ユーザがメッセージを入力するようにしてもよい。更に、複数のユーザでチャットをする場面を例に挙げて説明したが、1人でチャットをする場面に上記説明した表示制御を適用してもよい。また、メッセージオブジェクト34は、上記説明した吹き出し状の画像でなくてもよい。メッセージオブジェクト34は、メッセージを表す画像であればよく、種々の画像を適用可能である。
また例えば、各メッセージ表示制御装置20で共通のゲーム画面30が表示される場合を説明したが、ゲーム画面30は、各メッセージ表示制御装置20で異なっているようにしてもよい。例えば、メッセージ表示制御装置20が所定の操作を受け付けた場合に、そのメッセージ表示制御装置20で表示されるゲーム画面30のメッセージオブジェクト34が消去されるようにしてもよい。この場合、各メッセージ表示制御装置20でメッセージ表示管理情報の内容が異なることになる。
また例えば、メッセージ表示制御システム1は、メッセージ表示制御サーバ10が存在せず、メッセージ表示制御装置20だけであってもよい。この場合でも、何れかのメッセージ表示制御装置20がサーバとしての役割を果たすようにしてもよい。更に、この場合、サーバとしての役割を果たすメッセージ表示制御装置20がなくてもよい。即ち、個々のメッセージ表示制御装置20が他のメッセージ表示制御装置20の各々にメッセージデータを送信するようにしてもよい。
また例えば、本発明に係るメッセージ表示制御装置、メッセージ表示制御サーバ、及びメッセージ表示制御システムは、ゲームにおけるチャットの場面に限られず、メッセージオブジェクトを表示させる技術に適用すればよく、チャット以外にも適用可能である。例えば、複数のユーザがメッセージを書き込む電子掲示板にも本発明を適用することができる。
[6.発明のまとめ]
以上のような記載から、本発明は例えば以下のように把握される。本発明に係るメッセージ表示制御装置(20)は、一又は複数のメッセージオブジェクトが表示された表示手段(25)に新たなメッセージオブジェクトを表示させるメッセージ表示制御装置(20)であって、前記表示手段(25)に表示された前記一又は複数のメッセージオブジェクトの各々について、基準表示時間が経過したか否かを判定する判定手段(62)の判定結果を取得する判定結果取得手段(64)と、前記判定結果取得手段(64)が取得した判定結果に基づいて、前記一又は複数のメッセージオブジェクトが表示された前記表示手段(25)に前記新たなメッセージオブジェクトを表示させるための制御を行う表示制御手段(72)と、を含むことを特徴とする。
また、本発明に係るメッセージ表示制御サーバ(10)は、一又は複数のメッセージオブジェクトが表示された表示手段(25)に新たなメッセージオブジェクトを表示させる装置(20)と通信可能なメッセージ表示制御サーバ(10)であって、前記表示手段(25)に表示された前記一又は複数のメッセージオブジェクトの各々について、基準表示時間が経過したか否かを判定する判定手段(62)の判定結果を取得する判定結果取得手段(64)と、前記判定結果取得手段(64)が取得した判定結果に基づいて、前記一又は複数のメッセージオブジェクトが表示された前記表示手段(25)に前記新たなメッセージオブジェクトを表示させるためのデータを前記装置(20)に送信する送信手段(52)と、を含むことを特徴とする。
また、本発明に係るメッセージ表示制御システム(1)は、一又は複数のメッセージオブジェクトが表示された表示手段(25)に新たなメッセージオブジェクトを表示させるメッセージ表示制御システム(1)であって、前記表示手段(25)に表示された前記一又は複数のメッセージオブジェクトの各々について、基準表示時間が経過したか否かを判定する判定手段(62)と、前記判定手段(62)の判定結果に基づいて、前記一又は複数のメッセージオブジェクトが表示された前記表示手段(25)に前記新たなメッセージオブジェクトを表示させるための制御を行う表示制御手段(72)と、を含むことを特徴とする。
また、本発明に係るプログラムは、一又は複数のメッセージオブジェクトが表示された表示手段(25)に新たなメッセージオブジェクトを表示させるコンピュータを、前記表示手段(25)に表示された前記一又は複数のメッセージオブジェクトの各々について、基準表示時間が経過したか否かを判定する判定手段(62)の判定結果を取得する判定結果取得手段(64)、前記判定結果取得手段(64)が取得した判定結果に基づいて、前記一又は複数のメッセージオブジェクトが表示された前記表示手段(25)に前記新たなメッセージオブジェクトを表示させるための制御を行う表示制御手段(72)、として機能させる。
また、本発明に係るプログラムは、一又は複数のメッセージオブジェクトが表示された表示手段(25)に新たなメッセージオブジェクトを表示させる装置(20)と通信可能なコンピュータを、前記表示手段(25)に表示された前記一又は複数のメッセージオブジェクトの各々について、基準表示時間が経過したか否かを判定する判定手段(62)の判定結果を取得する判定結果取得手段(64)、前記判定結果取得手段(64)が取得した判定結果に基づいて、前記一又は複数のメッセージオブジェクトが表示された前記表示手段(25)に前記新たなメッセージオブジェクトを表示させるためのデータを前記装置(20)に送信する送信手段(52)、として機能させる。
また、本発明に係る情報記憶媒体は、上記プログラムを記録したコンピュータで読み取り可能な情報記憶媒体である。
本発明によれば、メッセージオブジェクトを確認する時間を確保することができる。
また、本発明の一態様では、前記表示制御手段(72)は、前記基準表示時間が経過したメッセージオブジェクトの表示領域の少なくとも一部を利用して、前記新たなメッセージオブジェクトを前記表示手段(25)に表示させる、ことを特徴とする。当該態様によれば、新たなメッセージオブジェクトを表示させるときに、基準表示時間が経過していないメッセージオブジェクトの表示領域を利用しなくてすむので、基準表示時間が経過していないメッセージオブジェクトを確認する時間を確保することができる。
また、本発明の一態様では、前記メッセージ表示制御装置(20)は、前記新たなメッセージオブジェクトを前記表示手段(25)に表示させるために、前記表示手段(25)に表示されたメッセージオブジェクトの表示領域の少なくとも一部を利用する必要があるか否かを判定する必要判定手段(66)の判定結果を取得する手段(68)を更に含み、前記表示制御手段(72)は、前記必要判定手段(66)により必要があると判定された場合に、前記基準表示時間が経過したメッセージオブジェクトの表示領域の少なくとも一部を利用して、前記新たなメッセージオブジェクトを表示させる、ことを特徴とする。当該態様によれば、新たなメッセージオブジェクトを表示させるために、既に表示されたメッセージオブジェクトの表示領域を利用する必要があるときに、基準表示時間が経過したメッセージオブジェクトの表示領域の少なくとも一部を利用して、新たなメッセージオブジェクトを表示させるので、既に表示されたメッセージオブジェクトの表示領域を利用する必要がないときは、基準時間が経過したメッセージオブジェクトであっても、その表示領域を利用しなくてすむので、そのまま長い時間表示することができる。
また、本発明の一態様では、前記表示制御手段(72)は、前記基準表示時間が経過したメッセージオブジェクトの少なくとも一部に重畳するようにして、前記新たなメッセージオブジェクトを表示させる、ことを特徴とする。当該態様によれば、基準表示時間が経過したメッセージオブジェクトの少なくとも一部に重畳するようにして、新たなメッセージオブジェクトを表示させることによって、基準表示時間が経過していないメッセージオブジェクトを表示させる時間を確保することができる。
また、本発明の一態様では、前記表示制御手段(72)は、前記基準表示時間が経過したメッセージオブジェクトの表示領域の少なくとも一部において、当該メッセージオブジェクトの少なくとも一部及び前記新たなメッセージオブジェクトの少なくとも一部を表示させる、ことを特徴とする。当該態様によれば、新たなメッセージオブジェクトを確認させつつ、基準表示時間が経過したメッセージオブジェクトについても確認させることができる。
また、本発明の一態様では、前記表示制御手段(72)は、前記基準表示時間が経過したメッセージオブジェクトの少なくとも一部を消去して、当該少なくとも一部が表示されていた領域を利用して、前記新たなメッセージオブジェクトを表示させる、ことを特徴とする。当該態様によれば、基準表示時間が経過したメッセージオブジェクトの少なくとも一部を消去して、その領域を利用して、新たなメッセージオブジェクトを表示させるので、ユーザが確認した可能性が高い画像を表示することがなくなり無駄をなくしつつ、基準表示時間が経過していないメッセージオブジェクトを表示させる時間を確保することができる。
また、本発明の一態様では、前記表示制御手段(72)は、前記表示手段(25)に表示されたメッセージオブジェクトに、前記基準表示時間が経過したメッセージオブジェクトが複数含まれる場合に、前記基準表示時間が経過した当該複数のメッセージオブジェクトのうち、前記基準表示時間が経過した後の時間が最も長いメッセージオブジェクトの表示領域の少なくとも一部を利用して、前記新たなメッセージオブジェクトを表示させる、ことを特徴とする。当該態様によれば、基準表示時間が経過した後の時間が長いメッセージオブジェクトは、確認した可能性が高く、基準表示時間が経過した後の時間が短いメッセージオブジェクトは、確認した可能性が低いので、この時間が最も長いメッセージオブジェクトの表示領域の少なくとも一部を利用して、新たなメッセージオブジェクトを表示させることで、確認した可能性が比較的低いメッセージオブジェクトを確認する時間を確保することができる。
また、本発明の一態様では、前記表示手段(25)に表示されたメッセージオブジェクトは表示期限が到来した場合に消去され、前記表示制御手段(72)は、前記表示手段(25)に表示されたメッセージオブジェクトに、前記基準表示時間が経過したメッセージオブジェクトが複数含まれる場合に、前記基準表示時間が経過した当該複数のメッセージオブジェクトのうち、前記表示期限が到来するまでの残り時間が最も短いメッセージオブジェクトの表示領域の少なくとも一部を利用して、前記新たなメッセージオブジェクトを表示させる、ことを特徴とする。当該態様によれば、表示期限が到来するまでの残り時間が短く、もうすぐ消去されるメッセージオブジェクトは、ユーザが確認した可能性が高く、表示期限が到来するまでの残り時間が長く、まだ消去されないメッセージオブジェクトは、ユーザが確認した可能性が低いので、この残り時間が最も短いメッセージオブジェクトの表示領域の少なくとも一部を利用して、新たなメッセージオブジェクトを表示させることで、確認した可能性が比較的低いメッセージオブジェクトを確認する時間を確保することができる。
また、本発明の一態様では、前記表示制御手段(72)は、前記表示手段(25)に表示されたメッセージオブジェクトに、前記基準表示時間が経過したメッセージオブジェクトが含まれていない場合、前記表示手段(25)に表示されたメッセージオブジェクトのうち、前記基準表示時間が経過するまでの残り時間が最も短いメッセージオブジェクトの表示領域の少なくとも一部を利用して、前記新たなメッセージオブジェクトを表示させる、ことを特徴とする。当該態様によれば、基準表示時間が経過するまでの残り時間が短いメッセージオブジェクトは、確認した可能性が高く、基準表示時間が経過するまでの残り時間が長いメッセージオブジェクトは、確認した可能性が低いので、この残り時間が最も短いメッセージオブジェクトの表示領域の少なくとも一部を利用して、新たなメッセージオブジェクトを表示させることで、確認した可能性が低いメッセージオブジェクトを確認する時間を確保することができる。
また、本発明の一態様では、前記表示制御手段(72)は、前記基準表示時間が経過したメッセージオブジェクトの大きさを、前記基準表示時間が経過する前の大きさよりも小さくすることによって、前記新たなメッセージオブジェクトを表示させるために利用可能な領域を広げる手段(74)を含む、ことを特徴とする。当該態様によれば、基準表示時間が経過したメッセージオブジェクトが小さくなり、新たなメッセージオブジェクトを表示させるために利用可能な領域が広がることにより、新たなメッセージオブジェクトを表示させるときに、基準表示時間が経過していないメッセージオブジェクトの表示領域を利用しなくてすむので、基準表示時間が経過していないメッセージオブジェクトを確認する時間を確保することができる。
また、本発明の一態様では、前記表示制御手段(72)は、前記基準表示時間が経過したメッセージオブジェクトの形状を、前記基準表示時間が経過する前の形状から変えることによって、前記新たなメッセージオブジェクトを表示させるために利用可能な領域を確保する手段(74)を含む、ことを特徴とする。当該態様によれば、基準表示時間が経過したメッセージオブジェクトの形状を変えることで、新たなメッセージオブジェクトを表示させるために利用可能な領域を確保することにより、新たなメッセージオブジェクトを表示させるときに、基準表示時間が経過していないメッセージオブジェクトの表示領域を利用しなくてすむので、基準表示時間が経過していないメッセージオブジェクトを確認する時間を確保することができる。
また、本発明の一態様では、前記表示制御手段(72)は、前記基準表示時間が経過したメッセージオブジェクトの向きを、前記基準表示時間が経過する前の向きから変えることによって、前記新たなメッセージオブジェクトを表示させるために利用可能な領域を確保する手段(74)を含む、ことを特徴とする。当該態様によれば、基準表示時間が経過したメッセージオブジェクトの向きを変えることで、新たなメッセージオブジェクトを表示させるために利用可能な領域を確保することにより、新たなメッセージオブジェクトを表示させるときに、基準表示時間が経過していないメッセージオブジェクトの表示領域を利用しなくてすむので、基準表示時間が経過していないメッセージオブジェクトを確認する時間を確保することができる。
また、本発明の一態様では、前記表示制御手段(72)は、前記基準表示時間が経過したメッセージオブジェクトの表示位置を前記基準表示時間が経過する前の表示位置から変えることによって、前記新たなメッセージオブジェクトを表示させるために利用可能な領域を確保する手段(74)を含む、ことを特徴とする。当該態様によれば、基準表示時間が経過したメッセージオブジェクトの表示位置を変えることで、新たなメッセージオブジェクトを表示させるために利用可能な領域を確保することにより、新たなメッセージオブジェクトを表示させるときに、基準表示時間が経過していないメッセージオブジェクトの表示領域を利用しなくてすむので、基準表示時間が経過していないメッセージオブジェクトを確認する時間を確保することができる。
また、本発明の一態様では、前記メッセージ表示制御装置(20)は、前記表示手段(25)に表示されたメッセージオブジェクトの各々について、当該メッセージオブジェクトが表すメッセージの長さに基づいて、前記基準表示時間を設定する手段(78)を更に含む、ことを特徴とする。当該態様によれば、メッセージの長さに応じた表示時間を確保することができる。
また、本発明の一態様では、前記表示制御手段(72)は、前記新たなメッセージオブジェクトを前記表示手段(25)に表示させるために、前記表示手段(25)に表示されたメッセージオブジェクトの表示領域の少なくとも一部を利用する必要があり、かつ、前記表示手段(25)に表示されたメッセージオブジェクトに、前記基準表示時間が経過したメッセージオブジェクトが含まれていない場合に、前記新たなメッセージオブジェクトの前記表示手段(25)への表示を待機させる手段(76)を更に含む、ことを特徴とする。当該態様によれば、表示手段に表示されたメッセージオブジェクトに、基準表示時間が経過したメッセージオブジェクトが含まれていないときに、新たなメッセージの表示を待機することで、各メッセージオブジェクトを表示させる時間を確保することができる。
また、本発明の一態様では、前記表示手段(25)に表示されたメッセージオブジェクトの各々は、一又は複数のユーザの各々によって入力されたメッセージを表し、前記メッセージ表示制御装置(20)は、前記表示手段(25)への表示が待機された前記新たなメッセージオブジェクトの数が閾値以上であるか否かを判定する手段(82)の判定結果を取得する手段(84)と、前記表示手段(25)への表示が待機された前記新たなメッセージオブジェクトの数が前記閾値以上であると判定された場合に、前記新たなメッセージの入力の受け付けを制限する制限手段(80)と、を更に含む、ことを特徴とする。当該態様によれば、表示が待機されたメッセージオブジェクトが比較的多くなったときに、メッセージの入力の受付を制限するので、表示待ちの数の増加を防止することで、メッセージの入力から表示までの時間差を少なくすることができる。
また、本発明の一態様では、前記表示手段(25)に表示されたメッセージオブジェクトの各々は、一又は複数のユーザの各々によって入力されたメッセージを表し、前記メッセージ表示制御装置(20)は、前記新たなメッセージオブジェクトを前記表示手段(25)に表示させるために、前記表示手段(25)に表示されたメッセージオブジェクトの各々の表示領域の少なくとも一部を利用する必要があり、かつ、前記表示手段(25)に表示されたメッセージオブジェクトに、前記基準表示時間が経過したメッセージオブジェクトが含まれていない場合に、前記新たなメッセージの入力の受け付けを制限する手段(80)を更に含む、ことを特徴とする。当該態様によれば、新たにメッセージを表示させる領域を確保できないときに、新たなメッセージの入力の受け付けを制限するので、基準表示時間が経過していないにも関わらずメッセージオブジェクトが見えなくなってしまうことを防止することができ、メッセージオブジェクトを表示させる時間を確保することができる。