以下では、本発明の実施形態について説明する。なお以下に説明する本実施形態は、特許請求の範囲に記載された本発明の内容を不当に限定するものではない。また本実施形態で説明される構成の全てが、本発明の必須構成要件であるとは限らない。
1.情報処理システムの構成
図1は、本実施形態の情報処理システム10の全体構成を示す図である。図1に示すように情報処理システム10では、サーバー20と複数のプレーヤ端末40が、インターネット、携帯電話網、LAN、WANなどのネットワーク30により接続されており、いわゆるクライアント・サーバー方式の通信システムが構成されている。そして複数のプレーヤ端末40のそれぞれは、ネットワーク30を介してサーバー20と互いに通信を行って種々の情報を送受信する。また複数のプレーヤ端末40のそれぞれは、ネットワーク30およびサーバー20を介して他のプレーヤ端末40と互いに通信を行って種々の情報を送受信する。
サーバー20は、CPU等のプロセッサーからなる制御部21と、ROMやRAM等の主記憶装置、およびHDDやSSD等の補助記憶装置からなる記憶部22と、通信モジュールや通信インターフェースからなる通信部23とを含む。サーバー20は、制御部21が記憶部22に記憶されているプログラムに従って各種の処理を実行する。またサーバー20は、通信部23によってプレーヤ端末40から情報を受信し、制御部21が実行した処理の結果に関する情報等をプレーヤ端末40に送信する。
プレーヤ端末40は、スマートフォン、タブレット、パーソナルコンピューター、携帯ゲーム機、店舗や家庭に設置される据え置きゲーム機等である。プレーヤ端末40は、CPU等のプロセッサーからなる制御部41と、ROMやRAM等の主記憶装置、およびフラッシュメモリ、HDD、SDD等の補助記憶装置からなる記憶部42と、タッチパネルやキーボード、マイク等からなる操作・入力部43と、液晶ディスプレイや有機ELディスプレイ等からなる表示部44と、通信モジュールや通信インターフェースからなる通信部45とを含む。プレーヤ端末40も、記憶部42に記憶されているプログラムに従って各種の処理を実行する。またプレーヤ端末40は、通信部45によってサーバー20からの情報を受信し、サーバー40や他のプレーヤ端末40に情報を送信する。
図2は、サーバー20の主要な機能を示す機能ブロック図である。本実施形態では、任意のプレーヤを主催者として複数のプレーヤが登録された対戦グループを作成し、対戦グループに所属するプレーヤ同士でカードを模したゲーム媒体を使用して対戦を行い、対戦結果に基づくランキングを競い合う「ユーザー大会」を開催する機能、「ユーザー大会」において観戦権限を有するプレーヤ端末40の画面を通じて対戦グループに所属するプレーヤ同士の対戦の様子を観戦可能とする機能を有しており、これらの機能がサーバー20を主体として実現される場合を説明する。ただし、先に述べた機能が、プレーヤ端末40を主体として実現されてもよいし、サーバー20とプレーヤ端末40とにおいて分担されて実現されてもよい。そしてサーバー20では、図2に示すように、データ記憶部50と、ゲーム実行部60とが協働して上記機能が実現される。
データ記憶部50は、ゲーム実行部60が各種の処理を行うためのデータを記憶するものであり、主として記憶部22により実現される。
またデータ記憶部50は、大会情報データベース51を含み、大会情報データベース51に対戦グループに関するデータが記憶される。例えば、「ユーザー大会」を識別するための大会ID、主催者のプレーヤID、参加者のプレーヤID、対戦ルール(試合方式、フォーマット)、対戦グループの有効期間(「ユーザー大会」の開始時間や開催期間)、参加可能なプレーヤの上限数、観戦権限の設定内容、主催者および参加者のコメント履歴、プレーヤ同士の対戦の履歴等が記憶される。
ゲーム実行部60は、プレーヤIDによってプレーヤを管理する処理、ゲーム開始条件が満たされた場合にゲームを開始する処理、複数種類のゲームモードのうち選択されたゲームモードを実行する処理、ゲームを進行させる処理、イベント発生条件が満たされた場合にイベントを発生させる処理、ゲーム結果を演算する処理、およびゲーム終了条件が満たされた場合にゲームを終了する処理などを行い、主として制御部21および通信部23により実現される。またゲーム実行部60は、対戦グループを作成するための処理、対戦グループに参加希望のプレーヤを登録する処理、対戦グループにおける観戦権限を設定するための処理、プレーヤ同士の対戦について観戦機能を提供する処理も行い、グループ作成部61、プレーヤ登録部62、大会情報設定部(観戦権限設定部)63、観戦機能提供部64を含む。
グループ作成部61は、主催者となるプレーヤのプレーヤ端末40からの要求に応答して複数のプレーヤが参加可能な対戦グループを作成する。本実施形態の情報処理システム10では、複数のプレーヤが参加する対戦グループを作成して、対戦グループに所属するプレーヤ同士で対戦を行い競い合う「ユーザー大会」をプレーヤ主催で開催することができる。「ユーザー大会」の主催者となるプレーヤは、自身のプレーヤ端末40において「ユーザー大会」に関する設定内容の入力を行うことができる。そして主催者となるプレーヤのプレーヤ端末40において「ユーザー大会」に関する設定内容の入力を完了して「ユーザー大会」を開催することについての確認入力が行われると、入力した設定内容を含む大会登録要求がプレーヤ端末40からサーバー20に送信される。グループ作成部61は、受信した大会登録要求に基づいて、対戦グループを識別するための情報である大会IDを付与し、この大会IDに紐づけて大会情報データベース51に新たな大会レコードを作成して、作成された大会レコードに主催者となるプレーヤのプレーヤIDを主催者IDとして登録することによって対戦グループを作成する。
なお本実施形態では、いずれかの「ユーザー大会」の主催者となったプレーヤは、自ら主催する「ユーザー大会」の開催期間が終了するまで、他の「ユーザー大会」を開催することはできず、また他の「ユーザー大会」に参加者として参加することもできない。ただし、「ユーザー大会」の主催者となったプレーヤが、他の「ユーザー大会」を開催することができるようにしてもよい。また「ユーザー大会」の主催者となったプレーヤが、他の「ユーザー大会」に参加者として参加することができるようにしてもよい。
プレーヤ登録部62は、主催者以外のプレーヤのプレーヤ端末40からの参加登録要求に応答して、そのプレーヤを対戦グループに登録する。本実施形態では、大会IDに基づく「ユーザー大会」の検索が可能となっており、各プレーヤのプレーヤ端末40において大会IDの検索入力を行うと、プレーヤ登録部62は、プレーヤ端末40からの大会ID検索要求に応答して、大会ID検索要求に含まれる大会IDに該当する「ユーザー大会」が存在する場合には、その「ユーザー大会」の大会情報を、大会検索要求を行ったプレーヤ端末40に送信し、大会ID検索要求に含まれる大会IDに該当する「ユーザー大会」が存在しない場合には、その旨をプレーヤ端末40に送信する。そして「ユーザー大会」への参加を希望するプレーヤは、検索した大会IDに該当する「ユーザー大会」が存在していた場合に、自身のプレーヤ端末40において「ユーザー大会」への参加についての確認入力を行うことができる。そしてプレーヤ端末40において「ユーザー大会」への参加についての確認入力が行われると、プレーヤ端末40からサーバー20に大会IDおよび自らのプレーヤIDを含む参加登録要求が送信される。
プレーヤ登録部62は、受信した参加登録要求に基づいて、大会IDに対応する大会レコードに参加登録要求に含まれるプレーヤIDを格納し、「ユーザー大会」の参加者からなる対戦グループに新たなプレーヤを登録する。なお、本実施形態では、主催者が設定した上限数を超える数のプレーヤの参加を受け付けることができない。このため、対戦グループへの参加を希望するプレーヤが大会IDの検索を行った結果、大会IDに対応する「ユーザー大会」の対戦グループに参加しているプレーヤの人数が上限数に達している場合には、その対戦グループへの参加についての確認入力ができない。
なお本実施形態では、いずれかの「ユーザー大会」の参加者となったプレーヤは、参加している「ユーザー大会」の開催期間が終了するまで、他の「ユーザー大会」を開催することはできず、また他の「ユーザー大会」に参加者として参加することもできない。ただし、「ユーザー大会」の参加者となったプレーヤが、他の「ユーザー大会」を開催することができるようにしてもよい。また「ユーザー大会」の参加者となったプレーヤが、他の「ユーザー大会」に参加者として参加することができるようにしてもよい。
大会情報設定部63は、主催者となるプレーヤのプレーヤ端末40からの大会登録要求に基づいて、「ユーザー大会」に関する設定内容を大会情報データベース51に作成された大会レコードに格納する。本実施形態では、観戦権限設定部が、大会情報設定部63の機能の一部として実現され、主催者となったプレーヤのプレーヤ端末40からの大会登録要求に応答して「ユーザー大会」に関する観戦権限を設定する。本実施形態では、観戦権限の設定として、「主催者のみ」、「主催者および全参加者」、「観戦なし」のいずれかを選択することができる。
「主催者のみ」は、対戦グループに所属するプレーヤ同士の対戦を、主催者以外の当該対戦を行っていないプレーヤのプレーヤ端末40では観戦できないが、主催者となったプレーヤのプレーヤ端末40を通じて観戦可能とする観戦権限である。
「主催者および全参加者」は、対戦グループに所属するプレーヤ同士の対戦を、主催者となったプレーヤのプレーヤ端末40のみならず主催者以外の当該対戦を行っていないプレーヤのプレーヤ端末40からも観戦可能とする観戦権限である。
「観戦なし」は、いずれのプレーヤにも観戦権限を与えない設定であり、対戦グループに所属するプレーヤ同士の対戦を、いずれのプレーヤも観戦することができない。
なお観戦権限設定部を大会情報設定部63とは独立した機能として実現してもよく、例えば、「ユーザー大会」を登録する時点では、観戦権限の設定は行わずに、「ユーザー大会」を登録した後に、主催者となったプレーヤのプレーヤ端末40のユーザーインターフェースを利用して観戦権限の設定を別途行うようにしてもよい。
また「ユーザー大会」に関する設定内容を登録した後に、主催者となったプレーヤのプレーヤ端末40のユーザーインターフェースを利用して観戦権限の設定を変更できるようにしてもよい。なお観戦権限の設定を変更可能とする場合には、「ユーザー大会」の登録がされてから開始時間までの間において観戦権限の設定を変更可能とし、「ユーザー大会」の開催期間中は観戦権限の設定を変更不可能とすることができる。
観戦機能提供部64は、対戦グループの観戦権限の設定内容に従ってプレーヤ同士の対戦を観戦させる観戦機能を提供する。本実施形態では、観戦権限を有するプレーヤのプレーヤ端末40において、観戦申込の入力が可能となっている。そしてプレーヤ同士の対戦の観戦を希望するプレーヤが観戦申込の入力を行うと、プレーヤ端末40からサーバー20に対して観戦申込要求が送信される。
観戦機能提供部64は、観戦権限を有するプレーヤのプレーヤ端末40から受信した観戦申込要求に応答して、そのプレーヤを観戦者として登録し、観戦する対象の対戦を行っている各プレーヤの入力情報等のゲーム演算に必要な情報を、観戦者として登録されたプレーヤのプレーヤ端末40に送信することにより観戦機能を提供する。プレーヤ端末40では、制御部41が、サーバー20から受信した各プレーヤの入力情報等に基づくゲーム演算を行って、観戦画面に係る画像を演算結果に基づいて生成し、プレーヤ端末40の表示部44に観戦画面を表示することでプレーヤ同士の対戦の模様を観戦させることができる。
また本実施形態では、プレーヤ同士の対戦において、対戦中のプレーヤのプレーヤ端末40では、対戦相手のプレーヤが使用する一部のゲーム媒体の情報について非開示となっており、観戦機能提供部64は、観戦権限を有するプレーヤのプレーヤ端末40では、対戦中のプレーヤ同士において非開示となっているゲーム媒体の情報を開示した状態でプレーヤ同士の対戦を観戦できるように観戦機能を提供する。
ゲーム実行部60は、カードゲームによる対戦機能を提供するに当たって、一方のプレーヤのプレーヤ端末40から取得した手札カードおよび場札カードのカード情報のうち、場札カードについては他方のプレーヤのプレーヤ端末40に正規のカード情報を送信するが、手札カードについては手札カードであることを特定するために共通化されたダミーのカード情報を送信し、カード情報を受信したプレーヤ端末40では、記憶部42に記憶されているカード情報データベースを参照し、正規のカード情報を場札カードとして扱い、ダミーのカード情報を手札カードとして扱ってゲーム演算を行う。このため対戦中のプレーヤ同士は、各々のプレーヤ端末40において対戦相手の手札カードのカード情報を保有しないため、対戦中ゲーム画面において非開示となっている手札カードの種類を把握することはできない。このようにすれば、仮にプレーヤ端末40に対して非正規の手法を利用して解析を行っても、プレーヤ端末40の記憶部42に対戦相手の手札カードのカード情報が存在しないため、そのような不正行為を防止することができる。
一方、観戦機能提供部64が、カードゲームにおける観戦機能を提供する際には、対戦中のプレーヤ双方の手札カードおよび場札カードのカード情報を観戦者のプレーヤ端末40に送信する。これにより対戦中のプレーヤ同士においては非開示となっていた手札カードを全て開示した状態で観戦機能が提供され、対戦中の各プレーヤの状況を適格に把握できる環境で、観戦者にプレーヤ同士の対戦を観戦させることができる。
なお観戦機能の提供の他の態様としては、サーバー20にゲーム演算を行わせて、演算結果を観戦者のプレーヤ端末40に送信し、プレーヤ端末40では受信した演算結果に基づいて観戦画面に係る画像を生成し、観戦画面を表示部44に表示する態様であってもよい。
また観戦機能の提供の他の態様としては、サーバー20にゲーム演算および観戦画面に係る画像の生成を行わせ、観戦画面に係る画像のデータを観戦者のプレーヤ端末40に送信し、プレーヤ端末40では受信した画像のデータに基づいて観戦画面を表示部44に表示する態様であってもよい。
また観戦機能の提供の他の態様としては、現在進行中の対戦を観戦させるものに限らず、過去の対戦履歴から対戦の様子を観戦画面として再現して表示部44に表示する態様であってもよい。
2.本実施形態の制御手法
以下では、本実施形態の制御手法について、本実施形態のゲームプログラムをスマートフォンとして設けられたプレーヤ端末40のゲームアプリケーションに適用した場合を例に挙げて詳細に説明する。
図3は、主催者となるプレーヤAが、複数のプレーヤの参加する「ユーザー大会」を開催するための対戦グループの作成に関して、サーバー20とプレーヤ端末40との処理の例を示すフローチャートである。
まずプレーヤAのプレーヤ端末40において、制御部41が、記憶部42に記憶されたゲームプログラムを起動させ、プレーヤAが所定の入力を行った場合に、図4に示す対戦モード選択画面100を表示部44に表示させる(ステップS101)。対戦モード選択画面100では、「フリー対戦」のアイコン画像101と、「ユーザー大会」のアイコン画像102とが表示され、プレーヤAがいずれかのアイコン画像にタッチ入力を行うことによって、対戦モードとして「フリー対戦」または「ユーザー大会」のいずれかを選択することができる。「フリー対戦」は、不特定多数のプレーヤの中からマッチングされたプレーヤ同士が対戦を行う対戦モードであり、「ユーザー大会」は、大会用の対戦グループに所属するプレーヤ同士で対戦を行う対戦モードである。
対戦モード選択画面100の表示中にプレーヤAが「ユーザー大会」のアイコン画像102に対してタッチ入力をした場合(ステップS102でY)、制御部41は、図5に示すように、ユーザー大会を開催する、または既存のユーザー大会に参加する、のいずれかを選択するための開催/参加選択画面200を表示部44に表示させる(ステップS103)。開催/参加選択画面200では、「ユーザー大会を開く」のメッセージを伴うアイコン画像201と、「ユーザー大会に参加する」のメッセージを伴うアイコン画像202とが表示され、プレーヤAがいずれかのアイコン画像にタッチ入力を行うことによって、いずれか一方を選択することができる。なお対戦モード選択画面100の表示中に「フリー対戦」のアイコン画像101に対してタッチ入力が行われた場合(ステップS102でN)、本処理は終了し、「フリー対戦」に係る処理を実行する。
開催/参加選択画面200の表示中に「ユーザー大会を開く」のアイコン画像201に対してタッチ入力が行われた場合(ステップS104でY)、制御部41は、図6に示す大会情報設定画面300を表示部44に表示させる(ステップS105)。なお開催/参加選択画面200の表示中に「ユーザー大会に参加する」のアイコン画像202に対してタッチ入力が行われた場合(ステップS104でN)、制御部41は、後述する図12に示すフローチャートに沿ってステップS114以降の処理を実行する。
大会情報設定画面300は、「ユーザー大会」の開催に必要な情報の設定を行うための画面である。本実施形態のゲームアプリケーションは、2名のプレーヤが互いに30枚のカードで構成されたカードデッキを用いてカードを出し合う等して対戦を行うものであり、主催者となるプレーヤAは、大会情報設定画面300を利用して、「試合方式」、「フォーマット」、「上限人数」、「開始時間」、「開催期間」、「観戦設定」、「主催者参加」の各項目に関する設定のための入力を行うことができる。
「試合方式」は、対戦の決着条件を設定する項目である。本実施形態では、図7に示すように、1回戦のみを行っていずれか一方が1回勝利することで決着する「BO1」、最大で5回戦を行っていずれか一方が3回勝利することで決着する「BO3」、最大で9回戦を行っていずれか一方が5回勝利することで決着する「BO5」から選択することができる。図6に示す例では、表示領域301に表示されているように「BO3」が選択されており、変更ボタン311に対してタッチ入力を行うことによって「試合方式」を変更する入力を行うことができる。
「フォーマット」は、対戦に使用するカードデッキに組み込むことができるカードの種類の制限を設定する項目である。本実施形態では、図7に示すように、「フォーマット」として、「ローテーション」と「アンミリテッド」とが選択可能である。「ローテーション」は予め定められた種類のカードのみをカードデッキに組み込むことが可能であり、「アンリミテッド」は種類の制限無しでカードをカードデッキに組み込むことが可能である。図6に示す例では、表示領域302に表示されているように「ローテーション」が選択されており、変更ボタン312に対してタッチ入力を行うことによって「フォーマット」を変更する入力を行うことができる。
「上限人数」は、対戦グループに参加可能な対戦を行うプレーヤの人数を設定する項目である。本実施形態では、図7に示すように、「上限人数」を3名~64名の間で設定可能であり、主催者が対戦を行うプレーヤとして参加する場合には、その中に主催者が含まれ、主催者が対戦を行うプレーヤとして参加しない場合には、その中に主催者が含まれない。図6に示す例では、表示領域303に表示されているように16名に設定されており、変更ボタン313に対してタッチ入力を行うことによって「上限人数」を変更する入力を行うことができる。
「開始時間」は、「ユーザー大会」がサーバー20に登録されてから対戦が可能となるまでの時間を設定する項目である。本実施形態では、図7に示すように、「開始時間」を、1時間後、2時間後、3時間後、4時間後、8時間後、12時間後、24時間後のいずれかに設定することができる。図6に示す例では、表示領域304に表示されているように4時間後が選択されており、変更ボタン314に対してタッチ入力を行うことによって「開始時間」を変更する入力を行うことができる。
「開催期間」は、「ユーザー大会」において対戦の開始受付(対戦募集に対する対戦申込の受付)の有効期間を設定する項目である。本実施形態では、図7に示すように、「開催期間」を、1時間、2時間、3時間、4時間、8時間、12時間、24時間のいずれかに設定することができる。図6に示す例では、表示領域305に表示されているように8時間が選択されており、変更ボタン315に対してタッチ入力を行うことによって「開催期間」を変更する入力を行うことができる。
「観戦設定」は、「ユーザー大会」におけるプレーヤ同士の対戦をプレーヤ端末40によって観戦可能とする対象についての観戦権限を設定する項目である。本実施形態では、図7に示すように、「観戦設定」を、「主催者のみ」、「主催者および参加者」、「観戦なし」のいずれかに設定することができる。図6に示す例では、表示領域306に表示されているように「主催者のみ」が選択されており、変更ボタン316に対してタッチ入力を行うことによって「観戦設定」を変更する入力を行うことができる。
「主催者参加」は、主催者となるプレーヤ(本実施形態ではプレーヤA)が、対戦を行う参加者としても参加するか否かを設定する項目である。本実施形態では、図7に示すように、「オン」または「オフ」のいずれかに設定することができる。「主催者参加」の項目を「オン」に設定した場合には、主催者は参加者としても登録され、「ユーザー大会」においてプレーヤ同士の対戦を行うことができる。また「主催者参加」の項目を「オフ」に設定した場合には、主催者は参加者としては登録されず、「ユーザー大会」においてプレーヤ同士の対戦を行うことができない。図6に示す例では、「オフ」のチェックボックス308にチェックが入っていることによって「主催者参加」の項目が「オフ」に設定されており、「オン」のチェックボックス307に対してタッチ入力を行うことで「オフ」のチェックボックス308のチェックが外れて「オン」のチェックボックス307にチェックが入り、「主催者参加」の項目に関する設定を切り替えることができる。
図6に示す大会情報設定画面300には、キャンセルボタン309と決定ボタン310とが設けられており、決定ボタン310に対してタッチ入力が行われると(ステップS106でY)、制御部41は、サーバー20に対して、主催者となるプレーヤAのプレーヤIDと各設定の項目に関する情報とを含む大会登録要求を送信する(ステップS107)。なおキャンセルボタン309に対してタッチ入力が行われると(ステップS106でN)、ステップS103の処理に戻り、開催/参加選択画面200が表示部44に表示される。
サーバー20では、プレーヤ端末40からの大会登録要求を受信すると、制御部21が、受信した大会登録要求に含まれる情報に基づく大会レコードを記憶部22に作成する(ステップS201)。制御部21は、大会レコードを作成する際に、「大会ID」を付与し、「大会ID」に対応づけて、「主催者ID」(主催者となるプレーヤAのプレーヤID)、「試合方式」、「フォーマット」、「上限人数」、「開始時間」、「開催期間」、「観戦設定」、「主催者参加」等を、記憶部22に作成された大会レコードに格納する。
制御部21は、大会レコードの作成が完了すると、登録完了応答を主催者となるプレーヤAのプレーヤ端末40に送信する(ステップS202)。プレーヤAのプレーヤ端末40では、サーバー20から登録完了応答を受信すると、制御部41が、図8に示す大会登録完了画面400を表示部44に表示させる(ステップS108)。
大会登録完了画面400では、大会の登録が完了した旨のメッセージが表示される。また大会登録完了画面400には、サーバー20に登録された「ユーザー大会」の基本画面に移行するための画面移行ボタン401が設けられ、画面移行ボタン401に対してタッチ入力が行われると、プレーヤAが開催した「ユーザー大会」の専用の基本画面が表示部44に表示される。
図9に示す大会トップ画面500は、基本画面の一例である。大会トップ画面500における表示モードとして、「チャット」、「大会情報」、「大会戦績」、「参加者一覧」が存在する。「チャット」は主催者および参加者がプレーヤ端末40から送信したコメントやサーバー20からの連絡事項などが表示される表示モードであり、「ユーザー大会」における対戦の募集、対戦の申し込み、対戦の観戦は、「チャット」の表示モードを利用して行われる。「大会情報」は、大会レコードに格納されている「大会ID」、「試合方式」、「フォーマット」、「上限人数」、「開始時間」、「開催期間」、「観戦設定」、「主催者参加」等の設定情報を閲覧するための表示モードである。「大会戦績」は、参加者となったプレーヤの対戦履歴に基づくランキング等が表示される表示モードである。「参加者一覧」は、参加者となったプレーヤの一覧が表示される表示モードである。
大会トップ画面500には、「チャット」を選択するためのチャットボタン501、「大会情報」を選択するための大会情報ボタン502、「大会戦績」を選択するための大会戦績ボタン503、参加者一覧ボタン504が設けられており、各ボタンに対してタッチ入力が行われると、制御部41が表示モードの切り替えを行う。
また図9に示すように、大会トップ画面500において表示モードが「チャット」である場合、チャット表示領域550に、主催者および参加者がプレーヤ端末40から送信したコメント506やサーバー20からの連絡事項507などが時系列で表示される。主催者および参加者がプレーヤ端末40から送信したコメント506には、コメントを行ったプレーヤIDに紐付いたアイコン画像505が対応づけられる。またコメント506や連絡事項507等の表示内容の履歴は、サーバー20の記憶部22に作成された大会レコードに格納されており、プレーヤ端末40は、サーバー20から表示内容の履歴をダウンロードしてチャット表示領域550に表示させる。また大会トップ画面500のチャット表示領域550にはスクロールバー508が設けられており、スライダーをドラッグしてスライドさせるタッチ入力によりシームレスに表示内容の履歴を閲覧することができる。
また大会トップ画面500のチャット表示領域550の下方には、デッキ確認ボタン509、対戦募集ボタン510、コメントボタン511が設けられている。デッキ確認ボタン509は、「ユーザー大会」における対戦で使用するカードデッキの内容を確認するためのボタンである。対戦募集ボタン510は、「ユーザー大会」に参加している参加者に対して対戦の募集を行うためのボタンである。コメントボタン511は、コメントの入力フォームを呼び出すためのボタンである。
また「ユーザー大会」をサーバー20に登録した後におけるプレーヤAのプレーヤ端末40では、「ユーザー大会」の開始時間となるまで、図10に示すように、制御部41が、対戦モード選択画面600において「ユーザー大会」のアイコン画像601に「ユーザー大会」の開始時間までの残り時間を示すカウントダウン画像602を重ねて表示し、時間経過とともにカウントダウン画像602の表示時間を変化させる。このユーザーインターフェースにより「ユーザー大会」の対戦が開始可能となるまでの残り時間を把握することができる。なおプレーヤAが主催する「ユーザー大会」の参加者となったプレーヤのプレーヤ端末40でも同様である。
対戦モード選択画面600を表示させる際の「ユーザー大会」の開始時間までの残り時間の情報は、対戦モード選択画面600に移行する入力が行われたことをプレーヤ端末40からサーバー20へ通知した際に、その応答としてプレーヤ端末40がサーバー20から取得する。「ユーザー大会」の開始時間までの残り時間の情報をサーバー20から取得した後はプレーヤ端末40の制御部41が、タイマ処理で計時を行い、対戦モード選択画面600のカウントダウン画像602に反映させる。
また「ユーザー大会」の開始時間となった後におけるプレーヤAのプレーヤ端末40では、図11に示すように、制御部41が、対戦モード選択画面700において「ユーザー大会」のアイコン画像701に「ユーザー大会」の終了時間までの残り時間を示すカウントダウン画像702を重ねて表示し、時間経過とともにカウントダウン画像702の表示時間を変化させる。このユーザーインターフェースにより「ユーザー大会」の対戦の受け付けが終了するまでの残り時間を把握することができる。なおプレーヤAが主催する「ユーザー大会」の参加者となったプレーヤのプレーヤ端末40でも同様である。
図12は、プレーヤAが主催する「ユーザー大会」への参加を希望するプレーヤBが、プレーヤAが主催する「ユーザー大会」の対戦グループへ参加者として登録されるまでのサーバー20とプレーヤ端末40との処理の例を示すフローチャートである。
まずプレーヤBのプレーヤ端末40において、制御部41が、記憶部42に記憶されたゲームプログラムを起動させ、プレーヤBが所定の入力を行った場合に、図4に示す対戦モード選択画面100を表示部44に表示させる(ステップS111)。対戦モード選択画面100では、「フリー対戦」のアイコン画像101と、「ユーザー大会」のアイコン画像102とが表示され、プレーヤBがいずれかのアイコン画像にタッチ入力を行うことによって、対戦モードとして「フリー対戦」または「ユーザー大会」のいずれかを選択することができる。
対戦モード選択画面100の表示中にプレーヤBが「ユーザー大会」のアイコン画像102に対してタッチ入力をした場合(ステップS112でY)、制御部41は、図5に示すように、ユーザー大会を開催する、または既存のユーザー大会に参加する、のいずれかを選択するための開催/参加選択画面200を表示部44に表示させる(ステップS113)。なお対戦モード選択画面100の表示中に「フリー対戦」のアイコン画像101に対してタッチ入力が行われた場合(ステップS112でN)、本処理は終了し、「フリー対戦」に係る処理を実行する。
開催/参加選択画面200の表示中に「ユーザー大会に参加する」のアイコン画像202に対してタッチ入力が行われた場合(ステップS114でY)、制御部41は、図13に示す大会検索画面800を表示部44に表示させる(ステップS115)。なお開催/参加選択画面200の表示中に「ユーザー大会を開催する」のアイコン画像201に対してタッチ入力が行われた場合(ステップS114でN)、制御部41は、先に述べた図3に示すフローチャートに沿ってステップS105以降の処理を実行する。
大会検索画面800には、大会ID入力領域801と検索実行ボタン802とが設けられている。プレーヤBは、プレーヤAから直接伝えられたこと、またはインターネット上の掲示板やSNS(ソーシャルネットワークサービス)等でのプレーヤAの告知などを見たことによって大会ID(例えば、123456)を把握し、それを図14に示すように、大会ID入力領域801に入力することができる。
大会検索画面800の表示中に検索実行ボタン801に対してタッチ入力が行われると(ステップS116)、制御部41は、サーバー20に対して、大会ID入力領域801への入力内容を含む大会ID検索要求を送信する(ステップS117)。
サーバー20では、プレーヤ端末40からの大会ID検索要求を受信すると、制御部21が、受信した大会ID検索要求に含まれる大会IDに対応する大会レコードが記憶部22に存在するか否かを検索し(ステップS211)、検索結果に応じた検索完了応答をプレーヤBのプレーヤ端末40に送信する(ステップS212)。
制御部21は、大会ID検索要求に含まれる大会IDに対応する大会レコードが存在している場合、「主催者ID」、「試合形式」、「フォーマット」、「上限人数」、「参加人数」、「開催期間」、「観戦設定」等の大会情報を含む検索完了応答をプレーヤBのプレーヤ端末40に送信する。
プレーヤ端末40では、大会情報を含む検索完了応答を受信した場合(ステップS117でY)、制御部41が、図15に示す大会参加確認画面900を表示部44に表示させる(ステップS118)。大会参加確認画面900では、検索完了応答に含まれる大会情報に基づく内容が表示領域901に表示される。また大会参加確認画面900には、キャンセルボタン902と参加決定ボタン903とが設けられている。大会参加確認画面900の表示中に参加決定ボタン903に対するタッチ入力が行われた場合(ステップS120でY)、制御部41は、サーバー20に対して、プレーヤBのプレーヤIDを含む参加者登録要求を送信する(ステップS121)。なお大会参加確認画面900の表示中にキャンセルボタン902に対するタッチ入力が行われた場合(ステップS120でN)、制御部41は、大会検索画面800を表示部44に表示させる。
サーバー20では、プレーヤ端末40から参加者登録要求を受信した場合、参加者登録要求に含まれるプレーヤIDに対応するプレーヤを参加者として追加登録して、プレーヤAが主催する「ユーザー大会」の大会レコードを更新し(ステップS213)、プレーヤBのプレーヤ端末に対して登録完了応答を送信して(ステップS214)、プレーヤAが主催する「ユーザー大会」への参加者としての登録が完了したことを通知する。なお図示省略するが、参加者登録要求を受信した時点で、対象の「ユーザー大会」の大会レコードを参照して、参加者の数が上限数に達している場合や開始時間を過ぎている場合等、要求元のプレーヤを参加者として登録ができない場合には、参加者登録要求の送信元のプレーヤ端末40に対してエラー応答を行う。
また制御部21は、大会ID検索要求に含まれる大会IDに対応する大会レコードが存在しない場合、その旨を通知するための検索エラー情報を含む検索完了応答をプレーヤBのプレーヤ端末40に送信する。例えば、大会IDとして「123456」を入力すべきところ、誤って「123457」と入力した場合などが該当する。なお参加者の人数が上限数に到達した「ユーザー大会」は検索対象外として、実在する大会IDについての大会ID検索要求がサーバー20に送信されても、検索エラー情報を含む検索完了応答をプレーヤ端末40に送信するようにしてもよい。
プレーヤ端末40では、検索エラー情報を含む検索完了応答を受信した場合(ステップS117でN)、制御部41が、図16に示す検索エラー画面810を表示部44に表示させる(ステップS119)。検索エラー画面810には、復帰ボタン811が設けられており、復帰ボタン811に対するタッチ入力が行われると、制御部41は、大会検索画面800を表示部44に表示させる。
また本実施形態では、「ユーザー大会」に参加するプレーヤは、参加者としての登録完了後に、対戦で使用するカードデッキの登録を行うことが必要となっている。図17に示すデッキ登録画面1000は、「ユーザー大会」で使用するカードデッキの登録を行うためのユーザーインターフェースの一例である。制御部41は、「ユーザー大会」への参加者としての登録完了に基づいて、デッキ登録画面1000を表示部44に表示させるようにしてもよいし、参加者として登録された「ユーザー大会」の開始時間までに参加者となったプレーヤの任意のタイミングで所定の入力を行うことでデッキ登録画面1000を表示部44に表させるようにしてもよい。
図17に示す例では、「ローテーション」の「フォーマット」に対応したカードデッキとして、デッキA、デッキB、デッキC、デッキDがプレーヤによって予め準備されており、デッキ登録画面1000には、デッキAを選択するためのデッキ選択ボタン1001、デッキBを選択するためのデッキ選択ボタン1002、デッキCを選択するためのデッキ選択ボタン1003、デッキDを選択するためのデッキ選択ボタン1004が設けられている。「ユーザー大会」に参加するプレーヤは、いずれかのデッキ選択ボタンに対してタッチ入力することで「ユーザー大会」で使用するカードデッキの選択を行うことができる。
デッキ登録画面1000の表示中に、いずれかのデッキ選択ボタンに対してタッチ入力が行われると、プレーヤ端末40の制御部41は、図18に示す登録確認画面1010を表示部44に表示させる。登録確認画面1010には、登録の確認を問うメッセージが表示され、キャンセルボタン1011と、登録ボタン1012とが設けられている。
登録確認画面1010の表示中に、登録ボタン1012に対してタッチ入力が行われた場合、制御部41は、デッキ登録を行う「ユーザー大会」の大会ID、デッキ登録を行うプレーヤのプレーヤID、および選択したカードデッキの情報を含むデッキ登録要求をサーバー20に送信する。サーバー20では、デッキ登録要求を受信すると、制御部21が、デッキ登録要求に含まれる大会IDに該当する大会レコードにカードデッキの情報をプレーヤIDに対応づけて登録して、大会レコードを更新する。なお登録確認画面1010の表示中に、キャンセルボタン1011に対してタッチ入力が行われた場合、制御部41は、デッキ登録要求の送信を行わずにデッキ登録画面1000を表示部44に表示させる。
図19は、プレーヤAが主催する「ユーザー大会」の開催中にプレーヤ同士の対戦を行わせるまでのサーバー20とプレーヤ端末40との処理の例を示すフローチャートである。以下では、プレーヤAが主催する「ユーザー大会」に参加者として登録されているプレーヤBが、図9に示す大会トップ画面500のユーザーインターフェースを利用して対戦募集を行っている状況に対して、同じくプレーヤAが主催する「ユーザー大会」に参加者として登録されているプレーヤCが対戦を申し込む場合について説明する。
まずプレーヤCのプレーヤ端末40において、制御部41が、記憶部42に記憶されたゲームプログラムを起動させ、プレーヤCが所定の入力を行った場合に、図11に示す対戦モード選択画面700を表示部44に表示させる(ステップS131)。対戦モード選択画面700では、「ユーザー大会」のアイコン画像701に参加者として登録されている「ユーザー大会」の終了時間までの残り時間を示すカウントダウン画像702が重ねて表示される。
対戦モード選択画面700の表示中にプレーヤCが「ユーザー大会」のアイコン画像701に対してタッチ入力を行った場合(ステップS132でY)、プレーヤ端末40の制御部41は、サーバー20に対して、プレーヤCが参加者として登録されている「ユーザー大会」の大会レコードに格納されている情報を取得するために、「ユーザー大会」の大会IDとプレーヤCのプレーヤIDとを含む大会レコードアクセス要求を送信する(ステップS133)。なお対戦モード選択画面700の表示中に「フリー対戦」のアイコン画像に対してタッチ入力が行われた場合(ステップS132でN)、本処理は終了し、「フリー対戦」に係る処理を実行する。
サーバー20では、プレーヤ端末40から大会レコードアクセス要求を受信した場合、大会レコードアクセス要求に含まれる大会IDに基づき大会レコードの検索を行い(ステップS231)、プレーヤAが主催する「ユーザー大会」の大会レコードに格納されている情報を含む大会データ送信応答を、大会レコードアクセス要求に含まれるプレーヤIDに対応するプレーヤCのプレーヤ端末に対して送信する(ステップS232)。
サーバー20から大会データ送信応答を受信したプレーヤ端末40では、制御部41が、図20に示すような大会トップ画面520を表示部44に表示させる(ステップS134)。
図20に示す大会トップ画面520では、プレーヤBが対戦受付中であることを示すコメント521が表示されており、コメント521に対戦申込ボタン522が設けられている。本実施形態では、対戦IDが作成されると対戦申込ボタン522を伴うコメント521が投稿される。
具体的には、「ユーザー大会」の参加者として登録されているプレーヤがコメント表示領域の下方に設けられた対戦募集ボタンに対してタッチ入力を行うと、プレーヤ端末40の制御部41が、サーバー20に対して対戦ID作成要求を送信する。対戦ID作成要求を受信したサーバー20では、制御部21が、対戦を募集したプレーヤのプレーヤIDと対応づけて対戦IDを発行して大会レコードに格納する。
大会レコードには対戦IDに対戦ステータス情報が対応づけられ、対戦IDが作成された段階では対戦ステータス情報は「受付中」に設定される。そしてプレーヤBと他のプレーヤとの対戦が開始されると、対戦IDに対応づけられる対戦ステータス情報は「対戦中」となり、対戦が終了すると対戦IDに対応づけられる対戦ステータス情報は「対戦終了」となる。
すなわち大会トップ画面520では、プレーヤBが先に述べた対戦募集ボタンに対するタッチ入力を行った結果、プレーヤBの対戦募集に対して発行された対戦IDに紐づけられた対戦申込ボタン522を伴うコメント521がプレーヤCのプレーヤ端末40の表示部44に表示されている。
なおプレーヤAが主催した「ユーザー大会」は、観戦設定が「主催者のみ」に設定されているため、参加者として登録されているプレーヤのプレーヤ端末40では、大会トップ画面520においてコメント521に対戦申込ボタン522しか設けられていないが、仮に観戦設定が「主催者および参加者」に設定されていた場合には、図21に示すように、大会トップ画面520におけるコメント521に対して、対戦申込ボタン522のみならず観戦申込ボタン523も設けられる。
大会トップ画面520の表示中にプレーヤCが対戦申込ボタン522に対してタッチ入力を行った場合(ステップS135でY)、プレーヤ端末40の制御部41は、サーバー20に対して、プレーヤCが参加者として登録されている「ユーザー大会」の大会IDとプレーヤBの対戦募集に対して発行された対戦IDとを含む対戦申込要求を送信する(ステップS136)。
サーバー20では、プレーヤ端末40から対戦申込要求を受信した場合、制御部21が、受信した対戦申込要求に含まれる大会IDおよび対戦IDに基づいて、大会レコードを参照して対戦IDに対応づけられた対戦ステータス情報が「受付中」であるか否かを判定する(ステップS233)。
対戦申込要求に含まれる対戦IDに対応づけられた対戦ステータス情報が「受付中」であった場合(ステップS233でN)、制御部21は、対戦申込要求に含まれる大会IDに基づく大会レコードにプレーヤCを対戦IDに対応する対戦の対戦者として登録して大会レコードを更新する(ステップS234)。このとき対戦IDに対応づけられた対戦ステータス情報も「受付中」から「対戦中」に変更される。また制御部21は、対戦申込要求に基づくプレーヤCの対戦申込の受付が完了したことを通知する対戦受付完了応答を、プレーヤCのプレーヤ端末40に対して送信する(ステップS235)。なお対戦申込要求に含まれる対戦IDに対応づけられた対戦ステータス情報が「受付中」ではなかった場合(ステップS233でY)、図示を省略するが、制御部21は、プレーヤ端末40に対して対戦申込の受付ができないことを通知する対戦申込エラー応答を送信して本処理を終了する。
そしてプレーヤBの対戦募集に対してプレーヤCの対戦申込が受け付けられると、プレーヤBのプレーヤ端末40の制御部41とプレーヤCのプレーヤ端末40の制御部41とが、サーバー20を介して互いの入力情報やカード情報等をやり取りしてカードゲームによる対戦を行う対戦処理(端末側処理:ステップS137、サーバー側処理:ステップS236)が実行される。
プレーヤBのプレーヤ端末40では、制御部41が、プレーヤBの入力情報やカード情報等をサーバー20に送信する処理、プレーヤCの入力情報やカード情報等をサーバー20から取得する処理、各プレーヤの入力情報やカード情報等に基づくゲーム演算を行い、演算結果に基づいて対戦中ゲーム画面に係る画像を生成する処理などを端末側処理として行う。
プレーヤCのプレーヤ端末40では、制御部41が、プレーヤCの入力情報やカード情報等をサーバー20に送信する処理、プレーヤBの入力情報やカード情報等をサーバー20から取得する処理、各プレーヤの入力情報やカード情報に基づくゲーム演算を行い、演算結果に基づいて対戦中ゲーム画面に係る画像を生成する処理などを端末側処理として行う。
サーバー20では、制御部21が、プレーヤBのプレーヤ端末40から受信した入力情報やカード情報等をプレーヤCのプレーヤ端末40へ送信する処理、プレーヤCのプレーヤ端末40から受信した入力情報やカード情報等をプレーヤBのプレーヤ端末40へ送信する処理、対戦の進行を管理する処理などをサーバー側処理として行う。
図22は、プレーヤBとプレーヤCとの対戦におけるプレーヤBのプレーヤ端末40の表示部44に表示される対戦中ゲーム画面1100の一例である。
対戦中ゲーム画面1100には、プレーヤBのターン終了を宣言するためのターン終了ボタン1101が設けられており、ターン終了ボタン1101に対してタッチ入力が行われると、プレーヤBのターンが終了し、対戦相手であるプレーヤCのターンが開始する。
対戦中ゲーム画面1100には、プレーヤBのプレイポイント(PP)を示すプレイポイント表示1102と、プレーヤCのプレイポイント(PP)を示すプレイポイント表示1103とが存在し、これらのプレイポイント表示は、各プレーヤのターン開始時のプレイポイントと使用可能なプレイポイントの残量とが表示されている。例えば、プレーヤポイント表示1102における「3/5」とは、ターン開始時のプレイポイント(PP)が5ポイントであり、使用可能なプレイポイントの残量が3ポイントであることを示す。
対戦中ゲーム画面1100には、プレーヤBのキャラクタアイコン1104と、プレーヤCのキャラクタアイコン1105とが表示される。キャラクタアイコン1104に付随して表示されている数字は、プレーヤBのプレーヤライフ表示1106であり、キャラクタアイコン1105に付随して表示されている数字は、プレーヤCのプレーヤライフ表示1107である。これらのプレーヤライフは、カードゲームの勝敗を決する要素であり、対戦相手のプレーヤライフを0にすることで勝利となる。
プレーヤBのキャラクタアイコン1104の右方には、プレーヤBの手札カード1108が表示され、プレーヤCのキャラクタアイコン1105の左方には、プレーヤCの手札カード1109が表示される。対戦中ゲーム画面1100は、プレーヤBのプレーヤ端末40の表示部44に表示されているものであるから、プレーヤBの手札カード1108についてはカード情報が表示され、プレーヤCの手札カート1109についてはカード情報が表示されない。プレーヤBの手札カード1108には、カード名(図示省略)、カード絵柄(図示省略)、コスト表示1110、攻撃力表示1111、カードライフ表示1112等のカード情報が表示される。プレーヤCの手札カード1109は、プレーヤCの使用するカードデッキについてデザインが共通化されたカードスキン表示がなされる。なお対戦相手の手札カードの特定は、手札カードとなるカードについて、サーバー20がダミーのカード情報を送信し、ダミーのカード情報を受信したプレーヤ端末40において記憶部42のカード情報データベースを参照して行う。
プレーヤBの手札カード1108には、プレーヤBのターン開始時に、プレーヤBのカードデッキの未使用分である山札カード1115から1枚が追加される。プレーヤCの手札カード1109には、プレーヤCのターン開始時に、プレーヤCのカードデッキの未使用分である山札カード1116から1枚が追加される。
また対戦中ゲーム画面1100では、プレーヤBの場札カード1113、プレーヤCの場札カード1114が表示される。各プレーヤは、自らのターンにおいて使用可能なコストの範囲内で手札カードを場札カードとすることができ、場札カードの攻撃力の数値によって対戦相手の場札カードのカードライフを減じる、または対戦相手のプレーヤライフを減じることができる。場札カードのカードライフが0になった場合には、その場札カードは退場する。また先にも述べたように、いずれか一方のプレーヤのプレーヤライフが0になった場合には、他方のプレーヤの勝利となる。
このように対戦中ゲーム画面1100では、プレーヤBが、プレーヤCの手札カード1109についてカード情報を知り得ないが、手札カード1109から場札カード1114に転じたものについてカード情報を知ることができる。
図23は、プレーヤAが主催する「ユーザー大会」の開催中にプレーヤ同士の対戦を観戦させるまでのサーバー20とプレーヤ端末40との処理の例を示すフローチャートである。以下では、プレーヤAが主催する「ユーザー大会」に参加者として登録されているプレーヤBとプレーヤCとの対戦を、主催者として登録されているプレーヤAが観戦する場合について説明する。
まずプレーヤAのプレーヤ端末40において、制御部41が、記憶部42に記憶されたゲームプログラムを起動させ、プレーヤAが所定の入力を行った場合に、図11に示す対戦モード選択画面700を表示部44に表示させる(ステップS141)。対戦モード選択画面700では、「ユーザー大会」のアイコン画像701に参加者として登録されている「ユーザー大会」の終了時間までの残り時間を示すカウントダウン画像702が重ねて表示される。
対戦モード選択画面700の表示中にプレーヤAが「ユーザー大会」のアイコン画像701に対してタッチ入力を行った場合(ステップS142でY)、プレーヤ端末40の制御部41は、サーバー20に対して、プレーヤAが主催者として登録されている「ユーザー大会」の大会レコードに格納されている情報を取得するために、「ユーザー大会」の大会IDとプレーヤAのプレーヤIDとを含む大会レコードアクセス要求を送信する(ステップS143)。なお対戦モード選択画面700の表示中に「フリー対戦」のアイコン画像に対してタッチ入力が行われた場合(ステップS142でN)、本処理は終了し、「フリー対戦」に係る処理を実行する。
サーバー20では、プレーヤ端末40から大会レコードアクセス要求を受信した場合、大会レコードアクセス要求に含まれる大会IDに基づき大会レコードの検索を行い(ステップS241)、プレーヤAが主催する「ユーザー大会」の大会レコードに格納されている情報を含む大会データ送信応答を、大会レコードアクセス要求に含まれるプレーヤIDに対応するプレーヤAのプレーヤ端末に対して送信する(ステップS242)。
サーバー20から大会データ送信応答を受信したプレーヤ端末40では、制御部41が、図24に示すような大会トップ画面560を表示部44に表示させる(ステップS134)。
図24に示す大会トップ画面560では、プレーヤBとプレーヤCとが対戦中であることを示すコメント561が表示されており、コメント561に観戦申込ボタン562が設けられている。本実施形態では、「ユーザー大会」の主催者または参加者として登録されているプレーヤのうち、「観戦設定」において観戦権限が設定されているプレーヤのプレーヤ端末40に限って観戦申込ボタン562が表示される。本実施形態において「観戦設定」は「主催者のみ」に設定されていることによってプレーヤAのプレーヤ端末40では観戦申込を行うことが可能であるが、例えば、参加者として登録されているプレーヤであって対戦中のプレーヤBおよびプレーヤCとも異なるプレーヤDのプレーヤ端末40では、観戦申込ボタン562が表示不可能であるため、観戦申込を行うことができない。
大会トップ画面560の表示中にプレーヤAが観戦申込ボタン562に対してタッチ入力を行った場合(ステップS145でY)、プレーヤ端末40の制御部41は、サーバー20に対して、自身のプレーヤID、「ユーザー大会」の大会ID、およびプレーヤBとプレーヤCとの対戦に係る対戦ID(対戦募集時に作成された対戦ID)とを含む観戦申込要求を送信する(ステップS146)。
サーバー20では、プレーヤ端末40から観戦申込要求を受信した場合、制御部21が、受信した観戦申込要求に含まれる大会IDに基づいて、大会レコードを参照して観戦申込要求に含まれるプレーヤIDが観戦権限を有するプレーヤのものであるか否かを判定する(ステップS243)。この「ユーザー大会」の「観戦設定」は、「主催者のみ」であり、プレーヤAは「主催者」として登録されているため、プレーヤAのプレーヤ端末40から送信された観戦申込要求に含まれるプレーヤIDは、観戦権限有するプレーヤのものであると判定される。
観戦申込要求に含まれるプレーヤIDが観戦権限を有するプレーヤであった場合(ステップS243でY)、制御部21は、観戦申込要求に含まれる大会IDに基づく大会レコードに観戦申込要求に含まれるプレーヤIDを、観戦申込要求に含まれる対戦IDに対応する対戦の観戦者として登録して大会レコードを更新する(ステップS244)。また制御部21は、観戦申込要求に基づくプレーヤAの観戦申込の受付が完了したことを通知する観戦受付完了応答を、プレーヤAのプレーヤ端末40に対して送信する(ステップS245)。なお観戦申込要求に含まれるプレーヤIDに対応するプレーヤが、観戦権限を有するプレーヤではなかった場合(ステップS243でN)、図示を省略するが、制御部21は、プレーヤ端末40に対して観戦申込の受付ができないことを通知する観戦申込エラー応答を送信して本処理を終了する。
そしてプレーヤBとプレーヤCとの対戦に対する観戦者としての登録が受け付けられると、プレーヤAのプレーヤ端末40の制御部41が、サーバー20を介してプレーヤBの入力情報やカード情報とプレーヤCの入力情報やカード情報とを取得して対戦の模様を観戦する観戦処理(端末側処理:ステップS147、サーバー側処理:ステップS246)が実行される。
プレーヤAのプレーヤ端末40では、制御部41が、プレーヤBおよびプレーヤCの入力情報やカード情報等をサーバー20から取得する処理、各プレーヤの入力情報やカード情報等に基づくゲーム演算を行い、演算結果に基づいて観戦画面に係る画像を生成する処理などを端末側処理として行う。
サーバー20では、制御部21が、プレーヤBのプレーヤ端末40から受信した入力情報やカード情報をプレーヤAのプレーヤ端末40へ送信する処理、プレーヤCのプレーヤ端末40から受信した入力情報やカード情報をプレーヤAのプレーヤ端末40へ送信する処理、対戦の進行を管理する処理などをサーバー側処理として行う。
図25は、プレーヤBとプレーヤCとの対戦を観戦するプレーヤAのプレーヤ端末40の表示部44に表示される観戦画面1200である。
観戦画面1200は、対戦IDの作成に係る対戦募集を行ったプレーヤ視点での画面となっており、プレーヤBとプレーヤCとの対戦におけるプレーヤB視点での画面であることについては、対戦中ゲーム画面1100と同一であるが、プレーヤCの手札カート1109についてはカード情報が表示されている点で対戦中ゲーム画面1100と異なる。特に本実施形態では、観戦機能の提供に関して対戦機能を提供する際とは異なる点として、サーバー20は、対戦中の各プレーヤの双方の手札カードおよび場札カードについて正規のカード情報を送信し、観戦者のプレーヤ端末40では、受信した正規のカード情報に基づいて対戦している各プレーヤの手札カードおよび場札カードを開示した状態で観戦画面に係る画像が生成される。
このように観戦画面1200では、観戦者であるプレーヤAが、プレーヤBおよびプレーヤCの双方の手札カードおよび場札カードについてカード情報を知ることができる状況で対戦の模様を観戦することができる。
以上に述べた情報処理システム10では、「ユーザー大会」のために形成された対戦グループに所属するプレーヤ同士の対戦を、主催者となったプレーヤの端末を通じて観戦可能とする一方で、主催者以外のプレーヤであって、対戦を行っていないプレーヤの端末では観戦できないように観戦権限を設定可能としたことで、主催者がプレーヤ間の公平性を保ちつつ対戦グループの管理を適切に行うことができるため、プレーヤ同士が対戦を行うゲームに関するインターフェース環境の向上を図ることができる。
特に情報処理システム10で実現されるカードゲームのような一部のカード情報が非開示となっている状況で対戦を行うようなゲームについては、参加者が観戦可能となることによって対戦に先んじて他の参加者のカードデッキの内容や対戦に関する戦術などを知り得てしまうことがプレーヤ間の公平性を害する要因となるため、主催者のみが観戦可能となる観戦権限を設定可能とすることについて好適である。
また情報処理システム10では、カードゲームに限らず、プレーヤ同士で対戦を行うゲームでは、主催者が監視役となって対戦中の不正な行為や対戦中にプレイを放棄するような対戦マナーに反する行為などを発見可能とする活用方法も提供することができる。
また情報処理システム10では、対戦を行う参加者については公平性を保つために観戦不可能とするが、第三者に対戦の様子を観戦させることを目的として、主催者のみに観戦権限を設定して、主催者が自身のプレーヤ端末40の観戦画面をインターネットを通じて配信するような活用方法も提供することができる。
また情報処理システム10では、参加者となったプレーヤも観戦可能とする観戦権限を選択することもできるようになっているので、主催者が「ユーザー大会」の趣向に合わせた対戦グループの管理を行うことができる。
特に情報処理システム10で実現されるカードゲームのような一部のカード情報が非開示となっている状況で対戦を行うようなゲームについては、観戦画面を通じて対戦者同士においては互いに非開示となっているカード情報を開示しての観戦となるため、参加者となったプレーヤも観戦可能とする観戦権限も設定可能とする態様によって、参加者同士で対戦に関する戦術の研究などを行う活用方法なども提供することができる。
3.変形例
プレーヤ同士の対戦に関するプレーヤのマッチングについては、対戦募集に対して申込を行う形式に限らず、対戦グループ内のプレーヤをランダムに引き合わせてマッチングする形式であってもよい。
また「プレーヤ」は実在するプレーヤに限らず、所定のアルゴリズムに沿って行動するコンピュータプレーヤ、ノンプレーヤキャラクタ(NPC)を含む。例えば、対戦募集が開始してから一定期間を経過しても対戦申込が行われない場合には、コンピュータプレーヤ、ノンプレーヤキャラクタ(NPC)が対戦相手となって対戦を開始するような態様であってもよい。
またプレーヤ同士の対戦の各々が独立したものではなく、トーナメント形式で争われるものであってもよい。トーナメント形式を採用する場合のプレーヤのマッチングについては、サーバー20において抽選などにより決定する、または主催者がプレーヤ端末40に対して手動でマッチング内容を入力して入力内容をサーバー20に送信して大会レコードに登録する等の態様であってもよい。またトーナメント形式を採用する場合に、シードを設けるか否かを設定可能として、シードを設けない設定とした場合に、参加人数でのトーナメントにマッチングが組めない状況では、対戦相手としてコンピュータプレーヤ、ノンプレーヤキャラクタ(NPC)を補充するという態様であってもよい。
また観戦権限がないプレーヤのプレーヤ端末40では、観戦申込のための観戦ボタンが表示されないようにしていたが、観戦権限の有無に関わらず観戦ボタンを表示可能としてもよい。この場合、観戦権限のないプレーヤのプレーヤ端末40において観戦ボタンに対する入力が行われて観戦申込要求がサーバー20に送信されても、その観戦申込要求を受信したサーバー20では観戦権限がないことによりエラー応答をする態様であってもよい。また観戦権限のないプレーヤのプレーヤ端末40において、観戦ボタンを表示可能とするが、プレーヤ端末40において観戦ボタンに対する入力を受け付けない処理を行い、観戦ボタンをグレーアウト表示することによって観戦ボタンが無効であることをプレーヤに示すようにしてもよい。
またサーバー20に関して、対戦機能を提供するサーバーと観戦機能を提供するサーバーとを個別に設けるようにしてもよい。このようにすれば、観戦者の数が多くなっても通信トラフィックを分散することができるため、対戦機能の提供に与える影響を少なくすることができる。特に観戦機能の提供を格闘ゲームやスポーツゲームのようなサーバー応答遅延がゲームの結果に大きく影響するようなものについては有用である。
また観戦画面は、対戦募集を行ったプレーヤ視点によるものであったが、観戦者のプレーヤ端末40からの入力に応じて対戦相手の視点での観戦画面に切り替えることができる視点変更機能があってもよい。観戦画面についての視点変更機能を設ける場合、視点切り替えのための入力は、観戦申込の時点で行える(例えば、プレーヤB視点での観戦申込ボタンとプレーヤC視点での観戦申込ボタンを設ける等)ようにしてもよいし、観戦画面に視点変更ボタンを設けて、視点変更ボタンに対する入力に基づき視点変更機能が働くようにしてもよい。
また観戦機能の提供に関して、観戦者の任意の時点で観戦を終了するためのユーザーインターフェースが設けられていてもよい。例えば、観戦画面に観戦終了ボタンを設けて、観戦終了ボタンに対する入力に基づき観戦終了要求を観戦者のプレーヤ端末40からサーバー20へ送信し、サーバー20では、観戦終了要求に対する応答として観戦者のプレーヤ端末40への対戦中のプレーヤの入力情報等の送信を終了して観戦機能の提供を終了することができる。
また参加者にも観戦権限が与えられている場合、1対戦あたりの観戦者の登録について定員(上限数)を設定可能としてもよい。大会レコードに登録されている観戦者の数が定員に達している場合には、サーバー20がプレーヤ端末40から新たな観戦申込要求を受信しても要求元のプレーヤ端末40に対してエラー応答をすることができる。また大会レコードに登録されている観戦者の数が定員に達している場合には、プレーヤ端末40において観戦申込要求のための入力が行えないようにしてもよい。
またプレーヤ同士が対戦を行うゲームとして、カードゲームを例にとり説明をしたが、他のゲームにおいて情報処理システム10の観戦機能を提供する構成としてもよい。例えば、格闘ゲーム、スポーツゲーム、アクションゲーム、バトルロイヤルゲーム、ロールプレイングゲーム等、プレーヤ同士が対戦を行うものであれば如何なるジャンルでも適用可能である。またプレーヤ同士の対戦については、1対1に限らず、複数対複数、1対複数のいずれであってもよい。
また「ユーザー大会」の大会レコードに、対戦には参加せずに観戦のみを行うプレーヤを非対戦者として登録することを可能とし、非対戦者についてはカードデッキの登録を不要としてもよい。そして「ユーザー大会」の「観戦設定」において、主催者と非対戦者のみが観戦可能な観戦権限である「主催者と非対戦者のみ」や、非対戦者のみが観戦可能な観戦権限である「非対戦者のみ」などを設けて、これらを選択可能としてもよい。
また対戦中ゲーム画面では非開示となり、観戦画面では開示された状態となるカード情報は、山札カード、手札カード、場札カードの全てであってもよいし、これらの一部であってもよく、また複数の手札カードが存在している状況において、その一部のみが観戦画面において開示される態様であってもよい。
また「ユーザー大会」への参加登録については、「ユーザー大会」の開催期間においても、新たなプレーヤの参加登録を受け付け可能としてもよく、主催者が対戦に参加しない設定で「ユーザー大会」の大会レコードが作成された後であっても、主催者のプレーヤ端末40からの要求に応答してサーバー20が、主催者を、主催者かつ参加者とする登録内容の変更を可能としてもよい。