(58)【調査した分野】(Int.Cl.,DB名)
前記対戦実現部は、前記定時対戦における仮想ユーザの参加情報に基づいて、チーム間での参加数の差が小さくなるように、前記ノンプレイヤオブジェクトとして前記定時対戦に参加している仮想ユーザの動作を停止させるか又は動作させることを特徴とする、請求項1から7のいずれか1項に記載のゲームサーバ。
前記対戦実現部は、前記定時対戦における仮想ユーザの参加情報に基づいて、チーム間での対戦能力値の差が小さくなるように、前記ノンプレイヤオブジェクトとして前記定時対戦に参加している仮想ユーザの動作を停止させるか又は動作させることを特徴とする、請求項1から7のいずれか1項に記載のゲームサーバ。
前記対戦実現部は、前記定時対戦へ実ユーザの端末操作で参加している仮想ユーザの有無に基づいて、前記ノンプレイヤオブジェクトとして前記定時対戦に参加している仮想ユーザを動作させるか否かを決定することを特徴とする、請求項1から10のいずれか1項に記載のゲームサーバ。
【発明を実施するための形態】
【0039】
本発明を実施するための形態(以下、本実施形態という。)について具体例を示して説明する。本実施形態は、ゲームサーバと通信ネットワークを介して接続された端末にゲームを提供するゲームシステムに関する。具体的には、
図1に示すように、本実施形態のゲームシステムGは、ユーザにゲームを提供するゲームサーバ1と、ゲームサーバ1と通信ネットワークであるインターネット2を介して接続された端末3a、3b、3c、・・・、3n(以下、総称して端末3ともいう。)と、を備える。
【0040】
以下では、まず、実施形態の説明に先立って、本実施形態において用いる用語の定義を明確にし、さらに本実施形態において扱うソーシャルゲームの概要について説明した後、ゲームシステムGの構成及び処理内容について具体的に説明する。
【0041】
(1)用語の定義
本実施形態において用いる用語の定義は以下の通りである。
【0042】
「仮想空間」とは、ゲームの内容に基づいてゲーム中に形成される仮想の世界を示し、物理空間とは異なる空間を指す。端末3のディスプレイ(表示部)に表示される「仮想空間」は2次元であるが、他の端末3との繋がりも加わって形成される観念的空間は、2次元空間に限られない。
【0043】
「実ユーザ」とは、端末を操作する実体、すなわち人に当たるものをいう。一方、この実体である「実ユーザ」の端末におけるボタンやタッチ操作によって、仮想空間において、ユーザに成り代わった、またはユーザの趣向や好みに応じて形成された仮想実体を「仮想ユーザ」という。この「仮想ユーザ」には、例えば、旧来の将棋ゲームや麻雀ゲームのプレイヤのように、その仮想実体はゲーム上視認できないが、「実ユーザ」に成り代わった存在として駒や牌を仮想空間内で操作する場合も含まれる。「仮想ユーザ」には、また、ロールプレイングゲームや対戦ゲームにおいてゲーム上で表示され、移動やアクションを起こす視認可能な特定のキャラクタも含まれる。さらに「仮想ユーザ」には、SNSにおけるアバターとして表示される仮想実体も含まれる。このように、本実施形態における「仮想ユーザ」は、仮想空間における仮想実体を広く表す用語として用い、それがゲーム上で具現化された仮想実体であるか、具現化されない影として機能する仮想実体であるかは問わない。
【0044】
(2)ソーシャルゲームの概要
続いて、ゲームサーバ1からインターネット2を介して接続された端末3に提供されるソーシャルゲームについて、その概要を、
図2を参照して説明する。
【0045】
一般にソーシャルゲームは、実ユーザによる端末3の操作に応じた動作を行う仮想ユーザを介して、仮想空間内において、例えば、数百種類など多種類のキャラクタが付された仮想的なカード(以下、単にカードという。)の中から、所定枚数からなるカードのアイテムリスト(以下、デッキともいう。)を作成するゲームである。より具体的には、デッキに搭載したカードのレベルアップやグループの選択を行いつつ、仮想空間上で出現する敵とカード同士で対戦したり、他の仮想ユーザとカードのトレードを行うなどして、カードを強化、収集していくものである。カード同士の対戦では、デッキを構成する各カードの攻撃力や防御力、所定のカードの組合せにより一定の効力を得るスキル(カードゲームや麻雀でいうところの「役」に当たる。)などに基づいて、敵に与えるダメージや勝敗が決する。
【0046】
ソーシャルゲームは、複数のゲームパート(以下、単に「パート」ともいう)が有機的に組み合わさることにより、全体として一つのストーリーやキャラクタが完成することで、一つのゲームとして成立する。例えば、ソーシャルゲーム20は、
図2に示すように、クエストパート21と、バトルパート22と、ガチャパート23と、強化パート24と、を備える。
【0047】
クエストパート21は、「探索、探求、冒険」などの意義を有する「クエスト」という言葉が表す通り、仮想ユーザが仮想空間を探索して、探索中に出現する敵と対戦したり、新たなカードを獲得したり、仮想ユーザのレベル向上を行うことにより、進捗するゲームを構成する一部分である。クエストパート21では、仮想ユーザに所定のクエスト用ポイントが与えられ、仮想ユーザの移動、アイテムの獲得やレベルの向上などは、このクエスト用ポイントを消費することで行われる。また、クエストパート21では、バトル用ポイントを消費して仮想ユーザが所有するカードを用いることで、出現した敵と対戦が行われる。
【0048】
バトルパート22は、仮想ユーザが所有するカードが組み込まれたデッキを用いて、他の仮想ユーザを敵として対戦するパートであり、上述したデッキを構成する各カードの攻撃力及び防御力に基づいて勝敗が決する。
【0049】
ガチャパート23は、硬貨を自動販売機に投入してカプセルに包装されたおもちゃであるカプセルトイが出てくる様子を表した「ガチャガチャ」(登録商標)に由来するものであり、例えば、仮想ユーザが、硬貨の代わりに仮想的に与えられるガチャ用ポイントやガチャ用の権限を用いて、カードごとの出現率に基づいてランダムにカードを取得するパートである。
【0050】
強化パート24は、仮想ユーザが所有しているカードを合成してカードの強さを表すレベルを上げることで、デッキに組み込まれた時に、敵に与える攻撃力や、敵からの攻撃を防御する防御力などを強化するパートである。
【0051】
以上のような複数のパートから構成されるソーシャルゲーム20は、各パート単体が他のゲームパートから独立したものではなく、上述したように、各パートが互いに関係し合い、組み合わさることで、ゲーム全体としての意義を有するものとなっている。したがって、ソーシャルゲーム20では、仮想ユーザが各ゲームパートを有効に進捗させることで、全体として一つのゲームを進行させることができる。
【0052】
(3)基本的なハードウェア構成
(3−1)端末の構成
以上のようなソーシャルゲーム20の定義に基づき、以下、本実施形態のゲームシステムGを実現するためのハードウェア構成について説明する。
【0053】
図1に示すように、端末3は、例えば、無線通信部31と、表示部32と、操作部33と、を備える携帯型無線通信端末により構成される。無線通信部31は、携帯電話回線や無線LAN回線を用いてインターネット2に接続し、ウェブブラウザ上でゲームサーバ1とデータ通信を行う。表示部32は、ゲームサーバ1から受信したウェブブラウザの画面を表示する。操作部33は、例えば、表示部32の画面上の表示に従って実ユーザからの操作入力を受け付けるタッチパネルから構成される。このようにして実ユーザから受け付けられた操作入力は、無線通信部31によりゲームサーバ1に送信される。
【0054】
このようなハードウェア構成を有する端末3では、例えば、予め登録したユーザIDと所定のパスワードとの組合せにより、端末の個体認証処理を行う。そして、端末3は、ゲームサーバ1との間での認証が完了すると、ゲームサーバ1からゲームを進行するのに必要なデータを受信するとともに、操作部33における操作データをゲームサーバ1に送信する。
【0055】
なお、端末3は、通信ネットワークであるインターネット2を介してゲームサーバ1と通信可能な通信装置であれば、携帯電話機、PDA、パーソナルコンピュータなどであってもよい。また、操作部33の例としてタッチパネルを挙げたが、もちろん物理的なキー操作によってカーソルなどを移動させて選択操作を行い、情報の入力を行うような構成を採用してもよい。
【0056】
(3−2)ゲームサーバの概略構成
端末3と通信可能に接続されるゲームサーバ1は、例えば
図3に示すような汎用的なハードウェア構成を有するコンピュータにより実現される。すなわち、ゲームサーバ1は、
図3に示すように、インターネット2を介して端末3と通信を行う通信インタフェース部11と、キーボードやマウスなどのユーザからの操作入力を受ける操作入力部12とを備える。また、ゲームサーバ1は、各種演算処理を行うCPUなどの演算処理部13と、演算処理データを一時的に記憶するSRAMやDRAMなどのメインメモリ14と、アプリケーションプログラム及び各種データが記憶されたハードディスクなどの記憶装置15と、演算処理結果を表示するディスプレイ16とを備える。
【0057】
ゲームサーバ1は、このようなソーシャルゲーム20をユーザに提供するためのプログラムを記憶装置15にインストールすることで、
図4に示すような機能ブロックが実現される。
【0058】
すなわち、ゲームサーバ1では、例えば
図4に示すような、操作データ受信部11aと、ゲームデータ処理部100と、ゲームデータを管理するゲームデータ記憶部200とからなる機能が実現される。
【0059】
操作データ受信部11aは、通信ネットワーク2を通じて、端末3から送られてくる操作データを受信する手段である。ゲームデータ処理部100は、クエストパート処理部101とバトルパート処理部102とガチャパート処理部103と強化パート処理部104とを有する。
【0060】
ここで、クエストパート処理部101は、クエストパート21のデータ処理を行う。また、バトルパート処理部102は、バトルパート22のデータ処理を行う。ガチャパート処理部103は、ガチャパート23のデータ処理を行う。強化パート処理部104は、強化パート24のデータ処理を行う。
【0061】
(3−3)ゲームサーバの具体的構成
以下では、本実施形態で特有の構成を有するバトルパート処理部102と、このバトルパート処理部102における処理を実現するための記憶領域となるゲームデータ記憶部200の具体的な構成について
図5等を参照して説明する。まず、ゲームデータ記憶部200の構成について説明する。
【0062】
(3−3−1)ゲームデータ記憶部の構成
まず、バトルパート処理部102で用いるデータとして、ゲームデータ記憶部200は、
図5に示すように、チームデータテーブル211と、アイテムデータテーブル212と、仮想ユーザデータ記憶部210と、を有する。
【0063】
(チームデータテーブル211:
図6)
チームデータテーブル211は、
図6に示すように、チームに所属する仮想ユーザの識別情報を、チームごとに記憶している。各チームには、「チームID」として固有の数字が与えられ、各仮想ユーザには、「ユーザID」として固有の数字が与えられている。
【0064】
「チーム」は、ゲーム内で仮想ユーザによって結成される集団である。仮想ユーザはゲームへ登録されると、自らチームを作成して他の仮想ユーザからの加入を待つこともできるし、すでにゲーム内で作成されているチームに加入することもできる。チームに所属する仮想ユーザの数は、1以上であれば特に限定されない。自らチームを作成して他の仮想ユーザからの加入がない場合には、チームには一の仮想ユーザのみが所属していることになる。なお、「チーム」を意味する言葉であれば特に限定されず、「ギルド」という言葉で表現されてもよい。
【0065】
(アイテムデータテーブル212:
図7)
各仮想アイテムには、「アイテムID」として、アイテムごとに固有の数字が与えられている。バトルパートで使用可能な仮想アイテムとして、バトル攻撃用ポイントと、バトル回復用ポイントがある。バトル攻撃用ポイントとは、一の仮想ユーザが他の仮想ユーザ又はゲーム内に出現する敵を攻撃するために必要なポイントである。一の仮想ユーザはバトル攻撃用ポイントを消費することにより、他の仮想ユーザ又はゲーム内に出現する敵の有する体力パラメータを減少させることができる。バトル回復用ポイントとは、一の仮想ユーザの有する体力パラメータを回復させるために必要なポイントである。一の仮想ユーザはバトル回復用ポイントを消費することにより、当該一の仮想ユーザの有する体力パラメータを増加させることができる。
【0066】
「アイテム画像」とは、仮想アイテムを表した画像データであり、このような画像データが組み込まれた表示処理データが、ゲームサーバ1から端末3に送信される。
【0067】
仮想ユーザデータ記憶部210は、対戦参加履歴データテーブル221と、NPC参加予約データテーブル222と、参加判定用データテーブル223と、所有アイテムデータテーブル224と、を有する。
【0068】
(対戦履歴データテーブル221:
図8)
対戦履歴データテーブル221は、
図8に示すように、ゲーム内で過去に行われた対戦に係る履歴情報を記憶している。具体的に、
図8(A)には、各対戦が行われた時間に関する情報が記憶されている。また、
図8(B)には、各対戦に仮想ユーザが参加したか否かに関する情報が、仮想ユーザごとに記憶されている。
【0069】
各対戦には、「対戦ID」として固有の数字が与えられている。
図8(A)の対戦履歴データテーブル221には、対戦が終了するたびに、対戦が行われた日(対戦日)、対戦を開始した時刻(対戦開始時刻)および対戦を終了した時刻(対戦終了時刻)に関する情報が、対戦IDと関連づけて記憶される。
図8(A)より、対戦開始時刻が12時半と21時であって、それぞれ対戦時間が30分である対戦が過去に行われていることが分かる。
【0070】
図8(B)の対戦履歴データテーブル221には、対戦が終了するたびに、終了した対戦に仮想ユーザが参加したか否かに係る情報が記憶される。具体的に、仮想ユーザが参加した場合には、仮想ユーザの識別情報(ユーザID)と、終了した対戦の識別情報(対戦ID)とを関連づけて、参加フラグとして「1」が記憶される。また、仮想ユーザが参加しなかった場合には、参加フラグとして「0」が記憶される。また、仮想ユーザがノンプレイヤキャラクタ(以下、NPC)として対戦に参加した場合には、参加フラグとして「2」が記憶される。
【0071】
NPCとは、実ユーザの端末操作なしでゲームを遂行可能なノンプレイヤオブジェクトのことである。実ユーザは、対戦開始前に、仮想ユーザをNPCとして対戦に参加させるNPC参加予約を行うと、仮想ユーザをNPCとして対戦に参加させることができる。
【0072】
なお、一の仮想ユーザが過去に行われた一の対戦に参加したか否かの判断は、一の対戦における対戦開始時刻から対戦終了時刻までに、一の仮想ユーザを操作する端末から、バトルアイテムの消費に係る操作データを受信したか否かによって行われる。
【0073】
(NPC参加予約データテーブル222:
図9)
NPC参加予約データテーブル222は、
図9に示すように、今後行われる対戦へのNPC参加予約に係る情報を、仮想ユーザごとに記憶している。具体的に、
図9(A)には、各対戦が行われる時間に関する情報が記憶されている。また、
図9(B)には、各対戦にNPC参加予約があったか否かに関する情報が、仮想ユーザごとに記憶されている。
【0074】
図9(A)のNPC参加予約データテーブル222には、対戦日、対戦開始時刻および対戦終了時刻に関する情報が、対戦IDと関連づけて記憶されている。対戦が終了するたびに、終了した対戦に係るデータは削除される。
【0075】
図9(B)のNPC参加予約データテーブル222には、仮想ユーザをNPCとして対戦に参加させるNPC参加予約を受け付けたか否かに係る情報が記憶される。具体的に、初期状態では、「0」が記憶されている。NPC参加予約を受け付けた場合には、仮想ユーザの識別情報(ユーザID)と、対戦の識別情報(対戦ID)とを関連づけて、対応するデータが「0」から「1」に書き換えられる。対戦が終了すると、
図9(B)のNPC参加予約データテーブル222に記憶されたデータに基づいて、
図8(B)の対戦履歴データテーブル221に「2」が記憶される。
【0076】
(参加判定用データテーブル223:
図10)
参加判定用データテーブル223は、ゲーム内で現在行われている対戦に参加している仮想ユーザの数を算出するためのデータテーブルである。
【0077】
本実施形態における対戦は、チーム間で行われるチーム対抗型の対戦である。対戦が開始される前には、各チームに対して、対戦組み合わせが決定される。各対戦組み合わせには、「組み合わせID」として固有の数字が与えられる。2つのチームで対戦を行う場合には、一方のチームがチーム1、もう一方のチームがチーム2と任意に設定される。
【0078】
参加判定用データテーブル223は、
図10に示すように、NPC参加予約を受け付けたか否かに係る情報およびゲーム内で現在行われている対戦に仮想ユーザが参加しているか否かに係る情報を記憶している。NPC参加予約を受け付けたか否かに係る情報は、
図9(B)の参加予約データテーブル222に記憶されているデータより得られる。対象となる対戦について、NPC参加予約を受け付けた場合にはNPCとして「1」が記憶され、NPC参加予約を受け付けていない場合にはNPCとして「0」が記憶される。NPCとして「1」が記憶されている場合に、現在行われている対戦で動作していれば、参加フラグとして「1」が記憶され、動作が停止していれば、参加フラグとして「0」が記憶される。なお、NPCとして対戦に参加する仮想ユーザは、後述するNPC制御部によって動作したり、動作が停止したりする。また、NPCとして「0」が記憶されている場合、現在行われている対戦へ実ユーザの端末操作で仮想ユーザが参加していれば、参加フラグとして「1」が記憶され、実ユーザの端末操作で仮想ユーザが参加していなければ、参加フラグとして「0」が記憶される。参加フラグは、適宜更新される。
【0079】
(所有アイテムデータテーブル224:
図11)
所有アイテムデータテーブル224は、
図11に示すように、仮想ユーザが所有する仮想アイテム(所有アイテム)に係る情報を、仮想ユーザごとに記憶している。
【0080】
(3−3−2)ゲームデータ処理部の構成
バトルパート処理部102は、
図5に示すように、予約受付部41と、対戦実現部42と、報酬付与部43と、予約設定部44と、予約解除部45と、を備える。
【0081】
予約受付部41は、端末から受信した操作データに基づいて、仮想ユーザを、実ユーザの端末操作なしでゲームを遂行可能なNPCとして定時対戦に参加させるNPC参加予約の登録を受け付ける手段である。
【0082】
対戦実現部42は、特定の時間帯に、仮想ユーザをチーム同士で対戦させる定時対戦を実現する手段である。対戦実現部42は、対戦管理部421と、ユーザ制御部422と、NPC制御部423と、画像出力部424と、を備える。
【0083】
対戦管理部421は、対戦に関する事項をあらかじめ決定しデータテーブルに記憶して管理する手段である。例えば、対戦管理部421は、定時対戦の日時をあらかじめ決定し、
図9(A)の参加予約データテーブル222にデータを記憶する。そして、
図9(A)の参加予約データテーブル222に記憶されているデータに基づいて、対戦管理部421は、対戦開始時刻に達したか否かおよび対戦終了時刻に達したか否かを判断する。
【0084】
ユーザ制御部422は、対戦開始時刻から対戦終了時刻に至るまで、NPC参加予約を受け付けていない仮想ユーザの動作を制御する手段である。ユーザ制御部422は、端末から受信した操作データに基づいて、仮想ユーザの所有する仮想アイテムを消費させる。仮想アイテムの消費量に応じて、相手チームへ与えるダメージが決定される。
【0085】
NPC制御部423は、対戦開始時刻から対戦終了時刻に至るまで、NPC参加予約を受け付けた仮想ユーザの動作を制御する手段である。NPC制御部423は、実ユーザの端末操作なしに、任意のタイミングで仮想ユーザの所有する仮想アイテムを消費させる。上記のとおり、仮想アイテムの消費量に応じて、相手チームへ与えるダメージが決定される。
【0086】
NPC制御部423は、仮想ユーザの対戦参加履歴情報に基づいて、仮想ユーザの対戦参加頻度が低いほど、仮想ユーザの所有する仮想アイテムをより多く消費させてもよい。
【0087】
また、NPC制御部423は、仮想ユーザの定時対戦での参加情報に基づいて、チーム間で参加数の差が小さくなるように、NPCとして参加している仮想ユーザの動作を停止させるか又は動作させてもよい。その際、NPC制御部423は、定時対戦への参加頻度が相対的に高い仮想ユーザの動作を優先的に停止させるのが好ましい。また、NPC制御部423は、チーム間での対戦能力値の差が小さくなるように、NPCとして参加している仮想ユーザの動作を停止させるか又は動作させてもよい。
【0088】
また、NPC制御部423は、NPC参加予約を受け付けた仮想ユーザの定時対戦への参加時間を設定してもよい。具体的に、NPC制御部423は、現在から所定期間遡った期間において、仮想ユーザの定時対戦への参加頻度が低いほど、長い参加時間を設定する。
【0089】
また、NPC制御部423は、定時対戦へ実ユーザの端末操作で参加している仮想ユーザの有無に基づいて、NPCとして定時対戦に参加している仮想ユーザを動作させるか否かを決定してもよい。さらに、NPC制御部423は、仮想ユーザがNPCとして定時対戦に参加する場合、仮想ユーザのNPCとしての対戦参加履歴情報に基づいて、仮想ユーザのNPCとしての連続参加回数が多いほど、定時対戦での対戦能力値を低く設定してもよい。
【0090】
画像出力部424は、定時対戦に参加している仮想ユーザを操作する各端末へ、ゲーム進行を演出する画像を出力する手段である。具体的に、相手チームへの攻撃を示す画像および相手チームから受けた攻撃を示す画像が端末に表示される。
【0091】
報酬付与部43は、定時対戦における勝敗およびチーム貢献度によって、報酬の内容を決定する。報酬は、例えば、ゲーム内で使用可能なポイントである。報酬付与部43は、勝利チームの仮想ユーザには、敗北チームの仮想ユーザよりも多くのポイントを付与する。また、報酬付与部43は、定時対戦でのチーム貢献度の高い仮想ユーザほど、多くのポイントを付与する。
【0092】
予約設定部44は、予約受付部41が定時対戦の開始する所定時間前までにNPC参加予約を受け付けていない場合に、仮想ユーザのNPCとしての対戦参加頻度に係る情報に基づいて、仮想ユーザにNPC参加予約を設定する手段である。予約設定部44は、現在から所定期間遡った期間に開催された定時対戦において、仮想ユーザのNPCとしての参加率が所定の閾値以上である場合に、仮想ユーザにNPC参加予約を設定する。
【0093】
予約解除部45は、端末から受信した操作データに基づいて、仮想ユーザを、実ユーザの端末操作なしでゲームを遂行可能なNPCとして定時対戦に参加させるNPC参加予約の解除を受け付ける手段である。
【0094】
(4)ゲームサーバにおける処理
本実施形態のゲームサーバにおける処理の一例として、以上のような構成からなるバトルパート処理部102の処理について説明する。
【0095】
(4−1)バトルパート処理部における処理の概要
まず、バトルパート処理部102の処理の概要について
図12を用いて説明する。まず、ステップS1201において、予約受付部41は、仮想ユーザをノンプレイヤキャラクタ(以下、NPC)として定時対戦に参加させる参加予約を受け付ける処理(予約受付処理)を実行する。続いて、ステップS1202において、対戦実現部42は、特定の時間帯にチーム同士で対戦する定時対戦を実現する処理(対戦実現処理)を実行する。続いて、ステップS1203において、報酬付与部43は、定時対戦の結果に応じて、チームに参加した仮想ユーザ(NPCとして参加した仮想ユーザも含む)に対して報酬を付与する。具体的に、報酬付与部43は、定時対戦における勝敗およびチーム貢献度によって、報酬の内容を決定する。例えば、報酬付与部43は、勝利チームに参加した仮想ユーザにはポイントを100付与するのに対して、敗北チームに参加した仮想ユーザにはポイントを10付与する。また、報酬付与部43は、チーム貢献度の高い仮想ユーザ(NPCとして参加した仮想ユーザを除く)ほど、多くのポイントを付与する。チーム貢献度の高い順に、仮想ユーザにポイントを50、20、10と付与する。予約受付処理および対戦実現処理の詳細は後述する。
【0096】
(4−2)予約受付処理
ステップS1201の予約受付処理の詳細について、
図13を参照して説明する。
図13に示すように、ステップS1301において、予約受付部41は、各仮想ユーザを操作する各端末へ、仮想ユーザをNPCとして定時対戦に参加させるNPC参加予約を受け付けるための表示画像(予約受付画像)を表示する。予約受付画像には、今後開催される対戦の対戦日時を選択させる選択画像と、選択した対戦日時にNPC参加予約を行う意志を確認するための確認画像とが含まれる。実ユーザは、NPC参加予約を行いたい対戦を自由に選択し、NPC参加予約の登録を行うことができる。
【0097】
ステップS1302において、予約受付部41は、各端末から、NPC参加予約の登録に係る操作データを受信したか否かを判断する。NPC参加予約の登録に係る操作データを受信した場合(ステップS1302:YES)には、ステップS1303に進む。一方、NPC参加予約の登録に係る操作データを受信していない場合(ステップS1302:NO)には、ステップS1302の処理を繰り返す。
【0098】
ステップS1303において、予約受付部41は、ステップS1302で受信した操作データに基づいて、
図9(B)のNPC参加予約データテーブル222に記憶されているデータを更新する。具体的に、NPC参加予約を行った仮想ユーザ(ユーザID)と、選択された対戦日時(対戦ID)とを紐づけるデータを「0」から「1」に書き換える。
【0099】
(4−3)対戦実現処理
ステップS1202の対戦実現処理の詳細について、
図14を参照して説明する。なお、対戦は、2つのチーム間で行われ、対戦の組み合わせはあらかじめ決定されているものとする。以下では、一の組み合わせでの処理として説明する。
【0100】
図14に示すように、ステップS1401において、対戦管理部421は、
図9(A)のNPC参加予約データテーブル222を参照して、対戦開始時刻に到達したか否かを判断する。対戦開始時刻に到達した場合(ステップS1401:YES)には、ステップS1402に進む。一方、対戦開始時刻に到達していない場合(ステップS1401:NO)には、ステップS1401の処理を繰り返す。
【0101】
ステップS1402において、ユーザ制御部422は、通常参加ユーザを操作する端末より、所有する仮想アイテムを消費する旨の操作データを受信したか否かを判断する。当該操作データを受信した場合(ステップS1402:YES)には、ステップ1403に進む。一方、当該操作データを受信していない場合(ステップS1402:NO)には、ステップS1404に進む。通常参加ユーザとは、NPCとして定時対戦に参加させるNPC参加予約を受け付けていない仮想ユーザである。すなわち、
図9(B)のNPC参加予約データテーブル222に記憶されているデータが「0」である仮想ユーザである。
【0102】
ステップS1403において、ユーザ制御部422は、ステップS1402で受信した操作データに基づいて、
図11の所有アイテムデータテーブル224に記憶されている所有アイテムに係るデータを書き換える。具体的に、ユーザ制御422は、
図11の所有アイテムデータテーブル224において、通常参加ユーザの所有アイテムの数を減少させる。
【0103】
ステップS1404において、画像出力部424は、ステップS1402で受信した操作データに基づいて、各通常参加ユーザを操作する各端末へ、ゲーム進行を演出する画像(演出画像)を出力する。相手チームへの攻撃力は、例えば、通常参加ユーザが備える対戦能力値や、通常参加ユーザが消費した仮想アイテムの量によって決定される。
【0104】
ステップS1405において、ユーザ制御部422は、所定時間内に通常参加ユーザの所有アイテムの数が減少したか否かによって、
図10の参加判定用データテーブル223に記憶されている参加フラグを更新する。所有アイテムの数が減少した通常参加ユーザについては、参加フラグを「0」から「1」へ書き換える。一方、所有アイテムの数が減少していない通常参加ユーザについては、参加フラグを「1」から「0」へ書き換える。
【0105】
ステップS1406において、NPC制御部423は、NPCとして定時対戦に参加させる参加予約を受け付けた仮想ユーザ(以下、NPC参加ユーザ)の動作を制御する処理(NPC制御処理)を実行する。NPC制御処理の詳細は後述する。
【0106】
ステップS1407において、対戦管理部421は、
図9(A)のNPC参加予約データテーブル222を参照して、対戦終了時刻に到達したか否かを判断する。対戦終了時刻に到達した場合(ステップS1407:YES)には、本処理を終了する。一方、対戦終了時刻に到達していない場合(ステップS1407:NO)には、ステップS1402に戻って、ステップS1402以下の処理を繰り返す。
【0107】
図21に、演出画像を表す画面例300を示す。画面上部には、2チーム間の対戦状況を示す画像領域301が表示される。画像領域301の左側には、自チームに所属する5人の仮想ユーザ(301a、301b等)が表示され、画像領域301の右側には、相手チームの仮想ユーザ(301c等)が表示される。画面例300において、実線の仮想ユーザ301aは、通常参加ユーザであって、点線の仮想ユーザ301bは、NPC参加ユーザである。通常参加ユーザとNPC参加ユーザは、区別可能なように表示される。
【0108】
画像領域301の下には、各チームが獲得したポイントを示す画像領域302、303が表示される。
【0109】
画像領域304では、実ユーザは相手チームに所属する仮想ユーザ(FFF、GG、JK、MMP、QAQ)のうち一の仮想ユーザを任意に選択することが可能である。また、画像領域305では、実ユーザは所有する仮想アイテムのうち消費する数を任意に選択することができる。任意の一の仮想ユーザが選択され、消費する仮想アイテムの数が選択された後、攻撃ボタン306が操作されることより、選択された仮想ユーザへ、消費する仮想アイテムの数に相当する攻撃が行われる。画像領域307では、各チームに所属する仮想ユーザによる戦闘履歴が表示される。
【0110】
(4−4)NPC制御処理
ステップS1406におけるNPC制御処理の具体例1〜5について、
図15〜17を参照して説明する。
【0111】
[具体例1]
図15(A)に示すように、ステップS1501において、NPC制御部423は、各NPC参加ユーザについて、任意のタイミングで
図11の所有アイテムデータテーブル224に記憶されている所有アイテムに係るデータを書き換える。すなわち、NPC制御部423は、任意のタイミングで、NPC参加ユーザの所有アイテムの数を減少させる。
【0112】
ステップS1501の処理は、対戦終了時刻に到達するまで繰り返し行われるが、NPC制御部423は、
図8(B)の対戦参加履歴データテーブル221を参照し、現在から所定期間遡った期間において、仮想ユーザの対戦参加頻度が低いほど、仮想ユーザの所有する仮想アイテムをより多く消費させる。対戦参加頻度が低い仮想ユーザとは、
図8(B)の対戦参加履歴データテーブル221に記憶されている参加フラグが「0」の割合が高い仮想ユーザである。
【0113】
ステップS1502において、画像出力部424は、ステップS1501で消費した仮想アイテムのデータに基づいて、各通常参加ユーザを操作する各端末へ、ゲーム進行を演出する画像(演出画像)を出力する。これにより、各通常参加ユーザを操作する各実ユーザは、NPC参加ユーザの動作を認識することができる。
【0114】
[具体例2]
図15(B)に示すように、ステップS1511において、NPC制御部423は、
図10の参加判定用データテーブル223を参照して、チーム間での参加数の差を算出する。ここでいう参加数は、通常参加ユーザのうち現在対戦に参加している仮想ユーザの数と、NPC参加ユーザの数の合計である。通常参加ユーザが現在対戦に参加しているか否かは、ステップS1402における所有アイテムの消費に係る操作データを受信したか否かによって判断され、
図10の参加判定用データテーブル223は適宜更新される。また、NPC参加ユーザは、後述するように動作が停止されない限り、対戦に参加しているものとする。
【0115】
ステップS1512において、NPC制御部423は、
図10の参加判定用データテーブル223を参照して、ステップS1511で算出した差が小さくなるようにNPC参加ユーザの動作を停止する。すでに動作が停止されているNPC参加ユーザがいる場合には、ステップS1511で読み出した差が小さくなるように当該NPC参加ユーザを動作させてもよい。具体的に、NPC制御部423は、
図8(B)の対戦参加履歴データテーブル221を参照し、定時対戦への参加頻度が相対的に高い仮想ユーザの動作を優先的に停止させる。逆に、NPC制御部423は、定時対戦への参加頻度が相対的に低い仮想ユーザを優先的に動作させる。NPC参加ユーザの動作停止に伴い、NPC制御部423は、
図10の参加判定用データテーブル223に記憶されている参加フラグを「1」から「0」へ書き換える。また、NPC参加ユーザを動作させる場合には、NPC制御部423は、
図10の参加判定用データテーブル223に記憶されている参加フラグを「0」から「1」へ書き換える。
【0116】
例えば、組み合わせID50001について説明する。
図10の参加判定用データテーブル223より、組み合わせID50001は、チームID10001のチームとチームID10003のチームの対戦である。
図10の参加判定用データテーブル223より、チームID10001のチームでは、4人が参加し、チームID10003のチームでは、3人が参加していることが分かる。また、チーム10001のチームには、NPC参加ユーザが2人いることが分かる。そこで、NPC制御部423は、NPC参加ユーザである、ユーザID30001の仮想ユーザおよびユーザID30056の仮想ユーザのうちいずれかの仮想ユーザの動作を停止する。これにより、チーム間での参加数の差は1から0となる。
【0117】
ステップS1513において、NPC制御部423は、動作させている各NPC参加ユーザについて、任意のタイミングで
図11の所有アイテムデータテーブル224に記憶されている所有アイテムに係るデータを書き換える。
【0118】
ステップS1514の処理は、ステップS1502の処理と同様であるため説明を省略する。
【0119】
[具体例3]
図16(A)に示すように、ステップS1601において、NPC制御部423は、各NPC参加ユーザの定時対戦への参加時間を設定する。具体的に、NPC制御部423は、
図8(B)の対戦参加履歴データテーブル221を参照し、現在から所定期間遡った期間において、仮想ユーザの定時対戦への参加頻度が低いほど、長い参加時間を設定する。例えば、
図9(A)のNPC参加予約データテーブル222より、対戦時間は30分である。参加頻度が低いほど、参加時間は30分に近くなり、参加頻度が高いほど、参加時間は0分に近くなる。なお、参加時間の設定は、対戦開始時刻に到達後1回のみでよい。
【0120】
ステップS1602において、NPC制御部423は、各NPC参加ユーザについて、ステップS1601で設定した参加時間の範囲内の任意のタイミングで
図11の所有アイテムデータテーブル224に記憶されている所有アイテムに係るデータを書き換える。
【0121】
ステップS1603の処理は、ステップS1502の処理と同様であるため説明を省略する。
【0122】
[具体例4]
図16(B)に示すように、ステップS1611において、NPC制御部423は、
図10の参加判定用データテーブル223を参照して、通常参加ユーザが現在対戦に参加しているか否かを判断する。両チームで少なくとも1人でも通常参加ユーザが参加している場合(ステップS1611:YES)には、ステップS1612に進み、NPC参加ユーザを動作させる。NPC参加ユーザの動作開始に伴い、NPC制御部423は、
図10の参加判定用データテーブル223に記憶されている参加フラグを「0」から「1」へ書き換える。
【0123】
一方、両チームで通常参加ユーザが1人も参加していない場合(ステップS1611:NO)には、ステップS1615に進み、NPC参加ユーザの動作を停止させる。なお、対戦開始時刻に到達した後、通常参加ユーザが1人も参加していない状態では、NPC参加ユーザの動作は停止したままである。NPC参加ユーザの動作停止に伴い、NPC制御部423は、
図10の参加判定用データテーブル223に記憶されている参加フラグを「1」から「0」へ書き換える。
【0124】
ステップS1613、S1614の処理は、ステップS1513、S1514の処理と同様であるため説明を省略する。
【0125】
[具体例5]
図17に示すように、ステップS1701において、NPC制御部423は、
図8(B)の対戦参加履歴データテーブル221を参照して、各NPC参加ユーザがNPCとして参加した連続回数を算出する。
【0126】
例えば、
図10の参加判定用データテーブル223より、対戦ID20013においてユーザID30001の仮想ユーザはNPC参加ユーザである。
図8(B)の対戦参加履歴データテーブル221より、ユーザID30001の仮想ユーザは対戦ID20011および対戦ID20012においても、NPCとして対戦に参加していたことが分かる。すなわち、ユーザID30001の仮想ユーザがNPCとして参加した連続回数は3回である。
【0127】
ステップS1702において、NPC制御部423は、ステップS1701で算出した連続回数に基づいて、各NPC参加ユーザの対戦能力値(例えば、攻撃力)を決定する。具体的に、NPC制御部423は、連続回数が多いほど、対戦能力値が低くなるように設定する。仮想ユーザ固有の対戦能力値を基準として、連続回数に応じて当該対戦能力値を減少させてもよい。例えば、仮想ユーザ固有の対戦能力値が1500である場合、連続回数が上昇するにつれて、9割(1350)、8割(1200)、7割(1050)といように、対戦能力値を低く設定することができる。
【0128】
ステップS1703、S1704の処理は、ステップS1513、S1514の処理と同様であるため説明を省略する。
【0129】
(4−5)変形例
上記実施形態では、予約受付処理を実行した後に、続いて対戦実現処理を実行する例を示したが、
図18に示すように、ステップS1801において、予約受付処理を実行し、続いて、ステップS1802において、定時対戦の開始する所定時間前までにNPC参加予約を行っていない特定の仮想ユーザに対して、NPC参加予約を設定する処理(予約設定処理)を実行し、さらに、端末からの操作データに基づいて、NPC参加予約の解除を受け付ける処理(予約解除受付処理)を実行してもよい。予約設定処理および予約解除受付処理の詳細は後述する。なお、ステップS1804およびステップS1805の処理は、ステップS1202およぶステップS1203の処理と同様であるため、説明を省略する。
【0130】
(4−5−1)予約設定処理
ステップS1802の予約設定処理の詳細について、
図19を参照して説明する。
図19に示すように、ステップS1901において、予約設定部44は、NPC参加予約を行っていない一の仮想ユーザを抽出する。具体的に、予約設定部44は、
図9(B)のNPC参加予約データテーブル222を参照して、次に開催される予定の定時対戦に関して参加フラグが「0」である仮想ユーザの中から一の仮想ユーザを抽出する。
【0131】
ステップS1902において、予約設定部44は、ステップS1901で抽出した仮想ユーザについて、NPCとしての定時対戦への参加率を読み出す。具体的に、予約設定部44は、
図8(B)の対戦参加履歴データテーブル221を参照して、参加フラグとして「2」が記憶されている割合を読み出す。参加率を算出するための対象とする定時対戦は、例えば、直近に開催された定時対戦である。
【0132】
ステップS1903において、予約設定部44は、ステップS1902で読み出した参加率が所定の閾値以上であるか否かを判断する。所定の閾値以上である場合(ステップS1903:YES)には、ステップS1904に進む。一方、所定の閾値未満である場合(ステップS1903:NO)には、ステップS1905に進む。
【0133】
ステップS1904において、予約設定部44は、
図9(B)のNPC参加予約データテーブル222に記憶されているデータを更新する。具体的に、ステップS1901で抽出した仮想ユーザ(ユーザID)と、次に開催される予定の定時対戦(対戦ID)とを紐づけるデータを「0」から「1」に書き換える。
【0134】
ステップS1905において、予約設定部44は、ステップS1901で抽出した仮想ユーザを除外する。
【0135】
ステップS1906において、予約設定部44は、
図9(B)のNPC参加予約データテーブル222を参照して、NPC参加予約を行っていない仮想ユーザが他に存在するか否かを判断する。他の仮想ユーザがいる場合(ステップS1906:YES)には、ステップS1901に戻り、ステップS1901以下の処理を繰り返す。一方、他の仮想ユーザがいない場合(ステップS1906:NO)には、本処理を終了する。
【0136】
(4−5−2)予約解除受付処理
ステップS1803の予約解除受付処理の詳細について、
図20を参照して説明する。
図20に示すように、ステップS2001において、予約解除部45は、各仮想ユーザを操作する各端末へ、仮想ユーザをNPCとして定時対戦に参加させるNPC参加予約の解除を受け付けるための表示画像(予約解除受付画像)を表示する。予約解除受付画像には、すでにNPC参加予約が登録されている対戦の対戦日時を選択させる選択画像と、選択した対戦日時におけるNPC参加予約を解除する意志を確認するための確認画像とが含まれる。実ユーザは、NPC参加予約を解除したい対戦を自由に選択し、NPC参加予約の解除を行うことができる。
【0137】
ステップS2002において、予約解除部45は、各端末から、NPC参加予約の解除に係る操作データを受信したか否かを判断する。NPC参加予約の解除に係る操作データを受信した場合(ステップS2002:YES)には、ステップS2003に進む。一方、NPC参加予約の解除に係る操作データを受信していない場合(ステップS2002:NO)には、ステップS2002の処理を繰り返す。
【0138】
ステップS2003において、予約解除部45は、ステップS2002で受信した操作データに基づいて、
図9(B)のNPC参加予約データテーブル222に記憶されているデータを更新する。具体的に、NPC参加予約の解除を行った仮想ユーザ(ユーザID)と、選択された対戦日時(対戦ID)とを紐づけるデータを「1」から「0」に書き換える。
【0139】
(5)効果
本実施形態では、実ユーザは、特定の時間帯に仮想ユーザを操作することにより、仮想ユーザを定時対戦に参加させることができる。また、実ユーザは、仮想ユーザをNPCとして定時対戦に参加させる参加予約を行うことができる。この参加予約を行った場合には、実ユーザは、特定の時間帯に仮想ユーザを操作することなく、仮想ユーザを定時対戦に参加させることができる。したがって、実ユーザは、特定の時間帯に仮想ユーザを操作することができる場合には、自ら仮想ユーザを操作し、特定の時間帯に仮想ユーザを操作することができないことが予測可能な場合には、あらかじめ参加予約を行っておくといった使い分けが可能となる。実ユーザがあらかじめ参加予約を行っておけば、自ら仮想ユーザを操作しなくても、仮想ユーザには定時対戦への参加に基づく報酬が付与される。これにより、特定の時間帯に仮想ユーザを操作することが難しい実ユーザに対して、定時対戦に対する意欲を維持させることができる。
【0140】
定時対戦では、どれくらいの実ユーザが仮想ユーザを参加させるかは、実際に対戦が開始してみないと分からない。従来は、対戦開始時刻に達して、実ユーザが定時対戦に仮想ユーザを参加させたものの、チームに所属する他の仮想ユーザが1人も参加していないといった状況や、相手チームに所属する仮想ユーザが1人も参加していないといった状況が起こり得た。このような状況では、実ユーザは定時対戦に対する意欲を減退させかねない。これに対して、本実施形態では、実ユーザが仮想ユーザをNPCとして参加させることができるため、仮想ユーザとしての参加にNPCとしての参加が追加され、定時対戦への参加率は全体的に上昇すると考えられる。そのため、チームに所属する他の仮想ユーザが1人も参加していないといった状況や、相手チームに所属する仮想ユーザが1人も参加していないといった状況が緩和される。これにより、仮想ユーザを自ら操作して定時対戦に参加させる意欲のある実ユーザに対して、その意欲を維持させることができる。
【0141】
NPC制御処理の具体例1では、仮想ユーザの対戦参加履歴情報に基づいて、仮想ユーザの対戦参加頻度が低いほど、仮想ユーザの所有する仮想アイテムをより多く消費させる。定時対戦への参加頻度が低い仮想ユーザがNPCとして定時対戦に参加すると、相手チームへ大きなダメージを与えることができる。チーム対抗のバトルでは、通常、チームに所属する仮想ユーザがより多く参加した方が相手チームへの攻撃が大きく、バトルを有利に進行させることができる。定時対戦への参加頻度が低い仮想ユーザはチームへの貢献度が低いため、チームの結束力を弱める要因となり得る。定時対戦への参加頻度が高い仮想ユーザを操作する実ユーザによっては、参加頻度の低い仮想ユーザがチームへの貢献度が低いことに対する不満を抱く場合もある。定時対戦への参加頻度が低い仮想ユーザの所有する仮想アイテムをより多く消費させることにより、チームの結束力が弱まるのを抑制することができる。
【0142】
NPC制御処理の具体例2では、NPC制御部は、仮想ユーザの定時対戦での参加情報に基づいて、チーム間で参加数の差が小さくなるように、NPCとして参加している仮想ユーザの動作を停止させるか又は動作させる。定時対戦では、どれくらいの実ユーザが仮想ユーザを参加させるかは、実際に対戦が開始してみないと分からず、参加数に差が生じることも多い。チーム間で参加数の差を小さくすることにより、接戦となり、実ユーザの定時対戦に対する意欲を向上させることができる。
【0143】
また、その際、NPC制御部は、仮想ユーザの対戦参加履歴情報に基づいて、定時対戦への参加頻度が相対的に高い仮想ユーザの動作を優先的に停止させる。逆に、定時対戦への参加頻度が相対的に低い仮想ユーザを優先的に動作させる。上記のとおり、定時対戦への参加頻度が低い仮想ユーザはチームへの貢献度が低いため、チームの結束力を弱める要因となり得る。定時対戦への参加頻度が低い仮想ユーザを優先的に動作させることにより、チームの結束力が弱まるのを抑制することができる。
【0144】
NPC制御処理の具体例3では、NPC制御部は、NPC参加ユーザに対して、定時対戦への参加時間を設定する。具体的に、現在から所定期間遡った期間において、仮想ユーザの定時対戦への参加頻度が低いほど、長い参加時間を設定する。上記のとおり、定時対戦への参加頻度が低い仮想ユーザはチームへの貢献度が低いため、チームの結束力を弱める要因となり得る。定時対戦への参加頻度が低い仮想ユーザに対して参加時間を長く設定することにより、チームの結束力が弱まるのを抑制することができる。
【0145】
NPC制御処理の具体例4では、NPC制御部は、定時対戦に通常参加ユーザが参加していれば、NPC参加ユーザを動作させ、通常参加ユーザが参加していない場合には、NPC参加ユーザの動作を停止させる。定時対戦では、どれくらいの実ユーザが仮想ユーザを参加させるかは、実際に対戦が開始してみないと分からず、通常参加ユーザが1人も参加していない状況もあり得る。このような状況で、通常参加ユーザが定時対戦の途中で参加し始めたときに、NPC参加ユーザのみで対戦が進行していたら、ゲーム提供者側が作為的に操作していると思われ、実ユーザの意欲が低下するおそれがある。通常参加ユーザが定時対戦に参加していることを条件として、NPC参加ユーザを動作させることで、実ユーザの定時対戦に対する意欲を維持させることができる。
【0146】
NPC制御処理の具体例5では、NPC制御部は、NPCとしての連続参加回数が多いほど、仮想ユーザの対戦能力値が低くなるように設定する。対戦能力値が低いと、定時対戦に参加してもあまりチームに貢献することができず、実ユーザは仮想ユーザを参加させることによる自己満足感を満たすことができない。これにより、定時対戦へNPCとして仮想ユーザを参加させるのではなく、端末操作で参加させるよう実ユーザを促すことができる。
【0147】
本実施形態の変形例では、定時対戦の開始する所定時間前までにNPC参加予約を受け付けていない仮想ユーザに対して、予約設定部は、NPCとしての対戦参加頻度が所定の閾値以上である場合に、NPC参加予約を設定する。これにより、仮想ユーザをNPCとして定時対戦に参加させている頻度が高い実ユーザは、参加予約を行うのを忘れている場合であっても、仮想ユーザをNPCとして定時対戦に参加させることができる。
【0148】
また、本実施形態の変形例では、定時対戦の開始する所定時間前までにNPC参加予約を受け付けていない仮想ユーザに対して、予約設定部がNPC参加予約を設定した場合であっても、実ユーザは、NPC参加予約の解除を行うことができる。これにより、実ユーザは、NPC参加予約の解除を行って、NPCとしてではなく、仮想ユーザを定時対戦に参加させることができる。
【0149】
また、本実施形態の変形例では、定時対戦の開始する所定時間前までにNPC参加予約を受け付けていない仮想ユーザについて、NPCとしての対戦参加頻度が所定の閾値未満である場合には、予約設定部は、NPC参加予約を設定しない。例えば、自ら仮想ユーザを操作して仮想ユーザを定時対戦に参加させる頻度が高い実ユーザは、仮想ユーザをNPCとして定時対戦に参加させる頻度は少ない。このような仮想ユーザに対しては、予約設定部はNPC参加予約を設定しないため、自ら仮想ユーザを操作して仮想ユーザを定時対戦に参加させる頻度が高い実ユーザは、引き続き、自ら仮想ユーザを操作して仮想ユーザを定時対戦に参加させることができる。
【0150】
(6)その他
本実施形態では、予約受付処理を実行した後に対戦実現処理を実行する例を示したが、予約受付処理を対戦実現処理と並行して実行してもよい。例えば、予約受付部は、定時対戦が行われている最中に、当該定時対戦についてNPC参加予約を受け付けてもよい。これにより、実ユーザは、定時対戦の開始時に仮想ユーザを参加させ、定時対戦の途中からNPCとしての参加に切り替えることができる。
【0151】
また、本実施形態では、対戦実現処理と並行して予約解除受付処理を実行してもよい。例えば、予約解除受付部は、定時対戦が行われている最中に、当該定時対戦についてNPC参加予約の解除を受け付けてもよい。これにより、実ユーザは、あらかじめNPC参加予約を行い、定時対戦の開始時に仮想ユーザをNPCとして参加させ、定時対戦の途中からは自ら仮想ユーザを操作することができる。
【0152】
本実施形態の対戦実現処理では、NPC制御部が、仮想ユーザの所有する仮想アイテムを消費する例を示したが、対戦開始前に、端末から受信した操作データに基づいて、定時対戦で消費可能な仮想アイテムをあらかじめ設定してもよい。これにより、実ユーザは、仮想ユーザの所有する仮想アイテムの中から、定時対戦で消費されてもよい仮想アイテムの種類および数を自由に設定することができる。
【0153】
本実施形態の対戦実現処理では、NPC制御部が、チーム間での参加人数が小さくなるように、NPC参加ユーザの動作を停止させるか又は動作させる例を示したが、チーム間での対戦能力値の差が小さくなるように、NPC参加ユーザの動作を停止させるか又は動作させてもよい。まず、現在対戦に参加している仮想ユーザの対戦能力値の合計をチームごとに算出した後、チーム間での対戦能力値の差を算出する。そして、算出した差が小さくなるようにNPC参加ユーザの動作を停止させるか又は動作させる。チーム間での対戦能力値の差を小さくすることにより、接戦となり、実ユーザの定時対戦に対する意欲を向上させることができる。
【0154】
本実施形態では、定時対戦が終了した後にすぐに、定時対戦に参加した通常参加ユーザおよびNPC参加ユーザに対して、報酬を付与する例を示したが、NPC参加ユーザへの報酬の付与には所定の条件を設定してもよい。例えば、報酬付与部は、第1の定時対戦へNPCとして参加した仮想ユーザについては、第1の定時対戦が終了した後に開催された第2の定時対戦へ実ユーザの端末操作で参加した場合にのみ、第1の定時対戦への参加に対する報酬を付与する。これにより、実ユーザが、定時対戦へNPCとして参加し続けるのを防止し、実ユーザの端末操作で参加するよう誘導することができる。そして、定時対戦における実ユーザ同士の交流を活性化することができる。
【0155】
本実施形態では、通常参加ユーザについては、チーム貢献度の高いほど、報酬として多くのポイントを付与する例を示したが、NPC参加ユーザについては、通常参加ユーザのNPC参加ユーザとの連携度に基づいて報酬を付与してもよい。具体的に、特定のNPC参加ユーザに対して、定時対戦中に通常参加ユーザが働きかけた回数が多いほど、当該特定のNPC参加ユーザへ多くのポイントを付与する。例えば、NPC参加ユーザが敵ユーザへ攻撃した後、所定時間内に通常参加ユーザが当該敵ユーザを攻撃した場合には、NPC参加ユーザと通常参加ユーザとの連携が行われたことになる。NPC参加ユーザは、通常参加ユーザの動作しだいで、報酬が変わってくる。通常参加ユーザのおかげで多くのポイントを得られた場合に、NPC参加ユーザを操作する実ユーザには、当該通常参加ユーザが別の定時対戦でNPCとして参加した際に恩返しをしようという気持ちを生まれると考えられる。定時対戦でのチームワークを向上させ、実ユーザのゲームに対する意欲を維持させることができる。
【0156】
また、本発明では、他パート判定部(図示せず)が、仮想ユーザがNPCとして定時対戦に参加している最中に、バトルパート以外の他のゲームパートにおいて、当該仮想ユーザを操作する端末からの操作データを受信しているか否かを判定してもよい。すなわち、仮想ユーザをNPCとして定時対戦に参加させる参加予約をしておいた実ユーザが、当該定時対戦の開催中に、クエストパートやガチャパートを操作しているか否かを判定する。そして、他のゲームパートにおいて操作データを受信したと判定された場合には、ペナルティ設定部(図示せず)が、仮想ユーザに対してペナルティを設定する。例えば、ペナルティ設定部は、所定期間、仮想ユーザをNPCとして定時対戦へ参加させるのを禁止する。
【0157】
定時対戦へNPC参加予約をしておき、当該定時対戦中に他のゲームパートでプレイすると、実ユーザは、定時対戦と他のゲームパートの両方で報酬を得ることができることになる。定時対戦中に他のゲームパートでプレイするためにNPC参加予約が利用されるという状況を野放しにすると、定時対戦へ実ユーザからの端末操作で参加する仮想ユーザが減少するおそれがある。また、実ユーザの定時対戦に対する意欲が低下しかねない。そこで、定時対戦にNPCとして仮想ユーザを参加させておきながら、当該定時対戦中に他のゲームパートを操作している実ユーザにペナルティを設定することにより、このような操作を抑制することができる。特に、所定期間、仮想ユーザをNPCとして定時対戦へ参加させるのとを禁止することにより、仮想ユーザを端末操作で定時対戦へ参加させるよう誘導することができる。
【0158】
また、本発明は、上記の実施形態の機能を実現するソフトウェアのプログラムが記録された非一時的な記録媒体をシステム又は装置に提供し、当該システム又は装置のコンピュータ、すなわちCPU又はMPUに、当該非一時的な記録媒体に記録されたプログラムを読み出して実行させることによって実現してもよい。
【0159】
この場合、当該非一時的な記録媒体から読み出されたプログラムは、上述の実施形態の機能を実現する。したがって、当該プログラム及び当該プログラムが記録された非一時的な記録媒体も、本発明の一態様である。
【0160】
当該プログラムを提供する非一時的な記録媒体は、例えばフレキシブルディスク、ハードディスク、光磁気ディスク、CD−ROM、CD−R、CD−RW、DVD−ROM、DVD−RAM、DVD−RW、DVD+RWなどの光ディスク、磁気テープ、不揮発性メモリカード、及びROMを含む。或いは、当該プログラムは、通信ネットワークを介してダウンロード可能であってもよい。
【0161】
さらに、上記の実施形態の機能は、コンピュータが当該プログラムを読み出して実行するだけではなく、コンピュータ上で動作するOS(operating system)等に、当該プログラムの指示に基づき実際の操作の一部又はすべてを実行させることによって実現してもよい。
【0162】
さらに、上記の実施形態の機能は、非一時的な記録媒体から読み出されたプログラムを、コンピュータに挿入された拡張ボードに設けられたメモリ、又は、コンピュータに接続された拡張装置に設けられたメモリに書き込み、拡張ボード又は拡張装置に設けられたCPU等に、プログラムの指示に基づき実際の処理のすべて又は一部を実行させることによって実現されてもよい。
【0163】
典型的な実施形態を参照して本発明を説明したが、本発明は、ここに開示する典型的な態様に限定されないことはもちろんである。特許請求の範囲は、このような変更と、同等の構造及び機能とをすべてを含むように最も広く解釈することが可能である。
【課題】定時対戦に対する実ユーザの意欲を維持することが可能なゲームサーバ、ゲームサーバで提供するゲームの進行を制御するゲーム制御方法、ゲームプログラム、ゲームプログラムを記録したゲームプログラム記録媒体及びゲームシステムを提供する。
に示すように、予約受付部41と、対戦実現部42と、報酬付与部43と、予約設定部44と、を備える。対戦実現部42は、特定の時間帯に、仮想ユーザをチーム同士で対戦させる定時対戦を実現する手段である。対戦実現部42は、対戦管理部421と、ユーザ制御部422と、NPC制御部423と、画像出力部424と、を備える。