以下、本発明の実施形態の一例について図面に基づき詳細に説明する。
図1は本発明の実施形態に係るゲームシステムの全体構成を示す図である。図1に示すように、本実施形態に係るゲームシステム10はサーバ装置20と複数のゲーム装置30とを含む。サーバ装置20とゲーム装置30とは、例えばインターネット及び携帯電話回線網などを含んで構成される通信ネットワーク12に接続される。サーバ装置20とゲーム装置30との間で相互にデータ通信が可能である。
サーバ装置20は公知のサーバコンピュータシステムによって実現される。図1に示すように、サーバ装置20は制御部21、主記憶部22、補助記憶部23、光ディスク読み取り部24、及び通信部25を含む。
制御部21は例えばCPU(Central Processing Unit)であり、主記憶部22に読み出されたオペレーティングシステムやその他のプログラムに従って、各部の制御処理や各種情報処理を実行する。主記憶部22は例えばRAM(Random Access Memory)を含み、補助記憶部23又は光ディスク(情報記憶媒体)から読み出されたプログラムやデータを記憶する。また主記憶部22は、処理の過程で必要なデータを記憶するワークメモリとしても用いられる。補助記憶部23は例えばハードディスク装置等である。光ディスク読み取り部24は光ディスクに記憶されたプログラムやデータを読み取る。通信部25はサーバ装置20を通信ネットワーク12に接続するための通信インタフェースを含み、ゲーム装置30との間でデータを送受信する。
ゲーム装置30は、例えば携帯電話機、携帯ゲーム機、家庭用ゲーム機(据置型ゲーム機)、携帯情報端末(PDA)、又はパーソナルコンピュータによって実現される。ここでは、ゲーム装置30が携帯電話機によって実現される場合について説明する。図1に示すように、ゲーム装置30は制御部31、主記憶部32、補助記憶部33、操作部34、通信部35、表示部36、及び音声出力部37を含む。
制御部31は例えばCPU、GPU(Graphics Processing Unit)及びSPU(Sound Processing Unit)等を含み、主記憶部32に読み出されたオペレーティングシステムやその他のプログラムに従って、各部の制御処理や各種情報処理を実行する。主記憶部32は例えばRAMを含み、補助記憶部33から読み出されたプログラムやデータを記憶する。また主記憶部32は、処理の過程で必要なデータを記憶するワークメモリとしても用いられる。補助記憶部33は例えばメモリカード(情報記憶媒体)が装着されたメモリカードスロットを含む。操作部34は、例えば、方向指示操作に用いられる方向指示キーと、決定キーと、「0」〜「9」の各数字に対応する10個の数字キーとを含み、ユーザの操作を受け付ける。通信部35はゲーム装置30を通信ネットワーク12に通信接続するためのインタフェースを含み、サーバ装置20との間でデータを送受信する。表示部36は例えば液晶表示パネルなどであり、各種画面を表示する。音声出力部37は例えばスピーカを含み、補助記憶部33から読み出されたゲーム音楽、ゲーム効果音、又はメッセージ等の各種音声データを出力する。
サーバ装置20にはプログラムやデータが光ディスクを介して供給される。また、ゲーム装置30にはプログラムやデータがメモリカードを介して供給される。なお、プログラムやデータは通信ネットワーク12を介して遠隔地からサーバ装置20又はゲーム装置30に供給されるようにしてもよい。
ゲームシステム10では、例えばユーザがサッカーチームのオーナーとなるサッカーゲームが実行される。ユーザは自分のサッカーチーム(以下「ユーザチーム」と記載する。)を強化し、対戦相手のサッカーチーム(以下「対戦相手チーム」と記載する。)との試合に勝利することを目指す。
図2は、ゲーム装置30の表示部36に表示されるサッカーゲームのメニュー画面を示す。図2に示すように、メニュー画面40には「チーム情報」ボタン41、「獲得」ボタン42、「解雇」ボタン43、「練習」ボタン44、及び「試合」ボタン45が表示される。以下、これらの各ボタンについて説明する。
まず、「チーム情報」ボタン41について説明する。ユーザが「チーム情報」ボタン41を指示すると、ユーザチームに関するデータであるユーザチームデータが補助記憶部33から読み出され、ユーザチームの情報を表すチーム情報画面が表示部36に表示される。
図3はユーザチームデータの一例を示す。図3に示すように、ユーザチームデータは所属選手テーブル、フォーメーションデータ、作戦データ、及び戦績データを含む。
図4は所属選手テーブルの一例を示す。所属選手テーブルは、ユーザチームに所属する選手キャラクタのリストを示すデータであり、図4に示すように、「選手ID」、「選手名」、「ポジション」、及び「能力パラメータ」フィールドを含む。
「選手ID」フィールドは選手キャラクタの識別情報を示し、「選手名」フィールドは選手キャラクタの名称を示す。「ポジション」フィールドは選手キャラクタに適したポジション種類を示す。例えば、フォワード(FW)、ミッドフィルダー(MF)、ディフェンダー(DF)、及びゴールキーパー(GK)のポジション種類のうちの少なくとも一つが、選手キャラクタに適したポジション種類として設定される。「能力パラメータ」フィールドは、選手キャラクタの能力の高さに関するパラメータの値を示す。例えばパス能力、シュート能力、及びドリブル能力等の攻撃能力に関するパラメータの値と、例えばマーク能力、タックル能力、及びプレス能力等の守備能力に関するパラメータの値とが「能力パラメータ」フィールドに記憶される。例えば、能力パラメータは0〜100の間の値をとり、能力パラメータの値が大きい程、能力が高いことを示す。
フォーメーションデータはユーザチームが採用するフォーメーションを示すデータである。このサッカーゲームでは複数のフォーメーションがあらかじめ用意されており、ユーザはそれらの複数のフォーメーションのうちのいずれかを選択できる。ユーザが選択可能なフォーメーションの一例としては「3−5−2」がある。「3−5−2」はDF、MF、及びFWの人数がそれぞれ3人、5人、及び2人であるフォーメーションである。なお、フォーメーションデータには、試合開始時に各ポジションに割り当てられる選手キャラクタを示すデータ(すなわち、スターティングメンバーを示すデータ)も含まれる。
作戦データはユーザチームが採用する作戦を示すデータである。このサッカーゲームでは複数の作戦があらかじめ用意されており、ユーザはそれらの複数の作戦のうちのいずれかを選択できる。ユーザが選択可能な作戦の一例としては「カウンターアタック」がある。「カウンターアタック」とは、対戦相手チームに攻め込まれている場合にも、少なくとも一人の選手キャラクタが相手陣内に位置するようにし、対戦相手チームからボールを奪った場合には、相手陣内に位置している選手キャラクタにパスを出すことによって、速やかに攻撃を行う作戦である。
戦績データはユーザチームの戦績を示すデータである。戦績データは、例えば、これまでの対戦回数、勝利回数、敗北回数、及び引き分け回数の累計を示すデータである。
以上に説明したユーザチームデータの内容がチーム情報画面に表示される。
次に、「獲得」ボタン42について説明する。このサッカーゲームでは、所定のポイント付与条件が満足されるとユーザにポイントが付与される。例えば、ユーザチームが対戦相手チームとの試合に勝利した場合にユーザにポイントが付与される。ユーザはこのポイントを使用して、新たな選手キャラクタを獲得することができる。新たな選手キャラクタを獲得する場合、ユーザは「獲得」ボタン42を指示する。
図5は、「獲得」ボタン42が指示された場合に実行される処理を示すフロー図である。
図5に示すように、ユーザが「獲得」ボタン42を指示した場合、ゲーム装置30は、獲得候補である選手キャラクタのリストを要求するための第1要求データをサーバ装置20に送信する(S101)。
サーバ装置20の補助記憶部23には、獲得候補である選手キャラクタのリストが記憶されている。図6は、獲得候補である選手キャラクタのリストを示す獲得候補選手テーブルの一例を示す。図6に示す獲得候補選手テーブルは、「選手ID」、「選手名」、「ポジション」、「能力パラメータ」、「ポイント」、及び「獲得ユーザ数」フィールドを含む。「選手ID」、「選手名」、「ポジション」、及び「能力パラメータ」フィールドは、図4に示した所属選手テーブルと同様である。「ポイント」フィールドは選手キャラクタを獲得するために必要なポイント数を示す。
ここで、「獲得ユーザ数」フィールドについて説明する。このサッカーゲームでは、一の選手キャラクタを複数のユーザが獲得できるようになっている。「獲得ユーザ数」フィールドは、選手キャラクタをすでに獲得しているユーザの数を示す。例えば図6に示す獲得候補選手テーブルは、選手IDが「P001」である選手キャラクタが115名のユーザによって既に獲得されていることを示している。
第1要求データを受信したサーバ装置20は、獲得候補である選手キャラクタのリストをゲーム装置30に返信する(S102)。具体的には、図6に示した獲得候補選手テーブルがゲーム装置30に返信される。獲得候補選手テーブルを受信したゲーム装置30の表示部36には、獲得候補である選手キャラクタの一覧画面が表示される(S103)。図7は該一覧画面の一例を示す。図7に示すように、この一覧画面50には、獲得候補である選手キャラクタのリストが表示される。具体的には、選手キャラクタの名称と、選手キャラクタを獲得するために必要なポイント数と、が表示されている。この一覧画面50においてユーザは所望の選手キャラクタを選択する。ただし、ユーザは、すでに獲得している選手キャラクタと、ユーザが保有するポイント数よりも多いポイント数が対応づけられている選手キャラクタと、を選択できないようになっている。
ユーザがいずれかの選手キャラクタを一覧画面50において選択すると、選択された選手キャラクタの詳細情報を示す詳細画面が表示部36に表示される(S104)。図8は選手キャラクタの詳細画面の一例を示す。図8に示すように、ユーザが選択した選手キャラクタの名称、ポジション、能力パラメータ、ポイント、及び獲得ユーザ数が詳細画面51に表示される。詳細画面51に表示される選手キャラクタを獲得する場合、ユーザは「獲得」ボタン52を指示する。なお、ユーザが「キャンセル」ボタン53を指示した場合、一覧画面50が表示部36に表示される。
ユーザが「獲得」ボタン52を指示した場合、ゲーム装置30は、ユーザが選択した選手キャラクタ(ここでは「選手キャラクタX」と記載する。)の獲得を要求するための第2要求データをサーバ装置20に送信する(S105)。この第2要求データには選手キャラクタXの選手IDが含まれる。
第2要求データを受信したサーバ装置20は獲得候補選手テーブル(図6参照)を更新する。具体的には、選手キャラクタXの「獲得ユーザ数」フィールドの値に1が加算される(S106)。その後、サーバ装置20は、選手キャラクタXのデータを獲得候補選手テーブルから読み出し、該データをゲーム装置30に返信する(S107)。
ゲーム装置30は、サーバ装置20から受信した選手キャラクタXのデータを所属選手テーブル(図4参照)に追加登録する(S108)。すなわち、所属選手テーブルに新たなレコードが追加され、その新たに追加されたレコードの各フィールドに選手キャラクタXのデータが登録される。また、この場合、ユーザが保有するポイント数が更新される(S109)。すなわち、選手キャラクタXを獲得するために必要なポイント数が、ユーザが保有するポイント数から差し引かれる。以上のようにしてユーザは選手キャラクタを獲得することができる。
次に、「解雇」ボタン43について説明する。ユーザが「解雇」ボタン43を指示した場合、ユーザチームに所属する選手キャラクタのうちのいずれかを解雇するための画面が表示部36に表示される。この画面でいずれかの選手キャラクタ(ここでは「選手キャラクタX」と記載する。)が選択された場合、選手キャラクタXの選手IDがサーバ装置20に送信され、サーバ装置20では獲得候補選手テーブル(図6参照)が更新される。すなわち、選手キャラクタXの「獲得ユーザ数」フィールドの値から1が減算される。また、この場合、ゲーム装置30では選手キャラクタXのデータが所属選手テーブル(図4参照)から削除される。
次に、「練習」ボタン44について説明する。ユーザが「練習」ボタン44を指示した場合、ユーザチームに所属する各選手キャラクタごとに練習内容を設定するための画面が表示部36に表示される。選手キャラクタに設定可能な練習内容としては、例えば「パス」、「シュート」、「ドリブル」、「マーク」、及び「タックル」等がある。各選手キャラクタの練習内容が決定されると、各選手キャラクタの能力パラメータの値が練習内容に基づいて増加又は減少される。例えば、選手キャラクタXの練習内容が「パス」である場合、選手キャラクタXのパス能力パラメータの値が増加する。
最後に、「試合」ボタン45について説明する。ユーザが「試合」ボタン45を指示した場合、試合メニュー画面が表示部36に表示される。図9は試合メニュー画面の一例を示す。図9に示すように、試合メニュー画面60には「対戦相手チーム情報」ボタン61、「戦術設定」ボタン62、及び「試合開始」ボタン63が表示される。
ユーザが「対戦相手チーム情報」ボタン61を指示した場合、対戦相手チームに関するデータである対戦相手チームデータが取得され、対戦相手チームの情報を表す画面が表示部36に表示される。例えば、対戦相手チームデータは補助記憶部33にあらかじめ記憶されており、補助記憶部33から読み出される。また例えば、対戦相手チームが他のユーザのチームである場合には、他のユーザのゲーム装置30から通信ネットワーク12を介して受信される。なお、対戦相手チームデータはユーザチームデータ(図3参照)と同様のデータ構成を有する。
ユーザが「戦術設定」ボタン62を指示した場合、ユーザチームの戦術を設定するための画面が表示部36に表示される。この画面において、例えば、ユーザは複数のフォーメーションのうちのいずれかを選択することによって、ユーザチームのフォーメーションを設定する。また、ユーザはスターティングメンバーを設定する。さらに、ユーザは複数の作戦のうちのいずれかを選択することによって、ユーザチームの作戦を設定する。戦術の設定が完了した場合、ユーザが設定した内容に基づいてユーザチームデータ(フォーメーションデータ及び作戦データ)が更新される。
ユーザが「試合開始」ボタン63を指示した場合、ユーザチームと対戦相手チームとの間の試合が実行される。図10は、「試合開始」ボタン63が指示された場合に実行される処理を示すフロー図である。
図10に示すように、ユーザが「試合開始」ボタン63を指示した場合、ゲーム装置30は、ユーザチームに所属する選手キャラクタの使用状況データを要求するための第3要求データをサーバ装置20に送信する(S201)。この第3要求データには、ユーザチームに所属する選手キャラクタの選手IDのリストが含まれる。
第3要求データを受信したサーバ装置20は、補助記憶部23に記憶される使用状況テーブルに基づいて、ユーザチームに所属する選手キャラクタの使用状況データを取得する。ここで、補助記憶部23に記憶される使用状況テーブルについて説明する。図11は使用状況テーブルの一例を示す。使用状況テーブルは全選手キャラクタの現在の使用状況を示すデータであり、図11に示すように、「選手ID」及び「使用中ユーザ数」フィールドを含む。「使用中ユーザ数」フィールドは、選手キャラクタを獲得したユーザのうちの、該選手キャラクタを現在使用しているユーザの人数を示す。なお、選手キャラクタが使用されている状態とは、選手キャラクタが所属するユーザチームが対戦相手チームと試合を行っている状態である。このため、「使用中ユーザ数」フィールドは、選手キャラクタを獲得したユーザのうちの、現在試合を行っているユーザの人数を示している。
サーバ装置20はユーザチームに所属する各選手キャラクタの「使用中ユーザ数」フィールドの値に1を加算する(S202)。その後、サーバ装置20は、ユーザチームに所属する選手キャラクタの使用状況データをゲーム装置30に送信する(S203)。ユーザチームに所属する選手キャラクタの使用状況データは、図11に示した使用状況テーブルのうちの、ユーザチームに所属する各選手キャラクタに対応するレコードを含むデータであり、ユーザチームに所属する各選手キャラクタの「使用中ユーザ数」フィールドの値を示すデータである。
ユーザチームに所属する選手キャラクタの使用状況データを受信したゲーム装置30は、ユーザチームに所属する各選手キャラクタの、これから開始される試合における能力パラメータの値を決定する。なお、以下では、ゲーム装置30の補助記憶部33に記憶される所属選手テーブル(図4参照)が示す選手キャラクタの能力パラメータの値のことを「能力パラメータの原値」と呼び、これから開始される試合における選手キャラクタの能力パラメータの値のことを「能力パラメータの実際値」と呼ぶ。
具体的には、ゲーム装置30は、ユーザチームに所属する各選手キャラクタごとに、下記に説明する処理(S204〜S208)を実行する。すなわち、変数iの値が初期値(1)から上限値(22)になるまで1ずつ増加され、ユーザチームに所属する選手キャラクタのうちのi番目の選手キャラクタについて、下記に説明する処理(S204〜S208)が実行される。なお、上限値(22)はユーザチームに所属する選手キャラクタの総数である。また図10では、ユーザチームに所属する選手キャラクタのうちのi番目の選手キャラクタのことを選手キャラクタ(i)と記載している。
図10に示すように、まず、ゲーム装置30は選手キャラクタ(i)の各能力パラメータの原値を所属選手テーブル(図4参照)から読み出す(S204)。そして、ゲーム装置30は、選手キャラクタ(i)の各能力パラメータの実際値を原値から変更するか否かを決定する(S205)。具体的には、選手キャラクタ(i)の「使用中ユーザ数」フィールドの値をNとすると、選手キャラクタ(i)の各能力パラメータの実際値を原値から変更する確率が(1−(1/N))に設定される。言い換えれば、選手キャラクタ(i)の各能力パラメータの実際値を原値から変更しない確率が(1/N)に設定される。そして、選手キャラクタ(i)の各能力パラメータの実際値を原値から変更するか否かが上記の確率に従って決定される。
選手キャラクタ(i)の各能力パラメータの実際値を原値から変更しないと決定された場合(S206:N)、選手キャラクタ(i)の各能力パラメータの実際値が原値に設定される(S207)。この場合、選手キャラクタ(i)の能力パラメータの実際値(SP)と原値(SPo)との関係は下記の式(1)のようになる。
SP=SPo ・・・(1)
一方、選手キャラクタ(i)の各能力パラメータの実際値を原値から変更すると決定された場合(S206:Y)、選手キャラクタ(i)の各能力パラメータの実際値が原値とは異なる値に設定される(S208)。例えば、選手キャラクタ(i)の各能力パラメータの実際値が、選手キャラクタ(i)の各能力パラメータの原値に所定係数k(0<k<1:例えば0.8)を乗じることによって算出される値に設定される。この場合、選手キャラクタ(i)の能力パラメータの実際値(SP)と原値(SPo)との関係は下記の式(2)のようになる。この場合、選手キャラクタ(i)の各能力は選手キャラクタ(i)が本来備える能力よりも低くなる。
SP=SPo*k ・・・(2)
ユーザチームに所属する全選手キャラクタについて上記に説明した処理(S204〜S208)が実行された後、ゲーム装置30はユーザチームと対戦相手チームとの間の試合を実行する(S209)。試合は、ユーザチームに所属する全選手キャラクタの各能力パラメータの実際値に基づいて実行される。例えば、ユーザチームに所属する選手キャラクタXがシュートを行う場合には選手キャラクタXのシュートパラメータの実際値が参照される。なお、対戦相手チームはあらかじめ用意されたチームであってもよいし、他のユーザのチームであってもよい。
ユーザチームと対戦相手チームとの間の試合が終了した場合、ゲーム装置30は試合が終了したことを通知するための通知データをサーバ装置20に送信する(S210)。この通知データには、ユーザチームに所属する全選手キャラクタの選手IDのリストが含まれる。この通知データを受信したサーバ装置20は、ユーザチームに所属する各選手キャラクタの「使用中ユーザ数」フィールドの値から1を減算する(S211)。
以上のように、ゲームシステム10では、選手キャラクタの能力パラメータの値が、該選手キャラクタを使用中のユーザの数に基づいて設定される。より具体的には、選手キャラクタを使用中のユーザの数が多いほど、該選手キャラクタの能力が低くなる確率が高くなるようにして、該選手キャラクタの能力パラメータの値が設定される。このため、ユーザは選手キャラクタを使用する場合に選手キャラクタの能力パラメータの値だけではなく、選手キャラクタを使用中のユーザの数も考慮することになる。また、選手キャラクタを獲得したユーザの数が多ければ、選手キャラクタを使用中のユーザの数も多くなりやすいため、ユーザは選手キャラクタを獲得する場合にも選手キャラクタの能力パラメータの値だけではなく、選手キャラクタを獲得したユーザの数を考慮することになる。このように、ゲームシステム10によれば、選手キャラクタを獲得又は使用する場合に、選手キャラクタの能力パラメータだけでなく、選手キャラクタを獲得したユーザの数や、選手キャラクタを使用中のユーザの数を考慮しなければならないという楽しみがユーザに与えられるようになる。
ここで、ゲームシステム10で実現される機能ブロックについて説明する。図12は、ゲームシステム10で実現される機能ブロックのうち、本発明に関連するものを主として示す。図12に示すように、ゲームシステム10は使用許可部70、使用許可状況/使用状況データ記憶部71、ユーザ数取得部72、及びパラメータ設定部73を含む。
例えば、使用許可部70、及び使用許可状況/使用状況データ記憶部71はサーバ装置20で実現される。この場合、使用許可部70はサーバ装置20の制御部21がプログラムを実行することによって実現され、使用許可状況/使用状況データ記憶部71はサーバ装置20の補助記憶部23によって実現される。また例えば、ユーザ数取得部72、及びパラメータ設定部73はゲーム装置30で実現される。この場合、ユーザ数取得部72、及びパラメータ設定部73はゲーム装置30の制御部31がプログラムを実行することによって実現される。
使用許可部70はゲームデータの使用を複数のユーザに許可する。ゲームデータは、例えばゲームキャラクタ又はゲームアイテム等である。本実施形態の場合、使用許可部70は、選手キャラクタの使用を許可するための使用許可データを複数のゲーム装置30に送信することによって、該複数のゲーム装置30に対応する複数のユーザに選手キャラクタの使用を許可する。より具体的には、選手キャラクタの獲得要求が選手キャラクタの使用許可要求として受け付けられ(図5のS105参照)、該選手キャラクタのデータ自体が使用許可データとしてゲーム装置30に送信される(図5のS107参照)。その結果、ゲーム装置30でユーザは該選手キャラクタを自分チームに所属する選手キャラクタとして使用できるようになる。
なお、選手キャラクタのデータ自体がゲーム装置30に予め記憶されており、かつ、該選手キャラクタのデータの使用がゲーム装置30で制限されているような場合には、選手キャラクタのデータの使用を解除するためのデータが使用許可データとしてゲーム装置30に送信されるようにしてもよい。
使用許可状況/使用状況データ記憶部71は、ゲームデータの使用許可状況又は使用状況に関するデータを記憶する。例えば、使用許可状況/使用状況データ記憶部71は、選手キャラクタの使用許可状況に関する使用許可状況データと、選手キャラクタの使用状況に関する使用状況データと、の少なくとも一方を記憶する。例えば、使用許可状況データは、選手キャラクタの使用を許可されているユーザ(又はゲーム装置30)の数に関するデータである。本実施形態の場合、図6に示した獲得候補選手テーブルの「選手ID」及び「獲得ユーザ数」フィールドが「使用許可状況データ」に相当する。また例えば、使用状況データは、選手キャラクタを使用しているユーザ(言い換えれば、選手キャラクタが使用されているゲーム装置30)の数に関するデータである。なお、上述したように、選手キャラクタが現在使用されている場合とは、該選手キャラクタが所属するユーザチームと、対戦相手チームと、の間の試合が現在実行されている場合である。本実施形態の場合、図11に示した使用状況テーブルの「選手ID」及び「使用中ユーザ数」フィールドが「使用状況データ」に相当する。
ユーザ数取得部72は、ゲームデータの使用が許可されたユーザの数、又はゲームデータを使用中であるユーザの数を使用許可状況/使用状況データ記憶部71の記憶内容に基づいて取得する。例えば、ユーザ数取得部72は、選手キャラクタの使用が許可されたユーザの数と、選手キャラクタを使用中のユーザの数と、の少なくとも一方を、使用許可状況/使用状況データ記憶部71の記憶内容に基づいて取得する。本実施形態の場合、選手キャラクタを使用中のユーザの数が取得される(図10のS201及びS203参照)。
パラメータ設定部73は、ゲームデータの使用が許可されたユーザによって使用されるゲームデータの内容を、該ゲームデータの使用が許可されたユーザの数、又は該ゲームデータを使用中であるユーザの数に基づいて設定する。
例えば、パラメータ設定部73は、ゲームデータの内容を元々の内容から変更するか否かを、該ゲームデータの使用が許可されたユーザの数、又は該ゲームデータを使用中であるユーザの数に対応する確率に従って決定する。そして、ゲームデータの内容を元々の内容から変更すると決定された場合、パラメータ設定部73は、ゲームデータの内容を元々の内容から変更する。
また例えば、パラメータ設定部73はゲームデータの内容を元々の内容から変更し、かつ、ゲームデータの元々の内容と、ゲームデータの変更後の内容と、の間の相違の程度を、該ゲームデータの使用が許可されたユーザの数、又は該ゲームデータを使用中であるユーザの数に基づいて制御するようにしてもよい。
本実施形態の場合、パラメータ設定部73は、選手キャラクタの使用が許可されたユーザによって使用される選手キャラクタの能力に関するパラメータを、該選手キャラクタの使用が許可されたユーザの数と、該選手キャラクタを使用中のユーザの数と、の少なくとも一方に基づいて設定する。
より具体的には、パラメータ設定部73は、ユーザチームに所属する選手キャラクタXの各能力パラメータの実際値を、選手キャラクタXを現在使用中のユーザの数に基づいて設定する。例えば、パラメータ設定部73は、選手キャラクタXの各能力パラメータの実際値を、選手キャラクタXの各能力パラメータの原値(ゲームデータの元々の内容)から変更するか否かを、選手キャラクタXを現在使用中のユーザの数に基づいて設定される確率に従って決定する(図10のS205参照)。そして、選手キャラクタXの各能力パラメータの実際値を原値から変更すると決定された場合、パラメータ設定部73は実際値を原値とは異なる値に設定する。この場合、実際値SPと原値SPoとの関係は上記の式(2)のようになり、選手キャラクタXの能力は選手キャラクタXが本来備える能力よりも低くなる。
ここで、パラメータ設定部73の変形例A〜Cについて説明する。
(変形例A)例えば、パラメータ設定部73は、選手キャラクタXの各能力パラメータの実際値と、選手キャラクタXの各能力パラメータの原値(ゲームデータの元々の内容)と、の間の相違の程度を、選手キャラクタXを使用中のユーザの数に基づいて制御するようにしてもよい。例えば、図13は、変形例Aにおける選手キャラクタの各能力パラメータの実際値の決定方法について説明するための図である。図13に示す処理は図10のS204〜S208の代わりに実行される。
図13に示すように、まず、ゲーム装置30は係数hを決定する(S301)。この場合の係数hは0<h≦1の値をとる。このステップでは、「使用中ユーザ数」フィールドの値と、係数hの値と、を関連づけてなるデータが補助記憶部33から読み出される。そして、このデータと、選手キャラクタ(i)の「使用中ユーザ数」フィールドの値と、の両方に基づいて、選手キャラクタ(i)の「使用中ユーザ数」フィールドの値に関連づけられた係数hの値が取得される。なお、上記のデータは、「使用中ユーザ数」フィールドの値が大きくなると、係数hの値が小さくなるように設定される。または、上記のデータは、「使用中ユーザ数」フィールドの値が大きくなると、係数hの値が小さくなる確率が高くなるように設定される。
係数hの値が決定された後、ゲーム装置30は選手キャラクタ(i)の各能力パラメータの実際値を係数hの値に基づいて決定する(S302)。この場合、選手キャラクタ(i)の各能力パラメータの実際値SPと原値SPoとの関係は下記の式(3)のようになる。
SP=SPo*h ・・・(3)
変形例Aによれば、選手キャラクタを使用中のユーザの数が多いほど、該選手キャラクタの能力が低くなる程度が大きくなるようにして、該選手キャラクタの能力パラメータの実際値が設定されるようになる。その結果、ユーザは選手キャラクタを獲得又は使用する場合に、選手キャラクタの能力パラメータだけでなく、選手キャラクタを使用中のユーザの数を考慮することになる。
(変形例B)また例えば、パラメータ設定部73は、ユーザチームに所属する選手キャラクタの各能力パラメータの実際値を、該選手キャラクタを現在使用中のユーザの数の代わりに、該選手キャラクタの使用が許可されているユーザの数に基づいて設定するようにしてもよい。
この場合、例えば、図10のS203では、ユーザチームに所属する選手キャラクタの使用許可状況データがゲーム装置30に送信される。ユーザチームに所属する選手キャラクタの使用許可状況データは、図6に示した獲得候補選手テーブルのうちの、ユーザチームに所属する選手キャラクタに関連するレコードを含むデータであり、ユーザチームに所属する各選手キャラクタの「獲得ユーザ数」フィールドの値を示すデータである。そして、図10のS205では、選手キャラクタ(i)の「獲得ユーザ数」フィールドの値をMとすると、選手キャラクタ(i)の各能力パラメータの実際値を原値から変更する確率が(1−(1/M))に設定される。言い換えれば、選手キャラクタ(i)の各能力パラメータの実際値を原値から変更しない確率が(1/M)に設定される。
変形例Bによれば、選手キャラクタを獲得したユーザの数が多いほど、該選手キャラクタの能力が低くなるようにして、該選手キャラクタの能力パラメータの値が設定されるようになる。その結果、ユーザは選手キャラクタを獲得又は使用する場合に、選手キャラクタの能力パラメータの値だけではなく、選手キャラクタを獲得したユーザの数を考慮することになる。
ところで、変形例Bにおいても、図13に示す処理が図10のS204〜S208の代わりに実行されるようにしてもよい。この場合、図13のS301の処理において、「獲得ユーザ数」フィールドの値と、係数hの値と、を関連づけてなるデータが補助記憶部33から読み出され、このデータと、選手キャラクタ(i)の「獲得ユーザ数」フィールドの値と、の両方に基づいて、選手キャラクタ(i)の「獲得ユーザ数」フィールドの値に関連づけられた係数hの値が取得される。なお、上記のデータは、「獲得ユーザ数」フィールドの値が大きくなると、係数hの値が小さくなるように設定される。または、上記のデータは、「獲得ユーザ数」フィールドの値が大きくなると、係数hの値が小さくなる確率が高くなるように設定される。また、S302の処理では、選手キャラクタ(i)の各能力パラメータの実際値が係数hの値に基づいて決定される。
このようにすれば、選手キャラクタを獲得したユーザの数が多いほど、該選手キャラクタの能力が低くなる程度が大きくなるようにして、該選手キャラクタの能力パラメータの値が設定されるようになる。
(変形例C)また例えば、パラメータ設定部73は、ユーザチームに所属する選手キャラクタの能力パラメータの実際値の代わりに、選手キャラクタの能力パラメータの原値自体を設定するようにしてもよい。
この場合、例えば、図5のS107において、ユーザによって選択された選手キャラクタ(ここでは「選手キャラクタX」と記載する。)のデータと、選手キャラクタXの「獲得ユーザ数」フィールドの値を示すデータと、の組合せがサーバ装置20からゲーム装置30に送信される。
そして、サーバ装置20から送信されたデータを受信したゲーム装置30では、例えば図10のS204〜S208の処理と同様の処理が実行されることによって、選手キャラクタXの各能力パラメータの値が設定される。
すなわち、まず、選手キャラクタXの各能力パラメータの値を変更するか否かが決定される。より具体的には、選手キャラクタXの「獲得ユーザ数」フィールドの値をMとすると、選手キャラクタXの各能力パラメータの値を変更する確率が(1−(1/M))に設定される。言い換えれば、選手キャラクタXの各能力パラメータの値を変更しない確率が(1/M)に設定される。そして、選手キャラクタXの各能力パラメータの値を変更するか否かが上記の確率に従って決定される。
選手キャラクタXの各能力パラメータの値を変更すると決定された場合、選手キャラクタXの各能力パラメータの値が、例えば、現在の値に所定係数k(0<k<1:例えば0.8)を乗じることによって算出される値に更新される。この場合、選手キャラクタXの各能力パラメータの実際値SPと原値SPoとの関係は上記の式(2)のようになり、選手キャラクタXの各能力は選手キャラクタXが本来備える能力よりも低くなる。
なお、変形例Cでは、図10に示すS201〜S209,S210,S211の処理が省略される。その結果、ユーザが試合メニュー画面60の「試合開始」ボタン63を指示した場合には、ユーザチームと対戦相手チームとの間の試合が直ちに開始される。
変形例Cによれば、選手キャラクタを獲得したユーザの数が多いほど、該選手キャラクタの能力が低くなる確率が高くなるようにして、該選手キャラクタの能力パラメータの値(原値)が設定されるようになる。その結果、ユーザは選手キャラクタを獲得する場合に、選手キャラクタを獲得したユーザの数を考慮することになる。
なお、変形例Cにおけるゲーム装置30では、ユーザによって選択された選手キャラクタXのデータと、選手キャラクタXの「獲得ユーザ数」フィールドの値を示すデータと、の組合せがサーバ装置20から受信された場合に、図13に示す処理と同様の処理が実行されることによって、選手キャラクタXの各能力パラメータの値が設定されるようにしてもよい。
この場合、まず、係数hが決定される。すなわち、「獲得ユーザ数」フィールドの値と、係数hの値と、を関連づけてなるデータが補助記憶部33から読み出され、このデータと、選手キャラクタXの「獲得ユーザ数」フィールドの値と、の両方に基づいて、選手キャラクタXの「獲得ユーザ数」フィールドの値に対応する係数hの値が取得される。なお、上記のデータは、「獲得ユーザ数」フィールドの値が大きくなると、係数hの値が小さくなるように設定される。または、上記のデータは、「獲得ユーザ数」フィールドの値が大きくなると、係数hの値が小さくなる確率が高くなるように設定される。そして、係数hの値が決定された後、選手キャラクタXの各能力パラメータの値が係数hの値に基づいて決定される。この場合、選手キャラクタXの各能力パラメータの値は、現在の値に上記係数hを乗じることによって得られる値に設定される。
このようにすれば、選手キャラクタを獲得したユーザの数が多いほど、該選手キャラクタの能力が低くなる程度が大きくなるようにして、該選手キャラクタの能力パラメータの値が設定されるようになる。
以上に説明したゲームシステム10によれば、選手キャラクタの能力パラメータの値が、該選手キャラクタを獲得したユーザの数、又は該選手キャラクタを使用中のユーザの数に基づいて設定される。例えば、選手キャラクタを獲得したユーザの数、又は選手キャラクタを使用中のユーザの数が多いほど、該選手キャラクタの能力が低くなる確率が高くなるようにして、該選手キャラクタの能力パラメータの値が設定される。また例えば、選手キャラクタを獲得したユーザの数、又は選手キャラクタを使用中のユーザの数が多いほど、該選手キャラクタの能力が低くなる程度が大きくなるようにして、該選手キャラクタの能力パラメータの値が設定される。このため、ユーザは選手キャラクタを獲得又は使用する場合に選手キャラクタの能力パラメータの値だけではなく、選手キャラクタを獲得したユーザの数、又は選手キャラクタを使用中のユーザの数も考慮する必要がある。ゲームシステム10によれば、選手キャラクタを獲得又は使用する場合に、選手キャラクタを獲得したユーザの数や、選手キャラクタを使用中のユーザの数を考慮しなければならないという楽しみがユーザに与えられるようになる。
なお、本発明は以上説明した実施の形態に限定されるものではない。
(1)例えば、パラメータ設定部73は、選手キャラクタXの能力パラメータを、該選手キャラクタXの使用が許可されているユーザの数(又は該選手キャラクタXを使用中のユーザの数)に基づいて設定する場合、該能力パラメータの値を、能力が上昇するように設定するようにしてもよい。例えば、選手キャラクタXの使用が許可されているユーザの数(又は該選手キャラクタXを使用中のユーザの数)が比較的少ない数(例えば1)である場合に、選手キャラクタXの各能力パラメータの実際値が原値よりも大きくなるようにしてもよい。
(2)本発明は、サッカーゲーム以外のスポーツゲームや、スポーツゲーム以外のゲーム(例えばロールプレイングゲームやアクションゲーム等)にも適用することができる。
(2−1)例えば、ユーザがゲームキャラクタを仲間に加え、仲間にした複数のゲームキャラクタのうちから選択される所定数のゲームキャラクタによってパーティを組むことによって、様々なゲーム目的(特定の敵キャラクタの退治等)の達成を目指すゲームにも本発明を適用することができる。この場合、「ゲームキャラクタを仲間に加えること」が、上記実施形態に係るサッカーゲームにおける「選手キャラクタを獲得すること」に対応し、「ゲームキャラクタを仲間から外すこと」が、上記実施形態に係るサッカーゲームにおける「選手キャラクタを解雇すること」に対応する。また、「ゲームキャラクタをパーティの一員に設定すること」が「ゲームキャラクタを使用すること」に対応する。
(2−2)また例えば、複数のユーザが、各自が獲得したゲームキャラクタのうちのいずれかを操作して対戦する対戦格闘ゲームにも本発明は適用することができる。この場合、「他のユーザとの対戦にゲームキャラクタを使用すること」が「ゲームキャラクタを使用すること」に対応する。
ところで、従来の対戦格闘ゲームでは、ユーザがゲームキャラクタを獲得又は使用する場合の選考基準はゲームキャラクタの能力パラメータの値にほとんど依存していた。このような場合、多くのユーザは、能力パラメータの値が高いゲームキャラクタを獲得又は使用する傾向があるため、対戦を行う複数のユーザが同じゲームキャラクタを使用する場合が増えることになる。対戦を行う複数のユーザが同じゲームキャラクタを使用する場合、通常、ゲームキャラクタを操作するユーザを区別するために、ゲームキャラクタ付近に識別マーカを表示したり、ゲームキャラクタ自体の色を変えたりする処理を実行する必要がある。しかしながら、このような処理を行うと、当然のこととして処理負荷が増える。つまり、従来の対戦格闘ゲームでは、ユーザがゲームキャラクタを獲得又は使用する場合の選考基準がゲームキャラクタの能力パラメータの値にほとんど依存する結果、ゲームキャラクタを識別するための処理負荷が増えやすいという問題があった。
この点、対戦格闘ゲームに本発明を適用した場合、例えば、ゲームキャラクタを獲得したユーザの数、又はゲームキャラクタを使用中のユーザの数が多いほど、該ゲームキャラクタの能力が低くなる確率が高くなるようにして、該ゲームキャラクタの能力パラメータの値が設定されることになる。その結果、ユーザはゲームキャラクタを獲得又は使用する場合にゲームキャラクタの能力パラメータの値だけではなく、ゲームキャラクタを獲得したユーザの数、又はゲームキャラクタを使用中のユーザの数も考慮するようになる。例えば、多くのユーザが獲得しているゲームキャラクタや、多くのユーザが使用しているゲームキャラクタを獲得又は使用することをユーザが避けるようになる。その結果として、対戦を行う複数のユーザが同じゲームキャラクタを使用する場合が減ることになり、対戦を行う複数のユーザが同じゲームキャラクタを使用することに起因する処理負荷(すなわち、ゲームキャラクタを識別するための処理負荷)が軽減されることになる。
(2−3)また例えば、ユーザがゲームアイテムを入手し、入手した複数のゲームアイテムのうちから選択されるゲームアイテムを使用することによって、様々なゲーム目的(特定の敵キャラクタの退治等)の達成を目指すゲームにも本発明を適用することができる。この場合、「ゲームアイテムを入手すること」が「ゲームアイテムの使用が許可される」ことに対応する。
この場合、使用許可部70はゲームアイテムの使用を複数のユーザに許可する。例えば、使用許可部70は、ゲームアイテムの使用を許可するための使用許可データを複数のゲーム装置30に送信することによって、該複数のゲーム装置30に対応する複数のユーザにゲームアイテムの使用を許可する。なお、ゲームアイテムのデータ自体がゲーム装置30に予め記憶されており、かつ、該ゲームアイテムの使用がゲーム装置30で制限されているような場合には、ゲームアイテムの使用を解除するためのデータが使用許可データとしてゲーム装置30に送信されるようにしてもよい。
また、使用許可状況/使用状況データ記憶部71は、ゲームアイテムの使用許可状況に関する使用許可状況データと、ゲームアイテムの使用状況に関する使用状況データと、の少なくとも一方を記憶する。
また、ユーザ数取得部72は、ゲームアイテムの使用が許可されたユーザの数と、ゲームアイテムを使用中のユーザの数と、の少なくとも一方を、使用許可状況/使用状況データ記憶部71の記憶内容に基づいて取得する。
さらに、パラメータ設定部73は、ゲームアイテムの使用が許可されたユーザによって使用されるゲームアイテムの性能に関するパラメータを、該ゲームアイテムの使用が許可されたユーザの数と、該ゲームアイテムを使用中のユーザの数と、の少なくとも一方に基づいて設定する。
(3)本発明は、ユーザ同士が通信ネットワーク12を介して対戦を行うようなオンライン対戦ゲームシステムにも適用することができる。
例えば、選手キャラクタの各能力パラメータの値(実際値)が、該選手キャラクタを使用中のユーザの数が多い場合に低く設定される場合、選手キャラクタの各能力パラメータの値が低く設定されることを回避しようとするために、該選手キャラクタを使用中のユーザの数が少ない時間帯にユーザは他のユーザと対戦しようとするはずである。このように、本発明をオンライン対戦ゲームに適用した場合、ユーザの数が少ない時間帯に対戦するようにユーザを仕向けることも可能になり、その結果として、サーバ装置等の処理負荷を分散させることも可能になる。また、各ユーザが対戦を行う時間帯が分散されれば、24時間いつでも対戦相手がいる状態が保たれるようになり、対戦相手がいない時間帯が生じないようになる。