以下、図面を参照しつつ、本発明の様々な実施形態について説明する。ただし、本発明の技術的範囲はそれらの実施形態に限定されず、特許請求の範囲に記載された発明とその均等物に及ぶ点に留意されたい。
1.本実施形態の概略
本実施形態のゲームシステムでは、プレイヤは、サーバが提供するゲームを携帯端末を用いて実施する。本実施形態のゲームシステムでは、サーバは、webゲームを提供する。
webゲームでは、携帯端末は、ブラウザを介してサーバから受信した情報(マークアップ言語で記述された文書、及びスクリプト言語で記述されたプログラム等)に基づいて、各種ゲーム画面を表示する。また、サーバは、携帯端末からブラウザを介して送信された情報に基づいて、ゲームデータの更新及び携帯端末に対する情報送信等を行う。
サーバが提供するゲームには、メインゲーム及びメインゲームと異なる他のゲームであるサブゲームが含まれる。メインゲームは、例えば一人用のゲームであって、プレイヤがクエスト、ミッション等に挑戦し、種々のNPC(Non Player Character)とのバトルを繰り返し行うゲームである。クエスト、ミッションとは、複数のダンジョンのそれぞれに複数のフロア(ステージ)を有し、各フロアの処理を順次実行していくものである。各フロアの処理には、バトル、ゲーム媒体の取得等が含まれる。プレイヤは、サブゲームの実行中であっても、サブゲームと切り替えて又は同時に、メインゲームを実行可能である。
本実施形態では、プレイヤ同士による、各プレイヤが所有するキャラクタを使用したバトル(対戦)を実行するゲームをメインゲーム及びサブゲームの例として説明する。メインゲームでは通常バトルが実行される。通常バトルが実行されることにより、サブゲームへの参加を申し込む(エントリ)ために必要となるエントリポイントがプレイヤに付与され、エントリポイントが所定値以上となった場合に、プレイヤはサブゲームへ参加することが可能となる。サブゲームでは、イベントとしてプレイヤ同士によるバトルが実行される。以下では、サブゲームで実行されるバトルをイベントバトルと称する場合がある。イベントバトルが実行されることにより、イベントポイントがプレイヤに付与され、イベントポイントに応じて、メインゲームで使用可能なアイテム等の特典がプレイヤに付与される。
各バトルに用いられるキャラクタは、ゲーム媒体の一例である。ゲーム媒体とは、ゲームに使用される電子データであり、例えば、カード、アイテム、キャラクタ及びアバタ等を含む。また、ゲーム媒体は、ゲームの進行に応じ、プレイヤによって、ゲーム内で、取得、保有、使用、管理、交換、合成、強化、売却、廃棄、及び/又は贈与等され得る電子データであるが、ゲーム媒体の利用態様は本明細書で明示されるものには限られない。
本実施形態では、予めゲームシステムに登録されたカードをゲーム媒体の例として説明する。バトルに使用されるプレイヤのキャラクタ又は敵キャラクタのカードは、バトル用パラメータを有している。バトル用パラメータは、例えば、攻撃力、防御力、体力(又はHP(ヒットポイント))、属性(例えば、火、水、雷等)、レア度(例えば、ノーマル、レア、S(スーパー)レア、SS(ダブルスーパー)レア、SSS(トリプルスーパー)レア、レジェンド等)、スキル(特殊効果)の発動率、攻撃速度(一ターンにおける攻撃回数、攻撃するまでのターン数等)、一対戦における防御回数等のパラメータ及び/又はジョブ(例えば、職業、兵種等)である。
なお、メインゲームは、プレイヤ同士によるバトルに限定されず、複数のプレイヤが協力して敵キャラクタ(いわゆるノンプレイヤキャラクタ)と戦ういわゆるRAIDバトル、又は、ゲームのシナリオに従って進行するクエスト等でもよい。
サブゲームでは、予め定められた期間の前にイベントバトルへのエントリを要求した各プレイヤの対戦組合せが決定され、その期間の経過後にイベントバトルが実行される。また、サブゲームでは、その期間に、イベントバトル開始時刻までの残り時間が、決定した対戦組合せに係る各プレイヤに通知される。
このように、エントリを要求したプレイヤについてのみ対戦組合せを定めることにより、イベントバトルが成立する割合を向上させることを図る。また、対戦組合せの決定後、一定期間が経過してからイベントバトルを実行することにより、プレイヤがイベントバトルに対する準備を行う期間の確保を図る。また、各プレイヤがどのタイミングでエントリを要求したかに関わらず、対戦組合せの決定及び各イベントバトルを予め定められた期間に実行することにより、プレイヤ間に不公平が発生することを防ぐことを図る。また、対戦組合せが決定される期間からイベントバトルの実行期間までの一定期間に、イベントバトル開始時刻までの残り時間が各プレイヤに通知されることにより、イベントバトルへの参加率の低下を抑制し、イベントバトルが成立する割合を向上させることを図る。
2.ゲームシステム1の構成
図1は、ゲームシステム1の概略構成の一例を示す図である。
ゲームシステム1は、少なくとも一台の携帯端末2と、サーバ3とを備える。携帯端末2とサーバ3は、例えば、基地局4、移動体通信網5、ゲートウェイ6、及びインターネット7等の通信ネットワークを介して相互に接続される。携帯端末2で実行されるプログラム(例えば、閲覧プログラム)と、サーバ3で実行されるプログラム(例えば、ゲームプログラム)とは、ハイパーテキスト転送プロトコル(Hypertext Transfer Protocol, HTTP)等の通信プロトコルを用いて通信を行う。
なお、携帯端末2としては多機能携帯電話(所謂「スマートフォン」)を想定するが、本発明はこれに限定されない。携帯端末2は、本発明が適用可能であればよく、例えば、携帯電話(所謂「フィーチャーフォン」)、携帯情報端末(Personal Digital Assistant, PDA)、携帯ゲーム機、携帯音楽プレイヤ、タブレット端末、タブレットPC、ノートPC等でもよい。
2.1.携帯端末2の構成
図2は、携帯端末2の概略構成の一例を示す図である。
携帯端末2は、端末通信部21と、端末記憶部22と、操作部23と、表示部24と、端末処理部25とを備える。携帯端末2は、プレイヤによる操作部23(タッチパネル及びボタン等)の操作に応じて、ゲームの進行をサーバ3に要求する。また、携帯端末2は、サーバ3からゲームの進行に係る表示データを受信して表示する。
端末通信部21は、所定の周波数帯を感受帯域とするアンテナを含む、通信インターフェース回路を備え、携帯端末2を無線通信ネットワークに接続する。端末通信部21は、基地局4により割り当てられるチャネルを介して、基地局4との間でCDMA(Code Division Multiple Access)方式等による無線信号回線を確立し、基地局4との間で通信を行う。そして、端末通信部21は、端末処理部25から供給されたデータをサーバ3等に送信する。また、端末通信部21は、サーバ3等から受信したデータを端末処理部25に供給する。なお、端末通信部21は、不図示のWifi(Wireless Fidelity)のアクセスポイントとの間でIEEE802.11規格の無線通信方式による無線通信を行うものでもよい。
端末記憶部22は、例えば、半導体メモリ装置を備える。端末記憶部22は、端末処理部25での処理に用いられるオペレーティングシステムプログラム、ドライバプログラム、アプリケーションプログラム、データ等を記憶する。例えば、端末記憶部22は、ドライバプログラムとして、操作部23を制御する入力デバイスドライバプログラム、表示部24を制御する出力デバイスドライバプログラム等を記憶する。また、端末記憶部22は、アプリケーションプログラムとして、ゲームの進行に係る表示データの取得及び表示を行うプログラム等を記憶する。コンピュータプログラムは、例えばCD−ROM(compact disk read only memory)、DVD−ROM(digital versatile disk read only memory)等のコンピュータ読み取り可能な可搬型記録媒体から、公知のセットアッププログラム等を用いて端末記憶部22にインストールされてもよい。また、コンピュータプログラムは、特定のサーバ装置等から無線通信を介して端末記憶部22にインストールされてもよい。また、端末記憶部22は、データとして、携帯端末2のユーザの識別情報であるプレイヤID、ゲームの進行に係る表示データ、映像データ、画像データ等を記憶する。さらに、端末記憶部22は、所定の処理に係る一時的なデータを一時的に記憶してもよい。
操作部23は、携帯端末2の操作が可能であればどのようなデバイスでもよく、例えば、タッチパネル、キーボタン等である。プレイヤは、操作部23を用いて、文字、数字、記号等を入力することができる。操作部23は、プレイヤにより操作されると、その操作に対応する信号を生成する。そして、生成された信号は、プレイヤの指示として、端末処理部25に供給される。
表示部24も、映像や画像等の表示が可能であればどのようなデバイスでもよく、例えば、液晶ディスプレイや有機EL(Electro−Luminescence)ディスプレイ等である。表示部24は、端末処理部25から供給された映像データに応じた映像や、画像データに応じた画像等を表示する。
端末処理部25は、一又は複数個のプロセッサ及びその周辺回路を備える。端末処理部25は、例えばCPU(Central Processing Unit)であり、携帯端末2の全体的な動作を統括的に制御する。端末処理部25は、端末記憶部22に記憶されているプログラム、操作部23の操作等に基づいて携帯端末2の各種処理が適切な手順で実行されるように、端末通信部21、表示部24等の動作を制御する。端末処理部25は、端末記憶部22に記憶されているプログラム(オペレーティングシステムプログラム、ドライバプログラム、アプリケーションプログラム等)に基づいて処理を実行する。また、端末処理部25は、複数のプログラム(アプリケーションプログラム等)を並列に実行することができる。
2.1.1.端末処理部25の機能
図3は、ゲームシステム1が提供するゲームについて説明するための模式図である。
図3に示すように、ゲームシステム1によるサブゲームでは、予め定められた時刻毎にイベントバトルA〜Cが行われる。ゲームシステム1では、各イベントバトル毎に、各プレイヤからの各イベントバトルへの参加申し込み(エントリ)の受付を開始するエントリ開始時刻301、エントリの受付を終了するエントリ終了時刻302、エントリした各プレイヤの対戦組合せの決定(マッチング)処理を完了するマッチング完了時刻303、決定した各対戦組合せに係るイベントバトルを開始するイベントバトル開始時刻304、各イベントバトルを終了するイベントバトル終了時刻305が予め定められる。
また、エントリ開始時刻301からエントリ終了時刻302までの間は、各イベントバトルへの参加の申し込みを受け付けるエントリ期間311として定められる。一方、エントリ終了時刻302からマッチング完了時刻303までの間は、マッチング処理を行うマッチング期間312として定められる。一方、マッチング完了時刻303からイベントバトル開始時刻304までの間は、決定した対戦組合せに係る各プレイヤにイベントバトル開始時刻までの残り時間を通知する通知期間313として定められる。一方、イベントバトル開始時刻304からイベントバトル終了時刻305までの間は、イベントバトルが実施される実施期間314として定められる。
イベントバトルAのエントリ期間が終了すると、次のイベントバトルBのエントリ期間が開始し、イベントバトルAのエントリ期間にエントリが間に合わなかったプレイヤは、イベントバトルBにエントリすることができる。また、イベントバトルAの実施期間が終了すると、次のイベントバトルBの実施期間が開始する。このように、サブゲームでは、何れかのイベントバトルが常に実施される。
サブゲームでは、イベントバトルへの参加要求を受け付けたプレイヤについてのみ対戦組合せを決定するので、イベントバトルが成立する割合を向上させることが可能となる。また、対戦組合せの決定後、一定期間が経過してからイベントバトルが実行されるため、プレイヤによるイベントバトルに対する準備期間が確保される。また、各プレイヤがエントリ期間内のどのタイミングでエントリを行ったかに関わらず、対戦組合せの決定及び各イベントバトルは予め定められた期間に実行されるため、プレイヤ間の不公平の発生を防止することができる。
また、通知期間313において、即ち、マッチング完了時刻以降に、イベントバトル開始時刻までの残り時間が各プレイヤに通知されるので、各プレイヤが、バトルへエントリしてからバトルが開始されるまでの間にバトルへエントリしたことを忘れたり、バトルへの興味を失ったり、バトルが開始していることに気付かなかったりすることを防止できる。したがって、イベントバトルへの参加率の低下を抑制し、イベントバトルが成立する割合を向上させることが可能となる。
図4(a)〜(c)、図5(a)〜(b)は、表示部24に表示されるホーム画面の一例を示す図である。以下に示す各ホーム画面は、メインゲームのプレイ中に表示される画面である。
図4(a)に示すホーム画面400は、ゲーム開始時等、プレイヤがイベントバトルに参加するための条件を満たしていない場合に表示される通常のホーム画面である。以下で説明する各画面は、サーバ3から受信された表示データに基づいて表示される。
ホーム画面400には、イベントポイント401、ランキング402、エントリに関する状態403、エントリ可能回数404、エントリポイントゲージ405、バトルボタン406等が表示される。
イベントポイント401は、過去の全てのイベントバトルにおいてプレイヤに付与されたイベントポイントの累積値である。ランキング402は、イベントポイント401が高い順に全プレイヤを並べたときのプレイヤの順位である。状態403は、プレイヤがイベントバトルにまだエントリできない状態であるか、エントリできる状態であるか、エントリ済みの状態であるかを示す。エントリ可能回数404は、プレイヤがイベントバトルにエントリできる残り回数を示す。プレイヤが所定期間にイベントバトルにエントリできる回数は所定回数(例えば1日に10回)に制限される。エントリポイントゲージ405は、プレイヤがメインゲームで取得しているエントリポイントの現在値を帯状のグラフで表示し、エントリポイントゲージ405中のエントリポイントが100%になると、プレイヤはイベントバトルにエントリできる状態になる。また、エントリポイントゲージ405の下方には、エントリポイントの現在値/最大値が数字で表示される。バトルボタン406は、通常バトルを実行するためのボタンであり、バトルボタン406が押下されると、通常バトルが実行される。
ホーム画面400では、エントリポイントゲージ405中のエントリポイントは100%になっておらず、状態403は、プレイヤがイベントバトルにまだエントリできない状態であることを示している。
図4(b)に示すホーム画面410は、プレイヤがイベントバトルに参加するための条件を満たしている場合に表示されるエントリ用のホーム画面である。
ホーム画面410では、エントリポイントゲージ405中のエントリポイントが100%になり、状態413は、プレイヤがイベントバトルにエントリ可能な状態であることを示している。また、ホーム画面410には、ホーム画面400に示される各情報及びボタンに加えて、エントリボタン417が表示される。エントリボタン417はイベントバトルへの参加要求を受け付けるためのボタンであり、エントリボタン417が押下されると、プレイヤはイベントバトルにエントリされる。
図4(c)に示すホーム画面420は、プレイヤがイベントバトルにエントリ済みである場合に表示されるエントリ済み時のホーム画面である。
ホーム画面420では、エントリポイントゲージ405中のエントリポイントが100%になり、状態423は、プレイヤがイベントバトルにエントリ済みであることを示している。また、ホーム画面410には、ホーム画面410に示されるエントリボタン417が表示されない。また、ホーム画面410には、エントリ可能回数404に代えて、対戦相手が決定されるまで、即ちマッチング完了時刻までの残り時間424が表示され、エントリを受け付けたプレイヤに通知される。
マッチング完了時刻までの残り時間が表示されることにより、プレイヤがイベントバトルにエントリしたことを忘れてしまうことを防止するとともに、プレイヤのイベントバトルへの興味を維持させることが可能となる。
図5(a)に示すホーム画面500は、マッチングが完了した場合に表示されるイベント通知用のホーム画面である。
ホーム画面500には、ホーム画面400に示されるイベントポイント401、ランキング402、バトルボタン406に加えて、イベントバトルに関する状態508、プレイヤ及び対戦相手プレイヤに関する情報509等が表示される。
状態508は、イベントバトルがまだ開始していない状態であるか、既に開始している状態であるかを示す。状態508には、イベントバトルがまだ開始していない状態である場合はイベントバトル開始時刻までの残り時間が更に表示され、イベントバトルが既に開始している状態である場合はイベントバトル終了時刻までの残り時間が更に表示され、それぞれ、決定した対戦組合せに係るプレイヤに通知される。ホーム画面500では、イベントバトルがまだ開始しておらず、状態508は、イベントバトルがまだ開始していない状態であることと、イベントバトル開始時刻までの残り時間とを示している。情報509は、各プレイヤのプレイヤ名、画像、イベントにおける勝敗数等を含む。なお、ホーム画面500においてバトルボタン406が押下されると、通常バトルが実行される。
イベントバトル開始時刻までの残り時間が表示されることにより、プレイヤが気付かないままイベントバトルが開始されることを防止するとともに、プレイヤのイベントバトルへの興味を維持させることが可能となる。また、対戦相手プレイヤに関する情報が表示されることにより、プレイヤは、イベントバトルが開始されるまでに、対戦相手プレイヤが使用するキャラクタを推測してそのキャラクタに対して有利な属性を有するキャラクタを自分が使用するキャラクタとして選択しておくことができる。また、プレイヤは、対戦相手プレイヤのキャラクタに勝利できないことが推測される場合は、勝利できるキャラクタ又はアイテムを購入する等の戦略を練ることもできる。
図5(b)に示すホーム画面510は、イベントバトルが開始している場合に表示されるイベントバトル実施中のホーム画面である。
ホーム画面510では、イベントバトルが既に開始しており、状態508は、イベントバトルが既に開始している状態であることと、イベントバトル終了時刻までの残り時間とを示している。なお、ホーム画面510においてバトルボタン516が押下されると、通常バトルではなく、イベントバトルが実行される。
図6(a)は、表示部24に表示されるバトル画面の一例を示す図である。
図6(a)に示すバトル画面600は、図4(a)〜(c)、図5(a)〜(b)に示したホーム画面400〜510でバトルボタン406、516が押下されたときに表示される。なお、バトル画面600は、通常バトル及びイベントバトルの何れにおいても共通に表示される。
バトル画面600には、プレイヤ及び対戦相手プレイヤに関する情報601、対戦ボタン602等が表示される。通常バトルの場合、対戦相手プレイヤはサーバ3によって自動的に選択される。なお、通常バトルの場合、対戦相手プレイヤは、サーバ3によって自動的に選択された複数のプレイヤの中からプレイヤによって選択されてもよい。一方、イベントバトルの場合、マッチング処理によって決定された相手が対戦相手プレイヤとなる。情報601は、各プレイヤのプレイヤ名、使用するキャラクタのカードの画像、HP等を含む。対戦ボタン602が押下されると、バトルが開始される。
バトルでは、プレイヤからの操作に従って、プレイヤのキャラクタの攻撃力に基づいて対戦相手プレイヤのキャラクタに与えるダメージ量が決定され、決定されたダメージ量が対戦相手プレイヤのキャラクタのHPから減算される。一方、対戦相手プレイヤからの操作に従って、対戦相手プレイヤのキャラクタの攻撃力に基づいてプレイヤのキャラクタに与えるダメージ量が決定され、決定されたダメージ量がプレイヤのキャラクタのHPから減算される。そして、対戦相手プレイヤのキャラクタのHPが先に0になった場合、プレイヤの勝利となり、プレイヤのキャラクタのHPが先に0になった場合、プレイヤの敗北となる。なお、プレイヤは、例えば通常攻撃、特殊攻撃、防御等の行動の中から特定の行動を選択することができ、選択した行動によって対戦相手プレイヤに与えるダメージ量、又は対戦相手プレイヤから受けるダメージ量が変化する。
図6(b)〜(d)、図7(a)〜(c)は、表示部24に表示されるバトル結果画面の一例を示す図である。各バトル結果画面は、図6(a)に示すバトル画面600において対戦ボタン602が押下された場合に、プレイヤのキャラクタと対戦相手プレイヤのキャラクタ又はNPCのHPの変化を表すバトルの演出画像がアニメーション等により表示された後に表示される。
図6(b)に示すバトル結果画面610は、プレイヤがイベントバトルに参加するための条件を満たしていない場合に表示される通常のバトル結果画面である。
バトル結果画面610には、プレイヤ及び対戦相手プレイヤに関する情報611、結果612、次バトルボタン613、エントリに関する状態614、戻るボタン615等が表示される。情報601は、各プレイヤのプレイヤ名、使用するキャラクタのカードの画像、HP等を含む。結果612として、勝利又は敗北が表示される。次バトルボタン613は通常バトルを再実行するためのボタンであり、次バトルボタン613が押下されると、再度、バトル画面600が表示される。状態614は、プレイヤがイベントバトルにまだエントリできない状態であるか、エントリできる状態であるか、エントリ済みの状態であるかを示す。状態614には、プレイヤがイベントバトルにまだエントリできない状態である場合はエントリするために必要な残りエントリポイントが更に表示され、イベントバトルにエントリ済みの状態である場合はイベント開始時刻までの残り時間が更に表示される。戻るボタン615が押下されると、再度、ホーム画面が表示される。
図6(b)に示すバトル結果画面610では、状態614は、プレイヤがイベントバトルにまだエントリできない状態であることと、イベントバトルにエントリするために必要な残りエントリポイントとを示している。
図6(c)に示すバトル結果画面620は、プレイヤがイベントバトルに参加するための条件を満たしている場合に表示されるエントリ用のバトル結果画面である。
エントリに関する状態624は、プレイヤがイベントバトルにエントリできる状態であることを示している。また、バトル結果画面620では、次バトルボタン613は表示されず、エントリボタン623が表示される。エントリボタン623はイベントバトルへの参加要求を受け付けるためのボタンであり、エントリボタン623が押下されると、プレイヤはイベントバトルにエントリされる。
通常バトルのバトル結果画面に、エントリできること及びエントリボタン623が表示されることにより、プレイヤは、通常バトルでエントリの条件を満たすとすぐにそのことを認識してイベントバトルにエントリできるので、イベントバトルへの参加率を向上させることが可能となる。
図6(d)に示すバトル結果画面630は、図6(c)に示すバトル結果画面620が表示されている状態でエントリボタン623が指定されなかった場合に、以後の通常バトルが終了したときに表示される、エントリ拒否後のバトル結果画面である。
バトル結果画面630では、エントリに関する状態634は、プレイヤがイベントバトルにエントリできる状態であることを示しているが、プレイヤがイベントバトルに参加するための条件を満たしているか否かに関わらず、エントリボタン623は表示されず、次バトルボタン613が表示される。過去にエントリボタン623が表示されたにも関わらず押下されなかった場合、プレイヤはイベントバトルにエントリする意志がない可能性が高い。したがって、その場合、以後はエントリボタン623を表示しないことによりプレイヤの利便性を向上させることができる。
図7(a)に示すバトル結果画面700は、プレイヤがイベントバトルにエントリ済みである場合に表示されるエントリ済み時のバトル結果画面である。
バトル結果画面700では、エントリに関する状態704は、プレイヤがイベントバトルにエントリ済みの状態であることと、マッチング完了時刻までの残り時間とを示している。
通常バトルのバトル結果画面に、マッチング完了時刻までの残り時間が表示されることにより、プレイヤが、通常バトルに没頭して、イベントバトルにエントリしたことを忘れることを防止できる。
図7(b)に示すバトル結果画面710は、マッチングが完了した場合に表示されるイベント通知用のバトル結果画面である。
バトル結果画面710では、エントリに関する状態の代わりに、イベントバトルに関する状態714が表示される。状態714は、イベントバトルがまだ開始していない状態であるか、既に開始している状態であるかを示す。状態714には、イベントバトルがまだ開始していない状態である場合はイベント開始時刻までの残り時間が更に表示され、イベントバトルが既に開始している状態である場合はイベントバトル終了時刻までの残り時間が更に表示される。バトル結果画面710では、イベントバトルがまだ開始しておらず、状態714は、イベントバトルがまだ開始していない状態であることと、イベントバトル開始時刻までの残り時間とを示している。なお、バトル結果画面710において次バトルボタン713が押下されると、通常バトルが実行される。
通常バトルのバトル結果画面に、イベントバトル開始時刻までの残り時間が表示されることにより、プレイヤが、通常バトルに没頭して気付かないままイベントバトルが開始されることを防止できる。
図7(c)に示すバトル結果画面720は、イベントバトルが開始している場合に表示されるイベントバトル実施中のバトル結果画面である。
バトル結果画面720では、イベントバトルが既に開始しており、状態724は、イベントバトルが既に開始している状態であることと、イベントバトル終了時刻までの残り時間とを示している。なお、バトル結果画面720において次バトルボタン713が押下されると、通常バトルではなく、イベントバトルが実行される。
2.1.2.端末処理部25の構成
端末処理部25は、少なくとも閲覧実行部251を備える。閲覧実行部251は、端末処理部25が備えるプロセッサで実行されるプログラムにより実現される機能モジュールである。あるいは、閲覧実行部251は、ファームウェアとして携帯端末2に実装されてもよい。
閲覧実行部251は、ゲームの進行に係る表示データの取得及び表示を行う。即ち、閲覧実行部251は、プレイヤからの指示に応じて、ゲームの進行に係る表示データの取得要求を端末通信部21を介してサーバ3に送信する。また、閲覧実行部251は、対応する表示データを端末通信部21を介してサーバ3から受信する。閲覧実行部251は、受信した表示データに基づいて描画データを作成する。即ち、閲覧実行部251は、受信した表示データを解析して制御データ及び内容データを特定し、特定した制御データに基づいて同じく特定した内容データをレイアウトし、描画データを作成する。そして、閲覧実行部251は、作成した描画データを表示部24に出力する。また、閲覧実行部251は、サーバ3との通信接続が確立されている間、表示データに含まれる各情報を端末記憶部22に記憶する。
2.2.サーバ3の構成
図8は、サーバ3の概略構成の一例を示す図である。また、図9(a)〜(c)は、サーバ記憶部32が記憶する各種テーブルのデータ構造の一例を示す図である。
サーバ3は、サーバ通信部31と、サーバ記憶部32と、サーバ処理部33とを備える。サーバ3は、携帯端末2からの要求に応じてゲームを進行させる。また、サーバ3は、ゲームの進行に係る表示データを作成して携帯端末2に送信する。
サーバ通信部31は、出力部の一例であり、サーバ3をインターネット7に接続するための通信インターフェース回路を備え、インターネット7との間で通信を行う。そして、サーバ通信部31は、携帯端末2等から受信したデータをサーバ処理部33に供給する。また、サーバ通信部31は、サーバ処理部33から供給されたデータを携帯端末2等に送信する。
サーバ記憶部32は、例えば、磁気テープ装置、磁気ディスク装置、又は光ディスク装置のうちの少なくとも一つを備える。サーバ記憶部32は、サーバ処理部33での処理に用いられるオペレーティングシステムプログラム、ドライバプログラム、アプリケーションプログラム、データ等を記憶する。例えば、サーバ記憶部32は、アプリケーションプログラムとして、ゲームを進行させ、その結果に係る表示データを作成するゲームプログラム等を記憶する。コンピュータプログラムは、例えばCD−ROM、DVD−ROM等のコンピュータ読み取り可能な可搬型記録媒体から、公知のセットアッププログラム等を用いて端末記憶部22にインストールされてもよい。
また、サーバ記憶部32は、データとして、図9(a)に示すプレイヤテーブル、図9(b)に示すイベントテーブル、図9(c)に示すカードテーブル、各プレイヤの画像データ、ゲームの進行に係る様々な画像データ等を記憶する。さらに、サーバ記憶部32は、所定の処理に係る一時的なデータを一時的に記憶してもよい。
図9(a)は、プレイヤを管理するプレイヤテーブルを示す。プレイヤテーブルには、各プレイヤについて、当該プレイヤの識別番号(プレイヤID)、パスワード、名前、画像データのファイル名、所有カード情報、バトルに使用される所有カードの識別番号(使用ID)、バトルポイント、エントリポイント、エントリ可能回数、エントリ情報、イベント結果情報及び関連プレイヤのプレイヤID等の情報が関連付けて記憶される。
所有カード情報には、プレイヤが所有する、ゲームで使用されるカード毎に、所有するキャラクタのカードを管理するための識別番号(所有ID)、当該カードの識別番号(カードID)、経験値の現在値及びレベル等が関連付けて記憶される。使用IDは、所有カード情報に含まれるカードの内、バトルに使用されるカードの所有IDである。バトルポイントは、過去の通常バトルにおいて各プレイヤに付与されたポイントの累積値である。バトルポイントは、通常バトルの結果(勝利又は敗北、並びにプレイヤ及び対戦相手プレイヤのレベル等)に応じて各プレイヤに付与される。エントリポイントは、通常バトルにおいて、付与されたポイントが所定値以上であること、又は所定レベル以上のプレイヤに勝利すること等の特定の条件を満たした場合に付与されるポイントの累積値である。なお、メインゲームがレイドボスバトルである場合、特定の条件は例えばボスキャラクタに勝利することであり、メインゲームがクエストである場合、特定の条件は例えば特定のアイテムを取得することである。
エントリ情報には、実施される各イベントバトルについて、イベントバトルを管理するための識別番号(イベントID)、エントリ状態、拒否フラグ、対戦相手プレイヤの識別番号(相手ID)等が関連付けて記憶される。エントリ状態は、当該イベントバトルにエントリしているか否かを示す。拒否フラグは、過去にバトル結果画面620においてエントリボタン623が指定されず戻るボタン615が指定されたか否か、即ち拒否済みか未拒否かを示し、初期値は未拒否を示す。
イベント結果情報には、イベントポイント、勝敗数、連勝数等が関連付けて記憶される。イベントポイントは、過去の全てのイベントバトルにおいて各プレイヤに付与されたポイントの累積値である。勝敗数は、過去の全てのイベントバトルにおいてプレイヤが勝利した回数の累積値と、敗北した累積値である。連勝数は、過去の全てのイベントバトルにおいてプレイヤが連勝した最高回数である。
関連プレイヤは、そのプレイヤに関連する他のプレイヤである。関連プレイヤは、例えばそのプレイヤと同一の所属グループに所属する他のプレイヤ、そのプレイヤとフレンド関係にある他のプレイヤ、過去の敵キャラクタとのバトルにおいてそのプレイヤを救援した他のプレイヤ、過去に対戦した他のプレイヤ及び/又は過去に対戦したグループに所属する他のプレイヤ等である。
図9(b)は、イベントバトルを管理するイベントテーブルを示す。イベントテーブルには、各イベントバトルについて、当該イベントバトルのイベントID、エントリ開始時刻、エントリ終了時刻、マッチング完了時刻、イベントバトル開始時刻、イベントバトル終了時刻等が関連付けて記憶される。各イベントバトルにおいて、エントリ終了時刻はエントリ開始時刻より後の時刻であり、マッチング完了時刻はエントリ終了時刻より後の時刻であり、イベントバトル開始時刻はマッチング完了時刻より後の時刻であり、イベントバトル終了時刻はイベントバトル開始時刻より後の時刻である。
図9(c)は、キャラクタのカードを管理するカードテーブルを示す。カードテーブルには、各カードについて、当該カードのカードID、名前、画像データのファイル名、レア度、HP、攻撃力、防御力、属性等が関連付けて記憶される。
2.2.1.サーバ処理部33の構成
サーバ処理部33は、進行制御部331と、表示データ出力部332と、通常バトル実行部333と、イベントバトル実行部334と、参加要求受付部335と、組合せ決定部336と、を備える。これらの各部は、サーバ処理部33が備えるプロセッサで実行されるプログラムにより実現される機能モジュールである。あるいは、これらの各部は、ファームウェアとしてサーバ3に実装されてもよい。
進行制御部331は、ゲームの開始及び進行を制御し、表示データ出力部332、通常バトル実行部333、イベントバトル実行部334及び参加要求受付部335に処理の実行を適宜指示する。進行制御部331は、サーバ通信部31を介して、携帯端末2との間で必要なデータをやり取りする。
図4(a)〜図7(c)を用いて説明した各画面の要求を携帯端末2から受信すると、進行制御部331は、プレイヤからの指示を受け付けるためのボタン、プレイヤに通知する文字情報、画像等をその画面に応じたレイアウトで表示させるための表示データの作成を各部に指示し、そのデータを携帯端末2に送信する。そして携帯端末2に表示させた画面上で何れかのボタンが押下され、そのボタンに対応する次の画面の要求を携帯端末2から受信すると、進行制御部331は、同様に次の画面の表示データの作成を各部に指示し、そのデータを携帯端末2に送信する。
特に、プレイヤにより携帯端末2を用いてゲームを開始する操作、又は、ホーム画面へ遷移する操作が行われ、それに対応するホーム画面要求を携帯端末2から受信した場合、進行制御部331は、表示データ出力部332にホーム画面の作成を指示する。そして、進行制御部331は、表示データ出力部332が作成した、ホーム画面を表示するためのホーム画面表示データを携帯端末2に送信する。
また、携帯端末2に表示されたホーム画面400でバトルボタン406が押下され、それに対応するバトル要求を携帯端末2から受信した場合、進行制御部331は、イベントバトルが実施されていないとき又はプレイヤがイベントバトルに参加していないときは、通常バトル実行部333に通常バトルの実行を指示する。一方、進行制御部331は、イベントバトルが実施されており且つプレイヤがイベントバトルに参加しているときは、イベントバトル実行部334にイベントバトルの実行を指示する。そして、進行制御部331は、通常バトル実行部333又はイベントバトル実行部334が作成した、バトル画面600を表示するためのバトル画面表示データを携帯端末2に送信する。
また、携帯端末2に表示されたバトル画面600で対戦ボタン602が押下され、それに対応するバトル開始要求を携帯端末2から受信した場合、進行制御部331は、イベントバトルが実施されていないとき又はプレイヤがイベントバトルに参加していないときは、通常バトル実行部333に通常バトルの開始を指示する。一方、進行制御部331は、イベントバトルが実施されており且つプレイヤがイベントバトルに参加しているときは、イベントバトル実行部334にイベントバトルの開始を指示する。そして、進行制御部331は、通常バトル実行部333又はイベントバトル実行部334が作成した、バトルの演出画像を表示するための表示データ及びバトルの結果を表示するためのバトル結果画面表示データを携帯端末2に送信する。
また、携帯端末2に表示されたホーム画面410のエントリボタン417又はバトル結果画面620のエントリボタン623が押下され、それに対応するエントリ要求を携帯端末2から受信した場合、進行制御部331は、参加要求受付部335にエントリの受付を指示する。そして、進行制御部331は、表示データ出力部332にホーム画面の作成を指示し、表示データ出力部332が作成したホーム画面表示データを携帯端末2に送信する。
表示データ出力部332は、進行制御部331からホーム画面の作成が指示された場合、イベントテーブルから現在エントリ期間中のイベントバトル、現在マッチング期間中のイベントバトル、現在通知期間中のイベントバトル、及び現在実施期間中のイベントバトルを抽出する。また、表示データ出力部332は、ホーム画面要求に含まれるプレイヤIDを特定し、プレイヤテーブルにおいて、特定したプレイヤIDに対応するプレイヤに関連付けられた、抽出した各イベントバトルに対するエントリ状態を抽出する。
表示データ出力部332は、プレイヤが現在実施期間中のイベントバトルにエントリしている場合、プレイヤテーブルから相手ID、プレイヤ及び対戦相手プレイヤのイベント結果情報等を読み出し、図5(b)に示したイベントバトル実施中のホーム画面510を表示するための表示データを作成する。即ち、表示データ出力部332は、プレイヤがエントリしているイベントバトルのイベントバトル開始時刻以降且つイベントバトル終了時刻より前に、イベントバトル実施中のホーム画面510を表示するための表示データを作成する。
一方、表示データ出力部332は、プレイヤが現在通知期間中のイベントバトルにエントリしている場合、プレイヤテーブルから相手ID、プレイヤ及び対戦相手プレイヤのイベント結果情報等を読み出し、図5(a)に示したイベント通知用のホーム画面500を表示するための表示データを作成する。即ち、表示データ出力部332は、プレイヤがエントリしているイベントバトルのマッチング完了時刻以降且つイベントバトル開始時刻より前に、通知用のホーム画面500を表示するための表示データを作成する。通知用のホーム画面500は、各プレイヤがイベントバトルにエントリしたタイミング、各プレイヤのマッチングが決定したタイミングに関わらず、各プレイヤに共通のマッチング完了時刻から表示されるため、プレイヤ間に不公平が発生することが防止される。
一方、表示データ出力部332は、プレイヤが現在エントリ期間中又はマッチング期間中のイベントバトルにエントリしている場合、プレイヤテーブルからプレイヤのイベント結果情報等を読み出し、図4(c)に示したエントリ済み時のホーム画面420を表示するための表示データを作成する。即ち、表示データ出力部332は、プレイヤがエントリしているイベントバトルのエントリ終了時刻以降且つマッチング完了時刻より前に、エントリ済み時のホーム画面420を表示するための表示データを作成する。
一方、上記の何れにも該当しない場合、表示データ出力部332は、プレイヤテーブルからプレイヤのエントリポイント及びエントリ可能回数を読み出し、プレイヤが現在エントリ期間中のイベントバトルにエントリ可能であるか否かを判定する。表示データ出力部332は、エントリポイントが所定ポイント以上であり且つエントリ可能回数が所定数(例えば0)より大きい場合、エントリ可能であると判定し、エントリポイントが所定ポイント未満である場合、又はエントリ可能回数が所定数以下である場合、エントリ可能でないと判定する。表示データ出力部332は、プレイヤが現在エントリ期間中のイベントバトルにエントリ可能である場合、プレイヤテーブルからプレイヤのイベント結果情報等を読み出し、図4(b)に示したエントリ用のホーム画面410を表示するための表示データを作成する。
一方、表示データ出力部332は、プレイヤが現在エントリ期間中のイベントバトルにエントリ可能でない場合、プレイヤテーブルからプレイヤのイベント結果情報等を読み出し、図4(a)に示した通常のホーム画面400を表示するための表示データを作成する。
表示データ出力部332は、作成した表示データを進行制御部331に渡す。また、図6(c)に示したバトル結果画面620において戻るボタン615が押下された場合のホーム画面要求には、エントリが拒否された旨が含まれる。ホーム画面要求にエントリが拒否された旨が含まれる場合、表示データ出力部332は、プレイヤテーブルにおいてプレイヤに関連付けられた拒否フラグを拒否済みに更新する。
通常バトル実行部333は、進行制御部331から通常バトルの実行が指示された場合、通常バトルの対戦相手を決定する。通常バトル実行部333は、例えばサーバ3の現在のクロックカウンタ値等を種として発生させた擬似乱数を用いて、ランダムに通常バトルの対戦相手を決定する。通常バトル実行部333は、バトル開始要求に含まれるプレイヤIDを特定し、プレイヤテーブル及びカードテーブルから、特定したプレイヤ及び対戦相手プレイヤのバトルに使用するキャラクタのカードに係る各情報を抽出し、図6(a)に示したバトル画面600を表示するための表示データを作成する。通常バトル実行部333は、作成したバトル画面600を進行制御部331に渡す。
また、通常バトル実行部333は、進行制御部331から通常バトルの開始が指示された場合、通常バトルを開始する。通常バトル実行部333は、プレイヤテーブル及びカードテーブルから、プレイヤ及び対戦相手プレイヤのバトルに使用するキャラクタのカードに係る各情報を抽出する。通常バトル実行部333は、プレイヤからの操作に従って、バトルに使用されるプレイヤのキャラクタの攻撃力に基づいて対戦相手プレイヤのキャラクタに与えるダメージ量を決定し、決定したダメージ量を対戦相手プレイヤのキャラクタのHPから減算する。一方、通常バトル実行部333は、対戦相手プレイヤからの操作に従って、対戦相手プレイヤのキャラクタの攻撃力に基づいてプレイヤのキャラクタに与えるダメージ量を決定し、決定したダメージ量をプレイヤのキャラクタのHPから減算する。そして、通常バトル実行部333は、対戦相手プレイヤのキャラクタの生命力が先に0になった場合、プレイヤが勝利したと判定し、プレイヤのキャラクタの生命力が先に0になった場合、プレイヤが敗北したと判定する。通常バトル実行部333は、バトルの結果に応じて、プレイヤに関連付けられたバトルポイントに特定のポイントを追加することにより、プレイヤにバトルポイントを付与する。さらに、通常バトル実行部333は、バトルにおいて所定の条件が満たされた場合、プレイヤに関連付けられたエントリポイントに特定のポイントを追加することにより、プレイヤにエントリポイントを付与する。
通常バトル実行部333は、表示データ出力部332と同様に、イベントテーブルから現在エントリ期間中のイベントバトル、現在マッチング期間中のイベントバトル、現在通知期間中のイベントバトル、及び現在実施期間中のイベントバトルを抽出する。また、通常バトル実行部333は、プレイヤテーブルにおいて、プレイヤに関連付けられた、抽出した各イベントバトルに対するエントリ状態を抽出する。
通常バトル実行部333は、プレイヤが現在実施期間中のイベントバトルにエントリしている場合、図7(c)に示したイベントバトル実施中のバトル結果画面720を表示するための表示データを作成する。
一方、通常バトル実行部333は、プレイヤが現在通知期間中のイベントバトルにエントリしている場合、図7(b)に示したイベント通知用のバトル結果画面710を表示するための表示データを作成する。
一方、通常バトル実行部333は、プレイヤが現在エントリ期間中又はマッチング期間中のイベントバトルにエントリしている場合、図7(a)に示したエントリ済み時のバトル結果画面700を表示するための表示データを作成する。
一方、上記の何れにも該当しない場合、通常バトル実行部333は、プレイヤテーブルからプレイヤのエントリポイント及びエントリ可能回数を読み出し、プレイヤが現在エントリ期間中のイベントバトルにエントリ可能であるか否かを判定する。通常バトル実行部333は、エントリポイントが所定ポイント以上であり且つエントリ可能回数が所定数より大きい場合、エントリ可能であると判定し、エントリポイントが所定ポイント未満である場合、又はエントリ可能回数が所定数以下である場合、エントリ可能でないと判定する。
通常バトル実行部333は、プレイヤが現在エントリ期間中のイベントバトルにエントリ可能である場合、更に、拒否フラグが拒否済みを示すか否かを判定する。通常バトル実行部333は、拒否フラグが拒否済みを示す場合、図6(d)に示したエントリ拒否後のバトル結果画面630を表示するための表示データを作成する。
一方、通常バトル実行部333は、拒否フラグが未拒否を示す場合、図6(c)に示したエントリ用のバトル結果画面620を表示するための表示データを作成する。また、通常バトル実行部333は、プレイヤが現在エントリ期間中のイベントバトルにエントリ可能でない場合、図6(b)に示した通常のバトル結果画面610を表示するための表示データを作成する。
通常バトル実行部333は、作成したバトル結果画面を進行制御部331に渡す。
イベントバトル実行部334は、進行制御部331からイベントバトルの実行が指示された場合、バトル実行要求に含まれるプレイヤIDを特定し、プレイヤテーブルから、特定したプレイヤに関連付けられた相手IDを読み出し、イベントバトルにおける対戦相手プレイヤを特定する。イベントバトル実行部334は、プレイヤテーブル及びカードテーブルから、特定したプレイヤ及び対戦相手プレイヤのバトルに使用するキャラクタのカードに係る各情報を抽出し、図6(a)に示したバトル画面600を表示するための表示データを作成する。イベントバトル実行部334は、作成したバトル画面600を進行制御部331に渡す。
また、イベントバトル実行部334は、進行制御部331からイベントバトルの開始が指示された場合、通常バトル実行部333が実行する通常バトルと同様にして、イベントバトルを実行する。イベントバトル実行部334は、イベントバトル開始時刻からイベントバトル終了時刻まで、イベントバトルを実行する。イベントバトル実行部334は、イベントバトルの結果に応じて、プレイヤテーブルにおいて、プレイヤに関連付けられた勝敗数及び連勝数を更新するとともに、イベントポイントに特定のポイントを追加することにより、プレイヤにイベントポイントを付与する。また、イベントバトル実行部334は、図7(c)に示したイベントバトル実施中のバトル結果画面720を表示するための表示データを作成し、作成したバトル結果画面720を進行制御部331に渡す。
参加要求受付部335は、進行制御部331からエントリの受付が指示された場合、エントリ要求に含まれるプレイヤIDを特定し、プレイヤテーブルから、特定したプレイヤのエントリポイント及びエントリ回数を読み出す。参加要求受付部335は、エントリポイントが所定値以上であり且つエントリ可能回数が所定数より大きい場合、イベントテーブルを読み出し、現在エントリ期間中のイベントバトルを特定する。参加要求受付部335は、プレイヤテーブルにおいて、特定したプレイヤ及びイベントバトルに関連付けられたエントリ状態をエントリ中に更新し、エントリポイントから所定値を減算するとともにエントリ可能回数をデクリメント(−1)する。これにより、参加要求受付部335は、各プレイヤからのイベントバトルへの参加要求を受け付ける。
組合せ決定部336は、特定のイベントバトルについて受付終了時刻になると、マッチング完了時刻までに、受付終了時刻までにエントリ要求を受け付けた各プレイヤによるイベントバトルにおける対戦組合せを決定するマッチング処理を実行する。組合せ決定部336は、プレイヤテーブルを読み出し、エントリ状態がエントリ中である全てのプレイヤ、即ちそのイベントバトルにエントリしている全てのプレイヤを抽出する。次に、組合せ決定部336は、プレイヤテーブルを読み出し、抽出した各プレイヤのバトルポイント、イベントポイント、イベントバトルにおける連勝数を抽出し、抽出したバトルポイント、イベントポイント及び連勝数に基づいて、各プレイヤのイベントレベルを算出する。イベントレベルは、バトルポイントが大きいほど高くなり、イベントポイントが大きいほど高くなり、連勝数が多いほど高くなるように算出される。次に、組合せ決定部336は、各プレイヤをイベントレベルが高い順に並べ、イベントレベルが高いプレイヤから順に二人ずつ選択して対戦組合せを決定する。組合せ決定部336は、決定した対戦組合せに従って、プレイヤテーブルにおいて、各プレイヤに関連付けて、各プレイヤの対戦相手プレイヤの相手IDを書き込む。
バトルポイントは、各プレイヤがゲームに加入してからの累積値であるため、各プレイヤの定常的な強さを表す。一方、イベントポイントは、全イベントバトルの実施期間における累積値であるため、各プレイヤのイベントバトルに対する思い入れの強さを表す。したがって、対戦組合せは、各プレイヤの定常的な強さとイベントバトルに対する思い入れの強さの両方を考慮して決定される。また、全イベントバトルの実施期間のうち、序盤では各プレイヤのイベントポイントの差は小さく、終盤になるにつれてイベントポイントの差は大きくなっていく。したがって、イベントの序盤では、定常的な強さが同レベルであるプレイヤ同士が組み合わせられ、イベントの終盤では、イベントバトルに対する思い入れの強さが同レベルであるプレイヤ同士が組み合わせられる。イベントの序盤と終盤で対戦相手の傾向が異なるため、プレイヤがイベントバトルに飽きることを防止し、プレイヤのイベントバトルへの継続意欲を維持することが可能となる。
また、イベントバトルにおける連勝数は、プレイヤのイベントバトルに対する思い入れの強さをより顕著に表す。したがって、イベントバトルにおける連勝数に基づいてイベントレベルを算出することにより、イベントバトルの終盤では、イベントバトルに対する思い入れが極度に強いプレイヤ同士を対戦させることが可能になる。
また、組合せ決定部336は、エントリ期間中にエントリした全てのプレイヤに対して対戦組合せを決定する。したがって、各組合せに係るプレイヤ間のレベルの差は、エントリ順に組み合わせていく場合と比較して小さくなり、レベルの離れたプレイヤ同士のバトルの発生を抑制することができる。
なお、組合せ決定部336は、バトルポイント、イベントポイント及び連勝数の全てに基づいて対戦組合せを決定するのではなく、バトルポイント、イベントポイント及び連勝数の内の少なくとも一つに基づいて対戦組合せを決定してもよい。
図10は、ゲームシステム1のゲーム処理に係る動作シーケンスの一例を示す図である。この動作シーケンスは、予め端末記憶部22及びサーバ記憶部32に記憶されているプログラムに基づいて、主に端末処理部25及びサーバ処理部33により、携帯端末2及びサーバ3の各要素と協働して実行される。
まず、プレイヤが携帯端末2の操作部23を用いてゲームを開始する操作、又は、ホーム画面へ遷移する操作を行うと、携帯端末2の閲覧実行部251は、ホーム画面要求を端末通信部21を介してサーバ3に送信する(ステップS101)。サーバ3の進行制御部331が携帯端末2からホーム画面要求を受信した場合、表示データ出力部332は、ホーム画面表示データ作成処理を実行する(ステップS102)。ホーム画面表示データ作成処理の詳細については後述する。進行制御部331は、ホーム画面表示データ作成処理において表示データ出力部332が作成したホーム画面表示データを携帯端末2に送信する(ステップS103)。サーバ3から端末通信部21を介してホーム画面表示データを受信した場合、携帯端末2の閲覧実行部251は、受信した表示データに基づき描画データを作成して、表示部24にホーム画面を表示させる(ステップS104)。
次に、携帯端末2の表示部24にホーム画面が表示された状態で、プレイヤが操作部23を用いてバトルボタンを押下すると、携帯端末2の閲覧実行部251は、バトル要求を端末通信部21を介してサーバ3に送信する(ステップS105)。サーバ3の進行制御部331が携帯端末2からバトル要求を受信した場合、イベントバトルが実施されていないとき又はプレイヤがイベントバトルに参加していないときは、通常バトル実行部333が、通常バトルの対戦相手を決定し、バトル画面600を表示するための表示データを作成する。一方、イベントバトルが実施されており且つプレイヤがイベントバトルに参加しているときは、イベントバトル実行部334が、プレイヤテーブルから、イベントバトルの対戦相手を特定し、バトル画面600を表示するための表示データを作成する(ステップS106)。進行制御部331は、通常バトル実行部333又はイベントバトル実行部334が作成した表示データを携帯端末2に送信する(ステップS107)。サーバ3から端末通信部21を介してバトル画面600の表示データを受信した場合、携帯端末2の閲覧実行部251は、受信した表示データに基づき描画データを作成して、表示部24にバトル画面600を表示させる(ステップS108)。
次に、携帯端末2の表示部24にバトル画面600が表示された状態で、プレイヤが操作部23を用いて対戦ボタン602を押下すると、携帯端末2の閲覧実行部251は、バトル開始要求を端末通信部21を介してサーバ3に送信する(ステップS109)。サーバ3の進行制御部331が携帯端末2からバトル開始要求を受信した場合、通常バトル実行部333又はイベントバトル実行部334は、バトル処理を実行する(ステップS110)。バトル処理の詳細については後述する。進行制御部331は、バトル処理において通常バトル実行部333又はイベントバトル実行部334が作成したバトル結果画面表示データを携帯端末2に送信する(ステップS111)。サーバ3から端末通信部21を介してバトル結果画面表示データを受信した場合、携帯端末2の閲覧実行部251は、受信した表示データに基づき描画データを作成して、表示部24にバトル結果画面を表示させる(ステップS112)。
次に、携帯端末2の表示部24にホーム画面又はバトル結果画面が表示された状態で、プレイヤが操作部23を用いてエントリボタンを押下すると、携帯端末2の閲覧実行部251は、エントリ要求を端末通信部21を介してサーバ3に送信する(ステップS113)。サーバ3の進行制御部331が携帯端末2からエントリ要求を受信した場合、参加要求受付部335は、エントリ処理を実行する(ステップS114)。エントリ処理の詳細については後述する。次に、表示データ出力部332は、ホーム画面表示データ作成処理を実行する(ステップS115)。表示データ出力部332は、ホーム画面表示データ作成処理において表示データ出力部332が作成したホーム画面表示データを携帯端末2に送信する(ステップS116)。サーバ3から端末通信部21を介してホーム画面表示データを受信した場合、携帯端末2の閲覧実行部251は、受信した表示データに基づき描画データを作成して、表示部24にホーム画面を表示させる(ステップS117)。以上で、ゲーム処理に係る動作シーケンスは終了する。
図11は、表示データ出力部332によるホーム画面表示データ作成処理の動作フローを示す。図11に示すホーム画面表示データ作成処理は、図10のステップS102、S115において実行される。
表示データ出力部332は、まず、イベントテーブルから現在エントリ期間中のイベントバトル、現在マッチング期間中のイベントバトル、現在通知期間中のイベントバトル、及び現在実施期間中のイベントバトルを抽出する。また、表示データ出力部332は、ホーム画面要求に含まれるプレイヤIDを特定し、プレイヤテーブルにおいて、特定したプレイヤIDに対応するプレイヤに関連付けられた、抽出した各イベントバトルに対するエントリ状態を抽出する(ステップS201)。
表示データ出力部332は、プレイヤが現在実施期間中のイベントバトルにエントリしているか否かを判定する(ステップS202)。表示データ出力部332は、プレイヤが現在実施期間中のイベントバトルにエントリしている場合(ステップS202−Yes)、イベントバトル実施中のホーム画面510を表示するための表示データを作成し(ステップS203)、一連のステップを終了する。
一方、表示データ出力部332は、プレイヤが現在実施期間中のイベントバトルにエントリしていない場合(ステップS202−No)、プレイヤが現在通知期間中のイベントバトルにエントリしているか否かを判定する(ステップS204)。表示データ出力部332は、プレイヤが現在通知期間中のイベントバトルにエントリしている場合(ステップS204−Yes)、イベント通知用のホーム画面500を表示するための表示データを作成し(ステップS205)、一連のステップを終了する。
一方、表示データ出力部332は、プレイヤが現在通知期間中のイベントバトルにエントリしていない場合(ステップS204−No)、プレイヤが現在エントリ期間中又はマッチング期間中のイベントバトルにエントリしているか否かを判定する(ステップS206)。表示データ出力部332は、プレイヤが現在エントリ期間中又はマッチング期間中のイベントバトルにエントリしている場合(ステップS206−Yes)、エントリ済み時のホーム画面420を表示するための表示データを作成し(ステップS207)、一連のステップを終了する。
一方、表示データ出力部332は、プレイヤが現在エントリ期間中又はマッチング期間中のイベントバトルにエントリしていない場合(ステップS206−No)、プレイヤが現在エントリ期間中のイベントバトルにエントリ可能であるか否かを判定する(ステップS208)。表示データ出力部332は、プレイヤが現在エントリ期間中のイベントバトルにエントリ可能である場合(ステップS208−Yes)、エントリ用のホーム画面410を表示するための表示データを作成し(ステップS209)、一連のステップを終了する。
一方、表示データ出力部332は、プレイヤが現在エントリ期間中又はマッチング期間中のイベントバトルにエントリしていない場合(ステップS208−No)、通常のホーム画面400を表示するための表示データを作成し(ステップS210)、一連のステップを終了する。
図12は、通常バトル実行部333によるバトル処理の動作フローを示す。図12に示すバトル処理は、イベントバトルが実施されていないとき又はプレイヤがイベントバトルに参加していないときに、図10のステップS110において実行される。
通常バトル実行部333は、まず、通常バトルを実行する(ステップS301)。
次に、通常バトル実行部333は、イベントテーブルから現在エントリ期間中のイベントバトル、現在マッチング期間中のイベントバトル、現在通知期間中のイベントバトル、及び現在実施期間中のイベントを抽出する。また、通常バトル実行部333は、プレイヤテーブルにおいて、プレイヤに関連付けられた、抽出した各イベントバトルに対するエントリ状態を抽出する(ステップS302)。
通常バトル実行部333は、プレイヤが現在実施期間中のイベントバトルにエントリしているか否かを判定する(ステップS303)。通常バトル実行部333は、プレイヤが現在実施期間中のイベントバトルにエントリしている場合(ステップS303−Yes)、イベントバトル実施中のバトル結果画面720を表示するための表示データを作成し(ステップS304)、一連のステップを終了する。
一方、通常バトル実行部333は、プレイヤが現在実施期間中のイベントバトルにエントリしていない場合(ステップS303−No)、プレイヤが現在通知期間中のイベントバトルにエントリしているか否かを判定する(ステップS305)。通常バトル実行部333は、プレイヤが現在通知期間中のイベントバトルにエントリしている場合(ステップS305−Yes)、イベント通知用のバトル結果画面710を表示するための表示データを作成し(ステップS306)、一連のステップを終了する。
一方、通常バトル実行部333は、プレイヤが現在通知期間中のイベントバトルにエントリしていない場合(ステップS305−No)、プレイヤが現在エントリ期間中又はマッチング期間中のイベントバトルにエントリしているか否かを判定する(ステップS307)。通常バトル実行部333は、プレイヤが現在エントリ期間中又はマッチング期間中のイベントバトルにエントリしている場合(ステップS307−Yes)、エントリ済み時のバトル結果画面700を表示するための表示データを作成し(ステップS308)、一連のステップを終了する。
一方、通常バトル実行部333は、プレイヤが現在エントリ期間中又はマッチング期間中のイベントバトルにエントリしていない場合(ステップS307−No)、プレイヤが現在エントリ期間中のイベントバトルにエントリ可能であるか否かを判定する(ステップS309)。通常バトル実行部333は、プレイヤが現在エントリ期間中のイベントバトルにエントリ可能である場合(ステップS309−Yes)、拒否フラグが拒否済みを示すか否かを判定する(ステップS310)。通常バトル実行部333は、拒否フラグが拒否済みを示す場合(ステップS310−Yes)、エントリ拒否後のバトル結果画面630を表示するための表示データを作成し(ステップS311)、一連のステップを終了する。
一方、通常バトル実行部333は、拒否フラグが未拒否を示す場合(ステップS310−Yes)、エントリ用のバトル結果画面620を表示するための表示データを作成し(ステップS311)、一連のステップを終了する。
また、通常バトル実行部333は、プレイヤが現在エントリ期間中のイベントバトルにエントリ可能でない場合(ステップS309−No)、通常のバトル結果画面610を表示するための表示データを作成し(ステップS311)、一連のステップを終了する。
なお、イベントバトルが実施されており且つプレイヤがイベントバトルに参加している場合、バトル処理は、イベントバトル実行部334により実行される。その場合、プレイヤは現在実施期間中のイベントバトルにエントリしているため、イベントバトル実行部334は、ステップS301においてバトル処理を実行した後、ステップS304においてイベントバトル実施中のバトル結果画面720を表示するための表示データを作成し、一連のステップを終了する。
図13は、参加要求受付部335によるエントリ処理の動作フローを示す。図13に示すエントリ処理は、図10のステップS114において実行される。
参加要求受付部335は、まず、エントリ要求に含まれるプレイヤIDを特定し、プレイヤテーブルから、特定したプレイヤのエントリポイント及びエントリ回数を読み出す(ステップS401)。
次に、参加要求受付部335は、エントリポイントが所定値以上であるか否かを判定し(ステップS402)、エントリポイントが所定値未満である場合(ステップS402−No)、特に処理を行わず、一連のステップを終了する。
一方、参加要求受付部335は、エントリポイントが所定値以上である場合(ステップS402−Yes)、エントリ可能回数が所定数より大きいか否かを判定する(ステップS403)。参加要求受付部335は、エントリ可能回数が所定数以下である場合(ステップS403−No)、特に処理を行わず、一連のステップを終了する。
一方、参加要求受付部335は、エントリ可能回数が所定数より大きい場合(ステップS403−Yes)、プレイヤテーブルにおいてエントリ状態をエントリ中に更新し、エントリポイントから所定値を減算するとともにエントリ可能回数をデクリメントし(ステップS404)、一連のステップを終了する。
図14は、組合せ決定部336によるマッチング処理の動作フローを示す。図14に示すマッチング処理は、各イベントバトルの受付終了時刻になったときに実行される。
組合せ決定部336は、まず、プレイヤテーブルを読み出し、対応するイベントバトルにエントリしている全てのプレイヤを抽出する(ステップS501)。
次に、組合せ決定部336は、プレイヤテーブルを読み出し、抽出した各プレイヤのバトルポイント、イベントポイント、イベントバトルにおける連勝数を抽出する(ステップS502)。
次に、組合せ決定部336は、抽出したバトルポイント、イベントポイント及び連勝数に基づいて、各プレイヤのイベントレベルを算出する(ステップS503)。
次に、組合せ決定部336は、各プレイヤをイベントレベルが高い順に並べる(ステップS504)。
次に、組合せ決定部336は、イベントレベルが高いプレイヤから順に二人ずつ選択して対戦組合せを決定し(ステップS504)、プレイヤテーブルを更新して、一連のステップを終了する。
以上説明してきたように、サーバ3は、バトルへの参加要求を受け付けたプレイヤについてのみ対戦組合せを決定するので、バトルが成立する割合を向上させることが可能となる。また、サーバ3は、対戦組合せの決定後、一定期間が経過してから各バトルを実行するので、プレイヤによるバトルの準備期間を確保することが可能となる。さらに、仮にマッチング完了時刻までに全ての対戦組合せを決定できなかった場合でも、一定期間中に対戦組合せを決定すればイベントバトル自体を実行できるため、イベントバトルが実行できなくなる事態の発生を防止できる。また、サーバ3は、予め定められた期間に対戦組合せを決定し、各バトルを実行するので、プレイヤ間の不公平の発生を防止することが可能となる。
また、サーバ3は、対戦組合せの決定の完了時刻以降に、バトルの開始時刻までの残り時間を、決定した対戦組合せに係る各プレイヤに通知する。したがって、各プレイヤが、バトルへエントリしてからバトルが開始されるまでの間にバトルへエントリしたことを忘れたり、バトルへの興味を失ったり、バトルが開始していることに気付かなかったりすることが防止される。したがって、バトルへの参加率の低下を抑制し、バトルが成立する割合を向上させることが可能となる。
なお、本発明は、本実施形態に限定されるものではない。例えば、本実施形態では、各プレイヤが所有するキャラクタを使用した対戦バトルをメインゲーム及びサブゲームとしたが、例えば各プレイヤが所有するアイテム(釣竿、車等)を使用した釣りゲーム、カーレースゲーム等をメインゲーム及びサブゲームとしてもよい。
例えば釣りゲームをメインゲーム及びサブゲームとする場合、プレイヤはメインゲームにおいて、所有する釣竿を使用して任意の魚を釣ることによりバトルポイントを取得し、特定の魚を釣ることによりエントリポイントを取得する。また、サブゲームでは、イベントバトル期間中にプレイヤと対戦相手プレイヤがそれぞれ釣った魚の数、大きさ等に基づいて勝敗が決定し、プレイヤはその結果に応じてイベントポイントを取得する。
このような釣りゲームにおいて、イベントバトル開始時刻までの残り時間が通知されることにより、プレイヤは、イベントバトル開始時刻の少し前から釣りを開始して、イベントバトル開始直後に一匹目を吊り上げるような戦略を取ることも可能となる。また、イベントバトル開始時刻までの残り時間とともに対戦相手に関する情報が通知されることにより、プレイヤが所有するキャラクタを使用した対戦バトルの場合と同様に、対戦相手のレベルに応じて対戦相手に勝利できるアイテムを購入する等の戦略を練ることもできる。
また、釣りゲームにおいて、イベントバトル開始直後の所定期間、又はイベントバトル終了直前の所定期間等に取得できるイベントポイントを他の期間に取得できるイベントポイントより高くしてもよい。イベントバトル開始時刻までの残り時間、イベントバトル終了時刻までの残り時間等が通知されるため、各プレイヤは、時間帯にあわせてバトルへの注力度合いを調整することができる。
また、サーバ3は、対戦する二人のプレイヤのレベル差に応じて、各プレイヤのイベントバトル開始時刻又はイベントバトル終了時刻を変更してもよい。その場合、サーバ3は、レベルの低いプレイヤのイベントバトル開始時刻を、レベル差が大きいほどレベルの高いプレイヤのイベントバトル開始時刻より前に設定する。または、サーバ3は、レベルの低いプレイヤのイベントバトル終了時刻を、レベル差が大きいほどレベルの高いプレイヤのイベントバトル終了時刻より後に設定する。さらに、サーバ3は、不利になったレベルの高いプレイヤに付与するイベントポイントを大きくしてもよい。これらにより、イベントバトルにおけるゲーム性が向上し、ゲームの趣向性を高めることが可能になる。
また、サーバ3は、通知期間中に、プレイヤから対戦相手への、挨拶等のメッセージの送信を受け付け、受け付けたメッセージを対戦相手に通知してもよい。その場合、メッセージを送信したプレイヤ及び/又はメッセージを受信したプレイヤに特典を付与してもよい。これにより、プレイヤ間のコミュニケーションの活性化を図ることができる。
また、サーバ3は、通知期間中に、プレイヤから、プレイヤを救援するために、関連プレイヤをイベントバトルへ参加させる要求を受け付けてもよい。これにより、プレイヤは、対戦相手として通知されたプレイヤに勝利できないことが予測される場合に、勝利できる可能性を向上させることが可能となり、プレイヤ間のコミュニケーションの活性化を図ることも可能になる。
または、サーバ3は、通知期間中に、プレイヤから、イベントバトルへの参加のキャンセル、又は対戦組合せの変更等の要求を受け付けてもよい。この場合、さらに、サーバ3は、対戦をキャンセルされたり、組合せを変更された対戦相手プレイヤに特定の特典を付与するようにしてもよい。
また、携帯端末2において実行されるゲームは、サーバ3と携帯端末2のそれぞれが処理の一部を担うハイブリッドゲームとしてもよい。その場合、例えば、ゲームの進行に係る各画面をサーバ3が生成した表示データに基づいて携帯端末2に表示されるウェブ表示とし、その他のメニュー画面等を携帯端末2にインストールされているネイティブアプリによって表示するネイティブ表示とする。
当業者は、本発明の精神及び範囲から外れることなく、様々な変更、置換、及び修正をこれに加えることが可能であることを理解されたい。