(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024008350
(43)【公開日】2024-01-19
(54)【発明の名称】コンピュータシステム、サービス提供システム、およびサービス提供制御方法
(51)【国際特許分類】
G06Q 50/10 20120101AFI20240112BHJP
A63F 13/79 20140101ALI20240112BHJP
A63F 13/86 20140101ALI20240112BHJP
H04N 21/234 20110101ALI20240112BHJP
【FI】
G06Q50/10
A63F13/79
A63F13/86
H04N21/234
【審査請求】未請求
【請求項の数】23
【出願形態】OL
(21)【出願番号】P 2022110159
(22)【出願日】2022-07-08
(71)【出願人】
【識別番号】000134855
【氏名又は名称】株式会社バンダイナムコエンターテインメント
(74)【代理人】
【識別番号】100124682
【弁理士】
【氏名又は名称】黒田 泰
(74)【代理人】
【識別番号】100104710
【弁理士】
【氏名又は名称】竹腰 昇
(74)【代理人】
【識別番号】100090479
【弁理士】
【氏名又は名称】井上 一
(72)【発明者】
【氏名】阿須名 孝次
(72)【発明者】
【氏名】南 清志
(72)【発明者】
【氏名】小倉 建一
(72)【発明者】
【氏名】恩田 明生
(72)【発明者】
【氏名】村井 伸太郎
【テーマコード(参考)】
5C164
5L049
【Fターム(参考)】
5C164FA22
5C164MA03S
5C164SB01P
5C164SC11S
5C164YA11
5L049CC18
(57)【要約】
【課題】ログイン等の一部の手続を省略して仮想空間で用意しているサービスをユーザに提供可能にしつつも、当該ユーザの仮想空間内での存在を維持する新たな技術を提供すること。
【解決手段】サーバサイドシステム1010は、サービスを提供するための仮想スポット6が設定された仮想空間3に参加している参加ユーザによる操作入力に基づいて、当該参加ユーザにサービスを提供する参加ユーザ向け提供制御を実行する。更に、不参加ユーザによる操作入力に基づいて、当該不参加ユーザにサービスを提供する不参加ユーザ向け提供制御を実行する。そして、参加ユーザ向けのサービス提供と不参加ユーザ向けのサービス提供との両方について、仮想スポット6においてサービスの提供状況を表現する表示制御を実行する。
【選択図】
図5
【特許請求の範囲】
【請求項1】
ユーザに所定のサービスを提供する制御を実行するコンピュータシステムであって、
前記サービスを提供するための仮想スポットが設定された仮想空間に参加している参加ユーザによる操作入力に基づいて、当該参加ユーザに前記サービスを提供する制御を実行する参加ユーザ向け提供制御手段と、
前記仮想空間に参加していない不参加ユーザによる操作入力に基づいて、当該不参加ユーザに前記サービスを提供する制御を実行する不参加ユーザ向け提供制御手段と、
前記参加ユーザ向け提供制御手段による前記サービスの提供制御と前記不参加ユーザ向け提供制御手段による前記サービスの提供制御との両方に基づいて、前記仮想空間内の前記仮想スポットにおいて前記サービスの提供状況を表現する表示制御を実行する提供状況表示制御手段と、
を備えるコンピュータシステム。
【請求項2】
前記仮想空間は、前記参加ユーザの操作に基づいて前記参加ユーザの参加ユーザキャラクタが行動可能な空間であり、
前記参加ユーザ向け提供制御手段は、前記参加ユーザによる操作に基づく前記参加ユーザキャラクタの行動に基づいて、当該参加ユーザに前記サービスを提供する制御を実行し、
前記不参加ユーザ向け提供制御手段は、前記不参加ユーザによる前記サービスの提供を希望する旨の直接操作に基づいて、前記不参加ユーザに前記サービスを提供する制御を実行する、
請求項1に記載のコンピュータシステム。
【請求項3】
前記参加ユーザ向け提供制御手段は、前記参加ユーザキャラクタが前記仮想スポットに位置している場合に前記参加ユーザに前記サービスを提供する制御を実行する、
請求項2に記載のコンピュータシステム。
【請求項4】
前記不参加ユーザ向け提供制御手段は、前記サービスの提供を希望する旨の項目を選択する操作に基づいて、前記不参加ユーザに前記サービスを提供する制御を実行する、
請求項2に記載のコンピュータシステム。
【請求項5】
前記不参加ユーザ向け提供制御手段は、前記不参加ユーザの携帯端末に前記項目を表示する制御を行い、前記項目の選択操作に応じて、前記携帯端末をマン・マシン・インターフェースとして前記サービスを提供する制御を実行する、
請求項4に記載のコンピュータシステム。
【請求項6】
前記提供状況表示制御手段は、前記参加ユーザ向け提供制御手段により前記サービスが提供されている前記参加ユーザの前記参加ユーザキャラクタを前記仮想スポットに配置し、且つ、前記不参加ユーザ向け提供制御手段により前記サービスが提供されている前記不参加ユーザの不参加ユーザキャラクタを前記仮想空間に出現させて前記仮想スポットに配置する制御を行う、
請求項2から5の何れか一項に記載のコンピュータシステム。
【請求項7】
前記提供状況表示制御手段は、前記不参加ユーザキャラクタの行動を自動的に制御する、
請求項6に記載のコンピュータシステム。
【請求項8】
前記参加ユーザ向け提供制御手段は、前記参加ユーザキャラクタが前記仮想スポットにおいて所定の挙動条件を満たす挙動をした場合に、前記参加ユーザに前記サービスを提供する制御を実行する、
請求項6に記載のコンピュータシステム。
【請求項9】
前記提供状況表示制御手段は、前記不参加ユーザキャラクタが前記仮想スポットにおいて前記挙動条件を満たす挙動をするように、前記不参加ユーザキャラクタの行動を自動的に制御する、
請求項8に記載のコンピュータシステム。
【請求項10】
前記提供状況表示制御手段は、前記不参加ユーザが前記仮想空間に参加する場合の参加ユーザキャラクタが設定済みの場合には、当該参加ユーザキャラクタを前記不参加ユーザキャラクタとして前記仮想空間に出現させ、設定されていない場合には、前記不参加ユーザキャラクタを自動生成して前記仮想空間に出現させる、
請求項6に記載のコンピュータシステム。
【請求項11】
前記提供状況表示制御手段は、前記サービスの提供状況に応じて、前記参加ユーザキャラクタおよび/又は前記不参加ユーザキャラクタの前記仮想スポットでの配置位置を変更する制御を行う、
請求項6に記載のコンピュータシステム。
【請求項12】
前記提供状況表示制御手段は、前記参加ユーザキャラクタおよび/又は前記不参加ユーザキャラクタを取捨選択して前記仮想スポットに配置する制御を行う、
請求項6に記載のコンピュータシステム。
【請求項13】
前記提供状況表示制御手段は、前記取捨選択において配置しないと判定された前記参加ユーザキャラクタの情報および前記不参加ユーザキャラクタの情報を表示する制御を行う、
請求項12に記載のコンピュータシステム。
【請求項14】
前記提供状況表示制御手段によって実行された表示制御を記録し、当該記録に基づいて前記サービスの提供状況を再現する表示制御を実行する提供状況再現制御手段、
を更に備える請求項6に記載のコンピュータシステム。
【請求項15】
前記サービスは、ゲームであり、
前記参加ユーザおよび前記不参加ユーザであるゲームユーザ毎のゲーム進行状況を取得するゲーム進行状況取得手段と、
前記参加ユーザである閲覧要求ユーザから、閲覧対象ユーザのゲームプレイ映像の閲覧要求を受け付ける閲覧要求受付手段と、
前記閲覧要求ユーザに、前記閲覧対象ユーザのゲームプレイ映像を提供するゲームプレイ映像提供制御手段と、
を更に備える請求項1に記載のコンピュータシステム。
【請求項16】
前記ゲームプレイ映像は、前記仮想スポットにおいて前記閲覧対象ユーザのユーザキャラクタがゲームプレイを行っている様子を第三者視点で撮影した映像、又は、前記閲覧対象ユーザのゲームプレイ画面の映像、である、
請求項15に記載のコンピュータシステム。
【請求項17】
前記閲覧要求ユーザの前記ゲーム進行状況に対して、所与の関連条件を満たす前記ゲーム進行状況であるゲームユーザを前記閲覧対象ユーザとして選択する第1の閲覧対象ユーザ選択手段、
を更に備える請求項15又は16に記載のコンピュータシステム。
【請求項18】
前記ユーザ毎のユーザ情報を管理するユーザ情報管理手段と、
前記閲覧要求ユーザの前記ユーザ情報に対して、所与の関連条件を満たす前記ユーザ情報であるゲームユーザを前記閲覧対象ユーザとして選択する第2の閲覧対象ユーザ選択手段、
を更に備える請求項15又は16に記載のコンピュータシステム。
【請求項19】
前記仮想スポットにおいて、前記閲覧要求ユーザのユーザキャラクタから所与の近距離条件を満たす位置にユーザキャラクタがいるゲームユーザを前記閲覧対象ユーザとして選択する第3の閲覧対象ユーザ選択手段、
を更に備える請求項15又は16に記載のコンピュータシステム。
【請求項20】
前記閲覧対象ユーザは、現在ゲームプレイ中のユーザである、
請求項15又は16に記載のコンピュータシステム。
【請求項21】
前記サービスは、ゲームであり、
前記参加ユーザおよび前記不参加ユーザであるゲームユーザ毎のゲーム進行状況を取得するゲーム進行状況取得手段と、
前記参加ユーザである閲覧要求ユーザから、閲覧対象ユーザのゲームプレイ映像の閲覧要求を受け付ける閲覧要求受付手段と、
を更に備え、
前記提供状況再現制御手段は、前記閲覧要求ユーザに、前記閲覧対象ユーザのゲームプレイ映像を提供状況の前記再現として提供する、
請求項14に記載のコンピュータシステム。
【請求項22】
請求項1から5の何れか一項に記載のコンピュータシステムであるサーバシステムと、
前記ユーザのユーザ端末と、
を具備するサービス提供システム。
【請求項23】
コンピュータシステムが、ユーザに所定のサービスを提供する制御を実行するためのサービス提供制御方法であって、
前記サービスを提供するための仮想スポットが設定された仮想空間に参加している参加ユーザによる操作入力に基づいて、当該参加ユーザに前記サービスを提供する制御を実行する参加ユーザ向け提供制御ステップと、
前記仮想空間に参加していない不参加ユーザによる操作入力に基づいて、当該不参加ユーザに前記サービスを提供する制御を実行する不参加ユーザ向け提供制御ステップと、
前記参加ユーザ向け提供制御ステップでの前記サービスの提供制御と前記不参加ユーザ向け提供制御ステップでの前記サービスの提供制御との両方に基づいて、前記仮想空間内の前記仮想スポットにおいて前記サービスの提供状況を表現する表示制御を実行する提供状況表示制御ステップと、
を含むサービス提供制御方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ユーザに所定のサービスを提供する制御を実行するコンピュータシステム等に関する。
【背景技術】
【0002】
同時に複数のユーザが、各々のアバターを使って3DCG(3 Dimensional Computer Graphics)で構築された仮想空間へ参加して、アバターで仮想空間内を自由に行動し、アバターを介して仮想空間内に用意された様々なサービスを利用できる技術が知られている(例えば、特許文献1を参照)。
【0003】
仮想空間内で提供される「サービス」は、その内容や提供形態によってはコンテンツや、アプリケーションと言い換えることができる。サービスの例としては、例えば、ショッピング、ゲーム、仮想生物の動物園、美術館、ライブ演奏、仮想大学、などが挙げられる。そうした仮想空間は、例えば、オンラインゲームや、仮想商業施設が用意されたVR(Virtual Reality)ショッピングなどとして一部で実用化されており、メタバース(Metaverse)と呼ばれることもある。
【0004】
仮想空間に参加中のユーザ(以降、参加ユーザと呼称)は、互いのアバターの行動を自身のアバターを通じて見ることで、仮想空間内での互いの存在感を得ている。例えば、他のアバターが移動する様子や、買い物をしている様子、ゲーム筐体の前に座ってゲームをプレイしている様子、などを見ることで賑わいを感じ、参加ユーザは他の参加ユーザが仮想空間に存在している「存在感」を感じながら仮想体験を楽しむことができる。
【先行技術文献】
【特許文献】
【0005】
【発明の概要】
【発明が解決しようとする課題】
【0006】
仮想空間内を移動する形態において、ユーザビリティを向上するための様々な仕組みが知られている。
例えば、仮想空間内で何らかのサービスの提供を受ける場合、基本的に、ユーザはサービスが提供される場所までアバターを移動させる必要がある。しかし、ユーザの中にはアバターを移動させることを煩わしく思うユーザもいる。そのため、瞬時に目的地へ移動できる仕組みが知られている。例えば、オンラインゲームなどでは転移魔法や転移装置などと呼ばれるゲーム世界の仕組みとして提供されている。メニューを呼び出して行き先を選択すると場面転換されるゲームの仕様もその一部といえる。
【0007】
仮想空間内の移動を省略する究極的な方法としては、ログイン手続自体を省略して仮想空間内のサービスを直接ユーザに提供する方法が考えられる。例えば、仮想空間内の仮想ゲームセンターで提供されるオンラインゲームがお気に入りになったユーザは、ログインして仮想ゲームセンターまで移動するまでの全ての操作が手間と感じることがあるであろう。また、仮想空間内の仮想ゲームセンターで提供されるオンラインゲームを友人から薦められたユーザは、取りあえずユーザ登録等をせずにオンラインゲームのみを試してみたいと思うであろう。仮想空間内で提供されているサービスをログイン等の一部の手続を省略して享受したいというユーザの要望は、ゲームに限らずその他の種類のサービスについても同様に考えられる。
【0008】
しかし、従来の技術において、仮想空間内で提供されているサービスをログイン等の一部の手続を省略してユーザに提供しようとすると、そのユーザのアバターが仮想空間に存在しない状態になってしまう。仮想空間に参加しているユーザからすると、他のユーザが仮想空間に存在している「存在感」を感じることができなくなり、仮想体験の質が低下しかねない。例えば、仮想空間内でアバターが存在する賑わいが感じられなくなり、仮想空間における仮想体験の質が低下しかねない。
【0009】
本発明が解決しようとする課題は、ログイン等の一部の手続を省略して仮想空間内で提供されているサービスをユーザに提供可能にしつつも、当該ユーザの仮想空間内での存在を表現する新たな技術を提供することである。
【課題を解決するための手段】
【0010】
上記した課題を解決するための第1の発明は、ユーザに所定のサービスを提供する制御を実行するコンピュータシステムであって、
前記サービスを提供するための仮想スポットが設定された仮想空間に参加している参加ユーザによる操作入力に基づいて、当該参加ユーザに前記サービスを提供する制御を実行する参加ユーザ向け提供制御手段(例えば、
図1のポータルサーバシステム1100P、
図9の処理部200s、参加ユーザ向け提供制御部210、
図15のステップS56)と、
前記仮想空間に参加していない不参加ユーザによる操作入力に基づいて、当該不参加ユーザに前記サービスを提供する制御を実行する不参加ユーザ向け提供制御手段(例えば、
図1のポータルサーバシステム1100P、
図9の処理部200s、不参加ユーザ向け提供制御部212、
図14のステップS86で実行される短縮処理における
図18のステップS136)と、
前記参加ユーザ向け提供制御手段による前記サービスの提供制御と前記不参加ユーザ向け提供制御手段による前記サービスの提供制御との両方に基づいて、前記仮想空間内の前記仮想スポットにおいて前記サービスの提供状況を表現する表示制御を実行する提供状況表示制御手段(例えば、
図1のポータルサーバシステム1100P、
図9の処理部200s、提供状況表示制御部214、
図18のステップS102からステップS104、ステップS130からステップS132)と、
を備えるコンピュータシステムである。
【0011】
「参加ユーザ」とは、仮想空間に参加しているユーザであり、参加のための手続き(例えば参加のためにログイン手続が必要であれば、そのログイン手続)を済ませたユーザである。「不参加ユーザ」は、仮想空間に参加していないユーザであり、参加のための手続き(例えばログイン手続)を行っていないユーザである。「仮想スポット」とは、仮想的な店舗や仮想的な会場などの仮想空間における地理的な場所を指している。
【0012】
第1の発明によれば、不参加ユーザに対しても、仮想空間で提供されているサービスが提供可能となり、なおかつ、当該サービスが提供されている仮想スポットにおける不参加ユーザも含めたサービスの提供状況を表現する表示制御がなされることとなる。よって、参加ユーザからしてみれば、不参加ユーザの存在を仮想空間内で視覚的に感じることができる。よって、ログイン等の一部の手続を省略して仮想空間内で提供されているサービスをユーザに提供可能にしつつも、当該ユーザの仮想空間内での存在を表現する新たな技術を提供することが可能となる。
【0013】
第2の発明は、上記のコンピュータシステムにおいて、前記仮想空間が、前記参加ユーザの操作に基づいて前記参加ユーザの参加ユーザキャラクタが行動可能な空間であり、前記参加ユーザ向け提供制御手段は、前記参加ユーザによる操作に基づく前記参加ユーザキャラクタの行動に基づいて、当該参加ユーザに前記サービスを提供する制御を実行し(例えば、
図15のステップS34からステップS56)、前記不参加ユーザ向け提供制御手段は、前記不参加ユーザによる前記サービスの提供を希望する旨の直接操作(例えば、
図5の短縮メニュー画面14におけるサービス選択アイコン16a,16bへの操作)に基づいて、前記不参加ユーザに前記サービスを提供する制御を実行する(例えば、
図18のステップS90からステップS136)、コンピュータシステムである。
【0014】
「参加ユーザキャラクタ」とは、参加ユーザに対応づけられたユーザキャラクタであり、当該参加ユーザの操作入力に基づいて制御されることを基本とするキャラクターオブジェクトである。アバターと呼称されることもある。
【0015】
第2の発明によれば、参加ユーザに対してはそのユーザキャラクタ(参加ユーザキャラクタ)の行動に基づいてサービスの提供を制御する。その一方で、不参加ユーザに対しては、不参加ユーザによるサービスの提供を希望する旨の直接操作に基づいてサービスの提供を制御する。
【0016】
第3の発明は、上記のコンピュータシステムにおいて、前記参加ユーザ向け提供制御手段が、前記参加ユーザキャラクタが前記仮想スポットに位置している場合に前記参加ユーザに前記サービスを提供する制御を実行する(例えば、
図15のステップS32のYES→ステップS56)、コンピュータシステムである。
【0017】
第3の発明によれば、コンピュータシステムは、参加ユーザに対して、参加ユーザキャラクタが仮想スポットに位置している場合にサービスを提供する制御を実行する。よって、不参加ユーザにしてみれば、参加ユーザとなって自身のユーザキャラクタを仮想空間に出現させ、これを所望のサービスを提供する仮想スポットまで移動させる手間が省けることになる。
【0018】
第4の発明は、上記のコンピュータシステムにおいて、前記不参加ユーザ向け提供制御手段が、前記サービスの提供を希望する旨の項目(例えば、
図5の短縮メニュー画面14におけるサービス選択アイコン16)を選択する操作に基づいて、前記不参加ユーザに前記サービスを提供する制御を実行する、コンピュータシステムである。
【0019】
また第5の発明は、上記のコンピュータシステムにおいて、前記不参加ユーザ向け提供制御手段が、前記不参加ユーザの携帯端末に前記項目を表示する制御を行い(例えば、
図18のステップS90)、前記項目の選択操作に応じて、前記携帯端末をマン・マシン・インターフェースとして前記サービスを提供する制御を実行する、コンピュータシステムである。
【0020】
第4又は第5の発明によれば、コンピュータシステムは、不参加ユーザに対して、サービスの提供を希望する旨の項目を選択する操作、例えばメニュー画面からメニュー項目を選択するような操作を直接操作として受け付けてサービスを提供する制御を実行する。よって、不参加ユーザにしてみれば、仮想スポットにユーザキャラクタを移動させる手間を省略し、簡単な操作でサービスを享受できることとなり、ユーザビリティが向上する。
【0021】
第6の発明は、上記のコンピュータシステムにおいて、前記提供状況表示制御手段が、前記参加ユーザ向け提供制御手段により前記サービスが提供されている前記参加ユーザの前記参加ユーザキャラクタ(例えば、
図4のアバター4s)を前記仮想スポットに配置し、且つ、前記不参加ユーザ向け提供制御手段により前記サービスが提供されている前記不参加ユーザの不参加ユーザキャラクタ(例えば、
図5のアバター4f)を前記仮想空間に出現させて前記仮想スポットに配置する制御を行う(例えば、
図18のステップS102、ステップS130)、コンピュータシステムである。
【0022】
第6の発明によれば、コンピュータシステムは、参加ユーザキャラクタおよび不参加ユーザキャラクタを、提供を受けるサービスの仮想スポットに配置する制御を行う。よって、不参加ユーザについても「仮想空間においてはサービスの提供を受けるユーザは、当該サービスの仮想スポットに存在する」という原則が維持される。
【0023】
第7の発明は、上記のコンピュータシステムにおいて、前記提供状況表示制御手段が、前記不参加ユーザキャラクタの行動を自動的に制御する(例えば、
図18のステップS104、ステップS132)、コンピュータシステムである。
【0024】
不参加ユーザは、そもそも仮想世界に参加していないので、不参加ユーザキャラクタを仮想空間内に出現させたとしても、不参加ユーザは当該不参加ユーザキャラクタを操作できない。
【0025】
第7の発明によれば、コンピュータシステムは、不参加ユーザに代わって仮想空間内に出現させた不参加ユーザキャラクタの行動を自動制御する。参加ユーザからは、不参加ユーザキャラクタも参加ユーザキャラクタと同様に行動しているように見える。つまり、同時に複数のユーザが各々のアバターを使って参加しているような「存在感」が維持されることになる。
【0026】
第8の発明は、上記のコンピュータシステムにおいて、前記参加ユーザ向け提供制御手段が、前記参加ユーザキャラクタが前記仮想スポットにおいて所定の挙動条件を満たす挙動をした場合に、前記参加ユーザに前記サービスを提供する制御を実行する(例えば、
図15のステップS32からステップS56)、コンピュータシステムである。
【0027】
第8の発明によれば、コンピュータシステムは、仮想スポットで所定の挙動条件を満たす挙動をした参加ユーザキャラクタの参加ユーザに対してサービスを提供する制御を実行する。挙動条件を満たす挙動は、例えば、仮想スポットが商品を販売する店舗であれば仮想店員に商品の購入を申し出る挙動であり、仮想スポットがゲームセンターであれば仮想のゲーム装置にプレイ対価の代金を投入する挙動とすることができる。
【0028】
第9の発明は、上記のコンピュータシステムにおいて、前記提供状況表示制御手段が、前記不参加ユーザキャラクタが前記仮想スポットにおいて前記挙動条件を満たす挙動をするように、前記不参加ユーザキャラクタの行動を自動的に制御する(例えば、
図18のステップS104)、コンピュータシステムである。
【0029】
不参加ユーザは、そもそも仮想世界にログインしていないので、不参加ユーザキャラクタを仮想空間内に出現させる制御がなされたとしても、不参加ユーザは当該不参加ユーザキャラクタを操作できない。
【0030】
第9の発明によれば、コンピュータシステムは、不参加ユーザに代わって、不参加ユーザキャラクタが仮想スポットにおいて挙動条件を満たす挙動をするように自動制御する。よって、参加ユーザから見れば、不参加ユーザキャラクタも参加ユーザキャラクタと同様にサービスを享受するための挙動をしているように見える。よって、ユーザの「存在感」を高度に維持することができる。
【0031】
第10の発明は、上記のコンピュータシステムにおいて、前記提供状況表示制御手段は、前記不参加ユーザが前記仮想空間に参加する場合の参加ユーザキャラクタが設定済みの場合には、当該参加ユーザキャラクタを前記不参加ユーザキャラクタとして前記仮想空間に出現させ、設定されていない場合には、前記不参加ユーザキャラクタを自動生成して(例えば、
図14のステップS84)前記仮想空間に出現させる、コンピュータシステムである。
【0032】
第10の発明によれば、コンピュータシステムは、不参加ユーザが自身の参加ユーザキャラクタを設定済の場合には、その設定済の参加ユーザキャラクタを仮想空間に出現させる。一方、まだ参加ユーザキャラクタの設定を済ませていない場合には、不参加ユーザキャラクタを自動生成することで不参加ユーザキャラクタが未設定であることを補填する制御を実行する。よって、不参加ユーザにとってのユーザビリティが向上する。
【0033】
第11の発明は、上記のコンピュータシステムにおいて、前記提供状況表示制御手段は、前記サービスの提供状況に応じて、前記参加ユーザキャラクタおよび/又は前記不参加ユーザキャラクタの前記仮想スポットでの配置位置を変更する制御を行う(例えば、
図16のステップS146,ステップS156,
図18のステップS130)、コンピュータシステムである。
【0034】
第11の発明によれば、コンピュータシステムは、サービスの提供状況に応じて、仮想スポットに位置する参加ユーザキャラクタや不参加ユーザキャラクタの配置を変更することができる。
【0035】
例えば、仮想スポットが仮想のゲームセンターであるとする。現実世界のゲームセンターでは、業務用ゲーム装置が配置されている数を超えるサービスを提供することはできない。しかし、仮想的な世界であるため、仮想の業務用ゲーム装置の配置数を超える数のユーザにゲームのサービスを提供することは可能である。参加ユーザキャラクタおよび不参加ユーザキャラクタの数が、仮想の業務用ゲーム装置の配置数以内であれば(混雑していなければ)、各ユーザキャラクタを業務用ゲーム装置に配置すればよい。もしも、仮想の業務用ゲーム装置の配置数を超えるならば(混雑していれば)、幾つかの業務用ゲーム装置を着席可能のために空席としておいて残りの業務用ゲーム装置の周囲に観客であるかのようにユーザキャラクタを配置すると言った具合に配置を変更することができる。この場合、ゲームプレイのサービスの提供を享受しているはずのユーザキャラクタが観客としての配置に変更され得ることとなる。こうした配置変更により、仮想スポットを訪れた参加ユーザに、サービスの提供状況の活況を見せることができる。
【0036】
第12の発明は、上記のコンピュータシステムにおいて、前記提供状況表示制御手段は、前記参加ユーザキャラクタおよび/又は前記不参加ユーザキャラクタを取捨選択して前記仮想スポットに配置する制御を行う(例えば、
図18のステップS112からステップS130)、コンピュータシステムである。
【0037】
第12の発明によれば、コンピュータシステムは、仮想スポットに配置する参加ユーザキャラクタや不参加ユーザキャラクタの数を調整することができる。例えば、余りに多くのユーザキャラクタがサービスを享受しているために、仮想空間における当該仮想スポットの視認性に問題が生じる事態を回避することができる。
【0038】
第13の発明は、上記のコンピュータシステムにおいて、前記提供状況表示制御手段は、前記取捨選択において配置しないと判定された前記参加ユーザキャラクタの情報および前記不参加ユーザキャラクタの情報を表示する制御を行う(例えば、
図8の仮想モニタ7による表示、
図18のステップS118)、コンピュータシステムである。
【0039】
第13の発明によれば、コンピュータシステムは、サービスの提供を享受しているが仮想スポットに配置されていないユーザキャラクタについての情報を、別の形で仮想スポットを訪れた参加ユーザへ提供できる。
【0040】
第14の発明は、上記のコンピュータシステムにおいて、前記提供状況表示制御手段によって実行された表示制御を記録し、当該記録に基づいて前記サービスの提供状況を再現する表示制御を実行する提供状況再現制御手段(例えば、
図9の提供状況再現制御部216、
図17のステップS190からステップS196)、を更に備えるコンピュータシステムである。
【0041】
第14の発明によれば、コンピュータシステムは、過去に行われたサービスの提供状況の表示を再現することができる。例えば、とある有名なユーザが仮想空間でゲームプレイする様子を見たいと願う参加ユーザは、リアルタイムにプレイしている場には居られなかったとしても再現表示によりこれを見ることができる。
【0042】
第15の発明は、上記のコンピュータシステムにおいて、前記サービスは、ゲームであり、前記参加ユーザおよび前記不参加ユーザであるゲームユーザ毎のゲーム進行状況を取得するゲーム進行状況取得制御手段(例えば、
図9のゲーム進行状況取得制御部220、
図17のステップS194)と、
前記参加ユーザである閲覧要求ユーザから、閲覧対象ユーザのゲームプレイ映像の閲覧要求を受け付ける閲覧要求受付手段(例えば、
図9の閲覧要求受付制御部230、
図17のステップS196)と、
前記閲覧要求ユーザに、前記閲覧対象ユーザのゲームプレイ映像を提供するゲームプレイ映像提供制御手段(例えば、
図9のゲームプレイ映像提供制御部240、
図17のステップS198)と、を更に備えるコンピュータシステムである。
【0043】
また、第16の発明は、上記のコンピュータシステムにおいて、前記ゲームプレイ映像は、前記仮想スポットにおいて前記閲覧対象ユーザのユーザキャラクタがゲームプレイを行っている様子を第三者視点で撮影した映像、又は、前記閲覧対象ユーザのゲームプレイ画面の映像、である、コンピュータシステムである。
【0044】
例えば、仮想スポットがユーザキャラクタで混雑している場合には、参加ユーザは、他ユーザのゲームプレイの様子を見たくとも、見える場所まで自身のユーザキャラクタを近づけられないときがある。こうした不便は、仮想空間でより現実に似せた仮想体験を得る意味では当然であるが解決が望まれる。
【0045】
第15又は第16の発明によれば、コンピュータシステムは、参加ユーザや不参加ユーザのゲーム進行状況に係る情報を取得し、参加ユーザである閲覧要求ユーザからの要求に応じて、参加ユーザや不参加ユーザのゲームプレイ映像を閲覧要求ユーザへ提供できる。上述の不便は解消され、仮想スポットはユーザ自らがそこでゲームプレイする場としてだけでなく、他のユーザによるゲームプレイ映像の提供の場ともなる。
【0046】
第17の発明は、上記のコンピュータシステムにおいて、前記閲覧要求ユーザの前記ゲーム進行状況に対して、所与の関連条件を満たす前記ゲーム進行状況であるゲームユーザを前記閲覧対象ユーザとして選択する第1の閲覧対象ユーザ選択手段(例えば、
図9の第1閲覧対象ユーザ選択部232、
図17のステップS192)、を更に備えるコンピュータシステムである。
【0047】
第17の発明によれば、コンピュータシステムは、閲覧要求ユーザが過去にゲームプレイした履歴がある場合、当該ユーザのゲーム進行状況に対して、所与の関連条件を満たすゲーム進行状況であるゲームユーザを閲覧対象ユーザとすることができる。
「関連条件」を適切に設定することによって、閲覧要求ユーザがクリアに苦労しているゲームステージをプレイするユーザのゲームプレイ映像を提供したり、逆に「ネタばれ」を防ぐために閲覧要求ユーザがクリアしていないゲームステージのゲームプレイ映像を閲覧対象外とすることもできる。つまり、閲覧要求ユーザに対して適切な内容のゲームプレイ映像を提供できる。
【0048】
第18の発明は、上記のコンピュータシステムにおいて、前記ユーザ毎のユーザ情報を管理するユーザ情報管理手段と、前記閲覧要求ユーザの前記ユーザ情報に対して、所与の関連条件を満たす前記ユーザ情報であるゲームユーザを前記閲覧対象ユーザとして選択する第2の閲覧対象ユーザ選択手段(例えば、
図9の第2閲覧対象ユーザ選択部234、
図17のステップS192)、を更に備えるコンピュータシステムである。
【0049】
第18の発明によれば、コンピュータシステムは、閲覧要求ユーザのユーザ情報に対して所与の関連条件を満たすユーザ情報であるゲームユーザを閲覧対象ユーザとして選択できる。「関連条件」は、例えば、閲覧要求ユーザと関係性のあるユーザ(例えば、フレンド登録しているフレンドユーザ)を選択するための条件とすることができる。
【0050】
第19の発明は、上記のコンピュータシステムにおいて、前記仮想スポットにおいて、前記閲覧要求ユーザのユーザキャラクタから所与の近距離条件を満たす位置にユーザキャラクタがいるゲームユーザを前記閲覧対象ユーザとして選択する第3の閲覧対象ユーザ選択手段(例えば、
図9の第3閲覧対象ユーザ選択部236、
図17のステップS192)、を更に備えるコンピュータシステムである。
【0051】
第19の発明によれば、コンピュータシステムは、閲覧対象ユーザを、仮想スポットにおける閲覧要求ユーザのユーザキャラクタとの距離に基づいて選択できる。閲覧要求ユーザにしてみれば、自身のユーザキャラクタの近くにいるユーザキャラクタの他ユーザを閲覧対象ユーザにすることができる。
【0052】
第20の発明は、上記のコンピュータシステムにおいて、前記閲覧対象ユーザは、現在ゲームプレイ中のユーザであるコンピュータシステムである。
【0053】
第21の発明は、上記のコンピュータシステムにおいて、前記サービスは、ゲームであり、前記参加ユーザおよび前記不参加ユーザであるゲームユーザ毎のゲーム進行状況を取得するゲーム進行状況取得手段と、前記参加ユーザである閲覧要求ユーザから、閲覧対象ユーザのゲームプレイ映像の閲覧要求を受け付ける閲覧要求受付手段と、を更に備え、前記提供状況再現制御手段は、前記閲覧要求ユーザに、前記閲覧対象ユーザのゲームプレイ映像を提供状況の前記再現として提供する、コンピュータシステムである。
【0054】
第21の発明によれば、コンピュータシステムは、参加ユーザに対して、他ユーザのゲームプレイの再現映像を提供できる。
【0055】
第22の発明は、上記のコンピュータシステムであるサーバシステムと、前記ユーザのユーザ端末と、を具備するサービス提供システムである。
【0056】
第22の発明によれば、上記の発明と同様の効果が得られるサービス提供システムを実現できる。
【0057】
第23の発明は、コンピュータシステムが、ユーザに所定のサービスを提供する制御を実行するためのサービス提供制御方法であって、前記サービスを提供するための仮想スポットが設定された仮想空間に参加している参加ユーザによる操作入力に基づいて、当該参加ユーザに前記サービスを提供する制御を実行する参加ユーザ向け提供制御ステップと、前記仮想空間に参加していない不参加ユーザによる操作入力に基づいて、当該不参加ユーザに前記サービスを提供する制御を実行する不参加ユーザ向け提供制御ステップと、前記参加ユーザ向け提供制御ステップでの前記サービスの提供制御と前記不参加ユーザ向け提供制御ステップでの前記サービスの提供制御との両方に基づいて、前記仮想空間内の前記仮想スポットにおいて前記サービスの提供状況を表現する表示制御を実行する提供状況表示制御ステップと、を含むサービス提供制御方法である。
【0058】
第23の発明によれば、上記の発明と同様の作用効果をもたらすサービス提供制御方法を実現できる。
【図面の簡単な説明】
【0059】
【
図2】サービス提供システムが提供する仮想空間について説明するための図。
【
図3】オンラインゲームを提供する仮想スポットの構成例を説明するための図。
【
図4】参加ユーザ向けの短縮機能について説明するための図。
【
図5】不参加ユーザ向けの短縮機能について説明するための図。
【
図6】仮アバターの自動生成について説明するための図。
【
図7】サービス提供状況に応じたアバターの配置変更について説明するための図。
【
図8】サービス提供状況がアバターを追加配置するのが不適当な程に過密に混雑した場合の扱いついて説明するための図。
【
図9】サーバサイドシステムの機能構成例を示すブロック図。
【
図10】サーバサイドシステムの記憶部に記憶されるプログラムやデータの例を示す図。
【
図11】仮想空間初期設定データのデータ構成例を示す図。
【
図12】仮想空間管理データのデータ構成例を示す図。
【
図13】ユーザ端末の機能構成例を示す機能ブロック。
【
図14】サーバサイドシステムにおける処理の流れを説明するためのフローチャート。
【
図18】短縮処理の流れを説明するためのフローチャート。
【発明を実施するための形態】
【0060】
以下、本発明の実施形態の例を説明するが、本発明を適用可能な形態が以下の実施形態に限られないことは勿論である。
【0061】
図1は、サービス提供システム1000の構成例を示す図である。
サービス提供システム1000は、同時に複数のユーザが各々のユーザキャラクタであるアバターを使って3DCG(3 Dimensional Computer Graphics)で構築された仮想空間へ参加して、アバターで仮想空間内を自由に行動し、アバターを介して仮想空間内に用意された様々なサービスの提供を受けられるコンピュータシステムである。
【0062】
サービス提供システム1000は、ネットワーク9を介してデータ通信可能に接続されたサーバサイドシステム1010およびユーザ別のユーザ端末1500(1500a,1500b,…)を含み、ユーザ端末1500をマン・マシン・インターフェース(Man Machine Interface:MMIF)とするコンピュータシステムである。
【0063】
ネットワーク9は、データ通信が可能な通信路を意味する。すなわち、ネットワーク9とは、直接接続のための専用線(専用ケーブル)やイーサネット(登録商標)等によるLAN(Local Area Network)の他、電話通信網やケーブル網、インターネットを含む。
【0064】
サーバサイドシステム1010は、サービス提供システム1000の運用者が管理運用するコンピュータシステムであって、ポータルサーバシステム1100Pと、複数のサービスサーバシステム1100G(1100Ga,1100Gb,…)とを有する。
【0065】
ポータルサーバシステム1100Pは、仮想空間を総括的に管理するコンピュータシステムであって、仮想空間へ参加するユーザのユーザ端末1500が最初にアクセスするフロントエンドのサーバシステムである。ポータルサーバシステム1100Pは、例えば、ユーザ登録に係る制御、アバターのカスタマイズに係る制御、仮想空間内でのアバターの制御、仮想空間における仮想世界の制御、アバターの位置や動作に応じた各種サービスの提供に係る制御、などを行う。勿論、仮想空間で提供するサービスの内容に応じてこれら以外の制御を実行するとしてもよい。また、これらの制御のうち1つ又は複数をバックエンドサーバにより実現してもよい。
【0066】
サービスサーバシステム1100G(1100Ga,1100Gb,…)は、ユーザ端末1500をクライアントとして1種類又は複数種類のサービスを提供するためのバックエンドサーバである。提供するサービスの内容は適宜設定可能である。提供されるサービスは適宜設定可能であり、例えば、ショッピング、ゲーム、美術館・映画・博物館などでの観覧、ライブ演奏、などである。以降では、サービスの例として、主にオンラインゲームを例に挙げて説明する。
【0067】
ポータルサーバシステム1100Pとサービスサーバシステム1100Gは、基本的なハードウェアの構成要素は同様に実現できる。すなわち、ポータルサーバシステム1100Pおよびサービスサーバシステム1100Gは、本体装置1101、キーボード、タッチパネル、ストレージ1140を有し、本体装置1101に制御基板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)により実現するとしてもよい。
【0068】
ポータルサーバシステム1100Pとサービスサーバシステム1100Gとは、制御基板1150が所定のプログラムおよびデータに基づいて演算処理することによりそれぞれ別個の機能を実現する。
【0069】
図1では、ポータルサーバシステム1100Pおよびサービスサーバシステム1100Gは、それぞれ1台のサーバ装置であるかのように描いているが、複数の装置で実現する構成であってもよい。例えば、ポータルサーバシステム1100Pおよびサービスサーバシステム1100Gは、各機能を分担する複数のブレードサーバを搭載して相互に内部バスを介してデータ通信可能に接続した構成であってもよい。ポータルサーバシステム1100Pおよびサービスサーバシステム1100Gは、データベースやオンラインストレージを含むとしてもよい。
【0070】
また、ポータルサーバシステム1100Pおよびサービスサーバシステム1100Gの設置場所は問わない。離れた場所に設置された独立した複数のサーバを、ネットワーク9を介してデータ通信させることで、全体としてポータルサーバシステム1100P或いはサービスサーバシステム1100Gとして機能させる構成であってもよい。
【0071】
ユーザ端末1500は、ユーザが仮想空間に参加するために使用するコンピュータシステムであって、サービス提供システム1000におけるマン・マシン・インターフェースの機能を担っている。ユーザ端末1500は、仮想空間への参加に限らず、ウェブサイトの閲覧や、サービス提供システム1000以外で運営されているオンラインゲームなどのオンラインサービスを利用するためにも使用できる。
【0072】
ユーザ端末1500(1500a,1500b,…)は、例えば、パソコン、スマートフォン、ウェアラブルコンピュータ、携帯型ゲーム装置、家庭用ゲーム装置、タブレット型コンピュータ、などのネットワーク9に接続可能なコンピュータシステムである。
【0073】
ユーザ端末1500は、主体となるコンピュータとこれに通信接続された各種デバイスが全体として1つの機能を果たす場合には、主体および各種デバイスを1つのユーザ端末1500とみなすことができる。例えば
図1では、ユーザ端末1500aは、例えば、デスクトップ型パソコンにVR(Virtual Reality)セット1580が通信接続された例を示している。VRセット1580は、VRゴーグル1581、VRヘッドセット1583、VRコントローラ1585などを含む。ユーザ端末1500bはスマートフォン単体の例を示しているが、ユーザ端末1500aと同様にVRセット1580を含む構成としてもよい。
【0074】
ユーザ端末1500は、操作入力デバイス(例えば、タッチパネル1506、キーボード、ゲームコントローラ、マウスなど)と、画像表示デバイス(例えば、タッチパネル1506、ヘッドマウントディスプレイ、グラス型ディスプレイなど)と、制御基板1550と、を備える。
【0075】
制御基板1550は、CPU1551や、GPU,DSPなどの各種マイクロプロセッサ、VRAMやRAM,ROM等の各種ICメモリ1552、ネットワーク9に接続する通信モジュール1553、などを搭載する。制御基板1550に搭載されているこれらの要素は、バス回路などを介して電気的に接続され、データの読み書きや信号の送受信が可能に接続されている。制御基板1550の一部又は全部をASICやFPGA、SoCにて構成してもよい。そして、制御基板1550は、ユーザ端末1500としての機能を実現させるためのプログラムや各種データをICメモリ1552に記憶する。そして、ユーザ端末1500は、所定のアプリケーションプログラムを実行することにより、サービス提供システム1000のマン・マシン・インターフェースとして、またユーザが各種サービスの提供を受ける際のクライアントとしての機能を実現する。
【0076】
ユーザ端末1500は、アプリケーションプログラムやその実行に必要な各種データをポータルサーバシステム1100Pからダウンロードする構成としているが、ユーザが別途入手したメモリカードなどの記憶媒体から読み出す構成としてもよい。
【0077】
図2は、サービス提供システム1000が提供する仮想空間3について説明するための図である。なお、説明を理解し易いようにアバター4を1体のみ描いているが、実際の運用では同時に多数のアバター4が仮想空間3内に存在し得る。また、仮想空間3で提供されるサービス毎に用意された仮想スポット6の数も、
図2の例に限らず実際の運用では多数設定可能であるし、仮想空間3における設定位置も適宜設定可能である。
【0078】
仮想空間3は、3DCGで構築されたデジタルデータ空間であって、同時に複数のユーザがそれぞれのアバター4を使って参加して、それぞれがアバター4で自由に行動可能な仮想空間である。仮想空間3は、現実と同じ時間の流れを有する並行世界である。仮想空間3は、参加ユーザがいなくてもサーバサイドシステム1010にてデータとして存在し続け、現実世界の時間経過とともに仮想空間3の中でも時間が経過し、仮想空間3で表現されている仮想の世界は変化し続ける。ユーザ端末1500では、アバター4の視点から見た一人称視点による仮想空間3の画像(以下、仮想空間画像10という)が表示される。なお、仮想空間画像10は三人称視点による表示であってもよい。
【0079】
仮想スポット6(6a,6b,…)は、サービス毎に仮想空間3内に設定される。
図2の例では、仮想スポット6は店舗風に描かれているが、広場のようにオープンエリアとして設定されていてもよい。ログイン手続を経て仮想空間3に参加しているユーザは参加ユーザとなって、アバター4を操作して仮想スポット6へ移動させることで当該仮想スポット6が提供するサービスを享受することができる。
【0080】
図3は、オンラインゲームを提供する仮想スポット6bの構成例を説明するための図である。オンラインゲームを提供する仮想スポット6bは、店舗風にデザインされた建物オブジェクトを有して内部空間が画成されている。仮想スポット6bの建物オブジェクトには、それぞれが見かけ上の個別のサービス提供場所となる複数のゲーム装置8(8a,8b,…;例えば業務用ゲーム装置を模したデザインを有する)のオブジェクトが配置されている。ユーザは、自身のアバター4を空いているゲーム装置8に座らせて、現実の業務用ゲーム装置で遊ぶときと同様に、アバター4にゲーム対価の支払操作(例えば、コイン投入など)など、サービス提供を希望することを意味する所定の挙動条件を満たす挙動(以下、開始手続挙動と呼称)をさせると、ゲームプレイが可能になる。
【0081】
オンラインゲームを開始するまでは、ユーザ端末1500では仮想空間画像10が表示されるが、サービスの提供が開始されると、仮想空間画像10に代えてゲーム画像12(提供中のサービスの画像)が表示される。つまり、ユーザは、仮想空間3の出来事から一時的に切り離され、ゲームの世界に没入してプレイすることができる。こうしたサービスの提供形態を「没入型」と呼称する。一方、ユーザ端末1500にてサービス提供前とサービス提供中において仮想空間画像10が表示され続けるサービスの提供形態を「標準型」と呼称する。
【0082】
ゲームプレイ中のアバター4は、ユーザ操作に応じた手動制御から切り離されて、ポータルサーバシステム1100Pによって提供中挙動で自動制御される。「提供中挙動」は、あたかもアバター4がそこでサービスの提供を受けているかのように見える動作である。例えば、
図3の例のアバター4は、提供中挙動として、ゲーム装置8のジョイスティックや操作ボタンを操作する動作や、ゲームプレイの様子に一喜一憂する動作をする。動作の具体的な内容は、オンラインゲームの内容やゲーム装置8でのプレイスタイルなどに応じて適宜設定可能である。
【0083】
ゲームが終了すると、ユーザ端末1500ではゲーム画像12から仮想空間画像10へ表示が戻され、アバター4も自動制御から手動制御へ戻される。
【0084】
このように、通常、仮想空間3でオンラインゲームをするには、仮想空間3にログインして、アバター4を仮想スポット6bのゲーム装置8へ移動させ、開始手続挙動させる必要がある。しかし、ユーザの中には、アバター4を仮想スポット6bへ移動させる過程を煩わしく思う者もいるであろう。サービス提供システム1000は、こうしたユーザの要望に応えるために、仮想空間3に参加中のユーザ(参加ユーザ)に対して短縮機能を提供する。
【0085】
図4は、参加ユーザ向けの短縮機能について説明するための図である。
ユーザは、仮想空間3に参加中においてユーザ端末1500にて所定の短縮メニュー呼出操作をすることで、短縮メニュー画面14を表示させることができる。短縮メニュー画面14では、サービス選択アイコン16(16a,16b)が表示される。サービス選択アイコン16は、それぞれが仮想空間3で提供されるサービスであって短縮機能が利用できるサービスに対応づけられている。サービス選択アイコン16(16a,16b)は、対応するサービスの提供を希望する旨の直接操作をするためのアイコンである。
【0086】
参加ユーザが、何れかのサービス選択アイコン16を選択すると、ポータルサーバシステム1100Pは、選択されたサービス選択アイコン16に対応するサービスの仮想スポット6に当該参加ユーザのアバター4sを転移させる。より具体的には、仮想スポット6におけるユーザ個別のサービス提供場所(
図4の例では、空いているゲーム装置8の着座位置)へアバター4sを転移(瞬間移動)させて、アバター4sの制御を参加ユーザによる手動制御から提供中挙動による自動制御へと切り換える。
【0087】
一方、当該参加ユーザのユーザ端末1500の表示は、短縮メニュー画面14から、選択したアイコンに対応づけられたサービスの提供画像であるゲーム画像12(
図4の例では、ゲームスタート画面の例)に表示が切り換えられる。
【0088】
つまり、参加ユーザは、短縮機能を利用することで、自身のアバター4sが仮想空間3の何処に居たとしても直ぐに所望するサービスの提供が受けられる。アバター4を当該サービスが提供されている仮想スポット6まで移動させて、アバター4にサービス提供を受けるための開始手続挙動をさせる操作を省略することができる。
【0089】
仮想空間3で提供されるサービスを手軽に享受したいと思うユーザは、仮想空間3に参加している参加ユーザに限らない。例えば、通勤や通学などの限られた時間を使ってゲームをプレイしたいと思うユーザは、仮想空間3にログインして参加ユーザとなる操作すら省略したいと思うであろう。また、仮想スポット6bのゲームを友人から薦められた未登録ユーザ(仮想空間3のユーザ登録を済ませていないユーザ)は、仮想空間3に参加する前提となるユーザ登録すら省略して、薦められたゲームを直ぐにプレイしてみたいと思うであろう。ポータルサーバシステム1100Pは仮想空間3に参加していないこうした不参加ユーザの要望にも応えることができる。
【0090】
図5は、不参加ユーザ向けの短縮機能について説明するための図である。
ユーザ端末1500にて、仮想空間3を利用するためのクライアントプログラム(アプリケーションプログラム)を実行するとログイン画面20が表示される。ログイン画面20では、ログイン手続を実行するためのログイン操作アイコン22と、短縮メニュー表示操作アイコン24とが表示される。
【0091】
不参加ユーザ(ログインしていないユーザ、仮想空間3に参加していない状態のユーザ)がログイン操作アイコン22を操作すると、ユーザ端末1500とポータルサーバシステム1100Pとの間でログイン認証が行われ、当該ユーザが「未登録ユーザ」である場合には新規登録手続が実行される。新規登録手続の際にアバター4の新規設定手続も実行される。
【0092】
不参加ユーザが短縮メニュー表示操作アイコン24を操作すると、ユーザ端末1500では短縮メニュー画面14が表示される。不参加ユーザが何れかのサービス選択アイコン16を選択する直接操作をすると、直接操作されたアイコンに対応づけられたサービスの提供が始まり、ユーザ端末1500にてゲーム画像12が表示される。
【0093】
ポータルサーバシステム1100Pは、未ログイン状態のユーザ端末1500からサービス選択アイコン16に対応した所定のリクエストを受信すると、当該ユーザ端末1500から当該ユーザ端末1500に記憶されているユーザアカウント等のログインに必要な情報を取得する。
【0094】
ポータルサーバシステム1100Pは、当該ユーザ端末1500の不参加ユーザが、ユーザ登録済みであれば、自動でログイン処理を実行し、不参加ユーザが選択したサービス選択アイコン16に対応するサービス(短縮対象サービス)の提供を自動的に開始させる。そして、短縮対象サービスの仮想スポット6の(
図5の例では、仮想スポット6b)に当該不参加ユーザのアバター4fを出現させ、アバター4fに提供中挙動をさせるように自動制御する。
【0095】
一方、不参加ユーザが、ユーザ登録されていない未登録ユーザの場合、ポータルサーバシステム1100Pは、リクエストしたユーザ端末1500からユーザアカウント等の情報を取得することができない。この場合、ポータルサーバシステム1100Pは、仮アバター4kを自動生成して、これを不参加ユーザのアバター4fとして短縮対象サービスの仮想スポット6へ出現させ、提供中挙動をするように自動制御する。
【0096】
この結果、不参加ユーザであっても、直ぐに所望するサービスの提供を受けられる。ログイン手続をして、アバター4fを当該サービスの仮想スポット6へ移動させ、アバター4fにサービス提供を受けるための開始手続挙動をさせる必要はない。
【0097】
不参加ユーザのアバター4f(不参加ユーザキャラクタ)は、ログイン手続を経ていなくとも自動的に仮想空間3に出現される。よって、仮想スポット6を訪れている参加ユーザは、自身のアバター4(参加ユーザキャラクタ)を介して、ゲームプレイしている不参加ユーザのアバター4fの様子を見ることができる。つまり、仮想空間においてはサービスの提供を受けるユーザは、当該サービスの仮想スポットに居るという原則が維持され、同時に複数のユーザが各々のアバターを使って参加可能な仮想空間3を実現する上で重要となる各ユーザの「存在感」が維持される。
【0098】
もしも、不参加ユーザが、未ログイン状態からの短縮操作でサービス提供を受けられるが当該不参加ユーザのアバター4fが仮想空間3内に配置されない場合には、不参加ユーザのアバター4fが仮想空間に存在しない状態になってしまう。仮想空間に参加しているユーザからすると、他のユーザが仮想空間に存在している「存在感」を感じることができなくなり、仮想体験の質が低下しかねない。仮想空間内でアバターが存在することによる賑わいが感じられなくなり、仮想空間における仮想体験の質が低下しかねない。本実施形態のサービス提供システム1000はこうした事態を防ぐことができる。
【0099】
なお、ポータルサーバシステム1100Pは、未登録ユーザの仮アバター4kを自動生成する際、所与の参照情報を変数として仮アバター4kを自動で生成する。
【0100】
図6は、仮アバター4kの自動生成について説明するための図である。
参照情報30は、例えば、未登録ユーザのユーザ端末1500から取得できる情報である。例えば、端末ユーザのユーザアカウント、機種情報、OSバージョン情報、Webブラウザソフトのバージョン情報、MACアドレス、IPアドレス、メモリ容量、通信回線種類、通信キャリア情報、地理的位置情報、加速度情報、方位情報、などに基づく情報としてもよい。また例えば、参照情報30を、当該未登録ユーザが過去にサービスを利用した履歴の情報から取得できる情報としてもよい。例えば、サービスがゲームであれば、プレーヤキャラクタの種類、レベル、性別、所持品リスト、購入品リスト、獲得アイテムリスト、フレンドリスト、などの情報としてもよい。サービスがショッピングであれば、購入品リスト、当該リストから求められる購入数や購入した商品カテゴリー分布、購入頻度、などの情報としてもよい。サービスがライブ演奏であれば、視聴したライブ演奏に係るアーティストのリスト、当該アーティストに類似する(例えば音楽のジャンルなどが共通する)アーティスト、視聴回数、視聴頻度などの情報としてもよい。
【0101】
参照情報30のカテゴリーの1つ又は組み合わせ別に、予め自動カスタムパーツ群32(32a,32b,…)が用意され、更に参照情報30の内容別に個別のカスタムパーツ34(34a,34b,…)が対応づけられている。
図6の例では、カスタムパーツ34aは頭部のデザイン違い、カスタムパーツ34bは胴部(衣装でもよい)のデザイン違い、カスタムパーツ34cはかぶり物のデザイン違い、の例である。カスタムパーツ34には、配色違い、細部のデザイン違い、サイズ違い、などがあってもよい。
【0102】
ポータルサーバシステム1100Pは、カテゴリー別の自動カスタムパーツ群32の中から、取得した参照情報30とされる1つの情報に応じたカスタムパーツ34を選択して、アバター4の素体に付与して仮アバター4kを自動生成する。例えば、格闘ゲームを多くプレイしているユーザの仮アバター4kについては、格闘家っぽい衣装のカスタムパーツ34を選択し、参照情報30とされる別の情報に基づいて配色を変える、としてもよい。仮アバター4kは、自動的に様々なバリエーションが与えられるので、参加ユーザから仮アバター4kであると直ぐには見分けられないようになる。
【0103】
図7は、サービス提供状況に応じたアバター4の配置変更について説明するための図であって、仮想スポット6の提供状況に応じたアバター4の扱いについて説明するための図である。
【0104】
「サービス提供状況」は、混雑状況ということもできる。
図7の例では、仮想スポット6b(仮想のゲームセンター)にゲーム装置8(8a,8b,…)が所定数配置されているデザインであり、仮想スポット6bにおける見かけ上のサービス提供上限数(見かけ上の供給上限数)はゲーム装置8の配置数となる。しかし、実際にサービスの提供を享受することができるユーザ数、この場合はゲームプレイが可能なユーザ数は、このゲーム装置8の配置数に制限されない。
【0105】
ポータルサーバシステム1100Pは、オンラインゲームを提供する仮想スポット6bでは、個別のサービス提供場所に相当するゲーム装置8の空き状況に応じてサービス提供の「提供状況」を判定する。仮想のゲームセンターである仮想スポット6bであれば、ユーザ個別にサービスを提供する位置がゲーム装置8として区分けされているため、区分けされた位置の満席/空席の状況で「提供状況」を判定することができる。一方、ユーザ個別にサービスを提供する位置が区分けされていない仮想スポット6の場合には、仮想スポット6におけるアバター4の配置数や配置密度に基づいて「提供状況」を判定することができる。勿論、ユーザ個別にサービスを提供する位置が区分けされているか否かに関わらず、仮想スポット6におけるアバター4の配置数や配置密度に基づいて「提供状況」を判定することとしてもよい。
【0106】
そして、前述のように参加ユーザが短縮操作した場合は、参加ユーザのアバター4sが仮想スポット6bに転移されるが(
図4参照)、もし仮想スポット6bが混雑している状況にあるならば、ポータルサーバシステム1100Pは、アバター4sを仮想スポット6b内のゲーム装置8の周囲所定範囲(混雑時周辺配置用範囲)に転移させた後に混雑時挙動をするように自動制御する。
【0107】
「混雑時挙動」は、提供されるサービスの内容に応じて適宜設定することができる観客としての挙動である。サービスがオンラインゲームの場合、ゲームプレイを観戦しつつ応援したり感心したり残念がったりといった挙動をする。或いは、順番待ちの挙動、などであってもよい。
【0108】
また、前述のように不参加ユーザが短縮操作をした場合は、不参加ユーザのアバター4fが仮想スポット6bに出現される(
図5参照)。このため、仮想スポット6bが混雑している状況と判定されると、ポータルサーバシステム1100Pは、同様にアバター4fを仮想スポット6b内のゲーム装置8の周囲所定範囲(混雑時周辺配置用範囲)に出現させた後に混雑時挙動をするように自動制御する。
【0109】
そして、混雑している状況が解消されると、ポータルサーバシステム1100Pは、混雑時挙動による自動制御がされていたアバター4s、4fを、開始手続挙動および提供中挙動をさせるように自動的に挙動を切り替える。つまり、アバター4sが、空いたゲーム装置8の前に着座してプレイ開始のための様々な挙動をして、ゲームプレイを開始したように見せる。よって、仮想スポット6bを訪れた参加ユーザは、自身のアバター4を通じて仮想スポット6bが賑わっている様子を見ることができる。更には、ゲーム装置8に空きができれば周囲にいるアバター4が、空いたゲーム装置8でゲームプレイを始める様子を見ることができる。
【0110】
図8は、サービス提供状況が、アバター4を追加配置するのが不適当な程に過密に混雑した場合の扱いついて説明するための図である。
仮想スポット6にいるアバター4の数や密度が予め設定されている過密判定基準値に達すると、ポータルサーバシステム1100Pは、仮想スポット6が過密状況であると判定して、アバター4(4a,4b,…)を取捨選択して配置位置を変更する制御を行う。
【0111】
過密判定基準値は、仮想スポット6においてアバター4が満員電車のように身動きできないほどに詰まった状態とならない限界値として、適当な値が予め設定される。
【0112】
取捨選択の候補となるアバター(候補アバター)には、既に配置済のアバター4と、過密状況に至った後に新たに追加配置されるアバター4を含める。追加配置されるアバター4は、短縮機能を利用して転移してくる参加ユーザのアバター4s、短縮機能を利用して出現される不参加ユーザのアバター4f、短縮機能を利用せずにアバター4を仮想スポット6に移動させた参加ユーザのアバター4、を含む。そして、候補アバターの中から過密判定基準値の数のアバター4を、表示するユーザキャラクタとして取捨選択し、選択されたアバター4を仮想スポット6のゲーム装置8およびその周囲に配置して表示させ、選択しなかったアバター4を非表示とする。
【0113】
取捨選択の際には、所与の優先基準を適用してもよい。優先基準としては、例えばサービスがゲームであれば、プレーヤレベルが高い順、プレイ成績順、SNSのフォロワー数を外部参照してフォロワー数が多い順、仮想空間3に係るフレンド登録者数の多い順、などとしてもよい。
【0114】
非表示とされたアバター4のユーザへのサービス提供状況は、アバター4を伴わない表示(これを「副表示」と呼称する)として仮想スポット6にて行われる。
「副表示」の形態としては、例えば、仮想スポット6に配置された仮想モニタ7にて副表示70を表示するとしてもよい。
図8の例では、副表示70として、仮想モニタ7において、非表示のアバター4のユーザアカウント(
図8中のユーザアカウントAm、ユーザアカウントAn、…)と、ゲームプレイ画面の縮小表示(
図8中のゲーム画像wm、ゲーム画像wn、…)と、を関連付けて表示している。仮想モニタ7は、固定式でもよいし、アバター4を非表示としたときに仮想スポット6の上方に浮遊する浮遊映像スクリーン(空中に浮いているように見えるスクリーン)を出現させるとしてもよい。
【0115】
なお、過密状況が解消されると、ポータルサーバシステム1100Pは、非表示にされていたアバター4をゲーム装置8やその周辺に出現させて再配置する。
【0116】
次に、機能構成について説明する。
図9は、サーバサイドシステム1010の機能構成例を示すブロック図であって、ポータルサーバシステム1100Pとサービスサーバシステム1100Gとが担う機能をまとめて示す図である。
【0117】
サーバサイドシステム1010は、機能面でポータルサーバシステム1100Pとサービスサーバシステム1100Gとに分けられるが、1つのサーバサイドシステム1010として包括すると、操作入力部100sと、処理部200sと、音出力部390sと、画像表示部392sと、通信部394sと、記憶部500sとを備える構成となる。
【0118】
操作入力部100sは、サーバサイドシステム1010(ポータルサーバシステム1100Pや、サービスサーバシステム1100G)の管理のための各種操作を入力するための手段である。例えば、キーボード、タッチパネル、マウス、などがこれに該当する。
【0119】
処理部200sは、例えばCPUやGPU、ASIC、FPGA等の演算回路となるプロセッサの他、ICメモリなどの電子部品によって実現され、操作入力部100pや記憶部500sを含む各機能部との間でデータの入出力制御を行う。そして、所定のプログラムやデータ、操作入力部100sからの操作入力信号などから受信したデータ、等に基づいて各種の演算処理を実行して、サーバサイドシステム1010の動作を統合的に制御する。
【0120】
サーバサイドシステム1010の処理部200sは、ユーザ情報管理部202と、ユーザキャラクタ設定部204と、参加管理部206と、仮想空間管理部208と、参加ユーザ向け提供制御部210と、不参加ユーザ向け提供制御部212と、提供状況表示制御部214と、提供状況再現制御部216と、計時部280sと、音生成部290sと、画像生成部292sと、通信制御部294sとを含む。勿論、これら以外の機能部も適宜含めることができる。
【0121】
ユーザ情報管理部202・ユーザキャラクタ設定部204・参加管理部206・仮想空間管理部208・提供状況表示制御部214・提供状況再現制御部216は、サーバサイドシステム1010をポータルサーバシステム1100Pとする場合に備えるとしてもよい。
【0122】
参加ユーザ向け提供制御部210・不参加ユーザ向け提供制御部212は、サーバサイドシステム1010をサービスサーバシステム1100Gとする場合に備えるとしてもよい。
【0123】
勿論、機能部の振り分けはこの例に限定されず、ハードウェアの構成等に応じて適宜ポータルサーバシステム1100Pとサービスサーバシステム1100Gとで振り分けしてもよい。1つの機能であっても、一部をポータルサーバシステム1100Pとサービスサーバシステム1100Gの一方に受け持たせ、残りを他方に受けたせるとしてもよい。
【0124】
ユーザ情報管理部202は、ユーザ登録手続きに係る処理およびユーザアカウントに紐付けられる各種情報の記憶管理を行う。
【0125】
ユーザキャラクタ設定部204は、ユーザ別のユーザキャラクタであるアバター4の設定に係る処理を行う。
【0126】
参加管理部206は、登録済みユーザの仮想空間3への参加の管理を行う。ログイン手続、ログアウト手続に関する制御を行う。
【0127】
仮想空間管理部208は、サービスを提供するための仮想スポット6が設定された仮想空間3の管理制御を行う。例えば、仮想空間3を構成する各種オブジェクトの出現・移動・消去などの制御、参加ユーザによる操作入力に基づいて当該参加ユーザのアバター4(ユーザキャラクタ)のオブジェクトを制御して当該操作入力に応じた行動をさせる制御、などを行う。
【0128】
参加ユーザ向け提供制御部210は、参加ユーザによる操作に基づく参加ユーザキャラクタ(アバター4)の行動に基づいて、仮想スポット6に位置しているアバター4の参加ユーザへ当該仮想スポット6に対応づけられたサービスを提供する制御を実行する(
図2、
図3、
図4参照)。具体的には、参加ユーザ向け提供制御部210は、参加ユーザキャラクタが仮想スポット6において所定の挙動条件を満たす挙動をした場合に、参加ユーザにサービスを提供する制御を実行する。
【0129】
不参加ユーザ向け提供制御部212は、仮想空間に参加していない不参加ユーザによるサービスの提供を希望する旨の直接操作に基づいて、当該不参加ユーザへ仮想スポット6に対応づけられたサービスを提供する制御を実行する(
図5参照)。
「直接操作」は、ユーザキャラクタの行動(移動や挙動)の結果として実現される間接操作に相対する意味の操作であって、コマンド入力のように直接的に機能を呼び出す操作である。例えば、短縮メニュー画面14を表示させる短縮メニュー呼出操作、短縮メニュー画面14で表示されるサービス選択アイコン16の選択操作(サービスの提供を希望する旨の項目を選択する操作)、がこれに該当する。
【0130】
提供状況表示制御部214は、参加ユーザ向け提供制御部210によるサービスの提供制御と不参加ユーザ向け提供制御部212によるサービスの提供制御との両方に基づいて、仮想空間3内の仮想スポット6においてサービスの提供状況を表現する表示制御を実行する。
【0131】
具体的には、提供状況表示制御部214は、参加ユーザ向け提供制御部210によりサービスが提供されている参加ユーザの参加ユーザキャラクタ(アバター4s;
図4参照)を仮想スポット6に配置し、且つ、不参加ユーザ向け提供制御部212によりサービスが提供されている不参加ユーザの不参加ユーザキャラクタ(アバター4f;
図5参照)を仮想空間3に出現させて仮想スポット6に配置する制御を行う。そして、提供状況表示制御部214は、不参加ユーザが仮想空間に参加する場合の参加ユーザキャラクタが設定済みの場合には、当該参加ユーザキャラクタを不参加ユーザキャラクタとして仮想空間3に出現させ、設定されていない場合には、不参加ユーザキャラクタを自動生成して前記仮想空間に出現させる(仮アバター4k;
図6参照)。
【0132】
また、提供状況表示制御部214は、仮想空間3に出現させた後の不参加ユーザキャラクタ(アバター4f)の行動を自動的に制御する。具体的には、提供状況表示制御部214は、不参加ユーザキャラクタが仮想スポット6において挙動条件を満たす挙動(参加ユーザ向け提供制御部210がサービス提供を開始するための条件とされる挙動)をするように制御する。
【0133】
また、提供状況表示制御部214は、サービスの提供状況に応じて、参加ユーザキャラクタ(アバター4s)および/又は不参加ユーザキャラクタ(アバター4f)の仮想スポット6での配置位置を変更する制御を行う(
図7、
図8参照)。そしてその提供状況によっては、提供状況表示制御部214は、参加ユーザキャラクタおよび/又は不参加ユーザキャラクタを取捨選択して仮想スポット6に配置する(
図8参照)。但し、その場合、提供状況表示制御部214は、取捨選択において配置しないと判定された参加ユーザキャラクタの情報および不参加ユーザキャラクタの情報を表示する制御を行う(
図8参照;仮想モニタ7での副表示)。
【0134】
提供状況再現制御部216は、提供状況表示制御部214によって実行された表示制御に係る各種情報を記録し、当該記録に基づいてサービスの提供状況を再現する表示制御を実行する。
【0135】
サービスがゲームである場合に、提供状況再現制御部216は、ゲーム進行状況取得制御部220と、閲覧要求受付制御部230と、ゲームプレイ映像提供制御部240と、して機能する。
【0136】
ゲーム進行状況取得制御部220は、参加ユーザおよび不参加ユーザであるゲームユーザ毎のゲーム進行状況を取得する。具体的には、提供状況再現制御部216による記録のうちゲーム進行状況に係る情報、例えばプレイ中のゲーム画像12やゲームプレイを再現するリプレイデータなどを取得する。
【0137】
閲覧要求受付制御部230は、参加ユーザからの所定の閲覧要求の受け付けに係る制御を行う。具体的には、所定のリクエスト操作がなされたユーザ端末1500のユーザを、ゲーム画像12の閲覧を要求する「閲覧要求ユーザ」とみなし、当該ユーザ端末1500にて「再現候補リスト」を表示させる。
「再現候補リスト」は、どのユーザのどの時点の提供状況を再現・表示させるか(言い換えると、どの閲覧対象ユーザのどの時点のゲームプレイ画像すなわち閲覧対象提供状況を閲覧するか)を閲覧要求ユーザに選択させ、選択結果の情報をユーザ端末1500からゲームプレイ映像の閲覧要求として受け付けるための表示である。
【0138】
再現候補リストに係り、閲覧要求受付制御部230は、第1閲覧対象ユーザ選択部232と、第2閲覧対象ユーザ選択部234と、第3閲覧対象ユーザ選択部236とを有する。
【0139】
第1閲覧対象ユーザ選択部232は、閲覧要求ユーザのゲーム進行状況(例えば、直近過去にセーブされているゲーム進行状況)に対して、所与の関連条件を満たすゲーム進行状況であるゲームユーザを、再現候補リストにおける閲覧対象ユーザの候補として選択する。ここで言う「関連条件」としては、例えば、「閲覧要求ユーザがクリアしたゲームステージをクリア済」としたり、逆に「閲覧要求ユーザがクリアしていないゲームステージをクリア済」などとしてもよい。
【0140】
第2閲覧対象ユーザ選択部234は、閲覧要求ユーザのユーザ情報に対して、所与の関連条件を満たすユーザ情報であるゲームユーザ、再現候補リストにおける閲覧対象ユーザの候補として選択する。ここで言う「関連条件」としては、例えば、成績ランキングや人気ランキング、プレーヤレベルについて、閲覧要求ユーザのそれに近い或いは相対的に高いゲームユーザであること、としてもよい。閲覧要求ユーザがフレンド登録しているゲームユーザ、などとしてもよい。
【0141】
第3閲覧対象ユーザ選択部236は、仮想スポット6において、閲覧要求ユーザのユーザキャラクタから所与の近距離条件を満たす位置にユーザキャラクタがいるゲームユーザを、再現候補リストにおける閲覧対象ユーザの候補として抽出する。
【0142】
ゲームプレイ映像提供制御部240は、閲覧要求ユーザに、閲覧対象ユーザのゲームプレイ映像を提供する。閲覧対象ユーザが仮想スポット6のサービスの提供を現在受けていて、閲覧対象が現在の提供状況とされた場合は、ゲームプレイ映像はリアルタイム配信又はそれに準ずる形式で提供されてもよい。閲覧対象ユーザの過去のサービス提供状況が閲覧対象であれば、ゲームプレイ映像は過去のリプレイ映像として提供されるとしてもよい。
【0143】
計時部280sは、システムクロックを利用して現在日時や制限時間等の各種計時を行う。
【0144】
音生成部290sは、音声データの生成やデコードをするICやソフトウェアの実行により実現される。音生成部290sは、生成した音声信号を音出力部390sへ出力する。音出力部390sは、スピーカ等により実現され、音声信号に基づいて放音する。
【0145】
画像生成部292sは、サーバサイドシステム1010のシステム管理のための各種管理画面の画像生成を行い、画像データを画像表示部392sに出力する。画像表示部392sは、フラットパネルディスプレイや、ヘッドマウントディスプレイ、プロジェクターなど、画像を表示させる装置で実現される。
【0146】
通信制御部294sは、データ通信に係るデータ処理を実行し、通信部394sを介して外部装置とのデータのやりとりを実現する。通信部394sは、ネットワーク9と接続して通信を実現する。例えば、無線通信機、モデム、TA(ターミナルアダプタ)、有線用の通信ケーブルのジャックや制御回路等によって実現される。
図1の例では通信装置1153がこれに該当する。
【0147】
図10は、記憶部500sに記憶されるプログラムやデータの例を示す図である。
記憶部500sは、処理部200sにサーバサイドシステム1010を統合的に制御させるための諸機能を実現するためのプログラムや各種データ等を記憶する。また、記憶部500sは、処理部200sの作業領域として用いられ、処理部200sが各種プログラムに従って実行した演算結果などを一時的に記憶する。この機能は、例えばRAMやROMなどのICメモリ、ハードディスク等の磁気ディスク、CD-ROMやDVDなどの光学ディスク、オンラインストレージなどによって実現される。
図1の例では、ポータルサーバシステム1100Pやサービスサーバシステム1100Gの本体装置1101が搭載するICメモリ1152やハードディスクなどの記憶媒体がこれに該当する。オンラインストレージを記憶部500sに含めてもよい。
【0148】
記憶部500sは、サーバプログラム501と、配信用クライアントプログラム502と、仮想空間初期設定データ510と、自動カスタムパーツ群定義データ550と、短縮メニュー設定データ560と、ユーザ情報600と、仮想空間管理データ700と、サービス提供管理データ730と、提供状況記録データ770と、を記憶する。なお、記憶部500sは、その他のプログラムやデータ(例えばタイマーや、カウンタ、各種フラグ、現在日時、など)も適宜記憶する。
【0149】
サーバプログラム501は、ポータルサーバシステム1100P用のポータルサーバプログラム501p、サービスサーバシステム1100G用のサービスサーバプログラム501gを含む。サーバサイドシステム1010は、サーバプログラム501を処理部200sが読み出して実行することで、ユーザ情報管理部202から提供状況再現制御部216までの機能を実現する。ポータルサーバプログラム501pはポータルサーバシステム1100Pを構成する場合に記憶し、サービスサーバプログラム501gはサービスサーバシステム1100Gを構成する場合に記憶するとしてもよい。
【0150】
配信用クライアントプログラム502は、ユーザ端末1500へ提供されて実行されるクライアントプログラムのオリジナルである。
【0151】
仮想空間初期設定データ510は、仮想空間3に係る各種設定データを格納して、仮想空間3の具体的な構成を決めている。
【0152】
具体的には、例えば
図11に示すように、仮想空間初期設定データ510は、仮想空間3で提供されるサービス毎に用意されるサービス登録データ512を含む。1つのサービス登録データ512は、(1)サービスID514と、(2)サービス管理サーバID516と、(3)サービス管理サーバID516が示すサービスサーバシステム1100Gへアクセスするためのサーバアクセス情報518と、(4)当該サービスが標準型であるか没入型かを示すサービス種類520と、(5)当該サービスに対応づけられている仮想スポット6の範囲を示す仮想スポット座標データ522と、(6)店舗オブジェクト定義データ524と、(7)挙動条件定義データ526と、(8)サービス提供状況判定基準データ528と、(9)混雑時周辺配置用範囲529と、(10)自動制御定義データ530と、(11)サービス提供用初期設定データ540と、を含む。勿論、これら以外の情報も適宜含めることができる。
【0153】
仮想スポット座標データ522は、仮想空間3の座標系における仮想スポット6の基準点又は範囲を特定するデータである。仮想スポット6内に、ゲーム装置8(
図3参照)のように、個別にサービスを提供するための見かけ上の位置が更に設定されている場合には、その位置座標もここに含まれている。
【0154】
店舗オブジェクト定義データ524は、仮想スポット6を仮想空間3に設置された店舗(又はそれに相当するもの)として見せるための建物オブジェクトを定義する各種データを格納する。例えば、オブジェクトモデルの定義データ、店舗内の定義データ、店員アバターの設定データ、などを含む。仮想スポット6がゲームセンターの場合、店舗内の定義データにゲーム装置8(
図3参照)のオブジェクトの定義データも含める。
【0155】
挙動条件定義データ526は、当該サービスの提供を開始するために満たされるべき条件を記述するデータであって、当該サービスの仮想スポット6にて、アバター4が提供を享受するためになすべき挙動についての条件を示す。例えば、仮想スポット6がゲームセンターの場合(
図3参照)、挙動条件は、「ゲーム装置8に着座する挙動」を実行した後に「ゲーム装置8に硬貨を投入する挙動」を実行する、ように記述される。例えば、仮想スポット6が雑貨店の場合、挙動条件は、「商品を手にとる挙動」「商品を手に持ったままレジに移動する挙動」の2つを必須とするように記述される。つまり、挙動条件定義データ526は、当該サービスの提供を受けるためにアバター4が行うべき開始手続挙動を定義しているといえる。
【0156】
サービス提供状況判定基準データ528は、サービス提供状況が判定するための基準値であって、混雑している状況にあると判定するための混雑判定基準値と、過密状態であると判定するための過密判定基準値、とを格納している。混雑判定基準値に達しているが過密判定基準値に達していない場合に混雑している状況、過密判定基準値に達していると過密状況と判定するように記述される。例えば、サービスがゲームであって仮想スポット6の店舗内の所定数のゲーム装置8が設定されている場合、サービス提供状況判定基準データ528は、サービスを提供中のユーザ数がゲーム装置8の台数を混雑判定基準値とする。また、サービスが雑貨屋などのショッピングの場合であれば、サービス提供状況判定基準データ528は、仮想スポット6の店舗内に見苦しくないある程度の余裕をもってアバター4が移動できる数を混雑判定基準値とする。
【0157】
混雑時周辺配置用範囲529は、サービスの提供状況が混雑している状況にあると判定された場合に、新たに当該サービスの仮想スポット6に転移や出現させるアバター4の配置可能範囲を定義する。仮想スポット6のサービスがゲームの場合、ゲーム装置8の周囲を定義することになる(
図7参照)。
【0158】
自動制御定義データ530は、短縮機能を利用してサービスの提供を受けるユーザのアバター4の自動制御内容を定義する(
図4、
図5参照)。具体的には、混雑時挙動定義データ531、開始手続挙動定義データ532、提供中挙動定義データ533、を含む(
図7参照)。自動制御される挙動の数や内容は、これらに限らず適宜設定可能である。
【0159】
サービス提供用初期設定データ540は、仮想スポット6のサービスを提供するために必要とされる各種データを格納する。
【0160】
仮想スポット6でゲームのサービスを提供する場合、サービス提供用初期設定データ540は、ゲーム空間初期設定データ、ゲームキャラクタ初期設定データ、アイテム初期設定データ、シナリオデータなど、オンラインゲーム実行するのに必要な各種初期設定データが含まれる。仮想スポット6でショッピングのサービスを提供する場合、商品オブジェクトのデータ、商品の配置データ、商品説明データ、商品価格データ、店員NPC設定データ、などのショッピング体験を提供するのに必要な各種データが含まれることになる。
【0161】
図10に戻って、短縮メニュー設定データ560は、短縮機能を実現するための直接操作を定義するデータである。具体的には短縮メニュー画面14(
図4、
図5参照)で表示されるメニュー画面およびメニュー項目を定義する。
【0162】
ユーザ情報600は、所定のユーザ登録手続を経たユーザ毎に用意され、当該ユーザに係る各種データを格納する。1つのユーザ情報600は、例えば、ユーザアカウント、アバター設定データ、個人情報、ログイン履歴データ、サービス別の利用履歴データやセーブデータ、などを格納する。
【0163】
ユーザ情報600に含まれるサービス別の利用履歴データやセーブデータの中身は、サービス内容や利用形態によって適宜設定可能である。例えば、サービスがゲームであれば、プレーヤキャラクタの種類、プレーヤレベル、性別、所持品リスト、購入品リスト、獲得アイテムリスト、フレンドリスト、撃墜数、クリアクエストリスト、成績ランキング、人気ランキング、などを含んでもよい。サービスがショッピングであれば、購入品リスト、当該リストから求められる購入数や購入した商品カテゴリー分布、購入頻度、などを含んでもよい。サービスがライブ演奏であれば、視聴したライブ演奏に係るアーティストのリスト、当該アーティストに類似する(例えば音楽のジャンルなどが共通する)アーティスト、視聴回数、視聴頻度などを含んでもよい。
【0164】
仮想空間管理データ700は、仮想空間3の最新状況を記述する各種データ、仮想空間3に参加しているユーザに係る各種データを格納する。具体的には、例えば
図12に示すように、仮想空間管理データ700は、参加ユーザアカウントリスト701と、不参加ユーザ仮登録データ703と、仮想スポット管理データ705と、アバター管理データ710と、を含む。
【0165】
不参加ユーザ仮登録データ703は、ログイン画面20(
図5参照)で短縮メニュー表示操作アイコン24を選択して、短縮機能を利用する不参加ユーザ毎に作成される。不参加ユーザ仮登録データ703は、例えば、自動的に付与される仮アカウントと、不参加ユーザのユーザ端末1500と通信するための端末アクセス情報、仮アバター設定データ、などを格納する。
【0166】
仮想スポット管理データ705は、仮想スポット6に係るオブジェクト(例えば、店舗オブジェクトやゲーム装置8のオブジェクトなど)の管理データである。
【0167】
アバター管理データ710は、アバター4毎に用意され、当該アバター4の最新の状態を記述する各種データを格納する。具体的には、1つのアバター管理データ710は、アバター4を仮想空間3に配置する都度に自動的に付与される固有のアバターID711と、使用ユーザアカウント712と、仮想空間3におけるアバター位置座標713と、制御モード714と、アバター挙動制御データ715と、提供中サービスID716と、非表示フラグ717と、を含む。勿論、これら以外のデータ(例えば、アバター4が装備している、アバター4が使用しているアイテム等の制御データなど)も適宜含めることができる。
【0168】
使用ユーザアカウント712は、当該アバター4が参加ユーザのユーザキャラクタであれば、参加ユーザのユーザアカウントを格納し、不参加ユーザのユーザキャラクタであれば当該不参加ユーザに暫定的に設定された仮アカウントを格納する。
【0169】
制御モード714は、当該アバター4がユーザの操作に基づいて制御される手動制御状態であるか、コンピュータで自動制御している状態か、を示す。そして、実際のアバター4の制御に係る各種データがアバター挙動制御データ715である。
【0170】
アバター挙動制御データ715は、当該アバター4の挙動制御に係るデータを時系列に所定容量分記憶する。故に、アバター挙動制御データ715は、挙動履歴データでもある。
【0171】
提供中サービスID716は、当該アバター4のユーザへ現在提供中のサービスの識別情報(
図11のサービスID514)を格納する。未提供中は所定の値が格納される。
【0172】
非表示フラグ717は、仮想スポット6が過密状況である場合に、仮想スポット6に配置するアバター4の取捨選択において(
図8参照)、非表示に設定された場合に設定される。初期値は「0(表示する)」である。
【0173】
図10に戻って、サービス提供管理データ730は、仮想空間3でサービス毎に作成され、サービス提供に係る各種のデータを格納する。例えば、1つのサービス提供管理データ730は、サービスIDと、当該サービスを提供中であるユーザを示す提供中ユーザアカウント、個別提供制御データ、などに相当するデータを格納する。サービス提供管理データ730は、サービスサーバシステム1100Gにて記憶するとしてもよい。
【0174】
より具体的には、仮想スポット6のサービスがオンラインゲームである場合、サービス提供管理データ730は実質的にオンラインゲームのプレイデータに相当する。サービス提供管理データ730は、例えば、プレーヤアカウント、ゲーム空間管理データ、プレーヤキャラクタ管理データ、NPC管理データ、プレイ成績データ、などを格納する。データの詳細は、ゲームジャンルやゲーム内容に応じて適宜設定可能である。サービスがショッピングならば、サービス提供管理データ730は、例えば、商品位置データ、商品在庫データ、などを格納する。
【0175】
提供状況記録データ770は、サービス提供が行われる毎にユーザ別に作成され、当該提供状況を再現するための各種データを格納する。1つの提供状況記録データ770は、例えば、提供日時、サービスID、提供先ユーザアカウント、再現データ、を格納する。再現データは、提供状況をどのように再現して見せるかに応じて適宜設定可能である。
【0176】
例えば、仮想スポット6のサービスがオンラインゲームの場合、提供状況記録データ770は、提供日時としてプレイ日時、提供先ユーザアカウントとしてプレーヤアカウント、を格納する。そして、再現データとして、どのゲーム装置8でプレイしたかを示す使用ゲーム装置情報、リプレイデータ(例えば、操作入力履歴や、ゲームに登場するプレーヤキャラク等の制御履歴、ゲーム画像12の録画、など)、プレイ成績データ、プレイ中の会話データ、などを格納するとしてもよい。再現データは、サービス提供中であればゲーム画像12のライブ映像や、ゲーム進行状況データ、であってもよい。ゲームプレイの様子を全再現せずに、ダイジェスト的に複数の静止画を見えるならば、リプレイデータに代えてゲームプレイ画面を断続的に撮影した画像群としてもよい。プレイ中に自動制御されているアバター4の様子も再現対象とするならば、どのタイプの提供中挙動定義データ533(
図10参照)を使用していたかの情報も、再現データに含めるとよい。
【0177】
図13は、ユーザ端末1500の機能構成例を示す機能ブロック図である。ユーザ端末1500は、操作入力部100と、端末処理部200と、音出力部390と、画像表示部392と、通信部394と、端末記憶部500と、を備える。
【0178】
操作入力部100は、ユーザによってなされた各種の操作入力に応じた操作入力信号を端末処理部200に出力する。例えば、プッシュスイッチや、ジョイスティック、タッチパッド、トラックボール、加速度センサ、ジャイロ、などによって実現できる。
【0179】
端末処理部200は、例えばCPUやGPU等のマイクロプロセッサや、ICメモリなどの電子部品によって実現され、操作入力部100や端末記憶部500を含む各機能部との間でデータの入出力制御を行う。そして、所定のプログラムやデータ、操作入力部100からの操作入力信号、ポータルサーバシステム1100Pやサービスサーバシステム1100Gから受信した各種データに基づいて各種の演算処理を実行して、ユーザ端末1500の動作を制御する。
【0180】
端末処理部200は、クライアント制御部260と、計時部280と、音生成部290と、画像生成部292と、通信制御部294と、を有する。
【0181】
クライアント制御部260は、サービス提供システム1000におけるゲームクライアントとしての制御として、ユーザ端末1500をMMIF(マン・マシン・インターフェース)として機能させる各種制御を行う。具体的には、クライアント制御部260は、操作入力情報提供部261と、表示制御部262と、を有する。
【0182】
操作入力情報提供部261は、操作入力部100からの入力に応じて操作入力情報をサービスサーバシステム1100Gへ送信する制御を行う。
【0183】
表示制御部262は、サービスサーバシステム1100Gから受信したデータに基づいて各種画像を表示させるための制御を行う。
【0184】
計時部280は、システムクロックを利用して現在日時や制限時間等の計時を行う。
【0185】
音生成部290は、例えばデジタルシグナルプロセッサ(DSP)や、音声合成ICなどのプロセッサ、音声ファイルを再生可能なオーディオコーデック等によって実現され、楽曲や効果音、各種操作音の音信号を生成し、音出力部390に出力する。音出力部390は、スピーカなど音生成部290から入力される音信号に基づいて音出力(放音)する装置によって実現される。
【0186】
画像生成部292は、クライアント制御部260の制御に基づく画像を画像表示部392へ表示させる画像信号を生成・出力する。
図1の例では、制御基板1550に搭載されるGPU(Graphics Processing Unit)や、グラフィックコントローラ、グラフィックボード、などがこれに該当する。画像表示部392は、フラットパネルディスプレイや、ヘッドマウントディスプレイ、プロジェクターなど、画像を表示させる装置で実現される。
【0187】
通信制御部294は、データ通信に係るデータ処理を実行し、通信部394を介して外部装置とのデータのやりとりを実現する。
【0188】
通信部394は、ネットワーク9と接続して通信を実現する。例えば、無線通信機、モデム、TA(ターミナルアダプタ)、有線用の通信ケーブルのジャックや制御回路等によって実現される。
図1の例では通信モジュール1553がこれに該当する。
【0189】
端末記憶部500は、端末処理部200に所与の機能を実現させるためのプログラムや、各種データ等を記憶する。また、端末処理部200の作業領域として用いられ、端末処理部200が各種プログラムに従って実行した演算結果や操作入力部100から入力される入力データ等を一時的に記憶する。こうした機能は、例えばRAMやROMなどのICメモリ、ハードディスク等の磁気ディスク、CD-ROMやDVDなどの光学ディスクなどによって実現される。
図1の例では、制御基板1550が搭載するICメモリ1552がこれに該当する。
【0190】
具体的には、端末記憶部500は、ユーザ端末1500をクライアント制御部260として機能させるためのクライアントプログラム800(アプリケーションプログラム)と、仮想空間3のユーザ登録手続に伴い記憶されたユーザアカウント802およびログインパスワード804と、現在日時900と、を記憶する。勿論、これら以外のデータも適宜記憶できる。
【0191】
図14から
図17は、サーバサイドシステム1010における処理の流れを説明するためのフローチャートである。
図14に示すように、サーバサイドシステム1010は、ユーザ端末1500からログインリクエストを受信すると(ステップS8のYES)、当該ユーザ端末1500にてログイン画面20(
図5参照)を表示させる(ステップS10)。ログイン画面20においてユーザがログイン操作アイコン22を操作すると、ユーザ端末1500はサーバサイドシステム1010へ所定のログインリクエストを送信する。
【0192】
サーバサイドシステム1010は、ログインリクエストを受信すると(ステップS12のログイン)、ログイン手続処理すなわち仮想空間3への参加受付処理を実行する(ステップS14)。参加受付処理に係り、もしログインユーザが新規のユーザ登録者であるならば(ステップS16のYES)、ログインユーザのアバター4を新規設定する(ステップS18)。そして、サーバサイドシステム1010は、ログインユーザのアバター4を、仮想空間3に設定されるログイン用の初期出現位置に出現させ(ステップS20)、ログインユーザの操作入力に応じた手動制御で、出現させたアバター4の行動制御を開始する(ステップS22)。なお、ログインに伴い出現されたアバター4の提供中サービスID716は「未提供」を示す所定値である。
【0193】
図15に移って、サーバサイドシステム1010は、仮想空間3にあってサービス提供を受けていないアバター4毎にループAを実行する(ステップS30からステップS140)。
【0194】
ループAにおいて、サーバサイドシステム1010は、処理対象アバターの位置座標を各仮想スポット6の仮想スポット座標データ522(
図11参照)と比較して、処理対象アバターが何れかの仮想スポット6へ移動したかを判定する。
【0195】
処理対象アバターが何れかの仮想スポット6にいて(ステップS32のYES)、且つ当該仮想スポット6の挙動条件定義データ526を満たす行動、すなわち開始手続挙動を実行したならば(ステップS34のYES)、サーバサイドシステム1010は、当該サービスのサービス提供状況が混雑又は過密に該当するかを判定する。
【0196】
そして、没入型である場合(ステップS50のYES)、サーバサイドシステム1010は、処理対象アバターのユーザ端末1500において、画面表示を仮想空間画像10からゲーム画像12(サービス画像)へ切り換える(ステップS52)。そして、処理対象アバターの制御を、手動制御から自動制御に切り換え、当該サービスの提供中挙動定義データ533(
図11参照)の何れかをランダムに選択し、それに基づいて行動制御を開始する(ステップS54)。
【0197】
そして、サーバサイドシステム1010は、処理対象アバターのユーザへ、処理対象アバターのいる仮想スポット6にサービスの提供を開始し(ステップS56)、提供状況の記録を開始する(ステップS58)。
【0198】
一方、処理対象アバターが開始手続挙動をしていなくとも(ステップS34のNO)、サーバサイドシステム1010は処理対象アバターのいる仮想スポット6におけるサービス提供状況が混雑又は過密に該当するかを判定する(ステップS40)。
【0199】
混雑又は過密に該当する場合(ステップS40のYES)、つまりユーザから見れば混雑していて当該仮想スポット6でサービス提供を受けることが困難と思える状況である場合には、サーバサイドシステム1010は、処理対象アバターのユーザ端末1500にて混雑時手続省略操作の案内を表示させて当該操作を受け付ける(ステップS42)。
【0200】
混雑時手続省略操作の案内では、「開始手続をしなくてもゲームプレイが可能である」旨の表示とともに、所定の混雑時手続省略操作アイコンを表示させる。
サービス提供を受けるつもりが無く、仮想スポット6に単に寄っただけのユーザは、混雑時手続省略操作アイコンを操作しない。サービス提供を受けるつもりのユーザは、混雑に尻込みせずに混雑時手続省略操作アイコンを操作する。
そして、ユーザが混雑時手続省略操作アイコンの操作をしたならば、(ステップS44のYES)、サーバサイドシステム1010は、ステップS50からステップS58を実行する。
【0201】
ステップS32に戻って、処理対象アバターが何れかの仮想スポット6にいなくとも(ステップS32のNO)、処理対象アバターのユーザ端末1500にてユーザが所定の短縮メニュー呼出操作をすると、当該ユーザ端末1500からサーバサイドシステム1010へ所定の短縮メニュー呼び出しリクエストが送信される(
図4参照)。
【0202】
サーバサイドシステム1010は、当該リクエストを受信すると(ステップS66のYES)、短縮処理を実行する(ステップS68)。勿論、処理対象アバターが仮想スポット6にいた場合も、ユーザが所定の短縮メニュー呼出操作をすると、サーバサイドシステム1010は短縮処理を実行する(ステップS40のNO→ステップS68、ステップS44のNO→ステップS68)。
【0203】
図14に戻って、ログイン画面20(
図5参照)にて短縮メニュー表示操作アイコン24が選択された場合は(ステップS12の短縮メニュー表示;
図5参照)、サーバサイドシステム1010は、当該ユーザがユーザ登録済みであるかを判定する(ステップS80)。
【0204】
そして、登録ユーザでなければ(ステップS80のNO)、当該ユーザを不参加ユーザと見なし、不参加ユーザ仮登録データ703(
図12参照)を新たに作成して(ステップS82)、仮アバター4k(
図6参照)を自動生成してアバター管理データ710(
図12参照)を用意する(ステップS84)。そして、サーバサイドシステム1010は、短縮処理を実行する(ステップS86)。なお、ステップS84の段階では、仮アバター4kはデータとして自動生成されているが仮想空間3には出現されていないので、アバター位置座標713、制御モード714、アバター挙動制御データ715は「未定」を示す所定初期値となる(
図12参照)。
【0205】
図18は、短縮処理の流れを説明するためのフローチャートである。
短縮処理において、サーバサイドシステム1010は、処理対象アバターのユーザ端末1500にて短縮メニュー画面14(
図4参照)を表示させ、サービス選択アイコン16(16a,16b)の何れかを選択する短縮操作を受け付ける(ステップS90)。
【0206】
サーバサイドシステム1010は、短縮操作で選択されたサービスが没入型である場合(ステップS92の没入型)、処理対象アバターのユーザ端末1500の画面表示を、仮想空間画像10からゲーム画像12(没入型サービス用の全画面型サービス画像)へ切り換える(ステップS94)。
【0207】
短縮操作で選択されたサービスが標準型である場合は(ステップS92の標準型)、ユーザは処理対象アバターを介して、仮想スポット6の様子を仮想空間画像10で見ながらサービスの提供を受ける(例えば、ショッピング体験をする)ことになるので、ステップS94は実行されない。
【0208】
サーバサイドシステム1010は、受け付けた短縮操作に対応するサービスの提供状況を判定する(ステップS100)。具体的には、サービス提供管理データ730(
図10参照)或いはアバター管理データ710(
図12参照)からサービスを受けているユーザ数、或いは仮想スポット6にいるアバター数を参照し、サービス提供状況判定基準データ528(
図11参照)の判定基準値に照らして提供状況を判定する。
【0209】
もし、サービス提供状況が混雑している状況・過密状況の何れでも無いならば(ステップS100のNO)、サーバサイドシステム1010は、短縮操作をしたユーザの処理対象アバターを短縮操作で選択されたサービスの仮想スポット6へ転移させる(ステップS102;
図4参照)。不参加ユーザに係りステップS108が実行されると、不参加ユーザの仮アバター4k(アバター4f)が仮想空間3に出現することになる(
図5,
図6参照)。
【0210】
ステップS102の転移・出現の際には、標準の転移・出現を行う。すなわち、仮想スポット6のサービスとしてユーザ個別にサービスを提供する場所が区分けされていて(例えば、ゲーム装置8が設定されていて)、そこに空きがあるならそこへ転移・出現させて配置するとしてもよい。仮想スポット6のサービスが雑貨屋やブティックなど、ユーザ個別にサービスを提供する場所が区分けされていない仮想スポット6の場合には、仮想スポット6の店舗入口前に転移・出現させるとしてもよいし、店舗内の所定位置に転移・出現させるとしてもよい。
【0211】
そして、サーバサイドシステム1010は、処理対象アバターを開始手続挙動および提供中挙動による自動制御を開始する(ステップS104)。
【0212】
もし、サービス提供状況が混雑している状況である場合は(ステップS110の混雑)、サーバサイドシステム1010は、処理対象アバターを混雑時周辺配置用範囲529(
図11参照)へ転移・出現させ(ステップS130)、混雑時挙動による自動制御を開始する(ステップS132)。
【0213】
不参加ユーザに係りステップS130が実行されると、不参加ユーザの仮アバター4kが仮想空間3に出現することになる(
図5,
図6参照)。
また、ステップS130は、標準の転移・出現と比較すると、処理対象アバターが配置される位置が変化することになるので、サービス提供状況に応じた配置変更処理であるともいえる。
【0214】
もし、サービス提供状況が過密状況であるならば(ステップS110の過密)、サーバサイドシステム1010は、処理対象アバターを含む候補アバターを設定して取捨選択をして、処理対象アバターを仮想スポット6に配置して表示するか/配置せずに表示させないかを決定する(ステップS112;
図8参照)。
【0215】
取捨選択の結果、処理対象アバターが配置されるアバターに選ばれた場合(ステップS114のYES)、サーバサイドシステム1010はステップS130とステップS132を実行する。
【0216】
取捨選択の結果、処理対象アバターが配置するアバターに選ばれなかった場合(ステップS114のNO)、サーバサイドシステム1010は、処理対象アバターを仮想スポット6には配置せず非表示に設定し(ステップS116)、仮想モニタ7(
図8参照)などによる提供状況表示の副表示を開始する(ステップS118)。この場合、処理対象アバターは手動制御から自動制御に切り換えるが、そもそも非表示なので行動制御は行わなくてもよい。
【0217】
処理対象アバターを仮想スポット6に転移・出現するか非表示としてその自動制御を開始したならば、サーバサイドシステム1010は、処理対象アバターのユーザに対して、ステップS90で受け付けた短縮操作で選択されたサービスの提供を開始し(ステップS136)、提供状況の記録を開始する(ステップS138)。
【0218】
図15に戻って、短縮処理を終了するとサーバサイドシステム1010は、ループAを終了する(ステップS140)。
【0219】
図16に移って、サーバサイドシステム1010は、各仮想スポット6における最新のサービス提供状況を判定し、過密状況が解消されて混雑している状況へ変化した仮想スポット6があれば(ステップS144のYES)、当該仮想スポット6にて過密状況であったために非表示とされていたアバター4を、当該仮想スポット6の混雑時周辺配置用範囲529(
図11参照;
図7のゲーム装置8の周囲)に出現させて再表示する(ステップS146)。つまり、非表示であったアバター4について、サービスの提供状況に応じて仮想スポット6での配置位置を変更する配置変更処理を行ったことになる。
【0220】
更に、サーバサイドシステム1010は、再表示したアバター4を混雑時挙動による自動制御を開始し(ステップS148)、当該アバター4に係るサービス提供状況の副表示を解除する(ステップS150)。
【0221】
次に、サーバサイドシステム1010は、混雑時挙動による自動制御されているアバター4毎にループBを実行する(ステップS152からステップS170)。
ループBにおいて、サーバサイドシステム1010は、処理対象アバターのユーザへ提供されているサービスの最新の提供状況を判定し、混雑が解消されたならば(ステップS154のYES)、処理対象アバターを空いている個別のサービス提供場所(
図7の例では、空いているゲーム装置8a)に自動で移動させ(ステップS156)、開始手続挙動と提供中挙動で自動制御する(ステップS158)。なお、仮想スポット6に個別のサービス提供場所がそもそも設定されていなければ、ステップS156は省略できる。
【0222】
処理対象アバターのユーザへ提供されているサービスが終了した場合(ステップS160のYES)、サーバサイドシステム1010は、処理対象アバターがユーザ自身のアバター4であるか、言い換えると仮アバター4kであるかを判定する(ステップS162)。
【0223】
処理対象アバターが参加ユーザのアバター4sである場合、又は不参加ユーザのアバター4fであるが当該不参加ユーザはユーザ登録済みである場合(ステップS162のNO)、サーバサイドシステム1010は、処理対象アバターの自動制御を解除して、処理対象アバターのユーザによる手動制御に戻す(ステップS164)。そして、ループBを終了する(ステップS170)。
【0224】
もし、処理対象アバターが仮アバター4kであれば(ステップS162のYES)、サーバサイドシステム1010は処理対象アバターを仮想空間3から消去してそのアバター管理データ710を削除し(ステップS166;
図12参照)、処理対象アバターのユーザの不参加ユーザ仮登録データ703を削除する(ステップS168;
図12参照)。そして、ループBを終了する(ステップS170)。なお、ステップS168を省略して不参加ユーザ仮登録データ703(
図12参照)を消去せずに残して、ステップS82において再利用可能としてもよい。
【0225】
図17に移って、次に、サーバサイドシステム1010は、仮想スポット6にいるアバター4のユーザ端末1500にて所定の提供状況の再現リクエスト操作がなされると、ユーザ端末1500はサーバサイドシステム1010へ所定の再現リクエストを送信する。
【0226】
サーバサイドシステム1010は、再現リクエストを受信すると、仮想スポット6にいるアバターから再現リクエストが有ったと判定し(ステップS190のYES)、当該仮想スポット6のサービスに対応する提供状況記録データ770(
図10参照)を参照して、再現リクエスト操作されたユーザ端末1500にて表示させる再現候補リストを表示させる(ステップS191)。仮想スポット6で提供されるサービスがゲームの場合、再現のリクエスト操作をした参加ユーザは、再現されるゲームプレイ映像の閲覧を要求する閲覧要求ユーザということになる。
【0227】
図19は、再現候補リストの表示例を示す図である。
仮想スポット6で提供されるサービスがゲームの場合、再現候補リスト60は、当該仮想スポット6において現在ゲームプレイをしている或いは過去にゲームプレイをしたユーザであるゲームユーザのうち、どのゲームユーザのどの時点のゲームプレイの映像を閲覧するかの選択候補、つまり閲覧要求操作の選択肢を示し、閲覧対象の選択操作を受け付けるユーザインターフェースとなる。具体的には、再現候補リスト60は、閲覧対象ユーザ選択アイコン62と、閲覧対象プレイ選択アイコン64と、を有する。
【0228】
閲覧対象ユーザ選択アイコン62(62a,62b,…)は、どのゲームユーザのゲームプレイを閲覧するかを選択操作するためのアイコンであって選択候補のゲームユーザ別に設けられる。閲覧対象ユーザ選択アイコン62を選ぶことで、再現リクエスト操作した参加ユーザは、閲覧対象ユーザを指定できる(
図19の例では、閲覧対象ユーザ選択アイコン62cが選択されている)。
【0229】
閲覧対象プレイ選択アイコン64(64a,64b,64c)は、どの時点のゲーム進行状況のゲームプレイの映像を閲覧するかを選択操作するためのアイコンであって、閲覧対象ユーザ選択アイコン62に対応づけて表示される。例えば、閲覧対象ユーザ選択アイコン62を選択操作すると、当該アイコンのゲームユーザに係る閲覧対象プレイ選択アイコン64がポップアップ表示されるとしてもよい。当該ゲームユーザが現在プレイ中であれば、閲覧対象プレイ選択アイコン64には「現在のプレイ」であることを示す表示がなされる。「過去のプレイ」に対応する閲覧対象プレイ選択アイコン64は、過去のプレイが複数記録されている場合には、サブメニュー表示形式などで階層的に提示・選択操作を受け付けるとしてもよい。
【0230】
図17に戻って、サーバサイドシステム1010は、再現リクエスト操作がなされたことを検出すると(ステップS190のYES)、閲覧対象ユーザの選択候補とするゲームユーザを選択する(ステップS192)。
【0231】
具体的には、サーバサイドシステム1010は、仮想スポット6において閲覧要求ユーザ(再現リクエスト操作をした参加ユーザ)のアバター4から所定範囲の他のアバター4(仮アバター4kを含む)を1次選択する。この際、ゲーム装置8の前にいるアバター4は所定範囲の内外にかかわらず全て1次選択するとしてもよい。所定範囲は、仮想スポット6の大きさ・広さ・レイアウトによって適宜設定可能である。仮想スポット6全域としても良いし、アバター4の視界範囲程度としてもよい。
【0232】
サーバサイドシステム1010は、1次選択したゲームユーザのなかから、閲覧要求ユーザと所与の関係条件を満たすゲームユーザを2次選択する。
ここで言う「関係条件」は適宜設定可能であるが、「ユーザ同士の関係性」「ゲーム進行状況の関係性」などを条件に設定することができる。「ユーザ同士の関係性」としては、(1)閲覧要求ユーザにフレンド登録されている、(2)閲覧要求ユーザとゲーム内で一緒にパーティやチームを編成したことがある、(3)閲覧要求ユーザと年齢や所属が同じ又は近い、(4)閲覧要求ユーザと対戦歴がある、などとしてもよい。「ゲーム進行状況の関係性」としては、(1)閲覧要求ユーザのプレーヤキャラクタと同種類のプレーヤキャラクタを使っている、(2)プレーヤキャラクタのレベルや装備構成、スキル構成などが同じ又は類似するプレーヤキャラクタを使っている、(3)閲覧要求ユーザがクリアしたゲームステージをプレイしている、(4)閲覧要求ユーザがクリアしていないゲームステージをプレイしている、としてもよい。
【0233】
「関係条件」は、閲覧要求ユーザが興味を抱きやすいゲームユーザが選ばれるように設定したり、閲覧要求ユーザにとって今後のプレイの参考になるような有益なゲームプレイをする/ゲームプレイをしたゲームユーザが選ばれるように、設定すると好適である。関係性に係る判定をするために、サーバサイドシステム1010は、閲覧要求ユーザおよび1次選択されたゲームユーザそれぞれについて、ユーザ情報600・サービス提供管理データ(ゲーム進行状況の情報を含む。)・提供状況記録データ770を取得・参照する。
【0234】
ゲームユーザの選択にあたっては、関係条件を設定しない構成としてもよい。また、ゲーム装置8の前にいるアバター4(仮アバター4kを含む)は必ず2次選択において選出するとしてもよい。
【0235】
次に、サーバサイドシステム1010は、ステップS192で選択候補として選出されたゲームユーザそれぞれについて、閲覧対象プレイ選択アイコン64の選択候補となるゲームプレイを選択する(ステップS194)。
【0236】
具体的には、2次選択されたゲームユーザが現在プレイ中であれば、これを選択する。過去のプレイについては、時系列順に所定数を選択するとしてもよいし、閲覧要求ユーザの過去のプレイと類似するプレイ(例えば、プレイしているゲームステージが同じ、使用しているプレーヤキャラクタの種類・レベル・構成が同じ又は類似している、など)を類似度が高い順に所定数を選択するとしてもよい。閲覧要求ユーザよりも高成績を挙げた順に所定数選択するとしてもよいし、また、閲覧要求ユーザがクリアしていないゲームステージがクリアされたものを所定数選択するとしてもよい。
【0237】
次に、サーバサイドシステム1010は、閲覧要求ユーザのユーザ端末1500にて再現候補リストを表示させ、再現対象の選択操作(閲覧対象ユーザ、閲覧対象プレイそれぞれの指定操作)を受け付ける(ステップS196)。
【0238】
ユーザ端末1500は、再現対象の操作の結果をサーバサイドシステム1010へ送信する。
サーバサイドシステム1010は、ユーザによる再現対象の選択操作を受け付けると、選択操作された再現候補の提供状況記録データ770に基づいて、閲覧要求ユーザ(再現リクエスト操作したユーザ)のユーザ端末1500にて、現在或いは過去のサービス提供状況の再現表示を行う(ステップS198)。
【0239】
具体的には、例えばサービスがゲームの場合、仮想スポット6におけるアバター4の様子を第三者視点で撮影した映像として、閲覧対象ユーザの閲覧対象プレイのゲームプレイ映像を再現して提供する。つまり、再現表示として、閲覧対象ユーザのアバター4(仮アバター4kを含む)がゲーム装置8の前に座ってゲーム操作をし、当該ゲーム装置8のモニタ部にてゲーム画像が表示されている様子のゲームプレイ映像とする。閲覧対象プレイが過去の提供状況すなわち「現在のプレイ」であれば、ステップS198で再現されるゲームプレイ映像は、ゲーム画像12をリアルタイムに配信、或いは準リアルタイムに配信してユーザ端末1500にて表示としてもよい。過去の提供状況すなわち「過去のプレイ」であれば、過去のゲーム画像12を再現したゲームプレイ映像を表示することになる。
【0240】
なお、仮想空間画像10内での再現表示のさせ方は、適宜設定可能である。例えば、画面内にポップアップウィンドウを表示してもよいし、仮想空間画像10の上に半透明に重畳表示するとしてもよい。また、サービスがゲームの場合は、仮想スポット6におけるアバター4の様子を第三者視点で撮影した映像ではなく、ゲーム画像をゲームプレイ映像として表示するとしてもよい。
【0241】
以上、本実施形態によれば、サービス提供システム1000は、不参加ユーザに対しても、仮想空間3で提供されているサービスが提供可能となり、なおかつ、当該サービスが提供されている仮想スポット6における不参加ユーザも含めたサービスの提供状況を表現する表示制御がなされる。具体的には、アバター4を仮想空間3に自動的に出現させ、更にサービス提供中のアバター4の行動も自動制御してサービス提供を受けている様子も仮想空間3の中で表現できる。参加ユーザは、ログインを経ていない不参加ユーザの存在も仮想空間3内で視覚的に感じることができる。よって、ログイン等の一部の手続を省略して仮想空間内で提供されているサービスをユーザに提供可能にしつつも、当該ユーザの仮想空間内での存在を表現する新たな技術を提供することが可能となる。
【0242】
また、サービス提供システム1000は、サービス提供状況をリアルタイムに表示制御するだけでなく、過去のサービス提供状況を再現表示することもできる。言い換えると、仮想空間3に参加している参加ユーザが、他のユーザ(他の参加ユーザや不参加ユーザ)が仮想空間3のサービスを利用する様子を閲覧できる機能を提供できる。例えば、とある有名なユーザが仮想空間3でゲームプレイする様子を見たいと願う参加ユーザは、リアルタイムにプレイしていたその場にいなかったとしても再現表示によりこれを見ることができる。また例えば、友人がプレイした様子を再現表示で見ることで、再現されたプレイに関して友人と語らうこともできる。仮想スポット6が混雑している場合に、再現提供リストを表示させることで、現実世界であれば他ユーザがサービス提供を受けている様子を見ることができる距離まで近寄れないような混雑状況であっても、他のユーザが当該仮想スポット6でのサービスを利用する様子を見ることができる。
【0243】
〔変形例〕
以上、本発明を適用した実施形態の一例について説明したが、本発明を適用可能な形態は上記形態に限定されるものではなく適宜構成要素の追加・省略・変更を施すことができる。
【0244】
(変形例その1)
例えば、ユーザインターフェースを変更してもよい。
上記実施形態では、短縮メニュー画面14にて複数のサービス選択アイコン16を表示した(
図4、
図5参照)。ユーザは、手続を短縮してサービスの提供を受けるためには、ユーザ端末1500にてクライアントプログラム800を起動させ、短縮メニュー画面14からサービス選択アイコン16を選択操作しなければならない。手続を短縮できる複数のサービスをその都度選択できる点においては優れるが、操作の手間においては更に省略の余地がある。
【0245】
図20に示すように、クライアントプログラム800とは別に、短縮操作に対応する1つのサービスと1対1で対応づけられる短縮用プログラム806(第2のクライアントプログラム)を用意する。クライアントプログラム800および短縮用プログラム806は、どちらもユーザ端末1500のオペレーティングシステム上、単独のアプリケーションとして扱われる。ユーザ端末1500のホーム画面28では、クライアントプログラム800のアプリアイコン40、短縮用プログラム806のアプリアイコン42、がそれぞれ表示される。
【0246】
不参加ユーザは、アプリアイコン42をタッチ操作すれば、ユーザ端末1500は、短縮用プログラム806を実行し、サービスサーバシステム1100Gへアクセスして所定のリクエストを送信する。サービスサーバシステム1100Gは当該リクエストを受信すると、当該ユーザ端末1500へ対してステップS80から処理を開始する(
図14参照)。ユーザから見れば、アプリアイコン42をタッチ操作さえすれば、ユーザ端末1500でゲーム画像12が表示され、ゲームプレイが可能になる。つまり、不参加ユーザは、短縮操作で利用できるサービスは1つしかないが、上記実施形態よりも少ない手数でサービスの提供を受けられることになる。
【0247】
(変形例その2)
例えば、上記実施形態では、サーバサイドシステム1010は、没入型サービスの提供を受けているユーザのアバター4を自動制御している間、
図21に示すように、アバター4xに、外部からそれと分かる識別表示50を付加表示する識別表示制御を実行するとしてもよい。識別表示50のデザインは適宜設定可能であるが、例えばアバター4xの頭上に、ゲームプレイ中である旨を告げるテキストを旋回表示させたり、吹き出し形のオブジェクトで表示してもよい。
【0248】
仮想スポット6にいるがゲームをしていない他のアバター4のユーザは、識別表示50があるアバター4xが友人のアバターであったとしても、識別表示50によってプレイ中であることを一瞥で理解できるので、アバター4xへ声掛けをしたり、触れたりしないであろう。結果として、アバター4xが自動制御されているので声掛けに応答できない状況であっても、好ましく無い事態や不自然に見える事態(例えば、声掛けしたユーザが、アバター4xに無視されて見える事態など)を未然に防ぐことができる。
【0249】
更には、自動制御されている自身のアバター4xが無防備であることを心配するユーザに配慮するために、サーバサイドシステム1010は、他のアバター4が自動制御されているアバター4xへ干渉できないように、
図21に示すように、アバター4xの周囲に不可視(或いは半透明に見える)な障壁52を設定する不干渉制御を実行するとしてもよい。不干渉制御は、仮想空間3の制御上、自動制御されているアバター4xが他のアバター4からの干渉を受けない設定に一時的に切り換える、ことで実現してもよい。
【0250】
(変形例その3)
仮アバター4kの自動生成の際に、サーバサイドシステム1010外からユーザ情報600に相当するデータを参照するとしてもよい。
例えば、
図22に示すように、サーバサイドシステム1010は、同システムには含まれていない外部サーバシステム1200と通信可能である。外部サーバシステム1200は、サービス提供システム1000とは独立した既存のユーザ登録制の外部サービス(例えば、オンラインゲームや、EC(Electronic Commerce)サイトなど)を実現・管理するコンピュータシステムであって、登録ユーザ別の外部ユーザ情報690を記憶している。
【0251】
外部ユーザ情報690は、外部サービス用のユーザアカウント、利用履歴情報、セーブデータ、お気に入り店舗名、フレンド登録情報、などを含む。例えば、オンラインゲームのセーブデータは、プレーヤレベル、プレーヤキャラクタの設定情報、キャラクタの能力情報、所持アイテム情報、などを含んでもよい。オンラインゲームの利用履歴情報は、プレイ履歴、アイテム購入履歴、などを含んでもよい。例えばECサイトの利用履歴情報は、何をいつ購入したか、購入頻度、累積購入金額、などの情報を含んでもよい
【0252】
一方、サーバサイドシステム1010では、サービス登録データ512(
図11参照)に、外部サーバシステム1200へアクセスするための情報(外部サーバアクセス情報)と、外部サーバシステム1200が提供する外部サービス名と、が追加される。
【0253】
サーバサイドシステム1010は、ステップS82(
図14参照)にて不参加ユーザの仮登録する際に、ユーザ端末1500にて、外部サーバシステム1200の外部サービス利用者である場合には、外部サービス用のユーザアカウントの入力を受け付ける。入力された外部サービス用のユーザアカウントは、不参加ユーザ仮登録データ703(
図12参照)の仮登録の仮アカウントに設定される。
【0254】
そして、サーバサイドシステム1010は、ステップS84にて仮アバター4kを自動生成する際に、外部サーバシステム1200へアクセスし、所定のAPI(Application Interface Program)を利用して仮アカウント(外部サービス用のユーザアカウント)の外部ユーザ情報690を外部サーバシステム1200から取得する。そして、取得した外部ユーザ情報690に含まれる情報を、仮アバター4kを自動生成する際の参照情報30(
図6参照)とする。
【0255】
当該変形例の構成によれば、不参加ユーザが外部サーバシステム1200の提供する外部サービスの利用者である場合、当該外部サービスでの利用者名で、当該外部サービスにおける利用状況に応じた仮アバター4kを、仮想スポット6に配置させることができる。
【0256】
なお、当該変形例において、外部サーバシステム1200をサービスサーバシステム1100Gの1つとする構成も可能である。
また、当該変形例では、ステップS168(
図16参照)を省略して、不参加ユーザ仮登録データ703(
図12参照)を消去せずに残して、ステップS82において再利用可能としてもよい。
【0257】
(変形例その4)
また、再現候補リストにて表示する選択候補の抽出に係り、複数の参加ユーザに関する情報を参照するとしてもよい。
例えば、再現リクエスト操作をした参加ユーザのアバター4から仮想スポット6における所定範囲(或いはゲーム装置8から所定範囲)にいるアバター4を抽出し、抽出されたアバター4のユーザ情報600を参照する。そして、それら全てのユーザ情報600における同じ種類の情報に基づいて再現候補リストにて表示する選択候補を抽出する。具体的には、抽出されたアバター4の平均レベルではクリアできないゲームステージについてのゲームプレイについては再現候補リストにて表示する選択候補から除外するとしてもよい。また、抽出されたアバター4の参加ユーザ全員がクリアしたゲームステージのゲームプレイを再現候補リストの選択候補とする、などとしてもよい。なお、所定範囲にいるアバター4の抽出に当たっては、再現リクエスト操作した参加ユーザの関係者ユーザ(例えば、フレンド登録・チーム登録・パーティ登録などで登録されているユーザ)に限定してもよい。
【0258】
また例えば、再現リクエスト操作した参加ユーザのアバター4の仮想スポット6における周囲所定範囲から、当該参加ユーザの関係者ユーザのアバター4(関係者アバター)を検索する。検索された関係者ユーザのユーザ端末1500にて、同じ再現リクエストを表示させて、全員から閲覧対象ユーザおよび閲覧対象プレイの選択を受け付け、多数決の結果から実際に再現する対象を決定するとしてもよい。
【符号の説明】
【0259】
3…仮想空間
4…アバター
4k…仮アバター
6…仮想スポット
8…ゲーム装置
10…仮想空間画像
12…ゲーム画像
14…短縮メニュー画面
16…サービス選択アイコン
20…ログイン画面
22…ログイン操作アイコン
24…短縮メニュー表示操作アイコン
30…参照情報
200s…処理部
206…参加管理部
208…仮想空間管理部
210…参加ユーザ向け提供制御部
212…不参加ユーザ向け提供制御部
214…提供状況表示制御部
216…提供状況再現制御部
220…ゲーム進行状況取得制御部
230…閲覧要求受付制御部
232…第1閲覧対象ユーザ選択部
234…第2閲覧対象ユーザ選択部
236…第3閲覧対象ユーザ選択部
240…ゲームプレイ映像提供制御部
500s…記憶部
501…サーバプログラム
501g…サービスサーバプログラム
501p…ポータルサーバプログラム
502…配信用クライアントプログラム
510…仮想空間初期設定データ
512…サービス登録データ
522…仮想スポット座標データ
526…挙動条件定義データ
528…サービス提供状況判定基準データ
529…混雑時周辺配置用範囲
530…自動制御定義データ
531…混雑時挙動定義データ
532…開始手続挙動定義データ
533…提供中挙動定義データ
560…短縮メニュー設定データ
600…ユーザ情報
700…仮想空間管理データ
701…参加ユーザアカウントリスト
703…不参加ユーザ仮登録データ
705…仮想スポット管理データ
710…アバター管理データ
713…アバター位置座標
715…アバター挙動制御データ
716…提供中サービスID
717…非表示フラグ
730…サービス提供管理データ
770…提供状況記録データ
800…クライアントプログラム
1000…サービス提供システム
1010…サーバサイドシステム
1100G…サービスサーバシステム
1100P…ポータルサーバシステム
1500…ユーザ端末