以下では、本発明の実施形態について説明する。なお以下に説明する本実施形態は、特許請求の範囲に記載された本発明の内容を不当に限定するものではない。また本実施形態で説明される構成の全てが、本発明の必須構成要件であるとは限らない。
1.情報処理システムの構成
図1は、本実施形態の情報処理システム10の構成を示す概略ブロック図である。図1に示すように情報処理システム10では、サーバー装置12(情報処理装置)と複数の端末装置14(情報処理装置)が、インターネット、携帯電話網、LAN、WANなどのネットワーク16により接続されており、いわゆるクライアント・サーバー方式の通信システムが構成されている。そして複数の端末装置14のそれぞれは、ネットワーク16を介してサーバー装置12と互いに通信を行って種々の情報を送受信したり、ネットワーク16およびサーバー装置12を介して他の端末装置14と互いに通信を行って種々の情報を送受信したりする。
サーバー装置12は、CPU等のプロセッサー、ROMやRAM等の主記憶装置、ハードディスク等の外部記憶装置、キーボード等の入力装置、液晶ディスプレイ等の表示装置、通信装置等を備えている。そしてサーバー装置12では、CPUが、主記憶装置に記憶されているプログラムや、外部記憶装置から主記憶装置にロードされたプログラムに従って各種の処理を実行し、通信装置によって端末装置14からの情報を受信したり、端末装置14に情報を送信したりする。
端末装置14は、スマートフォン、タブレット、パーソナルコンピューター、携帯ゲーム機、店舗や家庭に設置される据え置きゲーム機など種々の形態の情報処理装置とすることができ、これらもCPU等のプロセッサー、ROMやRAM等の主記憶装置、フラッシュメモリ、ハードディスク等の外部記憶装置、タッチパネルやキーボード、マイク等の入力装置、液晶ディスプレイや有機ELディスプレイ等の表示装置、スピーカー等の音出力装置、通信装置等を備えている。そして端末装置14でも、CPUが、主記憶装置に記憶されているプログラムや、外部記憶装置から主記憶装置にロードされたプログラムに従って各種の処理を実行し、通信装置によってサーバー装置12からの情報を受信したり、サーバー装置12や他の端末装置14に情報を送信したりする。
図2は、本実施形態のサーバー装置12の機能を示す機能ブロック図である。図2に示すように、本実施形態のサーバー装置12は、サーバー情報記憶媒体20、サーバー記憶部30、サーバー通信部36、サーバー情報処理部40を含む。なお、図2の構成要素(各部)の一部を省略した構成としてもよい。
サーバー情報記憶媒体20は、サーバー情報処理部40やサーバー通信部36が各種の処理を行うためのプログラムやデータなどを格納するものであり、その機能は、フラッシュメモリ、ハードディスク、光ディスク(DVD、BD)などにより実現できる。すなわちサーバー情報記憶媒体20には、本実施形態の各部としてコンピューターを機能させるためのプログラム(各部の処理をコンピューターに実行させるためのプログラム)が記憶されている。
サーバー記憶部30は、サーバー情報処理部40やサーバー通信部36のワーク領域となるものであり、その機能はRAM(メインメモリ)や、VRAM(ビデオメモリ)などにより実現できる。詳細にはサーバー記憶部30は、サーバー情報記憶媒体20からプログラムやデータが読み込まれる主記憶部32を含む。
サーバー通信部36は、外部ネットワーク(例えば他のサーバー装置12や端末装置14)との間で通信を行うための各種制御を行うものであり、その機能は、各種プロセッサー(CPU(メインプロセッサー)、DSP等)、または通信用ASICなどのハードウェアや、プログラムなどにより実現できる。
サーバー情報処理部40は、サーバー通信部36が受信した受信データや、サーバー記憶部30の各種プログラムやデータなどに基づいて、ゲーム処理などの各種処理を、主記憶部32をワーク領域として行うものであり、その機能は、各種プロセッサー、ASICなどのハードウェアや、プログラムにより実現できる。そしてサーバー情報処理部40は、サーバーゲーム処理部41、サーバー通信制御部42を含む。
サーバーゲーム処理部41は、サーバー通信部36が受信した受信データや、サーバー情報処理部40で行われる種々の処理の結果や、主記憶部32に読み込まれたプログラムやデータなどに基づいて、種々のゲーム処理を行う。詳細にはサーバーゲーム処理部41は、ゲーム処理として、例えばプレイヤーIDによってプレイヤーを管理する処理、ゲーム開始条件が満たされた場合にゲームを開始する処理、複数種類のゲーム機能のうち選択されたゲーム機能を実行する処理、複数のプレイヤー(プレイヤーID)をマッチングして1つのグループを形成する処理、1つのグループを形成する複数のプレイヤーを共同ゲームに参加させる処理、ゲームを進行させる処理、イベント発生条件が満たされた場合にイベントを発生させる処理、ゲーム判定を行う処理、スタミナ、スコア、ヒットポイント、ライフなどの各種のパラメーターを更新する処理、ゲーム結果を演算する処理、プレイヤーに付与する報酬を演算する処理、プレイヤーに報酬を付与する処理、およびゲーム終了条件が満たされた場合にゲームを終了する処理などを行う。
具体的にはサーバーゲーム処理部41は、端末装置14においてピンボールゲームを実行するための種々の処理を行う。そしてサーバーゲーム処理部41は、1つの端末装置14のプレイヤーが単独でプレイするソロプレイヤーのピンボールゲームと、複数の端末装置14のそれぞれのプレイヤーが共同でプレイするマルチプレイヤーのピンボールゲームを実行可能となっている。
サーバー通信制御部42は、サーバー通信部36に他のサーバー装置12あるいは端末装置14と通信を行わせ、種々の情報を送受信するための処理を行う。例えばサーバー通信制御部42は、各端末装置14において取得された各種のプレイヤー入力を各端末装置14から受信したり、各端末装置14における各種の処理の結果を各端末装置14から受信したり、他の端末装置14に関する情報や、サーバーゲーム処理部41における各種の処理の結果を各端末装置14に送信したりするための処理を行う。
またサーバー通信制御部42は、プレイヤーを情報処理システム10に新規登録する処理に必要な情報や、プレイヤーを情報処理システム10にログインさせる処理に必要な情報や、ログインさせたプレイヤーと協力あるいは対戦する対戦相手のプレイヤーまたはCPUプレイヤーを設定する処理に必要な情報や、複数の端末装置14を同期させる処理に必要な情報や、複数の端末装置14において共通のゲームを実行するための処理に必要な情報などをサーバー通信部36に送受信させる。またサーバー通信制御部42は、情報の宛先を示す宛先情報や、情報の送信元を示す送信元情報や、情報を生成した情報処理システム10を識別する識別情報などもサーバー通信部36に送受信させる。
図3は、本実施形態の端末装置14の機能を示す機能ブロック図である。図3に示すように、本実施形態の端末装置14は、プレイヤー入力検出部50、表示部52、音出力部54、端末情報記憶媒体56、端末記憶部60、端末通信部66、端末情報処理部100を含む。なお、図3の構成要素(各部)の一部を省略した構成としてもよい。
プレイヤー入力検出部50は、プレイヤーによる端末装置14に対する入力をプレイヤー入力として検出するためのものであり、その機能は、タッチセンサー、スイッチ、光学センサー、マイクなどにより実現できる。
表示部52は、表示画面に画像を表示するものであり、その機能は、液晶ディスプレイ有機ELディスプレイなどにより実現できる。
音出力部54は、音を出力するものであり、その機能は、スピーカー、ヘッドフォンなどにより実現できる。
端末情報記憶媒体56は、端末情報処理部100や端末通信部66が各種の処理を行うためのプログラムやデータなどを格納するものであり、その機能は、フラッシュメモリ、ハードディスク、光ディスク(DVD、BD)などにより実現できる。すなわち端末情報記憶媒体56には、本実施形態の各部としてコンピューターを機能させるためのプログラム(各部の処理をコンピューターに実行させるためのプログラム)が記憶されている。
端末記憶部60は、端末情報処理部100や端末通信部66のワーク領域となるものであり、その機能はRAM(メインメモリ)や、VRAM(ビデオメモリ)などにより実現できる。詳細には端末記憶部60は、端末情報記憶媒体56からプログラムやデータが読み込まれる主記憶部62と、表示部52に表示させる画像が描画される描画バッファ64を含む。
端末通信部66は、外部ネットワーク(例えばサーバー装置12や他の端末装置14)との間で通信を行うための各種制御を行うものであり、その機能は、各種プロセッサーまたは通信用ASICなどのハードウェアや、プログラムなどにより実現できる。
なお本実施形態の各部としてコンピューターを機能させるためのプログラム(データ)は、サーバー装置12からネットワーク16および端末通信部66を介して端末装置14の端末情報記憶媒体56(あるいは主記憶部62)にダウンロードするようにしてもよく、このようなサーバー装置12の使用も本発明の範囲内に含めることができる。
端末情報処理部100は、プレイヤー入力検出部50が検出したプレイヤー入力や、端末通信部66が受信した受信データや、端末記憶部60の各種プログラムやデータなどに基づいて、ゲーム処理、画像生成処理、音生成処理などの各種処理を、主記憶部62をワーク領域として行うものであり、その機能は、各種プロセッサー(CPU(メインプロセッサー)、GPU(描画プロセッサー)、DSP等)、ASICなどのハードウェアや、プログラムにより実現できる。
そして端末情報処理部100は、プレイヤー入力取得部101、端末ゲーム処理部102、表示制御部104、画像生成部108、音生成部110、端末通信制御部112を含む。なおこれらの一部を省略する構成としてもよい。
プレイヤー入力取得部101は、プレイヤー入力検出部50が検出したプレイヤー入力や、主記憶部62に読み込まれたプログラムやデータなどに基づいて、プレイヤーの入力を状況に応じた種類の入力として取得する。例えば、ボタンなどのGUIが表示されている状態でGUIがタップされると、表示されているGUIの種類に応じた入力として取得する。
端末ゲーム処理部102は、プレイヤー入力取得部101が取得したプレイヤー入力や、端末通信部66が受信した受信データや、端末情報処理部100で行われる種々の処理の結果や、主記憶部62に読み込まれたプログラムやデータなどに基づいて、種々のゲーム処理を行う。詳細には端末ゲーム処理部102は、ゲーム処理として、例えばゲーム開始条件が満たされた場合にゲームを開始する処理、複数種類のゲーム機能のうち選択されたゲーム機能を実行する処理、自端末のプレイヤー(プレイヤーID)を他端末のプレイヤー(他のプレイヤーID)とマッチングさせて共同ゲームに参加させるための処理、ゲームを進行させる処理、イベント発生条件が満たされた場合にイベントを発生させる処理、ゲーム判定を行う処理、スタミナ、得点、ライフなどの各種のパラメーターを更新する処理、ゲーム結果を演算する処理、プレイヤーに付与する報酬を演算する処理、プレイヤーに報酬を付与する処理、およびゲーム終了条件が満たされた場合にゲームを終了する処理などを行う。
具体的には端末ゲーム処理部102は、ソロプレイヤーあるいはマルチプレイヤーのピンボールゲームを実行するための種々の処理を行う。そして端末ゲーム処理部102は、第1キャラクター制御部102a、第2キャラクター制御部102b(特定キャラクター制御部)、判定部102cを含む。
第1キャラクター制御部102aは、プレイヤー入力取得部101が取得したプレイヤー入力や、端末通信部66が受信した受信データや、端末情報処理部100で行われる種々の処理の結果や、主記憶部62に読み込まれたプログラムやデータなどに基づいて、自端末のプレイヤーに対応する自端末キャラクターの行動や各種の状態を制御したり、各種のパラメーターを更新したりする。
第2キャラクター制御部102bは、プレイヤー入力取得部101が取得したプレイヤー入力や、端末通信部66が受信した受信データや、端末情報処理部100で行われる種々の処理の結果や、主記憶部62に読み込まれたプログラムやデータなどに基づいて、自端末キャラクターの攻撃対象となる敵キャラクターの行動や各種の状態を制御したり、各種のパラメーターを更新したりする。
判定部102cは、プレイヤー入力取得部101が取得したプレイヤー入力や、端末通信部66が受信した受信データや、端末情報処理部100で行われる種々の処理の結果や、主記憶部62に読み込まれたプログラムやデータなどに基づいて、敵キャラクターに対する自端末キャラクターの攻撃が有効か否か判定したり、自端末キャラクターに対する敵キャラクターの攻撃が有効か否か判定したり、自端末キャラクターあるいは敵キャラクターが存在するか否か判定したりする。詳細には判定部102cは、自端末キャラクターの攻撃が敵キャラクターに衝突したか否かを判定したり、敵キャラクターの攻撃が自端末キャラクターに衝突したか否かを判定したり、自端末キャラクターあるいは敵キャラクターの攻撃が所定の条件を満たしたか否かを判定したり、自端末キャラクターあるいは敵キャラクターが存在判定領域(所定領域)に接触しているか否かを判定したりする。
また表示制御部104は、表示部52に表示される画像の表示制御を行う。詳細には、プレイヤー入力取得部101が取得したプレイヤー入力や、端末通信部66が受信した受信データや、端末情報処理部100で行われる種々の処理の結果や、主記憶部62に読み込まれたプログラムやデータなどに基づいて、種々のオブジェクトやプリレンダリング画像(ムービー画像)の表示内容、表示態様、表示タイミングなどの表示制御を行う。
本実施形態では、キャラクターを表示するためのキャラクターオブジェクトや、建物、道具、乗り物、地形などのキャラクター以外の物を表示するための非キャラクターオブジェクトや、背景を表示するための背景オブジェクトや、エフェクトを表示するためのエフェクトオブジェクトや、ボタンなどのGUI(Graphic User Interface)を表示するためのGUIオブジェクトなどの種々のオブジェクトのオブジェクトデータや、種々のプリレンダリング画像の画像データが端末情報記憶媒体56に記憶されている。そして表示制御部104は、実行中のゲーム機能の種類や、ゲームの進行状況などに応じて、主記憶部62に読み込まれたオブジェクトデータやプリレンダリング画像の画像データに基づいて、オブジェクトやプリレンダリング画像の表示制御を行う。
詳細には表示制御部104は、主記憶部62に読み込まれたオブジェクトデータに基づいて、オブジェクトを表すポリゴン、自由曲面、二次元画像などのプリミティブで構成されるオブジェクトを、オブジェクト空間に配置したり、移動あるいは動作させたりする処理を行う。具体的には表示制御部104は、プレイヤー入力取得部101が取得したプレイヤー入力や、端末通信部66が受信した受信データや、端末情報処理部100で行われる種々の処理の結果や、主記憶部62に読み込まれたプログラムやデータなどに基づいて、1フレーム(例えば1/30秒)ごとに、オブジェクト空間におけるオブジェクトの位置や向き(回転角度)を決定し、決定した位置に決定された向きでオブジェクトを配置したり、オブジェクトを構成する複数のパーツのそれぞれを動作させたりする。
画像生成部108は、プレイヤー入力取得部101が取得したプレイヤー入力や、端末通信部66が受信した受信データや、端末情報処理部100で行われる種々の処理の結果、特に表示制御部104で行われる種々の処理の結果や、主記憶部62に読み込まれたプログラムやデータなどに基づいて、1フレームごとに描画バッファ64にゲーム画像を描画する処理を行うことにより、各種のオブジェクトや、各種のプリレンダリング画像が表示されるゲーム画像を生成し、生成したゲーム画像を表示部52に出力してゲーム画像を表示させる。
音生成部110は、端末情報処理部100で行われる種々の処理の結果に基づいて音処理を行い、BGM、効果音、または音声などのゲーム音を生成し、音出力部54に出力する。
端末通信制御部112は、端末通信部66にサーバー装置12あるいは他の端末装置14と通信を行わせ、種々の情報を送受信させるための処理を行う。例えば端末通信制御部112は、他の端末装置14に関する情報や、サーバーゲーム処理部41における各種の処理の結果をサーバー装置12から受信したり、その端末装置14に関する情報や、プレイヤー入力取得部101が取得したプレイヤー入力や、端末情報処理部100における各種の処理の結果をサーバー装置12に送信したりするための処理を行う。
また端末通信制御部112は、プレイヤーを情報処理システム10に新規登録する処理に必要な情報や、プレイヤーを情報処理システム10にログインさせる処理に必要な情報や、ログインさせたプレイヤーと協力あるいは対戦する相手プレイヤーを設定する処理に必要な情報や、複数の端末装置14を同期させる処理に必要な情報や、複数の端末装置14において共通のゲームを実行するための処理に必要な情報などを端末通信部66に送受信させる。また端末通信制御部112は、情報の宛先を示す宛先情報や、情報の送信元を示す送信元情報や、情報を生成した情報処理システム10を識別する識別情報なども端末通信部66に送受信させる。
なお、端末装置14の端末情報記憶媒体56の機能の全部または一部、端末記憶部60の機能の全部または一部、端末ゲーム処理部102の機能の全部または一部、表示制御部104の機能の全部または一部、あるいは画像生成部108の機能の一部を、サーバー装置12が備えるようにしてもよいし、サーバー装置12のサーバー情報記憶媒体20の機能の全部または一部、サーバー記憶部30の機能の全部または一部、サーバーゲーム処理部41の機能の全部または一部を、端末装置14が備えるようにしてもよい。
2.本実施形態の制御手法
以下では、本実施形態の制御手法について、本実施形態のゲームプログラムをスマートフォン(端末装置14)のゲームアプリとして適用した場合を例に挙げて詳細に説明する。
まず本実施形態では、プレイヤーが所持するキャラクターのうちの3体のキャラクターにより、プレイヤーのパーティーが編成される。そして本実施形態では、1つの端末装置14において、1人のプレイヤーのパーティーによりゲームが進行するソロプレイヤーのゲームの他に、最大で3つの端末装置14をサーバー装置12においてマッチングして1つのグループを形成し、同じグループに属する複数の端末装置14において、各プレイヤーのパーティーが共同してゲームを進行させるマルチプレイヤーのゲームが実行可能となっている。
図4は、本実施形態のゲームプログラムによりスマートフォンのタッチパネルディスプレイの表示領域200に表示されるゲーム画像の例を示す図である。本実施形態のゲームプログラムは、ピンボールゲームを実行可能となっており、ピンボールゲームのゲーム画像では、図4に示すように、プレイフィールド210の内側に、一対のフリッパー212と、自端末のプレイヤーのパーティーに対応する自端末パーティー214(第1キャラクター)と、敵キャラクター(特定キャラクター、第2キャラクター)が表示される。本実施形態では、自端末パーティー214として、自端末のプレイヤーのパーティーを構成する3体のキャラクターのそれぞれの顔が示された3体のボール型の自端末キャラクターが表示される。
図4の例では、自端末のプレイヤーのパーティーが、キャラクターC、キャラクターYおよびキャラクターKにより構成されているため、自端末パーティー214として、キャラクターCの顔が表現されたボール型の自端末キャラクターC、キャラクターYの顔が表現されたボール型の自端末キャラクターYおよびキャラクターKの顔が表現されたボール型の自端末キャラクターKが表示されている。
そして本実施形態では、プレイヤーにより表示領域の下部がタップされるごとに、1対のフリッパー212が1回の往復動作を行う。そして自端末パーティー214は、フリッパー212に弾かれると、弾かれた際のフリッパー212の角度に応じた方向に移動する。詳細には自端末パーティー214は、先頭の自端末キャラクターと、中央の自端末キャラクターと、最後尾の自端末キャラクターが、縦に一列になって一体的に移動する。そして、最後尾の自端末キャラクターの後方には、自端末パーティー214の移動軌跡が表示される。
そして自端末パーティー214は、プレイフィールド210の周囲を取り囲む壁216や敵キャラクターに衝突すると、衝突した際の入射角に応じた方向に跳ね返るように移動する。そして、プレイフィールド210において下方にかかる仮想的な重力によって、自端末パーティー214は、フリッパー212に弾かれてからの移動距離や移動方向などに応じて上方向への移動速度が減少し、上方向への移動速度が0になると下方に落下するように移動し、フリッパー212の動作範囲に戻るようになっている。
また図4の例では、プレイヤーXの端末装置14、プレイヤーYの端末装置14およびプレイヤーZの端末装置14により1つのグループが形成されてマルチプレイヤーのピンボールゲームが実行されており、他端末のプレイヤーのパーティーに対応する2組の他端末パーティー218(第3キャラクター)が半透明で表示されている。
詳細には、図4の例では、プレイヤーXの端末装置14の表示領域200に表示されるゲーム画像が示されており、プレイヤーYの他端末パーティー218として、キャラクターKの顔が表現されたボール型の他端末キャラクターK、キャラクターNの顔が表現されたボール型の他端末キャラクターNおよびキャラクターCの顔が表現されたボール型の他端末キャラクターCが表示されている。また、プレイヤーZの他端末パーティー218として、キャラクターJの顔が表現されたボール型の他端末キャラクターJ、キャラクターBの顔が表現されたボール型の他端末キャラクターBおよびキャラクターNの顔が表現されたボール型の他端末キャラクターNが表示されている。
ここで、マルチプレイヤーのピンボールゲームでは、自端末パーティー214の位置情報がサーバー装置12を介して同じグループに属する他の端末装置14に送信される。そして、他の端末装置14から送信された位置情報に基づいて他端末パーティー218が表示される。なお本実施形態では、他端末パーティー218には移動軌跡が表示されない。
また本実施形態では、敵キャラクターについては、移動、攻撃、待機など、予め定められた複数種類の行動が設定されている。そして、1回のピンボールゲームが開始されると、同じグループに属する複数の端末装置14のそれぞれにおいて、敵キャラクターの最初の行動が複数種類の行動からランダムに決定され、最初の行動が終了すると、次の行動が複数種類の行動からランダムに決定され、というように、敵キャラクターの行動が次々にランダムに決定される。
詳細には本実施形態では、同じグループに属する複数の端末装置14のそれぞれでは、共通のシード値に基づいて共通の乱数値が生成され、敵キャラクターの行動が終了するごとに、共通の乱数値に基づいて、次の敵キャラクターの行動が複数種類の行動から決定される。従って、ランダムに決定される各回の敵キャラクターの行動は、同じグループに属する複数の端末装置14のそれぞれで同一となる。これにより、同じグループに属する複数の端末装置14のそれぞれでは、1回のピンボールゲームにおいて敵キャラクターの行動の順序が同一となりつつ、毎回のピンボールゲームにおいて敵キャラクターの行動の順序が異なるようになっている。
また図4に示すように、表示領域200の最上部には、今回のピンボールゲームの残り時間を示す残り時間表示220が表示され、残り時間表示220の右方には、今回のピンボールゲームで自端末のプレイヤーが獲得したスコアを示すスコア表示222が表示される。
また残り時間表示220の下方には、3体の自端末キャラクターのそれぞれのヒットポイントを示す自端末HP表示224が表示される。また敵キャラクターの上方には、敵キャラクターのヒットポイントを示す敵HP表示226が表示される。
また表示領域200の右下部には、他端末パーティー218を構成する3体の他端末キャラクターのそれぞれのヒットポイントを示す他端末HP表示228が表示される。そして他端末HP表示228の上方には、他端末HP表示228に対応する他端末のプレイヤーの名称が表示される。図4の例では、プレイヤーYの他端末パーティー218に対応する他端末HP表示228と、プレイヤーZの他端末パーティー218に対応する他端末HP表示228が表示されている。
そして、自端末パーティー214が敵キャラクターに衝突すると、自端末パーティー214の攻撃力や敵キャラクターの守備力などのパラメーターに応じて、敵キャラクターのヒットポイントが減少し、プレイヤーのスコアが増加する。すなわち本実施形態では、自端末パーティー214は、敵キャラクターに衝突することが敵キャラクターに対する攻撃となっている。
詳細には本実施形態では、端末装置14において自端末パーティー214と敵キャラクターが衝突したと判定されると、プレイヤーの識別情報を含むパーティー衝突情報がサーバー装置12に送信される。そして、マルチプレイヤーのピンボールゲームでは、同じグループに属する複数の端末装置14のそれぞれからのパーティー衝突情報に基づいて、サーバー装置12において敵キャラクターのヒットポイントが減少するように更新される。
すると、更新後の敵キャラクターのヒットポイントが、同じグループに属する複数の端末装置14のそれぞれに送信され、各端末装置14では、更新後の敵キャラクターのヒットポイントに基づいて、敵HP表示226が更新される。
こうして本実施形態では、同じグループに属する複数の端末装置14のそれぞれでは、自端末パーティー214が敵キャラクターに衝突することに加え、他端末パーティー218が敵キャラクターに衝突することによっても、敵キャラクターのヒットポイントが減少される。すなわち、同じグループに属する複数の端末装置14のそれぞれにおいて、自端末パーティー214が敵キャラクターに衝突することにより、共同して敵キャラクターを攻撃することができるようになっている。
一方、敵キャラクターのキックやパンチ、敵キャラクターが吐いた炎などの敵キャラクターの攻撃が自端末パーティー214に衝突すると、敵キャラクターの攻撃力や各自端末キャラクターの守備力などのパラメーターに応じて、各自端末キャラクターのヒットポイントが減少する。
そして、全ての自端末キャラクターのヒットポイントが0になる前に、敵キャラクターのヒットポイントが0になると、自端末パーティー214の勝利となり、敵キャラクターのヒットポイントが0になる前に、全ての自端末キャラクターのヒットポイントが0になるか、残り時間が0になると、敵キャラクターの勝利となる。
また本実施形態では、各自端末キャラクターにスキルを設定することができるようになっている。そして、いずれかの自端末キャラクターのスキルが発動されると、その自端末キャラクターが、特殊な攻撃を行ったり、各自端末キャラクターのヒットポイントを回復させたりするなどの特殊な行動を行う。
詳細には本実施形態では、自端末パーティー214の移動距離や各自端末キャラクターのパラメーターに応じて、各自端末キャラクターについて、スキルを発動させるために必要なスキルパラメーターが増加する。そして、図4に示すように、1対のフリッパー212の上方には、先頭の自端末キャラクターのスキルパラメーターを示す左スキルゲージ230、中央の自端末キャラクターのスキルパラメーターを示す中央スキルゲージ232および最後尾の自端末キャラクターのスキルパラメーターを示す右スキルゲージ234が表示される。
そして、各スキルゲージでは、対応する自端末キャラクターのスキルパラメーターが増加するにつれて着色された領域が増加し、対応する自端末キャラクターのスキルパラメーターがスキルを発動させるために必要な値に達すると、スキルゲージの全領域が着色された状態で表示される。そして、スキルゲージの全領域が着色された状態で、そのスキルゲージに対応する入力が行われると、そのスキルゲージに対応する自端末キャラクターのスキルが発動される。
本実施形態では、左スキルゲージ230の全領域が着色された状態で、プレイヤーにより左方向へのフリックが行われると、先頭の自端末キャラクターのスキルが発動され、中央スキルゲージ232の全領域が着色された状態で、プレイヤーにより上方向へのフリックが行われると、中央の自端末キャラクターのスキルが発動され、右スキルゲージ234の全領域が着色された状態で、プレイヤーにより右方向へのフリックが行われると、最後尾の自端末キャラクターのスキルが発動される。図4の例では、右スキルゲージ234の全領域が着色されているため、右方向へのフリックが行われると、最後尾の自端末キャラクターである自端末キャラクターKのスキルが発動される。
すると、図5に示すように、表示領域200の中央部において、発動されたスキルの名称を示すとともにスキルの発動を演出するスキル演出表示236が表示される。そして、自端末キャラクターKのスキルパラメーターが初期値である0にリセットされ、右スキルゲージ234の全領域が着色されていない状態になるとともに、発動されたスキルの効果が所定条件下で発生する。ここで本実施形態では、発動されると無条件に効果が発生するスキルと、発動されたスキルが敵キャラクターに衝突すると効果が発生するスキルが存在する。
図5の例では、自端末キャラクターKにより発動された麻痺スキル(特定攻撃)が敵キャラクターに衝突したと判定されたことに基づいて、敵キャラクターのヒットポイントが減少されるとともに、敵キャラクターが5秒間にわたって移動も攻撃もできなくなるという麻痺効果(特定効果)が発生している。そのため、敵キャラクターの手前側に、麻痺効果が発生していることを示す麻痺効果画像238が表示されているとともに、敵HP表示226の上方に、麻痺効果が発生していることを示す麻痺アイコン240が表示されている。
そして、マルチプレイヤーのピンボールゲームでは、自らの端末装置14において発動されたスキルの効果が発生すると、他の端末装置14においても、自らの端末装置14において発動されたスキルの効果が発生し、他の端末装置14において発動されたスキルの効果が発生すると、自らの端末装置14においても、他の端末装置14において発動されたスキルの効果が発生するようになっている。
図6は、他の端末装置14においてスキルを発動させる入力が行われた場合に、プレイヤーXの端末装置14の表示領域200に表示されるゲーム画像の例を示す図である。図6の例では、プレイヤーYの端末装置14において麻痺スキルを発動させる入力が行われたことに基づいて、プレイヤーYの他端末パーティー218の近傍に、発動されたスキルの名称を示すスキル名表示242が表示されている。
詳細には本実施形態では、端末装置14においていずれかのスキルを発動させる入力が行われると、プレイヤーの識別情報と発動させるスキルの識別情報を含むスキル入力情報がサーバー装置12に送信される。そして、マルチプレイヤーのピンボールゲームでは、サーバー装置12が受信したスキル入力情報は、同じグループに属する複数の端末装置14のうち、スキル入力情報を送信した端末装置14を除く端末装置14に、他端末のスキル入力情報として送信される。そして、他端末のスキル入力情報を受信した端末装置14では、他端末のスキル入力情報に含まれるプレイヤーの識別情報とスキルの識別情報に基づいて、対応する他端末パーティー218の近傍にスキル名表示242が表示される。
そして、端末装置14において自端末キャラクターのスキルが敵キャラクターに衝突したと判定されると、プレイヤーの識別情報と衝突したスキルの識別情報を含むスキル衝突情報(自端末特定情報)がサーバー装置12に送信される。そして、マルチプレイヤーのピンボールゲームでは、上述したパーティー衝突情報と同様に、同じグループに属する複数の端末装置14のそれぞれからのスキル衝突情報に基づいて、サーバー装置12において敵キャラクターのヒットポイントが減少するように更新される。
すると、更新後の敵キャラクターのヒットポイントが、同じグループに属する複数の端末装置14のそれぞれに送信され、各端末装置14では、更新後の敵キャラクターのヒットポイントに基づいて、敵HP表示226が更新される。
また、サーバー装置12が受信したスキル衝突情報は、同じグループに属する複数の端末装置14のうち、スキル衝突情報を送信した端末装置14を除く端末装置14に、他端末のスキル衝突情報(他端末特定情報)として送信される。そして、他端末のスキル衝突情報を受信した端末装置14では、他端末のスキル衝突情報に含まれるスキルの識別情報に基づいて、敵キャラクターにスキルの効果が発生する。
図6の例では、プレイヤーYの端末装置14において麻痺スキルが敵キャラクターに衝突したと判定されており、プレイヤーYの端末装置14から送信された麻痺スキルのスキル衝突情報が、プレイヤーXの端末装置14において他端末のスキル衝突情報として受信されている。そして、プレイヤーXの端末装置14では、他端末のスキル衝突情報に含まれる麻痺スキルの識別情報に基づいて、敵キャラクターに麻痺効果が発生することにより、敵キャラクターの手前側に麻痺効果画像238が表示されているとともに、敵HP表示226の上方に麻痺アイコン240が表示されている。
こうして本実施形態では、同じグループに属する複数の端末装置14のそれぞれでは、自端末パーティー214がスキルを敵キャラクターに衝突させることに加え、他端末パーティー218がスキルを敵キャラクターに衝突させることによっても、敵キャラクターのヒットポイントが減少され、衝突したスキルの効果が発生する。すなわち、同じグループに属する複数の端末装置14のそれぞれにおいて、自端末パーティー214のスキルを敵キャラクターに衝突させることにより、共同して敵キャラクターを攻撃することができるようになっている。
図7は、他の端末装置14においてスキルを発動させる入力が行われた場合に、プレイヤーXの端末装置14の表示領域200に表示されるゲーム画像の他の例を示す図である。本実施形態では、敵キャラクターの行動として、敵キャラクターがプレイフィールド210から消え、2秒後に他の位置に出現する瞬間移動を行う場合がある。そして、敵キャラクターが瞬間移動を行っている2秒間では、敵キャラクターがプレイフィールド210に存在しないため、自端末キャラクターの攻撃が敵キャラクターに衝突しないようになっている。図7の例では、プレイヤーXの端末装置14において、プレイフィールド210の左上部で敵キャラクターが瞬間移動を開始している。
そして図7の例では、敵キャラクターが瞬間移動を開始する直前に、プレイヤーYの端末装置14において、スキルを発動させる入力が行われており、プレイヤーXの端末装置14では、プレイヤーYの端末装置14から送信されたスキル入力情報に基づいて、プレイヤーYの他端末パーティー218の近傍にスキル名表示242が表示されている。
また図7の例では、プレイヤーYの端末装置14において、麻痺スキルが敵キャラクターに衝突したと判定されているが、プレイヤーYの端末装置14から送信されたスキル衝突情報がプレイヤーXの端末装置14において受信された時点では、通信のタイムラグにより、プレイヤーXの端末装置14においては既に敵キャラクターが瞬間移動を開始している。
ここで、プレイヤーXの端末装置14において、既に敵キャラクターが瞬間移動を開始しているにも関わらず、プレイヤーYの端末装置14から送信されたスキル衝突情報に基づいて、直ちに敵キャラクターに麻痺効果を発生させてしまうと、敵キャラクターが瞬間移動を行っている間は敵キャラクターがプレイフィールド210に存在しないため、プレイヤーXの端末装置14では、敵キャラクターに麻痺効果が発生している間に敵キャラクターを攻撃することができるという利益を十分に受けられなくなってしまう。
そこで本実施形態では、他端末のスキル衝突情報に麻痺スキルの識別情報が含まれている場合であって、他端末のスキル衝突情報を受信した時点で敵キャラクターがプレイフィールド210に存在しない場合には、敵キャラクターがプレイフィールド210に出現するまで、麻痺スキルの効果が発生しないようにしている。
図8は、同じグループに属するプレイヤーXの端末装置14、プレイヤーYの端末装置14およびプレイヤーZの端末装置14のそれぞれにおける敵キャラクターの行動や状態の推移の例を示すタイミングチャートである。なお図8の横軸は、1回のマルチプレイヤーのピンボールゲームが開始されてから経過したフレーム数を示している。また図8の例では、プレイヤーXの端末装置14、プレイヤーYの端末装置14およびプレイヤーZの端末装置14のそれぞれの間で発生する通信のタイムラグが同一であるものとして説明する。
上述したように本実施形態では、同じグループに属する複数の端末装置14のそれぞれで、敵キャラクターの行動の順序が同一となるため、図8に示すF1の時点では、3つの端末装置14のそれぞれにおいて、ランダムに決定された行動として攻撃動作Cを敵キャラクターが行っている。
そして攻撃動作Cは、プレイフィールド210において敵キャラクターが炎を吐く攻撃を行う行動であって、敵キャラクターが攻撃動作Cを行っている間は、敵キャラクターがプレイフィールド210に存在すると判定される。本実施形態では、プレイフィールド210の全面を覆うように存在判定領域が設定されており、敵キャラクターが存在判定領域に接触していると判定された場合に、敵キャラクターがプレイフィールド210に存在する(攻撃が有効と判定され得る状態)と判定され、敵キャラクターが存在判定領域に接触していないと判定された場合に、敵キャラクターがプレイフィールド210に存在しない(攻撃が有効と判定されない状態)と判定される。
そして、F2の時点では、プレイヤーYの端末装置14において、敵キャラクターが攻撃動作Cを行っているときに、麻痺スキルが敵キャラクターに衝突したと判定されたことに基づいて、直ちに自端末における敵キャラクターの状態である敵状態が5秒間にわたって麻痺状態に設定されることにより、敵キャラクターに5秒間にわたる麻痺効果が発生し、攻撃動作Cが中断されている。そして、麻痺スキルの識別情報を含むスキル衝突情報が、プレイヤーYの端末装置14からサーバー装置12に送信されている。
ここで本実施形態では、同じグループに属する複数の端末装置14のそれぞれにおいて、自端末における敵状態の他にも、他端末における敵状態が管理される。詳細には図8の例では、プレイヤーXの端末装置14では、他端末における敵状態として、プレイヤーYの端末装置14における敵状態と、プレイヤーZの端末装置14における敵状態が管理され、プレイヤーYの端末装置14では、他端末における敵状態として、プレイヤーXの端末装置14における敵状態と、プレイヤーZの端末装置14における敵状態が管理され、プレイヤーZの端末装置14では、他端末における敵状態として、プレイヤーXの端末装置14における敵状態と、プレイヤーYの端末装置14における敵状態が管理される。
そして、F3の時点では、プレイヤーXの端末装置14とプレイヤーZの端末装置14のそれぞれにおいて、プレイヤーYの端末装置14から送信された麻痺スキルの識別情報を含むスキル衝突情報が受信されているが、図8の例では、F2の時点とF3の時点のタイムラグの間に、プレイヤーXの端末装置14とプレイヤーZの端末装置14のそれぞれにおいて、敵キャラクターの攻撃動作Cが終了し、敵キャラクターの次の行動として瞬間移動が開始されている。
そして瞬間移動は、上述したように、敵キャラクターが2秒間にわたってプレイフィールド210から消える行動であって、敵キャラクターが瞬間移動を行っている間は、敵キャラクターがプレイフィールド210に存在しないと判定される。
すなわち、F3の時点では、プレイヤーXの端末装置14とプレイヤーZの端末装置14のそれぞれにおいて、麻痺スキルの識別情報を含むスキル衝突情報が受信された時点で、敵キャラクターがプレイフィールド210に存在しないと判定される。
すると本実施形態では、プレイヤーXの端末装置14とプレイヤーZの端末装置14のそれぞれにおいて、麻痺スキルの識別情報を含むスキル衝突情報が受信されたことに基づいて、直ちにプレイヤーYの端末装置14における敵状態が5秒間にわたって麻痺状態に設定されるが、敵キャラクターがプレイフィールド210に存在しないと判定されたことに基づいて、自端末における敵状態は麻痺状態に設定されないことにより、麻痺効果の発生が保留され、瞬間移動が継続される。
そして、F4の時点では、プレイヤーXの端末装置14とプレイヤーZの端末装置14のそれぞれにおいて、敵キャラクターの瞬間移動が終了し、敵キャラクターがプレイフィールド210に出現する。すると本実施形態では、他端末における敵状態が麻痺状態であって、かつ敵キャラクターがプレイフィールド210に存在すると判定されたことに基づいて(特定攻撃が有効と判定され得る状態であることを条件として)、自端末における敵状態が5秒間にわたって麻痺状態に設定されることにより、敵キャラクターに5秒間にわたって麻痺効果が発生する。
そして、プレイヤーXの端末装置14において、自端末における敵状態が麻痺状態に設定されると、プレイヤーXの識別情報を含む敵状態情報が、プレイヤーXの端末装置14からサーバー装置12を介してプレイヤーYの端末装置14とプレイヤーZの端末装置14に送信され、プレイヤーYの端末装置14とプレイヤーZの端末装置14において、プレイヤーXの端末装置14における敵状態が5秒間にわたって麻痺状態に設定される。
また、プレイヤーZの端末装置14において、自端末における敵状態が麻痺状態に設定されると、プレイヤーZの識別情報を含む敵状態情報が、プレイヤーZの端末装置14からサーバー装置12を介してプレイヤーXの端末装置14とプレイヤーYの端末装置14に送信され、プレイヤーXの端末装置14とプレイヤーYの端末装置14において、プレイヤーZの端末装置14における敵状態が5秒間にわたって麻痺状態に設定される。
そして、F5の時点では、プレイヤーYの端末装置14において、自端末における敵状態が麻痺状態に設定されてから5秒間が経過しているため、自端末における敵状態が麻痺状態から解除されることにより、麻痺効果が終了する。すると、麻痺効果の発生により中断されていた攻撃動作Cが再開され、再開された攻撃動作Cが終了すると、敵キャラクターの次の行動として瞬間移動が開始される。
そして、F6の時点では、プレイヤーXの端末装置14、プレイヤーYの端末装置14およびプレイヤーZの端末装置14のそれぞれにおいて、瞬間移動の次の敵キャラクターの行動として、攻撃動作Aが開始される。
こうして本実施形態では、ある端末装置14では、敵キャラクターが瞬間移動を開始する直前に、麻痺スキルが敵キャラクターに衝突したと判定されて麻痺効果が発生しているが、他の端末装置14では、通信のタイムラグによりスキル衝突情報を受信した時点で既に敵キャラクターが瞬間移動を開始している場合には、他の端末装置14では、敵キャラクターの瞬間移動が終了してから、麻痺効果が発生するようにしている。
これにより本実施形態では、いずれかの端末装置14において発動された麻痺スキルに基づく麻痺効果による利益を、同じグループに属する複数の端末装置14のそれぞれにおいて平等に受けることができるため、適切にゲームを進行させることができる。
そして本実施形態では、敵キャラクターが瞬間移動を開始する直前に麻痺効果が発生した端末装置14においても、麻痺効果の終了後に敵キャラクターが瞬間移動を行いつつ、各端末装置14において他端末における敵状態が管理されるため、各端末装置14において麻痺効果が終了した後は、再び敵キャラクターの行動を同期させることができる。
以下では、本実施形態の端末装置14で行われる処理の流れを、図9〜図10のフローチャートを用いて説明する。
まず、図9に示すスキル衝突判定時処理では、判定部102cが、自端末キャラクターの麻痺スキルが敵キャラクターに衝突したと判定すると(ステップS100でY)、第2キャラクター制御部102bが、自端末における敵状態を麻痺状態に設定する(ステップS102)。すると、端末通信制御部112が、麻痺スキルの識別情報を含むスキル衝突情報をサーバー装置12に送信する(ステップS104)。
また、図10に示すスキル衝突情報受信時処理では、端末通信制御部112が、麻痺スキルの識別情報を含むスキル衝突情報を受信すると(ステップS110でY)、第2キャラクター制御部102bが、他端末における敵状態を麻痺状態に設定する(ステップS112)。すると判定部102cが、敵キャラクターがプレイフィールド210に存在するか否か判定し(ステップS114)、敵キャラクターがプレイフィールド210に存在すると判定されると(ステップS114でY)、第2キャラクター制御部102bが、自端末における敵状態を麻痺状態に設定する(ステップS116)。
一方、敵キャラクターがプレイフィールド210に存在しないと判定されると(ステップS114でN)、フレームが更新されるごとに(ステップS118でY)、判定部102cが、敵キャラクターがプレイフィールド210に存在するか否か判定し(ステップS114)、敵キャラクターがプレイフィールド210に存在すると判定されると(ステップS114でY)、第2キャラクター制御部102bが、自端末における敵状態を麻痺状態に設定する(ステップS116)。
3.変形例
本発明は、上記の実施形態で説明したものに限らず、種々の変形実施が可能であり、以下に変形例を紹介する。なお、上記実施形態や、以下において変形例として説明する各種の手法は、本発明を実現する手法として適宜組み合わせて採用することができる。
まず上記実施形態では、3体の自端末キャラクターにより構成された自端末パーティー214が敵キャラクターと戦う例を挙げて説明したが、1体の自端末キャラクターが敵キャラクターと戦うようにしてもよい。
また上記実施形態では、端末装置14において自端末キャラクターのスキルが敵キャラクターに衝突したと判定されると、自端末特定情報として、プレイヤーの識別情報と衝突したスキルの識別情報を含むスキル衝突情報がサーバー装置12に送信される例を挙げて説明したが、端末装置14において自端末における敵状態が麻痺状態に設定されると、自端末特定情報として、プレイヤーの識別情報と設定された敵状態の識別情報を含む敵状態情報がサーバー装置12に送信されるようにしてもよい。
また上記実施形態では、敵キャラクターが存在判定領域に接触しているか否かが判定されることにより、特定攻撃が有効と判定され得る状態であるか否か判定される例を挙げて説明したが、敵キャラクターが瞬間移動を行っている間は、敵キャラクターがプレイフィールド210に存在しない状態に設定され、その他の所定の行動を行っている間は、敵キャラクターがプレイフィールド210に存在する状態に設定されるようにしつつ、敵キャラクターがプレイフィールド210に存在する状態であるか否かが判定されることにより、特定攻撃が有効と判定され得る状態であるか否か判定されるようにしてもよい。
また、敵キャラクターが瞬間移動を行っている間は、敵キャラクターを攻撃することができない状態に設定され、その他の所定の行動を行っている間は、敵キャラクターを攻撃することができる状態に設定されるようにしつつ、敵キャラクターを攻撃することができる状態であるか否かが判定されることにより、特定攻撃が有効と判定され得る状態であるか否か判定されるようにしてもよい。
また上記実施形態では、敵キャラクターが瞬間移動を行っている間が、特定攻撃が有効と判定されない状態である例を挙げて説明したが、敵キャラクターが特殊な攻撃を行っている間が、特定攻撃が有効と判定されない状態であるようにしてもよいし、敵状態が防御状態に設定されている間が、特定攻撃が有効と判定されない状態であるようにしてもよい。
また上記実施形態では、特定効果として、敵キャラクターが5秒間にわたって移動も攻撃もできなくなる麻痺効果が発生する例を挙げて説明したが、特定効果として、敵キャラクターが移動はできるが攻撃はできなくなる効果や、敵キャラクターが攻撃はできるが移動はできなくなる効果や、敵キャラクターの移動速度が遅くなる効果や、敵キャラクターのヒットポイントを変化させる効果や、敵キャラクターの攻撃力や防御力などのパラメーターを変化させる効果が発生するようにしてもよい。
また上記実施形態では、図8の例のように、例えばプレイヤーYの端末装置14において、自端末における敵状態が麻痺状態に設定されるタイミングと、プレイヤーXの端末装置14とプレイヤーZの端末装置14のそれぞれにおいて、プレイヤーYの端末装置14における敵状態が麻痺状態に設定されるタイミングの間には、通信のタイムラグが発生するものの、麻痺状態の期間がいずれも5秒間に設定されるため、プレイヤーYの端末装置14において、自端末における敵状態が麻痺状態から解除されるタイミングと、プレイヤーXの端末装置14とプレイヤーZの端末装置14のそれぞれにおいて、プレイヤーYの端末装置14における敵状態が麻痺状態から解除されるタイミングが同期されない例を挙げて説明したが、例えばプレイヤーYの端末装置14から送信されるスキル衝突情報に含まれる麻痺状態に設定されたフレーム番号に基づいて、プレイヤーXの端末装置14とプレイヤーZの端末装置14のそれぞれにおいて、プレイヤーYの端末装置14における敵状態が麻痺状態から解除されるタイミングが、プレイヤーYの端末装置14において、自端末における敵状態が麻痺状態から解除されるタイミングと同期されるようにしてもよい。
また上記実施形態では、麻痺スキルが敵キャラクターに衝突したと判定されると麻痺効果が発生する例を挙げて説明したが、敵キャラクターのヒットポイントや、プレイヤーのスコアや、所定期間に有効と判定された攻撃の数や、連続して有効と判定された攻撃の数が所与の値となるなどの特殊条件が満たされると、敵キャラクターがプレイフィールド210の中央に強制的に移動された上で、敵キャラクターが5秒間にわたって移動も攻撃もできなくなる特殊効果が発生するようにしてもよい。
そしてこの場合には、敵キャラクターに麻痺効果が発生している状態で特殊条件が満たされても、敵キャラクターがプレイフィールド210の中央に強制的に移動された上で、敵キャラクターに特殊効果が発生するようにしてもよい。
また、例えば上述したように、プレイヤーYの端末装置14では、敵キャラクターに麻痺効果が発生しているが、プレイヤーXの端末装置14とプレイヤーZの端末装置14では、敵キャラクターが瞬間移動を行っている状態で、プレイヤーYの端末装置14において、特殊条件が満たされることがあるようにしてもよい。そしてこの場合には、プレイヤーYの端末装置14では、敵キャラクターに発生している麻痺効果がキャンセルされ、敵キャラクターがプレイフィールド210の中央に強制的に移動された上で、敵キャラクターに特殊効果が発生する。すると、プレイヤーYの識別情報を含む特殊衝突情報が、プレイヤーYの端末装置14からサーバー装置12を介してプレイヤーXの端末装置14とプレイヤーZの端末装置14に送信され、プレイヤーXの端末装置14とプレイヤーZの端末装置14では、敵キャラクターの瞬間移動がキャンセルされ、敵キャラクターがプレイフィールド210の中央に強制的に移動された上で、敵キャラクターに特殊効果が発生するようにしてもよい。
また上記実施形態では、ピンボールゲームに本発明を適用した例を挙げて説明したが、3人称視点によるアクションRPGや、1人称視点によるシューティングゲーム(FPS)など、種々のゲームに本発明を適用することができる。