本開示に係るゲームシステムは、複数のユーザにゲームを提供するためのシステムである。以下、ゲームシステムについて図面を参照しつつ説明する。なお、本発明はこれらの例示に限定されるものではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が本発明に含まれることが意図される。以下の説明では、図面の説明において同一の要素には同一の符号を付し、重複する説明を繰り返さない。
(ゲームシステム1のハードウェア構成)
図1は、ゲームシステム1のハードウェア構成を示す図である。ゲームシステム1は図示の通り、複数のユーザ端末100と、サーバ200とを含む。各ユーザ端末100は、サーバ200とネットワーク2を介して接続する。ネットワーク2は、インターネットおよび図示しない無線基地局によって構築される各種移動通信システム等で構成される。この移動通信システムとしては、例えば、所謂3G、4G移動通信システム、LTE(Long Term Evolution)、および所定のアクセスポイントによってインターネットに接続可能な無線ネットワーク(例えばW-Fi(登録商標))等が挙げられる。
サーバ200は、ワークステーションまたはパーソナルコンピュータ等の汎用コンピュータであることが望ましい。サーバ200は、プロセッサ20と、メモリ21と、ストレージ22と、通信IF23と、入出力IF24とを備える。サーバ200が備えるこれらの構成は、通信バスによって互いに電気的に接続する。
ユーザ端末100は、スマートフォン、フィーチャーフォン、PDA(Personal Digital Assistant)、またはタブレット型コンピュータ等の携帯端末であることが望ましい。ユーザ端末100は図示の通り、プロセッサ10と、メモリ11と、ストレージ12と、通信インターフェース(IF)13と、入出力IF14と、タッチスクリーン15とを備える。ユーザ端末100が備えるこれらの構成は、通信バスによって互いに電気的に接続される。
(各装置のハードウェア構成要素)
プロセッサ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とサーバ200との協働により実現するためのゲームプログラムである。また、各種データとはユーザ情報、ゲーム情報等、ゲームに関するデータ、ならびにユーザ端末100とサーバ200との間で送受信する指示や通知を含んでいる。
ストレージ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の保持姿勢を特定するためのセンサを備えていてもよい。このセンサは、例えば、加速度センサであってもよい。ユーザ端末100がセンサを備えている場合、プロセッサ10は、センサの出力からユーザ端末100の保持姿勢を特定して、保持姿勢に応じた処理を行うことも可能になる。例えば、プロセッサ10は、ユーザ端末100が縦向きに保持されているときには、縦長の画像を表示部152に表示させる縦画面表示としてもよい。一方、ユーザ端末100が横向きに保持されているときには、横長の画像を表示部に表示させる横画面表示としてもよい。このように、プロセッサ10は、ユーザ端末100の保持姿勢に応じて縦画面表示と横画面表示とを切り替え可能であってもよい。
(サーバ200の機能的構成)
図2は、サーバ200の機能的構成を示すブロック図である。サーバ200は、ゲームを実現するために必要な各種データおよびプログラムを、各ユーザ端末100に提供する機能を有する。また、サーバ200は、各ユーザ端末100からゲームに関するデータを収集し管理する機能を有する。また、サーバ200は、複数のユーザ端末100間の同期処理を行う機能を有する。
なお、本実施形態では、サーバ200は事前に登録されたゲームのアカウントで各ユーザおよびユーザ端末100を識別する。アカウントの登録方法は特に限定されない。例えばユーザ端末100またはパーソナルコンピュータ等の他の装置がユーザの操作に従ってアカウントの登録に必要な情報をサーバ200に送信すればよい。そして、サーバ200は受信した情報に基づいてアカウントを作成および保存すればよい。
ユーザ端末100がいずれかのアカウントを用いてゲームシステム1のネットワークにログインすると、サーバ200はログインしたユーザ端末100を認識する。なお、ログインの方法および処理内容については特に限定しない。サーバ200およびユーザ端末100は、従来知られた方法を用いてログインに係る各種処理を行えばよい。
サーバ200は、プロセッサ20、メモリ21、ストレージ22、通信IF23、入出力IF24等の協働によって、制御部210および記憶部220として機能する。
記憶部220は、制御部210が使用する各種データを格納する。記憶部220はゲームプログラム221と、ゲーム情報222と、ユーザ情報223とを格納している。
ゲームプログラム221は、ゲームを実現するためのプログラムである。ゲーム情報222およびユーザ情報223は、ゲームプログラム221が実行されるときに参照されるデータである。
なお、ゲームプログラム221は、サーバ200側で実行するゲームプログラムに加えて、ユーザ端末100に送信しユーザ端末100側で実行するプログラム(後述するゲームプログラム121)を含んでいてもよい。もしくは、記憶部220は、サーバ200側で実行するゲームプログラム221と、ユーザ端末側で実行するプログラムとの両方を格納していてもよい。
ゲーム情報222は、アカウント間で共通の情報である。ゲーム情報222は、例えば各種ゲーム空間を規定するための情報を含み得る。「ゲーム空間」とは、ユーザが操作可能なキャラクタのオブジェクトが配置される空間である。また、ゲーム情報222は、ゲーム空間内に配置される木・岩・建物等の背景オブジェクトやNPC(non player character)オブジェクトの配置位置、大きさ、色、形状等、アカウント間で共通のオブジェクトに関する各種設定情報を含み得る。また、ゲーム情報222は、NPCの各種パラメータの設定値を含み得る。また、ゲーム情報222はクエストに係る情報を含み得る。クエストとは、達成条件が設定されたゲーム内のイベントである。なお、クエストには達成条件に加え失敗条件が設定されていてもよい。また、ゲーム情報222は、チャットに用いるアイコン画像である、スタンプの画像データを含み得る。チャットに関しては後で詳述する。
ユーザ情報223は、ゲームのアカウント毎に管理される情報である。ユーザ情報223は例えば、アカウントの識別子に、当該アカウントのユーザを示す情報や、当該アカウントで操作可能なキャラクタの各種パラメータ等のキャラクタに関する情報や、当該アカウントの保有資産に関する情報や、当該アカウントでのゲームの進行度合いを示す情報等を対応付けた情報であってもよい。アカウントの保有資産としては、例えばゲーム内通貨、アイテム、装備品などが挙げられる。
制御部210は、記憶部220に格納されたゲームプログラム221を実行することにより、ゲームに関する各種処理を制御する。制御部210は、ゲームプログラム221を実行することにより、送受信部211、データ管理部213、およびサーバ処理部212として機能する。
送受信部211は各種データを送受信する。例えば、送受信部211は、ユーザ端末100からの各種データおよびプログラムの送信要求や、マルチプレイの同期の要求および同期のためのデータ等を受信し、サーバ処理部212に送る。また例えば、送受信部211は、サーバ処理部212からの指示に従って、ユーザ端末100に各種データおよびプログラムを送信する。
本実施形態において「マルチプレイ」とは、複数のユーザで1つのゲーム空間を共有してゲームを進行させるプレイ形式を指す。マルチプレイに参加している各ユーザは、それぞれのアカウントでゲームシステム1にログインしている。そして、サーバ200は、マルチプレイに参加している各ユーザのユーザ端末100におけるゲームの進行を同期させる。
サーバ処理部212は、ゲームを提供するために必要な演算処理を行う。サーバ処理部212は、ユーザ端末100からの要求等に応じて、ゲームプログラム221に記述された演算処理を実行する。また例えば、サーバ処理部212は、ゲームの進行に係る各種判定処理を行う。
例えば、サーバ処理部212は、データ管理部213にゲーム情報222またはユーザ情報223のレコードの追加、更新、または削除を指示する。また例えば、サーバ処理部212は送受信部211に各種データまたはプログラムの送信を指示する。また例えば、サーバ処理部212は、送受信部211を介しユーザ端末100からマルチプレイの同期の要求および同期のためのデータを受け取ると、同期処理部214にマルチプレイの同期処理を行うよう指示する。
データ管理部213は、記憶部220に格納されている各種データをサーバ処理部212の指示に従って管理する。例えば、データ管理部213は、サーバ処理部212からの指示に応じてゲーム情報222またはユーザ情報223のレコードを、追加、更新、または削除する。
また例えば、データ管理部213は、サーバ処理部212からの指示に従って、ゲーム情報222およびユーザ情報223の少なくとも一方を記憶部220から読み出し、送受信部211を介しユーザ端末100に送信する。
また例えば、データ管理部213は、サーバ処理部212からの指示に従って、ゲームプログラム221のうち、ユーザ端末100側で実行する分のプログラムを記憶部220から読み出し、送受信部211を介しユーザ端末100に送信する。
同期処理部214は、サーバ処理部212の指示に従って、ゲームのマルチプレイに係る同期処理を行う。同期処理部214は、各アカウントに対応するユーザ端末100から受信する何らかの情報を、他のユーザ端末100に送信することでユーザ端末間の同期を行う。また、同期処理部214はサーバ200から複数のユーザ端末100に何らかの情報を送信する場合も、各ユーザ端末100に同期して情報を送信する。なお、同期処理部214は、同期のタイミングや同期すべき情報等をサーバ処理部212から受信すればよい。これにより、例えばあるユーザ端末100において行われた入力操作によって引き起こされるゲーム内の作用が、他のユーザ端末100において同期されて示される。
(ユーザ端末100の機能的構成)
図3は、ユーザ端末100の機能的構成を示すブロック図である。ユーザ端末100は、ユーザの入力操作を受け付ける入力装置としての機能と、ゲームの画像や音声を出力する出力装置としての機能を有する。ユーザ端末100は、プロセッサ10、メモリ11、ストレージ12、通信IF13、および入出力IF14等の協働によって、制御部110および記憶部120として機能する。
記憶部120は、ゲームプログラム121と、ゲーム情報122と、ユーザ情報123と、チャットログ124と、スクロール情報125とを格納する。ゲームプログラム121は、ユーザ端末100側で実行するゲームプログラムである。ゲーム情報122は、制御部110がゲームプログラム121を実行する際に参照するデータであって、サーバ200のゲーム情報222と同様の情報を含んでいる。ユーザ情報123は、ユーザ端末100のユーザのアカウントに関するデータであって、サーバ200のユーザ情報223と同様の情報を含んでいる。
チャットログ124は、ユーザ端末100がチャットで送受信したメッセージの履歴である。例えば、メッセージは、スタンプ等のアイコン画像であってもよい。また、メッセージはテキストメッセージであってもよい。チャットログ124には、送受信の日時と、メッセージを送受信したときのゲーム空間を特定する情報とが対応づけられている。チャットログ124はゲームのアカウント毎に記録される。なお、ユーザ端末100がゲームシステム1からログアウトした場合、制御部110は、チャットログ124のレコードを記憶部120から削除してもよい。
スクロール情報125は、スタンプを少なくとも一方向に整列させて一覧表示する場合の、当該一覧表示のスクロール量を示す情報である。なお、スクロール情報125もチャットログ124と同様、ユーザ端末100がゲームシステム1からログアウトした場合、削除される情報であってもよい。
制御部110は、記憶部120に格納されたゲームプログラム121を実行することにより、ユーザ端末100を統括的に制御する。例えば、制御部110は、ゲーム情報122に記憶された、ゲーム空間を規定するための情報を参照してゲーム空間を規定する。また、制御部110は、各種データを送受信する。例えば、制御部110はサーバ200から各種データ、プログラム、およびマルチプレイの同期のためのデータ等を受信する。また例えば、制御部110は、ゲーム情報122またはユーザ情報123の一部または全部や、マルチプレイの同期の要求をサーバ200に送信する。
また、制御部110は、ゲームプログラム121の記述に応じて、入力操作受付部112、ゲーム進行処理部111、カメラ配置制御部113、表示制御部114、およびオブジェクト制御部115として機能する。
入力操作受付部112は、入力部151に対するユーザの入力操作を検知し受け付ける。入力操作受付部112は、タッチスクリーン15およびその他の入出力IF14を介したコンソールに対してユーザが及ぼした作用から、いかなる入力操作がなされたかを判別し、その結果を制御部110の各要素に出力する。
例えば、入力操作受付部112は、入力部151に対する入力操作がなされた場合、入力位置の座標および操作の種類を検知する。例えば、入力操作受付部112は、タッチ操作、スライド操作、スワイプ操作、およびタップ操作等を検知する。また、入力操作受付部112は、連続して検知されていた入力が途切れると、タッチスクリーン15から接触入力が解除されたことを検知する。
ゲーム進行処理部111は、ゲームの進行に係る各種処理を行う。例えば、ゲーム進行処理部111は、入力操作受付部112が受け付けた入力操作の入力位置の座標と操作の種類とから示されるユーザの指示内容を解釈する。また例えば、ゲーム進行処理部111は、ゲーム情報122またはユーザ情報123の追加、更新、または削除を行う。また例えば、ゲーム進行処理部111は、ゲームの進行に係る各種判定処理を行う。
カメラ配置制御部113は、ゲーム空間のうちユーザに提示する領域を指定するための仮想カメラを規定する。カメラ配置制御部113は、仮想カメラのゲーム空間内での位置および向きを規定することにより、仮想カメラをゲーム空間に仮想的に配置する。さらに、カメラ配置制御部113は、仮想カメラで規定される視野領域および当該視野領域に配置されているオブジェクトを描画した画像を作成するよう、表示制御部114に指示する。
なお、カメラ配置制御部113は、仮想カメラの位置および向きを、ゲーム空間毎に適宜規定してよい。例えば、カメラ配置制御部113は特定のオブジェクトの位置や向きを基準として、当該オブジェクトが特定の向きで視野領域の中央に写るように、当該オブジェクトから一定の方向、距離、および角度で仮想カメラを配置してもよい。特定のオブジェクトとは、例えばユーザ端末100で操作可能なキャラクタのオブジェクトであってもよいし、NPC等他のキャラクタを示す動的なオブジェクトであってもよいし、建物や木、石などを示す静的なオブジェクトであってもよい。なお、以降の説明では「操作可能なキャラクタ」を単に「操作キャラクタ」と記載する。
表示制御部114は、表示部152画像を表示させる。例えば、表示制御部114は、ゲーム空間のうち、カメラ配置制御部113が規定する仮想カメラの視野の領域と、当該領域に存在するオブジェクトとを描画した画像を生成し、表示部152に表示させる。さらに、表示制御部114は、このような画像に、アイコン、ボタン、各種パラメータを示すメニュー等、ゲームの種々の操作に必要なUI(user interface)に係るオブジェクトを重畳して描画してもよい。
オブジェクト制御部115は、ゲーム情報122に含まれる、オブジェクトの設定情報に基づきゲーム空間にオブジェクトを配置する。また、オブジェクト制御部115は、ゲーム空間に配置したオブジェクトを制御する。例えば、オブジェクト制御部115は、オブジェクトのゲーム空間内での位置、向き、形状、色等を変更したり、オブジェクトに所定の一連の動作を行わせたりする。
なお、ゲームシステム1は、ユーザ端末100が備える機能の少なくとも一部をサーバ200が備えるように構成されていてもよい。また、ゲームシステム1は、サーバ200が備える機能の少なくとも一部をユーザ端末100が備えるように構成されていてもよい。さらに、ユーザ端末100およびサーバ200以外の他の装置をゲームシステム1の構成要素とし、該ハードウェアにゲームシステム1における処理の一部を実行させてもよい。すなわち、本実施形態においてゲームプログラム121および221を実行するコンピュータは、ユーザ端末100、サーバ200、および他の装置の何れであってもよい。
(ゲームの進行とゲーム空間の遷移)
図4は、ゲームシステム1の提供するゲームの進行とゲーム空間の遷移例とを示す図である。本実施形態では、各ユーザ端末100はサーバ200と協働することで、マルチプレイモードにおけるゲームの処理を行う。したがって、あるユーザ端末100の制御部110が規定するゲーム空間には、そのユーザ端末100からログインしたアカウントに対応する操作キャラクタのオブジェクトと、マルチプレイに参加している他のユーザ端末100からログインしたアカウントに対応する操作キャラクタのオブジェクトとが配置される。
制御部110は、準備空間、戦闘空間、および共闘戦闘空間のいずれかのゲーム空間をゲームの進行に応じて規定する。また、オブジェクト制御部115は、制御部110が規定したゲーム空間に操作キャラクタを含む各種オブジェクトを配置する。ユーザにより入力操作がなされると、オブジェクト制御部115は入力操作に応じて操作キャラクタのオブジェクトを随時動かす。これにより、制御部110は操作キャラクタを介しユーザにゲーム空間内を探索させることができる。
準備空間は、ユーザにクエストを開始する前の準備を行わせるためのゲーム空間である。制御部110は、準備空間において、ユーザにクエスト達成の報酬の受け取り等を行わせてもよい。制御部110は、ゲーム空間を、準備空間から戦闘空間または共闘戦闘空間に遷移させることができる。例えば、制御部110は、入力操作受付部112がクエストの開始指示を受け付けた場合に、開始を指示されたクエストに応じて、ゲーム空間を準備空間から戦闘空間または共闘戦闘空間に遷移させてもよい。また、例えば、制御部110は、入力操作受付部112がマップ移動操作などの所定の入力操作を受け付けた場合、クエストを開始させないままゲーム空間を準備空間から戦闘空間に遷移させてもよい。
戦闘空間は、操作キャラクタと敵キャラクタとが戦闘するためのゲーム空間である。戦闘については後で詳述する。
サーバ200のサーバ処理部212は、戦闘空間において、ゲーム空間を共闘戦闘空間に遷移させるための所定の条件が満たされたか否かを判定する。例えば、サーバ処理部212は、ユーザ端末100からの同期に係る情報から、戦闘空間において所定の条件が満たされたか否かを判定すればよい。ここで言う同期に係る情報とは、操作キャラクタが配置されている戦闘空間を一意に示す識別子や、戦闘空間における操作キャラクタの位置、ユーザ端末100の制御部110がゲーム空間を戦闘空間に遷移させてからの経過時間などである。
なお、戦闘空間において所定の条件が満たされたか否かの判定は、ユーザ端末100のゲーム進行処理部111が行ってもよい。この場合、制御部110は判定結果を示す情報をサーバ200に送信する。
サーバ200は同期処理部214により、またはユーザ端末100からの情報受信により、所定の条件が満たされたと判定した場合、当該条件を満たしたユーザ端末100に、ゲーム空間を戦闘空間から共闘戦闘空間に遷移させるよう指示する。この指示を受け、各ユーザ端末100の制御部110はゲーム空間を戦闘空間から共闘戦闘空間へと遷移させる。
なお、サーバ200は各ユーザ端末100にゲーム空間を共闘戦闘空間に遷移させる指示を送信する際、ユーザ端末100を所定の条件に基づきグループにまとめ、同グループのユーザ端末100の操作キャラクタが同一の共闘戦闘空間に遷移するように指示を送信する。例えば、サーバ200の同期処理部214は、レベルが高い操作キャラクタから順に4体の操作キャラクタが1つの共闘戦闘空間にてマルチプレイを行うように、各操作キャラクタのユーザ端末100に指示を送信する。
共闘戦闘空間は戦闘空間の一種であって、サーバ200が所定の条件に基づきグループ化した複数の操作キャラクタと、特定の敵キャラクタであるボスキャラクタとが戦闘するためのゲーム空間である。
オブジェクト制御部115は共闘戦闘空間に、操作キャラクタのオブジェクトと、少なくとも1体のボスキャラクタのオブジェクトとを配置する。共闘戦闘空間では、グループ化された操作キャラクタが味方同士となり、ボスキャラクタに対し共闘する。以降、同一の共闘戦闘空間にオブジェクトとして配置された操作キャラクタをまとめて「味方キャラクタ」と称する。
なお、サーバ200の同期処理部214は、同じ共闘戦闘空間に遷移させるユーザ端末100の最大数、すなわち共闘戦闘空間における味方キャラクタの最大数を制限してもよい。当該最大数を示す情報はゲーム情報122および222の少なくともいずれかに含まれる。そして、オブジェクト制御部115は、味方キャラクタの最大数に応じて、共闘戦闘空間に操作キャラクタを配置する。また、オブジェクト制御部115は、共闘戦闘空間に遷移した際に味方キャラクタの数が最大数に満たない場合、最大数に不足している数だけNPCのオブジェクトを配置してもよい。
本実施形態では、オブジェクト制御部115は、共闘戦闘空間に味方キャラクタを4体まで配置することとする。また、本実施形態においてオブジェクト制御部115は、共闘戦闘空間に遷移した際に操作キャラクタが4体未満である場合、味方キャラクタが合計4体となるようにNPCのオブジェクトを配置する。
また、共闘戦闘空間は戦闘空間と同じゲーム空間であってもよい。つまり、オブジェクト制御部115は、戦闘空間にボスキャラクタを配置してもよい。また、この際、カメラ配置制御部113は、仮想カメラを共闘戦闘空間と同様の配置に切り替えてもよい。
ゲーム進行処理部111が、味方キャラクタがボスキャラクタの討伐に成功したと判定した場合、制御部110は、ゲーム空間を共闘戦闘空間から戦闘空間または準備空間へと遷移させる。なお、制御部110は、ゲーム進行処理部111がボスキャラクタの討伐に成功したと判定してから一定時間が経過した後に、ゲーム空間を戦闘空間または準備空間へと遷移させてもよい。また、制御部110は共闘戦闘空間においてゲームを進行させているときにマップ移動など所定の移動動作を受け付けた場合、ゲーム空間を共闘戦闘空間から準備空間あるいは戦闘空間に遷移させるようにしてもよい。
(操作キャラクタと敵キャラクタとの戦闘)
次に、戦闘空間および共闘戦闘空間における戦闘について、詳細に説明する。本実施形態に係るゲームにおける「戦闘」では、ユーザおよび他のユーザの操作キャラクタと敵キャラクタとが、互いに攻撃動作を行う。なお、戦闘に係る各種処理や表示は、戦闘空間における敵キャラクタとの戦闘と、共闘戦闘空間におけるボスキャラクタとの戦闘とで共通であるから、以下では敵キャラクタとの戦闘について説明する。
操作キャラクタおよび敵キャラクタには、少なくとも体力値を含む各種パラメータ(例えば攻撃力、防御力など)の値が設定されている。操作キャラクタのパラメータの設定値はユーザ情報123に含まれ、敵キャラクタのパラメータの設定値はゲーム情報122に含まれる。
戦闘空間において、オブジェクト制御部115は、入力操作受付部112が受け付けた入力操作に応じて、操作キャラクタのオブジェクトに攻撃動作を行わせる。そして、ゲーム進行処理部111は、操作キャラクタの攻撃がいずれかの敵キャラクタに当たったか否か、すなわち攻撃が成功したか否かを判定する。さらに、ゲーム進行処理部111は、操作キャラクタの攻撃が成功したと判定した場合、攻撃対象とされた敵キャラクタに与えるダメージ値の算出を行う。さらに、ゲーム進行処理部111は、算出したダメージ値を敵キャラクタの体力値から減算する。もしくは、ゲーム進行処理部111は、算出したダメージの値を含む、当該敵キャラクタへのダメージの総計と、敵キャラクタの体力値とを比較する。
敵キャラクタの体力値が0以下になった場合、または敵キャラクタへのダメージの総計が当該敵キャラクタの体力値以上になった場合、ゲーム進行処理部111は敵キャラクタが討伐されたと判定する。
また、戦闘空間において、オブジェクト制御部115は、敵キャラクタに攻撃動作を行わせる。ゲーム進行処理部111は、敵キャラクタによる攻撃動作についても、操作キャラクタの攻撃動作と同様に攻撃の成否判定を行い、操作キャラクタに対する攻撃が成功した場合にはダメージ値の算出も行う。操作キャラクタに関連付けられた体力値がゼロになった場合、ゲーム進行処理部111は操作キャラクタが戦闘不能の状態になったと判定する。
ゲーム進行処理部111が、操作キャラクタが戦闘不能になったと判定した場合、オブジェクト制御部115は、戦闘不能になった操作キャラクタを動作させない。例えば、入力操作受付部112が操作キャラクタを動作させる入力操作を受け付けても、オブジェクト制御部115は入力操作に対応する動作を操作キャラクタのオブジェクトに行わせない。なお、オブジェクト制御部115は、他のユーザによって、戦闘不能になった操作キャラクタを復活させるための操作が行われた場合、操作キャラクタを動作可能にする。
(準備空間の具体例)
図5は、準備空間を描画した表示画面の一例を示す。図5の状態(A)は、準備空間の表示画面の一例を示す。図5の状態(B)は、準備空間においてクエストの一覧リストを含むウィンドウを表示させたときの表示画面の一例を示す。
図5の状態(A)において、オブジェクト制御部115は、準備空間に、ユーザ端末100でログインしているアカウントに対応する操作キャラクタxを配置している。また、オブジェクト制御部115は、準備空間に、他のユーザ端末100の操作キャラクタy1およびy2を配置している。さらに、オブジェクト制御部115は、準備空間に、NPCzを配置している。NPCzは、クエストの選択および開始を受け付けるためのオブジェクトである。
カメラ配置制御部113は、準備空間において、操作キャラクタxの位置および向きを基準として仮想カメラの位置および向きを決定する。例えば、カメラ配置制御部113は操作キャラクタxが視野中央やや下に写り、かつ、操作キャラクタxの後方(背面)斜め上から見下ろすような位置および向きで仮想カメラを配置する。操作キャラクタxの位置または向きを変更する操作がユーザにより行われた場合、オブジェクト制御部115は操作キャラクタxを変更後の位置および向きで配置する。またカメラ配置制御部113は、仮想カメラの位置および向きを変更後の操作キャラクタxの位置に応じた位置および向きに変更する。そして、表示制御部114は、変更後の位置に変更後の向きで配置された仮想カメラの視野領域内の準備空間および操作キャラクタxを描画する。
なお、表示制御部114は、上述した準備空間および準備空間内のオブジェクトを描画した画像に、ユーザの入力操作のためのUIを重畳した画像を作成してもよい。例えば表示制御部114は、図5に示すようにボタンB1、B2、およびB3を準備空間および上述した各種オブジェクトの画像に重畳させた画像を作成してもよい。ボタンB1は、ユーザがゲームの設定を変更する設定メニューの表示指示を受け付けるボタンであり、ボタンB2は、ユーザが例えばマップ移動や装備変更等を行うためのメニューウィンドウの表示指示を受け付けるボタンである。ボタンB3は、同じゲーム空間内に配置された操作キャラクタに対応するアカウント間でチャットを行うためのボタンである。
ユーザ端末100がNPCzを選択すると、ゲーム進行処理部111は表示制御部114に、ユーザが選択可能なクエストの一覧リストL1を含むウィンドウW1を描画するよう指示する。そして、表示制御部114は、図5の状態(B)に示すように、ウィンドウW1を準備空間およびオブジェクトの画像に重畳した画像を作成し、表示部152に表示させる。ウィンドウW1のリストL1における各クエストの内容表示は一例であり、同図の記載に限られない。図5の状態(B)の例では、リストL1には、3つのクエストが含まれている。そして、各クエストについて、クエストの名称、達成条件、マップ名、および報酬が記載されている。
なお、クエストの達成条件の内容は特に限定されない。例えば、クエストの達成条件は、特定の敵キャラクタを特定の数だけ討伐すること、特定の敵キャラクタの討伐により得られるアイテムを特定の個数収集すること等であってもよい。
また、マップ名とは、クエストを選択した場合に遷移する戦闘空間または共闘戦闘空間の名称を示す。また、報酬とは、クエスト達成によりユーザに付与する、ゲームをより有利に進行させることが可能になる物品、機能、または情報などを示す。例えば、報酬はゲーム内通貨やアイテム、操作キャラクタの能力を向上させる装備品、ならびに操作キャラクタのスキルなどであってよい。
(戦闘空間の具体例)
図6は、戦闘空間の表示画面の一例を示す。図6の状態(A)はユーザ端末100が縦向きに保持されている場合、つまり縦画面表示中における表示画面を、図6の状態(B)はユーザ端末100が横長となるように保持されている場合、つまり横画面表示中におけるの表示画面を示している。
カメラ配置制御部113は、戦闘空間において、準備空間と同様に、操作キャラクタxの位置および向きを基準として仮想カメラの位置および向きを決定する。ただし、カメラ配置制御部113は、縦画面表示と横画面表示とで視野領域が異なる仮想カメラを規定する。例えば、カメラ配置制御部113は、縦画面表示における仮想カメラの視野領域を、横画面表示における仮想カメラの視野領域よりも縦長としてもよい。
図6の状態(A)および(B)において、オブジェクト制御部115は、操作キャラクタxおよびy3を配置している。操作キャラクタxは、ユーザ端末100でログインしているアカウントに対応する操作キャラクタであり、操作キャラクタy3は、他の端末でログインしているアカウントに対応する操作キャラクタである。
また、オブジェクト制御部115は、戦闘空間において、敵キャラクタを1体以上配置してもよい。図6の状態(A)では、オブジェクト制御部115は、1体の敵キャラクタe1を配置している。また、表示制御部114は、操作キャラクタがいずれの敵キャラクタを攻撃の対象としているかを示すターゲットマーカt1を敵キャラクタに重畳して表示させてもよい。そして、ユーザの操作キャラクタが敵キャラクタを討伐した場合、当該操作キャラクタまたは操作キャラクタに対応するアカウントに何らかの報酬を取得させてもよい。
制御部110は、戦闘空間を複数のエリアに分けて管理してもよい。この場合、表示制御部114は、操作キャラクタに他のエリアに移動することを促すためのオブジェクトアイコンC2等を表示してもよい。
戦闘空間でゲームが進行しているときに、入力操作受付部112が所定の操作を受け付けると、表示制御部114は、タッチスクリーン15における所定の操作が入力された位置に、所定の操作が入力されたことを示すオブジェクトを表示させる。所定の操作とは、操作キャラクタxを移動させるためのドラッグ操作(以下、「移動操作」という。)や、操作キャラクタxに攻撃動作を行わせるためのタップ操作(以下、「攻撃操作」という。)等である。入力操作受付部112は、タッチスクリーン15の任意の位置における移動操作や攻撃操作を受け付けることができる。これにより、ユーザの指などの指示体によって、操作キャラクタxや敵キャラクタの視認が妨げられることを回避できる。
表示制御部114は、入力操作受付部112が移動操作を受け付けた場合に、移動操作の方向を示すオブジェクトをタッチスクリーン15に表示 させてもよい。図6の状態(A)において、表示制御部114は、位置U1を中心とする弾性オブジェクトQ1を表示させている。位置UIは、入 力操作受付部112がタッチオン操作を受け付けた位置である。タッチオン操作とは、タッチスクリーン15に対して指示体を接触または近接させる操作である。指示体はユーザの指などであってもよいし、スタイラスペンなどであってもよい。
ここで、ユーザが、指示体を位置U1から位置U2に移動させる移動操作を行うと、入力操作受付部112が、指示体が位置U1から位置U2に 移動したことを検出する。この検出結果に基づいて、表示制御部114は、弾性オブジェクトQ1を位置U2まで引き伸ばすように変形させた弾性 オブジェクトQ2をタッチスクリーン15に表示させる。これにより、タッチスクリーン15が検出した移動操作の方向をユーザに認識させることができる。
なお、表示制御部114は、準備空間がタッチスクリーン15に描画されているときに移動操作が入力された場合にも、弾性オブジェクトを表示する。また、表示制御部114は、共闘戦闘空間がタッチスクリーン15に描画されているときに移動操作または攻撃操作が入力された場合にも、弾性オブジェクトを表示する。
オブジェクト制御部115は、ドラッグされた時間および距離に応じて操作キャラクタxをドラッグされた方向に移動させる。また、入力操作受付部112がタップ操作を受け付けると、オブジェクト制御部115は操作キャラクタxに攻撃動作を行わせる。そして、ゲーム進行処理部111は、操作キャラクタxの攻撃の成否判定や、ダメージ値の算出を行う。
また、表示制御部114は、上述した戦闘空間および戦闘空間内のオブジェクトを描写した画像に、ユーザの入力操作のためのUIを重畳して描画してもよい。このUIの例としては、例えば、ボタンB2、操作キャラクタの特殊攻撃を指示するための特殊攻撃ボタンB4、操作キャラクタの体力の回復を指示するための回復ボタンB5、同じ戦闘空間内に配置された操作キャラクタに対応するアカウント間でチャットを行うためのチャットボタンB3、操作キャラクタの状態等を示すメニューM1、および操作キャラクタの武器の切り替えを行うための武器切替ボタンB6等が挙げられる。
また、表示制御部114は、ユーザの操作、すなわち操作キャラクタの行動に応じたメッセージを表示させてもよい。例えば、表示制御部114は、操作キャラクタが戦闘空間へ移動した場合や、操作キャラクタがアイテムを入手した場合にメッセージを表示させてもよい。
なお、表示制御部114は、上述したUIに係る各種表示物(ボタン、メニュー、およびメッセージ)は、仮想カメラの位置および向きに関わらず、表示部152の表示画面において固定位置に描画することが望ましい。また、表示制御部114は、UIに係る各種表示物は、操作キャラクタの移動、攻撃、回復等の指示の入力を妨げないように、表示部152の表示画面の周縁部に描画することが望ましい。また、表示制御部114は、上述したUIに係る各種表示物の描画位置を、縦画面表示と横画面表示とで変更することが望ましい。
(共闘戦闘空間の具体例)
図7は、共闘戦闘空間の表示画面の一例を示す。図7の状態(A)は表示部152が縦向きなるようにユーザ端末100が保持されている場合の表示画面を、図7の状態(B)は表示部152が横向きなるようにユーザ端末100が保持されている場合の表示画面を示している。オブジェクト制御部115は、共闘戦闘空間には、操作キャラクタxとともに、ボスキャラクタのオブジェクトとしてボスキャラクタe2を配置する。また、図7の状態(A)では、オブジェクト制御部115は、操作キャラクタy4、y5、およびy6も配置している。
共闘戦闘空間では、カメラ配置制御部113は、仮想カメラの位置および向きを、ボスキャラクタe2と、操作キャラクタxとの位置関係に基づき規定してもよい。例えば、カメラ配置制御部113は、ボスキャラクタe2が視野中央に写り、かつ、操作キャラクタxが写るような角度で仮想カメラを配置する。ボスキャラクタe2または操作キャラクタxの位置が変わると、カメラ配置制御部113は仮想カメラの位置および向きを変更後のボスキャラクタe2および操作キャラクタxの位置に応じた位置および向きに変更する。そして、表示制御部114は、変更後の仮想カメラの位置および向きに基づき共闘戦闘空間および各オブジェクトを描画する。
共闘戦闘空間において、ボスキャラクタe2が視野中央に写り、かつ、操作キャラクタxが写るような角度で仮想カメラを配置する場合、操作キャラクタxを移動させる操作を戦闘空間とは異ならせてもよい。例えば、上方向への移動操作を、操作キャラクタxをボスキャラクタe2に向けて前進させる操作とし、下方向への移動操作を、操作キャラクタxをボスキャラクタe2から後退させる操作としてもよい。
味方キャラクタがボスキャラクタe2に予め定められた体力値を0以下にした、またはボスキャラクタe2の体力値を超えるダメージを与えた場合、ゲーム進行処理部111はボスの討伐が完了したと判定する。なお、ゲーム進行処理部111は、ボスキャラクタe2を討伐したと判定した場合、操作キャラクタまたは操作キャラクタに対応するアカウントに、通常の敵キャラクタを討伐した場合とは異なる特別な報酬を付与してもよい。この場合、報酬は戦闘に参加した操作キャラクタ間で異なっていてもよい。また、ボスキャラクタe2を討伐することにより、クエストやゲームのストーリが進行するようにしてもよい。
表示制御部114は、表示部152に表示させる共闘戦闘空間の画像においても、図6に示した戦闘空間の画像と同様に、ユーザの入力操作のためのUIを描画してもよい。また、表示制御部114は、味方キャラクタ、またはボスキャラクタの行動に応じたメッセージを表示させてもよい。例えば、表示制御部114は、ゲーム進行処理部111が、操作キャラクタがボスキャラクタの弱点を突く攻撃を成功させたと判定した場合や、味方の操作キャラクタまたはNPCが戦闘不能となったと判定した場合に、その旨を通知するメッセージを表示させてもよい。または、表示制御部114は、ゲーム進行処理部111が、ボスキャラクタが行動不能等の特殊な状態に陥ったと判定した場合に、その旨を通知するメッセージを表示させてもよい。
なお、表示制御部114は、上述したUIに係る各種表示物(ボタン、メニュー、およびメッセージ)は、仮想カメラの位置および向きに関わらず、表示部152の表示画面において固定位置に位置するよう描画することが望ましい。また、表示制御部114は、UIに係る各種表示物は、操作キャラクタの移動、攻撃、回復等の指示の入力、ならびに味方キャラクタの位置、ボスキャラクタの攻撃動作、ボスキャラクタの弱点部位の表示など、ボスキャラクタとの戦闘における重要な情報の表示を妨げないように、表示部152の表示画面の周縁部に描画することが望ましい。また、表示制御部114は、上述したUIに係る各種表示物の描画位置も、表示部152の向きに応じて変更することが望ましい。
(戦闘不能と復活)
図8は、共闘戦闘空間において操作キャラクタxが戦闘不能になった場合の表示画面の一例を示す図である。図8の状態(A)は、操作キャラクタxが戦闘不能になった時点の表示画面を示している。ゲーム進行処理部111が操作キャラクタxが戦闘不能になったと判定した場合、オブジェクト制御部115は、操作キャラクタxが戦闘不能になったことを操作キャラクタxのアクションでユーザに通知する。例えば、オブジェクト制御部115は図示のように、操作キャラクタxに、倒れるようなアクションを起こさせる。以降、ゲーム進行処理部111は、ゲーム空間において戦闘不能からの復活条件が満たされない限り、操作キャラクタxを戦闘不能として扱う。
以下、復活条件について説明する。ゲーム進行処理部111は、操作キャラクタが戦闘不能になったと判定した場合、当該判定を下してからの経過時間の計測を開始する。例えば、ゲーム進行処理部111は、制御部110のクロック等に基づいて経過時間を測定すればよい。そして、ゲーム進行処理部111は、経過時間が予め定めた復活の制限時間を超えるまでに、他の操作キャラクタy4〜y6のいずれかが、操作キャラクタxから所定の範囲内に一定時間留まっている場合、戦闘不能からの復活条件が満たされたと判定する。
オブジェクト制御部115は、当該所定の範囲を示すオブジェクトをゲーム空間内に配置する。これにより、オブジェクト制御部115は、操作キャラクタxを操作するユーザ、および他の操作キャラクタy4〜y6を操作するユーザに示すことができる。例えば、オブジェクト制御部115は図8の状態(A)に示すように、ゲーム空間内の操作キャラクタxを中心とした位置に、規定の大きさの円を示すオブジェクトを配置する。以降、この円を示すオブジェクトを「サークル」と称する。
なお、オブジェクト制御部115は、復活の制限時間を過ぎると、サークルをゲーム空間から消去する。したがって、操作キャラクタxが戦闘不能から復活するためには、サークルが出現している間に、他の操作キャラクタy4〜y6がサークル内に一定時間留まらなければならない。
図8の状態(B)は、操作キャラクタxが戦闘不能であって、かつ操作キャラクタxから所定の範囲内(サークル内)に他の操作キャラクタy5が留まっている状態を示す図である。図示のように制限時間内に操作キャラクタy5がサークル内に存在する状態で一定時間が経過すると、ゲーム進行処理部111は復活条件が満たされたと判定する。そして、ゲーム進行処理部111は、操作キャラクタxの体力値を回復させる。また、オブジェクト制御部115は操作キャラクタの動作に係る処理を再開する。
(チャット機能)
本実施形態に係るゲームシステム1は、ゲームの一機能としてチャット機能をユーザに提供する。チャット機能は、準備空間、戦闘空間、および共闘戦闘空間のいずれのゲーム空間でも使用可能である。ゲームシステム1においてチャットとは、ゲームシステム1にログインしている異なるアカウント同士でメッセージを送受信することを指す。本実施形態では、コミュニケーションはアイコン画像(スタンプ)またはテキストを介して行われる。
入力操作受付部112は、各ゲーム空間においてチャット機能に係る入力操作を受け付ける。例えば、入力操作受付部112は、チャットで送信するスタンプを選択するためのスタンプ一覧を含むウィンドウを表示させるための入力操作を受け付ける。この場合、表示制御部114はチャットに関するUIをタッチスクリーン15に表示させる。
また例えば、入力操作受付部112は、スタンプ一覧から送信するスタンプを選択する入力操作を受け付ける。次に、ゲーム進行処理部111は、選択されたスタンプを、サーバ200に送信する。サーバ200は、スタンプを送信したユーザと同じゲーム空間にてゲームを進行させている他のユーザ端末100に送信する。
(チャット機能の詳細)
図9は、ゲームシステム1におけるチャット機能に関する処理の流れを示すフローチャートである。図10は、戦闘空間においてユーザ端末100−1に対応する操作キャラクタxにチャットでメッセージを送信させる場合の、一連の画面表示の流れを示す。なお、制御部110は準備空間および共闘戦闘空間においても同様の方法でチャットを実現してよい。以降は、2台のユーザ端末100がログインしている例について説明する。また、便宜上2台のユーザ端末100をそれぞれユーザ端末100−1および100−2と称する。
ステップS1において、表示制御部114は、操作キャラクタをタッチスクリーン15の表示面の、1つの辺から中央部へ向かう一定領域をあけて(本実施形態では、表示面の略中央に)表示させる。例えば、各ゲーム空間において、カメラ配置制御部113は操作キャラクタのオブジェクトが視野領域の略中央に写るように仮想カメラを配置する。表示制御部114は当該仮想カメラの視野領域の画像を生成しタッチスクリーン15の表示画面とする。
ステップS2において、入力操作受付部112はチャット機能を使用するための入力操作を受け付ける。例えば、入力操作受付部112は、タッチスクリーン15に図6の状態(A)に示す画面を表示している場合、チャットボタンB3の表示領域に対するタッチ操作を受け付ける。
ステップS3において、表示制御部114は、チャットに用いるアイコン画像であるスタンプを複数個一覧表示したウィンドウを、タッチスクリーン15に表示させる。図10の状態(A)は、表示制御部114がウィンドウW2をタッチスクリーン15に表示させた場合の表示画面を示す。なお、表示制御部114は、少なくともチャットに用いるアイコン画像であるスタンプの一覧L2を含んだウィンドウW2をタッチスクリーンに表示させればよい。また、表示制御部114は、図10の状態(A)に示すように、チャットにおいて送信するメッセージを入力する入力欄C3を含むウィンドウW2をタッチスクリーン15に表示させてもよい。また、表示制御部114は、図10の状態(A)に示すように、チャットログ124に記録された履歴を表示するためのボタンB7と、ウィンドウW2を閉じるためのボタンB8とをウィンドウW2とともにタッチスクリーン15に表示させてもよい。
ここで、各スタンプは上下または左右の少なくともいずれかの方向(第1方向)に整列して一覧表示されている。また、ウィンドウW2の第1の方向の端部に接するスタンプは、第1の方向に部分的に欠落した部分画像として表示される。例えば図10の状態(A)の例では、タッチスクリーン15において一覧L2は矢印D1が示す下方向にスクロール可能に表示される。そして、一覧L2のうち最下部に表示されるスタンプの画像は、下部が部分的に欠落した部分画像として表示される。
ステップS4において、入力操作受付部112が、スタンプの一覧L2を第1の方向にスクロールさせるための入力操作(第2の入力操作)を受け付けたか否かを判定する。
ステップS4においてYESの場合、ステップS5において、ゲーム進行処理部111は、スクロールさせるための入力操作による第1の方向へのスクロール量を、記憶部120にスクロール情報125として記憶させる。図10の状態(B)は、表示制御部114が、図10の状態(A)に示した矢印D1の方向にスクロールする操作に応じて、スタンプの一覧L2の表示内容をスクロールさせた場合の表示画面を示す。この場合、ゲーム進行処理部111は、図10の状態(B)に示すスタンプの一覧L2を表示するためのスクロール量を算出し、記憶部120のスクロール情報125を更新する。ステップS4においてNOの場合は、ゲーム進行処理部111はスクロール量の算出およびスクロール情報125の更新を行わなくてよい。
ステップS6において、入力操作受付部112は一覧L2に示されるスタンプのうちいずれかのスタンプを選択するための入力操作(第1の入力操作)を受け付ける。ステップS7において、ゲーム進行処理部111は、選択されたスタンプを特定する。ステップS8において、制御部110は、ゲーム進行処理部111が特定したスタンプを示す情報(スタンプ情報)を、サーバ200に送信する。例えば、制御部110は、スタンプ情報として、当該スタンプの画像ID等の識別子をサーバ200に送信すればよい。
ステップS9において、表示制御部114は、タッチスクリーン15へのウィンドウの表示を止める。ステップS10において、表示制御部114は、スタンプを選択するための入力操作によって選択されたスタンプを、ユーザ端末100−1における操作キャラクタの位置に対応付けて表示させる。
図10の状態(C)は、入力操作受付部112がスタンプを選択するための入力操作として、図10の状態(B)に示すスタンプの一覧L2からスタンプD2を選択する入力操作を受け付けた場合の表示画面を示す。図10に示すとおり、表示制御部114はタッチスクリーン15に表示させていたウィンドウW2を閉じる(ウィンドウW2を消去する)。また、表示制御部114は、操作キャラクタxの頭上に吹き出しオブジェクトW3を表示させ、当該吹き出しオブジェクトW3の中にスタンプD2を表示する。
ステップS11において、サーバ200はユーザ端末100−1からスタンプ情報を受信する。ステップS12において、スタンプ情報を、ユーザ端末100−1と同じゲーム空間においてゲームを進行させている他のユーザ端末(例えばユーザ端末100−2)に送信する。ステップS13において、ユーザ端末100−2の制御部110は、サーバ200を介しユーザ端末100−1からスタンプ情報を受信する。ステップS14において、ユーザ端末100−2の表示制御部114は、スタンプ情報が示すスタンプを、ユーザ端末100−1に対応する操作キャラクタの位置に対応付けて表示させる。
例えば、ユーザ端末100−2の表示制御部114はタッチスクリーン15に、ユーザ端末100−1において選択されたスタンプを含んだ吹き出しオブジェクトW4を、操作キャラクタxの頭上に表示させる。なお、操作キャラクタxがユーザ端末100−2の仮想カメラの視野領域に含まれない場合、ユーザ端末100−2の表示制御部114は、タッチスクリーン15の表示面における、操作キャラクタxの位置に対応する方向に、スタンプ情報が示すスタンプを表示させればよい。
なお、ユーザ端末100−1の表示制御部114は、ステップS3の処理において、スクロール情報125によって特定されるスクロール量を反映させた状態でスタンプをウィンドウに一覧表示させることが望ましい。例えば、ステップS5において、図10の状態(B)に示すスタンプの一覧L2を表示するためのスクロール量がスクロール情報125に記憶されたとする。この場合、ステップS6〜S8に示すようなスタンプの選択および送信が行われたか否かに関わらず、表示制御部114は、次にスタンプの一覧L2を表示するときに、スクロール情報125に基づいて、図10の状態(B)に示すスタンプの一覧L2と同じスクロール度合いのスタンプ一覧を表示する。
(戦闘不能時のチャット)
表示制御部114におけるチャット機能に関する表示制御、ならびに制御部110およびゲーム進行処理部111におけるチャット機能に係る制御処理は、チャットを行うアカウントに対応する操作キャラクタが戦闘不能の場合でも実行される。
図11は、操作キャラクタxが戦闘不能になった状態における表示画面を示す図である。図11の状態(A)は、操作キャラクタxが戦闘不能の状態でタッチスクリーン15にウィンドウW2を表示させた場合の表示画面を示している。また、図11の状態(B)は、図12の状態(A)に示すスタンプの一覧L2からスタンプD3を選択する入力操作を受け付けた場合の表示画面を示す。操作キャラクタxが戦闘不能であっても、図10に示した例と同様に、表示制御部114はウィンドウW2を閉じる。そして、表示制御部114は、操作キャラクタxの頭上に、スタンプD3を含む吹き出しオブジェクトW3を表示させる。
このように、ユーザは、操作キャラクタが戦闘不能の場合でもチャット機能を利用可能である。これにより、ユーザはチャットを利用して、自分の操作キャラクタの周りに居る他の操作キャラクタを操作している他のユーザに対し、自分の操作キャラクタが戦闘不能となったことや、復活のためにサークル内に留まってほしいこと等を知らせることができる。
図12は、操作キャラクタxに対応するユーザ端末100において、他のユーザ端末100が送信したスタンプを表示した場合の表示画面の一例を示す。表示制御部114は、操作キャラクタxが戦闘不能であっても、他の操作キャラクタ(例えば操作キャラクタy4)からのメッセージやスタンプをタッチスクリーン15に表示してよい。このように、ユーザは、他の操作キャラクタy4からのチャットの返信を確認することができる。これにより、各ユーザは、ユーザ同士が協力し合って行う戦闘の際に、コミュニケーションを密にとりながら互いの戦闘をサポートすることができる。
〔ソフトウェアによる実現例〕
制御部110の制御ブロックは、集積回路(ICチップ)等に形成された論理回路(ハードウェア)によって実現してもよく、CPU(Central Processing Unit)を用いてソフトウェアによって実現してもよい。
後者の場合、制御部110は、各機能を実現するソフトウェアであるプログラムの命令を実行するCPU、上記プログラムおよび各種データがコンピュータ(またはCPU)で読み取り可能に記録されたROM(Read Only Memory)または記憶装置(これらを「記録媒体」と称する)、上記プログラムを展開するRAM(Random Access Memory)などを備えている。そして、コンピュータ(またはCPU)が上記プログラムを上記記録媒体から読み取って実行することにより、本発明の目的が達成される。上記記録媒体としては、「一時的でない有形の媒体」、例えば、テープ、ディスク、カード、半導体メモリ、プログラマブルな論理回路などを用いることができる。また、上記プログラムは、該プログラムを伝送可能な任意の伝送媒体(通信ネットワークや放送波等)を介して上記コンピュータに供給されてもよい。なお、本発明は、上記プログラムが電子的な伝送によって具現化された、搬送波に埋め込まれたデータ信号の形態でも実現され得る。
本発明は上述した各実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能であり、異なる実施形態にそれぞれ開示された技術的手段を適宜組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。
〔付記事項〕
本発明の一側面に係る内容を列記すると以下のとおりである。
(項目1) 本実施形態において、プロセッサ(10)、メモリ(11)、および、タッチスクリーン(15)を備えるコンピュータ(ユーザ端末100)において実行されるゲームプログラムについて説明した。本実施形態のある局面によると、ゲームプログラム(121)に基づくゲームは、ゲーム空間内において、ゲームプログラム(121)に基づいて動作する敵キャラクタと、タッチスクリーン(15)の表示面の任意の位置に対するユーザの操作に基づいて動作する第1の操作キャラクタとが戦闘することによって進行する。ゲームプログラム(121)は、プロセッサ(10)に、第1の操作キャラクタをタッチスクリーン(15)の表示面の1つの辺から中央部へ向かう一定領域をあけて(例えば、略中央に)表示するステップ(S1)と、表示面における第1の操作キャラクタの下方の領域に、複数のアイコン画像を一覧表示したウィンドウを表示するステップ(S3)と、複数のアイコン画像のうちいずれかのアイコン画像を選択するための第1の入力操作を受け付けるステップ(S6)と、第1の入力操作を受け付けた場合に、第1の入力操作によって選択されたアイコン画像を示す情報を、他のユーザが操作するユーザ端末に送信し、当該ユーザ端末の表示面に表示させるステップ(S8)と、を実行させる。
このように、第1の操作キャラクタに対する入力操作を行う入力領域が特に規定されていないため、アイコン画像を一覧表示する場合に、入力領域を考慮する必要が無く、より多くのアイコン画像を一覧表示することができる。そのため、ユーザはアイコン画像の一覧表示から所望のアイコン画像を容易に見つけることができる。また、アイコン画像を示す情報を他のユーザのユーザ端末に送信することにより、ユーザは文字では表現しづらい多様な情報を他のユーザに伝えることができる。したがって、本実施形態に係るゲームプログラムは、ユーザ間のゲーム内でのコミュニケーションをより容易にすることができる。
(項目2) (項目1)において、ゲームプログラム(121)は、プロセッサ(10)に、さらに、他のユーザが操作するユーザ端末(100)からアイコン画像を示す情報を受信するステップ(S13)と、アイコン画像を示す情報に基づいてアイコン画像をタッチスクリーン(15)に表示するステップ(S14)と、を実行させる。
これにより、ゲームプログラムは他のユーザが操作するユーザ端末からのアイコン画像をタッチスクリーンに表示させることができる。したがって、ユーザに他のユーザからのアイコン画像としてのメッセージを伝えることができる。
(項目3) (項目1)または(項目2)において、ゲームプログラム(121)は、プロセッサ(10)に、さらに、ウィンドウ内のアイコン画像の一覧表示を第1の方向にスクロールさせるための第2の入力操作を受け付けるステップ(S4)を実行させる。ウィンドウには、第1の方向に沿って複数のアイコン画像が整列して一覧表示され、さらに、ウィンドウの第1の方向の端部に接するアイコン画像は第1の方向に部分的に欠落して表示される。
これにより、ゲームプログラムはユーザに、アイコン画像の一覧表示に続きがあることを容易に認識させることができる。
(項目4) (項目1)から(項目3)までのいずれか一項目において、ゲームプログラム(121)は、プロセッサ(10)に、さらに、第2の入力操作による第1の方向へのスクロール量を、メモリ(11)に記憶するステップ(S5)を実行させ、プロセッサ(10)は、ウィンドウを表示するステップにおいて、メモリ(11)に記憶したスクロール量を参照し、複数のアイコン画像を、スクロール量を反映させた状態でウィンドウに一覧表示する。
これにより、ゲームプログラムは、ユーザのアイコン画像を探す手間を省くことができる。そのため、ユーザ間のコミュニケーションがより容易となる。
(項目5) (項目1)から(項目4)までのいずれか一項目において、ゲームプログラム(121)は、プロセッサ(10)に、さらに、第1の入力操作を受け付けた後、タッチスクリーン(15)のウィンドウを消去するステップを実行させる。
このように、アイコン画像を送信した後に自動的にウィンドウを消去することによって、限られた大きさの表示面を有効に活用することができる。
(項目6) (項目1)から(項目5)までのいずれか一項目において、第1の操作キャラクタは、関連付けられた体力値がゼロになると、戦闘不能の状態になる。ゲームプログラム(121)は、プロセッサ(10)に、さらに、操作キャラクタが戦闘不能の状態である場合、かつ、他のユーザの操作に基づいて動作する第2の操作キャラクタが、表示面において第1の操作キャラクタから所定の範囲内に一定時間留まっている場合に、第1の操作キャラクタの体力値を回復するステップを実行させる。
これにより、第1の操作キャラクタが戦闘不能になった場合、ユーザは第2の操作キャラクタを操作しているユーザに対し、アイコン画像で自分の状況や、第2の操作キャラクタにとって欲しい行動を知らせることができる。したがって、ユーザ間のコミュニケーションを活性化させることができる。
(項目7) 本実施形態において、プロセッサ(10)、メモリ(11)、および、タッチスクリーン(15)を備えるコンピュータ(100)がゲームを実行するための方法を説明した。本実施形態のある局面によると、ゲームは、ゲーム空間内において、ゲームプログラム(121)に基づいて動作する敵キャラクタと、タッチスクリーン(15)の表示面の任意の位置に対するユーザの操作に基づいて動作する第1の操作キャラクタとが戦闘することによって進行する。方法は、プロセッサ(10)に、第1の操作キャラクタをタッチスクリーン(15)の表示面の1つの辺から中央部へ向かう一定領域をあけて(例えば、略中央に)表示するステップ(S1)と、表示面における第1の操作キャラクタの下方の領域に、複数のアイコン画像を一覧表示したウィンドウを表示するステップ(S3)と、複数のアイコン画像のうちいずれかのアイコン画像を選択するための第1の入力操作を受け付けるステップ(S6)と、第1の入力操作を受け付けた場合に、第1の入力操作によって選択されたアイコン画像を示す情報を、他のユーザが操作するユーザ端末に送信し、当該ユーザ端末の表示面に表示させるステップ(S8)と、を含む。これにより、(項目7)に係る方法は、(項目1)に係るゲームプログラムと同様の作用効果を奏する。
(項目8) 本実施形態において、ゲームプログラムを記憶する記憶部(120)と、ゲームプログラムを実行することにより、情報処理装置(ユーザ端末100)の動作を制御する制御部(110)と、タッチスクリーン(15)と、を備えた情報処理装置(ユーザ端末100)について説明した。本実施形態のある局面によると、ゲームプログラム(121)に基づくゲームは、ゲーム空間内において、ゲームプログラム(121)に基づいて動作する敵キャラクタと、タッチスクリーン(15)の表示面の任意の位置に対するユーザの操作に基づいて動作する第1の操作キャラクタとが戦闘することによって進行する。制御部(110)は、第1の操作キャラクタをタッチスクリーン(15)の表示面の1つの辺から中央部へ向かう一定領域をあけて(例えば、略中央に)表示し、表示面における第1の操作キャラクタの下方の領域に、複数のアイコン画像を一覧表示したウィンドウを表示し、複数のアイコン画像のうちいずれかのアイコン画像を選択するための第1の入力操作を受け付け、第1の入力操作を受け付けた場合に、第1の入力操作によって選択されたアイコン画像を示す情報を、他のユーザが操作するユーザ端末に送信し、当該ユーザ端末の表示面に表示させる。これにより、(項目8)に係る情報処理装置は、(項目1)に係るゲームプログラムと同様の作用効果を奏する。