(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024078794
(43)【公開日】2024-06-11
(54)【発明の名称】コンピュータシステム、制御方法およびプログラム
(51)【国際特許分類】
G06Q 50/00 20240101AFI20240604BHJP
A63F 13/35 20140101ALI20240604BHJP
A63F 13/87 20140101ALI20240604BHJP
A63F 13/79 20140101ALI20240604BHJP
【FI】
G06Q50/00 300
A63F13/35
A63F13/87
A63F13/79 500
【審査請求】未請求
【請求項の数】19
【出願形態】OL
(21)【出願番号】P 2022191354
(22)【出願日】2022-11-30
(71)【出願人】
【識別番号】000134855
【氏名又は名称】株式会社バンダイナムコエンターテインメント
(74)【代理人】
【識別番号】100124682
【弁理士】
【氏名又は名称】黒田 泰
(74)【代理人】
【識別番号】100104710
【弁理士】
【氏名又は名称】竹腰 昇
(74)【代理人】
【識別番号】100090479
【弁理士】
【氏名又は名称】井上 一
(72)【発明者】
【氏名】阿須名 孝次
(72)【発明者】
【氏名】南 清志
(72)【発明者】
【氏名】小倉 建一
(72)【発明者】
【氏名】恩田 明生
(72)【発明者】
【氏名】村井 伸太郎
【テーマコード(参考)】
5L049
5L050
【Fターム(参考)】
5L049CC18
5L050CC18
(57)【要約】
【課題】仮想空間サービスにおけるユーザ同士が、仮想空間サービスとは異なるコミュニケーションアプリケーションを用いたコミュニケーションに円滑に移行することを可能とする技術を提供すること。
【解決手段】サーバサイドシステム1010は、仮想空間3において、第1ユーザ2aの第1アバター4aと第2ユーザ2bの第2アバター4bとの間でコミュニケーションを取ろうとする所与のリクエスト条件を満たしたことを検出する。そして、第1ユーザ2aの第1ユーザ端末1500aと第2ユーザ2bの第2ユーザ端末1500bとに対してコミュニケーションアプリケーションの実行を制御して、コミュニケーションアプリケーションの状態を第1ユーザ2aと第2ユーザ2bとの間のコミュニケーションが可能な状態に制御するサポート制御を実行する。
【選択図】
図7
【特許請求の範囲】
【請求項1】
ユーザ間でコミュニケーションを取ることができるコミュニケーションアプリケーション(以下単に「アプリ」という。)を実行可能なユーザ端末との通信が可能に構成され、各ユーザのアバターが配置される仮想空間を制御するコンピュータシステムであって、
前記仮想空間において、第1ユーザの第1アバターと第2ユーザの第2アバターとの間でコミュニケーションを取ろうとする所与のリクエスト条件を満たしたことを検出するリクエスト検出手段と、
前記リクエスト検出手段の検出がなされた場合に、前記第1ユーザの第1ユーザ端末と前記第2ユーザの第2ユーザ端末とに対して前記アプリの実行を制御して、前記アプリの状態を前記第1ユーザと前記第2ユーザとの間のコミュニケーションが可能な状態に制御するサポート制御を実行するサポート制御手段と、
を備えるコンピュータシステム。
【請求項2】
前記リクエスト検出手段は、前記第1ユーザ又は前記第1アバターから前記第2ユーザ又は前記第2アバターに対する依頼と、当該依頼に対する前記第2ユーザ又は前記第2アバターによる承認とが成された場合に前記リクエスト条件を満たしたと判定する、
請求項1に記載のコンピュータシステム。
【請求項3】
前記リクエスト検出手段は、前記第1アバターによる前記第2アバターに対する行動、挙動、相対位置、又は、相対向きに基づいて前記リクエスト条件を満たしたかを判定する、
請求項1に記載のコンピュータシステム。
【請求項4】
前記第1アバターは、前記第1ユーザがリアルタイムで操作しているアバターであり、
前記第2アバターは、前記第2ユーザがリアルタイムで操作していないコンピュータ制御のアバターである、
請求項1~3の何れか一項に記載のコンピュータシステム。
【請求項5】
前記サポート制御手段は、前記第1ユーザ端末又は前記第2ユーザ端末において、前記アプリが起動していない場合に前記アプリの起動に関する前記サポート制御を実行する、
請求項1に記載のコンピュータシステム。
【請求項6】
前記サポート制御手段は、前記第1ユーザ端末又は前記第2ユーザ端末において、前記アプリがインストールされていない場合に前記アプリのインストールに関する前記サポート制御を実行する、
請求項1に記載のコンピュータシステム。
【請求項7】
前記アプリは複数種類あり、
前記サポート制御手段は、前記複数種類のアプリの中からのアプリの選択と、当該選択したアプリに係る前記サポート制御とを実行する、
請求項1に記載のコンピュータシステム。
【請求項8】
前記サポート制御手段は、選択した前記アプリの設定を前記サポート制御に含めて実行する、
請求項7に記載のコンピュータシステム。
【請求項9】
前記サポート制御手段は、前記第1ユーザ又は前記第2ユーザによる前記アプリの選択操作を受け付けて、受け付けた前記アプリに係る前記サポート制御を実行する、
請求項7又は8に記載のコンピュータシステム。
【請求項10】
前記サポート制御手段は、前記複数種類のアプリのうち、前記第1ユーザ又は前記第2ユーザに予め関連付けられた前記アプリを選択し、選択した前記アプリに係る前記サポート制御を実行する、
請求項7又は8に記載のコンピュータシステム。
【請求項11】
前記サポート制御手段は、選択した前記アプリを前記第1ユーザ端末に通知する制御を、前記サポート制御に含めて実行する、
請求項10に記載のコンピュータシステム。
【請求項12】
前記サポート制御手段は、前記リクエスト検出手段の検出がなされた時の、1)前記第1アバターの状況、2)前記第2アバターの状況、および、3)前記第1アバターと前記第2アバターとの間の状況、のうちの何れかの状況に基づいて前記アプリを選択し、選択した前記アプリに係る前記サポート制御を行う、
請求項7又は8に記載のコンピュータシステム。
【請求項13】
前記サポート制御手段は、前記リクエスト検出手段の検出がなされた時の、前記第1アバターの位置、および/又は、前記第2アバターの位置、に基づいて前記アプリを選択し、選択した前記アプリに係る前記サポート制御を行う、
請求項7又は8に記載のコンピュータシステム。
【請求項14】
前記サポート制御手段は、前記複数種類のアプリそれぞれに係る前記第1ユーザの利用情報および/又は前記第2ユーザの利用情報、に基づいて前記アプリを選択し、選択した前記アプリに係る前記サポート制御を行う、
請求項7又は8に記載のコンピュータシステム。
【請求項15】
前記利用情報には、当該アプリにおいて所定のユーザ関係となっているユーザの情報である関係ユーザ情報が含まれ、
前記サポート制御手段は、前記複数種類のアプリそれぞれに係る前記第1ユーザの関係ユーザ情報および/又は前記第2ユーザの関係ユーザ情報、に基づいて前記アプリを選択する、
請求項14に記載のコンピュータシステム。
【請求項16】
前記アプリは、コミュニケーションを取るユーザグループを設定する機能を有し、
前記サポート制御手段は、前記第1ユーザと前記第2ユーザとが前記ユーザグループでコミュニケーション可能な状態となるように制御することを前記サポート制御に含めて実行する、
請求項1に記載のコンピュータシステム。
【請求項17】
前記仮想空間において、アバターを介してユーザ間でコミュニケーションを取る制御を実行するコミュニケーション実行手段、
を更に備え、
前記コミュニケーション実行手段によるコミュニケーションと、前記アプリによるコミュニケーションとは、操作入力可能なデータ種別、操作入力に係る制限、および、入力内容に係る制限、のうちの何れかが異なる、
請求項1に記載のコンピュータシステム。
【請求項18】
ユーザ間でコミュニケーションを取ることができるコミュニケーションアプリケーション(以下単に「アプリ」という。)を実行可能なユーザ端末との通信が可能に構成され、各ユーザのアバターが配置される仮想空間を制御するコンピュータシステムの制御方法であって、
前記仮想空間において、第1ユーザの第1アバターと第2ユーザの第2アバターとの間でコミュニケーションを取ろうとする所与のリクエスト条件を満たしたことを検出することと、
前記検出がなされた場合に、前記第1ユーザの第1ユーザ端末と前記第2ユーザの第2ユーザ端末とに対して前記アプリの実行を制御して、前記アプリの状態を前記第1ユーザと前記第2ユーザとの間のコミュニケーションが可能な状態に制御するサポート制御を実行することと、
を含む制御方法。
【請求項19】
ユーザ間でコミュニケーションを取ることができるコミュニケーションアプリケーション(以下単に「アプリ」という。)を実行可能なユーザ端末との通信が可能なコンピュータシステムに、各ユーザのアバターが配置される仮想空間を制御させるためのプログラムであって、
前記仮想空間において、第1ユーザの第1アバターと第2ユーザの第2アバターとの間でコミュニケーションを取ろうとする所与のリクエスト条件を満たしたことを検出することと、
前記検出がなされた場合に、前記第1ユーザの第1ユーザ端末と前記第2ユーザの第2ユーザ端末とに対して前記アプリの実行を制御して、前記アプリの状態を前記第1ユーザと前記第2ユーザとの間のコミュニケーションが可能な状態に制御するサポート制御を実行することと、
を前記コンピュータシステムに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、コンピュータシステム等に関する。
【背景技術】
【0002】
複数のユーザが仮想空間を共有する技術が知られている(例えば、特許文献1を参照)。共有の仮想空間内には、ユーザ別のアバターが配置され、各ユーザはアバターを通じて仮想空間内の様々な場所に行き様々な仮想体験を楽しむことができる。こういった仮想空間を通じて提供されるサービスを「仮想空間サービス」という。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
仮想空間サービスには、仮想空間内で出会ったユーザ同士が、その仮想空間内でコミュニケーションを取るための内部コミュニケーション機能が備わっている場合が多い。例えば、チャット機能がその代表的なものである。
【0005】
しかし、内部コミュニケーション機能は、仮想空間サービスに付随する機能であり、仮想空間サービスと一体的に管理・運営される。そのため、内部コミュニケーション機能の仕様や制限事項は、仮想空間サービスのルールやデザイン等に依存している場合が一般的である。例えば、操作入力可能なデータ種別が、文字に限られる仕様もあれば、ちょっとした画像(動画又は静止画)を添付できる仕様もある。音声、動画による映像でチャットできるものもある。操作入力に係る制限としては、1回のメッセージの文字数制限や、データの添付ができる/できない、添付データのファイル形式やファイルサイズ、などが挙げられる。入力内容に係る制限としては、NGワード、禁止ワードなどがこれに該当する。また、内部コミュニケーション機能を使ったコミュニケーションの履歴は、付随している仮想空間サービスと一体的に管理・記憶される。
【0006】
内部コミュニケーション機能の仕様や制限事項は、仮想空間サービスの提供事業者や運営事業者によって定められる。そのため、仮想空間サービスを利用するユーザの中には、内部コミュニケーション機能の使い勝手が悪いと感じるユーザがいる場合がある。また、ユーザ同士のコミュニケーションの履歴等の情報が、仮想空間サービスと一体的に記憶・管理されることを望まないユーザがいる場合もある。これらのユーザは、当該仮想空間サービスに依存した内部コミュニケーション機能ではなく、当該仮想空間サービスとは異なるコミュニケーションアプリケーションを使って他のユーザとコミュニケーションを図りたいと考えるであろう。
【0007】
本発明が解決しようとする課題は、仮想空間サービスにおけるユーザ同士が、仮想空間サービスとは異なるコミュニケーションアプリケーションを用いたコミュニケーションに円滑に移行することを可能とする技術を提供すること、である。
【課題を解決するための手段】
【0008】
上記した課題を解決するための第1の発明は、ユーザ間でコミュニケーションを取ることができるコミュニケーションアプリケーション(以下単に「アプリ」という。)を実行可能なユーザ端末との通信が可能に構成され、各ユーザのアバターが配置される仮想空間を制御するコンピュータシステムであって、
前記仮想空間において、第1ユーザの第1アバターと第2ユーザの第2アバターとの間でコミュニケーションを取ろうとする所与のリクエスト条件を満たしたことを検出するリクエスト検出手段(例えば、
図8の処理部200s、リクエスト検出部214、
図9のリクエスト検出条件データ620、
図13のステップS40からステップS50)と、
前記リクエスト検出手段の検出がなされた場合に、前記第1ユーザの第1ユーザ端末と前記第2ユーザの第2ユーザ端末とに対して前記アプリの実行を制御して、前記アプリの状態を前記第1ユーザと前記第2ユーザとの間のコミュニケーションが可能な状態に制御するサポート制御を実行するサポート制御手段(例えば、
図8の処理部200s、サポート制御部216、
図10のサポート制御用スクリプト群530、
図13のステップS54)と、を備えるコンピュータシステムである。
【0009】
第1の発明のコンピュータシステムは、仮想空間サービスにおける第1ユーザおよび第2ユーザに対して、それぞれのユーザ端末で仮想空間サービスの外で実行されるコミュニケーションアプリケーションの実行を制御して、両者間でコミュニケーションが可能な状態にまで円滑にサポートするサポート制御を実行する。これによって、仮想空間サービスにおける第1ユーザと第2ユーザとは、仮想空間サービスを利用した状態から当該仮想空間サービス外でのコミュニケーションに円滑に移行することができるようになる。
【0010】
第2の発明は、上記のコンピュータシステムにおいて、前記リクエスト検出手段が、前記第1ユーザ又は前記第1アバターから前記第2ユーザ又は前記第2アバターに対する依頼と、当該依頼に対する前記第2ユーザ又は前記第2アバターによる承認とが成された場合に前記リクエスト条件を満たしたと判定する(例えば、
図13のステップS40、ステップS50)、コンピュータシステムである。
【0011】
第2の発明のコンピュータシステムは、コミュニケーションを求める側(依頼側)と求められる側(承認側)との双方のユーザの合意が有ることを確認して、仮想空間サービス外でのコミュニケーションを取ることを可能にする。よって、一方的に仮想空間サービス外でのコミュニケーションを強制されるような事態を防ぐことができる。
【0012】
第3の発明は、上記のコンピュータシステムにおいて、前記リクエスト検出手段が、前記第1アバターによる前記第2アバターに対する行動、挙動、相対位置、又は、相対向きに基づいて前記リクエスト条件を満たしたかを判定する(例えば、
図9のリクエスト検出条件データ620)、コンピュータシステムである。
【0013】
第3の発明のコンピュータシステムは、視覚的に第1アバターが第2アバターにコミュニケーションを求めていると分かるような状況に基づいて、リクエスト条件を満たすと判定できるようになる。
【0014】
第4の発明は、上記のコンピュータシステムにおいて、前記第1アバターが、前記第1ユーザがリアルタイムで操作しているアバターであり、前記第2アバターは、前記第2ユーザがリアルタイムで操作していないコンピュータ制御のアバターである、コンピュータシステムである。
【0015】
「リアルタイムで操作しているユーザ」は、その時点において仮想空間サービスを利用中の参加ユーザということができる。「リアルタイムで操作していないユーザ」は、その時点において仮想空間サービスを利用していない(仮想空間サービスにアカウント登録している/していないは問わない。)不参加ユーザということができる。
【0016】
第4の発明のコンピュータシステムは、参加ユーザの第1アバターが、不参加ユーザの第2アバターにコミュニケーションを求める場合のサポート制御を実行する。よって、参加ユーザが不参加ユーザと仮想空間サービス外でコミュニケーションを取る機会を創出できる。
【0017】
第5の発明は、上記のコンピュータシステムにおいて、前記サポート制御手段が、前記第1ユーザ端末又は前記第2ユーザ端末において、前記アプリが起動していない場合に前記アプリの起動に関する前記サポート制御を実行する(例えば、
図14のステップS68)、コンピュータシステムである。
【0018】
第5の発明のコンピュータシステムは、コミュニケーションアプリケーションの起動に関するサポートを実現できる。ユーザは、スムーズにコミュニケーションを取れるようになる。
【0019】
第6の発明は、上記のコンピュータシステムにおいて、前記サポート制御手段が、前記第1ユーザ端末又は前記第2ユーザ端末において、前記アプリがインストールされていない場合に前記アプリのインストールに関する前記サポート制御を実行する(例えば、
図14のステップS64)、コンピュータシステムである。
【0020】
第6の発明のコンピュータシステムは、コミュニケーションアプリケーションのインストールについてもサポートすることができる。ユーザは、スムーズにコミュニケーションを取れるようになる。
【0021】
第7の発明は、上記のコンピュータシステムにおいて、前記アプリは複数種類あり、前記サポート制御手段は、前記複数種類のアプリの中からのアプリの選択と、当該選択したアプリに係る前記サポート制御とを実行する(例えば、
図13のステップS42で選択されたアプリを使用アプリとしてステップS54を実行する)、コンピュータシステムである。
【0022】
第7の発明によれば、コンピュータシステムは、複数のコミュニケーションアプリケーションの選択と、選択したアプリに係るサポート制御と、を実行することが可能となる。例えば、予めユーザにより指定・設定された条件に基づいてコミュニケーションアプリケーションを選択するならば、ユーザは仮想空間サービスを利用している状況に応じてコミュニケーションアプリケーションを使い分ける事が可能になる。
【0023】
第8の発明は、上記のコンピュータシステムにおいて、前記サポート制御手段は、選択した前記アプリの設定を前記サポート制御に含めて実行する、コンピュータシステムである。
【0024】
第8の発明によれば、コンピュータシステムは、アプリの設定をサポートできる。
【0025】
第9の発明は、上記のコンピュータシステムにおいて、前記サポート制御手段が、前記第1ユーザ又は前記第2ユーザによる前記アプリの選択操作を受け付けて(例えば、
図6のオプション選択画面W61、
図16のオプション選択画面W61B)、受け付けた前記アプリに係る前記サポート制御を実行する、コンピュータシステムである。
【0026】
第9の発明によれば、コンピュータシステムは、サポート制御するコミュニケーションアプリケーションをユーザの希望に沿って選択できる。
【0027】
第10の発明は、上記のコンピュータシステムにおいて、前記サポート制御手段が、前記複数種類のアプリのうち、前記第1ユーザ又は前記第2ユーザに予め関連付けられた前記アプリを選択し、選択した前記アプリに係る前記サポート制御を実行する、コンピュータシステムである。
【0028】
第10の発明のコンピュータシステムは、ユーザに予め関連付けられたコミュニケーションアプリケーションを選択してサポート制御をすることができる。例えば、ユーザが、使い慣れたコミュニケーションアプリケーションを登録しておけば、当該ユーザのアバターと実質的に関連付けられることとなる。ユーザは使い慣れたコミュニケーションアプリケーションで仮想空間サービス外でのコミュニケーションを取ることができる。
【0029】
第11の発明は、上記コンピュータシステムにおいて、前記サポート制御手段が、選択した前記アプリを前記第1ユーザ端末に通知する制御(例えば、
図17の使用アプリ通知73)を、前記サポート制御に含めて実行する、コンピュータシステムである。
【0030】
第11の発明のコンピュータシステムは、第1ユーザへ、どのアプリを使用して仮想空間サービス外でのコミュニケーションを取るかを事前に報せることができる。
【0031】
第12の発明は、上記のコンピュータシステムにおいて、前記サポート制御手段が、前記リクエスト検出手段の検出がなされた時の、1)前記第1アバターの状況、2)前記第2アバターの状況、および、3)前記第1アバターと前記第2アバターとの間の状況、のうちの何れかの状況に基づいて前記アプリを選択し、選択した前記アプリに係る前記サポート制御を行う、コンピュータシステムである。
【0032】
「アバターの状況」とは、アバターが仮想空間内のどこに居て、何をしているかといったアバターの位置や行動について、である。従って、「アバターの状況」には、間接的に、当該アバターを介して仮想空間サービスでどのようなコンテンツを利用しているか、といったサービス利用のことも含まれている。仮想空間サービスが、MMORPGであれば、アバターに係る各種パラメータ値が表すキャラクターの状態が含まれる。
【0033】
第12の発明のコンピュータシステムは、コミュニケーションを求める側と求められる側のその時々の状況に応じて、適切なコミュニケーションアプリケーションを選択することができる。
【0034】
第13の発明は、上記のコンピュータシステムにおいて、前記サポート制御手段は、前記リクエスト検出手段の検出がなされた時の、前記第1アバターの位置、および/又は、前記第2アバターの位置、に基づいて前記アプリを選択し、選択した前記アプリに係る前記サポート制御を行う(例えば、
図9のリクエスト検出条件データ620の相対位置サブ条件623)、コンピュータシステムである。
【0035】
第13の発明のコンピュータシステムは、第1アバターおよび第2アバターの位置や相対位置関係に応じて、適切なコミュニケーションアプリケーションを選択することができる。
【0036】
第14の発明は、上記のコンピュータシステムにおいて、前記サポート制御手段が、前記複数種類のアプリそれぞれに係る前記第1ユーザの利用情報および/又は前記第2ユーザの利用情報、に基づいて前記アプリを選択し、選択した前記アプリに係る前記サポート制御を行う、コンピュータシステムである。
【0037】
第14の発明のコンピュータシステムは、第1アバターおよび第2アバターそれぞれの利用情報に基づいて適切なコミュニケーションアプリケーションを選択することができる。
【0038】
第15の発明は、上記のコンピュータシステムにおいて、前記利用情報には、当該アプリにおいて所定のユーザ関係となっているユーザの情報である関係ユーザ情報(例えば、
図11の仮想空間サービス利用情報605およびアプリ利用情報614におけるフレンドリスト)が含まれ、前記サポート制御手段は、前記複数種類のアプリそれぞれに係る前記第1ユーザの関係ユーザ情報および/又は前記第2ユーザの関係ユーザ情報、に基づいて前記アプリを選択する、コンピュータシステムである。
【0039】
「利用情報」は、当該ユーザが、そのコミュニケーションアプリケーションをどのくらい利用しているか、どのように利用しているか、等の情報である。当該アプリユーザ同士のフレンド登録についての情報(所定のユーザ関係となっているユーザの情報)も含まれる。
【0040】
第15の発明のコンピュータシステムは、相手のユーザについてフレンド登録しているコミュニケーションアプリケーションがあれば、当該コミュニケーションアプリケーションを選択するサポート制御をする、といったことが可能になる。
【0041】
第16の発明は、上記のコンピュータシステムにおいて、前記アプリが、コミュニケーションを取るユーザグループを設定する機能を有し、前記サポート制御手段は、前記第1ユーザと前記第2ユーザとが前記ユーザグループでコミュニケーション可能な状態となるように制御することを前記サポート制御に含めて実行する、コンピュータシステムである。
【0042】
第16の発明のコンピュータシステムは、コミュニケーションアプリケーションにおいて、ユーザグループでのコミュニケーションが可能な状態となるようにサポート制御を実行することができる。
【0043】
第17の発明は、上記のコンピュータシステムにおいて、前記仮想空間において、アバターを介してユーザ間でコミュニケーションを取る制御を実行するコミュニケーション実行手段(例えば、
図8の処理部200s、コミュニケーション実行部218、
図13のステップS46)、を更に備え、前記コミュニケーション実行手段によるコミュニケーションと、前記アプリによるコミュニケーションとは、操作入力可能なデータ種別、操作入力に係る制限、および、入力内容に係る制限、のうちの何れかが異なる、コンピュータシステムである。
【0044】
第17の発明のコンピュータシステムは、仮想空間サービスでの内部コミュニケーションと、コミュニケーションアプリケーションによる仮想空間サービス外での外部コミュニケーションとの両方をユーザに提供できる。
【0045】
第18の発明は、ユーザ間でコミュニケーションを取ることができるコミュニケーションアプリケーション(以下単に「アプリ」という。)を実行可能なユーザ端末との通信が可能に構成され、各ユーザのアバターが配置される仮想空間を制御するコンピュータシステムの制御方法であって、前記仮想空間において、第1ユーザの第1アバターと第2ユーザの第2アバターとの間でコミュニケーションを取ろうとする所与のリクエスト条件を満たしたことを検出することと、前記検出がなされた場合に、前記第1ユーザの第1ユーザ端末と前記第2ユーザの第2ユーザ端末とに対して前記アプリの実行を制御して、前記アプリの状態を前記第1ユーザと前記第2ユーザとの間のコミュニケーションが可能な状態に制御するサポート制御を実行することと、を含む制御方法である。
【0046】
第18の発明によれば、上記の発明と同様の作用効果を奏する制御方法を実現できる。
【0047】
第19の発明は、ユーザ間でコミュニケーションを取ることができるコミュニケーションアプリケーション(以下単に「アプリ」という。)を実行可能なユーザ端末との通信が可能なコンピュータシステムに、各ユーザのアバターが配置される仮想空間を制御させるためのプログラムであって、前記仮想空間において、第1ユーザの第1アバターと第2ユーザの第2アバターとの間でコミュニケーションを取ろうとする所与のリクエスト条件を満たしたことを検出することと、前記検出がなされた場合に、前記第1ユーザの第1ユーザ端末と前記第2ユーザの第2ユーザ端末とに対して前記アプリの実行を制御して、前記アプリの状態を前記第1ユーザと前記第2ユーザとの間のコミュニケーションが可能な状態に制御するサポート制御を実行することと、を前記コンピュータシステムに実行させるためのプログラムである。
【0048】
第19の発明によれば、コンピュータシステムに第1の発明と同様の作用効果を発揮させるプログラムを実現できる。
【図面の簡単な説明】
【0049】
【
図1】仮想空間サービスシステムの構成例を示すシステム構成図。
【
図3】仮想空間サービスのユーザ登録(アカウント登録)の手続画面例を示す図。
【
図6】仮想空間で出会ってから外部コミュニケーションが開始されるまでについて説明するための図。
【
図7】仮想空間で出会ってから外部コミュニケーションが開始されるまでについて説明するための図。
【
図8】サーバサイドシステムの機能構成例を示すブロック図。
【
図9】サーバサイドシステムの記憶部に記憶されるプログラムやデータの例を示す図。
【
図10】コミュニケーションアプリ登録データのデータ構成例を示す図。
【
図11】ユーザ管理データのデータ構成例を示す図。
【
図12】ユーザ端末の機能構成例を示す機能ブロック図。
【
図13】サーバサイドシステムが実行する仮想空間サービスに係る処理の流れを説明するためのフローチャート。
【
図14】サポート制御処理の流れを説明するためのフローチャート。
【
図15】第2実施形態におけるサーバサイドシステムの機能構成例を示すブロック図。
【発明を実施するための形態】
【0050】
以下、本発明の実施形態の例を説明するが、本発明を適用可能な形態が以下の実施形態に限られないことは勿論である。
【0051】
〔第1実施形態〕
図1は、本発明に係る仮想空間サービスシステムの構成例を示すシステム構成図である。
仮想空間サービスシステム1000は、同時に複数のユーザが各々のユーザキャラクタであるアバターを使って3DCG(3 Dimensional Computer Graphics)で構築された共通の仮想空間へ参加して、アバターで仮想空間内を自由に行動し、アバターを介して仮想空間内に用意された様々なコンテンツの提供を受けることができるコンピュータシステムである。
【0052】
仮想空間サービスシステム1000は、ネットワーク9を介してデータ通信可能に接続されたサーバサイドシステム1010及びユーザ別のユーザ端末1500(1500a,1500b,…)を含むコンピュータシステムである。ユーザ端末1500はマン・マシン・インターフェース(Man Machine Interface:MMIF)となる。
【0053】
ネットワーク9は、データ通信が可能な通信路を意味する。すなわち、ネットワーク9とは、直接接続のための専用線(専用ケーブル)やイーサネット(登録商標)等によるLAN(Local Area Network)の他、電話通信網やケーブル網、インターネットを含む。
【0054】
サーバサイドシステム1010は、仮想空間サービスシステム1000の運用者が運用するコンピュータシステムであって、ポータルサーバシステム1100Pと、複数のコンテンツサーバシステム1100G(1100Ga,1100Gb,…)とを有する。
【0055】
ポータルサーバシステム1100Pは、仮想空間の基本的な仕組みを提供するコンピュータシステムであって、仮想空間へ参加するユーザのユーザ端末1500が最初にアクセスするフロントエンドのサーバシステムである。ポータルサーバシステム1100Pは、例えば、ユーザ登録に係る制御、アバターのカスタマイズに係る制御、仮想空間内でのアバターの制御、仮想世界内でのイベント等の制御、アバターの位置や動作に応じた各種コンテンツの提供に係る制御、などを行う。そして、登録ユーザに関する情報やアバターの設定情報などを記憶・管理する。ポータルサーバシステム1100Pは、仮想空間で提供するコンテンツの内容に応じてこれら以外の制御を実行するとしてもよい。また、これらの制御のうち1つ又は複数をバックエンドサーバにより実現してもよい。
【0056】
コンテンツサーバシステム1100G(1100Ga,1100Gb,…)は、ユーザ端末1500をクライアントとして1種類又は複数種類のコンテンツを提供するためのバックエンドサーバである。提供するコンテンツの内容は適宜設定可能である。例えば、ショッピング、ゲームプレイ、美術館・博物館などの観覧、映画鑑賞、イベント、スポーツ観戦、などである。
【0057】
ポータルサーバシステム1100P及びコンテンツサーバシステム1100Gは、本体装置、キーボード、タッチパネル、などを有し、本体装置に制御基板1150を搭載する。制御基板1150には、CPU(Central Processing Unit)1151やGPU(Graphics Processing Unit)、DSP(Digital Signal Processor)などの各種マイクロプロセッサ、VRAMやRAM,ROM等の各種ICメモリ1152、通信装置1153、が搭載されている。なお、制御基板1150の一部又は全部は、ASIC(Application Specific Integrated Circuit)や、FPGA(Field-Programmable Gate Array)、SoC(System on a Chip)により実現するとしてもよい。
【0058】
ポータルサーバシステム1100Pとコンテンツサーバシステム1100Gとは、制御基板1150が所定のプログラム及びデータに基づいて演算処理することによりそれぞれ別個の機能を実現する。
【0059】
図1では、ポータルサーバシステム1100P及びコンテンツサーバシステム1100Gは、それぞれ1台のサーバ装置であるかのように描いているが、それぞれを複数の装置で実現する構成であってもよい。例えば、ポータルサーバシステム1100Pは、各機能を分担する複数のブレードサーバを搭載して相互に内部バスを介してデータ通信可能に接続した構成であってもよいし、データベースやオンラインストレージを含むとしてもよい。コンテンツサーバシステム1100Gも同様である。
【0060】
なお、コンテンツサーバシステム1100Gの一部又は全部は、仮想空間サービスシステム1000及びポータルサーバシステム1100Pの運用者とは別の運用者が運用することとしてもよい。
【0061】
ユーザ端末1500は、ユーザが仮想空間に参加するために使用するコンピュータシステムであって、仮想空間サービスシステム1000におけるマン・マシン・インターフェースの機能を担っている。
【0062】
ユーザ端末1500(1500a,1500b,…)は、例えば、パソコン、スマートフォン、ウェアラブルコンピュータ、携帯型ゲーム装置、家庭用ゲーム装置、タブレット型コンピュータ、などのネットワーク9に接続可能なコンピュータシステムである。
【0063】
ユーザ端末1500は、主体となるコンピュータとこれに通信接続された各種デバイスとが全体として1つの機能を果たす場合には、主体及び各種デバイスを1つのユーザ端末1500とみなすことができる。例えば
図1では、ユーザ端末1500aは、デスクトップ型パソコンにVR(Virtual Reality)用MMIFセット1580が通信接続された例を示している。VR用MMIFセット1580は、VRゴーグル1581、VRヘッドセット1583、VRコントローラ1585などを含む。
図1のユーザ端末1500bはスマートフォン単体として例示されているが、ユーザ端末1500bがユーザ端末1500aと同様にVR用MMIFセット1580を含む構成としてもよい。
【0064】
ユーザ端末1500は、操作入力デバイス(例えば、タッチパネル1506、キーボード、ゲームコントローラ、マウスなど)と、画像表示デバイス(例えば、タッチパネル1506、ヘッドマウントディスプレイ、グラス型ディスプレイなど)と、制御基板1550と、を備える。
【0065】
制御基板1550は、CPU1551や、GPU,DSPなどの各種マイクロプロセッサ、VRAMやRAM,ROM等の各種ICメモリ1552、ネットワーク9に接続する通信モジュール1553、などを搭載する。制御基板1550に搭載されているこれらの要素は、バス回路などを介して電気的に接続され、データの読み書きや信号の送受信が可能に接続されている。制御基板1550の一部又は全部をASICやFPGA、SoCにて構成してもよい。制御基板1550は、ユーザ端末1500としての機能を実現させるためのプログラムや各種データをICメモリ1552に記憶する。ユーザ端末1500は、所定のアプリケーションプログラムを実行することにより、仮想空間サービスシステム1000のマン・マシン・インターフェースとして、またユーザが各種コンテンツの提供を受ける際のクライアントとしての機能を実現する。
【0066】
なお、ユーザ端末1500は、仮想空間サービスに係るプログラムやその実行に必要な各種データをポータルサーバシステム1100Pからダウンロードする構成としているが、ユーザが別途入手したメモリカードなどの記憶媒体から読み出す構成としてもよい。
【0067】
また、ユーザ端末1500は、適宜アプリケーションプログラムをインストールして起動させることで、仮想空間サービスのクライアント機能以外の機能も発揮することができる。例えば、ウェブブラウザのアプリケーションを起動すれば、ユーザ端末1500は、外部サーバシステム1900に接続してウェブサイトを閲覧したり動画配信サイトでの動画視聴を実現できる。また、コミュニケーションアプリケーションを起動すれば、ユーザ端末1500は、外部サーバシステム1900に接続して、仮想空間サービス外でのコミュニケーション(外部コミュニケーション)を実現できる。以下、コミュニケーションアプリケーションのことを「コミュニケーションアプリ」と略称する。
【0068】
コミュニケーションアプリは、例えば、電子メール、チャット、投稿などのコミュニケーションの実現形態に応じて様々な種類が存在する。コミュニケーションアプリの種類によって、操作入力可能なデータ種別、操作入力に係る制限、および、入力内容に係る制限内容が異なる。
【0069】
「データ種類に係る制限」としては、テキスト、画像、音声、動画などのデータ種類のうち、どれが利用可能であるかが該当する。「操作入力に係る制限」としては、1メッセージ当たりのテキストの文字数、1メッセージに添付できる画像の数やデータサイズ、1メッセージ当たりの音声の時間長、動画の解像度、などである。「入力内容に係る制限」としては、NGワードや禁止ワード、データ添付のあり/なし、などである。
【0070】
図2は、仮想空間サービスシステム1000が提供する仮想空間サービスにおける仮想空間3について説明するための図である。なお、説明を理解し易いように、仮想空間3に参加中のユーザ2(リアルタイムに仮想空間3に係る操作をしているユーザ;参加ユーザ)のアバター4を1体のみ描いているが、実際の運用では同時に多数のアバター4が仮想空間3内に存在し得る。
【0071】
仮想空間3は、3DCGで構築されたデジタルデータの空間であって、同時に複数のユーザ2がそれぞれのアバター4を使って参加して、各自のアバター4で自由に行動可能な空間である。仮想空間3は、現実と同じ時間の流れを有する並行世界であってもよいし、現実世界の時刻から時差のある時間の流れを有する並行世界であってもよいし、現実世界とは異なる速さで時間が流れている固有の時間の世界であってもよい。仮想空間3は、参加しているユーザ2がいなくてもサーバサイドシステム1010にてデータとして存在し続け、現実世界の時間経過とともに仮想空間3の中でも時間が経過し、仮想空間3で表現されている世界は変化し続ける。ユーザ端末1500では、基本的にアバター4の視点から見た一人称視点による仮想空間3の画像が表示される。なお、仮想空間3の画像は三人称視点による画像であってもよい。
【0072】
仮想スポット6(6a,6b,…)は、コンテンツ毎に仮想空間3内に設定される。
図2の例では、仮想スポット6は店舗風に描かれているが、広場のようにオープンエリアとして設定されていてもよい。ログイン手続を経て仮想空間3に参加しているユーザ2は、自身のアバター4を操作して仮想スポット6へ移動させることで、当該仮想スポット6で提供されるコンテンツを利用できる。例えば、ショッピング、ゲームプレイ、美術館や博物館などの観覧、映画鑑賞、イベント、スポーツ観戦、などである。
【0073】
図2の例では、仮想スポット6aにアバター4を移動させれば、仮想スポット6aである仮想書店において、コンテンツAとしての電子的な本や雑誌の購入が可能になる。
仮想スポット6bにアバター4を移動させれば、仮想スポット6bであるゲームセンターにおいて、コンテンツBとしてゲームが提供され、ゲームプレイが可能となる。コンテンツBのゲームの内容は適宜設定可能である。例えば、ユーザがプレーヤとなってプレーヤキャラクタ10(コンテンツBにおけるコンテンツユーザキャラクタ)を設定し、これを使って敵NPC(Non Player Character)12と遭遇戦を行い、生き残りながらプレイを進めるアクションRPG(Role Playing Game)であってもよい。
【0074】
仮想スポット6cにアバター4を移動させれば、仮想スポット6cである仮想雑貨店において、コンテンツCとしての電子的な雑貨の購入が可能になる。
仮想スポット6dにアバター4を移動させれば、仮想スポット6dであるライブハウスにおいて、コンテンツDとして音楽ライブの視聴が提供される。
なお、仮想空間3で提供されるコンテンツ毎に用意された仮想スポット6の数は、
図2の例に限らず実際の運用では多数設定可能である。各仮想スポット6で提供されるコンテンツも
図2の例に限らない。
【0075】
図3は、仮想空間サービスのユーザ登録(アカウント登録)の手続画面例を示す図である。手続画面W3は、仮想空間サービスのユーザ登録手続において、仮想空間サービスを利用中であっても、仮想空間サービス外でコミュニケーション(外部コミュニケーション)を取るためのコミュニケーションアプリの設定を行う画面である。
【0076】
手続画面W3では、外部コミュニケーションのコミュニケーションアプリとして登録可能なアプリ毎に、チェックボックス21と、アプリ名表示(例えば、
図3中の「コミュニケーションアプリα」「コミュニケーションアプリβ」…)と、制限事項確認操作アイコン23と、許可設定操作アイコン24と、アクセス情報入力欄25と、が表示される。なお、
図3では登録可能なアプリを3種のみ例示しているが、登録可能なアプリの数は3種未満でも3種以上でもよい。
【0077】
ユーザ2は、外部コミュニケーションで使いたい、或いは使っても良いと思うコミュニケーションアプリのチェックボックス21を操作してチェックを入れる。
【0078】
制限事項確認操作アイコン23を操作すると、例えば
図4に示すような制限事項表示画面W4が表示される。制限事項表示画面W4は、操作された制限事項確認操作アイコン23のコミュニケーションアプリについての相対評価表示41と、当該コミュニケーションアプリにおける各種制限事項表示42と、を表示する。相対評価表示41は、制限事項に関して、仮想空間サービスの内部コミュニケーション機能の1つである仮想空間内チャットに対する、当該コミュニケーションアプリの違いを表示する。各種制限事項表示42は、例えば「データ種類に係る制限」「操作入力に係る制限」「入力内容に係る制限」「使用時間に係る制限」などを表示する。
【0079】
図3に戻って、許可設定操作アイコン24は、当該コミュニケーションアプリを使用許可する条件の設定を開始する操作を受け付ける。許可設定操作アイコン24が操作されると、例えば
図5に示すような使用許可条件の設定画面W5が表示される。設定画面W5は、選択肢表示部51にて、様々な条件の選択肢をチェックボックス52付きで表示し、当該コミュニケーションアプリをどのような状況で使用許可するかを様々にカスタマイズできるようになっている。
【0080】
選択肢表示部51における選択肢の内容について説明するために、便宜上、コミュニケーションを求めてコミュニケーションを依頼する側のユーザを「第1ユーザ」、当該第1ユーザのアバターを「第1アバター」と呼称する。コミュニケーションを求められて承認する側のユーザを「第2ユーザ」、当該第2ユーザのアバターを「第2アバター」と呼称する。
【0081】
選択肢として、第1アバターの状況、第2アバターの状況、第1アバターと第2アバターとの間の状況、についての条件を用意してもよい。
図5の例では、「自身・相手の何れかが仮想空間内チャットを利用中は使用しない」「自身がコンテンツを利用中は使用しない」「相手がコンテンツを利用中は使用しない」などがこれに該当する。その他、仮想空間サービスがMMORPGなどであれば、「戦闘中は使用しない」「マップ移動中に使用する」などを選択肢としてもよい。
【0082】
また、選択肢として、コミュニケーションが求められたときの第1アバターの位置、および/又は、第2アバターの位置、についての条件を用意してもよい。
図5の例では、「相手アバターに触れられる距離内にいる場合に使用する」「自身がコンテンツを利用中は使用しない」などがこれに該当する。
【0083】
また、選択肢として、仮想空間サービスや複数種類のコミュニケーションアプリそれぞれに係る第1ユーザの利用情報および/又は第2ユーザの利用情報、についての条件を用意してもよい。
図5の例では、「相手が仮想空間サービス内のフレンドである場合に使用する」「相手が当該コミュニケーションアプリ内のフレンドである場合に限って使用する」がこれに該当する。
ここで言う「フレンド」は、別の呼称でもよく、その他の所定のユーザ関係を示す名称でもよい。例えば、フレンドにも種類がある場合(通常のフレンド、親友、遊び仲間、職場の同僚、など)である場合、その種類を条件に含めてもよい。仮想空間サービスがMMORPGなどであれば、「同じパーティ/同じギルド/同じ陣営に所属している」「レベル差が「5」位内である」などとしてもよい。
【0084】
なお、選択肢の内容は、
図5に示す例に限らない。例えば表示送り操作アイコン53を操作することで、更なる選択肢を表示できる。
【0085】
図3に戻って、アクセス情報入力欄25は、対応するコミュニケーションアプリの登録ユーザとしての利用を開始するための情報、例えば、ユーザアカウント、パスワード、所属するユーザグループ名、当該ユーザグループへの招待コード、などである。具体的な情報の内容については、アプリ毎の仕様による。招待コードは、コミュニケーションアプリの運営会社が発行する共通コードでもよいし、ユーザの求めに応じて個別に発行される固有のコードでもよい。
【0086】
そして、手続画面W3、制限事項表示画面W4、設定画面W5での設定内容は、ユーザアカウントと紐付けて記憶・管理される。つまり、これらの設定内容は、アバター4と紐付けて記憶・管理される。
【0087】
図6と
図7は、仮想空間3での第1アバター4aと第2アバター4bとの出会いから、外部コミュニケーションが開始されるまでを説明するための図である。
サーバサイドシステム1010は、仮想空間3の中を常に監視している。そして、サーバサイドシステム1010は、
図6に示すように、第1ユーザ2aの第1アバター4aと、第2ユーザ2bの第2アバター4bとの間でコミュニケーションを取ろうとする所与のリクエスト(以下、コミュニケーションリクエストと呼称する。)を検出する。第1アバター4aは、第1ユーザ2aがリアルタイムで操作しているアバターであり、第2アバター4bは、第2ユーザ2bがリアルタイムで操作しているアバターである。
【0088】
リクエストの検出は、第1アバター4aと第2アバター4bとに係る所与のリクエスト条件を満たしたことをもってなされる。「リクエスト条件」は、第1ユーザ2aから第2ユーザ2bへの「依頼」と、当該依頼に対する第2ユーザ2bへの「承認」とが成されたことを条件の1つとする。
【0089】
第1ユーザ2aから第2ユーザ2bへの「依頼」は、(1)第1アバター4aによる第2アバター4bに対する行動、挙動、相対位置、相対向きについてのサブ条件の1つ又は複数を組み合わせて記述される「依頼成立条件」を満たすことと、(2)第1ユーザ2aによる外部コミュニケーションで使用するアプリの選択と、で成立する。
【0090】
「依頼成立条件」として、例えば、第1アバター4aが「呼びかけ」の行動をする(又は当該行動を実行させるコマンドを第1ユーザ2aが操作入力した)としてもよい。第1アバター4aが第2アバター4bから所定距離範囲(例えば、手を伸ばせば届く距離内、など)に位置して、且つ第1アバター4aが第2アバター4bから見て所定の正面方向に位置して、且つ呼びかけの行動をすること、といったように複数のサブ条件で記述してもよい。
【0091】
第1ユーザ2aのユーザ端末1500aでは、依頼成立条件を構成する行動(又は挙動;
図6の例では呼びかけの行動)をアバターにさせるコマンドを入力する際、所定のサブ操作を同時に行うと(例えば、所定の操作ボタンを押す、などをすると)オプション選択画面W61が表示される。
【0092】
オプション選択画面W61は、コミュニケーションの依頼をするに当たり、どの方法でコミュニケーションを取るかを第1ユーザ2aが選択するための画面であって、1つ又は複数の選択肢別にチェックボックスを表示し、何れかの選択を受け付ける。オプション選択画面W61の選択肢は、「仮想空間内チャット」の他に、手続画面W3(
図3参照)で使用可能に設定されたコミュニケーションアプリのうち、設定画面W5(
図5参照)で設定された使用許可条件を満たすコミュニケーションアプリが自動的に選択されて表示される(オプション選択画面W61の1次選択)。
【0093】
「仮想空間内チャット」は、仮想空間サービスが備えるアバター4を介して仮想空間3の中で行うコミュニケーション(内部コミュニケーション)の機能である。仮想空間内チャットと、アプリによる外部コミュニケーションとを比較すると、操作入力可能なデータ種別、操作入力に係る制限、および、入力内容に係る制限、のうちの何れかが異なる。
【0094】
そして、オプション選択画面W61で実行操作アイコン63への操作が検出されると、サーバサイドシステム1010は、第1アバター4aに第2アバター4bへ「呼びかけ」する行動を行わせ、これをもって依頼成立と判定する。
【0095】
依頼が成立すると、サーバサイドシステム1010は、依頼先である第2ユーザ2bの第2ユーザ端末1500bにて承認画面W62を表示させる。
【0096】
承認画面W62は、第1ユーザ2aからコミュニケーションの依頼があったことと、依頼に応じてコミュニケーションを取る場合にどのコミュニケーションアプリを使用するかを通知する通知表示64と、依頼を断る選択肢と、依頼を「承認」する選択肢と、を表示して、第2ユーザ2bによる選択操作を受け付ける。
図6の例では、選択肢別にチェックボックス65を表示しており、第2ユーザ2bは希望する選択肢のチェックボックス65を操作してチェックを入れる。依頼に応じる選択肢が選択操作されると、サーバサイドシステム1010は、依頼に対する「承認」がなされたと判定する。
【0097】
「依頼」と「承認」が成立すると、サーバサイドシステム1010は、第1ユーザ2aと第2ユーザ2bとの間でコミュニケーションを取ろうとする所与のリクエスト条件を満たした、すなわち「コミュニケーションリクエストを検出した」と判定し、第1ユーザ2aと第2ユーザ2bとの間のコミュニケーションが可能な状態に制御するサポート制御を実行する。
【0098】
図7に示すように、サポート制御は、第1ユーザ2aのユーザ端末1500aと、第2ユーザ2bのユーザ端末1500bとのそれぞれで実行される。サポート制御として、「アクセス情報の交換」「アプリの起動準備」「アプリの起動」「コミュニケーション開始手続準備」の各手続が自動的に実行される。
【0099】
本実施形態では、自動的な実行は、ユーザ端末1500のOS(Operating System)の一部として提供されているAPI(Application Programming Interface)を用いて記述された自動化スクリプト(以下、総括して言う場合、単にスクリプトという。)を実行して実現することとする。
【0100】
サポート制御に係る各手続については、各手続で実行するべき内容がアプリによって異なるので、これらの手続に対応するスクリプトはアプリ別に用意する。
【0101】
例えば、コミュニケーションアプリαが、プログラムのインストールを必要とするタイプであれば、「アプリの起動準備」として、当該プログラムを配布するウェブサイトに自動アクセスし、インストール手続を自動実行する。インストールの際には、必要に応じて通知画面W7を表示してユーザ承認を求める。
【0102】
通知画面W7は、外部コミュニケーションで使用される使用アプリのアプリ名(
図7の例では「コミュニケーションアプリα」)と、コミュニケーションアプリのインストールが必要なこと、インストールについて承認の必要があること、を通知するとともに、承認操作アイコン71を表示する。そして、承認操作アイコン71への操作入力を検出すると、当該コミュニケーションアプリをインストールする。その後、「アプリの起動」として、インストールされたコミュニケーションアプリを自動起動させて、アクティブ化させる。
【0103】
コミュニケーションアプリαがウェブアプリであれば、「アプリの起動準備」としてウェブブラウザを自動起動して所定のウェブサイトにアクセスさせる。ウェブアプリの多くがそうである様に所定のウェブサイトにアクセスするとウェブアプリはウェブブラウザ上で実質的に起動状態およびアクティブとなるので、これをもって「アプリの起動」とする。
【0104】
「コミュニケーション開始手続準備」として、アカウント登録が必要なコミュニケーションアプリの場合は、手続画面W3(
図3参照)のアクセス情報入力欄25で入力された当該コミュニケーションアプリのアクセス情報を用いてアカウント登録・ユーザ認証を済ませる。もし、アクセス情報が未登録であれば、アカウント登録を自動実行する。アカウント名は、別途、ユーザ端末1500にて入力画面を表示して、ユーザに入力を求めるとしてもよい。
【0105】
使用するコミュニケーションアプリのユーザ認証が済めば、第1ユーザ2aのユーザ端末1500aと、第2ユーザ2bのユーザ端末1500bとで相互にアクセス情報を相互提供させる制御を行う。
【0106】
相互提供の後、第1ユーザ2aのユーザ端末1500aでは、当該アプリにおける所定のコミュニケーション開始手続で必要な自動入力を行う。例えば、呼びかけ相手のアカウント名を所定の入力欄へ自動入力する。使用するアプリが、ユーザグループでコミュニケーションするタイプであれば、第1ユーザ2aを一時的に当該ユーザグループに招待する招待コードを所定の入力欄へ自動入力する。コミュニケーションアプリにおいて第1ユーザ2aによる呼びかけ実行の操作入力を待機するだけで、コミュニケーション可能な状態となるところまで自動入力を実行して、サポート制御を終了する。
【0107】
つまり、第1ユーザ2aは、第1アバター4aで第2ユーザ2bへの「呼びかけ」の行動をする際に、所定のオプション機能を発動させることで外部コミュニケーションが可能になる。しかも、使用するコミュニケーションアプリは自動的に起動され、コミュニケーション開始手続も自動的に実行されるので、コミュニケーションアプリを利用したコミュニケーションに円滑に移行することができる。
【0108】
なお、サポート制御については、上述した手続の全てを自動実行しない構成も可能である。例えば、各手続における操作案内を表示させつつ、ユーザ自らに当該手続を行わせるとしてもよい。
【0109】
次に、機能構成について説明する。
図8は、サーバサイドシステム1010の機能構成例を示すブロック図であって、ポータルサーバシステム1100Pとコンテンツサーバシステム1100Gとが担う機能をまとめて示す図である。
【0110】
サーバサイドシステム1010は、機能面でポータルサーバシステム1100Pとコンテンツサーバシステム1100Gとに分けられるが、1つのサーバサイドシステム1010として包括すると、操作入力部100sと、処理部200sと、音出力部390sと、画像表示部392sと、通信部394sと、記憶部500sとを備える構成となる。
【0111】
操作入力部100sは、サーバサイドシステム1010(ポータルサーバシステム1100Pや、コンテンツサーバシステム1100G)の管理のための各種操作を入力するための手段である。例えば、キーボード、タッチパネル、マウス、などがこれに該当する。
【0112】
処理部200sは、例えばCPUやGPU、ASIC、FPGA等の演算回路となるプロセッサの他、ICメモリなどの電子部品によって実現され、操作入力部100sや記憶部500sを含む各機能部との間でデータの入出力制御を行う。そして、所定のプログラムやデータ、操作入力部100sからの操作入力信号などから受信したデータ、等に基づいて各種の演算処理を実行して、サーバサイドシステム1010の動作を統合的に制御する。
【0113】
サーバサイドシステム1010の処理部200sは、仮想空間サービス管理部210と、計時部280sと、音生成部290sと、画像生成部292sと、通信制御部294sとを含む。勿論、これら以外の機能部も適宜含めることができる。
【0114】
仮想空間サービス管理部210は、仮想空間サービスを提供するための各種機能を実現する。例えば、仮想空間サービス管理部210は、ユーザ管理部212と、リクエスト検出部214と、サポート制御部216と、コミュニケーション実行部218と、を有する。
【0115】
ユーザ管理部212は、仮想空間サービスのユーザ登録(アカウント登録)に係る処理及びアカウントに紐付けられる各種情報の記憶管理を行う。また、登録ユーザが仮想空間3で使用するアバター4のカスタマイズ及び管理に係る処理を行う。よって、ユーザ管理部212は、アバター管理部であるともいえる。
【0116】
リクエスト検出部214は、仮想空間3において、第1ユーザ2aの第1アバター4aと第2ユーザ2bの第2アバター4bとの間でコミュニケーションを取ろうとする所与のリクエスト条件を満たしたことを検出する。
【0117】
具体的には、リクエスト検出部214は、第1ユーザ2a又は第1アバター4aから、第2ユーザ2b又は第2アバター4bに対する「依頼」と、当該依頼に対する第2ユーザ2b又は第2アバター4bによる「承認」とが成された場合にリクエスト条件を満たしたと判定する(
図6参照)。また、リクエスト検出部214は、第1アバターによる第2アバターに対する行動、挙動、相対位置、又は、相対向きに基づいてリクエスト条件を満たしたかを判定する。
【0118】
サポート制御部216は、リクエスト検出部214の検出がなされた場合に、第1ユーザ2aの第1ユーザ端末1500aと第2ユーザ2bの第2ユーザ端末1500bとに対してサポート制御を実行する。サポート制御は、コミュニケーションアプリの実行を制御して、コミュニケーションアプリの状態を第1ユーザ2aと第2ユーザ2bとの間のコミュニケーションが可能な状態にサポートする制御である(
図7参照)。
【0119】
具体的には、サポート制御部216は、複数種類のコミュニケーションアプリの中から、選択したコミュニケーションアプリに係るサポート制御を実行する。選択は、(1)複数のコミュニケーションアプリの中から、設定画面W5(
図5参照)にてコミュニケーションアプリ別に予めユーザが設定した使用許可条件を満たすコミュニケーションアプリ(ユーザに予め関連付けられたコミュニケーションアプリ)を1次選択することと、(2)1次選択されたコミュニケーションアプリをオプション選択画面W61(
図6参照)でユーザに提示し、当該画面でのコミュニケーションアプリの選択操作を受け付けて、受け付けたコミュニケーションアプリを2次選択することと、を含む。1次選択又は2次選択のどちらか一方のみとしてもよい。
【0120】
1次選択に係る使用許可条件は、第1アバターの状況、第2アバターの状況、第1アバターと第2アバターとの間の状況、のうちの何れかの状況について記述されているので、サポート制御部216は、それらの状況に基づいてコミュニケーションアプリを選択し、選択したコミュニケーションアプリに係るサポート制御を行う、ということができる。
【0121】
また、1次選択に係る使用許可条件は、リクエストが検出された時の、第1アバターの位置、および/又は、第2アバターの位置、についての条件として記述されているので、サポート制御部216は、それらの位置に基づいてコミュニケーションアプリを選択し、選択したコミュニケーションアプリに係るサポート制御を行う、ということができる。
【0122】
また、1次選択に係る使用許可条件は、複数種類のコミュニケーションアプリそれぞれに係る第1ユーザの利用情報および/又は第2ユーザの利用情報、についての条件として記述されているのでサポート制御手段は、それらの利用情報に基づいてコミュニケーションアプリを選択し、選択したコミュニケーションアプリに係るサポート制御を行う、ということができる。
【0123】
また、アプリを選択した後については、サポート制御部216は、選択したコミュニケーションアプリをユーザ端末1500に通知する制御を、サポート制御に含めて実行する(
図6の通知表示64を参照)。
【0124】
そして、サポート制御部216は、第1ユーザ端末1500a又は第2ユーザ端末1500bにおいて、(1)選択したコミュニケーションアプリがインストールされていない場合に当該コミュニケーションアプリのインストールに関する制御、(2)選択したコミュニケーションアプリが起動していない場合にコミュニケーションアプリの起動に関する制御、をサポート制御に含めて実行する。
【0125】
選択したコミュニケーションアプリ(使用アプリ)が、コミュニケーションを取るユーザグループの設定を要する場合、サポート制御部216は、第1ユーザと第2ユーザとがユーザグループでコミュニケーション可能な状態となるように制御することをサポート制御に含めて実行する。
【0126】
コミュニケーション実行部218は、仮想空間3において、アバター4を介してユーザ間でコミュニケーションを取る制御を実行する。本明細書でいうところの仮想空間内チャットによる内部コミュニケーション機能の制御がこれに該当する。なお、「仮想空間内チャット」の呼称はこれに限らない。
【0127】
計時部280sは、システムクロックを利用して現在日時や制限時間等の各種計時を行う。
【0128】
音生成部290sは、音声データの生成やデコードをするICやソフトウェアの実行により実現される。音生成部290sは、生成した音声信号を音出力部390sへ出力する。音出力部390sは、スピーカ等により実現され、音声信号に基づいて放音する。
【0129】
画像生成部292sは、サーバサイドシステム1010のシステム管理のための各種管理画面の画像生成を行い、画像データを画像表示部392sに出力する。また、ユーザ端末1500にて表示させる画像の一部又は全部の生成を行う。画像表示部392sは、フラットパネルディスプレイや、ヘッドマウントディスプレイ、プロジェクターなど、画像を表示させる装置で実現される。
【0130】
通信制御部294sは、データ通信に係るデータ処理を実行し、通信部394sを介して外部装置とのデータのやりとりを実現する。通信部394sは、ネットワーク9と接続して通信を実現する。例えば、無線通信機、モデム、TA(ターミナルアダプタ)、有線用の通信ケーブルのジャックや制御回路等によって実現される。
図1の例では通信装置1153がこれに該当する。
【0131】
記憶部500sは、処理部200sにサーバサイドシステム1010を統合的に制御させるための諸機能を実現するためのプログラムや各種データ等を記憶する。また、記憶部500sは、処理部200sの作業領域として用いられ、処理部200sが各種プログラムに従って実行した演算結果などを一時的に記憶する。この機能は、例えばRAMやROMなどのICメモリ、ハードディスク等の磁気ディスク、CD-ROMやDVDなどの光学ディスク、オンラインストレージなどによって実現される。
図1の例では、ポータルサーバシステム1100Pやコンテンツサーバシステム1100Gの本体装置が搭載するICメモリ1152やハードディスクなどの記憶媒体がこれに該当する。オンラインストレージを記憶部500sに含めてもよい。
【0132】
図9は、記憶部500sが記憶するプログラムやデータの例を示す図である。
記憶部500sは、サーバプログラム501と、配信用クライアントプログラム503と、仮想空間初期設定データ510と、コミュニケーションアプリ登録データ520と、ユーザ管理データ600と、リクエスト検出条件データ620と、仮想空間制御データ700と、現在日時900と、を記憶する。なお、記憶部500sは、その他のプログラムやデータ(例えばタイマーや、カウンタ、各種フラグ、など)も適宜記憶する。
【0133】
サーバプログラム501は、仮想空間サービス管理部210としての機能を実現させるためのプログラムである。
【0134】
配信用クライアントプログラム503は、ユーザ端末1500へ提供されて実行される仮想空間サービスに係るクライアントプログラムのオリジナルである。
【0135】
仮想空間初期設定データ510は、仮想空間3に係る各種初期設定データを格納する。仮想空間3を構成するための各種のオブジェクトのデータとそれらの配置データ、仮想空間3のマップデータ、仮想空間3の座標系における仮想スポット6の基準点又は範囲を特定するデータ、仮想スポット6とコンテンツIDとの対応づけデータ、アバター4のカスタム素材データ、などである。勿論、これら以外のデータも適宜含めることができる。
【0136】
コミュニケーションアプリ登録データ520は、コミュニケーションアプリ毎に用意され、当該コミュニケーションアプリに係る各種データを格納する。1つのコミュニケーションアプリ登録データ520は、例えば
図10に示すように、アプリ名521と、制限事項説明用データ522と、タイプ523と、サポート制御用スクリプト群530と、を含む。勿論、これら以外のデータも適宜含めることができる。
【0137】
制限事項説明用データ522は、制限事項表示画面W4(
図4参照)での表示を実現するためのテキストデータや画像データである。
【0138】
タイプ523は、コミュニケーションアプリを起動するためにインストールを必要とするインストール型であるか、特定のウェブサイトにアクセスすれば起動できるようになるウェブアプリ型であるか、を示す。
【0139】
サポート制御用スクリプト群530は、ユーザ端末1500にて、コミュニケーションアプリの状態を第1ユーザと第2ユーザとの間でのコミュニケーションが可能な状態とさせるために、サーバサイドシステム1010からの要求に応じて自動的に実行させるためのスクリプト(自動実行用のプログラム)を格納する。
【0140】
サポート制御用スクリプト群530は、例えば、
(1)コミュニケーションアプリのインストールを自動実行させるインストールスクリプト531と、
(2)コミュニケーションアプリのアプリユーザとしてのアカウント登録を自動実行させるアカウント登録スクリプト532と、
(3)コミュニケーションアプリにおけるユーザの利用情報(例えば、フレンドリスト、利用頻度、ユーザ歴、など)を自動取得する利用情報取得スクリプト533と、
(4)ユーザ端末1500にインストールされているコミュニケーションアプリを自動起動させるインストール済アプリ起動スクリプト534と、
(5)コミュニケーションアプリがウェブアプリである場合に、当該コミュニケーションアプリを自動起動させるためにインターネットに接続して所定のウェブサイトに自動接続し、ウェブアプリを起動させるウェブ接続起動スクリプト535と、
(6)コミュニケーションアプリにおいてコミュニケーションを開始する手続を自動実行(自動入力を含む。)させるコミュニケーション開始スクリプト536と、
を含む。勿論、アプリのルールに応じて、これら以外のスクリプトも適宜含めることができる。
【0141】
図9に戻って、ユーザ管理データ600は、仮想空間サービスの登録ユーザ別に用意され、当該登録ユーザに係る各種データを格納する。1つのユーザ管理データ600は、例えば
図11に示すように、ユーザアカウント601と、アバター設定データ603と、仮想空間サービス利用情報605と、使用許可アプリ設定データ610と、を含む。勿論、これら以外のデータも適宜含めることができる。
【0142】
使用許可アプリ設定データ610は、コミュニケーションアプリ登録データ520に登録されているコミュニケーションアプリ毎に用意され、コミュニケーションアプリを外部コミュニケーションのツールとして使用する/しない、使用する場合はどのような状況に限るか、などの関連する各種データを格納する。
【0143】
具体的には、使用許可アプリ設定データ610は、アプリ名611と、コミュニケーションアプリを仮想空間サービス外でのコミュニケーションに使用する/しないを示す使用フラグ612と、手続画面W3のアクセス情報入力欄25で入力された内容を格納するアクセス情報613と、コミュニケーションアプリのアプリユーザとしての利用情報であるアプリ利用情報614と、使用許可条件データ615と、を含む。勿論、これら以外のデータも適宜含めることができる。アクセス情報613は、手続画面W3(
図3参照)のアクセス情報入力欄25に入力された内容を格納する。使用許可条件データ615は、設定画面W5(
図5参照)にてチェックボックス52にチェックされた条件を示すデータである。
【0144】
図9に戻って、リクエスト検出条件データ620は、リクエストの検出を判定するために満たされるべき条件を定義する。例えば、第1アバター4aの行動についての行動サブ条件621、第1アバター4aの挙動についての挙動サブ条件622、第1アバター4aと第2アバター4bとの相対位置についての相対位置サブ条件623、第1アバター4aと第2アバター4bとの相対向きについての相対向きサブ条件624、の1つ又は複数のANDやORで組み合わせて記述される。なお、これらのサブ条件の1つ又は複数を設定無し、或いは実質的に設定無しに相当する内容としてもよい。また、行動・挙動については、それらをアバター4に実行させるための操作入力コマンドについてのサブ条件に代えることとしてもよい。
【0145】
仮想空間制御データ700は、仮想空間3を制御・管理するための各種データを格納する。
仮想空間制御データ700には、ユーザ別のアバター管理データ710を含む。アバター管理データ710は、例えば、アバターID、ユーザアカウント、仮想空間3における位置座標と姿勢、行動や挙動を制御するための動作制御データ、利用中コンテンツID、などを格納する。勿論、これら以外のデータも適宜格納してもよい。
【0146】
図12は、ユーザ端末1500の機能構成例を示す機能ブロック図である。ユーザ端末1500は、操作入力部100と、端末処理部200と、音出力部390と、画像表示部392と、通信部394と、端末記憶部500と、を備える。
【0147】
操作入力部100は、ユーザによってなされた各種の操作入力に応じた操作入力信号を端末処理部200に出力する。例えば、プッシュスイッチや、ジョイスティック、タッチパッド、トラックボール、加速度センサ、ジャイロ、などによって実現できる。
【0148】
端末処理部200は、例えばCPUやGPU等のマイクロプロセッサや、ICメモリなどの電子部品によって実現され、操作入力部100や端末記憶部500を含む各機能部との間のデータ入出力の制御を行う。そして、所定のプログラムやデータ、操作入力部100からの操作入力信号、サーバサイドシステム1010から受信した各種データに基づいて各種の演算処理を実行して、ユーザ端末1500の動作を制御する。
【0149】
端末処理部200は、クライアント制御部260と、計時部280と、音生成部290と、画像生成部292と、通信制御部294と、を有する。
【0150】
クライアント制御部260は、仮想空間サービスシステム1000におけるゲームクライアントとしての制御として、ユーザ端末1500をMMIF(マン・マシン・インターフェース)として機能させる各種制御を行う。具体的には、クライアント制御部260は、操作入力情報提供部261と、表示制御部262と、スレーブ制御部263と、を有する。
【0151】
操作入力情報提供部261は、操作入力部100からの入力に応じて操作入力情報をサーバサイドシステム1010へ送信する制御を行う。
【0152】
表示制御部262は、サーバサイドシステム1010から受信したデータに基づいて各種画像を表示させるための制御を行う。
【0153】
スレーブ制御部263は、サポート制御用スクリプト群530(
図10参照)のスクリプトを実行するサーバサイドシステム1010からの要求に応じて、当該ユーザ端末1500のユーザによる操作入力無しに、要求された内容の処理を実行する。つまり、サーバサイドシステム1010による遠隔制御を受け入れて実行する。
【0154】
計時部280は、システムクロックを利用して現在日時や制限時間等の計時を行う。
【0155】
音生成部290は、例えばデジタルシグナルプロセッサ(DSP)や、音声合成ICなどのプロセッサ、音声ファイルを再生可能なオーディオコーデック等によって実現され、楽曲や効果音、各種操作音の音信号を生成し、音出力部390に出力する。音出力部390は、スピーカなど音生成部290から入力される音信号に基づいて音出力(放音)する装置によって実現される。
【0156】
画像生成部292は、クライアント制御部260の制御に基づく画像を画像表示部392へ表示させる画像信号を生成・出力する。
図1の例では、制御基板1550に搭載されるGPU(Graphics Processing Unit)や、グラフィックコントローラ、グラフィックボード、などがこれに該当する。画像表示部392は、フラットパネルディスプレイや、ヘッドマウントディスプレイ、プロジェクターなど、画像を表示させる装置で実現される。
【0157】
通信制御部294は、データ通信に係るデータ処理を実行し、通信部394を介して外部装置とのデータのやりとりを実現する。
【0158】
通信部394は、ネットワーク9と接続して通信を実現する。例えば、無線通信機、モデム、TA(ターミナルアダプタ)、有線用の通信ケーブルのジャックや制御回路等によって実現される。
図1の例では通信モジュール1553がこれに該当する。
【0159】
端末記憶部500は、端末処理部200に所与の機能を実現させるためのプログラムや、各種データ等を記憶する。また、端末処理部200の作業領域として用いられ、端末処理部200が各種プログラムに従って実行した演算結果や操作入力部100から入力される入力データ等を一時的に記憶する。こうした機能は、例えばRAMやROMなどのICメモリ、ハードディスク等の磁気ディスク、CD-ROMやDVDなどの光学ディスクなどによって実現される。
図1の例では、制御基板1550が搭載するICメモリ1552がこれに該当する。
【0160】
具体的には、端末記憶部500は、ユーザ端末1500を仮想空間サービス用のクライアント制御部260として機能させるためのクライアントプログラム800(アプリケーションプログラム)と、コミュニケーションアプリプログラム801と、仮想空間サービスの利用データである仮想サービスクライアントデータ810と、コミュニケーションアプリの利用データであるアプリ別クライアントデータ812と、現在日時900と、を記憶する。勿論、これら以外のデータも適宜記憶できる。
【0161】
仮想サービスクライアントデータ810は、仮想空間サービスのユーザとしてのユーザアカウントや、パスワード、利用情報(ユーザ管理データ600の仮想空間サービス利用情報605の写し、又はオリジナル)、を格納する。
アプリ別クライアントデータ812は、アプリユーザとしてのユーザアカウントや、パスワード、招待コード、利用情報、を格納する。
【0162】
図13は、サーバサイドシステム1010が実行する仮想空間サービスに係る処理の流れを説明するためのフローチャートである。
サーバサイドシステム1010は、通信接続されているユーザ端末1500からユーザ登録のリクエストを受信すると(ステップS10のYES)、ユーザ登録処理とアバター設定処理とを実行する(ステップS12)。そして、手続画面W3(
図3参照)を当該ユーザ端末1500にて表示させて、外部コミュニケーションのツールとして使用を許可するコミュニケーションアプリの設定を行う(ステップS14)。ステップS14に係りユーザにより選択・入力された内容は、当該ユーザに使用許可アプリ設定データ610(
図11参照)として保存される。
【0163】
次に、サーバサイドシステム1010は、通信接続されているユーザ端末1500からログインリクエストを受信すると(ステップS20のYES)、ログイン処理を実行して(ステップS22)、ログインユーザのアバター4を仮想空間3の中に配置して、仮想空間サービスの提供を開始する(ステップS24)。
【0164】
次いで、サーバサイドシステム1010は、手続画面W3(
図3参照)で使用可能に設定したコミュニケーションアプリ別に、当該コミュニケーションアプリでの利用情報を取得し、ログインユーザのアプリ利用情報614(
図11参照)を更新する(ステップS26)。
【0165】
サーバサイドシステム1010は、各アバター4に係りコミュニケーションリクエストの検出を監視しており、当該リクエストを検出するとサポート制御を実行する。
【0166】
具体的には、サーバサイドシステム1010は、仮想空間3に配置したアバター4のうち所与の「依頼成立条件」を満たしたアバターを検出すると(ステップS40のYES)、当該アバターを「第1アバター4a」、当該アバターの行動の対象となった他アバターを「第2アバター4b」と見なし(
図6参照)、第1ユーザ2aの第1ユーザ端末1500aにてオプション選択画面W61を表示させ、コミュニケーション方法の選択を受け付ける(ステップS42)。
【0167】
オプション選択画面W61の表示のため、サーバサイドシステム1010は、第1ユーザ2aに関するユーザ管理データ600を参照し、使用フラグ612が「1」のアプリを検索する。更にその中から使用許可条件データ615が示す使用許可条件を満たしているコミュニケーションアプリを絞り込む(オプション選択画面W61の選択肢の1次選択)。そして、絞り込んだコミュニケーションアプリと仮想空間内チャットとを選択肢として、オプション選択画面W61を表示させる。
【0168】
オプション選択画面W61で仮想空間内チャットが選択された場合(ステップS44の仮想空間内チャット)、サーバサイドシステム1010は、仮想空間内チャットによる第1アバター4aと第2アバター4bとの間のコミュニケーションを開始する(ステップS46)。
【0169】
オプション選択画面W61でコミュニケーションアプリの何れかが選択された場合(ステップS44の外部コミュニケーション)、当該コミュニケーションアプリを使用アプリとして選択する(2次選択)。そして、サーバサイドシステム1010は第2ユーザ2bのユーザ端末1500bにて承認画面W62(
図6参照)を表示させ、第2ユーザ2bによる承認/非承認の選択操作を受け付ける。
【0170】
承認画面W62にて非承認が選択されると(ステップS50のNO)、サーバサイドシステム1010は、第1ユーザ2aのユーザ端末1500aにて、コミュニケーションの依頼が断られた旨の所定の不成立通知を表示させる(ステップS52)。
【0171】
承認画面W62において承認操作の入力を検出すると(ステップS50のYES)、サーバサイドシステム1010は、「承認」が成立したと見なす。すなわち「依頼」と「承認」とが成立したので外部コミュニケーションを取るリクエストが検出されたと判定する。そして、第1ユーザ2a、第1アバター4a、第2ユーザ2b、第2アバター4bを対象として、オプション選択画面W61で選択されたコミュニケーションアプリを「使用アプリ」とみなしてサポート制御処理を実行する(ステップS54)。
【0172】
図14は、サポート制御処理の流れを説明するためのフローチャートである。
サポート制御処理において、サーバサイドシステム1010は、先ず使用アプリが、インストール型かウェブアプリ型かを判定する。
【0173】
前者の場合(ステップS60のインストール型)、サーバサイドシステム1010は、第1ユーザ2aのユーザ端末1500aおよび第2ユーザ2bのユーザ端末1500bのそれぞれからインストールされているアプリ一覧を取得し(ステップS62)、使用アプリがインストールされていないユーザ端末1500にて、当該コミュニケーションアプリのインストールを実行させる(ステップS64)。
【0174】
次に、サーバサイドシステム1010は、第1ユーザ2aのユーザ端末1500aおよび第2ユーザ2bのユーザ端末1500bそれぞれから起動中アプリの一覧を取得する(ステップS66)。そして、使用アプリが起動していないユーザ端末1500で使用アプリを自動起動させ(ステップS68)、使用アプリがアクティブ化されていないユーザ端末1500にて使用アプリを自動でアクティブ化させる(ステップS70)。
【0175】
次に、サーバサイドシステム1010は、使用アプリでのユーザ認証(ログイン手続)を自動実行させる(ステップS72)。その際、第1ユーザ2aと第2ユーザ2bのうち、使用アプリでのアカウントが未登録のユーザについては自動アカウント登録を実行させる。
【0176】
次いで、サーバサイドシステム1010は、第1ユーザ2aの第1ユーザ端末1500aへ、使用アプリにおける第2ユーザ2bのアクセス情報を提供し、第2ユーザ2bの第2ユーザ端末1500bへ、使用アプリにおける第1ユーザ2aのアクセス情報を提供する(ステップS74)。
【0177】
次いで、サーバサイドシステム1010は、第1ユーザ2aのユーザ端末1500aにて、コミュニケーション相手のアカウント入力欄に第2ユーザ2bのアカウントを自動入力する処理や、第2ユーザ2bが所属するユーザグループに第1ユーザ2aが招待されるための紹介コードの自動入力処理などを行わせる(ステップS76)。
【0178】
ステップS76を終えると、第1ユーザ2aのユーザ端末1500aでは、使用アプリのコミュニケーション開始操作の入力待ちの状態となっている。第2ユーザ2bのユーザ端末1500bでは、使用アプリがアクティブ化しており、第1ユーザ2aからの最初のメッセージを待っている状態となっている。第1ユーザ2aが、コミュニケーション開始操作を入力さえすれば、第1ユーザ2aと第2ユーザ2bとの間で外部コミュニケーションが開始されることとなる。
【0179】
以上より、仮想空間サービスシステム1000は、仮想空間サービスの運営側が望むルールを維持しつつ、仮想空間サービスで出会ったユーザ同士が当該ルールに縛られないコミュニケーションを取る機会を提供できる。
すなわち、サーバサイドシステム1010は、仮想空間サービスにおける第1ユーザおよび第2ユーザに対して、それぞれのユーザ端末1500で仮想空間サービスの外で実行されるコミュニケーションアプリの実行を制御して、両者間でコミュニケーションが可能な状態にまで円滑にサポートするサポート制御を実行することができる。これによって、仮想空間サービスにおける第1ユーザと第2ユーザとは、仮想空間サービスを利用した状態から当該仮想空間サービス外でのコミュニケーションに円滑に移行することができるようになる。
【0180】
〔第2実施形態〕
次に、本発明の第2実施形態について説明する。
本実施形態は、基本的には第1実施形態と同様に実現されるが、仮想空間3に不参加のユーザ2のアバターを、リアルタイムに操作していないダミーアバターとして仮想空間3に配置することと、第2アバター4bがダミーアバターであってもサポート制御を実行することとが、第1実施形態と異なる。なお、第2実施形態の説明においては、第1実施形態との差異について主に述べることし、第1実施形態と同様の構成要素については第1実施形態と同じ符号を付与して重複する説明を省略する。
【0181】
図15は、第2実施形態におけるサーバサイドシステム1010Bの機能構成例を示す機能ブロック図である。サーバサイドシステム1010Bは、仮想空間サービス管理部210に、ダミーアバター制御部220を有する。
【0182】
ダミーアバター制御部220は、仮想空間サービスの登録ユーザであるがその時点では仮想空間3に参加していない不参加ユーザが対応づけられた人の形をした人型オブジェクトを配置する。当該人型オブジェクトを「ダミーアバター」という。
【0183】
具体的には、ダミーアバター制御部220は、仮想空間3に参加しているユーザ2(参加ユーザ)の数、或いは参加ユーザのアバター4の数が、所与の基準値未満になると、ダミーアバターを生成して、これを仮想空間3に配置し、あたかもユーザが操作しているかのようにその動作を自動制御する。ダミーアバターとなる人型オブジェクトは、不参加ユーザのアバター4のコピー、その一部を流用して作成したカスタム、であってもよい。或いは、アバター4に基づいて全く新規に生成してもよい。そして、ダミーアバター制御部220は、ダミーアバター毎に不参加ユーザの何れかを対応づけて管理する。
【0184】
これに伴い、仮想空間制御データ700(
図9参照)のアバター管理データ710には、ダミーアバターのデータも含まれることとなる。アバター管理データ710は、ダミーアバターであることを示すフラグを含む。
【0185】
サーバサイドシステム1010Bが実行する仮想空間サービスに係る処理の流れは、基本的には第1実施形態におけるサーバサイドシステム1010が実行する処理の流れを説明するためのフローチャートと同じである(
図13、
図14参照)。但し、ダミーアバターも参加ユーザのアバター4と同様に扱われる。よって、第2アバター4bがダミーアバターである場合、第2ユーザ2bは、不参加ユーザということになる。不参加ユーザであっても、実在するユーザであることにはかわりない。
【0186】
第2実施形態によれば、第1実施形態と同様の効果が得られるとともに、ユーザ同士の出会いの機会を不参加ユーザにも拡大できる。
【0187】
〔変形例〕
以上、本発明を適用した実施形態の例について説明したが、本発明を適用可能な形態は上記形態に限定されるものではなく適宜構成要素の追加・省略・変更を施すことができる。
【0188】
(変形例その1)
例えば、上記実施形態では、外部コミュニケーションで使用するコミュニケーションアプリが、第1ユーザ2aに基づいて選択されることとして説明した。具体的には、第1ユーザ2aが使用可能に設定したコミュニケーションアプリの中から、第1ユーザ2aが設定した使用許可条件を満たすコミュニケーションアプリが1次選択されてオプション選択画面W61(
図6参照)にて第1ユーザ2aに提示される。次いで、第1ユーザ2aがオプション選択画面W61(
図6参照)で使用アプリとして何れかを選択したかによって、使用アプリを2次選択した。しかし、これに限らない。
【0189】
外部コミュニケーションで使用するコミュニケーションアプリに係る選択を、第2ユーザ2bの操作入力や第2ユーザ2bのデータに基づいて行ってもよい。具体的には、第2実施形態のステップS42では、
図16に示すように、第1ユーザ2aのユーザ端末1500aでオプション選択画面W61は表示させず、代わりに第2ユーザ2bのユーザ端末1500bにて承認画面W62Bとオプション選択画面W61Bとを表示させる。第2実施形態のステップS44では、オプション選択画面W61Bの操作入力の結果に基づいて判定される。
【0190】
そして、ステップS44において、第2ユーザ2bによって承認画面W62Bで「承認」する選択が操作入力されたならば、
図17に示すように、サーバサイドシステム1010Bは、第1ユーザ2aのユーザ端末1500aにて、第1ユーザ2aに向けた通知画面W7Bを表示させる。通知画面W7Bは、インストールの承認操作アイコン71と、使用アプリを通知する使用アプリ通知73と、を表示し、インストールの承認を得るための画面を兼ねてもよい。
【0191】
(変形例その2)
上記実施形態では、外部コミュニケーションのアプリが、ユーザグループを作成して、グループチャットとしてコミュニケーションを実現する場合、第1ユーザ2aを、第2ユーザ2bの所属するユーザグループに一時的に招待するとして説明したが、招待はせずに、第1ユーザ2aと第2ユーザ2bとで新たなユーザグループを作成するとしてもよい。
【0192】
(変形例その3)
上記実施形態では、第1ユーザ2a自らが第2ユーザ2bを選択することとした。これを、サーバサイドシステム1010が第1ユーザ2aへ第2ユーザ2bの候補を提示し、第1ユーザ2aが当該候補の中から第2ユーザ2bを選択する構成としてもよい。
【0193】
例えば、サーバサイドシステム1010は、第1ユーザ2aの第1ユーザ端末1500aにて所定の候補リクエスト操作がなされたことを検出すると、第1アバター4aから所定範囲内の第2アバター4bを検索し、検索された第2アバター4bの第2ユーザ2bを候補として、第1ユーザ端末1500aに表示させる。そして、第1ユーザ2aによる何れかの候補の選択を受け付けると、第1ユーザ2aが依頼成立条件を満たしたとみなして、ステップS40以降を実行する、としてもよい。
【0194】
(変形例その4)
上記実施形態では、サポート制御として、アプリの自動インストール(
図14のステップS64)と、アプリの自動起動(
図14のステップS68)とを実行したがこれに限らない。例えば、インストールの自動実行に代えて、インストール自体はユーザ自らが行うように案内表示を行うサポート制御としてもよい。当該案内表示では、インストールするためのリンク情報(例えば、アプリダウンロードが可能なウェブサイトのURLなどのリンク)を含めると好適である。また、例えば、アプリの自動起動に代えて、起動操作をユーザ自らが行うように促すサポート制御としてもよい。
【0195】
(変形例その5)
上記実施形態では、外部コミュニケーションは、コミュニケーションアプリの種類によって、操作入力可能なデータ種別、操作入力に係る制限、および、入力内容に係る制限内容が異なり、それらがアプリの種類毎に固定されていることを前提に説明したがこれに限らない。
【0196】
例えば、外部コミュニケーションのアプリの仕様において、ユーザの利用状況に応じて制限内容が変化する場合には、サーバサイドシステム1010は、制限事項表示画面W4(
図4参照)の表示制御に係り(
図14のステップS42参照)、制限事項表示42の内容を当該アプリの外部サーバシステム1900(
図1参照)へ照会する制御を行うとしてもよい。
【0197】
また例えば、外部コミュニケーションのアプリの仕様において、ユーザ自らが制限内容を設定できる場合には、ステップS70(
図14参照)の後に、サーバサイドシステム1010が指定する制限内容を決定して、これを当該アプリに自動設定するステップを追加してもよい。なお、指定する制限内容については、第1ユーザ2aの仮想空間サービスの利用状況(例えば、利用回数、利用頻度、仮想空間サービス内での課金履歴、など)に基づいて、決定するとしてもよい。
【符号の説明】
【0198】
2…ユーザ
2a…第1ユーザ
2b…第2ユーザ
3…仮想空間
4…アバター
4a…第1アバター
4b…第2アバター
200s…処理部
210…仮想空間サービス管理部
212…ユーザ管理部
214…リクエスト検出部
216…サポート制御部
218…コミュニケーション実行部
220…ダミーアバター制御部
260…クライアント制御部
263…スレーブ制御部
500s…記憶部
501…サーバプログラム
520…コミュニケーションアプリ登録データ
530…サポート制御用スクリプト群
600…ユーザ管理データ
605…仮想空間サービス利用情報
610…使用許可アプリ設定データ
613…アクセス情報
614…アプリ利用情報
615…使用許可条件データ
620…リクエスト検出条件データ
700…仮想空間制御データ
710…アバター管理データ
800…クライアントプログラム
801…コミュニケーションアプリプログラム
1000…仮想空間サービスシステム
1010…サーバサイドシステム
1500…ユーザ端末
1900…外部サーバシステム
W3…手続画面
W4…制限事項表示画面
W5…設定画面
W61、W61B…オプション選択画面
W62、W62B…承認画面
W7、W7B…通知画面