以下、本発明の実施の形態(以下、実施形態)を、図面に基づいて説明する。なお、図面において同一又は対応する構成には同一の符号を付し、繰り返しの説明を省略することがある。
[1.ゲームシステム1の全体構成]
図1は、本発明の実施形態に係るゲームシステム1の全体構成を示す図である。図1に示すように、本実施形態に係るゲームシステム1はゲームサーバ30(ゲーム制御装置の一例)と複数のゲーム装置10−1〜n(ただしnは2以上の整数)とを含む。ゲームサーバ30及びゲーム装置10はネットワークNに接続される。このため、ゲームサーバ30とゲーム装置10との間で相互にデータ通信が可能である。なお、以下においてゲーム装置10−1〜nに共通する内容については、ゲーム装置10と表記して説明することがある。
[1.1.ゲームサーバ30のハードウェア構成]
ゲームサーバ30は例えばサーバコンピュータによって実現される。図1に示すように、ゲームサーバ30は制御部31、記憶部32、及び通信部33を含む。
制御部31は例えば少なくとも一つのマイクロプロセッサ等を含み、オペレーティングシステムやその他のプログラムに従って処理を実行する。記憶部32は主記憶部(例えばRAM)及び補助記憶部(例えばハードディスクドライブ又はソリッドステートドライブ)を含む。通信部33はネットワークNを介してデータ通信を行うためのものである。
[1.2.ゲーム装置10のハードウェア構成]
ゲーム装置10はユーザが使用するコンピュータである。本実施形態では、ゲーム装置10はユーザがゲームをプレイするために使用するコンピュータである。ゲーム装置10は、例えば、家庭用ゲーム機(据置型ゲーム機)、携帯用ゲーム機、業務用ゲーム機、携帯電話機(スマートフォンを含む)、携帯情報端末(タブレット型コンピュータを含む)、デスクトップ型コンピュータ、又はラップトップ型コンピュータによって実現される。
図1に示すように、ゲーム装置10は制御部11、記憶部12、通信部13、入力部14、及び表示部15を含む。入力部14と表示部15については、ゲーム装置10に内蔵されていなくともよく、ゲーム装置10に接続された外部装置として設けられてもよい。例えば、ゲーム装置10が家庭用ゲーム機により実現される場合には、入力部14となるゲームコントローラと、表示部15となる表示装置とはそれぞれゲーム装置10の外部装置として構成されることとなる。
制御部11は例えば少なくとも一つのマイクロプロセッサ等を含み、オペレーティングシステムやその他のプログラムに従って処理を実行する。記憶部12は主記憶部(例えばRAM)及び補助記憶部(例えばハードディスクドライブ又はソリッドステートドライブ)を含む。通信部13はネットワークNを介してデータ通信を行うためのものである。入力部14は、例えばゲームコントローラ、キー、レバー、タッチパネル、又はマウス等を含み、ユーザがゲーム操作等の入力操作を行うためのものである。なお、入力部14は、ユーザが音声又はジェスチャによってゲーム操作を行うためのものであってもよい。表示部15は例えば液晶表示パネル又は有機ELディスプレイ等であり、制御部11の指示に従って画面を表示する。
プログラムやデータは例えばネットワークNを介してゲームサーバ30又はゲーム装置10に供給される。なお、ゲームサーバ30又はゲーム装置10は、情報記憶媒体(例えば光ディスク又はメモリカード等)に記憶されたプログラム又はデータを読み取るための構成要素を含むようにしてもよい。そして、情報記憶媒体を介してゲームサーバ30又はゲーム装置10にプログラムやデータを供給するようにしてもよい。
[2.ゲームシステム1において実行されるゲームの概要]
ゲームシステム1では、複数のゲーム装置10に係る複数のユーザが参加するゲームが実行される。例えば、複数のユーザが協力して操作する第1のキャラクタグループと、第2のキャラクタグループとの間で行われるスポーツの試合のゲームが実行される。以下では、上記のようなスポーツゲームの一例として、第1チームと第2チームとの間でサッカーの試合が行われるサッカーゲームについて説明する。
以下では、ゲーム装置10−1〜3をそれぞれ操作する3名のユーザU−A,U−B,U−Cが協力して第1チームを操作し、コンピュータが第2チームを操作することとして説明する。なお、「ユーザU−A,U−B,U−Cが協力して第1チームを操作する」とは、第1チームに所属する選手キャラクタがユーザU−A,U−B,U−Cによって操作されることを意味している。また、第2チームについても、1以上のユーザによって操作されるようにしてもよい。
上記のサッカーゲームは、例えばゲームサーバ30と各ゲーム装置10とが通信することによって実現される。すなわち、ゲームサーバ30の制御部31は各ゲーム装置10から受信したデータと記憶部32に記憶されるプログラム及びデータに基づいて処理を実行する。また、各ゲーム装置10の制御部11はゲームサーバ30から受信したデータと記憶部12に記憶されるプログラム及びデータに基づいて処理を実行する。このようにして、上記のサッカーゲームは実現される。
まず、上記のサッカーゲームにおいて試合が開始される前に行われる設定処理の流れについて説明する。図2はサッカーゲームの試合開始までに行われる設定処理の流れの一例を示す図である。図2に示すように、まず、第1チームを操作する複数のユーザの中から選択された代表のユーザ(例えば、ユーザU−A)は、自分達が操作するチーム(第1チーム)を予め用意された複数のチームのうちから選択する(S10)。
次に、ユーザは上記選択したチーム(以下「自分のチーム」)の戦術を設定する(S12)。S12において、制御部11は、自分のチームの戦術を設定するための画面を表示部15に表示する。この画面において、例えば、ユーザは自分のチームのフォーメーションを設定する。すなわち、ユーザは、予め用意された複数のフォーメーションのうちのいずれかを選択することによって、フォワード(FW)、ミッドフィールダー(MF)、及びディフェンダー(DF)の配置を決定する。
図3はフォーメーションの一例を示す図である。図3に示すフォーメーションは、一般的に「4−5−1」と呼ばれるフォーメーションであり、4名のディフェンダー(DF1,DF2,DF3,DF4)と、5名のミッドフィールダー(3名の攻撃的ミッドフィールダー(MF1,MF2,MF3)と2名の守備的ミッドフィールダー(MF4,MF5)を含む)と、1名のフォワード(FW1)と、ゴールキーパー(GK)と、が配置されるフォーメーションである。
上記の画面では、ユーザから、予め用意された複数のフォーメーションのうちいずれかの指定を受け付けて、第1チームのフォーメーションを設定してよい。また例えば、上記の画面では、ユーザから、予め用意された複数の作戦(例えば「左サイドアタック」、「右サイドアタック」、「中央突破」、又は「カウンターアタック」など)のうちのいずれかの指定を受け付けて、受け付けた作戦に関連付けられたフォーメーションを第1チームのフォーメーションとして設定してもよい。また例えば、上記の画面では、フォーメーション毎に設定されている各ポジションの位置を、ユーザが任意に調整できるようにしてもよい。
なお以下では、ゴールラインGLa,GLbと、左サイドラインSL1と、右サイドラインSL2と、によって囲まれた領域のことを「フィールド」と記載する。また、フィールド内の、自チーム側のゴールラインGLaとセンターラインCLとの間の領域のことを「自陣」A1001と記載する。一方、フィールド内の、対戦相手チーム側のゴールラインGLbとセンターラインCLとの間の領域のことを「敵陣」A1002と記載する。また、ゴールラインGLaに接して自陣側のゴールGaが設けられ、ゴールラインGLbに接して敵陣側のゴールGbが設けられる。
チームの戦術の設定が完了した後、ユーザは、自分のチームに所属する選手キャラクタのうちから、試合に出場する選手キャラクタを選択する(S14)。つまり、ユーザは、S12で選択されたフォーメーションの各ポジションに割り当てる選手キャラクタを選択する。このステップでは、試合に出場する選手キャラクタを選択するための画面が表示部15に表示される。例えば、18名の選手キャラクタがチームに所属している場合、ユーザは、その画面において、それら18名の選手キャラクタのうちから11名の選手キャラクタを選択する。
図4には、S14で選択された選手キャラクタを示す設定表示画面G100の一例を示す。図4に示す設定表示画面G100は、フォーメーション欄G1001及び出場選手欄G1002を含む。フォーメーション欄G1001には、S12でユーザが選択したフォーメーションが表示される。出場選手欄G1002には、ポジションごとにS14でユーザが選択した選手キャラクタ(ここでは選手名で表される)のリストが表示される。ユーザは、出場選手欄G1002に表示される選手キャラクタを変更する場合には変更アイコンP100を選択して、選手キャラクタの選択を再度実行することとしてよい。また、ユーザは、出場選手欄G1002に表示される選手キャラクタで確定する場合には決定アイコンP101を選択する。
次に、制御部31は、上記選択された第1チームの選手キャラクタを、複数の役割のいずれかにそれぞれ割り当てる。例えば、上記の複数の役割は、第1チームを操作するユーザの数に基づいて設定されることとしてよい。具体的には、例えば、第1チームを操作するユーザの数が3である場合には、攻撃(ATTACK)、攻守両方(MIDFIELD)、守備(DEFENCE)の3種類の役割が設定される。なお例えば、第1チームを操作するユーザの数が2である場合には、攻撃(ATTACK)、守備(DEFENCE)の2種類の役割が設定される。
また、上記のそれぞれの役割には2以上の選手キャラクタが割り当てられるようにする。そして、これらのそれぞれの役割への選手キャラクタの割り当ては、例えばフォーメーションにおける各選手キャラクタの位置に基づいて行われる。
具体的には、敵陣のゴールラインGLbに近い順(第1基準)で各選手キャラクタが順位付けされる。また、上記の第1基準で同じ順位の選手キャラクタ(すなわち、敵陣のゴールラインGLbからの距離が同じである選手キャラクタ)については、センターラインCLと直交し、かつ、センターラインCLの中心を通る線に近いものから順(第2基準)に順位付けされる。なお、上記の第1基準で同じ順位の選手キャラクタ(すなわち、上記線からの距離が同じである選手キャラクタ)については、右側に位置している選手キャラクタの優先度を、左側に位置している選手キャラクタの優先度よりも高くするという基準に従って(すなわち、右側に位置している選手キャラクタの順位が左側に位置している選手キャラクタの順位よりも早くなるように)順位付けされる。そして、上記の順位に基づいて、各役割に2以上の選手キャラクタが割り当てられるようにして、各役割に第1チームの各選手キャラクタが割り当てられる。
例えば、図4で設定されているフォーメーションの場合、第1チームの各選手キャラクタの順位は、順位が高いものから順に、FW1、MF1,MF3,MF2,MF5,MF4,DF2,DF1,DF4,DF3となる。
例えば、攻撃(ATTACK)の役割に割り当てる選手キャラクタの数がN1(例えば2)、攻守両方(MIDFIELD)の役割に割り当てる選手キャラクタの数がN2(例えば4)、守備(DEFENCE)の役割に割り当てる選手キャラクタの数がN3(例えば4)である場合を想定する。この場合、例えば、制御部31は、上記の基準に基づく順位が1からN1までの選手キャラクタを攻撃の役割に割り当て、順位がN1+1からN2までの選手キャラクタを攻守両方の役割に割り当て、残りの選手キャラクタを守備の役割に割り当てる。
図5には、複数の役割とそれらの役割に割り当てられる選手キャラクタとの対応関係を示す。図5に示す例では、選手キャラクタの数N1,N2,N3がそれぞれ2,4,4である場合に攻撃(ATTACK)、攻守両方(MIDFIELD)、守備(DEFENCE)に割り当てられる選手キャラクタの情報(選手ID、選手名、及びポジション)が示されている。なお、図4で設定されているフォーメーションでは、ポジション種類が「FW」である選手キャラクタは1名である。そのため、図5で示した例においては、ポジションが「FW1」である選手キャラクタに加えて、「FW1」に次に順位の高い、ポジションが「MF1」である選手キャラクタが攻撃(ATTACK)に割り当てられている。
次に、第1チームを協力して操作する3名のユーザU−A,U−B,U−Cの各々の役割を、攻撃(ATTACK)、攻守両方(MIDFIELD)、守備(DEFENCE)の中から設定する(S16)。例えば、各ユーザが所望の役割を指定できることとしてよい。そして、各ユーザから指定された役割に基づいて、各ユーザに複数の役割のいずれかを設定することとしてよい。この際に、ユーザから指定された役割が重ならない場合には、ユーザから指定された役割をそのままユーザの役割に設定することとしてよい。また、ユーザから指定された役割が重なる場合には、同じ役割を指定したユーザのうち抽選により選ばれた1人に上記の指定された役割を設定し、抽選に漏れたユーザには、指定が無かった残りの役割のいずれかを設定することとしてよい。
ここで、図6には、第1チームを協力して操作する三名のユーザU−A,U−B,U−Cにそれぞれ設定された役割の一例を示す。図6に示す例では、ユーザU−Aには攻撃(ATTACK)、ユーザU−Bには攻守両方(MIDFIELD)、ユーザU−Cには守備(DEFENCE)が設定されている。
次に、第1チームを協力して操作する3名のユーザU−A,U−B,U−Cの各々について、ユーザが試合中に操作することができる選手キャラクタである操作対象候補を選択する(S18)。例えば、各ユーザに設定された役割に割り当てられた2以上の選手キャラクタが操作対象候補として選択される。試合中において、各ユーザは、S18で操作対象候補として選択された選手キャラクタのみが操作可能である。すなわち、各ユーザは、S18で操作対象候補として選択された選手キャラクタの操作に専念することになる。
ここで、図7には、S18で選択された各役割に割り当てられた操作対象候補の情報を表示する設定表示画面G101の一例を示す。設定表示画面G101には、役割指定欄G1011と、操作対象候補表示欄G1012が含まれる。役割指定欄G1011は、複数の役割のうちのいずれかを指定するための領域である。操作対象候補表示欄G1012は、役割指定欄G1011において指定されている役割に割り当てられた操作対象候補を示す領域である。
図7に示す役割指定欄G1011には、複数の役割「ATTACK」、「MIDFIELD」、「DEFENCE」が表示され、このうちいずれかが指定可能となっている。役割指定欄G1011に表示される画像P200は、指定されている役割を示している。すなわち、指定されている役割は、画像P200に囲まれて表示されることにより、指定されていない他の役割と識別可能となっている。図7は役割「ATTACK」が指定されている場合を示しているため、図7に示す役割指定欄G1011では役割「ATTACK」が画像P200に囲まれて表示されている。なお、画像P200は、ユーザから受け付けた操作に応じて役割間で移動する。すなわち、画像P200に囲まれて表示される役割は、ユーザから受け付けた操作に応じて変わる。
また、図7に示す操作対象候補表示欄G1012には、役割指定欄G1011において指定されている役割に割り当てられた選手キャラクタが、当該指定されている役割に割り当てられていない選手キャラクタと識別可能に表示されている。例えば、操作対象候補表示欄G1012においては、役割指定欄G1011において指定されている役割に割り当てられた選手キャラクタが画像P201に囲まれて表示されることにより、当該指定されている役割に割り当てられていない選手キャラクタと識別可能となっている。
図7に示す例では、役割指定欄G1011において役割「ATTACK」が指定されているため、操作対象候補表示欄G1012において、役割「ATTACK」に割り当てられた「FW1」及び「MF1」の選手キャラクタが画像P201に囲まれて表示されている。なお例えば、役割指定欄G1011において役割「MIDFIELD」が指定された場合には、操作対象候補表示欄G1012において、画像P201に囲まれて表示される選手キャラクタが、役割「MIDFIELD」に割り当てられた「MF2」、「MF3」、「MF4」及び「MF5」の選手キャラクタに変更されることとなる。また例えば、役割指定欄G1011において役割「DEFENCE」が指定された場合には、操作対象候補表示欄G1012において、画像P201に囲まれて表示される選手キャラクタが、役割「DEFENCE」に割り当てられた「DF1」、「DF2」、「DF3」及び「DF4」の選手キャラクタに変更されることとなる。ユーザは、設定表示画面G101に示される設定内容を変更する場合には変更アイコンP100を選択する。
操作対象候補の選択が完了した場合、ユーザは決定アイコンP101を指示する。決定アイコンP101が指示された場合、試合を開始する(S20)。なお、試合開始後においても、ユーザは戦術を変更したり、試合に出場する選手を交代させたりすることができる。また、試合開始後にユーザは操作対象候補を選択し直すことができるようにしてもよい。
試合を開始すると、試合中のゲーム画面を生成するために、仮想3次元空間が記憶部32に構築される。図8は仮想3次元空間の一例を示す。図8に示すように、仮想3次元空間Vには、サッカーフィールドを表すオブジェクトであるフィールドFが配置される。フィールドF上には例えばゴールラインGLa,GLb、左サイドラインSL1、右サイドラインSL2、及びセンターラインCLが表される。また、フィールドF上には、サッカーのゴールを表すオブジェクトであるゴールGa,Gbと、サッカー選手を表すオブジェクトである選手キャラクタCと、サッカーボールを表すオブジェクトであるボールBと、が配置される。
ゴールの一方は第1チームに対応づけられ、他方は第2チームに対応づけられる。いずれか一方のチームに対応づけられたゴール内にボールBが移動すると、他方のチームの得点イベントが発生する。
図8では省略されているが、フィールドF上には、第1チームに所属する11名の選手キャラクタCと、第2チームに所属する11名の選手キャラクタCと、が配置される。例えば、試合開始時のフィールドF上には、S14で第1チームに所属する選手キャラクタのうちからユーザが選択した11名の選手キャラクタCと、第2チームに所属する選手キャラクタのうちからコンピュータが選択した11名の選手キャラクタCと、が配置される。
選手キャラクタCとボールBとが近づくと、所定条件の下、その選手キャラクタCとボールBとが関連づけられる。この場合、ボールBは選手キャラクタCに従動する。この様子は選手キャラクタCのドリブル動作として表される。以下では、ボールBが選手キャラクタCに関連づけられた状態のことを「選手キャラクタCがボールBを保持している」というように記載する。
ある選手キャラクタCがボールBを保持している状態において、他の選手キャラクタCとボールBとが近づくと、所定条件の下、該他の選手キャラクタCとボールBとが関連づけられる。このようにして、選手キャラクタCは他の選手キャラクタCが保持するボールBを奪取する。
また、仮想3次元空間Vには仮想カメラVC(視点)が設定される。例えば、仮想カメラVCはボールBの移動に基づいて仮想3次元空間V内を移動する。仮想3次元空間Vを仮想カメラVCから見た様子を表すゲーム画面が表示部15に表示される。
図9は試合中のゲーム画面G102の一例を示す。図9に示すゲーム画面G102には、7名の選手キャラクタC−1〜C−7が表示されている。そのうち、6名の選手キャラクタC−1〜C−6は第1チームに所属する選手キャラクタCであり、残りの1名の選手キャラクタC−7は第2チームに所属する選手キャラクタCである。
ここで、第1チームの選手キャラクタCのうち、選手キャラクタC−1,C−2の足下には、ユーザU−Aの操作対象候補であることを示す第1マーク画像MAが表示されている。また、選手キャラクタC−3〜C−5の足下には、ユーザU−Bの操作対象候補であることを示す第2マーク画像MBが表示されている。そして、選手キャラクタC−6の足下には、ユーザU−Cの操作対象候補であることを示す第3マーク画像MCが表示されている。なお、ユーザの操作対象候補であることを示すマーク画像(例えば第1マーク画像MA、第2マーク画像MB、第3マーク画像MC)は、必ずしも表示されなくともよい。
また、選手キャラクタC−1の頭上には、ユーザU−Aが操作している選手キャラクタCを示す操作対象指示マーク画像TAが表示されている。また、選手キャラクタC−3の頭上には、ユーザU−Bが操作している選手キャラクタCを示す操作対象指示マーク画像TBが表示されている。選手キャラクタC−6の頭上には、ユーザU−Cが操作している選手キャラクタCを示す操作対象指示マーク画像TCが表示されている。
各ユーザの操作対象は、図2のS18で各ユーザについて操作対象候補として選択された選手キャラクタCのうちで、ボールの移動又はユーザの切替指示操作に基づいて切り替わる。具体的には、例えばユーザU−Aについては、ユーザU−Aの操作対象候補である選手キャラクタC−1,C−2のうちで、ボールの移動又はユーザの切替指示操作に基づいて操作対象が切り替わることとなる。
例えば、操作対象候補として選択された選手キャラクタCのうちで、ボールBに最も近い選手キャラクタCがユーザの操作対象に設定される。このため、図9に示す状態では、ユーザU−Aの操作対象候補である選手キャラクタC−1,C−2のうちで、ボールBに最も近い選手キャラクタC−1がユーザU−Aの操作対象に設定されている。また、図9に示す状態において、選手キャラクタC−1から選手キャラクタC−3へのパスが実行された場合、選手キャラクタC−2の方が選手キャラクタC−1よりも選手キャラクタC−3(ボールB)に近くなるため、ユーザU−Aの操作対象が選手キャラクタC−1から選手キャラクタC−2に切り替わる。このように、操作対象候補として選択されている選手キャラクタCのうちで、ボールBに最も近い選手キャラクタCがユーザの操作対象に設定される。
また例えば、ユーザが切替指示操作を行った場合、操作対象候補として選択されている選手キャラクタCのうちで、その時点でユーザの操作対象になっている選手キャラクタCの次にボールBに近い選手キャラクタCが、ユーザの操作対象に設定される。例えば、図9に示す状態でユーザU−Bが切替指示操作を行った場合、ユーザU−Bの操作対象が、ユーザU−Bの操作対象候補である選手キャラクタC−3〜C−5のうちで、選手キャラクタC−3の次にボールBに近い選手キャラクタC−4に切り替わる。
ユーザの操作対象の選手キャラクタCはユーザの操作に基づいて動作する。例えば、ユーザの操作対象の選手キャラクタCはユーザの方向指示操作に従って移動する。また例えば、ユーザの操作対象の選手キャラクタCがボールBを保持しているような場合、当該選手キャラクタCは、ユーザのパス又はシュート指示操作に従って、パス又はシュート動作を行う。
一方、第1チームに属する選手キャラクタCのうち、ユーザの操作対象になっている選手キャラクタC以外の選手キャラクタC(以下「味方選手キャラクタ」と呼ぶ。)は所定のアルゴリズムに従って行動する。例えば、各味方選手キャラクタの行動は、その味方選手キャラクタのポジション(FW,MF,DF,GK)と、図2のS12でユーザが選択した作戦と、に基づいて制御される。すなわち、味方選手キャラクタは、ユーザが選択した作戦に従って、自らのポジションに沿った行動を行うように制御される。
なお、第2チームに所属する選手キャラクタCも所定のアルゴリズムに従って行動する。第2チームに対しても戦術が設定されており、第2チームに所属する選手キャラクタCはその戦術に基づいて行動するように制御される。第2チームの戦術は制御部31によって設定される。例えば、複数の戦術のうちの、予め定められた戦術が第2チームに設定される。また例えば、複数の戦術のうちから、乱数に基づいて選択された戦術が第2チームに設定される。
また、試合が終了した後には、試合結果を表示する試合結果画面に加えて、例えば図10に示される役割評価結果画面G103が表示部15に表示される。役割評価結果画面G103には、第1チームを協力して操作した各ユーザに設定された役割ごとにスタッツ情報が表示される。スタッツ情報は、試合中のゲームプレイに対する評価情報や、試合中のゲームプレイ内容に関する統計情報を含む。図10に示した例では、評価情報として評価点が表示され、統計情報として、試合において行われた各種行動に関する統計情報が表示されている。例えば、統計情報として、試合においてあげられた得点、試合中に行われた各種行動の回数や、試合中に各種行動が成功した回数等が表示されている。具体的には、統計情報として、得点、アシスト、シュート数(枠内シュート数)、パス数(成功パス数)、クロス数、ファール数(オフサイド数)、インターセプト数、タッチ数、ドリブル距離、タックル数(成功タックル数)が表示されている。なお、これら項目のうち、「枠内シュート数」とは、ゴールの枠内に向かってボールが移動したシュートの回数を示す。「成功パス数」とは、パスが成功した回数(すなわち、パスが味方の選手キャラクタによって受け取られた回数)を示す。「インターセプト数」とは、対戦相手チームの選手キャラクタからボールを奪った回数を示す。「タッチ数」とは、ボールに触った回数を示す。「ドリブル距離」とは、試合中にドリブルで移動した累計距離を示す。「成功タックル数」とは、タックルによって対戦相手チームの選手キャラクタからボールを奪った回数を示す。また、評価点は統計情報の各値に基づいて算出される。例えば、評価点は、統計情報の各値を予め定められた数式に代入することで算出される。
各役割のスタッツ情報は、その役割が設定されたユーザのスタッツ情報を示す。例えば、攻撃(ATTACK)のスタッツ情報は、役割として攻撃(ATTACK)が設定されたユーザU−Aのスタッツ情報を示す。すなわち、攻撃(ATTACK)に関連付けて表示されている評価点は、役割として攻撃(ATTACK)が設定されたユーザU−Aの評価点を示す。なお例えば、評価点は、ユーザU−Aが役割(攻撃)に沿ったゲームプレイを行ったか否かに基づいて決定される。言い換えれば、評価点は、ユーザU−Aが操作した選手キャラクタが役割(攻撃)に沿った行動を行ったか否かに基づいて決定される。ユーザU−Aが役割に沿ったゲームプレイを行った場合には評価点が高くなる。すなわち、ユーザU−Aが操作した選手キャラクタが役割(攻撃)に沿った行動を行った場合には評価点が高くなる。また例えば、攻撃(ATTACK)に関連付けて表示されている得点、シュート数やパス数等やクロス数は、役割として攻撃(ATTACK)が設定されたユーザU−Aの得点、シュート数やパス数等(すなわち、ユーザU−Aが操作する選手キャラクタの得点、シュート数やパス数)を示す。
役割評価結果画面G103に表示される各役割のスタッツ情報により、第1チームを協力して操作した各ユーザが各自の役割に沿ったゲームプレイをどの程度行ったかを把握することができる。
以上のように、本実施の形態では、第1チームを協力して操作する複数のユーザは、それぞれ自分に設定された役割に基づいて選択された操作対象候補である複数の選手キャラクタのうちで操作対象を切り替えてゲームをプレイすることができる。これにより、第1チームを協力して操作する各ユーザは、例えば自分に設定された攻撃、攻守両方、守備のいずれかの役割に専念してゲームをプレイすることができる。
また、本実施の形態では、第1チームに含まれる選手キャラクタの基本位置に基づいて、各役割に対応する選手キャラクタとして、第1チームに含まれるキャラクタのうちから複数のキャラクタが選択される。このため、仮に、第1チームのフォーメーションとして、特定のポジション(例えばフォワード)が存在しないようなフォーメーションが設定されたとしても、ユーザの役割に対応するキャラクタとして複数のキャラクタが選択されるようになる。本実施の形態によれば、ユーザの操作対象候補が存在しなくなってしまうという不都合を回避ことが可能になる。このため、例えば、仮に、第1チームのフォーメーションとして、攻撃に専念するポジションであるフォワードが存在しないようなフォーメーションが設定されたとしても、攻撃に専念する役割を担うユーザが必ずキャラクタを操作できるようになる。
[3.ゲームシステム1において実現される機能]
次に、以上に説明したような機能を実現するためにゲームシステム1に備えられた構成について説明する。まず、ゲームシステム1の概要について説明する。
ゲームシステム1は、ユーザによって操作される第1のキャラクタグループと、第2のキャラクタグループとの間で行われるスポーツの試合のゲームを実行するシステムである。
上記の「キャラクタグループ」とは、複数のキャラクタが所属するグループである。すなわち、複数のキャラクタによって構成されるグループともいえる。言い換えれば、上記の「キャラクタグループ」とは、複数のキャラクタを構成員(メンバ)とするグループである。さらに言い換えれば、「キャラクタグループ」とは、共通の目的を達成することを目指すキャラクタの集団である。例えば、「キャラクタグループ」とは、同一のキャラクタグループ識別情報と関連付けられた複数のキャラクタのことであり、「キャラクタグループに所属する複数のキャラクタ」とは、当該キャラクタグループを示すキャラクタグループ識別情報と関連付けられている複数のキャラクタのことである。
上記の「キャラクタグループ」はチームと言い換えることもできる。例えば、第1のチームと第2のチームとの間で行われるスポーツの試合のゲームの場合、第1チームに所属するキャラクタであって、かつ、試合に出場する複数のキャラクタが「第1のキャラクタグループ」の一例に相当する。また、第2チームに所属するキャラクタであって、かつ、試合に出場する複数のキャラクタが「第2のキャラクタグループ」の一例に相当する。なお、スポーツの試合のゲームの場合、「キャラクタ」とは選手を示すオブジェクトであり、ユーザの操作対象になり得るものである。
また、上記の「スポーツ」とは、定められたルールの下で、主に勝敗を競う目的で行われる競技全般のことである。例えば、上記の「スポーツ」は、二つのチーム(グループ)間で勝敗を競う目的で行われる競技である。例えば、「スポーツ」は、二つのチームに属する選手が互いにフォーメーション(隊形)を組んで行われる競技である。
例えば、上記の「スポーツ」は、移動体を用いて行われる競技(すなわち球技)である。ここで、上記の「移動体」とは、選手によって各種動作が行われることによって移動する物体である。例えば、「移動体」は、選手が移動体を蹴ったり、移動体を投げたり、移動体を持って移動したり、移動体を地面につきながら移動(ドリブル)したりすることによって移動する物体である。
また例えば、上記の「スポーツ」は、所定の領域内に移動体を移動した場合に得点が入るような競技である。例えばサッカー、バスケットボール、アイスホッケー、又はアメリカンフットボール等が上記の「移動体を用いて行われる競技」に相当する。例えば、サッカー、バスケットボール、アイスホッケー、又はアメリカンフットボール等の場合、ボール又はパック等が上記の「移動体」に相当する。また例えば、サッカーゲーム、バスケットボール、又はアイスホッケーゲームにおけるゴールや、アメリカンフットボールゲームにおけるエンドゾーンが上記「領域」に相当する。なお、移動体は、双方のチームによる奪い合いの目的(対象)ともなる物体であるため、移動体は目的物と言い換えることも可能である。また、上記の「スポーツ」は現実の世界に存在するスポーツに限られない。架空のスポーツであってもよい。
また、上記の「試合」とは、スポーツで勝敗を競うことである。例えば、二つのチームの間で行われるスポーツの場合、「試合」とは、それら二つのチームの間でスポーツを行うことによって勝敗を競うことである。「試合」には練習目的で行われる練習試合も含まれる。すなわち、「試合」には、勝敗を競うことよりも、選手の技能を向上させたり、選手の状態を整えたりすることを重視する試合も含まれる。また「試合」は対戦又は勝負等と言い換えることもできる。
また例えば、上記の「ゲーム」は、第1の領域内に移動体を移動した場合に第1のキャラクタグループに得点が入るゲームである。また、上記の「ゲーム」は、第2の領域内に移動体を移動した場合に第2のキャラクタグループに得点が入るゲームである。例えば、サッカーゲーム、バスケットボールゲーム、アイスホッケーゲーム、又はアメリカンフットボールゲーム等が上記の「ゲーム」の一例に相当する。
例えば、サッカーゲーム、バスケットボール、又はアイスホッケーゲームの場合、上記の「第1の領域」とは、第1のキャラクタグループがボール又はパックを入れるべきゴールである。言い換えれば、「第1の領域」とは、第2のキャラクタグループが守るべきゴールである。要するに、「第1の領域」とは、第1のキャラクタグループにとって、敵陣側に配置されているゴールである。また例えば、アメリカンフットボールゲームの場合、上記の「第1の領域」とは、第1のキャラクタグループのキャラクタがボールを持ち込むべきエンドゾーンである。言い換えれば、上記の「第1の領域」とは、第2のキャラクタグループが守るべきエンドゾーンである。要するに、上記の「第1の領域」とは、第1のキャラクタグループにとって、敵陣側にあるエンドゾーンである。
また例えば、サッカーゲーム、バスケットボール、又はアイスホッケーゲームの場合、上記の「第2の領域」とは、第2のキャラクタグループがボール又はパックを入れるべきゴールである。言い換えれば、「第2の領域」とは、第1のキャラクタグループが守るべきゴールである。要するに、「第2の領域」とは、第1のキャラクタグループにとって、自陣側に配置されているゴールである。また例えば、アメリカンフットボールゲームの場合、上記の「第2の領域」とは、第2のキャラクタグループのキャラクタがボールを持ち込むべきエンドゾーンである。言い換えれば、上記の「第2の領域」とは、第1のキャラクタグループが守るべきエンドゾーンである。要するに、上記の「第2の領域」とは、第1のキャラクタグループにとって、自陣側にあるエンドゾーンである。
なお、試合が行われるフィールド(サッカーの場合:二本のタッチラインと二本のゴールラインとに囲まれた矩形領域)をセンターラインで二つの領域に分けた領域のうちの、第1のキャラクタグループが守るべきゴール(エンドゾーン)がある側の領域が第1のキャラクタグループの「自陣」であり、第2のキャラクタが守るべきゴール(エンドゾーン)がある側の領域が第1のキャラクタグループの「敵陣」である。
また、「キャラクタグループを操作するユーザ」とは、キャラクタグループに含まれるキャラクタのうちの少なくとも一つのキャラクタの操作を担当するユーザである。
また、第1のキャラクタグループに含まれるキャラクタは複数のユーザによって操作されることとしてよい。例えば、複数のユーザが、第1のキャラクタグループに含まれるキャラクタのうちそれぞれ異なるキャラクタの操作を担当することとしてよい。また例えば、第1のキャラクタグループに含まれるそれぞれのキャラクタを、複数のユーザのいずれかに割り当て、複数のユーザはそれぞれ割り当てられたキャラクタの操作を担当することとしてよい。
次に、図11に基づき、ゲームシステム1に備えられる機能について説明する。図11は、ゲームシステム1で実現される機能のうち、本発明に関連する機能を示す機能ブロック図である。
図11に示すように、ゲーム装置10は、機能として役割指定受付部100、フォーメーション指定受付部110、操作受付部120、ゲーム画面表示制御部130、評価情報表示制御部140を含む。ゲーム装置10では、ゲーム装置10の制御部11が記憶部12に記憶されるプログラムに従って処理を実行することにより、ゲーム装置10に含まれる上記の各機能を実現することとしてよい。
また、図11に示すように、ゲームサーバ30は、機能としてデータ記憶部300、ユーザ役割設定部310、基本位置取得部320、キャラクタ役割設定部330、操作対象候補選択部340、ゲーム実行部350を含む。ゲームサーバ30では、ゲームサーバ30の制御部31が記憶部32に記憶されるプログラムに従って処理を実行することにより、ゲームサーバ30に含まれる上記の各機能を実現することとしてよい。
[3.1.データ記憶部300]
データ記憶部300は、例えば主としてゲームサーバ30の記憶部32により実現される。なお、データ記憶部300は、ゲームサーバ30とデータ通信可能な他の装置に含まれる記憶部により実現されることとしてもよい。データ記憶部300は、ゲームシステム1において実行されるゲームのために必要な各種データを記憶する。以下では、ゲームシステム1で実行される「ゲーム」が、第1チームと第2チームとの間のサッカーの試合を模したサッカーゲームである場合を例として説明する。なお、第1チームは複数のユーザU−A,U−B,U−Cにより操作されることとする。
以下、データ記憶部300に記憶されるデータの一例である、キャラクタ役割設定制御テーブルTBL101、ゲーム状況データテーブルTBL102について説明する。
[3.1.1.キャラクタ役割設定制御テーブルTBL101]
キャラクタ役割設定制御テーブルTBL101は、第1チームを操作するユーザ数、第1チームのフォーメーション、各役割に割り当てられる選手キャラクタの関係を定めたデータテーブルである。
図12には、キャラクタ役割設定制御テーブルTBL101の一例を示す。図12に示されるように、キャラクタ役割設定制御テーブルTBL101は、「ユーザ数」と「フォーメーション」との組み合わせと、「役割」との対応関係を記憶している。なお、上記の「ユーザ数」は、第1チームを操作するユーザの人数を示す。また、上記の「フォーメーション」は、第1チームのフォーメーションを示す。例えば、上記の「フォーメーション」は、第1チームのフォーメーションを構成するフォワード(FW)、ミッドフィールダー(MF)、ディフェンダー(DF)の人数を示す。さらに、上記の「役割」は、第1チームに含まれる各選手キャラクタにどのようにして役割を割り当てるのかを示す。
なお、図12において、「役割」欄における「1」〜「10」の数字は選手キャラクタの順位を示している。詳しくは後述するが、選手キャラクタの順位は選手キャラクタの基本位置に基づいて決定される。また、「役割」欄における「A」,「M」,「D」のアルファベットは、それぞれ、攻撃(ATTACK)、攻守両方(MIDFIELD)、守備(DEFENCE)の役割を示している。
例えば、図12に示す例は、第1チームを操作するユーザの人数が3名であり、かつ、第1チームのフォーメーションを構成するフォワード(FW)、ミッドフィールダー(MF)、ディフェンダー(DF)の人数がそれぞれ1,5,4名である場合に、順位が第1,2番目の選手キャラクタに攻撃(ATTACK)の役割が割り当てられ、順位が第3〜6番目の選手キャラクタに攻守両方(MIDFIELD)の役割が割り当てられ、順位が第7〜10番目の選手キャラクタに守備(DEFENCE)の役割が割り当てられることを示している。
なお、役割の種類の数は、第1チームを操作するユーザの人数に基づいて変わるようになっている。例えば、第1チームを操作するユーザの人数が3名である場合には、役割の種類が攻撃(ATTACK)、攻守両方(MIDFIELD)、守備(DEFENCE)の3種類となる。また例えば、第1チームを操作するユーザの人数が2名である場合には、役割の種類が攻撃(ATTACK)、守備(DEFENCE)の2種類となる。例えば、図12に示す例では、第1チームを操作するユーザの人数が2名であり、かつ、第1チームのフォーメーションを構成するフォワード(FW)、ミッドフィールダー(MF)、ディフェンダー(DF)の人数がそれぞれ1,5,4名である場合に、順位が第1〜5番目の選手キャラクタに攻撃(ATTACK)の役割が割り当てられ、順位が第6〜10番目の選手キャラクタに守備(DEFENCE)の役割が割り当てられることを示している。
[3.1.2.ゲーム状況データテーブルTBL102]
また、データ記憶部300にはさらに、サッカーゲームの現在の状況を示すゲーム状況データを管理するゲーム状況データテーブルTBL102が記憶される。図13には、ゲーム状況データテーブルTBL102の一例を示す。図13に示すゲーム状況データは、「選手ID」、「出場フラグ」、「ポジション」、「操作対象候補フラグ」、「操作対象フラグ」、「ボール保持フラグ」フィールドを含んでいる。
「選手ID」は選手キャラクタを一意に識別する情報である。図13において、選手IDが「P101」〜「P118」である選手キャラクタは第1チームに所属する選手キャラクタであり、選手IDが「P201」〜「P218」である選手キャラクタは第2チームに所属する選手キャラクタである。
「出場フラグ」は0,1,2の値をとる。値「0」は選手キャラクタがまだ試合に出場していないことを示す。値「1」は選手キャラクタが試合に出場中であることを示す。値「2」は選手キャラクタが試合に出場していたが、他の選手キャラクタと交代し、現在は試合に出場していないことを示す。
「操作対象候補フラグ」は、選手キャラクタが操作対象候補として選択されているか否かを示し、0又は1の値をとる。値「0」は選手キャラクタが操作対象候補でないことを示し、値「1」は選手キャラクタが操作対象候補であることを示す。なお、「操作対象候補フラグ」は、例えば第1チームを操作する複数のユーザのそれぞれについて設けられることとしてよい。
「操作対象フラグ」は、選手キャラクタがユーザの操作対象になっているか否かを示し、0又は1の値をとる。値「0」は、現在、選手キャラクタがユーザの操作対象になっていないことを示し、値「1」は、現在、選手キャラクタがユーザの操作対象になっていることを示す。なお、「操作対象フラグ」は、例えば第1チームを操作する複数のユーザのそれぞれについて設けられることとしてよい。
「ボール保持フラグ」は、選手キャラクタがボールを保持しているか否かを示し、0又は1の値をとる。値「0」は、現在、選手キャラクタがボールを保持していないことを示し、値「1」は、現在、選手キャラクタがボールを保持していることを示す。
なお図13では省略されているが、ゲーム状況データには、以上の情報の他、例えば、仮想3次元空間Vに配置された選手キャラクタの現在の状態(例えば位置や姿勢など)を示すデータも含まれる。また例えば、ボールの現在の状態(例えば位置、移動方向及び移動速度)を示すデータや、仮想カメラVCの現在の状態(例えば位置や視線方向)を示すデータがデータ記憶部300に記憶される。さらに例えば、両チームの得点を示すデータや、経過時間を示すデータもデータ記憶部300に記憶される。
[3.2.役割指定受付部100]
役割指定受付部100は、例えば主としてゲーム装置10の制御部11、記憶部12、通信部13、入力部14により実現される。
役割指定受付部100は、サッカーゲーム(サッカーの試合)におけるユーザの役割として複数の役割のいずれかの指定を受け付ける。なお、上記の「役割」とは、試合においてユーザが果たすべき役割である。言い換えれば、「役割」とは、試合においてユーザが遂行すべき行動を示す。さらに言い換えれば、「役割」とは、試合においてユーザに要求(期待)される行動を示す。例えば、サッカーゲームの場合、攻撃(ATTACK)、攻守両方(MIDFIELD)、守備(DEFENCE)が上記の「役割」に相当する。攻撃(ATTACK)は、攻撃に専念する役割である。守備(DEFENCE)は、守備に専念する役割である。攻守両方(MIDFIELD)は、攻撃と守備との両方を行う役割である。また、ユーザの役割とは、ユーザの識別情報に関連付けて記憶される役割情報が示す役割としてよい。
例えば、役割指定受付部100は、複数の役割の中から、入力部14によりユーザから指定された役割の情報を、通信部13によりゲームサーバ30に送信することとしてよい。また、複数の役割における役割の数は、第1のキャラクタグループを操作するユーザの数以上としてよい。
[3.3.ユーザ役割設定部310]
ユーザ役割設定部310は、例えば主としてゲームサーバ30の制御部31、記憶部32、通信部33により実現される。
ユーザ役割設定部310は、サッカーゲーム(スポーツのゲームの一例)におけるユーザの役割として複数の役割のいずれかを設定する。
例えば、ユーザ役割設定部310は、第1のチーム(第1のキャラクタグループの一例)に含まれる選手キャラクタ(キャラクタの一例)が複数のユーザによって操作される場合には、複数のユーザの各々について、試合における当該ユーザの役割として複数の役割のいずれかを設定する。
例えば、ユーザ役割設定部310は、複数の役割のうちからユーザによって選択された役割をユーザの役割として設定する。例えば、ユーザ役割設定部310は、第1チームを操作する複数のユーザの各々から役割指定受付部100により受け付けた役割の情報に基づいて、ユーザの役割を設定する。そして、ユーザ役割設定部310は、第1のチームを操作する複数のユーザの各々から指定された役割が重ならない場合には、各ユーザから指定された役割をそのまま各ユーザの役割として設定することとしてよい。一方、ユーザ役割設定部310は、第1のチームを操作する複数のユーザの各々から指定された役割の少なくとも一部が重なる場合には、同じ役割を指定したユーザのうち抽選により選ばれた1名に上記の指定された役割を設定し、抽選に漏れたユーザには、指定が無かった残りの役割のいずれかを設定することとしてよい。
なお例えば、ユーザ役割設定部310は、複数の役割のうちからコンピュータによって選択された役割をユーザの役割として設定するようにしてもよい。
[3.4.フォーメーション指定受付部110]
フォーメーション指定受付部110は、例えば主としてゲーム装置10の制御部11、記憶部12、通信部13、入力部14により実現される。
フォーメーション指定受付部110は、第1チームのフォーメーションの指定を受け付ける。なお、「フォーメーション」とは、チームに含まれる複数の選手キャラクタの隊形(基本配置)である。例えば、サッカーゲームの場合、「4−5−1」、「4−4−2」や、「3−5−2」等と呼ばれるフォーメーションが「フォーメーション」の一例に相当する。
例えば、フォーメーション指定受付部110は、複数のフォーメーションの中からユーザによって選択されたフォーメーションを、第1チームのフォーメーションとして受け付ける。
また例えば、フォーメーション指定受付部110は、ユーザによって作成されたフォーメーションを、第1チームのフォーメーションとして受け付けるようにしてもよい。すなわち、フォーメーション指定受付部110は、ユーザによって各ポジションの位置が調整されたフォーメーションを、第1チームのフォーメーションとして受け付けるようにしてもよい。
また例えば、フォーメーション指定受付部110は、第1のチームの作戦の指定を受け付け、その作戦に関連付けられたフォーメーションを第1チームのフォーメーションとして扱ってもよい。
なお例えば、フォーメーション指定受付部110は、第1チームのフォーメーションの指定を、第1チームを協力して操作する複数のユーザのうち代表の1人からのみ受け付けることとしてもよい。
また例えば、フォーメーション指定受付部110は、ユーザによって指定された第1チームのフォーメーションを示すデータを、通信部13によりゲームサーバ30に送信する。このデータには、例えば、ユーザによって指定されたフォーメーションの種類を示すデータ、又はフォーメーションにおける各選手キャラクタ(各ポジション)の位置を示すデータが含まれる。
[3.5.基本位置取得部320]
基本位置取得部320は、例えば主としてゲームサーバ30の制御部、記憶部により実現される。
基本位置取得部320は、第1チームのフォーメーションデータに基づいて、第1チームに含まれる選手キャラクタの基本位置を取得する。
なお、上記の「フォーメーションデータ」とは、フォーメーションを示すデータである。また、また、「フォーメーションデータ」とは、例えば、フォーメーションの種類や、フォーメーションにおける各選手キャラクタ(各ポジション)の位置を示すデータである。
また、上記の「基本位置」とは、試合における選手キャラクタの基本位置である。すなわち、「基本位置」とは、試合における選手キャラクタの行動の基礎となる位置である。試合中において選手キャラクタは基本位置に応じた範囲内で行動することになるため、「基本位置」は、試合中における選手キャラクタの行動範囲を示すということもできる。また例えば、「基本位置」とは、フォーメーションにおける選手キャラクタの位置である。また例えば、「基本位置」とは、試合開始時における選手キャラクタの位置である。例えばサッカーゲームの場合、「基本位置」とは、キックオフ時における選手キャラクタのフィールド上の位置ということもできる。
例えば、基本位置取得部320は、フォーメーション指定受付部110からゲームサーバ30に送信されたデータに基づいて、第1チームのフォーメーションを特定し、第1チームに含まれる選手キャラクタの基本位置を取得することとしてよい。
[3.6.キャラクタ役割設定部330]
キャラクタ役割設定部330は、例えば主としてゲームサーバ30の制御部31、記憶部32により実現される。
キャラクタ役割設定部330は、基本位置取得部320により取得された第1チームに含まれる選手キャラクタの基本位置に基づいて、複数の役割の各々に対応する選手キャラクタとして、第1チームに含まれる選手キャラクタのうちから複数の選手キャラクタを設定する。なお、上記の「複数の役割の各々に対応する選手キャラクタ」とは、複数の役割の各々を果たすのに適した選手キャラクタである。
例えば、先述のサッカーゲーム(図8参照)のように、ゴールGb(第1の領域の一例)内にボールB(移動体の一例)が移動した場合に第1チームに得点が入るゲームの場合、キャラクタ役割設定部330は、ゴールGbと、第1チームに含まれる選手キャラクタの基本位置との間の距離に基づいて、複数の役割の各々に対応する選手キャラクタを設定することとしてよい。例えば、キャラクタ役割設定部330は、第1チームに含まれる選手キャラクタの基本位置とゴールGbとの距離に基づいて、第1チームに含まれる選手キャラクタの順序情報を決定し、決定した順序情報に基づいて、第1チームに含まれる選手キャラクタを複数の役割に割り当てることとしてよい。
キャラクタ役割設定部330は、キャラクタ数決定部331、キャラクタ順序決定部332、キャラクタ設定部333を含み、各部で実行される処理により上述した機能を実現することとしてよい。以下、キャラクタ役割設定部330に含まれる機能の詳細について説明する。
[3.6.1.キャラクタ数決定部331]
キャラクタ数決定部331は、第1チームのフォーメーションデータと、第1チームを操作するユーザ数とに基づいて、複数の役割の各々に対応する選手キャラクタとして選択されるべき選手キャラクタの数を決定する。
例えば、キャラクタ数決定部331は、第1チームのフォーメーションデータと、第1チームを操作するユーザ数と、データ記憶部300に記憶されるキャラクタ役割設定制御テーブルTBL101に基づいて、複数の役割の各々に対応する選手キャラクタの数を決定することとしてよい。
具体的には、キャラクタ数決定部331は、第1チームのフォーメーションデータ(FW、MF、DFの数)と、第1チームを操作するユーザ数をキーとして、キャラクタ役割設定制御テーブルTBL101の「役割」欄を参照して、複数の役割の各々に対応する選手キャラクタの数を決定することとしてよい。より具体的には、第1チームのフォーメーションデータと、第1チームを操作するユーザ数により特定される「役割」欄に含まれる、攻撃(A)の数、攻守両方(M)の数、守備(D)の数を、それぞれの役割に対応する選手キャラクタの数としてよい。
[3.6.2.キャラクタ順序決定部332]
キャラクタ順序決定部332は、第1チームに含まれる選手キャラクタの順序情報を、ゴールGb(第1の領域の一例)と、第1チームに含まれる選手キャラクタの基本位置との間の距離に基づいて設定する。
ここで、図14に基づき、キャラクタ順序決定部332による選手キャラクタの順序情報の決定方法の例について説明する。
図14には、第1チームに含まれる選手キャラクタCがフィールド上の基本位置に配置された状態を示している。図14に示すように、自陣A1001と敵陣A1002の境界にはセンターラインCLが引かれ、センターラインCLの中点であるセンターマークCMKを中心として、センターサークルCCが設けられている。また図14において、線BL(第1の基準線の一例)は、センターマークCMKを通りセンターラインCLと直交する線である。なお、この線BLは、敵陣A1002のゴールGb(第1の領域の一例)と自陣A1001のゴールGa(第2の領域の一例)を結ぶ線となっている。また図14において、基準点BPは、上記線BLと敵陣A1002側のゴールラインGLb(第2の基準線の一例)との交点である。
ここで、図14に示される距離D1は、敵陣A1002のゴールラインGLbと選手キャラクタCの基本位置との距離に相当する。なお、この距離D1は、敵陣A1002のゴールGbと選手キャラクタCの基本位置との間の、上記線BL方向(タッチライン方向)の距離に相当する。また、図14に示される距離D2は、上記線BLと選手キャラクタCの基本位置との距離に相当する。なお、この距離D1は、敵陣A1002のゴールGbと選手キャラクタCの基本位置との間の、上記線BLと直交する方向(ゴールライン方向)の距離に相当する。
まず、キャラクタ順序決定部332は、第1チームに含まれる各選手キャラクタを距離D1の短い順にソートする(第1基準)。すなわち、キャラクタ順序決定部332は、距離D1が短い選手キャラクタの順序を、距離D1が長い選手キャラクタの順序よりも早い順序に設定する。
また、距離D1が同じ複数の選手キャラクタが存在する場合、キャラクタ順序決定部332は、距離D1が当該複数の選手キャラクタについては距離D2が短い順にソートする(第2基準)。すなわち、距離D1が同じ複数の選手キャラクタが存在する場合、キャラクタ順序決定部332は、当該複数の選手キャラクタのうちで、距離D2が短い選手キャラクタの順序を、距離D2が長い選手キャラクタの順序よりも早い順序に設定する。
また、距離D1と距離D2の両方が等しい複数の選手キャラクタが存在する場合、キャラクタ順序決定部332は、上記線BLに対して一方の側(例えば右側)に位置する選手キャラクタの順序を、上記線BLに対して他方の側(例えば左側)に位置する選手キャラクタの順序よりも早い順序に設定する。
ここで、図15には、第1チームのフォーメーションが図3及び図4に示したフォーメーションである場合に、上記の基準に基づいて設定される各選手キャラクタの順序情報を示した。図15には、順序と、各順序に対応する第1チームに含まれる選手キャラクタの識別情報(選手ID)、選手名、ポジションの対応関係が示されている。
[3.6.3.キャラクタ設定部333]
キャラクタ設定部333は、キャラクタ数決定部331の決定結果と、キャラクタ順序決定部332により決定した順序情報に基づいて、第1チームに含まれる選手キャラクタのうちから複数の役割の各々に対応する選手キャラクタを設定する。
例えば、キャラクタ設定部333は、キャラクタ順序決定部332により決定した順序情報と、図12に示されたキャラクタ役割設定制御テーブルTBL101とに基づいて、第1チームに含まれる選手キャラクタのうちから複数の役割の各々に対応する選手キャラクタを設定する。すなわち、キャラクタ設定部333は、キャラクタ順序決定部332により決定した順序情報に基づいて、キャラクタ数決定部331により決定した複数の役割の各々に対応する選手キャラクタとして決定された数の選手キャラクタを、第1チームに含まれる選手キャラクタのうちから順番に選択する。例えば役割が攻撃、攻守両方、守備の3種類である場合には、キャラクタ設定部333は、攻撃、攻守両方、守備の順に、上位の順序の選手キャラクタから役割を割り当てる。例えば役割が攻撃、守備の2種類である場合には、キャラクタ設定部333は、攻撃、守備の順に、上位の順序の選手キャラクタから役割を割り当てる。
例えば、第1チームを操作するユーザが3名であり、第1チームのフォーメーションを構成するフォワード(FW)、ミッドフィールダー(MF)、ディフェンダー(DF)の人数がそれぞれ1,5,4名である場合には、攻撃(ATTACK)の役割に割り当てられる選手キャラクタの数は2名であるため(図12)、図16に示されるように、攻撃(ATTACK)の役割に対応する選手キャラクタとして、キャラクタ順序決定部332により決定された順序が第1〜2番目の選手キャラクタが設定される。なお、図16においては、「A」が攻撃(ATTACK)の役割が設定された選手キャラクタを示す。
また、攻守両方(MIDFIELD)の役割に割り当てられる選手キャラクタの数は4名であるため(図12)、攻守両方(MIDFIELD)の役割に対応する選手キャラクタとして、キャラクタ順序決定部332により決定された順序が第3〜6番目の選手キャラクタが設定される。なお、図16においては、「M」が攻守両方(MIDFIELD)の役割が設定された選手キャラクタを示す。
さらに、守備(DEFENCE)の役割に割り当てられる選手キャラクタの数は4名であるため(図12)、守備(DEFENCE)の役割に対応する選手キャラクタとして、キャラクタ順序決定部332により決定された順序が第7〜10番目の選手キャラクタが設定される。なお、図16においては、「D」が守備(DEFENCE)の役割が設定された選手キャラクタを示す。
以上のように、キャラクタ役割設定部330は、敵陣A1002のゴールGbに近い選手キャラクタから順に、攻撃(ATTACK)、攻守両方(MIDFIELD)、守備(DEFENCE)の役割を割り当てるようになっている。
なお、キャラクタ役割設定部330は、自陣A1001のゴールGaに近い選手キャラクタから順に、守備(DEFENCE)、攻守両方(MIDFIELD)、攻撃(ATTACK)の役割を割り当てるようにしてもよい。
例えば、先述のサッカーゲーム(図8)のように、ゴールGa(第2の領域の一例)内にボールB(移動体の一例)が移動した場合に第2チームに得点が入るゲームの場合、キャラクタ役割設定部330は、ゴールGaと、第1チームに含まれる選手キャラクタの基本位置との間の距離に基づいて、複数の役割の各々に対応する選手キャラクタを設定することとしてよい。例えば、キャラクタ役割設定部330は、第1チームに含まれる選手キャラクタの基本位置とゴールGaとの距離に基づいて、第1チームに含まれる選手キャラクタの順序情報を決定し、決定した順序情報に基づいて、第1チームに含まれる選手キャラクタを複数の役割に割り当てることとしてもよい。
すなわち、まず、キャラクタ順序決定部332は、第1チームに含まれる各選手キャラクタを、自陣A1001のゴールラインGLaと選手キャラクタCの基本位置との距離(以下「距離D3」と記載する。)の短い順にソートする(第1基準)。すなわち、キャラクタ順序決定部332は、距離D3が短い選手キャラクタの順序を、距離D3が長い選手キャラクタの順序よりも早い順序に設定する。
また、距離D3が同じ複数の選手キャラクタが存在する場合、キャラクタ順序決定部332は、距離D3が当該複数の選手キャラクタについては距離D2が短い順にソートする(第2基準)。すなわち、距離D3が同じ複数の選手キャラクタが存在する場合、キャラクタ順序決定部332は、当該複数の選手キャラクタのうちで、距離D2が短い選手キャラクタの順序を、距離D2が長い選手キャラクタの順序よりも早い順序に設定する。
また、距離D3と距離D2の両方が等しい複数の選手キャラクタが存在する場合、キャラクタ順序決定部332は、上記線BLに対して一方の側(例えば右側)に位置する選手キャラクタの順序を、上記線BLに対して他方の側(例えば左側)に位置する選手キャラクタの順序よりも早い順序に設定する。
そして、キャラクタ設定部333は、キャラクタ順序決定部332により決定した順序情報に基づいて、第1チームに含まれる選手キャラクタのうちから複数の役割の各々に対応する選手キャラクタを設定する。例えば役割が攻撃(ATTACK)、攻守両方(MIDFIELD)、守備(DEFENCE)の3種類である場合には、キャラクタ設定部333は、守備(DEFENCE)、攻守両方(MIDFIELD)、攻撃(ATTACK)の順に、上位の順序の選手キャラクタから役割を割り当てる。例えば役割が攻撃(ATTACK)、守備(DEFENCE)の2種類である場合には、キャラクタ設定部333は、守備(DEFENCE)、攻撃(ATTACK)の順に、上位の順序の選手キャラクタから役割を割り当てる。
[3.7.操作対象候補選択部340]
操作対象候補選択部340は、例えば主としてゲームサーバ30の制御部31、記憶部32により実現される。
操作対象候補選択部340は、ユーザ役割設定部310の設定内容及びキャラクタ役割設定部330の設定内容に基づいて、第1チームに含まれる選手キャラクタのうちから複数の操作対象候補を選択する。例えば、操作対象候補選択部340は、ユーザ役割設定部310によりユーザに設定された役割に対してキャラクタ役割設定部330により設定された複数の選手キャラクタを、当該ユーザの操作対象候補として選択する。
なお、上記の「操作対象候補」とは、ユーザの操作対象の候補である。すなわち、操作対象候補とは、ユーザの操作対象として選択されることが可能な選手キャラクタである。言い換えれば、「操作対象候補」とは、ユーザの操作対象を切り換える際に切り換え先として選択されることが可能な選手キャラクタである。また、ユーザの操作対象を切り換える場合、操作対象候補の選手キャラクタのうちから切り替え先が選択され、ユーザの操作対象が、切り替え先として選択された選手キャラクタに切り換えられることになる。すなわち、切り替え先として選択された選手キャラクタが新たな操作対象として設定されることになる。
また例えば、第1チームを複数のユーザが操作する場合には、操作対象候補選択部340は、当該複数のユーザの各々について、第1チームに含まれる選手キャラクタのうちから複数の操作対象候補を選択する。例えば、操作対象候補選択部340は、複数のユーザのそれぞれについてユーザ役割設定部310により設定された役割に対してキャラクタ役割設定部330により設定された複数の選手キャラクタを、当該それぞれのユーザの操作対象候補として選択する。
例えば、操作対象候補選択部340は、攻撃(ATTACK)の役割が設定されたユーザU−Aの操作対象候補として、攻撃(ATTACK)の役割に割り当てられた選手キャラクタを設定する。同様に、操作対象候補選択部340は、攻守両方(MIDFIELD)の役割が設定されたユーザU−Bの操作対象候補として、攻守両方(MIDFIELD)の役割に割り当てられた選手キャラクタを設定し、守備(DEFENCE)の役割が設定されたユーザU−Cの操作対象候補として、守備(DEFENCE)の役割に割り当てられた選手キャラクタを設定する。
[3.8.操作受付部120]
操作受付部120は、例えば主としてゲーム装置10の制御部11、記憶部12、通信部13、入力部14により実現される。
操作受付部120は、ユーザの操作を受け付ける。操作受付部120は、例えば入力部によってユーザの操作を受け付けることとしてよい。また、操作受付部120は、例えば入力部を介してユーザから受け付けたゲームの操作情報を、通信部によりゲームサーバ30に送信することとしてよい。例えば、ゲームの操作情報には、ユーザに対して操作対象候補選択部340により選択された複数の操作対象候補のキャラクタの中から、操作対象のキャラクタを切り替える操作、操作対象のキャラクタを行動(移動、パス、シュート、ドリブル等)させる操作等を行ったことを示す情報を含むこととしてよい。
[3.9.ゲーム実行部350]
ゲーム実行部350は、例えば主としてゲームサーバ30の制御部31、記憶部32、通信部33により実現される。
ゲーム実行部350は、例えば、データ記憶部300に記憶されるデータ及びプログラムと、操作受付部120から受け付けたユーザの操作情報とに基づいて、サッカーゲーム(ゲームの一例)を実行する。例えば、ゲーム実行部350は、ゲーム状況データ更新部351、ゲーム画面表示制御部354、評価情報取得部355、評価情報表示制御部356を含む。以下には、ゲーム実行部350に備えられる上記の各機能の詳細について説明する。
[3.9.1.ゲーム状況データ更新部351]
ゲーム状況データ更新部351は、操作受付部120から受け付けたユーザの操作情報に基づいて、ゲーム状況を示すゲーム状況データを更新する。例えば、ゲーム状況データ更新部351は、操作受付部120から受け付けたユーザの操作情報に基づいて、データ記憶部300に記憶されるゲーム状況データテーブルTBL102のデータ内容を更新することとしてよい。
また、ゲーム状況データ更新部351は、例えば、仮想3次元空間Vに配置された選手キャラクタの位置や姿勢などを示すデータも更新することとしてよい。また例えば、ゲーム状況データ更新部351は、ボールの位置、移動方向及び移動速度を示すデータや、仮想カメラVCの位置や視線方向を示すデータも更新することとしてよい。さらに例えば、ゲーム状況データ更新部351は、両チームの得点を示すデータや、経過時間を示すデータも更新することとしてよい。
なお、ゲーム状況データ更新部351は、操作対象切替部352、操作対象制御部353を含み、ゲーム状況データを更新することとしてよい。以下、ゲーム状況データ更新部351に含まれる上記の各機能の詳細について説明する。
[3.9.1.1.操作対象切替部352]
操作対象切替部352は、サッカーゲーム(サッカーの試合)中において、ユーザの操作対象を、複数の操作対象候補として選択されたキャラクタのうちで切り替える。
なお、上記の「操作対象」とは、試合中においてユーザの操作の対象となっている選手キャラクタである。言い換えれば、上記の「操作対象」とは、ユーザによって操作されている選手キャラクタである。要するに、上記の「操作対象」とは、ユーザの操作に従って動作している選手キャラクタである。
例えば、操作対象切替部352は、第1チームを操作するユーザについて操作対象候補選択部340により選択された操作対象候補の中で、ユーザの操作対象を切り替える。また例えば、操作対象切替部352は、操作受付部120から受け付けたユーザの操作情報に基づいて、ユーザについて操作対象候補選択部340により選択された複数の操作対象候補の中で、ユーザの操作対象を切り替えることとしてよい。また例えば、操作対象切替部352は、ゲーム状況データ(例えば、ユーザの操作対象候補の選手キャラクタとボールとの位置関係)に基づいて、ユーザについて操作対象候補選択部340により選択された複数の操作対象候補の中で、ユーザの操作対象を切り替えることとしてよい。
また例えば、操作対象切替部352は、ユーザの操作対象である選手キャラクタを切り替える場合には、ゲーム状況データテーブルTBL102において、切替元の選手キャラクタについて記憶される当該ユーザの操作対象フラグを「0」に、切替先の選手キャラクタについて記憶される当該ユーザの操作対象フラグを「1」に更新することとしてよい。
[3.9.1.2.操作対象制御部353]
操作対象制御部353は、サッカーゲーム(サッカーの試合)中において、ユーザの操作対象になっている選手キャラクタを、ユーザの操作に基づいて動作させる。
例えば、操作対象制御部353は、操作受付部120により受け付けたユーザの操作情報に基づいて、当該ユーザの操作対象である選手キャラクタの行動を制御することとしてよい。また例えば、操作対象制御部353は、操作受付部120により受け付けたユーザの操作情報に基づいて、ゲーム状況データテーブルTBL102において当該ユーザの操作対象フラグが「1」である選手キャラクタの行動(移動、パス、シュート、ドリブル等)を制御することとしてよい。
[3.9.2.ゲーム画面表示制御部354、130]
ゲーム画面表示制御部354は、例えば主としてゲームサーバ30の制御部31、記憶部32、通信部33により実現される。
ゲーム画面表示制御部354は、例えば、サッカーゲーム(サッカーの試合)の状況を表示するゲーム画面をゲーム装置10の表示部15に表示させる制御を実行する。
例えば、ゲーム画面表示制御部354は、サッカーゲーム(サッカーの試合)中において、ゲーム画面を表示するために必要なデータを通信部33によりゲーム装置10に送信することによって、ゲーム画面をゲーム装置10の表示部15に表示させる。
例えば、ゲーム画面表示制御部354は、サッカーゲーム(サッカーの試合)中において、ゲーム状況データ更新部351によって更新されたゲーム状況データをゲーム装置10に送信することによって、ゲーム画面をゲーム装置10の表示部15に表示させる。
なお、ゲーム画面表示制御部354はサッカーゲーム(サッカーの試合)中において、仮想3次元空間Vに配置された選手キャラクタ、ボールを、仮想カメラVCの位置、視線方向から見た様子を示すゲーム画面を生成し、ゲーム装置10の表示部に表示させる制御を実行する。例えば、ゲーム画面表示制御部354は、所定の時間間隔で上記のゲーム画面のデータを順次生成し、生成したゲーム画面のデータを、通信部33によりゲーム装置10に順次送信することとしてよい。
ゲーム画面表示制御部130は、例えば主としてゲーム装置10の制御部11、記憶部12、通信部13により実現される。
ゲーム画面表示制御部130は、例えば、サッカーゲーム(サッカーの試合)の状況を表示するゲーム画面をゲーム装置10の表示部15に表示させる制御を実行する。
例えば、ゲーム画面表示制御部130は、ゲームサーバ30のゲーム画面表示制御部354から送信されたデータを通信部13により受信し、受信したデータに基づいてゲーム画面を表示部15に表示させることとしてよい。
[3.9.3.評価情報取得部355]
評価情報取得部355は、サッカーゲーム(サッカーの試合)が終了した場合に、当該試合におけるユーザの役割に関する評価情報を、当該役割に対応するキャラクタの当該試合における評価情報に基づいて取得する。
なお、上記の「役割に関する評価情報」とは、試合において役割が果たされたか否かを示す情報である。または、試合において役割がどの程度果たされたかを示す情報である。例えば、上記の「役割に関する評価情報」とは、役割に対応する選手キャラクタとして選択された複数の選手キャラクタが役割に則った行動を行ったか否かを示す情報である。言い換えれば、上記の「役割に関する評価情報」とは、役割に対応する選手キャラクタとして選択された複数の選手キャラクタが役割に則った行動をどの程度行ったかを示す情報である。例えば、「役割に関する評価情報」は、役割に対応する選手キャラクタとして選択された複数の選手キャラクタの評価情報に基づいて統計処理を実行することによって取得される。例えば、役割に対応する選手キャラクタとして選択された複数の選手キャラクタの評価情報の平均が「役割に関する評価情報」の一例に相当する。
また、上記の「選手キャラクタの試合における評価情報」とは、試合において選手キャラクタが行った行動を評価した結果を示す情報である。例えば、試合において選手キャラクタが所定の動作(例えばパス動作、シュート動作、又はタックル動作等)を行った回数や、試合においてキャラクタが所定の動作(例えばパス動作、シュート動作、又はタックル動作等)に成功した回数を示す情報が、「選手キャラクタの試合における評価情報」の一例に相当する。
[3.9.4.評価情報表示制御部356、140]
評価情報表示制御部356は、例えば主としてゲームサーバ30の制御部31、記憶部32、通信部33により実現される。
評価情報表示制御部356は、ユーザの役割に関する評価情報を表示部15に表示させるための制御を実行する。
例えば、評価情報表示制御部356は、ユーザの役割に関して評価情報取得部355により取得された評価情報を示す役割評価結果画面G103(評価情報表示画面の一例)を表示するために必要なデータを通信部33によりゲーム装置10に送信することによって、役割評価結果画面G103をゲーム装置10の表示部15に表示させる。
例えば、評価情報表示制御部356は、ユーザの役割に関して評価情報取得部355により取得された評価情報を含むデータを通信部33によりゲーム装置10に送信することによって、役割評価結果画面G103をゲーム装置10の表示部15に表示させることとしてよい。
また例えば、評価情報表示制御部356は、役割評価結果画面G103を生成し、生成した役割評価結果画面G103のデータを通信部33によりゲーム装置10に送信することによって、役割評価結果画面G103をゲーム装置10の表示部15に表示させることとしてよい。
評価情報表示制御部140は、例えば主としてゲーム装置10の制御部11、記憶部12、通信部13により実現される。
例えば、評価情報表示制御部140は、ユーザの役割に関する評価情報を表示部15に表示させるための制御を実行する。
例えば、評価情報表示制御部140は、ユーザの役割に関して評価情報取得部355により取得された評価情報を示す役割評価結果画面G103(評価情報表示画面の一例)をゲーム装置10の表示部15に表示させる制御を実行する。
例えば、評価情報表示制御部140は、ゲームサーバ30の評価情報表示制御部356から送信されたデータを受信し、受信したデータに基づいて役割評価結果画面G103をゲーム装置10の表示部15に表示させることとしてよい。
[4.ゲームシステム1において実行される処理]
図17及び図18は、ゲームシステム1において実行される処理を示す図である。図17及び図18においてゲーム装置10に関する処理は、ゲーム装置10の制御部11が記憶部12に記憶されたプログラムに基づいて実行し、ゲームサーバ30に関する処理は、ゲームサーバ30の制御部31が記憶部32に記憶されたプログラムに基づいて実行するものである。以下では、ゲームシステム1において、第1チームと第2チームとの間のサッカーの試合を模したサッカーゲームが実行されることとして説明する。なお、第1チームは複数のユーザにより操作されることとする。
[4.1.ゲーム設定制御処理]
図17は、サッカーゲームの試合開始前に実行されるゲーム設定制御処理の一例に係るシーケンス図である。なお以下の処理は、第1チームを操作するユーザの操作対象候補を設定する処理の一例を説明するものである。
図17に示されるように、ゲーム装置10の制御部11は、通信部13により第1チームのフォーメーションデータを指定する指定情報をゲームサーバ30に送信する(S100)。例えば、フォーメーションデータを指定する指定情報は、入力部14によりユーザから受け付けた入力に基づいて決定することとしてよい。また、フォーメーションデータを指定する指定情報は、フォーメーションデータを識別する識別情報であってよい。
ゲームサーバ30の制御部31は、通信部33によりゲーム装置10から送信されたフォーメーションデータの指定情報を受信する(S300)。
ゲームサーバ30の制御部31は、第1チームを操作するユーザの数と、S300で受信した指定情報により指定されるフォーメーションデータとに基づいて、第1チームを操作する複数のユーザがそれぞれ担当する役割ごとに第1チームに含まれるキャラクタを選択する(S302)。例えば、S302の処理は、ゲームサーバ30の基本位置取得部320及びキャラクタ役割設定部330により実行されることとしてよい。
次に、ゲームサーバ30の制御部31は、通信部33によりゲーム装置10に対して役割の指定を要求する(S304)。例えば、ゲームサーバ30の制御部31は、通信部33により第1チームを操作するユーザの数に基づいて決定された複数の役割の情報をゲーム装置10に送信して、いずれの役割を指定するかをゲーム装置10に問い合わせることとしてよい。例えば、第1チームを操作するユーザの数が3である場合には、ゲームサーバ30の制御部31は、攻撃(ATTACK)、攻守両方(MIDFIELD)、守備(DEFENCE)の3つの役割のいずれを指定するかの問い合わせを行うこととしてよい。
ゲーム装置10の制御部11は、通信部13によりゲーム装置10から役割の指定の要求を受け付ける(S104)。例えば、ゲーム装置10の制御部11は、通信部13によりゲームサーバ30から複数の役割の情報を受信することとしてよい。そして、ゲーム装置10の制御部11は、表示部15に複数の役割の情報を含む設定画面を表示させて、いずれの役割を指定するかをユーザに入力させることとしてよい。
ゲーム装置10の制御部11は、入力部14によりユーザから入力された情報に基づいて、ユーザが指定した役割を示す役割の指定情報を、通信部13によりゲームサーバ30に送信する(S104)。
ゲームサーバ30の制御部31は、通信部33によりゲーム装置10から送信された役割の指定情報を受信する(S306)。そして、ゲームサーバ30の制御部31は、ゲーム装置10から受信した役割の指定情報に基づいて、ユーザの役割を設定する(S308)。例えば、ゲームサーバ30の制御部31は、第1チームを操作する複数のユーザのそれぞれが指定した役割の指定情報に基づいて、複数のユーザのそれぞれの役割を設定することとしてよい。この際に、ゲームサーバ30の制御部31は、第1チームを操作する複数のユーザに対しては、それぞれ異なる役割を設定することとしてよい。なお、S308の処理は、ゲームサーバ30のユーザ役割設定部310により実行されることとしてよい。
ゲームサーバ30の制御部31は、S308で設定したユーザの役割と、S302で役割ごとに選択された選手キャラクタの情報に基づいて、ユーザの操作対象候補を選択する(S310)。例えば、ゲームサーバ30の制御部31は、S308で設定したユーザの役割について、S302で選択された選手キャラクタを、ユーザの操作対象候補に選択することとしてよい。
ゲームサーバ30の制御部31は、S310で選択したユーザの操作対象候補を含む設定内容のデータを通信部33によりゲーム装置10に送信する(S312)。
ゲーム装置10の制御部11は、通信部13によりゲーム装置10から送信された設定内容のデータを受信する(S106)。そして、ゲーム装置10の制御部11は、受信した設定内容のデータに基づく設定表示画面を表示部15に表示させる(S108)。例えば、図7に示した設定表示画面G101が、S108で表示部15に表示される設定表示画面の一例に相当する。
以上が、サッカーゲームの試合開始前に実行されるゲーム設定制御処理の一例である。次に、サッカーゲームの試合開始後に実行される処理の一例について説明する。
[4.2.ゲーム実行制御処理]
図18は、サッカーゲームの試合開始後に実行されるゲーム実行制御処理の一例に係るシーケンス図である。
図18に示すように、ゲーム装置10の制御部11は、ユーザが行ったゲーム操作に関する操作データを通信部13によりゲームサーバ30に送信する(S120)。例えば、ゲーム装置10の制御部11は、ユーザの操作データの送信を、所定の時間間隔(例えば1/30秒ごと)に実行することとしてよい。
ゲームサーバ30の制御部31は、通信部33によりゲーム装置10から送信されたユーザの操作データを受信する(S320)。
ゲームサーバ30の制御部31は、ユーザの操作データに基づいて、記憶部32に記憶されるゲーム状況データを更新する(S322)。ゲームサーバ30の制御部31は、ステップS322では、サッカーゲームに参加する全てのユーザの操作データに基づいてゲーム状況データを更新することとしてよい。
ゲームサーバ30の制御部31は、試合が終了しない場合には(S324:N)、ゲーム状況データの更新内容をゲーム装置10に伝えるための更新データを、通信部33によりゲーム装置10に送信する(S326)。例えば、ゲームサーバ30の制御部31は、S324において、試合が終了するか否かを、試合におけるゲーム時間が所定時間に達したか否かに基づいて判定することとしてよい。
ゲーム装置10の制御部11は、ゲームサーバ30から送信された更新データを通信部13により受信する(S122)。そして、ゲーム装置10の制御部11は、記憶部12に記憶されるゲーム状況データを、ゲームサーバ30から受信した更新データに基づいて更新する(S124)。そして、ゲーム装置10の制御部11は、更新したゲーム状況データに基づいて表示部15に表示するゲーム画面を更新する(S126)。
また、ゲームサーバ30の制御部31は、S324において、試合が終了した場合には(S324:Y)、試合結果を示す試合結果データを生成するとともに、生成した試合結果データを通信部33によりゲーム装置10に送信する(S328)。試合結果データには、例えば、ユーザの操作対象候補である複数のキャラクタの試合における評価に基づいて、ユーザの役割を評価した評価情報を含むこととしてよい。
ゲーム装置10の制御部11は、ゲームサーバ30から送信された試合結果データを通信部13により受信する(S128)。そして、ゲーム装置10の制御部11は、S128で受信した試合結果データに基づく役割評価結果画面を表示部15に表示させる(S130)。なお、図10に示した役割評価結果画面G103が、S130で表示部15に表示される役割評価結果画面の一例である。以上が、サッカーゲームの試合について実行されるゲーム実行制御処理の一例である。
以上説明したゲームシステム1によれば、ユーザが操作する第1チームのフォーメーションデータに基づいて取得される、第1チームに含まれる選手キャラクタの基本位置に基づいて、複数の役割の各々に対応する選手キャラクタとして、第1チームに含まれる選手キャラクタのうちから複数の選手キャラクタが選択される。このため、仮に、第1チームのフォーメーションとして、特定のポジション(例えばフォワード)が存在しないか、特定のポジション(例えばフォワード)の選手キャラクタが1つしか存在しない場合であっても、ユーザの役割に対応するキャラクタとして複数のキャラクタが選択されるようになる。したがって、ゲームシステム1によれば、ユーザの操作対象候補が存在しなくなってしまったり、ユーザの操作対象候補が1つしかなくなってしまったりという不都合を回避することが可能になる。また、ゲームシステム1によれば、例えば、仮に、第1チームのフォーメーションとして、攻撃に専念するポジションであるフォワードが存在しないようなフォーメーションが設定されたとしても、攻撃に専念する役割を担うユーザが必ず選手キャラクタを操作できるようになる。
また、ゲームシステム1によれば、第1チームに含まれるキャラクタが複数のユーザによって操作される場合であっても、各ユーザの操作対象候補が存在しなくなってしまうという不都合を回避することが可能になる。またゲームシステム1によれば、ユーザの人数を考慮して、複数の役割の各々に対応する選手キャラクタとして選択されるべき選手キャラクタの数が設定される。ゲームシステム1によれば、複数の役割の各々に対応する選手キャラクタとして選択されるべき選手キャラクタの数をユーザの人数に合わせて設定できるようになる。例えば、ユーザの人数が少ない場合には、各ユーザがなるべく多くの選手キャラクタを操作することができるようにして、複数の役割の各々に対応する選手キャラクタを選択できるようになる。すなわち、ゲームシステム1によれば、第1チームの選手キャラクタを複数の役割に分けて、複数の役割をそれぞれ複数のユーザに担当させて操作させるようにした場合に、第1チームのフォーメーションに依らず、どのユーザも操作する選手キャラクタを2以上とすることができる。これによって、第1チームを操作する複数のユーザの操作する選手キャラクタの数に関して、第1チームのフォーメーションの選択によって大きな偏りができることを回避できる。
また、ゲームシステム1によれば、第1チームが攻めるべきゴールGbと、第1チームに含まれる選手キャラクタの基本位置との間の距離に基づいて、複数の役割の各々に対応する選手キャラクタが選択されるようになる。すなわち、上記距離に基づいて、第1チームに含まれる選手キャラクタの順序情報が設定され、当該順序情報に基づいて、複数の役割の各々に対応するキャラクタが選択されるようになる。すなわち、上記順序情報に基づいて、複数の役割の各々に対応する選手キャラクタとして、各役割を担うのに適した選手キャラクタが選択されるようになる。その結果として、ユーザの役割に適した選手キャラクタがユーザの操作対象候補として選択されるようになるため、ユーザは自らの役割に適した選手キャラクタを操作できるようになる。すなわち、ユーザは自らの役割に則ったゲームプレイを行い易くなる。
また、ゲームシステム1によれば、試合が終了した場合に、当該試合におけるユーザの役割に関する評価情報が役割評価結果画面に表示されるようになるため、ユーザは自らの役割を果たすことができたか否か(言い換えれば、自らの役割をどの程度果たすことができたか)を知ることができるようになる。その結果として、試合において自らの役割に沿ったゲームプレイを行うモチベーションを向上させることができ、試合において自らの役割に沿ったゲームプレイを行うようにユーザを誘導することが可能になる。
[5.変形例]
なお、本発明は以上に説明した実施の形態に限定されるものではない。
<1>例えば、複数のゲーム装置10のうち1つがゲームサーバ30として機能することとしてもよい。この場合には、ゲームサーバ30として機能するゲーム装置10が、図11に示すゲームサーバ30の機能を有することとしてよい。すなわち、ゲームサーバ30として機能するゲーム装置10(ゲーム制御装置の一例)が、データ記憶部300、ユーザ役割設定部310、基本位置取得部320、キャラクタ役割設定部330、操作対象候補選択部340、ゲーム実行部350を有することとしてよい。
また、この場合において、複数のゲーム装置10により実行されるゲーム実行制御処理の一例について以下に説明する。なお、以下に説明するゲーム実行制御処理は、図18に示したゲーム実行制御処理に対応している。
図19は、複数のゲーム装置10により実行されるゲーム実行制御処理の一例に係るシーケンス図である。なお、図19においては、ゲームサーバ30として機能するゲーム装置10と、クライアントとして機能するゲーム装置10との間の通信処理を例として記載している。
図19に示すように、クライアントとして機能するゲーム装置10の制御部11は、ユーザが行ったゲーム操作に関する操作データを通信部13によりゲームサーバ30として機能するゲーム装置10に送信する(S140)。例えば、クライアントとして機能するゲーム装置10の制御部11は、ユーザの操作データの送信を、所定の時間間隔(例えば1/30秒ごと)に実行することとしてよい。
ゲームサーバ30として機能するゲーム装置10の制御部11は、自ユーザが入力部14により入力したゲーム操作に関する操作データを取得し(S160)、さらにクライアントとして機能するゲーム装置10から送信されたユーザの操作データを通信部13により受信する(S162)。
ゲームサーバ30として機能するゲーム装置10の制御部11は、ユーザの操作データに基づいて、記憶部12に記憶されるゲーム状況データを更新する(S164)。ゲームサーバ30として機能するゲーム装置10の制御部11は、ステップS64では、サッカーゲームに参加する全てのユーザの操作データに基づいてゲーム状況データを更新することとしてよい。
ゲームサーバ30として機能するゲーム装置10の制御部11は、試合が終了しない場合には(S166:N)、ゲーム状況データの更新内容をゲーム装置10に伝えるための更新データを、通信部13によりクライアントとして機能するゲーム装置10に送信する(S168)。例えば、ゲームサーバ30として機能するゲーム装置10の制御部11は、S166において、試合が終了するか否かを、試合におけるゲーム時間が所定時間に達したか否かに基づいて判定することとしてよい。
クライアントとして機能するゲーム装置10の制御部11は、ゲームサーバ30として機能するゲーム装置10から送信された更新データを通信部13により受信する(S142)。そして、クライアントとして機能するゲーム装置10の制御部11は、記憶部12に記憶されるゲーム状況データを、ゲームサーバ30として機能するゲーム装置10から受信した更新データに基づいて更新する(S144)。そして、クライアントとして機能するゲーム装置10の制御部11は、更新したゲーム状況データに基づいて表示部15に表示するゲーム画面を更新する(S146)。
また、ゲームサーバ30として機能するゲーム装置10の制御部11は、S166において、試合が終了した場合には(S166:Y)、試合結果を示す試合結果データを生成するとともに、生成した試合結果データを通信部13によりクライアントとして機能するゲーム装置10に送信する(S170)。試合結果データには、例えば、ユーザの操作対象候補である複数のキャラクタの試合における評価に基づいて、ユーザの役割を評価した評価情報を含むこととしてよい。
クライアントとして機能するゲーム装置10の制御部11は、ゲームサーバ30として機能するゲーム装置10から送信された試合結果データを通信部13により受信する(S148)。そして、クライアントとして機能するゲーム装置10の制御部11は、S148で受信した試合結果データに基づく役割評価結果画面を表示部15に表示させる(S150)。
以上のゲーム装置10によれば、ピアツーピア方式により第1チームと第2チームとの間のサッカーの試合を模したサッカーゲームを実行することができる。
<2>また例えば、ゲームシステム1において実行される、ユーザによって操作される第1のキャラクタグループと、第2のキャラクタグループとの間で行われるスポーツの試合中に、第1のキャラクタグループに含まれるキャラクタのポジションチェンジ、第1のキャラクタグループのフォーメーション変更、戦術の変更が行われた場合においても、ユーザの役割に対して選択されたキャラクタは変更しないように制御することとしてよい。
<3>また例えば、ゲームシステム1において実行される、ユーザによって操作される第1のキャラクタグループと、第2のキャラクタグループとの間で行われるスポーツの試合中に、ユーザの役割に対して選択されたキャラクタが退場した結果、ユーザが操作するキャラクタが1以下となった場合においても、ユーザの役割に対して選択されたキャラクタは変更しないように制御することとしてよい。
<4>以上では、複数のゲーム装置10を含むゲームシステム1によってゲームが実行される場合について説明したが、複数のゲームコントローラが接続された1台のゲーム装置10(スタンドアローンのゲーム装置10)によってゲームが実行されるようにしてもよい。すなわち、スタンドアローンのゲーム装置10に接続された複数のゲームコントローラをそれぞれ操作する複数のユーザが参加するゲームにも本発明を適用することができる。
例えば、以上に説明したサッカーゲームは、複数のゲームコントローラが接続されたスタンドアローンのゲーム装置10において実行されるようにしてもよい。また、この場合のサッカーゲームでは、例えば、スタンドアローンのゲーム装置10に接続された複数のゲームコントローラをそれぞれ操作する複数のユーザが協力して操作する第1チームと、対戦相手の第2チームとの間のサッカーの試合が行われるようにしてもよい。
このような場合、図11に示したすべての機能ブロックが、上記のスタンドアローンのゲーム装置10(ゲーム制御装置の一例)において実現される。すなわち、上記のスタンドアローンのゲーム装置10は、図11においてゲームサーバ30に含まれることとして説明した機能ブロックも含むことになる。要するに、上記のスタンドアローンのゲーム装置10は、役割指定受付部100、フォーメーション指定受付部110、操作受付部120、ゲーム画面表示制御部130、評価情報表示制御部140、データ記憶部300、ユーザ役割設定部310、基本位置取得部320、キャラクタ役割設定部330、操作対象候補選択部340、ゲーム実行部350を含むことになる。なお、この場合、ゲーム画面表示制御部130とゲーム画面表示制御部354とは一つの機能ブロックに統合されることになる。同様に、評価情報表示制御部140と評価情報表示制御部356とは一つの機能ブロックに統合されることになる。
なおこの場合、上記のスタンドアローンのゲーム装置10において、役割指定受付部100は、当該ゲーム装置10に接続される複数のゲームコントローラのそれぞれからの入力に基づいて、複数のゲームコントローラにそれぞれ対応するユーザの役割の指定を受け付けることとしてよい。
また、上記のスタンドアローンのゲーム装置10において、フォーメーション指定受付部110は、第1チームを協力して操作する複数のユーザのうち一人に対応するゲームコントローラ(言い換えれば、当該ゲーム装置10に接続される複数のゲームコントローラのうちの特定の一つのゲームコントローラ)からの入力に基づいて、第1チームのフォーメーションの指定を受け付けることとしてよい。
また、上記のスタンドアローンのゲーム装置10において、操作受付部120は、当該ゲーム装置10に接続される複数のゲームコントローラのそれぞれから、複数のユーザのそれぞれの操作入力を受け付けることとしてよい。
<5>また、以上では、第1チームと第2チームとの間でサッカーの試合が行われるサッカーゲームに本発明を適用した場合の例について説明したが、本発明は、サッカーゲーム以外にも適用することが可能である。本発明は、複数のユーザが協力して操作する第1のキャラクタグループと、第2のキャラクタグループとの間で行われるスポーツの試合のゲームに適用することが可能である。このため、例えば、バスケットボールゲーム、アイスホッケーゲーム、ラグビーゲーム、アメリカンフットボールゲーム等に本発明を適用することも可能である。
<6>また例えば、上記の実施形態と上記の変形例<1>〜<5>を適宜組み合わせてもよい。
[6.付記]
以上のような記載から、本発明は例えば以下のように把握される。なお、本発明の理解を容易にするために、適宜図面に記載された符号を括弧書きで記載するが、それにより本発明が図示の態様に限定されるものではない。
1)本発明の一態様に係るゲームシステム(1)は、ユーザによって操作される第1のキャラクタグループ(例えば第1チーム)と、第2のキャラクタグループ(例えば第2チーム)との間で行われるスポーツ(例えばサッカー、バスケットボール、アイスホッケー、ラグビー、アメリカンフットボール等)の試合のゲームを実行するゲームシステム(1)において、前記試合におけるユーザの役割として複数の役割のいずれかを設定するユーザ役割設定手段(310)と、前記第1のキャラクタグループのフォーメーションデータに基づいて、前記第1のキャラクタグループに含まれるキャラクタの基本位置を取得する基本位置取得手段(320)と、前記第1のキャラクタグループに含まれるキャラクタの前記基本位置に基づいて、前記複数の役割の各々に対応するキャラクタとして、前記第1のキャラクタグループに含まれるキャラクタのうちから複数のキャラクタを設定するキャラクタ役割設定手段(330)と、前記ユーザ役割設定手段(310)の設定内容及び前記キャラクタ役割設定手段(330)の設定内容に基づいて、前記第1のキャラクタグループに含まれるキャラクタのうちから複数の操作対象候補を選択する操作対象候補選択手段(340)と、前記試合中において、前記ユーザの操作対象を、前記複数の操作対象候補として選択されたキャラクタのうちで切り替える操作対象切替手段(352)と、前記試合中において、前記ユーザの操作対象になっているキャラクタを、前記ユーザの操作に基づいて動作させる操作対象制御手段(353)と、を含む。
2)本発明の一態様に係るゲームシステム(1)の制御方法は、ユーザによって操作される第1のキャラクタグループと、第2のキャラクタグループとの間で行われるスポーツの試合のゲームを実行するゲームシステム(1)の制御方法において、前記試合におけるユーザの役割として複数の役割のいずれかを設定するユーザ役割設定ステップ(S308)と、前記第1のキャラクタグループのフォーメーションデータに基づいて、前記第1のキャラクタグループに含まれるキャラクタの基本位置を取得する基本位置取得ステップと、前記第1のキャラクタグループに含まれるキャラクタの前記基本位置に基づいて、前記複数の役割の各々に対応するキャラクタとして、前記第1のキャラクタグループに含まれるキャラクタのうちから複数のキャラクタを設定するキャラクタ役割設定ステップ(S302)と、前記ユーザ役割設定ステップ(S308)の設定内容及び前記キャラクタ役割設定ステップ(S302)の設定内容に基づいて、前記第1のキャラクタグループに含まれるキャラクタのうちから複数の操作対象候補を選択する操作対象候補選択ステップ(S310)と、前記試合中において、前記ユーザの操作対象を、前記複数の操作対象候補として選択されたキャラクタのうちで切り替える操作対象切替ステップと、前記試合中において、前記ユーザの操作対象になっているキャラクタを、前記ユーザの操作に基づいて動作させる操作対象制御ステップと、を含む。
3)本発明の一態様に係るゲーム制御装置(30,10)は、ユーザによって操作される第1のキャラクタグループと、第2のキャラクタグループと、の間で行われるスポーツの試合のゲームを実行するためのゲーム制御装置(30,10)において、前記試合におけるユーザの役割として複数の役割のいずれかを設定するユーザ役割設定手段(310)と、前記第1のキャラクタグループのフォーメーションデータに基づいて、前記第1のキャラクタグループに含まれるキャラクタの基本位置を取得する基本位置取得手段(320)と、前記第1のキャラクタグループに含まれるキャラクタの前記基本位置に基づいて、前記複数の役割の各々に対応するキャラクタとして、前記第1のキャラクタグループに含まれるキャラクタのうちから複数のキャラクタを設定するキャラクタ役割設定手段(330)と、前記ユーザ役割設定手段(310)の設定内容及び前記キャラクタ役割設定手段(330)の設定内容に基づいて、前記第1のキャラクタグループに含まれるキャラクタのうちから、前記試合において前記ユーザの操作対象となり得る複数の操作対象候補を選択する操作対象候補選択手段(340)と、を含む。
4)本発明の一態様に係るゲーム制御装置(30,10)の制御方法は、ユーザによって操作される第1のキャラクタグループと、第2のキャラクタグループと、の間で行われるスポーツの試合のゲームを実行するためのゲーム制御装置(30,10)の制御方法において、前記試合におけるユーザの役割として複数の役割のいずれかを設定するユーザ役割設定ステップ(S308)と、前記第1のキャラクタグループのフォーメーションデータに基づいて、前記第1のキャラクタグループに含まれるキャラクタの基本位置を取得する基本位置取得ステップと、前記第1のキャラクタグループに含まれるキャラクタの前記基本位置に基づいて、前記複数の役割の各々に対応するキャラクタとして、前記第1のキャラクタグループに含まれるキャラクタのうちから複数のキャラクタを設定するキャラクタ役割設定ステップ(S302)と、前記ユーザ役割設定ステップ(S308)の設定内容及び前記キャラクタ役割設定ステップ(S302)の設定内容に基づいて、前記第1のキャラクタグループに含まれるキャラクタのうちから、前記試合において前記ユーザの操作対象となり得る複数の操作対象候補を選択する操作対象候補選択ステップ(S310)と、を含む。
5)本発明の一態様に係るプログラムは、ユーザによって操作される第1のキャラクタグループと、第2のキャラクタグループと、の間で行われるスポーツの試合のゲームを実行するためのゲーム制御装置(30,10)として機能するコンピュータを、前記試合におけるユーザの役割として複数の役割のいずれかを設定するユーザ役割設定手段(310)、前記第1のキャラクタグループのフォーメーションデータに基づいて、前記第1のキャラクタグループに含まれるキャラクタの基本位置を取得する基本位置取得手段(320)、前記第1のキャラクタグループに含まれるキャラクタの前記基本位置に基づいて、前記複数の役割の各々に対応するキャラクタとして、前記第1のキャラクタグループに含まれるキャラクタのうちから複数のキャラクタを設定するキャラクタ役割設定手段(330)、及び、前記ユーザ役割設定手段(310)の設定内容及び前記キャラクタ役割設定手段(330)の設定内容に基づいて、前記第1のキャラクタグループに含まれるキャラクタのうちから、前記試合において前記ユーザの操作対象となり得る複数の操作対象候補を選択する操作対象候補選択手段(340)、として機能させるためのプログラムである。
6)また、本発明の一態様に係る情報記憶媒体は、上記プログラムを記録したコンピュータで読み取り可能な情報記憶媒体である。
上記1)〜6)に記載の発明によれば、第1のキャラクタグループのフォーメーションデータに基づいて取得される、第1のキャラクタグループに含まれるキャラクタの基本位置に基づいて、複数の役割の各々に対応するキャラクタとして、第1のキャラクタグループに含まれるキャラクタのうちから複数のキャラクタが選択される。このため、仮に、第1のキャラクタグループのフォーメーションとして、特定のポジション(例えばフォワード)が存在しないようなフォーメーションが設定されたとしても、ユーザの役割に対応するキャラクタとして複数のキャラクタが選択されるようになる。本発明によれば、ユーザの操作対象候補が存在しなくなってしまうという不都合を回避することが可能になる。本発明によれば、例えば、仮に、第1のキャラクタグループのフォーメーションとして、攻撃に専念するポジションであるフォワードが存在しないようなフォーメーションが設定されたとしても、攻撃に専念する役割を担うユーザが必ずキャラクタを操作できるようになる。
7)本発明の一態様では、上記1)に記載のゲームシステム(1)において、前記ゲームは、第1の領域(例えば敵陣のゴール)内に移動体(例えばボール)を移動した場合に前記第1のキャラクタグループに得点が入るゲームであり、前記キャラクタ役割設定手段(330)は、前記第1の領域と、前記第1のキャラクタグループに含まれるキャラクタの前記基本位置との間の距離に基づいて、前記複数の役割の各々に対応するキャラクタを設定する、こととしてよい。
このようにすれば、移動体が移動することによって第1のキャラクタグループに得点が入るような第1の領域(例えば、第2のキャラクタグループが守るべきゴール、すなわち、第1のキャラクタグループが攻めるべきゴール)と、第1のキャラクタグループに含まれるキャラクタの基本位置との間の距離に基づいて、複数の役割の各々に対応するキャラクタが選択されるようになる。すなわち、上記距離に基づいて、複数の役割の各々に対応するキャラクタとして、各役割を担うのに適したキャラクタが選択されるようになる。その結果として、ユーザの役割に適したキャラクタがユーザの操作対象候補として選択されるようになるため、ユーザは自らの役割に適したキャラクタを操作できるようになる。すなわち、ユーザは自らの役割に則ったゲームプレイを行い易くなる。
8)本発明の一態様では、上記1)又は2)に記載のゲームシステム(1)において、前記ゲームは、第2の領域(例えば自陣のゴール)内に移動体を移動した場合に前記第2のキャラクタグループに得点が入るゲームであり、前記キャラクタ役割設定手段(330)は、前記第2の領域と、前記第1のキャラクタグループに含まれるキャラクタの前記基本位置との間の距離に基づいて、前記複数の役割の各々に対応するキャラクタを設定する、こととしてよい。
このようにすれば、移動体が移動することによって第2のキャラクタグループに得点が入るような第2の領域(例えば、第1のキャラクタグループが守るべきゴール)と、第1のキャラクタグループに含まれるキャラクタの基本位置との間の距離に基づいて、複数の役割の各々に対応するキャラクタが選択されるようになる。すなわち、上記距離に基づいて、複数の役割の各々に対応するキャラクタとして、各役割を担うのに適したキャラクタが選択されるようになる。その結果として、ユーザの役割に適したキャラクタがユーザの操作対象候補として選択されるようになるため、ユーザは自らの役割に適したキャラクタを操作できるようになる。すなわち、ユーザは自らの役割に則ったゲームプレイを行い易くなる。
9)本発明の一態様では、上記2)又は3)に記載のゲームシステム(1)において、前記キャラクタ役割設定手段(330)は、前記第1のキャラクタグループに含まれるキャラクタの順序情報を前記距離に基づいて設定する手段を含み、前記順序情報に基づいて、前記複数の役割の各々に対応するキャラクタを設定する、こととしてよい。
このようにすれば、移動体が移動することによって第1のキャラクタグループに得点が入るような第1の領域(又は、移動体が移動することによって第2のキャラクタグループに得点が入るような第2の領域)と、第1のキャラクタグループに含まれるキャラクタの基本位置との間の距離に基づいて、第1のキャラクタグループに含まれるキャラクタの順序情報が設定され、当該順序情報に基づいて、複数の役割の各々に対応するキャラクタが選択されるようになる。すなわち、上記順序情報に基づいて、複数の役割の各々に対応するキャラクタとして、各役割を担うのに適したキャラクタが選択されるようになる。その結果として、ユーザの役割に適したキャラクタがユーザの操作対象候補として選択されるようになるため、ユーザは自らの役割に適したキャラクタを操作できるようになる。すなわち、ユーザは自らの役割に則ったゲームプレイを行い易くなる。
10)本発明の一態様では、上記1)乃至4)のいずれかに記載のゲームシステム(1)において、前記試合が終了した場合に、当該試合における前記ユーザの役割に関する評価情報を、当該役割に対応するキャラクタの当該試合における評価情報に基づいて取得する評価情報取得手段(355)と、前記ユーザの役割に関する前記評価情報を表示手段(15)に表示させるための制御を実行する評価情報表示制御手段(356,140)と、を含む、こととしてよい。
このようにすれば、試合が終了した場合に、当該試合におけるユーザの役割に関する評価情報が表示されるようになるため、ユーザは自らの役割を果たすことができたか否か(言い換えれば、自らの役割をどの程度果たすことができたか)を知ることができるようになる。その結果として、試合において自らの役割に沿ったプレイを行うモチベーションを向上させることができ、試合において自らの役割に沿ったプレイを行うようにユーザを誘導することが可能になる。
11)本発明の一態様では、上記1)乃至5)のいずれかに記載のゲームシステム(1)において、前記第1のキャラクタグループに含まれるキャラクタは複数のユーザによって操作され、前記ユーザ役割設定手段(310)は、前記複数のユーザの各々について、前記試合における当該ユーザの役割として前記複数の役割のいずれかを設定し、前記操作対象候補選択手段(340)は、前記複数のユーザの各々について、前記第1のキャラクタグループに含まれるキャラクタのうちから複数の操作対象候補を選択し、前記キャラクタ役割設定手段(330)は、前記フォーメーション情報と、前記複数のユーザの人数とに基づいて、前記複数の役割の各々に対応するキャラクタとして選択されるべきキャラクタの数を決定する手段と、当該決定結果に基づいて、前記複数の役割の各々に対応するキャラクタとして、決定された数のキャラクタを、前記第1のキャラクタグループに含まれるキャラクタのうちから設定する手段と、を含む、こととしてよい。
このようにすれば、第1のキャラクタグループに含まれるキャラクタが複数のユーザによって操作される場合であっても、各ユーザの操作対象候補が存在しなくなってしまうという不都合を回避することが可能になる。また本発明によれば、ユーザの人数を考慮して、複数の役割の各々に対応するキャラクタとして選択されるべきキャラクタの数が設定される。本発明によれば、複数の役割の各々に対応するキャラクタとして選択されるべきキャラクタの数をユーザの人数に合わせて設定できるようになる。例えば、ユーザの人数が少ない場合には、各ユーザがなるべく多くのキャラクタを操作することができるようにして、複数の役割の各々に対応するキャラクタを選択できるようになる。
12)本発明の一態様では、上記4)に記載のゲームシステム(1)において、前記ゲームは、第1の領域内に移動体を移動した場合に前記第1のキャラクタグループに得点が入り、第2の領域内に移動体を移動した場合に前記第2のキャラクタグループに得点が入るゲームであり、前記キャラクタ役割設定手段(330)は、(1)前記第1の領域(Gb)と前記第2の領域(Ga)とを結ぶ線に対応する第1の方向に伸びる線であって、かつ、前記基準点(BP)を通る第1の線(BL)と、前記第1のキャラクタグループに含まれる各キャラクタの前記位置との間の距離と、(2)前記第1の領域(Gb)と前記第2の領域(Ga)とを結ぶ前記線(BL)と直交する方向に対応する第2の方向に伸びる線であって、かつ、前記基準点を通る第2の線(GLb)と、前記第1のキャラクタグループに含まれる各キャラクタの前記位置との間の距離と、に基づいて、前記第1のキャラクタグループに含まれる各キャラクタの順序情報を設定する手段と、前記順序情報に基づいて、前記複数の役割の各々に対応するキャラクタを設定する手段と、を含む、こととしてよい。
このようにすれば、例えば、第1のキャラクタグループが攻めるべき又は守るべきゴールからゴールライン方向(第1の方向)にどれだけ離れているのかと、上記ゴールからタッチライン方向(第2の方向)にどれだけ離れているのかとを考慮して、複数の役割の各々に対応するキャラクタが選択されるようになる。このような二つの距離を考慮して、複数の役割の各々に対応するキャラクタが選択される結果として、複数の役割の各々に対応するキャラクタとして、各役割を担うのにより適したキャラクタが選択されるようになる。その結果として、ユーザが自らの役割に適したキャラクタを操作できるようにすることが可能になり、ユーザが自らの役割に則ったゲームプレイを行い易くなる。
13)本発明の一態様では、上記12)に記載のゲームシステム(1)において、前記第2の線との間の距離が短いキャラクタの順序は、前記第2の線との間の距離が長いキャラクタの順序よりも早い順序に設定され、前記第2の線との間の距離が同一である複数のキャラクタが存在する場合には、当該複数のキャラクタのうちで、前記第1の線との間の距離が短いキャラクタの順序が、前記第1の線との間の距離が長いキャラクタの順序よりも早い順序に設定される、こととしてよい。
このようにすれば、例えば、原則として、第1のキャラクタグループが攻めるべき又は守るべきゴールからタッチライン方向(第2の方向)にどれだけ離れているのかを考慮して、複数の役割の各々に対応するキャラクタが選択されるようになる。ただし、上記距離が同一である複数のキャラクタが存在している場合には、上記ゴールからゴールライン方向にどれだけ離れているのかを考慮して、それら複数のキャラクタに対応づける役割が選択されるようになる。このようにすることによって、複数の役割の各々に対応するキャラクタとして、各役割を担うのにより適したキャラクタが選択されるようになる。その結果として、ユーザが自らの役割に適したキャラクタを操作できるようにすることが可能になり、ユーザが自らの役割に則ったゲームプレイを行い易くなる。