IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 株式会社コロプラの特許一覧

特開2022-20999サーバ、方法、端末、およびゲームプログラム
<>
  • 特開-サーバ、方法、端末、およびゲームプログラム 図1
  • 特開-サーバ、方法、端末、およびゲームプログラム 図2
  • 特開-サーバ、方法、端末、およびゲームプログラム 図3
  • 特開-サーバ、方法、端末、およびゲームプログラム 図4
  • 特開-サーバ、方法、端末、およびゲームプログラム 図5
  • 特開-サーバ、方法、端末、およびゲームプログラム 図6
  • 特開-サーバ、方法、端末、およびゲームプログラム 図7
  • 特開-サーバ、方法、端末、およびゲームプログラム 図8
  • 特開-サーバ、方法、端末、およびゲームプログラム 図9
  • 特開-サーバ、方法、端末、およびゲームプログラム 図10
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2022020999
(43)【公開日】2022-02-02
(54)【発明の名称】サーバ、方法、端末、およびゲームプログラム
(51)【国際特許分類】
   A63F 13/795 20140101AFI20220126BHJP
   A63F 13/35 20140101ALI20220126BHJP
   A63F 13/533 20140101ALI20220126BHJP
【FI】
A63F13/795
A63F13/35
A63F13/533
【審査請求】未請求
【請求項の数】8
【出願形態】OL
(21)【出願番号】P 2020124325
(22)【出願日】2020-07-21
【新規性喪失の例外の表示】特許法第30条第2項適用申請有り 株式会社コロプラが、2019年8月19日に、雑賀 一翔、河添 啓司が発明したサーバ、方法、端末、およびゲームプログラムについて、その仕様を備えたゲームに関する情報を下記アドレスのウェブサイトに公開した。 https://twitter.com/Stennis_colopl/status/1163368185199919104 株式会社コロプラが、2019年8月19日に、下記アドレスのアプリケーション配信プラットフォームにおいて配信したゲーム・アプリケーション「白猫テニス」を通じて、雑賀 一翔、河添 啓司が発明したサーバ、方法、端末、およびゲームプログラムを利用可能とした。・iOS(Apple社App store) https://itunes.apple.com/jp/app/白猫テニス/id1062497483?mt=8 ・Android(Google社GooglePlay) https://play.google.com/store/apps/details?id=jp.colopl.tennis&hl=ja
(71)【出願人】
【識別番号】509070463
【氏名又は名称】株式会社コロプラ
(74)【代理人】
【識別番号】100142365
【弁理士】
【氏名又は名称】白井 宏紀
(72)【発明者】
【氏名】雑賀 一翔
(72)【発明者】
【氏名】河添 啓司
(57)【要約】
【課題】チーム未所属のユーザとチーム所属のユーザとの交流を促し、チーム所属率およびアクティブ率を向上させる、サーバ、方法、端末、及びゲームプログラムを提供する。
【解決手段】ゲームをプレイするための端末を操作する各ユーザをマッチングさせてゲームを実行させる処理を行うサーバであって、サーバは、記憶部とサーバの動作を制御するよう構成された制御部とを備え、制御部は、ユーザからのチームに属する旨の指定に基づいてチームに属しているユーザを特定可能な特定用情報を記憶部に記憶するステップと、マッチング要求している複数のユーザのうちからマッチングさせるユーザを特定するステップとを実行させ、特定するステップは、特定用情報に基づいてマッチングさせるユーザとして、チームに属している所属ユーザ同士あるいはチームに属していない未所属ユーザ同士を特定するよりも、優先的に所属ユーザと未所属ユーザとを特定する特定制御を行う。
【選択図】図10
【特許請求の範囲】
【請求項1】
ゲームをプレイするための端末を操作する各ユーザをマッチングさせてゲームを実行させる処理を行うサーバであって、
前記サーバは、記憶部と、前記サーバの動作を制御するように構成された制御部とを備え、
前記制御部は、
ユーザからのチームに属する旨の指定に基づいて、チームに属しているユーザを特定可能な特定用情報を前記記憶部に記憶するステップと、
マッチング要求している複数のユーザのうちから、マッチングさせるユーザを特定するステップとを実行させ、
前記特定するステップは、前記特定用情報に基づいて、マッチングさせるユーザとして、チームに属している所属ユーザ同士あるいはチームに属していない未所属ユーザ同士を特定するよりも、優先的に前記所属ユーザと前記未所属ユーザとを特定する特定制御を行う、サーバ。
【請求項2】
前記特定制御は、マッチングさせるユーザとして、前記所属ユーザ同士あるいは前記未所属ユーザ同士を特定することなく、前記所属ユーザと前記未所属ユーザとを特定する制御である、請求項1に記載のサーバ。
【請求項3】
前記制御部は、
前記特定制御により特定されたユーザのうち未所属ユーザの端末において、当該未所属ユーザとマッチングされた所属ユーザが属しているチームへ所属することを促す情報を表示させるための処理を行うステップを実行させる、請求項1または請求項2に記載のサーバ。
【請求項4】
前記特定用情報は、マッチング要求している複数のユーザのうち、前記所属ユーザを特定可能な第1特定用情報と、前記未所属ユーザを特定可能な第2特定用情報とを含み、
前記特定制御において前記所属ユーザにマッチングさせるユーザを特定する際には、前記第2特定用情報に基づき特定される未所属ユーザから特定し、前記未所属ユーザにマッチングさせるユーザを特定する際には、前記第1特定用情報に基づき特定される所属ユーザから特定する、請求項1~請求項3のいずれかに記載のサーバ。
【請求項5】
前記特定するステップは、特定期間においては前記特定制御を行う一方、前記特定期間と異なる期間においては前記特定用情報にかかわらずマッチングさせるユーザを特定する制御を行う、請求項1~請求項4のいずれかに記載のサーバ。
【請求項6】
ゲームをプレイするための端末を操作する各ユーザをマッチングさせてゲームを実行させるゲームシステムにおける方法であって、
前記方法は、前記ゲームシステムが、
ユーザからのチームに属する旨の指定に基づいて、チームに属しているユーザを特定可能な特定用情報を記憶部に記憶するステップと、
マッチング要求している複数のユーザのうちから、マッチングさせるユーザを特定するステップとを含み、
前記特定するステップは、前記特定用情報に基づいて、マッチングさせるユーザとして、チームに属している所属ユーザ同士あるいはチームに属していない未所属ユーザ同士を特定するよりも、優先的に前記所属ユーザと前記未所属ユーザとを特定する特定制御を行う、方法。
【請求項7】
各ユーザをマッチングさせてゲームを実行させる処理を行うサーバを介してゲームするための端末であって、
前記端末は、前記端末の動作を制御するように構成された制御部と、ゲームプログラムを記憶するように構成された記憶部とを備え、
前記制御部は、
ユーザからのチームに属する旨の指定に基づいて、当該ユーザがチームに属していることを特定可能な特定用情報を前記サーバの記憶部に記憶させるための情報を前記サーバに送信し、
ユーザからのマッチング要求を前記サーバに送信し、
マッチング要求している複数のユーザのうちから、前記特定用情報に基づき前記サーバによってマッチングさせるユーザとして、チームに属している所属ユーザ同士あるいはチームに属していない未所属ユーザ同士が特定されるよりも、優先的に前記所属ユーザと前記未所属ユーザとが特定されることにより、前記所属ユーザ同士あるいは前記未所属ユーザ同士よりも、優先的に前記所属ユーザと前記未所属ユーザとでゲームを実行させる、端末。
【請求項8】
各ユーザをマッチングさせてゲームを実行させる処理を行うサーバを介してゲームするための端末において実行されるゲームプログラムであって、
前記端末の動作を制御するように構成されたプロセッサに、
ユーザからのチームに属する旨の指定に基づいて、当該ユーザがチームに属していることを特定可能な特定用情報を前記サーバの記憶部に記憶させるための情報を前記サーバに送信するステップと、
ユーザからのマッチング要求を前記サーバに送信するステップと、
マッチング要求している複数のユーザのうちから、前記特定用情報に基づき前記サーバによってマッチングさせるユーザとして、チームに属している所属ユーザ同士あるいはチームに属していない未所属ユーザ同士が特定されるよりも、優先的に前記所属ユーザと前記未所属ユーザとが特定されることにより、前記所属ユーザ同士あるいは前記未所属ユーザ同士よりも、優先的に前記所属ユーザと前記未所属ユーザとでゲームを実行させるステップとを実行させる、ゲームプログラム。


【発明の詳細な説明】
【技術分野】
【0001】
本発明は、サーバ、方法、端末、およびゲームプログラムに関する。
【背景技術】
【0002】
近年、インターネットなどの通信網を利用して、複数のプレイヤが同一ゲーム内でプレイできるネットワークゲームが普及している。このようなネットワークゲームにおいては、ゲーム内で複数のプレイヤが集まり、グループ(ギルド、パーティ、チームなどともいう)を形成することが知られている。プレイヤは、いずれかのグループに属することにより、グループ特有のイベントに参加することや、イベントをクリアした際にゲーム内で使用可能な様々な報酬を獲得することなどといった特典を得ることが可能となるものがある。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特許第5784852号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
従来のネットワークゲームにおいて、プレイヤがいずれかのグループに属することにより、上記特典を得ることが可能となることやグループ意識が高まるため、ゲームを継続してプレイする動機にも繋がり得る。しかし、グループ未所属のプレイヤにとって、複数のグループが存在し得る中においていずれのグループに属すべきなのか判断・決断し難く、その結果として、自ら進んでグループに参加することが難しくなり、グループに属する所属率を向上させることができない虞があった。
【0005】
本発明は、かかる実情に鑑み考え出されたものであり、その目的は、チーム未所属のユーザとチーム所属のユーザとの交流を促し、チーム所属率およびアクティブ率を向上させる、サーバ、方法、端末、およびゲームプログラムを提供することである。
【課題を解決するための手段】
【0006】
本開示に示す一実施形態のある局面によれば、ゲームをプレイするための端末を操作する各ユーザをマッチングさせてゲームを実行させる処理を行うサーバであって、サーバは、記憶部と、サーバの動作を制御するように構成された制御部とを備え、制御部は、ユーザからのチームに属する旨の指定に基づいて、チームに属しているユーザを特定可能な特定用情報を記憶部に記憶するステップと、マッチング要求している複数のユーザのうちから、マッチングさせるユーザを特定するステップとを実行させ、特定するステップは、特定用情報に基づいて、マッチングさせるユーザとして、チームに属している所属ユーザ同士あるいはチームに属していない未所属ユーザ同士を特定するよりも、優先的に所属ユーザと未所属ユーザとを特定する特定制御を行う。
【発明の効果】
【0007】
本発明によれば、チーム未所属のユーザとチーム所属のユーザとの交流を促し、チーム所属率およびアクティブ率を向上させることができる。
【図面の簡単な説明】
【0008】
図1】ゲームシステムのハードウェア構成を示す図である。
図2】ゲームシステムに含まれるサーバの機能的構成を示すブロック図である。
図3】ゲームシステムに含まれるユーザ端末の機能的構成を示すブロック図である。
図4】ゲームシステムが実現するテニスゲームにおけるゲーム空間の一種である、試合空間の一例を示す図である。
図5】試合中のゲーム画面の一例を示す図である。
図6】ゲーム空間内におけるチームタウンの一例を示す。
図7】ユーザがペアユーザを決定する手順の一例を示す図である。(A)はペアとなる相手を決定するための手段を表示した表示画面の一例を示す図であり、(B)は(A)においてペアをつくるボタンを指定したときの表示画面の一例を示す図であり、(C)は、(B)において友達を呼ぶボタンを指定したときの表示画面の一例を示す図であり、(D)は、(C)においてSNSボタンを指定してSNS上でペアを募集したときの表示画面の一例を示す図である。
図8】ユーザがペアユーザを決定する手順の一例を示す図である。(A)はペアとなる相手を決定するための手段を表示した表示画面の一例を示す図であり、(B)は(A)においておまかせペアボタンを指定したときの表示画面の一例を示す図であり、(C)は、ペアとなる相手が決定されたときの表示画面の一例を示す図であり、(D)は、ユーザ側のペアと対戦相手ユーザ側のペアとが決定されたときの表示画面の一例を示す図である。
図9】対戦が終了したときに表示される表示画面の一例を示す図である。(A)は、チーム所属のユーザ端末に表示される表示画面の一例であり、(B)は、チーム未所属のユーザ端末に表示される表示画面の一例である。
図10】マッチング関連処理の流れの一例を示すフローチャートである。
【発明を実施するための形態】
【0009】
本実施形態において、ユーザは、例えばスマートフォンなどの、タッチスクリーンを搭載した情報処理装置を操作して、ゲームサーバと、スマートフォンとの間でゲームに関するデータを送受信しながらゲームを進行させる。ゲームは、ユーザが一人でプレイするシングルプレイと、ユーザが他のユーザとともにプレイするマルチプレイとに対応する。なお、本発明はこれらの例示に限定されるものではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が本発明に含まれることが意図される。以下の説明では、図面の説明において同一の要素には同一の符号を付し、重複する説明を繰り返さない。
【0010】
<ゲームシステム1のハードウェア構成>
図1は、ゲームシステム1のハードウェア構成を示す図である。ゲームシステム1は図示の通り、複数のユーザ端末100と、サーバ200とを含む。各ユーザ端末100は、サーバ200とネットワーク2を介して接続する。ネットワーク2は、インターネットおよび図示しない無線基地局によって構築される各種移動通信システム等で構成される。この移動通信システムとしては、例えば、所謂3G、4G移動通信システム、LTE(Long Term Evolution)、および所定のアクセスポイントによってインターネットに接続可能な無線ネットワーク(例えばWi-Fi(登録商標))等が挙げられる。
【0011】
サーバ200(コンピュータ、情報処理装置)は、ワークステーションまたはパーソナルコンピュータ等の汎用コンピュータであってよい。サーバ200は、プロセッサ20と、メモリ21と、ストレージ22と、通信IF23と、入出力IF24とを備える。サーバ200が備えるこれらの構成は、通信バスによって互いに電気的に接続される。
【0012】
ユーザ端末100(コンピュータ、情報処理装置)は、スマートフォン、フィーチャーフォン、PDA(Personal Digital Assistant)、またはタブレット型コンピュータ等の携帯端末であってよい。ユーザ端末100は、ゲームプレイに適したゲーム装置であってもよい。ユーザ端末100は図示の通り、プロセッサ10と、メモリ11と、ストレージ12と、通信インターフェース(IF)13と、入出力IF14と、タッチスクリーン15(表示部)と、カメラ17と、測距センサ18とを備える。ユーザ端末100が備えるこれらの構成は、通信バスによって互いに電気的に接続される。なお、ユーザ端末100は、タッチスクリーン15に代えて、または、加えて、ユーザ端末100本体とは別に構成されたディスプレイ(表示部)を接続可能な入出力IF14を備えていてもよい。
【0013】
また、図1に示すように、ユーザ端末100は、1つ以上のコントローラ1020と通信可能に構成されることとしてもよい。コントローラ1020は、例えば、Bluetooth(登録商標)等の通信規格に従って、ユーザ端末100と通信を確立する。コントローラ1020は、1つ以上のボタン等を有していてもよく、該ボタン等に対するユーザの入力操作に基づく出力値をユーザ端末100へ送信する。また、コントローラ1020は、加速度センサ、および、角速度センサ等の各種センサを有していてもよく、該各種センサの出力値をユーザ端末100へ送信する。
【0014】
なお、ユーザ端末100がカメラ17および測距センサ18を備えることに代えて、または、加えて、コントローラ1020がカメラ17および測距センサ18を有していてもよい。
【0015】
ユーザ端末100は、例えばゲーム開始時に、コントローラ1020を使用するユーザに、該ユーザの名前またはログインID等のユーザ識別情報を、該コントローラ1020を介して入力させることが望ましい。これにより、ユーザ端末100は、コントローラ1020とユーザとを紐付けることが可能となり、受信した出力値の送信元(コントローラ1020)に基づいて、該出力値がどのユーザのものであるかを特定することができる。
【0016】
ユーザ端末100が複数のコントローラ1020と通信する場合、各コントローラ1020を各ユーザが把持することで、ネットワーク2を介してサーバ200などの他の装置と通信せずに、該1台のユーザ端末100でマルチプレイを実現することができる。また、各ユーザ端末100が無線LAN(Local Area Network)規格等の無線規格により互いに通信接続する(サーバ200を介さずに通信接続する)ことで、複数台のユーザ端末100によりローカルでマルチプレイを実現することもできる。1台のユーザ端末100によりローカルで上述のマルチプレイを実現する場合、ユーザ端末100は、さらに、サーバ200が備える後述する種々の機能の少なくとも一部を備えていてもよい。また、複数のユーザ端末100によりローカルで上述のマルチプレイを実現する場合、複数のユーザ端末100は、サーバ200が備える後述する種々の機能を分散して備えていてもよい。
【0017】
なお、ローカルで上述のマルチプレイを実現する場合であっても、ユーザ端末100はサーバ200と通信を行ってもよい。例えば、あるゲームにおける成績または勝敗等のプレイ結果を示す情報と、ユーザ識別情報とを対応付けてサーバ200に送信してもよい。
【0018】
また、コントローラ1020は、ユーザ端末100に着脱可能な構成であるとしてもよい。この場合、ユーザ端末100の筐体における少なくともいずれかの面に、コントローラ1020との結合部が設けられていてもよい。該結合部を介して有線によりユーザ端末100とコントローラ1020とが結合している場合は、ユーザ端末100とコントローラ1020とは、有線を介して信号を送受信する。
【0019】
図1に示すように、ユーザ端末100は、外部のメモリカード等の記憶媒体1030の装着を、入出力IF14を介して受け付けてもよい。これにより、ユーザ端末100は、記憶媒体1030に記録されるプログラム及びデータを読み込むことができる。記憶媒体1030に記録されるプログラムは、例えばゲームプログラムである。
【0020】
ユーザ端末100は、サーバ200等の外部の装置と通信することにより取得したゲームプログラムをユーザ端末100のメモリ11に記憶してもよいし、記憶媒体1030から読み込むことにより取得したゲームプログラムをメモリ11に記憶してもよい。
【0021】
以上で説明したとおり、ユーザ端末100は、該ユーザ端末100に対して情報を入力する機構の一例として、通信IF13、入出力IF14、タッチスクリーン15、カメラ17、および、測距センサ18を備える。入力する機構としての上述の各部は、ユーザの入力操作を受け付けるように構成された操作部と捉えることができる。
【0022】
例えば、操作部が、カメラ17および測距センサ18の少なくともいずれか一方で構成される場合、該操作部が、ユーザ端末100の近傍の物体1010を検出し、当該物体の検出結果から入力操作を特定する。一例として、物体1010としてのユーザの手、予め定められた形状のマーカーなどが検出され、検出結果として得られた物体1010の色、形状、動き、または、種類などに基づいて入力操作が特定される。より具体的には、ユーザ端末100は、カメラ17の撮影画像からユーザの手が検出された場合、該撮影画像に基づき検出されるジェスチャ(ユーザの手の一連の動き)を、ユーザの入力操作として特定し、受け付ける。なお、撮影画像は静止画であっても動画であってもよい。
【0023】
あるいは、操作部がタッチスクリーン15で構成される場合、ユーザ端末100は、タッチスクリーン15の入力部151に対して実施されたユーザの操作をユーザの入力操作として特定し、受け付ける。あるいは、操作部が通信IF13で構成される場合、ユーザ端末100は、コントローラ1020から送信される信号(例えば、出力値)をユーザの入力操作として特定し、受け付ける。あるいは、操作部が入出力IF14で構成される場合、該入出力IF14と接続されるコントローラ1020とは異なる入力装置(図示せず)から出力される信号をユーザの入力操作として特定し、受け付ける。
【0024】
<各装置のハードウェア構成要素>
プロセッサ10は、ユーザ端末100全体の動作を制御する。プロセッサ20は、サーバ200全体の動作を制御する。プロセッサ10および20は、CPU(Central Processing Unit)、MPU(Micro Processing Unit)、およびGPU(Graphics Processing Unit)を含む。
【0025】
プロセッサ10は後述するストレージ12からプログラムを読み出し、後述するメモリ11に展開する。プロセッサ20は後述するストレージ22からプログラムを読み出し、後述するメモリ21に展開する。プロセッサ10およびプロセッサ20は展開したプログラムを実行する。
【0026】
メモリ11および21は主記憶装置である。メモリ11および21は、ROM(Read Only Memory)およびRAM(Random Access Memory)等の記憶装置で構成される。メモリ11は、プロセッサ10が後述するストレージ12から読み出したプログラムおよび各種データを一時的に記憶することにより、プロセッサ10に作業領域を提供する。メモリ11は、プロセッサ10がプログラムに従って動作している間に生成した各種データも一時的に記憶する。メモリ21は、プロセッサ20が後述するストレージ22から読み出した各種プログラムおよびデータを一時的に記憶することにより、プロセッサ20に作業領域を提供する。メモリ21は、プロセッサ20がプログラムに従って動作している間に生成した各種データも一時的に記憶する。
【0027】
本実施形態においてプログラムとは、ゲームをユーザ端末100により実現するためのゲームプログラムであってもよい。あるいは、該プログラムは、該ゲームをユーザ端末100とサーバ200との協働により実現するためのゲームプログラムであってもよい。なお、ユーザ端末100とサーバ200との協働により実現されるゲームは、一例として、ユーザ端末100において起動されたブラウザ上で実行されるゲームであってもよい。あるいは、該プログラムは、該ゲームを複数のユーザ端末100の協働により実現するためのゲームプログラムであってもよい。また、各種データとは、ユーザ情報およびゲーム情報などのゲームに関するデータ、ならびに、ユーザ端末100とサーバ200との間または複数のユーザ端末100間で送受信する指示または通知を含んでいる。
【0028】
ストレージ12および22は補助記憶装置である。ストレージ12および22は、フラッシュメモリまたはHDD(Hard Disk Drive)等の記憶装置で構成される。ストレージ12およびストレージ22には、ゲームに関する各種データが格納される。
【0029】
通信IF13は、ユーザ端末100における各種データの送受信を制御する。通信IF23は、サーバ200における各種データの送受信を制御する。通信IF13および23は例えば、無線LAN(Local Area Network)を介する通信、有線LAN、無線LAN、または携帯電話回線網を介したインターネット通信、ならびに近距離無線通信等を用いた通信を制御する。
【0030】
入出力IF14は、ユーザ端末100がデータの入力を受け付けるためのインターフェースであり、またユーザ端末100がデータを出力するためのインターフェースである。
入出力IF14は、USB(Universal Serial Bus)等を介してデータの入出力を行ってもよい。入出力IF14は、例えば、ユーザ端末100の物理ボタン、カメラ、マイク、または、スピーカ等を含み得る。サーバ200の入出力IF24は、サーバ200がデータの入力を受け付けるためのインターフェースであり、またサーバ200がデータを出力するためのインターフェースである。入出力IF24は、例えば、マウスまたはキーボード等の情報入力機器である入力部と、画像を表示出力する機器である表示部とを含み得る。
【0031】
ユーザ端末100のタッチスクリーン15は、入力部151と表示部152とを組み合わせた電子部品である。入力部151は、例えばタッチセンシティブなデバイスであり、例えばタッチパッドによって構成される。表示部152は、例えば液晶ディスプレイ、または有機EL(Electro-Luminescence)ディスプレイ等によって構成される。
【0032】
入力部151は、入力面に対しユーザの操作(主にタッチ操作、スライド操作、スワイプ操作、およびタップ操作等の物理的接触操作)が入力された位置を検知して、位置を示す情報を入力信号として送信する機能を備える。入力部151は、図示しないタッチセンシング部を備えていればよい。タッチセンシング部は、静電容量方式または抵抗膜方式等のどのような方式を採用したものであってもよい。
【0033】
図示していないが、ユーザ端末100は、該ユーザ端末100の保持姿勢を特定するための1以上のセンサを備えていてもよい。このセンサは、例えば、加速度センサ、または、角速度センサ等であってもよい。ユーザ端末100がセンサを備えている場合、プロセッサ10は、センサの出力からユーザ端末100の保持姿勢を特定して、保持姿勢に応じた処理を行うことも可能になる。例えば、プロセッサ10は、ユーザ端末100が縦向きに保持されているときには、縦長の画像を表示部152に表示させる縦画面表示としてもよい。一方、ユーザ端末100が横向きに保持されているときには、横長の画像を表示部に表示させる横画面表示としてもよい。このように、プロセッサ10は、ユーザ端末100の保持姿勢に応じて縦画面表示と横画面表示とを切り替え可能であってもよい。
【0034】
カメラ17は、イメージセンサ等を含み、レンズから入射する入射光を電気信号に変換することで撮影画像を生成する。
【0035】
測距センサ18は、測定対象物までの距離を測定するセンサである。測距センサ18は、例えば、パルス変換した光を発する光源と、光を受ける受光素子とを含む。測距センサ18は、光源からの発光タイミングと、該光源から発せられた光が測定対象物にあたって反射されて生じる反射光の受光タイミングとにより、測定対象物までの距離を測定する。測距センサ18は、指向性を有する光を発する光源を有することとしてもよい。
【0036】
ここで、ユーザ端末100が、カメラ17と測距センサ18とを用いて、ユーザ端末100の近傍の物体1010を検出した検出結果を、ユーザの入力操作として受け付ける例をさらに説明する。カメラ17および測距センサ18は、例えば、ユーザ端末100の筐体の側面に設けられてもよい。カメラ17の近傍に測距センサ18が設けられてもよい。カメラ17としては、例えば赤外線カメラを用いることができる。この場合、赤外線を照射する照明装置および可視光を遮断するフィルタ等が、カメラ17に設けられてもよい。これにより、屋外か屋内かにかかわらず、カメラ17の撮影画像に基づく物体の検出精度をいっそう向上させることができる。
【0037】
プロセッサ10は、カメラ17の撮影画像に対して、例えば以下の(1)~(5)に示す処理のうち1つ以上の処理を行ってもよい。(1)プロセッサ10は、カメラ17の撮影画像に対し画像認識処理を行うことで、該撮影画像にユーザの手が含まれているか否かを特定する。プロセッサ10は、上述の画像認識処理において採用する解析技術として、例えばパターンマッチング等の技術を用いてよい。(2)また、プロセッサ10は、ユーザの手の形状から、ユーザのジェスチャを検出する。プロセッサ10は、例えば、撮影画像から検出されるユーザの手の形状から、ユーザの指の本数(伸びている指の本数)を特定する。プロセッサ10はさらに、特定した指の本数から、ユーザが行ったジェスチャを特定する。例えば、プロセッサ10は、指の本数が5本である場合、ユーザが「パー」のジェスチャを行ったと判定する。また、プロセッサ10は、指の本数が0本である(指が検出されなかった)場合、ユーザが「グー」のジェスチャを行ったと判定する。また、プロセッサ10は、指の本数が2本である場合、ユーザが「チョキ」のジェスチャを行ったと判定する。(3)プロセッサ10は、カメラ17の撮影画像に対し、画像認識処理を行うことにより、ユーザの指が人差し指のみ立てた状態であるか、ユーザの指がはじくような動きをしたかを検出する。(4)プロセッサ10は、カメラ17の撮影画像の画像認識結果、および、測距センサ18の出力値等の少なくともいずれか1つに基づいて、ユーザ端末100の近傍の物体1010(ユーザの手など)とユーザ端末100との距離を検出する。例えば、プロセッサ10は、カメラ17の撮影画像から特定されるユーザの手の形状の大小により、ユーザの手がユーザ端末100の近傍(例えば所定値未満の距離)にあるのか、遠く(例えば所定値以上の距離)にあるのかを検出する。なお、撮影画像が動画の場合、プロセッサ10は、ユーザの手がユーザ端末100に接近しているのか遠ざかっているのかを検出してもよい。(5)カメラ17の撮影画像の画像認識結果等に基づいて、ユーザの手が検出されている状態で、ユーザ端末100とユーザの手との距離が変化していることが判明した場合、プロセッサ10は、ユーザが手をカメラ17の撮影方向において振っていると認識する。カメラ17の撮影範囲よりも指向性が強い測距センサ18において、物体が検出されたりされなかったりする場合に、プロセッサ10は、ユーザが手をカメラの撮影方向に直交する方向に振っていると認識する。
【0038】
このように、プロセッサ10は、カメラ17の撮影画像に対する画像認識により、ユーザが手を握りこんでいるか否か(「グー」のジェスチャであるか、それ以外のジェスチャ(例えば「パー」)であるか)を検出する。また、プロセッサ10は、ユーザの手の形状とともに、ユーザがこの手をどのように移動させているかを検出する。また、プロセッサ10は、ユーザがこの手をユーザ端末100に対して接近させているのか遠ざけているのかを検出する。このような操作は、例えば、マウスまたはタッチパネルなどのポインティングデバイスを用いた操作に対応させることができる。ユーザ端末100は、例えば、ユーザの手の移動に応じて、タッチスクリーン15においてポインタを移動させ、ユーザのジェスチャ「グー」を検出する。この場合、ユーザ端末100は、ユーザが選択操作を継続中であると認識する。選択操作の継続とは、例えば、マウスがクリックされて押し込まれた状態が維持されること、または、タッチパネルに対してタッチダウン操作がなされた後タッチされた状態が維持されることに対応する。また、ユーザ端末100は、ユーザのジェスチャ「グー」が検出されている状態で、さらにユーザが手を移動させると、このような一連のジェスチャを、スワイプ操作(またはドラッグ操作)に対応する操作として認識することもできる。また、ユーザ端末100は、カメラ17の撮影画像によるユーザの手の検出結果に基づいて、ユーザが指をはじくようなジェスチャを検出した場合に、当該ジェスチャを、マウスのクリックまたはタッチパネルへのタップ操作に対応する操作として認識してもよい。
【0039】
<ゲームシステム1の機能的構成>
(サーバ200の機能的構成)
図2は、サーバ200の機能的構成を示すブロック図である。サーバ200は、ゲームを実現するために必要な各種データおよびプログラムを、各ユーザ端末100に提供する機能を有する。サーバ200は、各ユーザ端末100からゲームに関するデータを収集し管理する機能を有する。サーバ200は、複数のユーザ端末100間の同期処理を行う機能を有する。
【0040】
なお、本実施形態では、サーバ200は事前に登録されたゲームのアカウントで各ユーザおよびユーザ端末100を識別する。アカウントの登録方法は特に限定されない。例えば、ユーザ端末100またはパーソナルコンピュータ等の他の装置が、ユーザの操作に従って、ユーザのアカウントの登録に必要な情報をサーバ200に送信すればよい。そして、サーバ200は、受信した情報に基づいて各ユーザのアカウントを作成および保存すればよい。
【0041】
ユーザ端末100がいずれかのアカウントを用いてゲームシステム1のネットワーク2にログインすると、サーバ200はログインしたユーザ端末100を認識する。なお、ログインの方法およびログインに係る処理については特に限定しない。サーバ200およびユーザ端末100は、従来知られたログインの方法およびログインに係る各種処理を行えばよい。
【0042】
サーバ200は、プロセッサ20、メモリ21、ストレージ22、通信IF23、入出力IF24等の協働によって、制御部210および記憶部220として機能する。
【0043】
記憶部220は、制御部210が使用する各種データを格納する。記憶部220はゲームプログラム221と、ゲーム情報222と、ユーザ情報223とを格納している。
【0044】
ゲームプログラム221は、ゲームを実現するためのプログラムである。ゲーム情報222およびユーザ情報223は、ゲームプログラム221が実行されるときに参照されるデータである。
【0045】
なお、ゲームプログラム221は、サーバ200側で実行するゲームプログラムに加えて、ユーザ端末100に送信しユーザ端末100側で実行するプログラム(後述するゲームプログラム121)を含んでいてもよい。もしくは、記憶部220は、サーバ200側で実行するゲームプログラム221と、ユーザ端末側で実行するプログラムとの両方を格納していてもよい。
【0046】
ゲーム情報222は、アカウント間で共通の情報である。ゲーム情報222は、例えば各種ゲーム空間を規定するための情報を含み得る。「ゲーム空間」とは、ユーザが操作可能な操作キャラクタのオブジェクトが配置される空間である。ゲーム情報222は、ゲーム空間内に配置される木・岩・建物等の背景オブジェクトやノンプレイヤキャラクタ(non player character:NPC)のオブジェクトの配置位置、大きさ、色、形状等、アカウント間で共通のオブジェクトに関する各種設定情報を含み得る。ゲーム情報222は、ノンプレイヤキャラクタの各種パラメータの設定値を含み得る。ゲーム情報222はクエストに係る情報を含み得る。ゲーム情報222は、ゲーム空間内において行われる抽選の当選確率に関する情報を含み得る。クエストとは、達成条件が設定されたゲーム内のイベントである。クエスト毎に、達成条件が設定されていてもよい。なお、クエストには達成条件に加え失敗条件が設定されていてもよい。また、以下では、ゲーム空間に配置されたキャラクタのオブジェクトを指して、単に「キャラクタ」と呼称する場合がある。
【0047】
ユーザ情報223は、ゲームのアカウント毎に管理される情報である。ユーザ情報223は例えば、操作可能なキャラクタ(以下、操作キャラクタと称する)に関する情報、チーム所属情報、保有資産に関する情報、およびゲームの進行度合いを示す情報等を含み得る。ここで、保有資産の例としては、例えばゲーム内通貨、アイテム、キャラクタの装備品などが挙げられる。チーム所属情報とは、いずれかのチームに所属しているか否か、所属しているチームの種類などを特定するための情報であって、サーバ200においてユーザ毎に管理されている情報である。なお、チーム所属情報は、ユーザ端末100において管理され、必要に応じて(例えばマッチング要求時など)サーバ200に送信するものであってもよい。
【0048】
制御部210は、記憶部220に格納されたゲームプログラム221を実行することにより、ゲームに関する各種処理を制御する。制御部210は、ゲームプログラム221を実行することにより、送受信部211、データ管理部213、マッチング部215、およびサーバ処理部212として機能する。
【0049】
送受信部211は各種データを送受信する。例えば、送受信部211は、ユーザ端末100からの各種データおよびプログラムの送信要求や、マルチプレイ機能に対応するための同期の要求および同期のためのデータ等を受信し、サーバ処理部212に送る。例えば、送受信部211は、サーバ処理部212からの指示に従って、ユーザ端末100に各種データおよびプログラムを送信する。
【0050】
本実施形態において「マルチプレイ機能」とは、複数のアカウントにおけるゲームの進行を同期させた状態でゲームを進行させる機能である。ゲームシステム1のサーバ200およびユーザ端末100は、ゲームシステム1にログインしているアカウントが複数存在する場合には、マルチプレイ機能に対応するための各種処理を行う。
【0051】
サーバ処理部212は、ゲーム進行に係る各種判定処理を行う。サーバ処理部212は、ゲームを提供するために必要な演算処理を行う。サーバ処理部212は、ユーザ端末100からの要求等に応じて、ゲームプログラム221に記述された演算処理を実行する。
【0052】
例えば、サーバ処理部212は、データ管理部213にゲーム情報222またはユーザ情報223のレコードの追加、更新、または削除を指示する。例えば、サーバ処理部212は送受信部211に各種データまたはプログラムの送信を指示する。例えば、サーバ処理部212は、送受信部211を介しユーザ端末100からマルチプレイ機能に対応するための同期の要求および同期のためのデータを受け取ると、同期処理部214にマルチプレイ機能に対応するための同期処理を行うよう指示する。
【0053】
データ管理部213は、記憶部220に格納されている各種データをサーバ処理部212の指示に従って管理する。例えば、データ管理部213は、サーバ処理部212からの指示に応じてゲーム情報222またはユーザ情報223のレコードを、追加、更新、または削除する。
【0054】
例えば、データ管理部213は、サーバ処理部212からの指示に従って、ゲーム情報222およびユーザ情報223の少なくとも一方を記憶部220から読み出し、送受信部211を介しユーザ端末100に送信する。
【0055】
例えば、データ管理部213は、サーバ処理部212からの指示に従って、ゲームプログラム221のうち、ユーザ端末100側で実行する分のプログラムを記憶部220から読み出し、送受信部211を介しユーザ端末100に送信する。
【0056】
同期処理部214は、サーバ処理部212の指示に従って、ゲームのマルチプレイ機能に対応するための同期処理を行う。同期処理部214は、各アカウントに対応するユーザ端末100から受信する何らかの情報を、他のユーザ端末100に送信することでユーザ端末間の同期を行う。同期処理部214はサーバ200から複数のユーザ端末100に何らかの情報を送信する場合も、各ユーザ端末100に同期して情報を送信する。なお、同期処理部214は、同期のタイミングや同期すべき情報等をサーバ処理部212から受信すればよい。これにより、例えばあるユーザ端末100において行われた入力操作によって引き起こされるゲーム内の作用が、他のユーザ端末100において同期されて示される。
【0057】
マッチング部215は、複数のユーザを関連付けるための一連の処理を行う。マッチング部215は、例えば、ユーザがゲームプレイを行うための入力操作を行った場合に、マッチングを要求する各ユーザ同士を関連付ける処理などを行う。各ユーザ同士を関連付ける処理とは、例えば、ペアを組むユーザを関連付ける処理や、対戦するユーザ(ペア)を関連付ける処理を含む。マッチング部215においては、例えば、通常、他のユーザのレーティング、タワー階数などの他のユーザの実力の指標となる数値がユーザと近いことを条件として、当該条件に該当する他のユーザを優先して検索する(以下、通常の検索条件ともいう)。さらに、本実施形態における特定期間(後述する)においては、当該通常の検索条件に加えてあるいは替えて、ユーザがチーム所属である場合、ペアユーザの対象をチーム未所属の他のユーザが作成した部屋から検索し、ユーザがチーム未所属である場合、ペアユーザの対象をチーム所属の他のユーザが作成した部屋から検索する。当該検索条件に該当する他のユーザの中から乱数抽選でペアユーザを決定(マッチング)する。ここで、レーティングとは、チームメンバーそれぞれに設定されている値である。レーティングは、メンバーの状態によりその値が変化する。例えば、ダブルスの試合で勝てば、勝ったメンバーのレーティングが上がる。また、タワーとは、本テニスゲーム内において採用されている制度であって、1階から最上階までの各階毎に対戦相手キャラクタと試合をし、勝つことにより次に階に行くことができる。レーティング及びタワー階数は、ユーザの実力を示す指標として判断される。各ユーザの習熟度を階層的に分類したランク指標や、各ユーザのレーティング(ゲームプレイの結果に応じて更新される指標)に加えて、チーム所属情報などを参照してマッチングを行う。
【0058】
(ユーザ端末100の機能的構成)
図3は、ユーザ端末100の機能的構成を示すブロック図である。ユーザ端末100は、ユーザの入力操作を受け付ける入力装置としての機能と、ゲームの画像や音声を出力する出力装置としての機能を有する。ユーザ端末100は、プロセッサ10、メモリ11、ストレージ12、通信IF13、および入出力IF14等の協働によって、制御部110および記憶部120として機能する。
【0059】
記憶部120は、ゲームプログラム121と、ゲーム情報122と、ユーザ情報123とを格納する。ゲームプログラム121は、ユーザ端末100側で実行するゲームプログラムである。ゲーム情報122は、制御部110がゲームプログラム121を実行する際に参照するデータであって、サーバ200のゲーム情報222と同様の情報を含んでいる。ユーザ情報123は、ユーザ端末100のユーザのアカウントに関するデータであって、サーバ200のユーザ情報223と同様の情報を含んでいる。
【0060】
制御部110は、記憶部120に格納されたゲームプログラム121を実行することにより、ユーザ端末100を統括的に制御する。例えば、制御部110は、ゲーム情報122に記憶された、ゲーム空間を規定するための情報を参照してゲーム空間を規定する。制御部110は、各種データを送受信する。例えば、制御部110はサーバ200から各種データ、プログラム、およびマルチプレイ機能に対応するための同期のためのデータ等を受信する。例えば、制御部110は、ゲーム情報122またはユーザ情報123の一部または全部や、マルチプレイ機能に対応するための同期の要求をサーバ200に送信する。
【0061】
制御部110は、ゲームプログラム121の記述に応じて、ゲーム進行処理部111、入力操作受付部112、カメラ配置制御部113、表示制御部114、およびオブジェクト制御部115として機能する。
【0062】
入力操作受付部112は、入力部151に対するユーザの入力操作を検知し受け付ける。入力操作受付部112は、タッチスクリーン15およびその他の入出力IF14を介したコンソールに対してユーザが及ぼした作用から、いかなる入力操作がなされたかを判別し、その結果を制御部110の各要素に出力する。
【0063】
例えば、入力操作受付部112は、入力部151に対する入力操作がなされた場合、入力位置の座標および操作の種類を検知する。例えば、入力操作受付部112は、タッチ操作、スライド操作、スワイプ操作、およびタップ操作等を検知する。入力操作受付部112は、連続して検知されていた入力が途切れると、タッチスクリーン15から接触入力が解除されたことを検知する。
【0064】
ゲーム進行処理部111は、ゲームの進行に係る各種処理を行う。例えば、ゲーム進行処理部111は、入力操作受付部112が受け付けた入力操作の入力位置の座標と操作の種類とから示されるユーザの指示内容を解釈する。例えば、ゲーム進行処理部111は、ゲーム情報122またはユーザ情報123の追加、更新、または削除を行う。例えば、ゲーム進行処理部111は、ゲームの進行に係る各種判定処理を行う。
【0065】
カメラ配置制御部113は、ゲーム空間のうちユーザに提示する領域を指定するための仮想カメラを規定する。カメラ配置制御部113は、仮想カメラのゲーム空間内での位置および向きを規定することにより、仮想カメラをゲーム空間に仮想的に配置する。さらに、カメラ配置制御部113は、仮想カメラで規定される視野領域および当該視野領域に配置されているオブジェクトを描画した画像を作成するよう、表示制御部114に指示する。
【0066】
なお、カメラ配置制御部113は、仮想カメラの位置および向きを、ゲーム空間毎に適宜決定してよい。例えば、カメラ配置制御部113は特定のオブジェクトの位置や向きを基準として、当該オブジェクトが特定の向きで視野領域の中央に写るように、当該オブジェクトから一定の方向、距離、および角度で仮想カメラを配置してもよい。特定のオブジェクトとは、例えばユーザ端末100で操作キャラクタのオブジェクトであってもよいし、ノンプレイヤキャラクタ等他のキャラクタを示す動的なオブジェクトであってもよいし、建物や木、石などを示す静的なオブジェクトであってもよい。ここで、ゲーム空間における動的なオブジェクトには、ゲームプログラム121および221に基づいて動作するキャラクタ(例えば、ノンプレイヤキャラクタ、敵キャラクタなど)とユーザによる操作に基づいて動作する操作キャラクタとが含まれる。
【0067】
表示制御部114は、表示部152に画像を表示させる。例えば、表示制御部114は、ゲーム空間のうち、カメラ配置制御部113が規定する仮想カメラの視野の領域と、当該領域に存在するオブジェクトとを描画した画像を生成し、表示部152に表示させる。さらに、表示制御部114は、このような画像に、アイコン、ボタン、各種パラメータを示すメニュー等、ゲームの種々の操作に必要なUI(user interface)に係るオブジェクトを重畳して描画してもよい。
【0068】
オブジェクト制御部115は、ゲーム情報122に含まれる、オブジェクトの設定情報に基づきゲーム空間にオブジェクトを配置する。オブジェクト制御部115は、ゲーム空間に配置したオブジェクトを制御する。例えば、オブジェクト制御部115は、オブジェクトのゲーム空間内での位置、向き、形状、色等を変更したり、オブジェクトに所定の一連の動作を行わせたりする。
【0069】
なお、ゲームシステム1は、ユーザ端末100が備える機能の少なくとも一部をサーバ200が備えるように構成されていてもよい。ゲームシステム1は、サーバ200が備える機能の少なくとも一部をユーザ端末100が備えるように構成されていてもよい。さらに、ユーザ端末100およびサーバ200以外の他の装置をゲームシステム1の構成要素とし、該ハードウェアにゲームシステム1における処理の一部を実行させてもよい。すなわち、本実施形態においてゲームプログラム121および221を実行するコンピュータは、ユーザ端末100、サーバ200、および他の装置の何れであってもよい。
【0070】
<ゲーム概要>
(ゲーム空間とオブジェクトおよび仮想カメラの配置)
図4は、テニスゲームにおけるゲーム空間の一種である、試合空間の一例を示す図である。テニスゲームの試合は、X軸、Y軸、Z軸の3軸を座標軸とする3次元の試合空間で進行する。図4の状態(A)は、試合空間をXZ平面と平行な視点から見た場合の、各種オブジェクトおよび仮想カメラ330の配置例を示している。図4の状態(B)は、試合空間をZY平面と平行な視点から見た場合の、各種オブジェクトおよび仮想カメラ330の配置例を示している。なお、以降の説明では、一度部材番号を付して説明したオブジェクトについて再び言及する際は「オブジェクト」という文言を極力省略して記載する。例えば「操作キャラクタのオブジェクト310」について再び言及する際は、単に「操作キャラクタ310」と称する。
【0071】
オブジェクト制御部115は、テニスコートを示す略平面状のオブジェクト300を、試合空間のXZ平面と略平行に配置する。また、オブジェクト制御部115は、テニスコート300を長手方向に二分するように、ネットを示すオブジェクト303を配置する。オブジェクト制御部115は、自ユーザにより操作される操作キャラクタのオブジェクト(第1オブジェクト)310と、対戦相手である他ユーザにより操作される対戦相手キャラクタのオブジェクト(他のオブジェクト)320とを、テニスコート300に配置する。例えば、オブジェクト制御部115は、操作キャラクタ310を、コート301およびその周辺領域(第1の領域)に配置する。また、オブジェクト制御部115は、対戦相手キャラクタ320をコート302およびその周辺領域(第2の領域)に配置する。換言すると、第1の領域は、操作キャラクタ310が移動可能な領域であり、第2の領域は、対戦相手キャラクタ320が移動可能な領域である。コート301およびコート302の周辺領域は、例えばそれぞれのコートのベースラインの外側およびサイドラインの外側の、所定の範囲である。
【0072】
カメラ配置制御部113は、ゲーム空間内に仮想カメラ330を配置する。仮想カメラ330の位置および角度は特に限定されない。例えば、カメラ配置制御部113は、テニスコート300全体と、全てのキャラクタが写るような位置および角度で仮想カメラ330を配置する。
【0073】
なお、対戦相手のユーザ端末100においては、当該対戦相手により操作されるキャラクタが操作キャラクタ310となる一方、自ユーザにより操作されるキャラクタが対戦相手キャラクタ320となって、本実施形態のテニスゲームが当該対戦相手のユーザ端末100により実行される。
【0074】
(試合時の基本動作)
テニスゲームは、実際のテニスの試合と同様に、1ゲームが複数のポイントから成る。1ポイントは、操作キャラクタ310または対戦相手キャラクタ320のサーブから始まる。操作キャラクタ310または対戦相手キャラクタ320は、それぞれボール340を対戦相手のコートに向けて返球し合う。いずれかのキャラクタが返球に失敗すると、対戦相手に得点が付与される。
【0075】
図5は、テニスゲームにおけるダブルスでの試合中にタッチスクリーン15に表示される表示画面のうちの一部のオブジェクトを示している。タッチスクリーン15にはゲーム画面として、例えばテニスコート300全体、操作キャラクタ310、味方キャラクタ311(ペアを組んだキャラクタ)、ならびに対戦相手キャラクタ320、対戦相手ペアキャラクタ321を含む画像が表示される。タッチスクリーン15に対し所定の入力操作が行われると、オブジェクト制御部115は、操作キャラクタ310に各種動作を行わせる。各種動作には、サーブ開始位置の移動動作、トス動作、サーブ動作、味方ペア(操作キャラクタ310、味方キャラクタ311)と対戦相手ペア(対戦相手キャラクタ320、対戦相手ペアキャラクタ321)とがボール340を交互に打ち合うラリー中における移動動作、打球動作等を含む。ユーザは、ゲームの進行状況に応じた態様で入力操作を行うことにより、ゲームの進行状況に応じた動作を操作キャラクタ310に行わせることができる。ラリーは、味方ペアまたは対戦相手ペアがボール340をサーブすることにより開始され、味方ペアまたは対戦相手ペアが返球に失敗(例えば、ボール340を返球できなかった場合、返球したボール340がネットあるいはアウトとなった場合など)することにより終了する。以下、操作キャラクタ310を例にとり、ラリー中における操作キャラクタ310の各種動作について説明する。
【0076】
なお、タッチスクリーン15に対するタッチ操作の履歴は、図示しない履歴情報テーブルにより管理される。タッチ操作の位置、操作態様(タップ操作、ロングタップ操作、フリック操作、ドラッグ操作等)等は、当該履歴情報テーブルに基づいて特定される。ここで、タップ操作とは、ユーザがタッチスクリーン15に対して手指等を接近させる接近操作をした後に、接近操作をした位置でリリース操作を行うことである。ロングタップ操作とは、ユーザがタッチスクリーン15を押し続ける操作である。フリック操作とは、ユーザがタッチスクリーン15において接近操作を維持しつつ、接近操作をした位置を短時間で移動させてリリース操作を行う一連の操作である。ドラッグ操作とは、ユーザがタッチスクリーン15に手指等を接近させた状態を維持したまま、当該手指等をスライドさせる操作である。
【0077】
なお、タッチスクリーン15に対し入力操作を行うための指示体は特に限定されない。例えば、指示体はユーザの手指であっても、スタイラスペン等であってもよい。本実施形態では、指示体としてユーザの手指を用いることとする。また、本実施形態では、入力操作受付部112は、特別に記載しない限り、タッチスクリーン15上のあらゆる位置で行われた入力操作を受け付けることとする。
【0078】
オブジェクト制御部115は、操作キャラクタ310がサーブ権を持つ場合、エンドラインに沿った既定位置に操作キャラクタ310を配置する。入力操作受付部111が左右へのドラッグ操作を受け付けると、ゲーム進行処理部112は、該ドラッグ操作がサーブ開始位置の移動動作の指示であると特定する。移動制御部113はドラッグ操作から移動方向、移動速度、および移動距離の少なくともいずれかを決定する。オブジェクト制御部115は、移動制御部113の決定内容に従って、操作キャラクタ310をエンドラインに沿って左右に移動させる。これにより、ユーザは操作キャラクタ310のサーブのコースを調整することができる。操作キャラクタ310がサーブ権を持っており、入力操作受付部111がタップ操作を受け付けた場合、ゲーム進行処理部112は、該タップ操作がトス動作の指示であると特定する。
【0079】
オブジェクト制御部115は当該指示に従って、操作キャラクタ310にトス動作を行わせる。また、オブジェクト制御部115は、ボールオブジェクト340をトス動作に合わせて出現および移動させる。トス動作とは、ボール340をトスアップする動作である。オブジェクト制御部115は、操作キャラクタ310がボール340をトスアップしたように見えるよう、ボール340を移動させる。例えば、オブジェクト制御部115はボール340を、放物線を描くように上昇および下降させる。トス動作の間に入力操作受付部111がタッチ操作を受け付けると、ゲーム進行処理部112は、当該タッチ操作を、サーブ動作の指示であると特定する。オブジェクト制御部115は当該指示に従って、操作キャラクタ310にサーブ動作を行わせる。例えば、オブジェクト制御部115は操作キャラクタ310にラケットを振らせる。また、オブジェクト制御部115は、ボール340を該ラケットの動きに応じて対戦相手ペア側のコートに移動させる。
【0080】
本実施形態においては、操作キャラクタ310が行うショットの種類を、ボタンアイコン(図示せず)に対するタッチ操作により選択できる。当該ショットの種類としては、ノーマルショットとスーパーショット(Super Shot、以下SSとも略す)、および、ギアショットとが設けられている。
【0081】
ノーマルショットには、スピン系のショット、ロブ系のショット、およびスライス系のショットが設けられている。スピン系のショットとは、ボール340を縦方向に正回転させながら対戦相手のコートに向かって返球するショットをいう。ロブ系のショットとは、対戦相手のコートの後方(深い位置)へ落ちるように高く緩いボールを山なりで返球するショットをいう。スライス系のショットとは、ボール340を縦方向に逆回転させながら対戦相手のコートに返球するショットをいう。
【0082】
スーパーショットは、複数種類のキャラクタのうちから操作キャラクタ310として選択しているキャラクタの種類に応じて予め関連付けられているスキル発動に伴って行われるショットである。スーパーショットが発動されると、操作キャラクタ310にとって有利な態様でボール340が打ち返される。例えば、ボール340は、ノーマルショット時には発生しない特殊な軌道で、対戦相手のコートに移動する。
【0083】
ギアショットは、ギア(ラケット)の種類に応じて設けられている。ユーザは、ギア(ラケット)を操作キャラクタ310に装備させることにより、操作キャラクタ310は対応するギアショットを打つことができる。ギアショットが発動されると、操作キャラクタ310にとって有利な態様でボール340が打ち返される。例えば、ボール340は、ノーマルショット時よりも球威が増した状態で、対戦相手のコートに移動する。
【0084】
(チームの所属について)
各ユーザはテニスゲームにおいて、チームに所属することができる。各ユーザは自己の操作するキャラクタを介してゲームに参加しているため、チームは、1体以上のキャラクタが所属する集団であるともいえる。ユーザは、すでに存在するチームに加入するか、自らチームを設立することにより、チームに所属することができる。
【0085】
ユーザ端末100は、チームに加入するための所定の手順の操作を受け付けた場合、該ユーザ端末100のユーザを、他のユーザが設立したチームに加入(所属)させる。また、ユーザ端末100は、所属したチームから脱退するための所定の手順の操作に応じて、ユーザが設立またはユーザが加入したチームから脱退することもできる。なお、ユーザは必ずしもチームへ所属する必要はない。しかしながら、チームに所属していないユーザは、試合の際に後述するチーム強化の恩恵などの所定の特典を受けることができない点において、チームに所属しているユーザよりも不利となり得る。
【0086】
ユーザ端末100は、チームを設立するための所定の手順の操作を受け付けた場合、当該ユーザが所属するチームを新たに設立する。ユーザ端末100は、テニスゲームにおいて特定の条件が満たされている場合にチームの設立を許可してもよい。「特定の条件」とは、例えば、テニスゲームにおけるユーザのレベル等、ユーザ情報123に含まれるいずれかのパラメータが所定値を超えていることであってもよい。また「特定の条件」とは、ユーザ情報123が示すゲーム内通貨(ポイントなど)が所定値以上あることであってもよい。
【0087】
ユーザがいずれかのチームに加入してチーム所属となった場合やチームから脱退してチーム未所属となった場合(初めからチームに加入せずにチーム未所属である場合を含む)、ユーザ端末100の制御部110は、現在における当該ユーザのチーム所属情報(特定用情報)を記憶部121(ユーザ情報123)に記憶(更新)するとともに、当該チーム所属情報を通信IF13を通じてサーバ200に送信される。サーバ200の制御部210は、通信IF23で受信した当該チーム所属情報を記憶部220(ユーザ情報223)に記憶する。これにより、ユーザからのチームに属する旨の指定に基づいて、チームに属しているユーザを特定可能なチーム所属情報(特定用情報)が記憶部220(ユーザ情報223)に記憶・更新される。
【0088】
(チームタウン(チーム空間))
ユーザ端末100のオブジェクト制御部115は、所定の入力操作を受け付けると、操作キャラクタ310をチーム空間に配置する。チーム空間は、ゲーム空間の一種であり同じチームに所属しているユーザが共有するゲーム空間である。
【0089】
図6はゲーム空間の一種であるチームタウン(以下チーム空間ともいう)の一例を示す図である。チーム空間のある平面(XZ平面)に、所定数の矩形領域(グリッド)に区画分けされた領域が示される。なお、このグリッドは実際のゲーム画面で表示されなくてもよい。グリッドに区画分けされた領域は、建物のオブジェクトを配置可能な領域を示している。以下、該領域を「建築可能領域」と称する。
【0090】
チーム空間には、建物のオブジェクトが配置される。建物は、チームの強化状態を示すものである。換言すると、テニスゲームでは、チームの強化状態が、チーム空間に建てられている建物の種類および各建物のレベルによって可視化されているともいえる。チームの強化状態は、ユーザ端末100のユーザ情報123、およびサーバ200のユーザ情報223に記録されている。
【0091】
図6の例では、建築可能領域に建物410、420、および430が配置されている。建物410は建築可能領域の大きさを示す機能を持つ。建物420は、チームに所属するユーザの操作キャラクタ310の性能のうち、特定の性能を向上させる機能を持つ。建物430は、チーム内への呼びかけ等を記載する掲示板(伝言板)の機能を持つ。
【0092】
(チーム強化と報酬アイテムについて)
ダブルスの試合を行った場合、ゲーム進行処理部112は、試合終了後に試合に参加したキャラクタ(味方ペア及び対戦相手ペア)を操作する各ユーザの所属チームに、所定の種類および個数の報酬アイテムを付与する。報酬アイテムとは、チームを強化するために使用される消費アイテムである。報酬アイテムを使用してチームを強化すると、チームの強化状態に応じて当該チームに所属しているユーザが所有するキャラクタの性能・能力が向上する。具体的には、ゲーム進行処理部112は、ユーザ情報123に含まれるチームの強化状態を示す情報を読み出し、当該情報から、チームに所属しているユーザ所有のキャラクタの性能・能力に対する補正値を算出し、該補正値を各キャラクタの対応するパラメータに付加する。付加対象となるパラメータは、例えば、操作キャラクタの移動速度を示すパラメータ、操作キャラクタの打球の強さを示すパラメータ、操作キャラクタのショットの正確さ(ミスショットのし辛さ)を示すパラメータ、操作キャラクタのサーブの強さを示すパラメータ、操作キャラクタの体力を示すパラメータなどが含まれる。これにより、チームに所属するユーザ所有のキャラクタの性能・能力は、チームの強化状態に応じて向上する。このように、チームに所属することにより、ユーザ所有のキャラクタの性能・能力の向上などの特典を受けることができる。また、本実施形態に係るテニスゲームにおいては、チームイベントが発生する。チームイベントとは、チームに所属しているユーザが参加できるイベントであって、例えば、チーム毎に獲得したポイントに応じて特典を付与するイベントが設けられている。この場合、チームに所属する人数(ユーザ数)が多いほど、ポイントを獲得する機会が多くなるため、有利となる。そのため、チーム所属のユーザに対して、チームメンバーを増やすためにチーム未所属のユーザを自身の所属するチームに勧誘するといった動機を生じさせることができる。また、当該特典は、チームに所属するメンバー全員に付与されるので、レーティングやタワー階数が高いユーザが多数在籍するチームに所属することは、初心者(レーティングやタワー階数が低い)にとって特典を獲得できるチャンスとなる。
【0093】
(マッチング処理)
図7図9を用いて、ユーザ同士(ユーザと他のユーザ、対戦相手ユーザと対戦相手ペアユーザ)をマッチングさせる際のユーザ端末100における表示例を説明する。図7は、ユーザがペアユーザを決定する手順の一例を示す図である。図7(A)は、ペアとなる相手(味方キャラクタ)を決定するための手段を表示した表示画面の一例を示す図である。ペアをつくるボタン510は、番号表示部710に表示された番号を他のユーザに通知して、通知に応じた他のユーザをペアを組む相手(以下、ペアユーザともいう)として決定するためのボタン(入力部)である。おまかせペアボタン520は、乱数抽選などにより他のユーザをペアユーザとして決定するためのボタンである。画面中央の番号入力部530は、ユーザがペア番号を入力することにより他のユーザ(ペア番号を通知したユーザ)をペアユーザとして指定するためのボタンである。戻るボタン540は、画面左下の画面表示を一つ前に戻すためのボタンである。
【0094】
図7(B)は、図7(A)においてペアをつくるボタン510を指定したときの表示画面の一例を示す図である。ユーザ端末100の入力操作受付部112は、ペアをつくるボタン510への入力操作(タップ操作)を検知すると、当該検知情報をサーバ200へ送信する。ペアをつくるボタン510が指定されると、図7(A)に示す表示画面から、図7(B)に示す表示画面に移行する。当該表示画面上には、ユーザが試合において操作するキャラクタ310が表示されている。交代ボタン401および402は、現在表示されている操作キャラクタ310と交代させて操作キャラクタとして試合に出場させることができるキャラクタを表している。交代ボタン401、402のいずれかをタッチ操作することにより、タッチ操作した交代ボタンに対応するキャラクタが操作キャラクタ310として表示される。表示されたキャラクタが試合においてユーザが操作する操作キャラクタ310となる。ユーザ名表示部610には、当該ユーザ名が表示される。コート情報表示部630にはコートの情報が表示される。コートの情報とは、コートが、クレー、グラス、ハードなどであることを示す。試合形式表示部640には、試合での勝利条件が表示される。例えば、「5ポイント先取」と表示されていれば、先に5ポイントとった方が勝ちとなる。デュース表示部650には、当該試合において、デュースが「あり」か「なし」かが表示される。デュースが「あり」と表示されているときは、当該試合においてデュースはあるが、「なし」と表示されているときは、当該試合においてデュースはない。SS(スーパーショット)表示部660には、スーパーショットが「あり」か「なし」かが表示される。SS表示部660に「あり」と表示されているときは、当該試合においてスーパーショットが使用可能となる。一方、SS表示部660に「なし」と表示されているときは、当該試合においてスーパーショットが使用不可能となる。図7(B)に示す状態において、コート情報表示部630、試合形式表示部640、デュース表示部650、および、SS表示部660に表示される事項を、ユーザ側で設定変更することはできない。しかし、図7(B)に示す状態において、コート情報表示部630などに表示される事項をユーザ側で設定変更できるようにしてもよい。
【0095】
番号表示部710には、ペアをつくるボタン510を指定したユーザのペア番号(チーム番号あるいは部屋番号ともいう)が表示される。なお、当該ペア番号は、ユーザ端末100の通信IF13を介して、サーバ200に送信される。サーバ200は、当該ペア番号を記憶部220に記憶する。他のユーザが、番号入力部530を用いて、当該ペア番号を入力することにより、ペアをつくるボタン510を指定したユーザのペアユーザとして決定される。なお、当該ペア番号は、ペアをつくるボタン510を指定する毎に異なる数字となる。友達を呼ぶボタン550は、ユーザが友達(例えば、フレンド登録している他のユーザ等)に当該ペア番号を知らせるためのボタンである。準備完了ボタン560は、試合で使用するキャラクタを決定し、変更がない場合にタッチ操作するボタンである。詳細ボタン570は、ユーザが参加する試合の内容を詳細に説明した表示画面を示すボタンである。
【0096】
図7(C)は、図7(B)において友達を呼ぶボタン550を指定したときの表示画面の一例を示す図である。図7(C)では、当該ユーザのペア番号を他のユーザに情報伝達手段(例えば、SNS(Social Networking Service)や建物(掲示板)430)を通じてペア相手となる他のユーザを募集(ペア番号の通知)するためのボタンやペア番号をコピーするボタンが表示されている。ここで、SNSとは、例えば、TWITTER(登録商標)やLINE(登録商標)などのことをいう。図7(D)は、図7(C)においてSNSボタンを選択してSNS上でペアを募集したときの表示画面の一例を示す図である。SNS上で、ペア募集を行うことにより、これを見た友達ユーザに試合の参加を促すことができる。この際に、チーム所属に関するメッセージが追加される。チーム所属に関するメッセージとしては、例えば、ペアをつくるボタン510を指定した(メッセージを送信してペア募集をした)ユーザが、チーム未所属の場合、ペア番号に続いて「チーム探しています」のメッセージが表示され、当該ユーザがチーム所属の場合は、ペア番号に続いて「チームメイト探しています」のメッセージが表示される。なお、メッセージの追加は、ユーザ同士をマッチングさせる特定の期間に行われるものであり、特定の期間が経過した後には行われない。例えば、メッセージの追加は、後述する特定期間に行われ、特定期間以外の期間には行われないようにしてもよい。
【0097】
図8は、ユーザがペアユーザを決定する手順の一例を示す図である。図8(A)はペアとなる相手を決定するための手段を表示した表示画面の一例を示す図である。図8において、図7と同様の符号の説明については省略する。
【0098】
図8(B)は、図8(A)においておまかせペアボタン520を指定したときの表示画面の一例を示す図である。おまかせペアボタン520を指定すると、サーバ200に対しておまかせマッチング要求情報を送信するとともに、図8(B)に示すように表示画面上に「おまかせペアを待っています」と表示される。サーバ200(マッチング部215)は、おまかせマッチング要求情報に基づいてペアユーザ(他のユーザ)を乱数抽選で決定する。具体的には、サーバ200(マッチング部215)は、通常、他のユーザのレーティング、タワー階数などの他のユーザの実力の指標となる数値がユーザと近いことを条件として、当該条件に該当する他のユーザを優先して検索する(以下、通常の検索条件ともいう)。当該条件に該当する他のユーザの中から乱数抽選でペアユーザを決定する。ただし、本実施形態における特定期間においては、通常の検索条件に加えてあるいは替えて、ユーザがチーム所属である場合、ペアユーザの対象をチーム未所属の部屋に加入しているユーザから検索し、ユーザがチーム未所属である場合、ペアユーザの対象をチーム所属の部屋に加入しているユーザから検索する。特定期間中においては、検索条件に該当する他のユーザの中から乱数抽選でペアユーザを決定する。サーバ200の記憶部220には、ユーザからのチーム所属する旨の指定に基づくユーザのチーム所属情報が、記憶されている。特定期間とは、例えば、予め定められた期間であって、ゲーム提供者側において設定されるキャンペーン期間(交流促進期間)のようなものをいう。
【0099】
特定期間においては、おまかせペアボタン520を指定したユーザのチーム所属情報に基づいて他のユーザとマッチングさせるためのゲーム内空間(以下部屋ともいう)を作成する。このとき、おまかせペアボタン520を指定したユーザがいずれかのチームに所属しているときは、おまかせペアボタン520を指定したユーザがチーム所属であるという情報(第1特定用情報)に基づいてチーム所属部屋に当該ユーザを加入させる。一方、おまかせペアボタン520を指定したユーザがチーム未所属であるときは、おまかせペアボタン520を指定したユーザがチーム未所属であるという情報(第2特定用情報)に基づいてチーム未所属部屋に当該ユーザを加入させる。マッチング部215は、おまかせペアボタン520を指定したユーザがチーム所属であるときは、チーム未所属部屋のユーザの中から乱数抽選でペアユーザを決定する。一方、おまかせペアボタン520を指定したユーザがチーム未所属であるときは、チーム所属部屋のユーザの中から乱数抽選でペアユーザを決定する。
【0100】
図8(C)は、ペアとなる相手が決定(マッチング)されたときの表示画面の一例を示す図である。表示画面上にはペアユーザが操作する味方キャラクタ311と、ペアユーザ名表示部620に他のユーザ名とが表示される。図8(C)では、ユーザ、ペアユーザともに、準備完了ボタン560をタッチ操作して準備完了状態となっている。この状態になると、次に対戦相手ペア検索手順に進む。なお、ペアユーザが決定されてから、一定時間ユーザ若しくはペアユーザのいずれかが、準備完了ボタン560をタッチ操作しないとき、または、戻るボタン540をタッチ操作したときは図8(A)の操作からやり直しとなる。ペアが成立しなかったときには、例えば、表示画面上に「ペア不成立」といった表示をしてもよく、また、図8(A)の操作からではなく図8(B)の操作からやり直しされるようにしてもよい。
【0101】
図8(D)は、ユーザ側のペアと対戦相手ユーザ側のペアとが決定されたときの表示画面の一例を示す図である。ユーザ側のペアと対戦相手ユーザのペアとが決定されると、表示画面に、操作キャラクタ310と味方キャラクタ311が表示され、それに対応するユーザ名表示610とペアユーザ名表示部620にそれぞれユーザ名が表示される。また、対戦相手キャラクタ320と対戦相手ペアキャラクタ321が表示され、それに対応する対戦相手ユーザ名表示部810と対戦相手ペアユーザ名表示部820にそれぞれユーザ名が表示される。なお、対戦相手ユーザ側のペアも図7および図8に示す手順でマッチングされたものとなる。なお、対戦相手ユーザ側のユーザ名を匿名表示としたり汎用的な名称として表示する機能を付加することもできる。これにより、対戦相手を対戦時まで分からないようにし趣向を高めることができる。
【0102】
図9は、対戦(試合)が終了したときに対戦に参加していた各ユーザのユーザ端末に表示される表示画面の一例を示す図である。図9においては、対戦に参加したユーザの端末それぞれに他のユーザのコメントが表示される例を示している。なお、図9は、特定期間中において、おまかせペアボタン520を指定してマッチングされて行われた対戦が終了した場合を例示する。図9(A)は、チーム所属のユーザ所有のユーザ端末に表示される表示画面の一例である。図9(A)で示すように、チーム所属のユーザの端末には、ペアを組んだチーム未所属のペアユーザと対戦相手ペアユーザのコメントが表示画面上にそれぞれ表示される。
【0103】
図9(B)は、チーム未所属のユーザ所有のユーザ端末に表示される表示画面の一例である。図9(B)に示すように、チーム未所属のユーザ端末には、ペアを組んだチーム所属のペアユーザおよび対戦相手ペアのそれぞれのコメントとともに、ペアユーザから、ペアユーザが所属するチームに当該ユーザを勧誘するポップアップ910が表示される。このように、チーム未所属のユーザと、チーム所属のユーザとをマッチングさせて、チーム未所属のユーザをチームに所属するよう勧誘するための処理が行われる。
【0104】
<マッチング関連処理フロー>
図10は、マッチングに関連するマッチング関連処理を説明するフローチャートである。なお、マッチング関連処理は、サーバ200等によって実行される。また、以下の説明において、フローチャートを用いて説明する一連の処理ステップの流れは、サーバ200によって実行されるものとして記載しているが、これらの処理ステップの少なくとも一部が、ユーザ端末100によって実行されてもよい。
【0105】
ステップS01では、図7(A)または図8(A)に示す選択画面の一例において、おまかせペアボタンおまかせペアボタン520が指定されたか否かを判定する。おまかせペアボタン520が指定されたと判定されなかったときは、ステップS02に進む。一方、おまかせペアボタン520を指定されたと判定されたときは、ステップS09に進む。ユーザ端末100の入力操作受付部112は、おまかせペアボタン520への入力操作(タップ操作)を検知すると、おまかせマッチング要求情報をサーバ200へ送信する。サーバ200は、おまかせマッチング要求情報を受信すると、おまかせペアボタン520が指定されたと判定する。ユーザ端末100では、おまかせペアボタン520が指定されたと判定すると図8(B)に示すように、ペア検索中の情報(例えば、おまかせペアを待っています)が表示画面上に表示される。一方、サーバ200が、おまかせマッチング要求情報を受信しなかったときは、おまかせペアボタン520を指定されたと判定されない。
【0106】
ステップS02では、ペアをつくるボタン510が指定されたか否かを判定する。ユーザ端末100の入力操作受付部112は、ペアをつくるボタン510への入力操作(タップ操作)を検知すると、当該検知情報およびペア番号情報をサーバ200へ送信する。サーバ200は、ユーザ端末100の入力操作受付部112への入力操作の検知情報を受信すると、ペアをつくるボタン510が指定されたと判定する。ペアをつくるボタン510が指定されたと判定されなかったときは、ステップS03に進む。一方、ペアをつくるボタン510が指定されたと判定されたときは、ステップS04に進む。ペアをつくるボタン510が指定されたと判定されなかったときとは、サーバ200が、ユーザ端末100の入力操作受付部112への入力操作の検知情報を受信しなかったときである。
【0107】
ステップS03では、ユーザからのペア番号入力を検知する。サーバ200は、ユーザ端末100の番号入力部530からペア番号入力情報を受信したときは、ユーザからのペア番号の入力(ペアユーザの指定)があったと検知する。ステップS03の処理が完了すると、ステップS08に進む。
【0108】
ステップS04では、図7(B)に示すペアをつくるボタン510を指定したときの表示画面の一例において、友達を呼ぶボタン550が指定されたか否かを判定する。ユーザ端末100の入力操作受付部112は、友達を呼ぶボタン550への入力操作(タップ操作)を検知すると、友達を呼ぶボタン550への入力操作情報をサーバ200へ送信する。サーバ200は、友達を呼ぶボタン550への入力操作情報を受信すると友達を呼ぶボタン550が指定されたと判定する。友達を呼ぶボタン550が指定されたと判定されたときは、ステップS05に進む。一方、友達を呼ぶボタン550が指定されたと判定されなかったときは、ステップS07に進む。友達を呼ぶボタン550が指定されなかったときとは、サーバ200が、友達を呼ぶボタン550への入力操作情報を受信しなかったときである。
【0109】
ステップS05では、図7(C)に友達を呼ぶボタン550を指定したときの表示画面の一例において、表示されているSNSや建物(掲示板)430を利用してユーザがペアユーザを募集している旨を表示するための処理を行う。その際には、ペアをつくるボタン510を指定したユーザが、チーム未所属のときは「チーム探しています」の表示を追加し、ペアユーザを募集しているユーザが、チーム所属のときは「チームメイト探しています」の表示を追加する(図7(D))。ステップS05の処理が完了すると、ステップS06に進む。
【0110】
ステップS06では、他ユーザからの番号(ペア)入力を検知する。サーバ200は、SNSや建物(掲示板)430などで表示された友達を呼ぶボタン550を指定したユーザのペア番号を他のユーザが入力したことを検知する。当該入力の検知は、当該他のユーザが所有するユーザ端末100からの送信情報に基づいて行われる。サーバ200は、当該ユーザのペア番号を入力した他のユーザをペアユーザとして特定する。ステップS06の処理が完了すると、ステップS08に進む。
【0111】
ステップS07では、他ユーザからの番号(ペア)入力を検知する。ステップS02において、ペアをつくるボタン510を指定したユーザに対応するペア番号の入力を検知する。サーバ200は、当該ユーザのペア番号を入力した他のユーザをペアユーザとして特定する。ステップS07の処理が完了すると、ステップS08に進む。
【0112】
ステップS08では、ステップS03、S06、S07において実行された処理に基づいてペアユーザを決定する。ステップS08の処理が完了すると、ステップS17に進む。
【0113】
ステップS09では、特定期間であるか否かを判定する。特定期間と判定されたときは、ステップS10に進む。特定期間は、ゲーム提供者側において設定されるキャンペーン期間(交流促進期間)のようなものであって、特定期間の情報は、サーバ200の記憶部220に記憶されている。制御部210は、記憶部220に記憶されている情報(ゲーム情報222含む)に基づいて特定期間か判断する。特定期間と判定されなかったときはステップS16に進む。
【0114】
ステップS10では、おまかせペアボタン520を指定したユーザがチーム所属のユーザであるか否か判定する。ユーザがチーム所属のユーザであるか否かは、サーバ200の記憶部220(ユーザ情報223)に記憶されている当該ユーザのチーム所属情報に基づいて判定される。サーバ200は、おまかせペアボタン520を指定したユーザがチーム所属と判定されなかったときは、ステップS11に進む。おまかせペアボタン520を指定したユーザがチーム所属と判定されなかったときとは、ユーザがチーム未所属のときである。一方、おまかせペアボタン520を指定したユーザがチーム所属と判定されたときは、ステップS13に進む。
【0115】
ステップS11では、チーム未所属の当該ユーザをチーム未所属部屋に加入させる。サーバ200のマッチング部215には、チーム所属部屋に対応するチーム所属データテーブルとチーム未所属部屋に対応するチーム未所属データテーブルとが設けられている。おまかせペアボタン520を指定したユーザからのマッチング要求があったときは、ユーザ情報223に記憶されている当該ユーザのチーム所属情報に基づいて、当該ユーザをチーム所属かチーム未所属かのデータテーブルに振り分けてデータテーブルを更新する。ステップS11においては、おまかせペアボタン520を指定したユーザをチーム未所属データテーブルに振り分けて当該データテーブルを更新する。ステップS11の処理が完了すると、ステップS12に進む。
【0116】
ステップS12では、チーム未所属のおまかせペアボタン520を指定したユーザに対し、チーム所属部屋からペアユーザを乱数抽選で決定する。乱数抽選は、チーム所属部屋から当該ユーザとレーティング、タワー階数が近いことなどの条件(通常条件)に基づいて検索されたユーザの中から行われる。ステップS12の処理が完了すると、ステップS15に進む。
【0117】
ステップS13では、チーム所属の当該ユーザをチーム所属部屋に加入させる。おまかせペアボタン520を指定したユーザからのマッチング要求があったときは、ユーザ情報223に記憶されている当該ユーザのチーム所属情報に基づいて、当該ユーザをチーム所属のデータテーブルに振り分けてデータテーブルを更新する。ステップS13の処理が完了すると、ステップS14に進む。
【0118】
ステップS14では、チーム所属のおまかせペアボタン520を指定したユーザに対し、チーム未所属部屋からペアユーザを乱数抽選で決定する。乱数抽選は、チーム未所属部屋から当該ユーザとレーティング、タワー階数が近いことなどの条件(通常条件)に基づいて検索されたユーザの中から行われる。ステップS14の処理が完了すると、ステップS15に進む。
【0119】
ステップS15では、ステップS12またはS14で決定されたペアユーザが重複して決定されないように所属部屋から削除する(検索対象から外す)。マッチング部215は、ステップS12またはS14で決定されたペアユーザを対応する情報をチーム所属データテーブルまたはチーム未所属データテーブルから削除する。ステップS15の処理が完了すると、ステップS17に進む。
【0120】
ステップS16では、おまかせペアボタン520を指定した他のユーザの中から乱数抽選でペアユーザを決定する(図8(C)参照)。乱数抽選は、当該ユーザとレーティング、タワー階数が近いことなど条件に基づいて検索されたユーザの中から行われる。ステップS16では、チーム所属であるかチーム未所属であるかにかかわらずペアユーザが決定される。ステップS16の処理が完了すると、ステップS17に進む。
【0121】
ステップS17では、当該ユーザとペアユーザとが準備完了であるか判定する。準備完了であると判定されたときは、ステップS18に進む。準備完了であると判定されたときとは、当該ユーザとペアユーザとが準備完了ボタン560をタッチ操作したときである(図8(D)参照)。サーバ200は、ユーザ側とペアユーザ側の両方のユーザ端末100から、準備完了ボタン560の入力受付の信号を受信したとき、当該ユーザとペアユーザとが準備完了であると判定する。一方、準備完了であると判定されなかったときは、ステップS01に戻る。準備完了であると判定されなかったときとは、当該ユーザまたは、ペアユーザのいずれかあるいは両方が一定時間準備完了ボタン560をタッチ操作しなかったとき、若しくは戻るボタン540をタッチ操作したときである。サーバ200は、ペアユーザ決定時点から一定時間ユーザ側とペアユーザ側の両方のユーザ端末100から、準備完了ボタン560の入力受付の信号を受信しなかったとき、あるいはペアユーザ決定時点から戻るボタン540を検知した旨の信号をいずれかのユーザ端末100から受信したときは、当該ユーザとペアユーザとが準備完了であると判定しない。
【0122】
ステップS18では、対戦相手ペアとマッチングしたかを判定する。対戦相手ペアとマッチングしたと判定されたときは、味方ペアと対戦相手ペアとの対戦を開始し、ステップS19に進む。対戦相手ペアとマッチングしたと判定されなかったときは、ステップS18の操作を繰り返す(マッチングし直す)。一方、対戦相手ペアとマッチングしたと判定されなかったときとは、例えば、味方ペアと対戦相手ペアとが所定時間マッチングできないときである。ステップS19では、対戦終了したかを判定する。対戦終了したと判定されたときは、ステップS20に進む。対戦終了したと判定されなかったときは、ステップS19の操作を繰り返す(終了したかの確認を繰り返す)。ステップS20では、対戦に参加したユーザの端末それぞれに他のユーザのコメントを表示する(図9参照)。このとき、未所属ユーザの端末には、ペアユーザが属しているチームへの勧誘を促すポップアップを表示する。ステップS20の処理が完了するとマッチング処理は終了する。
【0123】
<本実施形態の効果>
本実施形態によれば、サーバ200は、ユーザからのチームに所属する旨の指定に基づくユーザのチーム所属情報を記憶部220に記憶する。マッチング部215は、おまかせペアボタン520を指定した複数のユーザのうちから、通常の検索条件に基づいてマッチングさせるユーザを特定する。マッチング部215は、特定期間であるときには通常の検索条件に加え、ユーザのチーム所属情報に基づく検索条件を加えて、必ずチーム所属ユーザとチーム未所属ユーザとがペアとなるようにマッチングする(図10のステップS11~S14)。
【0124】
これにより、チーム所属のユーザとチーム未所属のユーザとを必ずマッチングさせることができる。その結果、チーム所属のユーザとチーム未所属のユーザとの交流を促すことでき、チーム所属率およびアクティブ率を向上させることができる。
【0125】
さらに、本実施形態によれば、対戦終了後に、チーム未所属のユーザの端末100に、チーム所属のペアユーザが所属するチームに勧誘するポップアップを表示させる(図10のステップS20)。これにより、チーム未所属のユーザにチームに所属する機会を与え、チーム所属率およびアクティブ率を向上させることができる。
【0126】
また、本実施形態によれば、マッチング部215は、特定期間のときに、おまかせマッチング要求した複数のユーザを当該複数のユーザ各々のチーム所属情報に基づいてチーム所属部屋に対応するチーム所属データテーブルとチーム未所属部屋に対応するチーム未所属データテーブルとに振り分ける(図10のステップS11、S13)。チーム所属のユーザにマッチングさせるユーザを特定する際には、チーム未所属部屋の中からペアユーザを特定し、チーム未所属のユーザにマッチングさせるユーザを特定する際には、チーム所属ユーザ部屋の中からペアユーザから特定する(図10のステップS12、S14)。これにより、チーム所属のユーザとチーム未所属のユーザとを確実にマッチングさせることができ、チーム所属のユーザとチーム未所属のユーザとの交流を促すことにより、チーム所属率およびアクティブ率を向上させることができる。
【0127】
さらに、本実施形態によれば、特定期間においてはチーム所属ユーザとチーム未所属のユーザとのマッチングを行う(図10のステップS11~S14)一方、特定期間と異なる期間においてはユーザがチーム所属か未所属かにかかわらずマッチングさせる(図10のステップS16)ユーザを特定する制御を行う。これにより、特定期間とそれ以外の期間について、マッチング処理のバリエーションを増やすことができる。
【0128】
<変形例>
以上説明した実施形態の変形例などを以下に列挙する。
【0129】
(1) 上記実施形態においては、ユーザと、当該ユーザとペアを組むペアユーザをマッチングさせる際には、チーム所属か否かに基づき、所属ユーザと未所属ユーザとをマッチングさせる例について説明した。しかし、ユーザとペアユーザとについてのマッチングに替えて、例えば、ユーザとペアユーザとについては、チーム所属同士あるいはチーム未所属同士でマッチングさせ、ユーザとペアユーザとがチーム所属同士である場合には、チーム未所属同士となるペアを対戦相手としてマッチングし、ユーザとペアユーザとがチーム未所属同士である場合には、チーム所属同士となるペアを対戦相手としてマッチングするようにしてもよい。ユーザとペアユーザとについては、通常のおまかせ(チーム所属か否かにかかわらず乱数抽選)でマッチングさせ、ユーザがチーム所属ユーザである場合には、チーム未所属ユーザを含むペアを対戦相手としてマッチングし、ユーザがチーム未所属ユーザである場合には、チーム所属ユーザを含むペアを対戦相手としてマッチングするようにしてもよい。
【0130】
(2) 上記実施形態においては、ダブルスの試合においてユーザ同士をマッチングさせるときにチーム所属か否かでマッチングさせる例について説明した。しかし、シングルの試合において、ユーザがチーム所属ユーザである場合には、チーム未所属ユーザを対戦相手としてマッチングし、ユーザがチーム未所属ユーザである場合には、チーム所属ユーザを対戦相手としてマッチングするようにしてもよい。
【0131】
(3) 上記実施形態においては、マッチングに関する技術的事項をテニスゲームに適用した例について説明した。しかし、マッチングに関する技術的事項は、ユーザと他のユーザとをマッチングさせるゲームであれば、テニスゲームに限らず適用でき、例えば、ビーチバレーボールやサッカーなどのスポーツゲームに適用するものであってもよく、スポーツゲームに限らず格闘ゲームやアクションゲーム等に適用するものであってもよい。例えば、格闘ゲームにおいては、4人同時参加で、2対2の試合を行う場合、味方ペアおよび対戦相手ペアをチーム(ギルト、グループなど)所属のユーザとチーム(ギルト、グループなど)未所属のユーザとのマッチングとするようにしてもよい。また、例えば、アクションゲームにおいては、2人で協力してゲーム進行を行う場合、ペアをチーム(ギルト、グループなど)所属のユーザとチーム(ギルト、グループなど)未所属のユーザとのマッチングとするようにしてもよい。
【0132】
(4) 上記実施形態においては、特定期間においては、必ずチーム所属のユーザとチーム未所属のユーザとをマッチングする例について説明した。しかし、これに限らず、特定期間においては、チーム所属のユーザ同士あるいはチーム未所属のユーザ同士をマッチングする割合よりも高い割合で、チーム所属のユーザとチーム未所属のユーザとをマッチングすることにより、チーム所属のユーザとチーム未所属のユーザとを優先的にマッチングするようにしてもよい。
【0133】
(5) 上記実施形態においては、特定期間においてチーム所属のユーザとチーム未所属のユーザとをマッチングする例について説明した。しかし、特定期間に限らず、常に優先的にチーム所属のユーザとチーム未所属のユーザとをマッチングさせるようにしてもよいし、チーム所属か未所属かにかかわらず乱数抽選でマッチングするかチーム所属のユーザとチーム未所属のユーザとをマッチングするかをユーザが選択できるようにしてもよい。また、チーム所属人数が所定数(例えば、50名等)以下のチームに所属するユーザが部屋を作成してマッチングを行う場合に、優先的にチーム所属のユーザとチーム未所属のユーザとをマッチング可能とし、所定数を超えるチームに所属するユーザが部屋を作成してマッチングを行う場合には、チーム所属か否かにかかわらずランダムにマッチングを行うようにしてもよい。
【0134】
(6) 上記実施形態においては、チームに所属しているか否かという条件に基づいてマッチングさせる例について説明した。しかし、マッチングの基準をチームに所属しているか否かに替えてあるいは加えて、フレンド登録している否かに基づいてマッチングさせてもよい。具体的には、ユーザが部屋を作成してマッチングする場合には、当該ユーザとフレンド登録していないユーザをペアあるいは対戦相手としてマッチングするようにしてもよい。また、チーム所属のユーザが部屋を作成してマッチングする場合には、当該ユーザとフレンド登録していないユーザのうちチーム未所属のユーザをペアあるいは対戦相手としてマッチングし、チーム未所属のユーザが部屋を作成してマッチングする場合には、当該ユーザとフレンド登録していないユーザのうちチーム所属のユーザをペアあるいは対戦相手としてマッチングするようにしてもよい。
【0135】
(7) 上記実施形態においては、対戦終了後に、チーム未所属のユーザが所有するユーザ端末100の表示画面上に、ペアユーザから、ペアユーザが所属するチームに当該チーム未所属のユーザを勧誘するポップアップを表示する例について説明した。しかし、チームに勧誘するポップアップの表示は、対戦終了後に限らず、対戦開始時であってもよいし、対戦中など、予め定められたタイミングに行われるものであってもよい。
【0136】
<付記>
以上の各実施形態で説明した事項を、以下に付記する。
【0137】
(付記1):
本開示に示す一実施形態のある局面によれば、ゲームをプレイするための端末を操作する各ユーザをマッチングさせてゲームを実行させる処理を行うサーバであって、前記サーバは、記憶部と、前記サーバの動作を制御するように構成された制御部とを備え、前記制御部は、ユーザからのチームに属する旨の指定に基づいて、チームに属しているユーザを特定可能な特定用情報を前記記憶部に記憶するステップと、マッチング要求している複数のユーザのうちから、マッチングさせるユーザを特定するステップとを実行させ、前記特定するステップは、前記特定用情報に基づいて、マッチングさせるユーザとして、チームに属している所属ユーザ同士あるいはチームに属していない未所属ユーザ同士を特定するよりも、優先的に前記所属ユーザと前記未所属ユーザとを特定する特定制御(ステップS11~ステップ14)を行う。
【0138】
(付記2):
(付記1)において、前記特定制御は、マッチングさせるユーザとして、前記所属ユーザ同士あるいは前記未所属ユーザ同士を特定することなく、前記所属ユーザと前記未所属ユーザとを特定する制御である。
【0139】
(付記3):
(付記1)または(付記2)において、前記制御部は、前記特定制御により特定されたユーザのうち未所属ユーザの端末において、当該未所属ユーザとマッチングされた所属ユーザが属しているチームへ所属することを促す情報を表示させるための処理を行うステップを実行させる。
【0140】
(付記4):
(付記1)から(付記3)のいずれかにおいて、前記特定用情報は、マッチング要求している複数のユーザのうち、前記所属ユーザを特定可能な第1特定用情報と、前記未所属ユーザを特定可能な第2特定用情報とを含み、前記特定制御において前記所属ユーザにマッチングさせるユーザを特定する際には、前記第2特定用情報に基づき特定される未所属ユーザから特定し、前記未所属ユーザにマッチングさせるユーザを特定する際には、前記第1特定用情報に基づき特定される所属ユーザから特定する。
【0141】
(付記5):
(付記1)から(付記4)のいずれかにおいて、前記特定するステップは、特定期間においては前記特定制御を行う一方、前記特定期間と異なる期間においては前記特定用情報にかかわらずマッチングさせるユーザを特定する制御を行う。
【0142】
(付記6):
本開示に示す一実施形態のある局面によれば、ゲームをプレイするための端末を操作する各ユーザをマッチングさせてゲームを実行させるゲームシステムにおける方法であって、前記方法は、前記ゲームシステムが、ユーザからのチームに属する旨の指定に基づいて、チームに属しているユーザを特定可能な特定用情報を記憶部に記憶するステップと、マッチング要求している複数のユーザのうちから、マッチングさせるユーザを特定するステップとを含み、前記特定するステップは、前記特定用情報に基づいて、マッチングさせるユーザとして、チームに属している所属ユーザ同士あるいはチームに属していない未所属ユーザ同士を特定するよりも、優先的に前記所属ユーザと前記未所属ユーザとを特定する特定制御(ステップS11~ステップ14)を行う。
【0143】
(付記7):
本開示に示す一実施形態のある局面によれば、各ユーザをマッチングさせてゲームを実行させる処理を行うサーバを介してゲームするための端末であって、前記端末は、前記端末の動作を制御するように構成された制御部と、ゲームプログラムを記憶するように構成された記憶部とを備え、前記制御部は、ユーザからのチームに属する旨の指定に基づいて、当該ユーザがチームに属していることを特定可能な特定用情報を前記サーバの記憶部に記憶させるための情報を前記サーバに送信し、ユーザからのマッチング要求を前記サーバに送信し、マッチング要求している複数のユーザのうちから、前記特定用情報に基づき前記サーバによってマッチングさせるユーザとして、チームに属している所属ユーザ同士あるいはチームに属していない未所属ユーザ同士が特定されるよりも、優先的に前記所属ユーザと前記未所属ユーザとが特定されることにより、前記所属ユーザ同士あるいは前記未所属ユーザ同士よりも、優先的に前記所属ユーザと前記未所属ユーザとでゲームを実行させる。
【0144】
(付記8):
本開示に示す一実施形態のある局面によれば、各ユーザをマッチングさせてゲームを実行させる処理を行うサーバを介してゲームするための端末において実行されるゲームプログラムであって、前記端末の動作を制御するように構成されたプロセッサに、ユーザからのチームに属する旨の指定に基づいて、当該ユーザがチームに属していることを特定可能な特定用情報を前記サーバの記憶部に記憶させるための情報を前記サーバに送信するステップと、ユーザからのマッチング要求を前記サーバに送信するステップと、マッチング要求している複数のユーザのうちから、前記特定用情報に基づき前記サーバによってマッチングさせるユーザとして、チームに属している所属ユーザ同士あるいはチームに属していない未所属ユーザ同士が特定されるよりも、優先的に前記所属ユーザと前記未所属ユーザとが特定されることにより、前記所属ユーザ同士あるいは前記未所属ユーザ同士よりも、優先的に前記所属ユーザと前記未所属ユーザとでゲームを実行させるステップとを実行させる。
【0145】
〔ソフトウェアによる実現例〕
ユーザ端末100およびサーバ200の各々における制御は、集積回路(ICチップ)等に形成された論理回路(ハードウェア)によって実現してもよいし、ソフトウェアによって実現してもよい。
【0146】
後者の場合、ユーザ端末100およびサーバ200は、各機能を実現するソフトウェアであるプログラムの命令を実行するコンピュータを備えている。このコンピュータは、例えば1つ以上のプロセッサを備えていると共に、上記プログラムを記憶したコンピュータ読み取り可能な記録媒体を備えている。そして、上記コンピュータにおいて、上記プロセッサが上記プログラムを上記記録媒体から読み取って実行することにより、本発明の目的が達成される。上記プロセッサとしては、例えばCPU(Central Processing Unit)を用いることができる。上記記録媒体としては、「一時的でない有形の媒体」、例えば、ROM(Read Only Memory)等の他、テープ、ディスク、カード、半導体メモリ、プログラマブルな論理回路などを用いることができる。また、上記プログラムを展開するRAM(Random Access Memory)などをさらに備えていてもよい。また、上記プログラムは、該プログラムを伝送可能な任意の伝送媒体(通信ネットワークや放送波等)を介して上記コンピュータに供給されてもよい。なお、本発明の一態様は、上記プログラムが電子的な伝送によって具現化された、搬送波に埋め込まれたデータ信号の形態でも実現され得る。
【0147】
本発明は上述した各実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能であり、異なる実施形態にそれぞれ開示された技術的手段を適宜組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。
【符号の説明】
【0148】
1 ゲームシステム、 2 ネットワーク、 10,20 プロセッサ、 11,21 メモリ、 12,22 ストレージ、 15 タッチスクリーン、 151 入力部、 152 表示部、 17 カメラ、 18 測距センサ、 1010 物体、 1020 コントローラ、 1030 記憶媒体、 100 ユーザ端末、 200 サーバ、 120,220 記憶部、 121,221 ゲームプログラム、 122,222 ゲーム情報、 123,223 ユーザ情報、 110,210 制御部、 111 ゲーム進行処理部、 112 入力操作受付部、 113 カメラ配置制御部、 114 表示制御部、 115 オブジェクト制御部、 211 送受信部、 212 サーバ処理部、 213 データ管理部、 214 同期処理部


図1
図2
図3
図4
図5
図6
図7
図8
図9
図10