以下、図面を参照しながら本発明の実施形態について説明する。
<システムのハードウェア構成>
図1に示すように、本実施形態の情報処理システム1は、複数の端末装置10と、サーバ20とを備えている。
端末装置10とサーバ20とは、ネットワーク2を介して接続される。ネットワーク2は、例えば、インターネット、移動通信システム(例えば、3G、4G、5G、LTE(Long Term Evolution)等)、WiFi(Wireless Fidelity)、ブルートゥース(登録商標)、その他の通信回線、またはこれらの組み合わせ等のいずれによって構成されていてもよい。また、端末装置10とサーバ20との接続は、有線接続であるか無線接続であるかを問わない。
サーバ20(換言すると、コンピュータ、情報処理装置)は、例えば、ワークステーションまたはパーソナルコンピュータ等の汎用コンピュータであってもよい。サーバ20は、プロセッサ21と、メモリ22と、ストレージ23と、通信IF(インターフェース)24と、入出力IF25と、を備える。サーバ20が備えるこれらの構成は、通信バスによって互いに接続される。
プロセッサ21は、サーバ20全体の動作を制御する。プロセッサ21は、CPU(Central Processing Unit)、MPU(Micro Processing Unit)およびGPU(Graphics Processing Unit)等を含み得る。プロセッサ21は、ストレージ23からプログラムを読み出し、メモリ22に展開する。プロセッサ21は、展開したプログラムを実行する。
メモリ22は、主記憶装置である。メモリ22は、例えば、ROM(Read Only Memory)およびRAM(Random Access Memory)等の記憶装置により構成される。メモリ22は、プロセッサ21がストレージ23から読み出したプログラムおよび各種データを一時的に記憶することにより、プロセッサ21に作業領域を提供する。メモリ22は、プロセッサ21がプログラムに従って動作している間に生成した各種データも一時的に記憶する。
なお、本実施形態においてプログラムとは、ゲームを端末装置10により実現するプログラムであってもよい。また、当該プログラムは、当該ゲームを端末装置10とサーバ20との協働により実現するプログラムであってもよい。なお、端末装置10とサーバ20との協働により実現されるゲームは、一例として、端末装置10において起動されたブラウザ上で実行されるゲームであってもよい。また、当該プログラムは、当該ゲームを複数の端末装置10の協働により実現するプログラムであってもよい。また、各種データには、例えば、ユーザ情報およびゲーム情報などのゲームに関するデータ、および端末装置10とサーバ20との間で送受信される指示や通知が含まれる。
ストレージ23は、補助記憶装置である。ストレージ23は、例えば、フラッシュメモリまたはHDD(Hard Disk Drive)等の記憶装置により構成される。ストレージ23には、ゲームに関する各種データが格納される。
通信IF24は、サーバ20と端末装置10等との間におけるネットワークを介した各種データの送受信を制御する。
入出力IF25は、サーバ20がデータの入力を受け付けるためのインターフェースであるとともに、サーバ20がデータを出力するためのインターフェースである。入出力IF25は、例えば、マウス、キーボード等の情報入力機器である入力部と、画像を表示出力する機器である表示部とを含み得る。
端末装置10(換言すると、コンピュータ、情報処理装置)は、例えば、スマートフォン、フィーチャーフォン、PDA(Personal Digital Assistant)、タブレット型コンピュータ、パーソナルコンピュータ、ウェアラブル端末、またはゲーム装置等であってもよい。端末装置10は、携帯端末であってもよい。端末装置10は、ユーザがゲームを実行する際に可搬型の端末であってもよい。
端末装置10は、プロセッサ11と、メモリ12と、ストレージ13と、通信IF14と、入出力IF15と、入力部17と、表示部18と、を備える。端末装置10が備えるこれらの構成は、通信バスによって互いに接続される。
プロセッサ11は、端末装置10全体の動作を制御する。プロセッサ11は、CPU、MPUおよびGPU等を含み得る。プロセッサ11は、ストレージ13からプログラムを読み出し、メモリ12に展開する。プロセッサ11は、展開したプログラムを実行する。
メモリ12は、主記憶装置である。メモリ12は、例えば、ROMおよびRAM等の記憶装置により構成される。メモリ12は、プロセッサ11がストレージ13から読み出したプログラムおよび各種データを一時的に記憶することにより、プロセッサ11に作業領域を提供する。メモリ12は、プロセッサ11がプログラムに従って動作している間に生成した各種データも一時的に記憶する。
ストレージ13は、補助記憶装置である。ストレージ13は、例えば、フラッシュメモリまたはHDD等の記憶装置により構成される。ストレージ13には、ゲームに関する各種データが格納される。
通信IF14は、端末装置10とサーバ20等との間におけるネットワークを介した各種データの送受信を制御する。
入出力IF15は、端末装置10がデータの入力を受け付けるためのインターフェースであるとともに、端末装置10がデータを出力するためのインターフェースである。入出力IF15は、例えばUSB(Universal Serial Bus)等を介してデータの入出力を行うこととしてもよい。入出力IF15は、入力部17または表示部18等を含み得る。
入力部17は、ユーザによる入力を受け付ける。入力部17は、例えば、タッチパッド等のポインティングデバイスであってもよい。表示部18は、画像を表示する。表示部18は、例えば、液晶ディスプレイまたは有機EL(Electro-Luminescence)ディスプレイ等であってもよい。端末装置10は、例えば、入力部17と表示部18とを組み合わせた電子部品であるタッチスクリーン16を備える。
入力部17は、ユーザの操作(例えば、タッチ操作、タップ操作、スライド操作、スワイプ操作、およびフリック操作等)により入力面に対して入力された位置を検知し、検知した位置を示す情報を入力信号として送信する機能を有する。入力部17としてのタッチパネルは、静電容量方式または抵抗膜方式等を採用することができるが、他の方式であってもよい。
なお、入力部17は、例えば、キーボード、各種物理ボタン、各種センサ(例えば、加速度センサ、角速度センサ、モーションセンサ、視線センサ、生体電位センサ、指紋センサ、呼気センサ、圧力センサ、またはイメージセンサ等)、操作スティック、カメラ、またはマイク等であってもよい。また、表示部18は、例えば、プロジェクタ等であってもよい。
<システムの機能的構成>
図2は、サーバ20および端末装置10の機能的構成を示すブロック図である。本実施形態におけるサーバ20は、例えば、ゲームを実現するために必要な各種データおよびプログラムを各端末装置10に提供する機能、各端末装置10からゲームに関するデータを収集して管理する機能、ならびに複数の端末装置10間の同期処理を行う機能等を有する。
なお、本実施形態において、サーバ20は、ゲームごとに事前に登録されるユーザのアカウントを用い、各ユーザおよび端末装置10を識別する。アカウントの登録方法は特に限定されない。例えば、端末装置10またはパーソナルコンピュータ等の他の装置が、ユーザの操作に基づいて、ユーザのアカウント登録に必要な情報をサーバ20に送信し、サーバ20が、受信した情報に基づいて各ユーザのアカウントを作成および保存することとしてもよい。
図2に示すように、サーバ20は、プロセッサ21、メモリ22、ストレージ23、通信IF(インターフェース)24、および入出力IF25等の協働によって、制御部210および記憶部220として機能する。記憶部220は、制御部210が使用する各種データを格納する。各種データとして、例えば、ゲームプログラム、ゲーム情報およびユーザ情報がある。
ゲームプログラムは、ゲームを実現するためのプログラムである。ゲーム情報およびユーザ情報は、制御部210がゲームプログラムを実行するときに参照するデータである。
なお、本実施形態において、ゲームプログラムとは、サーバ20側で実行するゲームプログラムに加え、端末装置10側で実行するゲームプログラムを含み得る。また、記憶部220が、サーバ20側で実行するゲームプログラムと、端末装置10側で実行するゲームプログラムとを格納してもよい。
ゲーム情報は、アカウント間で共通の情報である。ゲーム情報は、例えば、各種仮想空間を規定するための情報を含む。仮想空間とは、例えば、ユーザが操作可能なキャラクタ(以下、「プレイヤキャラクタ」という。)のオブジェクト等の各種オブジェクトが配置される空間である。ゲーム情報は、例えば、仮想空間に配置される建物や木、石等の背景オブジェクトやノンプレイヤキャラクタ(non player character:NPC)のオブジェクトの配置位置や大きさ、色、形状等、アカウント間で共通のオブジェクトに関する各種設定情報を含む。また、ゲーム情報は、例えば、NPCの各種パラメータの設定値等を含む。以下においては、仮想空間に配置されたキャラクタのオブジェクトを指して、単に「キャラクタ」ということもある。
なお、仮想空間の一例として、イベントが行われる(換言すると、発生する)空間が挙げられる。また、イベントが行われる空間の一例として、ゲームの進行に係るイベントが行われる(例えば、キャラクタ等を動かしてゲームを進行させる)ゲーム空間や、音楽ライブ等の各種ライブが行われるライブ空間や、ユーザ同士が交流可能な空間が挙げられる。また、仮想空間内のオブジェクトの一例として、ゲームに使用されるゲーム媒体が挙げられる。また、ゲーム媒体の一例として、キャラクタやアイテムやゲーム空間内で行われる競技に用いられる物体(例えば、球技におけるボール等)が挙げられる。
ユーザ情報は、ゲームのアカウントごとに管理される情報である。ユーザ情報は、例えば、プレイヤキャラクタに関する情報、保有資産に関する情報、およびゲームの進行度合いを示す情報等を含む。保有資産として、例えば、仮想空間内の通貨やアイテム等が挙げられる。換言すると、保有資産は、仮想空間においてユーザが所有する価値(換言すると、ユーザに対応付けられる価値)ともいえる。当該価値(換言すると、仮想空間内価値)の一例として、電子通貨が挙げられる。また、電子通貨の一例として、ゲーム内で使用可能なゲーム内通貨や、暗号資産が挙げられる。
制御部210は、記憶部220に格納されたゲームプログラムを実行することにより、ゲームに関する各種処理を制御する。制御部210は、例えば、送受信部211、サーバ処理部212、データ管理部213、および同期処理部214を有する。
送受信部211は、各種データを送信または受信する。送受信部211は、例えば、各種データおよびプログラムの送信要求や、マルチプレイ機能に対応するための同期処理の要求、同期処理の対象となるデータ等を、各端末装置10から受信し、サーバ処理部212に渡す。また、送受信部211は、サーバ処理部212による制御に従って、同期を取るための指示等を含む各種データやプログラムを、各端末装置10に送信する。
本実施形態において、マルチプレイ機能とは、複数のアカウントによるゲーム処理を同期させた状態で進行させる機能である。情報処理システム1のサーバ20および端末装置10は、情報処理システム1にログインしているアカウントが同じゲームに複数参加する場合に、マルチプレイ機能に対応するための各種処理を実行する。
サーバ処理部212は、端末装置10からの要求等に応じ、ゲームプログラムに記述された演算処理を実行することで、端末装置10にゲームを提供する。サーバ処理部212は、例えば、マルチプレイ機能に対応するための同期処理の要求や同期処理の対象となるデータを、送受信部211を介して端末装置10から受け取ると、マルチプレイ機能に対応するための同期処理を実行する。また、サーバ処理部212は、ゲーム情報またはユーザ情報の送信指示を送受信部211に指令する。さらに、サーバ処理部212は、ゲーム情報またはユーザ情報のレコードの追加、更新または削除に関する指示をデータ管理部213に指令する。
データ管理部213は、記憶部220に格納されている各種データをサーバ処理部212の指示に従って管理する。データ管理部213は、例えば、サーバ処理部212からの指令に従って、ゲーム情報またはユーザ情報を読み出し、送受信部211を介して端末装置10に送信する。また、データ管理部213は、サーバ処理部212からの指令に従って、ゲーム情報またはユーザ情報のレコードを、追加、更新または削除する。
同期処理部214は、サーバ処理部212からの指令に従って、ゲームのマルチプレイ機能に対応するための同期処理を実行する。同期処理部214は、例えば、サーバ20が複数の端末装置10に対して情報を送信するときに、各端末装置10に同時に情報を送信することで、各端末装置10間で進行するゲームの同期を取る。具体的には、同期処理部214は、各アカウントに対応する端末装置10から所定期間(例えば、一フレーム)内に受信した操作情報を、所定期間ごとに各端末装置10に同時に送信する。操作情報は、端末装置10に入力される操作に関する情報である。同期のタイミングや同期すべき情報は、サーバ処理部212から随時受信することとしてもよい。同期処理を実行することで、一つの端末装置10で入力された操作に起因するゲーム内の事象を、他の端末装置10に同時に反映させることが可能となる。
本実施形態における端末装置10は、例えば、ユーザの入力操作を受け付ける入力装置としての機能、およびゲームの画像や音声を出力する出力装置としての機能等を有する。
端末装置10は、プロセッサ11、メモリ12、ストレージ13、通信IF14、および入出力IF15等の協働によって、制御部110および記憶部120として機能する。記憶部120は、制御部110が使用する各種データを格納する。各種データとして、例えば、ゲームプログラム、ゲーム情報およびユーザ情報がある。ゲームプログラムは、端末装置10側でゲームを実現するためのプログラムである。ゲーム情報およびユーザ情報は、制御部110がゲームプログラムを実行するときに参照するデータである。記憶部120に格納されるゲーム情報およびユーザ情報は、記憶部220に格納されるゲーム情報およびユーザ情報と同様の情報を含み得る。
制御部110は、記憶部120に格納されたゲームプログラムを実行することにより、端末装置10において実行されるゲームに関する各種処理を制御する。制御部110は、例えば、操作受付部111、送受信部112、ゲーム進行部113、および表示制御部114を有する。
操作受付部111は、入力部17を介してユーザにより入力される操作(以下、「入力操作」ともいう。)を受け付ける。具体的には、操作受付部111は、入力部17に対する入力操作がされた場合に、入力位置の座標および入力操作の種類を検知する。入力操作の種類として、例えば、タッチ操作、タップ操作、スライド操作、スワイプ操作、フリック操作、ピンチイン操作およびピンチアウト操作等の、手指等による各種操作が挙げられる。入力操作は、入力部17(例えば、タッチスクリーン16)に物理的に接触する操作に限らず、非接触による操作も含み得る。なお、タッチスクリーン16への接触を終了するタッチオフ操作等のそれまで行っていた入力操作を終了する操作も、入力操作の一態様ということができる。
ここで、操作受付部111は、入出力IF15を介して接続された操作機器を用いてされる入力操作についても、入力部17に対する入力操作と同様に受け付けることができる。
送受信部112は、各種データを送信または受信する。送受信部112は、例えば、ゲーム情報またはユーザ情報や、マルチプレイ機能に対応するための同期要求を、サーバ20に送信する。送受信部112は、各種データ、プログラム、およびマルチプレイ機能に対応するための同期のためのデータ等を、サーバ20から受信する。同期のためのデータには、例えば、マルチプレイに参加している各端末装置10間で同期を取るように指示するための同期指示データが含まれる。同期指示データには、例えば、同期対象となるデータおよびそのデータの種類や、同期する時期を特定するためのデータ等が含まれる。
送受信部112は、操作受付部111により受け付けられた入力操作に関する操作情報を、サーバ20に送信する。送受信部112は、他の端末装置10において他のユーザにより入力された操作に関する操作情報を、サーバ20から受信する。
ゲーム進行部113は、ゲームの進行に関する各種処理を実行する。以下に、具体例を挙げて説明する。
ゲーム進行部113は、ゲーム情報に含まれる仮想空間を規定するための情報に基づいて、仮想空間を規定する。ゲーム進行部113は、ゲーム情報に含まれるオブジェクトの設定情報に基づいて、仮想空間にオブジェクトを配置する。ゲーム進行部113は、仮想空間に配置したオブジェクトを制御する。具体的には、ゲーム進行部113は、仮想空間内でのオブジェクトの位置、向き、形状、色等を変更したり、オブジェクトに所定の動作を行わせたりする。
ゲーム進行部113は、仮想空間のうちユーザに提示する領域を指定するための仮想カメラを規定する。ゲーム進行部113は、仮想空間内での仮想カメラの位置および向きを規定することにより、仮想空間内に仮想カメラを配置する。ゲーム進行部113は、仮想カメラにより規定される視野領域およびこの視野領域に配置されているオブジェクトを描画した画像を生成するように、表示制御部114に指示する。
仮想カメラの位置および向きは、仮想空間ごとに適宜決定することができる。例えば、ゲーム進行部113は、特定のオブジェクトの位置や向きを基準とし、特定のオブジェクトが特定の向きで視野領域の中央に位置するように、仮想カメラを配置する。その際、ゲーム進行部113は、特定のオブジェクトに対する方向、距離および角度を用い、仮想カメラの位置や向きを調整する。特定のオブジェクトは、例えば、動的なオブジェクトであってもよいし、建物や木、石等の静的なオブジェクトであってもよい。動的なオブジェクトの一例として、各ユーザの操作に基づいてそれぞれ動作するプレイヤキャラクタや、ゲームプログラムに基づいて動作するNPCが挙げられる。NPCは、所謂敵キャラクタ等を含む。
ゲーム進行部113は、操作受付部111により検知された入力位置の座標および入力操作の種類等に基づいて、ユーザの指示内容を解釈する。ゲーム進行部113は、解釈した指示内容等に基づいて、ゲームの進行に関わる各種判定処理を実行する。ゲーム進行部113は、判定処理の結果等に基づいて、オブジェクトや仮想カメラ等を制御しながらゲームを進行する。ゲーム進行部113は、ゲームの進行状況に応じて、ゲーム情報やユーザ情報を更新、追加または削除する。
表示制御部114は、表示部18に画像を表示させる。以下に、具体例を挙げて説明する。
表示制御部114は、仮想空間のうち、ゲーム進行部113が規定する仮想カメラの視野の領域と、その領域に存在するオブジェクトとを描画した画像を生成し、表示部18に表示させる。表示制御部114は、表示部18に表示させる画像に対し、例えば、アイコン、ボタン、各種パラメータを示すメニュー等、ゲームの種々の操作に必要なUI(User Interface)に関わるオブジェクトを重畳して描画することができる。
なお、図2に示す端末装置10およびサーバ20の機能は一例にすぎない。端末装置10およびサーバ20の各装置は、他の装置が備える機能の少なくとも一部を備えていてもよい。また、端末装置10およびサーバ20等の各装置は、一体の機器により実現されるものでなくてもよく、例えば、ネットワーク等を介して接続される複数の機器によって実現されてもよい。また、情報処理システム1は、例えば、端末装置10またはサーバ20のみによって構成されていてもよい。換言すると、情報処理システム1は、ネットワークを介して接続される複数の機器によって実現されていなくてもよい。
<本実施形態に係る処理>
次に、本実施形態に係る処理について説明する。なお、本実施形態では、端末装置10のプロセッサ11またはサーバ20のプロセッサ21が、情報処理システム1に記憶されているプログラムを実行することによって、後述する各処理を行うものとして説明する。ただし、後述する処理であってプロセッサ11が行う処理のうちの少なくとも一部を、プロセッサ11とは別のプロセッサが実行するようにしてもよい。また、後述する処理であってプロセッサ21が行う処理のうちの少なくとも一部を、プロセッサ21とは別のプロセッサが実行するようにしてもよい。換言すると、本実施形態においてプログラムを実行するコンピュータは、端末装置10およびサーバ20のいずれであってもよく、また、複数の装置の組み合わせにより実現されてもよい。
<ゲームの基本動作>
以下では、本実施形態に係る構成をゴルフゲームに適用した場合を例に説明する。
図3~図5は、ゲーム空間30としてのゴルフコースを含む空間を示す表示画面例である。図3~図5を参照しながら、ゲーム空間30およびゲーム空間30に重ねて表示される各種オブジェクトについて説明する。
表示制御部114は、ゲーム進行部113の指示に応じて、表示部18にゲーム空間30の画像を表示させる。具体的には、表示制御部114は、ゲーム空間30のうち、制御部110が規定する仮想カメラの視野の領域と、当該領域に存在するオブジェクトとを描画した画像を生成し、表示部18に表示させる。具体的には、表示制御部114は、ゲーム空間30に存在するオブジェクトである、ユーザの操作に基づいて移動するオブジェクトとしてのボール31、ボール31を導く目標地点となるオブジェクトとしてのカップ32、およびプレイヤキャラクタ33等を表示部18に表示させる。また、表示制御部114は、例えば、当該画像に、アイコン、ボタン、各種パラメータを示すメニュー等、ゲームの種々の操作に必要なUI(User Interface)に係るオブジェクトを重畳して描画し、表示部18に表示させる。具体的には、表示制御部114は、カップの位置を示すカップ指標36、ならびに、後述する移動オブジェクト40、パワー指標41、および指標オブジェクト50等のオブジェクトを表示部18に表示させる。
カップ指標36は、例えば、カップ32から所定の色彩の光が延び出るように表示される指標である。ゲーム進行部113は、例えば、カップ指標36を、コースの芝の色彩と区別がつくような色彩に設定する。カップ指標36を表示させることで、ユーザは、プレイヤキャラクタ33の背後から映されたゲーム空間30において、カップ32の位置を容易に視認できる。
本実施形態では、ゲーム進行部113は、ユーザによる所定の操作に基づいてボール31を移動させ、ゲームを進行させる。以下、図3~図5を参照しながら、ゲームの進行について説明する。
ゲーム進行部113は、図3に示すように、ボール31およびアドレスの姿勢を取るプレイヤキャラクタ33を表示部18に表示させるよう、表示制御部114に指示する。また、ゲーム進行部113は、移動オブジェクト40を表示部18に表示させるよう表示制御部114に指示する。
移動オブジェクト40は、例えば、円形状を呈し、移動オブジェクト40から所定の方向に延び出る直線状の指標(図3においては、点状の図形とV字状の図形が直線状に並んだ指標。以下、「パワー指標41」という。)に沿って移動するオブジェクトである。パワー指標41は、ショットのパワーを示す数値が付されたものであってもよい。ショットのパワーを示す数値は、例えば、パワーの割合を示す百分率であってもよく、飛距離を示すヤードまたはメートル等であってもよい。
操作受付部111は、ユーザによるタッチスクリーン16の所定位置を選択する操作を受け付ける。ゲーム進行部113は、ユーザによる、選択された所定位置からのスワイプ操作に応じて、移動オブジェクト40を移動させる(図4参照)。具体的には、ゲーム進行部113は、ユーザのタッチスクリーン16へのタッチ位置が移動オブジェクト40に重なると判断した場合、ユーザのスワイプ操作に応じて、移動オブジェクト40を移動させる。また、ゲーム進行部113は、ユーザのタッチスクリーン16へのタッチ位置が移動オブジェクト40を中心とした所定の範囲内にあると判断した場合、ユーザのスワイプ操作に応じて、移動オブジェクト40を移動させてもよい。これにより、ユーザはプレイヤキャラクタ33のテイクバック動作のイメージを掴むことができるため、ゲームの興趣性が向上される。
なお、移動オブジェクト40は、パワー指標41に沿って移動させることが可能であるが、「パワー指標に沿って」とは、パワー指標41の直上を移動オブジェクト40が移動するものに限らず、パワー指標41の延びる方向に移動オブジェクト40が移動するものであればよい。また、移動オブジェクト40を移動させるスワイプ操作は、パワー指標41の直上を通るものでなくてもよい。換言すると、例えば、パワー指標41を目印とした予め定められた範囲や方向への操作を、移動オブジェクト40を移動させる操作とすることができる。
また、ゲーム進行部113は、移動オブジェクト40を移動させる際に移動オブジェクト40の形状を変化させてもよい(図3~図5参照)。
ゲーム進行部113は、ユーザが移動オブジェクト40をパワー指標41に沿ってスワイプ操作すると(換言すると、指標オブジェクト50から遠ざかる方向へスワイプ操作すると)、指標オブジェクト50を表示部18に移動表示させるよう、表示制御部114に指示する。以下、指標オブジェクト50の詳細について説明する。
まず、指標オブジェクト50の構造の詳細について説明する。
図3に示すように、指標オブジェクト50は、例えば、扇形状の周縁部を外縁に沿って切り取った形状を呈し、複数の区切られた領域(以下、「指標領域51」という。)を有するオブジェクトである。指標領域51は、例えば、ショットの質を示す領域である。ここで、ショットの質とは、例えば、ショットされたボール31の曲がり具合や、ショットの成功度合い(例えば、狙った方向からの逸れ具合、ボール31への当たり具合)等であってもよい。具体的には、複数の指標領域51のうちの中心の領域を、ショットされたボール31が直進する(換言すると、狙った方向へ向かう)指標領域51とし、中心から一方側に離れた領域ほど、ショットされたボール31が一方側に曲がる(換言すると、狙った方向から一方側に逸れる)指標領域51とし、中心から他方側に離れた領域ほど、ショットされたボール31が他方側に曲がる(換言すると、狙った方向から他方側に逸れる)指標領域51とし、中心から所定範囲外に位置する領域を、ミスショットとなる指標領域51としてもよい。また、指標領域51は、ショットされたボール31の軌道を示す記号が付されたものであってもよい。ここで、当該記号は、例えばショットされたボール31の軌道の曲がり具合を示す矢印等であってもよい。
ゲーム進行部113は、ゲーム空間30におけるボール31周辺の環境に基づき指標領域51を設定する。具体的には、ゲーム進行部113は、ボール31がラフ、傾斜面、またはバンカー等のフェアウェイ上から外れた位置に存在する場合、ボール31がフェアウェイ上に存在する場合に比べて、ボール31を狙ったところに導くことが難しくなるように指標領域51を定める。より具体的には、例えば、フェアウェイ上から外れた位置に存在する場合、ボール31がフェアウェイ上に存在する場合に比べて、ボール31が直進する(換言すると、狙った方向へ向かう)指標領域51に対するボール31が曲がる(換言すると、狙った方向から逸れる)指標領域51の大きさや、ミスショットとなる指標領域51の大きさが大きくなるように(換言すると、指標オブジェクト50におけるボールが曲がる指標領域51や、ミスショットとなる指標領域51の占める割合が大きくなるように)指標領域51を設定してもよい。また、例えば、ボール31がフェアウェイ上から外れた位置に存在する場合、ボール31がフェアウェイ上に存在する場合に比べて、指標オブジェクト50全体の幅が狭まる(あるいは広がる)などしてもよい。
次に、指標オブジェクト50の動作の詳細について説明する。
ゲーム進行部113は、指標オブジェクト50を、プレイヤキャラクタ33がショットするボール31の進行方向(換言すると、飛球方向)と交差する方向に往復移動させる(図3~図5参照)。ここで、進行方向とは、ユーザがボール31をショットしたときにボール31が進行する側の方向である。換言すると、ゲーム進行部113は、指標オブジェクト50を、パワー指標41の延びる方向と交差する方向に往復移動させる。具体的には、ゲーム進行部113は、指標オブジェクト50を、例えばパワー指標41の一方側の端部に接触させながら、所定の曲線に沿って所定の角速度で往復移動させる。これにより、正確なショットを実行する際の難易度を高めることができるため、ゲームの興趣性が向上される。
ゲーム進行部113は、移動オブジェクト40が指標オブジェクト50から遠ざかるに従って、指標オブジェクト50の往復移動の速度が速くなるように、指標オブジェクト50を制御してもよい。これにより、ユーザがショットのパワーを大きく設定するほど、ユーザの意図する軌道でのショットを実現しにくくなるため、ゲームの興趣性が向上される。
また、ゲーム進行部113は、ボール31周辺の環境に基づいて、指標オブジェクト50の往復移動の移動速度を変化させてもよい。例えば、ゲーム進行部113は、ボール31が、ラフ、傾斜面またはバンカー等のフェアウェイ上から外れた位置に存在する場合、ボール31がフェアウェイ上に存在する場合に比べて、指標オブジェクト50の移動速度を速くしてもよい。これにより、ショットする環境が悪いほど適切なショットを実行するための難易度を高めることができるため、ゲームの興趣性が向上される。
ゲーム進行部113は、ユーザの入力操作に基づいて移動オブジェクト40の位置を決定し、当該入力操作が解除されたときに、移動オブジェクト40を指標オブジェクト50に向かって移動させ、当該入力操作の解除位置と、指標オブジェクト50と移動後の移動オブジェクト40との位置関係で定まる指標領域51の指標と、に応じたショットを実行するショット実行処理を行う。換言すると、ショット実行処理は、特定の入力操作の解除位置と、指標オブジェクト50と移動後の移動オブジェクト40との位置関係で定まる指標領域51の指標とに基づいて、ボールの到達位置を判断する処理である。
ショット実行処理は、パワー決定処理と軌道決定処理とを含んでいてもよい。
パワー決定処理は、例えば、ユーザの入力操作が解除されたときの解除位置に基づいて、ショットのパワーを決定する処理である。具体的には、図4に示すように、ゲーム進行部113は、ユーザによって選択された所定位置から、ユーザのスワイプ操作に応じて移動オブジェクト40をパワー指標41に沿って移動させる。ここでのスワイプ操作は、例えば、指標オブジェクト50から遠ざかる方向への操作である。
パワー決定処理において、ゲーム進行部113は、スワイプ操作の終点で定まる移動オブジェクト40の、指標オブジェクト50からの距離が長いほど、ショットのパワーを大きくさせる。具体的には、ゲーム進行部113は、例えば、解除位置に対応するパワー指標41に応じたパワーを判断する。パワー指標41に応じて判断されるパワーが大きいほど、ショットされたボール31が遠くに飛ぶこととなる。パワー指標41は、例えば、指標オブジェクト50から遠ざかるにつれて、パワーを示す数値が大きくなるように設定されている。図4では、パワー指標41の「90%」を示す位置で解除されているため、ショットのパワーは、最大パワーの「90%」となる。
軌道決定処理は、例えば、移動後の移動オブジェクト40と指標オブジェクト50との位置関係でショットの軌道(換言すると、ボール31の向かう方向)を決定する処理である。具体的には、例えば、ゲーム進行部113は、パワーの決定に係る特定の入力操作(例えば、指標オブジェクト50から遠ざかる方向へのスワイプ操作)が解除されると、移動オブジェクト40を、指標オブジェクト50に向かって、パワー指標41に沿って移動させる(図4および図5参照)。すなわち、ショットのパワーを決定したと同時に、自動的にボールの軌道を決定する手順に移行される。これにより、ユーザにシームレスなショット操作を提供できるため、ゲームの興趣性が向上される。
軌道決定処理において、ゲーム進行部113は、移動オブジェクト40を、ユーザの操作によって指示された方向に移動させることとしてもよい。すなわち、ゲーム進行部113は、パワーの決定に係る特定の入力操作が解除されたときに、移動オブジェクト40を指標オブジェクト50に向かって移動させるが、このときに、例えば、当該解除の際にユーザがフリック操作で指示した方向に移動オブジェクト40を移動させることとしてもよい。図5は、この場合の表示画面例である。これにより、ユーザに自由度の高いショット操作を提供できるため、ゲームの興趣性が向上される。また、例えば、当該解除の際に、ユーザが、パワーの決定に係るスワイプ操作とは異なる方向へのスワイプ操作(例えば、移動オブジェクト40が指標オブジェクト50へ近づく方向へのスワイプ操作)を行い、当該異なる方向へのスワイプ操作によってユーザが指示した方向に移動オブジェクト40を移動させることとしてもよい。ここで、例えば、移動オブジェクト40が指標オブジェクト50に接触するまで当該異なる方向へのスワイプ操作をするようになっていてもよく、移動オブジェクト40が指標オブジェクト50に接触するよりも前の地点まで当該異なる方向へのスワイプ操作を行った後にフリック操作を行うようになっていてもよい。また、ショットのパワーの決定に係る特定の入力操作がされた後、タッチスクリーン16への接触を終了する操作(例えば、指を離すタッチオフの操作)がされると、移動オブジェクト40が、パワー指標41の指標オブジェクト50側の端部等の所定位置に向かって(換言すると、指標オブジェクト50に向かって)移動するようになっていてもよい。なお、当該所定位置は、パワーの決定に係る入力操作等に応じて変動してもよい。すなわち、本実施形態において「パワーの決定に係る特定の入力操作の解除」とは、例えば、タッチスクリーン16への指の接触が解除されることに限らず、所定方向(例えば、指標オブジェクト50から離れる方向)へ動かしていた指の移動方向が変わること(例えば、所定角度以上、あるいは指標オブジェクト50に近づく方向へ変わること)等であってもよい。換言すると、「特定の入力操作の解除」とは、それまで行っていた操作(例えば、所定方向へのスワイプ操作)が、他の操作(例えば、タッチオフ操作、フリック操作、他の方向へのスワイプ操作)に変わることであってもよい。また、当該入力操作の「解除位置」とは、当該入力操作が解除されたときの指の位置あるいは移動オブジェクト40の位置等ともいえる。なお、パワーの決定に係る特定の入力操作を行い、当該入力操作に係るタッチスクリーン16への接触を一旦解除した後に、移動オブジェクトの移動方向を指示するフリック操作やスワイプ操作等を行うことが可能となっていても。
軌道決定処理において、ゲーム進行部113は、移動オブジェクト40を、一定の速度で移動させてもよく、解除位置の指標オブジェクト50からの距離が長いほど、移動オブジェクト40の移動速度を大きくしてもよい。また、解除位置から、移動オブジェクト40が指標オブジェクト50に近づくに従って、移動オブジェクト40の移動速度を大きくしてもよい。これにより、ユーザの意図する軌道でショットが実現されにくくなるため、ゲームの興趣性が向上される。
軌道決定処理において、ゲーム進行部113は、図5に示すように、移動後の移動オブジェクト40が到達した指標オブジェクト50の指標領域51(以下、「到達指標51」という。)を判断する。ゲーム進行部113は、到達指標51に基づいてボール31の軌道を決定する。例えば、ボールが右に曲がるように設定された指標領域51が到達指標51となった場合、ゲーム進行部113は、ショットされたボール31がスライスあるいはフェードするよう設定する。これにより、ユーザの操作によりボールの軌道を意図的に曲げることができ、また、意図せずボールの軌道が曲がるような状況をユーザに提供することもできるため、ゲームの興趣性が向上される。
すなわち、ゲーム進行部113は、ショット実行処理において、例えば、パワー決定処理で決定されたショットのパワーと、軌道決定処理で決定されたショットの軌道(換言すると、ボールの31の向かう方向)とに基づいて、ボールの到達位置を判断する。
次に、図6を参照して、端末装置10で実行される処理のフローについて説明する。図6は、端末装置10で実行される処理の流れを示すフローチャートである。
ステップS100において、ゲーム進行部113は、移動オブジェクト40等のオブジェクトを表示部18に表示させるよう表示制御部114に指示する。具体的には、ゲーム進行部113は、図3に示すように、アドレスの姿勢を取るプレイヤキャラクタ33、移動オブジェクト40、パワー指標41、および指標オブジェクト50等を表示部18に表示させるよう表示制御部114に指示する。
次いで、ステップS101において、情報処理システム1は、タッチスクリーン16に対するユーザの入力操作を受け付ける。ゲーム進行部113は、例えば、移動オブジェクト40を中心とした所定の範囲内がタッチされたと判断した場合、処理をステップS102に移行させる。
次いで、ステップS102において、ゲーム進行部113は、ユーザのスワイプ操作に応じて移動オブジェクト40を、パワー指標41に沿って移動させる。
次いで、ステップS103において、ゲーム進行部113は、指標オブジェクト50を、移動(例えば、往復移動)させる。
次いで、ステップS104において、ゲーム進行部113は、移動オブジェクト40を移動させるスワイプ操作を解除するユーザの操作(例えば、タッチオフ操作、フリック操作、他の方向へのスワイプ操作)を受け付ける。
次いで、ステップS105において、ゲーム進行部113は、解除位置を判断するとともに、当該解除位置に対応するショットのパワーを判断する。
次いで、ステップS106において、ゲーム進行部113は、移動オブジェクト40を指標オブジェクト50に向けて移動させる。
次いで、ステップS107において、ゲーム進行部113は、移動後の移動オブジェクト40が到達した指標オブジェクト50の到達指標51を判断する。ゲーム進行部113は、到達指標51に対応するボール31の軌道を判断する。
次いで、ステップS108において、ショットのパワーと到達指標51とに基づいてボール31の到達位置を特定する。
次いで、ステップS109において、ゲーム進行部113は、プレイヤキャラクタがショット動作する画像を表示部18に表示させる。また、ゲーム進行部113は、判断されたショットのパワーおよびボール31の軌道に応じてゲーム空間30内におけるボール31の位置を移動させる。
情報処理システム1は、ステップS100~S109のステップを、ショット毎に繰り返し実行する。
<マルチプレイ機能>
本実施形態のゲームは、例えば、ユーザ同士で対戦するマルチプレイ(以下、「マルチプレイゲーム」という。)が可能となっている。
ゲーム進行部113は、ユーザによるマルチプレイゲームを開始するための入力操作(例えば、ホーム画面における所定のボタンに対する入力操作等)に基づいてマルチプレイゲームを開始させる。
本実施形態では、マルチプレイゲームは、複数のユーザが参加可能なゲームであって、各ユーザが個人で勝敗を競う個人戦を行うものとなっている。また、本実施形態では、マルチプレイゲームには、4~8人のユーザが参加可能となっている。なお、マルチプレイゲームに参加可能な人数は、特に限定されるものでなく、また、固定であってもよく変動し得るものであってもよい。また、マルチプレイゲームは、複数のユーザが協力してプレイするゲーム等であってもよい。また、マルチプレイゲームは、複数のユーザがチームを組んで行うゲーム(例えば、チーム同士で対戦するゲームまたはチームで協力してプレイするゲーム等)であってもよい。
なお、マルチプレイゲームに際し、マルチプレイゲームに参加する他のユーザ(例えば、対戦相手や、チームを組む仲間等)は、ユーザが選択可能としてもよく、サーバ処理部212が複数のユーザの中から自動的に抽出するなどしてもよい。換言すると、マルチプレイゲームに参加するユーザを決定する処理(換言すると、マッチング)は、従来のゲームと同様とすることができる。本実施形態では、各ユーザは、自身のフレンドと一緒にマルチプレイゲームに参加することが可能となっている。具体的には、最大でマルチプレイゲームに参加するユーザのうちの半数を自身と自身のフレンドとにすることが可能となっている。なお、本実施形態においては、マルチプレイゲームは、個人戦であるため、フレンドと参加しても互いに敵同士となるが、フレンドとチームを組んで参加することが可能であってもよい。
なお、フレンドについては、従来のゲームと同様とすることができる。本実施形態のゲームでは、各ユーザは、他のユーザをフレンドとして登録することが可能となっている。例えば、第1ユーザが、第2ユーザに対してフレンド登録の申請を行ったことに基づいて、サーバ処理部212が、第2ユーザを第1ユーザのフレンドとして登録してもよい。このとき、第2ユーザの第1ユーザのフレンドとしての登録には、第2ユーザの承諾を必要としてもよい。なお、各申請やその承諾は、各ユーザが自身の端末装置10において所定の入力操作を行うことで実行できる。
マルチプレイゲームは、複数(例えば、3~6)のホールを回り、最終的なスコアを競い合うゲームとなっている。スコアの算出方法は特に限定されるものではないが、ゴルフにおける一般的な算出方法と同様とすることができる。例えば、規定打数に対する実際の打数の離れ具合でスコアを決めてもよい。具体的には、各ホールについて、実際の打数から規定打数を減算してスコアを求め、全ホールの合計のスコアを最終的なスコアとするなどしてもよい。換言すると、最終的なスコアは、実際の打数の総和から規定打数の総和を減算したものとしてもよい。例えば、第1ホールから第3ホールまでの3つのホールを回る場合において、第1ホールの規定打数が「3」、第2ホールの規定打数が「5」、第3ホールの規定打数が「4」、に設定されているものとする。このとき、あるユーザが第1ホールを4打(ボギー)で回り、第2ホールを3打(イーグル)で回り、第3ホールを4打(パー)で回った場合、「(4-3)+(3-5)+(4-4)=-1」を最終的なスコアとしてもよい。そして、スコアの値が低いユーザほど、スコアが良いとして順位が高いものとしてもよい。
なお、マルチプレイゲームの進行中において、ゲーム進行部113は、ユーザによるショット操作に基づいて、ショットが実行された回数(すなわち、実際の打数)をホール毎にカウントする。実際の打数のカウント値は、所定の記憶部(例えば、記憶部120)に記憶される。また、ユーザのショット操作には制限時間が設けられている。ゲーム進行部113は、ユーザによるショット操作(換言すると、移動オブジェクト40に対する操作)の受け付けを開始してから所定の制限時間内(例えば、1分以内)にショット操作が完了しなかった場合(換言すると、ショットが実行されなかった場合)、ボール31を移動させることなく実際の打数を「1」増加させる。また、各ホールには、制限打数が設定されており、そのホールにおける実際の打数が制限打数に達すると、ゲーム進行部113は、制限打数に達したユーザについてそのホールを制限打数で回ったものとみなしてそのホールのプレイを強制的に終了させ、次のホールのプレイを開始させる(なお、最終ホールの場合には、マルチプレイゲームを終了させる)。
ゲーム進行部113は、マルチプレイゲームに参加したユーザに対して、報酬を付与する。具体的には、ゲーム進行部113は、順位に応じて報酬を付与する。例えば、マルチプレイゲームに8人のユーザが参加した場合、ゲーム進行部113は、上位4人に入ったユーザに対して報酬を付与する。また、ゲーム進行部113は、順位が高いほど高い報酬を付与する。報酬は、所定のアイテムや所定のポイントや電子通貨やスキル等であってもよい。また、所定のポイントは、ユーザのランクの上昇に寄与するポイント(所謂経験値等を含む)等であってもよい。本実施形態では、報酬として、所定のポイントおよび所定のアイテムが付与され得る。なお、ランクとは、ユーザの習熟度を示すパラメータともいえ、ユーザ間での相対的な位置付けを示すパラメータともいえ、ユーザの強さを示すパラメータともいえる。ランクは、一般的なゲームにおいてレベルと呼ばれるもの等を含む。また、ここで、「報酬が高い」とは、得られる報酬の量が多い場合や、報酬の質が高い場合(例えば、より希少度の高いアイテムが付与される等)を含む。また、「報酬が高い」とは、低い場合における報酬が全くない場合を含む。なお、順位に応じてユーザに所定のポイントを付与し、ユーザの所有するポイントを上昇させる構成等において、順位によってはユーザの所有するポイントを減少させるなどしてもよい。換言すると、マルチプレイゲームの結果に応じてユーザのランクが上昇したり下降したりしてもよい。
マルチプレイゲームにおいて、各ユーザは自身のプレイヤキャラクタ33を操作してゲームを進行させる。具体的には、図6に例示したフローに従ってゲームが進行され、複数のホールを回った最終的なスコアが算出される。また、本実施形態においては、各ユーザが並行してプレイを行う。例えば、第1ユーザと第2ユーザとが参加するマルチプレイゲームにおいて、第1ユーザは、自身の端末装置10において、ボール31をショットするための操作(例えば、ショットする方向を決めるためのタッチ操作や、移動オブジェクト40に対するスワイプ操作等)を行いゲームを進行させる。また、第2ユーザは、自身の端末装置10において、ボール31をショットするための操作(例えば、ショットする方向を決めるためのタッチ操作や、移動オブジェクト40に対するスワイプ操作等)を行いゲームを進行させる。このとき、各ユーザの端末装置10には、他のユーザのショット操作に係る表示は表示されない。例えば、第1ユーザの端末装置10には、第2ユーザがショット操作をする様子(換言すると、第2ユーザの操作に基づいて移動オブジェクト40や指標オブジェクト50が動く表示)や、第2ユーザのプレイヤキャラクタ33がショット動作をする表示等は表示されない。なお、各ユーザの端末装置10において、他のユーザのショット操作に係る表示(例えば、ショット操作をする様子やプレイヤキャラクタ33がショット動作をする表示等)が表示可能となっていてもよい。
ここで、本実施形態のゲームにおいては、ユーザがマルチプレイゲームを終了した際(例えば、全てのホールを回り終えた際)に、他のユーザが未だマルチプレイゲームをプレイ中である状況が発生し得る。このような状況は、本実施形態のゲームのように、対戦相手と成績(例えば、スコアやタイム等)を競い合うゲームの他、他のキャラクタと協力して行うゲーム(例えば、協力してクエストを行うゲーム等)においても発生し得る。本実施形態のゲームでは、このように、ユーザがマルチプレイゲームを終了した際に、他のユーザが未だマルチプレイゲームをプレイ中であっても、マルチプレイゲームを終了したユーザは次のマルチプレイゲーム(換言すると、次の対戦)を開始することが可能となっている。換言すると、本実施形態のゲームでは、ユーザがマルチプレイゲームを終了した際に、他のユーザのプレイの結果(換言すると、スコア)が確定しておらず、マルチプレイゲームの最終結果(換言すると、各ユーザの順位等)が確定していない状態でも、当該他のユーザのプレイの結果が確定することを待たずに次のマルチプレイゲームを開始することが可能となっている。なお、以下では、先に実行されるマルチプレイゲームを第1ゲームともいい、第1ゲームの終了後、次に開始されるマルチプレイゲームを第2ゲームともいう。
ゲーム進行部113は、ユーザがマルチプレイゲーム(換言すると、第1ゲーム)を終了(例えば、クリア)すると、次のマルチプレイゲーム(換言すると、第2ゲーム)を開始するための入力操作(例えば、ホーム画面における所定のボタンに対する入力操作等)を受け付け、当該入力操作に基づいてマルチプレイゲームを開始させる。なお、第2ゲームの開始に係る処理は、第1ゲーム(換言すると、他のユーザが未だプレイ中のマルチプレイゲーム)の開始に係る処理と同様とすることができる。すなわち、ゲーム進行部113は、マルチプレイゲームの終了後、次のマルチプレイゲームに参加するユーザを決定し、次のマルチプレイゲームを開始させる。このような構成によれば、先にマルチプレイゲームを終えたユーザが、他のユーザの終了を待つことなく次のマルチプレイゲームを開始することができ、快適にゲームを行うことができる。また、他のユーザが先にマルチプレイゲームを終えた場合に、プレイ中のユーザは、早く終われせなければならないといったプレッシャーを感じることなく快適にゲームを行うことができる。なお、第2ゲームの開始に係る入力操作は、第1ゲームの開始に係る入力操作と異なるものであってもよい。また、ゲーム進行部113は、第1ユーザがマルチプレイゲームを終えたことに基づいて、当該第1ユーザの操作を要さずに自動的に次のマルチプレイゲームを開始させるなどしてもよい。また、ゲーム進行部113は、第1ユーザがマルチプレイゲームを終えたことに基づいて、ホーム画面を表示させ(換言すると、当該マルチプレイゲームの開始前に表示されていた画面に戻し)、ホーム画面における所定のボタンに対する入力操作等に基づいて次のマルチプレイゲームを開始させるなどしてもよい。
なお、第2ゲームは、第1ゲームに参加していたユーザとは異なるユーザが参加可能なゲームとなっている。換言すると、第2ゲームは、第1ゲームとは参加するメンバーを変えて行うことが可能なゲームとなっている。
なお、第2ゲームは、第1ゲームに参加していた他のユーザであって、所定の関係性を有する他のユーザと一緒に参加することが可能なゲームであってもよい。すなわち、第1ゲームに参加する複数のユーザに、第1ユーザと所定の関係性を有する第3ユーザが含まれる場合において、ゲーム進行部113は、第2ユーザが第1ゲームを終了していない状態において、第1ユーザと第3ユーザとが所定の関係性を有することに基づいて、第1ユーザを第3ユーザと一緒に第2ゲームに参加させてもよい。このような構成によれば、特定のユーザと続けてマルチプレイゲームに参加することが可能となる。
ここで、「第1ユーザと所定の関係性を有する第3ユーザ」とは、例えば、第1ユーザが第1ゲームに一緒に参加するユーザとして設定(換言すると、指定)したユーザであってもよい。すなわち、従来、フレンド等と事前に合流して一緒に対戦に参加することが可能なゲーム等が知られているが、第1ユーザと第3ユーザとは、このように事前に合流して第1ゲームに参加したという関係性を有するユーザ同士であってもよい。また、「第1ユーザと所定の関係性を有する第3ユーザ」とは、例えば、第1ユーザが第1ゲームのプレイ中において、次のゲームに一緒に参加するユーザとして設定(換言すると、指定)したユーザであってもよい。換言すると、ゲーム進行部113は、第1ユーザと、第1ユーザが予め設定した第3ユーザとを一緒に第2ゲームに参加させてもよい。
また、従来、フレンド等の他のユーザがプレイしているゲームやプレイしようとしているゲームに乱入することが可能なゲーム等が知られているが、第1ユーザと第3ユーザとは、このような乱入に基づいて一緒に第1ゲームに対戦に参加したという関係性を有するユーザ同士であってもよい。また、「第1ユーザと所定の関係性を有する第3ユーザ」とは、例えば、第1ユーザのフレンドであってもよい。例えば、ゲーム進行部113は、第1ゲームに参加する複数のユーザの中に第1ユーザのフレンドがいる場合に、第1ユーザとそのフレンドとを一緒に第2ゲームに参加させてもよい。このような構成において、各ユーザは、フレンドと同じマルチプレイゲームに参加した場合(例えば、偶然出会った場合等)に、次のマルチプレイゲームに一緒に参加させるように制御するか否かを予め設定しておくことが可能であってもよい。
また、従来、他のユーザに対して、メッセージやスタンプやエモート等を送信して交流可能なゲーム等が知られているが、第1ユーザと第3ユーザとは、このような交流に係るアクションについて所定の条件を満たした(例えば、相手に対して好意的な反応をした)ユーザ同士であってもよい。また、「第1ユーザと所定の関係性を有する第3ユーザ」とは、例えば、第1ゲームにおいて所定の成績を収めたユーザ同士や、第1ゲームにおいて相手の利となる所定の行動(例えば、協力して行うゲームにおけるアシスト行為等)を行ったユーザ同士等であってもよい。
ここで、ゲーム進行部113は、第1ユーザと第3ユーザとの一方が先に第1ゲームを終えた際に、他方が第1ゲームを終えるまでの間、当該一方を待機させ、当該他方が第1ゲームを終えてから、第1ユーザと第3ユーザとを第2ゲームに参加させてもよい。換言すると、第1ユーザと第3ユーザとの両方が第1ゲームを終えてから第2ゲームのマッチングが開始されてもよい。また、ゲーム進行部113は、第1ユーザと第3ユーザとの一方が先に第1ゲームを終えた際に、他方が第1ゲームを終えるのを待たずに、当該一方を第2ゲームに参加させ、当該他方が第1ゲームを終えると、当該他方を当該一方が参加している第2ゲームに参加(換言すると、合流)させてもよい。
なお、ゲーム進行部113は、例えば、マルチプレイゲーム(換言すると、第1ゲーム)の開始前において所定の設定画面を表示画面に表示させ、所定の設定画面が表示された状態において、これらの第1ユーザと第3ユーザとを一緒に第2ゲームに参加させるための処理に係る各設定についての入力操作を受け付け、当該入力操作に基づいて各設定を行ってもよい。
次に、マルチプレイゲームに係る各種表示について説明する。
図7は、マルチプレイゲームをプレイ中のユーザの端末装置10において表示部18に表示される画面の一例を示すものである。
各ユーザの端末装置10においては、表示制御部114は、ゲーム進行部113の指示に応じて、表示部18に他のユーザのプレイ状況(換言すると、現在の状況)を示す表示を表示させる。具体的には、ゲーム進行部113は、他のユーザのプレイ状況を通知するユーザインターフェースとしてのプレイ状況ウィンドウ61を表示部18に表示させる。プレイ状況ウィンドウ61は、移動オブジェクト40や指標オブジェクト50とともに表示部18に表示される。したがって、ユーザは、他のユーザのプレイ状況を確認しながらショット操作を行うことが可能となっている。なお、プレイ状況ウィンドウ61を表示させるか否かはユーザが選択可能となっていてもよい。
プレイ状況ウィンドウ61においては、マルチプレイゲームに参加する他のユーザがマルチプレイゲームを終了したか否かが表示される。具体的には、マルチプレイゲームをクリアしたユーザ(換言すると、全てのホールを回り終えたユーザ)について、当該ユーザがマルチプレイゲームをクリアしたことを示す表示(例えば、図7においてユーザを識別可能とする表示(例えば、ユーザ名やユーザのアイコン等の表示)とともに表示される「ホールアウト」の文字の表示)が表示され、これにより当該ユーザがマルチプレイゲームを終了したことが通知される。また、マルチプレイゲームをプレイ中のユーザについて、当該ユーザのプレイの進捗度を示す表示(例えば、図7においてユーザを識別可能とする表示とともに表示される「HOLE1」、「HOLE2」、「HOLE3」の文字の表示(換言すると、第1ホール~第3ホールのいずれのプレイ中であるかを示す表示))が表示される。また、マルチプレイゲームをリタイアしたユーザ(換言すると、クリアすることなく終了したユーザ)について、当該ユーザがマルチプレイゲームをリタイアしたことを示す表示(例えば、図7においてユーザを識別可能とする表示とともに表示される「リタイア」の文字の表示)が表示される。
なお、「マルチプレイゲームをクリアしたユーザ」とは、リタイアや脱落等することなく最後までプレイしたユーザともいえる。また、マルチプレイゲームをクリアしたユーザとは、他のユーザがゲームを終了することでゲームの結果(例えば、順位や報酬等)が確定するユーザともいえる。なお、リタイアしたユーザについては、他のユーザのプレイ内容(換言すると、プレイの結果)に関わらず、ゲームの結果(例えば、順位や報酬等)が確定してもよい。換言すると、例えば、第1ユーザが第1ゲームをリタイアした場合、ゲーム進行部113は、第2ユーザが第1ゲームを終了していない状態において、第1ユーザを第2ゲームに参加させることが可能であるとともに、第1ユーザが第1ゲームをリタイアしたタイミング(換言すると、第2ユーザが第1ゲームを終了していない状態)で第1ユーザに第1ゲームに係る報酬を付与したりしてもよい。また、この場合に、ゲーム進行部113は、第1ユーザが第2ゲームを開始した以降のタイミング(換言すると、第2ユーザが第1ゲームを終了した以降のタイミング)での第1ゲームの最終結果の第1ユーザへの通知を行わないこととしてもよい。
なお、第1ゲームをプレイ中のユーザの端末装置10において表示されるプレイ状況ウィンドウ61には、第1ゲームを先に終了した他のユーザの第1ゲームにおけるプレイ結果(例えば、成績(スコア)を示す文字の表示等)が表示され、当該プレイ結果が通知されてもよい。また、第1ゲームをプレイ中のユーザの端末装置10において表示されるプレイ状況ウィンドウ61には、第1ゲームを先に終了した他のユーザが第2ゲームを開始した場合に、当該他のユーザが第2ゲームを開始したことを示す表示(例えば、「第2ゲームプレイ中」等の文字の表示)が表示され、当該他のユーザが第2ゲームを開始したことが通知されてもよい。また、これらの各種表示は、プレイ状況ウィンドウ61とは別のユーザインターフェースに例えばポップアップ等により表示されてもよい。
また、各ユーザの端末装置10において、表示制御部114は、ゲーム進行部113の指示に応じて、表示部18にマルチプレイゲームの中間結果(換言すると、暫定結果)を表示させる。具体的には、ユーザが各ホールのプレイが終了する毎に、当該ユーザの端末装置10のゲーム進行部113は、中間結果を表示部18に表示させる。具体的には、ゲーム進行部113は、図8に示すように、中間結果として、マルチプレイゲームに参加している全ユーザの現在のスコアを表示部18に表示させる。なお、ゲーム進行部113は、中間結果として、マルチプレイゲームに参加している上位数名の現在のスコアを表示部18に表示させるなどしてもよい。すなわち、中間結果が表示される中間結果表示画面では、自身の現在のスコアおよび他のユーザの現在のスコアが把握可能となっている。また、中間結果表示画面では、自身や他のユーザの暫定的な順位が把握可能となっている。
ここで、本実施形態においては、ユーザがマルチプレイゲームをクリアした際(換言すると、全てのホールを回り終えた際)に、他のユーザが未だマルチプレイゲームをプレイ中である状況が発生し得る。このように他のユーザが未だマルチプレイゲームをプレイ中の場合、マルチプレイゲームをクリアしたユーザの端末装置10のゲーム進行部113は、中間結果を表示部18に表示させ、マルチプレイゲームをクリアしたユーザに中間結果を通知してもよい。
また、各ユーザの端末装置10において、表示制御部114は、ゲーム進行部113の指示に応じて、表示部18にマルチプレイゲームの最終結果を表示させる。具体的には、ユーザがマルチプレイゲームをクリアしたことに基づいて、当該ユーザの端末装置10のゲーム進行部113は、最終結果を表示部18に表示させる。具体的には、ゲーム進行部113は、最終結果として、マルチプレイゲームに参加したユーザの順位を表示部18に表示させる。換言すると、ゲーム進行部113は、最終結果として、マルチプレイゲームに参加した各ユーザの最終的な成績(換言すると、スコア、プレイ結果)を比較した結果を表示部18に表示させる。本実施形態においては、最終結果が表示される最終結果表示画面では、図9に示すように、マルチプレイゲームに参加したユーザのうち、上位数名(例えば4位まで、換言すると複数のユーザ)を表彰する表示が表示され、少なくとも上位数名についての順位が把握可能となっている。なお、最終結果表示画面では、マルチプレイゲームに参加した全ユーザの順位(換言すると、自身の順位)が把握可能となっていてもよい。また、最終結果表示画面では、自身の最終的なスコアや他のユーザの最終的なスコアが明示されてもよい。換言すると、最終結果表示画面では、自身のプレイ結果および他のユーザのプレイ結果に係る表示がされる。
最終結果の表示タイミングは、例えば、以下のようにすることができる。
すなわち、第1ユーザの端末装置10のゲーム進行部113は、第1ユーザが第1ゲームを終了した時点において、第1ゲームに参加した全てのユーザが第1ゲームを終了していた場合、第1ユーザが第1ゲームを終了したタイミングで(換言すると、第2ゲームが開始されるよりも前に)第1ゲームの最終結果を表示部18に表示させ、最終結果を第1ユーザに通知してもよい。
また、第1ユーザの端末装置10のゲーム進行部113は、第2ユーザが第1ゲームを終了していない状態において、第1ユーザが第1ゲームを終了し第2ゲームを開始した場合、第1ゲームに参加する全てのユーザが第1ゲームを終了した後であって第1ユーザが第2ゲームを開始した以降の所定のタイミングで、第1ゲームの最終結果を表示部18に表示させ、最終結果を第1ユーザに通知してもよい。
具体的には、第2ユーザが第1ゲームをプレイしている最中に第1ユーザが第2ゲームを開始した場合において、第1ユーザが第2ゲームをプレイしている最中に第1ゲームに参加した全てのユーザが第1ゲームを終了した場合に、第1ユーザの端末装置10のゲーム進行部113は、第1ユーザが第2ゲームを終了したタイミングで、第1ゲームの最終結果を第1ユーザに通知してもよい。また、ゲーム進行部113は、第1ユーザが参加した過去のゲームについて、所定回数(例えば、5回)分のゲームの最終結果が溜まったことに基づいて(例えば、溜まった後所定のゲームが終了したタイミングで)、当該所定回数分のゲームの最終結果を通知するなどしてもよい。すなわち、例えば、ゲーム進行部113は、第2ユーザが第1ゲームをプレイしている最中に第1ユーザが第2ゲームを開始した場合に、その後第1ゲームに参加した全てのユーザが第1ゲームを終了するとともに、第1ゲームを含む所定回数(例えば、5回)分のゲームの最終結果が溜まったことに基づいて、所定のタイミング(例えば、溜まった際にプレイ中であったゲームが終了したタイミング等)で、第1ゲームの最終結果を含む当該所定回数分のゲームの最終結果を第1ユーザに通知するなどしてもよい。
また、前述のように、本実施形態においては、マルチプレイゲームに参加したユーザに対して報酬が付与される。そして、報酬の付与により、ユーザの状態(換言すると、属性)が変化する(換言すると、状態が更新される)。例えば、報酬としての所定のポイントが付与されることにより、ユーザの所有するポイントが増加したり、ユーザのランクが上昇したりする。あるいは、報酬としての所定のアイテムが付与されることにより、ユーザが所持するアイテムが増加したりする。すなわち、本実施形態においては、報酬の付与により、マルチプレイゲームの結果がユーザに反映され、ユーザの状態が変化する。
マルチプレイゲームの結果が反映されるタイミング(換言すると、報酬の付与タイミング)は、例えば、以下のようにすることができる。
すなわち、ゲーム進行部113は、第1ユーザが第1ゲームを終了した時点において、第1ゲームに参加した全てのユーザが第1ゲームを終了していた場合、第1ユーザが第1ゲームを終了したタイミングで、第1ゲームの最終結果を第1ユーザに反映させてもよい。具体的には、このような場合、ゲーム進行部113は、第1ユーザが第1ゲームを終了したタイミングで、第1ユーザに対して、第1ゲームの順位に応じた報酬を付与してもよい。
また、ゲーム進行部113は、第1ユーザが第1ゲームの終了後第2ゲームをプレイしている最中に、第1ゲームに参加する全てのユーザが第1ゲームを終了した場合に、第1ユーザが第2ゲームがプレイしている最中に、第1ゲームの結果を第1ユーザに反映させてもよい。具体的には、このような場合、ゲーム進行部113は、第1ユーザが第2ゲームをプレイしている最中に、第1ユーザに対して、第1ゲームの順位に応じた報酬を付与してもよい。例えば、報酬がランクの上昇に寄与するポイントの場合、第2ゲームのプレイ中に第1ユーザに当該ポイントが付与され第1ユーザのランクが上昇し得ることとしてもよい。また、例えば、報酬がアイテムや電子通貨やスキル等の場合、第2ゲームのプレイ中に第1ユーザに報酬としてのアイテムや電子通貨やスキル等が付与され、付与された報酬を第1ユーザが第2ゲームにおいて使用し得ることとしてもよい。具体的には、第1ユーザは、付与された報酬としてのアイテム(例えば、装備品)を、第2ゲームにおいてプレイヤキャラクタ33に適用する(例えば、装備させる)こと等が可能となっていてもよい。また、第1ユーザは、付与された報酬としてのプレイヤキャラクタ33のスキルを、第2ゲームにおいてプレイヤキャラクタ33に発動させること等が可能となっていてもよい。
このように、第1ユーザが第2ゲームがプレイしている最中に、第1ゲームの結果を第1ユーザに反映させる構成において、第1ユーザの端末装置10のゲーム進行部113は、第1ゲームの結果が反映されたことを示す表示を、第1ユーザが第2ゲームがプレイしている最中に(例えば、ショット操作が可能な状況等において)表示部18に表示させてもよい。例えば、ゲーム進行部113は、第1ゲームの最終結果に応じて第1ユーザに付与される報酬を、第1ユーザが第2ゲームがプレイしている最中に、ポップアップ等により表示部18に表示させ、付与される報酬を第1ユーザに通知してもよい。また、例えば、ユーザがマルチプレイゲームをプレイしている最中に、自身のランクが表示部18に表示される構成において、第1ユーザの端末装置10のゲーム進行部113は、第1ユーザが第2ゲームがプレイしている最中に、第1ゲームの最終結果に応じて第1ユーザのランク(換言すると、表示部18に表示されるランク)を更新し得ることとしてもよい。また、例えば、第1ユーザの端末装置10のゲーム進行部113は、第2ゲームをプレイ中の第1ユーザによる所定の入力操作に基づいて、第1ゲームの結果が反映されたことを示す表示を表示部18に表示させてもよい。例えば、報酬の付与によりプレイヤキャラクタ33のステータスが変化する構成において、ゲーム進行部113は、プレイヤキャラクタ33のステータスを表示させる画面を開くための入力操作に基づいて、第1ゲームの最終結果に応じて更新されたステータスを表示する当該画面を表示部18に表示させてもよい。
また、ゲーム進行部113は、第1ユーザが第1ゲームの終了後第2ゲームをプレイしている最中に、第1ゲームに参加する全てのユーザが第1ゲームを終了した場合に、第1ユーザが第2ゲームを終了した後の所定のタイミングで、第1ゲームの結果を第1ユーザに反映させてもよい。例えば、第1ユーザが第2ゲームをプレイしている最中に、第1ゲームに参加した全てのユーザが第1ゲームを終了した場合に、ゲーム進行部113は、第1ユーザが第2ゲームを終了したタイミングで、第1ユーザに対して、第1ゲームの順位に応じた報酬を付与してもよい。ここで、第1ユーザが第2ゲームを終了した時点において、第2ゲームに参加した全てのユーザが第2ゲームを終了していた場合、ゲーム進行部113は、第1ユーザが第2ゲームを終了したタイミングで、第1ユーザに対して、第1ゲームの順位に応じた報酬と第2ゲームの順位に応じた報酬との両方を付与してもよい。また、所定回数(例えば、5回)分のゲームの最終結果が溜まったことに基づいて(例えば、溜まった後所定のゲームが終了したタイミングで)、当該所定回数分のゲームの最終結果を通知する前述の構成等において、第1ユーザが第2ゲームをプレイしている最中に第1ゲームに参加する全てのユーザが第1ゲームを終了した場合に、ゲーム進行部113は、第1ゲームを含む所定回数(例えば、5回)分のゲームの最終結果が溜まったことに基づいて、所定のタイミング(例えば、溜まった際にプレイ中であったゲームが終了したタイミング等)で、第1ゲームの最終結果を含む当該所定回数分のゲームの最終結果を第1ユーザに反映させるなどしてもよい。
換言すると、本実施形態では、1のユーザに対して複数回分のゲームの結果が同じタイミングで反映され得ることとしてもよい。なお、複数回分のゲームの結果が同じタイミングで反映される際に、ゲーム進行部113は、各ゲームの結果を個別に反映させていくこととしてもよく、一括して反映させることとしてもよい。例えば、第1ゲームの最終結果と第2ゲームの最終結果とを、第2ゲームが終了したタイミングで反映させる際に、ゲーム進行部113は、まず一方のゲーム(例えば、第1ゲーム)の最終結果に応じた報酬の付与を実行し(換言すると、当該報酬の付与に係る画面を表示部18に表示させ)、その後、他方のゲーム(例えば、第2ゲーム)の最終結果に応じた報酬の付与を実行する(換言すると、当該報酬の付与に係る画面を表示部18に表示させる)こととしてもよい。また、例えば、第1ゲームの最終結果と第2ゲームの最終結果とを、第2ゲームが終了したタイミングで反映させる際に、ゲーム進行部113は、一方のゲーム(例えば、第1ゲーム)の最終結果に応じた報酬と他方のゲーム(例えば、第2ゲーム)の最終結果に応じた報酬とをまとめて付与(例えば、第1ゲームの結果に応じて付与される所定のポイントと第2ゲームの結果に応じて付与される所定のポイントとの合計を付与する等)してもよい。換言すると、ゲーム進行部113は、第1ゲームの報酬と第2ゲームの報酬とがまとめて付与される画面を表示部18に表示させてもよい。
また、ゲーム進行部113は、第2ユーザが第1ゲームを終了していない状態において、第1ゲームの暫定結果を第1ゲームを終了した第1ユーザに反映させてもよい。そして、ゲーム進行部113は、第1ゲームを終了した第1ユーザを、第2ユーザが第1ゲームを終了していない状態において、第1ゲームの暫定結果が反映された状態で第2ゲームに参加させることが可能であってもよい。例えば、ゲーム進行部113は、第1ユーザが第1ゲームを終了した際に、第1ゲームをプレイする各ユーザについてスコアを算出して第1ユーザの暫定的な順位を求め、当該暫定的な順位に応じた報酬を第1ユーザに付与してもよい。例えば、第1ホールの規定打数が「3」、第2ホールの規定打数が「5」、第3ホールの規定打数が「4」に設定されており、第1ユーザが第1ホールを4打(ボギー)で回り、第2ホールを3打(イーグル)で回り、第3ホールを4打(パー)で回った場合、第1ユーザの最終的なスコアを前述のように「(4-3)+(3-5)+(4-4)=-1」としてもよい。この場合において、第2ユーザが第1ホールを3打(パー)で回り、第2ホールを5打(パー)で回り、第3ホールをプレイ中の場合、第2ユーザの暫定的なスコアを「(3-3)+(5-5)=0」としてもよい。そして、ゲーム進行部113は、このように第1ゲームを終了したユーザについては最終的なスコアを求め、第1ゲームをプレイ中のユーザについては暫定的なスコアを求め、各ユーザのスコアを比較することにより、第1ユーザの暫定的な順位を求め、当該暫定的な順位に応じた報酬を第1ユーザに付与してもよい。なお、暫定結果の求め方については特に限定されるものでなく、ゲーム進行部113は、所定の規則に従って暫定結果を求められばよい。例えば、ゲーム進行部113は、第1ユーザが第1ゲームを終了したときの各ユーザの第1ゲームの進行状況(スコア等を含む)に基づいて第1ユーザの最終的な順位等を予測して暫定結果として使用してもよい。また、例えば、第1ゲームを終了した早さ等に基づいて暫定結果を求めてもよい。なお、暫定結果(例えば、暫定的な順位)は、例えば、ユーザのプレイ中(換言すると、ショット操作が可能な状況等)において表示部18に表示されていてもよい。例えば、ゲーム進行部113は、移動オブジェクト40や指標オブジェクト50とともに表示されるプレイ状況ウィンドウ61上に暫定結果を表示させてもよい。このような構成によれば、ユーザは、暫定的な順位等を確認しながらショット操作を行うことができるとともに、今ゲームを終えた場合に暫定的な順位がどのぐらいになるのかを把握することが可能となる。
また、ゲーム進行部113は、第1ゲームに参加する全てのユーザが第1ゲームを終了すると、第1ゲームの暫定結果が反映された状態の第1ユーザについて、第1ゲームの最終結果が反映された状態に変化させてもよい。例えば、ゲーム進行部113は、第1ゲームに参加する全てのユーザが第1ゲームを終了すると、各ユーザの最終的なスコアに基づいて第1ユーザの最終的な順位を決定し、当該最終的な順位に応じた報酬を第1ユーザに付与してもよい。具体的には、例えば、最終的な順位が1位の場合には所定のポイントが「100」付与され、2位の場合には所定のポイントが「50」付与され、3位の場合には所定のポイントが「30」付与され、4位の場合には所定のポイントが「10」付与されることとする。また、暫定的な順位が1位の場合には所定のポイントが「100」付与され、2位の場合には所定のポイントが「50」付与され、3位の場合には所定のポイントが「30」付与され、4位の場合には所定のポイントが「10」付与されることとする。この場合に、ゲーム進行部113は、第1ユーザの暫定的な順位が3位である場合には、第1ユーザに所定のポイントを「30」付与し、その後第1ユーザの最終的な順位が1位となった場合には、所定のポイントを追加で「70」付与するなどしてもよい。また、例えば、最終的な結果を反映させる際に、暫定的な結果の反映により変化したユーザの状態を一度反映前の状態に戻し(換言すると、暫定的な結果の反映を解消し)、最終的な結果を反映させるなどしてもよい。なお、暫定的な結果に応じて付与される報酬と最終的な結果に応じた付与される報酬とが一致していなくてもよい(例えば、同一の順位に対応するポイント数が同一でなくてもよい)。また、暫定的な結果に応じて付与される報酬と最終的な結果に応じて付与される報酬とが異なる種類の報酬等(例えば、一方が所定のアイテムで他方が所定のポイントなど)であってもよい。
また、ゲーム進行部113は、第1ゲームを終了した第1ユーザを、第2ユーザが第1ゲームを終了していない状態において、第2ゲームに参加させる場合に、第1ユーザを、第1ゲームの結果が反映される前の状態で前記第2ゲームに参加させてもよい。換言すると、第1ゲームを全てのユーザが終了していない場合に、ゲーム進行部113は、第1ゲームを終了した第1ユーザに報酬を付与することなく、第1ユーザを第1ゲーム開始時と同じ状態で第2ゲームに参加させてもよい。
なお、第1ゲームと第2ゲームとを少なくとも含む複数のマルチプレイゲームの結果に応じて所定の順位付けがされてもよい。例えば、第1ゲームと第2ゲームとを、所定の大会を構成する対戦としてもよい。例えば、第1ゲームと第2ゲームとを、リーグ戦を構成する対戦の一部とした場合に、第1ゲームを先に終えたユーザについて、他のユーザが第1ゲームを終えるのを待たずに第2ゲームを開始させることで、リーグ戦を効率よく消化していくことが可能となる。また、例えば、第1ゲームと第2ゲームとを、勝ち残り式のトーナメント戦における第1回戦と第2回戦とした場合に、第1ゲームを先に終えたユーザについて、他のユーザが第1ゲームを終えるのを待たずに第2ゲームを開始させることで、トーナメント戦を効率よく消化していくことが可能となる。
なお、マルチプレイゲームにおいては、ユーザが、自身の使用(換言すると、操作)するキャラクタ(すなわち、プレイヤキャラクタ33)を複数種類のキャラクタ(具体的には、見た目や性能等の異なる複数種類のキャラクタ)の中から選択可能となっていてもよい。そして、ゲーム進行部113は、第1ゲームと第2ゲームとでユーザが使用するキャラクタを当該ユーザの操作に基づいて変更可能であってもよい。また、ゲーム進行部113は、第1ゲームや第2ゲームのプレイ中において(例えば、ホール毎に)ユーザが使用するキャラクタを当該ユーザの操作に基づいて変更可能であってもよい。
なお、マルチプレイゲームにおいては、ユーザが、自身のプレイヤキャラクタ33に適用するアイテム(例えば、装備させるアイテム)を複数種類のアイテムの中から選択可能となっていてもよい。そして、ゲーム進行部113は、第1ゲームと第2ゲームとで、プレイヤキャラクタ33に適用するアイテムをユーザの操作に基づいて変更可能であってもよい。また、ゲーム進行部113は、第1ゲームや第2ゲームのプレイ中において(例えば、ホール毎に)、プレイヤキャラクタ33に適用するアイテムをユーザの操作に基づいて変更可能であってもよい。
すなわち、第2ゲームでは、ユーザは、第1ゲームで利用していたオブジェクトとは異なるオブジェクト(例えば、異なるキャラクタ、あるいは異なる装備品等)を利用して参加可能であってもよい。
次に、マルチプレイゲームの終了および開始に係る処理の一例について、図10を参照しながら説明する。なお、ここでは、第1ユーザが第1ゲームに参加後第2ゲームに参加し、第2ゲームの参加後第3ゲームに参加する場合を例に説明する。
ゲーム進行部113は、マルチプレイゲームの進行中において、第1ユーザがマルチプレイゲーム(例えば、第2ゲーム)の終了条件(換言すると、クリア条件)を満たしたか否か判定する(ステップS200)。例えば、ゲーム進行部113は、最終ホールにおいて第1ユーザがカップ32にボールをカップインさせると、マルチプレイゲームの終了条件を満たした(換言すると、クリアした)と判定する。
ステップS200でYESの場合、ゲーム進行部113は、マルチプレイゲームの終了条件を満たした第1ユーザについて、マルチプレイゲームを終了させる(ステップS201)。一方、ステップS200でNOの場合、ゲーム進行部113は、第1ユーザについて、マルチプレイゲームを続行させる。
次いで、ゲーム進行部113は、第1ユーザがマルチプレイゲーム(例えば、第2ゲーム)を終了すると、今終了したマルチプレイゲームよりも前に第1ユーザが参加していたマルチプレイゲームであって、今終了したマルチプレイゲームのプレイ中に全ユーザがプレイを終了したマルチプレイゲーム(例えば、第1ゲーム)があるか否か判定する(ステップS202)。
ステップS202でYESの場合、ゲーム進行部113は、今終了したマルチプレイゲームのプレイ中に全ユーザがプレイを終了したマルチプレイゲーム(例えば、第1ゲーム)の最終結果を表示部18に表示させ、最終結果を第1ユーザに通知する(ステップS203)。また、ゲーム進行部113は、今終了したマルチプレイゲームのプレイ中に全ユーザがプレイを終了したマルチプレイゲーム(例えば、第1ゲーム)の最終結果に応じた報酬を第1ユーザに付与する(ステップS204)。なお、ステップS202でNOの場合、ゲーム進行部113は、今終了したマルチプレイゲームよりも前に第1ユーザが参加していたマルチプレイゲームの最終結果の第1ユーザへの通知や、当該最終結果に応じた報酬の付与を少なくともこのタイミングでは行わない。
次いで、ゲーム進行部113は、今終了したマルチプレイゲーム(例えば、第2ゲーム)を、当該マルチプレイゲームに参加した全ユーザが終了済か否か判定する(ステップS205)。
ステップS205でYESの場合、ゲーム進行部113は、今終了したマルチプレイゲーム(例えば、第2ゲーム)の最終結果を表示部18に表示させ、最終結果を第1ユーザに通知する(ステップS206)。また、ゲーム進行部113は、今終了したマルチプレイゲーム(例えば、第2ゲーム)の最終結果に応じた報酬を第1ユーザに付与する(ステップS207)。なお、ステップS205でNOの場合、ゲーム進行部113は、今終了したマルチプレイゲームの最終結果の第1ユーザへの通知や、当該最終結果に応じた報酬の付与を少なくともこのタイミングでは行わない。
次いで、ゲーム進行部113は、第1ユーザによる次のマルチプレイゲーム(例えば、第3ゲーム)の開始に係る操作を受け付ける(ステップS208)。そして、ゲーム進行部113は、第1ユーザによる次のマルチプレイゲームの開始に係る操作に基づいて、次のマルチプレイゲームを開始させる。
なお、本実施形態に係る構成は、ゴルフゲーム等の各種スポーツゲームを含むいずれの種類のゲームに適用されてもよい。例えば、GvG(Guild Versus Guild)ゲームやFPS(First Person Shooter)ゲーム等のユーザ同士が対戦するゲームに適用することもできる。また、ユーザ同士が協力してプレイするゲーム(例えば、アクションゲームやロールプレイングゲーム等)に適用することもできる。
なお、本発明は、上述した実施形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変形して実施できる。本発明はその発明の範囲内において、各構成要素の自由な組み合わせ、任意の構成要素の変形、または任意の構成要素の省略等が可能である。また、本明細書において説明した処理の流れはあくまで一例であり、各処理の順序や構成は異なるものであってもよい。また、フローチャートに示した各種判定処理等の各処理は存在しないものがあってもよい。換言すると、処理の流れや具体的な判定処理等は本明細書に例示したものと異なっていてもよい。
<付記>
以上の実施形態で説明した事項は、以下の付記のようにも記載され得る。
(付記1)
コンピュータを、
第1ユーザと第2ユーザとを少なくとも含む複数のユーザが参加するマルチプレイ型の第1ゲームを終了した前記第1ユーザを、前記第2ユーザが前記第1ゲームを終了していない状態において、マルチプレイ型の第2ゲームに参加させることが可能な制御手段(例えば、ゲーム進行部113)として機能させる
プログラム。
このような構成によれば、先にマルチプレイゲームを終えたユーザが、他のユーザの終了を待つことなく次のマルチプレイゲームを開始することができ、快適にゲームを行うことができる。また、他のユーザが先にマルチプレイゲームを終えた場合に、プレイ中のユーザは、早く終われせなければならないといったプレッシャーを感じることなく快適にゲームを行うことができる。
(付記2)
前記制御手段は、前記第1ゲームを終了した前記第1ユーザを、前記第2ユーザが前記第1ゲームを終了していない状態において、前記第2ゲームに参加させる場合に、前記第1ユーザを、前記第1ゲームの結果が反映される前の状態で前記第2ゲームに参加させる
付記1に記載のプログラム。
このような構成によれば、第1ゲームの結果を第1ゲームに反映させることなく第2ゲームを開始させることができるため、第2ゲームをテンポよく開始させることが可能となる。
(付記3)
コンピュータを、
前記第1ユーザが前記第1ゲームの終了後前記第2ゲームをプレイしている最中に、前記第1ゲームに参加する他のユーザが前記第1ゲームを終了した場合に、前記第1ユーザが前記第2ゲームをプレイしている最中に、前記第1ゲームの最終結果を前記第1ユーザに反映させる反映手段(例えば、ゲーム進行部113)として機能させる
付記1に記載のプログラム。
このような構成によれば、第1ゲームの最終結果を次のゲームを開始してしまっているユーザに対して即座に反映させることが可能となる。
(付記4)
コンピュータを、
前記第1ユーザが前記第1ゲームの終了後前記第2ゲームをプレイしている最中に、前記第1ゲームに参加する他のユーザが前記第1ゲームを終了した場合に、前記第1ユーザが前記第2ゲームを終了した後の所定のタイミングで、前記第1ゲームの最終結果を前記第1ユーザに反映させる反映手段(例えば、ゲーム進行部113)として機能させ、
前記第1ゲームの最終結果と前記第2ゲームの最終結果とが同じタイミングで前記第1ユーザに反映され得る
付記1に記載のプログラム。
このような構成によれば、ゲームをプレイしている最中に前のゲームの結果が反映されることにより、ゲームのテンポが悪化してしまったり、ゲームの途中でユーザの感覚が変わってしまうことなどを防止できる。
(付記5)
コンピュータを、
前記第2ユーザが前記第1ゲームを終了していない状態において、前記第1ゲームの暫定結果を前記第1ゲームを終了した前記第1ユーザに反映させる反映手段(例えば、ゲーム進行部113)として機能させ、
前記制御手段は、前記第1ゲームを終了した前記第1ユーザを、前記第2ユーザが前記第1ゲームを終了していない状態において、前記第1ゲームの暫定結果が反映された状態で前記第2ゲームに参加させることが可能な
付記1に記載のプログラム。
このような構成によれば、先にマルチプレイゲームを終えたユーザに対して、他のユーザの終了を待つことなくマルチプレイゲームの結果を反映させることが可能となり、プレイの結果の反映とテンポのよい進行とを両立することができる。
(付記6)
前記反映手段は、前記第1ゲームに参加する他のユーザが前記第1ゲームを終了すると、前記第1ゲームの暫定結果が反映された状態の前記第1ユーザについて、前記第1ゲームの最終結果が反映された状態に変化させる
付記5に記載のプログラム。
このような構成によれば、プレイの結果の反映とテンポのよい進行とを両立しつつも、プレイ結果の反映の精度が低下することを防止できる。
(付記7)
前記第2ゲームは、前記第1ゲームに参加していなかったユーザが参加可能なゲームである
付記1に記載のプログラム。
このような構成によれば、先にマルチプレイゲームを終えたユーザが、他のユーザの終了を待つことなく、別のユーザとのマルチプレイゲームを開始することができ、様々なユーザと次々にゲームを行うことが可能となる。
(付記8)
前記第2ゲームでは、前記第1ユーザは、前記第1ゲームで利用していたオブジェクトとは異なるオブジェクトを利用してゲームに参加可能である
付記1に記載のプログラム。
このような構成によれば、ゲームの消化速度を速めつつも、ユーザがゲームを単調に感じてしまうことを防止できる。
(付記9)
コンピュータを、
前記第1ゲームを先に終了したユーザを、前記第1ゲームをプレイ中の他のユーザに通知する通知手段(例えば、ゲーム進行部113)として機能させる
付記1に記載のプログラム。
このような構成によれば、マルチプレイゲームから他のユーザが抜けたことをマルチプレイゲームの参加者に気付かせることができる。
(付記10)
コンピュータを、
前記第1ゲームを先に終了し前記第2ゲームを開始したユーザを、前記第1ゲームをプレイ中の他のユーザに通知する通知手段(例えば、ゲーム進行部113)として機能させる
付記1に記載のプログラム。
このような構成によれば、マルチプレイゲームから抜けた他のユーザのその後の動向をユーザに知らせることができる。
(付記11)
コンピュータを、
前記第2ユーザが前記第1ゲームを終了していない状態において前記第1ゲームを終了し前記第2ゲームを開始した前記第1ユーザに対して、前記第1ゲームに参加する全てのユーザが前記第1ゲームを終了した後であって前記第1ユーザが前記第2ゲームを開始した以降の所定のタイミングで、前記第1ゲームの最終結果を通知する通知手段(例えば、ゲーム進行部113)として機能させる
付記1に記載のプログラム。
このような構成によれば、先にマルチプレイゲームを終えたユーザが、他のユーザの終了を待つことなく次のマルチプレイゲームを開始することを可能としつつも、次のマルチプレイゲームを開始させてしまったユーザが前のマルチプレイゲームの結果を認識できるようにすることができる。
(付記12)
前記第1ゲームに参加する複数のユーザには、前記第1ユーザと所定の関係性を有する第3ユーザが含まれ、
前記制御手段は、前記第2ユーザが前記第1ゲームを終了していない状態において、前記第1ユーザと前記第3ユーザとが前記所定の関係性を有することに基づいて、前記第1ユーザを前記第3ユーザと一緒に前記第2ゲームに参加させることが可能な
付記1に記載のプログラム。
このような構成によれば、先にマルチプレイゲームを終えたユーザが、他のユーザの終了を待つことなく次のマルチプレイゲームを開始することを可能としつつも、特定のユーザについては続けて一緒にマルチプレイゲームに参加できるようにすることができる。
(付記13)
前記第1ゲームの終了とは、前記第1ゲームのクリアである
付記1~12のいずれか1つに記載のプログラム。
このような構成によれば、マルチプレイゲームを速くクリアしたユーザが、他のユーザの終了を待つことなく次のマルチプレイゲームを開始することができ、各自が自身のペースでマルチプレイゲームを行うことが可能となる。
(付記14)
第1ユーザと第2ユーザとを少なくとも含む複数のユーザが参加するマルチプレイ型の第1ゲームを終了した前記第1ユーザを、前記第2ユーザが前記第1ゲームを終了していない状態において、マルチプレイ型の第2ゲームに参加させることが可能な制御手段(例えば、ゲーム進行部113)を備える
情報処理システム。
このような構成によれば、付記1に記載のプログラムと同様の作用効果を奏することができる。
(付記15)
コンピュータが、
第1ユーザと第2ユーザとを少なくとも含む複数のユーザが参加するマルチプレイ型の第1ゲームを終了した前記第1ユーザを、前記第2ユーザが前記第1ゲームを終了していない状態において、マルチプレイ型の第2ゲームに参加させる
情報処理方法。
このような構成によれば、付記1に記載のプログラムと同様の作用効果を奏することができる。