〔実施形態1〕
本開示に係るゲームシステムは、複数のユーザにゲームを提供するためのシステムである。以下、ゲームシステムについて図面を参照しつつ説明する。なお、本発明はこれらの例示に限定されるものではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が本発明に含まれることが意図される。以下の説明では、図面の説明において同一の要素には同一の符号を付し、重複する説明を繰り返さない。
<ゲームシステム1のハードウェア構成>
図1は、ゲームシステム1のハードウェア構成を示す図である。ゲームシステム1は図示の通り、複数のユーザ端末100と、サーバ200とを含む。各ユーザ端末100は、サーバ200とネットワーク2を介して接続する。ネットワーク2は、インターネットおよび図示しない無線基地局によって構築される各種移動通信システム等で構成される。この移動通信システムとしては、例えば、所謂3G、4G移動通信システム、LTE(Long Term Evolution)、および所定のアクセスポイントによってインターネットに接続可能な無線ネットワーク(例えばWi-Fi(登録商標))等が挙げられる。
サーバ200(コンピュータ、情報処理装置)は、ワークステーションまたはパーソナルコンピュータ等の汎用コンピュータであってよい。サーバ200は、プロセッサ20と、メモリ21と、ストレージ22と、通信IF23と、入出力IF24とを備える。サーバ200が備えるこれらの構成は、通信バスによって互いに電気的に接続される。
ユーザ端末100(コンピュータ、情報処理装置)は、スマートフォン、フィーチャーフォン、PDA(Personal Digital Assistant)、またはタブレット型コンピュータ等の携帯端末であってよい。ユーザ端末100は、ゲームプレイに適したゲーム装置であってもよい。ユーザ端末100は図示の通り、プロセッサ10と、メモリ11と、ストレージ12と、通信インターフェース(IF)13と、入出力IF14と、タッチスクリーン15(表示部)と、カメラ17と、測距センサ18とを備える。ユーザ端末100が備えるこれらの構成は、通信バスによって互いに電気的に接続される。なお、ユーザ端末100は、タッチスクリーン15に代えて、または、加えて、ユーザ端末100本体とは別に構成されたディスプレイ(表示部)を接続可能な入出力IF14を備えていてもよい。
また、図1に示すように、ユーザ端末100は、1つ以上のコントローラ1020と通信可能に構成されることとしてもよい。コントローラ1020は、例えば、Bluetooth(登録商標)等の通信規格に従って、ユーザ端末100と通信を確立する。コントローラ1020は、1つ以上のボタン等を有していてもよく、該ボタン等に対するユーザの入力操作に基づく出力値をユーザ端末100へ送信する。また、コントローラ1020は、加速度センサ、および、角速度センサ等の各種センサを有していてもよく、該各種センサの出力値をユーザ端末100へ送信する。
なお、ユーザ端末100がカメラ17および測距センサ18を備えることに代えて、または、加えて、コントローラ1020がカメラ17および測距センサ18を有していてもよい。
ユーザ端末100は、例えばゲーム開始時に、コントローラ1020を使用するユーザに、該ユーザの名前またはログインID等のユーザ識別情報を、該コントローラ1020を介して入力させることが望ましい。これにより、ユーザ端末100は、コントローラ1020とユーザとを紐付けることが可能となり、受信した出力値の送信元(コントローラ1020)に基づいて、該出力値がどのユーザのものであるかを特定することができる。
ユーザ端末100が複数のコントローラ1020と通信する場合、各コントローラ1020を各ユーザが把持することで、ネットワーク2を介してサーバ200などの他の装置と通信せずに、該1台のユーザ端末100でマルチプレイを実現することができる。また、各ユーザ端末100が無線LAN(Local Area Network)規格等の無線規格により互いに通信接続する(サーバ200を介さずに通信接続する)ことで、複数台のユーザ端末100によりローカルでマルチプレイを実現することもできる。1台のユーザ端末100によりローカルで上述のマルチプレイを実現する場合、ユーザ端末100は、さらに、サーバ200が備える後述する種々の機能の少なくとも一部を備えていてもよい。また、複数のユーザ端末100によりローカルで上述のマルチプレイを実現する場合、複数のユーザ端末100は、サーバ200が備える後述する種々の機能を分散して備えていてもよい。
なお、ローカルで上述のマルチプレイを実現する場合であっても、ユーザ端末100はサーバ200と通信を行ってもよい。例えば、あるゲームにおける成績または勝敗等のプレイ結果を示す情報と、ユーザ識別情報とを対応付けてサーバ200に送信してもよい。
また、コントローラ1020は、ユーザ端末100に着脱可能な構成であるとしてもよい。この場合、ユーザ端末100の筐体における少なくともいずれかの面に、コントローラ1020との結合部が設けられていてもよい。該結合部を介して有線によりユーザ端末100とコントローラ1020とが結合している場合は、ユーザ端末100とコントローラ1020とは、有線を介して信号を送受信する。
図1に示すように、ユーザ端末100は、外部のメモリカード等の記憶媒体1030の装着を、入出力IF14を介して受け付けてもよい。これにより、ユーザ端末100は、記憶媒体1030に記録されるプログラム及びデータを読み込むことができる。記憶媒体1030に記録されるプログラムは、例えばゲームプログラムである。
ユーザ端末100は、サーバ200等の外部の装置と通信することにより取得したゲームプログラムをユーザ端末100のメモリ11に記憶してもよいし、記憶媒体1030から読み込むことにより取得したゲームプログラムをメモリ11に記憶してもよい。
以上で説明したとおり、ユーザ端末100は、該ユーザ端末100に対して情報を入力する機構の一例として、通信IF13、入出力IF14、タッチスクリーン15、カメラ17、および、測距センサ18を備える。入力する機構としての上述の各部は、ユーザの入力操作を受け付けるように構成された操作部と捉えることができる。
例えば、操作部が、カメラ17および測距センサ18の少なくともいずれか一方で構成される場合、該操作部が、ユーザ端末100の近傍の物体1010を検出し、当該物体の検出結果から入力操作を特定する。一例として、物体1010としてのユーザの手、予め定められた形状のマーカーなどが検出され、検出結果として得られた物体1010の色、形状、動き、または、種類などに基づいて入力操作が特定される。より具体的には、ユーザ端末100は、カメラ17の撮影画像からユーザの手が検出された場合、該撮影画像に基づき検出されるジェスチャ(ユーザの手の一連の動き)を、ユーザの入力操作として特定し、受け付ける。なお、撮影画像は静止画であっても動画であってもよい。
あるいは、操作部がタッチスクリーン15で構成される場合、ユーザ端末100は、タッチスクリーン15の入力部151に対して実施されたユーザの操作をユーザの入力操作として特定し、受け付ける。あるいは、操作部が通信IF13で構成される場合、ユーザ端末100は、コントローラ1020から送信される信号(例えば、出力値)をユーザの入力操作として特定し、受け付ける。あるいは、操作部が入出力IF14で構成される場合、該入出力IF14と接続されるコントローラ1020とは異なる入力装置(図示せず)から出力される信号をユーザの入力操作として特定し、受け付ける。
<各装置のハードウェア構成要素>
プロセッサ10は、ユーザ端末100全体の動作を制御する。プロセッサ20は、サーバ200全体の動作を制御する。プロセッサ10および20は、CPU(Central Processing Unit)、MPU(Micro Processing Unit)、およびGPU(Graphics Processing Unit)を含む。
プロセッサ10は後述するストレージ12からプログラムを読み出し、後述するメモリ11に展開する。プロセッサ20は後述するストレージ22からプログラムを読み出し、後述するメモリ21に展開する。プロセッサ10およびプロセッサ20は展開したプログラムを実行する。
メモリ11および21は主記憶装置である。メモリ11および21は、ROM(Read Only Memory)およびRAM(Random Access Memory)等の記憶装置で構成される。メモリ11は、プロセッサ10が後述するストレージ12から読み出したプログラムおよび各種データを一時的に記憶することにより、プロセッサ10に作業領域を提供する。メモリ11は、プロセッサ10がプログラムに従って動作している間に生成した各種データも一時的に記憶する。メモリ21は、プロセッサ20が後述するストレージ22から読み出した各種プログラムおよびデータを一時的に記憶することにより、プロセッサ20に作業領域を提供する。メモリ21は、プロセッサ20がプログラムに従って動作している間に生成した各種データも一時的に記憶する。
本実施形態においてプログラムとは、ゲームをユーザ端末100により実現するためのゲームプログラムであってもよい。あるいは、該プログラムは、該ゲームをユーザ端末100とサーバ200との協働により実現するためのゲームプログラムであってもよい。なお、ユーザ端末100とサーバ200との協働により実現されるゲームは、一例として、ユーザ端末100において起動されたブラウザ上で実行されるゲームであってもよい。あるいは、該プログラムは、該ゲームを複数のユーザ端末100の協働により実現するためのゲームプログラムであってもよい。また、各種データとは、ユーザ情報およびゲーム情報などのゲームに関するデータ、ならびに、ユーザ端末100とサーバ200との間または複数のユーザ端末100間で送受信する指示または通知を含んでいる。
ストレージ12および22は補助記憶装置である。ストレージ12および22は、フラッシュメモリまたはHDD(Hard Disk Drive)等の記憶装置で構成される。ストレージ12およびストレージ22には、ゲームに関する各種データが格納される。
通信IF13は、ユーザ端末100における各種データの送受信を制御する。通信IF23は、サーバ200における各種データの送受信を制御する。通信IF13および23は例えば、無線LAN(Local Area Network)を介する通信、有線LAN、無線LAN、または携帯電話回線網を介したインターネット通信、ならびに近距離無線通信等を用いた通信を制御する。
入出力IF14は、ユーザ端末100がデータの入力を受け付けるためのインターフェースであり、またユーザ端末100がデータを出力するためのインターフェースである。入出力IF14は、USB(Universal Serial Bus)等を介してデータの入出力を行ってもよい。入出力IF14は、例えば、ユーザ端末100の物理ボタン、カメラ、マイク、または、スピーカ等を含み得る。サーバ200の入出力IF24は、サーバ200がデータの入力を受け付けるためのインターフェースであり、またサーバ200がデータを出力するためのインターフェースである。入出力IF24は、例えば、マウスまたはキーボード等の情報入力機器である入力部と、画像を表示出力する機器である表示部とを含み得る。
ユーザ端末100のタッチスクリーン15は、入力部151と表示部152とを組み合わせた電子部品である。入力部151は、例えばタッチセンシティブなデバイスであり、例えばタッチパッドによって構成される。表示部152は、例えば液晶ディスプレイ、または有機EL(Electro-Luminescence)ディスプレイ等によって構成される。
入力部151は、入力面に対しユーザの操作(主にタッチ操作、スライド操作、スワイプ操作、およびタップ操作等の物理的接触操作)が入力された位置を検知して、位置を示す情報を入力信号として送信する機能を備える。入力部151は、図示しないタッチセンシング部を備えていればよい。タッチセンシング部は、静電容量方式または抵抗膜方式等のどのような方式を採用したものであってもよい。
図示していないが、ユーザ端末100は、該ユーザ端末100の保持姿勢を特定するための1以上のセンサを備えていてもよい。このセンサは、例えば、加速度センサ、または、角速度センサ等であってもよい。ユーザ端末100がセンサを備えている場合、プロセッサ10は、センサの出力からユーザ端末100の保持姿勢を特定して、保持姿勢に応じた処理を行うことも可能になる。例えば、プロセッサ10は、ユーザ端末100が縦向きに保持されているときには、縦長の画像を表示部152に表示させる縦画面表示としてもよい。一方、ユーザ端末100が横向きに保持されているときには、横長の画像を表示部に表示させる横画面表示としてもよい。このように、プロセッサ10は、ユーザ端末100の保持姿勢に応じて縦画面表示と横画面表示とを切り替え可能であってもよい。
カメラ17は、イメージセンサ等を含み、レンズから入射する入射光を電気信号に変換することで撮影画像を生成する。
測距センサ18は、測定対象物までの距離を測定するセンサである。測距センサ18は、例えば、パルス変換した光を発する光源と、光を受ける受光素子とを含む。測距センサ18は、光源からの発光タイミングと、該光源から発せられた光が測定対象物にあたって反射されて生じる反射光の受光タイミングとにより、測定対象物までの距離を測定する。測距センサ18は、指向性を有する光を発する光源を有することとしてもよい。
ここで、ユーザ端末100が、カメラ17と測距センサ18とを用いて、ユーザ端末100の近傍の物体1010を検出した検出結果を、ユーザの入力操作として受け付ける例をさらに説明する。カメラ17および測距センサ18は、例えば、ユーザ端末100の筐体の側面に設けられてもよい。カメラ17の近傍に測距センサ18が設けられてもよい。カメラ17としては、例えば赤外線カメラを用いることができる。この場合、赤外線を照射する照明装置および可視光を遮断するフィルタ等が、カメラ17に設けられてもよい。これにより、屋外か屋内かにかかわらず、カメラ17の撮影画像に基づく物体の検出精度をいっそう向上させることができる。
プロセッサ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は、ユーザが手をカメラの撮影方向に直交する方向に振っていると認識する。
このように、プロセッサ10は、カメラ17の撮影画像に対する画像認識により、ユーザが手を握りこんでいるか否か(「グー」のジェスチャであるか、それ以外のジェスチャ(例えば「パー」)であるか)を検出する。また、プロセッサ10は、ユーザの手の形状とともに、ユーザがこの手をどのように移動させているかを検出する。また、プロセッサ10は、ユーザがこの手をユーザ端末100に対して接近させているのか遠ざけているのかを検出する。このような操作は、例えば、マウスまたはタッチパネルなどのポインティングデバイスを用いた操作に対応させることができる。ユーザ端末100は、例えば、ユーザの手の移動に応じて、タッチスクリーン15においてポインタを移動させ、ユーザのジェスチャ「グー」を検出する。この場合、ユーザ端末100は、ユーザが選択操作を継続中であると認識する。選択操作の継続とは、例えば、マウスがクリックされて押し込まれた状態が維持されること、または、タッチパネルに対してタッチダウン操作がなされた後タッチされた状態が維持されることに対応する。また、ユーザ端末100は、ユーザのジェスチャ「グー」が検出されている状態で、さらにユーザが手を移動させると、このような一連のジェスチャを、スワイプ操作(またはドラッグ操作)に対応する操作として認識することもできる。また、ユーザ端末100は、カメラ17の撮影画像によるユーザの手の検出結果に基づいて、ユーザが指をはじくようなジェスチャを検出した場合に、当該ジェスチャを、マウスのクリックまたはタッチパネルへのタップ操作に対応する操作として認識してもよい。
<アカウント>
ゲームシステム1はユーザに対して、ゲームシステム1が実現するゲームにログインするためのアカウントを割り当てる。以降、特段の記載が無い限り、ゲームシステム1によって実現されるゲームを、本ゲームと称する。ユーザは、割り当てられたアカウントを用いてゲームにログインすることで、本ゲームをプレイすることができる。
ゲームシステム1は、1名のユーザに対して1つ以上のアカウントを割り当てる。なお、本ゲームのアカウントは、該アカウントでログイン可能な1台以上の装置と対応付けられていてもよい。
(本実施形態における具体例)
本実施形態に係るゲームシステム1は、1名のユーザに対し1つのアカウントを割り当てることとする。つまり、ユーザとアカウントは1対1で対応している。また、本実施形態に係るゲームシステム1は、1つのアカウントが1台のユーザ端末100に対応付けられていることとする。アカウントとユーザ端末100との対応付けは、例えばサーバ200の記憶部220に、ゲーム情報132またはユーザ情報133として記憶される。
つまり、本実施形態において各ユーザは、各自のユーザ端末100を介して、該端末に対応付けられたアカウントで本ゲームにログインする。したがって、本実施形態では、ゲーム内での個人を特定するアカウントと、該アカウントで特定されるユーザとは同義である。そのため、以降の説明では、「ユーザ」という文言を「アカウント」と同義で用いることがある。
<ゲーム概要>
本ゲームは、複数のユーザが同時にログインしてプレイすることが可能な、マルチプレイに対応しているゲームである。例えば、本ゲームはマルチプレイ対戦を実行する機能を有する。
(マルチプレイ対戦)
マルチプレイ対戦とは、複数のユーザが参加する対戦である。マルチプレイ対戦における対戦方式、対戦の進行方法、および勝敗の条件は特に限定されない。また、スポーツゲームにおける試合も対戦に含まれる。
本ゲームでは、マルチプレイ対戦の一種として、特殊対戦を実現する。特殊対戦とは、対戦に参加する複数のユーザのうち、ある第1ユーザの対戦時の状態を、該複数のユーザのうち、第1ユーザよりも本ゲームの進行度合いが遅れている第2ユーザの、対戦時の状態と同一にして実施する対戦を意味する。ここで、「ゲームの進行度合い」とは、例えば、以下の(1)〜(3)を意味する。
(1)ゲームのストーリーの進み具合
(2)ゲームにおいて所定のイベントをクリアしているか否か
(3)ゲーム内でのユーザまたはユーザの操作するキャラクタの育成度合い。例えば、該キャラクタのレベルまたは能力値の高さ
したがって、「ゲームの進行度合いが遅れている第2ユーザ」とは、第1ユーザとしてのとあるユーザと比べたときに、下記(4)〜(6)の条件を満たすユーザである。
(4)ゲームのストーリーの進み具合が遅れている
(5)ゲームにおいて所定のイベントが未クリアである
(6)ゲーム内でのユーザまたはユーザの操作する1体以上のキャラクタの、レベルまたは能力値が低い
なお、本ゲームでは、マルチプレイ対戦の他の一種として、通常対戦を実施してもよい。通常対戦とは、対戦に参加する各ユーザの状態を、特殊対戦のように変更はせずに実施する対戦を意味する。
特殊対戦および通常対戦における第1ユーザと第2ユーザとの立場関係は特に限定されない。例えば、これらの対戦において第1ユーザは第2ユーザと味方または協力関係にあってもよいし、敵対関係にあってもよいし、互いの勝敗に干渉しない関係にあってもよい。
また、特殊対戦および通常対戦には、1名以上のNPC(non player character)が参加していてもよい。NPCと各ユーザとの立場関係も特に限定されない。例えば、NPCと各ユーザとは、味方または協力関係にあってもよいし、敵対関係にあってもよい。また、対戦に参加する複数のNPCが味方陣営と敵陣営に分かれていてもよい。
(ゲームジャンル)
本ゲームは、上述したマルチプレイ対戦を実現可能なゲームであれば、どのようなジャンルのゲームであってもよい。例えば、本ゲームは、テニス、卓球、ドッジボール、野球、サッカーおよびホッケーなどのスポーツを題材としたゲーム、パズルゲーム、クイズゲーム、RPG(Role Playing Game)、アドベンチャーゲーム、シューティングゲーム、シミュレーションゲーム、育成ゲーム、ならびに、アクションゲームなどであってもよい。
(本実施形態における具体例)
本実施形態では一例として、本ゲームが、ユーザが操作するキャラクタオブジェクトの動作に応じて進行するアクションゲームである場合について説明する。以降、キャラクタオブジェクトのことは、単に「キャラクタ」と称する。本実施形態に係るアクションゲームでは、ユーザ端末100に対する入力操作に応じてキャラクタが動作する。以降の説明では、ユーザがユーザ端末100を介して操作しているキャラクタのことを「操作キャラクタ」と称する。
また、本実施形態において「マルチプレイ」とは、複数のユーザで1つのゲーム空間を共有してゲームを進行させるプレイ形式を指す。「ゲーム空間」とは、ユーザが操作可能なキャラクタのオブジェクトが配置される空間である。マルチプレイに参加している各ユーザは、それぞれのユーザ端末100からそれぞれのアカウントでゲームにログインする。そして、サーバ200は、マルチプレイに参加している各ユーザのユーザ端末100におけるゲームの進行を同期させる。
本実施形態において、各ユーザは、自分の操作キャラクタを用いて特殊対戦または通常対戦に参加する。本実施形態に係るゲームは、特殊対戦の一例として、特殊共闘戦闘を実施する。また、本実施形態に係るゲームは、通常対戦の一例として、共闘戦闘を実施する。特殊共闘戦闘および共闘戦闘はいずれも、複数のユーザが味方同士となり、各自の操作キャラクタを用いて、NPCである共通のボスキャラクタを倒すために共闘する戦闘である。なお、ボスキャラクタは1体であっても、複数であってもよい。特殊共闘戦闘および共闘戦闘の詳細については後述する。
また、本実施形態では、各ユーザはアカウントの作成時、すなわち本ゲームへの登録時に、1体のキャラクタの外見等を設定登録し、以降は該キャラクタを操作キャラクタとして用いることとする。しかしながら、ユーザはキャラクタを複数所有可能であってもよい。例えば、ゲームシステム1は、ゲームの進行状況に応じてユーザに新たなキャラクタを付与してもよい。また例えば、ゲームシステム1は、ゲームの1パートである抽選パートでの抽選結果に応じて、ユーザに新たなキャラクタを付与してもよい。
<ゲームシステム1の機能的構成>
図2は、ゲームシステム1に含まれるサーバ200およびユーザ端末100の機能的構成を示すブロック図である。サーバ200およびユーザ端末100のそれぞれは、図示しない、一般的なコンピュータとして機能する場合に必要な機能的構成、および、ゲームにおける公知の機能を実現するために必要な機能的構成を含み得る。
ユーザ端末100は、ユーザの入力操作を受け付ける入力装置としての機能と、ゲームの画像や音声を出力する出力装置としての機能を有する。ユーザ端末100は、プロセッサ10、メモリ11、ストレージ12、通信IF13、および入出力IF14等の協働によって、制御部110および記憶部120として機能する。
サーバ200は、各ユーザ端末100と通信して、ユーザ端末100がゲームを進行させるのを支援する機能を有する。ゲームがマルチプレイのゲームである場合には、サーバ200は、ゲームに参加する各ユーザ端末100と通信して、ユーザ端末100同士のやりとりを仲介する機能を有していてもよい。サーバ200は、プロセッサ20、メモリ21、ストレージ22、通信IF23、および入出力IF24等の協働によって、制御部210および記憶部220として機能する。
記憶部120および記憶部220は、ゲームプログラム131、ゲーム情報132、およびユーザ情報133を格納する。ゲームプログラム131は、ユーザ端末100およびサーバ200が実行するゲームプログラムである。記憶部110は、ユーザ端末100に対応するアカウントのユーザ情報133を記憶する。一方、記憶部220は、各ユーザ端末100から収集したユーザ情報133をまとめて記憶する。
ゲーム情報132は、制御部110および制御部210がゲームプログラム131を実行する際に参照するデータである。ゲーム情報132は、例えば各種ゲーム空間を規定するための情報を含み得る。ゲーム情報132は、ゲーム空間内に配置される木・岩・建物等の背景オブジェクトやノンプレイヤキャラクタ(non player character:NPC)のオブジェクトの配置位置、大きさ、色、形状等、アカウント間で共通のオブジェクトに関する各種設定情報を含み得る。ゲーム情報132は、NPCの各種パラメータの設定値を含み得る。ゲーム情報132は、各種装備品の能力値、および各種アイテムの効果に関する情報を含み得る。
ユーザ情報133は、ユーザのアカウント毎に管理される情報である。ユーザ情報133はキャラクタデータ133Aを含む。なお、ユーザ情報133は、ユーザが保有するアイテム、装備品、ゲーム内通貨、および有価データ等に関する情報を含んでいてもよい。また、ユーザ情報133は、ユーザのゲームの進行度合いを示す情報を含んでいてもよい。
(キャラクタデータ)
キャラクタデータ133Aは、ユーザが保有するキャラクタに関する情報を示すデータである。キャラクタデータ133Aは、キャラクタの識別情報に、該キャラクタの状態を示す1つ以上の情報が対応付けられたデータである。キャラクタの状態とは、キャラクタのパラメータ、装備、スキル、およびアイテムのうち少なくとも1つである。
図3は、キャラクタデータ133Aのデータ構造の一例を示す図である。図3の例では、キャラクタデータ133Aのデータテーブルの1レコードは、1体のキャラクタに関する情報を示している。
本実施形態では、ユーザがアカウントを作成してゲームを開始した時に作成したキャラクタが、該アカウントでの操作キャラクタとなる。そのため、図示の例では、キャラクタデータ133Aは1レコードのみ有している。なお、1アカウントで複数のキャラクタを所持可能な場合、該所持可能なキャラクタ1体に関する情報が1レコードのデータとしてキャラクタデータ133Aに記録される。換言すると、キャラクタデータ133Aは、あるアカウントが保持しているキャラクタの数だけレコードを有する。
図3の例では、キャラクタデータ133Aは、「ID」列と、「名称」列と、「外見パターン」列と、「レベル」列と、「体力」列と、「武器」列と、「防具」列と、「スキル」列と、「アイテム」列とを含む。図示の例では、キャラクタデータ133Aは、「ID」列の情報に、他の列の情報が対応付けられたデータである。
「ID」列には、キャラクタの識別情報が格納される。「名称」列には、キャラクタの名称を示す情報が格納される。例えば、当列には、ユーザがキャラクタ作成時に登録した該キャラクタの名称を示す情報が格納される。なお、キャラクタの名称自体がキャラクタの識別情報である場合、キャラクタデータ133Aは「ID」列を含まなくてもよい。
「外見パターン」列には、キャラクタのオブジェクトとしての外見を示す情報が格納される。当列には、例えば、ゲーム情報132に記憶されている、2Dまたは3Dの複数のオブジェクト画像パターンのうちいずれかを示す情報が格納される。
「レベル」列および「体力」列には、それぞれキャラクタのパラメータを示す情報が格納される。「レベル」列には、キャラクタのレベルを示す情報が格納される。「体力」列には、キャラクタの体力の最大値が格納されることとする。本実施形態では、体力は、戦闘中にキャラクタがダメージを受ける度に減少し、0になった場合、当該キャラクタは戦闘に参加できない「戦闘不能」状態に陥ることとする。
「武器」列および「防具」列には、それぞれキャラクタが装備中の装備品を示す情報が格納される。本実施形態では、1体のキャラクタは武器と防具を1つずつ装備可能であることとする。しかしながら、装備品の数および種類は、この限りではない。例えば、キャラクタがアクセサリを装備可能であってもよい。また例えば、キャラクタが武器、防具、およびアクセサリの少なくとも1つを、複数個装備可能であってもよい。なお、キャラクタが武器または防具を装備していない場合、「武器」列または「防具」列は空欄となる。
「スキル」列には、キャラクタが装備中のスキルを示す情報が格納される。スキルの種類は特に限定しないが、本実施形態では、当列には、戦闘中にユーザの入力操作に応じて発動可能な、アクションスキルを示す情報が格納されることとする。
「アイテム」列には、キャラクタが所持するアイテムを示す情報が格納される。例えば、当列には、キャラクタが携行するアイテムであって、共闘戦闘または特殊共闘戦闘時にユーザの所定の入力操作に応じて使用することが可能なアイテムを示す情報が格納される。ゲームシステム1は、例えば、ユーザに自身またはあるキャラクタが保有するアイテムの中から、1つ以上のアイテムを予め指定させておき、該指定されたアイテムをキャラクタが携行するアイテムとしてもよい。また、該アイテムは戦闘中に体力を回復させるアイテム等の、消費アイテムであることが望ましい。
また、ユーザ情報133には、後述するチャットでユーザが送受信したメッセージの履歴を示す情報であるチャットログが含まれていてもよい。チャットログは、メッセージの送信日時または受信日時と、メッセージの送信元のユーザを特定する情報と、メッセージの内容とが対応づけられた情報である。メッセージの内容は、例えばスタンプ等のアイコン画像または該アイコン画像を特定する情報であってもよい。また、メッセージの内容はテキストメッセージであってもよい。なお、ユーザがゲームからログアウトした場合、制御部110は、チャットログを記憶部120から削除してもよい。
(サーバ200の機能的構成)
制御部210は、記憶部220に格納されたゲームプログラム131を実行することにより、サーバ200を統括的に制御する。例えば、制御部210は、ユーザ端末100に各種データおよびプログラム等を送信する。制御部210は、ゲーム情報もしくはユーザ情報の一部または全部をユーザ端末100から受信する。制御部210は、あるユーザ端末100からマルチプレイに係る同期の要求を受信した場合、同期のためのデータを、該あるユーザ端末100、および他のユーザ端末100に送信してもよい。
制御部210は、ゲームプログラム131の記述に応じて、送受信部211、サーバ処理部212、データ管理部213、および同期処理部214として機能する。制御部210は、実行するゲームの性質に応じて、ユーザ端末100におけるゲームの進行を支援するために、図示しないその他の機能ブロックとしても機能することができる。
送受信部211は、ユーザ端末100から各種データおよびリクエストを受信する。例えば、送受信部211は、ゲーム情報132もしくはユーザ情報133の一部または全部を、ユーザ端末100から受信する。例えば、送受信部211はユーザ端末100から、ユーザ情報133の一部であるキャラクタデータ133Aを受信してもよい。
送受信部211は、ユーザ端末100に対し各種データおよびリクエストを送信する。例えば、送受信部211はユーザ端末100に対し、特定のユーザのユーザ情報133に含まれているキャラクタデータ133Aを送信してもよい。なお、送受信部211は、マルチプレイの同期の要求および同期のためのデータ等を送受信してもよい。
サーバ処理部212は、ゲームを提供するために必要な演算処理を行う。サーバ処理部212は送受信部211に対し、各種データの送信を指示する。サーバ処理部212は、データ管理部213に対し、ゲーム情報132、およびユーザ情報133に含まれる各種情報の追加、更新、または削除を指示する。
データ管理部213は、記憶部220に格納されているデータを管理する。データ管理部213は、サーバ処理部212からの指示に応じてゲーム情報132およびユーザ情報133に含まれる各種情報の、追加、更新、または削除を実行する。データ管理部213は、サーバ処理部212の指示に従って、記憶部220からゲーム情報132およびユーザ情報133のうち少なくとも一方の情報を読み出してもよい。データ管理部213は、ゲームプログラム131のうち、あるユーザ端末100で実行する分のプログラムを記憶部220から読み出して、該ユーザ端末100に送信してもよい。
同期処理部214は、複数のユーザ端末100と通信して、ユーザ端末100同士のデータのやりとりを仲介する。例えば、同期処理部214は、特殊共闘戦闘または共闘戦闘に参加するユーザのユーザ端末100同士の、該戦闘に係る同期処理を仲介または実行する。
(ユーザ端末100の機能的構成)
制御部110は、記憶部120に格納されたゲームプログラム131を実行することにより、ユーザ端末100を統括的に制御する。例えば、制御部110は、ゲームプログラム131およびユーザの操作にしたがって、ゲームを進行させる。また、制御部110は、ゲームを進行させている間、必要に応じて、サーバ200と通信して、情報の送受信を行う。
制御部110は、ゲームプログラム131の記述に応じて、操作受付部111、ゲーム進行部112、オブジェクト制御部113、表示制御部114、および通信部115として機能する。制御部110は、実行するゲームの性質に応じて、ゲームを進行させるために、図示しないその他の機能ブロックとしても機能することができる。
操作受付部111は、入力部151に対するユーザの入力操作を検知し受け付ける。操作受付部111は、タッチスクリーン15およびその他の入出力IF14を介したコンソールに対してユーザが及ぼした作用から、いかなる入力操作がなされたかを判別し、その結果を制御部110の各要素に出力する。
例えば、操作受付部111は、入力部151に対する入力操作を受け付け、該入力操作の入力位置の座標を検出し、該入力操作の種類を特定する。操作受付部111は、入力操作の種類として、例えばタッチ操作、スライド操作、スワイプ操作、およびタップ操作等を特定する。また、操作受付部111は、連続して検知されていた入力が途切れると、タッチスクリーン15から接触入力が解除されたことを検知する。
通信部115は、サーバ200に対し各種データおよびリクエストを送信する。例えば、通信部115はサーバ200に対し、ゲーム情報132もしくはユーザ情報133の一部または全部を送信する。通信部115はサーバ200に対して、ユーザ情報133の一部としてキャラクタデータ133Aを送信してもよい。
通信部115は、サーバ200から各種データおよびリクエストを受信する。例えば、通信部115はサーバ200から、ゲーム情報132もしくはユーザ情報133の一部または全部を受信する。通信部115は、通信部115は、サーバ200からキャラクタデータ133Aを受信してもよい。
ゲーム進行部112は、ゲームの進行に係る各種処理を行う。例えば、ゲーム進行部112は、操作受付部111が受け付けた入力操作の位置の座標と、操作の種類と、ゲームの進行状況とに基づいて、ユーザの指示内容を特定する。
例えば、ゲーム進行部112は、ユーザのゲームへのログインを受け付けて、ログインに係る一連の処理を実行する。例えば、操作受付部111がユーザのログインに係る一連の入力操作(ログイン操作)を受け付けると、ゲーム進行部112は、該操作に基づいて、ログイン要求を受けたと判定する。ゲーム進行部112はログイン要求を受けた場合、ログイン操作から特定可能な情報(例えば、ユーザ端末100の機種ID、ユーザID、パスワード等)に基づいて、ログイン認証を行う。
ゲーム進行部112は、ユーザIDおよびパスワードが特定のアカウントのものと一致する場合に、該アカウントについてログイン認証が成功したと判定してもよい。また、ユーザ端末100とアカウントとが対応付けされるゲームの場合、ゲーム進行部112は、特定した機種IDに対応付けされたアカウントが存在する場合に、該アカウントについてログイン認証が成功したと判定してもよい。ゲーム進行部112は、ログイン認証が成功したアカウントで、ユーザをゲームにログインさせる。
ゲーム進行部112は、ゲームの進行に係る各種判定処理を行う。また、ゲーム進行部112は、記憶部120に記憶されたゲーム情報132およびユーザ情報133に含まれる、各種情報の追加、更新、または削除を行う。ゲーム進行部112は、状態変更部112Aと、共闘進行部112Bと、チャット管理部112Cとを含む。
状態変更部112Aは、特殊共闘戦闘を実行する前に、第1ユーザが特殊共闘戦闘を行うときの状態を、第2ユーザが特殊共闘戦闘を行うときの状態と同一になるように変更する。状態変更部112Aの処理の詳細については後述する。
共闘進行部112Bは、共闘戦闘および特殊共闘戦闘の進行に係る処理を実行する。共闘進行部112Bの処理の詳細については後述する。
チャット管理部112Cは、ユーザ間のメッセージの送受信に係る処理を実行する。また、チャット管理部112Cは、メッセージを送信した場合、ユーザに報酬を付与する。チャット管理部112Cの処理の詳細については後述する。
オブジェクト制御部113は、ゲーム情報132に含まれるオブジェクトの設定情報に基づき、ゲーム画面における2Dまたは3Dのオブジェクトの配置を決定する。また、オブジェクト制御部113は、ゲーム画面に配置したオブジェクトを制御する。例えば、オブジェクト制御部113は、配置したオブジェクトの位置、向き、形状、色等を変更したり、該オブジェクトに所定の一連の動作を行わせたりする。例えば、オブジェクト制御部113は、キャラクタをゲーム進行部112が決定した移動方向、移動速度、および移動距離で移動させる。
表示制御部114は、表示部152にゲーム画面の画像を表示させる。表示制御部114は、各ゲーム空間において仮想カメラの位置および向きを決定する。表示制御部114は、仮想カメラの視野領域に含まれる、オブジェクトと、該オブジェクトの背景となる背景画像等を合成した表示画面を描画し、表示部152に表示させる。
なお、オブジェクト制御部113または表示制御部114は、UI(user interface)を構築するための2Dまたは3Dのオブジェクト(UIオブジェクト)を制御してもよい。例えば、表示制御部114は、背景画像にアイコン、ボタン、リスト、メニュー画面等、ゲームの種々の操作に必要なUIオブジェクトを重畳したゲーム画面を表示させてもよい。UIオブジェクトとは、ユーザが、ゲームの進行上必要な入力をユーザ端末100に対して行うためのツールである。また、UIオブジェクトとは、ユーザが、ゲームの進行中に出力される情報をユーザ端末100から得るためのツールである。
なお、図2に示すサーバ200およびユーザ端末100の機能は一例にすぎない。サーバ200は、ユーザ端末100が備える機能の少なくとも一部を備えていてもよい。また、ユーザ端末100は、サーバ200が備える機能の少なくとも一部を備えていてもよい。さらに、ユーザ端末100およびサーバ200以外の他の装置をゲームシステム1の構成要素とし、該他の装置にゲームシステム1における処理の一部を実行させてもよい。すなわち、本実施形態においてゲームプログラム131を実行するコンピュータは、ユーザ端末100、サーバ200、および他の装置のいずれであってもよいし、これらの複数の装置の組み合わせにより実現されてもよい。
<ゲーム空間と表示画面>
本実施形態に係るゲームでは、各ユーザ端末100はサーバ200と協働することで、マルチプレイに対応したゲームの処理を行う。以降、一例として、ユーザAのユーザ端末100であるユーザ端末Aの動作および処理について説明する。また、以下の説明では、ユーザAの操作キャラクタは、図3に示したキャラクタデータ133Aによって規定されるキャラクタ「AAA」であることとする。
ユーザ端末Aのゲーム進行部112は各種ゲーム空間を規定する。ゲーム進行部112は例えば、ゲームの進行に応じて、ゲーム空間の一種である準備空間または共闘戦闘空間を規定する。オブジェクト制御部113は、ゲーム進行部112が規定したゲーム空間に、各種オブジェクトを配置する。例えば、オブジェクト制御部113は、ユーザAの操作キャラクタと他のユーザの操作キャラクタとをゲーム空間に配置する。他のユーザとは、ゲームにログイン中の、ユーザA以外のユーザである。
本実施形態では、他のユーザは、ユーザ端末A以外の他のユーザ端末100からログインする。他のユーザは、ユーザAがユーザ端末Aを操作するのと同様に自分のユーザ端末100を操作することで、該ユーザ端末100においてユーザAと同様にゲームをプレイすることができる。
ユーザAによってユーザ端末Aに対する入力操作が行われると、操作受付部111は該入力操作を受け付け、ゲーム進行部112は該入力内容を特定する。オブジェクト制御部113は入力内容に応じて、操作キャラクタを動作させる。これにより、ユーザAはユーザ端末Aを操作することで、ゲーム空間内に配置された自分の操作キャラクタを自在に動かすことができる。
また、他のユーザによって他のユーザ端末100に対する入力操作がなされると、ユーザ端末Aと同様の処理によって、他のユーザ端末100において他のユーザの操作キャラクタが動作する。他のユーザの操作キャラクタの動作内容は、他のユーザ端末100から、サーバ200を介し、または直接、ユーザ端末Aに伝えられる。ユーザ端末Aのオブジェクト制御部113は、ゲーム空間において他の操作キャラクタを、他のユーザ端末100から伝えられた動作内容に応じて動作させる。これにより、マルチプレイに参加している他のユーザそれぞれの操作内容が、ユーザ端末Aの表示画面にも反映される。
表示制御部114は、各ゲーム空間において、操作キャラクタの位置および向きを基準として仮想カメラの位置および向きを決定する。例えば、表示制御部114は操作キャラクタが視野中央やや下に写り、かつ、操作キャラクタの後方(背面)斜め上から見下ろすような位置および向きで仮想カメラを配置する。操作キャラクタの位置または向きを変更する操作がユーザにより行われた場合、オブジェクト制御部113は操作キャラクタを変更後の位置および向きで配置する。また表示制御部114は、仮想カメラの位置および向きを変更後の操作キャラクタの位置に応じた位置および向きに変更する。そして、表示制御部114は、変更後の位置に変更後の向きで配置された仮想カメラの視野領域内のゲーム空間および操作キャラクタ等を描画する。これにより、ユーザAは操作キャラクタの背後からの視点で描画されたゲーム空間を見ることができる。
(準備空間と共闘クエストの選択)
本ゲームへのログインが完了すると、ゲーム進行部112はゲーム空間として準備空間を規定し、オブジェクト制御部113はユーザAの操作キャラクタを該準備空間に配置する。なお、後述する共闘戦闘または特殊共闘戦闘が終了した場合にも、ゲーム進行部112は準備空間を規定し、オブジェクト制御部113はユーザAの操作キャラクタを該準備空間に配置する。表示制御部114は該準備空間を描画した表示画面を作成する。
図4は、準備空間を描画した表示画面の一例を示す。図4の状態(A)は、準備空間の表示画面の一例を示す図である。オブジェクト制御部113は準備空間に、ユーザ端末Aの操作キャラクタxを配置する。また、オブジェクト制御部113は、準備空間に、図示のキャラクタy1およびy2のような、マルチプレイに参加している他のユーザの操作キャラクタを配置してもよい。また、オブジェクト制御部113は、準備空間に、図示のキャラクタzのようなNPCを配置してもよい。キャラクタzは、共闘クエストの選択および開始を受け付けるためのUIオブジェクトである。共闘クエストとは、達成条件が設定されたゲーム内のイベント、すなわち、クエストの一種であって、規定されたボスキャラクタを共闘戦闘で倒すことを目的とするクエストである。
ゲーム進行部112によって、キャラクタzを選択する入力操作がなされたと判定された場合、ゲーム進行部112は表示制御部114に、共闘リストL1を含むウィンドウW1を描画するよう指示する。共闘リストとは、ユーザが選択可能な共闘クエストのリストである。表示制御部114は、ウィンドウW1を図4の状態(A)に示した表示画面の画像に重畳した画像を作成して、タッチスクリーン15に表示させる。
図4の状態(B)は、準備空間に共闘リストを含むウィンドウを表示させた場合の表示画面の一例を示す。共闘リストL1における共闘クエストの内容表示は一例であり、同図の記載に限られない。図4の状態(B)の例では、共闘リストL1には、共闘クエストJ1〜J4が記載されている。そして、各共闘戦闘について、ボスキャラクタの名称、ボスキャラクタのレベル、共闘クエストの難易度が記載されている。
操作受付部111が、共闘クエストJ1〜J4のいずれかに対する入力操作を受け付けると、ゲーム進行部112は該入力操作を、共闘クエストを選択する入力操作を受け付けたと判定する。ゲーム進行部112は共闘クエストを選択する入力操作を受け付けたと判定した場合、ゲーム空間として戦闘空間を規定し、オブジェクト制御部113は、該戦闘空間にユーザAの操作キャラクタを配置する。
なお、共闘クエストを選択する入力操作を受け付けた場合、ゲームシステム1は他のユーザの該共闘クエストへの参加を受け付けてもよい。例えば、表示制御部114は、共闘クエストを選択する入力操作を受け付けてから、他のユーザの該共闘クエストへの参加を募るためのUIまたは表示画面の画像を作成して、表示部152に表示させてもよい。そして、他のユーザのユーザ端末100において所定の入力操作がなされた場合に、該他のユーザの操作キャラクタを、ユーザAが募集している共闘クエストに参加させてもよい。この場合、ユーザAまたは他のユーザが共闘戦闘の開始を指示する入力操作を行った場合に、共闘戦闘が開始される。
以下、共闘戦闘においてユーザAの味方となる他のユーザの操作キャラクタのことを、味方キャラクタとも称する。また、以下では一例として、ユーザAの他に、ユーザB、ユーザC、およびユーザDの3人の他のユーザが共闘戦闘に参加する場合について説明する。すなわち、以下の例ではユーザAの操作キャラクタと、3体の味方キャラクタとが共闘してボスキャラクタの討伐を試みる。
(共闘キャラクタデータ)
共闘戦闘を開始する場合、ゲーム進行部112は、他のユーザ端末100から味方キャラクタのキャラクタデータ133Aを受信してもよい。そして、ゲーム進行部112は自端末における操作キャラクタのキャラクタデータ133Aと、味方キャラクタのキャラクタデータ133Aとをまとめた共闘キャラクタデータを作成してもよい。
図5は、共闘キャラクタデータのデータ構造の一例を示す図である。共闘キャラクタデータは、各キャラクタのユーザを特定する情報と、キャラクタデータ133Aと同様の情報と、を含む。図5の例では、共闘キャラクタデータには、図3に示したキャラクタデータ133Aに含まれる各種情報に加え、「ユーザID」列および「ユーザ名」列の情報が含まれる。「ユーザID」列には、各キャラクタを操作するユーザの識別情報が格納される。「ユーザ名」列には、「ユーザID」列の情報で特定されるユーザの名称を示す情報が格納される。なお、ユーザ名自体がユーザの識別情報として機能する場合、共闘キャラクタデータは「ユーザID」列を含まなくてもよい。
作成された共闘キャラクタデータは、共闘戦闘の処理のために参照される。なお、共闘キャラクタデータは一時的に、または非一時的に、記憶部120に記憶されてもよい。
(共闘戦闘空間の具体例)
図6は、共闘戦闘の際の共闘戦闘空間を描画した表示画面の一例を示す。図6の状態(A)は表示部152が縦向きの場合の表示画面を、図6の状態(B)は表示部152が横向きの場合の表示画面を示している。オブジェクト制御部113は、共闘戦闘空間に、操作キャラクタxと、味方キャラクタg1〜g3と、ボスキャラクタK1とを配置する。
共闘戦闘空間では、表示制御部114は、仮想カメラの位置および向きを、ボスキャラクタK1と、操作キャラクタxとの位置関係に基づき規定してもよい。例えば、表示制御部114は、ボスキャラクタK1が視野中央に写り、かつ、操作キャラクタxが写るような角度で仮想カメラを配置する。
表示制御部114は、共闘戦闘空間の表示画面において、UI画像またはUIオブジェクトを重畳して描画してもよい。例えば、表示制御部114は、図6に示すように、メニューM2を表示させてもよい。メニューM2には、例えば、操作キャラクタxの名称と、操作キャラクタxのレベルと、操作キャラクタxの現在の体力の値「290」と、体力の最大値および現在値を示す体力ゲージV1が表示される。また例えば、表示制御部114は、ユーザの入力操作のためのUIであるボタンB3、B4、およびB5を表示させてもよい。ボタンB3は、操作キャラクタxのスキルを発動させるためのスキルボタンである。ボタンB4は操作キャラクタxの体力の回復を指示するための回復ボタンである。ボタンB5は、味方キャラクタを操作している他のユーザとメッセージをやりとりする、すなわち、他のユーザとチャットを行うためのチャットボタンである。なお、操作キャラクタが武器を複数装備可能である場合、表示制御部114はボタンB6を表示させてもよい。ボタンB6は操作キャラクタxが装備する武器の切り替えを行うための武器切替ボタンである。
表示制御部114は、操作キャラクタxまたは味方キャラクタの動作に合わせてメッセージを表示させてもよい。例えば、表示制御部114は、操作キャラクタxまたは味方キャラクタが準備空間から戦闘空間へ移動した場合や、操作キャラクタxまたは味方キャラクタがアイテムを入手した場合に、その旨を各ユーザに知らせるメッセージを表示画面に表示させてもよい。また、表示制御部114は、味方キャラクタ、またはボスキャラクタの行動に応じたメッセージを表示させてもよい。例えば、表示制御部114は、共闘進行部112Bが、操作キャラクタがボスキャラクタの弱点を突く攻撃を成功させたと判定した場合や、味方キャラクタが戦闘不能となったと判定した場合に、その旨を通知するメッセージを表示させてもよい。または、表示制御部114は、共闘進行部112Bによってボスキャラクタが行動不能等の特殊な状態に陥ったと判定された場合に、その旨を通知するメッセージを表示させてもよい。
なお、表示制御部114は、上述したUIに係る各種表示物(ボタン、メニュー、およびメッセージ)を、仮想カメラの位置および向きに関わらず、表示部152の表示画面において固定位置に描画することが望ましい。表示制御部114は、UIに係る各種表示物は、操作キャラクタの移動、攻撃、回復等の指示に係る入力操作を妨げないように、表示部152の表示画面の周縁部に描画することが望ましい。表示制御部114は、上述したUIに係る各種表示物の描画位置を、縦画面と横画面とで変更することが望ましい。
操作キャラクタおよび敵キャラクタには、少なくとも体力を含む各種パラメータ(例えば攻撃力、防御力など)の値が設定されている。操作キャラクタのパラメータの設定値はユーザ情報133に含まれ、敵キャラクタのパラメータの設定値はゲーム情報132に含まれる。なお、本実施形態では、各操作キャラクタには体力の値が設定されていることとし、攻撃力および防御力等は、キャラクタの装備品の性能に応じて決定されることとする。
共闘戦闘空間において、オブジェクト制御部113は、操作受付部111が受け付けた入力操作に応じて、操作キャラクタのオブジェクトに攻撃動作を行わせる。そして、共闘進行部112Bは、操作キャラクタの攻撃がいずれかのボスキャラクタに当たったか否か、すなわち攻撃が成功したか否かを判定する。さらに、共闘進行部112Bは、操作キャラクタの攻撃が成功したと判定した場合、攻撃対象とされたボスキャラクタに与えるダメージ値の算出を行う。さらに、共闘進行部112Bは、算出したダメージ値をボスキャラクタの体力値から減算する。もしくは、共闘進行部112Bは、算出したダメージの値を含む、当該ボスキャラクタへのダメージの総計と、ボスキャラクタの体力の値とを比較する。
ボスキャラクタに予め設定された体力の値が0以下になった、またはボスキャラクタに、該体力の値を超えるダメージが与えられた場合、共闘進行部112Bは該ボスキャラクタが討伐されたと判定する。
また、共闘戦闘空間において、オブジェクト制御部113は、ボスキャラクタに攻撃動作を行わせる。共闘進行部112Bは、ボスキャラクタによる攻撃動作についても、操作キャラクタの攻撃動作と同様に攻撃の成否判定を行い、操作キャラクタに対する攻撃が成功した場合にはダメージ値の算出も行う。操作キャラクタに関連付けられた体力の値が0になった場合、共闘進行部112Bは操作キャラクタが戦闘不能の状態になったと判定する。
また、共闘進行部112Bは、他のユーザ端末100から、該端末における処理内容、すなわち戦闘の経過を示す情報を、リアルタイムに受信する。例えば、共闘進行部112Bは、他のユーザ端末100から、味方キャラクタの攻撃動作、攻撃の成否判定結果、ボスキャラクタからのダメージ値等を受信する。共闘進行部112Bはリアルタイムに受信する戦闘結果を反映するよう、オブジェクト制御部113および表示制御部114に指示する。これにより、他のユーザ端末100における戦闘の結果が、ユーザ端末Aにおいてリアルタイムに表示される。
共闘進行部112Bが、操作キャラクタが戦闘不能になったと判定した場合、オブジェクト制御部113は、戦闘不能になった操作キャラクタを動作させない。例えば、操作受付部111が操作キャラクタを動作させる入力操作を受け付けても、オブジェクト制御部113は入力操作に対応する動作を操作キャラクタのオブジェクトに行わせない。なお、オブジェクト制御部113は、他のユーザによって、戦闘不能になった操作キャラクタを復活させるための操作が行われた場合、操作キャラクタを動作可能にしてもよい。
共闘進行部112Bは全てのボスキャラクタを討伐したと判定した場合、共闘クエストが達成されたと判定し、共闘戦闘を終了させる。すなわち、共闘進行部112Bは準備空間を規定し、オブジェクト制御部113に、操作キャラクタを該準備空間に配置させるよう指示する。これにより、操作キャラクタの居るゲーム空間が共闘戦闘空間から準備空間へと遷移する。なお、共闘進行部112Bは共闘クエストが達成された場合、該クエストでの共闘戦闘に参加したユーザAおよび他のユーザに報酬を付与してもよい。
<処理の流れ>
図7は、特殊共闘戦闘に係る処理の流れの一例を示す図である。なお、以下で説明する各ステップのうち、ステップS100〜ステップS104およびステップS116〜S118の処理は必須ではない。
図4に示した準備空間において、ユーザが所定の入力操作を行った場合、ゲーム進行部112は、準備空間の一種であって、特殊共闘戦闘の準備を行うためのゲーム空間である第2準備空間を規定してもよい。
ステップS100において、オブジェクト制御部113は、第2準備空間にユーザAの操作キャラクタを配置させる。
(第2準備空間と特殊共闘クエストの選択)
図8は、第2準備空間を描画した表示画面の一例を示す。図8の状態(A)は、第2準備空間の表示画面の一例を示す図である。オブジェクト制御部113は、第2準備空間に、ユーザ端末Aの操作キャラクタxを配置する。また、表示制御部114は表示画面に、特殊共闘クエストの選択ウィンドウを開くためのボタンB7を表示させる。また、表示制御部114は表示画面に、チャットウィンドウを開くためのボタンB8を表示させる。チャットウィンドウについては後で詳述する。
なお、オブジェクト制御部113は、図示のキャラクタy3〜y5のように、他のユーザの操作キャラクタを第2準備空間に配置してもよい。また、オブジェクト制御部113は、第2準備空間にNPCを配置してもよい。
ボタンB7を選択する入力操作がなされた場合、ゲーム進行部112は表示制御部114に、特殊共闘リストL2を含むウィンドウW2を描画するよう指示する。特殊共闘リストとは、ユーザが選択可能な特殊共闘クエストのリストである。また、特殊共闘クエストとは、クエストの一種であって、規定されたボスキャラクタを特殊共闘戦闘で倒すことを目的とするクエストである。表示制御部114は、ウィンドウW2を図8の状態(A)に示した表示画面の画像に重畳した画像を作成して、タッチスクリーン15に表示させる。
図8の状態(B)は、準備空間に特殊共闘リストを含むウィンドウを表示させた場合の表示画面の一例を示す。特殊共闘リストL2における各特殊共闘クエストの内容表示は一例であり、同図の記載に限られない。図8の状態(B)の例では、特殊共闘リストL2には、特殊共闘クエストJ5〜J8が記載されている。なお、特殊共闘クエストの内容、すなわち討伐すべきボスキャラクタ、およびクエストの達成条件等は、共闘クエストと同じであっても、異なっていてもよい。特殊共闘リストL2では、各特殊共闘クエストについて、ボスキャラクタの名称、ボスキャラクタのレベル、共闘クエストの難易度が記載されている。なお、特殊共闘リストL2における各特殊共闘クエストの内容の表示は一例であり、同図の記載に限られない。
ステップS102において、操作受付部111は、特殊共闘クエストの選択指示を受け付ける。例えば、ゲーム進行部112は、操作受付部111において特殊共闘クエストJ5〜J8のいずれかの表示領域に対する入力操作が受け付けられた場合に、特殊共闘クエストの選択指示が受け付けられたと判定する。該選択指示を受け付けると、ゲーム進行部112は、特殊共闘クエストに参加する他のユーザを募集するための募集画面を作成するよう、表示制御部114に指示する。
(募集画面)
図9は、募集画面の一例を示す図である。図9に示す募集画面500では、操作キャラクタxを操作するユーザAが、特殊共闘クエストに参加する他のユーザを募集している。そして、操作キャラクタg1を操作するユーザB、および操作キャラクタg2を操作するユーザCが、該クエストに参加を表明している。
図9に示すように、募集画面500には、特殊共闘クエストにおいて討伐すべきボスキャラクタの名称が、タイトルTとして表示されていてもよい。また、特殊共闘クエストの識別番号M4が表示されていてもよい。
なお、ユーザは特殊共闘クエストに参加する他のユーザを募集する場合、参加を許可する条件を設定してもよい。参加を許可する条件とは、例えば、他のユーザ端末100において識別番号M4が入力されることであってもよい。この場合、該他のユーザ端末100から直接、またはサーバ200を介してユーザ端末Aに識別番号M4に対応する特殊共闘クエストへの参加要求が送信される。そして、ユーザ端末Aにおいて該要求が受け付けられた場合に、該他のユーザ端末100からの特殊共闘クエストへの参加が許可される。これにより、ユーザAからこの特殊共闘戦闘の識別番号を予め知らされたユーザに限定して参加を許可することができる。識別番号M4を入力した他のユーザのユーザ端末100には、ユーザ端末Aと同様の募集画面500が表示される。
図9に示す例では、募集画面500には、ユーザAの操作キャラクタxと、ユーザBおよびユーザCの操作キャラクタg1〜g2が表示されている。また、図9に示す例では、味方キャラクタg2の隣の1列が空欄となっている。このことは、操作キャラクタx、味方キャラクタg1およびg2の他に、あと1体のキャラクタ、すなわち1人のユーザが特殊共闘戦闘に参加可能であることを示している。
図9に示す例では、さらにユーザの入力操作のためのUIであるボタンB9、B10、およびB11が表示されていてよい。ボタンB9は「武器切替ボタン」であり、特殊共闘戦闘に参加する前に、各自の操作キャラクタが装備する武器の切り替えを行うためのものである。また、図9に示すように、表示制御部114は、各操作キャラクタの名称Q1、レベルQ2、装備品Q3、体力の最大値Q4、攻撃や防御の能力値Q5、および他の操作キャラクタを回復させる能力に関する値Q6などを表示する構成であってもよい。このような表示を参照することにより、各ユーザは、味方の能力を知ったうえで、特殊共闘戦闘に参加することができる。
ボタンB10は、特殊共闘クエストの開始、すなわち特殊共闘戦闘の開始を取りやめ、図8の状態(A)に示す表示画面に戻るための退出ボタンである。ボタンB10に対するタッチ操作を行った場合、各ユーザは参加希望の特殊共闘戦闘を選択し直すことができる。ボタンB11は、特殊共闘戦闘の開始指示を受け付けるための出発ボタンである。例えば、図9に示す状態においてボタンB11に対するタッチ操作が行われた場合、共闘戦闘空間に操作キャラクタx、および味方キャラクタg1およびg2が配置され、特殊共闘クエストが開始される。
ステップS104において、操作受付部111は、特殊共闘クエストの開始指示を受け付ける。ゲーム進行部112は、例えば、操作受付部111においてボタンB11に対するタッチ操作が受け付けられた場合、特殊共闘クエストの開始指示が受け付けられたと判定する。該開始指示が受け付けられた場合、ゲーム進行部112の状態変更部112Aは、ステップS106を実行する。本実施形態では、図9に示したユーザAの名称「AAA」の操作キャラクタx、ユーザBの名称「BBB」の操作キャラクタg1、およびユーザCの名称「CCC」の操作キャラクタg2と、さらに、ユーザDの名称「DDD」の操作キャラクタg3が特殊共闘クエストに参加することとする。
ステップS106において、状態変更部112Aは、特殊共闘クエストに参加するユーザの中から、第2ユーザを特定する。例えば、ユーザ端末Aの状態変更部112Aは、特殊共闘クエストに参加する他のユーザのユーザ端末100から、それぞれのユーザ情報133を受信する。ユーザ情報133には、各ユーザのゲームの進行度合いを示す情報が含まれている。状態変更部112Aは例えば、受信した、他のユーザのユーザ情報133と、自端末におけるユーザ情報133とに基づいて、特殊共闘戦闘に参加するユーザのうち、ゲームの進行度合いが最も遅れているユーザを1人特定する。本実施形態では、ユーザDが第2ユーザとして特定されたこととする。なお、状態変更部112Aは、ユーザAのゲームの進行度合いによっては、ユーザ端末A自体のユーザ、すなわちユーザAを第2ユーザとして特定してもよい。
ステップS108において、状態変更部112Aは、第2ユーザよりもゲームの進行が進んでいる1名以上のユーザの状態を、第2ユーザの状態と同一になるように変更する。本実施形態では、状態変更部112Aは、特殊共闘戦闘に参加するユーザA〜ユーザDのうち、第2ユーザであるユーザD以外の全ユーザ(ユーザA〜ユーザC)の状態を、ユーザDの状態と同一になるように変更する。すなわち、本実施形態において、第1ユーザとは、ユーザA〜Cの3名のユーザである。
例えば、状態変更部112Aは、ユーザA〜Cの操作キャラクタが戦闘を行うときのパラメータ、装備、スキル、およびアイテムのうち少なくとも1つを、ユーザDの操作キャラクタが戦闘を行うときのパラメータ、装備、スキル、およびアイテムのうち少なくとも1つと同一になるように変更する。これにより、ユーザA〜Cの操作キャラクタが特殊共闘戦闘時に攻撃、防御、ならびに、スキルまたはアイテムの使用等の少なくとも1つのアクションを実行した場合の該アクションの結果を、ユーザDの操作キャラクタが該アクションを実行した場合の結果と略同じにすることができる。したがって、初心者であるユーザDの操作キャラクタの戦闘時の状態および挙動を、上級者であるユーザA〜Cに各自の操作キャラクタを通じて体験させることができる。
本実施形態では一例として、操作キャラクタの、ID、名称、外見パターン、レベル、および体力以外の情報が、ユーザDの状態、すなわち、キャラクタ「DDD」の状態と同一になるよう変更されることとする。
例えば、状態変更部112Aは、特殊共闘戦闘を開始する際に他のユーザ端末100から味方キャラクタ、すなわちユーザB〜ユーザDの操作キャラクタについてのキャラクタデータ133Aを受信する。なお、ステップS106を実行するために各ユーザ端末100からユーザ情報133を受信する場合、該ユーザ情報133に含まれているキャラクタデータ133Aを用いてよい。
そして、状態変更部112Aは、ユーザ端末Aにおけるキャラクタ「AAA」のキャラクタデータ133Aと、味方キャラクタ、すなわちキャラクタ「BBB」、「CCC」、および「DDD」のキャラクタデータ133Aとをまとめた特殊共闘キャラクタデータを作成する。
(特殊共闘キャラクタデータ)
図10は、特殊共闘キャラクタデータのデータ構造の一例を示す図である。図10に示す特殊共闘キャラクタデータの各列には、図5に示した共闘キャラクタデータの各列と同様の情報が格納される。
ただし、状態変更部112Aは、ユーザA〜Cの共闘キャラクタデータにおいて「ユーザID」列、「ユーザ名」列、「ID」列、および「名称」列以外の1列以上の情報を、ユーザDに関する情報、すなわち、キャラクタ「DDD」に関する情報と同一になるように書き換えたものを、特殊共闘キャラクタデータとして作成する。図示の例では、ユーザA〜Cの操作キャラクタである「AAA」「BBB」および「CCC」の、武器、防具、スキル、およびアイテムが、キャラクタ「DDD」の武器、防具、スキル、およびアイテムと同一になるように変更されている。
これにより、キャラクタ「AAA」「BBB」および「CCC」の特殊共闘戦闘において参照される各種パラメータ、装備品、およびアイテム等の少なくとも1つの情報が、キャラクタ「DDD」と同じ状態となる。なお、特殊共闘キャラクタデータは一時的に、または非一時的に、記憶部120に記憶されてもよい。特殊共闘キャラクタデータが作成されると、ゲーム進行部112は共闘戦闘空間を規定する。オブジェクト制御部113は、共闘戦闘空間に各ユーザの操作キャラクタを配置する。その際、オブジェクト制御部113は、特殊共闘キャラクタデータを参照して、該操作キャラクタの外見等を変更してもよい。オブジェクト制御部113がユーザA〜Dの操作キャラクタを共闘戦闘空間に配置すると、共闘進行部112BはステップS110を実行する。
ステップS110において、共闘進行部112Bは、特殊共闘戦闘を開始させる。
ステップS112において、共闘進行部112Bは、特殊共闘戦闘を進行させる。なお、特殊共闘戦闘の進行処理については、共闘戦闘と同様である。ただし、戦闘の際には、共闘キャラクタデータではなく、特殊共闘キャラクタデータを参照する。
(特殊戦闘画面)
図11は、特殊共闘戦闘の際の共闘戦闘空間を描画した表示画面の一例を示す。なお、特段の記載がない表示内容および処理内容は、特殊共闘戦闘と共闘戦闘とで共通である。
図11の状態(A)は、特殊共闘戦闘の最中の表示画面の一例を示す。特殊共闘戦闘の場合、上述の通り、第1ユーザの状態、すなわち、ユーザA〜Cの操作キャラクタに関する何らかの情報が、第2ユーザの状態、すなわち、ユーザDの操作キャラクタに関する情報と同一になるよう変更される。
例えば、図10の特殊共闘キャラクタデータを図5の共闘キャラクタデータと比較すると、特殊共闘キャラクタデータにおいて、ユーザA〜Cの武器は、各自のものからユーザDの武器「片手剣C」に変更されている。また、ユーザA〜Cの防具は、各自のものからユーザDの防具「服A」に変更されている。この場合、共闘進行部112Bは、ユーザA〜Cの攻撃時および防御時等に、「片手剣C」および「服A」の能力値を参照して、ダメージ計算等を実行する。
また、装備に応じてキャラクタの外見が異なる場合、オブジェクト制御部113はユーザA〜Cの外見を、「片手剣C」および「服A」を装備したときの外見に変更してもよい。また、装備に応じてキャラクタのアクション時のモーションが異なる場合、オブジェクト制御部113は各キャラクタのアクション時のモーションを、「片手剣C」および「服A」を装備したときのモーションに変更してもよい。
これにより、図11に示すように、ユーザA〜Dの操作キャラクタが、全て同じ外見かつ同じモーションで動作するようにすることができる。つまり、初心者であるユーザDの操作キャラクタの戦闘時の状態および挙動を、上級者であるユーザA〜Cに各自の操作キャラクタを通じて体験させることができる。したがって、特殊共闘戦闘後のチャット(後述)において、ユーザA〜CからユーザDに対して、体験に基づいた有効なアドバイスを行うことができる。
図11の状態(B)は、図11の状態(A)から、ボスキャラクタK1が討伐された場合の表示画面を示している。表示制御部114は、ボスキャラクタK1の体力値がゼロになると、図示のようにボスキャラクタの体力ゲージを消去する。また、表示制御部114は、ボスキャラクタK1の名称、戦闘の制限時間などを表示させている場合、これらの表示も消去する。また、オブジェクト制御部113は、ボスキャラクタK1に倒れるようなアクションを起こさせる。また、表示制御部114は、戦闘に勝利したことを示す通知を表示部152に表示させる。例えば、表示制御部114は、図11の状態(B)に示すテロップD5をタッチスクリーン15に表示させる。
ステップS114において、共闘進行部112Bは、特殊共闘戦闘が終了したか否か、すなわち、特殊共闘クエストにおけるボスキャラクタを全て討伐したか否かを判定する。ステップS114でNOの場合、すなわち特殊共闘戦闘が終了していない場合、共闘進行部112BはステップS112の処理を続ける。一方、ステップS114でYESの場合、すなわち、特殊共闘戦闘が終了した場合、共闘進行部112Bは、ステップS116を実行する。
ステップS116において、共闘進行部112Bは、第1ユーザの状態を、状態変更部112Aが第1ユーザの状態を変更する前の状態に戻す。すなわち、共闘進行部112Bは、ユーザA〜Cの操作キャラクタ「AAA」「BBB」および「CCC」の状態を、ステップS108において変更する前の武器、防具、スキル、およびアイテムに戻す。これにより、特殊共闘戦闘が終了した後は、各操作キャラクタの状態を元に戻すことができる。すなわち、特殊共闘戦闘の時のみに限定して、各操作キャラクタの状態を変更することができる。したがって、ユーザA〜Cは、ユーザDと同様の状態での戦闘を気軽に試すことができる。
例えば、共闘進行部112Bは、特殊共闘戦闘において参照していた特殊共闘キャラクタデータを破棄するか、以降のゲームで参照しないこととすることで、ステップS116の処理を実現できる。この場合、以降のゲームの進行においては、各ユーザのユーザ端末100に記憶されたキャラクタデータ133Aが参照される。ステップS116の処理が完了すると、ゲーム進行部112は、第2準備空間を規定する。
ステップS118において、オブジェクト制御部113は、特殊共闘戦闘に参加した各ユーザA〜Dの操作キャラクタを第2準備空間に配置する。第2準備空間に各操作キャラクタが配置され、図8の状態(A)で示したような第2準備空間が、再び表示制御部114によって描画され、表示部152に表示される。
ここで、操作受付部111がボタンB8の表示領域に対するタッチ操作を受け付けた場合、ゲーム進行部112は、チャットの開始を指示する入力操作を受け付けたと判定する。そして、チャット管理部112Cは、チャットウィンドウを表示するよう表示制御部114に指示する。
ステップS120において、表示制御部114は、チャット管理部112Cからの指示に応じてチャットウィンドウを表示画面に表示させる。
(チャットウィンドウ)
図12は、チャットウィンドウを表示した場合の、表示画面の一例を示す図である。チャットウィンドウには、少なくとも、メッセージを入力または選択して送信するためのUIが含まれている。
例えば、図12に示すチャットウィンドウW3には、テキストメッセージを入力するための入力欄F1と、入力されたメッセージを送信するための送信ボタンB12とが含まれている。また、チャットウィンドウW3には、メッセージの一種であるアイコン画像を選択および送信するための、アイコンリストL3が含まれていてもよい。
チャットウィンドウW3には、送受信したメッセージを表示する表示欄F2が含まれていてもよい。表示欄F2には、送受信したメッセージが時系列で記載されてよい。また、表示欄F2には、各メッセージの送信元のユーザ名および送信日時が記載されていてもよい。また、図示のように、表示欄F2において送信したメッセージと、受信したメッセージとが区別可能に表示されることが望ましい。
なお、チャットウィンドウW3を表示した後も、図示の通り表示画面にボタンB8が表示されていてもよい。そして、ボタンB8の表示領域に対して再度タッチ操作が行われた場合、チャット管理部112CはチャットウィンドウW3を閉じてもよい。
チャット管理部112Cは、チャットウィンドウW3に対する入力操作に応じて、ユーザAからのメッセージを送信する。なお、チャット管理部112Cは、通信部115が他のユーザ端末100からのメッセージを受信した場合、該メッセージを表示欄F2に表示するよう、表示制御部114に随時指示する。
ステップS122において、操作受付部111は、メッセージの送信を指示する入力操作を受け付ける。操作受付部111は少なくとも、ユーザA、すなわち第1ユーザから、ユーザD、すなわち第2ユーザへのメッセージの送信を指示する入力操作を受け付ける。
ステップS124において、チャット管理部112Cはメッセージを送信する。チャット管理部112Cは、少なくとも、ユーザA、すなわち第1ユーザから、ユーザD、すなわち第2ユーザへのメッセージを送信する。
例えば、入力欄F1に文字列が入力された状態で、送信ボタンB12の表示領域に対するタッチ操作が行われた場合、ゲーム進行部112は、操作受付部111がメッセージの送信を指示する入力操作を受け付けたと判定する。メッセージの送信を指示する入力操作を受け付けた場合、チャット管理部112Cは、入力欄F1に入力された文字列をテキストメッセージとして送信する。なお、送信先は、第2準備空間に操作キャラクタが配置されている全ユーザであってもよいし、共に特殊共闘戦闘を行ったユーザB〜Dのみであってもよい。もしくは、ユーザ端末Aにおいて所定の入力操作を行うことで、特定のユーザを指定して、該ユーザに対してメッセージの送信が可能であってもよい。
また、アイコンリストL3に示されるアイコン画像のうち、いずれかのアイコン画像の表示領域に対するタッチ操作が行われた場合も、ゲーム進行部112は、操作受付部111がメッセージの送信を指示する入力操作を受け付けたと判定する。この場合、チャット管理部112Cは、タッチされた表示領域に表示されているアイコン画像が選択されたと判定し、該選択されたアイコン画像をメッセージとして送信する。この場合の送信先も、テキストメッセージの場合と同様、第2準備空間に操作キャラクタが配置されている全ユーザであってもよいし、共に特殊共闘戦闘を行ったユーザB〜Dのみであってもよい。
なお、上述したメッセージの送受信はサーバ200を介して行われてもよい。すなわち、チャット管理部112Cはメッセージを、該メッセージの宛先のユーザを特定する情報とともにサーバ200に向けて送信してもよい。そして、サーバ200のサーバ処理部212は受信した該メッセージを、該メッセージの宛先のユーザのユーザ端末100に向けて送信してもよい。もしくは、ユーザ端末Aにおいて所定の入力操作を行うことで、特定のユーザを指定して、該ユーザに対してメッセージの送信が可能であってもよい。
チャット管理部112Cは、ユーザAによってメッセージの送信が指示されたタイミングで、または、ユーザ端末Aにおいてメッセージの送信が完了したタイミングで、ステップS126を実行する。
ステップS126において、チャット管理部112Cはユーザに報酬を付与する。以降、ステップS126において付与される報酬を交流報酬と称する。交流報酬の種類は特に限定されない。例えば、交流報酬は、ゲーム内通貨、有価データ、ゲーム内アイテム等であってもよい。また、交流報酬として、上述したチャット機能で使用可能なアイコン画像等がユーザに付与されてもよい。
なお、交流報酬は、第1ユーザ(ユーザA〜C)にのみ、または第2ユーザ(ユーザD)にのみ付与されてもよい。第1ユーザにのみ交流報酬を付与する場合、各ユーザに、自分より初心者と組んで、該初心者の状態で戦闘を行うよう促すことができる。したがって、ゲームシステム1は、初心者に、自分の状態と同じ状態で共闘した上級者からアドバイスを得る機会を提供できる。また、第2ユーザにのみ交流報酬を付与する場合、ゲームシステム1は、各ユーザに、自分より上級者と組んで戦闘を行うよう促すことができる。
以上の処理によれば、第1ユーザを、ゲームの進行度合いが遅れている、すなわち、第1ユーザよりも初心者である第2ユーザと同一の状態で戦闘させることができる。換言すると、第2ユーザは、自分よりも上級者である第1ユーザに、戦闘での自分の状態を体感してもらうことができる。
そして、第1ユーザは、第2ユーザの戦闘時の状態を体感した上で、対戦後に該第2ユーザにメッセージを送信することができる。これにより、第2ユーザは、第1ユーザとの交流を持つことができる。また、第2ユーザは、第1ユーザから戦闘に関する有効なアドバイスをもらえる可能性が高まる。
これにより、第2ユーザは上級者との交流の機会および戦闘の戦略性を知ることができる。また、第1ユーザにとっても、初心者との交流の機会が得られる。したがって、以上の処理によれば、ユーザ間の交流が活性化し、ゲームの興趣性が向上する。
なお、チャットウィンドウは、特殊共闘戦闘の終了後に自動で表示されてもよい。例えば、チャット管理部112Cは、ゲーム進行部112が第2準備空間を再規定したときに、該第2準備空間を描画した画像に、チャットウィンドウを重畳して表示するよう、表示制御部114に指示してもよい。これにより、ユーザAに対し、特殊共闘戦闘後にチャットをするよう促すことができる。
この場合、ユーザB〜Dのユーザ端末100においても、ユーザAと同様にチャットウィンドウを表示させることが望ましい。これにより、特殊共闘戦闘に参加したユーザ同士でチャットをするように促すことができる。したがって、例えば初心者のユーザDに対し、ユーザDと同じ装備で特殊共闘戦闘を行ったユーザA〜Cからアドバイスをすることができる。
また、チャット管理部112Cは、特殊共闘戦闘の終了後にチャットウィンドウを表示させた場合、特殊共闘戦闘に参加したユーザのみを該ウィンドウにおいてチャット可能にすることが望ましい。つまり、チャット管理部112Cは、チャットウィンドウを介して送信されたメッセージを、ユーザB〜Dのユーザ端末100にのみ送信することが望ましい。
なお、ステップS120〜ステップS126の処理は、ステップS114の処理以降であれば、どのタイミングで行われてもよい。例えば、チャット管理部112Cは、ボスキャラクタが全て討伐されたとき、すなわち、共闘進行部112Bにより特殊共闘戦闘が終了したと判定されたタイミング(ステップS114でYES)で、該共闘戦闘空間においてチャットウィンドウを表示させてもよい。そして、操作受付部111は該チャットウィンドウにおいてメッセージの送信指示を受け付け、チャット管理部112Cは該メッセージを送信してもよい。また、チャット管理部112Cはメッセージの送信後、交流報酬をユーザに付与してもよい。
なお、チャット管理部112Cは、第2準備空間以外の準備空間、および共闘戦闘空間においても、同様の方法でユーザ間のチャットを実現してもよい。例えば、表示制御部114は、図4に示す準備空間を描画する際に、チャットの開始を指示する入力操作を受け付けるためのボタンを表示させてもよい。そして、チャット管理部112Cは該ボタンが押下された場合にチャットウィンドウを表示させてもよい。
また例えば、表示制御部114は、図6および図11に示す共闘戦闘空間を描画する際に、チャットの開始を指示する入力操作を受け付けるためのボタンを表示させてもよい。そして、チャット管理部112Cは、該ボタンが押下された場合にチャットウィンドウを表示させてもよい。
なお、共闘進行部112Bは、ステップS114において特殊共闘戦闘が終了したと判定した場合に、該特殊共闘戦闘に参加したユーザに報酬を付与してもよい。以降、該報酬を、ステップS122で付与する交流報酬と区別するため、「対戦報酬」と称する。対戦報酬は、ステップS122における交流報酬の代わりに付与されてもよいし、該交流報酬とは別途付与されてもよい。これにより、各ユーザに特殊共闘戦闘を実施することを促すことができる。
また、対戦報酬は、第1ユーザまたは第2ユーザにのみ付与されてもよい。第1ユーザにのみ対戦報酬を付与する場合、ゲームシステム1は、各ユーザに、自分より初心者と組んで、該初心者の状態で戦闘を行うよう促すことができる。したがって、ゲームシステム1は、初心者に、自分の状態と同じ状態で共闘した上級者からアドバイスを得る機会を提供できる。また、第2ユーザにのみ対戦報酬を付与する場合、ゲームシステム1は、各ユーザに、自分より上級者と組んで戦闘を行うよう促すことができる。
なお、ユーザDに交流報酬または対戦報酬が付与される場合、該付与される交流報酬または対戦報酬の種類を、ユーザA〜Cの少なくとも1人が指定可能であってもよい。例えば、操作受付部111は、特殊共闘戦闘の終了後にユーザDの交流報酬または対戦報酬の種類を指定する入力操作を受け付けてもよい。そして、該入力操作が受け付けられた場合、共闘進行部112Bまたはチャット管理部112Cは、該種類を指定する情報を、通信部115を介してユーザDのユーザ端末100に送信してもよい。ユーザDのユーザ端末100は該指定する情報を受信すると、該情報に基づいてユーザDに対する交流報酬または対戦報酬を決定する。これにより、ユーザDは、攻略知識のある上級者に自分に有用な報酬を選んでもらうことができる。したがって、ユーザDはより有用な報酬を得る機会が増加する。
また、ユーザA〜Cの少なくとも1名から、そのユーザが保有するアイテムまたは装備品等を、ユーザDに譲渡することが可能であってもよい。なお、スキルもアイテムおよび装備品と同様、譲渡が可能であってもよい。
例えば、操作受付部111は、特殊共闘戦闘の終了後に、ユーザAの、譲渡するアイテムまたは装備品を指定する入力操作を受け付ける。操作受付部111が該操作を受け付けた場合、共闘進行部112Bまたはチャット管理部112Cは、ユーザAが指定するアイテムまたは装備品を特定する情報と、譲渡先のユーザDのユーザIDとをサーバ200に送信する。なお、ユーザDのユーザIDは、特殊共闘キャラクタデータを参照することで特定する。このとき、共闘進行部112Bまたはチャット管理部112Cは、ユーザ情報133を更新することで、ユーザAの保有するアイテムまたは装備品のうち、譲渡したアイテムまたは装備品の個数を減少させる。
サーバ200は譲渡するアイテムまたは装備品を特定する情報と、ユーザDのユーザIDとを受信する。サーバ処理部212は、受信したユーザIDと対応付けられたユーザ端末100に対し、譲渡するアイテムまたは装備品を特定する情報を送信する。該情報を受信したユーザ端末100は、ユーザDのユーザ情報133を更新することで、譲渡されたアイテムまたは装備品をユーザDに付与する。
これにより、初心者であるユーザDは、自分より上級者のユーザAから、該ユーザAの所持しているアイテムまたは装備品を譲渡してもらうことができる。また、この譲渡は特殊共闘戦闘の後で行われる。したがって、ユーザAは、ユーザDが戦闘で必要としているものをある程度把握して、ユーザDにとって有用な可能性が高いアイテムまたは装備品を、譲渡することができる。
〔実施形態2〕
以下、本発明の実施形態2について説明する。なお、実施形態1にて説明した内容と同じ内容については、その説明を繰り返さない。
本ゲームでは、いずれかのユーザが設立したチームに、他のユーザが所属可能であってもよい。チームとは、1名以上のユーザから成る集団である。各ユーザは自己の操作キャラクタを介して本ゲームに参加しているため、チームは、1体以上のキャラクタが所属する集団であるともいえる。なお、本実施形態では、1名のユーザは1つのチームに所属可能であるとする。しかしながら、本ゲームでは、1名のユーザが複数のチームに所属可能であってもよい。
また、あるユーザが参加する特殊共闘戦闘には、該ユーザと同一チームに所属するユーザが参加可能であることとしてもよい。換言すると、特殊共闘戦闘は、同一チームに所属する複数のユーザで実施されることとしてもよい。この場合、図8において説明した第2準備空間は、チーム毎に規定されるゲーム空間、すなわち、該チームのメンバーであるユーザの操作キャラクタのみが配置され得るゲーム空間であることとしてもよい。
この場合、状態変更部112Aは、複数の第1ユーザそれぞれが特殊共闘戦闘を行うときの状態を、複数の第1ユーザと同一のチームに所属する第2ユーザが特殊共闘戦闘を行うときの状態と同一の状態に変更してもよい。また、共闘進行部112Bは、複数の第1ユーザおよび第2ユーザが参加する特殊共闘戦闘を進行させてもよい。
これにより、第2ユーザはチームに所属することで、特殊共闘戦闘を行い上級者からアドバイスを得ることができる。また、各ユーザは所謂「野良試合」のように、全く交流の無いユーザと特殊共闘戦闘を行うのではなく、同一チームに所属している、すなわち、ある程度交流がある、または今後交流できる可能性の高いユーザと特殊共闘戦闘を行うことができる。したがって、上記の構成によれば、各ユーザにチームに所属することを促すことができる。
また、チーム内で特殊共闘戦闘を繰り返すことによって、チームに設定されたレベルが上昇することとしてもよい。例えば、チーム内で特殊共闘戦闘を実施した回数に応じて、該チームのレベルが上昇してもよい。
また、チーム内で特殊共闘戦闘が実施された場合、該チームに所属するユーザ全員に、該特殊共闘戦闘に係る報酬が付与されてもよい。これにより、特殊共闘戦闘を実施したユーザは、同一チームに所属するユーザに対し利益を与えることができる。すなわち、チームに貢献することができる。したがって、チーム内の各ユーザに特殊共闘戦闘の実施を促すことができる。
〔実施形態3〕
状態変更部112Aは、ステップS108においてユーザAの状態を変更する前に、ユーザDが戦闘を行うときの状態を確認するためのUI(user interface)画像を、ユーザAが戦闘を行うときの状態を確認するためのUI画像と同一のレイアウトで、ユーザAが操作するユーザ端末Aの表示部に表示させてもよい。なお、ここで言う戦闘は、特殊共闘戦闘以外の戦闘のことを示す。
図13は、ステータス表示画面の一例を示す図である。ゲーム進行部112は、図8に示した第2準備空間、または図9に示した募集画面500において、所定の入力操作が行われた場合、図13に示すようなステータス表示画面600を表示するよう、表示制御部114に指示する。
ステータス表示画面600のUI画像には、ユーザDのキャラクタ「DDD」の状態を示す欄F4が少なくとも含まれる。欄F4には、ユーザDが戦闘を行うときの状態が、ユーザAが戦闘を行うときの状態を確認する場合と同一のレイアウトで示される。例えば、状態変更部112Aは、ステップS106において取得したユーザDのユーザ情報133から、キャラクタ「DDD」のキャラクタデータ133Aを読み出す。状態変更部112Aは読み出した「DDD」のキャラクタデータ133Aに基づいて、欄F4に記載するキャラクタ「DDD」の状態を特定する。なお、ユーザAが戦闘を行うときの状態を確認する画面は、例えば図4に示した準備空間、または、図8に示した第2準備空間等でユーザAが所定の入力操作を行った場合に表示されてよい。
また、ステータス表示画面600のUI画像には、図示の通り、ユーザAが戦闘を行うときの状態を示す欄F3が含まれていてもよい。もしくは、ユーザAにとってステップS108における状態変更前の状態と、状態変更後の状態とが対照可能なように表示されていてもよい。
これにより、第1ユーザは対戦前に、第2ユーザの状態を、自分の状態を確認する場合と同一のレイアウトで確認することができる。これにより、第1ユーザは、例えば第2ユーザと同じ状態になった場合に対戦でどのように立ち回るかを、対戦前から考えておくことができる。
〔ソフトウェアによる実現例〕
制御部210の制御ブロック(特に、送受信部211、サーバ処理部212、およびデータ管理部213)、ならびに、制御部110の制御ブロック(特に、操作受付部111、ゲーム進行部112、オブジェクト制御部113、表示制御部114、および通信部115)は、集積回路(ICチップ)等に形成された論理回路(ハードウェア)によって実現してもよいし、CPU(Central Processing Unit)を用いてソフトウェアによって実現してもよい。
後者の場合、制御部210または制御部110、もしくはその両方を備えた情報処理装置は、各機能を実現するソフトウェアであるプログラムの命令を実行するCPU、上記プログラムおよび各種データがコンピュータ(またはCPU)で読み取り可能に記録されたROM(Read Only Memory)または記憶装置(これらを「記録媒体」と称する)、上記プログラムを展開するRAM(Random Access Memory)などを備えている。そして、コンピュータ(またはCPU)が上記プログラムを上記記録媒体から読み取って実行することにより、本発明の目的が達成される。上記記録媒体としては、「一時的でない有形の媒体」、例えば、テープ、ディスク、カード、半導体メモリ、プログラマブルな論理回路などを用いることができる。また、上記プログラムは、該プログラムを伝送可能な任意の伝送媒体(通信ネットワークや放送波等)を介して上記コンピュータに供給されてもよい。なお、本発明の一態様は、上記プログラムが電子的な伝送によって具現化された、搬送波に埋め込まれたデータ信号の形態でも実現され得る。
本発明は上述した各実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能であり、異なる実施形態にそれぞれ開示された技術的手段を適宜組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。
〔付記事項〕
本発明の一側面に係る内容を列記すると以下のとおりである。
(項目1) ゲームプログラム(131)について説明した。本開示のある局面によると、ゲームプログラムは、プロセッサ(10、20)およびメモリ(11、21)を備えるコンピュータ(ユーザ端末100およびサーバ200の少なくとも一方)により実行される。ゲームプログラムは、プロセッサに、第1ユーザおよび第1ユーザよりもゲームプログラムに基づくゲームの進行度合いが遅れている第2ユーザを少なくとも含む複数のユーザが参加する対戦を進行させるステップ(ステップS112)と、対戦を開始する際に、第1ユーザが対戦を行うときの状態を、第2ユーザが対戦を行うときの状態と同一になるように変更するステップ(ステップS108)と、対戦の終了後に、第1ユーザから第2ユーザへのメッセージの送信を指示する入力操作を受け付けるステップ(ステップS122)と、メッセージを第2ユーザへ送信するステップ(ステップS124)と、を実行させる。
これにより、第1ユーザを、ゲームの進行度合いが遅れている、すなわち、第1ユーザよりも初心者である第2ユーザと同一の状態で対戦させることができる。換言すると、第2ユーザは、自分よりも上級者である第1ユーザに、対戦での自分の状態を体感してもらうことができる。
そして、第1ユーザは、第2ユーザの対戦時の状態を体感した上で、対戦後に該第2ユーザにメッセージを送信することができる。これにより、第2ユーザは上級者との交流の機会および対戦の戦略性を知ることができる。また、第1ユーザは初心者との交流の機会が得られる。したがって、ユーザ間の交流が活性化し、ゲームの興趣性が向上する。
(項目2) (項目1)において、変更するステップは、第1ユーザまたは第1ユーザが操作する第1キャラクタが対戦を行うときの、第1ユーザまたは第1キャラクタのパラメータ、装備、スキル、およびアイテムのうち少なくとも1つを、第2ユーザまたは第2ユーザが操作する第2キャラクタが対戦を行うときの、第2ユーザまたは第2キャラクタのパラメータ、装備、スキル、およびアイテムのうち少なくとも1つと同一になるように変更してもよい。
これにより、対戦時の第1キャラクタによる何らかのアクションの結果を、第2キャラクタが該アクションを実行した場合の結果と略同じにすることができる。したがって、初心者である第2ユーザが操作する第2キャラクタの戦闘時の状態または挙動を、上級者である第1ユーザに、第1キャラクタを通じて体験させることができる。
(項目3) (項目1)または(項目2)において、ゲームプログラムは、プロセッサに、さらに、対戦の終了後に、第1ユーザの状態を、変更するステップが第1ユーザの状態を変更する前の状態に戻すステップ(ステップS116)を実行させてもよい。
これにより、対戦が終了した後は、第1ユーザの状態を、変更前の状態に戻すことができる。すなわち、対戦時のみに限定して、第1ユーザの状態を変更することができる。したがって、第1ユーザは、第2ユーザと同様の状態での対戦を気軽に試すことができる。
(項目4) (項目1)から(項目3)までのいずれか1項目において、ゲームプログラムは、プロセッサに、さらに、メッセージを送信するステップにおいてメッセージを送信した後に、第1ユーザに報酬を付与するステップ(ステップS126)を実行させてもよい。
これにより、ゲームの進行度合いが高い、すなわち第2ユーザよりもゲームを進めている第1ユーザは、対戦に参加することで報酬を得ることができる。したがって、上記の処理によれば、第1ユーザに対し、自分よりもゲームを進めていない第2ユーザと対戦を行うよう促すことができる。
(項目5) (項目1)から(項目4)までのいずれか1項目において、変更するステップは、複数の第1ユーザそれぞれが対戦を行うときの状態を、複数の第1ユーザと同一のチームに所属する第2ユーザが対戦を行うときの状態と同一の状態に変更してもよい。また、対戦を進行させるステップは、複数の第1ユーザおよび第2ユーザが参加する対戦を進行させてもよい。
これにより、第2ユーザはチームに所属することで、上級者である第1ユーザからアドバイスを得る機会を得ることができる。また、各ユーザは所謂「野良試合」のように、全く交流の無いユーザと対戦するのではなく、同一チームに所属している、すなわち、ある程度交流がある、または今後交流できる可能性の高いユーザと対戦することができる。したがって、上記の構成によれば、各ユーザにチームに所属することを促すことができる。
(項目6) (項目1)から(項目5)までのいずれか1項目において、第2ユーザが対戦を行うときの状態を確認するためのUI(user interface)画像を、第1ユーザが対戦を行うときの状態を確認するためのUI画像と同一のレイアウトで、第1ユーザが操作する第1ユーザ端末の表示部に表示させるステップを実行させてもよい。
これにより、第1ユーザは対戦前に、第2ユーザの状態を、自分の状態を確認する場合と同一のレイアウトで確認することができる。
(項目7) ゲームプログラムを実行する方法を説明した。本開示のある局面によると、ゲームプログラムは、プロセッサおよびメモリを備えるコンピュータにより実行される。該方法は、プロセッサが(項目1)に記載の各ステップを実行する方法である。(項目7)に係る方法は、(項目1)に係るゲームプログラムと同様の作用効果を奏する。
(項目8) 情報処理装置を説明した。本開示のある局面によると、該情報処理装置は、(項目1)に係るゲームプログラムを記憶するメモリ(11、21)と、該ゲームプログラムを実行することにより、情報処理装置(ユーザ端末100およびサーバ200の少なくとも一方)の動作を制御するプロセッサ(10、20)とを備える。(項目8)に係る情報処理装置は、(項目1)に係るゲームプログラムと同様の作用効果を奏する。