(58)【調査した分野】(Int.Cl.,DB名)
互いに異なるプレイヤによって操作される複数の端末に対してネットワークを介して接続され、複数のプレイヤがそれぞれ制御する複数のプレイヤキャラクタを含んでなるチームで行われるゲームを提供するゲームサーバであって、
前記ゲームを行うチームの組み合わせを決定する手段と、
前記プレイヤを特定するプレイヤ識別子に対して、当該プレイヤが操作するプレイヤキャラクタが属するチームを特定するチーム識別子を関連付けてチームデータベースとして格納する手段と、
前記チームの組み合わせごとに、当該組み合わせに含まれるチームに属するプレイヤキャラクタを制御するプレイヤのうち、プレイに参加しているプレイヤの参加状況を表す参加状況情報を取得する手段と、
当該取得した前記参加状況情報を含む演出パラメータに基づき、組み合わせに含まれる一対のチームのそれぞれに属するプレイヤキャラクタを制御しているプレイヤが操作する端末にて鳴動されるサウンドを制御する鳴動制御手段と、
を含むゲームサーバ。
互いに異なるプレイヤによって操作される複数の端末に対してネットワークを介して接続され、複数人のプレイヤを含んでなるチームごとに行われるゲームを提供するゲームサーバと通信する端末であって、
前記ゲームサーバにおいて決定された、前記ゲームを行うチームの組み合わせに含まれるチームのうち、前記端末を操作するプレイヤが制御するプレイヤキャラクタが属するチームについての情報であって、当該チームに属しているプレイヤのうち、プレイに参加しているプレイヤの参加状況を表す参加状況情報を前記ゲームサーバから取得する手段と、
前記取得した参加状況情報を含む演出パラメータに基づいて、鳴動するサウンドを制御する鳴動制御手段と、
を含む端末。
互いに異なるプレイヤによって操作される複数の端末に対してネットワークを介して接続され、複数のプレイヤがそれぞれ制御する複数のプレイヤキャラクタを含んでなるチームで行われるゲームを提供するゲームサーバの制御方法であって、
チームの組合せを決定する手段が、前記ゲームを行うチームの組み合わせを決定する工程と、
格納手段が、前記プレイヤを特定するプレイヤ識別子に対して、当該プレイヤが操作するプレイヤキャラクタが属するチームを特定するチーム識別子を関連付けてチームデータベースとして格納する工程と、
取得手段が、前記チームの組み合わせごとに、当該組み合わせに含まれるチームに属するプレイヤキャラクタを制御するプレイヤのうち、プレイに参加しているプレイヤの参加状況を表す参加状況情報を取得する工程と、
鳴動制御手段が、当該取得した前記参加状況情報を含む演出パラメータに基づいて、組み合わせに含まれる一対のチームのそれぞれに属するプレイヤキャラクタを制御しているプレイヤが操作する端末にて鳴動されるサウンドを制御する工程と、
を含むゲームサーバの制御方法。
互いに異なるプレイヤによって操作される複数の端末に対してネットワークを介して接続され、複数のプレイヤがそれぞれ制御する複数のプレイヤキャラクタを含んでなるチームで行われるゲームを提供するゲームサーバを、
前記ゲームを行うチームの組み合わせを決定する手段と、
前記プレイヤを特定するプレイヤ識別子に対して、当該プレイヤが操作するプレイヤキャラクタが属するチームを特定するチーム識別子を関連付けてチームデータベースとして格納する手段と、
前記チームの組み合わせごとに、当該組み合わせに含まれるチームに属するプレイヤキャラクタを制御するプレイヤのうち、プレイに参加しているプレイヤの参加状況を表す参加状況情報を取得する手段と、
当該取得した前記参加状況情報を含む演出パラメータに基づき、組み合わせに含まれる一対のチームのそれぞれに属するプレイヤキャラクタを制御しているプレイヤが操作する端末にて鳴動されるサウンドを制御する鳴動制御手段と、
として機能させるプログラム。
【発明を実施するための形態】
【0037】
本発明の実施の形態について図面を参照しながら説明する。
【0038】
[用語定義]
以下の説明において用いる、主な用語の定義をしておく。
(1)プレイヤとは、端末を操作する現実のユーザを指す。
(2)プレイヤキャラクタとは、プレイヤの端末に対する操作によって制御される、ゲーム内での仮想的なキャラクタをいう。このプレイヤキャラクタは、ゲーム内の画像として表示されるものであってもよい。
(3)チームとは、ゲーム内で構築される、複数のプレイヤキャラクタの仮想的な集合(いわゆるギルド)である。
【0039】
[概要]
本発明の実施の形態に係るゲームサーバ10を含むゲームシステム1は、
図1に示すように、互いにネットワークを介して通信可能に接続されたゲームサーバ10と、複数の端末20a,20b,…とを含む。以下では、端末をそれぞれ区別する必要がない場合は、符号のサフィックスを省いて、「端末20」と表記する。
【0040】
ゲームサーバ10は、サーバコンピュータであり、本実施の形態において行われるゲームの処理を実行するプログラムを動作させている。本実施の形態においてこのゲームサーバ10は、互いに異なるプレイヤによって操作される複数の端末20a,20b,…に対してネットワークを介して接続され、複数のプレイヤがそれぞれ制御する複数のプレイヤキャラクタを含んでなるチームで行われるゲームを提供する。このゲームサーバ10の構成及び動作については後に述べる。
【0041】
端末20は、例えばパーソナルコンピュータやスマートフォン等であり、ゲームサーバ10との間で通信を行い、ゲームサーバ10から受信される指示に従って、画像を表示し、あるいは楽曲や効果音等のサウンド情報を鳴動する処理を行う。またこの端末20は、プレイヤの操作を受け入れて、当該操作の内容を表す情報を、ゲームサーバ10に対して送出する。この端末20の構成及び動作についても、後に述べる。
【0042】
また本実施の形態の以下の例では、説明のため、チーム対戦形式のバトルが行われるゲームを例とする。もっとも本実施の形態はこのようなゲームに限られず、ゲーム全体としてはチーム対戦形式のバトルパートのほか、各プレイヤが単独で仮想的なゲーム空間内で予め定められたストーリーを進行させるクエストパートや、ゲームに用いるアイテム等を取得するためのいわゆるガチャ・パートなどを含んでいてもよい。またチーム間で対戦する形式ではなく、チームとコンピュータ側で用意した仮想敵とのバトルが行われるゲームであってもよい。
【0043】
またこのバトルのゲームは、一方のチームのプレイヤキャラクタが、相手チームのプレイヤキャラクタを「攻撃」し、当該攻撃したプレイヤキャラクタに設定されている攻撃ポイント(BP)に基づいて、攻撃された相手チームのプレイヤキャラクタの体力ポイント(HP)を減少させていき、体力ポイントが予め定めた閾値を下回ると、「気絶」したものとして当該プレイヤキャラクタが攻撃不能となる、といったようにして進行するものとする。また体力ポイントは、単位時間あたり単位ポイントずつ増加するものとし、ある程度の時間が経過すれば、「気絶」したプレイヤキャラクタも再度攻撃ができるようになるものとしてもよい。また一度攻撃を行ったプレイヤキャラクタの攻撃ポイントは所定の方法で定めた値だけ小さくなる(減る)ものとしておく。
【0044】
[構成(1)]
本実施の形態においてゲームサーバ10は、
図1に例示するように、制御部11と、記憶部12と、通信部13とを含んで構成される。また端末20は、例えばスマートフォン等であり、制御部21と、記憶部22と、操作部23と、表示部24と、サウンド鳴動部25と、通信部26とを含んで構成される。
【0045】
なお、
図1では、ゲームサーバ10が一台の装置として図示されているが、本実施の形態においてはゲームサーバ10は、複数台のサーバコンピュータを含む、クラスタサーバであってもよい。この場合、各サーバコンピュータにはそれぞれ記憶部を備えて、それぞれのサーバコンピュータの記憶部に、ゲームとしての処理に必要なデータが分散されて記憶されていてもよい。
【0046】
ここで制御部11は、CPU等のプログラム制御デバイスであり、記憶部12に格納されたプログラムに従って動作する。本実施の形態において制御部11は、複数の端末20との間で通信を行い、各端末20の利用者(プレイヤ)を認証する。また認証したプレイヤによる端末20でのゲームの操作に関する情報を端末20から受信し、ゲームの処理を実行して、その処理の結果に基づいて、ゲームの画像情報やサウンド情報(楽曲の情報等を含む)等を端末20へ送出する。
【0047】
またこの制御部11は、このゲームとしての処理において、バトルを行っているチームごとに、チームに属するプレイヤキャラクタを制御するプレイヤのうち、当該バトルのプレイに参加しているプレイヤの参加状況を表す参加状況情報を取得する。そして制御部11は、バトルを行っているチームのうち、少なくとも一部について、それぞれを注目チームとして選択する。制御部11は、選択した注目チームについて取得した参加状況情報を含んだ演出パラメータに基づいて、当該注目チームに属するプレイヤキャラクタを制御しているプレイヤが操作する端末20にて鳴動されるサウンドを制御する処理を行う。この制御部11の具体的な処理の内容については後に述べる。なお、ここで演出パラメータは参加状況情報そのものであってもよいし、さらに他の情報を含んでも構わない。
【0048】
記憶部12は、メモリデバイスやディスクデバイスを含む。この記憶部12には制御部11により実行される各種プログラム(本発明の実施の形態に係るプログラムを含む)が格納されている。本発明の実施の形態に係るプログラムは、DVD−ROMなどのコンピュータ可読かつ非一時的な記憶媒体に格納されて提供され、この記憶部12に格納されたものであってもよい。また本実施の形態においてこの記憶部12は制御部11のワークメモリとしても動作する。
【0049】
本実施の形態においてこの記憶部12には、
図2に例示するように、プレイヤごとに、プレイヤ識別子(P)と、当該識別名で識別されるプレイヤが制御するプレイヤキャラクタ識別子(C)と、プレイヤキャラクタが属するチームを識別する情報(T:チーム識別子)と、プレイヤキャラクタに関するゲーム処理において利用されるプレイヤのレベル情報(Lv)や、攻撃ポイント(BP)、体力ポイント(HP)等の各種パラメータ情報(BP,HP…)とを関連付けてプレイヤキャラクタデータベースとして記憶している。
【0050】
通信部13は、ネットワークインタフェース等であり、ネットワークを介して端末20との間で種々の情報を送受する。具体的にこの通信部13は、ネットワークを介して端末20から受信した情報(操作の内容を表す情報等を含む)を制御部11に出力する。またこの通信部13は、制御部11から入力される指示に従い、指示された宛先となった端末20に対して画像情報等を送出する。
【0051】
端末20の制御部21は、CPU等のプログラム制御デバイスであり、記憶部22に格納されたプログラムに従って動作する。本実施の形態の一例においてこの制御部21は、ブラウザとして機能する。すなわち、制御部21は、ゲームサーバ10に対してゲームの画像情報やサウンド情報を要求するよう通信部26に指示し、通信部26がゲームサーバ10から受信する画像情報を受け入れて、当該画像情報を表示部24に表示し、またゲームサーバ10から通信部26が受信した指示に従ってサウンド鳴動部25を制御し、サウンド情報の鳴動処理を行う。またこの制御部21は、プレイヤである利用者が行った操作の情報をゲームサーバ10に対して送出するよう通信部26に指示する。この制御部21の動作については後に述べる。
【0052】
記憶部22は、メモリデバイス等を含む。この記憶部22には制御部21により実行されるプログラムが格納されている。このプログラムは、コンピュータ可読かつ非一時的な記憶媒体に格納されて提供され、この記憶部22に格納されたものであってもよいし、ネットワークを介して受信し、この記憶部22に格納したものであってもよい。また本実施の形態においてこの記憶部22は制御部21のワークメモリとしても動作する。
【0053】
操作部23は、例えば表示部24に重ね合わせて配されたタッチパネルであり、利用者の指示操作を受け入れて、当該指示操作の内容を制御部21に出力する。表示部24は、液晶ディスプレイ等であり、制御部21から入力される指示に従い、画像情報を表示する。サウンド鳴動部25は、アンプ及びスピーカ等を含んで構成される。このサウンド鳴動部25は、制御部21から入力される指示に従い、サウンドを鳴動する。
【0054】
通信部26は、ネットワークインタフェース等であり、ネットワークを介してゲームサーバ10との間で種々の情報を送受する。具体的にこの通信部26は、ネットワークを介してゲームサーバ10から受信した情報を制御部21に出力する。またこの通信部26は、制御部21から入力される指示に従い、指示された宛先となったゲームサーバ10に対して操作の情報等を送出する。
【0055】
次に制御部11の動作について、チーム対戦形式のバトルのゲームの処理を行う場合を例として説明する。制御部11は記憶部12に格納された本実施の形態のプログラムを実行することにより、
図3に例示する各機能ブロックを実現する。つまり、本実施の形態の一例では、記憶部12に格納されたプログラムを実行することにより、制御部11が、プレイヤ認証部31と、ゲーム情報配信制御部32と、チーム情報管理部33と、バトル構成処理部34と、時間管理部35と、バトル処理部36と、プレイヤキャラクタ管理部37と、参加状況情報取得部38と、トラックコントロール値演算部39と、サウンド制御部40と、として機能することとなる。
【0056】
ここでプレイヤ認証部31は、端末20からゲーム情報の要求を受け入れて、当該端末20を操作する利用者(プレイヤ)を、予め定めた方法で認証する。具体的にこの認証は、ユーザ名やパスワードを入力させることにより行われてもよい。プレイヤ認証部31は、ここで認証に成功したプレイヤのプレイヤ識別子を
図2に例示したプレイヤキャラクタデータベースから取得し、当該取得したプレイヤ識別子と、認証に成功したプレイヤが操作する端末20との通信に用いるパラメータ情報(当該端末20のネットワークアドレスやセッション識別子等)とを関連付けて、
図4(a)に示すようなログインデータベースとして記憶部12に格納しておく。
【0057】
ゲーム情報配信制御部32は、認証したプレイヤが操作する端末20からバトルパートのゲームに係る画像情報やサウンド情報の要求を受け入れて、画像情報の要求をバトル処理部36に出力し、サウンド情報の要求をサウンド制御部40に出力する。また本実施の形態において、このゲームサーバ10が提供するゲームは、既に述べたように、ここで説明しているバトルパートのゲームだけでなく、クエストパート等、他のパートを含んでもよい。つまり認証したプレイヤが必ずしもチームの一員としてバトルパートのゲームに参加するとは限らない。そこで本実施の形態の一例では、ゲームサーバ10は、バトルパートのゲームに係る画像情報やサウンド情報の要求を行った端末20を操作するプレイヤを、バトルパートのプレイに参加しているプレイヤとする。そして当該プレイヤ識別子の一覧をバトルパート参加中プレイヤリストとして記憶部12に格納する。
【0058】
チーム情報管理部33は、チームに関する情報を格納するチームデータベースを管理する。具体的にこのチームデータベースには、
図5に例示するように、個々のチームに固有に発行されたチーム識別子に対して、チームに属するプレイヤキャラクタを制御するプレイヤが任意に定めたチーム名、当該チームのリーダーとして設定されたプレイヤキャラクタを制御するプレイヤ識別子、並びに、当該チームに属する各プレイヤキャラクタを制御する各プレイヤ識別子を関連付けたものである。また本実施の形態の例では、チーム全体としてのレベル情報が各チーム識別子に関連付けて記録されていてもよい。ここでチームのレベル情報は、当該チームに属する各プレイヤキャラクタを制御する各プレイヤに関連付けられた攻撃ポイントの平均値など所属するプレイヤキャラクタのパラメータ情報により演算される値であってもよいし、当該チームの過去のバトルでの勝率などチームに属するプレイヤキャラクタを制御するプレイヤによる過去の操作履歴に基づいて演算される値などであってもよい。また、これらの値を組み合せて求められる情報であってもよい。
【0059】
なお、プレイヤキャラクタのチームへの所属は次のようにして行われる。例えばチームのリーダーとして設定されたプレイヤキャラクタを制御するプレイヤ(リーダープレイヤと呼ぶ)に対して、所属を希望するプレイヤがその旨のメッセージを送信する。そして当該メッセージを受けたリーダープレイヤが所属を承認する旨の操作をしたことを受けて、ゲームサーバ10がチームデータベースの当該リーダープレイヤがリーダーとなっているチームのチーム識別子に関連付けて、所属を希望するプレイヤ識別子を追記する処理を行う。
【0060】
またプレイヤキャラクタのチームからの脱退は、脱退を希望するプレイヤキャラクタを制御するプレイヤが、脱退をする旨の操作を行ったことを受けて、ゲームサーバ10がチームデータベースの当該プレイヤが属しているチームのチーム識別子に関連付けられたプレイヤ識別子を削除する処理を行うことで達成される。
【0061】
さらにプレイヤが、新規にチームを作成する操作を行うと、ゲームサーバ10が新たに固有のチーム識別子を発行し、チームデータベースに格納する。またこの発行したチーム識別子に関連付けて、新規にチームを作成する操作を行ったプレイヤ識別子を、当該チームのリーダーとして設定されたプレイヤキャラクタを制御するプレイヤ識別子としてチームデータベースに記録する。
【0062】
このようなチームの作成やチームへの所属、チームからの脱退に関連する処理については、種々、広く知られた態様のものを採用して構わないので、ここでのさらに詳しい説明を省略する。
【0063】
バトル構成処理部34は、バトルを行うチームの組み合わせを決定する。具体的にバトル構成処理部34は、バトルを希望するチームのリーダープレイヤからバトルに参加する旨の操作を受け入れると、当該リーダープレイヤがリーダーとなっているチームのチーム識別子をバトル待ちチームとして記憶する。そしてバトル構成処理部34は、バトル待ちチームとして記憶しているチーム識別子に係るチームから一対のチームを、例えばランダムに、あるいはチームのレベルの差が予め定めたしきい値未満であるなどの条件により選択する。バトル構成処理部34は、選択した一対のチームのチーム識別子を互いに関連付けて、次回バトル対戦リストとして記憶部12に格納する。
【0064】
時間管理部35は、バトル処理部36において行われる一対のチーム間のバトルゲームの開始及び終了の時刻を管理する。具体的にこの時間管理部35は、図示しない計時手段から現在の時刻の情報を取得し、予めバトルの開始時刻として定められた時刻が到来すると、バトルゲームの処理を開始すべき旨の指示をバトル処理部36に出力する。
【0065】
本実施の形態の一例では、バトルゲームが毎日10時、12時、7時、9時の4回開始され、それぞれ1時間ずつ開催されるものとして設定されているとする。
【0066】
またこの時間管理部35は、図示しない計時手段から現在の時刻の情報を取得し、予めバトルの終了時刻として定められた時刻が到来すると、バトルゲームの処理を終了すべき旨の指示をバトル処理部36に出力する。さらにこの時間管理部35は、バトルの開始時刻として設定された時刻からの経過時間の問い合わせを受け入れ、当該経過時間を表す情報を出力する。
【0067】
バトル処理部36は、バトルゲームの処理を開始すべき旨の指示を受けると、次回バトル対戦リストを参照し、一対のチーム識別子を順次、注目ペアとして取り出す。バトル処理部36は、次回バトル対戦リストに記録されている、互いに関連付けられた一対のチーム識別子ごとに固有のバトル識別子を発行し、ゲームパラメータデータベースとして、
図4(b)に例示するように、当該固有のバトル識別子に関連付けて注目ペアに含まれるチーム識別子を記録する。
【0068】
またバトル処理部36は、
図4(b)に例示するように、当該記録したチーム識別子の各々に対して、ゲームに関するパラメータ情報(ゲームパラメータ)として、最後にチームに属するプレイヤキャラクタが攻撃を行った時刻の情報(以下、直近攻撃時刻と呼ぶ)と、プレイに参加しているプレイヤによる所定操作の回数として例えば、所定時間内に同チーム内のプレイヤキャラクタが相手方に対して攻撃を行った回数(所定操作の連続回数に相当する。以下コンボ回数と呼ぶ)の情報と、最後の攻撃で相手チームのプレイヤキャラクタに与えたダメージ(相手チームのプレイヤキャラクタの体力ポイントの減少分、以下、直近攻撃ダメージポイントと呼ぶ)と、バトルの間に相手チームのプレイヤキャラクタに与えたダメージの総和(相手チームのプレイヤキャラクタの体力ポイントの減少分の総和、バトル開始当初は「0」に初期化される。以下、GPポイントと呼ぶ)とを関連付けてゲームパラメータデータベースに記録する。
【0069】
バトル処理部36は、次回バトル対戦リストから注目ペアを取り除き、すべてのチーム識別子の組が削除されるまで、次回バトル対戦リストを参照し、一対のチーム識別子を順次、注目ペアとして取り出す処理から繰り返して処理を続ける。
【0070】
またこのバトル処理部36は、ゲームパラメータデータベースを参照して、ゲームパラメータデータベースに記録されているバトル識別子ごとに、バトル識別子に関連付けられた一対のチーム識別子を得る。そしてバトル処理部36はさらに当該一対のチーム識別子のそれぞれに関連付けられたプレイヤキャラクタの体力ポイント等の情報をチームデータベース及びプレイヤキャラクタデータベースを参照して取得し、当該得たチーム識別子のうち、一方のチーム識別子で識別されるチーム(第1チームとする)に属するプレイヤキャラクタの体力ポイントや、他方のチーム識別子で識別されるチーム(第2チームとする)に属するプレイヤキャラクタの体力ポイント等に基づいたプレイ画面を生成する。
【0071】
具体的にこのプレイ画面は、
図6に例示するように、仮想的なバトルフィールドF内に、第1チームに属するプレイヤキャラクタの数に応じた人型のキャラクタ表示(C1)と、第2チームに属するプレイヤキャラクタの数に応じた人型のキャラクタ表示(C2)と、第1,第2チームのそれぞれに属するプレイヤキャラクタの体力ポイントの総和(H1,H2)とを表示するものである。なお、このプレイ画面には、攻撃の指示等を行うためのボタンを配しておく(N1,N2…)。
【0072】
バトル処理部36は、所定のタイミングごとに繰り返してこのプレイ画面を更新し、更新後のプレイ画面の情報を、バトル識別子に関連付けて記憶部12に保持しておく。
【0073】
バトル処理部36は、ゲーム情報配信制御部32から、バトルゲームに関する画面の要求を受けると、当該要求を行った端末20を操作しているプレイヤのプレイヤ識別子を、
図4(a)に例示したログインデータベースを参照して取得する。バトル処理部36は、取得したプレイヤ識別子に関連付けられたチーム識別子を、
図5に例示したチームデータベースを参照して取得し、さらに
図4(b)に例示したゲームパラメータデータベースを参照して、得られたチーム識別子に関連付けられているバトル識別子を取得する。そしてバトル処理部36は、当該取得したバトル識別子に関連付けて記憶部12に保持されているプレイ画面の情報を、要求元の端末20に対して送出する。
【0074】
またこのバトル処理部36は、端末20から攻撃の操作を受け入れると、当該端末20を操作しているプレイヤのプレイヤ識別子(以下、攻撃者識別名と呼ぶ)を、ログインデータベースを参照して取得する。バトル処理部36は、取得した攻撃者識別名に関連付けられたチーム識別子(攻撃者側チーム識別子)を、チームデータベースを参照して取得する。またバトル処理部36は、ゲームパラメータデータベースを参照して、得られた攻撃者側チーム識別子に関連付けられているバトル識別子を取得し、さらに当該バトル識別子に関連付けられている、もう一つのチーム識別子(相手チームのチーム識別子)を読み出す。
【0075】
バトル処理部36は、攻撃者識別名に関連付けてプレイヤキャラクタデータベースに格納されているプレイヤキャラクタの体力ポイント(攻撃者体力ポイント)と攻撃ポイント(攻撃者攻撃ポイント)を取得し、攻撃者体力ポイントが予め定めた値を超えているか(攻撃者のプレイヤキャラクタが「気絶」の状態でないか)を調べる。ここで攻撃者体力ポイントが予め定めた値を超えていなければ、バトル処理部36は、攻撃に係る処理を中断する。また、攻撃者体力ポイントが予め定めた値を超えていれば、バトル処理部36は、読み出した相手チームのチーム識別子に関連付けて、チームデータベースに格納されているプレイヤ識別子のうちからランダムに(あるいは所定の規則に従って)一つの識別名を攻撃対象になったものとして選択し、当該攻撃対象となったものとして選択したプレイヤ識別子に関連付けてプレイヤキャラクタデータベースに格納されているプレイヤキャラクタの体力ポイントを、取得した攻撃者攻撃ポイントを用いて演算される値(攻撃の強度を表す値、以下ヒットポイントと呼ぶ)だけ減少させてプレイヤキャラクタデータベースを更新する。このヒットポイントは例えば、攻撃者攻撃ポイントとランダム値とを加算して、ランダム性を持たせた値としてもよい。
【0076】
また、このときバトル処理部36は、攻撃者識別名に関連付けてプレイヤキャラクタデータベースに格納されているプレイヤキャラクタの攻撃ポイント(攻撃者攻撃ポイント)を予め定められた規則に従って減少させて、プレイヤキャラクタデータベースを更新する。
【0077】
このバトル処理部36の攻撃に係る処理により、攻撃したプレイヤキャラクタの攻撃ポイントが減少し、攻撃されたプレイヤキャラクタの体力ポイントが減少するといったプレイが演出される。
【0078】
バトル処理部36はまたこのとき、現在日時の情報と、ゲームパラメータデータベース内で、攻撃者側チーム識別子に関連付けられた、直近攻撃時刻の情報とを取得する。
【0079】
そしてバトル処理部36は、取得した、現在日時の情報と直近攻撃時刻の情報との差が予め定めた時間差を下回っているか(例えば10分以下であるか)否かを調べ、下回っていなければ、攻撃者チーム側識別子に関連付けられたコンボ回数の情報として「1」を格納する。また、バトル処理部36は現在日時の情報と直近攻撃時刻の情報との差が予め定めた時間差を下回っていれば、攻撃者チーム側識別子に関連付けられたコンボ回数の情報を「1」だけインクリメントする。また、バトル処理部36は直近攻撃時刻の情報として、取得した現在日時の情報を上書きする。当該直近攻撃時刻の情報がなければ、ゲームパラメータデータベース内の攻撃者側チーム識別子に関連付けて、取得した現在日時の情報を直近攻撃時刻の情報として格納し、攻撃者チーム側識別子に関連付けられたコンボ回数の情報として「1」を格納する。
【0080】
さらにバトル処理部36は、攻撃者チーム側識別子に関連付けられた、直近攻撃ダメージポイントの値に、演算したヒットポイントの値を上書きするとともに、攻撃者チーム側識別子に関連付けられた、GPポイントに、当該演算したヒットポイントの値を加算して、ゲームパラメータデータベースを更新する。
【0081】
そして、バトル処理部36は、
図6に例示するように、攻撃者識別名で識別されるプレイヤが制御するプレイヤキャラクタから攻撃対象となったものとして選択したプレイヤキャラクタへの攻撃が行われた旨の画像Kをプレイ画面に合成する。
【0082】
バトル処理部36は、時間管理部35からバトルゲームを終了するべき旨の指示を受けると、ゲームパラメータデータベースを参照して、ゲームパラメータデータベースに記録されているバトル識別子のそれぞれを注目バトル識別子として選択しながら、次の処理を行う。
【0083】
すなわち、バトル処理部36は、注目バトル識別子に関連付けられた一対のチーム識別子のそれぞれについて、各チーム識別子に関連付けて記録されている、GPポイントの値を比較し、より大きいGPポイントの値に関連付けられたチーム識別子で識別されるチームを勝利とし、より小さいGPポイントの値に関連付けられたチーム識別子で識別されるチームを敗北とする。このバトル識別子ごとの勝敗の結果は、各チームに属するプレイヤキャラクタを制御するプレイヤがそれぞれ適宜参照できるように、所定のウェブページ等に記録される。
【0084】
プレイヤキャラクタ管理部37は、時間経過に応じたプレイヤキャラクタの攻撃ポイント(BP)や体力ポイント(HP)等の回復処理を行う。具体的に、攻撃ポイント(BP)の回復処理としてプレイヤキャラクタ管理部37は、予め定められたタイミングごとに(例えば定期的に)繰り返し、次の処理を行う。すなわち、このプレイヤキャラクタ管理部37は、プレイヤキャラクタデータベースを参照し、プレイヤキャラクタデータベースに格納されているプレイヤ識別子を順次、注目識別名として選択する。そしてプレイヤキャラクタ管理部37は、注目識別名に関連付けられている攻撃ポイント(BP)が、当該識別名で識別されるプレイヤが制御するプレイヤキャラクタ(注目キャラクタとする)について定められた最大攻撃ポイント値未満であれば、当該攻撃ポイントの値に所定の値を加算して更新後攻撃ポイント値を算出する。プレイヤキャラクタ管理部37はここで更新後攻撃ポイント値が注目キャラクタについての最大攻撃ポイント値を超えた場合は、更新後攻撃ポイント値を、注目キャラクタについての最大攻撃ポイント値とする。そしてプレイヤキャラクタ管理部37は、プレイヤキャラクタデータベースに注目識別名に関連付けて格納されている攻撃ポイントの値に更新後攻撃ポイント値を上書きして、プレイヤキャラクタデータベースを更新する。
【0085】
またプレイヤキャラクタ管理部37は、体力ポイント(HP)の回復処理として、注目識別名に関連付けられている体力ポイント(HP)が、注目キャラクタについて定められた最大体力ポイント値未満であれば、当該体力ポイントの値に所定の値を加算して更新後体力ポイント値を算出する。プレイヤキャラクタ管理部37はここで更新後体力ポイント値が注目キャラクタについての最大体力ポイント値を超えた場合は、更新後体力ポイント値を、注目キャラクタについての最大体力ポイント値とする。そしてプレイヤキャラクタ管理部37は、プレイヤキャラクタデータベースに注目識別名に関連付けて格納されている体力ポイントの値に更新後体力ポイント値を上書きして、プレイヤキャラクタデータベースを更新する。
【0086】
なお、ここで注目キャラクタについて定められる最大攻撃ポイントや最大体力ポイントは、例えば注目識別名に関連付けられているレベル情報(Lv)によって異なるものとしておいてもよい。具体的にはレベル情報(Lv)が大きいほど、最大攻撃ポイントや最大体力ポイントが大きくなるように、レベル情報(Lv)ごとに予め最大攻撃ポイントや最大体力ポイントを定めておけばよい。
【0087】
また、ここでは攻撃ポイントと体力ポイントとを回復する例としたが、他にもプレイヤキャラクタごとに管理されるパラメータのうちに、時間経過により回復(ないし更新)させるべきパラメータがあれば、プレイヤキャラクタ管理部37は上述と同様の処理により、当該パラメータを更新する。
【0088】
参加状況情報取得部38は、バトル処理部36がバトルゲームの処理を開始すると、ゲームパラメータデータベースを参照して、ゲームパラメータデータベースに記録されているバトル識別子のそれぞれについて、バトル識別子に関連付けられた一対のチーム識別子を取得する。
【0089】
参加状況情報取得部38は、取得したチーム識別子のそれぞれを注目識別子として選択しつつ、次の処理を行う。すなわち、参加状況情報取得部38は、チームデータベースを参照して注目識別子に関連付けて記録されているプレイヤ識別子の数Nをカウントする。また、当該注目識別子に関連付けて記録されているプレイヤ識別子のうち、バトルパート参加中プレイヤリストに含まれているプレイヤ識別子の数nをカウントする。そして、参加状況情報取得部38は、値(参加率)n/Nを演算し、
図4(c)に例示するような参加状況情報リストとして、注目識別子として選択されたチーム識別子に関連付けてこの参加率を記憶部12に格納する。
【0090】
この参加状況情報取得部38の動作により、参加状況情報リストには、各チームについて、チームに属しているプレイヤキャラクタのバトルゲームへの参加の割合(チームに属しているプレイヤキャラクタの総数に対し、バトルゲームに参加しているプレイヤキャラクタの数の割合)の一覧が生成される。
【0091】
トラックコントロール値演算部39は、バトル処理部36がバトルゲームの処理を開始すると、ゲームパラメータデータベースを参照して、ゲームパラメータデータベースに記録されているバトル識別子のそれぞれについて、バトル識別子に関連付けられた一対のチーム識別子を取得する。
【0092】
トラックコントロール値演算部39は、取得したチーム識別子のそれぞれを注目識別子として選択しつつ、次の処理を行う。すなわち、トラックコントロール値演算部39は、参加状況情報リストを参照して、注目識別子に関連付けられた参加率の値を取得し、この参加率の値を用いて、トラックコントロール値を演算する。本実施の形態の一例では、トラックコントロール値演算部39は、参加率の値そのものをトラックコントロール値としてもよい。
【0093】
またトラックコントロール値演算部39はさらに、ゲームパラメータデータベースを参照し、ゲームパラメータデータベースに記録されている情報も用いてトラックコントロール値を算出してもよい。このトラックコントロール値演算部39による他のトラックコントロール値の算出例については後に述べる。
【0094】
サウンド制御部40は、トラックコントロール値演算部39が、チーム識別子ごとに演算したトラックコントロール値に基づき、各プレイヤの端末20にて鳴動するサウンドを制御する。
【0095】
本実施の形態の一例では、バトルゲームの間、端末20にて鳴動されるサウンドに係る情報は、
図7に例示するように、第1のサウンド要素としての複数のメイントラック情報TR1,TR2,…と、第2のサウンド要素としての、少なくとも一つのエクストラトラック情報TReとを含む。これら複数のメイントラック情報やエクストラトラック情報は、それぞれ単独でも鳴動可能であるし、一斉に鳴動させることも可能なサウンド情報(音を表す情報)を含む。なお、ここで各トラック情報(メイントラック情報TR1,TR2,…及びエクストラトラック情報TRe)に含まれるサウンド情報は、WAV形式やMP3形式等の波形情報でもよいし、標準MIDIファイルのような楽譜情報であってもよい。
【0096】
また本実施の形態の一例では、メイントラック情報に含まれるサウンド情報を、ゲームが有利に進行していることを演出するサウンド情報とし、エクストラトラックに含まれるサウンド情報を、ゲームの状況がプレイヤにとって不利な状態となったときに鳴動される効果音などとしてもよい。つまり、本実施の形態の一例では、端末20にて鳴動され得るサウンドとして、ゲームが有利に進行しているときに、有利に進行していることを演出するポジティブサウンドと、ゲームが不利な状態となったときに、当該状態を演出するネガティブサウンドとが規定されていてもよい。
【0097】
また本実施の形態の例では、各メイントラック情報について、
図8に例示するように、メイントラック情報に含まれるサウンド情報を鳴動させる条件として、トラックコントロール値に係る条件がトラック再生条件として設定されてもよい。具体的にトラックコントロール値に応じた演出閾値(複数あってもよい)を予め定めておき、この演出閾値をトラックコントロール値がまたぐ度に、鳴動するサウンド情報を異ならせてもよい。
図8の例では、メイントラック情報TR1に係るサウンド情報は、トラックコントロール値に関わらず鳴動され、メイントラック情報TR2に係るサウンド情報は、トラックコントロール値が第1のしきい値θ1以上である場合に鳴動され、メイントラック情報TR3に係るサウンド情報は、トラックコントロール値が第2のしきい値θ2以上である場合に鳴動されることを表す設定となっている。
【0098】
一般的に、聞こえるメイントラックの数が多くなるほど、サウンドは盛り上がったものとなる。つまりサウンドによる演出の度合い(サウンド演出度)は上昇する。従って、ここでの例のようにトラックコントロール値が大きくなり、各しきい値θ1,θ2,θ3(演出閾値に相当する)をまたぐほど、サウンド演出度は上昇していく。
【0099】
この例においてサウンド制御部40は、ゲーム情報配信制御部32から、バトルゲームに関するサウンドの要求を受けると、当該要求を行った端末20を操作しているプレイヤのプレイヤ識別子を、ログインデータベースを参照して取得する。またサウンド制御部40は、当該要求を行った端末20に対して上記複数のメイントラック情報TR1,TR2,…と、少なくとも一つのエクストラトラック情報TReとを含む楽曲情報を配信しておく。
【0100】
サウンド制御部40は、ログインデータベースを参照して取得したプレイヤ識別子に関連付けられたチーム識別子を、チームデータベースを参照して取得し、さらにトラックコントロール値演算部39が当該取得したチーム識別子について演算したトラックコントロール値を得る。そして、サウンド制御部40は、予め設定されているトラック再生条件を参照し、得られたトラックコントロール値を超えるしきい値に関連付けられているメイントラック情報を特定する情報(鳴動させるべきメイントラック情報がどれであるかを表す情報)を、サウンドの要求を行った端末20に対して送出する。
【0101】
またサウンド制御部40は、エクストラトラック情報TReの再生条件が満足されているか否かを判断し、エクストラトラック情報TReの再生条件が満足されていれば、サウンドの要求を行った端末20に対してエクストラトラック情報TReを鳴動させるべき旨の指示を送出する。
【0102】
また本実施の形態において端末20側では、ゲームのプレイヤである利用者からの指示操作に応じてゲームサーバ10にアクセスし、ゲームサーバ10に対して認証情報を送出してログインするとともに、バトルゲームの画面の情報やサウンド情報を要求する。
【0103】
そして端末20は、ゲームサーバ10がこの要求に応じて配信したバトルゲームのプレイ画面の情報を受信し、当該プレイ画面の情報を表示部24に表示出力する。端末20はこのプレイ画面に配されている「攻撃」のボタン等をプレイヤがタップしたときには、攻撃の指示があった旨の情報を、ゲームサーバ10に対して送出する。端末20は所定のタイミングごとに繰り返してゲームサーバ10に対してバトルゲームの画面を要求し、更新されたプレイ画面を得るようにしておく。
【0104】
また端末20はゲームサーバ10から配信された楽曲情報を記憶部22に格納する。さらに端末20はゲームサーバ10から、当該ゲームサーバ10が配信した楽曲情報に含まれるメイントラック情報のうち、鳴動させるべきメイントラック情報がどれであるかを表す情報を受信すると、記憶部22に格納した楽曲情報のうち、当該受信した情報で特定される鳴動させるべきメイントラック情報に含まれるサウンド情報を鳴動する。
【0105】
さらに端末20は、ゲームサーバ10からエクストラトラック情報TReを鳴動させるべき旨の指示を受信すると、記憶部22に格納した楽曲情報に含まれるエクストラトラック情報TReに係るサウンド情報を鳴動する。
【0106】
ここでゲームサーバ10におけるトラックコントロール値演算部39による他のトラックコントロール値の算出例について説明する。上述の例では、このトラックコントロール値演算部39は、チームごとに、参加状況情報リストを参照して、チームのチーム識別子に関連付けられた参加率の値を取得し、この参加率の値を用いてトラックコントロール値を演算することとしていたが、本実施の形態はこれに限られない。
【0107】
例えばトラックコントロール値演算部39は、チームごとに、チームデータベースにおいて対応するチーム識別子に関連付けて記録されているプレイヤ識別子のうち、バトルパート参加中プレイヤリストに含まれているプレイヤ識別子の数nをカウントし、この数n(チームに属するプレイヤキャラクタを制御するプレイヤのうち、プレイに参加しているプレイヤの人数:プレイヤ参加数)に基づいてトラックコントロール値を算出してもよい。
【0108】
さらにトラックコントロール値演算部39は、ゲームパラメータデータベースを参照し、ゲームパラメータデータベースに記録されているゲームパラメータ等の情報も用いてトラックコントロール値を算出してもよい。具体的にトラックコントロール値演算部39は、トラックコントロール値を演算しようとするチームのチーム識別子(注目識別子とする)に関連付けてゲームパラメータデータベースに格納されているバトル識別子と、当該バトル識別子に関連付けられている、注目識別子とは異なるチーム識別子(バトルの相手方のチームのチーム識別子:相手方識別子)とを読み出す。
【0109】
そしてトラックコントロール値演算部39は、注目識別子に関連付けてゲームパラメータデータベースに格納されているゲームパラメータとしてのコンボ回数FCnと、直近攻撃ダメージポイントFDpと、GPポイントFGPとを得るとともに、注目識別子に係る参加状況情報リストを参照して味方の参加率FPR=n/Nを得る。またトラックコントロール値演算部39は、相手方識別子に関連付けてゲームパラメータデータベースに格納されているGPポイントEGPを得る。
【0110】
トラックコントロール値演算部39は、さらにプレイヤキャラクタデータベースから相手方識別子に関連付けられているプレイヤ識別子と体力ポイント値(つまり、相手方のチームの現在のプレイヤキャラクタごとの体力ポイント値)とを読み出す。そして当該体力ポイント値が予め定めた値を下回っているプレイヤキャラクタの数(「気絶」状態にある相手方のチームのプレイヤキャラクタの数)EDnをカウントするとともに、読み出したプレイヤ識別子のうち、バトルパート参加中プレイヤリストに含まれているプレイヤ識別子の数(つまり、相手方のプレイヤ参加数)Enを得る。また、トラックコントロール値演算部39は相手方識別子で識別される相手方のチームに属するプレイヤキャラクタについて定められた最大体力ポイント値の総和(つまり、相手方のチームの最大の体力ポイント値の総和)EHPMAXを得ておいてもよい。
【0111】
トラックコントロール値演算部39は以上の得られた情報から、チームごとに、演出パラメータとしての
(1)当該チームのポイント占有率FGPR=FGP/(FGP+EGP)
(2)味方参加率FPR=n/N(ただしNは自チームに属しているプレイヤキャラクタの総数)
(3)相手気絶率EDR=EDn/En
(4)直近最大コンボ到達率RMCP=FCn/CMAX(ただしCMAXは予め定められた最大のコンボ回数)
(5)直近最大攻撃ダメージ率RMAP=FDp/EHPMAX
を演算して、これらからさらに、当該チームの戦況ポイントBCPと、テクニカルボーナスポイントTBPとを、
BCP=α×FGPR+β×FPR+γ×EDR、
TBP=ε×RMCP+φ×RMAP
として求め、さらにトラックコントロール値をこれらの和BCP+TBPとしてもよい。ここでα,β,γ,ε,φは、経験的に定め得るパラメータ値である。
【0112】
このようにトラックコントロール値を定める(α,β,γ,ε,φをいずれも正の値としておく)こととすると、ゲームパラメータに応じて、自チームのポイント占有率や自チームの参加率、相手気絶率が高いほど、また、直近最大コンボ到達率や直近最大攻撃ダメージ率が高くなるほどトラックコントロール値は大きくなり、先の例において、鳴動されるメイントラック情報のサウンド情報の数が多くなって、より賑やかな楽曲が鳴動される状態となり、サウンド演出度が高められて、ゲームへの参加人数等に応じた盛りあがりが効果的に演出される。
【0113】
特にメイントラック情報に含まれるサウンド情報が、ゲームが有利に進行していることを演出するポジティブサウンドである場合は、自チームのポイント占有率や自チームの参加率、相手気絶率が高いほど、また、直近最大コンボ到達率や直近最大攻撃ダメージ率が高くなるほど(自チーム側のプレイヤのグルーブ感が高まるほど)、有利に進行しているとの演出の度合いが強くなる。
【0114】
なお、どのゲームパラメータに応じてどのような演出パラメータを演算するかについては、ゲームごとのコンセプトに応じて定めることとすればよい。また演出パラメータは上述の例に限られず、単位時間あたりに行われた攻撃の種類の数(使用されたスキルの種類の数等、すなわちプレイの単調さに関係するパラメータ)や、プレイヤ間のチャットが可能となっている場合はチャットにより交されたメッセージの数などを含んでもよい。
【0115】
さらにトラックコントロール値は、バトルゲームの開始からの経過時間(チームで行われるゲーム開始からの経過時間)を用いて定められる経過時間パラメータ(例えば経過時間そのもので構わない)に基づいて変化するよう設定されてもよい。
【0116】
このようにする場合、トラックコントロール値演算部39はトラックコントロール値を演算するときに、時間管理部35に対して、バトルの開始時刻として設定された時刻からの経過時間の問い合わせを行い、当該経過時間を表す情報tを時間管理部35から得ておく。そしてトラックコントロール値演算部39は、この経過時間の情報tと、指数関数exp(exp(x)は、自然対数eのx乗を意味するものとする)とを用いて、時間減衰率exp(−κ・t)を、BCP+TBPの値に乗じてトラックコントロール値を得てもよい。なお、κは経験的に定め得るパラメータ値であり、時間減衰率を乗じる対象は、BCPのみ、またはTBPのみとしてもよい。つまり、例えばトラックコントロール値演算部39はトラックコントロール値を、
トラックコントロール値=BCP+TBP×exp(−κ・t) …(1)
としてもよい。
【0117】
また、トラックコントロール値に対する演出閾値、例えば
図8に例示した、どのメイントラック情報に係るサウンド情報を鳴動するかを表すしきい値は、相手方参加率EPR(ただしEPR=En/EN、ここでENは相手方チームに属しているプレイヤキャラクタの総数)等、自チーム側のプレイヤによって制御不能な情報、その他の演出パラメータにより可変されてもよい。
【0118】
一例として、相手方参加率EPRが低いほど、演出閾値を低減することとしてもよい。この例によると、相手方参加率が低く、あまり盛り上がらないゲームにおいては、味方側のコンボ到達率が、相手方参加率が比較的高い場合に比べてあまり大きくならなくても(つまり、わずかに有利なプレイでしかない場合でも)、サウンド演出度が高められ、ゲームの盛り上がりが演出されることとなる。
【0119】
本実施の形態のゲームサーバ10はさらに、味方参加率や相手方参加率等の演出パラメータが比較的高い状況となり、サウンド演出度が比較的高い状況となっている間、その後の演出パラメータの変動を定期的に調べ、演出パラメータが急激に減少したと判断されるときには、プレイヤのモチベーションが低下しているとして、トラックコントロール値を最低値に設定し、あるいは、端末20におけるサウンドの鳴動を停止(ミュート)するよう制御してもよい。
【0120】
具体的に、この例のゲームサーバ10は、サウンド演出度に関連するトラックコントロール値が予め定めたしきい値(高水準しきい値と呼ぶ)よりも高い間、トラックコントロール値の演算に用いる演出パラメータを繰り返し調べる。そして、演出パラメータが予め定めた急変条件を満足するときに(例えば前回調べた演出パラメータから今回調べた演出パラメータを差引きした結果が予め定めたしきい値(パラメータ差分しきい値と呼ぶ)を超えるときに急変条件を満足したものとして)、トラックコントロール値を最低値(例えば「0」)に設定する。これにより例えば
図8に例示した設定がされている場合には、端末20ではメイントラック情報のうち、メイントラック情報TR1に係るサウンドだけが鳴動される状態となり、サウンド演出度が比較的高い状態から、サウンド演出度が最低の状態まで低減制御される。
【0121】
なお、上記急変条件を満足するときには、ゲームサーバ10は、端末20に対してサウンドをミュートするように指示(低減制御の一態様に相当する)し、端末20において当該指示に従って、サウンドの鳴動を停止してもよい。
【0122】
[動作例]
本実施の形態のゲームシステムは以上の構成を基本的に備えており、次のように動作する。本実施の形態の一例では、ゲームサーバ10が一対のチーム間でのバトルゲームの処理を行う。この例では、
図9に例示するように、ゲームサーバ10がチームデータベースに設定されているチームから、一対のチームを対戦するチームとして選択して次回バトル対戦リストを生成する(S11)。
【0123】
そしてゲームサーバ10は予め定められたバトルゲームの開始時刻が到来したか否かを判断し(S12)、到来していない場合は(S12:Noの場合)処理S12を繰り返し実行する。また処理S12において、予め定められたバトルの開始時刻が到来したと判断すると(S12:Yes)、ゲームサーバ10が次回バトル対戦リストに記録した内容に基づいて一対のチーム間でのバトルゲームの処理を行う(S13)。
【0124】
また、このバトルゲームの処理を行っている間、ゲームサーバ10は、図示しない計時手段により現在の時刻の情報を取得し、予めバトルゲームの終了時刻として定められた時刻が到来したか否かを調べる(S14)。ここでバトルゲームの終了時刻が到来していなければ(S14:No)、ゲームサーバ10は、バトルゲームの処理を継続する。
【0125】
また処理S14においてバトルゲームの終了時刻が到来したならば(S14:Yes)、ゲームサーバ10は、バトルゲームの処理(処理S13)を停止し、ゲームパラメータデータベースを参照して、ゲームパラメータデータベースに記録されているバトル識別子のそれぞれを注目バトル識別子として選択しながら、次の処理を繰り返し行う。
【0126】
ゲームサーバ10は、注目バトル識別子として選択したバトル識別子に関連付けられた一対のチーム識別子のそれぞれを取得し、当該取得したチーム識別子のそれぞれに関連付けて記録されている、GPポイントの値を比較する(S15)。そしてゲームサーバ10は、より大きいGPポイントの値に関連付けられたチーム識別子で識別されるチームを勝利とし、より小さいGPポイントの値に関連付けられたチーム識別子で識別されるチームを敗北と判定する(勝敗判定:S16)。ゲームサーバ10は、この判定の結果を、それぞれのチーム識別子、または注目バトル識別子に関連付けて記録して(S17)、処理を終了する。
【0127】
また、処理S13にてバトルゲームが行われている間、ゲームサーバ10は、プレイヤの端末20からバトルゲームに係る画面の要求を受けると、当該プレイヤがバトルゲームに参加したものとして当該プレイヤが制御するプレイヤキャラクタが属しているチームのプレイヤ参加数をインクリメントする。またこのときゲームサーバ10は、端末20にて鳴動される楽曲の情報を端末20側に配信しておく。この楽曲の情報は、既に述べたように、複数のメイントラック情報TR1,TR2,…と、少なくとも一つのエクストラトラック情報TReとを含む。
【0128】
さらにゲームサーバ10は、処理S13のバトルゲームの処理として、
図10に例示するように、バトル識別子ごとのプレイ画面の生成処理(S21)と、バトルゲームに参加しているプレイヤが制御するプレイヤキャラクタのパラメータの回復に係る処理(S22)と、参加状況情報リストの生成処理(S23)と、バトル識別子ごとにプレイヤの操作する端末20から要求や指示を受け入れて当該要求や指示に応答する処理(S24)とを並行して実行する。ここで各処理を並行して実行することは、いわゆるマルチタスク処理を行うことで実現できる。またゲームサーバ10は、処理S13のバトルゲームの処理を停止するときには、これらの各処理を、それぞれの実行中であっても中断して、プレイ画面の要求があったときには、バトルゲームが終了したこと、またはバトルゲームが行われていないことを表す、予め用意した画面の情報を要求元の端末20に送出する。
【0129】
処理S24では、ゲームサーバ10は、
図11に例示するように、プレイヤの操作する端末20から要求や指示を受け入れるまで待機し(S31:No)、要求や指示があると(S31:Yes)、当該要求または指示を行った端末20を操作するプレイヤのプレイヤ識別子を記憶部12に格納しているバトルパート参加中プレイヤリストに追記する。なおここで、処理S31で受け入れた要求または指示を行った端末20を操作するプレイヤのプレイヤ識別子が既にバトルパート参加中プレイヤリストに記録されていれば、追記をする必要はない。
【0130】
またゲームサーバ10は、当該処理S31で受け入れた要求または指示が、バトルゲームに関するプレイ画面とサウンドとを要求するものであるか、または攻撃を行うべき旨の指示であるかを判断する(S32)。ここでプレイヤの操作する端末20から受け入れた要求または指示が、攻撃を行うべき旨の指示であれば(S32:攻撃指示)、ゲームサーバ10は、攻撃に係る処理(S33)を実行する。
【0131】
一方、処理S32において、ここでプレイヤの操作する端末20から受け入れた要求または指示が、バトルゲームに関するプレイ画面とサウンドとを要求するものであれば(S32:要求)、ゲームサーバ10は、要求元の端末20に対してプレイ画面の情報を送出する処理(S34)と、サウンド制御処理(S35)とを実行する。なお、これら処理S34,S35は図示の都合上、この順で記載しているが、これらの実行順は逆順であっても、並行的に行われても構わない。
【0132】
ゲームサーバ10は、プレイ画面の生成処理(処理S21)を繰り返し実行している。この生成処理においてゲームサーバ10は、ゲームパラメータデータベースを参照して、ゲームパラメータデータベースに記録されているバトル識別子ごとに、バトル識別子に関連付けられた一対のチーム識別子を得る。そしてゲームサーバ10は、当該一対のチーム識別子のそれぞれに関連付けられたプレイヤキャラクタの体力ポイント等の情報をチームデータベース及びプレイヤキャラクタデータベースを参照して取得する。ゲームサーバ10は、当該得たチーム識別子のうち、一方のチーム識別子で識別されるチーム(第1チームとする)に属するプレイヤキャラクタの体力ポイントと、他方のチーム識別子で識別されるチーム(第2チームとする)に属するプレイヤキャラクタの体力ポイントとを用いて、
図6に例示したようなプレイ画面を生成する。
【0133】
またプレイヤキャラクタのパラメータの回復に係る処理(処理S22)では、ゲームサーバ10は、時間経過に応じたプレイヤキャラクタの攻撃ポイント(BP)や体力ポイント(HP)等の回復処理を、予め定められたタイミングごとに(例えば定期的に)繰り返し行う。
【0134】
この処理では、ゲームサーバ10は、
図12に例示するように、プレイヤキャラクタデータベースを参照し、プレイヤキャラクタデータベースに格納されているプレイヤ識別子を所定の順に配列し、配列の順に、プレイヤ識別子を一つずつ注目識別名として選択して(S41)、次の処理を行う。
【0135】
ゲームサーバ10は注目識別名に関連付けられている攻撃ポイント(BP)が、当該識別名で識別されるプレイヤが制御するプレイヤキャラクタ(注目キャラクタとする)について定められた最大攻撃ポイント値未満であるか否かを判断する(S42)。ここで、注目キャラクタについて定められた最大攻撃ポイント値未満であれば(S42:Yes)、ゲームサーバ10は、当該攻撃ポイントの値に所定の値を加算して更新後攻撃ポイント値を算出する(S43)。そしてゲームサーバ10は当該更新後攻撃ポイント値が注目キャラクタについての最大攻撃ポイント値を超えたか否か判断する(S44)。
【0136】
ここで更新後攻撃ポイント値が注目キャラクタについて定められた最大攻撃ポイント値を超えた場合は(S44:Yes)、ゲームサーバ10は、処理S43にて算出した更新後攻撃ポイント値を、注目キャラクタについての最大攻撃ポイント値とする(S45)。ゲームサーバ10は、プレイヤキャラクタデータベースに注目識別名に関連付けて格納されている攻撃ポイントの値に更新後攻撃ポイント値を上書きして、プレイヤキャラクタデータベースを更新する(S46)。
【0137】
またゲームサーバ10は、注目識別名に関連付けられている体力ポイント(HP)が、注目キャラクタについて定められた最大体力ポイント値未満であるか否かを判断する(S47)。ここで注目キャラクタについて定められた最大体力ポイント値未満であれば(S47:Yes)、当該体力ポイントの値に所定の値を加算して更新後体力ポイント値を算出する(S48)。
【0138】
ゲームサーバ10はここで更新後体力ポイント値が注目キャラクタについての最大体力ポイント値を超えたか否かを判断し(S49)、注目キャラクタについて定められた最大体力ポイント値を超えている場合は(S49:Yes)、更新後体力ポイント値を、注目キャラクタについての最大体力ポイント値とする(S50)。そしてゲームサーバ10は、プレイヤキャラクタデータベースに注目識別名に関連付けて格納されている体力ポイントの値に更新後体力ポイント値を上書きして、プレイヤキャラクタデータベースを更新する(S51)。
【0139】
なおゲームサーバ10は、処理S42にて注目識別名に関連付けられている攻撃ポイント(BP)が、注目キャラクタについて定められた最大攻撃ポイント値未満でなければ(S42:No)、処理S46に移行して処理を続ける。また処理S44にて、更新後攻撃ポイント値が最大攻撃ポイント値を超えていないときには(S44:No)、処理S46に移行して処理を続ける。
【0140】
ゲームサーバ10は、処理S47において注目識別名に関連付けられている体力ポイント(HP)が、注目キャラクタについて定められた最大体力ポイント値未満でなければ(S47:No)、処理S51に移行して処理を続ける。またゲームサーバ10は、処理S48において更新後体力ポイント値が注目キャラクタについての最大体力ポイント値を超えていないときには(S49:No)、処理S51に移行して処理を続ける。
【0141】
図10(S24の処理)における攻撃に係る処理(処理S33)では、
図13に例示するように、ゲームサーバ10はまず、攻撃を指示した、端末20を操作しているプレイヤが制御するプレイヤキャラクタが属するチームと、当該チームとバトルゲームにて対戦している相手方のチームとを特定する処理を行う(S60:チーム特定処理)。
【0142】
このチーム特定処理では、具体的にゲームサーバ10は、攻撃を指示した、端末20を操作しているプレイヤのプレイヤ識別子(以下、攻撃者識別名と呼ぶ)を、ログインデータベースを参照して取得する。またゲームサーバ10は、当該取得した攻撃者識別名に関連付けられたチーム識別子(攻撃者側チーム識別子)を、チームデータベースを参照して取得する。さらにゲームサーバ10は、ゲームパラメータデータベースを参照して、得られた攻撃者側チーム識別子に関連付けられているバトル識別子を取得し、さらに当該バトル識別子に関連付けられている、もう一つのチーム識別子(相手チームのチーム識別子)を読み出す。
【0143】
ゲームサーバ10は、攻撃者識別名に関連付けてプレイヤキャラクタデータベースに格納されているプレイヤキャラクタの体力ポイント(攻撃者体力ポイント)と攻撃ポイント(攻撃者攻撃ポイント)を取得する(S61)。
【0144】
ゲームサーバ10は、処理S61で取得した攻撃者体力ポイントが予め定めた値を超えているか(攻撃者のプレイヤキャラクタが「気絶」の状態でないか)を調べる(S62)。ここで攻撃者体力ポイントが予め定めた値を超えていない、つまり攻撃者のプレイヤキャラクタが「気絶」していれば(S62:Yes)、ゲームサーバ10は、攻撃に係る処理を中断して処理を終了する。
【0145】
また、処理S62において、攻撃者体力ポイントが予め定めた値を超えていれば、つまり、攻撃者のプレイヤキャラクタが「気絶」していなければ(S62:No)、ゲームサーバ10は、相手チームのチーム識別子に関連付けて、チームデータベースに格納されているプレイヤ識別子のうちからランダムに(あるいは所定の規則に従って)一つの識別名を攻撃対象になったものとして選択する(S63)。
【0146】
ゲームサーバ10は、当該攻撃対象となったものとして選択したプレイヤ識別子に関連付けてプレイヤキャラクタデータベースに格納されているプレイヤキャラクタの体力ポイントを、取得した攻撃者攻撃ポイントを用いて演算されるヒットポイントだけ減少させてプレイヤキャラクタデータベースを更新する(S64)。
【0147】
またゲームサーバ10は、攻撃者識別名に関連付けてプレイヤキャラクタデータベースに格納されているプレイヤキャラクタの攻撃ポイント(攻撃者攻撃ポイント)を予め定められた規則に従って減少させて、プレイヤキャラクタデータベースを更新する(S65)。
【0148】
さらにゲームサーバ10は、現在日時(処理時点の日時)の情報と、ゲームパラメータデータベース内で、攻撃者側チーム識別子に関連付けられた、直近攻撃時刻の情報とを取得する(S66)。ゲームサーバ10は、処理S66で取得した、現在日時の情報と直近攻撃時刻の情報との差が予め定めた時間差を下回っているか(例えば10分以下であるか)否かを調べる(S67)。
【0149】
ここで現在日時の情報と直近攻撃時刻の情報との差が、予め定めた時間差を下回っていなければ(S67:No)、ゲームサーバ10は、攻撃者チーム側識別子に関連付けられたコンボ回数の情報として記憶部12に「1」を格納する(S68)。そしてゲームサーバ10は、処理S70に移行する。
【0150】
一方処理S67において現在日時の情報と直近攻撃時刻の情報との差が、予め定めた時間差を下回っていれば(S67:Yes)、ゲームサーバ10は、攻撃者チーム側識別子に関連付けられたコンボ回数の情報を「1」だけ増加(インクリメント)する(S69)。
【0151】
そしてゲームサーバ10は直近攻撃時刻の情報として、取得した現在日時の情報を上書きする(S70)。なお、ゲームサーバ10は、処理S66において直近攻撃時刻の情報が取得できなければ(ゲームパラメータデータベースに格納されていなければ)、ゲームパラメータデータベース内の攻撃者側チーム識別子に関連付けて、取得した現在日時の情報を直近攻撃時刻の情報として格納して処理S68に移行して処理を続ける。
【0152】
ゲームサーバ10は、攻撃者チーム側識別子に関連付けられた、直近攻撃ダメージポイントの値に、演算したヒットポイントの値を上書きする(S71)。そしてゲームサーバ10はさらに、ゲームパラメータデータベースにおいて攻撃者チーム側識別子に関連付けられて記録されているGPポイントに、当該演算したヒットポイントの値を加算して、ゲームパラメータデータベースを更新する(S72)。
【0153】
ここで処理S64,S65,並びに、処理S66からS70までの処理(コンボ回数の演算処理)の処理順はここで示した例に限られない。
【0154】
例えば、コンボ回数に応じてヒットポイントを異ならせることも可能であり、この場合はコンボ回数の演算処理を、処理S64に先立って実行することとすればよい。
【0155】
図10(S24の処理)におけるプレイ画面の情報を送出する処理(処理S34)では、ゲームサーバ10は、プレイ画面の要求を行った端末20を操作しているプレイヤ識別子を、ログインデータベースを参照して取得する。ゲームサーバ10は、この取得したプレイヤ識別子に関連付けられたチーム識別子を、チームデータベースを参照して取得し、さらにゲームパラメータデータベースを参照して、得られたチーム識別子に関連付けられているバトル識別子を取得する。そしてゲームサーバ10は、当該取得したバトル識別子に関連付けて記憶部12に保持されているプレイ画面の情報を、要求元の端末20に対して送出する。
【0156】
さらにゲームサーバ10は、参加状況情報リストの生成処理(処理S23)において、ゲームパラメータデータベースを参照して、ゲームパラメータデータベースに記録されているバトル識別子を所定の順で選択しつつ、選択したバトル識別子に関連付けられた一対のチーム識別子を取得して、次の処理を行う。
【0157】
すなわちゲームサーバ10は、
図14に例示するように、選択したバトル識別子との関係で取得したチーム識別子の一方を注目識別子として選択する(S111)。そしてゲームサーバ10は、チームデータベースを参照して注目識別子に関連付けて記録されているプレイヤ識別子の数Nをカウントする。また、当該注目識別子に関連付けて記録されているプレイヤ識別子のうち、バトルパート参加中プレイヤリストに含まれているプレイヤ識別子の数nをカウントする(S112)。そしてゲームサーバ10は、注目識別子に関連付けて値(参加率)n/Nを演算して(S113)、参加状況情報リストとして記憶部12に格納する(S114)。
【0158】
さらにゲームサーバ10は、選択したバトル識別子との関係で取得したチーム識別子のもう一方(他方)を注目識別子として選択する(S115)。そしてゲームサーバ10は、チームデータベースを参照して当該選択した注目識別子に関連付けて記録されているプレイヤ識別子の数Nをカウントする。また、当該注目識別子に関連付けて記録されているプレイヤ識別子のうち、バトルパート参加中プレイヤリストに含まれているプレイヤ識別子の数nをカウントする(S116)。そしてゲームサーバ10は、注目識別子に関連付けて値(参加率)n/Nを演算して(S117)、参加状況情報リストとして記憶部12に格納する(S118)。
【0159】
ゲームサーバ10は、
図10(S24の処理)におけるサウンド制御処理(処理S35)として、
図15に例示する処理を行う。この処理においてゲームサーバ10は、要求を行った端末20を操作しているプレイヤ識別子を、ログインデータベースを参照して取得し、この取得したプレイヤ識別子に関連付けられたチーム識別子を、注目識別子として得る(S81)。
【0160】
またゲームサーバ10は、この注目識別子に関連付けてゲームパラメータデータベースに格納されているバトル識別子と、当該バトル識別子に関連付けられている、注目識別子とは異なるチーム識別子(バトルの相手方のチームのチーム識別子:相手方識別子)とを読み出す(S82)。
【0161】
ゲームサーバ10は、注目識別子に関連付けてゲームパラメータデータベースに格納されているコンボ回数FCnと、直近攻撃ダメージポイントFDpと、GPポイントFGPとを得る。またゲームサーバ10は、相手方識別子に関連付けてゲームパラメータデータベースに格納されているGPポイントEGPを得るとともに、注目識別子に係る参加状況情報リストを参照して味方の参加率FPR=n/Nを得る(S83)。
【0162】
ゲームサーバ10は、さらにプレイヤキャラクタデータベースから相手方識別子に関連付けられているプレイヤ識別子と体力ポイント値(つまり、相手方のチームの現在のプレイヤキャラクタごとの体力ポイント値)とを読み出す(S84)。そして当該体力ポイント値が予め定めた値を下回っているプレイヤキャラクタの数(「気絶」状態にある相手方のチームのプレイヤキャラクタの数)EDnをカウントする(S85)。またゲームサーバ10は、処理S84で読み出したプレイヤ識別子のうち、バトルパート参加中プレイヤリストに含まれているプレイヤ識別子の数(つまり、相手方のプレイヤ参加数)Enを得る(S86)。
【0163】
さらにゲームサーバ10は相手方識別子で識別される相手方のチームに属するプレイヤキャラクタについて定められた最大体力ポイント値の総和(つまり、相手方のチームの最大の体力ポイント値の総和)EHPMAXを得ておく(S87)。
【0164】
ゲームサーバ10は、以上の得られた情報から、注目識別子で識別されるチームについて、
(1)当該チームのポイント占有率FGPR=FGP/(FGP+EGP)
(2)味方参加率FPR=n/N(ただしNは自チームに属しているプレイヤキャラクタの総数)
(3)相手気絶率EDR=EDn/En
(4)直近最大コンボ到達率RMCP=FCn/CMAX(ただしCMAXは予め定められた最大のコンボ回数)
(5)直近最大攻撃ダメージ率RMAP=FDp/EHPMAX
(6)相手方参加率EPR(相手方チームのチーム識別子に関連付けて参加状況情報リストに記録されている値)
を演算、ないし取得し、これらからさらに、当該チームの戦況ポイントBCPと、テクニカルボーナスポイントTBPとを、
BCP=α×FGPR+β1×FPR+γ×EDR−β2×EPR、
TBP=ε×RMCP+φ×RMAP
として求める(S88)。なお、α,β1,β2,γ,ε,φは、経験的に定め得るパラメータ値である。
【0165】
さらにゲームサーバ10は、バトルゲームの開始からの経過時間(チームで行われるゲーム開始からの経過時間)を表す情報tを得る(S89)。そしてゲームサーバ10は、トラックコントロール値を
トラックコントロール値=BCP+TBP×exp(−κ・t) …(1)
として演算する(S90)。
【0166】
ゲームサーバ10は、サウンドを要求した端末20に対して、当該端末20を操作するプレイヤが制御しているプレイヤキャラクタが属しているチームについて演算したトラックコントロール値に基づいて定めた、鳴動するべきメイントラックを特定する情報を送出する。
【0167】
すなわちゲームサーバ10は、バトルゲームに参加するプレイヤの端末20に予め送信しておいた楽曲情報のうち、どのトラック情報に含まれるサウンド情報を鳴動するかを指示する情報を端末20に送出する。具体的にゲームサーバ10は、
図8に例示したようなトラック再生条件を参照し、処理S90にて演算したトラックコントロール値と、当該トラック再生条件に含まれるしきい値の情報とを比較して、鳴動するべきトラック情報を決定する(S91)。
【0168】
ゲームサーバ10は、そして処理S91で鳴動すると決定したトラック情報を特定する情報を、要求元の端末20に対して送出する(S92)。
【0169】
端末20では、プレイヤのバトルゲームを行う操作を行うと、所定のタイミングごとにバトル画面とサウンドとの要求を、ゲームサーバ10に対して送出する。そして当該要求に応じてゲームサーバ10が送出するバトル画面を表示するとともに、サウンドの要求に応じてゲームサーバ10が送出する情報で特定されるトラック情報の鳴動処理を行う。また端末20はプレイヤが攻撃の操作を行うと、攻撃の指示をゲームサーバ10へ送出する。
【0170】
ここでトラック情報の鳴動処理において端末20は、ゲームサーバ10から予め受信しているサウンド情報に含まれるトラック情報のうち、ゲームサーバ10から受信した情報で特定されるトラック情報に係るサウンド情報の音量を「0%」でない所定の値に設定し、ゲームサーバから受信した情報で特定されるトラック情報以外のトラック情報に係るサウンド情報の音量を「0%」とする。
【0171】
このようにゲームサーバ10にてトラックコントロール値を定める(α,β1,β2,γ,ε,φをいずれも正の値としておく)こととすると、自チームのポイント占有率や自チームの参加率、相手気絶率が高いほど、また、直近最大コンボ到達率や直近最大攻撃ダメージ率が高くなるほどトラックコントロール値は大きくなり、端末20において鳴動されるメイントラック情報のサウンド情報の数が多くなって、より賑やかな楽曲が鳴動される状態となり、ゲームへの参加人数等に応じた盛りあがりが効果的に演出される。
【0172】
一例として、ゲームサーバ10がトラックコントロール値を(1)式により演算することとすると、このトラックコントロール値は、バトルゲームの進行によって次の
図16に例示するように変化し得る。
【0173】
図16では横軸にバトルゲーム開始からの経過時間をとり、縦軸を、あるチームに係るトラックコントロール値としている。
図16の例では、メイントラック情報TR1に係るサウンド情報は、トラックコントロール値に関わらず鳴動され、メイントラック情報TR2に係るサウンド情報は、トラックコントロール値が第1のしきい値θ1以上である場合に鳴動され、メイントラック情報TR3に係るサウンド情報は、トラックコントロール値が第2のしきい値θ2以上である場合に鳴動されることを表す設定となっているものとし、θ1,θ2をθ1<θ2として示している。
【0174】
図16に示すように、バトルゲーム開始後、チームに属するプレイヤキャラクタを制御するプレイヤが相手側チームのプレイヤキャラクタを攻撃する操作を行うと、戦況ポイントBCPが増大することとなり、また最後の攻撃の状況に応じてテクニカルボーナスポイントTBPが設定されてトラックコントロール値は上昇していき、例えば第1のしきい値θ1を超えるようになる(S101)。
【0175】
このとき当該チームに属しているプレイヤキャラクタを制御しているプレイヤの端末20では、バトルゲーム開始後すぐにメイントラック情報TR1に係るサウンド情報が鳴動され、その後、同じチームに属するプレイヤキャラクタが相手方を攻撃してトラックコントロール値が第1のしきい値θ1を超えた時点で、メイントラック情報TR1とTR2とに係るサウンド情報が一斉に鳴動されるようになる。
【0176】
その後、同じチームに属するプレイヤキャラクタの攻撃が一段落すると、バトルゲーム開始からの時間経過に応じてテクニカルボーナスポイントTBPの影響が減衰させられて、トラックコントロール値は指数関数的にゆるやかに減少していく(S102)。そしてトラックコントロール値が第1のしきい値θ1を下回るようになると、上記プレイヤの端末20ではメイントラック情報TR2のサウンド情報の鳴動が停止され、メイントラック情報TR1に係るサウンド情報のみが鳴動している状態となる。
【0177】
またその後、同じチームに属するプレイヤキャラクタによる攻撃が行われてコンボ回数が増大する(コンボがつながる)と、戦況ポイントBCPが増大し、トラックコントロール値が上昇する(S103)。このときにトラックコントロール値が第2のしきい値θ2を超えると、その時点から上記プレイヤの端末20でメイントラック情報TR1,TR2,TR3に係るサウンド情報が一斉に鳴動されるようになる。
【0178】
そして相手側チームに属するプレイヤキャラクタによる攻撃が行われて自チームのポイント占有率FGPRが低下すると、戦況ポイントBCPが減少し、トラックコントロール値も下降する(S104)。そしてトラックコントロール値が第1のしきい値θ2を下回るようになると、上記プレイヤの端末20ではメイントラック情報TR3のサウンド情報の鳴動が停止され、さらにトラックコントロール値が第1のしきい値θ1を下回るようになると、メイントラック情報TR2のサウンド情報の鳴動が停止されて、プレイヤの端末20では再びメイントラック情報TR1に係るサウンド情報のみが鳴動している状態となる。
【0179】
なお、端末20における各メイントラック情報に係るサウンド情報の鳴動の開始/停止は、対応するメイントラック情報に係るサウンド情報の鳴動音量を制御することによって行われてもよい。つまり、端末20は、鳴動するメイントラック情報に係るサウンド情報についてはその音量を予め定めた正の値V(例えば100%)とし、鳴動しないメイントラック情報に係るサウンド情報についてはその音量を「0」を表すもの(例えば0%)とする。
【0180】
また端末20では、音量を「0」を表す値からVに変更するときには、所定時間(例えば5秒)で「0」からVへ変化させる(つまりフェードインする)ように制御してもよい。同様に、端末20では、音量をVから「0」を表す値に変更するときには、所定時間(例えば5秒)でVから「0」へ変化させる(つまりフェードアウトする)ように制御してもよい。
【0181】
[エクストラトラック情報にかかる処理]
本実施の形態の一例では、ここまでの説明で述べたように、プレイヤのグルーブ感の高まりに合わせてサウンド演出度を上昇させるだけでなく、単にプレイヤのグルーブ感に合わせるだけでは演出しにくい状況、例えば突発的に不利な状態に陥ったといった状況に合わせて緊張感を演出することとしてもよい。
【0182】
具体的に、本実施の形態の一例では、既に述べたようにゲームサーバ10のサウンド制御部40は、エクストラトラック情報TReの再生条件が満足されているか否かを判断し、エクストラトラック情報TReの再生条件が満足されていれば、サウンド情報の要求を行った端末20に対してエクストラトラック情報TReを鳴動させるべき旨の指示を送出することとしている。
【0183】
そこで本実施の形態の一例では、ゲームサーバ10が、演出パラメータとして、ゲームの緊迫度に応じた情報(緊迫度演出パラメータと呼ぶ)を生成し、この緊迫度演出パラメータに応じてトラック情報の一部であるエクストラトラック情報に含まれるサウンド情報を対象サウンドとして、当該対象サウンドの音量を制御してもよい。
【0184】
具体的にこの例では、緊迫度演出パラメータは、経過時間パラメータや自チームのプレイヤキャラクタの「気絶」率などとすればよい。この例によるサウンド制御部40は、時間管理部35に対して、バトルの開始時刻として設定された時刻からの経過時間の問い合わせを行い、当該経過時間を表す情報tを時間管理部35から得る。
【0185】
またサウンド制御部40は、バトルゲームに関するサウンドの要求を行った端末20を操作しているプレイヤのプレイヤ識別子をチームデータベースから探索し、当該プレイヤ識別子とともに同じチーム識別子に関連付けられている他のプレイヤ識別子(同じチームに属するプレイヤキャラクタをそれぞれ制御するプレイヤの識別子)を取得し、当該取得したプレイヤ識別子の数Nを得ておく。またサウンド制御部40はさらに、プレイヤキャラクタデータベースを参照して、上記取得したプレイヤ識別子に関連付けられたプレイヤキャラクタの体力ポイント値(同じチームに属する各プレイヤキャラクタの体力ポイント値)を得て、当該体力ポイント値が予め定めた値を下回っているプレイヤキャラクタの数(「気絶」状態にある自チームのプレイヤキャラクタの数)FDnをカウントし、自チームのプレイヤキャラクタの気絶率FDn/Nを得る。
【0186】
そしてサウンド制御部40は、経過時間パラメータとしての経過時間を表す情報tが、所定のしきい値を超えている場合(バトルゲーム終了までの時間が所定の時間を下回ったとき)、または自チームのプレイヤキャラクタの気絶率FDn/Nが所定のしきい値を超えている場合(自チームで気絶しているプレイヤキャラクタの割合が所定のしきい値より高い場合)に、バトルゲームに関するサウンド情報の要求を行った端末20に対してエクストラトラック情報TReを鳴動させるべき旨の指示を送出する。
【0187】
あるいは、サウンド制御部40は、経過時間パラメータとしての経過時間を表す情報tが、バトルゲーム開始時の値に比べ、当該経過時間について予め定めたしきい値をまたいでいるとき、例えばバトルゲーム終了までの時間が所定の時間を下回ったときにバトルゲームに関するサウンド情報の要求を行った端末20に対してエクストラトラック情報TReを鳴動させるべき旨の指示を送出することとしてもよい。
【0188】
同様に、自チームのプレイヤキャラクタの気絶率など、プレイヤキャラクタ状態パラメータ情報についても、その値が、バトルゲーム開始時の値に比べ、当該値について予め定めたしきい値をまたいでいるときに、バトルゲームに関するサウンド情報の要求を行った端末20に対してエクストラトラック情報TReを鳴動させるべき旨の指示を送出することとしてもよい。
【0189】
このように、バトルゲーム開始当初の状況に比べ、ゲームの状況が変化していることを表す緊迫度演出パラメータを用いてエクストラトラック情報TReを鳴動させる例では、当該エクストラトラック情報TReに含まれるサウンド情報を、ネガティブサウンド、例えばピンチを演出する効果音などとしておくことで、状況が切迫しているとの演出効果が提供される。
【0190】
[サウンドを制御する処理を一部のチームに限って行う例]
またここまでの説明では、バトルゲームを行っているチームについては、どのチームに属するプレイヤの操作する端末20であっても、その端末20において鳴動されるサウンドを参加状況情報等に基づいて制御する処理を行うものとしたが本実施の形態はこれに限られない。
【0191】
例えば、トラックコントロール値演算部39がバトル識別子に関連付けられた一対のチーム識別子を取得したのち、取得したチーム識別子のそれぞれを注目識別子として選択し、注目識別子によって識別されるチームが予め定められた選択条件を満足するか否かを調べてもよい。
【0192】
ここで選択条件は、注目識別子に関連付けられたレベル情報(チームのレベル情報)が予め定めたしきい値を超えている、との条件であってもよいし、チームに属するプレイヤキャラクタを制御しているプレイヤが過去のゲームにおいて行った操作に関連する敢闘パラメータを定義し、この敢闘パラメータに基づく条件としてもよい。具体的にこの敢闘パラメータとしては、前回のバトルゲームにおいて達成された最大コンボ数がしきい値を超えている、あるいは、過去直近5回のバトルゲームにおいて、参加率の算術平均が0.9(90%)を超える(がんばっていると判断される)といった条件を定めることとすればよい。
【0193】
トラックコントロール値演算部39は、予め定められた選択条件を満足する場合には、既に述べた例と同様、参加状況情報リストを参照して、注目識別子に関連付けられた参加率の値を取得し、この参加率の値を用いて、トラックコントロール値を演算する。
【0194】
またトラックコントロール値演算部39は、予め定められた選択条件を満足しない場合は、例えばトラックコントロール値を既定の値とする。
【0195】
つまり本実施の形態のこの例では、ゲームサーバ10は、予め定められた選択条件に基づいて、チームのうちからサウンドの制御の対象となる注目チームを選択し、当該選択した注目チームについて取得した参加状況情報を含む演出パラメータに基づいて、当該注目チームに属するプレイヤキャラクタを制御しているプレイヤが操作する端末にて鳴動されるサウンドを制御することとなる。
【0196】
つまり、この例では、ゲームサーバ10は、
図11に例示した処理に代えて、
図17に例示するように、サウンド制御処理(S35)を実行する前に、要求または指示を行った端末20を操作するプレイヤの制御するプレイヤキャラクタが属しているチーム(注目チームとする)が、上に例示したような予め定められた選択条件を満足するか否かを調べる(S37)。そしてここで選択条件を満足すれば(S37:Yes)、ゲームサーバ10は処理S35へ移行して処理を続ける。一方、処理S37において選択条件を満足しないときには(S37:No)、ゲームサーバ10は、処理S35に代えて、例えばトラックコントロール値を既定の値とした処理など、
図15に例示した処理とは異なる処理を実行する(S38)。
【0197】
この処理S38では、上述のようにトラックコントロール値を既定の値とした処理ではなく、例えば既定のトラック情報のみを鳴動する指示を、サウンドの要求元の端末20に送信するといった処理であってもよい。
【0198】
[構成(2)]
また、本実施の形態のここまでの説明では、端末20において、ゲームサーバ10から提供された楽曲情報のうちどのメイントラック情報に係るサウンド情報を鳴動するか(あるいはさらに、エクストラトラック情報に係るサウンド情報を鳴動するか否か)は、ゲームサーバ10側で制御するものとしていたが本実施の形態はこれに限られない。
【0199】
例えば本実施の形態では、端末20自身が、ゲームサーバ10から提供された楽曲情報のうち、どのメイントラック情報に係るサウンド情報を鳴動するか(あるいはさらに、エクストラトラック情報に係るサウンド情報を鳴動するか否か)を判断してもよい。
【0200】
この例では、端末20の制御部21が、ゲームサーバ10の制御部11に代わって、トラックコントロール値演算部39としての処理を実行する。つまりこの例のゲームサーバ10の制御部11は、トラックコントロール値演算部39としての動作を行う必要は必ずしもない。またこの制御部11においてサウンド制御部40は、ゲーム情報配信制御部32から、バトルゲームに関するサウンド情報の要求を受けると、当該要求を行った端末20を操作しているプレイヤのプレイヤ識別子を、ログインデータベースを参照して取得する。
【0201】
またサウンド制御部40は、当該要求を行った端末20に対して上記複数のメイントラック情報TR1,TR2,…と、少なくとも一つのエクストラトラック情報TReとを含む楽曲情報を配信する動作を行う。このとき、どのメイントラック情報に係るサウンド情報を鳴動するか(あるいはさらに、エクストラトラック情報に係るサウンド情報を鳴動するか否か)を表す情報の配信は行う必要がない。なお楽曲情報は、ここでの説明のように、ゲームサーバ10からゲームの実行前あるいは実行中に配信することとしてもよいし、予め端末20にダウンロードさせておき、端末20側に記憶させておいてもよい。また、端末20において録音等されて記憶されているものであってもよい。
【0202】
端末20の制御部21は、プレイヤである利用者の操作により、バトルゲームのプレイ画面の情報を表示部24に表示している間、トラックコントロール値演算部39としての処理を行う。このように端末20側でトラックコントロール値演算部39としての処理を行う場合、ゲームサーバ10では端末20から参加状況情報の要求を受け入れて、当該要求を行った端末20を操作しているプレイヤのプレイヤ識別子を、ログインデータベースを参照して取得する。そしてゲームサーバ10は、当該取得したプレイヤ識別子に関連付けられたチーム識別子を、チームデータベースを参照して取得し、取得したチーム識別子に関連付けて参加状況情報リストに記録されている参加率の値を取り出して、要求元の端末20へ配信する。
【0203】
端末20の制御部21は、トラックコントロール値演算部39としての処理として、ゲームサーバ10に対して参加状況情報を要求する。この要求に応答してゲームサーバ10が当該端末20を操作するプレイヤに対応するチームに係る参加率の値を配信すると、制御部21は、当該参加率の値を受信する。
【0204】
そして制御部21は、この参加率の値を用いてトラックコントロール値を演算する。例えば参加率の値そのものをトラックコントロール値としてもよい。制御部21は、ここで演算したトラックコントロール値に基づき、鳴動するサウンドを制御する。
【0205】
この例においても、具体的にメイントラック情報TR1に係るサウンド情報は、トラックコントロール値に関わらず鳴動され、メイントラック情報TR2に係るサウンド情報は、トラックコントロール値が第1のしきい値θ1以上である場合に鳴動され、メイントラック情報TR3に係るサウンド情報は、トラックコントロール値が第2のしきい値θ2以上である場合に鳴動されるといったように予め設定しておけばよい。
【0206】
このように設定しておく場合、制御部21は、演算したトラックコントロール値が第1のしきい値θ1以上でなければメイントラック情報TR1に係るサウンド情報のみを鳴動し、演算したトラックコントロール値が第1のしきい値θ1以上かつ第2のしきい値θ2未満であれば、メイントラック情報TR1とTR2とに係るサウンド情報を一斉に鳴動し、演算したトラックコントロール値が第1のしきい値θ2以上であれば、メイントラック情報TR1,TR2,TR3のすべてに係るサウンド情報を一斉に鳴動する。
【0207】
またこの例では、制御部21がエクストラトラック情報TReの再生条件が満足されているか否かを判断し、エクストラトラック情報TReの再生条件が満足されていれば、エクストラトラック情報TReに係るサウンド情報を鳴動するよう制御する。
【0208】
さらに本実施の形態のこの例においても、トラックコントロール値演算部39によるトラックコントロール値の算出例は上述の限りではない。例えばゲームサーバ10は参加状況情報の要求に対して、端末20を操作するプレイヤに対応するチームに関連付けてチームデータベースに記録されているプレイヤ識別子のうち、バトルパート参加中プレイヤリストに含まれているプレイヤ識別子の数nをカウントし、この数n(チームに属するプレイヤキャラクタを制御するプレイヤのうち、プレイに参加しているプレイヤの人数:プレイヤ参加数)を配信してもよい。
【0209】
この場合、端末20の制御部21は、トラックコントロール値演算部39としての処理として、当該配信されるプレイヤ参加数を用いてトラックコントロール値を演算する。
【0210】
さらにゲームサーバ10が、端末20からの要求に応じて、ゲームパラメータデータベースに記録されている情報から得られる情報を配信し、端末20の制御部21は、トラックコントロール値演算部39としての処理として、当該ゲームサーバ10のゲームパラメータデータベースに記録されている情報から得られる情報をも用いてトラックコントロール値を演算してもよい。
【0211】
この例では、例えばゲームサーバ10がトラックコントロール値演算部39としての処理を行う例として述べたものと同様、ゲームサーバ10にて端末20を操作するプレイヤに対応するチームについて、
(1)当該チームのポイント占有率FGPR=FGP/(FGP+EGP)
(2)味方参加率FPR=n/N(ただしNは自チームに属しているプレイヤキャラクタの総数)
(3)相手気絶率EDR=EDn/En
(4)直近最大コンボ到達率RMCP=FCn/CMAX(ただしCMAXは予め定められた最大のコンボ回数)
(5)直近最大攻撃ダメージ率RMAP=FDp/EHPMAX
(6)相手方参加率EPR(相手方チームのチーム識別子に関連付けて参加状況情報リストに記録されている値)
などの演出パラメータを演算ないし取得して、端末20に対して配信すればよい。
【0212】
端末20の制御部21は、トラックコントロール値演算部39としての処理として、当該配信される情報を用いて自チームの戦況ポイントBCPと、テクニカルボーナスポイントTBPとを、
BCP=α×FGPR+β1×FPR+γ×EDR−β2×EPR、
TBP=ε×RMCP+φ×RMAP
として求め、さらにトラックコントロール値をこれらの和BCP+TBPとしてもよい。ここでα,β1,β2,γ,ε,φは、経験的に定め得るパラメータ値である。
【0213】
さらにトラックコントロール値は、バトルゲームの開始からの経過時間(チームで行われるゲーム開始からの経過時間)を用いて定められる経過時間パラメータ(例えば経過時間そのもので構わない)に基づいて変化するよう設定されてもよい。
【0214】
この場合、ゲームサーバ10は、時間管理部35において計時しているバトルの開始時刻として設定された時刻からの経過時間を表す情報tを端末20に配信する。
【0215】
端末20の制御部21は、この経過時間の情報tと、指数関数exp(exp(x)は、自然対数eのx乗を意味するものとする)とを用いて、時間減衰率exp(−κ・t)を、BCP+TBPの値に乗じてトラックコントロール値を得る。なお、κは経験的に定め得るパラメータ値であり、時間減衰率を乗じる対象は、BCPのみ、またはTBPのみとしてもよい。この例によれば、端末20の制御部21においても、トラックコントロール値を、(1)式により得ることができるようになる。
【0216】
[レベル情報を用いる例]
さらに本実施の形態において、トラックコントロール値の算出に用いる情報には、チームのレベル情報が用いられてもよい。具体的にゲームサーバ10でトラックコントロール値を演算する場合、トラックコントロール値演算部39は、注目識別子(味方チームのチーム識別子)に関連付けられているレベル情報を参照し、このレベル情報に用いてトラックコントロール値を演算する。
【0217】
例えばレベル情報が高いほど、より多くのコンボ回数でなければ鳴動されるトラック情報の数が多くならないように制御することが考えられる。この場合、直近最大コンボ到達率RMCPを、
RMCP=FCn/CMAX×θ×LvMAX/Lv
というように設定する。ここでLvMAXはレベル値の最大値、θは任意の(経験的に定められる)正の定数とする。
【0218】
また別の例では、トラックコントロール値演算部39は、注目識別子(味方チームのチーム識別子)に関連付けられているレベル情報Lvと、対戦相手である相手方のチームのチーム識別子に関連付けられているレベル情報ELvとを用い、Lv>ELvであり、かつその差Lv−ELvが所定のしきい値より大きい場合に、より多くのコンボ回数でなければ鳴動されるトラック情報の数が多くならないように制御してもよい。
例えばトラックコントロール値演算部39は、しきい値をLvTとして、
Lv−ELv>LvTであれば、直近最大コンボ到達率RMCPを、
RMCP=ω×FCn/CMAX/(Lv−ELv)とし、
Lv−ELv>LvTでなければ、直近最大コンボ到達率RMCPを、
RMCP=FCn/CMAX
と設定する。なお、ωは任意の(経験的に定められる)正の定数とする。
【0219】
なお、相手方となるプレイヤキャラクタが存在しないゲーム、例えば仮想敵(コンピュータ制御される敵)であるモンスターとのバトルゲームを行うようなゲームにおいては、仮想敵であるモンスターのレベルMLv(または当該モンスターとのバトルゲームにおいて推奨されるチームのレベルとして予め設定された推奨レベルRCLv)を用いて同様に、しきい値をLvTとして、トラックコントロール値演算部39が
Lv−MLv>LvTまたはLv−RCLv>LvTであれば、直近最大コンボ到達率RMCPを、
RMCP=ω′×FCn/CMAX/(Lv−MLv)または
RMCP=ω′×FCn/CMAX/(Lv−RCLv)
とし、
Lv−MLv>LvTまたはLv−RCLv>LvTでなければ、直近最大コンボ到達率RMCPを、
RMCP=FCn/CMAXと設定するようにしてもよい。なお、ω′は任意の(経験的に定められる)正の定数とする。
【0220】
このようにゲームサーバ10は、演出パラメータと、注目チームについてのレベル情報とに基づいて、注目チームに属するプレイヤキャラクタを制御しているプレイヤが操作する端末20にて鳴動されるサウンドを制御してもよい。
【0221】
さらにゲームサーバ10は、仮想敵であるモンスターとのバトルゲームにおいて推奨されるチームのレベルとして予め設定された推奨レベルRCLvと、注目チームについてのレベル情報との比較に基づいて、演出閾値を変更してもよい。
【0222】
一例として、ゲームサーバ10は、推奨レベルRCLvに比べ注目チームについてのレベル情報が大きいほど演出閾値(
図8に例示したしきい値θ1,θ2,θ3など)を下げるように補正し、推奨レベルRCLvに比べ注目チームについてのレベル情報が小さいほど演出閾値を上げるように補正してもよい。この例によると、仮想敵とのバトルにおいて推奨されるレベルに比べて注目チームのレベル情報が大きい場合(推奨レベルを超え、推奨レベルとのレベル差が比較的(例えば予め定めたしきい値より)大きい場合)に、演出閾値が大きめに補正され、例えばより多くのコンボを達成しなければサウンド演出度が上昇しないように制御される。また、仮想敵とのバトルにおいて推奨されるレベルに比べて注目チームのレベル情報が小さい場合(推奨レベルを下回り、推奨レベルまでのレベル差が比較的(例えば予め定めたしきい値より)大きい場合)に、演出閾値が小さめに補正され、例えば比較的少ないコンボ回数でもサウンド演出度が上昇するように制御される。
【0223】
なお、端末20において端末20自身で鳴動するサウンドを制御する場合、ゲームサーバ10から端末20を操作しているプレイヤが制御するプレイヤキャラクタが属しているチームのレベル値Lvを取得して、同様の処理を行うこととすればよい。相手方チームのレベル値ELvや、仮想敵に関するレベル値MLvが必要な場合もそれぞれゲームサーバ10がこれらの情報を端末20からの要求に応じて送信し、端末20にてこれらの情報を受信して、端末20側でこれらの情報を用いてトラックコントロール値を演算することとすればよい。
【0224】
[演出閾値を制御する例]
さらにここまでの説明では、演出パラメータ等を用いて、トラックコントロール値を制御することにより、鳴動されるトラック情報を決定することとしていたが、本実施の形態はこれに限られず、
図8に例示した演出閾値などのトラック再生条件を基準条件として、この基準条件を、演出パラメータ等により変更することで鳴動されるトラック情報を決定してもよい。
【0225】
この例では、例えばトラックコントロール値演算部39が(1)式によりトラックコントロール値を演算するとともに、サウンド制御部40が、注目識別子(味方チームのチーム識別子)に関連付けられているレベル情報Lvと、対戦相手である相手方のチームのチーム識別子に関連付けられているレベル情報ELvとを用い、Lv>ELvであり、かつその差Lv−ELvが所定のしきい値LvTより大きい場合に、より多くのコンボ回数でなければ鳴動されるトラック情報の数が多くならないように、Lv−ELv>LvTのときには、
【0226】
トラック再生条件におけるしきい値θ1,θ2…のそれぞれを、
θ1′=ω″×(Lv−ELv)×θ1、
θ2′=ω″×(Lv−ELv)×θ2…
というように補正して、補正後のしきい値θ′1,θ′2…を求める。
【0227】
そしてサウンド制御部40は、対応する補正後のしきい値がトラックコントロール値を超えるしきい値を特定し、当該特定したしきい値に関連付けられているメイントラック情報を特定する情報(鳴動させるべきメイントラック情報がどれであるかを表す情報)を、サウンドの要求を行った端末20に対して送出する。
【0228】
なお、ここでは演出パラメータである参加率等によってトラックコントロール値を演算し、一方でレベル情報等によりトラック再生条件のしきい値などの演出閾値を制御する例としたが、本実施の形態はこれに限られず、トラックコントロール値を一定とし、トラック再生条件のしきい値など演出閾値のみを制御して、端末20で鳴動されるサウンドを制御してもよい。また、演出パラメータの一部(例えば戦況ポイントBCP)に基づいてトラックコントロール値を演算するとともに、テクニカルボーナスポイントTBPに基づいて演出閾値(例えばトラック再生条件のしきい値)を補正して、端末20で鳴動されるサウンドを制御してもよい。
【0229】
[変形例]
またここまでの説明では、ゲームサーバ10から提供される楽曲の情報が複数のトラックの情報を含んでおり、どのトラックの情報に係るサウンド情報を鳴動させるかを制御することで、楽曲の状況を変化させることとしたが本実施の形態はこれに限られるものではない。
【0230】
例えばゲームサーバ10から複数の楽曲の情報を提供し、トラックコントロール値により、どの楽曲の情報を鳴動させるかを制御することとしてもよい。この場合、楽曲全体が変化させられることとなり、よりダイナミックに楽曲の様相を変化させた演出が可能となる。
【0231】
また、トラックコントロール値に応じてどのトラックの情報に係るサウンド情報を鳴動させるかを制御することに代えて、またそれとともに、トラックコントロール値に応じてサウンド情報の鳴動速度(楽曲のBPM(Beats per Minute)値などテンポ)や、音量、その他のサウンド演出度を変化させてもよい。例えばトラックコントロール値がより高いほどBPMを大きくすることとすればよい。
【0232】
さらにトラックコントロール値及びそれに基づいて制御されるサウンド演出度は、ここまでの説明では加点的に、注目チームとそのバトルの相手方のチームとのそれぞれのプレイヤ参加率(味方参加率FPR、相手方参加率EPR、ただしEPR=En/EN、ここでENは相手方チームに属しているプレイヤキャラクタの総数)等の演出パラメータによりこれらが大きいほどトラックコントロール値が大きくなり、サウンド演出度が上昇するように制御していたが、本実施の形態はこれに限られない。
【0233】
例えばトラックコントロール値の最大値TCmaxを予め定義しておき、味方参加率FPR、相手方参加率EPRが双方とも「1」であるときに(最大参加率のときに)トラックコントロール値がTCmaxとなると仮定して、(1−FPR)、(1−EPR)によって減点的に制御してもよい。
【0234】
この例ではトラックコントロール値TCは例えば、減点的に、TC=TCmax−TCmax×(1−FPR)×(1−EPR)などと演算してもよい。この例によると、味方参加率あるいは相手方参加率等の演出パラメータが小さいほど、トラックコントロール値が小さくなるよう制御され、それに応じたサウンド演出度も、最も高いレベルから演出パラメータに応じて減じられるように制御される。
【解決手段】互いに異なるプレイヤによって操作される複数の端末に対してネットワークを介して接続され、複数のプレイヤがそれぞれ制御する複数のプレイヤキャラクタを含んでなるチームで行われるゲームを提供するゲームサーバであって、チームごとに、プレイに参加しているプレイヤの参加状況を表す参加状況情報を取得し、注目チームについて取得した参加状況情報に基づいて、当該注目チームに属するプレイヤキャラクタを制御しているプレイヤが操作する端末にて鳴動されるサウンドを制御する。