JP6630522B2 - ゲーム装置及びプログラム - Google Patents

ゲーム装置及びプログラム Download PDF

Info

Publication number
JP6630522B2
JP6630522B2 JP2015183420A JP2015183420A JP6630522B2 JP 6630522 B2 JP6630522 B2 JP 6630522B2 JP 2015183420 A JP2015183420 A JP 2015183420A JP 2015183420 A JP2015183420 A JP 2015183420A JP 6630522 B2 JP6630522 B2 JP 6630522B2
Authority
JP
Japan
Prior art keywords
unit
player
movement
battle
game
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2015183420A
Other languages
English (en)
Other versions
JP2017056000A (ja
Inventor
聡吉 下岡
聡吉 下岡
恩田 明生
明生 恩田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Namco Ltd
Bandai Namco Entertainment Inc
Original Assignee
Namco Ltd
Bandai Namco Entertainment Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Namco Ltd, Bandai Namco Entertainment Inc filed Critical Namco Ltd
Priority to JP2015183420A priority Critical patent/JP6630522B2/ja
Publication of JP2017056000A publication Critical patent/JP2017056000A/ja
Application granted granted Critical
Publication of JP6630522B2 publication Critical patent/JP6630522B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、ゲーム装置及びプログラムなどに関する。
近年、タブレット型情報通信端末装置又はスマートフォンなどの情報通信端末装置(以下、「通信端末装置」という)の多機能化、機能向上及びその普及に伴い、これらの携帯端末装置においてもゲームを実行する機会が増えている。
一方、戦闘に参加する部隊、キャラクタ、戦艦などをユニットと呼ばれる駒に見立てて、マップを構成するマス単位で移動や攻撃などの行動を行わせる、戦争などの戦闘を再現したシミュレーションゲームが知られている(例えば、特許文献1又は2)。
特開2002−65937号公報 特開2009−247474号公報
しかしながら、シミュレーションゲームにおいては最適な移動や攻撃を行うための戦略性が重要になるが、上記特許文献1及び2に記載の装置にあっては、コンピュータと対戦するシングルプレーを行う場合に、プレーヤのレベルなどのゲーム状況に応じてコンピュータの演算処理を制御しないので、対戦相手としてのコンピュータが常に最適な演算を実行すると、一方的なゲーム展開になり、ゲームの興趣性を著しく低下させてしまう可能性が高い。
本発明は、上記課題を解決するためになされたものであり、その目的は、ゲーム状況に応じてコンピュータの最適な演算処理の実行を抑制し、ゲームに対する興趣性を維持させることが可能なゲーム装置及びプログラムを提供することにある。
(1)上記課題を解決するため、本発明のプログラムは、
複数のマスから構成されるフィールド上に複数のユニットを配置することによって対戦ゲームを進行させるプログラムであって、
プレーヤの操作に基づいて、プレーヤのユニットであるプレーヤユニットを、各プレーヤユニットの移動特性に応じて規定された前記フィールド上の移動可能範囲内で移動させて、所望のマスに配置する第1移動制御処理と、前記プレーヤと対戦する対戦側のユニットである対戦ユニットの移動特性に応じて規定された前記フィールド上の移動可能範囲で移動させて、所定のマスに配置する第2移動制御処理を実行する移動制御手段、及び、
前記第1移動制御処理又は前記第2移動制御処理を実行して前記対戦ユニットを所定のマスに配置する際に、当該所定のマスの位置を演算する配置演算処理を実行する演算手段、
としてコンピュータを機能させ、
前記演算手段が、
前記配置演算処理として、前記フィールド上の
(1)各プレーヤユニットの配置、
(2)各対戦ユニットの配置、及び、
(3)攻撃を実施するユニットのいずれか1つ又はそれらの組み合わせ、
の少なくともいずれか一方に基づいて、攻撃対象となるユニットに対して最適な攻撃効果を発揮するように、前記フィールド上の攻撃を実施するユニットにおける最適なマスの位置を演算する最適配置演算処理の実行の可否を、ゲーム状況に応じて制御する、構成を有している。
例えば、対戦ゲームにおいては、特に、パズル要素や戦略要素を含むような思考性の高い対戦ゲームにおいては、1以上の対戦ユニットなどの攻撃を実施するユニットにおけるマスの位置を演算する際に、例えば、相手側のプレーユニット群全体において対戦ユニット群における各対戦ユニットの攻撃によって消失するパラメータが最大となるマスの位置など、プレーヤと対戦する対戦ユニット群が常に最短の勝利を目指してミスなく各対戦ユニットを配置する演算が実行されると、当該プレーヤ側が敗戦する確率が高くなり、最悪、常に敗戦することになるので、当該対戦ゲームの興趣性を低下させてしまう。
そこで、本発明は、上述の構成により、適宜、最適配置演算処理の実行を中止することによって攻撃を実施する側の戦略に隙をつくることによって、攻撃を実施するユニットの配置が常にベストになること、及び、その結果、攻撃を受ける側が常に劣勢になることを防止することができるので、プレーヤと対戦側との実力の均衡を適度に保ちつつ、対戦ゲームを進行させることができる。
したがって、本発明は、ゲームの進行させる上でゲームの興趣性を維持させて魅力有る対戦ゲームを提供することができる。
なお、対戦ゲームには、戦闘ゲームやボードゲームなど敵とユニット(キャラクタ、カードやコマ)又はパラメータ(ゲーム内の仮想通貨若しくはコイン、経験値、ヒットポイント、ライフエネルギー、攻撃パラメータや恋愛ゲームなどの感情パラメータ)の争奪を行うゲームが含まれる。
特に、「対戦側」には、プログラム演算を実行して対戦相手となるコンピュータ(CPU)の他に、他のプレーヤも含むが、当該他のプレーヤの場合でも他のプレーヤの操作に基づかず、ゲーム演算によって最適配置演算処理が実行される場合を含む。
また、「最適配置演算処理」とは、対戦ゲームに勝利するための最大限の効果を発揮するためのユニットの配置を決定する処理をいう。
例えば、最適配置演算処理には、
(1)複数のユニット(例えば、対戦ユニット)によってフィールド上を移動しつつ相手側のユニット(例えば、プレーヤユニット)を囲んで、当該各ユニットへ攻撃を行う場合には、当該各ユニットを総合的に効率よく囲む配置であって、かつ、相手側の全てのユニットに対して総合的に最大限にダメージを与えることが可能な対戦ユニットの配置を決定する処理、及び、
(2)パズルなどの1又は複数のユニットを移動させることによって敵のユニットを消す場合には、プレーヤユニットを効率的に最大限の対戦ユニットを消すため配置を決定する処理、又は、将棋やオセロなどのターン毎に1のユニットの位置を決めて勝利を目指す対戦ゲームの場合には、最短の手数(ターン回数)や時間で勝利するためのいずれかのユニットの位置(すなわち、一手)を決定する処理、
を含む。
さらに、「ゲーム状況」には、
(1)プレーヤの対戦ゲームの進行に伴って増加するレベル(すなわち、プレーヤユニッ
トの個々のレベルではなく、プレーヤとしてのレベル(以下、「ゲームレベル」という。))や経験値
(2)所定のキャラクタレベルを有するプレーヤユニットがプレーヤユニット群に含まれる場合などのプレーヤユニットのパラメータ、
(3)当該プレーヤユニットの各種の能力が向上した進化(例えば、属性、能力や特性の変化及びそれに基づく各パラメータの変動範囲における上限値のアップ)、
(4)プレーヤが所有するアイテムやそのターンのために実行可能にセットしたアイテム、
(5)進行中のゲームステージの種類やレベル、
(6)プレーヤユニット群と対戦ユニット群との総合的なキャラクタレベルや経験値などの能力差、又は、最高の能力や最低の能力を有するプレーヤや最高の能力や最低の能力を有する対戦ユニットとの能力差、及び、
(7)ガチャによる抽選結果(最適配置演算処理の実行かその回避かを決めるためのガチャ)又は課金状況(課金による最適配置演算処理の実行回避の選択)や課金額(今までの課金額が一定額以上であれば最適配置演算処理の実行を回避可能)、
が含まれる。
(2)また、本発明は
前記演算手段が、
前記配置演算処理として、前記フィールド上の攻撃対象となるユニットの配置と、前記1以上の攻撃を実施するユニットの移動特性と、に基づいて、当該1以上の攻撃を実施するユニットにおける予め定められた効果を実現するマスの位置を演算する通常配置演算処理を実行し、
前記ゲーム状況に応じて前記最適配置演算処理及び前記通常配置演算処理のいずれか一方を選択的に実行させる、構成を有している。
この構成により、本発明は、ゲーム状況に応じて、最大限の効果を実現する攻撃を実施するユニットにおける最適なマスの位置を演算する最適配置演算処理か、又は、攻撃を実施するユニットにおける予め定められた効果を実現するマスの位置を演算する通常配置演算処理かのいずれか一方を選択的に実行することができるので、攻撃を実施するユニットの配置が常にベストになることを排除し、攻撃を受ける側が常に劣勢になることを防止することができる。
なお、「通常配置演算処理」には、例えば、対戦ユニットなどの攻撃を実施するユニットに一番近接するプレーヤユニットなどの攻撃対象ユニットを攻撃するための位置、一番容易に仕留めることが可能な攻撃対象ユニットを攻撃するための位置、コンボ攻撃などの他の攻撃を実施するユニットと連動して攻撃対象ユニットを攻撃するための位置、及び、攻撃対象ユニットに対して最大の攻撃を行うことが可能な位置が含まれる。
(3)また、本発明は
前記演算手段が、
前記ゲーム状況として前記プレーヤユニットと前記対戦ユニットとの能力差、又は、1以上の前記プレーヤユニットから構成されるプレーヤユニット群と1以上の前記対戦ユニットから構成される対戦ユニット群から構成されるとの能力差に応じて、前記最適配置演算処理の実行確率を変化させる、構成を有している。
この構成により、本発明は、プレーヤのレベルが低く各プレーヤユニットの能力に対して対戦ユニットの能力が高い場合には、最適配置演算処理の実行確率を低くし、また、プレーヤのレベルが高く各プレーヤユニットの能力に対して対戦ユニットの能力が低い場合には、最適配置演算処理の実行確率を高くするなど、ゲーム状況に応じて最適配置演算処
理の実行確率を変化させることができるので、能力差に応じて対戦ゲームを進行させてプレーヤとコンピュータなどの対戦相手との実力の均衡を適度に保ちつつ、対戦ゲームを進行させることができる。
(4)また、本発明は、
前記演算手段が、
前記プレーヤのゲームレベルに応じて、前記最適配置演算処理の実行確率を変化させる、構成を有している。
この構成により、本発明は、プレーヤのレベルが低く各プレーヤユニットの能力に対して対戦ユニットの能力が高い場合には、最適配置演算処理の実行確率を低くし、また、プレーヤのレベルが高く各プレーヤユニットの能力に対して対戦ユニットの能力が低い場合には、最適配置演算処理の実行確率を高くすることができるので、能力差に応じて対戦ゲームを進行させてプレーヤとコンピュータなどの対戦相手との実力の均衡を適度に保ちつつ、対戦ゲームを進行させることができる。
(5)また、本発明は、
前記配置された各ユニットのマスの位置に基づいて、1以上の前記プレーヤユニットを含むプレーヤユニット群と1以上の前記対戦ユニットを含む対戦ユニット群とが、それぞれのマスの配置に基づいて、相互に攻撃する攻撃制御処理を実行する攻撃制御手段として更に前記コンピュータを機能させ、
前記演算手段が、
前記攻撃を実施するユニット又は当該攻撃を実施するユニットを含むユニット群における攻撃が最大限になる、当該攻撃を実施するユニットにおける最適なマスの位置を演算する前記最適配置演算処理を実行する、構成を有している。
この構成により、本発明は、単一のユニット同士における対戦ゲーム、又は、複数のユニット毎のチームによってゲームを行うことが可能な対戦ゲームにも適用することができる。
(6)また、本発明は
前記攻撃制御手段が、
前記ユニット毎に設定された攻撃能力に基づいて、前記プレーヤユニット群と前記対戦ユニット群とが、それぞれのマスの配置及び攻撃能力に基づいて、相互に攻撃する攻撃制御処理を実行する、構成を有している。
この構成により、本発明は、戦闘ゲームや戦闘を前提としたシミュレーションゲームなどのプレーヤと対戦側とで相互に攻撃する対戦ゲームに適用することができる。
(7)また、本発明は、
前記最適配置演算処理に基づいて前記攻撃を実施するユニットを配置するマスの位置が算出された場合には、当該算出された旨をプレーヤに通知する通知制御手段として更に前記コンピュータを機能させる、構成を有している。
この構成により、本発明は、最適配置演算処理が実行されていることをプレーヤに認識させることができるので、その後の戦略を考える上で参考となり、ゲーム性を向上させることができる。
(8)また、本発明は、
前記攻撃を実施する前記プレーヤユニットの配置位置が前記演算手段によって自動的に
演算にされている場合には、当該自動的に演算されている旨プレーヤに通知する通知制御手段として更に前記コンピュータを機能させる、構成を有している。
この構成により、本発明は、プレーヤユニットの配置位置が自動的に演算されていることをプレーヤに認識させることができるので、プレーヤに対してゲームの状況を的確に認識させることができる。
(9)また、本発明は、
前記最適配置演算処理の実行可否の制御には、前記対戦ゲーム中に実行される最適配置演算処理の実行確率、実行回数、実行時間、及び、実行タイミングの少なくともいずれか1の制御が含まれる、構成を有している。
この構成により、本発明は、プレーヤユニット及び対戦ユニットの能力差などのゲーム状況に応じて、最適配置演算処理の実行確率、実行回数、実行時間、又は、実行タイミングを制御することができる。
例えば、最適配置演算処理の実行確率(発動確率)の制御としては、ゲーム状況に応じて、発動確率を高確率にし、又は、低確率(0%も含む)にする制御を実行し、最適配置演算処理の実行回数の制御としては、ゲーム状況に応じて、ゲーム全体又はゲームステージなどの各セクションにおける実行回数を増加させ、又は、減少させる制御を実行することができる。
また、例えば、最適配置演算処理の実行時間の制御としては、ゲーム状況に応じて、ゲーム全体又はゲームステージなどの各セクションにおける最適配置演算処理を実行する時間(その時点までに実行された配置演算処理の総実行時間に対して最適配置演算処理が実行された時間)を延長し、又は、短縮させる制御を実行する。
さらに、例えば、最適配置演算処理の実行タイミングの制御としては、ゲーム状況に応じて、対戦ユニットのライフエネルギーが一定以下になった場合や対戦ユニットの数が一定数以下になった場合など、対戦ゲームのどのタイミングで最適配置演算処理を実行するか否かを制御する。
したがって、本発明は、常に最適なマスの位置を算出することなく、ゲーム状況に応じて最適なマスを算出するか否かを変化させることができる。
(10)本発明のゲーム装置は、
複数のマスから構成されるフィールド上に複数のユニットを配置することによって対戦ゲームを進行させるゲーム装置であって、
プレーヤの操作に基づいて、プレーヤのユニットであるプレーヤユニットを、各プレーヤユニットの移動特性に応じて規定された前記フィールド上の移動可能範囲内で移動させて、所望のマスに配置する第1移動制御処理と、前記プレーヤと対戦する対戦側のユニットである対戦ユニットの移動特性に応じて規定された前記フィールド上の移動可能範囲で移動させて、所定のマスに配置する第2移動制御処理を実行する移動制御手段、及び、
前記第1移動制御処理又は前記第2移動制御処理を実行して前記対戦ユニットを所定のマスに配置する際に、当該所定のマスの位置を演算する配置演算処理を実行する演算手段、
を備え、
前記演算手段が、
前記配置演算処理として、前記フィールド上の
(1)各プレーヤユニットの配置、
(2)各対戦ユニットの配置、及び、
(3)攻撃を実施するユニットのいずれか1つ又はそれらの組み合わせ、
の少なくともいずれか一方に基づいて、攻撃対象となるユニットに対して最適な攻撃効果を発揮するように、前記フィールド上の攻撃を実施するユニットにおける最適なマスの位置を演算する最適配置演算処理の実行の可否を、ゲーム状況に応じて制御する、構成を有している。
この構成により、本発明は、適宜、最適配置演算処理の実行を中止することによって攻撃を実施する側の戦略に隙をつくることによって、攻撃を実施するユニットの配置が常にベストになること、及び、その結果、攻撃を受ける側が常に劣勢になることを防止することができるので、プレーヤと対戦側との実力の均衡を適度に保ちつつ、対戦ゲームを進行させることができる。
したがって、本発明は、ゲームの進行させる上でゲームの興趣性を維持させて魅力有る対戦ゲームを提供することができる。
一実施形態のゲームシステムの構成を示すシステム構成の一例を示す図である。 一実施形態におけるサーバ装置の構成を示す機能ブロック図の一例である。 一実施形態における端末装置の構成を示す機能ブロック図の一例である。 一実施形態における端末装置の外観構成を示す図の一例である。 一実施形態におけるシミュレーションゲームのゲーム画像の一例を示す図である。 一実施形態の連動移動制御処理の概念を説明するための図である。 一実施形態のユニット特性に含まれるキャラクタ特性及び移動特性を説明するための図である。 一実施形態のユニット特性に含まれる攻撃特性を説明するための図である。 一実施形態のプレーヤユニットにおける連動移動制御処理を説明するための図(その1)である。 一実施形態のプレーヤユニットにおける連動移動制御処理を説明するための図(その2)である。 一実施形態のプレーヤユニットにおける連動移動制御処理を説明するための図(その3)である。 一実施形態のプレーヤユニットにおける連動移動制御処理を説明するための図(その4)である。 一実施形態のプレーヤユニットにおける連動移動制御処理を説明するための図(その5)である。 一実施形態のプレーヤユニットにおける連動移動制御処理を説明するための図(その6)である。 一実施形態の対戦ユニットに対する配置演算処理(通常配置演算処理)を説明するための図(その1)である。 一実施形態の対戦ユニットに対する配置演算処理(通常配置演算処理)を説明するための図(その2)である。 一実施形態の対戦ユニットに対する配置演算処理(最適配置演算処理)を説明するための図である。 一実施形態の端末装置によって実行されるプレーヤユニット群における移動制御処理及び攻撃制御処理の動作を示すフローチャートである。 一実施形態の端末装置によって実行される対戦ユニット群における移動制御処理及び攻撃制御処理の動作を示すフローチャートである。 一実施形態の端末装置によって実行される対戦ユニット群における配置演算処理の動作を示すフローチャートである。
以下、本実施形態について説明する。なお、以下に説明する本実施形態は、特許請求の範囲に記載された本発明の内容を不当に限定するものではない。また本実施形態で説明される構成の全てが、本発明の必須構成要件であるとは限らない。
[1]ゲームシステム
まず、図1を用いて本実施形態のゲームシステム1の概要及び概要構成について説明する。なお、図1は、本実施形態のゲームシステム1の構成を示すシステム構成の一例を示す図である。
本実施形態のゲームシステム1は、図1に示すように、ゲームサービスを提供するサーバ装置10と、端末装置20(例えば、端末装置20A、20B、20C)とが、インターネット(ネットワークの一例)に接続可能に構成されている。
ユーザは、端末装置20からサーバ装置10にアクセスすることにより、インターネットを介してサーバ装置10からゲームを取得し、当該ゲームのプレーをすることができる。さらに、ユーザは端末装置20からサーバ装置10にアクセスすることにより、他のユーザとの間でコミュニケーションを図りつつ、ゲームを実行することができるようになっている。
特に、サーバ装置10は、インターネットを介して通信接続された端末装置20を用いて、ユーザにゲームをプレーさせるサービスを提供することが可能な情報処理装置である。なお、サーバ装置10は、コミュニケーション型のサービスを提供するSNSサーバとして機能することも可能である。また、SNSサーバとは、例えば、複数のユーザ間でコミュニケーションを提供することが可能なサービスを提供する情報処理装置を示す。
また、サーバ装置10は、例えば、SNSサーバとして機能する場合には、提供するSNSの動作環境(API(アプリケーションプログラミングインタフェース)、プラットフォーム等)を利用して実行されるソーシャルゲーム(Social Game)をと呼ばれるゲームを提供することができるようになっている。
具体的には、サーバ装置10は、端末装置20のWebブラウザ上で提供されるゲーム、例えばHTML、FLASH、CGI、PHP、shockwave、Java(登録商標)アプレット、JavaScript(登録商標)など様々な言語で作られたブラウザゲーム(Webブラウザで設置サイトを開くだけで起動するゲーム)を提供することができるようになっている。
なお、ソーシャルゲームとは、既存のオンラインゲームとは違い、専用のクライアントソフトウェアを必要とせず、WebブラウザとSNSのアカウントのみで利用可能なゲームが含まれる。また、サーバ装置10は、ネットワークを介して他のユーザの端末(スマートフォン、パソコン、ゲーム機など)と接続し、オンラインで同時に同じゲーム進行を共有することができるオンラインゲームを提供することが可能な構成を有している。
一方、サーバ装置10は、1つの(装置、プロセッサ)で構成されていてもよいし、複数の(装置、プロセッサ)で構成されていてもよい。
そして、サーバ装置10の記憶領域(後述する記憶部140)に記憶される課金情報、ゲーム情報等の情報を、ネットワーク(イントラネット又はインターネット)を介して接
続されたデータベース(広義には記憶装置、メモリ)に記憶するようにしてもよいし、SNSサーバとして機能する場合には、記憶領域に記憶されるユーザ情報146等の情報を、ネットワーク(イントラネット又はインターネット)を介して接続されたデータベース(広義には記憶装置、メモリ)に記憶するようにしてもよい。
具体的には、本実施形態のサーバ装置10は、端末装置20のユーザ(すなわち、ゲームを実行するプレーヤ)の操作に基づく入力情報を受信し、受信した入力情報に基づいてゲーム処理を行うようになっている。
そして、サーバ装置10は、ゲーム処理結果を端末装置20に送信する。なお、端末装置20は、サーバ装置10から受信したゲーム処理結果を端末装置20にユーザに閲覧可能に提供する各種の処理を行う構成を有している。
端末装置20は、スマートフォン、携帯電話、PHS、コンピュータ、ゲーム装置、PDA、携帯型ゲーム機等、画像生成装置などの情報処理装置であり、インターネット(WAN)、LANなどのネットワークを介してサーバ装置10に接続可能な装置である。なお、端末装置20とサーバ装置10との通信回線は、有線でもよいし無線でもよい。
また、端末装置20は、Webページ(HTML形式のデータ)を閲覧可能なWebブラウザを備えている。すなわち、端末装置20は、サーバ装置10との通信を行うための通信制御機能、及びサーバ装置10から受信したデータ(Webデータ、HTML形式で作成されたデータなど)を用いて表示制御を行うとともに、ユーザ操作のデータをサーバ装置10に送信するWebブラウザ機能などを備え、ゲーム画面をユーザに提供する各種の処理を実行し、ユーザによってゲームを実行させるようになっている。ただし、端末装置20は、サーバ装置10から提供されたゲーム制御情報を取得して所定のゲーム処理を実行し、ゲーム処理に基づくゲームを実行してもよい。
具体的には、端末装置20は、所定ゲームを行う旨の要求をサーバ装置10に対して行うと、サーバ装置10のゲームサイトに接続され、ゲームが開始される。特に、端末装置20は、必要に応じてAPIを用いることにより、SNSサーバとして機能するサーバ装置10に所定の処理を行わせ、又は、SNSサーバとして機能するサーバ装置10が管理するユーザ情報146を取得させてゲームを実行する構成を有している。
[2]サーバ装置
次に、図2を用いて本実施形態のサーバ装置10について説明する。なお、図2は、本実施形態のサーバ装置10の機能ブロックを示す図である。また、本実施形態のサーバ装置10は図2の構成要素(各部)の一部を省略した構成としてもよい。
サーバ装置10は、管理者やその他の入力に用いるための入力部120、所定の表示を行う表示部130、所定の情報が記憶された情報記憶媒体180、端末装置20やその他と通信を行う通信部196、主に提供するゲームに関する処理を実行する処理部100、及び、主にゲームに用いる各種のデータを記憶する記憶部140を含む。
入力部120は、システム管理者等がゲームに関する設定やその他の必要な設定、データの入力に用いるものである。例えば、本実施形態の入力部120は、マウスやキーボード等によって構成される。
表示部130は、システム管理者用の操作画面を表示するものである。例えば、本実施形態の表示部130は、液晶ディスプレイ等によって構成される。
情報記憶媒体180(コンピュータにより読み取り可能な媒体)は、プログラムやデータなどを格納するものであり、その機能は、光ディスク(CD、DVD)、光磁気ディスク(MO)、磁気ディスク、ハードディスク、磁気テープ、或いはメモリ(ROM)などによって構成される。
通信部196は外部(例えば、端末、他のサーバや他のネットワークシステム)との間で通信を行うための各種制御を行うものであり、その機能は、各種プロセッサ又は通信用ASICなどのハードウェアや、プログラムなどによって構成される。
記憶部140は、処理部100や通信部196などのワーク領域となるもので、その機能は、RAM(VRAM)などによって構成される。なお、記憶部140に記憶される情報は、データベースで管理してもよい。
また、本実施形態においては、記憶部140には、提供するゲームに関する情報を示すゲーム情報144、提供するゲームに関しプレーヤとしてのユーザに関する情報を示すユーザ情報146、及び、その他ゲーム演算に必要な各種の情報が記憶される。
処理部100は、記憶部140内の主記憶部142をワーク領域として各種処理を行う。処理部100の機能は各種プロセッサ(CPU、DSP等)、ASIC(ゲートアレイ等)などのハードウェアや、プログラムにより実現できる。
処理部100は、情報記憶媒体180に格納されるプログラム(データ)に基づいて本実施形態の種々の処理を行う。即ち情報記憶媒体180には、本実施形態の各部としてコンピュータを機能させるためのプログラム(各部の処理をコンピュータに実行させるためのプログラム)が記憶される。
例えば、処理部100(プロセッサ)は、情報記憶媒体に記憶されているプログラムに基づいて、サーバ装置10全体の制御を行うとともに、各部間におけるデータ等の受け渡しの制御などの各種の処理を行う。さらに、端末装置20からの要求に応じた各種サービスを提供する処理を行う。
具体的には、本実施形態の処理部100は、通信制御部101、Web処理部102及びゲーム管理部104を少なくとも有している。
通信制御部101は、端末装置20とネットワークを介してデータを送受信する処理を行う。すなわち、サーバ装置10は、通信制御部101によって端末装置20等から受信した情報に基づいて各種処理を行う。
特に、本実施形態の通信制御部101は、ユーザの端末装置20からの要求に基づいて、ゲーム画面を、当該ユーザの端末装置20に送信する処理を行う。
Web処理部102は、Webサーバとして機能する。例えば、Web処理部102は、HTTP(Hypertext Transfer Protocol)等の通信プロトコルを通じて、端末装置20にインストールされているWebブラウザの要求に応じてデータを送信する処理、及び、端末装置20のWebブラウザによって送信されるデータを受信する処理を行う。
なお、本実施形態では、サーバ装置10がSNSサーバとしての機能も備えていている場合を例にとり説明するが、サーバ装置10を、ゲーム用のサーバと、SNS用のサーバと別々に形成してもよい。また、本実施形態のゲームの処理は、サーバ装置10が一部又
は全部を行ってもよいし、端末装置20が一部を行ってもよい。
ゲーム管理部104は、端末装置20と連動し、当該端末装置20を介して入力されたプレーヤの操作に基づいて、各プレーヤにおいてロールプレーイングゲーム(RPG)や対戦ゲームに関するゲーム処理を実行するとともに、各ユーザのゲームの進行状況やアイテム管理などの各ユーザにおいて使用するキャラクタ(後述するユニット)及び各種のアイテムを含むユーザ情報146を管理する。
また、ゲーム管理部104は、後述するように、各プレーヤユニットの配置などの所定の操作が実行された場合に、当該操作を含むユーザが設定した各種のデータに基づいて自動的にゲームを実行するための自動演算処理を実行し、端末装置20で再生するためのデータを生成し、生成したデータを端末装置20に提供する。
[3]端末装置
次に、図3及び図4を用いて本実施形態の端末装置20について説明する。なお、図3は、本実施形態における端末装置20の構成を示す機能ブロック図の一例であり、図4は、本実施形態における端末装置20の外観構成を示す図の一例である。また、本実施形態の端末装置20は図3の構成要素(各部)の一部を省略した構成としてもよい。
入力部260は、プレーヤが操作データを入力するためのものであり、その機能は、タッチパネル若しくはタッチパネル型ディスプレイ、十字キーやテンキーなどの所定の操作キー、又は、コントローラなどにより実現できる。
例えば、入力部260がタッチパネルやタッチパネル型ディスプレイによって構成されている場合には、画像が表示される画面上における2次元の指示位置座標(x,y)を検出可能な検出部262を備えている。例えば、入力部260は、接触検出領域(タッチパネル)における、2次元の接触位置座標(x,y)を検出可能な検出部262を備えている。
また、本実施形態において、接触位置は、プレーヤの接触操作(直接的な接触及びポインティングデバイスによる間接的な接触も含む)により、接触検出領域から得られる位置情報である。
なお、本実施形態のプレーヤの接触操作には、ユーザの指によるタッチパネル12上への直接的なタッチ操作又はスライド操作、及び、ポインティングデバイスなどのデバイスを介して実行される間接的なタッチパネル12上へのタッチ操作又はスライド操作の他に、タッチパネル12に直接的及び間接的にタッチ操作又はスライド操作をせずに、タッチパネル12上への擬似的なタッチ操作又はスライド操作も含まれる。
例えば、擬似的なタッチ操作又はスライド操作とは、
(1)赤外線などの光ビームをタッチパネル面と平行に当該タッチパネル面に近接した位置で照射し、当該タッチパネル12の一端部に縦横方向に一定間隔に形成される複数の照射部と、各照射部と対を構成し、当該各照射部に対向するタッチパネルの他端部に設けられ、各照射された光ビームをそれぞれ受信する複数のセンサとによって、タッチパネル12に接触又は近接した際に光ビームが遮断された縦横の座標を検出し、当該検出した座標に基づいて認識するタッチ操作又はスライド操作、及び、
(2)タッチパネル12の表示面を撮像するカメラを設け、当該カメラによってユーザがタッチパネル12に接触又は近接した位置座標を検出し、当該検出した位置座標に基づいて認識するタッチ操作又はスライド操作、
などタッチパネル12に実際に接触することによって又は近接させて検出することによっ
て認識するタッチ操作又はスライド操作を含む。
また、接触検出領域に同時に複数の接触位置が検出される場合には、いずれか1つの接触位置(先に検出された接触位置)を用いるようにしてもよいし、複数の接触位置を同時に処理してもよい。
なお、接触検出領域に複数の判定領域が存在する場合には、各判定領域において、1つの接触位置(先に検出された接触位置)を用いるようにしてもよい。また、判定領域とは、取得した接触位置のうち、移動制御など処理部200で処理するための接触位置を予め特定する接触検出領域上の範囲である。
特に、本実施形態では、図4(A)及び(B)に示す表示画面(ディスプレイ)12が、液晶ディスプレイと、プレーヤ(操作者、ユーザ)の接触位置を検出するためのタッチパネルとが積層されたタッチパネル型ディスプレイとなっている。すなわち、本実施形態では、表示画面12が入力部260として機能するとともに表示部290としても機能する。
なお、表示画面(以下、特別な場合を除き「タッチパネル」という。)12への接触操作は、指先を用いて行うようにしてもよいし、タッチペンなどの入力デバイスを用いて行うようにしてもよい。
また、入力部260は、指示位置以外の操作情報(操作信号)を入力可能なボタンやレバー、キーボード、ステアリング、マイク、加速度センサなどを備えていてもよい。
記憶部270は、処理部200や通信部296などのワーク領域となるもので、その機能はRAM(VRAM)などにより実現できる。そして、本実施形態の記憶部270は、ワーク領域として使用される主記憶部271と、最終的な表示画像等が記憶される画像バッファ272と、提供するゲームに関しプレーヤとしてのユーザに関する情報を示すユーザ情報273と、テーブルデータなどのゲームを実行する上で必要な各種のデータを記憶するゲームデータ記憶部274と、を含む。なお、これらの一部を省略する構成としてもよいし、サーバ装置10の記憶部140がその一部を構成してもよい。
特に、ゲームデータ記憶部274には、
(1)ゲームに用いるキャラクタやコマ(将棋やチェスのコマ)などのプレーヤのユニット(以下、「プレーヤユニット」という。)及び対戦ゲームの対戦側(コンピュータ(CPU)や他のプレーヤ)のユニット(以下、「対戦ユニット」という。)として用いるユニットに関するデータ
(2)プレーヤユニットや対戦ユニットに設定するアイテムや実行させるためのコマンド(以下、まとめて「コマンド」ともいう。)及びそれに関するデータ、及び、
(3)対戦ゲームが実行される複数のフィールド及び各フィールドの各マスの地形属性を示す地形属性情報など各フィールドに関するデータ、
が記憶される。
なお、各ユニットに関するデータには、例えば、各ユニットの攻撃力、攻撃特性、防御力、防御特性などの攻撃や防御に関する特性又は能力を示すユニットに関する特性(以下、「ユニット特性」ともいう。)、「火」や「水」などのゲーム上の役割に応じて設定された属性、複数のマスから構成されるフィールド(マップ)の移動可能範囲を示す移動特性に関するデータが含まれる。
また、攻撃力や防御力としては、例えば、10段階や5段階のパラメータ、又は、3桁
の数字などのパラメータが規定されており、当該パラメータの値によって攻撃や防御する際のヒットポイントの演算に用いられる。
さらに、攻撃特性又は防御特性としては、例えば、対象ユニットから2マス以内の四方に攻撃を可能とする移動単位としてのマスに基づく攻撃範囲や防御範囲、又は、魔法、アイテムやコンボ攻撃などの攻撃の種別や防御の種別が規定される。
一方、ユーザ情報273には、
(1)ゲーム実行中のプレーヤユニット及びそれに関するデータ、
(2)プレーヤと対戦ゲームで対戦中の対戦ユニット及びそれに関するデータ、及び、
(3)上記以外のゲームの進行に必要なプレーヤに関するデータ、
が記憶される。
例えば、プレーヤユニットに関するデータとしては、プレーヤがゲームを進行させるために当該プレーヤが有する複数のプレーヤユニットの中から、ゲーム内で使用する複数のプレーヤユニットをプレーヤユニット群として設定したデッキのデータ(以下、「デッキデータ」ともいう。)が含まれる。
また、対戦ユニットに関するデータとしては、同様に、プレーヤと対戦する複数の対戦ユニットの中から、ゲーム内で使用する複数の対戦ユニットを対戦ユニット群として設定したデッキデータが含まれる。
情報記憶媒体280(コンピュータにより読み取り可能な媒体)は、プログラムやデータなどを格納するものであり、その機能は、光ディスク(CD、DVD)、光磁気ディスク(MO)、磁気ディスク、ハードディスク、磁気テープ、或いはメモリ(ROM)などにより実現できる。
また、情報記憶媒体280には、本実施形態の各部としてコンピュータを機能させるためのプログラム(各部の処理をコンピュータに実行させるためのプログラム)を記憶することができる。なお、処理部200は、後述するように、情報記憶媒体280に格納されるプログラム(データ)に基づいて本実施形態の種々の処理を行う。
表示部290は、本実施形態により生成された画像を出力するものであり、その機能は、CRT、LCD、タッチパネル型ディスプレイ、或いはHMD(ヘッドマウントディスプレイ)などにより実現できる。
特に、本実施形態では表示部290は、タッチパネルディスプレイを用いることによりプレーヤがゲーム操作を行う入力部260としても機能する。ここでタッチパネルとして、例えば抵抗膜方式(4線式、5線式)、静電容量方式、電磁誘導方式、超音波表面弾性波方式、赤外線走査方式などのタッチパネルを用いることができる。
音出力部292は、本実施形態により生成された音を出力するものであり、その機能は、スピーカ、或いはヘッドフォンなどにより実現できる。
通信部296は、外部(例えばホスト装置や他の端末装置)との間で通信を行うための各種制御を行うものであり、その機能は、各種プロセッサ又は通信用ASICなどのハードウェアや、プログラムなどにより実現できる。
なお、端末装置20は、サーバ装置10が有する情報記憶媒体や記憶部270に記憶されている本実施形態の各部としてコンピュータを機能させるためのプログラムやデータを
、ネットワークを介して受信し、受信したプログラムやデータを情報記憶媒体280や記憶部270に記憶してもよい。このようにプログラムやデータを受信して端末装置20を機能させる場合も本発明の範囲内に含めることができる。
処理部200(プロセッサ)は、入力部260からの入力データやプログラムなどに基づいて、サーバ装置10と連動して、ゲーム処理、画像生成処理、或いは音生成処理などの処理を行う。
特に、本実施形態においては、ゲーム処理としては、ゲーム開始条件が満たされた場合にゲームを開始する処理、ゲームを進行させる処理、プレーヤオブジェクト、敵オブジェクトなどのオブジェクトを配置する処理、オブジェクトを表示する処理、ゲーム結果を演算する処理、或いはゲーム終了条件が満たされた場合にゲームを終了する処理などが含まれる。
また、処理部200は、記憶部270をワーク領域として各種処理を行う。処理部200の機能は、各種プロセッサ(CPU、DSP等)、ASIC(ゲートアレイ等)などのハードウェアや、プログラムにより実現できる。
特に、本実施形態の処理部200は、オブジェクト空間設定部210と、操作検出処理部211と、表示制御部212と、移動処理部214と、ゲーム演算部215と、仮想カメラ制御部216と、ゲーム管理部217と、描画部220と、音処理部230とを含む。また、これらの一部を省略する構成としてもよい。
なお、例えば、本実施形態の操作検出処理部211は、本発明の操作手段を構成し、表示制御部212は、本発明の表示制御手段を構成する。また、例えば、本実施形態の移動処理部214は、本発明の移動制御手段を構成し、ゲーム演算部215は、本発明の演算手段を構成する。
オブジェクト空間設定部210は、オブジェクト(プレーヤオブジェクト、移動体、敵オブジェクト)、移動経路、建物、樹木、柱、壁、マップ(地形)などの表示物を表す各種オブジェクト(スプライト、ビルボード、ポリゴン、自由曲面又はサブディビジョンサーフェスなどのプリミティブ面で構成されるオブジェクト)をオブジェクト空間(以下、「ゲーム空間」ともいう。)に配置設定する処理を行う。
具体的にはオブジェクト空間設定部210は、オブジェクト(モデルオブジェクト)の位置や回転角度(向き、方向と同義)を決定し、その位置(X、Y)或いは(X、Y、Z)にその回転角度(X、Y軸回りでの回転角度)或いは(X、Y、Z軸回りでの回転角度)でオブジェクトを配置する。
なお、オブジェクト空間とは、いわゆる仮想2次元空間、仮想3次元空間の両方を含む。2次元空間とは、例えば2次元座標(X,Y)においてオブジェクトが配置される空間であり、3次元空間とは、例えば3次元座標(X,Y,Z)においてオブジェクトが配置される空間である。
また、オブジェクト空間を2次元空間とした場合には、複数のオブジェクトそれぞれについて設定された優先順位に基づいてオブジェクトを配置する。例えば、奥側にあるように見せたいオブジェクト(スプライト)から順にオブジェクトを配置し、手前側にあるように見せたいオブジェクトを重ねて配置する処理を行うことができる。
そして、描画サイズが大きなオブジェクトを画像の下方に配置し、描画サイズが小さな
オブジェクトを画像の上方に配置すれば、画面の上方に対応するオブジェクト空間が奥側にあるように見せることができ、画面の下方に対応するオブジェクト空間が手前側にあるように見せることができる。
一方、オブジェクト空間を3次元空間とした場合には、ワールド座標系にオブジェクトを配置する。
操作検出処理部211は、プレーヤが入力部260から入力した入力情報の認識処理を行う。具体的には、本実施形態の操作検出処理部211は、タッチ操作入力を検出する場合には、入力部260によって入力された指示位置を取得する。
例えば、操作検出処理部211は、タッチ操作入力を検出する場合には、プレーヤの接触操作(すなわち、タッチ操作)を検出する接触検出領域(タッチパネル)における接触位置(2次元の接触位置座標)を指示位置として取得する。
すなわち、操作検出処理部211は、プレーヤが指でタッチパネル12にタッチ(以下、「タッチ操作入力」という。)し、当該タッチした状態を維持しつつ、タッチ位置を移動して最後にタッチパネル12から離す操作(すなわち、スライド操作)を行う期間に相当する接触操作期間中(スライド操作期間中)における接触位置(指示位置)を取得する。
特に、操作検出処理部211は、
(1)画面へのタッチ操作入力されていない状態(以下、「無接触状態」という。)からタッチ操作入力された状態(以下、「接触状態」という。)への第1の変化(以下、「状態変化」という。)を検出するとともに、当該状態変化が実行された検出位置(以下、「基準位置」ともいう。)を検出する第1の検出処理、及び、
(2)第1の変化の検出後であって当該第1の変化を検出した際(すなわち、無接触状態から接触状態に状態変化した際)のタッチ操作入力が継続されて(すなわち、接触状態が継続されて)スライド操作による入力(以下、「スライド操作入力」という。)が実行されている場合に、当該スライド操作入力の変化(すなわち、指示位置及び当該指示位置の変化)を第2の変化として検出する第2の検出処理、
(3)スライド操作入力中に、画面へのタッチ操作入力がされていない状態(すなわち、スライド操作入力が終了して無接触状態となった場合)を検出する第3の検出処理
を実行する。
また、操作検出処理部211は、所定の周期毎に入力された指示位置を取得する。具体的には、所定の周期とはフレーム毎、例えば、1/60秒〜1/120秒程度とすることができる。
なお、本実施形態においては、「基準位置」及び「指示位置」としては、上述のようにタッチ操作入力やスライド操作入力によって検出されたタッチパネル12上の位置だけなく、検出位置から所定の距離離れた位置又はタッチパネル12の隅などの所定のエリアに形成されたエリアなどの特定のタッチパネル12上の位置に関連した所定位置も含む。
表示制御部212は、タッチパネル12上に、プレーヤの指示に基づいて実行されるゲームに関するコンテンツを表示する。特に、表示制御部212は、ゲームの進行に応じて、又は、プレーヤの操作入力(例えば、タッチ操作入力やスライド操作入力)に応じてタッチパネル12上に表示されるコンテンツの表示領域部分をスクロールさせて移動させるスクロール表示処理を制御する。
なお、本実施形態の「コンテンツ」は、ゲーム(具体的には、ゲームの実行中にゲーム上に構築されるオブジェクト空間)、又は、ゲームに関する所与の設定を行うメニューなどのタッチパネルの画面上に表示可能に形成されるコンテンツであって、当該画面上に表示される部分であると、画面外において非表示となる部分と、から構成されている。
移動処理部214は、オブジェクト空間内におけるオブジェクト(特に、プレーヤユニット、対戦ユニット又はそれ以外の移動体オブジェクト)の移動演算を行う。すなわち、移動処理部214は、入力部260によりプレーヤが入力した入力データ(モーションデータ含む)、選択されたプレーヤユニット及びそれに対して受け付けたユニット用コマンド、及び、対戦ユニットを移動させるためのプログラム(移動アルゴリズム)などに基づいて、オブジェクトをオブジェクト空間内で移動させ、又は、オブジェクトの動作(モーション、アニメーション)を制御するための処理を行う。
特に、本実施形態の移動処理部214は、オブジェクトの移動情報(移動方向、移動量、移動速度、位置、回転角度、或いは加速度)や動作情報(各パーツオブジェクトの位置、或いは回転角度)を、1フレーム毎に順次求めるシミュレーション処理を行う。ここでフレームとは、オブジェクトの移動処理、動作処理(シミュレーション処理)や画像生成処理を行う時間の単位である。そして、本実施形態では、フレームレートは、固定としてもよいし、処理負荷に応じて可変としてもよい。
なお、移動処理部214は、3次元のオブジェクト空間において入力方向に基づいてオブジェクトを移動させる処理を行ってもよい。例えば、予め、入力方向毎に移動方向を対応づけ、入力方向に対応する移動方向にオブジェクトを移動させる。
一方、移動処理部214は、プレーヤの操作に基づいて、デッキに設定されたプレーヤユニット及び対戦ユニットのマップ内の移動制御、及び、それに伴う他のプレーヤユニットや対戦ユニットの移動制御処理を行う。
具体的には、移動処理部214は、対戦ゲーム中におけるプレーヤユニットにおける移動に関しては、プレーヤの操作に基づいて、フィールドの各マスを各ユニットの移動単位として、プレーヤユニット群に割り当てられたターン(プレーヤの行動をするためのターン(行動フェーズ))の期間内に、各プレーヤユニットをフィールド上の移動可能範囲内で移動させて所望のマスに配置する移動制御処理(以下、「ユニット移動制御処理(プレーヤユニット)」又は「第1移動制御処理」という。)を実行する。
そして、移動処理部214は、ユニット移動制御処理(プレーヤユニット)を実行している際に、移動対象となったプレーヤユニット(以下、「移動対象プレーヤユニット」という。)の移動経路やマスの特性に基づいて、移動対象プレーヤユニットとは異なる他のプレーヤユニットのうち該当するプレーヤユニット及び該当する対戦ユニットを移動させる移動制御処理(以下、「連動移動制御処理(プレーヤユニット)」という。)を実行する。
また、移動処理部214は、対戦ゲーム中における対戦ユニットにおける移動に関しては、ゲーム演算部215にける演算結果に基づいて、フィールドの各マスを各ユニットの移動単位として、対戦ユニット群に割り当てられたターン(対戦側の行動フェーズ)の期間内に、各対戦ユニットをフィールド上の移動可能範囲内で移動させて所望のマスに配置する移動制御処理(以下、「ユニット移動制御処理(対戦ユニット)」又は「第2移動制御処理」という。)を実行する。
そして、移動処理部214は、対戦ユニット移動制御処理を実行している際に、移動対
象となった対戦ユニット(以下、「移動対象対戦ユニット」という。)の移動経路やマスの特性に基づいて、移動対象対戦ユニットとは異なる他の対戦ユニットのうち該当する対戦ユニット及び該当するプレーヤユニットを移動させる移動制御処理(以下、「連動移動制御処理(対戦ユニット)」という。)を実行する。
ゲーム演算部215は、種々のゲーム演算処理を行う。例えば、ゲーム演算部215は、プレーヤの指示に基づいてゲームに使用される複数のプレーヤユニットがデッキに設定されると、当該デッキに設定された各プレーヤユニットを用いてゲームを進行させるための各処理を実行する。
具体的には、ゲーム演算部215は、複数のマスから構成されるマップに基づくオブジェクト空間の形成、RPGの場合には、ユーザの操作に応じて予め設定されたシナリオに基づくゲームの進行、プレーヤユニットと対戦ユニットとの対戦、及び、当該対戦時のパラメータ管理などのゲームを実行する上で必要な演算処理を行う。
特に、ゲーム演算部215は、プレーヤユニット群又は対戦ユニット群などの攻撃を実施するユニット群に割り当てられたターンの期間内に、ユニット移動制御処理(プレーヤユニット又は対戦ユニット)を実行するための演算処理、すなわち、攻撃を実施するユニット群における各ユニットについて、当該攻撃を実施するユニットを配置するフィールドのマス上の配置位置を演算する配置演算処理を実行する。
具体的には、ゲーム演算部215は、
(1)フィールド上の各プレーヤユニットの配置及び各対戦ユニットの配置と、各プレーヤの移動特性若しくは対戦ユニットの移動特性の攻撃を実施するユニットの移動特性、又は、双方のユニットの移動特性と、に基づいて、最大限の効果を実現するマスの配置であって前記フィールド上に配置すべき1以上の攻撃を実施するユニットにおける最適なマスの位置を演算する最適配置演算処理、又は、
(2)フィールド上の各プレーヤユニット及び各対戦ユニットの配置と、攻撃を実施するユニットの移動特性と、に基づいて、当該攻撃を実施するユニットにおける予め定められた効果を実現するマスの位置を演算する通常配置演算処理
のいずれかを配置演算処理として実行する。
なお、本実施形態においては、具体的な説明がないかぎり、最適配置演算処理及び通常配置演算処理においては、各対戦ユニットについて実行されるものとして説明する。ただし、プレーヤユニットに対して最適配置演算処理及び通常配置演算処理が実行されてもよい。この場合には、プレーヤユニットが攻撃を実施するユニットとなり、攻撃対象のユニットが対戦ユニットとなる。
一方、ゲーム演算部215は、プレーヤユニット及び対戦ユニットの移動が完了すると、攻撃ターン、防御ターン又は攻撃及び防御ターン毎に対戦ゲームを自動的に進行させるためのゲームの演算を実行する。
具体的には、ゲーム演算部215は、各プレーヤユニット及び各対戦ユニットにおけるフィールド上に配置されたマスの位置と、各ユニットのキャラクタの特性、属性及び各種のパラメータと、必要に応じてフィールドのマスに設定された特性と、に基づいて、プレーヤユニット群と対戦ユニット群との攻撃制御処などプレーヤユニット群と対戦ユニット群との攻撃及び防御を含む対戦ゲームを自動的に演算し、当該演算結果に基づいてゲームを進行させる。
なお、ゲーム演算部215は、リアルタイムによって入力されたプレーヤかの操作入力
に基づいてゲームの演算を実行して当該ゲームを進行させてもよい。
また、ゲーム演算部215は、サーバ装置10と連動して実行するが、その一部又は全部がサーバ装置10に形成されていてもよい。
仮想カメラ制御部216は、所与の視点から見える画像であって、奥行きがあるように見える画像を生成する。この場合に、仮想カメラ制御部216が、オブジェクト空間内の所与(任意)の視点から見える画像を生成するための仮想カメラ(視点)の制御処理を行う。具体的には、仮想カメラの位置(X、Y、Z)又は回転角度(X、Y、Z軸回りでの回転角度)を制御する処理(視点位置や視線方向を制御する処理)を行う。
例えば、仮想カメラによりオブジェクト(例えば、プレーヤユニット、対戦ユニット、ボール又は車)を後方から撮影する場合には、オブジェクトの位置又は回転の変化に仮想カメラが追従するように、仮想カメラの位置又は回転角度(仮想カメラの向き)を制御する。
この場合には、移動処理部214で得られたオブジェクトの位置、回転角度又は速度などの情報に基づいて、仮想カメラを制御できる。或いは、仮想カメラを、予め決められた回転角度で回転させたり、予め決められた移動経路で移動させる制御を行ってもよい。また、この場合には、仮想カメラの位置(移動経路)又は回転角度を特定するための仮想カメラデータに基づいて仮想カメラを制御する。
なお、仮想カメラ(視点)が複数存在する場合には、それぞれの仮想カメラについて上記の制御処理が行われる。
ゲーム管理部217は、入力部260を介して入力されたプレーヤの操作に基づいて、各プレーヤにおいて対戦ゲーム等のゲームに使用するプレーヤユニット及び各種のアイテムを設定し、ユーザ情報273に登録する。
特に、ゲーム管理部217は、デッキを用いてゲームを実行する場合には、設定されたプレーヤユニット及び各種のアイテムをデッキデータとしてユーザ情報273に登録する。
描画部220は、処理部200で行われる種々の処理(ゲーム処理)の結果に基づいて描画処理を行い、これにより画像を生成し、表示部(ディスプレイ)290に出力する。描画部220が生成する画像は、いわゆる2次元画像であってもよいし、いわゆる3次元画像であってもよい。特に、描画部220は、オブジェクト空間における仮想カメラから見える画像であって、画面上に表示する画像を生成する。
ここで2次元画像を生成する場合には、描画部220は、設定された優先度が低いオブジェクトから順に描画して、オブジェクト同士が重なる場合には、優先度の高いオブジェクトを上書きして描画する。
また、3次元画像を生成する場合には、本実施形態の描画部220は、まずオブジェクト(モデル)の各頂点の頂点データ(頂点の位置座標、テクスチャ座標、色データ、法線ベクトル或いはα値等)を含むオブジェクトデータ(モデルデータ)が入力され、入力されたオブジェクトデータに含まれる頂点データに基づいて、頂点処理が行われる。なお、頂点処理を行うに際して、必要に応じてポリゴンを再分割するための頂点生成処理(テッセレーション、曲面分割、ポリゴン分割)を行うようにしてもよい。
また、頂点処理では、頂点の移動処理や、座標変換(ワールド座標変換、カメラ座標変換)、クリッピング処理、透視変換、あるいは光源処理等のジオメトリ処理が行われ、その処理結果に基づいて、オブジェクトを構成する頂点群について与えられた頂点データを変更(更新、調整)する。そして、頂点処理後の頂点データに基づいてラスタライズ(走査変換)が行われ、ポリゴン(プリミティブ)の面とピクセルとが対応づけられる。そしてラスタライズに続いて、画像を構成するピクセル(表示画面を構成するフラグメント)を描画するピクセル処理(フラグメント処理)が行われる。
ピクセル処理では、テクスチャの読出し(テクスチャマッピング)、色データの設定/変更、半透明合成、アンチエイリアス等の各種処理を行って、画像を構成するピクセルの最終的な描画色を決定し、透視変換されたオブジェクトの描画色を画像バッファ272(フレームバッファ、ピクセル単位で画像情報を記憶できるバッファ。VRAM、レンダリングターゲット)に出力(描画)する。すなわち、ピクセル処理では、画像情報(色、法線、輝度、α値等)をピクセル単位で設定あるいは変更するパーピクセル処理を行う。
これにより、オブジェクト空間内に設定された仮想カメラ(所与の視点)から見える画像が生成される。なお、仮想カメラ(視点)が複数存在する場合には、それぞれの仮想カメラから見える画像を分割画像として1画面に表示できるように画像を生成することができる。
なお、描画部220が行う頂点処理やピクセル処理は、シェーディング言語によって記述されたシェーダプログラムによって、ポリゴン(プリミティブ)の描画処理をプログラム可能にするハードウェア、いわゆるプログラマブルシェーダ(頂点シェーダやピクセルシェーダ)により実現されてもよい。プログラマブルシェーダでは、頂点単位の処理やピクセル単位の処理がプログラム可能になることで描画処理内容の自由度が高く、ハードウェアによる固定的な描画処理に比べて表現力を大幅に向上させることができる。
そして、描画部220は、オブジェクトを描画する際に、ジオメトリ処理、テクスチャマッピング、隠面消去処理、αブレンディング等を行う。
ジオメトリ処理では、オブジェクトに対して、座標変換、クリッピング処理、透視投影変換、或いは光源計算等の処理を行う。そして、ジオメトリ処理後(透視投影変換後)のオブジェクトデータ(オブジェクトの頂点の位置座標、テクスチャ座標、色データ(輝度データ)、法線ベクトル、或いはα値等)を記憶部270に記憶する。
テクスチャマッピングでは、記憶部270のテクスチャ記憶部に記憶されるテクスチャ(テクセル値)をオブジェクトにマッピングする処理を行う。具体的には、オブジェクトの頂点に設定(付与)されるテクスチャ座標等を用いて記憶部270のテクスチャ記憶部からテクスチャ(色(RGB)、α値などの表面プロパティ)を読み出し、2次元の画像であるテクスチャをオブジェクトにマッピングする。この場合に、ピクセルとテクセルとを対応づける処理や、テクセルの補間としてバイリニア補間などを行う。
なお、本実施形態では、オブジェクトを描画する際に、所与のテクスチャをマッピングする処理を行うようにしてもよい。この場合には、マッピングされるテクスチャの色分布(テクセルパターン)を動的に変化させることができる。
また、この場合において、色分布(ピクセルパターン)が異なるテクスチャを動的に生成してもよいし、複数の色分布が異なるテクスチャを予め用意しておき、使用するテクスチャを動的に切り替えるようにしてもよい。またオブジェクト単位でテクスチャの色分布を変化させてもよい。
隠面消去処理では、描画ピクセルのZ値(奥行き情報)が格納されるZバッファ(奥行きバッファ)を用いたZバッファ法(奥行き比較法、Zテスト)による隠面消去処理を行う。すなわち、オブジェクトのプリミティブに対応する描画ピクセルを描画する際に、Zバッファに格納されるZ値を参照するとともに、当該参照されたZバッファのZ値と、プリミティブの描画ピクセルでのZ値とを比較し、描画ピクセルでのZ値が、仮想カメラから見て手前側となるZ値(例えば小さなZ値)である場合には、その描画ピクセルの描画処理を行うとともにZバッファのZ値を新たなZ値に更新する。
αブレンディング(α合成)では、描画部220は、α値(A値)に基づく半透明合成処理(通常αブレンディング、加算αブレンディング又は減算αブレンディング等)を行う。なお、α値は、各ピクセル(テクセル、ドット)に関連づけて記憶できる情報であり、例えば色情報以外のプラスアルファの情報である。α値は、マスク情報、半透明度(透明度、不透明度と等価)、バンプ情報などとして使用できる。
特に、本実施形態での描画部220は、接触検出領域に対応する表示領域に表示させる画像を生成してもよい。表示領域に表示させる画像とは、例えばオブジェクトを含む画像でもよい。
音処理部230は、処理部200で行われる種々の処理の結果に基づいて音処理を行い、BGM、効果音、又は音声などのゲーム音を生成し、音出力部292に出力する。
なお、本実施形態の端末装置20は、1人のプレーヤがコンピュータと対戦するシングルプレーヤモード専用のシステムにしてもよいし、複数のプレーヤがプレーヤユニット群を構成し、又は、敵と味方に分かれて対戦するマルチプレーヤモードも備えるシステムにしてもよい。
また、複数のプレーヤがプレーする場合に、これらの複数のプレーヤに提供するゲーム画像やゲーム音を、1つの端末装置20を用いて生成してもよいし、ネットワーク(伝送ライン、通信回線)などで接続された複数の端末装置20又はサーバ装置10を用いて分散処理により生成してもよい。
[4]本実施形態の手法
[4.1]概要
次に、図5及び図6を用いて本実施形態の手法の概要について説明する。なお、図5は、本実施形態におけるシミュレーションゲームのゲーム画像の一例を示す図であり、図6は、本実施形態の連動移動制御処理の概念を説明するための図である。
本実施形態の端末装置20は、複数のマスから構成されるフィールド(すなわち、マップ)を用いて複数のプレーヤユニットから構成されるプレーヤユニット群と複数の対戦ユニットから構成される対戦ユニット群とを対戦させるシミュレーションゲームを実行する構成を有している。
そして、端末装置20は、ゲームを開始させると、プレーヤユニット群の各プレーヤユニットを行動させるプレーヤユニット群のターンと対戦ユニット群の各ユニットを行動させる対戦ユニット群のターンとを1ターンとするターン制で対戦ゲームを進行させる構成を有している。
すなわち、端末装置20は、攻撃ターンなどの予めプレーヤユニット群及び対戦ユニット群にそれぞれ付与された攻撃及び防御を含む対戦を行う際のターン毎に、マス上の移動
と攻撃(攻撃されている側は防御)を実行する構成を有している。
例えば、本実施形態の端末装置20は、対戦ゲームを開始すると、プレーヤの操作又は自動演算に基づく演算結果に従って、図5に示すように、フィールド300の所定のマス301に、プレーヤキャラクタ、敵キャラクタや移動体などの各ユニット群の各ユニットを配置及び移動させるとともに、当該配置したプレーヤユニット群の各プレーヤユニット(図5の例では、キャラクタA310、キャラクタB320、キャラクタC330、キャラクタD340)と、対戦ユニット群の対戦ユニット(図5の例では、キャラクタ410、キャラクタ420、キャラクタ430)と、をゲーム終了条件が成立するまで、プレーヤユニットのターン及び対戦ユニットのターンを繰り返して対戦ゲームを進行させる、構成を有している。
なお、本実施形態のシミュレーションゲームでは、図5に示すように、正方形の複数のマス301から構成されるスクエア型フィールド(マップ)300を用いており、このマス301が各ユニットの行動単位となってゲームが進行するようになっている。ただし、スクエア型マップ以外に、例えば、正六角形の複数のマスから構成されるヘクス型マップや、自由な形状の複数のマスから構成されるプロヴァンス型マップを採用するようにしてもよい。
また、各マスには、地形属性(例えば、図5に示すような平地510、草原520、森530、川540)が設定されており、この地形属性が各ユニットのユニット移動制御及び連動移動制御に影響を与えるようになっている。特に、各マスの地形属性情報は、ゲームデータ記憶部274にフィールド毎に記憶されている。
さらに、「ゲーム終了条件」には、例えば、対戦ユニット群の各対戦ユニットを全滅させること、対戦ユニット群の特定のユニット(ボスキャラクタのユニット)を倒すこと、制限時間が経過することなどが含まれる。
本実施形態のシミュレーションゲームは、ターン毎に、プレーヤの操作に基づいて、フィールド上において操作対象プレーヤユニットを移動させつつ、当該移動に伴って他のプレーヤユニットを移動させ、可能な限り効率良く対戦ユニットに対する攻撃を行うことが可能な位置に、各プレーヤユニットを配置させるパズル的な要素を有する対戦ゲーム形式のシミュレーションゲームである。
そして、本実施形態の端末装置20は、プレーヤがシングルプレーを行う場合には、プレーヤの操作に基づいて、プレーヤユニット群の各プレーヤユニットの行動(移動制御及び攻撃制御)を決定する一方で、プレーヤユニット群と同様に、各対戦ユニットを移動させつつ、当該移動に伴って他の対戦ユニットを移動させ、可能な限り効率良くプレーヤユニットに対する攻撃を行うことが可能な位置に、各対戦ユニットを配置して攻撃するための行動(移動制御及び攻撃制御)を所定のアルゴリズム(すなわち、自動演算)に基づいて決定し、当該シミュレーションゲームを進行させる、構成を有している。
具体的には、端末装置20は、このような対戦ゲームとして実行されるシミュレーションゲームにおいて、
(1)プレーヤの操作に基づいて、プレーヤのユニットであるプレーヤユニットを、各プレーヤユニットの移動特性に応じて規定された前記フィールド上の移動可能範囲内で移動させて、所望のマスに配置するユニット移動制御処理(プレーヤユニット)と、
(2)プレーヤと対戦する対戦側のユニットである対戦ユニットの移動特性に応じて規定された前記フィールド上の移動可能範囲で移動させて、所定のマスに配置するユニット移動制御処理(対戦ユニット)と、
(3)ユニット移動制御処理(対戦ユニット)を実行して対戦ユニットを所定のマスに配置する際に、当該所定のマスの位置を演算する配置演算処理と、
を実行する、構成を有している。
また、端末装置20は、配置演算処理として、フィールド上の各プレーヤユニットの配置及び各対戦ユニットの配置と、当該各対戦ユニットの移動特性と、に基づいて、最大限の効果を実現するマスの位置であってフィールド上に配置すべき1以上の対戦ユニットにおける最適なマスの位置を演算する最適配置演算処理の実行の可否を、ゲーム状況に応じて制御する、構成を有している。
特に、本実施形態の端末装置20は、配置演算処理として、フィールド上の各プレーヤユニットの配置と、1以上の対戦ユニットの移動特性と、に基づいて、当該1以上の対戦ユニットにおける予め定められた効果を実現するマスの位置を演算する通常配置演算処理を実行し、ゲーム状況に応じて最適配置演算処理及び通常配置演算処理のいずれか一方を選択的に実行させる、構成を有している。
一方、端末装置20は、
(1)攻撃開始などの所定のイベントの開始タイミングから予め定められた時間内(すなわち、制限時間内、例えば、30秒以内)、又は、予め定められた数のマス(すなわち、制限移動距離内、例えば、5マス)を移動するマス数の範囲内などのプレーヤのターンの期間内に、当該プレーヤの操作に基づいて各プレーヤユニットを移動させて所望のマスに配置するユニット移動制御処理(プレーヤユニット)を実行し、
(2)対戦側(すなわち、コンピュータ側)のターンの期間内に、上述のように最適配置演算処理又は通常配置演算処理によって得られた演算結果に基づいて、各対戦ユニットを移動させて所望のマスに配置するユニット移動制御処理(対戦ユニット)を実行し、
(3)配置された各プレーヤユニット及び各対戦ユニットのマスの位置と、各ユニットのキャラクタ特性及び属性及び各種のパラメータを含むユニット特性と、に基づいて、プレーヤユニット群と対戦ユニット群との攻撃制御処などプレーヤユニット群と対戦ユニット群との攻撃及び防御を含む対戦ゲームを自動的に演算する攻撃制御処理を実行し、
ゲームを進行させるようになっている。
そして、端末装置20は、ユニット移動制御処理(プレーヤユニット)中に、プレーヤの操作に基づいて各プレーヤユニットを所与のフィールド上の第1の位置から所望する第2の位置に配置する場合であって、第1の位置から第2の位置までの移動経路上のマスを示す経路対象マスに、他のプレーヤユニット又は対戦ユニットが存在する場合には、該当するユニットを移動対象ユニットとして当該経路対象マスから他のマスに移動させる連動移動制御処理を実行するようになっている。
また、端末装置20は、ユニット移動制御処理(対戦ユニット)中に、ゲームの自動演算結果に基づいて各対象ユニットを所与のフィールド上の第1の位置から所望する第2の位置に配置する場合であって、第1の位置から第2の位置までの移動経路上のマスを示す経路対象マスに、プレーヤユニット又は他の対戦ユニットが存在する場合には、該当するユニットを移動対象ユニットとして当該経路対象マスから他のマスに移動させる連動移動制御処理を実行するようになっている。
例えば、端末装置20は、図6に示すように、プレーヤの操作に基づいて各プレーヤユニットのキャラクタA310を所与のフィールド上の第1の位置302から第2の位置303に配置させた場合であって、第1の位置302から第2の位置303までの移動経路304上のマスを示す経路対象マス305に、他のプレーヤユニットであるキャラクタC330が存在する場合には、当該キャラクタ330を移動対象ユニットとして当該経路対
象マス305から他のマス306に移動させる連動移動制御処理を実行するようになっている。
このような構成を有することによって、本実施形態の端末装置20は、対戦ユニット群において、1以上の対戦ユニットにおけるマスの位置を演算する際に、常に最適なマスの位置を算出することなく、ゲーム状況に応じて最適なマスを算出するか否かを変化させることができるので、対戦ユニットの配置が常にベストになること、及び、その結果、プレーヤが常に劣勢になることを防止することができるようになっている。
したがって、本実施形態の端末装置20は、プレーヤとの実力の均衡を適度に保ちつつ、対戦ゲームを進行させることができるので、ゲームの進行させる上でゲームの興趣性を維持させて魅力有る対戦ゲームを提供することができるようになっている。
なお、本実施形態の端末装置20は、戦闘ゲームやボードゲームなど敵とキャラクタ、カードやコマなどのユニット又はゲーム内の仮想通貨若しくはコイン、経験値、ヒットポイント、ライフエネルギー、攻撃パラメータや恋愛ゲームの感情パラメータなどのパラメータの争奪を行うゲームを、対戦ゲームとして実行してもよい。ただし、以下の説明においては、プレーヤユニット群と対戦ユニット群の対戦ゲームを用いて説明する。
[4.2]ユニット及びユニット特性
次に、図7及び図8を用いて本実施形態におけるユニット及びユニット特性について説明する。なお、図7は、本実施形態のユニット特性に含まれるキャラクタ特性及び移動特性を説明するための図であり、図8は、本実施形態のユニット特性に含まれる攻撃特性を説明するための図である。
移動処理部214は、プレーヤユニット及び対戦ユニットを移動させるユニット移動制御処理を実行する際に、また、当該ユニット移動制御処理を実行している場合であって、移動対象ユニットの経路上に配置された当該移動態様ユニットとは異なる他のユニットを他のマスに移動させる連動移動制御処理を実行する際に、予め規定されたキャラクタ特性及び移動特性を用いる。
特に、ゲーム演算部215は、対戦ユニット群の各対戦ユニットにおけるフィールド上へ配置するマスを決定するための配置演算処理(最適配置演算処理及び通常配置演算処理を含む。)を実行する際に、予め規定されたキャラクタ特性及び移動特性を用いる。
また、ゲーム演算部215は、プレーヤユニット群と対戦ユニット群との対戦を行う攻撃制御処理を実行する場合に、予め規定されたキャラクタ特性及び1以上の攻撃に対する攻撃特性を用いる。
具体的には、本実施形態においては、キャラクタ特性としては、
(A1)例えば、「火」や「水」又は「蠹」、「戦士」や「魔物」などのキャラクタの地形特性(各マスに設定された地形属性との相性を示すパラメータ)や種別などを規定する属性、
(A2)キャラクタのランクを示すパラメータで(すなわち、キャラクタレベル)及びレベルアップに必要なパラメータを示す経験値
(A3)プレーヤユニット又は対戦ユニットの生命力を示すヒットポイント、
(A4)プレーヤユニット又は対戦ユニットを攻撃する際に、対峙した敵に与えるダメージの大きさに影響するパラメータであり、キャラクタレベルがアップすると値(パラメータ)が上昇する攻撃力、
(A5)プレーヤユニット又は対戦ユニットから攻撃を受けた際に、受けたダメージの大
きさに影響するパラメータであり、キャラクタレベルがアップすると値(パラメータ)が上昇する防御力、及び
(A6)攻撃時又は防御時などの戦闘時に優位に働く特殊能力(例えば魔力や運)又は武器などのアイテム、
を用いる。
例えば、図7(A)には、属性「戦士」、キャラクタレベル「1」、経験値「5」、ヒットポイントが「1」、攻撃力「2」、防御力「1」、魔力「0」及び運「1」を示すキャラクタAのキャラクタ特性が規定されていることが示されている。そして、図7(B)には、属性「獣」、キャラクタレベル「2」、経験値「7」ヒットポイントが「2」、攻撃力「1」、防御力「4」、魔力「4」及び運「1」を示すキャラクタBのキャラクタ特性が規定されていることが示されている。
また、移動特性としては、
(B1)フィールドの1マスを移動単位とした場合の1ターンで最大の移動可能なマスの数を示す移動力、
(B2)例えば、「地面」又は「浮遊」などフィールドを移動する際の移動方法を規定する移動タイプ、及び、
(B3)例えば、「右回り」、「左回り」や「制限無し」などの移動制御処理が実行されている際に、連動移動制御処理の対象となった場合の連動移動特性、
を用いる。
例えば、図7(A)には、移動力「3」、すなわち、1ターンで3マスまで移動可能なこと、移動タイプ「地面」及び連動移動特性「右回り」を示すキャラクタAの移動特性が規定されていることが示されている。そして、図7(B)には、移動力「1」、移動タイプ「地面」及び連動移動特性「制限無し」を示すキャラクタBの移動特性が規定されていることが示されている。
なお、本実施形態においては、各ユニットの実際の移動力(最大の移動可能なマスの数)としては、キャラクタ特性の地形特性の値及び各マスに設定された地形属性情報の値を加算した値を用いる。
さらに、攻撃特性は、キャラクタ毎に予め規定された攻撃の種別毎に、登録されており、例えば、本実施形態の攻撃特性には、
(1)打撃系、魔法系やコンボなどの攻撃の種別及び特別な攻撃の可否を示す攻撃種別、(2)攻撃威力のレベルを示す攻撃能力、
(3)フィールドの1マスを攻撃範囲の単位とした場合の攻撃可能なマスの範囲を示す攻撃範囲、
(4)ヒットポイントの高い敵のユニットに対する攻撃か、一番近い敵のユニットに対する攻撃か、又は、敵のボスに対する攻撃かの攻撃の対象を示す攻撃対象、及び、
(5)当該攻撃を発動する際の発動条件、
が含まれる。
例えば、図8(A)には、攻撃種別「打撃系」、攻撃力「1」、攻撃範囲「前方1マス」、攻撃対象「最も近い敵」及び発動条件「なし」を示すキャラクタAにおける攻撃Aの攻撃特性が規定されていることが示されている。そして、図8(B)には、攻撃種別「魔法系」、攻撃力「5」、攻撃範囲「前方2マス及び左右1マス」、攻撃対象「ヒットポイントが一番高い敵」及び発動条件「連動移動制御で3回移動」を示すキャラクタAの攻撃Bの攻撃特性が規定されていることが示されている。
なお、本実施形態においては、各ユニットの実際の攻撃能力としては、上記のように規定された攻撃能力に、キャラクタ特性の攻撃力の値を加算した値を用いる。
一方、本実施形態のシミュレーションゲームにおいては、上記のような特性を有するユニットが、プレーヤの操作によって、又は、コンピュータの演算に基づいて自動敵にデッキに設定されるとともに、プレーヤユニット群と対戦ユニット群とによってターン毎に移動及び攻撃が実行され、対戦ゲームが進行する。
なお、本実施形態においては、ゲームレベル毎やステージ毎など予め定められたターンの期間(例えば、移動可能マス数、移動時間や上述のようなポイント制)によって移動を実行し、当該実行された移動に基づいて攻撃を実行するようになっているが、操作対象プレーヤユニットのユニット特性、又は、デッキに設定されプレーヤユニットの組み合わせ(すなわち、特定のユニット特性の数、種別又は組み合わせ)に応じてターンの期間(具体的には、移動制御処理が実行される期間や攻撃制御処理が実行される期間)が決定されてもよい。
例えば、デッキに設定されプレーヤユニットの組み合わせによってターンの期間を決定する場合において、対戦ゲームが実行されるフィールドが「湖」の場合には、「水」属性を有するユニットの数によってターンの期間が長くしてもよいし、フィールドが「火山」の場合には、「火」属性を有するユニットの移動力(すなわち、最大移動可能なマスの数)の合計値が大きいほどターンの期間が長くなるようにしてもよい。
また、本実施形態においては、フィールドの各マスに設定された地形属性情報に応じて各ユニットにおける移動制御及び攻撃制御が実行されるが、デッキに設定されたユニットの組み合わせに応じて地形属性を変化させてユニットにおける移動制御及び攻撃制御が実行されてもよい。
例えば、フィールドが「湖」の場合には、「水」属性を有するユニットの数が一定数以上の場合には、各マスの水に関する地形属性に基づくマイナス面における移動制御又は攻撃制御への効果をキャンセルし、フィールドが「火山」の場合には、「火」属性を有するユニットの移動力(すなわち、最大移動可能なマスの数)の合計値が一定値以上の場合に、各マスの火に関する地形属性に基づくマイナス面における移動制御又は攻撃制御への効果をキャンセルしてもよい。
[4.3]ユニット移動制御処理
次に、本実施形態のプレーヤユニット及び対戦ユニットにおけるユニット移動制御処理について説明する。
移動処理部214は、ターン毎に、操作検出処理部211によって検出されたそれぞれのプレーヤユニットに対するプレーヤの操作に基づいて、各プレーヤユニットを、当該各プレーヤユニットの移動特性に応じて規定されたフィールド上の移動可能範囲内で移動させる。
(基本的なプレーヤユニットの移動)
移動処理部214は、例えば、現在配置されているマスの位置(以下、「現配置」ともいう。)やプレーヤによって指示された指示位置(スライド操作入力の開始位置)など、所与のフィールド上の第1の位置から、スライド操作入力に従って特定される移動経路となる各マスに沿って移動させつつ、所望する第2の位置としてのプレーヤによって指示されたマスの位置(スライド操作入力の終了位置)に移動する移動制御処理を実行する。
具体的には、移動処理部214は、操作検出処理部211によって所定のプレーヤユニットへのタッチ操作入力が検出されると、当該検出されたプレーヤユニットを操作対象プレーヤユニットに選択する。
この状態において、移動処理部214は、操作検出処理部211によって操作対象プレーヤユニットが選択された際のタッチ操作入力のタッチ状態を維持しつつ、タッチパネル12上のスライド操作入力を検出すると、当該操作対象プレーヤユニットをドラッグしながら当該スライド操作入力に従って移動させる。
そして、移動処理部214は、このようなスライド操作入力中に、タッチパネル12上におけるスライド操作入力が終了して無接触状態となった場合(タッチ操作入力を解除した場合)には、当該無接触状態となったタッチパネル12上の位置を移動終了位置として認識し、タッチ操作入力及びスライド操作入力に基づくプレーヤユニットの移動制御を完了させる。
このとき、移動処理部214は、表示制御部212と連動し、移動制御が完了したプレーヤユニットについては、未だ移動が完了していない他のプレーヤユニットと識別するための表示を実行させる。
なお、移動処理部214は、このようなスライド操作入力中に、制限時間を経過した場合には、当該制限時間を経過したときのタッチパネル12上の位置を移動終了位置として認識し、タッチ操作入力及びスライド操作入力に基づくプレーヤユニットの移動制御を完了させてもよい。
また、移動処理部214は、このようなスライド操作入力中に、制限移動距離に達した場合には、当該制限移動距離を達したときのタッチパネル12上の位置を移動終了位置として認識し、タッチ操作入力及びスライド操作入力に基づくプレーヤユニットの移動制御を完了させてもよい。
さらに、上記の制限時間及び制限移動距離は、例えば、所定のアイテム保有、当該アイテムに基づく利用、当該アイテムを利用した行動、プレーヤのゲームレベルのアップ及び、ヒットポイントや経験値等のゲームに関するパラメータが変更することによって、制限時間の延長又は制限移動距離の拡大が実行される。
上記に加えて、プレーヤユニットの移動制御としては、必ずしもタッチパネル12上での操作である必要はなく、表示部290に表示されたカーソルなどの指示マーカを十字キーなどの操作部材で指定し、かつ、当該操作指定に基づいて、上述のようなプレーヤユニットの移動制御を実行すればよい。
例えば、上述の図6に示すように、移動対象となるプレーヤユニットの現配置のマス302から矢印に沿って所望する第2の位置303までスライド操作入力が実行されると、移動処理部214は、当該矢印に沿って形成される移動経路304に従って操作対象プレーヤユニット(キャラクタA)302を移動させ、第2の位置303に配置する移動制御処理を実行する。
なお、本実施形態においては、1回のターンにおいて各ユニットの移動を少なくとも1回ずつ実行可能に設定してもよいし、移動を実行するために必要なポイントをターン毎に設定するとともに、1回のターンにおいて各プレーヤユニットが使用できるポイントを設定し、各プレーヤユニットが使用できるポイントの範囲内で各プレーヤユニットにおける1回以上の移動を実行可能に設定してもよい。
また、必ずしもプレーヤユニット群の全てのプレーヤユニットを移動させる必要はなく、特定のプレーヤユニットの移動をパスしてもよい。
さらに、移動処理部214は、ターンの期間中においては、スライド操作入力の終了位置に操作対象プレーヤユニットを配置した後であっても、再度スライド操作入力を実行すれば、当該操作対象プレーヤユニットの移動を制御することが可能であるが、ターンの期間終了後においては、その時点の位置に固定し、当該固定した位置によって連動移動制御の対象として再度移動させるか、又は、当該位置を攻撃制御処理の開始位置に設定する。
(移動特性に基づく移動)
移動処理部214は、対戦ユニット群のターンにおいては、ゲーム演算部215における最適配置演算処理又は通常配置演算処理によって演算された演算結果に基づいて、所定のターンの期間内に、各対戦ユニットの移動特性に応じて規定されたフィールド上の移動可能範囲内で移動させる移動制御処理を実行する。
特に、移動処理部214は、最適配置演算処理又は通常配置演算処理によって、各対戦ユニットにおける所与のフィールド上の第1の位置、第2の位置及び移動経路の各情報を取得し、当該取得した各情報に従って各対戦ユニットの移動を制御する。
なお、本実施形態においては、プレーヤユニットと同様に、1回のターンにおいて各ユニットの移動を少なくとも1回ずつ実行可能に設定してもよいし、移動を実行するために必要なポイントをターン毎に設定するとともに、1回のターンにおいて各プレーヤユニットが使用できるポイントを設定し、各対戦ユニットが使用できるポイントの範囲内で各対戦ユニットを実行可能に設定してもよい。
また、プレーヤユニットと同様に、必ずしも対戦ユニット群の全ての対戦ユニットを移動させる必要はなく、特定の対戦ユニットの移動をパスしてもよい。
[4.4]連動移動制御処理
次に、図9〜図14を用いて本実施形態のプレーヤユニット及び対戦ユニットにおける連動移動制御処理について説明する。なお、図9〜図14は、本実施形態のプレーヤユニットにおける連動移動制御処理を説明するための図である。
(連動移動制御処理(プレーヤユニット)の基本原理)
移動処理部214は、各プレーヤユニットにおけるユニット移動制御処理中において、移動中のプレーヤユニット(すなわち、操作対象プレーヤユニット)が所与のフィールド上の第1の位置(すなわち、移動開始位置)から所望する第2の位置(移動終了位置)までの移動経路上のマスを示す経路対象マスに、他のプレーヤユニット又は対戦ユニットが存在する場合には、他のプレーヤユニット又は対戦ユニットを移動対象ユニットとして当該経路対象マスから他のマスに移動させる連動移動制御処理を実行する。
特に、移動処理部214は、操作対象プレーヤユニットが他のプレーヤユニット又は対戦ユニットが存在する経路対象マスの位置を通過するタイミング(以下、「通過タイミング」という。)に、又は、操作対象プレーヤユニットが第2の位置への移動後など当該通過タイミングに関連するタイミングに、移動対象ユニットを当該経路対象マスから他のマスに移動させる。
具体的には、移動処理部214は、経路対象マスに存在する移動対象ユニットを、通過タイミングの直前に存在したマスや移動開始時に存在していたマスなどの操作対象プレー
ヤユニットが存在していたマスに移動させ(すなわち、操作対象プレーヤユニットと移動対象ユニットとのマスの位置を入れ替え)、又は、経路対象マスに存在する移動対象ユニットを、経路対象マスに接して隣接しているマスに移動させる(すなわち、移動対象ユニットを経路対象マスからそれに隣接しているマスに押し出す)。
例えば、上述の図6に示すように、操作対象プレーヤユニット310を移動開始位置302から移動終了位置303にスライド操作入力(移動経路)に沿って移動させる場合であって、経路対象マス305に他のプレーヤユニット330が存在する場合を想定する。
この場合において、移動処理部214は、操作対象プレーヤユニット310がマス306から経路対象マス305に移動する際(すなわち、通過タイミング)に、図9(A)及び(B)に示すように、当該他のプレーヤユニット330を移動対象ユニットとして特定し、かつ、操作対象プレーヤユニット310の通過タイミングの直前に存在したマス306に移動対象ユニット330を移動させる。
すなわち、この場合には、移動処理部214は、通過タイミングに操作対象プレーヤユニット310の位置と移動対象ユニット330の位置(マス)とを入れ替える制御を行う。
また、例えば、上述と同様に、移動開始位置302から移動終了位置303にスライド操作入力(移動経路)304に沿って移動させる場合であって、経路対象マス305に他のプレーヤユニット330が存在する場合を想定する。
この場合において、移動処理部214は、操作対象プレーヤユニット310がマス306から経路対象マス305に移動する際(すなわち、通過タイミング)に、図10(A)及び(B)に示すように、当該他のプレーヤユニット330を移動対象ユニットとして特定し、かつ、操作対象プレーヤユニット310の移動開始位置302のマスに移動対象ユニット330を移動させてもよい。
すなわち、移動処理部214は、通過タイミングより過去のタイミングに存在していた操作対象プレーヤユニットの位置として、操作対象プレーヤユニット310の移動開始位置302に、移動対象ユニットの位置を変更させることも可能である。
(キャラクタ特性等に基づくユニット連動移動制御処理(プレーヤユニット))
移動処理部214は、経路対象マスに存在する移動対象ユニットの移動特性に含まれる連動移動特性、キャラクタ特性に含まれる地形特性、及び、当該経路対象マス又は当該経路対象マスに接して隣接するマス(以下、「経路対象隣接マス」という。)の地形属性情報の少なくともいずれか一方に基づいて、移動対象ユニットに対する移動態様を決定し、移動対象ユニットを当該経路対象マスから他のマスに移動させてもよい。
例えば、移動処理部214は、連動移動特性として、移動対象ユニット330が「左回り」の特性を有している場合には、図11(A)に示すように、左回りで当該移動対象ユニット330のマスの位置を経路対象マス305から移動先のマス306に移動させる。
そして、移動対象ユニット330が「右回り」の特性を有している場合には、図11(B)に示すように、移動態様として左回りを決定し、当該右回りで当該移動対象ユニット330のマスの位置を経路対象マス305から移動先のマス306に移動させる。
なお、図11は、通過タイミングに操作対象プレーヤユニット(図示しない)のマス306の位置と移動対象ユニット330のマス(経路対象マス)305の位置とを入れ替え
る場合の例である。
また、例えば、移動処理部214は、経路対象マスの左側に地形属性として風が流れている場合(右側には風が流れていない)であって、地形特性として、移動対象ユニット330が「風」の属性を有している場合には、移動態様として風が流れている側から移動することを決定し、図12(A)に示すように、操作対象プレーヤユニット(図示しない)の通過タイミングの直前に存在したマス306に移動対象ユニット330を左回りで移動させる。
その一方、フィールドが経路対象マスの前方に山がありその前方に向かって高くなっている斜面の場合であって、地形特性として、移動対象ユニット330が「水」の属性を有している場合には、斜面に沿って大きく移動してしまうこととなり、移動態様として傾斜の低い方から移動することを決定し、図12(B)に示すように、標高が最低となる谷を構成するマス308まで移動させる。
なお、図12(B)の移動対象ユニットの移動方向は「左回り」であるが、当該移動方向は、「右回り」であってもよい。また、図12(B)であっては、標高が最低となる谷を構成するマス308が移動経路304a上であっても、移動経路304b上に当該マス308が上にでない場合であっても当該マス308まで移動させてもよい。
また、図12は、通過タイミングに移動対象ユニット330のマス(経路対象マス)305の位置を変更する場合の例である。
さらに、例えば、移動処理部214は、図13(A)に示すように、地形属性情報として、経路対象マスの右側の経路対象隣接マスが木531などの移動を妨害する地域属性を有している場合には、移動態様として左回りを決定し、図13(B)に示すように、当該左回りで当該移動対象ユニット330のマスの位置を移動させる。
なお、図13は、図11及び図12と同様に、通過タイミングに操作対象プレーヤユニット(図示しない)のマス306の位置と移動対象ユニット330のマス(経路対象マス)305の位置とを入れ替える場合の例である。
他方、本実施形態においては、連動移動特性、地形特性、及び、地形属性情報の複合的な組み合わせによって移動対象ユニットを当該経路対象マスから他のマスに移動させてもよい。
例えば、本実施形態においては、経路対象マスの地形属性が「水」であり、地形特性として、移動対象ユニット330が「水」の属性を有している場合には、移動処理部214は、長距離の移動が可能となるとして、移動態様として長距離移動の実行を決定し、当該移動対象ユニットU2を一番長距離となる操作対象プレーヤユニット310の移動開始位置302のマスに移動対象ユニット330を移動させてもよい。
さらに、本実施形態においては、経路対象マス事態が「橋」や「山道」などの移動経路に対して左右又はいずれか一方に移動不能な拘束要因を有することによってユニットの移動の可否を定める地域特性を有していてもよい。
(その他の連動移動制御処理(プレーヤユニット))
本実施形態においては、操作対象プレーヤユニット及び移動対象ユニットの他に、これらのユニットに近接するプレーヤユニットのキャラクタ特性などによって移動対象ユニットの移動態様を決定してもよい。
具体的に、移動処理部214は、近接するプレーヤユニットと移動対象ユニットとが連携攻撃可能な場合には、移動対象ユニットを連携攻撃が発動可能な経路対象マスなどの特定のマスに移動させてもよい。
例えば、操作対象プレーヤユニット(キャラクタA)310の左側のマスに移動対象ユニット(キャラクタC)330が配置される場合に、操作対象プレーヤユニット(キャラクタA)310と移動対象ユニット(キャラクタC)330との連携攻撃が発動する場合において、図14(A)に示すように、移動対象ユニット(キャラクタC)330が操作対象プレーヤユニット(キャラクタA)310の移動経路304上に存在する場合を想定する。
この場合には、移動処理部214は、図14(B)に示すように、移動対象ユニット(キャラクタC)330を移動終了位置303の左側に接するマス(特定のマス)309に移動させてもよい。
また、本実施形態においては、地形属性又は地域属性によって移動対象ユニットの移動を中止させてもよい。例えば、地形属性情報として、上述の図13(A)に示すように、経路対象マス305の右側の経路対象隣接マスが木531などの移動を妨害する地域属性を有している場合であって、移動対象ユニット330が「右回り」の特性を有している場合には、移動対象ユニットは右回りによる移動ができないことから、移動処理部214は、当該移動対象ユニット330の移動を中止して当該移動対象ユニット330のマスの位置を維持する(すなわち、マス305に留まる)。
なお、本実施形態においては、対戦ユニットを連動移動制御処理の非対象として取り扱ってもよい。すなわち、移動処理部214は、シミュレーションゲームにおける戦略を簡素化するためなど、対戦ユニットのユニット移動制御処理中に、経路対象マスにプレーヤユニットが存在したとしても、当該プレーヤユニットを他のマスに移動させる処理を非実行にする。
(対戦ユニットにおける連動移動制御処理)
本実施形態の移動処理部214は、対戦ユニットにおける連動移動制御処理については、プレーヤユニットにおける連動移動制御処理と同様に、各対戦ユニットにおけるユニット移動制御処理中において、移動中の対戦ユニットが所与のフィールド上の第1の位置から第2の位置までの移動経路上の経路対象マスに、プレーヤユニット又は他の対戦ユニットが存在する場合には、プレーヤユニット又は他の対戦ユニットを移動対象ユニットとして当該経路対象マスから他のマスに移動させる連動移動制御処理を実行する。
また、移動処理部214は、対戦ユニットにおける連動移動制御処理については、プレーヤユニットにおける連動移動制御処理と同様に、キャラクタ特性等に基づいて、又は、対戦ユニットに近接する他の対戦ユニットのキャラクタ特性などに基づいて、移動対象ユニットの移動態様を決定してもよい。
なお、本実施形態においては、プレーヤユニットの連動移動制御処理と同様に、プレーヤユニットを連動移動制御処理の非対象としてもよい。すなわち、移動処理部214は、シミュレーションゲームにおける戦略を簡素化するためなど、対戦ユニットのユニット移動制御処理中に、経路対象マスにプレーヤユニットが存在したとしても、当該プレーヤユニットを他のマスに移動させる処理を非実行にする。
[4.5]ユニット移動制御処理及び連動移動制御処理に基づく効果
次に、本実施形態のユニット移動制御処理及び連動移動制御処理に基づく効果について説明する。
移動処理部214は、移動対象ユニットのユニット移動制御処理によって、他のプレーヤユニット又は対戦ユニットに対して連動移動制御を発動させた場合には、操作対象プレーヤユニット、移動対象ユニット又はその双方に、攻撃制御処理を実行する際に用いる所与の効果を付与する。
具体的には、移動処理部214は、連動移動制御を実行する毎に、攻撃制御処理によって攻撃を行うプレーヤユニットが有するパラメータのアップ、当該プレーヤユニットが有する特定の能力(特殊攻撃)の発動やアイテム(特殊武器)の使用、攻撃制御処理時に用いられる各種のゲージのアップ、及び、他のプレーヤユニットと攻撃を行うコンボ攻撃のユニットとしての選出が含まれる。
具体的には、移動処理部214は、連動移動制御が実行される毎に、操作対象プレーヤユニットであるプレーヤユニット、移動対象ユニットであるプレーヤユニット若しくはその双方のプレーヤユニットが有する攻撃力やヒットポイントなどのパラメータのアップ、又は、当該パラメータのゲージアップを行う。
特に、移動処理部214は、パラメータのアップとしては、パラメータの値で規定されている場合には、現時点で規定されているパラメータの最大値(すなわち、上限値)のアップ又はレベルで規定されている場合には、レベルのアップを行う。
また、移動処理部214は、パラメータのゲージアップとしては、現時点で規定されているパラメータの最大値の範囲を超えない範囲でのパラ−メタのアップ、すなわち、対戦ゲーム中に減少したパラメータの回復を行う。
一方、移動処理部214は、いままでの全てのターン、現在実施しているターン(以下、「現ターン」という。)、及び、予め定められた所定数のターンにおいて、連動移動制御を発動した回数又は連動移動制御によって移動された回数(以下、「移動回数」という。)を計数し、当該計数した移動回数に応じて、操作対象プレーヤユニットであるプレーヤユニット、移動対象ユニットであるプレーヤユニット又はその双方のプレーヤユニットの特定の攻撃の発動、又は、他のプレーヤユニットと連携して攻撃を行うコンボ攻撃の発動を決定する。
例えば、移動処理部214は、現ターン中において、プレーヤユニット群の各プレーヤユニットにおけるユニット移動制御処理によって実行される連動移動制御に基づく移動を計数し、当該計数した移動回数が所定回数以上になった移動対象ユニットについては、攻撃制御処理時にプレーヤユニットの特定の攻撃の発動するためのフラグ、又は、他のプレーヤユニットと連携して攻撃を行うコンボ攻撃の発動するためのフラグを設定する。
なお、ゲーム演算部215は、例えば、コンボ攻撃を発動する場合には、連動移動制御を発動した操作対象プレーヤユニット毎に上記の移動回数をカウントし、一番回数の多い操作対象プレーヤユニットとのコンボ攻撃を発動してもよいし、予め設定されたプレーヤユニット、又は、コンボ攻撃を行うフラグを有するプレーヤユニットに一番近接する他のプレーヤユニットとコンボ攻撃を発動してもよい。
[4.6]ユニット移動制御処理及び連動移動制御処理に基づく表示制御
移動処理部214は、表示制御部212と連動し、操作対象プレーヤユニットや移動した対戦ユニット、又は、移動対象ユニットがマスを移動した場合であって、移動したユニ
ットにおける攻撃対象となる攻撃対象ユニットが存在することになった場合に、又は、当該攻撃対象ユニットが変更された場合に、タッチパネル12上に表示させる。
[4.7]攻撃制御処理
次に、本実施形態のプレーヤユニット群及び対戦ユニット群における攻撃制御処理について説明する。
ゲーム演算部215は、ユニット移動制御処理及び連動移動制御処理を含む移動制御処理によって配置された各プレーヤユニット及び各対戦ユニットの位置と、当該移動制御処理によって設定されたフラグ情報に基づいて、該当するプレーヤユニット及び対戦ユニットに所与の効果を付与しつつ、各プレーヤユニットが対戦ユニットに攻撃する攻撃処理、及び、各対戦ユニットがプレーヤユニットに攻撃する攻撃制御処理を実行する。
具体的には、ゲーム演算部215は、各プレーヤユニットが対戦ユニットを攻撃する場合には、各プレーヤユニットが存在するマスの位置、そのフラグ情報(特殊能力やコンボ攻撃の発動の有無)、そのキャラクタ特性及び攻撃特性と、攻撃範囲に存在する対戦ユニットのキャラクタ特性と、マスやフィールドに設定された地形属性情報と、に基づいて、攻撃制御処理のための自動演算を実行する。
特に、ゲーム演算部215は、キャラクタ特性に含まれる地形特性と、各マスに規定されている地形属性情報に基づいて、各ユニットにおける攻撃力における補正値を算出しつつ、当該算出した補正値に基づいて、攻撃制御処理のための自動演算を実行する。
また、ゲーム演算部215は、対戦ユニットまでの距離、予め定められたルール又はデッキの設定に基づいて、各プレーヤユニットから対戦ユニットへの攻撃制御処理のための自動演算を実行する。
一方、ゲーム演算部215は、各対戦ユニットがプレーヤユニットを攻撃する場合には、各対戦ユニットが存在するマスの位置、フラグ情報(特殊能力やコンボ攻撃の発動の有無)、キャラクタ特性及び攻撃特性と、攻撃範囲に存在するプレーヤユニットのキャラクタ特性と、マスやフィールドに設定された地形属性情報と、に基づいて、攻撃制御処理のための自動演算を実行する。
そして、ゲーム演算部215は、表示制御部212に自動演算結果に基づいてターンにおけるゲーム結果を表示するための表示データを生成させる。
[4.8]配置演算処理
次に、図15〜図17を用いて本実施形態の配置演算処理について説明する。なお、図15及び図16は、本実施形態の対戦ユニットに対する配置演算処理(通常配置演算処理)を説明するための図であり、図17は、本実施形態の対戦ユニットに対する配置演算処理(最適配置演算処理)を説明するための図である。
(配置演算処理の概要)
ゲーム演算部215は、ユニット移動制御処理(対戦ユニット)を実行して対戦ユニット群の各対戦ユニットを所定のマスに配置する際に、当該所定のマスの位置を演算する配置演算処理を実行する。
特に、配置演算処理としては、
(A)フィールド上の各プレーヤユニットの配置及び各対戦ユニットの配置と、当該各対戦ユニットの移動特性と、に基づいて、最大限の効果を実現するマスの位置であってフィ
ールド上に配置すべき1以上の各対戦ユニットにおける最適なマスの位置を一体的に演算する最適配置演算処理と、
(B)フィールド上の各プレーヤユニットの配置と、1以上の対戦ユニットの移動特性と、に基づいて、当該1以上の各対戦ユニットにおける予め定められた効果を実現するマスの位置をそれぞれ演算する通常配置演算処理と、
を含む。
そして、ゲーム演算部215は、ゲーム状況に応じて最適配置演算処理及び通常配置演算処理のいずれか一方を選択的に実行させることによって、ゲーム状況に応じて当該最適配置演算処理の実行の可否を制御する。
特に、本実施形態においては、最適配置演算処理の実行可否の制御としては、対戦ゲーム中において実行される最適配置演算処理の確率制御(0%も含む当選確率)、実行回数、実行時間、又は、実行タイミングの制御が含まれる。
例えば、最適配置演算処理の実行確率(発動確率)の制御としては、ゲーム状況に応じて、発動確率を高確率にし、又は、低確率(0%も含む)にする制御を実行し、最適配置演算処理の実行回数の制御としては、ゲーム状況に応じて、ゲーム全体又はゲームステージなどの各セクションにおける実行回数を増加させ、又は、減少させる制御を実行することができる。
また、例えば、最適配置演算処理の実行時間の制御としては、ゲーム状況に応じて、ゲーム全体又はゲームステージなどの各セクションにおける最適配置演算処理を実行する時間(その時点までに実行された配置演算処理の総実行時間に対して最適配置演算処理が実行された時間)を延長し、又は、短縮させる制御を実行する。
さらに、例えば、最適配置演算処理の実行タイミングの制御としては、ゲーム状況に応じて、対戦ユニットのライフエネルギーが一定以下になった場合や対戦ユニットの数が一定数以下になった場合など、対戦ゲームのどのタイミングで最適配置演算処理を実行するか否かを制御する。
(通常配置演算処理)
ゲーム演算部215は、通常配置演算処理として、フィールド上のプレーヤユニット群の各プレーヤユニットの配置と、1以上の対戦ユニットの移動特性含まれる攻撃対象の情報と、に基づいて、移動範囲内において、当該1以上の各対戦ユニットにおける予め定められた効果としてプレーヤユニットに攻撃して倒すという効果を実現するマスの位置をそれぞれ演算する。
特に、ゲーム演算部215は、ゲーム演算部215は、予め定められた効果を実現するマスの位置として、
(1)対戦ユニットに一番近接するプレーヤユニットを攻撃するための位置、
(2)一番容易に仕留めることが可能なプレーヤユニットを攻撃するための位置、
(3)コンボ攻撃などの他の対戦ユニットと連動してプレーヤユニットを攻撃するための位置、又は、
(4)攻撃対象となっているプレーヤユニットに対して1以上の攻撃種別の中から選択された最大の攻撃を行うことが可能な位置、
を演算する。
具体的には、ゲーム演算部215は、各対戦ユニットに対してユニット移動制御処理を実行させる際に、各対戦ユニットにおける移動特性を取得し、
(A)対戦ユニットに一番近接するプレーヤユニットを攻撃すること、
(B)一番容易に仕留めることが可能なプレーヤユニットを攻撃すること、
(C)コンボ攻撃などの他の対戦ユニットと連動してプレーヤユニットを攻撃すること、及び、
(D)攻撃対象となっているプレーヤユニットに対して1以上の攻撃種別の中から選択された最大の攻撃を行うこと、
などの対象となる対戦ユニットの攻撃特性、選択された最大の攻撃を行うなどの攻撃対象の情報を読み出す。
そして、ゲーム演算部215は、読み出した攻撃対象の情報と、対戦相手となる各プレーヤユニットのキャラクタ特性、各種のパラメータ及びマスの位置と、に基づいて、該当する対戦ユニットの配置位置(すなわち、移動経路を含めてユニット移動制御処理(対象ユニット)における移動開始位置から移動終了位置までの第2の位置)を演算する。
例えば、ユニット移動制御の対象となっている対戦ユニット410の攻撃対象が「一番近接するプレーヤユニットを攻撃する」という特性と、「前方1マス」の攻撃Aの攻撃範囲と、「最大5マス」の移動範囲の各特性を有する場合であって、図15(A)に示すように、キャラクタA310、キャラクタB320及びキャラクタC330のうち、キャラクタA310が対戦ユニット410に一番近接している場合を想定する。
この場合においては、ゲーム演算部215は、演算結果として、図15(B)に示すように、対戦ユニット410をキャラクタA310の攻撃可能な範囲のマス421と、当該攻撃可能な範囲のマス421までの移動経路304を算出する。
一方、1の対戦ユニットにおいて攻撃の種別毎に異なる場合も含めて移動経路が複数ある場合には、ゲーム演算部215は、障害物の有無や他の対戦ユニットのマスの位置に基づいて、又は、ランダムに、移動経路を選択して対戦ユニットを配置するマスの位置を算出する。
すなわち、図16(A)に示すように、「最大5マス」の移動範囲の場合であって、攻撃Aの攻撃範囲(前方1マス及び後方1マス)として移動経路304Aと移動経路304Bが算出され、攻撃B(前方2マス)の攻撃範囲として移動経路304Cが算出可能な場合を想定する。
この場合には、ゲーム演算部215は、障害物の有無や他の対戦ユニットのマスの位置に基づいて、又は、ランダムに、移動経路(例えば、移動経路304B)を選択して対戦ユニットを配置するマスの位置を算出する。
他方、この場合において、ユニット移動制御の対象となっている対戦ユニット410の移動範囲が「最大1マス」の場合には、当該対戦ユニット410をキャラクタA310の攻撃範囲に移動させることができない場合であっても、ゲーム演算部215は、図16(B)に示すように、可能限り近づくマスの位置を算出する。
なお、移動処理部214は、上述のように移動経路を含めて対戦ユニットの移動開始位置及び移動終了位置が算出されると、これらの算出結果に基づいて、他のユニットにおける連動移動制御処理も含めて対戦ユニットの移動制御を実行する。
(最適配置演算処理)
ゲーム演算部215は、最適配置演算処理として、ユニット特性(キャラクタ特性、移動特性及び攻撃特性)と、フィールドを各マスの地域属性と、各プレーヤユニットのユニ
ット特性及びそのパラメータと、に基づいて、対戦ゲームに勝利するにあたり最大限の効果を発揮するためのユニットの配置を決定する処理を実行する。
特に、ゲーム演算部215は、各対戦ユニットの移動制御処理に伴って生じ、対戦ユニット群の各対戦ユニットにおけるプレーヤユニット群への各攻撃制御制処理に基づく攻撃を基準に、各対戦ユニットの最適な配置位置を演算する。
すなわち、本実施形態においては、ゲーム演算部215は、対戦ユニット群における各対戦ユニットの攻撃によってプレーユニット群全体において消失するパラメータが最大となる各対戦ユニットのマスの位置を、対戦ゲームに勝利するにあたり最大限の効果を発揮するための各対象ユニットの配置として算出する。
そして、ゲーム演算部215は、最適配置演算処理としては、本実施形態の攻撃制御処理において、対戦ユニット群の各対戦ユニットが各プレーヤユニットのそれぞれを取り囲むなど複数のユニットによって相手側のユニットを囲んで攻撃する場合には、各プレーヤユニットを総合的に効率よく囲む配置であって、かつ、当該プレーヤユニット群に対して総合的に最大限にダメージを与えることが可能な対戦ユニットの配置位置を決定する処理を実行する。
また、ゲーム演算部215は、原則、各対戦ユニットにおいては、当該対戦ユニットにおいて最大の攻撃力を発揮する攻撃を行うことを前提に各対戦ユニットにおける配置位置を演算する。しかしながら、最大の攻撃力を発揮する攻撃でなくても、連動移動制御処理や連係攻撃など他の対戦ユニットの攻撃によって、当該攻撃が対戦ユニット群の最大の効果を発揮するための攻撃となる場合には、当該最大の攻撃力を発揮する攻撃を行うための配置とは異なる配置を選択する。
具体的には、ゲーム演算部215は、各対戦ユニットにおいて、通常配置演算処理と同様に、フィールド上のプレーヤユニット群の各プレーヤユニットの配置と、1以上の対戦ユニットの移動特性含まれる攻撃対象の情報と、に基づいて、予め規定された移動範囲内において、当該1以上の対戦ユニットにおける予め定められた効果としてプレーヤユニットに攻撃して倒すという効果を実現するマスの位置を演算する。
なお、このとき、ゲーム演算部215は、各対戦ユニットにおいて異なる移動終了位置を含む複数の移動経路を算出した場合には、各移動経路を保持する。
そして、ゲーム演算部215は、複数の移動経路を算出している対戦ユニットにおいては、各対戦ユニットにおいてそれぞれ算出された移動経路に基づいて、複数の移動経路の中から、各対戦ユニットにおいて各プレーヤユニットを総合的に効率よく囲む配置であって、かつ、当該プレーヤユニット群に対して総合的に最大限にダメージを与えることが可能な移動経路の組み合わせを特定し、当該特定した組み合わせに含まれる各移動経路を該当する対戦ユニットの移動経路として決定する。
また、ゲーム演算部215は、該当する対戦ユニットにおいて複数の移動経路から1の移動経路を特定する場合には、連動移動制御処理によって移動された回数に基づく連係攻撃の発動や特別な攻撃の実行など、各対戦ユニット又は各プレーヤユニットにおける連動移動制御処理に基づいて付与される所定の効果によって生じる攻撃を含んで各対戦ユニットの移動経路として決定する。
例えば、キャラクタ特定などによって、図17(A)に示すように、各対戦キャラクタとしては次の移動経路が算出可能である場合を想定する。
(1)対戦ユニット410及び対戦ユニット420が、それぞれキャラクタB320及びキャラクタD340に対して攻撃を行うものとして特定され、それぞれの対戦ユニット410及び対戦ユニット420の移動範囲が「最大3マス」であって攻撃可能範囲(前方1マス)の攻撃を行うための移動終了位置402までの移動経路411、及び、同様に、移動終了位置403までの移動経路422が算出可能である。
(2)移動範囲が「最大3マス」の対戦ユニット430におけるキャラクタA310に対する攻撃A(攻撃力:1及び攻撃範囲:前方1マス)を行う移動終了位置404までの移動経路431が算出可能である。
(3)移動範囲が「最大3マス」の対戦ユニット430におけるキャラクタC330に対する攻撃B(攻撃力:5及び攻撃範囲:前方2マス)を行う移動終了位置405までの移動経路432が算出可能である。
(4)キャラクタA310には攻撃Bの攻撃は無効であり、それに基づく移動経路は選択できない。
(5)各対戦ユニット及び各プレーヤユニットにおける連動移動制御処理に基づく移動は発生しない。
この場合には、ゲーム演算部215は、対戦ユニット410及び対戦ユニット420については、(1)及び(2)のように、移動経路を特定するとともに、対戦ユニット430については、プレーヤユニット全体として移動経路432に基づく攻撃Bが移動経路431に基づく攻撃Aより大きなダメージをプレーヤユニットに与えることができるので、対戦ユニット430を移動経路432によって移動させることを選択する。
また、本実施形態の最適配置演算処理においては、図16(B)に示すように、特定の対戦ユニット410を当該対戦ユニット410のユニット移動制御処理によって移動させたとしても攻撃範囲(前方及び後方1マス)内にいずれのプレーヤユニットが存在しない場合も想定される。
この場合においては、図17(B)に示すように、他の対戦ユニット420のユニット移動制御処理において、移動経路435上の対戦ユニット410を、図16(B)の位置から連動移動制御処理によってさらに移動させて攻撃範囲にキャラクタA310(具体的には、対戦ユニット410の前方1マスにキャラクタA)が存在するように配置させることもできる。
そこで、このような場合には、対戦ユニット全体として最大限の攻撃ができるように各対戦ユニットの配置を制御する。
すなわち、この場合においては、対戦ユニット420において、キャラクタB320に攻撃可能なマスに移動する移動経路435と移動経路436の双方を算出可能である。その一方、移動経路436で移動した場合よりも移動経路437で移動した場合の方が、他の対戦ユニット410をキャラクタA310に対して攻撃可能範囲に移動させ、対戦ユニット群全体として、プレーヤユニット群に対して総合的に最大限にダメージを与えることが可能になる。
したがって、この場合には、ゲーム演算部215は、最適配置演算処理としては、対戦ユニと420について移動経路435を選択する。
なお、図17(B)の場合には、対戦ユニット410及び対戦ユニット420の攻撃可能範囲が「前方及び後方に1マス」であって、対戦ユニットの移動可能範囲が「最大1マス」及び対戦ユニット420の移動可能範囲が「最大3マス」の場合である。
一方、ゲーム演算部215は、ゲーム状況に応じて、最適配置演算処理及び通常配置演算処理のいずれか一方を選択的に実行させて最適配置演算処理の実行の可否を制御する。
具体的には、ゲーム演算部215は、ゲーム状況として
(1)プレーヤのゲームレベルや経験値、
(2)所定のキャラクタレベルを有するプレーヤユニットがプレーヤユニット群に含まれる場合などのプレーヤユニットのパラメータ
(3)当該プレーヤユニットの各種の能力が向上した進化(例えば、属性、能力や特性の変化及びそれに基づく各パラメータの変動範囲における上限値のアップ)、
(4)プレーヤが所有するアイテムやそのターンのために実行可能にセットしたアイテム、
(5)進行中のゲームステージの種類やレベル、
(6)プレーヤユニット群と対戦ユニット群との総合的なキャラクタレベルや経験値などの能力差、又は、最高の能力や最低の能力を有するプレーヤや最高の能力や最低の能力を有する対戦ユニットとの能力差、
(7)ガチャによる抽選結果(最適配置演算処理の実行かその回避かを決めるためのガチャ)、及び、
(8)課金状況(課金による最適配置演算処理の実行回避の選択)や課金額(今までの課金額が一定額以上であれば最適配置演算処理の実行を回避可能)、
に応じて、最適配置演算処理の実行の可否を制御する。
例えば、ゲーム演算部215は、(1)の場合には、特定のプレーヤユニットや全てのプレーヤユニットが特定のアイテムを有する場合に、最適配置演算処理の実行の当選確率を高くし、又は、実行回数や実行時間を多くして配置演算処理を実行させる。
また、ゲーム演算部215は、(2)の場合には、プレーヤユニットのヒットポイントなどのパラメータが少なくなるに従って、最適配置演算処理の実行の当選確率を低くし、又は、実行回数や実行時間を少なくして配置演算処理を実行させる。
また、ゲーム演算部215は、(3)の場合には、各プレーヤユニットにおける進化した回数が多くなるに従って、又は、プレーヤのゲームレベルや経験値が高くなるに従って、最適配置演算処理の実行の当選確率を高くし、又は、実行回数や実行時間を多くして配置演算処理を実行させる。
また、ゲーム演算部215は、(4)の場合には、例えば、ボーナスステージの場合に、最適配置演算処理の実行の当選確率を低くし、又は、実行回数や実行時間を少なくして配置演算処理を実行させる。
なお、ゲーム演算部215は、(5)の場合には、例えば、ゲームステージのステージレベルが高くなるに従って、最適配置演算処理の実行の当選確率を高くし、又は、実行回数や実行時間を多くして配置演算処理を実行させてもよい。
また、ゲーム演算部215は、(6)の場合には、プレーヤユニット群が対戦ユニット群より能力差が一定以上低い場合に、最適配置演算処理の実行の当選確率を低くし、又は、実行回数や実行時間を少なくして配置演算処理を実行させるとともに、当該能力差が近づくに従って最適配置演算処理の実行の当選確率を高くし、又は、実行回数や実行時間を多くして配置演算処理を実行させる。
また、ゲーム演算部215は、(7)の場合には、事前に実施されたガチャの抽選結果によって当選した場合には、最適配置演算処理の実行の当選確率を低くし、又は、実行回
数や実行時間を少なくして配置演算処理を実行させる。
また、ゲーム演算部215は、(8)の場合には、配置演算処理の実行時点までの課金額が一定以上の場合、又は、その時点で所定の課金を行った場合に、最適配置演算処理の実行の当選確率を低くし、又は、実行回数や実行時間を少なくして配置演算処理を実行させる。
他方、ゲーム演算部215は、最適配置演算処理としては、上記に代えて以下に説明する演算処理を用いてもよい。
具体的には、ゲーム演算部215は、
(1)各プレーヤユニットの種別、攻撃力や攻撃範囲及び配置位置、
(2)プレーヤにおける作戦データ(プレーヤユニットの全体としての作戦であって、例えば、攻撃重視、特定の対戦ユニットを狙って攻撃する作戦、又は、守りを固める作戦などの作戦)、並びに、
(3)各対戦ユニットの種別、攻撃力や攻撃範囲及び配置位置、
を取得する。
そして、ゲーム演算部215は、(1)〜(3)の情報に基づいて、各対戦ユニットの最適な配置位置を決定し、当該最適な配置位置以外の次点の配置候補を複数決定し、最適な配置位置に該当する対戦ユニットが移動する際の移動回数を特定する。
特に、ゲーム演算部215は、移動回数としては、現在の配置位置から1回の移動で最適な配置位置に到達できるか又は2回の移動で最適な配置位置に到達できるかなど最適な配置位置に到達できる移動回数を特定する。
このとき、ゲーム演算部215は、移動回数が所定回数以下(例えば、対戦ユニットやプレーヤユニットのユニット数以下)の場合には、各対戦ユニットにおける配置位置を最適な配置位置に設定し、移動回数が所定回数より多い場合には、次点の配置候補に対して、最適な配置位置の場合と同様に、該当する対戦ユニットが移動する際の移動回数を特定する。
そして、ゲーム演算部215は、移動回数に基づいて次点の配置候補の位置を配置位置に設定するか、他の次点の配置候補の位置を配置位置に設定するか否かを決定する。なお、ゲーム演算部215は、移動回数が所定回数以下の配置候補を検出するまで上記の処理を繰り返して実行する。
する。
なお、移動処理部214は、各対戦ユニットによって配置位置が算出された結果に基づいて、当該各配線ユニットをフィールド上の適したマスに移動させる。
(最適配置演算処理に関する表示制御)
表示制御部213は、移動処理部214によって最適配置演算処理に基づいて算出された移動経路及びマスの位置(移動経路も含む。)に従って各対戦ユニットが移動している最中に及び攻撃している最中に、当該移動及び攻撃が最適配置辺算処理によって算出された移動経路及びマスの位置に基づいて実行されている旨(以下、「最適配置演算処理の実行中を示す旨」という。)をプレーヤに通知する。
具体的には、表示制御部213は、上記の最適配置演算処理の実行中を示す画像をタッチパネル12に表示させる。ただし、本実施形態においては、最適配置演算処理の実行中
を示す旨を画像として表示する点に代えて、その旨を音出力部292(スピーカ)から音によって通知してもよい。
(他の対戦ゲームにおける最適配置演算処理)
本実施形態においては、対戦ゲームをシミュレーションゲームとして説明しているが、他の対戦ゲームにおいても実行可能である。例えば、パズルなどの1又は複数のプレーヤユニットを移動させることによって敵のユニットを消すゲームに用いる場合には、ゲーム演算部215は、最適配置演算処理としては、例えば、プレーヤユニットを効率的に最大限の対戦ユニットを消すため配置を決定する処理を実行してもよい。
また将棋やオセロなどのターン毎に1のユニットの位置を決めて勝利を目指す対戦ゲームの場合には、ゲーム演算部215は、最適配置演算処理としては、例えば、最短の手数(ターン回数)や時間で勝利するためのいずれかのユニットの位置(すなわち、一手)を決定する処理を実行してもよい。
[5]本実施形態における動作
次に、図18〜図20を用いて本実施形態の端末装置20によって実行されるプレーヤユニット群における移動制御処理及び攻撃制御処理の動作について説明する。なお、図18は、本実施形態の端末装置20によって実行されるプレーヤユニット群における移動制御処理及び攻撃制御処理の動作を示すフローチャートであり、図19は、本実施形態の端末装置20によって実行される対戦ユニット群における移動制御処理及び攻撃制御処理の動作を示すフローチャートである。また、図20は、本実施形態の端末装置20によって実行される対戦ユニット群における配置演算処理の動作を示すフローチャートである。
本動作は、原則的には端末装置20において実行される処理である。ただし、一部の処理においては、サーバ装置10と連動することによって実行されることも可能となっている。
また、本動作においては、予めプレーヤによって又はコンピュータによってプレーヤユニット群又は対戦ユニット群におけるデッキが設定されているものと、プレーヤユニット群の移動及び攻撃を先行とする。
さらに、本動作においては、全てのプレーヤユニット及び対戦ユニットを操作対象とし、プレーヤユニット毎及び対戦ユニット毎に移動制御処理を実行するものとする。ただし、ターンの期間をプレーヤユニット群毎に設定し、当該ターン期間内であれば、各プレーヤユニットを1回ずつ移動させる必要がなく、移動させないプレーヤユニットがあってもよいし、複数回移動させるプレーヤユニットがあってもよい。
(プレーヤユニットにおける移動制御処理)
まず、移動処理部214は、プレーヤユニット群のターンの開始を検出すると(ステップS101)、プレーヤの操作に基づいて又は予め定められた順番に従って操作対象プレーヤユニットを特定する(ステップS102)。
次いで、移動処理部214は、操作検出処理部211による操作対象プレーヤユニットに対するスライド操作入力などによって、当該操作対象プレーヤユニットにおける第1の位置(移動開始位置)、第2の位置(移動終了位置)及び移動経路を検出する(ステップS103)。
次いで、移動処理部214は、検出した第1の位置、第2の位置及び移動経路に従って第1の位置から第2の位置に、かつ、マス毎に、特定した操作対象プレーヤユニットを移
動させるユニット移動制御処理を開始する(ステップS104)。例えば、移動処理部214は、特定された操作対象プレーヤユニットを強調表示にし、又は、移動経路を表示するなど所定の処理を実行する。
次いで、移動処理部214は、第1の位置又は前回の位置から経路対象マスを1つ進め(ステップS105)、経路対象マスに他のユニット(他のプレーヤユニット又は対戦ユニット)が存在しているか否かを判定する(ステップS106)。
このとき、移動処理部214は、経路対象マスに他のユニットが存在していないと判定した場合には、移動終了マスか否かを判定し(ステップS110)、当該移動終了マスでないと判定した場合には、ステップS105の処理に戻り、当該移動終了マスと判定した場合には、本動作を終了させる。
一方、移動処理部214は、経路対象マスに他のユニットが存在していると判定した場合には、当該他のユニットに基づく上述のような連動移動制御処理を実行し(ステップS107)ステップS110の処理に移行する。
次いで、移動処理部214は、操作対象プレーヤユニットとして未だ移動制御処理を実行していないプレーヤユニットがあるか否かを判定し(ステップS111)、当該未だ移動制御処理を実行していないプレーヤユニットがある場合には、ステップS102の処理に移行する。
他方、ゲーム演算部215は、未だ移動制御処理を実行していないプレーヤユニットがないと判定した場合(すなわち、全てのプレーヤユニットに対して移動制御処理を実行したと判定した場合)には、各プレーヤユニットの第2の位置と、当該プレーヤユニットのキャラクタ特性及び攻撃特性と、他のユニットの配置及びキャラクタ特性と、に基づいて、プレーヤユニット群を構成する各プレーヤユニットに対する攻撃制御処理を実行する(ステップS112)。
次いで、ゲーム演算部215は、対戦ユニットが全滅したか否かを判定し(ステップS113)、対戦ユニットが全滅したと判定した場合には、ゲーム終了処理を実行して(ステップS114)本動作を終了させる。
また、ゲーム演算部215は、対戦ユニットが全滅していないと判定した場合には、対戦ユニットにおけるステップS201の移動制御処理を開始させて(ステップS115)、本動作を終了させる。
(対戦ユニットにおける移動制御処理)
まず、移動処理部214によって対戦ユニット群のターンの開始が検出されると(ステップS200)、ゲーム演算部215は、配置演算処理によって各対象ユニットにおける第1の位置(移動開始位置)に基づく第2の位置(移動終了位置)及び移動経路を算出する(ステップS201)。なお、当該配置演算処理の詳細は、図20を用いて後述する。
次いで、移動処理部214は、ゲーム演算部215において自動演算によって算出された対象ユニット又は予め定められた順番に従って対象ユニットを特定する(ステップS202)。
次いで、移動処理部214は、ゲーム演算部215において自動演算された演算結果に基づいて、特定した対戦ユニットにおける第1の位置(移動開始位置)に基づく第2の位置(移動終了位置)及び移動経路を決定する(ステップS203)。
次いで、移動処理部214は、検出した第1の位置、第2の位置及び移動経路に従って第1の位置から第2の位置に、かつ、マス毎に、特定した対戦ユニットを移動させるユニット移動制御処理を開始する(ステップS204)。例えば、移動処理部214は、特定された操作対象プレーヤユニットを強調表示にし、又は、移動経路を表示するなど所定の処理を実行する。
次いで、移動処理部214は、第1の位置又は前回の位置から経路対象マスを1つ進め(ステップS205)、経路対象マスに他のユニット(プレーヤユニット又は他の対戦ユニット)が存在しているか否かを判定する(ステップS206)。
このとき、移動処理部214は、経路対象マスに他のユニットが存在していないと判定した場合には、移動終了マスか否かを判定し(ステップS210)、当該移動終了マスでないと判定した場合には、ステップS205の処理に戻り、当該移動終了マスと判定した場合には、本動作を終了させる。
一方、移動処理部214は、経路対象マスに他のユニットが存在していると判定した場合には、当該他のユニットに基づく上述のような連動移動制御処理を実行し(ステップS207)ステップS210の処理に移行する。
次いで、移動処理部214は、未だ移動制御処理を実行していない対戦ユニットがあるか否かを判定し(ステップS211)、当該未だ移動制御処理を実行していない対戦がある場合には、ステップS202の処理に移行する。
他方、ゲーム演算部215は、未だ移動制御処理を実行していない対戦ユニットがないと判定した場合(すなわち、全ての対戦ユニットに対して移動制御処理を実行したと判定した場合)には、各対戦ユニットの第2の位置と、当該対戦ユニットのキャラクタ特性及び攻撃特性と、他のユニットの配置及びキャラクタ特性と、に基づいて、対戦ユニット群を構成する各対戦ユニットに対する攻撃制御処理を実行する(ステップS212)。
次いで、ゲーム演算部215は、プレーヤユニットが全滅したか否かを判定し(ステップS213)、プレーヤユニットが全滅したと判定した場合には、ゲーム終了処理を実行して(ステップS214)本動作を終了させる。
また、ゲーム演算部215は、プレーヤユニットが全滅していないと判定した場合には、プレーヤユニットにおけるステップS101の移動制御処理を開始させて(ステップS215)、本動作を終了させる。
(対戦ユニットにおける配置演算処理)
まず、ゲーム演算部215は、配置演算処理の実行開始を検出すると(ステップS301)、ゲーム演算部215は、プレーヤのゲームレベルや経験値などゲーム状況に応じて最適配置演算処理を実行するか、通常演算処理を実行するかを判定する(ステップS302)。
例えば、ゲーム演算部215は、ゲーム状況に応じて最適配置演算処理を実行する確率を設定するとともに、当該設定した確率にしたがって抽選を実行し、最適配置演算処理を実行することに当選したか、落選したかを判定する。
このとき、ゲーム演算部215は、最適配置演算処理を実行することに当選したなど最適配置演算処理を実行すると判定すると、上記の最適配置演算処理を実行し(ステップS
303)、ステップS305の処理に移行する。
なお、ゲーム演算部215は、各対戦ユニットのユニット特性(キャラクタ特性、移動特性及び攻撃特性)と、フィールドを各マスの地域属性と、各プレーヤユニットのユニット特性及びそのパラメータと、に基づいて、対戦ゲームに勝利するにあたり最大限の効果を発揮するための各対戦ユニットの配置(移動経路及び移動終了位置)を演算するなど、上述したいずれかの最適配置演算処理を実行する。
一方、ゲーム演算部215は、最適配置演算処理を実行することに落選したなど通常演算処理を実行すると判定すると、対戦ユニット毎に、当該対戦ユニットのユニット特性(キャラクタ特性、移動特性及び攻撃特性)と、フィールドを各マスの地域属性と、各プレーヤユニットのユニット特性及びそのパラメータと、に基づいて、各対戦ユニットの配置(移動経路及び移動終了位置)を演算して決定し(ステップS304)、ステップS305の処理に移行する。
次いで、ゲーム演算部215は、算出した各対戦ユニットにおける移動経路及び移動終了位置を主記憶部271に記憶し(ステップS305)、本動作を終了させて図19のステップS202の処理に移行させる。
[6]その他
本発明は、上記実施形態で説明したものに限らず、種々の変形実施が可能である。例えば、明細書又は図面中の記載において広義や同義な用語として引用された用語は、明細書又は図面中の他の記載においても広義や同義な用語に置き換えることができる。
本実施形態では、RPGのゲームの操作入力として説明しているが、対戦型ゲーム又はシミュレーションゲームなどの他のゲームにおいても用いることがきる。
また、本実施形態は、一のサーバ装置10によって各ゲームを端末装置20に提供してもよいし、複数のサーバ装置10を連動させてサーバシステムを構築し、各ゲームを端末装置20に提供してもよい。
また、本実施形態においては、サーバ装置10によって提供されたゲームを端末装置20によって実行されているが、操作検出処理部211を除き、上記の端末装置20の処理部200の各機能及びゲームプログラムの実行をサーバ装置10で実行し、当該端末装置20は、操作入力とストリーミングによる画像表示を実行することによって、上記のゲームを実現してもよい。
また、本実施形態においては、ゲーム装置に本発明の端末装置を適用しているが、ゲーム装置に限らず、スマートフォン、タブレット型情報端末装置、パーソナルコンピュータ,モニター又はテレビなどのタッチパネルを用いて操作入力を実行可能な端末装置であれば、本発明の端末装置を提供することができる。
また、本実施形態においては、タッチパネルに代えて、十字キーを備えたゲームコントローラ、トラックボールを備えたキーボード、又は、ジョイスティックなどの方向操作を行う事が可能な操作手段を用いることによって実現することができる。
本発明は、実施形態で説明した構成と実質的に同一の構成(例えば、機能、方法及び結果が同一の構成、あるいは目的及び効果が同一の構成)を含む。また、本発明は、実施形態で説明した構成の本質的でない部分を置き換えた構成を含む。また、本発明は、実施形態で説明した構成と同一の作用効果を奏する構成又は同一の目的を達成することができる
構成を含む。また、本発明は、実施形態で説明した構成に公知技術を付加した構成を含む。
上記のように、本発明の実施形態について詳細に説明したが、本発明の新規事項及び効果から実体的に逸脱しない多くの変形が可能であることは当業者には容易に理解できるであろう。したがって、このような変形例はすべて本発明の範囲に含まれるものとする。
10 … サーバ装置
20 … 端末装置
200 … 処理部
101 … 通信制御部
102 … Web処理部
103 … ゲーム演算実行部
104 … ゲーム管理部
120 … 入力部
130 … 表示部
140 … 記憶部
142 … 主記憶部
144 … ゲーム情報
146 … ユーザ情報
180 … 情報記憶媒体
196 … 通信部
200 … 処理部
210 … オブジェクト空間設定部
211 … 操作検出処理部
212 … 表示制御部
214 … 移動処理部
215 … ゲーム演算部
216 … 仮想カメラ制御部
217 … ゲーム管理部
220 … 描画部
230 … 音処理部
270 … 記憶部
271 … 主記憶部
272 … 画像バッファ
273 … ゲームデータ記憶部
274 … ユーザ情報
260 … 入力部
262 … 検出部
280 … 情報記憶媒体
290 … 表示部
291 … 音出力部

Claims (11)

  1. 複数のマスから構成されるフィールド上に複数のユニットを配置することによって対戦ゲームを進行させるプログラムであって、
    前記記憶手段に記憶されているプレーヤのユニットであるプレーヤユニットの移動特性のデータ及び当該プレーヤと対戦する対戦側のユニットである対戦ユニットの移動特性のデータを用いて前記プレーヤユニット及び前記対戦ユニットの移動を制御する手段であって、前記プレーヤの操作に基づいて、前記プレーヤユニットの移動特性に応じて規定された前記フィールド上の移動可能範囲内で当該プレーヤユニットを移動させて、所望のマスに配置する第1移動制御処理と、前記対戦ユニットの移動特性に応じて規定された前記フィールド上の移動可能範囲で当該対戦ユニットを移動させて、所定のマスに配置する第2移動制御処理を実行する移動制御手段、
    記第2移動制御処理を実行して配置対象の前記対戦ユニットを所定のマスに配置する際に、当該所定のマスの位置を自動演算する配置演算処理を実行する演算手段、及び、
    少なくとも、前記プレーヤユニット及び前記対戦ユニットについて前記記憶手段に記憶されている情報と、前記プレーヤユニット及び前記対戦ユニットが配置された配置位置と、に基づいて、当該プレーヤユニットと当該対戦ユニットとの前記対戦をシミュレートする自動演算処理を実行する対戦制御手段、
    としてコンピュータを機能させ、
    前記演算手段が、
    前記配置演算処理として、前記フィールド上の
    (1)各プレーヤユニットの配置、
    (2)各対戦ユニットの配置、及び、
    (3)攻撃を実施するユニットのいずれか1つ又はそれらの組み合わせ、
    の少なくともいずれか一方に基づいて、(a)配置対象の対戦ユニットの移動回数が一定の回数以下によって当該配置対象の対戦ユニットに対して攻撃効果を発揮させるためのマスの位置、(b)前記ユニットを消していくゲームにおける最大数の対戦ユニットを消すための配置対象の対戦ユニットのマスの位置、(c)ターン毎に対戦ユニットとプレーヤユニットとが攻撃を繰り返して実行するゲームにおいて最短のターン数若しくは最短の時
    間で前記プレーヤユニットに勝利するための配置対象の対戦ユニットのマスの位置、のいずれかの位置を、最適なマスの位置として、演算する最適配置演算処理の実行の可否を、ゲーム状況に応じて、制御することを特徴とするプログラム。
  2. 複数のマスから構成されるフィールド上に複数のユニットを配置することによって対戦ゲームを進行させるプログラムであって、
    前記記憶手段に記憶されているプレーヤのユニットであるプレーヤユニットの移動特性のデータ及び当該プレーヤと対戦する対戦側のユニットである対戦ユニットの移動特性のデータを用いて前記プレーヤユニット及び前記対戦ユニットの移動を制御する手段であって、前記プレーヤの操作に基づいて、前記プレーヤユニットの移動特性に応じて規定された前記フィールド上の移動可能範囲内で当該プレーヤユニットを移動させて、所望のマスに配置する第1移動制御処理と、前記対戦ユニットの移動特性に応じて規定された前記フィールド上の移動可能範囲で当該対戦ユニットを移動させて、所定のマスに配置する第2移動制御処理を実行する移動制御手段、
    記第2移動制御処理を実行して前記対戦ユニットを所定のマスに配置する際に、当該所定のマスの位置を自動演算する配置演算処理を実行する演算手段、及び、
    少なくとも、前記プレーヤユニット及び前記対戦ユニットについて前記記憶手段に記憶されている情報と、前記プレーヤユニット及び前記対戦ユニットが配置された配置位置と、に基づいて、当該プレーヤユニットと当該対戦ユニットとの前記対戦をシミュレートする自動演算処理を実行する対戦制御手段、
    としてコンピュータを機能させ、
    前記移動制御手段が、
    配置対象のプレーヤユニット及び対戦ユニットの移動が実行された場合に、当該配置対象のユニットの移動に応じて他のユニットを他のマスに移動させる連動移動制御処理を実行し、
    前記演算手段が、
    配置対象の対戦ユニットの配置位置と、当該配置対象の対戦ユニットの移動に伴う前記連動移動制御処理によって移動される各ユニットの配置位置と、に基づいて、前記対戦ユニットと前記プレーヤユニットとの対戦をシミュレートする前記自動演算処理を実行した場合に、当該対戦によって前記プレーヤユニットに対して前記対戦ユニットとして最大の効果を発揮する、当該配置対象の対戦ユニットが配置されるマスの位置を演算する最適配置演算処理の実行の可否を、ゲーム状況に応じて、制御する前記配置演算処理を実行することを特徴とするプログラム。
  3. 請求項2に記載のプログラムにおいて、
    前記対戦制御手段が、
    前記記憶手段に記憶される前記ユニット毎に設定された攻撃能力と、前記プレーヤユニット群及び前記対戦ユニット群それぞれのマスの配置と、に基づいて、相互に攻撃する前記対戦をシミュレートする自動演算処理を実行し、攻撃制御処理を実行する、プログラム。
  4. 請求項1〜3のいずれか1項に記載のプログラムにおいて、
    前記演算手段が、
    前記配置演算処理として、前記フィールド上の攻撃対象となるプレーヤユニットの配置と、前記1以上の攻撃を実施する対戦ユニットの移動特性と、に基づいて、当該1以上の攻撃を実施する対戦ユニットにおける予め定められた効果を実現するマスの位置を自動演算する通常配置演算処理と、前記最適配置演算処理と、のいずれか一方を、前記ゲーム状況に応じて、選択的に実行させる、プログラム。
  5. 請求項1〜4のいずれか1項に記載のプログラムにおいて、
    前記演算手段が、
    前記ゲーム状況として前記プレーヤユニットと前記対戦ユニットとの能力差、又は、1以上の前記プレーヤユニットから構成されるプレーヤユニット群と1以上の前記対戦ユニットから構成される対戦ユニット群から構成されるとの能力差に応じて、前記最適配置演算処理の実行確率を変化させる、プログラム。
  6. 請求項1〜4のいずれか1項に記載のプログラムにおいて、
    前記演算手段が、
    前記プレーヤのゲームレベルに応じて、前記最適配置演算処理の実行確率を変化させる、プログラム。
  7. 請求項1〜6のいずれか1項に記載のプログラムにおいて、
    前記最適配置演算処理に基づいて前記攻撃を実施する対戦ユニットを配置するマスの位置が算出された場合には、当該算出された旨をプレーヤに通知する通知制御手段として更に前記コンピュータを機能させる、プログラム。
  8. 請求項1〜6のいずれか1項に記載のプログラムにおいて、
    前記攻撃を実施する前記プレーヤユニットの配置位置が前記演算手段によって自動的に演算にされている場合には、当該自動的に演算されている旨プレーヤに通知する通知制御手段として更に前記コンピュータを機能させる、プログラム。
  9. 請求項1〜7のいずれか1項に記載のプログラムにおいて、
    前記最適配置演算処理の実行可否の制御には、前記対戦ゲーム中に実行される最適配置演算処理の実行確率、実行回数、実行時間、及び、実行タイミングの少なくともいずれか1の制御が含まれる、プログラム。
  10. 複数のマスから構成されるフィールド上に複数のユニットを配置することによって対戦ゲームを進行させるゲーム装置であって、
    前記記憶手段に記憶されているプレーヤのユニットであるプレーヤユニットの移動特性のデータ及び当該プレーヤと対戦する対戦側のユニットである対戦ユニットの移動特性のデータを用いて前記プレーヤユニット及び前記対戦ユニットの移動を制御する手段であって、前記プレーヤの操作に基づいて、前記プレーヤユニットの移動特性に応じて規定された前記フィールド上の移動可能範囲内で当該プレーヤユニットを移動させて、所望のマスに配置する第1移動制御処理と、前記対戦ユニットの移動特性に応じて規定された前記フィールド上の移動可能範囲で当該対戦ユニットを移動させて、所定のマスに配置する第2移動制御処理を実行する移動制御手段と、
    前記第1移動制御処理又は前記第2移動制御処理を実行して前記対戦ユニットを所定のマスに配置する際に、当該所定のマスの位置を自動演算する配置演算処理を実行する演算手段と、
    少なくとも、前記プレーヤユニット及び前記対戦ユニットについて前記記憶手段に記憶されている情報と、前記プレーヤユニット及び前記対戦ユニットが配置された配置位置と、に基づいて、当該プレーヤユニットと当該対戦ユニットとの前記対戦をシミュレートする自動演算処理を実行する対戦制御手段と、
    を備え、
    前記演算手段が、
    前記配置演算処理として、前記フィールド上の
    (1)各プレーヤユニットの配置、
    (2)各対戦ユニットの配置、及び、
    (3)攻撃を実施するユニットのいずれか1つ又はそれらの組み合わせ、
    の少なくともいずれか一方に基づいて(a)配置対象の対戦ユニットの移動回数が一定の
    回数以下によって当該配置対象の対戦ユニットに対して攻撃効果を発揮させるためのマスの位置、(b)前記ユニットを消していくゲームにおける最大数の対戦ユニットを消すための配置対象の対戦ユニットのマスの位置、(c)ターン毎に対戦ユニットとプレーヤユニットとが攻撃を繰り返して実行するゲームにおいて最短のターン数若しくは最短の時間で前記プレーヤユニットに勝利するための配置対象の対戦ユニットのマスの位置、のいずれかの位置を、最適なマスの位置として、演算する最適配置演算処理の実行の可否を、ゲーム状況に応じて制御することを特徴とするゲーム装置。
  11. 複数のマスから構成されるフィールド上に複数のユニットを配置することによって対戦ゲームを進行させるゲーム装置であって、
    前記記憶手段に記憶されているプレーヤのユニットであるプレーヤユニットの移動特性のデータ及び当該プレーヤと対戦する対戦側のユニットである対戦ユニットの移動特性のデータを用いて前記プレーヤユニット及び前記対戦ユニットの移動を制御する手段であって、前記プレーヤの操作に基づいて、前記プレーヤユニットの移動特性に応じて規定された前記フィールド上の移動可能範囲内で当該プレーヤユニットを移動させて、所望のマスに配置する第1移動制御処理と、前記対戦ユニットの移動特性に応じて規定された前記フィールド上の移動可能範囲で当該対戦ユニットを移動させて、所定のマスに配置する第2移動制御処理を実行する移動制御手段と、
    前記第2移動制御処理を実行して前記対戦ユニットを所定のマスに配置する際に、当該所定のマスの位置を自動演算する配置演算処理を実行する演算手段と、
    少なくとも、前記プレーヤユニット及び前記対戦ユニットについて前記記憶手段に記憶されている情報と、前記プレーヤユニット及び前記対戦ユニットが配置された配置位置と、に基づいて、当該プレーヤユニットと当該対戦ユニットとの前記対戦をシミュレートする自動演算処理を実行する対戦制御手段と、
    を備え、
    前記移動制御手段が、
    配置対象のプレーヤユニット及び対戦ユニットの移動が実行された場合に、当該配置対象のユニットの移動に応じて他のユニットを他のマスに移動させる連動移動制御処理を実行し、
    前記演算手段が、
    配置対象の対戦ユニットの配置位置と、当該配置対象の対戦ユニットの移動に伴う前記連動移動制御処理によって移動される各ユニットの配置位置と、に基づいて、前記対戦ユニットと前記プレーヤユニットとの対戦をシミュレートする前記自動演算処理を実行した場合に、当該対戦によって前記プレーヤユニットに対して前記対戦ユニットとして最大の効果を発揮する、当該配置対象の対戦ユニットが配置されるマスの位置を演算する最適配置演算処理の実行の可否を、ゲーム状況に応じて、制御する前記配置演算処理を実行することを特徴とするゲーム装置。
JP2015183420A 2015-09-16 2015-09-16 ゲーム装置及びプログラム Active JP6630522B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2015183420A JP6630522B2 (ja) 2015-09-16 2015-09-16 ゲーム装置及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015183420A JP6630522B2 (ja) 2015-09-16 2015-09-16 ゲーム装置及びプログラム

Publications (2)

Publication Number Publication Date
JP2017056000A JP2017056000A (ja) 2017-03-23
JP6630522B2 true JP6630522B2 (ja) 2020-01-15

Family

ID=58388934

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015183420A Active JP6630522B2 (ja) 2015-09-16 2015-09-16 ゲーム装置及びプログラム

Country Status (1)

Country Link
JP (1) JP6630522B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019000133A (ja) * 2017-06-09 2019-01-10 株式会社カプコン ゲームプログラム、ゲーム装置およびサーバ装置
JP6470861B1 (ja) * 2018-06-20 2019-02-13 株式会社Cygames 情報処理プログラム、情報処理システム及び情報処理装置

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007020699A (ja) * 2005-07-13 2007-02-01 Tomy Co Ltd ゲーム装置、その制御方法及びプログラム
JP5879899B2 (ja) * 2011-10-12 2016-03-08 ソニー株式会社 情報処理装置、情報処理方法、及びプログラム
JP6339347B2 (ja) * 2013-11-12 2018-06-06 株式会社バンダイナムコエンターテインメント プログラム、ゲーム装置およびサーバシステム

Also Published As

Publication number Publication date
JP2017056000A (ja) 2017-03-23

Similar Documents

Publication Publication Date Title
JP6782159B2 (ja) プログラム及びゲーム装置
US11167215B2 (en) Game system, method of providing information related to match-up game, and method of executing match-up game
JP7145753B2 (ja) ゲームシステム及びプログラム
US11179641B2 (en) Game system, method of providing a match-up game, and method of executing the match-up game
JP6872401B2 (ja) ゲームシステム及びプログラム
JP2020103798A (ja) ゲームシステム及びプログラム
JP6637662B2 (ja) ゲーム装置及びプログラム
JP7207911B2 (ja) プログラム、ゲームシステム、サーバシステム及びゲーム提供方法
JP7075710B2 (ja) ゲーム装置及びプログラム
JP6960729B2 (ja) サーバシステム及びプログラム
JP6630522B2 (ja) ゲーム装置及びプログラム
WO2019188786A1 (ja) ゲームシステム及びゲーム提供方法
JP7079593B2 (ja) ゲームシステム、ゲーム提供方法及びプログラム
JP6948809B2 (ja) ゲームシステム及びプログラム
JP6900208B2 (ja) ゲームシステム及びプログラム
JP6543488B2 (ja) ゲーム装置及びプログラム
JP7079594B2 (ja) ゲームシステム、ゲーム提供方法及びプログラム
JP7150597B2 (ja) ゲームシステム及びプログラム
JP7291517B2 (ja) ゲームシステム、ゲーム提供方法及びプログラム
JP7377618B2 (ja) ゲームシステム及びプログラム
JP6989363B2 (ja) プログラム、サーバ装置、及びゲームシステム
JP6694944B2 (ja) ゲームシステム及びプログラム
JP7079595B2 (ja) ゲームシステム、ゲーム提供方法及びプログラム
JP2020192420A (ja) ゲームシステム及びプログラム
JP2020044101A (ja) ゲームシステム及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180809

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190313

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190403

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190603

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20191119

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20191209

R150 Certificate of patent or registration of utility model

Ref document number: 6630522

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250