<実施形態>
以下、本発明の一実施形態に係るゲームシステムおよびゲームプログラムについて、図面を参照しつつ説明する。
[ハードウェア構成]
まず本発明の一実施形態に係るゲームシステム1の構成について説明する。図1は、ゲームシステム1を構成するゲーム装置2のハードウェア構成を示すブロック図である。図1に示すように、ゲームシステム1は、ゲーム装置2とサーバ装置4とを備え、ゲーム装置2は、一以上のコントローラ(操作部)31、モニタ(表示部)32、スピーカ33を備えている。
ゲーム装置2は、その動作を制御するコンピュータである制御部21を備える。制御部21は、例えばCPUを含む。制御部21には、メディアI/F部22、記憶部23、ネットワークI/F部24、無線通信制御部25、グラフィック処理部26およびオーディオ処理部27が、それぞれバス21aを介して接続されている。
メディアI/F部22は、ゲームを実行するためのゲームメディア34を装填可能なインターフェースである。ゲームメディア34は、例えばDVD−ROM等のディスク型記録媒体であり、その中にゲームの実行に必要なゲームプログラム34aおよびゲームデータ34bが記録されている。このゲームデータ34bには、ゲームを実行するために必要な各種データが含まれる。
記憶部23は、例えば、大容量記録媒体であるHDD、マスクROMまたはPROMなどの半導体メモリであるROM、および、DRAMまたはSRAMなどから成るRAMで構成される。記憶部23には、ゲームメディア34から読み込んだゲームプログラム34aおよびゲームデータ34b、並びにセーブデータ等が記録される。なお、本実施形態では、ゲーム起動時にゲームメディア34内の全てのゲームデータ34bを読み込まず、ゲームの進行状況(例えばゲームシーンの変わり目など)に応じて適宜必要となるゲームデータを読み込む。
ネットワークI/F部24は、インターネットまたはLANなどの通信ネットワークNWに接続するためのインターフェースである。ゲーム装置2は、他のゲーム装置2およびサーバ装置4との間で通信ネットワークNWを介して互いに通信可能である。例えば、ゲーム装置2は、外部と通信しながらゲームを進行させる場合に、通信ネットワークNWを介して、他のゲーム装置2との間および/またはサーバ装置4との間でデータの送受信を行う。
無線通信制御部25は、ゲーム装置2に付属するコントローラ31との間で無線により接続され、そのコントローラ31との間でデータの送受信が可能となっている。コントローラ31は、ユーザによる操作を受け付ける操作部であり、例えば複数のキー(ボタン等)を備えている。コントローラ31がユーザにより操作されることにより、その操作に対応した操作情報が、無線通信制御部25を介してコントローラ31からゲーム装置2の制御部21に送られる。制御部21は、コントローラ31からの操作情報に基づきゲームを進行させる。
グラフィック処理部26は、制御部21の指示に従ってゲーム画像を動画形式で描画する。グラフィック処理部26によって描画されたゲーム画像は、ゲーム画面としてモニタ32に表示される。モニタ32は、ゲーム画像を表示する表示装置(表示部)である。モニタ32は、例えば液晶ディスプレイである。
オーディオ処理部27は、制御部21の指示に従ってデジタルのゲーム音声を再生および合成する。また、オーディオ処理部27には、外部のスピーカ33が接続される。オーディオ処理部27により再生および合成されたゲーム音声は、音響出力装置としてのスピーカ33から外部へ出力される。なお、オーディオ処理部27には、スピーカ33に加えてまたは代わりに、外部のヘッドフォンなどが接続され得る。
サーバ装置4は、その動作を制御するコンピュータであるサーバ制御部41を備える。サーバ制御部41は、例えばCPUを含む。サーバ制御部41には、記憶部42およびネットワークI/F部43が、それぞれバス41aを介して接続されている。なお、サーバ装置4は、必要に応じてキーボード等の入力装置、および液晶ディスプレイ等の出力装置を備えていてもよい。
記憶部42は、例えば、大容量記録媒体であるHDD、マスクROMまたはPROMなどの半導体メモリであるROM、および、DRAMまたはSRAMなどから成るRAMで構成される。ネットワークI/F部43は、インターネットまたはLANなどの通信ネットワークNWに対してサーバ装置4を接続するインターフェースである。サーバ装置4は、複数のゲーム装置2との間で通信ネットワークNWを介して互いに通信可能である。
[ゲームの概要]
本実施の形態におけるゲームの概要について説明する。本実施の形態に係るゲームは、コントローラ31に対するユーザの操作により、村、森、平原などを表す三次元の仮想空間内でプレイヤキャラクタを行動させてゲームを進行させるアクションゲームである。また、このゲームは、複数のユーザが参加可能なゲーム、いわゆるオンラインマルチプレイ対応ゲームであり、複数のユーザにそれぞれ対応する複数のプレイヤキャラクタが、同じ仮想空間内で行動可能となっている。このゲームには、様々なミッションが用意されている。
図2は、ゲーム内のミッションの一例を説明するための図である。以下で説明されるミッションは、複数のキャラクタP1により編成されたパーティTで敵キャラクタP2を討伐することを目標としたものとなっている。パーティTは、基本的には複数のユーザがそれぞれ操作する複数のプレイヤキャラクタにより構成される。パーティTを構成するキャラクタP1の数には上限が設けられている。本例では最大4つのキャラクタP1でパーティTを構成する。言い換えれば、1のミッションに対して最大4人のユーザが参加可能となっている。
パーティTに含まれるキャラクタP1には、ユーザ自身が操作する1つのプレイヤキャラクタ以外に、他のユーザが操作するプレイヤキャラクタが含まれる。なお、パーティTに、制御部21のCPUにより所定のルールに従って動作が制御されるノンプレイヤキャラクタが含まれてもよい。以下、パーティTに含まれるキャラクタP1を、ユーザ自身が操作するプレイヤキャラクタと、他ユーザにより操作されるプレイヤキャラクタと、CPUにより制御されるノンプレイヤキャラクタとを区別せずに、いずれも「第1キャラクタP1」と称することとする。一方、ミッションの討伐ターゲットである敵キャラクタP2を、「第2キャラクタP2」と称することとする。
このゲームでは、第1キャラクタP1が装備可能な武器アイテム(以下、単に「武器」という)が複数種類登場する。武器は、例えば仮想空間Sにおける所定の箇所で生産したり購入したりすることで入手可能である。また、武器は、ゲーム内の所定のイベントの報酬として入手することも可能である。
武器の種類は、大きく分けて近接武器と遠距離武器とに分かれる。近接武器は、第2キャラクタP2に対して所定の距離以下まで近づくことで第2キャラクタP2を攻撃可能な武器である。例えば近接武器は、大剣、ハンマーなどである。遠距離武器は、第2キャラクタP2から所定の距離よりも離れたところからでも第2キャラクタP2を攻撃可能な武器である。例えば遠距離武器は、ボウガンや弓などである。
第2キャラクタP2は、制御部21のCPUにより所定のルールに従って動作が制御されるノンプレイヤキャラクタである。第2キャラクタP2は、大型モンスターであり、第1キャラクタP1に比べて数倍〜数十倍の大きさである。
第2キャラクタP2は、複数の部位を有する。具体的には、頭Q1、首、胴体、四肢(右前脚Q2、左前脚Q3、右後脚Q4、左後脚Q5)、尻尾Q6を有する。第2キャラクタP2は、基本的には四つん這いで頭を低くした姿勢をとっている。
第2キャラクタP2が第1キャラクタP1に比べて大型であるため、第2キャラクタP2の部位のうち、近接武器で攻撃可能な部位は限られる。具体的には、近接武器を装備した第1キャラクタP1は、第2キャラクタP2の部位のうち、地面についている四肢Q2〜Q5と、低い位置にあるときの頭Q1および尻尾Q6に対して攻撃を当てることが可能である。以下、近接武器で攻撃できる部位である頭Q1、右前脚Q2、左前脚Q3、右後脚Q4、左後脚Q5、尻尾Q6を総称して、「近接攻撃可能部位Q1〜Q6」または「攻撃可能部位Q1〜Q6」と称する。なお、遠距離武器を装備した第1キャラクタP1は、第2キャラクタP2の部位のいずれに対しても攻撃を当てることが可能である。
このゲームでは、第2キャラクタP2の近接攻撃可能部位Q1〜Q6に、それぞれ、第1キャラクタP1を検知するための領域(以下、「検知領域」ともいう)R1〜R6が設定されている(図4参照)。そして、後述するように、各検知領域R1〜R6に位置する第1キャラクタP1の数に応じて、第2キャラクタP2の攻撃行動が決定される。
[機能的構成]
図3は、ゲーム装置2の制御部21の機能的な構成を示すブロック図である。ゲーム装置2の制御部21は、ゲームプログラム34aを実行することにより、仮想空間生成手段51、パーティ生成手段52、第1キャラクタ制御手段53、第2キャラクタ制御手段54、領域設定手段55、判定手段56、および行動決定手段57として機能する。
仮想空間生成手段51は、プレイヤキャラクタが行動する仮想空間Sを生成する。本例では、仮想空間Sは、三次元の仮想空間であるが、二次元の仮想空間であってもよい。
パーティ生成手段52は、複数の第1キャラクタP1により構成されたパーティTを生成する。
パーティTの生成方法の一例として、4人のユーザがそれぞれ操作する4つのプレイヤキャラクタにより構成されたパーティTの生成について説明する。まず、あるゲーム装置(以下、ホストゲーム装置)2において、ユーザ(以下、ホストユーザ)によるコントローラ31に対する操作入力により、第2キャラクタP2を討伐することを目標とするミッションが選択されると、パーティ生成要求がホストゲーム装置2からサーバ装置4へ送られる。
パーティ生成要求には、ミッションの種類、ホストユーザの操作するプレイヤキャラクタのレベルやステータスなどを示す情報、他ユーザに課すパーティTへの参加条件を示す情報などが含まれ得る。また、サーバ装置4に接続されているゲーム装置2のユーザはいずれも、ホストユーザになり得る。このため、サーバ装置4には、複数のホストユーザのホストゲーム装置2からパーティ生成要求が並列的に送信され得る。サーバ装置4は、受信するパーティ生成要求を記憶部42に記憶する。
別のゲーム装置(以下、ゲストゲーム装置)2において、そのユーザ(以下、ゲストユーザ)によるコントローラ31に対する操作入力により、パーティTへの参加を募集しているミッションの一覧を要求するためのミッション一覧要求が、ゲストゲーム装置2からサーバ装置4へ送られる。これにより、ゲストゲーム装置2のモニタ32には、サーバ装置4の記憶部42に記憶されたパーティ生成要求が、パーティTへ参加可能なミッションの一覧として表示される。
ゲストゲーム装置2において、ゲストユーザによるコントローラ31に対する操作入力により、ミッションの一覧の中から1のミッションが選択されると、参加申請情報がゲストゲーム装置2からサーバ装置4へ送られる。これにより、ゲストユーザの情報が、選択されたミッションに対応するパーティ生成要求に関連付けられて記憶部42に記憶される。つまり、そのミッションのためのパーティTにゲストユーザの操作するプレイヤキャラクタが加わる。
こうして、1つのミッションに対して3人のゲストユーザから参加申請を受け付けると、ホストユーザおよび3人のゲストユーザに対応した4つのプレイヤキャラクタを含むパーティTが生成される。パーティTが生成されると、ホストゲーム装置2と3つのゲストゲーム装置2との間で互いに通信し、ミッションが開始される。
第1キャラクタ制御手段53は、パーティTに含まれる複数の第1キャラクタP1の仮想空間S内での行動を制御する。
具体的には、第1キャラクタ制御手段53は、パーティTに含まれる複数の第1キャラクタP1のうち、ユーザ自身に対応するプレイヤキャラクタの行動を、コントローラ31に対するユーザの操作に応じて制御する。例えば、第1キャラクタ制御手段53は、ユーザがコントローラ31を操作することにより、プレイヤキャラクタP1を仮想空間S内で移動させたり、プレイヤキャラクタP1に第2キャラクタP2を攻撃させたり、所有するアイテムを使用させたりする。
また、第1キャラクタ制御手段53は、パーティTに含まれる複数の第1キャラクタP1のうち、他のユーザに対応するプレイヤキャラクタの行動を、他のユーザのゲーム装置2から受信する操作情報に基づき制御する。
なお、パーティT内の複数の第1キャラクタP1にノンプレイヤキャラクタが含まれる場合、第1キャラクタ制御手段53は、例えばゲーム状況に応じて、そのノンプレイヤキャラクタの行動を制御する。
第2キャラクタ制御手段54は、仮想空間S内で複数の第1キャラクタP1と戦闘を行う第2キャラクタP2の行動を制御する。第2キャラクタP2の行動には、第1キャラクタP1に対する攻撃に関する攻撃行動や、フィールド内における移動や姿勢変更などがある。攻撃行動は、後述の行動決定手段57により決定される。
領域設定手段55は、第2キャラクタP2の各攻撃可能部位Q1〜Q6に対して、第1キャラクタP1を検知するための検知領域R1〜R6を設定する。図4に、領域設定手段55により第2キャラクタP2に設定される検知領域R1〜R6を破線で示す。以下、近接攻撃可能部位である頭Q1、右前脚Q2、左前脚Q3、右後脚Q4、左後脚Q5、尻尾Q6に対して設定される検知領域R1〜R6を、それぞれ、頭領域R1、右前脚領域R2、左前脚領域R3、右後脚領域R4、左後脚領域R5、尻尾領域R6と称することとする。
本実施形態では、各検知領域R1〜R6は、対応する部位に位置する1以上の点を中心とした1以上の球体により構成される。本例では、頭Q1、右前脚Q2、左前脚Q3、右後脚Q4、左後脚Q5の各部位には、1つの球体からなる検知領域R1〜R5が配置され、尻尾Q6には、3つの球体からなる検知領域R6が配置される。各検知領域R1〜R6(球体)の大きさは、各攻撃可能部位Q1〜Q6を近接武器で攻撃している第1キャラクタP1の一部または全部と重なるように適切に設定されている。球体の大きさは、全て同じであってもよいし、互いに異なってもよい。
判定手段56は、検知領域R1〜R6ごとに、各検知領域R1〜R6に位置する第1キャラクタP1の数を判定する。判定される第1キャラクタP1の存在状態(つまり、検知領域R1〜R6と第1キャラクタP1の数の各組合せ)は大きく分けて、無人状態、単一状態、均等状態、不均等状態の4つに分けられる。
無人状態は、検知領域R1〜R6のうちのいずれにも第1キャラクタP1が存在しない状態である。
単一状態は、検知領域R1〜R6のうちの1つの検知領域にのみ第1キャラクタP1が存在する状態である。例えば、頭領域R1に4つの第1キャラクタP1が集中して存在する状態や、頭領域R1に1〜3の第1キャラクタP1が位置し、かつ、それ以外の第1キャラクタP1が検知領域R1〜R6のいずれにも位置していない状態は、単一状態に含まれる。
均等状態は、検知領域R1〜R6のうちの複数の検知領域に第1キャラクタP1が存在し、かつ、それら複数の検知領域に存在する第1キャラクタP1の数がいずれも等しい状態である。例えば、頭領域R1および右前脚領域R2にそれぞれ2つの第1キャラクタP1が存在する状態は、均等状態に含まれる。また、例えば、頭領域R1および右前脚領域R2にそれぞれ1つの第1キャラクタP1が存在し、かつ、それ以外の領域R3〜R6には第1キャラクタP1が存在しない状態は、均等状態に含まれる。
不均等状態は、検知領域R1〜R6に、第1キャラクタP1が存在し、かつ第1キャラクタP1の数が互いに異なる複数の検知領域が含まれる状態である。例えば、頭領域R1に3つの第1キャラクタP1が存在し、かつ、右前脚領域R2に1つの第1キャラクタP1が存在する状態は、不均等状態に含まれる。例えば、頭領域R1に2つの第1キャラクタP1が存在し、かつ、右前脚領域R2および左前脚領域R3にそれぞれ1つの第1キャラクタP1が存在する状態は、不均等状態に含まれる。
以下の説明において、第1キャラクタP1の存在状態が不均等状態である場合における第1キャラクタP1の数が異なる複数の領域について、第1キャラクタP1の数が2以上の領域を「第1領域」と称し、第1キャラクタP1の数が2より少ない領域を「第2領域」と称することとする。
なお、本実施形態において、判定手段56は、第1キャラクタP1の存在状態が無人状態、単一状態、均等状態、不均等状態のいずれに分類されるかを単に判定するのではなく、あくまでも各検知領域R1〜R6に位置する第1キャラクタP1の数(検知領域R1〜R6と第1キャラクタP1の数の組合せ)を細かく判定していることに留意されたい。
行動決定手段57は、判定手段56による判定結果に基づき、第2キャラクタP2の攻撃行動を決定する。
具体的には、第1キャラクタP1の存在状態が無人状態である場合、行動決定手段57は、第2キャラクタP2に最も近い第1キャラクタP1を攻撃対象に設定する。そして、行動決定手段57は、第2キャラクタP2に対する攻撃対象の位置に応じて、予め定めた攻撃動作の中から1以上の攻撃動作を選択する。
例えば、第1キャラクタP1の存在状態が無人状態である場合、行動決定手段57は、第2キャラクタP2と攻撃対象との距離が所定の距離以下か否かを判定する。そして、所定の距離以下であると判定した場合には、行動決定手段57は、攻撃対象が第2キャラクタP2の胴体の真下にいると判断して、第2キャラクタP2の胴体を地面に押し付ける攻撃動作を選択する。また、例えば、第2キャラクタP2と攻撃対象との距離が所定の距離を上回っている場合には、行動決定手段57は、例えばビームを放つなど、第2キャラクタP2が移動せずにその場で攻撃対象を攻撃できる攻撃動作を選択したり、例えば体当たりなど、第2キャラクタP2が攻撃対象に向かって移動してから攻撃する攻撃動作を選択したりする。
また、第1キャラクタP1の存在状態が単一状態、均等状態または不均等状態である場合、行動決定手段57は、各検知領域R1〜R6に位置する第1キャラクタP1の数に基づき、複数の検知領域R1〜R6への第2キャラクタP2の攻撃行動を決定する。つまり、行動決定手段57は、複数の検知領域R1〜R6のいずれを攻撃対象とするか、および、攻撃対象としての1以上の検知領域にどのような攻撃を行うかを決定する。
例えば、第1キャラクタP1の存在状態が単一状態である場合、行動決定手段57は、第1キャラクタP1が存在する1つの検知領域を攻撃対象に設定する。そして、行動決定手段57は、予め定めた複数種類の攻撃動作の中から、攻撃対象に対する1以上の攻撃動作をランダムで決定する。予め定めた複数種類の攻撃動作は、攻撃対象として設定された検知領域に応じて異なる。
また、例えば、第1キャラクタP1の存在状態が均等状態である場合、行動決定手段57は、第1キャラクタP1が存在する複数の検知領域の一部または全部を攻撃対象に設定する。攻撃対象として設定される確率は、第1キャラクタP1が存在する複数の検知領域の中で互いに同じである。行動決定手段57は、予め定めた複数種類の攻撃動作の中から、攻撃対象に対する1以上の攻撃動作をランダムで決定する。予め定めた複数種類の攻撃動作は、攻撃対象として設定された検知領域に応じて異なる。
また、例えば、第1キャラクタP1の存在状態が不均等状態である場合、行動決定手段57は、第1キャラクタP1の数が2以上である第1領域に対する攻撃の強度の合計値が、第1キャラクタP1の数が2より少ない第2領域に対する攻撃の強度の合計値と比べて大きくなる確率が高くなるように、第2キャラクタP2の攻撃行動を決定する。
本実施形態における第1キャラクタP1の存在状態が不均等状態である場合の行動決定手段57による攻撃行動の決定方法について、図5および6を参照して説明する。行動決定手段57により決定される第2キャラクタP2の攻撃行動には、1以上の攻撃動作が含まれる。図5には、検知領域R1〜R6に対する攻撃動作の種類と攻撃の強度との関係が一例として示されている。なお、図5では、図面を簡単にするために、検知領域R1〜R6のうち、頭領域R1および右前脚領域R2に対する攻撃動作のみ示している。
検知領域R1〜R6のそれぞれに対して、対応する検知領域R1〜R6への攻撃動作として、弱攻撃動作、中攻撃動作、強攻撃動作の3種類の攻撃動作が対応付けられている。以下、弱攻撃動作、中攻撃動作、強攻撃動作を、それぞれ単に弱攻撃、中攻撃、強攻撃とも称する。
また、各検知領域R1〜R6に対応付けられた複数の攻撃動作には、それぞれ、互いに異なる攻撃強度が対応付けられている。弱攻撃、中攻撃、強攻撃は、この順に攻撃強度が大きくなる。第2キャラクタの攻撃動作により第1キャラクタP1がダメージを受けた場合、その攻撃動作に対応する攻撃強度が高いほど、その攻撃を受けた第1キャラクタP1のダメージ量が大きくなる。本例では、ある検知領域への弱攻撃、中攻撃、強攻撃は、別の検知領域への弱攻撃、中攻撃、強攻撃とそれぞれ攻撃強度が同じである。
基本的には、各検知領域R1〜R6への攻撃動作は、各検知領域R1〜R6に対応する近接攻撃可能部位Q1〜Q6による攻撃動作である。例えば図5に示した例では、頭領域R1に対する弱攻撃、中攻撃、強攻撃は、いずれも頭Q1による攻撃動作であり、それぞれ第2キャラクタP2による頭突き動作、噛みつき動作、口からブレスを放つ動作である。また、右前脚領域R2に対する弱攻撃、中攻撃、強攻撃は、それぞれ第2キャラクタP2による右前脚Q2を前後に振る動作、右前脚Q2でひっかく動作、右前脚Q2を地面に叩きつける動作である。
なお、各検知領域R1〜R6への攻撃動作は、各検知領域R1〜R6に対応する近接攻撃可能部位Q1〜Q6による攻撃動作に限られない。例えば、右前脚領域R2に対する強攻撃を、右前脚領域R2を用いない攻撃動作、例えば右前脚領域R2に対して口からブレスを放つ動作としてもよい。また、攻撃動作の数や攻撃動作に対応する攻撃強度は、検知領域R1〜R6ごとに異なってもよい。
本実施形態では、第2キャラクタP2の攻撃行動には、最大で3つの攻撃動作が含まれる。行動決定手段57は、判定手段56による判定結果に基づき、攻撃行動に含まれる攻撃動作を決定する。具体的には、行動決定手段57は、予め定めた行動テーブルを参照して、判定手段56による判定結果に対応した攻撃行動を決定する。
図6は、行動テーブルの一例である。行動テーブルは、判定手段56による判定結果と攻撃行動とを対応付けるものである。行動テーブルは、ゲーム装置2の記憶部23に記憶されている。行動テーブルにおいて、判定手段56による判定結果ごとに、1以上の種類の攻撃行動が対応付けられている。なお、図6では、説明の便宜上、判定結果として、検知領域R1〜R6のうち、第1領域に3つのキャラクタが存在し、第2領域に1つのキャラクタが存在するという1つの判定結果に対する攻撃行動のみ示し、第1領域および第2領域がそれぞれ検知領域R1〜R6のいずれに相当するかは省略している。
図例では、行動決定手段57が判定結果に対して選択できる攻撃行動の種類として、下記の(i)〜(iv)の攻撃行動が示されている。
(i)まず第2領域へ弱攻撃し、次に第1領域へ強攻撃
(ii)まず第1領域へ弱攻撃し、次に第2領域へ中攻撃、次に第1領域へ強攻撃
(iii)第1領域へ中攻撃
(iv)第2領域へ弱攻撃
攻撃行動(i)〜(iv)には、それぞれ、行動決定手段57により第2キャラクタP2の攻撃行動として選択される確率である当選確率が設定されている。行動決定手段57は、当選確率に基づいて、判定手段56による判定結果に対応する1以上の種類の攻撃行動の中から、第2キャラクタP2の攻撃行動を決定する。
上記の攻撃行動(i)〜(iv)のうち、攻撃行動(i)〜(iii)はいずれも、第1領域に対する攻撃の強度の合計値が第2領域に対する攻撃の強度の合計値と比べて大きい。一方、上記の攻撃行動(iv)は、第1領域に対する攻撃の強度の合計値が第2領域に対する攻撃の強度の合計値と比べて小さい。以下、第1領域に対する攻撃の強度の合計値が第2領域に対する攻撃の強度の合計値と比べて大きい攻撃行動を、「第1攻撃行動」と称し、第1領域に対する攻撃の強度の合計値が第2領域に対する攻撃の強度の合計値と比べて小さい攻撃行動を、「第2攻撃行動」と称する。
第1攻撃行動(i)〜(iii)の当選確率の合計は90%であり、第2攻撃行動(iv)の当選確率は10%である。すなわち、行動決定手段57は、第1攻撃行動を第2攻撃行動よりも高い確率で第2キャラクタP2の攻撃行動に決定する。
このように、第1領域および第2領域に存在する第1キャラクタP1の数がそれぞれ3つおよび1つである場合には、行動決定手段57は、図6に示す行動テーブルを参照することで、第1キャラクタP1の数が2以上の第1領域に対する攻撃の強度の合計値が、第1キャラクタP1の数が2より少ない第2領域に対する攻撃の強度の合計値と比べて大きくなる確率が高くなるように、第2キャラクタP2の攻撃行動を決定する。このため、第1キャラクタP1が多く集まった検知領域を第2キャラクタP2に重点的に攻撃させることができる。
なお、図6では、第1領域および第2領域がそれぞれ検知領域R1〜R6のいずれに相当するかを示していないが、記憶部23には、第1キャラクタP1の存在状態が不均等状態である場合の検知領域と第1キャラクタの数の各組合せに対応した行動テーブルが記憶されている。また、行動テーブルごとに、つまり検知領域と第1キャラクタの数の組合せごとに、選択可能な攻撃行動の種類や数や当選確率は異なる。ただし、いずれの行動テーブルにおいても、第1攻撃行動の当選確率の合計値が第2攻撃行動の当選確率の合計値より大きくなるよう設定されている。
[攻撃処理]
次に、第2キャラクタP2に攻撃行動を行わせる攻撃処理について、図7を参照して説明する。この攻撃処理は、第2キャラクタ制御手段54、領域設定手段55、判定手段56、および行動決定手段57により実行される。より詳しくは、複数の第1キャラクタP1により構成されるパーティTが、仮想空間Sにおける第2キャラクタP2が存在する所定のフィールドに入ると、パーティTと第2キャラクタP2との戦闘が開始される。攻撃処理は、パーティTと第2キャラクタP2との戦闘中に、所定のタイミングで(例えば所定の時間間隔で、またはゲーム状況に応じて)実行される。1回の攻撃処理で、1つの攻撃行動が決定される。
攻撃処理では、まず判定手段56が、検知領域R1〜R6ごとに、各検知領域R1〜R6に位置する第1キャラクタP1の数を判定する(ステップS1)。
どの検知領域R1〜R6でも第1キャラクタP1の数がゼロであった場合(ステップS2:Yes)、すなわち、第1キャラクタP1の存在状態が無人状態である場合、行動決定手段57は、複数の第1キャラクタP1の位置に応じて攻撃行動を決定する(ステップS3)。具体的には、上述のとおり、行動決定手段57は、第2キャラクタP2に最も近い第1キャラクタP1を攻撃対象に設定する。そして、行動決定手段57は、第2キャラクタP2に対する攻撃対象の位置に応じて、予め定めた攻撃動作の中から1以上の攻撃動作を選択する。
なお、ステップS3での攻撃行動の決定は、これに限られず、他の周知の方法により行われてもよい。例えば、行動決定手段57は、第2キャラクタP2に最も近い第1キャラクタP1を攻撃対象に設定する代わりに、第2キャラクタP2に目視された(例えば第2キャラクタP2に設定された視界範囲に入った)第1キャラクタP1を攻撃対象としてもよい。
どの検知領域R1〜R6でも第1キャラクタP1の数がゼロでなかった場合(ステップS2:No)、行動決定手段57は、各検知領域R1〜R6に位置する第1キャラクタP1の数に応じて攻撃行動を決定する(ステップS4)。
特にステップS2で、検知領域R1〜R6に第1領域および第2領域が含まれる(言い換えれば第1キャラクタP1の存在状態が不均等状態である)と判定された場合には、ステップS4において、行動決定手段57は、記憶部23に記憶された行動テーブルを参照して、判定手段56による判定結果に対応する攻撃行動を決定する。行動テーブルが、第1攻撃行動の当選確率の合計値が第2攻撃行動の当選確率の合計値より大きくなるよう設定されているため、行動決定手段57は、第1キャラクタP1の数が2以上の第1領域に対する攻撃の強度の合計値が、第1キャラクタP1の数が2より少ない第2領域に対する攻撃の強度の合計値と比べて大きくなる確率が高くなるように、第2キャラクタP2の攻撃行動を決定する。
ステップS3およびS4にて攻撃行動が決定されると、第2キャラクタ制御手段54は、決定された攻撃行動をとるよう第2キャラクタP2を制御する(ステップS5)。
以上をまとめると、本実施形態に係るゲームプログラム34aは、ユーザによる操作を受け付けるコントローラ31(操作部)と制御部21(コンピュータ)とを備えるゲームシステム1において前記コンピュータに実行させるゲームプログラム34aであって、前記制御部21を、仮想空間Sを生成する仮想空間生成手段51、前記コントローラ31に対する前記ユーザの操作に応じて前記仮想空間S内で行動するプレイヤキャラクタを含む複数の第1キャラクタP1の行動を制御する第1キャラクタ制御手段53、複数の部位を有し、前記仮想空間S内で前記複数の第1キャラクタP1と戦闘を行う第2キャラクタP2の行動を制御する第2キャラクタ制御手段54、各前記部位に対して、前記第1キャラクタP1を検知するための領域R1〜R6を設定する領域設定手段55、前記領域R1〜R6ごとに、各前記領域R1〜R6に位置する前記第1キャラクタP1の数を判定する判定手段56、および、前記判定手段56による判定結果に基づき、前記複数の領域R1〜R6への前記第2キャラクタP2の攻撃行動を決定する行動決定手段57、として機能させ、前記行動決定手段57は、前記第1キャラクタP1の数が所定数以上の第1領域に対する攻撃の強度の合計値が、第1キャラクタP1の数が前記所定数より少ない第2領域に対する攻撃の強度の合計値と比べて大きくなる確率が高くなるように、前記第2キャラクタP2の攻撃行動を決定する。
このゲームプログラム34aによれば、第1キャラクタP1が多く集まったところを第2キャラクタP2に重点的に攻撃させることができる。従って、その戦闘状況に適した攻撃行動を敵キャラクタである第2キャラクタP2にとらせることができる。
また、本実施形態では、行動決定手段57は、記憶部23に記憶された行動テーブルを参照して、判定手段56による判定結果に対応する攻撃行動を決定する。このため、敵キャラクタである第2キャラクタP2の攻撃行動を決定するための演算負荷を低減できる。
また、本実施形態では、行動テーブルにおいて、1以上の種類の攻撃行動にそれぞれ第2キャラクタP2の攻撃行動として選択される確率である当選確率が設定されており、行動決定手段57は、当選確率に基づいて第2キャラクタP2の攻撃行動を決定する。このため、敵キャラクタである第2キャラクタP2の攻撃のバリエーションを容易に増やすことができる。
また、本実施形態では、検知領域は、対応する攻撃可能部位に位置する1以上の点を中心とした1以上の球体により構成されるため、各部位への領域の設定を容易に実現できる。
<変形例>
上記実施形態では、行動決定手段57が、図6に例示されるような判定手段56による判定結果と予め定めた攻撃行動とを対応付ける行動テーブルを参照して攻撃行動を決定したが、本発明はこれに限定されない。以下、上記実施形態の変形例1および2について、それぞれ図8および9を参照して説明する。
[変形例1]
変形例1では、行動決定手段57は、第1領域に対する攻撃動作の数が、第2領域に対する攻撃動作の数よりも多くなる確率が高くなるように、第2キャラクタP2の攻撃行動を決定する。
例えば変形例1では、上記攻撃処理におけるステップS2で、第1キャラクタP1の存在状態が不均等状態であると判定された場合には、ステップS4において、行動決定手段57は、攻撃行動に含まれる攻撃動作の数をランダムでまたは所定のルールに従って決定する。そして、行動決定手段57は、決定した数の攻撃動作のそれぞれについて、図8に示すような所定の確率テーブルに基づき、第1領域および第2領域のいずれを攻撃対象とするかを決定する。この確率テーブルは、例えば記憶部23に記憶されている。
図8に示す確率テーブルでは、第1領域および第2領域のそれぞれに対して、各攻撃動作において攻撃対象として選択される確率が設定されている。この確率テーブルでは、第1領域が攻撃対象として選択される確率(図例では70%)が、第2領域が攻撃対象として選択される確率(図例では30%)よりも高くなるように設定されている。このため、行動決定手段57がこの確率テーブルに基づき各攻撃動作の攻撃対象を決定することにより、決定される攻撃行動に含まれる第1領域に対する攻撃動作の数は、第2領域に対する攻撃動作の数よりも多くなる確率が高くなる。
変形例1によれば、第1領域に対する攻撃動作の数が、第2領域に対する攻撃動作の数よりも多くなる確率が高いため、行動決定手段57は、第1領域に対する攻撃の強度の合計値が第2領域に対する攻撃の強度の合計値と比べて大きくなる確率が高くなるように、第2キャラクタP2の攻撃行動を決定できる。また、変形例1によれば、第1キャラクタが多く集まったところに対する敵キャラクタの攻撃の比重を容易に上げることができる。
[変形例2]
変形例2では、行動決定手段57は、第1領域に対する攻撃動作の強度が、第2領域に対する攻撃動作の強度よりも大きくなる確率が高くなるように、第2キャラクタP2の攻撃行動を決定する。
例えば変形例2では、上記攻撃処理におけるステップS2で、第1キャラクタP1の存在状態が不均等状態であると判定された場合には、ステップS4において、行動決定手段57は、攻撃行動に含まれる攻撃動作の数をランダムでまたは所定のルールに従って決定する。そして、行動決定手段57は、決定した数の攻撃動作のそれぞれについて、第1領域および第2領域のいずれを攻撃対象とするかをランダムで決定する。
さらに、行動決定手段57は、決定した攻撃対象に応じて、図9に示すような所定の確率テーブルに基づき、決定した攻撃対象への攻撃動作の種類を決定する。この確率テーブルは、例えば記憶部23に記憶されている。
図9に示す確率テーブルでは、第1領域および第2領域への攻撃動作として、それぞれ、攻撃強度の異なる複数の攻撃動作(弱攻撃、中攻撃、強攻撃)が対応付けられている。第1領域への弱攻撃、中攻撃、強攻撃は、第2領域への弱攻撃、中攻撃、強攻撃とそれぞれ攻撃強度が同じである。また、この確率テーブルでは、各攻撃動作(つまり各攻撃強度)に対して、行動決定手段57によって選択される確率が設定されている。
また、この確率テーブルでは、第1領域に対する攻撃動作の攻撃強度の期待値が、第2領域に対する攻撃動作の攻撃強度の期待値より高くなるように設定されている。例えば、図9に示す例では、攻撃強度が10、20、30である第1領域への各攻撃動作の確率は、それぞれ10%、30%、60%であるため、第1領域に対する攻撃動作の攻撃強度の期待値は25(=10×0.1+20×0.3+30×0.6)である。また、攻撃強度が10、20、30である第2領域への各攻撃動作の確率は、それぞれ60%、30%、10%であるため、第2領域に対する攻撃動作の攻撃強度の期待値は15(=10×0.6+20×0.3+30×0.1)である。
この結果、行動決定手段57がこの確率テーブルに基づき各攻撃動作を決定することにより、第1領域に対する攻撃動作の強度が、第2領域に対する攻撃動作の強度よりも大きくなる確率が高くなる。
このため、変形例2に示す方法でも、行動決定手段57は、第1領域に対する攻撃の強度の合計値が第2領域に対する攻撃の強度の合計値と比べて大きくなる確率が高くなるように、第2キャラクタP2の攻撃行動を決定できる。また、変形例2によれば、第1キャラクタが多く集まったところに対する敵キャラクタの攻撃の比重を容易に上げることができる。
<その他の実施形態>
本発明は上述した実施形態に限定されるものではなく、本発明の要旨を逸脱しない範囲で種々の変形が可能である。また、上記実施形態および変形例1,2は適宜組み合わせることが可能である。
例えばゲームプログラム34aは、ゲームメディア34に記録されていなくてもよく、例えば、外部から通信ネットワークNWを介してゲーム装置2にダウンロードされてもよい。例えば、本発明のゲームシステムが備えるゲーム装置2は、スマートフォンなどの携帯情報端末であってもよく、操作部および表示部はタッチスクリーンなどであってもよい。また、ゲーム画面を表示する表示装置は、ヘッドマウントディスプレイなどであってもよい。
また、上記実施形態では、ゲームシステム1は、ゲーム装置2およびサーバ装置4を備えていたが、本発明のゲームシステムは、サーバ装置4を備えない構成であってもよい。本発明は、オンラインゲームだけでなく、オフラインゲームにも適用可能である。
また、サーバ装置4のサーバ制御部41が、上記実施形態で説明された制御部21の機能の一部を担ってもよい。例えば、上記実施形態では、ゲーム装置2の制御部21は、ゲームプログラム34aを実行することにより、仮想空間生成手段51、パーティ生成手段52、第1キャラクタ制御手段53、第2キャラクタ制御手段54、領域設定手段55、判定手段56、および行動決定手段57として機能したが、サーバ装置4のサーバ制御部41が、記憶部42に記憶されたゲームプログラムを実行することにより、これら機能部51〜57の一部または全部を実行してもよい。この場合、本発明のゲームプログラムは、ゲーム装置2およびサーバ装置4に分散して記憶されており、このようなゲームプログラムを実行する制御部21およびサーバ制御部41が本発明のゲームプログラムを実行する「コンピュータ」に対応する。
また、パーティTを構成する複数の第1キャラクタP1の数も4つに限定されない。また、上記実施形態では、第1キャラクタP1の数が2以上の領域を第1領域とし、第1キャラクタP1の数が2より少ない領域を第2領域としたが、第1領域は、第1キャラクタの数が所定数以上の領域であればよく、第2領域は、第1キャラクタの数が所定数より少ない領域であればよい。
また、行動決定手段57による攻撃行動の決定方法は、上記実施形態で説明されたものに限定されない。
例えば、上記実施形態では、第1キャラクタP1の存在状態が均等状態である場合、行動決定手段57により攻撃対象として設定される確率は、第1キャラクタP1が存在する複数の検知領域の中で互いに同じであったが、本発明はこれに限定されない。第1キャラクタP1が存在する複数の検知領域のそれぞれに対して、攻撃対象として設定される確率が、その検知領域に存在する第1キャラクタP1が第2キャラクタP2に与えたダメージ量に応じて変化してもよい。すなわち、行動決定手段57は、第1キャラクタP1が第2キャラクタP2に与えたダメージの合計値に基づいて、攻撃対象を決定してもよい。
例えば、第1キャラクタP1の存在状態が均等状態である場合、行動決定手段57は、第1キャラクタP1が第2キャラクタP2に所定期間の間に与えたダメージの合計値を、第1キャラクタP1ごとに、且つ、所定期間ごとに算出してもよい。そして、行動決定手段57は、算出した合計値が最も大きい第1キャラクタP1を攻撃対象としてもよい。あるいは、行動決定手段57は、第1キャラクタP1が第2キャラクタP2に所定期間の間に与えたダメージの合計値を、第1キャラクタP1が存在する検知領域ごとに、且つ、所定期間ごとに算出してもよい。そして、行動決定手段57は、算出した合計値が最も大きい検知領域を攻撃対象としてもよい。
また、このように第2キャラクタP2に与えたダメージの合計値に基づいて攻撃対象が決定される場合、行動決定手段57は、攻撃対象に対する1以上の攻撃動作として、攻撃強度の大きいものを優先させてもよい。例えば、行動決定手段57は、予め定めた複数種類の攻撃動作の中で攻撃強度が最も大きいものが含まれるように、攻撃対象に対する1以上の攻撃動作を決定してもよい。
また、上記実施形態では、行動決定手段57は、第1領域に対する攻撃の強度の合計値が、第2領域に対する攻撃の強度の合計値と比べて大きくなる確率が高くなるように、第2キャラクタの攻撃行動を決定したが、行動決定手段57は、第1領域に対する攻撃の強度の合計値が、第2領域に対する攻撃の強度の合計値と比べて必ず大きくなるように、第2キャラクタの攻撃行動を決定してもよい。言い換えれば、第1領域に対する攻撃の強度の合計値が、第2領域に対する攻撃の強度の合計値と比べて大きくなる確率が、100%であってもよい。
また、判定手段56による判定結果と攻撃行動とを対応付ける行動テーブルは、ゲーム装置2の記憶部23に記憶されてなくてもよい。例えば、判定手段56による判定結果と攻撃行動とを対応付ける行動テーブルは、サーバ装置4の記憶部42に記憶されていてもよい。本発明における「記憶部」は、ゲーム装置2の記憶部23だけでなく、ゲームメディア34を含むものであってもよいし、サーバ装置4の記憶部42を含むものであってもよい。また、変形例1,2で用いられた確率テーブルも同様に、記憶部23に記憶されるものに限定されない。
また、行動テーブルにおいて、判定手段56による判定結果の種類に対して対応付けられた1以上の種類の攻撃行動に当選確率が設定されていなくてもよい。行動決定手段57は、行動テーブルにおいて、判定手段56による判定結果の種類に対して対応付けられた1以上の種類の攻撃行動の中から、第2キャラクタP2の攻撃行動をランダムで決定してもよい。この場合、行動テーブルにおいて、判定結果の種類に対して対応付けられた1以上の種類の攻撃行動に含まれる第1攻撃行動と第2攻撃行動とを比較して、第1攻撃行動の数が第2攻撃行動の数よりも多ければよい。
上記実施形態では、第2キャラクタP2の攻撃行動に最大で3つの攻撃動作が含まれていたが、攻撃行動に含まれる攻撃動作の最大数は、1、2または4以上でもよい。また、攻撃強度の異なる複数の攻撃動作として、弱攻撃、中攻撃、強攻撃が例示されたが、複数の攻撃動作の数や種類は、これに限定されない。
また、上記実施形態では、検知領域は、対応する攻撃可能部位に位置する1以上の点を中心とした1以上の球体により構成されていたが、検知領域は、直方体など別の形状であってもよい。また、上記実施形態では、検知領域は、ユーザからは視認不可能だが、検知領域は、ユーザが視認できるように表示部に表示されてもよいし、例えばアイテムの使用などによりユーザが一時的に視認できるように表示部に表示されてもよい。
上記実施形態では、第2キャラクタP2の攻撃可能部位は、頭Q1、右前脚Q2、左前脚Q3、右後脚Q4、左後脚Q5、尻尾Q6の6カ所であったが、攻撃可能部位はこれに限られない。例えば、第2キャラクタP2の胴体の上に第1キャラクタP1が乗ることができる場合、攻撃可能部位に第2キャラクタP2の胴体も含まれてもよい。近接攻撃可能部位の全てではなく一部に対して、検知領域が設定されてもよい。また、上記実施形態では、第2キャラクタP2は、大型モンスターでなくてもよく、大型のマシンやロボットなど、別の種類のキャラクタであってもよい。
また、上記実施形態では、検知領域が、第2キャラクタP2の6つの部位のそれぞれに対して常に固定で設定されている場合を例示したが、検知領域の位置や数は、時間に応じて変化してもよい。例えば、パーティTと第2キャラクタP2との戦闘における所定の前半戦では、第2キャラクタP2の頭と尻尾にのみ検知領域が設定され、残りの後半戦では、頭と尻尾に加えて四肢に対しても検知領域が設定されてもよい。また、第1キャラクタP1の攻撃により第2キャラクタP2の尻尾が切り落とされた場合は、尻尾に対しては検知領域が設定されなくなってもよい。また、検知領域は、攻撃処理のたびに位置や数が変わってもよい。
また、本発明は、近接武器や遠距離武器が登場しないゲームにも適用可能である。つまり、攻撃可能部位は、近接武器で攻撃可能な部位でなくてもよい。また、攻撃可能部位に対して検知領域が設けられたが、検知領域が設けられる位置は攻撃可能部位に限られない。
記憶部42に記憶される行動テーブルは、第1キャラクタP1の存在状態が不均等状態である場合の検知領域R1〜R6と第1キャラクタP1の数の組合せごとに、異なるものでなくてもよい。すなわち、行動テーブルは、第1キャラクタP1の存在状態が不均等状態である場合の検知領域R1〜R6と第1キャラクタP1の数のいずれの組合せに対しても共通に使用されるものであってもよい。
決定される攻撃行動に複数の攻撃動作が含まれる場合に、第1領域に対する攻撃動作の数が第2領域に対する攻撃動作の数より少なくてもよい。例えば、決定される攻撃行動に、第1領域に対する1つの強攻撃と第2領域に対する2つの弱攻撃とが含まれる場合に、第1領域に対する強攻撃1回分の攻撃強度が、第2領域に対する弱攻撃2回分の合計の攻撃強度より大きくなる確率が高くなるよう設定されていればよい。
上記の変形例1において、検知領域R1〜R6のそれぞれに、攻撃強度の異なる弱攻撃動作、中攻撃動作、強攻撃動作の攻撃動作が対応付けられていなくてもよい。また、上記の変形例1において、検知領域R1〜R6への攻撃動作の攻撃強度(あるいはその期待値)は、全て同じでもよい。また、変形例2において、第1領域への弱攻撃、中攻撃、強攻撃の攻撃強度が、それぞれ第2領域への弱攻撃、中攻撃、強攻撃の攻撃強度と同じであったが、異なってもよく、第1領域に対する攻撃動作の攻撃強度の期待値が、第2領域に対する攻撃動作の攻撃強度の期待値より高くなるように確率テーブルが設定されていればよい。
複数の第1キャラクタP1に、プレイヤキャラクタとノンプレイヤキャラクタとが含まれる場合、判定手段56は、そのうちプレイヤキャラクタの数のみを判定対象としてもよい。