JP4804240B2 - Enemy aircraft attack control method of shooting game, apparatus thereof, program thereof, and recording medium thereof - Google Patents

Enemy aircraft attack control method of shooting game, apparatus thereof, program thereof, and recording medium thereof Download PDF

Info

Publication number
JP4804240B2
JP4804240B2 JP2006172831A JP2006172831A JP4804240B2 JP 4804240 B2 JP4804240 B2 JP 4804240B2 JP 2006172831 A JP2006172831 A JP 2006172831A JP 2006172831 A JP2006172831 A JP 2006172831A JP 4804240 B2 JP4804240 B2 JP 4804240B2
Authority
JP
Japan
Prior art keywords
aircraft
attack
time
speed
cell
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.)
Expired - Fee Related
Application number
JP2006172831A
Other languages
Japanese (ja)
Other versions
JP2008000346A (en
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.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
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 Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2006172831A priority Critical patent/JP4804240B2/en
Publication of JP2008000346A publication Critical patent/JP2008000346A/en
Application granted granted Critical
Publication of JP4804240B2 publication Critical patent/JP4804240B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、画面上に表示された自機と敵機とが互いに戦うシューティングゲームの処理技術に関わる。より詳しくは、敵機の攻撃制御の処理に関する。   The present invention relates to a processing technique for a shooting game in which an own aircraft and an enemy aircraft displayed on a screen fight each other. More specifically, it relates to the attack control processing of enemy aircraft.

一般的なシューティングゲームでは、画面上に1つの自機と一つあるいは複数の敵機が表示される。
プレーヤーが適当な入力手段(例えばキーボードのキー、多方向押圧可能なスイッチ、操縦桿などである。)を操作すると、その操作が画面上の自機のW種類の行動に変換され、自機がその操作に応じた行動をする。また、ユーザが適当な入力手段(例えばキーボードのキー、多方向押圧可能なスイッチ、操縦桿に備えられたボタンなどである。)を操作すると、その操作が画面上の自機の攻撃行動に変換され、自機が攻撃弾を発射し、敵機や種々のアイテムに対してダメージを与えることができるようになっている。
In a general shooting game, one player and one or more enemy aircraft are displayed on the screen.
When the player operates an appropriate input means (for example, a key on a keyboard, a switch that can be pressed in multiple directions, a control stick, etc.), the operation is converted into a W-type action of the player's own device on the screen. Act according to the operation. In addition, when the user operates an appropriate input means (for example, a keyboard key, a switch that can be pressed in multiple directions, a button provided on the control stick, etc.), the operation is converted into an attack action of the aircraft on the screen. Then, it can fire its attack bullets and damage enemy aircraft and various items.

一方、敵機の操作は、ネットワーク対戦型シューティングゲームのように、自機を操作するプレーヤーとは異なるプレーヤーによって操作される人間操作型の場合や、あるいは、コンピュータによって操作されるコンピュータ操作型がある。ここで「コンピュータ」とは、いわゆるパーソナルコンピュータのような汎用機の場合に限定されず、ゲーム専用機などを広く指す(以下同様)。また、「コンピュータによる操作」とは、コンピュータのハードウェア資源とコンピュータに実装されたソフトウェアとが協働して情報処理を実現することで、敵機の行動・自機に対する攻撃弾の発射がコンピュータの画面上において表示されることをいう。
コンピュータ操作型の場合、敵機の行動制御及び敵機の自機に対する攻撃弾の発射制御は、コンピュータの制御プログラムに従って処理されている。
On the other hand, the enemy aircraft is operated by a human operation type operated by a player different from the player operating the own device, such as a network battle type shooting game, or a computer operation type operated by a computer. . Here, the “computer” is not limited to a general-purpose machine such as a so-called personal computer, but widely refers to a game-dedicated machine or the like (hereinafter the same). In addition, “computer operation” means that computer hardware resources and software installed on the computer cooperate to realize information processing, and the action of enemy aircraft and the launch of attack bullets against the own aircraft Displayed on the screen.
In the case of the computer operation type, the action control of the enemy aircraft and the firing control of the enemy bullets against the enemy aircraft are processed according to the computer control program.

なお、自機・敵機の「行動」には、「移動」という行動のみならず、「静止」という行動も含まれる。また、自機・敵機が攻撃弾を発射すると、単に攻撃弾の「発射」のみが画面上に表示されるだけでなく、発射された攻撃弾の飛行も表示される。   The “action” of the own aircraft / enemy aircraft includes not only the “movement” action but also the “stationary” action. In addition, when the own or enemy aircraft fires an attack bullet, not only the “fire” of the attack bullet is displayed on the screen, but also the flight of the fired attack bullet is displayed.

シューティングゲームにおける上記の事実は周知であるから、先行技術文献を示すまでもない。   Since the above facts in shooting games are well known, it is not necessary to show prior art documents.

従来のシューティングゲームでは、コンピュータ操作型の場合、敵機の自機に対する攻撃弾の発射制御、つまり敵機の攻撃弾発射時の攻撃弾移動速度決定アルゴリズムは、攻撃弾発射時点の自機位置を狙って攻撃弾速度を決めるか、ランダムな方向に攻撃弾を発射するなどの単純なものに限られていた。ここで「速度」は、画面上に表示される物体の有する、「速さ」と「向き」とを合わせもったベクトル量とする。   In the conventional shooting game, in the case of a computer-operated type, the attack bullet firing control for the enemy aircraft's own aircraft, that is, the attack bullet movement speed determination algorithm at the time of the enemy's attack bullet firing, They were limited to simple things such as aiming to determine the speed of attack bullets or firing attack bullets in random directions. Here, “velocity” is a vector amount having both “speed” and “direction” of an object displayed on the screen.

このような単純なアルゴリズムであるため、従来のシューティングゲームでは、異なる銘柄のシューティングゲームであっても、敵機の攻撃は単調なものであり、敵機の攻撃回避等に必要なプレーヤーの自機操作技術は共通なものになりがちで、シューティングゲーム自体が飽きられやすいものとなっていた。   Because of this simple algorithm, even with different shooting brands in conventional shooting games, the enemy aircraft attack is monotonous, and the player's own machine necessary for avoiding enemy aircraft attacks, etc. The operation techniques tend to be common, and the shooting game itself is easily bored.

このような問題を解決するためには、人工知能の技術をシューティングゲームに導入するのが有効と考えられるが、現在、人工知能におけるゲームの研究は、チェス、オセロ、将棋といった、非アクション系のいわゆる思考ゲームを中心にして行われており(例えば参考文献参照)、人工知能をシューティングゲームのようなアクションゲームに応用する試みはなかった。
(参考文献)Jonathan Schaeffer,H.Jaap van den Herik,“Games,computers,and artificial intelligence”,Artificial Intelligence,2002,Vol.134,p1-7
In order to solve such problems, it is considered effective to introduce artificial intelligence technology into shooting games. Currently, research on games in artificial intelligence is based on non-action systems such as chess, othello, and shogi. It has been conducted mainly in so-called thinking games (see, for example, references), and there has been no attempt to apply artificial intelligence to action games such as shooting games.
(Reference) Jonathan Schaeffer, H. Jaap van den Herik, “Games, computers, and artificial intelligence”, Artificial Intelligence, 2002, Vol. 134, p1-7

また、チェス、オセロ、将棋といった思考ゲームを解くための人工知能技術研究は、深い探索計算を効率的に行うための手法の開発に集中している。このような人工知能技術をシューティングゲームに単純に導入することは全く有意義ではない。何故なら、シューティングゲームの醍醐味は、自機と敵機との仮想戦闘における適度の緊張感の中で、仮想戦闘の早い展開を視覚的に認知し、即時に適切な自機の行動・攻撃を判断し、それを入力手段の正確な操作に即時に反映させ、敵機等を撃破することで一種の達成感を味わうことの連綿性にあるところ、思考ゲームで用いられる人工知能技術を単純にシューティングゲームに導入すると、いくら効率的な探索計算を行うとしても、著しく遅い仮想戦闘の展開となり、シューティングゲームの醍醐味(以下、「遊興性」と云う。)が失われてしまうからである。   Artificial intelligence technology research to solve thinking games such as chess, othello, and shogi is focused on developing methods for efficient deep search computation. It is not at all meaningful to simply introduce such an artificial intelligence technology into a shooting game. This is because the real thrill of shooting games is to visually recognize the rapid development of virtual battles in a moderate tension in virtual battles between the enemy aircraft and enemy aircraft, and immediately take appropriate actions and attacks on the aircraft. Judgment is immediately reflected in the accurate operation of the input means, and it is connected with the feeling of achievement by destroying enemy aircraft etc., but artificial intelligence technology used in thinking games is simply This is because, if introduced into a shooting game, no matter how efficient the search calculation is, the virtual battle will be remarkably slow and the joy of the shooting game (hereinafter referred to as “playing”) will be lost.

そこで本発明は、上記の問題点に鑑み、敵機の攻撃が単調なものとならないシューティングゲームの敵機攻撃制御方法、その装置、そのプログラム及びその記録媒体を提供することを目的とする。   In view of the above problems, an object of the present invention is to provide an enemy aircraft attack control method, an apparatus thereof, a program thereof, and a recording medium thereof for a shooting game in which an enemy aircraft does not attack monotonously.

上記課題を解決するために、本発明では、画面上に自機及び1つあるいは複数の敵機が表示され、敵機がプレーヤーの操作する自機に対して攻撃弾を発射するシューティングゲームの敵機攻撃制御を、次のような構成とする。即ち、まず、敵機が攻撃弾を発射する時点(現時点)において、敵機が現時点より過去の時点で発射した既存攻撃弾あるいは他の敵機が現時点より過去の時点で発射した既存攻撃弾の位置及びその速度、並びに現時点の自機の位置関係に基づいて、現時点より後の各時点で、画面を格子状に分割した各升目において、既存攻撃弾が存在すると予測される位置に対して自機が一定以内の距離に近づかずに升目に存在しうる確率(自機存在確率)を各時点の各升目ごとに求める。次いで、敵機が攻撃弾を発射する速度の2つ以上の候補について、それぞれの候補の速度で発射された攻撃弾が各時点ごとに通過する各升目における自機存在確率の和(自機存在確率和)をそれぞれの速度の候補ごとに求め、自機存在確率和が所定の条件を満たす候補の速度を攻撃弾発射速度として決定する。
このように、敵機が現時点より過去の時点で発射した既存攻撃弾あるいは他の敵機が現時点より過去の時点で発射した既存攻撃弾の位置及びその速度を考慮した上で、画面上における自機の将来の位置(升目)を予測し、予測位置における自機との衝突の可能性が高い攻撃弾の速度を速度候補の中から決定して攻撃弾を発射する。つまり、敵機の攻撃弾の発射に際して、将来において攻撃弾が自機に対して衝突する可能性の高い速度を割り出し、この速度で攻撃弾を発射するのである。
In order to solve the above-mentioned problem, in the present invention, an enemy of a shooting game in which the enemy aircraft and one or more enemy aircraft are displayed on the screen and the enemy aircraft fires an attacking bullet against the own aircraft operated by the player. Aircraft attack control is configured as follows. That is, first, at the time when the enemy aircraft fires an attack bullet (current time), the existing attack bullets that the enemy aircraft fired at a time earlier than the current time, or the existing attack bullets that other enemy aircraft fired at a time earlier than the current time Based on the position and speed of the aircraft, and the current position of the aircraft, at each time after the current time, in each grid where the screen is divided into a grid, The probability that the machine can exist in a cell without approaching a distance within a certain distance (own device existence probability) is obtained for each cell at each time point. Next, for two or more candidates for the speed at which the enemy aircraft fires attack bullets, the sum of the probability of own aircraft in each square where the attack bullets fired at the respective candidate speeds pass at each time point A probability sum) is obtained for each speed candidate, and the speed of a candidate whose own-machine existence probability condition satisfies a predetermined condition is determined as the attack bullet firing speed.
In this way, the position and speed of the existing attack bullets fired by enemy aircraft at a past time from the current time or the speed of existing attack bullets fired by other enemy aircraft at a past time from the current time and their speeds are considered. The future position of the aircraft (a grid) is predicted, and the speed of the attack bullets that are highly likely to collide with the aircraft at the predicted position is determined from the speed candidates, and the attack bullets are fired. In other words, when the attack bullets of the enemy aircraft are fired, the speed at which the attack bullets are likely to collide with the own aircraft in the future is determined, and the attack bullets are fired at this speed.

本発明に拠れば、敵機の攻撃弾の発射に際して、将来において攻撃弾が自機に対して衝突する可能性の高い速度を割り出し、この速度で攻撃弾を発射するため、敵機の攻撃が単調なものとならない。   According to the present invention, when the attack bullet of the enemy aircraft is fired, the speed at which the attack bullet is likely to collide with the own aircraft is determined in the future, and the attack bullet is fired at this speed. It will not be monotonous.

また、敵機の攻撃が単調なものとならないため、プレーヤーの立場からすると、敵機の攻撃回避等に必要な自機操作技術を得にくくなる。このため、プレーヤーに飽きられにくいシューティングゲームの実現にも寄与する。   In addition, since the attack of the enemy aircraft does not become monotonous, from the player's standpoint, it becomes difficult to obtain the own aircraft operation technique necessary for avoiding the attack of the enemy aircraft. For this reason, it contributes to the realization of a shooting game that is hard to be bored by players.

《技術の概要》
本発明の特徴の要旨は、画面を格子状に分割し、まず、現時点より後の各時点で格子の各升目に自機の存在する確率をそれぞれ求め、次いで、敵機の攻撃弾の速度ごとに、各時点における飛行経路上で各升目の確率総和を求め、高い確率総和となる速度を選択して敵機が攻撃弾を発射することにある。この敵機の攻撃弾の発射は、個別の敵機ごとに速度が決定されて行われる。なお、攻撃弾の速度は「速さ」と「向き」の有するベクトル量であり、そのいずれか一方あるいは両者を決定することができる。
《Technical overview》
The gist of the feature of the present invention is that the screen is divided into a grid, and first, the probability of the presence of the own aircraft in each grid at each time after the current time is obtained, and then the speed of the attack bullets of the enemy aircraft is determined. In addition, the total probability of each square is obtained on the flight path at each time point, and the enemy aircraft fires an attack bullet by selecting a speed with a high total probability. The enemy ammunition is fired at a speed determined for each individual enemy aircraft. The speed of the attack bullet is a vector quantity of “speed” and “direction”, and one or both of them can be determined.

ここで「時点」とは、シューティングゲームの処理単位時間間隔でとった各時点のことであり、現時点をt、処理単位時間をΔTとすれば、現時点より後の各時点は、t+ΔT、t+2ΔT、t+3ΔT、・・・となる。「現時点」は、敵機が攻撃弾を発射するべき時点を云う。シューティングゲームに限らずコンピュータゲームでは、時間を使った処理が行われるが、ここで処理単位時間は自機の1行動を基準にとった単位時間とする。換言すれば、1処理単位時間ΔTにおいて可能な自機の行動は、静止という行動も含めて1つである。 Here, “time point” refers to each time point taken at the processing unit time interval of the shooting game. If the current time point is t 0 and the processing unit time is ΔT, each time point after the current time point is t 0 + ΔT. , t 0 + 2ΔT, t 0 + 3ΔT, the .... "Current time" refers to the point in time when the enemy aircraft should fire an attacking bullet. In a computer game as well as a shooting game, processing using time is performed. Here, the processing unit time is a unit time based on one action of the own device. In other words, there is only one action of the own device that can be performed in one processing unit time ΔT, including the action of stillness.

本発明において、自機の行動には、次のような条件が課されているとする。即ち、斜めに移動する際の移動速度の縦方向成分(速さ)は、縦方向のみに移動する場合の速さと同じ速さであり、横方向成分(速さ)は、横方向のみに移動する場合の速さと同じ速さであるとする。また、各攻撃弾の行動には、次のような条件が課されているとする。即ち、各攻撃弾は、敵機から発射される際に決定された速度を発射後において維持する。   In the present invention, it is assumed that the following conditions are imposed on the behavior of the aircraft. That is, the vertical component (speed) of the moving speed when moving diagonally is the same as the speed when moving only in the vertical direction, and the horizontal component (speed) moves only in the horizontal direction. It is assumed that the speed is the same as the speed when Further, it is assumed that the following conditions are imposed on the action of each attack bullet. That is, each attack bullet maintains the speed determined when fired from the enemy aircraft after launch.

自機・敵機・攻撃弾は、一般的に何らかの物体(例えば戦闘機や銃弾)を摸擬した画像として画面上に表示される。シューティングゲームでは自機や敵機と攻撃弾との衝突判定処理が行われるが、この判定のためには、摸擬されている物体の外形とは別に、自機・敵機・攻撃弾の衝突判定用の各形状が定義されていることが一般的である。以下、特に断りのない限り、自機・敵機・攻撃弾について単に「形状」と言えば衝突判定用の形状を意味する。本発明においては、この定義の仕方に何らの限定はなく、いかなる定義の仕方をしてもよい(但し、従来のシューティングゲームと同様に、衝突判定に用いる自機・敵機・攻撃弾の各形状を処理ごとに可変とするのではなく、一義的に定義しておくのが好ましい。)。例えば、自機の外形を内包する最小の矩形〔本明細書では、長方形に限定せず、正方形・菱形・平行四辺形などの四角形や、さらには三角形や五角形などの多角形も含む意味で「矩形」という文言を用いる。〕や円を、衝突判定に用いる自機の形状と定義すればよい。敵機・攻撃弾についても同様である。   The own aircraft / enemy aircraft / attack bullets are generally displayed on the screen as an image of a certain object (for example, a fighter or a bullet). In the shooting game, the collision determination process of the own aircraft or enemy aircraft and the attack bullet is performed. For this determination, the collision of the own aircraft / enemy aircraft / attack bullet is separated from the outline of the simulated object. Generally, each shape for determination is defined. In the following, unless otherwise specified, simply speaking “shape” of the own aircraft / enemy aircraft / attack bullet means the shape for collision determination. In the present invention, there is no limitation on the definition method, and any definition method may be used (however, as in the conventional shooting game, each of the own aircraft, enemy aircraft, and attack bullets used for collision determination is used. It is preferable to uniquely define the shape instead of making it variable for each process.) For example, the smallest rectangle that encloses the external shape of the machine itself (in the present specification, it is not limited to a rectangle, but a square such as a square, a rhombus, a parallelogram, and a polygon such as a triangle or a pentagon. The term “rectangular” is used. ] Or a circle may be defined as the shape of the aircraft used for collision determination. The same applies to enemy aircraft and attack bullets.

また、自機・敵機・攻撃弾の画面上の位置(特に本発明では、自機がどの升目に存在するかを特定する必要がある。)の特定に用いる自機・敵機・攻撃弾の基準点を定めておく。基準点の定め方にも特に限定はなく、例えば上記のように衝突判定に用いる形状を定義したならば、自機の外形を内包する最小の矩形や円の中心を基準点とするのが簡便である。なお、矩形の中心について、例えばそれが長方形や正方形のような形状であれば対角線の交点を当該矩形の中心とし、あるいは、矩形を内包する最小の円の中心を当該矩形の中心とするなど適宜に定めることができる。このように基準点を定めたならば、画面上の基準点の位置座標をもって、自機・敵機・攻撃弾の画面上の位置座標とすることができる。   Also, the own aircraft / enemy aircraft / attack bullet used to identify the position of the own aircraft / enemy aircraft / attack bullet (in particular, in the present invention, it is necessary to identify which cell the own aircraft is in). Set a reference point. There is no particular limitation on how to set the reference point. For example, if the shape used for collision determination is defined as described above, it is easy to use the center of the smallest rectangle or circle that contains the outline of the aircraft as the reference point. It is. As for the center of the rectangle, for example, if it is a shape such as a rectangle or a square, the intersection of diagonal lines is the center of the rectangle, or the center of the smallest circle that contains the rectangle is the center of the rectangle as appropriate. Can be determined. If the reference point is determined in this way, the position coordinates of the reference point on the screen can be used as the position coordinates on the screen of the own aircraft / enemy aircraft / attack bullet.

また、格子の各升目の形状は、縦の長さを(自機の縦方向の速さ)×ΔTとし、横の長さを(自機の横方向の速さ)×ΔTとする。このような升目からなる格子とすれば、上記自機速度の条件から、自機が現在する升目sから1処理単位時間で移動可能な升目は、升目sに接して取り囲む升目に限定される。 In addition, regarding the shape of each grid of the lattice, the vertical length is (the vertical speed of the own machine) × ΔT, and the horizontal length is (the horizontal speed of the own machine) × ΔT. If grid of such squares, from the ship speed conditions, squares movable in one processing unit time from squares s 0 the apparatus itself is currently limited to the squares surrounding contact with the squares s 0 The

移動可能な升目への自機の行動の種類は、いくつか考えられるが、例えば、日本将棋の「玉将」または「王将」の動きと同じとするか、あるいは、十文字の動きとすることなどができる。ここで玉将の動きは図1(a)に示すとおりであり、十文字の動きは図1(b)に示すとおりである。なお両図において黒丸印は現在の自機の位置、白丸印は1処理単位時間後に移動可能な自機の位置を表している。図1(a)では行動種類は、周囲8升と静止の9種類、図1(b)では前後左右4升と静止の5種類である。   There are several types of actions that can be performed on the movable grid, but for example, it can be the same as the movement of a Japanese shogi “tama general” or “king general”, or it can be a cross-shaped movement. Can do. Here, the movement of the ball general is as shown in FIG. 1 (a), and the movement of the crossed characters is as shown in FIG. 1 (b). In both figures, the black circle mark indicates the current position of the own machine, and the white circle mark indicates the position of the own machine that can move after one processing unit time. In FIG. 1 (a), there are nine types of action, that is, 8 cm around and 9 types of stationary, and in FIG.

現時点より後の各時点における格子の各升目に自機の存在する確率は、次のようにして求める。現時点t(=0)に自機が存在する升目sから現時点より後の或る時点tにおける或る升目sまでの道筋の総数C(s,t)を求める。C(s,t)は例えば決定木(decision tree)探索で求めることができるが、上記のように自機の行動に制約がある場合には、升目sの周囲の升目のうち1処理単位時間で自機が移動可能な升目s′のC(s′,t−1)の総和(s′に関する総和である。)と1処理単位時間前の升目sのC(s,t−1)との和で得られる。
或る時点tにおける或る升目sに自機が存在する確率は、C(s,t)を、全ての升目についての総和であるΣC(s,t)で除したものとして表される。
なお、現時点tでの自機移動速度が、現時点より後の或る時点τまで継続されるとし、その自機移動速度で移動した自機が時点τまでに通過した升目及び時点τで自機が存在すると予測される升目における自機存在確率を1とし、他の升目における自機存在確率を0とすることもできる。
The probability that the aircraft is present in each square of the lattice at each time point after the current time is obtained as follows. The total number C (s, t) of paths from a cell s 0 where the own aircraft exists at the current time t 0 (= 0) to a certain cell s at a certain time t after the current time is obtained. C (s, t) can be obtained by, for example, a decision tree search. If there is a restriction on the behavior of the own device as described above, one processing unit time among the cells around the cell s. And the sum of C (s ′, t−1) of the cell s ′ that can be moved by itself (the sum of s ′) and C (s, t−1) of the cell s one processing unit time before It is obtained by the sum of
The probability that the aircraft exists in a certain cell s at a certain time t is expressed as C (s, t) divided by Σ s C (s, t), which is the sum of all cells. .
Incidentally, ship moving speed at the present time t 0 is set to continue until τ some time later than the present time, the own its own apparatus square and when the moved ship has passed by the time τ at the moving speed τ It is also possible to set the own aircraft existence probability in the cell where the aircraft is predicted to be 1 and set the own aircraft existence probability in other cells to 0.

現時点より後の各時点で格子の各升目に自機の存在する確率をそれぞれ求める点については、次のような考慮がなされる。
或る敵機において攻撃弾の速度を決定するに当たり、その時点では既に、画面上に当該敵機や他の敵機から発射された攻撃弾(既存攻撃弾)が表示されている場合がある。そこで、現時点より後の各時点で、既存攻撃弾が存在すると予測される位置を含む升目及び当該位置から所定の距離内に位置する升目における自機の存在確率を、その時点において0にリセットするのである。これはC(s,t)=0とするに等しい。このことは、自機のプレーヤーが、敵機からの攻撃弾を回避する行動を自機が取るように入力装置の操作を行うという一般的傾向に基づく。
ここで「既存攻撃弾が存在すると予測される位置から所定の距離」とは、攻撃弾と自機との衝突判定に用いられる距離である。このような距離の内側、つまり攻撃弾の中心により近い領域では、自機は攻撃弾と衝突したと判定されることになる。換言すると、「既存攻撃弾が存在すると予測される位置から所定の距離」が張る領域、つまり衝突判定形状を定義し、この衝突判定形状を用いて自機と攻撃弾との衝突判定ができる。
The following points are taken into consideration for obtaining the probability of existence of the aircraft in each square of the lattice at each time point after the current time point.
In determining the speed of an attack bullet in a certain enemy aircraft, there may be an attack bullet (existing attack bullet) fired from the enemy aircraft or another enemy aircraft already on the screen at that time. Therefore, at each time point after the current time, the existence probability of the own aircraft in the cell including the position where the existing attack bullet is predicted to exist and the cell located within a predetermined distance from the position is reset to 0 at that time. It is. This is equivalent to C (s, t) = 0. This is based on a general tendency that the player of the player operates the input device so that the player takes action to avoid the attack bullets from the enemy aircraft.
Here, the “predetermined distance from the position where an existing attack bullet is predicted to exist” is a distance used for collision determination between the attack bullet and the own aircraft. Within such a distance, that is, in an area closer to the center of the attacking bullet, it is determined that the aircraft has collided with the attacking bullet. In other words, an area extending “a predetermined distance from a position where an existing attack bullet is predicted to exist”, that is, a collision determination shape is defined, and the collision determination between the own aircraft and the attack bullet can be performed using this collision determination shape.

衝突判定形状は適宜に定義できる。
例えば衝突判定形状を円とする場合、衝突判定円は、例えば、衝突判定円の中心を攻撃弾形状の中心とし、衝突判定円の半径を(攻撃弾形状の中心から攻撃弾形状の外周への最短距離)+(自機形状の中心から自機形状の外周への最短距離)とすることができる。但し、半径は、(攻撃弾形状の中心から攻撃弾形状の外周への最長距離)+(自機形状の中心から自機形状の外周への最短距離)などのようにしてもよい。要するに、衝突判定円の半径は、攻撃弾の形状の指標となる長さと、自機の形状の指標となる長さの和とする。ここで指標の採り方は、自機や攻撃弾の形状の定義によって適宜に定めることができる。簡単な例では、自機や攻撃弾などの形状を円とすればこの半径を、矩形とすればその長辺の長さの半分を指標とすることもできる。上記のように衝突判定円を定義すれば、この衝突判定円上あるいは衝突判定円内に自機の位置座標が存在すれば、自機は攻撃弾に衝突したと判定できる。
衝突判定形状を矩形とする場合、一例としてより具体的に攻撃弾形状を横a、縦bの長方形、自機形状を横c、縦dの長方形とした場合で説明すれば、衝突判定矩形は、その中心を攻撃弾形状の中心とし、横a+c、縦b+dの長方形とすることができる。このように衝突判定矩形を定義すれば、この衝突判定矩形上あるいは衝突判定矩形内に自機の位置座標が存在すれば、自機は攻撃弾に衝突したと判定できる。
衝突判定形状の中心は、既述の自機・敵機・攻撃弾の基準点の設定と同様であり、例えば衝突判定円ならばその中心、衝突判定矩形ならばその外接円の中心などとすることができる。
The collision determination shape can be defined as appropriate.
For example, when the collision determination shape is a circle, the collision determination circle has, for example, the center of the collision determination circle as the center of the attack bullet shape, and the radius of the collision determination circle (from the center of the attack bullet shape to the outer periphery of the attack bullet shape) Shortest distance) + (shortest distance from the center of the own machine shape to the outer periphery of the own machine shape). However, the radius may be (the longest distance from the center of the attacking bullet shape to the outer periphery of the attacking bullet shape) + (the shortest distance from the center of the own device shape to the outer periphery of the own device shape). In short, the radius of the collision determination circle is the sum of the length serving as the index of the shape of the attack bullet and the length serving as the index of the shape of the own aircraft. Here, how to take the index can be appropriately determined by defining the shape of the own aircraft or the attack bullet. In a simple example, if the shape of the aircraft or attack bullet is a circle, this radius can be used, and if it is a rectangle, half of its long side can be used as an index. If the collision determination circle is defined as described above, it is possible to determine that the own aircraft has collided with an attack bullet if the position coordinates of the own aircraft exist on or in the collision determination circle.
When the collision determination shape is a rectangle, as an example, the attack bullet shape is a rectangle with a width a and a length b, and the own shape is a rectangle with a width c and a height d. The center of the attack bullet shape can be used as the center, and the rectangle can be a horizontal a + c and vertical b + d. If the collision determination rectangle is defined in this way, it can be determined that the own aircraft has collided with the attack bullet if the position coordinates of the own aircraft exist on or within the collision determination rectangle.
The center of the collision determination shape is the same as the setting of the reference point of the own aircraft / enemy aircraft / attack bullet described above. For example, the center of the collision determination circle is the center, and the center of the circumscribed circle is the collision determination rectangle. be able to.

さて、既述のとおり、現時点より後の各時点で、既存攻撃弾が存在すると予測される位置を含む升目及び当該位置から所定の距離内に位置する升目のC(s,t)を0に設定するのであるが、このような升目(以下、「所望の升目」とも云う。)は、その全部または一部を衝突判定形状に含まれる升目である。例えば衝突判定円とした場合、攻撃弾の位置座標から衝突判定円に全部または一部が含まれる升目は計算機による有限ステップのアルゴリズムで特定可能であるが、このような升目を、シューティングゲームの遊興性を失わないようリアルタイムに、つまり簡便に特定することを考える。
本発明では、この問題を次のようにして解決する。
即ち、攻撃弾の位置座標を、当該位置座標が存在する升目の四隅の角(かど)または中心のいずれかであると看做し、この看做された位置座標(以下、「看做し位置座標」とも云う。)を中心とする衝突判定形状に一部または全部が含まれる升目のC(s,t)を0に設定する。換言すれば、既存攻撃弾が存在すると予測される位置を含む升目の四隅の角またはその中心のいずれか1つの位置から所定の距離内に位置する升目のC(s,t)を0に設定するのである。なお、看做し位置座標を中心とする衝突判定形状に一部が含まれる升目のC(s,t)を0に設定することは必須の要件ではない。少なくとも看做し位置座標を中心とする衝突判定形状に全部が含まれる升目のC(s,t)を0に設定すればよい。本明細書では、看做し位置座標を中心とする衝突判定形状に一部が含まれる升目のC(s,t)も0に設定する場合として説明する。
As described above, at each time point after the current time point, C (s, t) including a cell including a position where an existing attack bullet is predicted to exist and a cell located within a predetermined distance from the position is set to 0. Although it is set, such a cell (hereinafter also referred to as “desired cell”) is an all or part of the cell included in the collision determination shape. For example, in the case of a collision judgment circle, a grid in which all or part of the collision judgment circle is included from the position coordinates of the attack bullet can be specified by a finite step algorithm by a computer. Consider real-time, that is, simple identification so as not to lose sex.
The present invention solves this problem as follows.
That is, the position coordinates of the attack bullet are regarded as either the corners or the center of the four corners where the position coordinates exist, and the viewed position coordinates (hereinafter referred to as “viewing position”). C (s, t) of a mesh whose part or all is included in the collision determination shape centered on “coordinates”) is set to zero. In other words, C (s, t) of the mesh located within a predetermined distance from any one of the corners of the four corners including the position where the existing attack bullet is predicted to exist or its center is set to 0. To do. It should be noted that it is not an essential requirement to set C (s, t) of a mesh whose part is included in the collision determination shape centered on the viewing position coordinates to 0. What is necessary is to set C (s, t) of the meshes that are all included in the collision determination shape centered on at least the viewed position coordinates to 0. In the present specification, a case will be described in which C (s, t) of a mesh whose part is included in the collision determination shape centered on the viewing position coordinates is also set to 0.

攻撃弾の種類ごとに衝突判定形状は異なりえるが、同じ種類の攻撃弾であれば衝突判定形状は同一であるのが通常であるところ、格子が定まっていれば、升目の四隅の角またはその中心のいずれかを中心とする衝突判定形状に含まれる升目は一意になる。
このことを図14を参照して説明する。図14中、■印は、看做し位置座標を表し、破線は格子を表している。また図14では、衝突判定形状が衝突判定円あるいは衝突判定矩形の場合を示している。図14(a)は、升目が正方形の場合であり、かつ、攻撃弾の位置座標を当該位置座標が存在する升目の四隅の角のうち1つに看做した場合である。図14(c)は、升目が正方形の場合であり、かつ、攻撃弾の位置座標を当該位置座標が存在する升目の中心に看做した場合である。図14(b)は、升目が縦に長い長方形の場合であり、かつ、攻撃弾の位置座標を当該位置座標が存在する升目の四隅の角のうち1つに看做した場合である。図14(d)は、升目が縦に長い長方形の場合であり、かつ、攻撃弾の位置座標を当該位置座標が存在する升目の中心に看做した場合である。いずれの場合でも、0が記入された升目は衝突判定形状に一部または全部が含まれる升目であり、これらの升目は、攻撃弾の位置座標を当該位置座標が存在する升目の四隅の角または中心のうち予め決められた1つに看做すというルールと同種の攻撃弾において衝突判定形状は同一とするというルールを維持すれば、看做された攻撃弾の位置座標に対して一意である。そこで、一意に定まる升目の集まりに関する情報を例えばテンプレート〔図14の網掛け部分〕として記憶手段に記憶しておけば、看做された攻撃弾の位置座標に対してテンプレートを適用するだけで、所望の升目のC(s,t)を0に設定できる。
このように、攻撃弾の位置座標および衝突判定形状から厳密に、当該衝突判定形状に一部または全部が含まれる升目を特定する処理を行わなくても、看做し位置座標に対してテンプレートを適用するだけの処理で簡便に所望の升目のC(s,t)を0に設定できるのである。
なお、一意に定まる升目の集まりに関する情報を、テンプレートとしてではなく、例えば攻撃弾の位置座標が存在する升目を取り囲む升目の数として記憶手段に記憶するなどとしてもよい。
Although the collision judgment shape can be different for each type of attack bullet, the collision judgment shape is usually the same for the same type of attack bullet, but if the lattice is fixed, the corners of the corners of the square or The cells included in the collision determination shape centered on one of the centers are unique.
This will be described with reference to FIG. In FIG. 14, the ■ marks indicate the viewing position coordinates, and the broken lines indicate a grid. FIG. 14 shows a case where the collision determination shape is a collision determination circle or a collision determination rectangle. FIG. 14A shows a case where the square is a square, and the position coordinates of the attack bullet are regarded as one of the four corners of the square where the position coordinates exist. FIG. 14C shows a case where the square is a square and the position coordinates of the attack bullets are considered at the center of the square where the position coordinates exist. FIG. 14B shows a case where the cell is a vertically long rectangle, and the position coordinates of the attack bullet are considered as one of the four corners of the cell where the position coordinates exist. FIG. 14D shows a case where the grid is a vertically long rectangle, and the position coordinates of the attack bullets are considered at the center of the grid where the position coordinates exist. In either case, the squares in which 0 is entered are squares in which a part or all of the collision determination shape is included, and these squares indicate the position coordinates of the attack bullets at the four corners of the square where the position coordinates exist or If the same collision determination shape is used for the same type of attack bullets as the rule of considering one of the centers as a predetermined one, the position coordinates of the considered attack bullets are unique. . Therefore, if information relating to the uniquely defined cell group is stored in the storage means as a template (shaded portion in FIG. 14), for example, the template is simply applied to the position coordinates of the considered attack bullets. The desired cell C (s, t) can be set to zero.
In this way, strictly speaking, from the position coordinates of the attack bullets and the collision determination shape, the template can be set with respect to the position coordinates without taking into account the process of specifying a part of or all of the cells included in the collision determination shape. The desired mesh C (s, t) can be set to 0 simply by applying the process.
Note that information relating to a set of squares that are uniquely determined may be stored in the storage unit as the number of squares surrounding the square where the position coordinates of the attack bullets exist, for example, instead of as a template.

以上のように簡便に所望の升目を特定することは、いわゆる近似処理であるから、できるだけ、厳密に所望の升目を特定した場合との差異が小さくするようにするのが好ましい。そこで、看做し位置座標を、攻撃弾が存在すると予測される位置を含む升目の四隅の角のいずれか1つとする場合には、攻撃弾の位置座標から最も近い角とするようにしてもよい。
なお、さらに簡便な処理とするならば、攻撃弾の位置座標が升目の如何なる部分にあろうが、常に予め定めた看做し位置座標とする構成としてもよい。つまり、例えば、攻撃弾の位置座標が升目の如何なる部分にあろうとも、升目の左上の角を看做し位置座標とするとして画一的に処理してもよいのである。
As described above, simply specifying a desired cell is a so-called approximation process, and therefore, it is preferable to reduce the difference from the case where the desired cell is specified as precisely as possible. Therefore, in the case where the viewing position coordinates are any one of the four corners of the square including the position where the attack bullet is predicted to exist, the closest position to the attack bullet position coordinates may be used. Good.
Note that if the processing is simpler, the position coordinates of the attacking bullets may be in any part of the grid, but may be configured to always have a predetermined viewing position coordinate. In other words, for example, regardless of the position coordinates of the attack bullets, the upper left corner of the square may be regarded as the position coordinates and processed uniformly.

《実施形態》
本発明の実施形態について、図面を参照しながら説明する。
<シューティングゲームの敵機攻撃制御装置>
本発明の実施形態であるシューティングゲームの敵機攻撃制御装置(1)は、それ単体で独立に存在するよりは、コンピュータを構成するエンティティとして存在するのが一般的である(勿論、単体独立のエンティティとして存在することを排除する趣旨ではない。)。さらに云えば、シューティングゲームの敵機攻撃制御装置(1)は、コンピュータとは容易に分離可能にコンピュータを構成するエンティティではなく、コンピュータ自体を或る機能に着眼して片面的に評価したものであるのが一般的である。要するに、シューティングゲームの敵機攻撃制御装置(1)は、シューティングゲームを実行するコンピュータそのものであることが一般的である。ここでコンピュータは、既述のとおりパーソナルコンピュータのような汎用機やゲーム専用機などを広く指す。
以下、シューティングゲームの敵機攻撃制御装置(1)を単に敵機攻撃制御装置(1)と云うことにする。
<Embodiment>
Embodiments of the present invention will be described with reference to the drawings.
<Enemy aircraft attack control device for shooting games>
The enemy aircraft attack control device (1) of the shooting game according to the embodiment of the present invention generally exists as an entity constituting a computer rather than as a single entity (of course, as a single independent entity). It is not intended to exclude the existence as an entity.) Furthermore, the enemy attack control device (1) of the shooting game is not an entity that constitutes the computer so that it can be easily separated from the computer, but is one-sided evaluation that focuses on a certain function of the computer itself. It is common. In short, the enemy aircraft attack control device (1) of the shooting game is generally a computer itself that executes the shooting game. Here, the computer broadly refers to a general-purpose machine such as a personal computer or a game-dedicated machine as described above.
Hereinafter, the enemy aircraft attack control device (1) of the shooting game is simply referred to as an enemy aircraft attack control device (1).

コンピュータは、CPUやMPUのような演算処理装置と、演算処理の用に供するデータ、演算処理の結果として得られたデータ、演算処理装置によって解釈実行されるプログラムなどを記憶可能な記憶装置(例えば揮発性メモリ、不揮発性メモリ)などを備えている。また、シューティングゲームを実行可能なコンピュータに要求される装置として、ブラウン管型表示装置や液晶ディスプレイのような表示装置、キーボードや操縦桿のような入力装置がコンピュータに接続される。   The computer can store an arithmetic processing device such as a CPU or an MPU, a storage device (for example, a data to be used for the arithmetic processing, data obtained as a result of the arithmetic processing, a program interpreted and executed by the arithmetic processing device (for example, Volatile memory, nonvolatile memory) and the like. Further, as devices required for a computer capable of executing a shooting game, a display device such as a cathode ray tube display device or a liquid crystal display, and an input device such as a keyboard or a control stick are connected to the computer.

コンピュータとして汎用機を例にとると、敵機攻撃制御装置(1)のハードウェア構成例は次のとおりである(図2参照)。
敵機攻撃制御装置(1)は、入力装置が接続可能な入力部(11)、表示装置が接続可能な出力部(12)、CPU(Central Processing Unit;14)〔キャッシュメモリなどを備えていてもよい。〕、メモリであるRAM(Random Access Memory)(15)、ROM(Read Only Memory)(16)やハードディスクである外部記憶装置(17)、並びにこれらの入力部(11)、出力部(12)、CPU(14)、RAM(15)、ROM(16)、外部記憶装置(17)間のデータのやり取りが可能なように接続するバス(18)などを備えている。また必要に応じて、敵機攻撃制御装置(1)に、ビデオカード(Video Card)やCD−ROMなどの記憶媒体を読み書きできる装置(ドライブ)などを設けるとしてもよい。
Taking a general-purpose aircraft as an example of a computer, an example of the hardware configuration of the enemy aircraft attack control device (1) is as follows (see FIG. 2).
The enemy aircraft attack control device (1) includes an input unit (11) to which an input device can be connected, an output unit (12) to which a display device can be connected, and a CPU (Central Processing Unit; 14) [cache memory and the like. Also good. RAM (Random Access Memory) (15), ROM (Read Only Memory) (16) and external storage device (17) which is a hard disk, and these input unit (11), output unit (12), A CPU (14), a RAM (15), a ROM (16), a bus (18) connected so as to exchange data between the external storage devices (17), and the like are provided. If necessary, the enemy attack control device (1) may be provided with a device (drive) that can read and write a storage medium such as a video card or a CD-ROM.

敵機攻撃制御装置(1)の外部記憶装置(17)には、敵機攻撃制御のためのプログラム及びこのプログラムの処理において必要となるデータなどが保存記憶されている。また、これらのプログラムの処理によって得られるデータなどは、RAM(15)などに適宜に保存記憶される。以下、演算結果やその格納領域のアドレスなどを記憶するRAM(15)やレジスタなどの装置を単に「記憶部」と呼ぶことにする。
既述のとおり、敵機攻撃制御装置(1)は、シューティングゲームを実行するコンピュータであるところ、外部記憶装置(17)にはシューティングゲームを実行するに必要な種々のプログラムなどが保存記憶されているが、本発明の要旨に関しないので説明を略する。また、そのプログラムが解釈されてシューティングゲームが実行される仕組みの詳細も本発明の要旨に関しないから説明を略する。
The external storage device (17) of the enemy aircraft attack control device (1) stores and stores a program for controlling the enemy aircraft attack and data necessary for processing the program. Further, data obtained by the processing of these programs is appropriately stored and stored in the RAM (15) or the like. Hereinafter, a device such as a RAM (15) or a register for storing the calculation result, the address of the storage area, and the like is simply referred to as a “storage unit”.
As described above, the enemy attack control device (1) is a computer that executes a shooting game, and the external storage device (17) stores and stores various programs necessary for executing the shooting game. However, the description is omitted because it is not related to the gist of the present invention. Further, the details of the mechanism by which the program is interpreted and the shooting game is executed are not related to the gist of the present invention, and the description thereof will be omitted.

具体的には、外部記憶装置(17)には、敵機による攻撃弾発射時点(現時点)において、当該敵機あるいは他の敵機によって過去の時点で発射された既存攻撃弾の位置及びその速度、並びに自機の位置関係に基づいて、現時点より後の各時点で、既存攻撃弾が存在すると予測される位置に対して自機が一定以内の距離に近づかずに升目に存在しうる確率を各時点の各升目ごとに求めるためのプログラム(自機存在確率計算プログラム)、敵機が攻撃弾を発射する速度の2つ以上の候補について、それぞれの候補の速度で発射された攻撃弾が各時点ごとに通過する升目における自機存在確率の和をそれぞれの速度候補ごとに求め、その和の値が所定の条件を満たす候補速度を攻撃弾発射速度として決定するためのプログラム(攻撃弾発射速度決定プログラム)が保存記憶されている。
なお、この実施形態における自機存在確率計算プログラムは、現時点t(=0)に自機が存在する升目sから現時点より後の或る時点tにおける或る升目sまでの道筋の総数C(s,t)を、既存攻撃弾の存在を考慮して求めるためのプログラム(自機存在場合数計算プログラム)と、自機存在場合数計算プログラムの処理で得られた各升目における道筋の総数C(s,t)を用いて自機存在確率を求めるためのプログラム(確率計算プログラム)を含む。
Specifically, in the external storage device (17), the position and speed of the existing attack bullets fired at the past time by the enemy aircraft or other enemy aircraft at the time of the launch of the attack bullet by the enemy aircraft (current time). In addition, based on the positional relationship of the aircraft, the probability that the aircraft can exist in the grid without approaching a certain distance from the position where the existing attack bullets are expected to exist at each time after the current time. A program for obtaining each square at each time point (own aircraft existence probability calculation program), and two or more candidates of the speed at which the enemy aircraft fires an attack bullet, each attack bullet fired at the speed of each candidate A program for calculating the sum of the probability of existence of the aircraft in each square passing through each time point for each speed candidate and determining the candidate speed satisfying a predetermined condition as the attack bullet firing speed (attack bullet firing speed Constant program) is stored stored.
In this embodiment, the own machine existence probability calculation program calculates the total number C of paths from a cell s 0 where the own machine exists at the current time t 0 (= 0) to a certain cell s at a certain time t after the current time. Total number of paths in each grid obtained by processing of (s, t) in consideration of the presence of existing attack bullets (number calculation program for the presence of own aircraft) and the number calculation program for own aircraft presence A program (probability calculation program) for determining the existence probability of the own device using C (s, t) is included.

敵機攻撃制御装置(1)では、外部記憶装置(17)に記憶された各プログラムとこの各プログラムの処理に必要なデータが必要に応じて記憶部(20)に読み込まれて、CPU(14)で解釈実行・処理される。この結果、CPU(14)が所定の機能(自機存在確率計算部〔自機存在場合数計算部、確率計算部〕、攻撃弾発射速度決定部)を実現することで攻撃弾発射速度の決定が実現される。また、本発明の視点からは必須の構成要素ではないが、シューティングゲームの実行を制御する機能を有する制御部が実装されており、この制御部もCPU(14)で実現される。なお、全ての機能をCPUなどの演算処理装置で実現するに限定されず、機能の一部を例えば演算回路によってハードウェア的に実現するようにしてもよい。   In the enemy aircraft attack control device (1), each program stored in the external storage device (17) and data necessary for processing each program are read into the storage unit (20) as necessary, and the CPU (14 ) Is interpreted and executed. As a result, the CPU (14) realizes a predetermined function (own device existence probability calculation unit [number of own device existence number calculation unit, probability calculation unit], attack bullet firing speed determination unit) to determine the attack bullet firing speed. Is realized. Further, although not an essential component from the viewpoint of the present invention, a control unit having a function of controlling the execution of the shooting game is mounted, and this control unit is also realized by the CPU (14). Note that all functions are not limited to being realized by an arithmetic processing device such as a CPU, and a part of the functions may be realized by hardware using, for example, an arithmetic circuit.

<シューティングゲームの敵機攻撃制御処理>
次に、図3及び図4を参照して、敵機攻撃制御装置(1)における敵機攻撃制御処理(攻撃弾発射速度の決定)の流れを叙述的に説明する。
攻撃弾発射速度の決定には、3通りの方式がある。1つ目は、攻撃弾の「速さ」は固定とし「向き」を決定する方式である。2つ目は、攻撃弾の「向き」は固定とし「速さ」を決定する方式である。3つ目は、攻撃弾の「速さ」及び「向き」の双方を決定する方式である。
いずれの方式を選択するにしても、本発明の要旨に影響はなく適宜に設計変更可能であるから、この実施形態では、1つ目の方式、つまり、攻撃弾の「速さ」は固定とし「向き」を決定する方式として説明する。また、「向き」は、2つ以上の候補(この実施形態では5つの候補)が予め定められており、これらの候補の中から「向き」を決定する。
<Enemy aircraft attack control processing for shooting games>
Next, with reference to FIG. 3 and FIG. 4, the flow of the enemy aircraft attack control process (determination of the attack bullet firing speed) in the enemy aircraft attack control device (1) will be described narratively.
There are three methods for determining the attack bullet firing speed. The first is a method in which the “speed” of the attack bullet is fixed and the “direction” is determined. Second, the “direction” of the attack bullet is fixed and the “speed” is determined. The third is a method for determining both “speed” and “direction” of the attack bullet.
Whichever method is selected, the gist of the present invention is not affected and the design can be changed as appropriate. Therefore, in this embodiment, the first method, that is, the “speed” of the attack bullet is fixed. This will be described as a method for determining the “direction”. Further, two or more candidates (five candidates in this embodiment) are determined in advance for the “direction”, and the “direction” is determined from these candidates.

また、この実施形態では、画面上における自機(30)・敵機(40)・既存攻撃弾の位置座標は、記憶部(20)に記憶されているとする。
自機の行動は、図1(a)に示したとおりとする。
In this embodiment, it is assumed that the position coordinates of the own aircraft (30), enemy aircraft (40), and existing attack bullets on the screen are stored in the storage unit (20).
The behavior of the aircraft is as shown in FIG.

まず、制御部(190)は、シューティングゲームの実行処理中に、敵機(40)の攻撃弾の発射を行うか否かを決定する。この決定は、従来のシューティングゲームと同様にして決定される。
この実施形態では、制御部(190)が敵機の攻撃弾の発射を行うことを決定すると、本発明である敵機攻撃制御処理(攻撃弾発射速度の決定)が実行されるようになっている。
First, the control unit (190) determines whether or not to fire an attacking bullet of the enemy aircraft (40) during the execution process of the shooting game. This determination is made in the same manner as in a conventional shooting game.
In this embodiment, when the control unit (190) determines to launch an enemy bullet attack bullet, the enemy aircraft attack control process (determination of the attack bullet firing speed) according to the present invention is executed. Yes.

自機存在確率計算部(141)は、自機存在場合数計算部(142)及び確率計算部(143)で構成されており、制御部(190)による敵機の攻撃弾発射決定を受けて、以下に説明する処理を行う。   The own aircraft existence probability calculation unit (141) is composed of an own aircraft existence number calculation unit (142) and a probability calculation unit (143). Upon receiving the attack bullet launch decision of the enemy aircraft by the control unit (190). The processing described below is performed.

自機存在場合数計算部(142)は、記憶部(20)から自機(30)の位置座標を取得し、ゲーム画面を分割した格子(50)において自機(30)が存在する升目を特定する(ステップS1)。図5では、一例として7×7の49個の正方形の升目からなる格子(50)を示しており、自機は中心の升目に存在していると特定された場合を示している。説明の便宜から、升目の位置を格子(50)の外部に割り当てた数字(図5参照)をもって表現する。図5では、自機(30)が存在する升目は(4,4)であり、敵機(40)が存在する升目は(1,3)である。なお、自機(30)及び敵機(40)の中心は既述のとおりである。   The own machine existence number calculation unit (142) acquires the position coordinates of the own machine (30) from the storage unit (20), and the cell in which the own machine (30) exists in the grid (50) obtained by dividing the game screen. Specify (step S1). FIG. 5 shows, as an example, a lattice (50) made up of 49 squares of 7 × 7 squares, and shows a case where the own device is specified to exist in the central cell. For convenience of explanation, the positions of the cells are expressed by numbers (see FIG. 5) assigned outside the grid (50). In FIG. 5, the square where the own aircraft (30) exists is (4, 4), and the square where the enemy aircraft (40) exists is (1, 3). The centers of the own aircraft (30) and enemy aircraft (40) are as described above.

このとき、自機(30)が存在すると特定された升目を除く各升目に数字0が割り当てられ、自機(30)が存在すると特定された升目に1が割り当てられる。つまり、自機(30)が存在すると特定された升目を除く各升目の初期値C(s,0)を0とし、自機(30)が存在すると特定された升目の初期値C(s,0)を1とする〔図5参照〕。   At this time, the number 0 is assigned to each cell except for the cell identified as having its own device (30), and 1 is allocated to the identified cell as having its own device (30). That is, the initial value C (s, 0) of each cell except for the cell specified that the own device (30) exists is set to 0, and the initial value C (s, 0) specified if the own device (30) exists. 0) is set to 1 (see FIG. 5).

次に、自機存在場合数計算部(142)は、現時点より後の各時点tにおける各升目のC(s,t)を求める(ステップS2)。ここでは説明を具体的なものにするため処理単位時間ΔTを1とする。また、任意の升目をsで表す。   Next, the number calculation unit (142) of the case where the own device is present calculates C (s, t) of each cell at each time t after the current time (step S2). Here, the processing unit time ΔT is set to 1 in order to make the description concrete. An arbitrary cell is represented by s.

図6に時点t=1でのC(s,t)を示す。升目(3,3)、(3,4)、(3,5)、(4,3)、(4,4)、(4,5)、(5,3)、(5,4)、(5,5)に1が割り当てられている。
これは、現時点t(=0)に自機(30)が存在する升目s=(4,4)から、処理単位時間1で移動可能な升目が、静止という自機(30)の行動を含めて(3,3)、(3,4)、(3,5)、(4,3)、(4,4)、(4,5)、(5,3)、(5,4)、(5,5)であり、現時点t(=0)に自機(30)が存在する升目s=(4,4)からの道筋がいずれも1通りの道筋しか存在しないことを示している。
FIG. 6 shows C (s, t) at time t = 1. (3,3), (3,4), (3,5), (4,3), (4,4), (4,5), (5,3), (5,4), ( 1 is assigned to 5, 5).
This is because, from the cell s 0 = (4, 4) where the own device (30) exists at the current time t 0 (= 0), the cell (30) 's action that the cell that can move in the processing unit time 1 is stationary. (3,3), (3,4), (3,5), (4,3), (4,4), (4,5), (5,3), (5,4) , (5, 5), indicating that there is only one route from the grid s 0 = (4, 4) where the own aircraft (30) exists at the current time t 0 (= 0). ing.

図7に時点t=2でのC(s,t)を示す。升目(2,2)、(2,6)、(6,2)、(6,6)に1が、(2,3)、(2,5)、(3,2)、(3,6)、(5,2)、(5,6)、(6,3)、(6,5)に2が、(2,4)、(4,2)、(4,6)、(6,4)に3が、(3,3)、(3,5)、(5,3)、(5,5)に4が、(3,4)、(4,3)、(4,5)、(5,4)に6が、(4,4)に9が割り当てられている。
これは、時点t=1に自機(30)が存在する升目s=(3,3)、(3,4)、(3,5)、(4,3)、(4,4)、(4,5)、(5,3)、(5,4)、(5,5)から、処理単位時間1で移動可能な升目が、静止という自機(30)の行動を含めて(2,2)、(2,6)、(6,2)、(6,6)、(2,3)、(2,5)、(3,2)、(3,6)、(5,2)、(5,6)、(6,3)、(6,5)、(2,4)、(4,2)、(4,6)、(6,4)、(3,3)、(3,5)、(5,3)、(5,5)、(3,4)、(4,3)、(4,5)、(5,4)、(4,4)であり、現時点t(=0)に自機(30)が存在する升目s=(4,4)からの道筋がそれぞれの数字が示す数だけあることを示している。
FIG. 7 shows C (s, t) at time t = 2. 1 in the grids (2, 2), (2, 6), (6, 2), (6, 6), (2, 3), (2, 5), (3, 2), (3, 6 ), (5,2), (5,6), (6,3), (6,5), 2 is (2,4), (4,2), (4,6), (6, 4) is 3, (3,3), (3,5), (5,3), (5,5) is 4, (3,4), (4,3), (4,5) , (5, 4) is assigned 6, and (4, 4) is assigned 9.
This is because the cell s = (3,3), (3,4), (3,5), (4,3), (4,4), ( 4, 5), (5, 3), (5, 4), (5, 5), the grid that can move in the processing unit time 1 includes the action of its own device (30) that is stationary (2, 2), (2,6), (6,2), (6,6), (2,3), (2,5), (3,2), (3,6), (5,2) , (5,6), (6,3), (6,5), (2,4), (4,2), (4,6), (6,4), (3,3), ( 3,5), (5,3), (5,5), (3,4), (4,3), (4,5), (5,4), (4,4) This indicates that there are as many routes as indicated by the numbers from the cell s 0 = (4, 4) where the own aircraft (30) exists at t 0 (= 0).

このように、自機存在場合数計算部(142)は、現時点より後の各時点tにおける各升目のC(s,t)を求めるのであるが、その求め方としては、人工知能技術の一つである探索計算方法を利用することができる。しかしながら、例えば普通の決定木探索の方法では、現時点より後の時点が増えると同時に、探索計算の深さが増し、必要な計算時間及び計算機の記憶容量が指数関数的に増大してしまう。この実施形態の場合、自機(30)の各時点での行動種類は9通りなので、時点が一つ増すたびに必要な計算資源が9倍増えることになることに注意を要する。   As described above, the number calculation unit (142) for the presence of the own device calculates C (s, t) of each cell at each time point t after the current time. One search calculation method can be used. However, for example, in an ordinary decision tree search method, the time after the current time increases, and at the same time, the depth of search calculation increases, and the necessary calculation time and the storage capacity of the computer increase exponentially. In the case of this embodiment, since there are nine types of action at each time point of the own machine (30), it should be noted that the necessary computing resources increase 9 times each time the time point increases by one.

本発明では、上記のように自機(30)の行動に制約があるので、現時点t(=0)に自機が存在する升目sから現時点より後の或る時点tにおける或る升目sまでの道筋の総数C(s,t)は、或る升目sの周囲の升目のうち1処理単位時間で自機が移動可能な升目s′のC(s′,t−1)の総和(s′に関する総和である。)と1処理単位時間前の升目sのC(s,t−1)との和で得られる。つまり、C(s,t)は式(1)で得られる。

Figure 0004804240
In the present invention, since the action of the own device (30) is limited as described above, a certain cell at a certain time t after the current time from the cell s 0 where the own device exists at the current time t 0 (= 0). The total number C (s, t) of routes up to s is the sum of C (s ', t-1) of the cell s' that can be moved in one processing unit time among the cells around the cell s. (The sum of s ′) and C (s, t−1) of the cell s before one processing unit time. That is, C (s, t) is obtained by the equation (1).
Figure 0004804240

このことを時点1及び時点2の場合で、一例を示して説明する〔図8参照〕。
時点2での升目(3,3)のC(s,2)を求める〔s=(3,3)〕。このとき、時点1でのC(s,1)は、1である。升目s=(3,3)の周囲の升目のうち1処理単位時間で自機が移動可能な升目s′は、(2,2)、(2,3)、(2,4)、(3,2)、(3,4)、(4,2)、(4,3)、(4,4)である。升目s′=(2,2)、(2,3)、(2,4)、(3,2)、(4,2)のC(s′,1)はそれぞれ0であり、升目s′=(3,4)、(4,3)、(4,4)のC(s′,1)はそれぞれ1である〔図8(a)参照〕。従って、これらを式(1)に代入すると升目s=(3,3)のC(s,2)は、C(s,2)=1+(1+1+1+0+0+0+0+0)=4となる〔図8(b)参照〕。
This will be described with an example in the case of time point 1 and time point 2 [see FIG. 8].
C (s, 2) of the cell (3, 3) at time 2 is obtained [s = (3, 3)]. At this time, C (s, 1) at time 1 is 1. Among the cells around the cell s = (3, 3), the cell s ′ that the machine can move in one processing unit time is (2, 2), (2, 3), (2, 4), (3 , 2), (3,4), (4, 2), (4, 3), (4, 4). The cell s ′ = (2,2), (2,3), (2,4), (3,2), and C (s ′, 1) of (4,2) are each 0, and the cell s ′ = (3,4), (4,3), C (s', 1) of (4,4) is 1 [see FIG. 8 (a)]. Therefore, when these are substituted into the expression (1), C (s, 2) of the grid s = (3, 3) becomes C (s, 2) = 1 + (1 + 1 + 1 + 0 + 0 + 0 + 0 + 0) = 4 [see FIG. 8B. ].

この方法によれば、C(s,t)の計算に必要な計算時間、計算機記憶容量は、時点と升目の数に比例して増えるのみである。発明者が実験を行った結果、遊興性の観点からは、通常の決定木探索では2から3時点先までの計算を行うのが限界であったが、上記方法では10から20時点先までの計算が可能であった。そのため、自機位置予測において、より精度の高い予測が可能となる(自機が画面の端から端まで移動するような場合までをも扱えるため。)。
上記のように現時点より後の各時点tにおける各升目のC(s,t)を求めるが、一般的には、自機位置予測の観点からはより先の時点まで予測するのが望ましいが、遊興性を損なわないようにする観点からはむやみに先の時点まで予測するのは好ましくない。また、このことは演算処理装置の処理能力などにも依存する。従って、どれくらい先の時点まで自機の位置を予測するかは、自機位置予測精度、遊興性、演算処理装置の処理能力などを考慮して予め決定しておけばよい(ここでの説明や図面では、理解を容易にするため時点2までしか示していない。)。
According to this method, the calculation time and computer storage capacity required for calculating C (s, t) only increase in proportion to the time point and the number of cells. As a result of the experiment conducted by the inventor, from the viewpoint of entertainment, the normal decision tree search was limited to calculations from 2 to 3 time points ahead, but in the above method, from 10 to 20 time points ahead. Calculation was possible. Therefore, it is possible to predict with higher accuracy in the own device position prediction (because the own device can move to the end of the screen).
As described above, C (s, t) of each cell at each time point t after the current time is obtained. In general, it is desirable to predict from the point of view of the position of the aircraft to a previous time point. From the viewpoint of not sacrificing the playability, it is not preferable to predict until the previous time point. This also depends on the processing capability of the arithmetic processing unit. Therefore, it is only necessary to determine in advance how far ahead the position of the aircraft will be predicted in consideration of the accuracy of the aircraft's position prediction, amusement, the processing capability of the arithmetic processing unit, etc. In the drawing, only time 2 is shown for ease of understanding.)

また、自機存在場合数計算部(142)は、記憶部(20)から現時点における既存攻撃弾の位置座標を取得し、現時点より後の各時点において既存攻撃弾と衝突可能性のある升目のC(s、t)の値を0にする。
他の敵機もしくは攻撃弾を発射しようとしている敵機(40)によって過去に発射済みの既存攻撃弾の影響は、C(s、t)の値に反映される。既存攻撃弾が現時点より後の或る時点で或る升目に存在しているとき、その時点では、攻撃弾位置座標を含む升目と攻撃弾位置座標から所定の距離内に位置する升目では、自機(30)が攻撃弾と接触する可能性がある。このため、プレーヤーの一般的傾向として、そのような升目への自機の移動は行われないと考えられる。そこで、そのような升目のC(s、t)の値を0にする。つまり、その時点でのその升目における自機(30)の存在確率は0になる。
In addition, the number calculation unit (142) for the presence of the own aircraft obtains the position coordinates of the existing attack bullets at the present time from the storage unit (20), and the cells that may collide with the existing attack bullets at each time point after the current time. The value of C (s, t) is set to 0.
The influence of an existing attack bullet that has been fired in the past by another enemy aircraft or an enemy aircraft (40) that is about to launch an attack bullet is reflected in the value of C (s, t). When an existing attack bullet is present in a certain cell at a certain time after the current time, at that point, the cell including the attack bullet position coordinates and the cell located within a predetermined distance from the attack bullet position coordinates There is a possibility that the machine (30) will come into contact with the attacking bullet. For this reason, as a general tendency of the player, it is considered that the player does not move to such a grid. Therefore, the value of C (s, t) of such a cell is set to zero. That is, the existence probability of the own aircraft (30) at that time is 0.

このことを図9に示して説明する。
図9では、自機(30)・敵機(40)・既存攻撃弾のそれぞれの外形を内包する最小の円を、衝突判定に用いる自機(30)・敵機(40)・既存攻撃弾の形状と定義し、衝突判定円を、中心を既存攻撃弾の中心〔既存攻撃弾の形状の中心である。〕とし、半径を(既存攻撃弾の形状の半径)+(自機の形状の半径)とする。図9では、衝突判定円の半径は、丁度、正方形の升目の一辺に等しいとしている。
時点1では、格子(50)の右上の隅に既存攻撃弾の位置座標(あるいは看做し位置座標)があると予測されるとする〔図9(a)参照〕。このとき、衝突判定円内に位置する升目(1,7)のC(s、t)の値を0にする。但し、この場合では、もともと升目(1,7)のC(s、t)の値は0であるからリセットする必要はない。なお、「衝突判定円内に位置する升目」は、衝突判定円内に完全に内包される升目、及び、升目の一部分が衝突判定円内に含まれる升目である。
時点2では、升目(3,5)の右上の隅に既存攻撃弾の位置座標(あるいは看做し位置座標)があると予測されるとしている〔図9(b)参照〕。既述のとおり各攻撃弾は、敵機から発射される際に決定された速度を発射後において維持することから各時点での位置座標を予測可能である。このとき、衝突判定円内に位置する升目(2,5)、(2,6)、(3,5)、(3,6)のC(s、t)の値を0にする。
This will be described with reference to FIG.
In FIG. 9, the own circle (30), enemy aircraft (40), and existing attack bullets that use the smallest circle containing the outer shapes of the own aircraft (30), enemy aircraft (40), and existing attack bullets for collision determination. The collision judgment circle is defined as the center of the existing attack bullet [the center of the shape of the existing attack bullet. ], And the radius is (radius of the shape of the existing attack bullet) + (radius of the shape of the own aircraft). In FIG. 9, the radius of the collision determination circle is assumed to be exactly equal to one side of the square cell.
It is assumed that at time point 1, it is predicted that there is a position coordinate (or a position coordinate) of an existing attack bullet in the upper right corner of the grid (50) [see FIG. 9 (a)]. At this time, the value of C (s, t) of the cell (1, 7) located in the collision determination circle is set to zero. However, in this case, since the value of C (s, t) of the cell (1, 7) is originally 0, there is no need to reset. In addition, “a grid located in the collision determination circle” is a grid that is completely included in the collision determination circle and a grid in which a part of the grid is included in the collision determination circle.
At time point 2, it is predicted that the position coordinates (or viewing position coordinates) of the existing attack bullets are predicted in the upper right corner of the grid (3, 5) [see FIG. 9 (b)]. As described above, each of the attack bullets maintains the velocity determined at the time of launching from the enemy aircraft after the launch, so that the position coordinates at each time point can be predicted. At this time, the value of C (s, t) of the cells (2, 5), (2, 6), (3, 5), (3, 6) located in the collision determination circle is set to zero.

以上のようにして自機存在場合数計算部(142)は、現時点より後の各時点tにおける各升目のC(s,t)を求める。各時点における各升目のC(s,t)は、記憶部(20)に記憶される。ステップS2の処理の後、ステップS3の処理が行われる。   As described above, the number calculation unit (142) for the presence of the own device obtains C (s, t) of each cell at each time t after the current time. C (s, t) of each cell at each time point is stored in the storage unit (20). After the process of step S2, the process of step S3 is performed.

確率計算部(143)は、記憶部(20)から各時点における各升目のC(s,t)を取得し、自機(30)が各時点において各升目に存在している確率P(s,t)を求める(ステップS3)。
時点tで升目sにおける自機存在確率P(s,t)は、時点tでの全升目の場合数の和ΣC(s,t)を分母とし、升目sの場合数C(s,t)を分子とした式(2)で得る。各時点における各升目での自機存在確率P(s,t)は記憶部(20)に記憶される。

Figure 0004804240
The probability calculation unit (143) acquires C (s, t) of each cell at each time point from the storage unit (20), and the probability P (s) that the own device (30) exists in each cell at each time point. , T) is obtained (step S3).
The own aircraft existence probability P (s, t) at the time t at the cell s is the sum Σ s C (s, t) of all the cells at the time t, and the number C (s, t) at the cell s. It is obtained by the formula (2) using t) as a molecule. The own device existence probability P (s, t) at each cell at each time point is stored in the storage unit (20).
Figure 0004804240

このとき、時点が先に進むにつれて、一般には、自機(30)が到達するための道筋が存在しない(道筋が初期値の0通り)升目が減少していくため、時点tで自機(30)が或る升目sに存在する確率P(s,t)は、時点が先に進むにつれて減少する。また、一般に、攻撃弾発射時点(現時点)での自機位置から離れた升目での自機存在確率P(s,t)の値は低くなる。   At this time, as the time advances, generally, there is no route for the aircraft (30) to reach (the route is 0 as the initial value). The probability P (s, t) that 30) exists in a certain cell s decreases as the time advances. In general, the value of the own aircraft existence probability P (s, t) at the grid away from the own aircraft position at the time of launching the attack bullet (current time) is low.

続いて、攻撃弾発射速度決定部(144)は、記憶部(20)から敵機(40)の位置座標を取得し、また、ステップS3の処理で得られた各時点における各升目での自機存在確率P(s,t)も入力として、攻撃弾(新攻撃弾)の発射速度を決定する(ステップS4)。
この実施形態では、5つの「向き」の候補から選択して新攻撃弾の発射速度を決定する。敵機(40)から発射された新攻撃弾の現時点より後の各時点での予測位置Se(t)〔iは、5つの候補を表すパラメータとする。〕を候補ごとに、敵機(40)の位置座標を始点とする位置ベクトルで図10に示してある(図10中の5つの「向き」は一例に過ぎない。)。この新攻撃弾が、自機(30)に対して与える脅威を増すためには、新攻撃弾が自機(30)に衝突する可能性を高める必要がある。即ち、新攻撃弾が移動する各時点において、自機存在確率P(s,t)の高い升目に新攻撃弾が存在していることが必要である。このような考えの下、各時点での新攻撃弾の予測位置が存在する升目での自機存在確率の全ての時点での和である自機存在確率和ΣP(Se(t),t)をそれぞれの候補ごとに計算し、自機存在確率和ΣP(Se(t),t)が例えば最大となる「向き」を新攻撃弾の「向き」として決定する〔図11(a)〕。なお、自機存在確率和ΣP(Se(t),t)のSe(t)は、位置ベクトルSe(t)の終点の位置座標であり、P(Se(t),t)は、位置ベクトルSe(t)の終点の位置座標を含む升目の自機存在確率を表している。
Subsequently, the attacking bullet firing speed determination unit (144) acquires the position coordinates of the enemy aircraft (40) from the storage unit (20), and also at each time point obtained by the process of step S3, Using the machine existence probability P (s, t) as an input, the firing speed of the attack bullet (new attack bullet) is determined (step S4).
In this embodiment, the firing speed of a new attack bullet is determined by selecting from five “direction” candidates. Predicted position Se (t) i [i is a parameter representing five candidates at each time point after the current time of the new attack bullet fired from the enemy aircraft (40). ] For each candidate is shown in FIG. 10 as a position vector starting from the position coordinates of the enemy aircraft (40) (the five “directions” in FIG. 10 are merely examples). In order for the new attack bullet to increase the threat to the own aircraft (30), it is necessary to increase the possibility that the new attack bullet will collide with the own aircraft (30). That is, at each time point when the new attack bullet moves, it is necessary that the new attack bullet exists in the square having a high own existence probability P (s, t). Under such an idea, the own aircraft presence probability sum Σ t P (Se (t) i, which is the sum of the own aircraft existence probabilities at all points where the predicted positions of the new attack bullets at each time point exist. , T) is calculated for each candidate, and the “direction” in which the own aircraft existence probability Σ t P (Se (t) i , t) becomes the maximum is determined as the “direction” of the new attack bullet [Fig. 11 (a)]. Incidentally, Se (t) i of its own existence probability sum Σ t P (Se (t) i, t) is the position coordinate of the end point of the position vector Se (t) i, P ( Se (t) i, t) represents the own existence probability of the cell including the position coordinates of the end point of the position vector Se (t) i .

ここでは、単発式の攻撃弾発射として、ΣP(Se(t),t)が最大となる「向き」を新攻撃弾の「向き」として1つに決定したが、このような実施形態に限定されるものではない。一度に複数の新攻撃弾を発射する場合、ΣP(Se(t),t)の値の上位から、発射すべき攻撃弾の数に等しい数の候補を選択することもできる。つまり、例えば一度に3つの新攻撃弾を発射する場合には、ΣP(Se(t),t)の値の上位3つの「向き」を新攻撃弾の「向き」として決定することもできる〔図11(b)〕。また、例えば一度に2つの新攻撃弾を発射する場合に、ΣP(Se(t),t)が最大となる「向き」を、2つの新攻撃弾のそれぞれ向きがなす角度の中心の向きとなるように、2つの新攻撃弾の「向き」を決定することもできる〔図11(c)〕。 Here, as single-shot attack bullet firing, the “direction” that maximizes Σ t P (Se (t) i , t) is determined as one “direction” of the new attack bullet. The form is not limited. When a plurality of new attack bullets are fired at once, a number of candidates equal to the number of attack bullets to be fired can be selected from the top of the value of Σ t P (Se (t) i , t). That is, for example, when three new attack bullets are fired at a time, the top three “directions” of the values of Σ t P (Se (t) i , t) are determined as the “directions” of the new attack bullets. (FIG. 11 (b)). Also, for example, when two new attack bullets are fired at once, the “direction” that maximizes Σ t P (Se (t) i , t) is the center of the angle between the two new attack bullets. It is also possible to determine the “directions” of the two new attack bullets so as to be in the direction [FIG. 11 (c)].

以上のようにして決定された新攻撃弾の発射速度は、記憶部(20)に一旦保存され、制御部(190)の制御の下、決定された発射速度で新攻撃弾が画面上に飛行するように描画される。この処理の主体や処理方法は、従来と同様であるから説明を略する。   The firing speed of the new attack bullets determined as described above is temporarily stored in the storage unit (20), and the new attack bullets fly on the screen at the determined firing speed under the control of the control unit (190). To be drawn. Since the main body and processing method of this process are the same as those in the prior art, description thereof is omitted.

以上の実施形態では、攻撃弾の「速さ」は固定とし「向き」を決定する方式とした。これに対して、攻撃弾の「向き」は固定とし「速さ」を決定する方式では、ステップS4の処理において、位置ベクトルSe(t)を、「向き」は固定とし「速さ」を複数の候補としたものに変更すればよく、攻撃弾の「速さ」及び「向き」の双方を決定する方式では、ステップS4の処理において、位置ベクトルSe(t)を、「速さ」及び「向き」の双方の組み合わせを複数の候補としたものに変更すればよい。 In the above embodiment, the “speed” of the attack bullet is fixed and the “direction” is determined. On the other hand, in the method in which the “direction” of the attack bullet is fixed and the “speed” is determined, the position vector Se (t) i is fixed in the process of step S4, the “direction” is fixed and the “speed” is set. In the method of determining both “speed” and “direction” of the attack bullet, the position vector Se (t) i is set to “speed” in the process of step S4. And the combination of both “direction” may be changed to a plurality of candidates.

なお、新攻撃弾の発射のたびに新攻撃弾の速度を決定するのではなく、例えば3発目に1回のように、所定の発射回数おきに本発明の手法で新攻撃弾の速度を決定するようにしてもよい。あるいは、前回の攻撃弾発射からの経過時間を計測しておき、所定の時間を経過した後の最初の攻撃弾発射において、本発明の手法で新攻撃弾の速度を決定するようにしてもよい。   Instead of determining the speed of the new attack bullet each time a new attack bullet is fired, the speed of the new attack bullet is set by the method of the present invention every predetermined number of times, for example, once every third shot. It may be determined. Alternatively, the elapsed time from the previous attack bullet firing may be measured, and the speed of the new attack bullet may be determined by the method of the present invention in the first attack bullet firing after a predetermined time has elapsed. .

<変形例>
自機存在確率P(s,t)の算出において、攻撃弾発射時点での自機移動速度を考慮し、その移動速度が過去に或る程度継続されている場合、その自機移動先の升目における自機存在確率P(s,t)の値をいずれも1にする〔その他の升目の自機存在確率は0とする。〕。これは、過去から現時点までの自機移動速度が将来もある程度維持されるであろうとの見通しに基づく。自機存在確率P(s,t)の値を1とする時点の上限は、例えばプレーヤーの操作履歴を保存しておき、プレーヤーが移動方向の変更を行う操作の時間間隔の平均値を求め、その値を利用すればよい。具体例として、図12に示すように、自機存在場合数計算部(142)は、記憶部(20)から操作時間間隔平均を取得し、操作時間間隔平均が3処理単位時間であれば、現時点から3処理単位時間先、つまり時点3まで現時点の自機移動速度を維持するとし、その時点3までに自機移動速度で通過する升目及び時点3で自機が存在する升目の自機存在確率P(s,t)の値をいずれも1とすればよい。あるいは、現時点の自機移動速度を開始した時点を記憶部(20)に記憶しておき、操作時間間隔平均と開始時点との残差を求め、その残差に相当する時点まで現時点の自機移動速度を維持するとし、その時点までに自機移動速度で通過する升目及び当該時点で自機が存在する升目の自機存在確率P(s,t)の値をいずれも1としてもよい。
<Modification>
In calculating the own aircraft existence probability P (s, t), if the moving speed has been continued to some extent in the past in consideration of the own moving speed at the time of launching the attacking bullet, The value of the own aircraft existence probability P (s, t) at 1 is set to 1 [the own existence probability of other cells is 0. ]. This is based on the prospect that the speed of movement from the past to the present time will be maintained to some extent in the future. The upper limit of the time when the value of the own aircraft existence probability P (s, t) is set to 1, for example, is to store the player's operation history, find the average value of the time interval of the operation in which the player changes the movement direction, Use that value. As a specific example, as shown in FIG. 12, the own device existence number calculation unit (142) acquires the operation time interval average from the storage unit (20), and if the operation time interval average is 3 processing unit times, Suppose that the current movement speed is maintained 3 time units from the current time, that is, the current movement speed is maintained up to time 3, and there is a cell that passes by the movement speed until that time 3 The value of the probability P (s, t) may be 1 in all cases. Alternatively, the time point at which the current movement speed is started is stored in the storage unit (20), the residual between the operation time interval average and the start time is obtained, and the current time until the time corresponding to the residual is obtained. Assuming that the movement speed is maintained, the value of the own aircraft existence probability P (s, t) of the cell passing at the own vehicle movement speed up to that time and the cell where the own device exists at that time may be set to 1.

具体的な一例を図13に示す。ここでは、操作時間間隔平均が1処理単位時間としている。時点1では、図13(a)のように自機は確率1で升目(4,5)に移動し、それ以外の升目での自機存在確率は0である〔なお、図13(a)の各升目の数字はC(s,t)であって自機存在確率ではない。ここでは、図5に示す時点0における道筋の総数が時点1でも継続していることを表している。〕。時点2では、上記で説明した方法で道筋を計算すればよく、時点1での自機位置を含む升目(4,5)を中心として、図6の時点1と同様に各升目に道筋の総数が割り当てられる〔図13(b)参照〕。   A specific example is shown in FIG. Here, the average operation time interval is one processing unit time. At time 1, as shown in FIG. 13A, the own aircraft moves to the cell (4, 5) with probability 1, and the own device existence probability at other cells is 0 [Note that FIG. 13 (a) The number of each square of C is C (s, t) and is not its own existence probability. Here, it is shown that the total number of paths at time 0 shown in FIG. ]. At time 2, the route may be calculated by the method described above, and the total number of routes in each cell is the same as at time 1 in FIG. 6, centering on the grid (4, 5) including the position of the aircraft at time 1. [See FIG. 13B].

このようにすれば、より先の時点まで自機位置予測するような場合において、自機存在確率P(s,t)の値が非ゼロである升目の数の増加を押さえることができる。また、現時点よりもより先の時点の自機位置の予測が正確になるということであり、攻撃弾が自機に与えうる脅威も増大する。   In this way, in the case where the position of the own device is predicted to a further earlier time point, it is possible to suppress an increase in the number of cells having the non-zero value of the own device existence probability P (s, t). In addition, the prediction of the position of the aircraft at a time earlier than the current time becomes accurate, and the threat that an attack bullet can give to the aircraft increases.

シューティングゲームにおける敵機の数は複数であることが前提であり、複数の敵機が連携して自機を追い込むような機能が求められている。しかし、そのような連携を制御するアルゴリズムは、従来のように、全ての敵機の動きを監視する方式の中央制御では不十分である。何故なら、ゲーム画面上に出現する敵機の状況は時々刻々変化をし、それらの全ての状況の全てを考慮した中央制御アルゴリズムの開発は事実上不可能だからである。
この点、以上の実施形態で説明したとおり、本発明の敵機攻撃制御手法によれば、次のような効果も享受される。複数の敵機がそれぞれ、各々の制御アルゴリズム中で非同期に実行するものでありながらも、各敵機が攻撃弾発射時点で、自身が発射する攻撃弾がいかに自機にとって好ましくないものとするかを判断することと同値であると評価でき、結果的には、全体としての複数の敵機の連携を生むものとなる。つまり、いわゆる創発的な、複数の敵機の連携が発生するのである。
There is a premise that there are a plurality of enemy aircraft in the shooting game, and there is a demand for a function in which a plurality of enemy aircraft cooperate to drive their own aircraft. However, the conventional algorithm for controlling the cooperation is not sufficient in the central control of the method of monitoring the movements of all enemy aircraft as in the conventional case. This is because the situation of enemy aircraft appearing on the game screen changes from moment to moment, and it is virtually impossible to develop a central control algorithm that considers all of these situations.
In this regard, as described in the above embodiment, according to the enemy aircraft attack control method of the present invention, the following effects are also enjoyed. How many enemy aircraft will be executed asynchronously in each control algorithm, but how bad the enemy's attacking bullets will be to the enemy when each enemy aircraft fires It can be evaluated that it is the same value as that of judging, and as a result, cooperation of a plurality of enemy aircraft as a whole is produced. In other words, so-called emergent collaboration of multiple enemy aircraft occurs.

以上の各実施形態の他、本発明であるシューティングゲームの敵機攻撃制御装置・方法は上述の実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲で適宜変更が可能である。また、上記シューティングゲームの敵機攻撃制御装置・方法において説明した処理は、記載の順に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されるとしてもよい。   In addition to the above embodiments, the enemy aircraft attack control device / method of the shooting game according to the present invention is not limited to the above-described embodiments, and can be appropriately changed without departing from the spirit of the present invention. . In addition, the processing described in the enemy aircraft attack control device / method of the shooting game is not only executed in time series according to the order described, but also in parallel with the processing capability of the device executing the processing or as necessary. It may be executed individually.

また、上記シューティングゲームの敵機攻撃制御装置における処理機能をコンピュータによって実現する場合、シューティングゲームの敵機攻撃制御装置が有すべき機能の処理内容はプログラムによって記述される。そして、このプログラムをコンピュータで実行することにより、上記シューティングゲームの敵機攻撃制御装置における処理機能がコンピュータ上で実現される。   Further, when the processing function in the enemy aircraft attack control device of the shooting game is realized by a computer, the processing content of the function that the enemy aircraft attack control device of the shooting game should have is described by a program. Then, by executing this program on the computer, the processing function in the enemy aircraft attack control device of the shooting game is realized on the computer.

この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等どのようなものでもよい。具体的には、例えば、磁気記録装置として、ハードディスク装置、フレキシブルディスク、磁気テープ等を、光ディスクとして、DVD(Digital Versatile Disc)、DVD−RAM(Random Access Memory)、CD−ROM(Compact Disc Read Only Memory)、CD−R(Recordable)/RW(ReWritable)等を、光磁気記録媒体として、MO(Magneto-Optical disc)等を、半導体メモリとしてEEP−ROM(Electronically Erasable and Programmable-Read Only Memory)等を用いることができる。   The program describing the processing contents can be recorded on a computer-readable recording medium. As the computer-readable recording medium, for example, any recording medium such as a magnetic recording device, an optical disk, a magneto-optical recording medium, and a semiconductor memory may be used. Specifically, for example, as a magnetic recording device, a hard disk device, a flexible disk, a magnetic tape or the like, and as an optical disk, a DVD (Digital Versatile Disc), a DVD-RAM (Random Access Memory), a CD-ROM (Compact Disc Read Only). Memory), CD-R (Recordable) / RW (ReWritable), etc., magneto-optical recording medium, MO (Magneto-Optical disc), etc., semiconductor memory, EEP-ROM (Electronically Erasable and Programmable-Read Only Memory), etc. Can be used.

また、このプログラムの流通は、例えば、そのプログラムを記録したDVD、CD−ROM等の可搬型記録媒体を販売、譲渡、貸与等することによって行う。さらに、このプログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することにより、このプログラムを流通させる構成としてもよい。   The program is distributed by selling, transferring, or lending a portable recording medium such as a DVD or CD-ROM in which the program is recorded. Furthermore, the program may be distributed by storing the program in a storage device of the server computer and transferring the program from the server computer to another computer via a network.

このようなプログラムを実行するコンピュータは、例えば、まず、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、一旦、自己の記憶装置に格納する。そして、処理の実行時、このコンピュータは、自己の記録媒体に格納されたプログラムを読み取り、読み取ったプログラムに従った処理を実行する。また、このプログラムの別の実行形態として、コンピュータが可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することとしてもよく、さらに、このコンピュータにサーバコンピュータからプログラムが転送されるたびに、逐次、受け取ったプログラムに従った処理を実行することとしてもよい。また、サーバコンピュータから、このコンピュータへのプログラムの転送は行わず、その実行指示と結果取得のみによって処理機能を実現する、いわゆるASP(Application Service Provider)型のサービスによって、上述の処理を実行する構成としてもよい。なお、本形態におけるプログラムには、電子計算機による処理の用に供する情報であってプログラムに準ずるもの(コンピュータに対する直接の指令ではないがコンピュータの処理を規定する性質を有するデータ等)を含むものとする。   A computer that executes such a program first stores, for example, a program recorded on a portable recording medium or a program transferred from a server computer in its own storage device. When executing the process, this computer reads the program stored in its own recording medium and executes the process according to the read program. As another execution form of the program, the computer may directly read the program from a portable recording medium and execute processing according to the program, and the program is transferred from the server computer to the computer. Each time, the processing according to the received program may be executed sequentially. Also, the program is not transferred from the server computer to the computer, and the above-described processing is executed by a so-called ASP (Application Service Provider) type service that realizes the processing function only by the execution instruction and result acquisition. It is good. Note that the program in this embodiment includes information that is used for processing by an electronic computer and that conforms to the program (data that is not a direct command to the computer but has a property that defines the processing of the computer).

また、この形態では、コンピュータ上で所定のプログラムを実行させることにより、シューティングゲームの敵機攻撃制御装置を構成することとしたが、これらの処理内容の少なくとも一部をハードウェア的に実現することとしてもよい。   Further, in this embodiment, the enemy aircraft attack control device of the shooting game is configured by executing a predetermined program on the computer, but at least a part of these processing contents is realized in hardware. It is good.

本発明は、画面上に自機及び1つあるいは複数の敵機を表示し、敵機が自機に対して攻撃弾を発射するコンピュータによるシューティングゲームに有用である。   INDUSTRIAL APPLICABILITY The present invention is useful for a computer shooting game in which an own aircraft and one or more enemy aircraft are displayed on a screen, and the enemy aircraft launches an attack bullet against the own aircraft.

自機の行動の種類を説明する図。(a)日本将棋の「玉将」または「王将」の動きと同じ場合。(b)十文字の動きの場合。The figure explaining the kind of action of an own machine. (A) When the movement is the same as the movement of a Japanese shogi “tama general” or “king general”. (B) In the case of a crossed character movement. シューティングゲームの敵機攻撃制御装置(1)のハードウェア構成例を示す図。The figure which shows the hardware structural example of the enemy machine attack control apparatus (1) of a shooting game. シューティングゲームの敵機攻撃制御装置(1)の機能構成例を示す図。The figure which shows the function structural example of the enemy machine attack control apparatus (1) of a shooting game. シューティングゲームの敵機攻撃制御装置(1)における敵機の攻撃弾速度を決定する処理フロー。The processing flow which determines the attack bullet speed of the enemy aircraft in the enemy aircraft attack control device (1) of the shooting game. 時点0での各升目の道筋の総数C(s,t)を示す図。The figure which shows the total number C (s, t) of the path | route of each square at the time 0. FIG. 時点1での各升目の道筋の総数C(s,t)を示す図。The figure which shows the total number C (s, t) of the path | route of each square at the time 1. 時点2での各升目の道筋の総数C(s,t)を示す図。The figure which shows the total number C (s, t) of the path | route of each square at the time 2. (a)に示す網掛け部分の各升目から、(b)の網掛け部分の升目の道筋の総数C(s,t)を求める方法を説明する図。The figure explaining the method of calculating | requiring the total number C (s, t) of the path | route of the mesh of the shaded part of (b) from each grid of the shaded part shown to (a). (a)時点1で攻撃判定円に位置する升目の道筋の総数C(s,t)を0にリセットすることを説明する図。(b)時点2で攻撃判定円に位置する升目の道筋の総数C(s,t)を0にリセットすることを説明する図。(A) The figure explaining resetting the total number C (s, t) of the path | route of the grid located in an attack determination circle | round | yen at the time 1 to 0. (B) The figure explaining resetting the total number C (s, t) of the path | route of the grid located in an attack determination circle | round | yen at time 2 to 0. 時点1及び時点2において、速度候補の位置ベクトルを示す図。The figure which shows the position vector of a speed candidate in the time 1 and the time 2. (a)速度候補を1つ決定する場合を例示した図。(b)速度候補を3つ決定する場合を例示した図。(c)速度候補を1つ決定して、決定された速度を挟む2つの速度で攻撃弾を発射する場合を例示した図。(A) The figure which illustrated the case where one speed candidate is determined. (B) The figure which illustrated the case where three speed candidates are determined. (C) The figure which illustrated the case where one speed candidate is determined and an attack bullet is fired at two speeds on both sides of the determined speed. 変形例におけるシューティングゲームの敵機攻撃制御装置(1)の機能構成例を示す図。The figure which shows the function structural example of the enemy machine attack control apparatus (1) of the shooting game in a modification. (a)変形例の場合に時点1での各升目の道筋の総数C(s,t)を示す図。(b)変形例の場合に時点2での各升目の道筋の総数C(s,t)を示す図。(A) The figure which shows the total number C (s, t) of the path | route of each square at the time 1 in the case of a modification. (B) The figure which shows the total number C (s, t) of the path | route of each square at the time 2 in the case of a modification. 升目の四隅の角またはその中心のいずれかを中心とする衝突判定形状に含まれる升目は一意になることを説明する図。(a)升目が正方形の場合であり、かつ、攻撃弾の位置座標を当該位置座標が存在する升目の四隅の角のうち1つに看做した場合。(b)升目が縦に長い長方形の場合であり、かつ、攻撃弾の位置座標を当該位置座標が存在する升目の四隅の角のうち1つに看做した場合。(c)升目が正方形の場合であり、かつ、攻撃弾の位置座標を当該位置座標が存在する升目の中心に看做した場合。(d)升目が縦に長い長方形の場合であり、かつ、攻撃弾の位置座標を当該位置座標が存在する升目の中心に看做した場合。The figure explaining that the grid contained in the collision determination shape centering on either the corner | angular corner of the grid, or its center becomes unique. (A) The case where the square is a square and the position coordinates of the attack bullet are regarded as one of the four corners of the square where the position coordinates exist. (B) The case where the square is a vertically long rectangle, and the position coordinates of the attack bullet are regarded as one of the four corners of the square where the position coordinates exist. (C) The case where the square is a square and the position coordinates of the attack bullet are considered at the center of the square where the position coordinates exist. (D) The case where the cell is a vertically long rectangle and the position coordinates of the attack bullet are viewed at the center of the cell where the position coordinates exist.

符号の説明Explanation of symbols

1 シューティングゲームの敵機攻撃制御装置
141 自機存在確率計算部
142 自機存在場合数計算部
143 確率算出部
144 攻撃弾発射速度決定部
20 記憶部
DESCRIPTION OF SYMBOLS 1 Enemy aircraft attack control device 141 for shooting game Own aircraft existence probability calculation unit 142 Own aircraft existence number calculation unit 143 Probability calculation unit 144 Attack bullet firing speed determination unit 20 Storage unit

Claims (10)

自機存在確率計算手段と攻撃弾発射速度決定手段を備えたコンピュータが、画面上に自機及び1つあるいは複数の敵機が表示され、敵機がプレーヤーの操作する自機に対して攻撃弾を発射するシューティングゲームの敵機攻撃制御を行う敵機攻撃制御方法であって、
上記自機存在確率計算手段が、
敵機が攻撃弾を発射する時点(現時点)において、敵機が現時点より過去の時点で発射した既存攻撃弾あるいは他の敵機が現時点より過去の時点で発射した既存攻撃弾の位置及びその速度、並びに現時点の自機の位置関係に基づき、現時点より後の各時点で、画面を格子状に分割した当該格子の各升目において、既存攻撃弾が存在すると予測される位置に対して自機が一定以内の距離に近づかずに升目に存在しうる確率(自機存在確率)を各時点の各升目ごとに求める自機存在確率計算ステップと、
上記攻撃弾発射速度決定手段が、
敵機が攻撃弾を発射する速度の2つ以上の候補について、それぞれの候補の速度で発射された攻撃弾が各時点ごとに通過する各升目における自機存在確率の和(自機存在確率和)をそれぞれの速度の候補ごとに求め、自機存在確率和が所定の条件を満たす候補の速度を攻撃弾発射速度として決定する攻撃弾発射速度決定ステップと
を有することを特徴とするシューティングゲームの敵機攻撃制御方法。
A computer equipped with its own aircraft existence probability calculation means and attack bullet firing speed determination means displays its own aircraft and one or more enemy aircraft on the screen, and the enemy aircraft attacks the own aircraft operated by the player. An enemy aircraft attack control method for controlling an enemy aircraft attack in a shooting game
The aircraft existence probability calculation means is
The position and speed of the existing attack bullets fired by the enemy aircraft at a past time from the current time or the speed of existing attack bullets fired by other enemy aircraft at the past time from the current time when the enemy aircraft fires the attack bullets (current time) In addition, based on the current positional relationship of the aircraft, at each time after the current time, the aircraft is at the position where the existing attack bullets are predicted to exist in each grid of the grid divided into a grid. The own aircraft existence probability calculation step for obtaining the probability of being present in the cell without approaching the distance within a certain distance (own device existence probability) for each cell at each time point;
The attacking bullet firing speed determining means is
For two or more candidates for the speed at which enemy aircraft fires attack bullets, the sum of the probability of own aircraft in each square where the attack bullets fired at each candidate speed pass at each time point ) For each of the speed candidates, and an attack bullet firing speed determining step for determining the speed of a candidate whose ship's presence probability sum satisfies a predetermined condition as an attack bullet firing speed. Enemy aircraft attack control method.
自機が存在する升目Sから1処理単位時間で移動可能な升目は、升目Sに接して取り囲む升目の全部または一部であるとし、
上記自機存在確率計算ステップは、
現時点tに自機が存在する升目sから現時点より後の或る時点tにおける或る升目sまでの道筋の総数C(s,t)を、升目sを取り囲む升目のうち1処理単位時間で自機が移動可能な升目s′の時点t−1における道筋の総数C(s′,t−1)の総和(但し、s′に関する総和である。)と升目sの時点t−1における道筋の総数C(s,t−1)との和で求め、さらに、時点tにおいて、既存攻撃弾が存在すると予測される位置を含む升目及び当該位置から所定の距離内に位置する升目の道筋の総数C(s,t)を0に設定する自機存在場合数計算ステップと、
時点tにおける升目sに自機が存在する自機存在確率を、C(s,t)を、全ての升目についての道筋の総数C(s,t)の総和であるΣC(s,t)で除したものとして求める確率計算ステップと
を有することを特徴とする請求項1に記載のシューティングゲームの敵機攻撃制御方法。
The cells that can move in one processing unit time from the cell S where the machine is present are all or part of the cells that are in contact with the cell S,
The aircraft existence probability calculation step is as follows:
The total number C (s, t) of paths from a cell s 0 where the own machine exists at the current time t 0 to a certain cell s at a certain time t after the current time is one processing unit time among the cells surrounding the cell s. The total number C (s', t-1) of the total number of paths C (s', t-1) at the time point t-1 of the cell s' where the aircraft can move at the time point t-1 of the cell s. The sum of the total number C (s, t-1) of the path, and further, the grid including the position where the existing attack bullet is predicted to exist at the time t and the path of the grid located within a predetermined distance from the position The number calculation step of the own device to set the total number C (s, t) of
The probability of existence of the aircraft in the cell s 1 at the time t is defined as C (s 1 , t), and Σ s C (s) which is the sum of the total number C (s, t) of routes for all cells. , T) and a probability calculation step obtained as a result of dividing by t, the enemy aircraft attack control method for a shooting game according to claim 1.
自機が存在する升目Sから1処理単位時間で移動可能な升目は、升目Sに接して取り囲む升目の全部または一部であるとし、
現時点tでの自機移動速度が、現時点より後の或る時点τまで継続されるとし、その自機移動速度で移動した自機が時点τまでに通過した升目及び時点τで自機が存在すると予測される升目における自機存在確率を1とし、他の升目における自機存在確率を0とし、
上記自機存在確率計算ステップは、
時点τに自機が存在する升目sτから時点τより後の或る時点tにおける或る升目sまでの道筋の総数C(s,t)を、升目sを取り囲む升目のうち1処理単位時間で自機が移動可能な升目s′の時点t−1における道筋の総数C(s′,t−1)の総和(但し、s′に関する総和である。)と升目sの時点t−1における道筋の総数C(s,t−1)との和で求め、さらに、時点tにおいて、既存攻撃弾が存在すると予測される位置を含む升目及び当該位置から所定の距離内に位置する升目の道筋の総数C(s,t)を0に設定する自機存在場合数計算ステップと、
時点tにおける升目sに自機が存在する確率を、C(s,t)を、全ての升目についての道筋の総数C(s,t)の総和であるΣC(s,t)で除したものとして求める確率計算ステップと
を有することを特徴とする請求項1に記載のシューティングゲームの敵機攻撃制御方法。
The cells that can move in one processing unit time from the cell S where the machine is present are all or part of the cells that are in contact with the cell S,
Ship moving speed at the present time t 0 is set to continue until τ some point later than the present time, the ship moving speed moved ship has passed by the time τ square and time ship at τ is The own aircraft existence probability in a cell that is predicted to exist is 1, and the own aircraft existence probability in other cells is 0.
The aircraft existence probability calculation step is as follows:
The total number C (s, t) of paths from a cell s τ at which the own machine exists to a certain cell s at a certain time t after the time τ is one processing unit time among the cells surrounding the cell s. The total number C (s', t-1) of the total number of paths C (s', t-1) at the time point t-1 of the cell s' where the aircraft can move at the time point t-1 of the cell s. The sum of the total number C (s, t-1) of the path, and further, the grid including the position where the existing attack bullet is predicted to exist at the time t and the path of the grid located within a predetermined distance from the position The number calculation step of the own device to set the total number C (s, t) of
The probability that the aircraft is present in the cell s 1 at the time t is defined as C (s 1 , t), and Σ s C (s, t) which is the sum of the total number C (s, t) of routes for all cells. 2. The enemy game attack control method for a shooting game according to claim 1, further comprising: a probability calculation step obtained as a result of dividing by.
上記時点τは、プレーヤーが自機の移動方向の変更を行う操作の時間間隔の平均値(操作時間間隔平均)とする、あるいは、現時点tの自機移動速度を開始した時点tと操作時間間隔平均との残差とする
ことを特徴とする請求項3に記載のシューティングゲームの敵機攻撃制御方法。
The above time tau, the average value of the time interval of operation the player to change the moving direction of its own and (operation time interval average), alternatively, the operation and the time t s which began ship moving speed at the present time t 0 4. The enemy aircraft attack control method of a shooting game according to claim 3, wherein a residual with a time interval average is used.
上記自機存在場合数計算ステップにおいて道筋の総数C(s,t)が0に設定される、既存攻撃弾が存在すると予測される位置を含む升目及び当該位置から所定の距離内に位置する升目を、
既存攻撃弾が存在すると予測される位置を含む升目の四隅の角またはその中心のいずれか1つの位置から所定の距離内に位置する升目とする
ことを特徴とする請求項2から請求項4のいずれかに記載のシューティングゲームの敵機攻撃制御方法。
The total number C (s, t) of the path is set to 0 in the above-described case number calculation step, and a grid including a position where an existing attack bullet is predicted to exist and a grid located within a predetermined distance from the position The
5. The cell according to claim 2, wherein the cell is located within a predetermined distance from any one of the four corners of the cell including the position where the existing attack bullet is predicted to exist or the center thereof. An enemy aircraft attack control method for a shooting game according to any one of the above.
既存攻撃弾が存在すると予測される位置を含む升目の四隅の角のうちいずれか1つの位置とする場合に、既存攻撃弾の位置を表す基準点から最も近い角を選択する
ことを特徴とする請求項5に記載のシューティングゲームの敵機攻撃制御方法。
When the position of any one of the four corners of the square including the position where the existing attack bullet is predicted to be present is selected, the closest angle from the reference point representing the position of the existing attack bullet is selected. The enemy machine attack control method of the shooting game according to claim 5.
上記攻撃弾発射速度決定ステップにおいて上記所定の条件を満たす候補の速度は、
上記自機存在確率和が最大となる候補の速度、
あるいは、
一度に複数の攻撃弾を発射する場合に、上記自機存在確率和が最大のものから降順に発射すべき攻撃弾の数に等しい数の順位までの各自機存在確率和を与えた候補の速度である
ことを特徴とする請求項1から請求項6のいずれかに記載のシューティングゲームの敵機攻撃制御方法。
The candidate speed satisfying the predetermined condition in the attack bullet firing speed determination step is:
The speed of the candidate that maximizes the above-mentioned own existence probability sum,
Or
When launching multiple attack bullets at a time, the speed of the candidate that gave the sum of the existence probability of each of the above-mentioned weapons from the largest sum of the existence probability of the own aircraft to the number of ranks equal to the number of attack bullets to be fired in descending order The enemy aircraft attack control method for a shooting game according to any one of claims 1 to 6, wherein:
画面上に自機及び1つあるいは複数の敵機が表示され、敵機がプレーヤーの操作する自機に対して攻撃弾を発射するシューティングゲームの敵機攻撃制御装置であって、
敵機が攻撃弾を発射する時点(現時点)において、敵機が現時点より過去の時点で発射した既存攻撃弾あるいは他の敵機が現時点より過去の時点で発射した既存攻撃弾の位置及びその速度、並びに現時点の自機の位置関係に基づき、現時点より後の各時点で、画面を格子状に分割した当該格子の各升目において、既存攻撃弾が存在すると予測される位置に対して自機が一定以内の距離に近づかずに升目に存在しうる確率(自機存在確率)を各時点の各升目ごとに求める自機存在確率計算手段と、
敵機が攻撃弾を発射する速度の2つ以上の候補について、それぞれの候補の速度で発射された攻撃弾が各時点ごとに通過する各升目における自機存在確率の和(自機存在確率和)をそれぞれの速度候補ごとに求め、自機存在確率和が所定の条件を満たす候補の速度を攻撃弾発射速度として決定する攻撃弾発射速度決定手段と
を備えたことを特徴とするシューティングゲームの敵機攻撃制御装置。
An enemy aircraft attack control device for a shooting game in which an own aircraft and one or a plurality of enemy aircraft are displayed on a screen, and the enemy aircraft fires an attack bullet against the own aircraft operated by the player,
The position and speed of the existing attack bullets fired by the enemy aircraft at a past time from the current time or the speed of existing attack bullets fired by other enemy aircraft at the past time from the current time when the enemy aircraft fires the attack bullets (current time) In addition, based on the current positional relationship of the aircraft, at each time after the current time, the aircraft is at the position where the existing attack bullets are predicted to exist in each grid of the grid divided into a grid. Own machine existence probability calculating means for obtaining the probability of existence of each cell without approaching a distance within a certain distance (own machine existence probability) for each cell at each time point;
For two or more candidates for the speed at which enemy aircraft fires attack bullets, the sum of the probability of own aircraft in each square where the attack bullets fired at each candidate speed pass at each time point ) For each speed candidate, and an attack bullet firing speed determining means for determining the speed of a candidate whose ship's presence probability sum satisfies a predetermined condition as an attack bullet firing speed. Enemy aircraft attack control device.
画面上に自機及び1つあるいは複数の敵機が表示され、敵機がプレーヤーの操作する自機に対して攻撃弾を発射するシューティングゲームの敵機攻撃制御をコンピュータに行わせる敵機攻撃制御プログラムであって、
敵機が攻撃弾を発射する時点(現時点)において、敵機が現時点より過去の時点で発射した既存攻撃弾あるいは他の敵機が現時点より過去の時点で発射した既存攻撃弾の位置及びその速度、並びに現時点の自機の位置関係に基づき、現時点より後の各時点で、画面を格子状に分割した当該格子の各升目において、既存攻撃弾が存在すると予測される位置に対して自機が一定以内の距離に近づかずに升目に存在しうる確率(自機存在確率)を各時点の各升目ごとに求める自機存在確率計算処理と、
敵機が攻撃弾を発射する速度の2つ以上の候補について、それぞれの候補の速度で発射された攻撃弾が各時点ごとに通過する各升目における自機存在確率の和(自機存在確率和)をそれぞれの速度の候補ごとに求め、自機存在確率和が所定の条件を満たす候補の速度を攻撃弾発射速度として決定する攻撃弾発射速度決定処理と
をコンピュータに行わせることを特徴とするシューティングゲームの敵機攻撃制御プログラム。
Own device and one or more of the opponent's aircraft is displayed on the screen, enemy attack control to perform the enemy attack control shooter enemy to launch an attack bullets against ship operated by the player to the computer A program,
The position and speed of the existing attack bullets fired by the enemy aircraft at a past time from the current time or the speed of existing attack bullets fired by other enemy aircraft at the past time from the current time when the enemy aircraft fires the attack bullets (current time) In addition, based on the current positional relationship of the aircraft, at each time after the current time, the aircraft is at the position where the existing attack bullets are predicted to exist in each grid of the grid divided into a grid. The own aircraft existence probability calculation process for obtaining the probability of being in a cell without approaching a distance within a certain distance (own device existence probability) for each cell at each time point,
For two or more candidates for the speed at which enemy aircraft fires attack bullets, the sum of the probability of own aircraft in each square where the attack bullets fired at each candidate speed pass at each time point ) For each speed candidate, and the attack bullet firing speed determination process for determining the speed of the candidate whose ship's existence probability sum satisfies the predetermined condition as the attack bullet firing speed;
An enemy aircraft attack control program for a shooting game, characterized by causing a computer to perform .
請求項9に記載のプログラムを記録した、コンピュータに読み取り可能な記録媒体。
A computer-readable recording medium on which the program according to claim 9 is recorded.
JP2006172831A 2006-06-22 2006-06-22 Enemy aircraft attack control method of shooting game, apparatus thereof, program thereof, and recording medium thereof Expired - Fee Related JP4804240B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006172831A JP4804240B2 (en) 2006-06-22 2006-06-22 Enemy aircraft attack control method of shooting game, apparatus thereof, program thereof, and recording medium thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006172831A JP4804240B2 (en) 2006-06-22 2006-06-22 Enemy aircraft attack control method of shooting game, apparatus thereof, program thereof, and recording medium thereof

Publications (2)

Publication Number Publication Date
JP2008000346A JP2008000346A (en) 2008-01-10
JP4804240B2 true JP4804240B2 (en) 2011-11-02

Family

ID=39005200

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006172831A Expired - Fee Related JP4804240B2 (en) 2006-06-22 2006-06-22 Enemy aircraft attack control method of shooting game, apparatus thereof, program thereof, and recording medium thereof

Country Status (1)

Country Link
JP (1) JP4804240B2 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010051514A (en) * 2008-08-28 2010-03-11 Square Enix Co Ltd Video game processing device, video game processing method and video game processing program
JP7175124B2 (en) * 2018-08-03 2022-11-18 株式会社コーエーテクモゲームス Information processing device, position prediction method and position prediction program

Also Published As

Publication number Publication date
JP2008000346A (en) 2008-01-10

Similar Documents

Publication Publication Date Title
US11097189B2 (en) Contextually aware communications system in video games
JP5019897B2 (en) GAME PROGRAM AND GAME DEVICE
JP6732439B2 (en) Program and image generation system
US20140151960A1 (en) Gaming system using gaming surface having computer readable indicia and method of using same
KR20090045335A (en) Game device, game processing method, information recording medium, and program
KR20230129207A (en) Game system for providing game service by adjusting difficulty levels of game and difficulty levels adjusting method
US11093121B2 (en) Game program, computer control method, and information processing apparatus
US20230233935A1 (en) Intent-based Models for Use in Selecting Actions in Video Games
Smith et al. Evolving Dota 2 shadow fiend bots using genetic programming with external memory
US20230031248A1 (en) Level screen display method, apparatus, device and storage medium
JP4804240B2 (en) Enemy aircraft attack control method of shooting game, apparatus thereof, program thereof, and recording medium thereof
CN110124323B (en) Method and equipment for executing football skill in football application
JP6877555B1 (en) Server equipment, programs, methods and terminal equipment
JP3883564B2 (en) PROGRAM, INFORMATION STORAGE MEDIUM, AND GAME DEVICE
US11752434B2 (en) Live gameplay updates
JP2010142339A (en) Scoring possibility quantifying apparatus and scoring possibility quantifying program
KR20130124040A (en) Method for providing on-line shooting game supporting respawn buffer function and the game server thereof
JP4996275B2 (en) Difficulty determination method, device, program
CN112774204A (en) Role collision avoidance method, device, equipment and storage medium
JP6278998B2 (en) GAME METHOD AND GAME PROGRAM
JP4996267B2 (en) Enemy aircraft action control method, apparatus, program, and recording medium thereof
JP4804222B2 (en) Method for determining difficulty level of shooting game, apparatus thereof, program thereof, and recording medium thereof
JP4976754B2 (en) Shooting game processing method, apparatus thereof, program thereof, and recording medium thereof
JP7170397B2 (en) Program, image processing method, and image processing apparatus
KR102589889B1 (en) Game ui analyzing method

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080804

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110506

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110623

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: 20110802

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110809

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 4804240

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140819

Year of fee payment: 3

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees