(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023111986
(43)【公開日】2023-08-10
(54)【発明の名称】コンピュータの制御プログラム及びメッセージ通信方法
(51)【国際特許分類】
H04L 67/55 20220101AFI20230803BHJP
A63F 13/87 20140101ALI20230803BHJP
A63F 13/35 20140101ALI20230803BHJP
A63F 13/48 20140101ALI20230803BHJP
A63F 13/53 20140101ALI20230803BHJP
A63F 13/79 20140101ALI20230803BHJP
H04L 51/046 20220101ALI20230803BHJP
H04L 51/52 20220101ALI20230803BHJP
【FI】
H04L67/55
A63F13/87
A63F13/35
A63F13/48
A63F13/53
A63F13/79 500
H04L51/046
H04L51/52
【審査請求】有
【請求項の数】7
【出願形態】OL
(21)【出願番号】P 2023094458
(22)【出願日】2023-06-08
(62)【分割の表示】P 2022054188の分割
【原出願日】2013-05-29
(71)【出願人】
【識別番号】504437801
【氏名又は名称】グリー株式会社
(74)【代理人】
【識別番号】230104019
【弁護士】
【氏名又は名称】大野 聖二
(74)【代理人】
【識別番号】230112025
【弁護士】
【氏名又は名称】小林 英了
(74)【代理人】
【識別番号】230117802
【弁護士】
【氏名又は名称】大野 浩之
(74)【代理人】
【識別番号】100167933
【弁理士】
【氏名又は名称】松野 知紘
(72)【発明者】
【氏名】齊藤 真人
(57)【要約】
【課題】コミュニケーションを行なっているチャット先と、効率的に多様なコンテンツを共用できるようにするためのメッセージ通信プログラムを提供する。
【解決手段】ユーザ端末20に、タイムライン画面においてゲームの選択画面を表示し、ゲームの選択画面においてゲームが選択されたか否かを判定し、ゲームを選択したユーザが属するグループを特定し、特定したグループに属する他のユーザが用いるユーザ端末20のタイムライン画面において、ユーザによって選択されたゲームについてのメッセージを出力させ、他のユーザが用いるユーザ端末20のタイムライン画面においてゲームが選択されて、ユーザ及び他のユーザによってゲームが開始され、選択されたゲームへ参加する他のユーザの数が制限に達した状態を示す状態変化情報を取得した場合、グループに属するユーザのユーザ端末20のタイムライン画面にゲームのリンクを選択不能な状態で表示する。
【選択図】
図1
【特許請求の範囲】
【請求項1】
メッセージを入力する入力部を備えたコンピュータで用いられる制御プログラムであって、ユーザが使用する前記コンピュータに対し、
前記ユーザが所属するグループに属する他のユーザとの間で、ネットワークを介してメッセージの送受信を行い、
メッセージが時系列的に表示されたタイムラインを含むタイムライン画面においてゲームを利用するためのアイコンを表示し、
前記アイコンが選択された場合に、前記タイムライン画面に前記ゲームへの参加に関するメッセージを出力し、
前記ゲームへの参加が選択された場合には前記ゲームのプレイ画面を表示させ、前記ゲームへの参加が選択されない場合には前記タイムライン画面に前記ゲームの終了に関するメッセージを表示し、当該メッセージに関連づけて前記ゲームの結果を表示させる、
ことを実行させることを特徴とする制御プログラム。
【請求項2】
前記ゲームの種類は予め定められている、請求項1記載の制御プログラム。
【請求項3】
前記ゲームに関するオプションは予め定められており、前記オプションにはゲームの有効期間及び/又はゲームへの参加人数が含まれる、請求項1記載の制御プログラム。
【請求項4】
前記ゲームへ参加するユーザの数が制限に達して前記ゲームが開始された場合に、前記ゲームの選択画面をグレイアウトさせて表示する、請求項1記載の制御プログラム。
【請求項5】
前記ゲームは前記タイムライン画面とは異なる画面にて行われることを特徴とする、請求項1記載の制御プログラム。
【請求項6】
ネットワークを介して、メッセージの送受信を行なうメッセージ処理部を用いるメッセージ通信方法であって、
前記メッセージ処理部が、
ユーザが所属するグループに属する他のユーザとの間で、ネットワークを介してメッセージの送受信を行い、
メッセージが時系列的に表示されたタイムラインを含むタイムライン画面においてゲームを利用するためのアイコンを表示し、
前記アイコンが選択された場合に、前記タイムライン画面に前記ゲームへの参加に関するメッセージを出力し、
前記ゲームへの参加が選択された場合には前記ゲームのプレイ画面を表示させ、前記ゲームへの参加が選択されない場合には前記タイムライン画面に前記ゲームの終了に関するメッセージを表示し、当該メッセージに関連づけて前記ゲームの結果を表示させる、メッセージ通信方法。
【請求項7】
ネットワークを介して、メッセージの送受信を行なうメッセージ処理部を備えたメッセージ通信システムであって、
前記メッセージ処理部が、
ユーザが所属するグループに属する他のユーザとの間で、ネットワークを介してメッセージの送受信を行い、
メッセージが時系列的に表示されたタイムラインを含むタイムライン画面においてゲームを利用するためのアイコンを表示し、
前記アイコンが選択された場合に、前記タイムライン画面に前記ゲームへの参加に関するメッセージを出力し、
前記ゲームへの参加が選択された場合には前記ゲームのプレイ画面を表示させ、前記ゲームへの参加が選択されない場合には前記タイムライン画面に前記ゲームの終了に関するメッセージを表示し、当該メッセージに関連づけて前記ゲームの結果を表示させる、メッセージ通信システム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理端末を用いたメッセージの送受信を行う制御プログラム及びメッセージ通信方法に関する。
【背景技術】
【0002】
今日、スマートフォン等のコンピュータ端末を用いて、ユーザ間でリアルタイムのメッセージ通信を行なうチャットサービスが提供されている(例えば、非特許文献1、2参照)。このチャットサービスにおいては、グループ登録されたユーザとの間で、メッセージ交換による会話(チャット)を行なう。このチャットサービスにおいては、テキストやデザイン化されたイラスト(ステッカ)を用いて会話を行なう。
【0003】
また、ネットワークを介して、各種コンテンツ(例えば、ゲーム)が提供されている。このようなコンテンツにおいては、複数人で共用することが可能なものもある。例えば、ゲームの中には、複数のユーザが参加可能なソーシャルゲームがあり、ユーザ同士が、対戦や協力を行なうことができるものがある(例えば、特許文献1参照)。
【0004】
また、チャットアプリケーションにおいて、チャットグループでゲームをすることができるサービスも提供されている(例えば、非特許文献3参照)。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2013-94304公報(第1頁、
図1)
【非特許文献】
【0006】
【非特許文献1】GREE,Inc.、「Tellit」[online]、平成25年5月17日、Google play、[平成25年5月24日検索]、インターネット〈URLhttps://play.google.com/store/apps/details?id=net.gree.android.app.messenger&hl=ja〉
【非特許文献2】GREE,Inc.、「Tellit」[online]、平成25年5月20日、iTunes、[平成25年5月24日検索]、インターネット〈URL:https://itunes.apple.com/app/id581075146〉
【非特許文献3】TangoME,Inc.、「Tango」[online]、平成25年5月10日、Google play、[平成25年5月24日検索]、インターネット〈URL:https://play.google.com/store/apps/details?id=com.sgiggle.production〉
【発明の概要】
【発明が解決しようとする課題】
【0007】
上記チャットにおいてゲームを提供するサービスでは、チャットアプリケーション本体にネイティブコードからなるゲームアプリケーションのロジックやビジュアルアセットを同梱している。このように、チャットアプリケーション本体にネイティブのゲームアプリケーションのロジックやビジュアルアセットを内包させてしまうと、アプリケーションのサイズが肥大化する。
【0008】
また、ゲームを追加したり、ゲーム内容を更新したりするためには、チャットアプリケーション本体の更新が必要である。特に、新しいゲームを追加する場合には、チャットアプリケーションのコードとの結合作業が発生し、技術上やビジネス上の課題が発生することがある。
【0009】
また、ゲームコンテンツをネイティブコードで作成する場合、ユーザにゲームを提供するまでに時間がかかっていた。
更に、チャットサービスを提供するチャットサーバとコンテンツを提供するコンテンツサーバとが、異なるシステムにおいて構築されている場合、それぞれのシステムにおいて、ユーザの関連性(グループ管理)を行なう必要があり、ユーザ管理が煩雑であった。
【0010】
本発明は、上述した問題に鑑みてなされたものであり、その目的は、コミュニケーションを行なっているチャット先と、効率的に多様なコンテンツを共用できるようにするためのコンピュータの制御プログラム及びメッセージ通信方法を提供することにある。
【課題を解決するための手段】
【0011】
上記課題を解決するコンピュータ制御プログラムは、メッセージを入力する入力部を備えたコンピュータで用いられる制御プログラムであって、ユーザが使用する前記コンピュータに対し、前記ユーザが所属するグループに属する他のユーザとの間で、ネットワークを介してメッセージの送受信を行い、メッセージが時系列的に表示されたタイムラインを含むタイムライン画面においてゲームを利用するためのアイコンを表示し、前記アイコンが選択された場合に、前記タイムライン画面に前記ゲームへの参加に関するメッセージを出力し、前記ゲームへの参加が選択された場合には前記ゲームのプレイ画面を表示させ、前記ゲームへの参加が選択されない場合には前記タイムライン画面に前記ゲームの終了に関するメッセージを表示し、当該メッセージに関連づけて前記ゲームの結果を表示させる、ことを実行させる。これにより、チャット上のユーザ関連性に基づいて、ゲームを共用することができる。
【0012】
上記課題を解決するメッセージ通信方法は、ネットワークを介して、メッセージの送受信を行なうメッセージ処理部を用いるメッセージ通信方法であって、 前記メッセージ処理部が、ユーザが所属するグループに属する他のユーザとの間で、ネットワークを介してメッセージの送受信を行い、メッセージが時系列的に表示されたタイムラインを含むタイムライン画面においてゲームを利用するためのアイコンを表示し、前記アイコンが選択された場合に、前記タイムライン画面に前記ゲームへの参加に関するメッセージを出力し、前記ゲームへの参加が選択された場合には前記ゲームのプレイ画面を表示させ、前記ゲームへの参加が選択されない場合には前記タイムライン画面に前記ゲームの終了に関するメッセージを表示し、当該メッセージに関連づけて前記ゲームの結果を表示させる。これにより、チャット上のユーザ関連性に基づいて、ゲームを共用することができる。
【発明の効果】
【0013】
本発明によれば、コミュニケーションを行なっているチャット先と、効率的にゲームを共用できるようにするためのコンピュータの制御プログラム及びメッセージ通信方法を提供することができる。
【図面の簡単な説明】
【0014】
【
図5】本実施形態のシーケンス及びデータの説明図。
【
図6】本実施形態のシーケンス及びデータの説明図。
【発明を実施するための形態】
【0015】
以下、メッセージ通信方法の一実施形態を
図1~
図9に従って説明する。本実施形態は、複数のクライアント間でメッセージを送受信するチャットサービスにおいて、ウェブコンテンツ(対戦ゲーム)の共用を支援する場合を想定する。
【0016】
図1に示すように、本実施形態では、インターネット等のネットワークを介して接続された、チャットサーバ10、ユーザ端末20、ゲームサーバ30を用いる。
チャットサーバ10は、ユーザ端末20に対してチャットサービスの提供・管理を行なうコンピュータシステムである。このチャットサーバ10は、CPU、RAM及びROM等からなるチャット管理部11、ユーザ管理部12、メッセージ記憶部13、ゲーム管理部14を備える。
【0017】
チャット管理部11は、各ユーザ端末20からメッセージを取得し、メッセージ記憶部13に記録するとともに、チャットグループや連絡先に属する他のユーザ端末20に送信する処理を実行する。
【0018】
ユーザ管理部12は、チャットサービスのユーザやチャットグループの情報を管理する。
メッセージ記憶部13は、各ユーザ端末20から取得したメッセージを、送信者情報、チャットグループ情報に関連付けて記録する。
【0019】
ゲーム管理部14は、各クライアントに提供可能なゲーム情報を管理する。
また、チャットサーバ10は、チャットグループに属するユーザ端末20がオフラインとなっている場合には、このユーザ端末20に対してプッシュ通知を送信する。このプッシュ通知により、ユーザ端末20に対して、チャットアプリケーションの起動を促すことができる。
【0020】
ゲームサーバ30は、インターネットにおいて、各種ゲームを提供しているサーバコンピュータであり、ゲームアセットやロジックを管理するHTTPウェブサーバである。本実施形態では、ゲームサーバ30は、JavaScript(登録商標)を含めたHTMLにより、ゲームコンテンツを提供する。このゲームサーバ30では、ゲームコンテンツとして、複数のユーザにおいて行なわれる対戦ゲームを提供する場合を想定する。ゲームサーバ30は、ゲーム制御部31やセッション管理部32を備える。
【0021】
ゲーム制御部31は、ゲームの種類に応じて、ユーザ端末20に対して提供するゲームの管理処理を実行する。このゲーム制御部31は、ゲームセッションの状態変化時に、後述するゲームオプションに応じて、チャットサーバ10に状態変化通知を送信する。
【0022】
セッション管理部32は、ゲームの種類に応じてゲームセッションを管理する。本実施形態では、ゲームを特定するゲームIDに対して、ゲームの実施状況に応じた数のゲームセッションIDが関連付けられる。そして、各ゲームセッションIDには、そのゲーム状態を示すステートと、インバイトID(後述)が関連付けられる。なお、ゲームセッションの管理は、これらに限定されるものではなく、ゲームの実装に応じて決定することができる。
【0023】
また、本実施形態で提供されるゲームにおいては、ゲームに応じて各種ゲームオプションが設定される。本実施形態では、オプションとして、例えば、「ワンタイム」、「継続可能」、「有効期間」、「人数制限」、「結果通知」等がある。「ワンタイム」ゲームにおいては、1回限りでゲームセッションを終了する。「継続可能」ゲームにおいては、複数のゲームセッションにおいて、ゲームを継続することができる。「有効期間」ゲームにおいては、予め定められた所定期間のみ、ゲームを継続することができる。「人数制限」ゲームにおいては、予め定められた人数がゲームに参加し、満員になった場合に、新たな参加を拒否する。「結果通知」ゲームにおいては、各ユーザに対してゲームの結果を通知する。また、一部のオプションのみを用いる場合や、複数のオプションの組み合わせを用いる場合を設定することが可能である。
【0024】
ユーザ端末20は、チャットサービスの利用者のコンピュータ端末(スマートフォン等の情報処理端末)である。チャットサービスを最初に利用する場合には、ユーザ端末20を用いて、チャットサーバ10にアクセスして、チャットアプリケーションプログラムをダウンロードし、インストールする。
【0025】
このユーザ端末20は、CPU、RAM、ROM等からなる制御部や、データを記憶するメモリ、各種情報の入出力部を備えている。この制御部は、チャットアプリケーションプログラムを実行することにより、チャット部21として機能する。また、本実施形態では、入出力部としてタッチパネルディスプレイを用いる。
【0026】
チャット部21はメッセージ処理部として機能し、チャット画面部210、チャット先管理部220、メッセージ記憶部230、ゲーム管理部240、ウェブ画面部250を備える。
【0027】
チャット画面部210は、チャットサービスにおいて送信や受信したメッセージを、タッチパネルディスプレイに表示されたタイムライン画面に出力する。チャット画面部210は、送信処理部、受信処理部を備える。送信処理部は、タッチパネルディスプレイにおいて入力されたメッセージを、自分の発言として表示するとともに、メッセージをチャットサーバ10に送信する処理を実行する。受信処理部は、チャットサーバ10から取得したメッセージを、タッチパネルディスプレイにおいて、他者の発言として出力する処理を実行する。各ユーザ端末20とチャットサーバ10とは、チャットソケットにより接続される。このチャットソケットにおいては、情報の更新をリアルタイムに反映し共有するソケットが用いられる。
【0028】
チャット先管理部220は、ユーザ端末20の利用者が属するチャットグループや、ユーザ端末20において指定された連絡先に関する情報が記録される。このチャットグループの参加ユーザや連絡先ユーザとの間でメッセージを送受信することができる。
【0029】
メッセージ記憶部230には、チャットサービスを利用して送受信されたメッセージが記録される。
ゲーム管理部240は、このクライアントにおいて利用可能なゲーム情報を管理する。ゲーム管理部240は、ユーザの要求に応じて、チャットサーバ10のゲーム管理部14から、ゲーム情報をダウンロードする。各ゲーム情報には、このゲームを提供するゲームサーバ30の接続先及びゲームID(コンテンツ識別子)に関するデータが関連付けられている。そして、ゲーム管理部240は、タッチパネルディスプレイに、選択可能なゲームの一覧リストを示したゲーム選択画面を出力する。このゲーム選択画面において、ゲームが選択された場合、ウェブ画面部250を呼び出す。
【0030】
ウェブ画面部250は、後述するように、各種ゲームサーバ30から取得した画面データを、ウェブビュー251において表示する処理を実行する。本実施形態では、各ユーザ端末20とゲームサーバ30とは、ウェブソケットにより接続される。このウェブソケットにおいては、ネイティブ-JS(JavaScript(登録商標))ブリッジを介して、サーバとクライアントが一度コネクションを確立した後は、必要な通信を、このコネクション上で専用のプロトコルを用いて行なう。
【0031】
(ウェブ画面における処理)
次に、
図2を用いて、ウェブ画面における処理を説明する。ウェブ画面部250のウェブビュー251は、ネイティブブリッジ252、ネイティブUI(ユーザインターフェイス)を備え、ゲームサーバ30から取得したゲーム画面を、タッチパネルディスプレイにおいて画面表示254を出力する。ネイティブUI253においては、ビュー制御やチャット画面連結を行なう。
【0032】
ネイティブブリッジ252は、チャット画面上のゲームリンクによるゲームサーバ30との接続や、コネクションハンドリングを行なう。このコネクションハンドリングにより、ウェブビュー251から提供されるコンテンツ(例えば、対戦ゲーム)は、チャット先のセッション情報やセッション開始イベントを取得し、ソケット通信開始のハンドリングが可能となる。このため、コネクションハンドリングにおいては、例えば、以下のインスタンスから、各種イベントリスニングやメッセージのブロードキャスト等を実現する。
New connection()
connection.open
connection.onclose
connection.send
connection.onmessage
なお、このコネクションハンドリングは例示であり、これらに限定されるものではない。
【0033】
(チャットサーバにおける処理の概要)
次に、
図3を用いて、チャットサーバ10における処理の概要を説明する。ここでは、クライアントA,B,Cが同じチャットグループに属する場合を想定する。
【0034】
まず、チャットサーバ10のチャット管理部11は、チャット管理処理を実行する(ステップS1-1)。具体的には、チャット管理部11は、チャットサーバ10に接続されたユーザ端末20(例えば、クライアントA、B)におけるメッセージ交換を管理する。ここで、各クライアントのユーザ端末20のタッチパネルディスプレイには、タイムライン画面が表示される。このタイムライン画面では、ユーザが送信したメッセージや、相手ユーザから取得したメッセージが時系列に表示される。本実施形態では、タイムライン画面においては、他者のメッセージは左寄り、自分のメッセージは右寄りに表示される。
【0035】
次に、チャットサーバ10のチャット管理部11は、ゲーム選択処理を実行する(ステップS1-2)。具体的には、ゲームを行なう場合、ユーザ端末20(例えば、クライアントA)において、所望のゲームを選択する。この場合、チャット管理部11は、クライアントAにおいて、選択されたゲーム情報(ウェブコンテンツの識別情報)を取得する。
【0036】
次に、チャットサーバ10のチャット管理部11は、ゲームリンク処理を実行する(ステップS1-3)。具体的には、チャット管理部11は、チャットグループにおいて、チャット相手に対して、ゲームリンクを含めたメッセージを送信する。例えば、クライアントAにおいてゲームが選択された場合、クライアントBに、選択されたゲームについてのメッセージ(ゲームリンク)を出力する。
【0037】
また、オフラインのクライアントに対しては、チャットサーバ10のチャット管理部11は、プッシュ通知処理を実行する(ステップS1-4)。具体的には、チャット管理部11は、チャットグループにおいて、オフラインのクライアントを検知した場合には、このクライアントに対して、ゲームリンクの要求があることを示すプッシュ通知を行なう。例えば、クライアントCがオフラインの場合には、このクライアントCに対して、プッシュ通知を送信する。この場合には、クライアントCのユーザ端末20のタッチパネルディスプレイに、チャットサービス上のメッセージがあることを示すアラームを出力する。
【0038】
いずれか複数のクライアント(B,C)においてゲームリンクが選択された場合、クライアントはゲームサーバ30にアクセスする。そして、ゲームサーバ30は、ゲームを開始し、ゲームセッションを管理する(ステップS1-5)。ゲームセッションにおいて状態変化を検知した場合、ゲームサーバ30は、チャットサーバ10に対して、状態変化通知を送信する。状態変化としては、例えば、ゲームの途中経過、人数制限に到達した場合(満員)やゲームの終了等がある。
【0039】
この場合、チャットサーバ10のチャット管理部11は、状態変化通知の取得処理を実行する(ステップS1-6)。具体的には、チャット管理部11は、ゲームサーバ30から状態変化通知を取得する。この状態変化通知には、ゲームオプションに関する情報が含まれる。
【0040】
次に、チャットサーバ10のチャット管理部11は、ゲームオプションに応じたメッセージ対応処理を実行する(ステップS1-7)。具体的には、チャット管理部11は、状態変化通知のオプションに基づいて、メッセージの表示形式を決定する。
【0041】
次に、チャットサーバ10のチャット管理部11は、ゲームメッセージの表示変更処理を実行する(ステップS1-8)。具体的には、チャット管理部11は、決定した表示形式に基づいて、チャットグループのタイムライン画面にメッセージを出力する。
【0042】
(ゲームオプション)
次に、
図4を用いてゲームオプションを説明する。
(a)ゲームオプションが「ワンタイム」のゲームにおいては、ゲームサーバ30は、1つのセッションにおいてゲーム終了を検知した場合、チャットサーバ10に対して、状態変化通知(ゲーム終了)の通知処理を実行する(ステップSE10)。この場合、チャットサーバ10のチャット管理部11は、クライアントのタイムライン画面においてゲームリンクをグレイアウトする。
【0043】
(b)ゲームオプションが「継続可能」のゲームにおいては、ゲームの最終決着(勝敗)が決まっていない場合には、ゲームサーバ30は、1回のセッションを終了した場合にも、ゲームを継続する(ステップSE20)。
【0044】
そして、ゲームサーバ30は、ゲームが最終決着した場合に、チャットサーバ10に対して、状態変化通知(ゲーム終了)の通知処理を実行する(ステップSE21)。この場合、チャットサーバ10のチャット管理部11は、クライアントのタイムライン画面においてゲームリンクをグレイアウトする。
【0045】
(c)ゲームオプションが「有効期間」のゲームにおいては、ゲームサーバ30は、セッション開始時刻からの経過時間を算出する。そして、ゲームサーバ30は、チャットサーバ10に対して、状態変化として有効期間の満了が近いことを示す通知処理を実行する(ステップSE30)。この場合、チャットサーバ10のチャット管理部11は、クライアントのタイムライン画面において、有効期間の満了が近いことを示すメッセージを出力する。
【0046】
そして、ゲームサーバ30は、セッション開始時刻からの経過時間に基づいて、有効期間の満了を検知した場合、チャットサーバ10に対して、状態変化通知(ゲーム終了)の通知処理を実行する(ステップSE31)。この場合、チャットサーバ10のチャット管理部11は、クライアントのタイムライン画面においてゲームリンクをグレイアウトする。
【0047】
(d)ゲームオプションが「人数制限」のゲームの場合、ゲームサーバ30は、参加人数カウント処理を実行する(ステップSE40)。ゲームサーバ30は、セッション管理部32に記録されたセッション管理レコードにおいて、ユーザIDを計数することにより、参加人数を算出する。
【0048】
そして、ゲームサーバ30は、参加人数が制限人数に達した場合(満員の場合)、チャットサーバ10に対して、状態変化通知(満員)の通知処理を実行する(ステップSE41)。この場合、チャットサーバ10のチャット管理部11は、クライアントのタイムライン画面においてゲームリンクをグレイアウトする。
【0049】
(e)ゲームオプションが「結果通知」のゲームにおいて、ゲーム終了を検知した場合、ゲームサーバ30は、チャットサーバ10に対して、状態変化通知(ゲーム終了)の通知処理を実行する(ステップSE50)。このゲーム終了の通知には、勝者や敗者のユーザIDに関するデータを含める。この場合、チャットサーバ10のチャット管理部11は、クライアントのタイムライン画面において、結果を表示するとともに、ゲームリンクをグレイアウトする。
【0050】
(シーケンス及び通信に用いられるデータ)
次に、
図5、
図6を用いて、ゲームを行なう場合のシーケンス及び通信に用いられるデータを説明する。また、
図7~
図9を用いて、ユーザ端末20のタッチパネルディスプレイに表示される画面を説明する。
【0051】
まず、チャットサービスを利用する場合、クライアントAのユーザ端末20においてチャットアプリケーションを起動する。
この場合、
図5に示すように、クライアントAのユーザ端末20は、チャットサーバ10との間でコネクション確立処理を行なう(ステップS101)。このコネクション確立処理は、公知のハンドシェイクにより行なわれる。
【0052】
そして、クライアントAのユーザ端末20は、データ転送処理を実行する(ステップS102)。ここでは、チャットサービスを利用するために必要な情報(ペイロード)を送受信する。
【0053】
この場合、
図7に示すように、ユーザ端末20のタッチパネルディスプレイに、タイムライン画面510が表示される。
また、クライアントBのユーザ端末20においてチャットサービスを利用する場合にも、クライアントAの場合と同様に、コネクション確立処理(ステップS301)、データ転送処理(ステップS302)を実行する。
【0054】
次に、クライアントAにおいて、チャットグループでのゲームを希望する場合、ゲーム選択を行なう。具体的には、ユーザ端末20のチャット画面において、ゲームの選択画面の出力を指示する。
【0055】
この場合、
図7に示すように、クライアントAのユーザ端末20のタッチパネルディスプレイに、タイムライン画面511とともに、ゲーム選択画面520が表示される。
そして、ゲーム選択画面520において、ゲームが選択された場合、クライアントAのユーザ端末20は、ウェブビューを起動する(ステップS103)。具体的には、チャット部21のウェブ画面部250は、タッチパネルディスプレイに、ゲーム画面を出力する。このゲーム画面には、ウェブビューが含まれる。なお、チャット画面部210は、
図7に示すタイムライン画面530において、ゲームメッセージ531を出力する。
【0056】
ウェブビューを起動したクライアントAのユーザ端末20は、ゲームサーバ30との間で、コネクション確立処理を行なう(ステップS104)。この場合、ウェブ画面部250は、インバイトIDを生成する。このインバイトIDとしては、チャットサーバ10が、チャット先を把握できる識別子を用いる。例えば、インバイトIDを以下のように構成することができる。
〔インバイトID〕=〔ゲームID〕×〔チャットグループID〕
【0057】
また、オプションとして、インバイトIDに、招待者のユーザIDを付加するようにしてもよい。なお、このインバイトIDは、チャットサーバ10において生成し、クライアントAのユーザ端末20に提供するようにしてもよい。そして、ユーザ端末20は、ハンドシェイク信号において、選択されたゲームのゲームID、インバイトID、ユーザID(A)を、ゲームサーバ30に送信する。
【0058】
この場合、ゲームサーバ30のゲーム制御部31は、ユーザ端末20から取得したインバイトIDがセッション管理部32に記録されているかどうかを確認する。
ここで、セッション管理部32に、ユーザ端末20から取得したインバイトIDが登録されておらず、初めてインバイトIDを取得した場合には、ゲーム制御部31は、ゲームセッションIDを付与したゲームセッションを生成する(S501)。本実施形態では、ゲーム制御部31は、セッション管理部32に、ゲームセッションIDとゲームIDとを関連付けて登録する。更に、ゲーム制御部31は、ゲームセッションIDに対して、クライアントAから取得したインバイトIDと、ステート(ゲーム状態)とを関連付けたセッション管理レコードを記録する。そして、ゲーム制御部31は、クライアントAのユーザ端末20に対して、ゲームセッションIDを返す。更に、ゲーム制御部31は、このゲームセッションIDに対して、ユーザID(ここでは、クライアントAのユーザID)を関連付けて記録する。
【0059】
クライアントAのユーザ端末20は、ゲームサーバ30との間でデータ転送処理を行なう(ステップS105)。ここでは、ゲームを利用するために必要な情報(ペイロード)を送受信する。
【0060】
この場合、
図7に示すように、ウェブ画面部250は、ゲーム画面550を出力する。このゲーム画面550にはウェブビュー551が含まれる。このウェブビュー551においては、上述したブリッジ処理により、ゲームサーバ30との接続が確立され、結果としてゲームロジックが展開・スタートする。
【0061】
これにより、ゲームサーバ30は、セッションを開始する(ステップS502)。この場合、ゲームサーバ30のゲーム制御部31は、ゲームセッションの管理を行なう。このゲームIDに応じて、ゲームオプションを特定することができる。例えば、このセッショ
ン管理レコードのステートとしては、ゲームの状態(対戦の待機)を記録する。
【0062】
また、クライアントAのゲーム選択画面520においてゲームが選択された場合、ユーザ端末20は、ゲームリンク処理を行なう(ステップS106)。この場合、チャットサーバ10のチャット管理部11は、ゲームメッセージをチャットサーバ10に送信する。このゲームメッセージには、接続先情報、ゲームID(ウェブコンテンツの識別情報)、インバイトIDに関するデータを含める。この接続先情報には、選択されたゲームのゲームサーバ30を特定するための情報を含める。ゲームサーバ30を特定するための情報としては、例えば、URL、IPアドレス、ポート情報、ホスト名等を用いることができる。
【0063】
クライアントAからゲームメッセージを取得したチャットサーバ10は、ゲームリンク処理を実行する(ステップS201)。具体的には、チャットサーバ10のチャット管理部11は、ユーザ管理部12を用いて、クライアントAのチャット先を特定する。この場合、チャットサーバ10は、チャットグループとインバイトIDとを関連づけて記憶する。そして、オンラインのチャット先クライアント(ここでは、クライアントB)に対して、ゲームメッセージを送信する。このゲームメッセージには、接続先情報、ゲームID、インバイトIDに関するデータを含める。
【0064】
そして、クライアントBのユーザ端末20は、タッチパネルディスプレイに表示されたタイムライン画面に、ゲームメッセージを出力する(ステップS303)。
この場合、
図7に示すように、チャット画面部210は、タッチパネルディスプレイに、タイムライン画面540を出力する。このタイムライン画面540には、ゲームメッセージ541が含まれる。
【0065】
また、チャットサーバ10は、オフラインのチャット先クライアントを検知した場合、プッシュ通知処理を実行する(ステップS202)。具体的には、チャットサーバ10のチャット管理部11は、オフラインのユーザ端末20に対して、チャットグループの他のクライアントAから、ゲームメッセージが来ていることを通知する。この場合、クライアントCのユーザ端末20は、タッチパネルディスプレイに、チャット上のメッセージがあることを示すアラームを出力する。
【0066】
そして、クライアントCのユーザ端末20において、チャットアプリケーションを起動する(ステップS401)。
この場合、クライアントCのユーザ端末20は、チャットサーバ10との間で、コネクション確立処理(ステップS402)を実行する。
【0067】
そして、チャットサーバ10は、ゲームリンク処理を実行する(ステップS203)。
この場合、クライアントCのユーザ端末20は、タッチパネルディスプレイに表示されたタイムライン画面において、ゲームメッセージを出力する(ステップS403)。
【0068】
次に、
図6を用いて、対戦ゲームを行なう場合を説明する。
クライアントBにおいてゲーム対戦を希望する場合、ユーザ端末20は、オープン処理を実行する(ステップS311)。この処理は、タッチパネルディスプレイに表示されたタイムライン画面において、
図7に示すゲームメッセージ541を選択することにより行なわれる。
【0069】
この場合、クライアントBのユーザ端末20は、ウェブビュー処理を実行する(ステップS312)。具体的には、チャット部21のウェブ画面部250は、タッチパネルディスプレイに、ゲーム画面を出力する。このゲーム画面にウェブビューが含まれる。この場合、ウェブ画面部250は、ゲームメッセージに含まれる接続先情報を用いて、ゲームサーバ30にアクセスする。
【0070】
そして、クライアントBのユーザ端末20は、ゲームサーバ30との間で、コネクション確立処理を実行する(ステップS313)。このハンドシェイク信号においては、クライアントBは、チャットサーバ10から取得したゲームID、インバイトIDを送信する。更に、クライアントBは、ゲームサーバ30に対してユーザID(B)に関するデータを送信する。
【0071】
そして、クライアントBのユーザ端末20は、ゲームサーバ30との間で、データ転送処理を実行する(ステップS314)。ここでは、ゲームを利用するために必要な情報(ペイロード)を送受信する。
【0072】
この場合、ゲームサーバ30は、ゲームセッション管理処理を行なう(ステップS511)。ここでも、ゲームサーバ30のゲーム制御部31は、ユーザ端末20から取得したインバイトIDがセッション管理部32に記録されているかどうかを確認する。この場合、セッション管理部32において、ユーザ端末20から取得したインバイトIDが登録されており、既にゲームセッションが維持されている場合には、ゲーム制御部31は、セッション管理部32において、ゲームセッションIDに対して、ユーザIDとして「B」を追加する。そして、ゲーム制御部31は、新たに参加したクライアントBのユーザ端末20に対して、インバイトIDに関連付けられたゲームセッションIDを返す。これにより、ゲームサーバ30は、クライアントAとクライアントBとのゲームを開始するとともに、例えば、セッション管理レコードのステートとして、対戦開始を記録する。
この場合、
図8に示すように、ゲームサーバ30は、クライアントA,Bのウェブ画面部250においてゲーム画面610を出力する。
【0073】
ゲームサーバ30が、ゲーム途中で状態変化を検知する(ステップS512)。この場合、ゲーム制御部31は、セッション管理部32のセッション管理レコードにおいて、状態変化に応じてステートを更新する。そして、ゲーム制御部31は、このゲームのゲームオプションに応じて状態変化通知の要否を判断する。
【0074】
ゲームオプションに応じて状態変化通知が必要な場合、ゲームサーバ30は、チャットサーバ10に対して、ゲームの状態変化の通知処理を実行する(ステップS513)。この状態変化通知には、インバイトID、オプション(ゲームオプション)に関するデータを含める。
【0075】
次に、チャットサーバ10は、ゲーム状態管理処理を実行する(ステップS211)。具体的には、チャットサーバ10のチャット管理部11は、状態変化通知のオプションに応じて、メッセージの表示形態を特定する。次に、チャット管理部11は、インバイトIDに基づいてチャットグループを特定する。そして、チャット管理部11は、各クライアントに対して状態変化通知を送信する。この状態変化通知には、インバイトID、オプションに関するデータを含める。
【0076】
各クライアント(A~C)のユーザ端末20は、状態変化に応じたメッセージを出力する。
そして、クライアントA,Bのウェブ画面部250において対戦を行ない、最終的にゲームを終了する。
【0077】
そして、ゲームサーバ30は、対戦の終了を検知した場合、セッション終了処理を実行する(ステップS514)。この場合、ゲーム制御部31は、セッション管理部32のセッション管理レコードにおいて、ステートとしてゲーム終了を記録する。
【0078】
次に、ゲームサーバ30は、チャットサーバ10に対して、ゲーム終了の通知処理を実行する(ステップS515)。この状態変化通知(ゲーム終了)には、インバイトID、オプション(ゲームオプション)に関するデータを含める。
【0079】
次に、チャットサーバ10は、ゲーム終了管理処理を実行する(ステップS212)。具体的には、チャットサーバ10のチャット管理部11は、ゲームオプションに応じて、後述するようにメッセージの表示形態を特定する。次に、チャット管理部11は、インバイトIDに基づいてチャットグループを特定する。そして、チャット管理部11は、各クライアントに対して終了通知を送信する。この終了通知には、インバイトID、オプションに関するデータを含める。
【0080】
各クライアント(A~C)のユーザ端末20は、ゲーム終了処理を実行する(ステップS111、S315、S411)。具体的には、チャット部21のチャット画面部210は、オプションに応じて、メッセージの表示を維持又は変更する。
【0081】
ここで、終了通知において、結果表示のオプションが含まれる場合には、各クライアントにおいて、チャット部21のチャット画面部210は、終了通知の勝敗に基づいたメッセージを出力する。
【0082】
ここでは、
図8に示すように、クライアントAのウェブ画面部250はタイムライン画面620を出力し、クライアントAのウェブ画面部250はタイムライン画面630を出力する。このタイムライン画面620,630においては、ゲームメッセージはグレイアウトして、選択できなくなる。
【0083】
また、
図9に示すように、「継続可能」、「有効期間」のオプションの場合には、ゲームサーバ30は、クライアントA,Bのウェブ画面部250においてゲーム画面710を出力する。そして、各クライアントA,B,Cにおいて、チャット部21のチャット画面部210は、ゲーム継続中のメッセージを含めたタイムライン画面720,730を出力する。このタイムライン画面720,730においては、ゲームメッセージはグレイアウトせず、後で選択可能である。
【0084】
そして、ゲームサーバ30から「有効期間」が近づいたことを示す状態変化通知を取得した場合、チャットサーバ10のチャット管理部11は、期間満了が近いことを示すメッセージを含めたタイムライン画面740を出力する。
【0085】
上記実施形態によれば、以下のような効果を得ることができる。
(1)上記実施形態では、チャット部21のウェブ画面部250は、ゲームサーバ30から取得した画面データのウェブページをウェブビューに出力する。これにより、ネイティブコードにより作成されたチャットアプリケーションにおいて、ウェブコンテンツを活用することができる。そして、チャットアプリケーションのバイナリサイズの増加を抑制することができる。また、ゲームアセットもコンテンツサーバに設置することができる。更に、共用するコンテンツを外部から取り込むため、共用コンテンツの内容を更新したり、新しいステージを配信したり、ゲームの種類自体を増加させたりする場合にも、チャットアプリケーション自体を更新する負担がない。更に、開発速度が速いウェブベースのゲーム資産を活用し、スピード感をもって最新のゲームをエンドユーザに提供することができる。
【0086】
(2)上記実施形態では、クライアントAにおいてゲームが指定された場合、クライアントAのユーザ端末20は、ゲームサーバ30に、選択されたゲームのゲームID、インバイトIDを含むデータを、ゲームサーバ30に送信する。また、クライアントBが対戦を希望する場合、クライアントBのユーザ端末20は、チャットサーバ10を介して、クライアントAから取得したインバイトIDを含むデータを、ゲームサーバ30に送信する。これにより、対戦相手(ウェブコンテンツの共用先)は既にチャット上で通信を行なっている関係性があるため、この関係性を利用して、ゲームサーバ30において対戦相手を効率的に指定することができる。従って、ゲームサーバ30において、ユーザ認証システムやユーザを招待する仕組みを実装することなく、ユーザを簡単に呼び寄せることができる。
【0087】
(3)上記実施形態では、チャットサーバ10のチャット管理部11は、ゲームメッセージをチャットサーバ10に送信する。このゲームメッセージには、接続先情報、ゲームID、インバイトIDに関するデータを含める。これにより、チャット相手のクライアントは、ゲームサーバ30に効率的にアクセスすることができる。
【0088】
(4)上記実施形態では、チャットサーバ10は、チャットグループに属するユーザ端末20がオフラインとなっている場合には、このユーザ端末20に対してプッシュ通知を送信する。これにより、チャットアプリケーションを介して、相手を呼び出し、通信対戦に簡単に呼び出すことができる。
【0089】
(5)上記実施形態では、ゲームサーバ30とのコネクションには、ウェブソケットを用いる。これにより、新たなコネクションを張ることなく、効率的に通信を行なうことができる。
【0090】
(6)上記実施形態では、状態変化通知には、ゲームオプションに関する情報が含まれる。そして、チャットサーバ10のチャット管理部11は、ゲームオプションに応じたメッセージ対応処理を実行する(ステップS1-7)。これにより、ゲーム状況や結果をチャットに反映させることができる。
【0091】
なお、上記実施形態は以下のように変更してもよい。
・上記実施形態では、共用コンテンツとして、ゲームサーバ30から提供される対戦ゲームに適用した。共用コンテンツは、ゲームに限定されるものではない。チャット上の関係性に基づいて、他のコンテンツサーバにおいて、コンテンツを共用できるサービスに利用することができる。
【0092】
また、ゲームサーバ30におけるセッション管理は、上記実施形態に限定されるものではなく、チャットサーバ10において把握可能なインバイトIDを用いて、コンテンツの共用相手や、共用に利用されたチャット(チャットの分脈)を特定したゲームセッションが作成できればよい。
【0093】
・上記実施形態では、ゲームオプションとして、「ワンタイム」、「継続可能」、「有効期間」、「人数制限」、「結果通知」を用いた。チャットに反映できるものであれば、ゲームオプションはこれに限定されるものではない。例えば、利用回数を制限するゲームオプション等を設定することも可能である。この場合には、ゲームサーバ30において、同じインバイトIDについての利用回数をカウントする。そして、利用回数が制限回数に達した場合に、ゲームサーバ30は、チャットサーバ10に対して、状態変化通知(ゲーム終了)を送信する。
【0094】
・上記実施形態では、インバイトIDを、ゲームID、チャットグループIDを用いて構成するが、インバイトIDの構成方法は、これに限定されるものでなく、チャットにおけるユーザの関連性を特定できる情報を用いることができる。例えば、インバイトIDとして、チャットサーバ10との通信に用いられているセッションIDに基づく情報を使用することも可能である。このセッションIDに基づいてチャット先を特定することができる。
【0095】
・上記実施形態では、インバイトIDを、ゲームID、チャットグループIDを用いて構成するが、インバイトIDの構成方法は、これに限定されるものでない。例えば、招待時を特定できる情報(例えば、招待時刻)等を含めることにより、同じゲームを、同じチャットグループで、異なるゲームセッションで行なうことができる。
【0096】
次に、上記実施形態及び別例から把握できる技術的思想について、それらの効果とともに以下に追記する。
〔1〕ネットワークを介して、メッセージの送受信を行なうメッセージ処理部を用いるメッセージ通信方法であって、
前記メッセージ処理部が、
ユーザが用いるクライアントに、メッセージが時系列的に表示されたタイムライン画面においてゲームの選択画面を表示し、
前記ゲームの選択画面においてゲームが選択されたか否かを判定し、
前記ゲームを選択したユーザが属するグループを特定し、
前記特定したグループに属する他のユーザが用いるクライアントのタイムライン画面において、前記ユーザによって選択された前記ゲームについてのメッセージを出力させ、
前記他のユーザが用いるクライアントのタイムライン画面において前記ゲームが選択されて、前記ユーザ及び前記他のユーザによって前記ゲームが開始され、前記選択されたゲームへ参加する前記他のユーザの数が制限に達した状態を示す状態変化情報を取得した場合、前記グループに属するユーザのクライアントのタイムライン画面に前記ゲームのリンクを選択不能な状態で表示することを特徴とするメッセージ通信方法。
これにより、チャット上のユーザ関連性に基づいて、ウェブコンテンツを共用することができる。
【0097】
〔2〕ネットワークを介して、メッセージの送受信を行なうメッセージ処理部を用いるメッセージ通信方法であって、
前記メッセージ処理部が、
ユーザが用いるクライアントに、メッセージが時系列的に表示されたタイムライン画面においてゲームの選択画面を表示し、
前記ゲームの選択画面においてゲームが選択されたか否かを判定し、
前記ゲームを選択したユーザが属するグループを特定し、
前記特定したグループに属する他のユーザが用いるクライアントのタイムライン画面において、前記ユーザによって選択された前記ゲームについてのメッセージを出力させ、
前記他のユーザが用いるクライアントのタイムライン画面において前記ゲームが選択されて、前記ユーザ及び前記他のユーザによって前記ゲームが開始され、前記ゲームの終了を示す状態変化情報を取得した場合、前記グループに属するユーザのクライアントのタイムライン画面に前記ゲームの終了に関わるメッセージを表示し、当該メッセージに対応付けて前記ゲームに参加したユーザのうち勝者又は敗者を識別可能に表示することを特徴とするメッセージ通信方法。
【0098】
〔3〕ネットワークを介して、メッセージの送受信を行なうメッセージ処理部を備えたメッセージ通信システムであって、
前記メッセージ処理部が、
ユーザが用いるクライアントに、メッセージが時系列的に表示されたタイムライン画面においてゲームの選択画面を表示し、
前記ゲームの選択画面においてゲームが選択されたか否かを判定し、
前記ゲームを選択したユーザが属するグループを特定し、
前記特定したグループに属する他のユーザが用いるクライアントのタイムライン画面において、前記ユーザによって選択された前記ゲームについてのメッセージを出力させ、
前記他のユーザが用いるクライアントのタイムライン画面において前記ゲームが選択されて、前記ユーザ及び前記他のユーザによって前記ゲームが開始され、前記選択されたゲームへ参加する前記他のユーザの数が制限に達した状態を示す状態変化情報を取得した場合、前記グループに属するユーザのクライアントのタイムライン画面に前記ゲームのリンクを選択不能な状態で表示することを特徴とするメッセージ通信システム。
【0099】
〔4〕ネットワークを介して、メッセージの送受信を行なうメッセージ処理部を備えたメッセージ通信システムであって、
前記メッセージ処理部が、
ユーザが用いるクライアントに、メッセージが時系列的に表示されたタイムライン画面においてゲームの選択画面を表示し、
前記ゲームの選択画面においてゲームが選択されたか否かを判定し、
前記ゲームを選択したユーザが属するグループを特定し、
前記特定したグループに属する他のユーザが用いるクライアントのタイムライン画面において、前記ユーザによって選択された前記ゲームについてのメッセージを出力させ、
前記他のユーザが用いるクライアントのタイムライン画面において前記ゲームが選択されて、前記ユーザ及び前記他のユーザによって前記ゲームが開始され、前記ゲームの終了を示す状態変化情報を取得した場合、前記グループに属するユーザのクライアントのタイムライン画面に前記ゲームの終了に関わるメッセージを表示し、当該メッセージに対応付けて前記ゲームに参加したユーザのうち勝者又は敗者を識別可能に表示することを特徴とするメッセージ通信システム。
【0100】
〔5〕ネットワークを介して、メッセージの送受信を行なうメッセージ処理部を備えたメッセージ通信システムを用いるメッセージ通信プログラムであって、
前記メッセージ処理部を、
ユーザが用いるクライアントに、メッセージが時系列的に表示されたタイムライン画面においてゲームの選択画面を表示し、
前記ゲームの選択画面においてゲームが選択されたか否かを判定し、
前記ゲームを選択したユーザが属するグループを特定し、
前記特定したグループに属する他のユーザが用いるクライアントのタイムライン画面において、前記ユーザによって選択された前記ゲームについてのメッセージを出力させ、
前記他のユーザが用いるクライアントのタイムライン画面において前記ゲームが選択されて、前記ユーザ及び前記他のユーザによって前記ゲームが開始され、前記選択されたゲームへ参加する前記他のユーザの数が制限に達した状態を示す状態変化情報を取得した場合、前記グループに属するユーザのクライアントのタイムライン画面に前記ゲームのリンクを選択不能な状態で表示する手段として機能させることを特徴とするメッセージ通信プログラム。
【0101】
〔6〕ネットワークを介して、メッセージの送受信を行なうメッセージ処理部を備えたメッセージ通信システムを用いるメッセージ通信プログラムであって、
前記メッセージ処理部を、
ユーザが用いるクライアントに、メッセージが時系列的に表示されたタイムライン画面においてゲームの選択画面を表示し、
前記ゲームの選択画面においてゲームが選択されたか否かを判定し、
前記ゲームを選択したユーザが属するグループを特定し、
前記特定したグループに属する他のユーザが用いるクライアントのタイムライン画面に
おいて、前記ユーザによって選択された前記ゲームについてのメッセージを出力させ、
前記他のユーザが用いるクライアントのタイムライン画面において前記ゲームが選択されて、前記ユーザ及び前記他のユーザによって前記ゲームが開始され、前記ゲームの終了を示す状態変化情報を取得した場合、前記グループに属するユーザのクライアントのタイムライン画面に前記ゲームの終了に関わるメッセージを表示し、当該メッセージに対応付けて前記ゲームに参加したユーザのうち勝者又は敗者を識別可能に表示する手段として機能させることを特徴とするメッセージ通信プログラム。
【符号の説明】
【0102】
10…チャットサーバ、11…チャット管理部、12…ユーザ管理部、13…メッセージ記憶部、14…ゲーム管理部、20…ユーザ端末、21…チャット部、210…チャット画面部、220…チャット先管理部、230…メッセージ記憶部、240…ゲーム管理部、250…ウェブ画面部、30…ゲームサーバ、31…ゲーム制御部、32…セッション管理部、A,B,C…クライアント。