以下、実施形態について説明する。なお、以下に説明する実施形態は、特許請求の範囲に記載された本発明の内容を不当に限定するものではない。また、以下の実施形態で説明される構成の全てが、本発明の必須構成要件であるとは限らない。
1.ゲームシステム
図1は、一実施形態のゲームシステム(サーバシステムの一例)の構成を示すシステム構成の一例を示す図である。
本実施形態のゲームシステム1は、図1に示すように、ゲームサービスを提供するサーバ装置10と、端末装置20(例えば、端末装置20A、20B、20C)とが、インターネット(ネットワークの一例)に接続可能に構成されている。
ユーザは、端末装置20からサーバ装置10にアクセスすることにより、インターネットを介してサーバ装置10からゲームを取得し、当該ゲームのプレーをすることができる。さらに、ユーザは端末装置20からサーバ装置10にアクセスすることにより、他のユーザとの間でコミュニケーションを図りつつ、ゲームを実行することができるようになっている。
特に、サーバ装置10は、インターネットを介して通信接続された端末装置20を用いて、ユーザにゲームをプレーさせるサービスを提供することが可能な情報処理装置である。なお、サーバ装置10は、コミュニケーション型のサービスを提供するSNSサーバとして機能することも可能である。また、SNSサーバとは、例えば、複数のユーザ間でコミュニケーションを提供することが可能なサービスを提供する情報処理装置を示す。
また、サーバ装置10は、例えば、SNSサーバとして機能する場合には、提供するSNSの動作環境(API(アプリケーションプログラミングインタフェース)、プラットフォーム等)を利用して実行されるソーシャルゲーム(Social Game)をと呼ばれるゲームを提供することができるようになっている。
具体的には、サーバ装置10は、端末装置20のWebブラウザ上で提供されるゲーム、例えばHTML、FLASH、CGI、PHP、shockwave、Java(登録商標)アプレット、JavaScript(登録商標)など様々な言語で作られたブラウザゲーム(Webブラウザで設置サイトを開くだけで起動するゲーム)を提供することができるようになっている。
なお、ソーシャルゲームとは、既存のオンラインゲームとは違い、専用のクライアントソフトウェアを必要とせず、WebブラウザとSNSのアカウントのみで利用可能なゲームが含まれる。また、サーバ装置10は、ネットワークを介して他のユーザの端末(スマートフォン、パソコン、ゲーム機など)と接続し、オンラインで同時に同じゲーム進行を共有することができるオンラインゲームを提供することが可能な構成を有している。
一方、サーバ装置10は、1つの(装置、プロセッサ)で構成されていてもよいし、複数の(装置、プロセッサ)で構成されていてもよい。
そして、サーバ装置10の記憶領域(後述する記憶部140)に記憶される課金情報、ゲーム情報等の情報を、ネットワーク(イントラネット又はインターネット)を介して接続されたデータベース(広義には記憶装置、メモリ)に記憶するようにしてもよいし、S
NSサーバとして機能する場合には、記憶領域に記憶されるユーザ情報146等の情報を、ネットワーク(イントラネット又はインターネット)を介して接続されたデータベース(広義には記憶装置、メモリ)に記憶するようにしてもよい。
具体的には、本実施形態のサーバ装置10は、端末装置20のユーザ(すなわち、ゲームを実行するプレーヤ)の操作に基づく入力情報を受信し、受信した入力情報に基づいてゲーム処理を行うようになっている。
そして、サーバ装置10は、ゲーム処理結果を端末装置20に送信する。なお、端末装置20は、サーバ装置10から受信したゲーム処理結果を端末装置20にユーザに閲覧可能に提供する各種の処理を行う構成を有している。
端末装置20は、スマートフォン、携帯電話、PHS、コンピュータ、ゲーム装置、PDA、携帯型ゲーム機等、画像生成装置などの情報処理装置であり、インターネット(WAN)、LANなどのネットワークを介してサーバ装置10に接続可能な装置である。なお、端末装置20とサーバ装置10との通信回線は、有線でもよいし無線でもよい。
また、端末装置20は、Webページ(HTML形式のデータ)を閲覧可能なWebブラウザを備えている。すなわち、端末装置20は、サーバ装置10との通信を行うための通信制御機能、及びサーバ装置10から受信したデータ(Webデータ、HTML形式で作成されたデータなど)を用いて表示制御を行うとともに、ユーザ操作のデータをサーバ装置10に送信するWebブラウザ機能などを備え、ゲーム画面をユーザに提供する各種の処理を実行し、ユーザによってゲームを実行させるようになっている。ただし、端末装置20は、サーバ装置10から提供されたゲーム制御情報を取得して所定のゲーム処理を実行し、ゲーム処理に基づくゲームを実行してもよい。
具体的には、端末装置20は、所定ゲームを行う旨の要求をサーバ装置10に対して行うと、サーバ装置10のゲームサイトに接続され、ゲームが開始される。特に、端末装置20は、必要に応じてAPIを用いることにより、SNSサーバとして機能するサーバ装置10に所定の処理を行わせ、又は、SNSサーバとして機能するサーバ装置10が管理するユーザ情報146を取得させてゲームを実行する構成を有している。
2.サーバ装置
図2は、一実施形態におけるゲームサーバの構成を示す機能ブロック図の一例である。なお、図2は、本実施形態のサーバ装置10の機能ブロックを示す図である。また、本実施形態のサーバ装置10は図2の構成要素(各部)の一部を省略した構成としてもよい。
サーバ装置10は、管理者やその他の入力に用いるための入力部120、所定の表示を行う表示部130、所定の情報が記憶された情報記憶媒体180、端末装置20やその他と通信を行う通信部196、主に提供するゲームに関する処理を実行する処理部100、及び、主にゲームに用いる各種のデータを記憶する記憶部140を含む。
入力部120は、システム管理者等がゲームに関する設定やその他の必要な設定、データの入力に用いるものである。例えば、本実施形態の入力部120は、マウスやキーボード等によって構成される。
表示部130は、システム管理者用の操作画面を表示するものである。例えば、本実施形態の表示部130は、液晶ディスプレイ等によって構成される。
情報記憶媒体180(コンピュータにより読み取り可能な媒体)は、プログラムやデー
タなどを格納するものであり、その機能は、光ディスク(CD、DVD)、光磁気ディスク(MO)、磁気ディスク、ハードディスク、磁気テープ、或いはメモリ(ROM)などによって構成される。
通信部196は外部(例えば、端末、他のサーバや他のネットワークシステム)との間で通信を行うための各種制御を行うものであり、その機能は、各種プロセッサ又は通信用ASICなどのハードウェアや、プログラムなどによって構成される。
記憶部140は、処理部100や通信部196などのワーク領域となるもので、その機能は、RAM(VRAM)などによって構成される。なお、記憶部140に記憶される情報は、データベースで管理してもよい。
また、本実施形態においては、記憶部140には、提供するゲームに関する情報を示すゲーム情報144、提供するゲームに関しプレーヤとしてのユーザに関する情報を示すユーザ情報146、及び、その他ゲーム演算に必要な各種の情報が記憶される。
処理部100は、記憶部140内の主記憶部142をワーク領域として各種処理を行う。処理部100の機能は各種プロセッサ(CPU、DSP等)、ASIC(ゲートアレイ等)などのハードウェアや、プログラムにより実現できる。
処理部100は、情報記憶媒体180に格納されるプログラム(データ)に基づいて本実施形態の種々の処理を行う。即ち情報記憶媒体180には、本実施形態の各部としてコンピュータを機能させるためのプログラム(各部の処理をコンピュータに実行させるためのプログラム)が記憶される。
例えば、処理部100(プロセッサ)は、情報記憶媒体に記憶されているプログラムに基づいて、サーバ装置10全体の制御を行うとともに、各部間におけるデータ等の受け渡しの制御などの各種の処理を行う。さらに、端末装置20からの要求に応じた各種サービスを提供する処理を行う。
具体的には、本実施形態の処理部100は、通信制御部101、Web処理部102及びゲーム管理部104を少なくとも有している。
通信制御部101は、端末装置20とネットワークを介してデータを送受信する処理を行う。すなわち、サーバ装置10は、通信制御部101によって端末装置20等から受信した情報に基づいて各種処理を行う。
特に、本実施形態の通信制御部101は、ユーザの端末装置20からの要求に基づいて、ゲーム画面を、当該ユーザの端末装置20に送信する処理を行う。
Web処理部102は、Webサーバとして機能する。例えば、Web処理部102は、HTTP(Hypertext Transfer Protocol)等の通信プロトコルを通じて、端末装置20にインストールされているWebブラウザの要求に応じてデータを送信する処理、及び、端末装置20のWebブラウザによって送信されるデータを受信する処理を行う。
なお、本実施形態では、サーバ装置10がSNSサーバとしての機能も備えていている場合を例にとり説明するが、サーバ装置10を、ゲーム用のサーバと、SNS用のサーバと別々に形成してもよい。また、本実施形態のゲームの処理は、サーバ装置10が一部又は全部を行ってもよいし、端末装置20が一部を行ってもよい。
ゲーム管理部104は、端末装置20と連動し、当該端末装置20を介して入力されたプレーヤの操作に基づいて、各プレーヤにおいてロールプレーイングゲーム(RPG)や対戦ゲームに関するゲーム処理を実行するとともに、各ユーザのゲームの進行状況やアイテム管理などの各ユーザにおいて使用するキャラクタ(「ユニット」とも言うことができる。)及び各種のアイテムを含むユーザ情報146を管理する。
また、ゲーム管理部104は、後述するように、各プレーヤキャラクタの配置などの所定の操作が実行された場合に、当該操作を含むユーザが設定した各種のデータに基づいて自動的にゲームを実行するための自動演算処理を実行し、端末装置20で再生するためのデータを生成し、生成したデータを端末装置20に提供する。
3.端末装置
図3は、一実施形態における端末装置の構成を示す機能ブロック図の一例であり、図4は、一実施形態における端末装置の外観を示す図の一例である。なお、本実施形態の端末装置20は図3の構成要素(各部)の一部を省略した構成としてもよい。
入力部260は、プレーヤが操作データを入力するためのものであり、その機能は、タッチパネル若しくはタッチパネル型ディスプレイ、十字キーやテンキーなどの所定の操作キー、又は、コントローラなどにより実現できる。
例えば、入力部260がタッチパネルやタッチパネル型ディスプレイによって構成されている場合には、画像が表示される画面上における2次元の指示位置座標(x,y)を検出可能な検出部262を備えている。例えば、入力部260は、接触検出領域(タッチパネル)における、2次元の接触位置座標(x,y)を検出可能な検出部262を備えている。
また、本実施形態において、接触位置は、プレーヤの接触操作(直接的な接触及びポインティングデバイスによる間接的な接触も含む)により、接触検出領域から得られる位置情報である。
なお、本実施形態のプレーヤの接触操作には、ユーザの指によるタッチパネル12上への直接的なタッチ操作又はスライド操作、及び、ポインティングデバイスなどのデバイスを介して実行される間接的なタッチパネル12上へのタッチ操作又はスライド操作の他に、タッチパネル12に直接的及び間接的にタッチ操作又はスライド操作をせずに、タッチパネル12上への擬似的なタッチ操作又はスライド操作も含まれる。
例えば、擬似的なタッチ操作又はスライド操作とは、
(1)赤外線などの光ビームをタッチパネル面と平行に当該タッチパネル面に近接した位置で照射し、当該タッチパネル12の一端部に縦横方向に一定間隔に形成される複数の照射部と、各照射部と対を構成し、当該各照射部に対向するタッチパネルの他端部に設けられ、各照射された光ビームをそれぞれ受信する複数のセンサとによって、タッチパネル12に接触又は近接した際に光ビームが遮断された縦横の座標を検出し、当該検出した座標に基づいて認識するタッチ操作又はスライド操作、及び、
(2)タッチパネル12の表示面を撮像するカメラを設け、当該カメラによってユーザがタッチパネル12に接触又は近接した位置座標を検出し、当該検出した位置座標に基づいて認識するタッチ操作又はスライド操作、
などタッチパネル12に実際に接触することによって又は近接させて検出することによって認識するタッチ操作又はスライド操作を含む。
また、接触検出領域に同時に複数の接触位置が検出される場合には、いずれか1つの接
触位置(先に検出された接触位置)を用いるようにしてもよいし、複数の接触位置を同時に処理してもよい。
なお、接触検出領域に複数の判定領域が存在する場合には、各判定領域において、1つの接触位置(先に検出された接触位置)を用いるようにしてもよい。また、判定領域とは、取得した接触位置のうち、移動制御など処理部200で処理するための接触位置を予め特定する接触検出領域上の範囲である。
特に、本実施形態では、図4(A)及び(B)に示すタッチパネル(表示画面、ディスプレイ)12は、液晶ディスプレイと、プレーヤ(操作者、ユーザ)の接触位置を検出するためのタッチパネルセンサとが積層されたタッチパネル型ディスプレイとなっている。すなわち、本実施形態では、タッチパネル12が入力部260として機能するとともに表示部290としても機能する。
なお、表示画面(以下、特別な場合を除き「タッチパネル」という。)12への接触操作は、指先を用いて行うようにしてもよいし、タッチペンなどの入力デバイスを用いて行うようにしてもよい。
また、入力部260は、指示位置以外の操作情報(操作信号)を入力可能なボタンやレバー、キーボード、ステアリング、マイク、加速度センサなどを備えていてもよい。
記憶部270は、処理部200や通信部296などのワーク領域となるもので、その機能はRAM(VRAM)などにより実現できる。そして、本実施形態の記憶部270は、ワーク領域として使用される主記憶部271と、最終的な表示画像等が記憶される画像バッファ272と、提供するゲームに関しプレーヤとしてのユーザに関する情報を示すユーザ情報273と、テーブルデータなどのゲームを実行する上で必要な各種のデータを記憶するゲームデータ記憶部274と、を含む。なお、これらの一部を省略する構成としてもよいし、サーバ装置10の記憶部140がその一部を構成してもよい。
特に、ゲームデータ記憶部274には、
(1)ゲームに用いるキャラクタやコマ(将棋やチェスのコマ)などのプレーヤのキャラクタ(以下、「プレーヤキャラクタ」という。)及び対戦ゲームの敵側(コンピュータ(CPU)や他のプレーヤ)のキャラクタ(以下、「敵キャラクタ」という。)として用いるキャラクタに関するデータ
(2)プレーヤキャラクタや敵キャラクタに設定するアイテムや実行させるためのコマンド(以下、まとめて「コマンド」ともいう。)及びそれに関するデータ、及び、
(3)対戦ゲームが実行される複数のフィールド及び各フィールドの各マスの地形属性を示す地形属性情報など各フィールドに関するデータ
が記憶される。
なお、各キャラクタに関するデータには、例えば、各キャラクタの攻撃力、攻撃特性、防御力、防御特性などの攻撃や防御に関する特性又は能力を示すキャラクタに関する特性(以下、「キャラクタ特性」、「キャラクタ属性」ともいう。)、「接近戦型」、「長距離戦型」、「中距離戦型」などのゲーム上の役割に応じて設定された属性、複数のマスから構成されるフィールド(マップ)の移動可能範囲を示す移動特性に関するデータ等が含まれる。
また、攻撃力や防御力としては、例えば、10段階や5段階のパラメータ、又は、3桁の数字などのパラメータが規定されており、当該パラメータの値によって攻撃や防御する際のヒットポイントの演算に用いられる。
さらに、攻撃特性又は防御特性としては、例えば、対象キャラクタから2マス以内の四方に攻撃を可能とする移動単位としてのマスに基づく攻撃範囲や防御範囲、又は、魔法、アイテムやコンボ攻撃などの攻撃の種別や防御の種別が規定される。
一方、ユーザ情報273には、
(1)ゲーム実行中のプレーヤキャラクタ及びそれに関するデータ、
(2)プレーヤと対戦ゲームで対戦中の敵キャラクタ及びそれに関するデータ、及び、
(3)上記以外のゲームの進行に必要なプレーヤに関するデータ、
が記憶される。
例えば、プレーヤキャラクタに関するデータとしては、プレーヤがゲームを進行させるために当該プレーヤが有する複数のプレーヤキャラクタの中から、ゲーム内で使用する複数のプレーヤキャラクタをプレーヤキャラクタ群として設定したデッキのデータ(以下、「デッキデータ」ともいう。)が含まれる。
また、敵キャラクタに関するデータとしては、同様に、プレーヤと対戦する複数の他の敵キャラクタの中から、ゲーム内で使用する複数の敵キャラクタを敵キャラクタ群として設定したデッキデータが含まれる。
情報記憶媒体280(コンピュータにより読み取り可能な媒体)は、プログラムやデータなどを格納するものであり、その機能は、光ディスク(CD、DVD)、光磁気ディスク(MO)、磁気ディスク、ハードディスク、磁気テープ、或いはメモリ(ROM)などにより実現できる。
また、情報記憶媒体280には、本実施形態の各部としてコンピュータを機能させるためのプログラム(各部の処理をコンピュータに実行させるためのプログラム)を記憶することができる。なお、処理部200は、後述するように、情報記憶媒体280に格納されるプログラム(データ)に基づいて本実施形態の種々の処理を行う。
表示部290は、本実施形態により生成された画像を出力するものであり、その機能は、CRT、LCD、タッチパネル型ディスプレイ、或いはHMD(ヘッドマウントディスプレイ)などにより実現できる。
特に、本実施形態では表示部290は、タッチパネルディスプレイを用いることによりプレーヤがゲーム操作を行う入力部260としても機能する。ここでタッチパネルとして、例えば抵抗膜方式(4線式、5線式)、静電容量方式、電磁誘導方式、超音波表面弾性波方式、赤外線走査方式などのタッチパネルを用いることができる。
音出力部292は、本実施形態により生成された音を出力するものであり、その機能は、スピーカ、或いはヘッドフォンなどにより実現できる。
通信部296は、外部(例えばホスト装置や他の端末装置)との間で通信を行うための各種制御を行うものであり、その機能は、各種プロセッサ又は通信用ASICなどのハードウェアや、プログラムなどにより実現できる。
なお、端末装置20は、サーバ装置10が有する情報記憶媒体や記憶部270に記憶されている本実施形態の各部としてコンピュータを機能させるためのプログラムやデータを、ネットワークを介して受信し、受信したプログラムやデータを情報記憶媒体280や記憶部270に記憶してもよい。このようにプログラムやデータを受信して端末装置20を
機能させる場合も本発明の範囲内に含めることができる。
処理部200(プロセッサ)は、入力部260からの入力データやプログラムなどに基づいて、サーバ装置10と連動して、ゲーム処理、画像生成処理、或いは音生成処理などの処理を行う。
特に、本実施形態においては、ゲーム処理としては、ゲーム開始条件が満たされた場合にゲームを開始する処理、ゲームを進行させる処理、プレーヤオブジェクト、敵オブジェクトなどのオブジェクトを配置する処理、オブジェクトを表示する処理、ゲーム結果を演算する処理、或いはゲーム終了条件が満たされた場合にゲームを終了する処理などが含まれる。
また、処理部200は、記憶部270をワーク領域として各種処理を行う。処理部200の機能は、各種プロセッサ(CPU、DSP等)、ASIC(ゲートアレイ等)などのハードウェアや、プログラムにより実現できる。
特に、本実施形態の処理部200は、オブジェクト空間設定部210と、操作検出処理部211と、表示制御部212と、移動処理部214と、ゲーム演算部215と、仮想カメラ制御部216と、ゲーム管理部217と、描画部220と、音処理部230とを含む。また、これらの一部を省略する構成としてもよい。
なお、例えば、本実施形態の表示制御部212は、本発明の表示制御手段を構成し、 本実施形態の移動処理部214及びゲーム演算部215は、本発明の行動制御手段を構成し、本実施形態のゲーム演算部215は、本発明の対戦制御手段、調節手段を構成する。
オブジェクト空間設定部210は、オブジェクト(プレーヤオブジェクト、移動体、敵オブジェクト)、移動経路、建物、樹木、柱、壁、マップ(地形)などの表示物を表す各種オブジェクト(スプライト、ビルボード、ポリゴン、自由曲面又はサブディビジョンサーフェスなどのプリミティブ面で構成されるオブジェクト)をオブジェクト空間(以下、「ゲーム空間」ともいう。)に配置設定する処理を行う。
具体的にはオブジェクト空間設定部210は、オブジェクト(モデルオブジェクト)の位置や回転角度(向き、方向と同義)を決定し、その位置(X、Y)或いは(X、Y、Z)にその回転角度(X、Y軸回りでの回転角度)或いは(X、Y、Z軸回りでの回転角度)でオブジェクトを配置する。
なお、オブジェクト空間とは、いわゆる仮想2次元空間、仮想3次元空間の両方を含む。2次元空間とは、例えば2次元座標(X,Y)においてオブジェクトが配置される空間であり、3次元空間とは、例えば3次元座標(X,Y,Z)においてオブジェクトが配置される空間である。
また、オブジェクト空間を2次元空間とした場合には、複数のオブジェクトそれぞれについて設定された優先順位に基づいてオブジェクトを配置する。例えば、奥側にあるように見せたいオブジェクト(スプライト)から順にオブジェクトを配置し、手前側にあるように見せたいオブジェクトを重ねて配置する処理を行うことができる。
そして、描画サイズが大きなオブジェクトを画像の下方に配置し、描画サイズが小さなオブジェクトを画像の上方に配置すれば、画面の上方に対応するオブジェクト空間が奥側にあるように見せることができ、画面の下方に対応するオブジェクト空間が手前側にあるように見せることができる。
一方、オブジェクト空間を3次元空間とした場合には、ワールド座標系にオブジェクトを配置する。
操作検出処理部211は、プレーヤが入力部260から入力した入力情報の認識処理を行う。具体的には、本実施形態の操作検出処理部211は、タッチ操作入力を検出する場合には、入力部260によって入力された指示位置を取得する。
例えば、操作検出処理部211は、タッチ操作入力を検出する場合には、プレーヤの接触操作(すなわち、タッチ操作)を検出する接触検出領域(タッチパネル)における接触位置(2次元の接触位置座標)を指示位置として取得する。
すなわち、操作検出処理部211は、プレーヤが指でタッチパネル12にタッチ(以下、「タッチ操作入力」という。)し、当該タッチした状態を維持しつつ、タッチ位置を移動して最後にタッチパネル12から離す操作(すなわち、スライド操作)を行う期間に相当する接触操作期間中(スライド操作期間中)における接触位置(指示位置)を取得する。
特に、操作検出処理部211は、
(1)画面へのタッチ操作入力されていない状態(以下、「無接触状態」という。)からタッチ操作入力された状態(以下、「接触状態」という。)への第1の変化(以下、「状態変化」という。)を検出するとともに、当該状態変化が実行された検出位置(以下、「基準位置」ともいう。)を検出する第1の検出処理、及び、
(2)第1の変化の検出後であって当該第1の変化を検出した際(すなわち、無接触状態から接触状態に状態変化した際)のタッチ操作入力が継続されて(すなわち、接触状態が継続されて)スライド操作による入力(以下、「スライド操作入力」という。)が実行されている場合に、当該スライド操作入力の変化(すなわち、指示位置及び当該指示位置の変化)を第2の変化として検出する第2の検出処理、
(3)スライド操作入力中に、画面へのタッチ操作入力がされていない状態(すなわち、スライド操作入力が終了して無接触状態となった場合)を検出する第3の検出処理
を実行する。
また、操作検出処理部211は、所定の周期毎に入力された指示位置を取得する。具体的には、所定の周期とはフレーム毎、例えば、1/60秒〜1/120秒程度とすることができる。
表示制御部212は、タッチパネル12上に、プレーヤの指示に基づいて実行されるゲームに関するコンテンツを表示する。特に、表示制御部212は、ゲームの進行に応じて、又は、プレーヤの操作入力(例えば、タッチ操作入力やスライド操作入力)に応じてタッチパネル12上に表示されるコンテンツの表示領域部分をスクロールさせて移動させるスクロール表示処理を制御する。
なお、本実施形態の「コンテンツ」は、ゲーム(具体的には、ゲームの実行中にゲーム上に構築されるオブジェクト空間)、又は、ゲームに関する所与の設定を行うメニューなどのタッチパネルの画面上に表示可能に形成されるコンテンツであって、当該画面上に表示される部分であると、画面外において非表示となる部分と、から構成されている。
移動処理部214は、オブジェクト空間内におけるオブジェクト(特に、プレーヤキャラクタ、敵キャラクタ又はそれ以外の移動体オブジェクト)の移動演算を行う。すなわち、移動処理部214は、入力部260によりプレーヤが入力した入力データ(モーション
データ含む)、選択されたプレーヤキャラクタ及びそれに対して受け付けたキャラクタ用コマンド、及び、敵キャラクタを移動させるためのプログラム(移動アルゴリズム)などに基づいて、オブジェクトをオブジェクト空間内で移動させ、又は、オブジェクトの動作(モーション、アニメーション)を制御するための処理を行う。
特に、本実施形態の移動処理部214は、オブジェクトの移動情報(移動方向、移動量、移動速度、位置、回転角度、或いは加速度)や動作情報(各パーツオブジェクトの位置、或いは回転角度)を、1フレーム毎に順次求めるシミュレーション処理を行う。ここでフレームとは、オブジェクトの移動処理、動作処理(シミュレーション処理)や画像生成処理を行う時間の単位である。そして、本実施形態では、フレームレートは、固定としてもよいし、処理負荷に応じて可変としてもよい。
なお、移動処理部214は、3次元のオブジェクト空間において入力方向に基づいてオブジェクトを移動させる処理を行ってもよい。例えば、予め、入力方向毎に移動方向を対応づけ、入力方向に対応する移動方向にオブジェクトを移動させる。
一方、移動処理部214は、プレーヤの操作に基づいて、デッキに設定されたプレーヤキャラクタ及び敵キャラクタのマップ内の移動制御、及び、それに伴う他のプレーヤキャラクタや敵キャラクタの移動制御処理を行う。
ゲーム演算部215は、種々のゲーム演算処理を行う。例えば、ゲーム演算部215は、プレーヤの指示に基づいてゲームに使用される複数のプレーヤキャラクタがデッキに設定されると、当該デッキに設定された各プレーヤキャラクタを用いてゲームを進行させるための各処理を実行する。
具体的には、ゲーム演算部215は、複数のマスから構成されるマップに基づくオブジェクト空間の形成、RPGの場合には、ユーザの操作に応じて予め設定されたシナリオに基づくゲームの進行、プレーヤキャラクタと敵キャラクタとの対戦、及び、当該対戦時のパラメータ管理などのゲームを実行する上で必要な演算処理を行う。
一方、ゲーム演算部215は、プレーヤキャラクタ及び敵キャラクタの移動が完了すると、攻撃ターン、防御ターン又は攻撃及び防御ターン毎に対戦ゲームを自動的に進行させるためのゲームの演算を実行する。なお、ゲーム演算部215は、プレーヤが指示したタイミング毎に対戦ゲームを自動的に進行させるためのゲームの演算を実行してもよい。
なお、ゲーム演算部215は、リアルタイムに入力されたプレーヤからの操作入力に基づいてゲームの演算を実行して当該ゲームを進行させてもよい。
また、ゲーム演算部215は、サーバ装置10と連動して実行するが、その一部又は全部がサーバ装置10に形成されていてもよい。
仮想カメラ制御部216は、所与の視点から見える画像であって、奥行きがあるように見える画像を生成する。この場合に、仮想カメラ制御部216が、オブジェクト空間内の所与(任意)の視点から見える画像を生成するための仮想カメラ(視点)の制御処理を行う。具体的には、仮想カメラの位置(X、Y、Z)又は回転角度(X、Y、Z軸回りでの回転角度)を制御する処理(視点位置や視線方向を制御する処理)を行う。
例えば、仮想カメラによりオブジェクト(例えば、プレーヤキャラクタ、敵キャラクタ、ボール又は車)を後方から撮影する場合には、オブジェクトの位置又は回転の変化に仮想カメラが追従するように、仮想カメラの位置又は回転角度(仮想カメラの向き)を制御
する。
この場合には、移動処理部214で得られたオブジェクトの位置、回転角度又は速度などの情報に基づいて、仮想カメラを制御できる。或いは、仮想カメラを、予め決められた回転角度で回転させたり、予め決められた移動経路で移動させたりする制御を行ってもよい。また、この場合には、仮想カメラの位置(移動経路)又は回転角度を特定するための仮想カメラデータに基づいて仮想カメラを制御する。
なお、仮想カメラ(視点)が複数存在する場合には、それぞれの仮想カメラについて上記の制御処理が行われる。
ゲーム管理部217は、入力部260を介して入力されたプレーヤの操作に基づいて、各プレーヤにおいて対戦ゲーム等のゲームに使用するプレーヤキャラクタ及び各種のアイテムを設定し、ユーザ情報273に登録する。
特に、ゲーム管理部217は、デッキを用いてゲームを実行する場合には、設定されたプレーヤキャラクタ及び各種のアイテムをデッキデータとしてユーザ情報273に登録する。
描画部220は、処理部200で行われる種々の処理(ゲーム処理)の結果に基づいて描画処理を行い、これにより画像を生成し、表示部(ディスプレイ)290に出力する。描画部220が生成する画像は、いわゆる2次元画像であってもよいし、いわゆる3次元画像であってもよい。特に、描画部220は、オブジェクト空間における仮想カメラから見える画像であって、画面上に表示する画像を生成する。
ここで2次元画像を生成する場合には、描画部220は、設定された優先度が低いオブジェクトから順に描画して、オブジェクト同士が重なる場合には、優先度の高いオブジェクトを上書きして描画する。
また、3次元画像を生成する場合には、本実施形態の描画部220は、まずオブジェクト(モデル)の各頂点の頂点データ(頂点の位置座標、テクスチャ座標、色データ、法線ベクトル或いはα値等)を含むオブジェクトデータ(モデルデータ)が入力され、入力されたオブジェクトデータに含まれる頂点データに基づいて、頂点処理が行われる。なお、頂点処理を行うに際して、必要に応じてポリゴンを再分割するための頂点生成処理(テッセレーション、曲面分割、ポリゴン分割)を行うようにしてもよい。
また、頂点処理では、頂点の移動処理や、座標変換(ワールド座標変換、カメラ座標変換)、クリッピング処理、透視変換、あるいは光源処理等のジオメトリ処理が行われ、その処理結果に基づいて、オブジェクトを構成する頂点群について与えられた頂点データを変更(更新、調整)する。そして、頂点処理後の頂点データに基づいてラスタライズ(走査変換)が行われ、ポリゴン(プリミティブ)の面とピクセルとが対応づけられる。そしてラスタライズに続いて、画像を構成するピクセル(表示画面を構成するフラグメント)を描画するピクセル処理(フラグメント処理)が行われる。
ピクセル処理では、テクスチャの読出し(テクスチャマッピング)、色データの設定/変更、半透明合成、アンチエイリアス等の各種処理を行って、画像を構成するピクセルの最終的な描画色を決定し、透視変換されたオブジェクトの描画色を画像バッファ272(フレームバッファ、ピクセル単位で画像情報を記憶できるバッファ。VRAM、レンダリングターゲット)に出力(描画)する。すなわち、ピクセル処理では、画像情報(色、法線、輝度、α値等)をピクセル単位で設定あるいは変更するパーピクセル処理を行う。
これにより、オブジェクト空間内に設定された仮想カメラ(所与の視点)から見える画像が生成される。なお、仮想カメラ(視点)が複数存在する場合には、それぞれの仮想カメラから見える画像を分割画像として1画面に表示できるように画像を生成することができる。
なお、描画部220が行う頂点処理やピクセル処理は、シェーディング言語によって記述されたシェーダプログラムによって、ポリゴン(プリミティブ)の描画処理をプログラム可能にするハードウェア、いわゆるプログラマブルシェーダ(頂点シェーダやピクセルシェーダ)により実現されてもよい。プログラマブルシェーダでは、頂点単位の処理やピクセル単位の処理がプログラム可能になることで描画処理内容の自由度が高く、ハードウェアによる固定的な描画処理に比べて表現力を大幅に向上させることができる。
そして、描画部220は、オブジェクトを描画する際に、ジオメトリ処理、テクスチャマッピング、隠面消去処理、αブレンディング等を行う。
ジオメトリ処理では、オブジェクトに対して、座標変換、クリッピング処理、透視投影変換、或いは光源計算等の処理を行う。そして、ジオメトリ処理後(透視投影変換後)のオブジェクトデータ(オブジェクトの頂点の位置座標、テクスチャ座標、色データ(輝度データ)、法線ベクトル、或いはα値等)を記憶部270に記憶する。
テクスチャマッピングでは、記憶部270のテクスチャ記憶部に記憶されるテクスチャ(テクセル値)をオブジェクトにマッピングする処理を行う。具体的には、オブジェクトの頂点に設定(付与)されるテクスチャ座標等を用いて記憶部270のテクスチャ記憶部からテクスチャ(色(RGB)、α値などの表面プロパティ)を読み出し、2次元の画像であるテクスチャをオブジェクトにマッピングする。この場合に、ピクセルとテクセルとを対応づける処理や、テクセルの補間としてバイリニア補間などを行う。
なお、本実施形態では、オブジェクトを描画する際に、所与のテクスチャをマッピングする処理を行うようにしてもよい。この場合には、マッピングされるテクスチャの色分布(テクセルパターン)を動的に変化させることができる。
また、この場合において、色分布(ピクセルパターン)が異なるテクスチャを動的に生成してもよいし、複数の色分布が異なるテクスチャを予め用意しておき、使用するテクスチャを動的に切り替えるようにしてもよい。またオブジェクト単位でテクスチャの色分布を変化させてもよい。
隠面消去処理では、描画ピクセルのZ値(奥行き情報)が格納されるZバッファ(奥行きバッファ)を用いたZバッファ法(奥行き比較法、Zテスト)による隠面消去処理を行う。すなわち、オブジェクトのプリミティブに対応する描画ピクセルを描画する際に、Zバッファに格納されるZ値を参照するとともに、当該参照されたZバッファのZ値と、プリミティブの描画ピクセルでのZ値とを比較し、描画ピクセルでのZ値が、仮想カメラから見て手前側となるZ値(例えば小さなZ値)である場合には、その描画ピクセルの描画処理を行うとともにZバッファのZ値を新たなZ値に更新する。
αブレンディング(α合成)では、描画部220は、α値(A値)に基づく半透明合成処理(通常αブレンディング、加算αブレンディング又は減算αブレンディング等)を行う。なお、α値は、各ピクセル(テクセル、ドット)に関連づけて記憶できる情報であり、例えば色情報以外のプラスアルファの情報である。α値は、マスク情報、半透明度(透明度、不透明度と等価)、バンプ情報などとして使用できる。
特に、本実施形態での描画部220は、接触検出領域に対応する表示領域に表示させる画像を生成してもよい。表示領域に表示させる画像とは、例えばオブジェクトを含む画像でもよい。
音処理部230は、処理部200で行われる種々の処理の結果に基づいて音処理を行い、BGM、効果音、又は音声などのゲーム音を生成し、音出力部292に出力する。
なお、本実施形態の端末装置20は、1人のプレーヤがコンピュータと戦闘するシングルプレーヤモード専用のシステムにしてもよいし、複数のプレーヤがプレーヤキャラクタ群を構成し、又は、敵と味方に分かれて戦闘する対人プレイモード(マルチプレーヤモード)も備えるシステムにしてもよい。
また、複数のプレーヤがプレーする場合に、これらの複数のプレーヤに提供するゲーム画像やゲーム音を、1つの端末装置20を用いて生成してもよいし、ネットワーク(伝送ライン、通信回線)などで接続された複数の端末装置20又はサーバ装置10を用いて分散処理により生成してもよい。
4.本実施形態の手法
4−1.概要
以下、本実施形態の手法の概要について説明する。
(1)端末装置20の移動処理部214は、図6〜図10に示すとおり、プレーヤからの指示に応じて、オブジェクト空間としてのゲームフィールド1500へプレーヤキャラクタを投入する。表示制御部212は、プレーヤの指示に応じて投入された少なくとも1つのプレーヤキャラクタを含むプレーヤキャラクタ群(味方キャラクタ群の一例)が所与のゲームフィールド1500で敵キャラクタ群(相手キャラクタ群の一例)と戦闘する戦闘画像を生成する。表示制御部212が生成した戦闘画像は、画像バッファ272を介して表示部290へ送出される。よって、表示部290には図7〜図10に示すような戦闘画像が表示される(なお、図7〜図10では、銃砲弾、煙、炎などの演出用の動画像の表示を省略した。)。
(2)端末装置20の移動処理部214は、ゲームフィールド1500におけるプレーヤキャラクタ及び敵キャラクタの各々の戦闘に係る行動を、キャラクタごとに設定されたキャラクタ属性に基づき制御する。「戦闘に係る行動」には、対戦相手の選定、攻撃内容の設定、攻撃頻度の設定、攻撃の回数の設定、対戦相手への攻撃、防御などの戦闘行動が含まれてもよいし、移動方向の選定、移動速度の設定、移動経路の選定などの移動行動が含まれてもよい。また、「攻撃」には、例えば、攻撃する側の攻撃力と攻撃される側の防御力とに応じて、攻撃される側の体力を減算することが含まれる。また、「攻撃」には、例えば、攻撃の回数に応じて、攻撃する側の弾数を減算することが含まれる。また、「キャラクタ属性」は、ゲームフィールドにおけるキャラクタの移動行動の傾向や、キャラクタの対戦相手に対する戦闘行動の傾向などを規定する、キャラクタの基本的な特性のことである。キャラクタ属性の詳細は、ゲームデータ記憶部274に予め記憶されている。キャラクタの移動行動は、例えば、移動処理部214によって制御され、キャラクタの戦闘行動は、例えば、ゲーム演算部215によって制御される。
(3)端末装置20のゲーム演算部215は、ゲームフィールド1500で対戦するプレーヤキャラクタと敵キャラクタとの間の戦闘の効果を、当該プレーヤキャラクタのキャラクタ属性と当該敵キャラクタのキャラクタ属性との組み合わせに設定された戦闘相性に基づき制御する。「戦闘相性」は、対戦相手との優劣関係、強弱関係を示す特性のことであり、「戦闘の効果」は、キャラクタの保有する例えば攻撃力、防御力が対戦相手に与え
る効果のことである。よって、例えば、キャラクタが対戦相手に与える攻撃力や防御力などの効果は、対戦相手に対する当該キャラクタの戦闘相性が「優勢」であるときには増幅され、対戦相手に対する当該キャラクタの戦闘相性が「劣勢」であるときには抑制され、対戦相手に対する当該キャラクタの戦闘相性が「対等」であるときには維持される。この戦闘相性は、対戦相手への効果の程度で表すことも可能であるし、「劣勢」、「対等」、「優勢」などの言葉で表すことも可能である。
(4)端末装置20のゲーム演算部215は、対戦に係るプレーヤキャラクタ及び敵キャラクタの状況に応じて、当該プレーヤキャラクタ及び当該敵キャラクタの戦闘相性を調節する。ここで「キャラクタの状況」は、キャラクタの保有するパラメータと、キャラクタの環境との少なくとも一方であってもよく、例えば、対戦相手までの距離(対戦距離)、キャラクタの位置(対戦位置)の環境、アイテム装備(弾切れの有無など)、スキル発動状態、のうち少なくとも1つが含まれる。なお、ゲームフィールド1500の各マス(後述)に地形属性が設定されている場合には、キャラクタの位置するマスの地形属性をキャラクタの環境の1つとしてもよい。なお、戦闘相性の調節は、後述する例外処理に相当する。
4−2.具体的な手法
4−2−1.プレイモード等
ここでは、端末装置20の操作者であるプレーヤがシングルプレイモードで戦闘シミュレーションゲームを実行する場合を説明する。シングルプレイモードは、端末装置20の処理部200(主にゲーム演算部215)が仮想的な敵プレーヤの操作を自動計算して敵キャラクタを制御するモードである。なお、対人プレイモードで戦闘シミュレーションゲームを実行することも可能であるが、ここでの説明は省略する。対人プレイモードは、端末装置20の操作者であるプレーヤが通信を介して他の端末装置20の操作者である敵プレーヤと対戦するモードである。
また、戦闘シミュレーションゲームは、カードやコマなどのキャラクタ又はゲーム内の仮想通貨若しくはコイン、経験値、ヒットポイント、ライフエネルギー、攻撃パラメータや恋愛ゲームの感情パラメータなどのパラメータの争奪を行うゲームであってもよい、以下の説明においては、プレーヤキャラクタ群と敵キャラクタ群との間でパラメータを争奪する戦闘シミュレーションゲームを例に挙げる。
4−2−2.デッキデータの設定
戦闘シミュレーションゲームの開始前には、予め、プレーヤのデッキデータ、敵のデッキデータの各々の設定が行われる。プレーヤのデッキデータ及び敵のデッキデータには、例えば、キャラクタ属性の異なる3種類のキャラクタが設定される。プレーヤのデッキデータに設定されるプレーヤキャラクタ(プレーヤキャラクタ群)の数と、敵のデッキデータに設定される敵キャラクタ(敵キャラクタ群)の数とは、例えば共通の数に設定される。プレーヤのデッキデータ、敵のデッキデータは、それぞれユーザ情報273に書き込まれる。
そして、戦闘シミュレーションゲームが開始されると、ゲーム演算部215は、プレーヤのデッキデータに設定されたプレーヤキャラクタ群のうち、例えばランダムに選択した3つのプレーヤキャラクタを選択し、ゲームフィールド1500へ投入可能なプレーヤキャラクタの候補として表示部290の待機エリア1600へ配置する。端末装置20の表示制御部212は、待機エリア1600の画像を表示部290へ表示させる。
プレーヤは、表示部290の待機エリア1600に配置された3つの候補のうち1つを選択してゲームフィールド1500へ投入することができる。なお、3つの候補のうち1
つがゲームフィールド1500へ投入されると、端末装置20のゲーム演算部215は、プレーヤのデッキデータに設定されたプレーヤキャラクタの何れか1つを、待機エリア1600の新たな候補として補充する。
なお、表示制御部212は、属性の異なるキャラクタを区別するために、属性の異なるキャラクタ間の外形に差異を設ける。また、表示制御部212は、プレーヤキャラクタと敵キャラクタと互いに区別するために、両キャラクタの間で外形、模様、マークなどに差異を設けるものとする(以下も同様。)。
4−2−3.キャラクタの投入
ゲーム演算部215は、入力部260及び操作検出処理部211を介して入力されたプレーヤの指示に応じて、待機エリア1600に表示された候補のうち何れか1つであるプレーヤキャラクタを、ゲームフィールド1500へ投入し、かつ行動させる(図6参照)。また、端末装置20のゲーム演算部215は、所与のアルゴリズムに応じて、敵のデッキデータに設定された何れかの敵キャラクタを、ゲームフィールド1500へ投入し、かつ行動させる(図7参照)。端末装置20の表示制御部212は、ゲームフィールド1500で行動するプレーヤキャラクタ及び敵キャラクタの画像(戦闘画像)を表示部290へ表示させる。
プレーヤキャラクタのゲームフィールド1500に対する投入タイミング、配置先、及び移動方向は、プレーヤによって指定される。例えば、プレーヤは、図6に示すとおり、表示部290の待機エリア1600に配置された複数の候補の何れかのプレーヤキャラクタをタッチ操作することで、当該プレーヤキャラクタを投入対象として指定する。また、プレーヤは、例えば、プレーヤキャラクタをドラッグアンドドロップ操作することで、ゲームフィールド1500におけるプレーヤキャラクタの投入タイミング、配置先、及び移動方向を指定する。但し、プレーヤキャラクタの配置先及び移動方向については、ゲーム演算部215及び移動処理部214が所与のアルゴリズムに応じて決定してもよい。
一方、敵キャラクタのゲームフィールド1500に対する投入タイミング、配置先、及び異動方向は、ゲーム演算部215及び移動処理部214が所与のアルゴリズムに応じて決定する。
4−2−4.対戦相手の選定
また、ゲームフィールド1500に投入されたプレーヤキャラクタの対戦相手(攻撃対象)は、プレーヤがタッチ操作などにより指定してもよいし、ゲーム演算部215及が所与のアルゴリズムに応じて決定してもよい。一方、ゲームフィールド1500に投入された敵キャラクタの対戦相手(攻撃対象)は、ゲーム演算部215が所与のアルゴリズムに応じて決定する。なお、プレーヤキャラクタの対戦相手は敵キャラクタであり、敵キャラクタの対戦相手として選定されるのは、プレーヤキャラクタである。
例えば、図8に示すとおり、ゲーム演算部215は、プレーヤキャラクタの当初の配置位置から当該プレーヤキャラクタの射程内に位置する敵キャラクタを、当該プレーヤキャラクタの対戦相手(攻撃対象)として選定する(図8の閉曲線イメージを参照。)。なお、プレーヤキャラクタの射程は、例えば、キャラクタ属性毎に予め決められている。また、キャラクタ属性の情報、キャラクタ属性毎の射程の情報などは、例えば、予めゲームデータ記憶部274に格納されている。
また、ゲーム演算部215は、敵キャラクタの当初の配置位置から当該敵キャラクタの射程内に位置するプレーヤキャラクタを、当該敵キャラクタの対戦相手(攻撃対象)として選定する。なお、敵キャラクタの射程は、例えば、キャラクタ属性毎に予め決められて
いる。また、キャラクタ属性の情報、キャラクタ属性毎の射程の情報などは、例えば、予めゲームデータ記憶部274に格納されている。
4−2−5.キャラクタの対戦
そして、ゲーム演算部215は、プレーヤキャラクタ又は敵キャラクタの対戦相手が選定されると、対戦に係るプレーヤキャラクタ及び敵キャラクタのパラメータ(攻撃力、体力、装備など)と、対戦に係るプレーヤキャラクタ及び敵キャラクタのキャラクタ属性とに基づき、プレーヤキャラクタと敵キャラクタとを対戦させ、パラメータの争奪処理を実行する。また、表示制御部212は、当該対戦の内容を表す演出用の動画像(銃砲弾、炎、煙など)や、当該対戦の内容を示すマーク(後述する矢印マークなど)を、ゲームフィールド1500の適当な箇所へ重畳表示する。
なお、キャラクタ属性の情報は、予めゲームデータ記憶部274に格納されているものとする。また、キャラクタごとのキャラクタ属性、キャラクタごとのパラメータは、ユーザ情報273において管理されるものとする。
そして、ゲーム演算部215は、ゲームフィールド1500における何れかのキャラクタの体力値が対戦の結果としてゼロとなった場合には、当該キャラクタをゲームフィールド1500から消滅させる。
また、ゲーム演算部215は、ゲームフィールド1500における何れかのキャラクタの体力値が対戦を経てもゼロとならず、かつ、当該キャラクタの対戦相手がゲームフィールド1500から消滅した場合には、例えば、当該キャラクタの次の対戦相手を自動的に選定して次の対戦を開始してもよい。
4−2−6.ゲーム終了条件について
また、ゲーム演算部215は、所与のゲーム終了条件が満たされた場合に、戦闘シミュレーションゲームを終了し、プレーヤキャラクタ群又は敵キャラクタ群の勝敗を判定する。
ここで、「ゲーム終了条件」は、例えば、プレーヤのデッキデータに設定されたプレーヤキャラクタ群が全滅すること、敵のデッキデータに設定された敵キャラクタ群が全滅すること、敵キャラクタ群の特定のキャラクタ(ボスキャラクタ)が消滅すること、プレーヤキャラクタ群の特定のキャラクタ(ボスキャラクタ)が消滅すること、戦闘シミュレーションゲームの開始から制限時間が経過すること、の何れかである。ゲーム演算部215は、ゲーム終了条件が満たされた時点において優勢であったキャラクタ群を、ゲームの勝者としてプレーヤへ通知する。優勢なキャラクタ群とは、例えば、体力値の合計値が大きかったキャラクタ群のことである。なお、プレーヤへの通知は、表示部290、音出力部292などを介して行われる。
なお、ここでは、ゲームフィールド1500内でプレーヤキャラクタと敵キャラクタとが対戦することを想定したが、プレーヤキャラクタが敵陣を攻撃したり、敵キャラクタがプレーヤ陣地を攻撃したりすることを想定してもよい。敵陣は、例えば、ゲームフィールド1500を二分してできる2つのエリアの一方(図6の上側エリア)のことであり、プレーヤ陣地は、当該2つのエリアの他方(図6の下側エリア)のことである。この場合、敵陣又はプレーヤ陣地の本丸(特定の設備)のダメージが一定以上となること、又は崩落することを、ゲーム終了条件としてもよい。
4−3.キャラクタ属性について
上述したとおり、プレーヤのデッキデータにおける個々のプレーヤキャラクタ、及び敵
のデッキデータにおける個々の敵キャラクタには、キャラクタ属性が設定されている。ここでは、3種類のキャラクタ属性を想定する。3種類のキャラクタ属性は、例えば、図5(a)に示すとおり、「接近戦型」と、「長距離戦型」と、「中距離戦型」との3つである。このキャラクタ属性がキャラクタの行動(移動行動や戦闘行動)の傾向を決める。3種類のキャラクタ属性の情報は、ゲームデータ記憶部274に予め記憶されている。キャラクタ属性間の戦闘相性等については後述する。
4−4.地形属性について
また、ゲームフィールド1500には、不図示のマスが密に配置されており、個々のマスが各キャラクタの移動の1単位となっている。マスの形状は、正方形、正六角形、自由形状などの何れが採用されてもよい。因みに、正方形のマスで構成されたゲームフィールド1500は、スクエア型マップと呼ばれ、正六角形で構成されたゲームフィールド1500は、ヘクス型マップと呼ばれ、自由形状で構成されたゲームフィールド1500は、プロヴァンス型マップと呼ばれる。そして、各マスには、地形属性(例えば、平地、草原、森、川、海、砂漠)などが設定されており、この地形属性が各キャラクタの行動に影響を与えるようになっている。なお、各マスの地形属性の情報は、ゲームデータ記憶部274に予め記憶されている。
4−5.属性に応じた行動制御
そして、移動処理部214は、ゲームフィールド1500における個々のキャラクタの移動(移動経路、移動速度など)を、当該キャラクタのキャラクタ属性、ゲームフィールド1500における対戦相手の位置、ゲームフィールド1500におけるマスの地形属性の分布などに応じて制御する。
また、ゲーム演算部215は、ゲームフィールド1500における個々のキャラクタの戦闘(対戦相手の選定、攻撃の内容、攻撃の頻度)を、当該キャラクタのキャラクタ属性、ゲームフィールド1500における対戦相手の位置、ゲームフィールド1500におけるマスの地形属性の分布などに応じて制御する。
例えば、ゲーム演算部215は、ゲームフィールド1500に投入されるキャラクタのキャラクタ属性が「長距離戦型」である場合には、当該キャラクタの対戦相手に対する攻撃の内容を、「長距離戦型」に特有の内容(長距離砲の砲撃など)に設定し、当該キャラクタの移動経路を、プレーヤ陣地内の水中(川又は海の地形属性を有するマス)に設定する。
例えば、端末装置20のゲーム演算部215は、ゲームフィールド1500に投入されるキャラクタのキャラクタ属性が「接近戦型」である場合には、当該キャラクタの対戦相手に対する攻撃の内容を、「接近戦型」に特有の内容(手榴弾の投げ込み、回避行動など)に設定し、当該キャラクタの移動経路を、陸上又は水中(平地、草原、森、川、海、又は砂漠の地形属性を有するマス)に設定する。
例えば、ゲーム演算部215は、ゲームフィールド1500に投入されるキャラクタのキャラクタ属性が「中距離戦型」である場合には、当該キャラクタの対戦相手に対する攻撃の内容を、「中距離戦型」に特有の内容(中距離砲の砲撃、体当たり攻撃など)に設定し、当該キャラクタの移動経路を、陸上(平地、草原、森、又は砂漠の地形属性を有するマス)に設定する。
4−6.戦闘相性の原則
図5(a)は、戦闘相性の原則を示す図の一例である。
図5(a)に示すとおり、3種類のキャラクタ属性「接近戦型」、「長距離戦型」、「中距離戦型」の間には、既定の戦闘相性(強弱関係、優劣関係ともいう。)が予め設定されている。この既定の戦闘相性の情報は、例えば、ゲームデータ記憶部274に格納される。既定の戦闘相性は、例えば、以下のとおりである。
キャラクタ属性「長距離戦型」に対してキャラクタ属性「接近戦型」は優勢であり、キャラクタ属性「中距離戦型」に対してキャラクタ属性「長距離戦型」は優勢であり、キャラクタ属性「接近戦型」に対してキャラクタ属性「中距離戦型」は優勢である。これを言い換えると、キャラクタ属性「接近戦型」に対してキャラクタ属性「長距離戦型」は劣勢であり、キャラクタ属性「長距離戦型」に対してキャラクタ属性「中距離戦型」は劣勢であり、キャラクタ属性「中距離戦型」に対してキャラクタ属性「接近戦型」は劣勢である。また、原則として、同じキャラクタ属性同士は「対等」である。なお、図5(a)に示す矢印は、優勢なキャラクタ属性から劣勢なキャラクタ属性に向かう矢印である。
4−7.戦闘相性に基づく戦闘効果
ゲーム演算部215は、キャラクタ属性の異なる2つのキャラクタを対戦させる際に、2つのキャラクタの各々に固有のパラメータ(攻撃力、防御力、スキル、体力、装備など)のうち、戦闘に関する少なくとも1つのパラメータ(ここでは攻撃力及び防御力の2つのパラメータとする。)を、キャラクタ属性間の戦闘相性に応じて増減させる。具体的には、攻撃力又は防御力のパラメータを以下のとおり設定する。
(1)攻撃する側と攻撃される側とが「対等」であるときには、攻撃力及び防御力の増減は行われない。
(2)攻撃する側が攻撃される側に対して「優勢」であるときには、攻撃する側の攻撃力は例えば3/2倍に増幅され、かつ、攻撃される側の防御力は例えば2/3倍に抑制される。
(3)攻撃する側が攻撃される側に対して「劣勢」であるときには、攻撃する側の攻撃力は例えば2/3倍に抑制され、かつ、攻撃される側の防御力は例えば3/2倍に増幅される。
なお、キャラクタごとのパラメータ(攻撃力、防御力、スキル、体力、装備など)は、例えば、ユーザ情報273に記憶され、ゲーム演算部215によって適宜に書き換えられる。
このように、対戦する2つのキャラクタの戦闘効果は、それら2つのキャラクタのキャラクタ属性の戦闘相性に従って決定される。但し、ここで説明した戦闘相性(図5(a))はあくまでも原則の戦闘相性である。この戦闘相性は、対戦の状況に応じて変化する(例外処理を参照)。
4−8.戦闘相性の例外処理
4−8−1.対戦距離による例外処理(距離が長い場合)
図5(b)は、戦闘相性の例外を示す図の一例である。
図5(b)は、対戦に係る2つのキャラクタの距離(対戦距離)が標準距離範囲よりも長い場合における戦闘相性の例である。図5(b)に示すとおり、対戦距離が標準距離範囲よりも長い対戦では、キャラクタ属性「接近戦型」とキャラクタ属性「長距離戦型」との戦闘相性が逆転し、キャラクタ属性「長距離戦型」がキャラクタ属性「接近戦型」に対して「優勢」に設定される、という例外処理が実行される。
なお、この例外処理では、当該対戦距離が標準距離範囲から外れ、キャラクタ属性「接近戦型」に対するキャラクタ属性「長距離戦型」の戦闘相性が「劣勢」から「優勢」に転じる前に、キャラクタ属性「接近戦型」に対するキャラクタ属性「長距離戦型」の戦闘相性が「対等」となる区間を設けてもよい。
4−8−2.対戦距離による例外処理(距離が短い場合)
図5(c)は、戦闘相性の例外を示す図の一例である。
図5(c)は、対戦に係る2つのキャラクタの距離(対戦距離)が標準距離範囲よりも短い場合における戦闘相性の例である。図5(c)に示すとおり、対戦距離が標準距離範囲よりも短い対戦では、キャラクタ属性「接近戦型」とキャラクタ属性「中距離戦型」との戦闘相性が逆転し、キャラクタ属性「接近戦型」がキャラクタ属性「中距離戦型」に対して優勢に設定される、という例外処理が実行される。
なお、この例外処理では、当該対戦距離が標準距離範囲から外れ、キャラクタ属性「中距離戦型」に対するキャラクタ属性「接近戦型」の戦闘相性が「劣勢」から「優勢」に転じる前に、キャラクタ属性「中距離戦型」に対するキャラクタ属性「接近戦型」の戦闘相性が「対等」となる区間を設けてもよい。
4−8−3.地形属性による例外処理
なお、図5(b)、図5(c)では、対戦に係る2つのキャラクタの距離(対戦距離)に応じて戦闘相性が調節される場合を説明したが、少なくとも一方のキャラクタの対戦位置に応じて戦闘相性が調整されてもよい。
例えば、「長距離戦型」のキャラクタは、原則、「中距離戦型」のキャラクタに対して「優勢」の戦闘相性を有するが、「長距離戦型」のキャラクタの位置するマスの地形属性が「陸上」(「平地」、「草原」、「森」、又は「砂漠」である場合)である場合には、戦闘相性を反転させてもよい。このようにすると、「陸上では活躍できない」という特性を「長距離戦型」のキャラクタに付与することができる。
また、例えば、「中距離戦型」のキャラクタは、原則、「接近戦型」のキャラクタに対して「優勢」の戦闘相性を有するが、「中距離戦型」キャラクタの位置するマスの地形属性が「水中」である場合(「川」又は「海」である場合)には、戦闘相性を反転させてもよい。このようにすると、「水上では活躍できない」という特性を「中距離戦型」のキャラクタに付与することができる。
4−8−4.装備による例外処理
また、対戦に係る一方のキャラクタの装備が変化した場合に、当該対戦に係る戦闘相性が調節されてもよい。
例えば、対戦相手に対する戦闘相性が「優勢」であったキャラクタの装備に「弾切れ」が発生した場合には、当該戦闘相性を反転させてもよい。このようにすると、「弾切れの発生により形勢が逆転する」という状況を発生させることができる。
4−8−5.スキル発動による例外処理
また、例えば、対戦相手に対する戦闘相性が「劣勢」であったキャラクタについてスキルが発動した場合には、当該戦闘相性を反転させてもよい。このようにすると、「スキルの発動により形勢が逆転する」という状況を発生させることができる。スキルの発動には、例えば、1又は複数の味方キャラクタと集結することによるコンボ攻撃の発動なども含
まれるものとする(コンボ発動の例は後述)。
4−9.戦闘相性のバリエーション
なお、ここでは、戦闘相性の区分を、「優勢」、「対等」、「劣勢」の3区分としたが、4区分以上又は2区分としてもよい。例えば、「超優性」、「優勢」、「対等」、「劣勢」、「超劣勢」の5区分としてもよいし、「優勢」、「劣勢」の2区分としてもよい。なお、戦闘相性が「超優性」、「超劣勢」であるときの戦闘効果は、例えば以下のとおり設定される。
(1)攻撃する側と攻撃される側とが「対等」であるときには、攻撃力及び防御力の増減は行われない。
(2)攻撃する側が攻撃される側に対して「優勢」であるときには、攻撃する側の攻撃力は例えば3/2倍に増幅され、かつ、攻撃される側の防御力は例えば2/3倍に抑制される。
(3)攻撃する側が攻撃される側に対して「劣勢」であるときには、攻撃する側の攻撃力は例えば2/3倍に抑制され、かつ、攻撃される側の防御力は例えば3/2倍に増幅される。
(4)攻撃する側が攻撃される側に対して「超優勢」であるときには、攻撃する側の攻撃力は例えば2倍に増幅され、かつ、攻撃される側の防御力は例えば1/2倍に抑制される。
(5)攻撃する側が攻撃される側に対して「超劣勢」であるときには、攻撃する側の攻撃力は例えば1/2倍に抑制され、かつ、攻撃される側の防御力は例えば2倍に増幅される。
4−10.その他の例外処理
また、例外処理の実行される条件と例外処理の内容との組み合わせは、上記したものに限定されることはない。例外処理の実行される条件は、対戦に係る一方のキャラクタの状況と他方のキャラクタの状況との組み合わせによって決定されればよい。また、例外処理の内容としては、例えば、以下の何れかを採用することができる。
(i)「優勢」から「劣勢」への反転
(ii)「劣勢」から「優勢」への反転
(iii)「超優性」から「超劣勢」への反転
(iv)「超優性」から「優勢」への切り替え
(v)「超劣勢」から「劣勢」への切り替え
(vi)「優勢」又は「劣勢」から「対等」への切り替え
(v)「超優性」又は「超劣勢」から「対等」への切り替え
4−11.コンボ発動による例外処理
また、複数の味方キャラクタが所定サイズのエリア内に集結した場合には、当該複数の味方キャラクタの全体で1つのコンボ攻撃が発動することとし、複数の味方キャラクタの全体に共通のキャラクタ属性及び共通のパラメータが適用されることとしてもよい。共通のキャラクタ属性は、例えば、複数の味方キャラクタを代表するキャラクタのキャラクタ属性と同じに設定され、共通のパラメータは、複数の味方キャラクタを代表するキャラクタのパラメータと同じに設定される。また、集結した味方キャラクタの数の分だけ、複数の味方キャラクタの対戦相手に対する戦闘相性は、優勢側に傾くものとする。
4−12.戦闘相性のバリエーション
また、上記説明ではキャラクタ属性の数を「3」としたが、「4以上」としてもよい。例えば、キャラクタ属性の数を「4」とする場合には、3つのキャラクタ属性の戦闘相性を図5に示すとおり巡回的な戦闘相性に設定し、かつ、残りの1つのキャラクタ属性の戦闘相性を、他の3つのキャラクタ属性の各々に対して「対等」な戦闘相性に設定してもよい。このようなキャラクタ属性は、「白兵型」と呼ぶことが可能である。
或いは、4つのキャラクタ属性の戦闘相性を巡回的な戦闘相性に設定してもよい。すなわち、第1のキャラクタ属性に対する第2のキャラクタ属性の戦闘相性を「優勢」に設定し、第2のキャラクタ属性に対する第3のキャラクタ属性の戦闘相性を「優勢」に設定し、第3のキャラクタ属性に対する第4のキャラクタ属性の戦闘相性を「優勢」に設定し、第4のキャラクタ属性に対する第1のキャラクタ属性の戦闘相性を「優勢」に設定してもよい。
そして、ゲーム演算部215は、対戦に係る2つのキャラクタの少なくとも一方が4番目のキャラクタ属性である場合においても、当該2つのキャラクタの状況が一定の状況となった場合に当該2つのキャラクタの戦闘相性を切り替える、という例外処理を実行してもよい。
5.戦闘画像
5−1.初期画面
図6は、ゲーム開始時におけるゲームフィールドを示す図の一例である。
戦闘シミュレーションゲームが開示されると、表示制御部212は、表示部290に対する戦闘画像の表示を開始する。戦闘画像には、例えば図6に示すようなゲームフィールド1500と、待機エリア1600とが配置される。ゲームフィールド1500は、オブジェクト空間の一種であり、図6では、二次元のオブジェクト空間をゲームフィールドとしている。待機エリア1600には、プレーヤキャラクタ群からランダムに選択された3つの候補が配置される。図6において、待機エリア1600に配置された候補は、接近戦型のプレーヤキャラクタ1000A、長距離戦型のプレーヤキャラクタ1000B、中距離戦型のキャラクタ1000Cである。また、待機エリア1600には、プレーヤキャラクタ群のゲージ1700が表示される。ゲージ1700には、例えば、プレーヤキャラクタ群に関するパラメータ、例えば、プレーヤキャラクタ群の体力値の合計値が反映される。
5−2.プレーヤキャラクタの投入
図7は、敵キャラクタ1000A’及びプレーヤキャラクタ1000Cの投入されたゲームフィールドを示す図の一例である。
図7に示す例では、ゲームフィールド1500に接近戦型の敵キャラクタ1000A’が投入された後に、中距離戦型のプレーヤキャラクタ1000Cが投入された状態を示している。ここでは、プレーヤキャラクタ1000Cの当初の配置先と、プレーヤキャラクタ1000Cの移動方向とがそれぞれプレーヤによって指定された場合を想定する。
プレーヤの指定した移動方向が敵キャラクタ1000A’に向かう方向であったとすると、例えば、ゲーム演算部215は、プレーヤキャラクタ1000Cに設定されたキャラクタ属性(ここでは中距離戦型)に固有の速度で、プレーヤキャラクタ1000Cを敵キャラクタ1000A’の方向に向けて移動させる。このとき、仮に、敵キャラクタ1000A’が停止していた場合には、敵キャラクタ1000A’からプレーヤキャラクタ1000Cまでの距離は、時間に応じて短くなる。なお、キャラクタ属性ごとの速度の情報は
、ゲームデータ記憶部274に予め記憶されている。
また、ゲーム演算部215は、プレーヤキャラクタ1000Cに設定されたキャラクタ属性(ここでは中距離戦型)に固有の射程内に位置する敵キャラクタ(図7では敵キャラクタ1000A’)を、プレーヤキャラクタ1000Cの対戦相手(攻撃対象)に選定する。なお、キャラクタ属性ごとの射程の情報は、ゲームデータ記憶部274に予め記憶されている。
5−3.当初の矢印マーク
図8は、矢印マーク4000及び閉曲線イメージ4001が表示されたゲームフィールド1500を示す図の一例である。
表示制御部212は、ゲームフィールド1500に投入されたプレーヤキャラクタ1000Cの対戦相手(攻撃対象)が選定されると、プレーヤキャラクタ1000Cに設定されたキャラクタ属性と、対戦相手である敵キャラクタ1000A’に設定されたキャラクタ属性との組み合わせについての戦闘相性(既定の戦闘相性)を参照する。キャラクタ属性の組み合わせごとの既定の戦闘相性の情報は、ゲームデータ記憶部274に予め記憶されている。
そして、表示制御部212は、戦闘相性に応じて変化する表示体を、対戦に係るプレーヤキャラクタ1000C及び敵キャラクタ1000C’に関連付けて戦闘画像へ表示させる。「表示体」は、戦闘画面に表示されるイメージの1つであり、例えば、マーク、パターン、アイコン、テキストイメージ、点滅パターンなどが含まれる。例えば、ゲームフィールドが三次元のオブジェクト空間である場合には、表示体は、ゲームフィールドに配置された三次元のオブジェクトであってもよいし、ゲームフィールドが二次元のオブジェクト空間である場合には、表示体は、ゲームフィールドに配置された二次元のオブジェクトであってもよい。
図8では、対戦に係るキャラクタ1000C、1000A’のうち、戦闘相性の優勢なキャラクタから劣勢なキャラクタに向かう矢印マーク4000を表示体として用いた例を示している。この場合、プレーヤは、表示された矢印マーク4000の向きにより、プレーヤキャラクタと敵キャラクタとの優劣関係を直感的に把握することができる。この矢印マーク4000は、プレーヤ自身又は別のプレーヤによる采配の補助として有効である。
ここで、プレーヤキャラクタ1000Cのキャラクタ属性は「中距離戦型」であり、敵キャラクタ1000A’のキャラクタ属性は「接近戦闘型」である。また、既定の戦闘相性(図5(a))によると、キャラクタ属性「中距離戦型」はキャラクタ属性「接近戦型」に対して「優勢」の戦闘相性を有する。このため、前述した例外処理が実行されていない限りは、プレーヤキャラクタ1000Cは、敵キャラクタ1000A’に対して「優勢」である。
そこで、表示制御部212は、矢印マーク4000の配置先を、対戦に係るプレーヤキャラクタ1000C及び敵キャラクタ1000A’の間に設定し、当該矢印マーク4000の方向を、「優勢」であるプレーヤキャラクタ1000Cから「劣勢」である敵キャラクタ1000A’へ向かう方向に設定する。
なお、表示制御部212は、対戦に係るプレーヤキャラクタ1000C及び敵キャラクタ1000A’の戦闘相性が「対等」である場合には、矢印マーク4000を非表示とし、敵キャラクタ1000A’に対するプレーヤキャラクタ1000Cの戦闘相性が「劣勢」である場合には、矢印マーク4000の方向を図8に示すものとは反対方向に設定する
(図9を参照)。
更に、表示制御部212は、対戦に係るプレーヤキャラクタ1000C及び敵キャラクタ1000A’を囲う閉曲線イメージ4001を、戦闘画像へ表示する。この場合、対戦に係るプレーヤキャラクタ1000Cと敵キャラクタ1000A’とが離れている場合や、ゲームフィールド1500に複数の対戦が同時に発生している場合であっても(図10を参照)、プレーヤは、当該閉曲線イメージ4001により、互いに対戦するプレーヤキャラクタ1000C及び敵キャラクタ1000A’を容易に特定することができる。
また、ここでは、戦闘相性を「優勢」、「対等」、「劣勢」の3段階に設定したが、4段階以上に設定してもよい。例えば、「超優性」、「優勢」、「対等」、「劣勢」、「超劣勢」の5段階に設定してもよい。この場合、表示制御部212は、戦闘相性の程度を矢印マーク4000の状態に反映させてもよい。例えば、「超優性」又は「超劣勢」であるときにおける矢印マーク4000の太さを、「超優性」又は「超劣勢」であるときにおける矢印マーク4000の太さより強調してもよいし、「超優性」又は「超劣勢」であるときにおける矢印マーク4000の色を、「優性」又は「劣勢」であるときにおける矢印マーク4000の色より強調してもよいし、「超優性」又は「超劣勢」であるときにおける矢印マーク4000の点滅パターンを、「優性」又は「劣勢」であるときにおける矢印マーク4000の点滅パターンより強調してもよい。
従って、プレーヤは、矢印マーク4000の状態により、対戦に係るプレーヤキャラクタ1000Cと敵キャラクタ1000A’との間の優劣関係の程度を確認することができる。
5−4.矢印マークの反転
図9は、対戦距離に応じて矢印マーク4000が反転した様子を説明する図の一例である。
表示制御部212は、対戦するプレーヤキャラクタ1000C及び敵キャラクタ1000A’の戦闘相性が変化すると、当該矢印マーク4000を変化させる。例えば、戦闘相性が「優勢」から「劣勢」へと変化すると、表示制御部212は、当該矢印マーク4000の方向を反転させ、戦闘相性が「優勢」又は「劣勢」から「対等」へと変化すると、表示していた矢印マーク4000を、非表示とする。
このような矢印マーク4000の変化は、戦闘相性が変化したタイミング、すなわち、状況の変化が生じて前述した例外処理が実行されたタイミングで発生する。
例えば、図8に示す例では、プレーヤキャラクタ1000C及び敵キャラクタ1000A’の対戦距離が標準距離範囲内にあり、その後、プレーヤキャラクタ1000Cの移動によって図9に示すとおり対戦距離が標準距離範囲より短くなったとすると、例外処理が実行されるので、当該戦闘相性は、既定の戦闘相性(図5(a))から例外の戦闘相性(図5(c))へと調節される。このとき、「中距離戦型」のキャラクタ属性を有するプレーヤキャラクタ1000Cは、「接近戦型」のキャラクタ属性を有する敵キャラクタ1000A’よりも「劣勢」となるので、矢印マーク4000は反転する。
以上説明したとおり、本実施形態のゲーム演算部215は、対戦に係るプレーヤキャラクタ及び敵キャラクタの対戦距離、対戦位置の環境、アイテム装備、スキル発動状態、のうち少なくとも1つを、状況として参照し、参照した状況に応じて、当該プレーヤキャラクタ及び当該敵キャラクタの戦闘相性を調節し(上述した例外処理)、当該戦闘相性が変化した場合には、表示制御部212は、対戦に係るキャラクタに関連付けられた矢印マー
ク4000を変化させる。従って、プレーヤは、当該矢印マーク4000の変化により、状況の変化に応じた戦闘相性の変化を認識することができる。また、プレーヤは、当該矢印マーク4000が変化したタイミングにより、当該戦闘相性の変化したタイミング、すなわち状況の変化したタイミングを、認識することもできる。
5−5.複数対戦
図10は、ゲームフィールドで2つの対戦が同時に発生した様子を説明する図の一例である。
表示制御部212は、ゲームフィールド1500で複数の対戦が行われる場合には、図10に示すとおり、複数の対戦の各々について矢印マーク4000の表示及び閉曲線イメージ4001の表示を行ってもよい。個々の表示に係る処理は、上述したとおりである。
従って、ゲームフィールド1500における対戦数が仮に複数であったとしても、プレーヤは、複数の対戦に関連付けられた複数の矢印マーク4000の変化から、個々の対戦の戦闘相性の変化、すなわち個々の対戦の優劣関係の変化を、ゲーム中に把握することが可能である。また、プレーヤは、閉曲線イメージ4001により、互いに対戦するプレーヤキャラクタ及び敵キャラクタを容易に特定することができる。
5−6.ポップアップ表示その1
図11は、ポップアップ表示を説明する図の一例である。
表示制御部212は、ゲームフィールド1500で行われる対戦のうち、矢印マーク4000の表示されている対戦をプレーヤが指定すると、当該指定されたタイミングにおける状況のデータを戦闘画像へ表示させる。この場合、プレーヤは、矢印マーク4000が変化したタイミングで当該対戦を指定すれば、当該矢印マーク4000が変化した原因を確認することができるし、矢印マーク4000が変化しないタイミングで当該対戦を指定すれば、当該矢印マーク4000が変化しない原因を確認することができる。
具体的には、操作検出処理部211は、ゲームフィールド1500における矢印マーク4000の表示中に、何れかの矢印マーク4000の表示域がタッチ操作されたか否かの判定処理を、例えばフレームごとに実行する。何れかの矢印マーク4000がタッチ操作された場合、ゲーム演算部215は、当該タッチ操作がされたタイミングにおいて例外処理の実行中(例外規定の適用中)であるか否かを判定し、実行中である場合には、例外処理の原因となった状況を示すポップアップ表示データを作成する。
ポップアップ表示データは、例えば、「対戦に係る2つのキャラクタの対戦距離が標準距離範囲よりも長くなった」、「対戦に係る2つのキャラクタの対戦距離が標準距離範囲よりも短くなった」、「対戦に係る2つのキャラクタの一方の位置するコマの地形属性が水中となった」、「対戦に係る2つのキャラクタの一方の弾切れが発生した」などのテキストデータである。
ゲーム演算部215が作成したポップアップ表示データは、表示制御部212へ送出される。表示制御部212は、当該ポップアップ表示データを、例えば、図11に示すとおり、ゲームフィールド1500におけるタッチ操作の位置から出現する吹き出しイメージを表示し、かつ、当該吹き出しイメージ内にポップアップ表示データを表示させる。
従って、例外処理の実行中には、当該例外処理の原因となった状況が矢印マーク4000の近傍にポップアップ表示され、そうでない場合には、ポップアップ表示は行われない。
因みに、図11に示す例では、中距離戦型のプレーヤキャラクタ1000Cが接近戦型の敵キャラクタ1000A’に接近し過ぎたために、「優勢」から「劣勢」に転じた場合の様子を示している。このため、図11に示す例では、接近しすぎた旨「接近戦のため」がポップアップ表示されている。
なお、ポップアップ表示は、プレーヤ側から見た状況を表現していることが望ましい。つまり、敵側から見た状況「接近戦のため接近戦型の敵キャラクタが優勢に!!!」を表現したポップアップ表示よりも、プレーヤ側から見た状況「接近戦のため中距離戦型のプレーヤキャラクタが劣勢に!!!」を表現したポップアップ表示の方がプレーヤにとって理解し易いので望ましい。
なお、同一の対戦に関するタッチ操作が継続している場合には、ポップアップ表示に係る各処理は、例えばフレームごとに実行されることが望ましい。この場合、ポップアップ表示の内容は、表示中の状況を逐次に反映することになる。
また、同一の対戦に関するタッチ操作が解除されると、当該ポップアップ表示も終了されることが望ましい。
なお、ここでは、例外処理の実行中にしかポップアップ表示を行わなかったが、例外処理の非実行中にポップアップ表示を行ってもよい。また、例外処理の非実行中におけるポップアップ表示には、ポップアップ表示の時点におけるプレーヤキャラクタのパラメータ、ポップアップ表示の時点におけるプレーヤキャラクタの環境などが掲載される。
また、ここでは、戦闘シミュレーションゲーム中にポップアップ表示を行うことを想定したが、リプレイ画像の表示中にポップアップ表示を行うことも可能である。
但し、リプレイ画像へのポップアップ表示を可能とするために、ゲーム演算部215は、戦闘シミュレーションゲーム中に、ゲームフィールド1500で発生した個々の対戦に係るキャラクタの状況(キャラクタの状態、キャラクタの環境)を、対戦履歴としてユーザ情報273へ記録することが望ましい。対戦履歴には、例えば、対戦が行われた期間、対戦中におけるキャラクタの状況の変化(対戦中におけるキャラクタの位置の変化、対戦中におけるキャラクタのパラメータの変化など)、対戦中に実行された例外処理の内容、例外処理の実行された時期などが含まれる。当該対戦履歴に基づくことで、ゲーム演算部215は、ポップアップ表示データを確実に作成することができる。なお、対戦履歴に含まれるデータの一部は省略することも可能である。
5−7.ポップアップ表示その2
図12は、ポップアップ表示を説明する別の図の一例である。
図12に示す例では、長距離戦型のプレーヤキャラクタ1000Bが弾切れのために、「優勢」から「劣勢」に転じ、矢印マーク4000が反転したタイミングで当該矢印マーク4000をプレーヤがタッチ操作した場合の様子を示している。図12に示す例では、タッチ操作の位置から「弾切れのため長距離戦型のプレーヤキャラクタが劣勢に!!!」というポップアップ表示が出現している。
5−8.矢印マークの表示条件
また、表示制御部は212は、ゲームフィールド1500で行われる対戦のうち、所与の条件を満たさない対戦については矢印マーク4000及び閉曲線イメージ4001の表示を省略してもよい。この場合、矢印マーク4000及び閉曲線イメージ4001の個数
を適宜に削減し、戦闘画像を見易くすることが可能である。この構成は、ゲームフィールド1500において複数の対戦が同時に発生する場合に有効である。同時に表示される矢印マーク4000及び閉曲線イメージ4001の数が多すぎると、かえって見難くなるからである。
また、表示制御部212は、ゲームフィールド1500で行われる対戦のうち、戦闘相性が所与の条件を満たさない対戦については矢印マーク4000及び閉曲線イメージ4001の表示を省略してもよい。この場合、矢印マーク4000及び閉曲線イメージ4001の表示の有無について条件を定めることができるので、当該条件さえ適切に設定すれば、プレーヤにとって必要な対戦についてのみ矢印マーク4000及び閉曲線イメージ4001を表示させることが可能である。
また、表示制御部212は、ゲームフィールド1500で行われる対戦のうち、プレーヤキャラクタが劣勢な対戦については矢印マーク4000及び閉曲線イメージ4001の表示を省略してもよい。この場合、プレーヤキャラクタが優勢な対戦についてしか矢印マーク4000及び閉曲線イメージ4001が表示されないので、プレーヤは、プレーヤキャラクタが優勢な対戦と、敵キャラクタが優勢な対戦とを、矢印マーク4000及び閉曲線イメージ4001の表示の有無により区別することができる。
また、表示制御部212は、ゲームフィールド1500で行われる対戦のうち、戦闘相性の優劣差が閾値を越える対戦については矢印マーク4000及び閉曲線イメージ4001の表示を省略してもよい。この場合、プレーヤキャラクタと敵キャラクタとが拮抗する対戦、すなわち采配の成否の判定が難しい対戦を、際立たせることができる。
例えば、「優勢」、「対等」、「劣勢」の3段階の戦闘相性が設定され得る場合には、表示制御部212は、戦闘相性が「優性」又は「劣勢」である対戦のみ矢印マーク4000及び閉曲線イメージ4001を表示し、戦闘相性が「対等」である対戦の矢印マーク4000及び閉曲線イメージ4001を非表示としてもよい。
また、例えば、「超優性」、「優勢」、「対等」、「劣勢」、「超劣勢」の5段階の戦闘相性が設定され得る場合には、表示制御部212は、戦闘相性が「超優性」又は「超劣勢」である対戦のみ矢印マーク4000及び閉曲線イメージ4001を表示し、戦闘相性が「優勢」、「対等」、「劣勢」である対戦の矢印マーク4000及び閉曲線イメージ4001を非表示としてもよい。
なお、ここでは、矢印マーク4000の表示条件と、閉曲線イメージ4001の表示条件とを共通としたが、表示制御部212は、矢印マーク4000の表示条件と、閉曲線イメージ4001の表示条件とを個別に設定してもよい。
5−9.本丸での対戦のみ表示させる場合について
ここで、プレーヤキャラクタが敵陣を攻撃したり、敵キャラクタがプレーヤ陣地を攻撃したりすることを想定する。敵陣は、例えば、ゲームフィールド1500を二分してできる2つのエリアの一方(図6の上側エリア)のことであり、プレーヤ陣地は、当該2つのエリアの他方(図6の下側エリア)のことである。また、敵陣には、敵キャラクタの本丸が配置され(不図示)、プレーヤ陣地には、プレーヤキャラクタの本丸が配置される(不図示)。「本丸」とは、味方キャラクタ又は相手キャラクタの陣地内で防御の要となる重要エリア(重要設備も含む)のことである。そして、ゲーム演算部215は、敵陣又はプレーヤ陣地の本丸(主要エリアの一例)のダメージが一定以上となる又は崩落するタイミングを、戦闘シミュレーションゲームの終了タイミングとする。なお、敵陣における本丸のダメージ、プレーヤ陣地における本丸のダメージは、例えば、ユーザ情報273におい
て管理される。
この場合、表示制御部212は、ゲームフィールド1500で行われる対戦のうち、本丸から外れたエリアで行われる対戦については矢印マーク4000及び閉曲線イメージ4001の表示を省略してもよい。このようにすれば、本丸で行われる対戦、例えば、プレーヤキャラクタの本丸又は敵キャラクタの本丸での対戦を、際立たせることができる。
5−10.表示条件が複数である場合の例
また、表示制御部212は、複数の表示条件に優先順位をつけてもよい。その場合、表示制御部212は、例えば、以下の手順で矢印マーク4000及び閉曲線イメージ4001の表示対象となる対戦を選定してもよい。
(1)表示制御部212は、ゲームフィールド1500内で発生した1又は複数の対戦の各々が第1の表示条件を満たすか否かを判定し、第1の表示条件を満たした対戦について第1のポイントを付与する。第1のポイントは、第1の表示条件の重要度が大きいほど大きく設定される。
(2)表示制御部212は、ゲームフィールド1500内で発生した1又は複数の対戦の各々が第2の表示条件を満たすか否かを判定し、第2の表示条件を満たした対戦ついて第2のポイントを付与する。第2のポイントは、第2の表示条件の重要度が大きいほど大きく設定される。
(3)表示制御部212は、ゲームフィールド1500内で発生した1又は複数の対戦の各々が第3の表示条件を満たすか否かを判定し、第3の表示条件を満たした対戦ついて第3のポイントを付与する。第3のポイントは、第3の表示条件の重要度が大きいほど大きく設定される。
(4)表示制御部212は、ポイントの合計値を対戦ごとに算出し、合計値の高い順に対戦をランク付けする。そして、ランクの高い所定数の対戦(例えば3つの対戦)については、矢印マーク4000及び閉曲線イメージ4001を表示し、その他の対戦については、矢印マーク4000及び閉曲線イメージ4001を非表示とする。
(5)表示制御部212は、手順(1)〜(4)からなる一連の処理を所定周期で(例えばフレーム周期で)繰り返し実行する。
5−11.表示条件の手動設定について
なお、ここでは、予め決められた表示条件に基づき表示制御部212が矢印マーク4000及び閉曲線イメージ4001の表示の有無を決定する場合について説明したが、1又は複数の表示条件をプレーヤが設定できるように端末装置20を構成してもよい。プレーヤによる表示条件の指定は、例えば、入力部260及び入力受付処理部213を介して行われる。また、表示条件が複数である場合には、前述した優先順位をプレーヤが指定できるように端末装置20を構成してもよい。
5−12.リプレイ表示について
ここで、以上の戦闘画像は、戦闘シミュレーションゲームのリプレイ画像であってもよい。この場合、リプレイ画像の観察者(プレーヤ自身又は別のプレーヤ)は、リプレイ画像に表示された矢印マーク4000の変化から、プレーヤキャラクタ群と敵キャラクタ群との勝敗を分けたターニングポイント(勝敗を分けた時期)を見出すことも可能である。また、プレーヤ自身又は別のプレーヤは、ターニングポイントの前後における矢印マーク4000の変化から、ターニングポイントに絡むプレーヤの采配(如何なる順序で如何な
るキャラクタを投入するのか)の成否を判断することも可能である。以下、具体的に説明する。
先ず、戦闘シミュレーションゲームが開始されると、ゲーム演算部215は、ゲームフィールド1500で発生した個々の対戦に係るキャラクタの状況(キャラクタの状態、キャラクタの環境)を、対戦履歴としてユーザ情報273へ記録する。対戦履歴には、例えば、対戦が行われた期間、対戦中におけるキャラクタの状況の変化(対戦中におけるキャラクタの位置の変化、対戦中におけるキャラクタのパラメータの変化など)、対戦中に実行された例外処理の内容、例外処理の実行された時期などが含まれる。
そして、戦闘シミュレーションゲームの終了後、例えば、入力部260を介してプレーヤからリプレイ画像の再生指示が入力されると、処理部200は、表示制御部212、移動処理部214、ゲーム演算部215などと協働し、ユーザ情報273に記憶された対戦履歴と、ゲームデータ記憶部274に記憶されたデータ(ゲーム進行のために予め用意されたデータ)とに基づき、戦闘画像を再現した動画像(リプレイ画像)を生成し、表示部290へ表示させる(リプレイ画像の再生表示)。
このとき、本実施形態の表示制御部212は、矢印マーク4000及び閉曲線イメージ4001を前述した戦闘画像へ表示したのと同様に、矢印マーク4000及び閉曲線イメージ4001をリプレイ画像上に表示させる。
また、このとき、表示制御部212は、ゲームフィールド1500で行われた対戦のうち、ターニングポイント(勝敗を分けた時期)以外の対戦、すなわち、ゲームの勝敗に寄与しなかった対戦については、矢印マーク4000及び閉曲線イメージ4001の表示を省略してもよい。この場合、ターニングポイント(勝敗を分けた時期)を際立たせることができる。
ここで、ターニングポイント(勝敗を分けた時期)は、例えば、リプレイ画像の再生表示に先立ち、ゲーム演算部215によって検出される。具体的には、ゲーム演算部215は、対戦履歴に基づき、プレーヤキャラクタと敵キャラクタとのうちゲーム終了時点で体力値の合計値が大きかった側を勝者として特定すると共に、戦闘シミュレーションゲームにおける当該勝者の体力値の合計値の推移(変化カーブ)を算出する。そして、ゲーム演算部215は、当該カーブがピークを迎えた1又は複数の時刻を、ターニングポイントとして検出し、ターニングポイントにおいて行われていた1又は複数の対戦を、主要対戦として特定する。そして、表示制御部212は、リプレイ画像の再生表示の際、1又は複数の主要対戦については矢印マーク4000及び閉曲線イメージ4001を表示し、かつ、それ以外の対戦についての矢印マーク4000及び閉曲線イメージ4001を、非表示とする。
なお、ゲーム演算部215は、ターニングポイントの数を1つとしてもよいし、複数としてもよい。また、ターニングポイントの数を1つとする場合には、戦闘シミュレーションゲームの終了時点に最も近い時刻をターニングポイントとしてもよい。また、カーブに発生した全てのピークをターニングポイントとして検出する代わりに、一定以上の大きさを有したピークのみをターニングポイントとして検出してもよい。
また、表示制御部212は、ゲームフィールド1500で行われた対戦のうち、対戦中に戦闘相性が反転しなかった対戦については矢印マーク4000及び閉曲線イメージ4001の表示を省略してもよい。この場合、対戦中に優劣関係の逆転した主要対戦を際立たせることができる。なお、「戦闘相性の反転」には、戦闘相性が「優勢」から「劣勢」へ変化すること、戦闘相性が「劣勢」から「優勢」へ変化すること、戦闘相性が「超優性」
から「超劣勢」へ変化すること、戦闘相性が「超劣勢」から「超優性」へ変化すること、などが含まれる。
例えば、戦闘相性の反転の有無は、ゲーム演算部215が対戦履歴に基づき検出することができる。例えば、ゲーム演算部215は、対戦履歴に含まれる複数の対戦のうち、例外処理の実行されたタイミングで行われていた1又は複数の主要対戦を特定する。そして、表示制御部212は、当該1又は複数の主要対戦については矢印マーク4000及び閉曲線イメージ4001を表示し、かつ、それ以外の対戦については矢印マーク4000及び閉曲線イメージ4001を、非表示とする。
5−13.リプレイ画像のアップロードについて
端末装置20の処理部200は、例えば、入力部260を介してプレーヤからリプレイ画像のアップロード指示が入力されると、当該リプレイ画像のデータ、又は、リプレイ画像を生成するのに必要なデータを、通信部296及びインターネットを介して所定のフォーマットでサーバ装置10へアップロードする。ここでは、アップロードされるデータが対戦履歴のデータである場合を説明する。
サーバ装置10の処理部100は、アップロードされた対戦履歴のデータを、端末装置20のユーザID、プレイ日時、公開許可の有無などに対応付けて、記憶部140のユーザ情報146に書き込む。
従って、ユーザ情報146には、複数のユーザからアップロードされた複数の対戦履歴のデータが、ユーザごと、かつ、日時ごとに記憶される。なお、「公開許可の有無」は、対戦履歴のデータをアップロードしたユーザが当該データをサーバ装置10が他のユーザへ公開することを許可するか否かを示す情報のことである。
サーバ装置10のゲーム管理部104は、必要に応じて、アップロードされた対戦履歴のデータと、記憶部140のゲーム情報144に予め記憶されたデータ(ゲーム進行のために予め用意されたデータ)とに基づき、リプレイ画像を生成する。なお、サーバ装置10のゲーム情報144に記憶されたデータは、端末装置20のゲームデータ記憶部274に記憶されたデータと基本的に同じである。ゲーム管理部104が生成したリプレイ画像は、必要に応じて端末装置20へ配信される。
このとき、サーバ装置10のWeb処理部102は、端末装置20の表示制御部212と同様の手法で、矢印マーク4000及び閉曲線イメージ4001をリプレイ画像上に表示させる(重畳させる)。
なお、ここでは、端末装置20からサーバ装置10へアップロードされるデータを、「対戦履歴のデータ」としたが、リプレイ画像を生成するのに必要な他のデータであってもよい。例えば、戦闘シミュレーションゲーム中に入力部260を介してプレーヤが行った操作の「操作データ」であってもよいし、戦闘シミュレーションゲーム中に表示部290へ表示された「ビデオデータ」であってもよい。
5−14.リプレイ画像の再生について
端末装置20の処理部200は、例えば、入力部260を介してプレーヤからリプレイ画像の再生指示が入力されると、通信部296及びインターネットを介して再生要求をサーバ装置10へ送信する。この再生要求には、再生要求の発行元を特定するための情報(ユーザID)と、対戦履歴のデータを特定するための情報(対戦履歴のデータの作成元を示すユーザID、プレイ日時など)が付加されている。
ここで、再生要求の発行元を示すユーザIDと、対戦履歴のデータの作成元を示すユーザIDとは、異なってもかまわない。つまり、或るユーザがアップロードした対戦履歴のデータの公開が許可されていた場合には、当該対戦履歴のデータに係るリプレイ画像を、複数のユーザの間で共有することが可能である。
サーバ装置10のゲーム管理部104は、対戦履歴のデータの作成元を示すユーザID及びプレイ日時に対応する対戦履歴のデータを、ユーザ情報146から読み出すと、当該対戦履歴のデータと、記憶部140のゲーム情報144に予め記憶されたデータ(ゲーム進行のために予め用意されたデータ)とに基づき、リプレイ画像を生成する。
そして、サーバ装置10のWeb処理部102は、ゲーム管理部104が生成したリプレイ画像のデータを、通信部196及びインターネットを介して所定のフォーマットで、再生要求の発行元となったユーザIDの端末装置20へ配信する。配信の手法は、例えばストリーミング配信などである。
このとき、サーバ装置10のWeb処理部102は、端末装置20の表示制御部212と同様の手法で、矢印マーク4000及び閉曲線イメージ4001をリプレイ画像上に表示させる(重畳させる)。
端末装置20の処理部200は、サーバ装置10から配信されるデータを、通信部296を介して受信し、かつ、表示制御部212を介して表示部290へ逐次に送出する。これによって、表示部290には、矢印マーク4000及び閉曲線イメージ4001付きのリプレイ画像が表示される。
なお、ここでは、サーバ装置10から端末装置20へ配信されるデータを、リプレイ画像(つまりビデオデータ)としたが、リプレイ画像を生成するのに必要な他のデータであってもよい。例えば、リプレイ画像を生成するのに必要な「対戦履歴のデータ」であってもよいし、戦闘シミュレーションゲーム中に入力部260を介してプレーヤが行った操作の「操作データ」であってもよい。但し、その場合は、対戦履歴のデータに基づくリプレイ画像の生成処理は、端末装置20の側で実行される。
6.フロー
6−1.矢印マークの表示処理のフロー
図13は、端末装置20の処理部200による矢印マークの表示処理のフローチャートの一例である。なお、処理部200における機能分担については既に説明したので、ここでは処理の主体が処理部200であるとして説明する。また、このフローチャートは、例えば、プレーヤのデッキデータ及び敵のデッキデータに設定されたキャラクタごとに実行され、ステップS302からステップS313までの一連の処理は、例えば、フレーム周期と同じ周期で繰り返される。
先ず、処理部200は、ゲームフィールド1500にキャラクタが投入されたか否かを監視し(S301)、投入された場合には(S301Y)、次の処理(ステップS302)を開始する。
次に、処理部200は、投入されたキャラクタの対戦相手を特定する(S302)。
次に、処理部200は、対戦に係る2つのキャラクタの属性を参照する(S303)。
次に、処理部200は、対戦に係る2つのキャラクタの属性間に適用される規定の戦闘相性を参照する(S304)。
次に、処理部200は、対戦に係る2つのキャラクタの状況が、例外処理を要するような特殊な状況であるか否かを判定し(S305)、特殊な状況である場合には(S305Y)、例外処理を実行(例外規定を適用)して戦闘相性を再計算してから(S310)、判定処理(S311)を開始する。特殊な状況とは、例えば、対戦距離が標準距離範囲外である、対戦エリアが標準エリア外である、弾切れ状態である、スキル発動中である、コンボ発動中などのことである。
一方、処理部200は、対戦に係る2つのキャラクタの状況が特殊な状況でない場合には(S305N)、例外処理及び再計算(S310)を実行せずに次の判定処理(S311)を開始する。
次に、処理部200は、当該対戦が所与の表示条件を満たすか否かを判定し(S311)、表示条件を満たす場合(S311Y)には、戦闘相性を反映した矢印マーク4000及び閉曲線イメージ4001を該当箇所へ表示し(S312)、そうでない場合(S311N)には、矢印マーク4000及び閉曲線イメージ4001を非表示として消滅判定のステップ(S313)へ移行する。表示条件の詳細は、前述したとおりである。
次に、処理部200は、ゲームフィールド1500から当該キャラクタが消滅したか否かを判定し(S313)、消滅した場合にはフローを終了し、そうでない場合には、ステップS302の処理に戻る。
6−2.ポップアップ表示処理のフロー
図14は、処理部200によるポップアップ表示処理のフローチャートの一例である。なお、処理部200における機能分担については既に説明したので、ここでは処理の主体が処理部200であるとして説明する。また、このフローチャートのステップS402からS405までの一連の処理は、例えば、戦闘シミュレーションゲームの開始から終了までの期間中に、例えばフレーム周期と同じ周期で繰り返される。
先ず、処理部200は、戦闘シミュレーションゲームが開示されたか否かを判定し(S401)、開始された場合には(S401Y)、次の処理(ステップS402)を開始する。
次に、処理部200は、矢印マーク4000及び閉曲線イメージ4001の表示中であるか否かを判定し(S402)、表示中でない場合には後述するゲーム終了判定の処理(S408)へ移行し、表示中である場合には次の判定処理(S403)を開始する。
次に、処理部200は、矢印マーク4000の表示域がタッチ操作されているか否かを判定し(S403)、タッチ操作されていない場合には後述するゲーム終了判定の処理(S408)へ移行し、タッチ操作されていた場合には(S403Y)、次の判定処理(S404)を開始する。
次に、処理部200は、タッチ操作された対戦について例外処理が実行中(例外規定の適用中)であるか否かを判定し(S404)、実行中でない場合(S404N)には後述するゲーム終了判定の処理(S408)へ移行し、実行中であった場合には(S404Y)、次のポップアップ表示処理(S405)を開始する。
次に、処理部200は、実行中の例外処理の内容に基づき、例外処理の原因となった状況を示すポップアップ表示データを作成し、タッチ操作の位置へ表示する(図11を参照)。なお、前フレームと最新フレームとの間でタッチ操作の位置がずれていた場合には、
本ステップ(S405)にてポップアップ表示の表示先が更新されることになる。前フレームと最新フレームとの間でタッチ操作された矢印マークが異なる場合には、ポップアップ表示の内容が更新される。
次に、処理部200は、戦闘シミュレーションゲームが終了したか否かを判定し(S408)、終了した場合には(S408Y)、フローを終了し、そうでない場合には(S408N)、最初の判定処理(S402)に戻る。
なお、ここでは、戦闘シミュレーションゲームの実行中に端末装置20がポップアップ表示を行う場合を説明したが、リプレイ画像の表示中に端末装置20が同様にしてポップアップ表示を行うこともできる。但し、その場合は、端末装置20の処理部200は、リプレイ画像に係る対戦履歴のデータを適宜に利用可能である必要がある。ここでいう「利用可能」とは、端末装置20の処理部200が対戦履歴のデータに対して適宜にアクセス可能であることを言い、対戦履歴のデータの格納先は、端末装置20の記憶部270であってもよいし、サーバ装置10の記憶部140であってもよい。
また、ここでは、ポップアップ表示に係る処理の全部が端末装置20の側で行われる場合を説明したが、ポップアップ表示に係る処理の一部又は全部がサーバ装置10の側で行われてもよい。
6−3.リプレイ表示処理のフロー
図15は、端末装置20の処理部200によるリプレイ表示処理のフローチャートの一例である。なお、処理部200における機能分担については既に説明したので、ここでは処理の主体が処理部200であるとして説明する。また、このフローチャートの開始に当たり、リプレイ画像に対応する対戦履歴のデータは端末装置20の記憶部270に保管されているものとする。また、このフローチャートのステップS506からS507までの一連の処理は、例えば、リプレイ画像の再生表示の開始から終了までの期間中に、例えばフレーム周期と同じ周期で繰り返される。
先ず、処理部200は、リプレイ画像の再生指示がプレーヤから入力されたか否かを判定し(S501)、入力された場合には(S501Y)、次の処理(S502)を開始する。
次に、処理部200は、当該対戦履歴のデータに基づき、ターニングポイントを検出し、ターニングポイントにて行われていた主要対戦を特定する(S502)。この主要対戦の特定方法については、前述したとおりである。
次に、処理部200は、当該対戦履歴のデータに基づき、対戦中に戦闘相性が反転した主要対戦を特定する(S503)。この主要対戦の特定方法については、前述したとおりである。
次に、処理部200は、リプレイ画像の再生表示を開始する(S505)。再生表示の方法は、前述したとおりである。
次に、処理部200は、再生表示中のリプレイ画像(現フレーム)に主要対戦が含まれるか否かを判定し(S506)、含まれる場合には(S506Y)、当該主要対戦についての戦闘相性を反映した矢印マーク4000及び閉曲線イメージ4001を該当箇所に表示してから(S507)、終了判定処理(S508)を開始し、そうでない場合には(S506N)、矢印マーク4000及び閉曲線イメージ4001を非表示として、終了判定処理(S508)を開始する。
次に、処理部200は、リプレイ画像の再生表示が終了したか否かを判定し(S508)、終了した場合には(S508Y)、フローを終了し、そうでない場合には(S508N)、判定の処理(S506)へ戻る。
なお、処理部200は、主要対戦を特定するための処理(S502、503)の実行後に、主要対戦を特定するための情報(主要対戦が発生した時刻の情報等)を、対戦履歴のデータに付与してもよい。対戦履歴のデータに当該情報を付与しておけば、次に再生指示が入力された場合に、ステップS502、S503の処理を省略することが可能である。また、上記フローにおいて、ステップS502、S503の順序は入れ替えが可能である。
7.変形例
7−1.機能分担について
上述した処理部200、100に含まれる各要素の機能分担については、前述したものに限定されることはない。例えば、表示制御部212の機能の一部又は全部は、ゲーム演算部215によって実行されてもよい。また、例えば、ゲーム管理部217の機能の一部又は全部は、ゲーム演算部215によって実行されてもよい。また、サーバ装置10の機能の一部は、端末装置20の側に搭載されてもよい。また、端末装置20の機能の一部は、サーバ装置10の側に搭載されてもよい。また、サーバ装置10には、処理部100の機能の一部又は全部を実現する専用の回路(ハードウエア)が搭載されてもよい。つまり、処理部100の機能の一部または全部は、ソフトウエアで実行されてもよいし、ハードウエアで実行されてもよい。端末装置20には、処理部200の機能の一部又は一部又は全部を実現する専用の回路(ハードウエア)が搭載されてもよい。つまり、処理部200の機能の一部または全部は、ソフトウエアで実行されてもよいし、ハードウエアで実行されてもよい。
7−2.ゲームの種類について
本実施形態では、ゲームとしては、例えば、戦闘に係るゲームであれば、音楽ゲーム、シューティングゲーム、対戦ゲーム野球ゲーム、サッカーゲーム、バスケットボールゲーム等のスポーツゲームなどの対戦ゲーム、ロールプレイングゲーム(RPG)、その他のシミュレーションゲームに応用してもよい。
7−3.サーバのバリエーションについて
また、本実施形態は、一のサーバ装置10によって各ゲームを端末装置20に提供してもよいし、複数のゲームサーバ装置10を連動させてサーバシステムを構築し、各ゲームを端末装置に提供してもよい。
7−4.その他の変形について
また、本発明は、実施形態で説明した構成と実質的に同一の構成(例えば、機能、方法及び結果が同一の構成、あるいは目的及び効果が同一の構成)を含む。また、本発明は、実施形態で説明した構成の本質的でない部分を置き換えた構成を含む。また、本発明は、実施形態で説明した構成と同一の作用効果を奏する構成又は同一の目的を達成することができる構成を含む。また、本発明は、実施形態で説明した構成に公知技術を付加した構成を含む。
上記のように、本発明の実施形態について詳細に説明したが、本発明の新規事項及び効果から実体的に逸脱しない多くの変形が可能であることは当業者には容易に理解できるであろう。したがって、このような変形例はすべて本発明の範囲に含まれるものとする。