【文献】
[荒野行動]マッチング条件は必見!対戦相手はこれで決まる!,総攻略ゲーム[online],2018年10月19日,[2020年4月22日検索],URL,https://70okugame.com/knives-out/%E3%80%90%E8%8D%92%E9%87%8E%E8%A1%8C%E5%8B%95%E3%80%91%E3%83%9E%E3%83%83%E3%83%81%E3%83%B3%E3%82%B0%E6%9D%A1%E4%BB%B6
【文献】
ノンプレイヤーキャラクター - Wikipedia,ウィキペディア[online],2018年 5月15日,[2020年4月22日検索],URL,https://ja.wikipedia.org/w/index.php?title=%E3%83%8E%E3%83%B3%E3%83%97%E3%83%AC%E3%82%A4%E3%83%A4%E3%83%BC%E3%82%AD%E3%83%A3%E3%83%A9%E3%82%AF%E3%82%BF%E3%83%BC&oldid=68575345
【文献】
AIを駆使した新基軸のデジタルカードゲーム『ゼノンザード』が2019年夏よりサービス開始、対戦や共闘・育成が熱い,ファミ通.com [online],2019年 2月20日,[2020年9月23日検索],URL,https://www.famitsu.com/news/201902/20172220.html
【文献】
ゼノンブログ予定地 ゼノンザードのAIが関わる箇所まとめ,Hatena Blog [online],2019年 9月 3日, [2021年2月5日検索],URL,https://zenonblogyoteiti.hatenadiary.com/entry/2019/09/03/152732
(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0010】
図1は、本実施形態におけるゲームシステムの全体構成例を示す図である。
図1に示すように、ゲームシステムは、ゲームのプレーヤA,B毎に用意されるプレーヤ端末1と、ゲームサーバ2とを備えて構成される。プレーヤ端末1とゲームサーバ2とは、通信回線Nに接続可能で、相互に通信可能である。
【0011】
通信回線Nは、データ通信が可能な通信路を意味する。すなわち、通信回線Nは、直接接続のための専用線(専用ケーブル)やイーサネット(登録商標)等によるLANの他、電話通信網やケーブル網、インターネット等の通信網を含み、通信方法については有線/無線を問わない。
【0012】
プレーヤ端末1は、ゲームプログラムを実行することのできるコンピュータであり、無線通信基地局等を介して通信回線Nに接続し、ゲームサーバ2とデータ通信を行うことができる。プレーヤ端末1は、例えば、スマートフォンや、携帯電話機、携帯型ゲーム装置、据置型家庭用ゲーム装置、業務用ゲーム装置、パソコン、タブレット型コンピュータ、据置型家庭用ゲーム装置のコントローラ等である。プレーヤ端末1は、基本的には、複数存在し、各プレーヤにより操作される。
【0013】
ゲームサーバ2は、単数又は複数のサーバ装置や記憶装置等を含んで構成されたサーバシステムである。ゲームサーバ2は、本実施形態のゲームを運営するための各種サービスを提供し、ゲームの運営に必要なデータの管理や、プレーヤ端末1でのゲームの実行に必要なゲームプログラムやデータの配信等を行うことができる。
【0014】
図2は、プレーヤ端末1の一例であるスマートフォンの装置構成例を示す図である。
図2に示すように、プレーヤ端末1は、ディスプレイ11と、ディスプレイ11と一体構成されるタッチ操作パネル12と、スピーカ13とを備える。また、プレーヤ端末1には、図示されていない制御基板、内蔵バッテリー、電源ボタン、音量調節ボタン等が設けられている。
【0015】
制御基板には、CPUやGPU、DSP等の各種マイクロプロセッサ、ASIC、VRAMやRAM、ROM等の各種ICメモリ、携帯電話基地局と無線通信するための無線通信モジュール等が搭載されている。また、制御基板には、タッチ操作パネル12のドライバ回路といった、いわゆるI/F回路(インターフェース回路)等が搭載されている。これら制御基板に搭載されている各要素は、それぞれがバス回路等を介して電気的に接続され、データの読み書きや信号の送受信が可能に接続されている。
【0016】
本実施の形態では、上述のようなゲームシステムを、第1プレーヤAが保有する第1ゲーム要素と、対戦相手となる第2プレーヤBが保有する第1ゲーム要素とを使用した対戦ゲームに適用した例を説明する。
【0017】
ここで、第1ゲーム要素は、キャラクタに対応付けられた仮想的又は実体のある物品である。仮想的又は実体のある物品の一例としては、例えば、コンピュータに表示される仮想的なカードや、実体のあるカード等である。そして、実行するゲームにおいて、カードの使用により登場させることが可能となるキャラクタは、プレーヤ(コンピュータに操作されるノンプレーヤも含む)の操作に基づいて行動制御がなされるキャラクタであるものとし、カードには対応するキャラクタの図柄(該キャラクタの外観を示した画像)が付されるものとして説明する。更に、これに限られるものではなく、実行されるゲームのゲーム要素を特定する用途のカードは、キャラクタのようなゲーム要素を特定可能に構成されるものに限らず、アイテムや発動する効果等、その他のゲーム要素を特定するものであってもよいことは言うまでもない。尚、物品は、カードに限られることなく、物品に対応付けられたゲーム要素を特定可能に構成された物品であれば、カードに限られるものではない。物品は、例えばゲーム要素の外観を有するフィギュア等の造形物であってもよい。
【0018】
更に、本実施の形態が適用される対戦ゲームでは、第1ゲーム要素とは異なる第2ゲーム要素が加わる。第2ゲーム要素はあるキャラクタではあるが、かならずしも仮想的又は実体のある物品と対応付けられる必要はない。
【0019】
第2ゲーム要素は、プレーヤが保有する第1ゲーム要素をゲーム内において使用する。第1ゲーム要素を使用するとは、ゲーム内において第1ゲーム要素の選択又は第1ゲーム要素のキャラクタの行動を決定することを含む。第1ゲーム要素が例えばカードであるとすると、第2ゲーム要素は、ゲーム内の対戦において、プレーヤが保有するカードの選択又はカードのキャラクタの行動(挙動)を自律的又は自発的(能動的)に決定する。別の言い方をするならば、コンピュータに操作されるノンプレーヤの機能のように、プレーヤによって行われる第1ゲーム要素の選択又はカードのキャラクタの行動等の決定と同様な動作を行うということである。但し、従来からあるノンプレーヤは、人間のプレーヤの代わりにコンピュータに操作されるものであるが、第2ゲーム要素は人間のプレーヤと別個独立に存在し、プレーヤが保有する第1ゲーム要素を使用する点で異なる。そして、従来からあるノンプレーヤとは異なり、プレーヤと第2ゲーム要素とはひとつのグループを構成することになる。
【0020】
また、第2ゲーム要素は、キャラクタ情報を持つ。このキャラクタ情報は、第2ゲーム要素のゲームの強さ(レベル)や属性情報(性別や性格など)である。キャラクタ情報は、第2ゲーム要素の自律的又は自発的(能動的)な行動(第1ゲーム要素の使用)に影響を与える。別の言い方をするならば、キャラクタ情報は第2ゲーム要素の能力であり、この能力の相違によって第2ゲーム要素の自律的又は自発的(能動的)な挙動(第1ゲーム要素の使用)が異なるということである。そして、このキャラクタ情報は、第2ゲーム要素の選択時やゲームの進行に伴って変化する。
【0021】
上述のような、第2ゲーム要素による自律的又は自発的(能動的)な行動は、ゲームサーバ2が備えるAI機能によって与えられる情報に基づいて行われる。このAI機能は、多くの対戦ゲームのゲーム進行の内容とその結果等を教師データとし、機械学習して得られたAI機能である。機械学習の方法は、深層学習(ディープラーニング)、強化学習、又は、それらの組み合わせが代表的なものであるが、これに限られない。
【0022】
[ゲーム内容の概略]
次に、実施の形態の説明の理解を助けるために、プレーヤ端末1のディスプレイ11の表示画面を用いて、ゲームの概要を説明する。
【0023】
本実施形態のゲームでは、プレーヤA,Bは、第1ゲーム要素である仮想的なゲームカード(単に「カード」という。)をゲーム内で使用する。カードは複数種類用意され、各々に関連付けられたキャラクタの能力及びカード属性等の組合せによって区別される。カード属性は、例えば、赤、青といった色や、1から7の何れかの数字等で定められる。各カードには、コンピュータ制御の敵キャラクタや他プレーヤ等の対戦相手との対戦プレイ(バトル)に用いるレベルや攻撃力、HPといった能力パラメータ値が定められている。
【0024】
カードは、アカウント登録時において対戦プレイ(バトル)に最低限必要な枚数が付与される他、ゲーム中に取得したり、課金アイテムとして購入によって取得したり、ガチャと呼ばれる抽選によって取得することができる。加えて、カードは、実体のあるゲームカード(以下、「リアルカード」という。)を入手し、入手したリアルカードをゲーム内で使用可能とするための登録手続きをすることによっても獲得できる。具体的には、プレーヤA,Bは、リアルカードの登録手続きを行うと、そのリアルカードと対応付けられたカード種類のカードを取得することができる。
【0025】
そして、各プレーヤA,Bは、保有しているカードのうちの所定枚数(例えば40枚)でデッキを構成し、デッキを用いた対戦プレイ(バトル)に挑む。デッキを用いた対戦プレイ(バトル)とは、デッキを構成するカード(デッキカード)に定められている能力パラメータ値(第1ゲーム要素のキャラクタ情報)を用いて、対戦相手との勝敗を決めるものである。
【0026】
ゲームに先立ち、各プレーヤA,Bは、アカウント登録を済ませ、デッキを編成しておく必要がある。デッキの編成は、ホーム画面等からカードメニューをタッチ操作し、その1つとして提示されるデッキ編成メニューから行えるようになっている。保有しているカードの枚数に余裕があれば、複数のデッキを編成して設定することもできる。
【0027】
ここで、第2ゲーム要素であるが、各プレーヤA,Bは、アカウント登録時において、複数の第2ゲーム要素(以下、バディと記載する)から好みのバディを選択することにより、取得可能である。各プレーヤA,Bは、取得したバディと同一のグループ(ペア)となる。
【0028】
バトルの準備が整うと、プレーヤA,Bは、ログイン後に表示されるホーム画面からバトルメニューを選択操作(タッチ操作)する。
【0029】
本実施形態におけるバトルゲームの対戦態様は、通常対戦モードと特殊対戦モードとがあり、プレーヤは選択することができる。通常対戦モードはプレーヤ対プレーヤ(人間同士)の対戦モードである。特殊対戦モードは、プレーヤ対バディの対戦モードである。プレーヤによって選択された対戦モードの情報(対戦モード選択情報)は、ゲームサーバ2に送信される。尚、バディが対戦する場合は、バディのプレーヤが設定したデッキを使用する。プレーヤは、通常対戦態様又は特殊対戦態様のいずれかを選択することが可能である。プレーヤと対戦相手のマッチングについて、説明する。
【0030】
プレーヤは、ランクを持つ。プレーヤのランクは、バトルの勝敗によって増減するエレメントによって決定される。エレメントとは、ランクの上昇に必要な「勝利ポイント」のことである。プレーヤのランクは、蓄積した累計のエレメント(以下、累計エレメントと記載する)が多ければ多いほど高位のランクとなる。各ランクはいずれかのクラスに属するが、低位のランクは低位のクラスに属し、高位のランクは高位のクラスに属する。例えば、最も簡単な例では、低位のランク1からランク9までは最低位の第1クラスに属し、ランク10からランク19までは第2クラスに属し、ランク20からランク29までは第3クラスに属するなどである。
【0031】
プレーヤと同一のグループを構成するバディも、プレーヤと同様に、レベル(ランクに相当)を持つ。バディのレベルはバディの強さともいえ、高位のレベルほど、ゲームの進行に対して適切に行動(挙動)する。バディのレベルは、バトルの勝敗によって獲得できる経験値によって上昇する。但し、プレーヤのランクとバディのレベルとが乖離すると、ゲームバランスが崩れる可能性があるので、プレーヤのランクとバディのレベルとを連動させる。例えば、プレーヤのランクがランク9である場合、バディのレベルはレベル18以上には上昇しないようにする。すなわち、プレーヤのランクに応じて、バディのレベルの上限を設定するようにする。
【0032】
プレーヤと対戦相手のマッチングは、基本的には同一のランクを持つプレーヤ同士がマッチングされるように、ログインしているプレーヤ中から同一のランクを持つプレーヤを検索する。同一のランクを持つプレーヤを検索できない場合は、上下にランク(例えば、1ランク)を変更し、プレーヤを検索してマッチングを行う。
【0033】
プレーヤと対戦相手とのマッチングが決定すると、バトルが開始される。
【0034】
バトルは、プレーヤ(プレーヤA側)のターンと、対戦相手であるプレーヤ(以下の説明ではプレーヤB側)のターンとが交互に実行される。各ターンは、デッキカードのうち手札をフィールド等の自プレーヤのプレーヤ領域に設定するスタンバイフェーズと、設定したデッキカードを使用するために、他のデッキカード等を準備するカード使用準備フェーズと、プレーヤ領域に設置したデッキカードを用いて、対戦プレーヤ又は対戦プレーヤのカードに攻撃を行う対戦フェーズ等の複数のフェーズから構成される。
【0035】
図3はプレーヤ端末1のディスプレイ11に表示される対戦ゲームのスタンバイフェーズ又はカード使用準備フェーズにおける画面表示の一例を示した図である。ディスプレイ11の画面は、プレーヤA側のカード等が設定される第1領域20と、対戦するプレーヤB側のカード等が設定される第2領域21とを備えている。また、第1領域20と第2領域21との境界には、現在実行することが可能な操作の情報を表示する操作情報30が表示される。
【0036】
第1領域20、第2領域21の各領域は、自デッキより選択されたカード(手札)が5枚配置されるフィールド領域22と、フィールドに配置されたカードの行動又は効果を発動するために消費(行動コスト)されるカードが配置されるベース領域23と、カードの発動効果に影響与え(フォース)、ライフ(HP)を持つ第1オブジェクト31と、同様にライフ(HP)を持つ第2オブジェクトが配置されるフォース領域24とを備える。尚、本実施の形態では、第2オブジェクト32は、プレーヤ又は第2ゲーム要素であるバディと兼ねて表示されている。
【0037】
対戦フェーズでは、
図4に示すように、プレーヤAは、攻撃に使用するカードを、指でタッチし、攻撃対象となる相手のカード、第1又は第2オブジェクト31,32までドラックすることにより、攻撃に使用するカード及び攻撃対象となる対戦プレーヤBのカード、第1又は第2オブジェクト31,32を決定する。これにより、プレーヤAの攻撃が開始される。また、バディAによる攻撃の場合には、ゲームサーバ2から提供されるカード操作情報によって、攻撃に使用するカード及び攻撃対象となる対戦プレーヤBのカード、第1又は第2オブジェクト31,32が決定される。
【0038】
このような一連のフェーズからなるターンを、プレーヤA側と対戦相手のプレーヤB側とが交互に繰り返し、いずれかのプレーヤ又はバディのライフが0になる、又は、デッキのカードが0枚になることにより、勝敗が決定する。対戦の勝敗が決定すると、その対戦の勝敗(対戦結果)が提示される。そして、勝敗に応じてプレーヤのエレメントを増減させるとともに、バディの経験値を付与する。
【0039】
尚、プレーヤとバディとの対戦の場合、人間側のプレーヤに対しては上述のバトル画面を提示するが、バディ側のプレーヤの場合は詳細なバトル画面を表示せず、対戦結果のみ表示するようにしても良い。プレーヤとバディとの対戦時において、かならずしも、バディ側のプレーヤはバトルを閲覧可能とは限らず、コンピュータに操作されるバディという特殊性を鑑みると、複数のバトルが同時多発的に発生する場合もあるからである。
【0040】
以下、このようなゲームシステムを実現する各構成要素について説明する。
【0041】
[機能構成]
図5は、プレーヤ端末1の機能構成例を示すブロック図である。
【0042】
図5に示すように、プレーヤ端末1は、操作入力部51と、処理部52と、画像表示部53と、音出力部54と、通信部55と、記憶部56とを備える。
【0043】
操作入力部51は、プレーヤがゲームに関する各種操作を入力するためのものであり、操作入力に応じた操作入力信号を処理部52に出力する。操作入力部51の機能は、例えば、タッチ操作パッド、ホームボタン、ボタンスイッチや、ジョイスティック、トラックボールといった直接プレーヤAが指で操作する素子はもちろん、加速度センサや角速度センサ、傾斜センサ、地磁気センサといった、運動や姿勢を検知する素子等によっても実現できる。
図2では、タッチ操作パネル12がこれに該当する。
【0044】
処理部52は、記憶部56に格納されるプログラムやデータ、操作入力部51からの操作入力信号等に基づいてプレーヤ端末1の動作を統括的に制御する。処理部52の機能は、例えば、CPUやGPU等のマイクロプロセッサ、ASIC、ICメモリ等の電子部品によって実現できる。この処理部52は、主な機能部として、ゲーム演算部61と、画像生成部62と、音生成部63と、通信制御部64とを備える。
【0045】
ゲーム演算部61は、本実施の形態のゲームを実現するための種々のゲーム処理を実行し、処理結果を画像生成部62や音生成部63に出力する。ゲーム演算部61は、プレーヤ情報管理部70と、カード設定部71と、バディ設定部72と、対戦実行部73と、ゲーム管理部74とを含む。
【0046】
プレーヤ情報管理部70は、プレーヤの情報を管理する。管理する情報は、プレーヤのニックネーム等の基本的なユーザ情報、プレーヤのランク及びバディのレベルを管理する。
【0047】
カード設定部71は、後述するカード設定データ及びデッキ設定データを用い、プレーヤA,Bが現時点までに保有している保有カード及びデッキを管理する。また、ユーザの操作により、保有カードからデッキを構成するカードを選択し、デッキを設定する。そして各デッキを構成するカードを管理し、プレーヤA,Bが選択したデッキより、スタンバイフェーズ及びカード使用準備フェーズにおいて、各フィールドに設定されるカード及び手札を設定する。また、各フィールドに設定されるカード及び手札に関する情報であるカード設定情報を生成し、通信部55を介して、ゲームサーバ2に送信する。
【0048】
バディ設定部72は、プレーヤA,Bは、アカウント登録時において、プレーヤA,Bにより選択された第2ゲーム要素としてのバディに関する情報を、後述するバディ設定データを用いて管理する。バディ設定部72は、アカウント登録時のバディ(第2ゲーム要素)のレベル及びキャラクタ情報は初期値(最も低い値)に設定される。また、バディが変更された場合、バディ設定部72は、変更後のバディ(第2ゲーム要素)のレベル及びキャラクタ情報を初期値(最も低い値)に設定する。また、バディ設定部72は、対戦中又はその他のメニュー画面において、バディの画像情報を画像生成部62に出力する。
【0049】
対戦実行部73は、プレーヤの操作による対戦を実行する部である。対戦実行部73は、プレーヤA,Bのタッチ操作等により、カードの選択や、カードの行動を決定し、カードの選択又は行動の情報である行動選択情報を生成し、通信部55を介して、ゲームサーバ2に送信する。また、対戦実行部73は、カードの選択又は行動の操作に関する情報であるカード操作情報を、通信部55を介して取得する。カード操作情報は、ゲームサーバ2のAI機能により、バディのキャラクタ情報と、対戦におけるカード設定情報の状況とを参照して生成された情報であり、プレーヤ端末1に、バディがカードの選択又は行動の操作する画像を表示するための情報である。更に、対戦実行部73は、取得されたカード操作情報を用いて、バディがカードの選択又は行動を操作する画像を表示する処理を行う。また、ユーザによって対戦モードが選択されると、対戦要求の情報を含む対戦モード選択情報をゲームサーバ2に送信する。対戦要求の情報には、ユーザ識別情報が含まれる。
【0050】
ゲーム管理部74は、ゲーム全体の進行を管理する。ゲーム管理部74は、ゲームサーバ2からのマッチング結果及び対戦結果を後述する画像表示部53に表示させる。
【0051】
画像生成部62は、ゲーム演算部61の処理結果に基づいて1フレーム時間(例えば1/60秒)で1枚のゲーム画面を生成し、生成したゲーム画面の画像信号を画像表示部103に出力する。画像生成部62の機能は、例えば、GPUやデジタルシグナルプロセッサ(DSP)等のプロセッサ、ビデオ信号IC、ビデオコーデック等のプログラム、フレームバッファ等の描画フレーム用ICメモリ、テクスチャデータの展開用に使用されるICメモリ等によって実現できる。
【0052】
音生成部63は、ゲーム演算部61の処理結果に基づいてゲームに関する効果音やBGM、操作補助情報の音声情報、各種操作音等の音信号を生成し、音出力部54に出力する。音生成部63の機能は、例えば、デジタルシグナルプロセッサ(DSP)や音声合成IC等のプロセッサ、音声ファイルを再生可能なオーディオコーデック等によって実現できる。
【0053】
通信制御部64は、ゲームサーバ2とのデータ通信のための通信接続及びデータ処理を行う。
【0054】
画像表示部53は、ゲーム管理部74の制御の元、ゲームサーバ2からのマッチング結果及び対戦結果と、画像生成部62から入力される画像信号に基づいて各種ゲーム画面を表示する。画像表示部53の機能は、例えば、フラットパネルディスプレイ、ブラウン管(CRT)、プロジェクター、ヘッドマウントディスプレイといった表示装置によって実現できる。画像表示部53は、例えば、
図2のディスプレイ11に該当する。
【0055】
音出力部54は、音生成部63から入力される音信号に基づいてゲームに関する効果音等を音出力するためのものである。音出力部54は、例えば、
図2のスピーカ13に該当する。
【0056】
通信部55は、通信回線Nと接続して通信を実現する。通信部55の機能は、例えば、無線通信機、モデム、TA(ターミナルアダプタ)、有線用の通信ケーブルのジャックや制御回路等によって実現できる。
【0057】
記憶部56には、プレーヤ端末1を動作させ、プレーヤ端末1が備える種々の機能を実現するためのプログラムや、このプログラムの実行中に使用されるデータ等が予め記憶され、或いは処理の都度一時的に記憶される。記憶部56は、例えばRAMやROM、フラッシュメモリ等のICメモリ、ハードディスク等の磁気ディスク、CD−ROMやDVD等の光学ディスク等によって実現できる。
【0058】
記憶部56には、システムプログラムと、ゲームプログラムとが格納される。システムプログラムは、プレーヤ端末1のコンピュータとしての基本機能を実現するためのプログラムである。ゲームプログラムは、処理部52をゲーム演算部61として機能させるためのプログラムである。このプログラムは、プレーヤがアカウント登録を済ませるとゲームサーバ2又は他のアプリ配信サーバ等から配信される。
【0059】
また、記憶部56には、プレーヤ情報管理部70が管理するカード設定データ、デッキ設定データ及びバディ設定データが格納される。なお、その他にも、カードのキャラクタ及びバディの画像を表示するためのモデルデータやテクスチャデータ、モーションデータ、エフェクトデータ、ゲーム画面の背景画像、効果音等の音データ等が適宜ゲームに必要なデータとして配信され、記憶部56に格納される。
【0060】
カード設定データは、プレーヤが保有するカードのキャラクタ情報であり、カード種類毎に用意される。
図6は、プレーヤが保有するカードのカード設定データの一例を示した図である。
図6では、プレーヤが保有するカード識別情報”001”で特定される1枚のカードのカード設定データを示している。カード設定データは、カード識別情報、画像、カード名、カード種類、コスト数、色、種族、能力、攻撃力、ヒットポイント及びレアリティを含んでいる。尚、
図6はカード設定データの一例を示したものであり、これに限定されるものではない。また、カード設定データは、プレーヤA,Bが保有するカードが増減することにより、増減する。
【0061】
デッキ設定データは、プレーヤの各デッキに関するデータであり、各デッキを構成するカードのカード識別情報を含む。
図7は、デッキ設定データの一例を示す図である。
図7の例では、プレーヤAのデッキ1のデッキ設定データの例であり、デッキ1がカード識別情報”001”〜カード識別情報”023”のカードから構成されていることを示している例である。尚、
図7はデッキ設定データの一例を示したものであり、これに限定されるものではない。
【0062】
バディ設定データは、メニュー設定より選択されたバディのキャラクタ情報である。このバディのキャラクタ情報はゲームの進行に伴って変化するが、変化した場合には変化後のキャラクタ情報がゲームサーバ2から通知され、キャラクタ情報は更新される。
図8はプレーヤAのバディ設定データの一例を示す図である。
図8の例では、バディ設定データは、バディ識別情報、バディの画像、バディ名、レベル、カード理解度、パーソナリティ及びシンクロレベルを含んでいる。尚、
図8はバディ設定データの一例を示したものであり、これに限定されるものではない。
【0063】
次に、ゲームサーバ2の構成を説明する。
図9は、ゲームサーバ2の機能構成例を示すブロック図である。
【0064】
ゲームサーバ2は、処理部91と、通信部92と、記憶部93とを備える。
【0065】
処理部91は、記憶部93に格納されるプログラムやデータ、受信した情報等に基づいて、ゲームサーバ2の動作を統括的に制御する。処理部91の機能は、例えば、CPUやGPU等のマイクロプロセッサ、ASIC、ICメモリ等の電子部品によって実現できる。この処理部91は、プレーヤ管理部101と、マッチング処理部102と、ゲーム管理部103と、AI処理部104と、ポイント管理部105と、ランク更新部106とを備える。
【0066】
プレーヤ管理部101は、後述するユーザ情報データを用いてアカウントやゲームの進行状況等を接続されるプレーヤ端末1毎に管理する。
【0067】
マッチング処理部102は、プレーヤ端末1からの対戦要求を含む対戦モード選択情報に応答して、対戦相手をマッチングする。マッチングは、プレーヤ端末1のプレーヤのランクを用いて、プレーヤとマッチングする対戦相手を、ユーザ識別情報と、プレーヤ又はバディのランクとが対応付けられたリアルプレーヤリストから検索する。マッチング処理部102は、対戦モード選択情報に含まれるユーザ識別情報を用いてユーザ情報データからプレーヤ又はプレーヤのバディのランクを取得し、リアルプレーヤリストに記憶する。即ち、リアルプレーヤは、プレーヤ端末1を用いてゲームをプレイするユーザという意味となる。マッチングの条件は、基本的に、ログインしているプレーヤのうち、同一のランクを持つプレーヤ又は同一のランクを持つプレーヤのバディを対戦相手としてマッチングする。同一のランクを持つプレーヤ又は同一のランクを持つプレーヤのバディを検索できない場合は、ランク差が所定範囲内のプレーヤ又はプレーヤのバディとマッチングするようにする。例えば、上又は下に1ランク変更し、ランク差があるプレーヤ又はプレーヤのバディとマッチングするようにする。
【0068】
ゲーム管理部103は、マッチング処理部102からのマッチング結果を、通信部92を介してプレーヤ端末1に送信する。また、ゲーム管理部103は、プレーヤ及び対戦相手プレーヤのプレーヤ端末1からのカード設定情報や行動選択情報等を受信し、カード設定情報や行動選択情報、後述するカードデータを用いて対戦処理を行い、その対戦結果を出力する。また、プレーヤのプレーヤ端末1及び後述する仮想対戦実行部105からのカード設定情報や行動選択情報等を受信し、カード設定情報や行動選択情報、後述するカードデータを用いて対戦処理を行い、その対戦結果を出力する。
【0069】
AI処理部104は、多くの対戦ゲームのゲーム進行の内容とその結果等の教師データを機械学習して得られたアルゴリズムを有する。このアルゴリズムは、バディのレベル及びキャラクタ情報に応じたアルゴリズムである。機械学習の方法は、深層学習(ディープラーニング)が代表的なものであるが、これに限られない。AI処理部104は、プレーヤ端末1から送信されるカード設定情報、プレーヤ端末1のプレーヤのバディのレベル及びキャラクタ情報等を入力し、そのカード設定情報の状況におけるバディのカード操作情報を出力する。尚、アルゴリズムは、バディのレベル及びキャラクタ情報に応じて異なるので、プレーヤ端末1から送信されるカード設定情報が同一であっても、プレーヤのバディのレベル及びキャラクタ情報が異なれば、異なるカード操作情報を出力する可能性がある。
【0070】
仮想対戦実行部105は、マッチング処理部102が現実的なプレーヤを対戦相手として検索できなかった場合に、仮想的なプレーヤを対戦相手として選択する。詳細には、仮想対戦実行部105は、リアルプレーヤリストから対戦相手を検索出来なかった場合、プレーヤと同一のランク、又は、所定範囲内のランク差にあるランクの仮想対戦プレーヤを選択する。仮想対戦プレーヤはランク毎に複数用意されている。各仮想対戦プレーヤには、後述する仮想ユーザ情報データと、カードの選択やカードの行動を決定するカード決定アルゴリズムとが設定されている。仮想対戦実行部105はプレーヤ端末1のプレーヤのランクに応じた仮想ユーザ情報データとカード決定アルゴリズムを用いて、第1のゲーム要素及び第2のゲーム要素を用いたゲームを実行する。尚、以下の説明では、仮想対戦実行部105は、プレーヤと同一のランクの仮想対戦プレーヤを選択する場合を用いて説明する。
【0071】
通信部92は、通信回線Nと接続して通信を実現する。
【0072】
記憶部93には、システムプログラムと、ゲームプログラムとが格納される。システムプログラムは、ゲームサーバ2のコンピュータとしての基本機能を実現するためのプログラムである。ゲームプログラムは、処理部91を、プレーヤ管理部101と、マッチング処理部102と、ゲーム管理部103と、AI処理部104と、ポイント管理部105と、ランク更新部106として機能させるためのプログラムである。
【0073】
更に、記録部93は、ユーザ情報データと、カードデータと、仮想ユーザ情報データとが格納されている。
【0074】
ユーザ情報データは、ゲームに参加しているプレーヤの基本データであり、プレーヤ毎のユーザ情報データを記録している。
図10はユーザ情報データの一例を示した図である。
図10の例では、プレーヤのユーザ識別情報と、そのプレーヤのユーザ名と、そのプレーヤのバディ設定データと、デッキ設定データと、プレーヤのランク、クラス及び現在までの累計エレメントと、プレーヤのバディのレベル、累計経験値及びキャラクタ情報(カード理解度等)を含んでいる。
【0075】
カードデータは、本ゲームで使用されるカード全てのカードデータである。基本的に、上述した
図6のカード設定データと同様なデータを、ゲームで使用される全てのカードについて格納している。
【0076】
仮想ユーザ情報データは、仮想対戦プレーヤの基本データであり、仮想対戦プレーヤ毎のユーザ情報データを記録している。
図11は仮想ユーザ情報データの一例を示した図である。
図11の例では、仮想対戦プレーヤのユーザ識別情報、仮想対戦プレーヤのユーザ名及びランクと、仮想対戦プレーヤのバディ設定データ、レベル及びキャラクタ情報(カード理解度等)と、デッキ設定データとを含んでいる。
【0077】
[各装置の動作]
プレーヤ端末1と、ゲームサーバ2との動作を説明する。ここでは、プレーヤAがプレーヤ端末1を用いて、対戦ゲームを行う場合を例に説明する。
図12は、プレーヤ端末1とゲームサーバ2との動作を説明するための全体のシーケンス図である。
【0078】
まず、プレーヤAは、ゲームのアカウント登録時において、バディを設定するバディ設定処理を行う(Step100)。バディ設定処理は、バディ設定部72により行われる。バディ設定処理は、メニュー画面より、バディ設定を選択する。バディ設定では、複数のバディから好みのバディを選択することにより、設定可能である。選択したバディの情報は、ゲームサーバ2に送信される。
【0079】
ゲームサーバ2のプレーヤ管理部101は、プレーヤ端末1から受信したバディの情報を用いて、プレーヤ端末1のユーザ識別情報に対応するユーザ情報データに、バディのキャラクタ情報を登録する(Step101)。登録したバディのキャラクタ情報は、プレーヤ端末1に送信される。プレーヤ端末1のバディ設定部72は、登録されたバディのキャラクタ情報を、バディ設定データとして登録する。
【0080】
アカウント登録後、プレーヤAは、ゲームにログインする(Step102)。このとき、プレーヤ端末1は、ユーザ識別情報を含むログインの要求を送信する。
【0081】
サーバ2のプレーヤ管理部101は、ログインの要求に応答して、ログイン処理を行う(Step103)。ログイン処理は、ログインを要求したプレーヤのユーザ識別情報に対応するユーザ情報データを取得し、ゲーム管理部103に渡す処理を含む。
【0082】
ログインが完了すると、プレーヤは、対戦モード選択処理を行う(Step104)。対戦要求を含む対戦モード選択情報は、通信部55を介して、ゲームサーバ2に送信される。
【0083】
対戦モード選択情報を受信したゲームサーバ2のマッチング処理部102は、マッチング処理を開始する(Step105)。マッチング処理は、プレーヤ端末1からの対戦モード選択情報で示される対戦モードを選択しているプレーヤ同士の中で、同一のランクを持つプレーヤ同士、又は、同一のランクを持つプレーヤと同一のランクを持つプレーヤのバディ同士がマッチングされるように検索する。同一のランクを持つプレーヤ又はプレーヤのバディがマッチングしなかった場合は、上又は下にランク(例えば、1ランク)を変更し、ランク差があるプレーヤ又はプレーヤのバディとマッチングするようにする。
【0084】
対戦相手が決定されると、マッチング結果送付処理が実行され、マッチング結果がユーザ端末に送信され、画像表示部53に表示される(Step106)。このとき、対戦相手がリアルプレーヤの場合はその対戦相手のユーザ名を表示し、対戦相手が仮想対戦プレーヤの場合はその仮想対戦プレーヤのユーザ名を表示する。例えば、対戦相手がリアルプレーヤの場合はその対戦相手のユーザ名「XXX」を表示し、対戦相手が仮想対戦プレーヤの場合はその仮想対戦プレーヤのユーザ名「XYZ」を表示する。これにより、マッチングした対戦相手が仮想対戦プレーヤであっても、リアルプレーヤと同様なユーザ名が表示されるので、プレーヤには仮想対戦プレーヤと認知できない。
【0085】
ユーザ端末1の対戦実行部73とゲームサーバ2のゲーム管理部103とは対戦処理を開始する(Step107)。この対戦処理では、マッチング処理でリアルプレーヤが対戦相手となった場合には、ゲーム管理部103は、プレーヤ及び対戦相手プレーヤのプレーヤ端末1からのカード設定情報や行動選択情報等を受信し、カード設定情報や行動選択情報、カードデータを用いて対戦処理を行い、その対戦結果を出力する。マッチング処理で仮想対戦プレーヤが対戦相手となった場合には、プレーヤのプレーヤ端末1及び仮想対戦実行部105からのカード設定情報や行動選択情報やカードデータを用いて対戦処理を行い、その対戦結果を出力する。
【0086】
プレーヤ端末1の対戦実行部73は、送信された対戦処理結果を通信部55を介して受信して画像表示部53に表示させる。
【0087】
上記の通り、ゲーム管理部103は、マッチング処理でリアルプレーヤが対戦相手となっても仮想対戦プレーヤが対戦相手となっても、プレーヤ及び対戦相手プレーヤとプレーヤ及び仮想対戦プレーヤとの情報を同様に扱って対戦処理を行う。対戦処理の結果を受信したプレーヤ端末1の対戦実行部73は、リアルプレーヤも仮想対戦プレーヤの識別が出来ないため、リアルプレーヤも仮想対戦プレーヤも同様に画像表示部53に表示する。即ち、仮想対戦プレーヤであることが識別できないようにして表示されることとなる。
【0088】
上記マッチング処理(Step105)について、詳細に説明する。
図13は、マッチング処理のフローチャートである。
【0089】
マッチング処理部102は、対戦モード選択情報に含まれるユーザ識別情報を用いて、ユーザ情報データからプレーヤ又はバディのランクを取得する(Step1)。
【0090】
プレーヤ又はバディのランクを取得すると、ユーザ識別情報とプレーヤ又はバディのランクとを対応付けて、リアルプレーヤリストに追加する(Step2)。
【0091】
マッチング処理部102は、同一のランクを持つプレーヤ又は同一のランクを持つプレーヤのバディをリアルプレーヤリストから検索して、対戦相手としてマッチングする(Step3)。
【0092】
同一のランクを持つプレーヤ又は同一のランクを持つプレーヤのバディを検索できない場合は(Step3:No)、ランク差が所定範囲内のプレーヤ又はプレーヤのバディをリアルプレーヤリストから検索して、対戦相手としてマッチングする(Step4)。
【0093】
所定範囲のランク差内にあるプレーヤ又はプレーヤのバディを検索できない場合は(Step4:No)、仮想対戦実行部105が、Step1で取得したランクと同一ランクの仮想対戦プレーヤを選択する(Step5)。
【0094】
マッチング処理部102は、マッチングできた場合(Step3及びStep4:Yes)、マッチングしたプレーヤの情報をリアルプレーヤリストから削除する(Step6)。Step106のマッチング結果送付処理へ進む。
【0095】
上記本発明によると、プレーヤが対戦要求したときに対戦相手がいなくとも仮想プレーヤと対戦できるため、ユーザの興趣性が上がる。
【0096】
〈第2の実施の形態〉
本実施の形態では、所定の検索時間内に現実的なプレーヤを対戦相手としてマッチング出来なかった場合に、仮想プレーヤを対戦相手として選択する形態について説明する。尚、上記実施の形態と同様の構成については同一番号を付し、詳細な説明は省略する。
【0097】
マッチング処理部102は、同一ランク及びランク差が所定範囲内のプレーヤ又はプレーヤのバディを検索できなかった場合、検索開始から所定の検索時間が経過しているかを判定する。判定の結果、所定の検索時間が経過している場合は、仮想プレーヤを対戦相手として選択する。
【0098】
検索時間は、時間帯によって適宜変更してもよいものとする。例えば、ゲームサーバ2へのプレーヤ端末1からのアクセス数(対戦要求を含む対戦モード選択情報の受信数)を時間帯によって想定し、アクセス数が多い時間帯の検索時間を、アクセス数が少ない時間帯の検索時間より短くしても良い。例えば、アクセス数が多い時間帯の検索時間を30秒とし、アクセス数が少ない時間帯の検索時間を60秒にする。また、リアルタイムでアクセス数を監視し、アクセス数の増減に応じて検索時間を増減させても良い。
【0099】
本実施の形態のマッチング処理について説明する。
図14は、本実施の形態におけるマッチング処理のフローチャートである。Step4までは、第1の実施の形態のマッチング処理と同一であるため、詳細な説明は省略する。
【0100】
マッチング処理部102は、所定範囲のランク差内にあるプレーヤ又はプレーヤのバディを検索できない場合は(Step4:No)、検索開始から所定時間が経過しているかを判定する(Step7)。
【0101】
所定時間が経過していない場合(Step7:No)、Step3に戻る。一方、所定時間が経過している場合(Step7:Yes)、Step5に進む。
【0102】
〈第3の実施の形態〉
本実施の形態では、対戦相手を検索中に、プレーヤ端末1の表示画面に演出画像(演出映像)を表示させる形態について説明する。尚、上記実施の形態と同様の構成については同一番号を付し、詳細な説明は省略する。
【0103】
図15は、本実施の形態のプレーヤ端末1のブロック図である。第1及び第2の実施の形態の相違としては、ゲーム演算部61が演出部75を更に有する。また、記憶部56には、演出画像が記憶されている。
【0104】
対戦モード選択情報をサーバ2に送信後、演出部75は、デフォルトの第1演出画像を記憶部56から読み出し、画像表示部53に表示する。演出部75は、通信部55を介して、サーバ2からリアルプレーヤを対戦相手として検索できたか否かを示すリアルプレーヤ検索結果を受信すると、第2演出画像を記憶部56から読み出し、画像表示部53に表示する。
【0105】
マッチング処理部102は、リアルプレーヤを対戦相手として検索できたか否かのリアルプレーヤ検索結果を通信部92を介してプレーヤ端末1に送信する。
【0106】
[変形例]
第3の実施の形態では、演出画像を表示させる演出を実行していたが、演出方法は他の方法であっても良い。例えば、演出画像の代わりに演出音声を予め用意し、演出音声を音声出力部52から出力させても良い。他にも、演出画像の代わりに、演出振動(バイブレーション)によって演出しても良い。また、本発明においては、演出画像、演出音声、及び演出振動を組み合わせても良い。
【0107】
〈第4の実施の形態〉
本実施の形態では、リアルプレーヤを対戦相手として検索された場合に、そのマッチングをプレーヤがキャンセルできない形態について説明する。
【0108】
マッチング処理部102は、リアルプレーヤを対戦相手として検索できたことを示すリアルプレーヤ検索結果を含んだマッチング結果を、通信部92を介してプレーヤ端末1に送信する。
【0109】
ゲーム管理部103は、リアルプレーヤ検索結果を含んだマッチング結果を送信した後、ユーザ端末1からの検索キャンセル要求を受け付けない。
【0110】
プレーヤ端末1の対戦実行部73は、対戦要求を送信後、画像表示部53に検索キャンセルのアイコンを表示させる。対戦実行部73は、マッチング処理部102が送信したマッチング結果にリアルプレーヤ検索結果が含まれているかを確認する。リアルプレーヤ検索結果が含まれている場合、画像表示部53に表示されていた検索キャンセルのアイコンを削除する。
【0111】
動作について説明する。
図16は本実施の形態のシーケンス図である。Step106までは、上記実施の形態と同じである。
【0112】
ゲーム管理部103は、リアルプレーヤ検索結果を含んだマッチング結果を送信した後、ユーザ端末1からの検索キャンセル要求をキャンセルし、プレーヤ端末1の対戦実行部73は、リアルプレーヤ検索結果が含まれている場合、画像表示部53に表示されていた検索キャンセルのアイコンを削除する(Step108)。
【0113】
尚、上記した実施の形態では、仮想的なゲームカードを用いたカードゲームを例示したが、適用可能なゲームのジャンルは限定されない。例えば、第1ゲーム要素に関連付けたキャラクタを選手とするスポーツの対戦ゲームとしてもよい。
【0114】
以上、好ましい実施の形態及び実施例が説明された。しかしながら、本発明は、必ずしも上記実施の形態及び実施例に限定されるものではなく、その技術的思想の範囲内において様々に変形され実施できる。
【0115】
上記実施の形態の一部又は全部は、以下の付記のようにも記載されるが、以下には限られない。
【0116】
(付記1)
第1ゲーム要素を使用したゲームを実行する情報処理装置であって、
実行命令が格納されたメモリと、プロセッサとを備え、
前記プロセッサは、前記実行命令により、
第1のゲーム要素を使用したゲームの対戦要求を受信する受信処理と、
受信した対戦要求のプレーヤのうち、所定の条件を満たすプレーヤ同士をマッチングするマッチング処理と、
前記所定の条件を満たすプレーヤ同士のマッチングができない場合に、仮想的な対戦相手との対戦を実行する仮想対戦実行処理と
を実行する情報処理装置。
【0117】
(付記2)
第1ゲーム要素を使用したゲームを実行するゲーム管理サーバであって、
実行命令が格納されたメモリと、プロセッサとを備え、
前記プロセッサは、前記実行命令により、
第1のゲーム要素を使用したゲームの対戦要求を受信する受信処理と、
受信した対戦要求のプレーヤのうち、所定の条件を満たすプレーヤ同士をマッチングするマッチング処理と、
前記所定の条件を満たすプレーヤ同士のマッチングができない場合に、仮想的な対戦相手との対戦を実行する仮想対戦実行処理と
を実行するゲーム管理サーバ。