特許法第30条第2項適用 平成28年8月25日、https://www.konami.com、https://www.konami.com/pawa/soccer/、https://www.konami.com/pawa/soccer/about.php 平成28年10月25日、https://play.google.com、https://play.google.com/apps/testing/jp.konami.pawasaka、https://itunes.apple.com、https://itunes.apple.com/jp/app/testflight/id899247664?mt=8
以下、本発明の実施形態の例を図面に基づいて説明する。
[1.ゲームシステムの構成]図1は、本発明の実施形態に係るゲームシステムの構成を示す。図1に示すように、本実施形態に係るゲームシステム1はゲームサーバ10と複数のゲーム端末30-1,30-2,・・・,30-Nとを含む。ゲーム端末30-1~30-Nは異なるユーザによって利用される。ゲーム端末30-1~30-Nはゲームサーバ10とネットワークNを介して相互にデータ通信を行うことが可能である。
ゲームサーバ10は例えばサーバコンピュータである。図1に示すように、ゲームサーバ10は制御部11、記憶部12、及び通信部13を含む。制御部11は少なくとも一つのマイクロプロセッサ(CPU)を含み、記憶部12に記憶されたオペレーティングシステムやその他のプログラムに従って情報処理を実行する。記憶部12は、主記憶部(例えばRAM)及び補助記憶部(例えば、不揮発性の半導体メモリ、ハードディスクドライブ、又はソリッドステートドライブ)を含む。記憶部12はプログラムやデータを記憶するためのものである。通信部13は、ネットワークNを介して他の装置と通信するためのものである。
ゲームサーバ10はデータベース14にアクセス可能である。データベース14はゲームサーバ10内に構築されてもよいし、他のサーバコンピュータ内に構築されてもよい。
ゲーム端末30-1~30-Nは、それぞれ、ゲームをプレイするために利用されるコンピュータである。例えば、ゲーム端末30-1~30-Nは、携帯電話機(スマートフォンを含む)、携帯情報端末(タブレット型コンピュータを含む)、携帯用ゲーム機、家庭用ゲーム機(据置型ゲーム機)、遊戯施設等に設置される業務用ゲーム機、ラップトップ型コンピュータ、又はデスクトップ型コンピュータである。ゲーム端末30-1~30-Nは同じ種類のコンピュータでなくてもよく、ゲーム端末30-1~30-Nには異なる種類のコンピュータが含まれていてもよい。
図1に示すように、ゲーム端末30-1は制御部31、記憶部32、通信部33、操作部34、表示部35、及び音声出力部36を含む。制御部31、記憶部32、及び通信部33はゲームサーバ10の制御部11、記憶部12、及び通信部13と同様である。
操作部34は、ユーザが各種操作を行うためのものである。操作部34は、例えばボタン(キー)、レバー(スティック)、タッチパネル、又はマウス等を含む。操作部34は、ユーザが音声又はジェスチャによって操作を行うためのものであってもよい。表示部35は各種画像を表示するためのものであり、例えば液晶ディスプレイ又は有機ELディスプレイ等である。音声出力部36は音声を出力するためのものであり、例えばスピーカ又はヘッドホン等である。操作部34、表示部35、及び音声出力部36はゲーム端末30-1自体に設けられていてもよいし、ゲーム端末30-1に接続された外部装置として設けられてもよい。
図1では省略されているが、ゲーム端末30-1と同様に、ゲーム端末30-2~30-Nも、それぞれ、制御部31、記憶部32、通信部33、操作部34、表示部35、及び音声出力部36を含む。
プログラムやデータはネットワークNを介して遠隔地からゲームサーバ10又はゲーム端末30-1~30-Nに供給されて、記憶部12又は記憶部32に記憶される。なお、情報記憶媒体(例えば光ディスク又はメモリカード等)に記憶されたプログラムやデータを読み取るための構成要素(例えば光ディスクドライブ又はメモリーカードスロット等)がゲームサーバ10又はゲーム端末30-1~30-Nに備えられていてもよい。そして、プログラムやデータが情報記憶媒体を介してゲームサーバ10又はゲーム端末30-1~30-Nに供給されるようにしてもよい。
なお以下では、ゲーム端末30-1~30-Nが、タッチパネルを備えたスマートフォン又はタブレット型コンピュータである場合を想定する。また以下では、ゲーム端末30-1~30-Nを総称して「ゲーム端末30」と記載する場合がある。
[2.ゲームの概要]ゲームシステム1において、非同期対戦においても、擬似的にリアルタイム対戦のように他のユーザと実際に対戦している気分を味わうことが可能なゲームを実現するための技術について説明する。ゲームシステム1では各種ゲームを実行することが可能であるが、ここでは、サッカーゲームを例として上記技術について説明する。
図2はサッカーゲームのメイン画像の一例を示す。図2に示すメイン画像G100は、ゲームプログラムがゲーム端末30で実行され、かつ、ゲーム端末30とゲームサーバ10との間でデータが授受されることによって表示される。後述する他の画像に関しても同様である。
メイン画像G100は要素P101~P104を含む。ここで、「要素」とは、画像を構成する要素であり、例えばテキストや画像等である。要素には処理が関連付けられている場合があり、このような要素がユーザによって選択されると(例えば、このような要素に対してタップ操作が行われると)、当該要素に関連付けられた処理が実行される。
要素P101はユーザの識別情報(名前又はID等)を示す。要素P102はユーザのリーグランク及びリーグポイントを示す。
このサッカーゲームでは複数階層のリーグが用意されており、ユーザは対戦成績に基づいていずれかの階層のリーグに割り当てられる。ユーザの対戦成績が良いほど、より上の階層のリーグにユーザが割り当てられる。要素P102の「リーグランク」は、ユーザが現在所属しているリーグのランク(階層)を示している。ここでは、ランク1~6のリーグが用意されている場合を想定している。数字が小さいほど、階層が上であることを示す。すなわち、ランク1のリーグが最上階層のリーグであり、ランク6のリーグが最下層のリーグである。
後述するように、ユーザは同じランクのリーグに所属する他のユーザと対戦できる。ユーザが他のユーザと対戦すると、その対戦結果に応じてリーグポイントがユーザに付与される。要素P102の「リーグポイント」は、ユーザが現在までに獲得したリーグポイントの量を示す。所定期間(以下「リーグ対戦期間」と呼ぶ。)内に各ユーザが獲得したリーグポイントによって、リーグに所属する全ユーザが順位付けされる。リーグ対戦期間終了時の順位が昇格基準順位(昇格の基準となる順位)以上であるユーザは一つ上の階層のリーグへと移される。一方、リーグ対戦期間終了時の順位が降格基準順位(降格の基準となる順位)以下であるユーザは一つ下の階層のリーグへと移される。ユーザはリーグ対戦期間内により多くのリーグポイントを獲得することによって、より上の階層のリーグへと移ることを目指す。なお、リーグ対戦期間は繰り返し設定され、リーグ対戦期間が開始されるごとにリーグポイントは零に初期化される。
要素P103は、ユーザに関連する対戦(ユーザが現在行っている対戦やユーザが過去に行った対戦)の履歴を閲覧するためのものである。ユーザが要素P103を選択すると、ユーザに関連する対戦の履歴を示す対戦履歴画像が表示される。対戦履歴画像については後述する(図8参照)。
要素P104は他のユーザとの対戦を要求するためのものである。要素P104がユーザによって選択されると、他のユーザとの対戦要求がゲーム端末30からゲームサーバ10に送信され、対戦が実行される。
このサッカーゲームは、ユーザが他のユーザと対戦することが可能な対戦パートとは別に、ユーザが自分だけのオリジナルの選手キャラクタを育成することが可能な育成パートを備えている。例えば、育成パートでは、サッカー選手である主人公キャラクタがプロサッカー選手を目指すシナリオが進行する。主人公キャラクタの各種能力パラメータはユーザのゲームプレイに基づいて変化し、シナリオ終了後に当該主人公キャラクタがオリジナルの選手キャラクタとして登録される。ユーザは育成パートで育成したオリジナルの選手キャラクタを利用して、自分だけのオリジナルのサッカーチームを編成できる。また、ユーザはこのようにして編成された自分のサッカーチームを利用して、他のユーザによって編成されたサッカーチームと対戦できる。なお、育成パートは必須ではなく、ゲーム開発者によって用意されたサッカーチーム(例えば実在のサッカーチームを模したチーム)が対戦で利用されるようにしてもよい。
図3は、対戦が実行される場合のフローの一例を示す。ここでは、ユーザU1が対戦を要求した場合を想定する。
図3に示すように、まず、対戦するユーザの組み合わせが決定される(S1)。ユーザU1が対戦を要求した場合には、原則として、同じく対戦を要求している他のユーザのうちから、ユーザU1と同じランクのリーグに所属するユーザのいずれかが対戦相手として決定される。
図4は、対戦相手が決定するまでの間にユーザU1のゲーム端末30の表示部35に表示される待ち画像の一例を示す。図4に示す待ち画像G110は要素P111~P118を含む。要素P111はユーザU1の名前及びリーグランクを示す。
要素P112はユーザU1のサッカーチームの総合能力値を示す。総合能力値はサッカーチームの総合能力(強さ)を示す。総合能力値は、サッカーチームのメンバの能力パラメータに基づいて算出される。サッカーチームのメンバの能力が高いほど、サッカーチームの総合能力値は大きくなる。
要素P113は、ユーザU1のサッカーチームの総合能力ランクを示す。総合能力ランクもサッカーチームの総合能力(強さ)を示す。図4に示す例では、総合能力ランクがアルファベット(例えば、S,A,B,C,D,E,F,G)によって示されている。「S」は総合能力が非常に高いことを示し、「G」は総合能力が非常に低いことを示す。総合能力値に応じて「S」~「G」のいずれかが総合能力ランクとして設定される。総合能力値が高いほど、総合能力ランクは高くなる。
要素P114はユーザU1のサッカーチームのオフェンス能力を示す。サッカーチームのオフェンス能力は、サッカーチームのメンバである選手キャラクタのオフェンス能力パラメータ(パス能力、ドリブル能力、及びシュート能力パラメータ等)に基づいて算出される。また、要素P115はユーザU1のサッカーチームのディフェンス能力を示す。サッカーチームのディフェンス能力は、サッカーチームのメンバである選手キャラクタのディフェンス能力パラメータ(プレス能力及びタックル能力パラメータ等)に基づいて算出される。また、要素P116はユーザU1のサッカーチームのスピード能力を示す。サッカーチームのスピード能力は、サッカーチームのメンバである選手キャラクタのスピード能力パラメータに基づいて算出される。
図4に示す例では、要素P114,P115,P116としてゲージが表示されており、ゲージの長さ(斜線部分の長さ)がオフェンス能力、ディフェンス能力、スピード能力の高さを示している。
要素P117は、対戦相手を探している最中であることを示す。要素P118は対戦を中止するためのものである。要素P118がユーザによって選択されると、対戦が中止され、メイン画像G100が表示部35に表示される。
図5は、対戦相手が決定された場合にユーザU1のゲーム端末30の表示部35に表示される対戦相手画像の一例を示す。ここでは、ユーザU2が対戦相手として決定された場合を想定する。図5に示す対戦相手画像G120は要素P121-1~P126-1,P121-2~P126-2,P127を含む。要素P121-1~P126-1は図4の要素P111~P116と同様であるため、ここでは説明を省略する。
要素P121-2は対戦相手(ユーザU2)の名前及びリーグランクを示す。要素P122-2は対戦相手のサッカーチームの総合能力値を示す。要素P123-2は対戦相手のサッカーチームの総合能力ランクを示す。要素P124-2は対戦相手のサッカーチームのオフェンス能力を示す。要素P125-2は対戦相手のサッカーチームのディフェンス能力を示す。要素P126-2は対戦相手のサッカーチームのスピード能力を示す。要素P127は対戦を開始するためのものである。要素P127がユーザによって選択されると、対戦が開始される。
このサッカーゲームでは、対戦するユーザの組み合わせとしてユーザU1,U2が決定された場合、ユーザU1によって操作されるユーザU1のサッカーチームと、CPUによって操作されるユーザU2のサッカーチームとの間の試合(以下「第1試合」と呼ぶ。)が実行される(S2)。また、ユーザU2によって操作されるユーザU2のサッカーチームと、CPUによって操作されるユーザU1のサッカーチームとの間の試合(以下「第2試合」と呼ぶ。)も実行される(S3)。
第1試合はユーザU1のゲーム端末30で実行される。例えば、ユーザU1によってユーザU1のサッカーチームのフォーメーションや戦術が設定された後、第1試合が開始される。なお、第1試合はユーザU1にとって本拠地での試合(以下「ホーム試合」と呼ぶ。)として演出される。一方、第1試合はユーザU2にとって本拠地以外での試合(以下「アウェイ試合」と呼ぶ。)となる。
一方、第2試合はユーザU2のゲーム端末30で実行される。例えば、ユーザU2によってユーザU2のサッカーチームのフォーメーションや戦術が設定された後、第2試合が開始される。なお、第2試合はユーザU2にとってホーム試合として演出される。一方、第2試合はユーザU1にとってアウェイ試合となる。
第1試合と第2試合とは非同期で実行される。すなわち、ユーザU1は任意のタイミングで第1試合を開始でき、ユーザU2も任意のタイミングで第2試合を開始できる。つまり、第1試合が終了した時点で第2試合が終了していないこともあれば、第2試合が終了した時点で第1試合が終了していないこともある。
第1試合の終了後、ユーザU1に対して報酬が付与される(S4)。図6は、第1試合の終了後にユーザU1のゲーム端末30の表示部35に表示される試合結果画像の一例を示す。図6に示す試合結果画像G130は要素P131~P135を含む。要素P131は勝敗(勝利、引き分け、敗北)を示す。要素P132は両チームの得点を示す。
要素P133は、今回の試合でユーザU1が獲得したメダルの枚数と、ユーザU1が所有しているメダルの枚数とを示す。このサッカーゲームでは、第1試合の結果に応じてメダルがユーザU1に付与される。第1試合の結果が良いほど、より多くのメダルがユーザU1に付与される。メダルはゲームアイテムを入手するために利用できる。ゲームアイテムを入手するために必要なメダルの枚数がゲームアイテムごとに定められており、ユーザは所定枚数のメダルと引き替えにしてゲームアイテムを入手できる。
要素P134は、今回の試合でユーザU1が獲得した抽選ポイントと、ユーザU1が所有している抽選ポイントとを示す。このサッカーゲームでは、第1試合の結果に応じて抽選ポイントもユーザU1に付与される。第1試合の結果が良いほど、より多くの抽選ポイントがユーザU1に付与される。抽選ポイントは、育成パートで利用可能なイベントキャラクタを入手するために利用できる。
このサッカーゲームの育成パートでは、主人公キャラクタの能力の向上に有利なイベント等の各種イベントが発生する。育成パートで発生するイベントは固定的ではなく、イベントデッキに組み込まれた1又は複数のゲームキャラクタに応じて、育成パートで発生するイベントが変化する。すなわち、シナリオには、イベントデッキに組み込まれたゲームキャラクタが主人公キャラクタのチームメイト等として登場し、当該ゲームキャラクタに関連するイベントが発生する。このため、ユーザはイベントデッキに組み込むゲームキャラクタを選択することによって、育成パートで発生し得るイベントを選択できる。このイベントデッキに組み込むことが可能なゲームキャラクタが「イベントキャラクタ」である。ユーザは所定数の抽選ポイントと引き替えにして抽選を行うことができ、確率に基づいて選出されたイベントキャラクタがユーザに付与される。なお、イベントキャラクタではなく、自分のサッカーチームのメンバとして利用可能な選手キャラクタを抽選で入手できるようにしてもよい。
報酬はメダル及び抽選ポイントに限られず、メダル及び抽選ポイント以外の報酬がユーザU1に付与されるようにしてもよい。
要素P135は、試合結果画像G130を閲覧し終えた場合に選択されるものである。ユーザU1が要素P135を選択すると、対戦状況画像がユーザU1のゲーム端末30の表示部35に表示される。図7は対戦状況画像の一例を示す。
図7に示す対戦状況画像G140は、ユーザU1とユーザU2との間の対戦の現在の状況を示す。ここでは、第1試合が終了した時点で第2試合が終了していない場合を想定する。対戦状況画像G140は要素P141~P144を含む。要素P141は、対戦しているユーザU1,U2の名前及びリーグランクを示す。
要素P142は第1試合の状況を示す。すなわち、要素P142はユーザU1のホーム試合(ユーザU2のアウェイ試合)の状況を示す。第1試合が終了している場合、図7に示すように要素P142は第1試合の結果を示し、第1試合が終了していない場合、要素P142は第1試合が試合中であることを示す。
一方、要素P143は第2試合の状況を示す。すなわち、要素P143はユーザU1のアウェイ試合(ユーザU2のホーム試合)の状況を示す。第2試合が終了している場合、要素P143は第2試合の結果を示し、第2試合が終了していない場合、図7に示すように要素P143は第2試合が試合中であることを示す。
要素P144はメイン画像G100に戻るためのものである。ユーザU1が要素P144を選択すると、メイン画像G100がユーザU1のゲーム端末30の表示部35に表示される。
この状態でユーザU1はメイン画像G100の要素P104を選択することによって、新たな対戦を行うことができる。すなわち、第2試合が終了しておらず、ユーザU2との対戦が終了していない状態でも、ユーザU1は別のユーザとの新たな対戦を開始することができる。
また、この状態のメイン画像G100の要素P103が選択された場合、ユーザに関連する対戦(ユーザが現在行っている対戦やユーザが過去に行った対戦)の履歴を示す対戦履歴画像がユーザU1のゲーム端末30の表示部35に表示される。図8は対戦履歴画像の一例を示す。図8に示す対戦履歴画像G150は、ユーザに関連する複数の対戦にそれぞれ対応する複数の要素P151-1,P151-2,・・・を含む。例えば、最近の対戦から順に上から下に向かって並べて複数の要素P151-1,P151-2,・・・が表示される。要素P151-2は、対戦相手がユーザU10であり、ホーム試合の結果が「3-1」であり、アウェイ試合の結果が「0-0」であり、ユーザU1がユーザU10との対戦に勝利したことを示す。一方、要素P151-1は、対戦相手がユーザU2であり、ホーム試合の結果が「2-0」であり、アウェイ試合が終了しておらず、試合中であることを示している。このように、対戦履歴画像G150では、終了した対戦と実行中の対戦とが区別可能に表示される。
ユーザU1が複数の要素P151-1,P151-2,・・・のいずれかを選択すると、選択された対戦に関する詳細な情報が表示部35に表示される。この場合、ユーザは、例えばホーム試合やアウェイ試合のスタッツ情報、ホーム試合の開始から終了までの経過(ログ)や、アウェイ試合の開始から終了までの経過(ログ)等を閲覧できる。
なお、対戦履歴画像G150は、メイン画像G100に戻るための要素P152を含む。ユーザU1が要素P152を選択すると、メイン画像G100がユーザU1のゲーム端末30の表示部35に表示される。
図3に示すように、第2試合が終了すると、ユーザU2に対して報酬が付与される(S5)。すなわち、第2試合の終了後に、図6に示す試合結果画像G130と同様の試合結果画像がユーザU2のゲーム端末30の表示部35に表示され、メダルや抽選ポイントがユーザ2に対して付与される。
第1試合及び第2試合の両方が終了した後、ユーザU1とユーザU2との間の対戦結果が決定される(S6)。対戦結果は第1試合の結果と第2試合の結果との両方に基づいて決定される。図9及び図10は対戦結果の決定方法について説明するための図である。
このサッカーゲームでは、第1試合の結果に応じてユーザU1,U2に勝ち点が付与される。第1試合でユーザU1が勝利した場合には、図9に示すように、勝ち点「3」がユーザU1に付与される。第1試合でユーザU1が引き分けた場合には、図9に示すように、勝ち点「1」がユーザU1に付与される。この場合、勝ち点「1」がユーザU2にも付与される。第1試合でユーザU1が敗北した場合、すなわち、ユーザU2の代わりにユーザU2のサッカーチームを操作したCPUが勝利した場合には、図9に示すように、ユーザU1に勝ち点は付与されない。この場合、勝ち点「3」がユーザU2に付与される。
同様に、第2試合の結果に応じてユーザU1,U2に勝ち点が付与される。第2試合でユーザU2が勝利した場合には、図9に示すように、勝ち点「3」がユーザU2に付与される。第2試合でユーザU2が引き分けた場合には、図9に示すように、勝ち点「1」がユーザU2に付与される。この場合、勝ち点「1」がユーザU1にも付与される。第2試合でユーザU2が敗北した場合、すなわち、ユーザU1の代わりにユーザU1のサッカーチームを操作したCPUが勝利した場合には、図9に示すように、ユーザU2に勝ち点は付与されない。この場合、勝ち点「3」がユーザU1に付与される。
対戦結果は、第1試合及び第2試合で得たユーザU1の勝ち点と、第1試合及び第2試合で得たユーザU2の勝ち点との比較(大小)に基づいて決定される。
例えば、図10の(1)のように、ユーザU1がホーム試合及びアウェイ試合の両方で勝利した場合、すなわち、第1試合でユーザU1が勝利し、かつ、第2試合でCPU(ユーザU1の代わりにユーザU1のサッカーチームを操作したCPU)が勝利した場合、ユーザU1,U2の勝ち点はそれぞれ「6」,「0」である。この場合、ユーザU2よりもユーザU1の勝ち点が多いため、ユーザU1が勝利し、ユーザU2が敗北したと決定される。特にこの場合、ユーザU2の勝ち点は「0」であるため、ユーザU1が完全勝利したと決定される。
また例えば、図10の(2)のように、ユーザU1がホーム試合で勝利し、アウェイ試合で引き分けた場合、すなわち、第1試合でユーザU1が勝利し、かつ、第2試合でCPU(ユーザU1の代わりにユーザU1のサッカーチームを操作したCPU)が引き分けた場合、ユーザU1,U2の勝ち点はそれぞれ「4」,「1」である。この場合、ユーザU2よりもユーザU1の勝ち点が多いため、ユーザU1が勝利し、ユーザU2が敗北したと決定される。
また例えば、図10の(6)のように、ユーザU1がホーム試合で引き分け、アウェイ試合で敗北した場合、すなわち、第1試合でユーザU1が引き分け、かつ、第2試合でCPU(ユーザU1の代わりにユーザU1のサッカーチームを操作したCPU)が敗北した場合、ユーザU1,U2の勝ち点はそれぞれ「1」,「4」である。この場合、ユーザU2よりもユーザU1の勝ち点が少ないため、ユーザU1が敗北し、ユーザU2が勝利したと決定される。
また例えば、図10の(3)のように、ユーザU1がホーム試合で勝利し、アウェイ試合で敗北した場合、すなわち、第1試合でユーザU1が勝利し、かつ、第2試合でCPU(ユーザU1の代わりにユーザU1のサッカーチームを操作したCPU)が敗北した場合、ユーザU1,U2の勝ち点はそれぞれ「3」,「3」である。この場合、ユーザU1,U2の勝ち点が同じであるため、得失点差で勝敗が決定される。すなわち、第1試合のおけるユーザU1の得点と失点との差と、第2試合におけるCPUの得点と失点との差とを合計することによって、ユーザU1の得失点差の値が算出される。同様に、第1試合のおけるCPU(ユーザU2の代わりにユーザU2のサッカーチームを操作したCPU)の得点と失点の差と、第2試合におけるユーザU2の得点と失点との差とを合計することによって、ユーザU2の得失点差の値が算出される。そして、ユーザU1,U2のうちで得失点差が大きい方が勝者と決定される。なお、ユーザU1,U2の得失点差も同じである場合には、引き分けと決定してもよいし、得点の合計が多い方を勝者と決定してもよい。
なお、所定の期限までに(例えば、対戦するユーザの組み合わせが決定されてから所定時間(例えば30分)以内に)、第2試合が終了しなかった場合には、ユーザU2が敗北し、ユーザU1が勝利したと決定される。逆に、所定の期限までに、第1試合が終了しなかった場合には、ユーザU1が敗北し、ユーザU2が勝利したと決定される。
ユーザU1,U2の間の対戦結果が決定された場合、その旨がメイン画像G100で通知される。図11はこの場合のメイン画像G100の一例を示す。図11に示すメイン画像G100は、対戦結果を確認するように促す要素P105を含む。要素P105は、ユーザU1と他のユーザとの間の対戦結果のうちに、ユーザU1が閲覧していない対戦結果が存在している場合に要素P103の代わりに表示され、ユーザU1が閲覧していない対戦結果の件数を示す要素P106が要素P105に関連付けて表示される。
ユーザU1が要素P105を選択すると、ユーザU1とユーザU2との間の対戦結果を示す対戦結果画像がユーザU1のゲーム端末30の表示部35に表示される。図12は対戦結果画像の一例を示す。図12に示す対戦結果画像G160は要素P161~P166を含む。
要素P161は、対戦したユーザU1,U2の名前及びリーグランクを示す。要素P162は、ユーザU1にとってのホーム試合(第1試合)の結果を示す。要素P163は、ユーザU1にとってのアウェイ試合(第2試合)の結果を示す。要素P164は、ユーザU1,U2の間の最終的な対戦結果を示す。要素P165はユーザU1が獲得した報酬を示す。
図3に示すように、ユーザU1,U2の間の対戦結果が決定された場合、ユーザU1,U2に対して報酬を付与される(S7)。
このサッカーゲームでは、対戦結果に応じてリーグポイントがユーザU1,U2の各々に対して付与される。図13は、対戦結果とユーザに付与されるリーグポイントとの対応関係の一例を示す。図13に示す例では、ユーザが対戦で勝利すると、少なくとも10ポイントがユーザに付与される。ユーザが連勝した場合には、ユーザに付与されるリーグポイントが連勝数に応じて増加される。例えば、2連勝の場合には1ポイント加算されて11ポイントがユーザに付与され、3連勝の場合には2ポイントが加算されて12ポイントがユーザに付与される。また、ユーザが完全勝利した場合にも、ユーザに付与されるリーグポイントが増加される。例えば、ユーザに付与されるリーグポイントが3倍される。例えば、ユーザが完全勝利し、かつ、2連勝である場合には、33ポイント(=11ポイント*3)がユーザU1に付与される。また図13に示す例では、ユーザが対戦で引き分けると、5ポイントがユーザに付与され、ユーザが対戦で敗北すると、3ポイントがユーザに付与される。ユーザが敗北した場合にはリーグポイントをユーザに付与しないようにしてもよい。なお、対戦結果とユーザに付与されるリーグポイントとの対応関係は、ユーザが所属するリーグのランクごとに異なるようにしてもよい。
またこのサッカーゲームでは、リーグポイントの他に、対戦に勝利したユーザに対して勝利報酬が付与される。勝利報酬を付与するか否かや勝利報酬は抽選によって決定される。図14は勝利報酬の決定方法の一例を示す。
図14に示すように、まず、第1回抽選によって、勝者のユーザに勝利報酬を付与するか否かが決定される。図14に示す例では、勝利報酬を付与する確率が「0.7」に設定され、勝利報酬を付与しない確率が「0.3」に設定されている。この場合、例えば、1~100の乱数が発生され、値が1~70であれば、勝利報酬を付与すると決定し、値が71~100であれば、勝利報酬を付与しないと決定する。
勝利報酬を付与すると第1回抽選によって決定された場合、第2回抽選によって、勝利報酬のランク(レアリティや価値等)が決定される。図14に示す例では、勝利報酬のランクを「高」に設定する確率が「0.2」に設定され、勝利報酬のランクを「低」に設定する確率が「0.8」に設定されている。この場合、例えば、1~100の乱数が発生され、値が1~20であれば、勝利報酬のランクを「高」に設定すると決定し、値が21~100であれば、勝利報酬のランクを「低」に設定すると決定する。
勝利報酬のランクが第2回抽選によって決定された場合、第3回抽選によって、勝利報酬が決定される。図14に示すように、勝利報酬のランクが「高」に決定された場合には、高ランクの報酬のうちのいずれかが第3回抽選によって選択され、選択された報酬が勝者のユーザに付与される。一方、勝利報酬のランクが「低」に決定された場合には、低ランクの報酬のうちのいずれかが第3回抽選によって選択され、選択された報酬が勝者のユーザに付与される。
対戦結果画像G160の要素P165は、以上のようにして決定されたリーグポイント及び勝利報酬を示す。要素P166はメイン画像G100に戻るためのものである。ユーザU1が要素P166を選択すると、メイン画像G100がユーザU1のゲーム端末30の表示部35に表示される。
なお、このサッカーゲームでは、ユーザは対戦結果を確認(閲覧)しなくても、新たな対戦を開始できる。この点、ユーザが確認していない対戦結果の数が所定数(例えば10)以上である状態でメイン画像G100の要素P104が選択された場合、対戦結果を確認するように促すメッセージ画像が表示部35に表示される。図15はメッセージ画像の一例を示す。図15に示すメッセージ画像G170は要素P171~P173を含む。
要素P171は、対戦結果を確認するように促すメッセージである。要素P172はメイン画像G100に戻るためのものである。ユーザU1が要素P172を選択すると、メイン画像G100が表示部35に表示される。要素P173は対戦結果を確認するためのものである。ユーザU1が要素P173を選択すると、対戦結果画像G160が表示部35に表示される。この場合、例えば、対戦終了日時が最も古い対戦結果から順に対戦結果画像G160が表示される。またこの場合、最新の対戦結果以外の対戦結果を示す対戦結果画像G160では、要素P166(「メインに戻る」ボタン)の代わりに、次の対戦結果を確認するための要素(「次へ」ボタン)が表示され、当該要素が選択されると、次の対戦結果を示す対戦結果画像G160が表示部35に表示される。
また、このサッカーゲームでは、通常、ユーザU1の対戦相手が、ユーザU1と同じリーグに所属している他のユーザのうちから決定されるが、一定の確率で、ユーザU1の対戦相手が、ユーザU1の所属リーグよりも上の階層のリーグに所属している他のユーザのうちから決定される特別なイベント(ジャイアントキリングイベント)が発生する。図16は、ジャイアントキリングイベントが発生した場合の対戦相手画像G120の一例を示す。図16に示す対戦相手画像G120では、ジャイアントキリングイベントが発生したことを示す要素P128が表示され、ユーザU1よりも格上のユーザU3が対戦相手として選択されている。すなわち、ユーザU1の所属リーグよりも一つ上の階層のリーグに所属しているユーザU3が対戦相手として選択されている。ジャイアントキリングイベントが発生した場合、ユーザU1は通常の対戦よりも多くのリーグポイントを獲得できる。
以上に説明したように、ゲームシステム1では、ユーザU1の対戦相手としてユーザU2が選択された場合、ユーザU1とCPUとの第1試合の結果と、ユーザU2とCPUとの第2試合の結果とに基づいて、ユーザU1とユーザU2との間の対戦結果が決定されるため、対戦相手のユーザU2自身も実際に対戦に参加することになる。その結果、非同期対戦であっても(リアルタイム対戦ではなくても)、ユーザU1は擬似的にリアルタイム対戦のように、ユーザU2と実際に対戦している気分を味わうことができる。
[3.機能ブロック]以上に説明したようなゲームを実現するための構成について説明する。図17は、ゲームシステム1で実現される主な機能ブロックを示す機能ブロック図である。なお、図17において、ゲーム端末30-1は、対戦するユーザのうちの一方のユーザ(例えばユーザU1)が利用しているゲーム端末30であり、ゲーム端末30-2は、他方のユーザ(例えばユーザU2)が利用しているゲーム端末30である。
[3-1]図17に示すように、ゲームシステム1はデータ記憶部100を含む。例えば、データ記憶部100はデータベース14によって実現される。データ記憶部100はゲームを提供するために必要なデータを記憶する。
図18はデータ記憶部100に記憶されるデータの一例を示す。ここでは、データ記憶部100に記憶されるデータの具体例として、先述のサッカーゲームを提供するために必要なデータについて説明する。図18に示すように、データ記憶部100は、ユーザテーブルTBL101、ゲームキャラクタテーブルTBL102、チームテーブルTBL103、及び対戦テーブルTBL104を含む。
[3-1-1]図19はユーザテーブルTBL101の一例を示す。ユーザテーブルTBL101はゲームシステム1のユーザのリストを示すデータである。図19に示すように、ユーザテーブルTBL101は下記に説明するフィールドを含む。
「ID」フィールドは各ユーザを一意に特定するための識別情報を示す。「ユーザ名」フィールドはユーザの名前を示す。「メダル」、フィールドは、ユーザの所有しているメダルの枚数を示す。「抽選ポイント」フィールドは、ユーザの所有している抽選ポイントの量を示す。「ゲームアイテム」フィールドは、ユーザの所有しているゲームアイテムのリストを示す。なお、「ユーザの所有しているメダル、抽選ポイント、又はゲームアイテム」とは、ユーザが任意に利用することが可能な状態にあるメダル、抽選ポイント、又はゲームアイテムである。「所属リーグ」フィールドは、ユーザの所属しているリーグを示す。ユーザの所属しているグループのランクが「所属リーグ」フィールドに登録される。「リーグポイント」フィールドは、ユーザが獲得したリーグポイントの累計を示す。リーグ対戦期間が開始されるごとに「リーグポイント」フィールドは零に初期化される。
[3-1-2]図20はゲームキャラクタテーブルTBL102の一例を示す。ゲームキャラクタテーブルTBL102は、ユーザの所有しているゲームキャラクタ(ユーザが育成パートで作成したオリジナルの選手キャラクタ)のリストを示すデータである。「ユーザの所有しているゲームキャラクタ」とは、ユーザが任意に利用することが可能な状態にあるゲームキャラクタである。ゲームキャラクタテーブルTBL102はユーザごとに記憶される(各ユーザIDに関連付けて記憶される)。図20に示すように、ゲームキャラクタテーブルTBL102は下記に説明するフィールドを含む。
「ID」フィールドは、ユーザの所有しているゲームキャラクタを特定するための識別情報を示す。「ゲームキャラクタ名」フィールドはゲームキャラクタの名称を示す。「得意ポジション」フィールドはゲームキャラクタが得意なサッカーのポジションを示す。「利き足」フィールドはゲームキャラクタの利き足を示す。「能力パラメータ」フィールドはゲームキャラクタの各種能力パラメータの値を示す。例えば、ドリブル能力パラメータ、パス能力パラメータ、シュート能力パラメータ、プレス能力パラメータ、タックル能力パラメータ、マーク能力パラメータ、キャッチング能力パラメータ、パンチング能力パラメータ、及びスピード能力パラメータ等の値が「能力パラメータ」フィールドに登録される。
[3-1-3]図21はチームテーブルTBL103の一例を示す。チームテーブルTBL103は、ユーザが自らのゲームキャラクタを利用して編成したオリジナルのサッカーチームの情報を示すデータである。チームテーブルTBL103はユーザごとに記憶される(各ユーザIDに関連付けて記憶される)。図21に示すように、チームテーブルTBL103は下記に説明するフィールドを含む。
「ランク」フィールドはチームのランクを示し、「総合能力値」フィールドはチームの総合能力値を示す。「フォーメーション」フィールドは、チームが採用しているフォーメーションを示す。「FW」、「FW」、「MF(左)」、「MF(中央)」、「MF(中央)」、「MF(右)」、「DF(左)」、「DF(中央)」、「DF(中央)」、「DF(右)」、「GK」、「控えFW」、「控えMF」、「控えDF」、「控えGK」フィールドは、各ポジション・役割に割り当てられているゲームキャラクタを示す。
[3-1-4]図22は対戦テーブルTBL104の一例を示す。対戦テーブルTBL104は、ユーザが行っている又は行った対戦の情報を示すデータである。対戦テーブルTBL104はユーザごとに記憶される(各ユーザIDに関連付けて記憶される)。図22に示すように、対戦テーブルTBL104は下記に説明するフィールドを含む。
「ID」フィールドは、個々の対戦を特定するための識別情報を示す。「対戦相手」フィールドは対戦相手のユーザを示す。対戦相手のユーザのIDが「対戦相手」フィールドに登録される。「対戦開始日時」フィールドは、対戦が開始した日時(例えば、対戦するユーザの組み合わせが決定された日時)を示す。
「ホーム試合結果」フィールドは、ユーザにとってのホーム試合(すなわち、対戦相手にとってのアウェイ試合:ユーザのサッカーチームを操作するユーザと、対戦相手のサッカーチームを操作するCPUとの試合)の結果を示す。ユーザにとってのホーム試合が終了した場合に、当該試合の結果や経過を示す情報が「ホーム試合結果」フィールドに登録される。「アウェイ試合結果」フィールドは、ユーザにとってのアウェイ試合(すなわち、対戦相手にとってのホーム試合:ユーザのサッカーチームを操作するCPUと、対戦相手のサッカーチームを操作する対戦相手との試合)の結果を示す。ユーザにとってのアウェイ試合が終了した場合に、当該試合の結果や経過を示す情報が「アウェイ試合結果」フィールドに登録される。
「対戦結果」フィールドは、ユーザと対戦相手との間の対戦結果を示す。ユーザと対戦相手との間の対戦結果が決定された場合に、当該対戦結果を示す情報が「対戦結果」フィールドに登録される。「報酬」フィールドは、ユーザに付与された報酬(メダル、抽選ポイント、リーグポイント、及び勝利報酬)を示す。「対戦終了日時」フィールドは、対戦が終了した日時(例えば、対戦結果が決定された日時)を示す。「終了フラグ」フィールドは、対戦が終了したか否か(対戦の結果が決定されたか否か)を示す。例えば、対戦が終了していない場合には値「0」が「終了フラグ」フィールドに登録され、対戦が終了した場合には値「1」が「終了フラグ」フィールドに登録される。「閲覧フラグ」フィールドは、対戦結果がユーザによって閲覧されたか否かを示す。例えば、対戦結果がユーザによって閲覧されていない場合には値「0」が「閲覧フラグ」フィールドに登録され、対戦結果がユーザによって閲覧された場合には値「1」が「閲覧フラグ」フィールドに登録される。
[3-1-5]データ記憶部100には、以上に説明したテーブルの他にも、例えば、ユーザの所有しているイベントキャラクタのリストを示すデータであるイベントキャラクタテーブル等が記憶されるが、ここでは説明を省略する。
[3-2]図17に示すように、ゲームサーバ10は、表示制御部110、階層情報関連付け部120、対戦要求受付部130、対戦相手選択部140、ゲームオブジェクト提供部150、第1対戦結果受信部160-1、第2対戦結果受信部160-2、期限経過判定部165、対戦結果決定部170、報酬関連付け部180、及び対戦結果送信部190を含む。これらはゲームサーバ10の制御部11によって実現される。制御部11がプログラムに従って処理を実行することによって、制御部11がこれらの機能ブロックとして機能する。
また図17に示すように、ゲーム端末30-1は、対戦要求送信部310-1、ゲームオブジェクト取得部320-1、第1対戦実行部330-1、第1対戦結果送信部340-1、対戦結果受信部350-1、及び表示制御部360-1を含む。これらはゲーム端末30-1の制御部31によって実現される。制御部31がプログラムに従って処理を実行することによって、制御部31がこれらの機能ブロックとして機能する。
また図17に示すように、ゲーム端末30-2は、対戦要求送信部310-2、ゲームオブジェクト取得部320-2、第2対戦実行部330-2、第2対戦結果送信部340-2、対戦結果受信部350-2、及び表示制御部360-2を含む。これらはゲーム端末30-2の制御部31によって実現される。制御部31がプログラムに従って処理を実行することによって、制御部31がこれらの機能ブロックとして機能する。
[3-2-1]表示制御部110は各種画像をユーザの利用する表示手段に表示するための制御を行う。
ここで、「ユーザの利用する表示手段」とは、例えば、ユーザの利用しているゲーム端末30に備えられた表示装置(液晶ディスプレイ又は有機ELディスプレイ等)である。例えば、携帯電話(スマートフォンを含む)、タブレット型コンピュータ、ラップトップ型コンピュータ、又は携帯ゲーム機等に備えられた表示装置である。また例えば、ユーザの利用しているゲーム端末30に接続された表示装置である。例えば、据置型ゲーム機やデスクトップ型コンピュータに接続された表示装置である。
「画像を表示手段に表示させるための制御を行う」とは、画像を表示するために必要なデータを生成して、当該データを表示手段又は表示手段に接続されたゲーム端末30に送信することによって、当該画像を表示手段に表示させることである。「画像を表示するために必要なデータ」とは、画像自体を示すデータであってもよいし、画像を生成するために必要なデータであってもよい。
先述のサッカーゲームの場合、表示制御部110は、図2,4~8,11,12,15,16に示した各種画像を表示するために必要なデータをゲーム端末30-1,30-2を送信することによって、当該画像を表示部35に表示させる。
[3-2-2]階層情報関連付け部120は、ユーザの識別情報と関連付けられた対戦成績情報に基づいて、ユーザの識別情報を複数の階層情報のいずれかと関連付ける。階層情報関連付け部120は、ユーザの対戦成績が良いほど、ユーザの識別情報をより上の階層情報と関連付ける。
ここで、「識別情報」とは、ユーザを一意に識別するための情報である。言い換えれば、ユーザを特定するための情報である。例えば、ユーザID、ユーザの名前、ユーザアカウント、又は電子メールアドレスが「識別情報」の一例に相当する。先述のサッカーゲームの場合、ユーザのIDが「識別情報」の一例に相当する。
「対戦成績情報」とは、ユーザが過去に行った対戦結果の優劣を示す情報である。例えば、ユーザが行った対戦結果に応じてユーザにポイントが付与されるようになっている場合であれば、当該ポイントが「対戦成績情報」の一例に相当する。また例えば、ユーザが勝利した回数(又はユーザが敗北した回数)も「対戦成績情報」の一例に相当する。先述のサッカーゲームの場合、リーグポイントが「対戦成績情報」の一例に相当する。
「複数の階層情報」とは、対戦成績情報に基づいてユーザを複数の階層に分けるための情報である。例えば、ユーザの識別情報と関連付けられた対戦成績情報に基づいて、ユーザの識別情報にレベル情報(例えばレベル1~10のいずれか等)が関連付けられる場合であれば、レベル情報が「階層情報」の一例に相当する。また例えば、ユーザの対戦成績に基づいて、ユーザの識別情報が複数のグループ情報(例えば最上位グループ、上位グループ、中位グループ、及び下位グループ等)のいずれかと関連付けられる場合であれば、グループ情報が「階層情報」の一例に相当する。先述のサッカーゲームの場合、リーグのランクが「階層情報」の一例に相当する。
先述のサッカーゲームの場合、階層情報関連付け部120は、ユーザのリーグポイントに基づいて、ユーザをランク1~6のリーグのいずれかに所属させる。例えば、階層情報関連付け部120は、リーグ対戦期間内に各ユーザが獲得したリーグポイントに基づいて、リーグに所属する全ユーザを順位付けする。そして、階層情報関連付け部120は、リーグ対戦期間終了時の順位が昇格基準順位以上であるユーザを一つ上のランクのリーグへと移す。また、階層情報関連付け部120は、リーグ対戦期間終了時の順位が降格基準順位以下であるユーザを一つ下のランクのリーグへと移す。なお、階層情報関連付け部120は、上記以外のユーザ(すなわち、リーグ対戦期間終了時の順位が昇格基準順位より下であり、降格基準順位より上であるユーザ)を現在のリーグに残す。
[3-2-3]対戦要求送信部310-1は対戦要求をゲームサーバ10に通信部33を介して送信する。対戦要求送信部310-2も対戦要求送信部310-1と同様である。対戦要求受付部130は、複数のユーザの各々からの対戦要求を受け付ける。
ここで、「対戦要求」とは、他のユーザとの対戦を要求することを示すデータである。また、「対戦要求を受け付ける」とは、対戦することを要求することを示すデータをユーザのゲーム端末30から受信することである。または、「対戦要求を受け付ける」とは、対戦することを要求することを示す操作を受け付けることであってもよい。
先述のサッカーゲームでは、メイン画像G100の要素P104が選択された場合に、対戦要求送信部310-1又は310-2は対戦要求をゲームサーバ10に通信部33を介して送信する。対戦要求受付部130は、対戦要求送信部310-1又は310-2によって送信された対戦要求を通信部13を介して受信する。
[3-2-4]対戦相手選択部140は、ユーザの対戦相手として他のユーザを選択する。
ここで、「対戦相手」とは、ユーザと対戦する相手である。すなわち、「対戦相手」とは、ユーザと勝敗を決する相手である。
「対戦相手として他のユーザを選択する」とは、例えば、所定規則に従って他のユーザを対戦相手として自動的に選択することである。所定条件を満足する他のユーザのうちから対戦相手を自動的に選択することである。例えば、各ユーザが対戦成績に基づいて複数階層のグループのいずれかに所属するようになっている場合であれば、ユーザと同じ階層のグループに所属する他のユーザのうちから対戦相手を自動的に選択することである。または、「対戦相手として他のユーザを選択する」とは、例えば、ユーザの指定操作に従って他のユーザを対戦相手として選択することであってもよい。すなわち、ユーザによって指定された他のユーザを対戦相手として選択することであってもよい。
例えば、対戦相手選択部140は、対戦要求受付部130によってユーザからの対戦要求が受け付けられた場合に、対戦要求受付部130によって対戦要求が受け付けられた他のユーザのうちから対戦相手を選択する。
ここで、「対戦要求受付部130によってユーザからの対戦要求が受け付けられた場合に、対戦要求受付部130によって対戦要求が受け付けられた他のユーザのうちから対戦相手を選択する」とは、ユーザから対戦が要求された場合に、同じく現在対戦を要求している他のユーザのうちから対戦相手を選択することである。
また例えば、対戦相手選択部140は、第1対戦の終了後において、対戦結果決定部170によって対戦結果が決定される前において、ユーザの新たな対戦相手として他のユーザを選択するようにしてもよい。
ここで、「第1対戦の終了後において、対戦結果決定部170によって対戦結果が決定される前」とは、第1対戦の終了後であって、第2対戦が終了する前である。
図17に示すように、対戦相手選択部140は第1対戦相手選択部141と第2対戦相手選択部142とを含む。
第1対戦相手選択部141は、ユーザの対戦相手として、ユーザの識別情報と関連付けられた階層情報と同一の階層情報と関連付けられた識別情報によって識別されるユーザを選択する。
ここで、「ユーザの識別情報と関連付けられた階層情報と同一の階層情報と関連付けられた識別情報によって識別されるユーザ」とは、ユーザと同一の階層に所属する他のユーザである。先述のサッカーゲームの場合、ユーザと同じランクのリーグに所属する他のユーザが上記の「ユーザ」の一例に相当する。
第2対戦相手選択部142は、所定の条件に基づき、第1対戦相手選択部141の代わりに、ユーザの対戦相手として、ユーザの識別情報と関連付けられた階層情報よりも上の階層情報と関連付けられた識別情報によって識別されるユーザを選択する。
ここで、「所定の条件に基づいて」とは、所定の条件が満足された場合に、第1対戦相手選択部141ではなく、第2対戦相手選択部142によって対戦相手を選択することである。例えば、第2対戦相手選択部142によって対戦相手を選択するか否かを確率情報に基づいて決定し、第2対戦相手選択部142によって対戦相手を選択すると決定された場合に、第1対戦相手選択部141ではなく、第2対戦相手選択部142によって対戦相手を選択することである。また例えば、ユーザの対戦実績が所定条件を満足した場合(例えば対戦回数が所定回数に達した場合等)に、第1対戦相手選択部141ではなく、第2対戦相手選択部142によって対戦相手を選択することである。先述のサッカーゲームの場合、ジャイアントキリングイベントの発生が「所定の条件」の一例に相当する。
「ユーザの識別情報と関連付けられた階層情報よりも上の階層情報と関連付けられた識別情報によって識別されるユーザ」とは、ユーザよりも上の階層に所属する他のユーザである。先述のサッカーゲームの場合、ユーザが所属しているリーグよりも上のランクのリーグに所属する他のユーザが上記の「ユーザ」の一例に相当する。
先述のサッカーゲームでは、第1対戦相手選択部141は、ユーザの対戦相手として、当該ユーザと同じランクのリーグに所属している他のユーザを選択する。また、第2対戦相手選択部142は、所定の確率に基づいて、ジャイアントキリングイベントを発生させるか否かを決定する。ジャイアントキリングイベントを発生させると決定された場合に、第2対戦相手選択部142は、ユーザの対戦相手として、当該ユーザが所属しているリーグよりも上のランクのリーグに所属している他のユーザを選択する。
[3-2-5]ゲームオブジェクト提供部150は、ゲーム端末30-1を利用しているユーザの識別情報と関連付けられた第1ゲームオブジェクトと、当該ユーザの対戦相手として選択された他のユーザの識別情報と関連付けられた第2ゲームオブジェクトとをゲーム端末30-1に提供する。同様に、ゲームオブジェクト提供部150は、第1ゲームオブジェクトと第2ゲームオブジェクトとをゲーム端末30-2に提供する。
ここで、「ゲームオブジェクト」とは、ゲームにおいて利用され得る対象である。例えば、ゲームキャラクタ又はゲームアイテム等が「ゲームオブジェクト」の一例に相当する。ゲームキャラクタ又はゲームアイテムは、ゲーム画面にゲームカードの形式で表示されるものであってもよい。例えば、ゲームオブジェクトには複数のパラメータが設定される。なお、「パラメータ」とは、例えば、ゲームオブジェクトの性能を示す情報、ゲームオブジェクトの状態を示す情報、又は、ゲームオブジェクトの希少度又は人気度を示す情報等である。パラメータは数値情報に限られず、数値情報以外の情報であってもよい。
「ユーザの識別情報と関連付けられた第1ゲームオブジェクト」とは、ユーザの識別情報と結びつけて記憶されたゲームオブジェクトである。言い換えれば、ユーザの所有するゲームオブジェクトである。さらに言い換えれば、ユーザが利用することが可能な状態にあるゲームオブジェクトである。先述のサッカーゲームの場合、ユーザのサッカーチーム(ユーザのサッカーチームのメンバである選手キャラクタ)が上記の「第1ゲームオブジェクト」の一例に相当する。
「他のユーザの識別情報と関連付けられた第2ゲームオブジェクト」とは、他のユーザの識別情報と結びつけて記憶されたゲームオブジェクトである。言い換えれば、他のユーザの所有するゲームオブジェクトである。さらに言い換えれば、他のユーザが利用することが可能な状態にあるゲームオブジェクトである。先述のサッカーゲームの場合、他のユーザのサッカーチーム(他のユーザのサッカーチームのメンバである選手キャラクタ)が上記の「第2ゲームオブジェクト」の一例に相当する。
例えば、先述のサッカーゲームにおいて、ゲーム端末30-1を利用しているユーザU1の対戦相手として、ゲーム端末30-2を利用しているユーザU2が決定された場合、ゲームオブジェクト提供部150は、ユーザU1のサッカーチーム(第1ゲームオブジェクトの一例)のデータとユーザU2のサッカーチーム(第2ゲームオブジェクトの一例)のデータとをゲーム端末30-1に送信する。また、ゲームオブジェクト提供部150は、ユーザU1のサッカーチームのデータとユーザU2のサッカーチームのデータとをゲーム端末30-2にも送信する。
[3-2-6]ゲームオブジェクト取得部320-1は、ゲーム端末30-1を利用しているユーザの識別情報と関連付けられた第1ゲームオブジェクトと、当該ユーザの対戦相手として選択された他のユーザの識別情報と関連付けられた第2ゲームオブジェクトとを取得する。すなわち、ゲームオブジェクト取得部320-1はゲームオブジェクト提供部150によって提供(送信)された第1ゲームオブジェクト及び第2ゲームオブジェクトを受信する。同様に、ゲームオブジェクト取得部320-2も第1ゲームオブジェクト及び第2ゲームオブジェクトとを取得する。ゲームオブジェクト取得部320-2もゲームオブジェクト提供部150によって提供(送信)された第1ゲームオブジェクト及び第2ゲームオブジェクトを受信する。
例えば、先述のサッカーゲームにおいて、ゲーム端末30-1を利用しているユーザU1の対戦相手として、ゲーム端末30-2を利用しているユーザU2が決定された場合、ゲームオブジェクト取得部320-1は、ユーザU1のサッカーチームのデータ(第1ゲームオブジェクトの一例)とユーザU2のサッカーチームのデータ(第2ゲームオブジェクトの一例)とを受信することによって取得する。同様に、ゲームオブジェクト取得部320-2も、ユーザU1のサッカーチームのデータとユーザU2のサッカーチームのデータとを受信することによって取得する。
[3-2-7]第1対戦実行部330-1は、ユーザの識別情報と関連付けられた第1ゲームオブジェクトと、対戦相手選択部140によって対戦相手として選択された他のユーザの識別情報と関連付けられた第2ゲームオブジェクトとに基づいて、ユーザと第1コンピュータとの第1対戦を実行する。例えば、第1対戦では、ユーザの指示に基づいて動作する第1ゲームオブジェクトと、第1コンピュータの指示に基づいて動作する第2ゲームオブジェクトとで対戦が行われる。
第2対戦実行部330-2は、第2ゲームオブジェクトと第1ゲームオブジェクトとに基づいて、対戦相手選択部140によって対戦相手として選択された他のユーザと第2コンピュータとの第2対戦を実行する。例えば、第2対戦では、第2コンピュータの指示に基づいて動作する第1ゲームオブジェクトと、他のユーザの指示に基づいて動作する第2ゲームオブジェクトとで対戦が行われる。
ここで、「対戦」とは、対戦相手と勝敗を決することである。対戦では必ずしも勝ち/負けが決まらなくてもよく、引き分けになる場合があってもよい。
「第1ゲームオブジェクトと第2ゲームオブジェクトとに基づいて、ユーザと第1コンピュータとの対戦を実行する」とは、ユーザの指示に基づいて動作する第1ゲームオブジェクトと、第1コンピュータの指示に基づいて動作する第2ゲームオブジェクトとの対戦を実行することである。言い換えれば、ユーザが第1ゲームオブジェクトを利用し、第1コンピュータが第2ゲームオブジェクトを利用して行われる対戦を実行することである。さらに言い換えれば、ユーザが第1ゲームオブジェクトを操作し、第1コンピュータが第2ゲームオブジェクトを操作するような対戦を実行することである。
「第1コンピュータ」とは、例えば、ユーザの利用するゲーム端末の制御部(プロセッサ、CPU)である。なお、ユーザの利用するゲーム端末以外のコンピュータ(例えばサーバ)のCPUであってもよい。
「第2ゲームオブジェクトと第1ゲームオブジェクトとに基づいて、他のユーザと第2コンピュータとの対戦を実行する」とは、他のユーザの指示に基づいて動作する第2ゲームオブジェクトと、第2コンピュータの指示に基づいて動作する第1ゲームオブジェクトとの対戦を実行することである。言い換えれば、他のユーザが第2ゲームオブジェクトを利用し、第2コンピュータが第1ゲームオブジェクトを利用して行われる対戦を実行することである。さらに言い換えれば、他のユーザが第2ゲームオブジェクトを操作し、第2コンピュータが第1ゲームオブジェクトを操作するような対戦を実行することである。
「第2コンピュータ」とは、例えば、他のユーザの利用するゲーム端末のCPUである。なお、他のユーザの利用するゲーム端末以外のコンピュータ(例えばサーバ)のCPUであってもよい。第2コンピュータは第1コンピュータと異なるコンピュータであってもよいし、同じであってもよい。
例えば、先述のサッカーゲームにおいて、ゲーム端末30-1を利用しているユーザU1の対戦相手として、ゲーム端末30-2を利用しているユーザU2が決定された場合、第1対戦実行部330-1は、ユーザU1のサッカーチームを操作するユーザU1と、ユーザU2のサッカーチームを操作するゲーム端末30-1の制御部31(CPU)との第1試合(第1対戦の一例)を実行する。また、第2対戦実行部330-2は、ユーザU2のサッカーチームを操作するユーザU2と、ユーザU1のサッカーチームを操作するゲーム端末30-2の制御部31(CPU)との第2試合(第2対戦の一例)を実行する。
[3-2-8]第1対戦結果送信部340-1は第1対戦の結果をゲームサーバ10に送信する。第1対戦結果受信部160-1は、第1対戦結果送信部340-1によって送信された第1対戦の結果を受信する。
第2対戦結果送信部340-2は第2対戦の結果をゲームサーバ10に送信する。第2対戦結果受信部160-2は、第2対戦結果送信部340-2によって送信された第2対戦の結果を受信する。
ここで、「対戦の結果」とは、例えば、勝敗のことである。必ずしも勝ち/負けが決まらなくてもよく、引き分けになる場合があってもよい。また、得点を競う対戦の場合、得点差も「対戦の結果」に相当する。
先述のサッカーゲームの場合、第1対戦結果送信部340-1は第1試合の結果をゲームサーバ10に送信し、第1対戦結果受信部160-1は、第1対戦結果送信部340-1によって送信された第1試合の結果を受信する。第2対戦結果送信部340-2は第2試合の結果をゲームサーバ10に送信し、第2対戦結果受信部160-2は、第2対戦結果送信部340-2によって送信された第2試合の結果を受信する。
[3-2-9]対戦結果決定部170は、第1対戦の結果と第2対戦の結果とに基づいて、ユーザと対戦相手選択部140によって対戦相手として選択された他のユーザとの間の対戦結果を決定する。対戦結果決定部170は、第1対戦と第2対戦との両方が終了した後で、第1対戦の結果と第2対戦の結果とに基づいて、ユーザと他のユーザとの間の対戦結果を決定する。
ここで、「対戦結果」とは先述の「対戦の結果」と同様である。また、「第1対戦の結果と第2対戦の結果とに基づいて、ユーザと他のユーザとの間の対戦結果を決定する」とは、第1対戦の結果と第2対戦の結果とに基づいて、例えば、ユーザが勝利したのか、又は、他のユーザが勝利したのか(ユーザが敗北したのか)を決定することである。なお、引き分けたと決定する場合があってもよい。例えば、第1対戦における勝敗や得点差等と、第2対戦における勝敗や得点差等とに基づいて、ユーザと他のユーザとの間の対戦結果が決定される。より具体的には、例えば、第1対戦におけるユーザの結果(勝敗や得点差等)と第2対戦における第2コンピュータの結果(勝敗や得点差等)とに基づき、ユーザのポイントを算出し、第1対戦における第1コンピュータの結果(勝敗や得点差等)と第2対戦における他のユーザの結果(勝敗や得点差等)とに基づき、他のユーザのポイントを算出し、それらのポイントを比較することによって、ユーザと他のユーザとの間の対戦結果を決定する。
「第1対戦と第2対戦との両方が終了した後」とは、第1対戦と第2対戦との両方の結果が確定した後である。
例えば、先述のサッカーゲームにおいて、ゲーム端末30-1を利用しているユーザU1と、ゲーム端末30-2を利用しているユーザU2とが対戦している場合、対戦結果決定部170はユーザU1,U2の各々の勝ち点を第1試合及び第2試合の結果に基づいて算出する(図9参照)。そして、対戦結果決定部170はユーザU1,U2の勝ち点を比較することによって、ユーザU1,U2の間の対戦結果を決定する(図10参照)。具体的には、対戦結果決定部170は勝ち点の多い方のユーザを勝者として決定する。なお、ユーザU1,U2の勝ち点が等しければ、対戦結果決定部170は第1試合及び第2試合におけるユーザU1,U2の得失点差を比較することによって、ユーザU1,U2の間の対戦結果を決定する(図10参照)。具体的には、対戦結果決定部170は得失点差の多い方のユーザを勝者として決定する。
なお、第1試合(第1対戦の一例)の終了後において、対戦結果決定部170によって対戦結果が決定される前であっても、対戦相手選択部140は、ユーザU1の新たな対戦相手として他のユーザ(ユーザU1,U2以外のユーザ)を選択可能である。同様に、第2試合の終了後において、対戦結果決定部170によって対戦結果が決定される前であっても、対戦相手選択部140は、ユーザU2の新たな対戦相手として他のユーザ(ユーザU1,U2以外のユーザ)を選択可能である。ここで、「第1試合の終了後において、対戦結果決定部170によって対戦結果が決定される前」とは、第1試合の終了後であって、第2試合が終了する前である。同様に、「第2試合の終了後において、対戦結果決定部170によって対戦結果が決定される前」とは、第2試合の終了後であって、第1試合が終了する前である。
[3-2-10]期限経過判定部165は所定の期限が経過したか否かを判定する。そして、期限経過判定部165による判定の結果、所定の期限が経過した場合において、第1対戦が終了しており、かつ、第2対戦が終了していない場合に、対戦結果決定部170はユーザと他のユーザとの間の対戦に他のユーザが敗北したと決定する。一方、期限経過判定部165による判定の結果、所定の期限が経過した場合において、第2対戦が終了しており、かつ、第1対戦が終了していない場合に、対戦結果決定部170はユーザと他のユーザとの間の対戦にユーザが敗北したと決定する。
ここで、「所定の期限」とは、第1対戦及び第2対戦を終了すべき期限である。例えば、ユーザの対戦相手として他のユーザが選択されてから所定時間が経過した時点が「期限」として設定される。また例えば、第1対戦及び第2対戦の一方が終了してから所定時間が経過した時点が「期限」として設定される。
「期限が経過した場合において、第1対戦が終了しており、かつ、第2対戦が終了していない場合に、ユーザと他のユーザとの間の対戦に他のユーザが敗北したと決定する」とは、第1対戦が終了しているにもかかわらず、期限が経過するまでに第2対戦が終了していなかった場合に、第2対戦を終了しなかった他のユーザを敗者として決定することである。なお、「対戦が終了していない場合」とは、対戦がそもそも開始されていない場合や、対戦が開始されたが、期限までに対戦が終了しなかった場合である。
「期限が経過した場合において、第2対戦が終了しており、かつ、第1対戦が終了していない場合に、ユーザと他のユーザとの間の対戦にユーザが敗北したと決定する」とは、第2対戦が終了しているにもかかわらず、期限が経過するまでに第1対戦が終了していなかった場合に、第1対戦を終了しなかったユーザを敗者として決定することである。
例えば、先述のサッカーゲームにおいて、ゲーム端末30-1を利用しているユーザU1とゲーム端末30-2を利用しているユーザU2とが対戦している場合、期限経過判定部165は、対戦するユーザの組み合わせとしてユーザU1,U2が決定されてから所定時間(例えば30分)が経過したか否かを判定する。そして、当該所定時間が経過した時点で第2試合が終了していなければ、対戦結果決定部170はユーザU2が敗北し、ユーザU1が勝利したと決定する。一方、上記所定時間が経過した時点で第1試合が終了していなければ、対戦結果決定部170はユーザU1が敗北し、ユーザU2が勝利したと決定する。
[3-2-11]報酬関連付け部180はユーザの識別情報に報酬を関連付ける。
ここで、「ユーザの識別情報に報酬を関連付ける」とは、識別情報によって識別されるユーザに報酬を付与することである。
例えば、ユーザにゲームオブジェクト(ゲームアイテム又はゲームキャラクタ等)を付与することである。すなわち、ユーザが保有していない新たなゲームオブジェクトをユーザに付与することや、ユーザがすでに保有しているゲームオブジェクトをさらにユーザに付与することによって、ユーザが保有している当該ゲームオブジェクトの数を増加することである。言い換えれば、新たなゲームオブジェクトをユーザの識別情報と関連付けることや、ユーザの識別情報とゲームオブジェクトが関連付けられた状態でさらに当該ゲームオブジェクトをユーザの識別情報と関連付けることによって、ユーザの識別情報と関連付けられたゲームオブジェクトの数を増加することである。
また例えば、ユーザにゲームポイント又はゲーム内通貨を付与することである。すなわち、ユーザの保有するゲームポイント又はゲーム内通貨等を増加することである。言い換えれば、ユーザの識別情報とゲームポイント又はゲーム内通貨が関連付けられた状態でさらにゲームポイント又はゲーム内通貨を関連付けることによって、ユーザの識別情報と関連付けられたゲームポイント又はゲーム内通貨を増加することである。
「報酬」は、ゲームオブジェクト、ゲームポイント、又はゲーム内通貨に限られず、ゲームの内容に合わせて種々の報酬を設定することが可能である。例えば、「報酬」として、特別の称号をユーザに付与してもよい。また例えば、「報酬」として、ユーザと関連付けられたパラメータ(ゲームポイント以外のパラメータ)をユーザにとって有利となるように一時的又は永続的に変化させてもよい。
図17に示すように、報酬関連付け部180は第1報酬関連付け部181、第2報酬関連付け部182、及び第3報酬関連付け部183を含む。
第1報酬関連付け部181は、第1対戦の結果に基づいて、ユーザの識別情報に第1報酬を関連付ける。ここで、「第1対戦の結果に基づいて、ユーザの識別情報に第1報酬を関連付ける」とは、ユーザの識別情報に第1報酬を関連付けるか否かを第1対戦の結果に基づいて決定したり、ユーザの識別情報に関連付ける第1報酬(種類又は量等)を第1対戦の結果に基づいて決定したりすることである。
第2報酬関連付け部182は、第2対戦の結果に基づいて、対戦相手選択部140によって対戦相手として選択された他のユーザの識別情報に第2報酬を関連付ける。ここで、「第2対戦の結果に基づいて、他のユーザの識別情報に第2報酬を関連付ける」とは、他のユーザの識別情報に第2報酬を関連付けるか否かを第2対戦の結果に基づいて決定したり、他のユーザの識別情報に関連付ける第2報酬(種類又は量等)を第2対戦の結果に基づいて決定したりすることである。
例えば、先述のサッカーゲームにおいて、ゲーム端末30-1を利用しているユーザU1とゲーム端末30-2を利用しているユーザU2とが対戦している場合、第1報酬関連付け部181は、第1試合の結果に基づいて、ユーザU1にメダル及び抽選ポイント(第1報酬の一例)を付与する。また、第2報酬関連付け部182は、第2試合の結果に基づいて、ユーザU2にメダル及び抽選ポイント(第2報酬の一例)を付与する。
第3報酬関連付け部183は、対戦結果決定部170によって決定された対戦結果に基づいて、ユーザと他のユーザ(対戦相手)との少なくとも一方の識別情報に第3報酬を関連付ける。ここで、「対戦結果決定部170によって決定された対戦結果に基づいて、ユーザと他のユーザとの少なくとも一方の識別情報に第3報酬を関連付ける」とは、対戦結果決定手段によって決定された対戦結果に基づいて、ユーザの識別情報と他のユーザの識別情報との少なくとも一方を第3報酬を関連付ける対象として決定したり、ユーザの識別情報と他のユーザの識別情報との少なくとも一方に関連付ける第3報酬(種類又は量等)を決定したりすることである。
第3報酬関連付け部183は報酬決定部184を含む。報酬決定部184は、対戦結果決定部170によってユーザが勝利したと決定された場合に、ユーザの識別情報に報酬(第3報酬)を関連付けるか否かと、ユーザの識別情報に関連付ける報酬(第3報酬)の種類とを確率情報に基づいて決定する。
ここで、「ユーザの識別情報に報酬を関連付けるか否かと、ユーザの識別情報に関連付ける報酬の種類とを確率情報に基づいて決定する」とは、ユーザの識別情報に報酬を関連付けるか否かを確率情報に基づいて決定し、ユーザの識別情報に報酬を関連付けると決定された場合に、ユーザの識別情報に関連付ける報酬の種類を複数種類のうちから確率情報に基づいて決定することである。
例えば、先述のサッカーゲームにおいて、ゲーム端末30-1を利用しているユーザU1とゲーム端末30-2を利用しているユーザU2とが対戦している場合において、対戦結果決定部170によってユーザU1が勝利したと決定された場合に、報酬決定部184は、ユーザU1に勝利報酬(第3報酬の一例)を付与するか否かと勝利報酬の種類とを確率情報に基づいて決定する(図14参照)。一方、対戦結果決定部170によってユーザU2が勝利したと決定された場合に、報酬決定部184は、ユーザU2に勝利報酬(第3報酬の一例)を付与するか否かと勝利報酬の種類とを確率情報に基づいて決定する(図14参照)。第3報酬関連付け部183は、対戦結果決定部170によって決定された対戦結果に基づいて、リーグポイント(第3報酬の一例)をユーザU1,U2に付与する(図13参照)。また第3報酬関連付け部183は、報酬決定部184による決定の結果に基づいて、勝利報酬をユーザU1,U2のうちの勝者に付与する。
[3-2-12]ゲーム端末30-1を利用しているユーザU1の対戦相手として、ゲーム端末30-2を利用しているユーザU2が決定されて対戦が実行された場合、対戦結果送信部190は、対戦結果決定部170によって決定された対戦結果をゲーム端末30-1,30-2の各々に送信する。対戦結果受信部350-1,350-2は、対戦結果送信部190によって送信された対戦結果を受信する。
[3-2-13]表示制御部360-1は各種画像をゲーム端末30-1の表示部35(ユーザの利用する表示手段の一例)に表示させるための制御を行う。表示制御部360-2は各種画像をゲーム端末30-2の表示部35に表示させるための制御を行う。ここで、「画像を表示部35に表示させるための制御を行う」とは、例えば、画像を生成又は取得(受信)して、当該画像を表示部35に表示させることである。表示制御部360-2は表示制御部360-1と同様であるため、以下では主に表示制御部360-1について説明する。
例えば、表示制御部360-1は、対戦結果決定部170によって決定された対戦結果であって、かつ、ユーザによって未だ閲覧されていない対戦結果が存在していることを示す画像を表示部35に表示させるための制御を行う。
ここで、「ユーザによって未だ閲覧されていない対戦結果」とは、ユーザが見ていない状態にある対戦結果である。また、「ユーザによって未だ閲覧されていない対戦結果が存在していることを示す画像」とは、例えば、ユーザによって未だ閲覧されていない対戦結果が存在していることを単に示す画像である。または、上記「画像」とは、ユーザによって未だ閲覧されていない対戦結果の一覧を示す画像であってもよい。あるいは、上記「画像」とは、ユーザの対戦結果のうちの、ユーザによって未だ閲覧されていない対戦結果を他の対戦結果と区別して示す画像であってもよい。先述のサッカーゲームの場合、表示制御部360-1は、例えば図11に示したようなメイン画像G100(特に要素P105,P106)を表示部35に表示する。
また例えば、表示制御部360-1は、対戦結果受信部350-1によって受信された対戦結果を表示部35に表示させるための制御を行う。先述のサッカーゲームの場合、表示制御部360-1は、例えば図12に示したような対戦結果画像G160を表示部35に表示する。
また例えば、表示制御部360-1は、対戦結果決定部170によって決定された対戦結果であって、かつ、ユーザによって未だ閲覧されていない対戦結果が所定数よりも多く存在している場合に、当該対戦結果を閲覧するようにユーザに対して促すための画像を表示部35に表示させるための制御を行う。
ここで、「対戦結果を閲覧するようにユーザに対して促すための画像」とは、例えば、対戦結果を閲覧するように促すメッセージを含む画像である。または、上記「画像」とは、対戦結果を閲覧するための画像へのみ遷移するような画像であってもよい。先述のサッカーゲームの場合、表示制御部360-1は、例えば図15に示したようなメッセージ画像G170を表示部35に表示する。
また例えば、表示制御部360-1は、ユーザに関連している対戦の情報の一覧を示す一覧画像を表示部35に表示させるための制御を行う。一覧画像では、ユーザに関連している対戦のうちの、対戦結果決定部170によって対戦結果が決定済みの対戦と、対戦結果決定部170によって対戦結果が未決定の対戦とが区別して示される。
ここで、「ユーザに関連している対戦」とは、ユーザが過去に参加した対戦(すでに終了した対戦)やユーザが現在参加している対戦(現在実行中の対戦)である。
「対戦の情報」とは、例えば、対戦相手の情報である。すでに終了している対戦であれば、対戦結果が「対戦の情報」の一例に相当する。現在実行中の対戦の場合であれば、現在の状況(第1対戦又は第2対戦のいずれかが終了しているのか否かや、第1対戦又は第2対戦のいずれかが終了しているのであればその結果等)が「対戦の情報」の一例に相当する。
「対戦結果が決定済みの対戦と対戦結果が未決定の対戦とが区別して示される」とは、対戦結果が決定済みの対戦と対戦結果が未決定の対戦とをユーザが区別して認識できるように示すことである。例えば、対戦結果が決定済みの対戦と対戦結果が未決定の対戦とのいずれか一方に関連付けて特定のテキスト又は画像を表示すること、対戦結果が決定済みの対戦と対戦結果が未決定の対戦とのそれぞれに互いに異なる特定のテキスト又は画像を表示すること、対戦結果が決定済みの対戦と対戦結果が未決定の対戦との表示態様(色等)を異ならせること、又は、対戦結果が決定済みの対戦と対戦結果が未決定の対戦とで表示領域を分けること等である。
先述のサッカーゲームの場合、表示制御部360-1は、例えば図8に示したような対戦履歴画像G150(一覧画像の一例)を表示部35に表示する。対戦履歴画像G150では、対戦結果が未決定の対戦に関しては「試合中」と表示される(図8の要素P151-1参照)。
[4.処理]次に、ゲームシステム1で実行される処理について説明する。
[4-1]図23は、メイン画像G100の要素P104が選択された場合に実行される処理の一例を示す。図23に示す処理がプログラムに従って実行されることによって、対戦要求送信部310-1(310-2)、対戦要求受付部130、及び表示制御部110,360-1(360-2)が実現される。以下では、ユーザU1がメイン画像G100の要素P104を選択した場合を想定して、図23に示す処理について説明する。
図23に示すように、まず、ゲーム端末30の制御部31は対戦要求をゲームサーバ10に通信部33を介して通知し(S300)、ゲームサーバ10は対戦要求を通信部13を介して受信する(S100)。このとき、ユーザU1のIDが対戦要求とともにゲーム端末30からゲームサーバ10に送信される。
対戦要求がゲームサーバ10で受信された場合に、ゲームサーバ10の制御部11は、ユーザU1が行った対戦結果のうちの、ユーザU1によって未だ閲覧されていない対戦結果の数が所定数(例えば10)以上であるか否かを判定する(S102)。例えば、制御部11はユーザU1の対戦テーブルTBL104(ユーザU1のIDと関連付けられた対戦テーブルTBL104)を参照し、終了フラグが「1」であり、かつ、閲覧フラグが「0」である対戦の数を取得する。そして、制御部11は当該数が所定数以上であるか否かを判定する。
上記数が所定数以上である場合、制御部11はメッセージ画像G170のデータをゲーム端末30に通信部13を介して送信し(S104)、ゲーム端末30は当該データを通信部33を介して受信する(S302)。そして、当該データに基づいて、制御部31はメッセージ画像G170を表示部35に表示する(S304)。なお、ここで、「画像のデータ」とは、画像を生成するために必要な情報を示すデータであってもよいし、画像自体を示すデータであってもよい。以下でも同様である。
メッセージ画像G170が表示されている間、制御部31は要素P173が選択されたか否かを監視する。要素P173が選択された場合、制御部31は対戦結果画像G160のデータをゲームサーバ10に通信部33を介して要求し(S306)、ゲームサーバ10は当該要求を通信部13を介して受信する(S106)。このとき、ユーザU1のIDが上記要求とともにゲーム端末30からゲームサーバ10に送信される。
対戦要求がゲームサーバ10で受信された場合に、制御部11は通信部13を介して対戦結果画像G160のデータをゲーム端末30に送信する(S108)。例えば、制御部11はユーザU1の対戦テーブルTBL104を参照し、終了フラグが「1」であり、かつ、閲覧フラグが「0」である対戦に関するデータを取得する。そして、当該データに基づいて、制御部11は対戦結果画像G160のデータをゲーム端末30に送信する。
ゲーム端末30は対戦結果画像G160のデータを通信部33を介して受信し(S308)、当該データに基づいて、制御部31は対戦結果画像G160を表示部35に表示する(S310)。この場合、未閲覧の対戦結果を示す対戦結果画像G160が対戦終了日時が古いものから順に表示される。なおこの場合、ユーザU1の対戦テーブルTBL104がアクセスされ、ユーザU1によって閲覧された対戦の閲覧フラグが「1」に更新される。
対戦結果画像G160が表示されている間、制御部31は要素P166が選択されたか否かを監視する。要素P166が選択された場合、制御部31は、対戦結果を確認(閲覧)し終えたことをゲームサーバ10に通信部33を介して通知し(S312)、ゲームサーバ10は当該通知を通信部13を介して受信する(S110)。このとき、ユーザU1のIDが上記通知とともにゲーム端末30からゲームサーバ10に送信される。
上記通知がゲームサーバ10で受信された場合に、制御部11は対戦要求を正式に受け付ける(S112)。なお、ステップS102において未閲覧の対戦結果の数が所定数以上でないと判定された場合、制御部11は、ステップS104~S110を実行することなく、対戦要求を正式に受け付ける(S112)。
[4-2]図24A,24B,24Cは、ゲーム端末30-1,30-2の各々からゲームサーバ10に対戦要求が送信され、当該対戦要求が制御部11によって正式に受け付けられた場合に実行される処理の一例を示す。図24A~24Cに示す処理がプログラムに従って実行されることによって、図17に示す機能ブロックが実現される。以下では、ユーザU1がゲーム端末30-1を利用しており、ユーザU2がゲーム端末30-2を利用している場合を想定して、図24A~24Cに示す処理について説明する。
図24Aに示すように、ゲーム端末30-1からゲームサーバ10に対戦要求が送信され(S300-1)、当該対戦要求が制御部11によって正式に受け付けられた場合(S112)、制御部11はユーザU1のチームテーブルTBL103及びゲームキャラクタテーブルTBL102を参照することによって、ユーザU1のサッカーチームデータを取得し、ユーザU1のサッカーチームデータをゲーム端末30-1に通信部13を介して送信する(S120)。そして、ゲーム端末30-1は当該データを受信し(S320-1)、当該データに基づいて、ゲーム端末30-1の制御部31は待ち画像G110を表示部35に表示する(S322-1)。
また、ゲーム端末30-2からゲームサーバ10に対戦要求が送信され(S300-2)、当該対戦要求が制御部11によって正式に受け付けられた場合(S112)、制御部11はユーザU2のチームテーブルTBL103及びゲームキャラクタテーブルTBL102を参照することによって、ユーザU2のサッカーチームデータを取得し、ユーザU2のサッカーチームデータをゲーム端末30-2に通信部13を介して送信する(S120)。そして、ゲーム端末30-2は当該データを受信し(S320-2)、当該データに基づいて、ゲーム端末30-2の制御部31は待ち画像G110を表示部35に表示する(S322-2)。
ステップS120の実行後、制御部11はユーザU1,U2の対戦相手を決定する(S122)。例えば、制御部11は、ユーザU1に対してジャイアントキリングイベントを発生させるか否かを所定の確率に基づいて決定する。ユーザU1に対してジャイアントキリングイベントを発生させないと決定した場合、制御部11は、ユーザU1の対戦相手として、対戦を要求している他のユーザのうちから、ユーザU1と同じランクのリーグに所属しているユーザのいずれかを選択する。一方、ユーザU1に対してジャイアントキリングイベントを発生させると決定した場合、制御部11は、ユーザU1の対戦相手として、対戦を要求している他のユーザのうちから、ユーザU1よりも一つ上のランクのリーグに所属しているユーザのいずれかを選択する。制御部11はユーザU2の対戦相手も同様にして決定する。
ここでは、ユーザU1,U2がお互いの対戦相手として選択された場合を想定する。すなわち、対戦するユーザの組み合わせとしてユーザU1,U2が選択された場合を想定する。この場合、制御部11はユーザU1の対戦テーブルTBL104にアクセスし、新たなレコードをユーザU1の対戦テーブルTBL104に追加する。この場合、既存のIDと重複しないように設定されたID、ユーザU2のID、現在日時、値「0」、値「0」が当該新たなレコードの「ID」、「対戦相手」、「対戦開始日時」、「終了フラグ」、「閲覧フラグ」フィールドに登録される。その他のフィールドは空欄(NULL状態)に設定される。同様に、制御部11はユーザU2の対戦テーブルTBL104にアクセスし、新たなレコードをユーザU2の対戦テーブルTBL104に追加する。この場合、既存のIDと重複しないように設定されたID、ユーザU1のID、現在日時、値「0」、値「0」が当該新たなレコードの「ID」、「対戦相手」、「対戦開始日時」、「終了フラグ」、「閲覧フラグ」フィールドに登録される。その他のフィールドは空欄(NULL状態)に設定される。
ステップS122の実行後、制御部11は、ユーザU1の対戦相手であるユーザU2のサッカーチームデータを通信部13を介してゲーム端末30-1に送信し(S124)、ゲーム端末30-1は当該データを通信部33を介して受信する(S324-1)。そして、当該データに基づいて、制御部31は対戦相手画像G120を表示部35に表示する(S326-1)。なお、ユーザU1に対してジャイアントキリングイベントが発生した場合には、図16に示すような要素P128が対戦相手画像G120に表示される。
同様に、制御部11は、ユーザU2の対戦相手であるユーザU1のサッカーチームデータをゲーム端末30-2に通信部13を介して送信し(S124)、ゲーム端末30-2は当該データを通信部33を介して受信する(S324-2)。そして、当該データに基づいて、制御部31は対戦相手画像G120を表示部35に表示する(S326-2)。なお、ユーザU2に対してジャイアントキリングイベントが発生した場合には、図16に示すような要素P128が対戦相手画像G120に表示される。
対戦相手画像G120がゲーム端末30-1の表示部35に表示されている間、ゲーム端末30-1の制御部31は要素P127が選択されたか否かを監視する。要素P127が選択された場合、制御部31は第1試合を実行する(S328-1)。この場合、ユーザU1のサッカーチームデータと、対戦相手であるユーザU2のサッカーチームデータとに基づいて、制御部11は、ユーザU1のサッカーチームを操作するユーザU1と、ユーザU2のサッカーチームを操作するCPU(制御部31)との試合を実行する。
第1試合の終了後、制御部31は第1試合の結果データをゲームサーバ10に通信部33を介して送信し(S330-1)、ゲームサーバ10は当該結果データを通信部13を介して受信する(S126)。この場合、制御部31はユーザU1の対戦テーブルTBL104にアクセスし、今回のユーザU2との対戦に対応するレコードの「ホーム試合」フィールドに第1試合の結果を登録する。また、制御部31はユーザU2の対戦テーブルTBL104にアクセスし、今回のユーザU1との対戦に対応するレコードの「アウェイ試合」フィールドに第1試合の結果を登録する。
ステップS126の実行後、制御部31は、第1試合を行ったユーザU1にメダル及び抽選ポイントを付与する(S128)。すなわち、制御部31はユーザテーブルTBL101にアクセスし、ユーザU1の所有しているメダルの枚数や抽選ポイントの量を第1試合の結果に応じた枚数又は量だけ増やす。また、制御部31はユーザU1の対戦テーブルTBL104にアクセスし、「報酬」フィールドへの登録を行う。
また、制御部11は第1試合の試合結果画像G130のデータをゲーム端末30-1に通信部13を介して送信し(S130)、ゲーム端末30-1は当該データを通信部33を介して受信する(S332-1)。そして、当該データに基づいて、制御部31は第1試合の試合結果画像G130を表示部35に表示する(S334-1)。
試合結果画像G130がゲーム端末30-1の表示部35に表示されている間、ゲーム端末30-1の制御部31は要素P135が選択されたか否かを監視する。要素P135が選択された場合、図24Bに示すように、制御部31は、第1試合の結果が確認されたことをゲームサーバ10に通信部33を介して通知し(S336-1)、ゲームサーバ10は当該通知を通信部13を介して受信する(S132)。
上記通知がゲームサーバ10で受信された場合、制御部11は第2試合が終了しているか否かを判定し、第2試合が終了していなければ、対戦状況画像G140のデータをゲーム端末30-1に通信部13を介して送信する(S134)。ゲーム端末30-1は当該データを通信部33を介して受信し(S338-1)、当該データに基づいて、制御部31は対戦状況画像G140を表示部35に表示する(S340-1)。
一方、ゲーム端末30-2では、ステップS326-2が実行された後、すなわち、対戦相手画像G120がゲーム端末30-2の表示部35に表示されている間、制御部31は要素P127が選択されたか否かを監視する。要素P127が選択された場合、制御部31は第2試合を実行する(S328-2)。この場合、ユーザU2のサッカーチームデータと、対戦相手であるユーザU1のサッカーチームデータとに基づいて、制御部11は、ユーザU2のサッカーチームを操作するユーザU2と、ユーザU1のサッカーチームを操作するCPU(制御部31)との試合を実行する。
第2試合の終了後、制御部31は第2試合の結果データをゲームサーバ10に通信部33を介して送信し(S330-2)、ゲームサーバ10は当該結果データを通信部13を介して受信する(S136)。この場合、制御部31はユーザU2の対戦テーブルTBL104にアクセスし、今回のユーザU1との対戦に対応するレコードの「ホーム試合」フィールドに第2試合の結果を登録する。また、制御部31はユーザU1の対戦テーブルTBL104にアクセスし、今回のユーザU2との対戦に対応するレコードの「アウェイ試合」フィールドに第2試合の結果を登録する。
ステップS136の実行後、制御部31は、第2試合を行ったユーザU2にメダル及び抽選ポイントを付与する(S138)。すなわち、制御部31はユーザテーブルTBL101をアクセスし、ユーザU2の所有しているメダルの枚数や抽選ポイントの量を第2試合の結果に応じた枚数又は量だけ増やす。また、制御部31はユーザU2の対戦テーブルTBL104にアクセスし、「報酬」フィールドへの登録を行う。
また、制御部11は第2試合の試合結果画像G130のデータをゲーム端末30-2に通信部13を介して送信し(S140)、ゲーム端末30-2は当該データを通信部33を介して受信する(S332-2)。そして、当該データに基づいて、制御部31は第2試合の試合結果画像G130を表示部35に表示する(S334-2)。
ステップS140の実行後、ゲームサーバ10では制御部11がユーザU1,U2の間の対戦結果を決定する(S142)。例えば、制御部11は、第1試合及び第2試合におけるユーザU1の勝ち点と、第1試合及び第2試合におけるユーザU2の勝ち点とを比較し、ユーザU1,U2のうちで勝ち点の多い方を勝者として決定する。なお、ユーザU1,U2の勝ち点が等しい場合には、制御部11は、第1試合及び第2試合におけるユーザU1の得失点差と、第1試合及び第2試合におけるユーザU2の得失点差とを比較し、ユーザU1,U2のうちで得失点差の多い方を勝者として決定する。
なお、図24Bでは省略されているが、対戦するユーザの組み合わせとしてユーザU1,U2が決定された後、制御部11は所定時間(例えば30分)が経過したか否かを監視している。そして、上記所定時間が経過した時点で第2試合が終了していなければ、制御部11はユーザU1を勝者として決定する。一方、上記所定時間が経過した時点で第1試合が終了していなければ、制御部11はユーザU2を勝者として決定する。
対戦結果が決定された場合、制御部31はユーザU1,U2の対戦テーブルTBL104にそれぞれアクセスし、対戦結果、現在日時、値「1」を「対戦結果」、「対戦終了日時」、「終了フラグ」フィールドを登録する。
対戦結果が決定された後、制御部11はユーザU1,U2にリーグポイントを付与し、勝者のユーザに勝利報酬を付与する(S144)。
例えば、制御部11は、ステップS144で決定される対戦結果に基づいて、ユーザU1,U2の各々に付与するリーグポイントの量を決定する(図13参照)。そして、制御部11はユーザテーブルTBL101にアクセスし、ユーザU1,U2のリーグポイントを増加させる。また、制御部31はユーザU1,U2の対戦テーブルTBL104にそれぞれアクセスし、「報酬」フィールドへの登録を行う。
また例えば、制御部11は、図14に示す第1回抽選によって、勝者のユーザに勝利報酬を付与するか否かを決定する。勝者のユーザに勝利報酬を付与すると決定された場合、制御部11は、図14に示す第2回抽選及び第3回抽選によって、勝者のユーザに付与する勝利報酬を決定する。そして、制御部11はユーザテーブルTBL101にアクセスし、勝利報酬として決定されたゲームアイテムを勝者のユーザの所有しているゲームアイテムに追加する。また、制御部31は勝者のユーザの対戦テーブルTBL104にそれぞれアクセスし、「報酬」フィールドへの登録を行う。
ゲーム端末30-2では、ステップS334-2の実行後、すなわち、第2試合の試合結果画像G130がゲーム端末30-2の表示部35に表示されている間、制御部31は要素P135が選択されたか否かを監視する。要素P135が選択された場合、制御部31は、第2試合の結果が確認されたことをゲームサーバ10に通信部33を介して通知し(S336-2)、ゲームサーバ10は当該通知を通信部13を介して受信する(S146)。
上記通知がゲームサーバ10で受信された場合、制御部11は第1試合がすでに終了しているか否かを判定し、第1試合がすでに終了していれば(すなわち第1試合及び第2試合の両方が終了していれば)、制御部11は対戦結果画像G160のデータをゲーム端末30-2に通信部13を介して送信する(S148)。ゲーム端末30-2は当該データを通信部33を介して受信し(S338-2)、当該データに基づいて、制御部31は対戦結果画像G160を表示部35に表示する(S340-2)。なおこの場合、ユーザU2の対戦テーブルTBL104がアクセスされ、ユーザU2によって閲覧された対戦の閲覧フラグが「1」に更新される。
一方、ゲーム端末30-1では、ステップS340-1の実行後、すなわち、対戦状況画像G140がゲーム端末30-1の表示部35に表示されている間、制御部31は要素P144が選択されたか否かを監視する。要素P144が選択された場合、図24Cに示すように、制御部31はメイン画像G100のデータをゲームサーバ10に通信部33を介して要求し(S342-1)、ゲームサーバ10は当該通知を通信部13を介して受信する(S150)。
上記要求がゲームサーバ10で受信された場合、制御部11はメイン画像G100のデータをゲーム端末30-1に通信部13を介して送信する(S152)。この場合、制御部11は、ユーザU1が行った対戦結果のうちで、ユーザU1が未だ確認していない対戦結果が存在しているか否かを判定する。すなわち、制御部11はユーザU1の対戦テーブルTBL104を参照し、終了フラグが「1」であり、閲覧フラグが「0」である対戦が存在しているか否かを判定する。ユーザU1が未だ確認していない対戦結果が存在していない場合、制御部11は、要素P103を含むメイン画像G100(図2参照)のデータをゲーム端末30-1に送信し、ユーザU1が未だ確認していない対戦結果が存在している場合、制御部11は、要素P105,P106を含むメイン画像G100(図11参照)のデータをゲーム端末30-1に送信する。
ゲーム端末30-1はメイン画像G100のデータを通信部33を介して受信し(S344-1)、当該データに基づいて、制御部31はメイン画像G100を表示部35に表示する(S346-1)。なお、ここでは、要素P105,P106を含むメイン画像G100(図11参照)が表示された場合を想定する。
要素P105を含むメイン画像G100が表示部35に表示されている間、制御部31は要素P105が選択されたか否かを監視する。要素P105が選択された場合、制御部31は、対戦結果の閲覧をゲームサーバ10に通信部33を介して要求し(S348-1)、ゲームサーバ10は当該要求を通信部13を介して受信する(S154)。
上記要求がゲームサーバ10で受信された場合、制御部11は対戦結果画像G160のデータをゲーム端末30-1に通信部13を介して送信し(S156)、ゲーム端末30-1は当該データを通信部33を介して受信する(S350-1)。そして、当該データに基づいて、制御部31は対戦結果画像G160を表示部35に表示する(S352-1)。ステップS156,S350-1,S352-1は図23のステップS108,S308,S310と同様である。なおこの場合、ユーザU1の対戦テーブルTBL104がアクセスされ、ユーザU1によって閲覧された対戦の閲覧フラグが「1」に更新される。
[4-3]図25は、メイン画像G100の要素P103が選択された場合に実行される処理の一例を示す。図25に示す処理がプログラムに従って実行されることによって、表示制御部110,360-1(360-2)が実現される。以下では、ユーザU1がメイン画像G100の要素P103を選択した場合を想定して、図25に示す処理について説明する。
図25に示すように、まず、ゲーム端末30の制御部31は対戦履歴画像G150のデータをゲームサーバ10に通信部33を介して要求し(S360)、ゲームサーバ10は対戦要求を通信部13を介して受信する(S160)。このとき、ユーザU1のIDが上記要求とともにゲーム端末30からゲームサーバ10に送信される。
上記要求がゲームサーバ10で受信された場合、制御部11は対戦履歴画像G150のデータをゲーム端末30に通信部13を介して送信する(S162)。例えば、制御部11はユーザU1の対戦テーブルTBL104を参照し、ユーザU1の対戦履歴データを取得し、当該対戦履歴データに基づいて、対戦履歴画像G150のデータをゲーム端末30に送信する。ゲーム端末30は対戦履歴画像G150のデータを通信部33を介して受信し(S362)、当該データに基づいて、制御部31は対戦履歴画像G150を表示部35に表示する(S364)。
[5.まとめ]以上に説明したゲームシステム1では、ユーザU1とユーザU2との間の対戦結果が、ユーザU1とCPUとの第1試合の結果と、ユーザU2とCPUとの第2試合の結果とに基づいて決定される。このため、対戦相手であるユーザU2自身も実際に対戦に参加することになるため、非同期対戦であっても(リアルタイム対戦ではなくても)、ユーザU1は擬似的にリアルタイム対戦のようにユーザU2と実際に対戦している気分を味わうことができる。
またゲームシステム1では、ユーザU1のサッカーチームを操作するユーザU1とユーザU2のサッカーチームを操作するCPUとの第1試合の結果と、ユーザU2のサッカーチームを操作するユーザU2とユーザU1のサッカーチームを操作するCPUとの第2試合の結果とに基づいて決定される。このため、対戦相手と実際に対戦しているという気分をより向上させることが可能になる。
またゲームシステム1では、第1試合がユーザU1のゲーム端末30で実行され、第2試合がユーザU2のゲーム端末30で実行される。このため、例えば、ピアツーピア対戦処理のような、ネットワークNを介する比較的複雑な処理を実行する必要がないため、ネットワークNの負荷を軽減でき、ゲームシステム1の構成が複雑化することも避けることができる。
またゲームシステム1では、ユーザU1が対戦を要求した場合に、同じく対戦を要求している他のユーザのうちから、ユーザU1の対戦相手が選択されるため、リアルタイムマッチングと非同期対戦とを両立することができ、ユーザU1は擬似的にリアルタイム対戦のように他のユーザと実際に対戦している気分をより味わうことができる。一般的に非同期対戦ではユーザU1は任意のタイミングで第1試合を行うことができるところ、対戦相手が第2試合を行ってくれないと、最終的な対戦結果が決定されず、ユーザU1は第2試合が行われるのを待たなければならなくなるが、ゲームシステム1では、対戦を要求しているユーザのうちから対戦相手が選択されるため、対戦相手である他のユーザによる第2試合も速やかに行われることが期待され、上記のような待ち時間を低減できる。
またゲームシステム1では、第1試合の結果と第2試合の結果とがそれぞれ確定された後で、それらに基づいて、ユーザU1とユーザU2との間の対戦結果を決定することが可能になる。
またゲームシステム1では、対戦するユーザの組み合わせが決定されてから所定時間(例えば30分)が経過した時点で第1試合と第2試合との一方が終了していない場合に、その試合を行うべきユーザが敗北したと決定される。このため、上記時点までに第1試合又は第2試合を終了するように、対戦するユーザに対して促すことが可能になる。その結果、対戦結果が決定されない状態が長く放置されないように図ることが可能になる。また本発明によれば、ユーザとコンピュータとの対戦(第1試合又は第2試合)中に通信環境が不安定になったり、空き時間が終了して他のことをしなければならなくなったりしたとしても、ユーザは所定の期限が経過するまでに対戦を終えればよく、それによってユーザが不利にならないようにできる。
またゲームシステム1では、第1試合の終了後において、対戦結果決定部170によって対戦結果が決定される前であっても、ユーザU1は、対戦相手であるユーザU2による第2試合が終了するのを待つことなく、新たな対戦相手との対戦を行うことができる。
またゲームシステム1では、ユーザによって未だ閲覧されていない対戦結果が存在していることを示す要素P105,P106がメイン画像G100に表示されるため、ユーザは、未だ閲覧されていない対戦結果が存在していることを把握し易くなり、対戦結果を閲覧することを忘れ難くなる。
またゲームシステム1では、ユーザによって未だ閲覧されていない対戦結果が所定数よりも多く存在している場合に、当該対戦結果を閲覧するようにユーザに対して促すためのメッセージ画像G170が表示されるため、閲覧されていない状態の対戦結果が溜まらないように図ることができる。
またゲームシステム1では、対戦履歴画像G150では、対戦結果が決定済みの対戦(例えば要素P151-2)と、対戦結果が未決定の対戦(例えば要素P151-1)とが区別して示されるため、ユーザはこれらの対戦を区別して把握し易くなる。例えば、ユーザは自らに関連している対戦のうちの、対戦結果が決定済みの対戦を把握し易くなり、対戦結果が決定済みの対戦の対戦結果を閲覧し易くなる。
またゲームシステム1では、通常は、ユーザと同じランクのリーグに所属する他のユーザが対戦相手として選択されるところ、ジャイアントキリングイベントが発生した場合には、ユーザよりも上のランクのリーグに所属する他のユーザが対戦相手として選択される。このため、ユーザよりも格上の対戦相手が選択されるかもしれないという興趣をユーザに対して提供することができる。
またゲームシステム1では、最終的な対戦結果だけでなく、第1試合又は第2試合の結果によってもユーザ及び対戦相手に対してそれぞれ報酬が付与されるため、第1試合又は第2試合を行う動機付けを高めることができる。またゲームシステム1では、ユーザが勝利したと決定された場合であっても、ユーザに勝利報酬を付与するか否かや、ユーザに付与する勝利報酬が第1回~第3回抽選によって決定されるため、他のユーザとの対戦に勝利したとしても、勝利報酬を獲得できるか否かや、どのような勝利報酬を獲得できるのかを予測できないという興趣をユーザに対して提供することができる。
[6.変形例]本発明は以上に説明した実施形態に限定されるものではない。
[6-1]育成パートは必須ではない。以上に説明した実施形態では、ユーザの作成したオリジナルの選手キャラクタを利用して編成されたオリジナルのサッカーチームが対戦で用いられていたが、ゲーム開発者によって用意されたサッカーチームや、ゲーム開発者によって用意されたゲームキャラクタ(選手キャラクタ)が対戦で用いられるようにしてもよい。
[6-2]第1試合では、ユーザU1とゲームサーバ10の制御部11(CPU)との間で試合が実行されるようにしてもよい。例えば、第1試合では、ユーザU1の操作データがゲームサーバ10に送信され、ユーザU1の操作データに基づいて更新された試合画像のデータがゲーム端末30に送信されることによって、表示部35に表示される試合画像が更新されるようにしてもよい。この場合、第1対戦実行部330-1がゲームサーバ10で実現されることになる。
同様に、第2試合では、ユーザU2とゲームサーバ10の制御部11(CPU)との間で試合が実行されるようにしてもよい。例えば、第2試合では、ユーザU2の操作データがゲームサーバ10に送信され、ユーザU2の操作データに基づいて更新された試合画像のデータがゲーム端末30に送信されることによって、表示部35に表示される試合画像が更新されるようにしてもよい。この場合、第2対戦実行部330-2がゲームサーバ10で実現されることになる。
[6-3]以上では、本発明をサッカーを題材としたゲームに適用した例について主に説明したが、本発明は他のゲームにも適用することが可能である。例えば、本発明は、スポーツゲーム(野球、テニス、アメリカンフットボール、バスケットボール、バレーボール等を題材としたゲーム)又はアクションゲームのように、ゲーム形式・ジャンルを問わず様々なゲームに適用することが可能である。
[7.付記]以上のような記載から、本発明は例えば以下のように把握される。なお、本発明の理解を容易にするために、適宜図面に記載された符号を括弧書きで記載するが、それにより本発明が図示の態様に限定されるものではない。
1)本発明の一態様に係るゲームシステム(1)は、ユーザ(例えばユーザU1)の対戦相手として他のユーザ(例えばユーザU2)を選択する対戦相手選択手段(140)と、前記ユーザの識別情報と関連付けられた第1ゲームオブジェクト(例えばユーザU1のサッカーチーム)と、前記対戦相手選択手段(140)により選択された他のユーザの識別情報と関連付けられた第2ゲームオブジェクト(例えばユーザU2のサッカーチーム)とに基づいて、前記ユーザと第1コンピュータとの第1対戦(例えば第1試合)を実行する第1対戦実行手段(330-1)と、前記第2ゲームオブジェクトと前記第1ゲームオブジェクトとに基づいて、前記対戦相手選択手段(140)により選択された他のユーザと第2コンピュータとの第2対戦(例えば第2試合)を実行する第2対戦実行手段(330-2)と、前記第1対戦の結果と前記第2対戦の結果とに基づいて、前記ユーザと前記他のユーザとの間の対戦結果を決定する対戦結果決定手段(170)と、を含むことを特徴とする。
13)また、本発明の一態様に係るゲーム制御装置(10)は、ユーザの識別情報と関連付けられた第1ゲームオブジェクトと、前記ユーザの対戦相手として選択された他のユーザの識別情報と関連付けられた第2ゲームオブジェクトとに基づいて実行された、前記ユーザと第1コンピュータとの第1対戦の結果を取得する手段(160-1)と、前記第2ゲームオブジェクトと前記第1ゲームオブジェクトとに基づいて実行された、前記他のユーザと第2コンピュータとの第2対戦の結果を取得する手段(160-2)と、前記第1対戦の結果と前記第2対戦の結果とに基づいて、前記ユーザと前記他のユーザとの間の対戦結果を決定する対戦結果決定手段(170)と、を含むことを特徴とする。
14)また、本発明の一態様に係るゲーム端末(30)は、ユーザの識別情報と関連付けられた第1ゲームオブジェクトと、前記ユーザの対戦相手として選択された他のユーザの識別情報と関連付けられた第2ゲームオブジェクトとを取得するゲームオブジェクト取得手段(320-1)と、前記第1ゲームオブジェクトと前記第2ゲームオブジェクトとに基づいて、前記ユーザと第1コンピュータとの第1対戦を実行する対戦実行手段(330-1)と、前記第1対戦の結果をゲームサーバに送信する第1対戦結果送信手段(340-1)と、前記第2ゲームオブジェクトと前記第1ゲームオブジェクトとに基づいて実行される、前記他のユーザと第2コンピュータとの第2対戦の結果と、前記第1対戦の結果とに基づいて前記ゲームサーバによって決定される、前記ユーザと前記他のユーザとの間の対戦結果を受信する対戦結果受信手段(350-1)と、前記対戦結果受信手段(350-1)によって受信された前記対戦結果を表示手段に表示させるための制御を行う表示制御手段と、を含むことを特徴とする。
15)また、本発明の一態様に係るプログラムは、1)~6)のいずれかに記載のゲームシステム(1)、13)に記載のゲーム制御装置(10)、又は、14)に記載のゲーム端末(30)としてコンピュータを機能させるためのプログラムである。
16)また、本発明の一態様に係る情報記憶媒体は、15)に記載のプログラムを記録したコンピュータで読み取り可能な情報記憶媒体である。
17)本発明の一態様に係るゲーム制御方法は、ユーザの対戦相手として他のユーザを選択する対戦相手選択ステップ(S122)と、前記ユーザの識別情報と関連付けられた第1ゲームオブジェクトと、前記対戦相手選択ステップ(S122)により選択された他のユーザの識別情報と関連付けられた第2ゲームオブジェクトとに基づいて、前記ユーザと第1コンピュータとの第1対戦を実行する第1対戦実行ステップ(S328-1)と、前記第2ゲームオブジェクトと前記第1ゲームオブジェクトとに基づいて、前記対戦相手選択ステップ(S122)により選択された他のユーザと第2コンピュータとの第2対戦を実行する第2対戦実行ステップ(S328-2)と、前記第1対戦の結果と前記第2対戦の結果とに基づいて、前記ユーザと前記他のユーザとの間の対戦結果を決定する対戦結果決定ステップ(S142)と、を含むことを特徴とする。
18)本発明の一態様に係るゲーム制御装置(10)の制御方法は、ユーザの識別情報と関連付けられた第1ゲームオブジェクトと、前記ユーザの対戦相手として選択された他のユーザの識別情報と関連付けられた第2ゲームオブジェクトとに基づいて実行された、前記ユーザと第1コンピュータとの第1対戦の結果を取得するステップ(S126)と、前記第2ゲームオブジェクトと前記第1ゲームオブジェクトとに基づいて実行された、前記他のユーザと第2コンピュータとの第2対戦の結果を取得するステップ(S136)と、前記第1対戦の結果と前記第2対戦の結果とに基づいて、前記ユーザと前記他のユーザとの間の対戦結果を決定する対戦結果決定ステップ(S142)と、を含むことを特徴とする。
19)本発明の一態様に係るゲーム端末(30)の制御方法は、ユーザの識別情報と関連付けられた第1ゲームオブジェクトと、前記ユーザの対戦相手として選択された他のユーザの識別情報と関連付けられた第2ゲームオブジェクトとを取得するゲームオブジェクト取得ステップ(S320-1,S324-1)と、前記第1ゲームオブジェクトと前記第2ゲームオブジェクトとに基づいて、前記ユーザと第1コンピュータとの第1対戦を実行する対戦実行ステップ(S328-1)と、前記第1対戦の結果をゲームサーバに送信する第1対戦結果送信ステップ(S330-1)と、前記第2ゲームオブジェクトと前記第1ゲームオブジェクトとに基づいて実行される、前記他のユーザと第2コンピュータとの第2対戦の結果と、前記第1対戦の結果とに基づいて前記ゲームサーバによって決定される、前記ユーザと前記他のユーザとの間の対戦結果を受信する対戦結果受信ステップ(S350-1)と、前記対戦結果受信ステップによって受信された前記対戦結果を表示手段に表示させるための制御を行う表示制御ステップ(S352-1)と、を含むことを特徴とする。
上記1)、13)~19)に記載の発明によれば、ユーザの識別情報と関連付けられた第1ゲームオブジェクトと、他のユーザの識別情報と関連付けられた第2ゲームオブジェクトとに基づいて実行されるユーザと第1コンピュータとの第1対戦の結果と、第2ゲームオブジェクトと第1ゲームオブジェクトとに基づいて実行される他のユーザと第2コンピュータとの第2対戦の結果とに基づいて、ユーザと他のユーザとの間の対戦結果が決定されるため、他のユーザ自身も実際に対戦に参加することになる。その結果、非同期対戦であっても(リアルタイム対戦ではなくても)、ユーザは擬似的にリアルタイム対戦のように、他のユーザと実際に対戦している気分を味わうことができるようになる。
2)本発明の一態様では、複数のユーザの各々からの対戦要求を受け付ける受付手段(130)を含み、前記対戦相手選択手段(140)は、前記受付手段(130)によって前記ユーザからの対戦要求が受け付けられた場合に、前記受付手段(130)によって対戦要求が受け付けられた他のユーザのうちから前記対戦相手を選択するようにしてもよい。
2)に記載の発明によれば、受付手段によってユーザからの対戦要求が受け付けられた場合に、対戦相手が、同じく受付手段によって対戦要求が受け付けられた他のユーザのうちから選択されるため、リアルタイムマッチングと非同期対戦とを両立することができ、擬似的にリアルタイム対戦のように他のユーザと実際に対戦している気分をより味わうことができるようになる。一般的に非同期対戦ではユーザは任意のタイミングで対戦を行うことができるところ、対戦相手である他のユーザが第2対戦を行ってくれないと、最終的な対戦結果が決定されず、ユーザは第2対戦が行われるのを待たなければならなくなるが、本発明によれば、対戦を要求しているユーザのうちから対戦相手が選択されるため、対戦相手である他のユーザによる第2対戦も速やかに行われることが期待され、上記のような待ち時間を低減することが可能になる。
3)本発明の一態様では、前記対戦結果決定手段(170)は、前記第1対戦と前記第2対戦との両方が終了した後で、前記第1対戦の結果と前記第2対戦の結果とに基づいて、前記ユーザと前記他のユーザとの間の対戦結果を決定するようにしてもよい。
3)に記載の発明によれば、第1対戦の結果と第2対戦の結果とがそれぞれ確定された後で、それらに基づいて、ユーザと他のユーザとの間の対戦結果を決定することが可能になる。
4)本発明の一態様では、所定の期限が経過したか否かを判定する判定手段(165)を含み、前記対戦結果決定手段(170)は、前記判定手段(165)による判定の結果、前記所定の期限が経過した場合において、前記第1対戦が終了しており、かつ、前記第2対戦が終了していない場合に、前記ユーザと前記他のユーザとの間の対戦に前記他のユーザが敗北したと決定し、前記所定の期限が経過した場合において、前記第2対戦が終了しており、かつ、前記第1対戦が終了していない場合に、前記ユーザと前記他のユーザとの間の対戦に前記ユーザが敗北したと決定するようにしてもよい。
4)に記載の発明によれば、所定の期限が経過した場合であって、第1対戦と第2対戦との一方が終了していない場合に、その対戦を行うべきユーザが敗北したと決定されるため、所定の期限までに対戦を終了するようにユーザ及び他のユーザに対して促すことが可能になる。その結果、ユーザと他のユーザとの対戦結果が決定されない状態が長く放置されないように図ることが可能になる。また本発明によれば、ユーザとコンピュータとの対戦(第1対戦又は第2対戦)中に通信環境が不安定になったり、空き時間が終了して他のことをしなければならなくなったりしたとしても、ユーザは所定の期限が経過するまでに対戦を終えればよく、それによってユーザが不利にならないようにできる。
5)本発明の一態様では、前記対戦相手選択手段(140)は、前記第1対戦の終了後において、前記対戦結果決定手段(170)によって対戦結果が決定される前であっても、前記ユーザの新たな対戦相手として他のユーザを選択可能であってもよい。
5)に記載の発明によれば、第1対戦の終了後において、対戦結果決定手段によって対戦結果が決定される前であっても、ユーザの新たな対戦相手として他のユーザを選択可能であるため、ユーザは対戦相手である他のユーザによる第2対戦が終了するのを待つことなく、新たな対戦相手との対戦を行うことができる。
6)本発明の一態様では、前記対戦結果決定手段(170)によって決定された対戦結果であって、かつ、前記ユーザによって未だ閲覧されていない対戦結果が存在していることを示す画像を前記ユーザの利用する表示手段に表示させるための制御を行う手段(360-1又は110)を含むようにしてもよい。
6)に記載の発明によれば、対戦結果決定手段によって決定された対戦結果であって、かつ、ユーザによって未だ閲覧されていない対戦結果が存在していることを示す画像が表示されるため、ユーザは、未だ閲覧されていない対戦結果が存在していることを把握し易くなり、対戦結果を閲覧することを忘れ難くなる。
7)本発明の一態様では、前記対戦結果決定手段(170)によって決定された対戦結果であって、かつ、前記ユーザによって未だ閲覧されていない対戦結果が所定数よりも多く存在している場合に、当該対戦結果を閲覧するように前記ユーザに対して促すための画像を前記ユーザの利用する表示手段に表示させるための制御を行う手段(360-1又は110)を含むようにしてもよい。
7)に記載の発明によれば、対戦結果決定手段によって決定された対戦結果であって、かつ、ユーザによって未だ閲覧されていない対戦結果が所定数よりも多く存在している場合に、当該対戦結果を閲覧するようにユーザに対して促すための画像が表示されるため、閲覧されていない状態の対戦結果が溜まらないように図ることができる。
8)本発明の一態様では、前記ユーザに関連している対戦の情報の一覧を示す一覧画像(G150)を前記ユーザの利用する表示手段に表示させるための制御を行う手段(360-1又は110)を含み、前記一覧画像では、前記ユーザに関連している対戦のうちの、前記対戦結果決定手段(170)によって対戦結果が決定済みの対戦と、前記対戦結果決定手段(170)によって対戦結果が未決定の対戦とが区別して示されるようにしてもよい。
8)に記載の発明によれば、ユーザに関連している対戦のうちの、対戦結果が決定済みの対戦と、対戦結果が未決定の対戦とが区別して示されるため、ユーザはこれらの対戦を区別して把握し易くなる。例えば、ユーザは自らに関連している対戦のうちの、対戦結果が決定済みの対戦を把握し易くなり、対戦結果が決定済みの対戦の対戦結果を閲覧し易くなる。
9)本発明の一態様では、前記ユーザの識別情報と関連付けられた対戦成績情報に基づいて、前記ユーザの識別情報を複数の階層情報のいずれかと関連付ける手段(120)であって、前記ユーザの対戦成績が良いほど、前記ユーザの識別情報をより高い階層情報と関連付ける手段(120)を含み、前記対戦相手選択手段(140)は、前記ユーザの対戦相手として、前記ユーザの識別情報と関連付けられた階層情報と同一の階層情報と関連付けられた識別情報によって識別されるユーザを選択する第1対戦相手選択手段(141)と、所定の条件に基づき、前記第1対戦相手選択手段(141)の代わりに、前記ユーザの対戦相手として、前記ユーザの識別情報と関連付けられた階層情報よりも上の階層情報と関連付けられた識別情報によって識別されるユーザを選択する第2対戦相手選択手段(142)と、を含むようにしてもよい。
9)に記載の発明によれば、通常は、ユーザの識別情報が関連付けられた階層情報と同一の階層情報と関連付けられた識別情報によって識別されるユーザが対戦相手として選択されるところ、所定の条件に基づき、ユーザの識別情報が関連付けられた階層情報よりも上の階層情報と関連付けられた識別情報によって識別されるユーザが対戦相手として選択されるため、ユーザよりも格上の対戦相手が選択されるかもしれないという興趣をユーザに対して提供することができる。
10)本発明の一態様では、前記第1対戦の結果に基づいて、前記ユーザの識別情報に第1報酬を関連付ける第1報酬関連付け手段(181)と、前記第2対戦の結果に基づいて、前記他のユーザの識別情報に第2報酬を関連付ける第2報酬関連付け手段(182)と、前記対戦結果決定手段(170)によって決定された対戦結果に基づいて、前記ユーザと前記他のユーザの少なくとも一方の識別情報に第3報酬を関連付ける第3報酬関連付け手段(184)と、を含むようにしてもよい。
10)に記載の発明によれば、最終的な対戦結果だけでなく、第1対戦又は第2対戦の結果によってもユーザ及び他のユーザに対してそれぞれ報酬が付与されるため、第1対戦又は第2対戦を行う動機付けを高めることができる。
11)本発明の一態様では、前記対戦結果決定手段(170)によって前記ユーザが勝利したと決定された場合に、前記ユーザの識別情報に報酬を関連付けるか否かと、前記ユーザの識別情報に関連付ける報酬の種類とを確率情報に基づいて決定する報酬決定手段(184)を含むようにしてもよい。
11)に記載の発明によれば、対戦結果決定手段によってユーザが勝利したと決定された場合であっても、ユーザの識別情報に報酬を関連付けるか否かや、ユーザの識別情報に関連付ける報酬の種類とを確率情報に基づいて決定されるため、他のユーザとの対戦に勝利したとしても、報酬を獲得できるか否かや、どのような報酬を獲得できるのかを予測できないという興趣をユーザに対して提供することができる。
12)本発明の一態様では、前記第1対戦では、前記ユーザの指示に基づいて動作する前記第1ゲームオブジェクトと、前記第1コンピュータの指示に基づいて動作する前記第2ゲームオブジェクトとで対戦が行われ、前記第2対戦では、前記第2コンピュータの指示に基づいて動作する前記第1ゲームオブジェクトと、前記他のユーザの指示に基づいて動作する前記第2ゲームオブジェクトとで対戦が行われるようにしてもよい。
12)に記載の発明によれば、ユーザの指示に基づいて動作する第1ゲームオブジェクトと、第1コンピュータの指示に基づいて動作する第2ゲームオブジェクトとの第1対戦の結果と、第2コンピュータの指示に基づいて動作する第1ゲームオブジェクトと、他のユーザの指示に基づいて動作する第2ゲームオブジェクトとの第2対戦の結果とに基づいて、ユーザと他のユーザとの間の対戦結果が決定されるため、他のユーザと実際に対戦しているという気分をより向上させることが可能になる。