JP4976771B2 - Self-action control method for demonstration of shooting game, its device, its program, and its recording medium - Google Patents

Self-action control method for demonstration of shooting game, its device, its program, and its recording medium Download PDF

Info

Publication number
JP4976771B2
JP4976771B2 JP2006202019A JP2006202019A JP4976771B2 JP 4976771 B2 JP4976771 B2 JP 4976771B2 JP 2006202019 A JP2006202019 A JP 2006202019A JP 2006202019 A JP2006202019 A JP 2006202019A JP 4976771 B2 JP4976771 B2 JP 4976771B2
Authority
JP
Japan
Prior art keywords
aircraft
time
cell
total number
square
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2006202019A
Other languages
Japanese (ja)
Other versions
JP2008023243A (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 JP2006202019A priority Critical patent/JP4976771B2/en
Publication of JP2008023243A publication Critical patent/JP2008023243A/en
Application granted granted Critical
Publication of JP4976771B2 publication Critical patent/JP4976771B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Processing Or Creating Images (AREA)

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 behavior control of the own machine in a demonstration of a shooting game.

現在、コンピュータを利用したシューティングゲームが広く普及している。
一般的なシューティングゲームでは、画面上に一つの自機と一つあるいは複数の敵機とが表示される。ここで画面とは、シューティングゲームが表示される画面のことであり、いわゆる全画面表示形式であれば、ディスプレイなどの表示装置の表示部の全面に相当し、あるいは、表示部の一部分に独立した表示領域を用意して、その表示領域に画像やテキストを表示する機能が与えられたいわゆる窓形式であれば、この窓形式の表示領域が画面に相当する。
プレイヤーが適当な入力手段〔例えばキーボードのキー、多方向押圧可能なスイッチ、操縦桿などである。〕を操作すると、その操作が画面上の自機の数種類の行動に変換され、自機がその操作に応じた行動をする。また、プレイヤーが適当な入力手段〔例えばキーボードのキー、多方向押圧可能なスイッチ、操縦桿に備えられたボタンなどである。〕を操作すると、その操作が画面上の自機の攻撃行動に変換され、自機が攻撃弾を発射し、敵機や種々のアイテムに対してダメージを与えることができるようになっている。
Currently, shooting games using computers are widely used.
In a general shooting game, one player and one or more enemy aircraft are displayed on the screen. Here, the screen is a screen on which a shooting game is displayed. If it is a so-called full screen display format, it corresponds to the entire display unit of a display device such as a display, or independent of a part of the display unit. In the case of a so-called window format in which a display area is prepared and a function for displaying an image or text in the display area is provided, this window-type display area corresponds to the screen.
The player can use appropriate input means [for example, a keyboard key, a switch that can be pressed in multiple directions, or a control stick. ] Is converted into several types of actions on the screen, and the own action behaves according to the operation. In addition, the player may use appropriate input means such as a keyboard key, a switch that can be pressed in multiple directions, and a button provided on the control stick. ] Is converted into an attack action of the own aircraft on the screen, and the own aircraft can fire an attack bullet and damage the 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 who operates the own device, such as a network battle type shooting game, or a computer operation type operated by a computer. . The “computer” is not limited to a general-purpose machine such as a so-called personal computer, and widely refers to a game-dedicated machine or the like [the same applies hereinafter. ]. In addition, “computer operation” refers to the action of enemy aircraft, the launch of attack bullets, etc. by the cooperation of computer hardware resources and software installed on the computer to realize information processing. Is displayed on the computer screen.
In the case of the computer operation type, the action control of the enemy aircraft and the firing control of the enemy aircraft against the own 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.

このようなシューティングゲームでは、プレイヤーがゲームプレイをしていない、いわゆる「待ち状態」の時に、画面上でシューティングゲームのデモンストレーションが表示されることが多い。デモンストレーションは、シューティングゲームのゲーム内容を紹介することや自機のプレイヤーが一時的にプレイヤーによる操作を中断するなどの目的などから、コンピュータによる操作で自機を行動させて、シューティングゲームを行っている様子を表示するものであるのが一般的である。本明細書でデモンストレーションとは、その目的を問わず、コンピュータによる操作で自機を行動させることを云う。   In such a shooting game, a demonstration of the shooting game is often displayed on the screen when the player is not playing the game and is in a so-called “waiting state”. In the demonstration, for the purpose of introducing the game contents of the shooting game or for the purpose of the player's own player temporarily interrupting the player's operation, etc., the player's own action is performed by the computer operation and the shooting game is played It is common to display the situation. In this specification, the demonstration means that the machine is operated by a computer regardless of the purpose.

シューティングゲームにおける上記の事実は周知であるが、一例として非特許文献1を示す。
松浦健一郎著、「シューティングゲームアルゴリズムマニアックス」初版、ソフトバンクパブリッシング株式会社、2004年6月
Although the above fact in the shooting game is well known, Non-Patent Document 1 is shown as an example.
Kenichiro Matsuura, “Shooting Game Algorithm Maniacs” first edition, Softbank Publishing Co., Ltd., June 2004

従来のデモンストレーションにおける自機の行動を決定するアルゴリズムは、例えば敵機や敵機から発射された攻撃弾に向かって自機を移動させたり、攻撃弾などが接近してきても自機を移動させなかったりなど、人間の目から見て理に適わない自機の行動制御を行うほど単純なものであった。このため、多くの場合、敵機の攻撃によってすぐに自機が破壊されるため、例えばゲーム内容をプレイヤーに理解させるほどの長い時間のデモンストレーションを行うことが難しかった。   The algorithm that determines the behavior of the aircraft in the conventional demonstration is, for example, moving the aircraft toward the enemy aircraft and the attacking bullet fired from the enemy aircraft, or does not move the aircraft even if the attacking bullet approaches It was so simple that it controlled the behavior of the aircraft that was unreasonable from the human eye. For this reason, in many cases, since the enemy aircraft is immediately destroyed by the attack of the enemy aircraft, it was difficult to perform a demonstration for such a long time as to allow the player to understand the game content, for example.

このような問題を解決するためには、人工知能の技術をデモンストレーションに導入するのが有効と考えられるが、現在、人工知能におけるゲームの研究は、チェス、オセロ、将棋といった、非アクション系のいわゆる思考ゲームを中心にして行われており〔例えば参考文献参照。〕、人工知能をシューティングゲームのデモンストレーションに応用する試みはなかった。
(参考文献)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 to the demonstration. Currently, research on games in artificial intelligence is the so-called non-action system such as chess, othello and shogi. It is mainly focused on thinking games [see, for example, references. There was no attempt to apply artificial intelligence to a shooting game demonstration.
(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 meaningful to simply introduce such artificial intelligence technology into a shooting game demonstration. This is because the amusement of a shooting game is in a virtual battle that takes place quickly, and even in demonstrations that convey such amusement, emphasis is placed on not impairing real time rather than deep search calculations.

そこで本発明は、上記の問題点に鑑み、デモンストレーションで人間の目から見て理に適った自機の行動制御を行うシューティングゲームのデモンストレーション用自機行動制御方法、その装置、そのプログラムおよびその記録媒体を提供することを目的とする。   Therefore, in view of the above-described problems, the present invention provides a self-action control method for demonstration of a shooting game for controlling the action of the self-approach that is reasonable from the human eyes in the demonstration, its apparatus, its program, and its recording. The purpose is to provide a medium.

上記課題を解決するために、本発明では、画面上に自機と1つあるいは複数の敵機とが表示され、自機および敵機が行動しながら攻撃弾を発射するシューティングゲームのデモンストレーションで自機の行動制御を行うシューティングゲームのデモンストレーション用自機行動制御方法を、次のようなものとする。即ち、まず、自機目標設定手段が、自機の行動を決定するべき現時点tにおいて、敵機が現時点tより過去の時点で発射した攻撃弾の位置およびその速度、敵機の位置およびその速度、並びに現時点の自機の位置に基づき、画面を格子状に分割した格子の升目であって現時点tで自機が存在する升目sを起点として、現時点tより後の時点nで、敵機と攻撃弾の少なくとも何れかが存在すると予測される各位置に対して自機が一定以内の距離に近づかずに升目に到達しえる経路総数〔順経路総数〕を各升目ごとに求め、順経路総数が最大の升目sを目標として設定する。次いで、自機行動決定手段が、敵機が現時点tより過去の時点で発射した攻撃弾の位置およびその速度、敵機の位置およびその速度に基づき、目標とされた升目sを起点として、時点nよりも前の時点t+ΔTで、上記格子の各升目において、敵機と攻撃弾の少なくとも何れかが存在すると予測される各位置に対して自機が一定以内の距離に近づかずに升目に到達しえる経路総数〔逆経路総数〕を各升目ごとに求め、上記升目sの逆経路総数および上記升目sの周囲の升目のうち1処理単位時間ΔTで自機が升目sに移動可能な升目s′の各逆経路総数のうち、最大の逆経路総数を有する升目に対して行動することを決定する。
このように、現時点tで自機の到達目標となる升目sを将来における敵機や攻撃弾との衝突可能性を考慮した経路総数によって定め、この升目sを起点として、将来における敵機や攻撃弾との衝突可能性を考慮した上で、時点t+ΔTでの、現時点tで自機が存在する升目sの逆経路総数および升目sの周囲の升目のうち1処理単位時間ΔTで自機が升目sに移動可能な升目s′の各逆経路総数を求め、これらのうち最大の逆経路総数を有する升目に対して行動することを決定する。
In order to solve the above problems, in the present invention, the self-machine and one or more enemy aircraft are displayed on the screen, and the self-machine and the enemy aircraft act in a shooting game demonstration to fire an attack bullet. A self-machine action control method for demonstration of a shooting game that controls the action of the machine is as follows. That is, first, at the current time t 0 when the own aircraft target setting means should determine the action of the own aircraft, the position and speed of the attack bullets fired by the enemy aircraft at a time earlier than the current time t 0 , the position of the enemy aircraft and its speed, and on the basis of the location of the terminal of the current, the screen starting from the square s 0 is present ship a square grid that is divided in a grid pattern at the present time t 0, the time after the present time t 0 n The total number of routes (total number of forward routes) that can be reached by each aircraft without approaching a distance within a certain distance for each position where at least one of enemy aircraft and attack bullets is expected to exist. calculated forward path total number is set as the target maximum squares s g. Next, the self-behavior determining means starts from the target cell s g based on the position and speed of the attacking bullet fired by the enemy aircraft at a time point before the current time t 0 , the position and speed of the enemy aircraft. At time t 0 + ΔT prior to time n, the aircraft does not approach a distance within a certain distance with respect to each position where at least one of the enemy aircraft and attacking bullets is predicted to exist at each square of the lattice. to determine the path total [reverse path total number] that may be reached by each square in square, the square opposite path total s 0 and the square s 0 around the ship in one processing unit time ΔT of squares is squared s Of the total number of reverse paths of the cell s 0 ′ movable to 0 , it is determined to act on the cell having the maximum total number of reverse paths.
In this way, the cell s g that is the target of the aircraft at the current time t 0 is determined by the total number of routes that consider the possibility of collision with enemy aircraft and attack bullets in the future, and the enemy s g in the future with this cell s g as the starting point. in consideration of the possibility of collision with the aircraft and attack bomb, at time t 0 + [Delta] t, 1 processing in the square around the reverse path total and squares s 0 squares s 0 the apparatus itself is present at the moment t 0 The unit calculates the total number of reverse paths of the cell s 0 ′ that can move to the cell s 0 in unit time ΔT, and decides to act on the cell having the maximum total number of reverse paths.

本発明では、自機が敵機をできる限り破壊することの考慮および自機の位置ができるだけ画面中央付近にあるための考慮を、逆経路総数を求める過程に反映させることもできる。つまり、逆経路総数を求める各時点tで、自機が升目sに在る場合に敵機が自機の攻撃ライン上にあるときの升目sの逆経路総数Cb(s,t)を、その他の升目の逆経路総数に比して相対的に増大させるとしてもよく、あるいは、逆経路総数を求める各時点tで、升目sの画面中央からの距離rを単調減少関数に入力して得られた結果、または、升目sの画面中央からの距離rを単調減少関数に入力して得られた結果を整数値化したものを、升目sの逆経路総数Cb(s,t)に乗じるとしてもよい。
これらを互いに排他的に行うのではなく、逆経路総数を求める各時点tで、自機が升目sに在る場合に敵機が自機の攻撃ライン上にあるときの升目sの逆経路総数Cb(s,t)を、その他の升目の逆経路総数に比して相対的に増大させ、さらに、この相対的に増大させた逆経路総数Cb(s,t)に、升目sの画面中央からの距離rを単調減少関数に入力して得られた結果、または、升目sの画面中央からの距離rを単調減少関数に入力して得られた結果を整数値化したもの、を乗じるとしてもよい。
In the present invention, it is possible to reflect the consideration that the own aircraft destroys enemy aircraft as much as possible and the consideration that the location of the own aircraft is as close to the center of the screen as possible in the process of obtaining the total number of reverse paths. That is, at each time t for obtaining the total number of reverse paths, if the own aircraft is in the grid s, the total number of reverse paths Cb (s, t) of the grid s when the enemy aircraft is on the attack line of the own aircraft, It may be relatively increased as compared with the total number of reverse paths of the squares, or at each time t for obtaining the total number of reverse paths, the distance r from the center of the screen of the squares s is input to the monotonically decreasing function. Or the result obtained by inputting the distance r from the center of the screen of the cell s into the monotonically decreasing function may be multiplied by the total number of reverse paths Cb (s, t) of the cell s. Good.
These are not mutually exclusive, but at each time t for obtaining the total number of reverse paths, if the own aircraft is in the grid s, the total number of reverse paths in the grid s when the enemy aircraft is on the own attack line Cb (s, t) is relatively increased as compared with the total number of reverse paths of other cells, and further, the center of the screen of cell s is added to the relatively increased total number of reverse routes Cb (s, t). Multiplying the result obtained by inputting the distance r to the monotonically decreasing function or the result obtained by inputting the distance r from the center of the screen of the cell s to the monotonically decreasing function into an integer value Also good.

本発明に拠れば、将来における敵機や攻撃弾との衝突可能性を考慮した経路総数に基づいて自機の行動決定を行うから、敵機や敵機から発射された攻撃弾に向かって自機を移動させたり、攻撃弾などが接近してきても自機を移動させなかったりなどの理不尽な自機の行動が低減され、人間の目から見て理に適った自機の行動制御がなされるシューティングゲームのデモンストレーションが実現する。   According to the present invention, the action of the aircraft is determined based on the total number of paths in consideration of the possibility of collision with enemy aircraft and attack bullets in the future. Unreasonable behavior of the aircraft such as moving the aircraft or not moving the aircraft even if an attack bullet etc. approaches, the behavior control of the aircraft that makes sense from the human eye is made A demonstration of a shooting game will be realized.

《技術の概要》
本発明では、画面を格子状に分割し、現時点t(=0)で自機が存在する格子の升目sから現時点より後の時点nで格子の或る升目sに到達する経路の総数C(s,n)を各升目ごとにそれぞれ求め、このC(s,n)が最大の升目を自機の移動先の目標とする。そして、現時点tで、この目標へ向かうような最適な行動を選択する。
《Technical overview》
In the present invention, the screen is divided into a grid pattern, and the total number of paths reaching the grid cell s 0 at the time point n after the current time from the grid cell s 0 where the own device exists at the current time t 0 (= 0). C (s, n) is obtained for each cell, and the cell having the largest C (s, n) is set as a target of the destination of movement. Then, at the current time t 0 , an optimal action is selected so as to head for this goal.

ここで「時点」とは、シューティングゲームの処理単位時間間隔でとった各時点のことであり、現時点をt、処理単位時間をΔTとすれば、現時点より後の各時点tは、t+ΔT、t+2ΔT、t+3ΔT、・・・、nとなる。「現時点」は、デモンストレーションで自機の行動を決定するべき時点を云う。シューティングゲームに限らずコンピュータゲームでは、時間を使った処理が行われるが、ここで処理単位時間は自機の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 t after the current time point is t 0. + ΔT, t 0 + 2ΔT, t 0 + 3ΔT, ···, a n. “Current time” refers to the point in time when the behavior of the aircraft should be determined during the demonstration. 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, the number of actions of the own device that can be performed in one processing unit time ΔT is one including the action of stillness with respect to the grid.

本発明において、自機の行動には、次のような条件が課されているとする。即ち、斜めに移動する際の移動速度の縦方向成分(速さ)は、縦方向のみに移動する場合の速さと同じ速さであり、横方向成分(速さ)は、横方向のみに移動する場合の速さと同じ速さであるとする。ここで「速度」は、画面上に表示される物体の有する、「速さ」と「向き」とを合わせもったベクトル量とする。
また、敵機から発射された攻撃弾の行動には、次のような条件が課されているとする。即ち、各攻撃弾は、敵機から発射される際に決定された速度を発射後において維持する。
さらに、各敵機は、現時点での速度を維持するものとする。ただし、実際のゲームプレイやデモンストレーションでは敵機速度は時間とともに変化するとしてよく、デモンストレーションにおける自機の行動決定では敵機速度は変化しないと仮定するという意味である。敵機速度が一定のシューティングゲームにのみ本発明を適用するというわけではない。
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 Here, “velocity” is a vector amount having both “speed” and “direction” of an object displayed on the screen.
Further, it is assumed that the following conditions are imposed on the action of an attacking bullet fired from an enemy aircraft. That is, each attack bullet maintains the speed determined when fired from the enemy aircraft after launch.
Furthermore, each enemy aircraft shall maintain the current speed. However, in actual game play and demonstration, the enemy aircraft speed may change with time, and it means that the enemy aircraft speed does not change in the action determination of the own aircraft in the demonstration. The present invention is not applied only to a shooting game with a constant enemy aircraft speed.

自機・敵機・攻撃弾は、一般的に何らかの物体〔例えば戦闘機や銃弾〕を摸擬した画像として画面上に表示される。シューティングゲームでは自機と敵機との衝突判定処理や自機と攻撃弾との衝突判定処理が行われる。この判定のためには、摸擬されている物体の外形とは別に、自機・敵機・攻撃弾の衝突判定用の各形状が定義されていることが一般的である。以下、特に断りのない限り、自機・敵機・攻撃弾について単に「形状」と言えば衝突判定用の形状を意味する。本発明においては、この定義の仕方に何らの限定はなく、いかなる定義の仕方をしてもよい〔但し、従来のシューティングゲームと同様に、衝突判定に用いる自機・敵機・攻撃弾の各形状を処理ごとに可変とするのではなく、一義的に定義しておくのが好ましい。〕。例えば、自機の外形を内包する最小の矩形〔本明細書では、長方形に限定せず、正方形・菱形・平行四辺形などの四角形や、さらには三角形や五角形などの多角形も含む意味で「矩形」という文言を用いる。〕や円を、衝突判定に用いる自機の形状と定義すればよい。敵機・攻撃弾についても同様である。   The own aircraft / enemy aircraft / attack bullets are generally displayed on the screen as an image that mimics some object (for example, a fighter or a bullet). In the shooting game, a collision determination process between the own aircraft and the enemy aircraft and a collision determination process between the own aircraft and the attack bullet are performed. For this determination, in addition to the external shape of the simulated object, each shape for determining the collision of the own aircraft, enemy aircraft, and attack bullets is generally 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). It is preferable that the shape is uniquely defined rather than 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 reference point of the own aircraft / enemy aircraft / attack bullet used for specifying the position of the own aircraft / enemy aircraft / attack bullet on the screen is determined. 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に接して升目sを取り囲む升目となる。
処理単位時間ΔTは、升目の大きさに影響を与える要因の一つであり、升目は自機位置を離散化したものと評価できるから、ΔTをむやみに大きな値とするのは好ましくない。ΔTを大きくする程、処理単位時間ごとの自機位置が粗く離散化されてしまう。好ましいΔTは、演算処理装置の処理能力、プログラムの使用言語、実際のプログラムの記述の仕方などにもよるので一概には云えないが、升目の短辺が、攻撃弾あるいは敵機の形状の指標となる長さ〔後述する。〕と、自機の形状の指標となる長さ〔後述する。〕との和である基準長以下となる、好ましくは基準長の半分以下となる、より好ましくは基準長の3分の1以下となるようにΔTを設定するのがよい。また、升目形状と後述する敵機/攻撃弾の看做し位置座標との関係から、基準長の整数分の1以下とするのがよい。
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 surrounds the squares s 0 in contact with the squares s 0 It will be a grid.
The processing unit time ΔT is one of the factors that affect the size of the cell, and it can be evaluated that the cell is a discretization of the position of the own machine. Therefore, it is not preferable to increase ΔT unnecessarily. As ΔT is increased, the position of the own device for each processing unit time is roughly discretized. The preferred ΔT depends on the processing capability of the arithmetic processing unit, the language used in the program, and the way the actual program is written. However, the short side of the square is an indicator of the shape of the attack bullet or enemy aircraft. [Length to be described later. ] And a length that will be an index of the shape of the aircraft [described later. ], It is preferable to set ΔT so that it is less than or equal to the reference length, preferably less than half of the reference length, more preferably less than one third of the reference length. In addition, it is preferable to set it to 1 / integer or less of the reference length from the relationship between the grid shape and the position coordinates of the enemy aircraft / attack bullets described later.

移動可能な升目への自機の行動の種類は、いくつか考えられるが、例えば、日本将棋の「玉将」または「王将」の動きと同じとするか、あるいは、十文字の動きとすることなどができる。ここで玉将の動きは図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 behaviors: stationary and movement to each of the eight surrounding cells, and FIG.

現時点t(=0)で自機が存在する升目sから現時点より後の時点nで升目sに到達する経路の総数C(s,n)は、例えば決定木〔decision tree〕探索で求めることができる。しかしながら、上記のように自機の行動に制約があるとすれば、現時点t(=0)に自機が存在する升目sから現時点より後の或る時点tにおける或る升目sまでの経路の総数C(s,t)は、升目sの周囲の升目のうち1処理単位時間で自機が升目sに移動可能な升目s′のC(s′,t−ΔT)の総和〔s′に関する総和である。〕と1処理単位時間前の升目sのC(s,t−ΔT)との和で得られるから、各時点での各升目のC(s,t)を順次に求めることで、時点nで升目sに到達する経路の総数C(s,n)を効率良く求めることができる。 The total number C (s, n) of paths reaching the cell s at the time point n after the current time from the cell s 0 where the own device exists at the current time t 0 (= 0) is obtained by, for example, a decision tree search. be able to. However, if there is a restriction on the behavior of the aircraft as described above, from the cell s 0 where the device exists at the current time t 0 (= 0) to a certain cell s at a certain time t after the current time. The total number of paths C (s, t) is the sum of C (s ′, t−ΔT) of the cell s ′ that can be moved to the cell s in one processing unit time among the cells around the cell s [s]. It is the sum total about ′. ] And C (s, t−ΔT) of the cell s one processing unit time before, the C (s, t) of each cell at each time point is obtained sequentially, so that The total number C (s, n) of routes reaching the cell s can be obtained efficiently.

現時点t(=0)で自機が存在する升目sから現時点より後の時点nで或る升目sに到達する経路の総数C(s,n)を各升目ごとにそれぞれ求める過程では、次のような考慮がなされる。
デモンストレーションで自機の行動を決定するに当たり、その時点では既に、画面上に1つ以上の敵機〔以下、「既存敵機」とも云う。〕や敵機から発射された1つ以上の攻撃弾〔以下、「既存攻撃弾」とも云う。〕が表示されている場合がある。そこで、現時点より後の各時点tで、既存敵機と既存攻撃弾の少なくとも何れかが存在すると予測される各位置を含む升目および当該各位置から所定の距離内に位置する升目sにおける経路の総数を、その時点において0にリセットするのである。これはC(s,t)=0とするに等しい。このことは、デモンストレーションにおいて自機をより長く、敵機や敵機からの攻撃による破壊から免れせしめることに寄与するという考慮の表れである。
ここで「既存敵機と既存攻撃弾の少なくとも何れかが存在すると予測される各位置」は、既存敵機と既存攻撃弾とが共に存在すると予測される位置それぞれのことではなく、既存敵機が存在すると予測される位置と既存攻撃弾が存在すると予測される位置のそれぞれを云うのであり、この意味において、既存敵機と既存攻撃弾とが共に存在すると予測される位置も含まれる。また、「既存敵機と既存攻撃弾の少なくとも何れかが存在すると予測される各位置から所定の距離」とは、敵機と自機との衝突判定あるいは攻撃弾と自機との衝突判定に用いられる距離である。このような距離の内側、つまり敵機や攻撃弾の各中心により近い領域では、自機は敵機および/または攻撃弾と衝突したと判定されることになる。換言すると、「既存敵機と既存攻撃弾の少なくとも何れかが存在すると予測される各位置から所定の距離」が張る領域、つまり衝突判定形状を定義し、この衝突判定形状を用いて自機と攻撃弾との衝突判定あるいは自機と敵機との衝突判定ができる。
In the process of obtaining the total number C (s, n) of routes reaching a certain cell s at the time point n after the current time from the cell s 0 where the own device exists at the current time t 0 (= 0), The following considerations are made.
At the time of deciding the action of the own aircraft in the demonstration, at that time, one or more enemy aircraft [hereinafter also referred to as “existing enemy aircraft”]. ] Or one or more attack bullets fired from enemy aircraft [hereinafter also referred to as “existing attack bullets”. ] May be displayed. Therefore, at each time point t after the current time, a path in the grid including each position where at least one of the existing enemy aircraft and the existing attack bullet is expected to exist and a grid s located within a predetermined distance from each position is shown. The total number is reset to 0 at that time. This is equivalent to C (s, t) = 0. This is a sign of consideration that the demonstration will contribute to making the aircraft longer and immune from destruction by enemy aircraft and attacks from enemy aircraft.
Here, “each position where at least one of existing enemy aircraft and existing attack bullets is predicted to exist” is not a position where both existing enemy aircraft and existing attack bullets are predicted to exist, but existing enemy aircraft. The position where the existing enemy bullet and the existing attack bullet are predicted are included, and in this sense, the position where both the existing enemy aircraft and the existing attack bullet are predicted is included. In addition, “predetermined distance from each position where at least one of existing enemy aircraft and existing attack bullets is predicted to exist” refers to collision determination between enemy aircraft and the own aircraft or collision detection between attack bullets and the own aircraft. The distance used. Within such a distance, that is, in a region closer to the center of each enemy aircraft and attack bullet, it is determined that the aircraft has collided with the enemy aircraft and / or attack bullet. In other words, an area extending from “a predetermined distance from each position where at least one of an existing enemy aircraft and an existing attack bullet is expected to exist”, that is, a collision determination shape is defined, and the collision determination shape is used to Judgment of collision with attack bullets or collision between own aircraft and enemy aircraft can be performed.

衝突判定形状は適宜に定義できる。ここでは攻撃弾の場合を例にとって説明するが、敵機の場合についても、「攻撃弾」を「敵機」に読み替えて同様の理解を得ることができる。
例えば衝突判定形状を円とする場合、衝突判定円は、例えば、衝突判定円の中心を攻撃弾形状の中心とし、衝突判定円の半径を(攻撃弾形状の中心から攻撃弾形状の外周への最短距離)+(自機形状の中心から自機形状の外周への最短距離)とすることができる。但し、半径は、(攻撃弾形状の中心から攻撃弾形状の外周への最長距離)+(自機形状の中心から自機形状の外周への最短距離)などのようにしてもよい。要するに、衝突判定円の半径は、攻撃弾の形状の指標となる長さと、自機の形状の指標となる長さの和とする。ここで指標の採り方は、自機や攻撃弾の形状の定義によって適宜に定めることができる。簡単な例では、自機や攻撃弾などの形状を円とすればこの半径を、矩形とすればその長辺の長さの半分を指標とすることもできる。上記のように衝突判定円を定義すれば、この衝突判定円上あるいは衝突判定円内に自機の位置座標が存在すれば、自機は攻撃弾に衝突したと判定できる。
衝突判定形状を矩形とする場合、一例としてより具体的に攻撃弾形状を横2a、縦2bの長方形、自機形状を横2c、縦2dの長方形とした場合で説明すれば、衝突判定矩形は、その中心を攻撃弾形状の中心とし、横a+c、縦b+dの長方形とすることができる。このように衝突判定矩形を定義すれば、この衝突判定矩形上あるいは衝突判定矩形内に自機の位置座標が存在すれば、自機は攻撃弾に衝突したと判定できる。
衝突判定形状の中心は、既述の自機・敵機・攻撃弾の基準点の設定と同様であり、例えば衝突判定円ならばその中心、衝突判定矩形ならばその外接円の中心などとすることができる。
The collision determination shape can be defined as appropriate. Here, the case of an attack bullet will be described as an example, but the same understanding can be obtained for an enemy aircraft by replacing “attack bullet” with “enemy aircraft”.
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 2a and a length 2b, and the own shape is a rectangle with a width 2c and a length 2d. 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, a cell including each position where at least one of the existing enemy aircraft and the existing attack bullet is predicted to exist, and a cell located within a predetermined distance from each position. C (s, t) is set to 0. Such a cell [hereinafter also referred to as a “desired cell”. ] Is a grid that includes all or part of it in the collision determination shape. For example, when the collision determination shape is a circle, a grid in which all or part of the collision determination circle is included from the position coordinates of the attack bullet can be identified by a finite step algorithm by a computer. In other words, consider specifying easily.
The present invention solves this problem as follows. Here, the case of an attack bullet will be described as an example. However, in the case of an enemy aircraft, the same understanding can be obtained by replacing “attack bullet” with “enemy aircraft”.
Assume that the position coordinates of the attack bullets are either the corners or the center of the corners of the square where the position coordinates exist, and these viewed position coordinates [hereinafter referred to as “viewed position coordinates”] Also called. ], C (s, t) of a mesh whose part or all is included in the collision determination shape centered on] is set to 0. In other words, C (s, t) of the cell located within a predetermined distance from any one of the corners of the cell including the position where the existing attack bullets are predicted to exist or the center thereof is set to 0. It is. 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, for convenience of explanation, 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 viewed position coordinates is also set to 0.

攻撃弾の種類ごとに衝突判定形状は異なりえるが、同じ種類の攻撃弾であれば衝突判定形状は同一であるのが通常であるところ、格子が定まっていれば、升目の四隅の角またはその中心のいずれかを中心とする衝突判定形状に含まれる升目は一意になる。
このことを図2を参照して説明する。図2中、■印は、看做し位置座標を表し、符号50は格子を示している。また図2では、衝突判定形状が衝突判定円あるいは衝突判定矩形の場合を示している。図2(a)は、升目が正方形の場合であり、かつ、攻撃弾の位置座標を当該位置座標が存在する升目の四隅の角のうち1つに看做した場合である。図2(c)は、升目が正方形の場合であり、かつ、攻撃弾の位置座標を当該位置座標が存在する升目の中心に看做した場合である。図2(b)は、升目が縦に長い長方形の場合であり、かつ、攻撃弾の位置座標を当該位置座標が存在する升目の四隅の角のうち1つに看做した場合である。図2(d)は、升目が縦に長い長方形の場合であり、かつ、攻撃弾の位置座標を当該位置座標が存在する升目の中心に看做した場合である。いずれの場合でも、0が記入された升目は衝突判定形状に一部または全部が含まれる升目であり、これらの升目は、攻撃弾の位置座標を当該位置座標が存在する升目の四隅の角または中心のうち予め決められた1つに看做すというルールと同種の攻撃弾において衝突判定形状は同一とするというルールを維持すれば、看做された攻撃弾の位置座標に対して一意である。そこで、一意に定まる升目の集まりに関する情報を例えばテンプレート〔図2の網掛け部分〕として記憶手段に記憶しておけば、看做された攻撃弾の位置座標に対してテンプレートを適用するだけで、所望の升目の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. 2, the ■ marks indicate the viewing position coordinates, and the reference numeral 50 indicates a lattice. FIG. 2 shows a case where the collision determination shape is a collision determination circle or a collision determination rectangle. FIG. 2A 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. 2 (c) 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. 2B 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. 2D shows a case where the cell is a vertically long rectangle, and the position coordinates of the attack bullet are considered at the center of the cell 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 on a set of uniquely defined cells is stored in the storage means as, for example, a template (shaded portion in FIG. 2), 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.

既述のとおり、C(s,n)が最大の升目を自機の移動先の目標とし、現時点tで、この目標へ向かうような最適な行動を選択するのであるが、この最適な行動の選択について説明を加える。 As already mentioned, C (s, n) is to move the target of its own maximum square, at the present time t 0, but it is to choose the best actions that towards this goal, the best action Add a description of selection.

最も単純と云える最適な行動の選択は、現時点tで自機が在る升目sからC(s,n)が最大の升目に対して直線を引き、升目sに接して升目sを取り囲む升目s′のうち、この直線を含む升目に対して自機を行動する、というものである。なお、直線は、升目sの中心とC(s,n)が最大の升目の中心とを結ぶ直線とすればよい。
しかし、この行動選択は、単純な処理である点で好ましいものの、時点nにおいてC(s,n)が最大の升目に到達する経路の時点t+ΔTの升目と必ずしも同じではない上、C(s,n)を求めた意義を十分に活用しきれていないきらいがある。
むしろ、目標となる升目、つまり時点nでC(s,n)が最大の升目に到達可能な経路の中から、時点t+ΔTで自機が存在する可能性の最も高い升目に行動するようにすればよいと想到される。考え方としては、C(s,n)を求めた処理と同様に、時点nでC(s,n)が最大の升目を起点として、時点t+ΔTへ遡りながら各升目のC(s,t)を順次に求めていくことで、最終的に時点t+ΔTのC(s,t+ΔT)を求め、升目sのC(s,t+ΔT)および升目sに接して升目sを取り囲む升目s′のC(s′,t+ΔT)の中で最大の値となる升目に対して行動するということになる。
The simplest and most suitable action is selected by drawing a straight line from the cell s 0 where the aircraft is present at the current time t 0 to the cell having the largest C (s, n), and contacting the cell s 0 with the cell s 0 Of the cell s 0 ′ surrounding 0 , the user operates the cell against the cell including this straight line. The straight line may be a straight line connecting the center of the cell s 0 and the center of the cell having the largest C (s, n).
However, although this action selection is preferable in that it is a simple process, it is not necessarily the same as the cell at the time point t 0 + ΔT on the path where C (s, n) reaches the maximum cell at the time point n, and C ( The significance of seeking s, n) may not be fully utilized.
Rather, from among the routes that can reach the target cell, that is, the cell that has the largest C (s, n) at time n, the user should act at the most likely cell to exist at time t 0 + ΔT. It is thought that it should be done. As a way of thinking, similarly to the process of obtaining C (s, n), starting from the cell having the largest C (s, n) at time n, the C (s, t) of each cell is traced back to time t 0 + ΔT. ) Are sequentially obtained, and finally C (s, t 0 + ΔT) at time t 0 + ΔT is obtained, and the mesh s 0 in contact with C (s 0 , t 0 + ΔT) and cell s 0 is obtained. s 'C (s 0 of', t 0 + ΔT) 0 surrounding the square s 0 it comes to act against square with the maximum value among.

既に説明したが、現時点での速度を維持するとの仮定によって敵機の行動が単純化され、かつ、将来の時点で発射される攻撃弾の効果を考慮していないことから、C(s,t+ΔT)の値は正確なものにならない。換言すれば、敵機が現時点での速度を維持するとの仮定と将来の時点で発射される攻撃弾の効果を考慮しないとの点を前提としてC(s,t+ΔT)の値は正確であるに過ぎない。 As already explained, since the action of the enemy aircraft is simplified by assuming that the current speed is maintained, and the effect of the attacking bullets fired at a future time is not considered, C (s, t The value of ( 0 + ΔT) is not accurate. In other words, the value of C (s, t 0 + ΔT) is accurate on the assumption that the enemy aircraft maintains the current speed and does not take into account the effects of the bullets fired at a future time. There are only.

仮に、各敵機が速度を維持しないとし、将来の時点で発射される攻撃弾の効果を考慮し、さらには、不確定性の高い敵機の出現なども全て考慮してC(s,t+ΔT)を求めるとすると、決定木探索はもとより、C(s,t)をC(s′,t−ΔT)の総和とC(s,t−ΔT)との和で得る方法と同様の方法を用いても、膨大な計算量となりえるからリアルタイムな処理が困難となる。 Assuming that each enemy aircraft does not maintain the speed, C (s, t) is considered in consideration of the effects of attacking bullets fired at a future time point, and further taking into account the appearance of enemy aircraft with high uncertainty. 0 + ΔT) is the same as the method for obtaining C (s, t) as a sum of C (s ′, t−ΔT) and C (s, t−ΔT) as well as decision tree search. Even if the method is used, real-time processing becomes difficult because the calculation amount can be enormous.

そこで、経路総数算出の過程で、なるべく現時点で存在している敵機を自機ができる限り破壊することを前提とすればよい。将来の各時点においてC(s,t)の正確性を低下させる敵機の行動や攻撃弾の発射を低減することができ、C(s,t)の信頼性を増すことが可能となる。ここで留意しなければならないのは、自機の現時点での行動決定において考慮すべき事項の一つは、「将来の或る時点で自機が実際に敵機を破壊すること」ではなく、「将来の各時点で自機が敵機をできるだけ破壊しえること」という仮定的事項である。
また、将来において、画面端に自機が位置する場合のように、自機の移動が制限される状況を生み出さないためにも、自機の位置ができるだけ画面中央付近にあることが望ましい。
Therefore, it is only necessary to assume that the enemy aircraft that exists at the present time is destroyed as much as possible in the process of calculating the total number of routes. It is possible to reduce the action of enemy aircraft that lowers the accuracy of C (s, t) and the firing of attack bullets at each future time point, and to increase the reliability of C (s, t). It should be noted that one of the matters to be considered in determining the current behavior of the aircraft is not "the aircraft actually destroys the enemy aircraft at some point in the future" It is a hypothetical matter that "the aircraft can destroy enemy aircraft as much as possible at each point in the future".
Further, in the future, it is desirable that the position of the own device be as close to the center of the screen as possible so as not to create a situation where the movement of the own device is restricted as in the case where the own device is located at the edge of the screen.

これらの観点から、現時点tで目標へ向かうような最適な行動を次のようにして決定する。
まず、時点nでC(s,n)が最大の升目を起点として、時点を減少させながら逐次にC(s,t)を求め、時点t+ΔTでのC(s,t+ΔT)を求める。既述のC(s,t)とは値が異なりえるから、ここでは前記のC(s,t)と区別する意味でCb(s,t)と表記する。これに応じて、C(s,t)を順経路総数、Cb(s,t)を逆経路総数ということにする。
Cb(s,t)の求め方は既述のC(s,n)の求め方と同様であり、時点をnからt+ΔTに順次減少する点が異なる。つまり、時点nでCb(s,n)が最大の升目から時点nより減少された或る時点tにおける或る升目sまでの逆経路総数Cb(s,t)は、升目sの周囲の升目のうち1処理単位時間で自機が升目sに移動可能な升目s′のCb(s′,t+ΔT)の総和〔s′に関する総和である。〕と1処理単位時間前の升目sのCb(s,t+ΔT)との和で得られるから、各時点でのCb(s,t)を順次に求めることで、時点t+ΔTでの升目sのCb(s,t+ΔT)を効率良く求めることができる。
From these points of view, determined by the optimal behavior, such as going to the target in the following manner at the present time t 0.
First, C (s, t) is sequentially obtained while decreasing the time, starting from the cell having the maximum C (s, n) at time n, and C (s, t 0 + ΔT) at time t 0 + ΔT is obtained. Ask. Since the value can be different from the above-described C (s, t), it is expressed here as Cb (s, t) in a sense to distinguish it from the C (s, t). Accordingly, C (s, t) is referred to as the total number of forward paths, and Cb (s, t) is referred to as the total number of reverse paths.
The method for obtaining Cb (s, t) is the same as the method for obtaining C (s, n) described above, except that the time point is sequentially decreased from n to t 0 + ΔT. In other words, the total number of reverse paths Cb (s, t) from the maximum cell Cb (s, n) at the time point n to the cell s at a certain time point t that is decreased from the time point n is the cell around the cell s. Is the sum of Cb (s ′, t + ΔT) of the cell s ′ that can move to the cell s in one processing unit time [the sum relating to s ′. ] And Cb (s, t + ΔT) of the cell s one processing unit before, so by sequentially obtaining Cb (s, t) at each time point, the cell s at the time point t 0 + ΔT Cb (s, t 0 + ΔT) can be obtained efficiently.

Cb(s,t)を求める各時点tで、既存敵機と既存攻撃弾の少なくとも何れかが存在すると予測される各位置を含む升目および当該各位置から所定の距離内に位置する升目sにおける逆経路総数Cb(s,t)をその時点において0にリセットすることも、順経路総数C(s,t)を求める場合と同様にして行う。   At each time point t at which Cb (s, t) is determined, at a cell including each position where at least one of an existing enemy aircraft and an existing attack bullet is predicted to exist, and a cell s located within a predetermined distance from each position The reverse path total number Cb (s, t) is reset to 0 at that time as in the case of obtaining the forward path total number C (s, t).

時点を減少させながら逐次にCb(s,t)を求める過程では、自機が敵機をできる限り破壊することを考慮して、時点tで自機が升目sに在る場合に敵機が自機の攻撃ライン上にあるときの升目sのCb(s,t)の値を或る定数値AsによってAs倍する。定数値Asは1よりも大の値とする。つまり、敵機を破壊できる自機位置を含む升目の逆経路総数を増大させる補正を行うのである。
この目的は、時点tで自機が升目sに在る場合に敵機が自機の攻撃ライン上にあるときの升目sのCb(s,t)を、その他の升目のCb(s,t)よりも相対的に増大させることにあるから、時点tで自機が升目sに在る場合に敵機が自機の攻撃ライン上にあるときの升目sのCb(s,t)の値を1よりも大である定数値AsによってAs倍することに限定されず、その他の升目のCb(s,t)に1よりも小の定数値を乗じる処理も可能である。いずれにしても、この趣旨を逸脱しないのであれば適宜に設計変更可能であるから、本明細書では、時点tで自機が升目sに在る場合に敵機が自機の攻撃ライン上にあるときの升目sのCb(s,t)の値を1よりも大の定数値AsによってAs倍するとして説明する。
In the process of sequentially obtaining Cb (s, t) while decreasing the time point, considering that the own aircraft destroys the enemy aircraft as much as possible, if the own aircraft is in the grid s at the time t, The value of Cb (s, t) of the cell s when it is on the attack line of its own machine is multiplied by As by a certain constant value As. The constant value As is a value greater than 1. That is, correction is performed to increase the total number of reverse paths of the square including the position of the own aircraft that can destroy enemy aircraft.
The purpose of this is to determine Cb (s, t) of the cell s when the enemy aircraft is on the attack line of the own aircraft when the aircraft is in the cell s at time t, and Cb (s, t) of the other cell. ), The value of Cb (s, t) of the mesh s when the enemy aircraft is on the attack line of the aircraft when the aircraft is in the mesh s at the time t. Is not limited to As multiplied by a constant value As greater than 1, and a process of multiplying Cb (s, t) of other cells by a constant value smaller than 1 is also possible. In any case, the design can be changed as appropriate without departing from this spirit. Therefore, in this specification, when the aircraft is in the grid s at the time t, the enemy aircraft is on the attack line of the aircraft. In the following description, it is assumed that the value of Cb (s, t) of a certain cell s is multiplied by As by a constant value As greater than 1.

「攻撃ライン」とは、自機が発射する攻撃弾の飛行経路のことである。飛行経路は、厳密に「線」を意味するのではなく、攻撃弾は或る大きさの形状を有しさらに衝突判定が行われるものであるから、ある程度の幅を有することに留意しなければならない。シューティングゲームでは、自機が発射する攻撃弾の飛行経路は、予め定義されているのが一般的である。単純な例として、一度に1つの攻撃弾を発射する場合では、自機が発射する攻撃弾の飛行経路は画面の縦に平行になっているのが一般的である。他の例では、一度に例えば3つの攻撃弾a、b、cを発射する場合では、3つの攻撃弾のうち1つの攻撃弾aの飛行経路は画面の縦に平行になっていて、残りの2つの攻撃弾b、cの飛行経路は、攻撃弾aの飛行経路を中心に等角に挟み込むような飛行経路となっている。あるいは、2つの攻撃弾を発射する場合では、前記攻撃弾b、cの飛行経路と同様にすればよい。いずれにしても適宜の設計事項である。   An “attack line” is a flight path of an attacking bullet fired by the aircraft. Note that the flight path does not strictly mean a “line”, but the attacking bullet has a certain size, and a collision determination is made. Don't be. In a shooting game, the flight path of attack bullets fired by the aircraft is generally defined in advance. As a simple example, when one attack bullet is fired at a time, the flight path of the attack bullet fired by itself is generally parallel to the vertical direction of the screen. In another example, when, for example, three attack bullets a, b, and c are fired at once, the flight path of one of the three attack bullets a is parallel to the vertical direction of the screen, and the remaining The flight paths of the two attack bullets b and c are such that they are sandwiched equiangularly around the flight path of the attack bullet a. Alternatively, when two attack bullets are fired, the flight paths of the attack bullets b and c may be the same. In any case, it is an appropriate design matter.

また、自機は、自機の攻撃ライン上に敵機が在る場合には、攻撃弾を発射するものとする。ただし、発射された攻撃弾が敵機に必中することは要件でない。何故なら、先にも述べたが、敵機に対する攻撃は、C(s,t)の正確性を低下させる敵機の行動や攻撃弾の発射を低減することが目的だからである。なお、デモンストレーション効果、つまりプレイヤーにこのシューティングゲームは「面白い」、「楽しい」などと思わせる効果を狙って、自機から発射された攻撃弾が敵機に必中するようにしてもよい。   Also, if there is an enemy aircraft on its own attack line, the own aircraft shall fire an attack bullet. However, it is not a requirement that the fired attack bullets be attacked by enemy aircraft. This is because, as described above, the attack on the enemy aircraft is aimed at reducing the action of the enemy aircraft that reduces the accuracy of C (s, t) and the firing of the attack bullets. For the purpose of demonstration effect, that is, an effect that makes the player think that this shooting game is “interesting”, “fun”, etc., an attacking bullet fired from the own aircraft may be forced into the enemy aircraft.

時点tで自機が升目sに在る場合に敵機が自機の攻撃ライン上にあるときの升目sの判定は、次のようにして行えばよい。例えば、単純な例として、自機が発射する攻撃弾の飛行経路が画面の縦に平行になっている場合では、敵機の時点tでの予測位置座標を(Xi,Yi)とすると、座標値Xiが、時点tに自機が在るとされる升目sの横幅のX座標値の範囲に含まれるか否かで判定する。つまり、升目sが、例えば画面上で4頂点の座標が(100,50)、(110,50)、(100,60)、(110,60)である升目とすれば、100≦Xi≦110であるか否かで判定する。含まれれば升目sのCb(s,t)の値をAs倍し、含まれなければ升目sのCb(s,t)の値を変更しない。
また、画面の背景描画が縦方向に流れる、例えば画面上方から画面下方に向かって背景が流れるように描画される、縦スクロール型シューティングゲームでは、敵機が自機と横並びか、あるいは、敵機が自機よりも画面下方に位置する場合に、自機がこのような敵機に対して攻撃弾を発射しても命中することがないのが一般的であるから、座標値Xiが、時点tに自機が在るとされる升目sの横幅のX座標値の範囲に含まれるか否かに加え、例えば、画面上端から画面下端に向かって縦軸(Y軸)数値が増大するとして、座標値Yiが、時点tに自機が在るとされる升目sの縦幅のY座標値の範囲の最小値よりも小であるか否かの判定をしてもよい。つまり、升目sが、例えば画面上で4頂点の座標が(100,50)、(110,50)、(100,60)、(110,60)である升目とすれば、100≦Xi≦110、かつ、Yi<50であるか否かで判定する。この理は、横スクロール型シューティングゲームや横方向に攻撃弾を発射するようなシューティングゲームなどにも適用できる。
ここでは、自機が発射する攻撃弾の飛行経路が画面の縦に平行になっている場合で例示説明したが、自機が発射する攻撃弾の飛行経路が画面の縦に平行になっていない場合でも、例えば、自機の基準点が升目の中心にあると仮定することで攻撃ラインを(その升目において)一意に定め、この攻撃ライン上に敵機が存在するかを判定することで、時点tで自機が升目sに在る場合に敵機が自機の攻撃ライン上にあるときの升目sの判定が可能になる。
なお、自機が攻撃弾を発射する制御方法自体は本発明の要諦ではないから、説明を略する。
The determination of the cell s when the enemy aircraft is on the attack line of the own aircraft when the aircraft is in the cell s at the time t may be performed as follows. For example, as a simple example, when the flight path of the attacking bullet fired by the aircraft is parallel to the vertical direction of the screen, if the predicted position coordinates of the enemy aircraft at time t are (Xi, Yi), the coordinates The determination is made based on whether or not the value Xi is included in the range of the X coordinate value of the horizontal width of the cell s, which is assumed to be present at time t. That is, if the cell s is, for example, a cell whose coordinates of the four vertices are (100, 50), (110, 50), (100, 60), (110, 60) on the screen, 100 ≦ Xi ≦ 110 It is determined by whether or not. If it is included, the value of Cb (s, t) of the cell s is multiplied by As, and if it is not included, the value of Cb (s, t) of the cell s is not changed.
In addition, in a vertical scrolling shooting game where the background drawing of the screen flows vertically, for example, the background flows from the top of the screen to the bottom of the screen, the enemy aircraft is either side-by-side with the enemy aircraft, or the enemy aircraft When the aircraft is located below the screen, it is common that the aircraft does not hit even if it fires an attack bullet against such an enemy aircraft. In addition to whether or not t is included in the range of the X-coordinate value of the horizontal width of the cell s that is assumed to be present, for example, the vertical axis (Y-axis) value increases from the upper end of the screen toward the lower end of the screen. It may be determined whether or not the coordinate value Yi is smaller than the minimum value in the range of the Y coordinate value of the vertical width of the cell s that is assumed to be present at time t. That is, if the cell s is, for example, a cell whose coordinates of the four vertices are (100, 50), (110, 50), (100, 60), (110, 60) on the screen, 100 ≦ Xi ≦ 110 And Yi <50. This reason can also be applied to a side-scrolling shooting game or a shooting game that fires an attack bullet in the horizontal direction.
In this example, the flight path of attack bullets fired by the aircraft is illustrated as being parallel to the screen, but the flight paths of attack bullets fired by the aircraft are not parallel to the screen. Even in this case, for example, by assuming that the reference point of the aircraft is at the center of the cell, the attack line is uniquely determined (in the cell), and it is determined whether there is an enemy aircraft on the attack line. When the own aircraft is in the cell s at the time t, it is possible to determine the cell s when the enemy aircraft is on the own attack line.
In addition, since the control method itself which an own machine fires an attack bullet is not the gist of the present invention, explanation is omitted.

定数値Asについて更に説明する。Cb(s,t)の値は、攻撃弾などの存在予測で0にリセットする場合があるにせよ、一般的には、tの減少(あるいは増加)に応じて増大する。このようなCb(s,t)の値をAs倍すると、桁あふれする可能性がある。つまり、Cb(s,t)に或る変数型〔例えば整数型と長整数型とでは扱える数値の最大値が異なる。〕が定義されている場合、Cb(s,t)の値をAs倍することによって当該変数型が扱える数値の最大値を超えてしまう可能性がある。そこで、定数値Asは、格子の大きさ、nの値、Cb(s,t)の変数型などに応じて適切に設定しておくのがよい。また、Asは整数値に限定されないが、敢えて例えば浮動小数点数で計算する必要が無いので、整数値とするのが一般的と云える。仮にAsを非整数値とした場合、Cb(s,t)×Asの小数点以下を切上げや切捨てなどをして整数値とするとしてもよい。   The constant value As will be further described. The value of Cb (s, t) generally increases as t decreases (or increases) even though it may be reset to 0 in the presence prediction of an attack bullet or the like. When such a value of Cb (s, t) is multiplied by As, there is a possibility of overflowing digits. That is, Cb (s, t) has a certain variable type [for example, the maximum value that can be handled differs between the integer type and the long integer type. ] Is defined, there is a possibility that the maximum value of the numerical value that can be handled by the variable type may be exceeded by multiplying the value of Cb (s, t) by As. Therefore, the constant value As is preferably set appropriately according to the size of the lattice, the value of n, the variable type of Cb (s, t), and the like. Further, As is not limited to an integer value, but it is not necessary to calculate with a floating point number, for example, so it can be said that an integer value is generally used. If As is assumed to be a non-integer value, the decimal point of Cb (s, t) × As may be rounded up or down to give an integer value.

また、時点を減少させながら逐次にCb(s,t)を求める過程では、自機の位置ができるだけ画面中央付近にあるための考慮を反映させるべく、時点tで自機が升目sに在る場合に、当該升目sの画面中央からの距離rに応じて、Cb(s,t)の値をAz倍する。Azは、画面中央に近い升目ほど大きく、画面中央から離れる升目ほど小さい値とする。升目sの画面中央からの距離rは、画面中央の位置座標と升目sの中心の位置座標との距離とすればよい。升目sの中心は2つの対角線の交点とすればよい。距離rを入力として、画面中央に近い升目ほど大きく、画面中央から離れる升目ほど小さい値となるAzを出力する関数F(r)として、例えば、F(r)=exp(−r)、F(r)=exp(−r)、F(r)=1/(1+r)、F(r)={a+exp(−r)}/(a+1)、F(r)={a+exp(−r)}/(a+1)、F(r)={a+b^(−r)}/(a+1)などを例示できる。a,bは正定数である。expは、自然対数の底の冪乗演算である。記号^は冪乗を表す。ここでは、0以上1以下の範囲に収まる値を出力する関数を例示したが、適当な定数係数kを乗じることで0以上k以下の範囲に収まる値を出力するようにすることもできる。また、画面中央に近い升目ほど大きく画面中央から離れる升目ほど小さい値となる分布の程度は、例えば、cを正定数としてF(r)=exp(−r/c)などとし、このcの値を適宜に設定することで調整可能である。また、F(r)={a+b×exp(−r)}/(a+1)、F(r)={a+c×b^(−r)}/(a+1)などは、画面中央よりも遠方でa/(a+1)に漸近するから、aの値を0ではない値に適宜に設定することで、画面中央から離れた升目のCb(s,t)を事実上無駄にしない、あるいは、画面中央から離れた升目のCb(s,t)を過小評価しないことができる。要するに、F(r)は単調減少関数であればよい。ここで単調減少関数は、関数F(r)がr≦rなる任意のrとrに対してF(r)≧F(r)を満足することを云う。また、Az=F(r)としてもよいが、敢えて例えば浮動小数点数で計算する必要が無いので、F(r)の小数点以下を切上げや切捨てなどをして整数値としたものをAzとするのが一般的と云える。仮にAzを非整数値とした場合、Cb(s,t)×Azの小数点以下を切上げや切捨てなどをして整数値とするとしてもよい。
以上の例では、距離rを求めてAzを算出するとしたが、より簡便な処理でAzを与えてもよい。Azは、画面中央に近い升目ほど大きく、画面中央から離れる升目ほど小さい値とするのであるから、格子が定まっていることを前提として、格子の各升目に予め、画面中央に近い升目ほど大きく画面中央から離れる升目ほど小さい値を割り当てておくのである。このようにすれば、距離rやAzを求める手間を省くことができる。
Further, in the process of sequentially obtaining Cb (s, t) while decreasing the time point, the own device is in the cell s at time t to reflect the consideration that the position of the own device is as close to the center of the screen as possible. In this case, the value of Cb (s, t) is multiplied by Az according to the distance r from the screen center of the cell s. Az is set to a value that is larger as the grid is closer to the center of the screen and smaller as the grid is farther from the center of the screen. The distance r from the center of the screen s to the center of the screen may be a distance between the position coordinates of the center of the screen and the position coordinates of the center of the screen s. The center of the cell s may be the intersection of two diagonal lines. For example, F (r) = exp (-r), F ( r) = exp (−r 2 ), F (r) = 1 / (1 + r 2 ), F (r) = {a + exp (−r)} / (a + 1), F (r) = {a + exp (−r 2) )} / (A + 1), F (r) = {a + b ^ (− r 2 )} / (a + 1), and the like. a and b are positive constants. exp is the power of the base of the natural logarithm. The symbol ^ represents a power. Here, a function that outputs a value that falls within the range of 0 to 1 is illustrated, but a value that falls within the range of 0 to k can be output by multiplying by an appropriate constant coefficient k. Further, the degree of distribution that becomes larger as the grid closer to the center of the screen becomes larger as the grid farther from the center of the screen becomes, for example, F (r) = exp (−r 2 / c), where c is a positive constant. Adjustment is possible by appropriately setting the value. In addition, F (r) = {a + b × exp (−r)} / (a + 1), F (r) = {a + c × b ^ (− r 2 )} / (a + 1), etc. are far from the center of the screen. Since it is asymptotic to a / (a + 1), by appropriately setting the value of a to a value other than 0, Cb (s, t) away from the center of the screen is virtually not wasted, or the center of the screen Cb (s, t) away from the grid can not be underestimated. In short, F (r) may be a monotonically decreasing function. Here, the monotonically decreasing function means that the function F (r) satisfies F (r 1 ) ≧ F (r 2 ) for any r 1 and r 2 with r 1 ≦ r 2 . Az = F (r) may be used. However, since it is not necessary to calculate with a floating point number, for example, Az is obtained by rounding up or down the decimal point of F (r) to obtain an integer value. It can be said that this is common. If Az is set to a non-integer value, it may be set to an integer value by rounding up or down after the decimal point of Cb (s, t) × Az.
In the above example, Az is calculated by obtaining the distance r, but Az may be given by a simpler process. Az is larger for cells closer to the center of the screen and smaller for cells farther from the center of the screen. Therefore, assuming that the lattice is fixed, Az is larger for cells closer to the center of the screen in advance. A smaller value is assigned to the grid away from the center. In this way, it is possible to save time and labor for obtaining the distance r and Az.

結局、時点tで自機が升目sに在る場合に敵機が自機の攻撃ライン上にないときにCb(s,t)の値に乗じる定数値Asを1とすれば、上記の諸条件に基づいて、各時点での各升目のCb(s,t)の値はCb(s,t)×As×Azに補正される。
なお、自機が敵機をできる限り破壊することの考慮、および、自機の位置ができるだけ画面中央付近にあるための考慮は、それぞれ、別個独立に考慮できるから、自機が敵機をできる限り破壊することだけを考慮する場合には、各時点での各升目のCb(s,t)の値をCb(s,t)×Asに補正し、自機の位置ができるだけ画面中央付近にあるためだけを考慮する場合には、各時点での各升目のCb(s,t)の値をCb(s,t)×Azに補正すればよい。
After all, if the constant value As that multiplies the value of Cb (s, t) when the enemy aircraft is in the grid s at time t and the enemy aircraft is not on the attack line of the aircraft is 1, Based on the condition, the value of Cb (s, t) of each cell at each time point is corrected to Cb (s, t) × As × Az.
In addition, since it is possible to consider the consideration of destroying enemy aircraft as much as possible and the consideration that the location of the aircraft is as close to the center of the screen as possible, each aircraft can be an enemy aircraft. When considering only destruction as much as possible, the value of Cb (s, t) of each square at each time point is corrected to Cb (s, t) × As, and the position of the own machine is as close to the center of the screen as possible. In order to take into account only for this reason, the value of Cb (s, t) of each cell at each time point may be corrected to Cb (s, t) × Az.

そして、現時点t(=0)で自機が存在する升目sのCb(s,t+ΔT)および升目sの周囲の升目のうち1処理単位時間で自機が移動可能な升目s′の各Cb(s′,t+ΔT)のうち、最大の値となった升目に対して行動することを決定する。
つまり、自機の行動種類が図1(a)に示すように静止と周囲8つの升目への移動の9種類の場合を例にとると、Cb(s,t+ΔT)および周囲8升の各Cb(s′,t+ΔT)のうち、その最大値が升目sであれば、時点t+ΔTで升目sに居るために、現時点tで「静止」という行動を最適な行動として選択する。最大値が升目s∈s′であれば、時点t+ΔTで升目sに居るために、現時点tで「升目sへの移動」という行動を最適な行動として選択する。
Then, the present time t 0 (= 0) at the own apparatus Cb (s 0, t 0 + ΔT) squares s 0 are present and squares s 0 own device in one processing unit time of the square surrounding of movable grids s 0 'each Cb (s 0 of', t 0 + ΔT) of, it decides to act against squares was the maximum value.
In other words, as shown in FIG. 1A, if the action type of the own device is nine types, i.e., stationary and moving to eight surrounding cells, Cb (s 0 , t 0 + ΔT) and eight surroundings optimal each Cb (s 0 ', t 0 + ΔT) of the, if the maximum value is squares s 0, in order to have the squares s 0 at time t 0 + ΔT, the act of "rest" at the present time t 0 of To choose as an action. If the maximum value of squares s 1 ∈s 0 ', in order to have the squares s 1 at time t 0 + ΔT, is selected as the optimal behavior of the action of "moving to the square s 1" at the present time t 0.

以上に説明したように、現時点tで、目標へ向かうような最適な行動が選択されるが、この行動の選択は、処理単位時間ΔTごとに行えばよい。 As described above, an optimal action toward the target is selected at the current time t 0 , but this action may be selected every processing unit time ΔT.

《実施形態》
本発明の実施形態について、図面を参照しながら説明する。
<シューティングゲームのデモンストレーション用自機行動制御装置>
本発明の実施形態であるシューティングゲームのデモンストレーション用自機行動制御装置(1)は、それ単体で独立に存在するよりは、コンピュータを構成するエンティティとして存在するのが一般的である〔勿論、単体独立のエンティティとして存在することを排除する趣旨ではない。〕。さらに云えば、シューティングゲームのデモンストレーション用自機行動制御装置(1)は、コンピュータとは容易に分離可能にコンピュータを構成するエンティティではなく、コンピュータ自体を或る機能に着眼して片面的に評価したものであるのが一般的である。要するに、シューティングゲームのデモンストレーション用自機行動制御装置(1)は、シューティングゲームを実行するコンピュータそのものであることが一般的である。ここでコンピュータは、既述のとおりパーソナルコンピュータのような汎用機やゲーム専用機などを広く指す。
以下、シューティングゲームのデモンストレーション用自機行動制御装置(1)を単にデモ用自機行動制御装置(1)と云うことにする。
<Embodiment>
Embodiments of the present invention will be described with reference to the drawings.
<Self-action control device for shooting game demonstration>
The self-action control device (1) for demonstration of a shooting game which is an embodiment of the present invention is generally present as an entity constituting a computer, rather than being independently present alone. It is not intended to exclude the existence as an independent entity. ]. Furthermore, the self-action control device (1) for demonstration of a shooting game is not an entity that constitutes a computer so that it can be easily separated from the computer, but evaluates the computer itself by focusing on a certain function. It is common to be a thing. In short, the self-action control device (1) for demonstration of a shooting game is generally a computer 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 self-action control device (1) for demonstration of a shooting game will be simply referred to as a self-action control device (1) for demonstration.

コンピュータは、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)のハードウェア構成例は次のとおりである〔図3参照〕。
デモ用自機行動制御装置(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 machine as an example of a computer, an example of the hardware configuration of the demonstration self-action control device (1) is as follows (see FIG. 3).
The demonstration self-behavior 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, a CPU (Central Processing Unit; 14) [including a cache memory and the like. It may be. 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 demonstration self-action control device (1) may be provided with a device (drive) capable of reading and writing 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 demonstration self-machine action control device (1) stores and stores a program for demonstration self-machine action control, data necessary for processing of this program, and the like. 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 demonstration self-action 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, since it is not related to the gist of the present invention, the explanation is omitted. 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)には、デモンストレーションで自機の行動を決定するべき時点〔現時点〕において、既存敵機の位置およびその速度、既存敵機によって過去の時点で発射された既存攻撃弾の位置およびその速度、並びに自機の位置に基づいて、現時点t(=0)に自機が存在する升目sから現時点より後の或る時点nにおける升目sまでの順経路総数C(s,n)を、既存敵機と既存攻撃弾の存在を考慮して求めて、C(s,n)が最大の升目sを自機の向かう目標の升目として設定するためのプログラム(自機目標設定プログラム)、目標の升目sを起点として、既存敵機と既存攻撃弾の存在、敵機の破壊並びに画面中央付近にできるだけ居ることを考慮して、時点を減少させながら逐次に逆経路総数Cb(s,t)を求めることで時点t+ΔTでのCb(s,t+ΔT)を求め、現時点t(=0)で自機が存在する升目sのCb(s,t+ΔT)および升目sの周囲の升目のうち1処理単位時間で自機が升目sに移動可能な升目s′の各Cb(s′,t+ΔT)のうち、最大の値となった升目に対して行動することを決定するためのプログラム(自機行動決定プログラム)が保存記憶されている。 Specifically, the external storage device (17) was fired at a past time by the position and speed of the existing enemy aircraft at the time when the action of the aircraft should be determined in the demonstration [current time]. Based on the position and speed of the existing attack bullet, and the position of the aircraft, the forward path from the cell s 0 where the aircraft exists at the current time t 0 (= 0) to the cell s at a certain time n after the current time The total number C (s, n) is calculated in consideration of the existence of existing enemy aircraft and existing attack bullets, and the cell sg having the maximum C (s, n) is set as the target cell to which the aircraft is heading. Starting from the program (own target setting program) and the target cell s g , while considering the existence of existing enemy aircraft and existing attack bullets, destruction of enemy aircraft, and being near the center of the screen as much as possible, Sequentially the total number of reverse paths Cb s, Cb (s at time t 0 + [Delta] T by obtaining t), t 0 + ΔT) asking, Cb (s 0 squares s 0 is present ship currently t 0 (= 0), t 0 + ΔT ) and squares s 'each Cb (s 0' of movable grids s 0 around the ship in one processing unit time of the squares is the square s 0 of 0, t 0 + [Delta] t) of, the largest value A program for deciding to act on the left eye (self-machine action determination program) is stored and stored.

なお、この実施形態における自機目標設定プログラムは、現時点t(=0)に自機が存在する升目sから現時点より後の或る時点tにおける或る升目sまでの順経路総数C(s,t)を、既存敵機と既存攻撃弾の存在を考慮して逐次求めるためのプログラム(順経路数計算プログラム)と、順経路数計算プログラムの処理で得られた時点nでの各升目における順経路総数C(s,n)のうち最大の升目sを特定するためのプログラム(目標決定プログラム)とを含む。
また、この実施形態における自機行動決定プログラムは、目標の升目sから時点nより前の或る時点tにおける或る升目sまでの逆経路総数Cb(s,t)を、既存敵機と既存攻撃弾の存在、敵機の破壊並びに画面中央付近にできるだけ居ることを考慮して逐次求めるためのプログラム(逆経路数計算プログラム)と、逆経路数計算プログラムの処理で得られた時点t+ΔTでのCb(s,t+ΔT)のうち、現時点t(=0)で自機が存在する升目sのCb(s,t+ΔT)および升目sの周囲の升目のうち1処理単位時間で自機が升目sに移動可能な升目s′の各Cb(s′,t+ΔT)の中で最大の値となった升目を特定するためのプログラム(行動決定プログラム)とを含む。
In this embodiment, the own-machine target setting program calculates the total number of forward paths C (from a cell s 0 where the own device exists at the current time t 0 (= 0) to a certain cell s at a certain time t after the current time. s, t) each program at the time point n obtained by processing of the program (forward path number calculation program) for sequentially determining the presence of existing enemy aircraft and existing attack bullets and the forward path number calculation program And a program (target determination program) for specifying the largest cell s g in the total number of forward paths C (s, n).
In addition, the self-behavior determination program in this embodiment calculates the total number of reverse paths Cb (s, t) from a target cell s g to a cell s at a certain time t before time n to the existing enemy aircraft. A time t 0 obtained by processing of the program (reverse path number calculation program) and the reverse path number calculation program for sequentially obtaining in consideration of the presence of existing attack bullets, destruction of enemy aircraft and being near the center of the screen as much as possible + [Delta] t in the Cb (s, t 0 + ΔT ) of the present time t 0 (= 0) in Cb (s 0, t 0 + ΔT) squares s 0 the apparatus itself is present and surrounding squares s 0 out of square Program for identifying the cell that has the maximum value in each Cb (s 0 ′, t 0 + ΔT) of the cell s 0 ′ that can be moved to the cell s 0 in one processing unit time (action determination) Program).

デモ用自機行動制御装置(1)では、外部記憶装置(17)に記憶された各プログラムとこの各プログラムの処理に必要なデータが必要に応じて記憶部(20)に読み込まれて、CPU(14)で解釈実行・処理される。この結果、CPU(14)が所定の機能(自機目標設定部〔順経路数計算部、目標決定部〕、自機行動決定部〔逆経路数計算部、行動決定部〕)を実現することで自機行動の決定が実現される。また、本発明の視点からは必須の構成要素ではないが、シューティングゲームの実行やデモンストレーションの実行を制御する機能を有する制御部が実装されており、この制御部もCPU(14)で実現される。なお、全ての機能をCPUなどの演算処理装置で実現するに限定されず、機能の一部を例えば演算回路によってハードウェア的に実現するようにしてもよい。   In the demonstration self-behavior control device (1), each program stored in the external storage device (17) and data necessary for the processing of each program are read into the storage unit (20) as necessary, and the CPU Interpretation is executed and processed in (14). As a result, the CPU (14) realizes predetermined functions (own device target setting unit [forward route number calculating unit, target determining unit], own device action determining unit [reverse route number calculating unit, action determining unit]). With this, the decision on the behavior of the aircraft 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 and the demonstration 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.

<シューティングゲームのデモンストレーション用自機行動制御方法>
次に、図4および図5を参照して、デモ用自機行動制御装置(1)におけるデモ用自機行動制御処理(自機行動の決定)の流れを叙述的に説明する。
<Self-action control method for demonstration of shooting game>
Next, with reference to FIG. 4 and FIG. 5, the flow of the demonstration own machine action control process (determination of own machine action) in the demonstration own machine action control device (1) will be described narratively.

この実施形態では、画面上における自機(30)の位置座標、敵機(40)の位置座標および速度・既存攻撃弾の位置座標および速度は、それぞれ記憶部(20)に記憶されているとする。また、目標を定める時点nも記憶部(20)に記憶されているとする。
自機の行動は、図1(a)に示したとおりとする。
In this embodiment, the position coordinate of the own aircraft (30), the position coordinate and speed of the enemy aircraft (40) on the screen, and the position coordinate and speed of the existing attack bullet are stored in the storage unit (20), respectively. To do. Further, it is assumed that the time point n at which the target is determined is also stored in the storage unit (20).
The behavior of the aircraft is as shown in FIG.

まず、制御部(190)は、デモンストレーションの実行処理中に、自機(30)の行動を決定するための処理を行うよう制御する。
この実施形態では、制御部(190)の制御によって、本発明であるデモ用自機行動制御処理〔自機行動の決定〕が実行されるようになっている。
First, the control unit (190) performs control so as to perform processing for determining the action of the own device (30) during execution processing of the demonstration.
In this embodiment, the demonstration self-machine action control process [determination of self-machine action] according to the present invention is executed under the control of the control unit (190).

自機目標設定部(141)は、順経路数計算部(142)および目標決定部(143)で構成されており、制御部(190)の制御を受けて、以下に説明する処理を行う。   The own-machine target setting unit (141) includes a forward route number calculation unit (142) and a target determination unit (143), and performs processing described below under the control of the control unit (190).

順経路数計算部(142)は、記憶部(20)から自機(30)の位置座標を取得し、画面を分割した格子(50)において自機(30)が存在する升目を特定する(ステップS1)。図6では、一例として7×7の49個の正方形の升目からなる格子(50)を示しており、自機は中心の升目に存在していると特定された場合を示している。説明の便宜から、升目の位置を格子(50)の外部に割り当てた数字〔図6参照〕をもって表現する。つまり、格子(50)を行列に見立てたときの行列の成分で各升目を表示する。図6では、自機(30)が存在する升目は(4,4)であり、敵機(40)が存在する升目は(1,3)である。なお、自機(30)および敵機(40)の基準点は既述のとおりである。自機(30)の位置座標が、格子の線や交点の上に位置する場合には、例えば予め定義しておいた升目に自機が存在すると特定すればよい〔例:線上の場合、原則右側の升目とする。交点上の場合、原則右下の升目とする。〕。あるいは、自機(30)の位置座標が格子の線や交点の上に位置しないように画面を格子分割するとしてもよい。   The forward path number calculation unit (142) acquires the position coordinates of the own device (30) from the storage unit (20), and identifies the cell in which the own device (30) exists in the grid (50) obtained by dividing the screen ( Step S1). FIG. 6 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 position of the cell is expressed by a number assigned to the outside of the grid (50) (see FIG. 6). That is, each cell is displayed with a matrix component when the lattice (50) is regarded as a matrix. In FIG. 6, the square where the own aircraft (30) exists is (4, 4), and the square where the enemy aircraft (40) exists is (1, 3). The reference points of the own aircraft (30) and the enemy aircraft (40) are as described above. When the position coordinate of the own machine (30) is located on a grid line or intersection, for example, it may be specified that the own machine exists in a predefined grid, for example, on the line, in principle The right side is the square. In case of crossing the intersection, in principle the lower right square. ]. Alternatively, the screen may be divided into grids so that the position coordinates of the own machine (30) are not positioned on grid lines or intersections.

このとき、自機(30)が存在すると特定された升目を除く各升目に数字0が割り当てられ、自機(30)が存在すると特定された升目に1が割り当てられる。つまり、自機(30)が存在すると特定された升目を除く各升目の初期値C(s,0)を0とし、自機(30)が存在すると特定された升目の初期値C(s,0)を1とする〔図6参照〕。   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. 6).

次に、順経路数計算部(142)は、現時点より後の各時点tにおける各升目のC(s,t)を順次に求めることで、時点nで升目sに到達する順経路総数C(s,n)を求める(ステップS2)。ここでは説明を具体的なものにするため処理単位時間ΔTを1とする。   Next, the forward path number calculation unit (142) sequentially obtains C (s, t) of each cell at each time point t after the current time point, so that the total number of forward routes C ( s, n) is obtained (step S2). Here, the processing unit time ΔT is set to 1 in order to make the description concrete.

図7に時点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. 7 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 cell s 0 = (4, 4) where the own aircraft (30) exists at the current time t 0 (= 0). ing.

図8に時点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. 8 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 device (30) exists at t 0 (= 0).

このように、順経路数計算部(142)は、現時点より後の各時点tにおける各升目のC(s,t)を求めるのであるが、その求め方としては、人工知能技術の一つである探索計算方法を利用することができる。しかしながら、例えば普通の決定木探索の方法では、現時点より後の時点が増えると同時に、探索計算の深さが増し、必要な計算時間および計算機の記憶容量が指数関数的に増大してしまう。この実施形態の場合、自機(30)の各時点での行動種類は9通りなので、時点が一つ増すたびに必要な計算資源が9倍増えることになることに注意を要する。   As described above, the forward path number calculation unit (142) calculates C (s, t) of each cell at each time point t after the current time, and is obtained by one of artificial intelligence techniques. A search calculation method can be used. However, for example, in an ordinary decision tree search method, the number of times after the current time increases, and at the same time, the depth of search calculation increases, and the required 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に移動可能な升目s′のC(s′,t−1)の総和〔s′に関する総和である。〕と1処理単位時間前の升目sのC(s,t−1)との和で得られる。つまり、C(s,t)は式(1)で得られる。

Figure 0004976771
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 of forward paths C (s, t) up to s is C (s ′, t−1) of the cell s ′ that can move to the cell s in one processing unit time among the cells around the cell s. ) Is the sum of s ′. ] And C (s, t−1) of the cell s one processing unit time before. That is, C (s, t) is obtained by the equation (1).
Figure 0004976771

このことを時点1および時点2の場合で、一例を示して説明する〔図9参照〕。
時点2での升目(3,3)のC(s,2)を求める〔s=(3,3)〕。このとき、時点1でのC(s,1)は、1である。升目s=(3,3)の周囲の升目のうち1処理単位時間で自機が升目sに移動可能な升目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である〔図9(a)参照〕。従って、これらを式(1)に代入すると升目s=(3,3)のC(s,2)は、C(s,2)=1+(1+1+1+0+0+0+0+0)=4となる〔図9(b)参照〕。
This will be described with an example in the case of time 1 and time 2 (see FIG. 9).
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 can be moved to the cell s 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) in (4,4) is 1 [see FIG. 9 (a)]. Therefore, when these are substituted into the equation (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. 9B. ].

上記のように現時点より後の各時点tにおける各升目のC(s,t)を求めるが、実時間性を損なわないようにする観点からはむやみに遥か将来の時点まで予測するのは好ましくない。また、このことは演算処理装置の処理能力などにも依存する。従って、どれくらい将来の時点nまでのC(s,n)を求めるかは、娯楽性、演算処理装置の処理能力などを考慮して予め決定しておけばよい(ここでの説明や図面では、理解を容易にするため時点2までしか示していない。)。   As described above, C (s, t) of each cell at each time point t after the present time is obtained, but it is not preferable to predict to a far future time point from the viewpoint of not impairing the real time property. . This also depends on the processing capability of the arithmetic processing unit. Accordingly, how much C (s, n) until the future time point n is determined in advance in consideration of entertainment, processing capability of the arithmetic processing unit, etc. (in the description and drawings here, (Only time 2 is shown for ease of understanding.)

また、順経路数計算部(142)は、記憶部(20)から現時点における既存敵機の位置座標・速度および既存攻撃弾の位置座標・速度を取得し、現時点より後の各時点において既存敵機および/または既存攻撃弾と衝突可能性のある升目のC(s,t)の値を0にする。   The forward path number calculation unit (142) obtains the position coordinates / velocity of the existing enemy aircraft and the position coordinates / velocity of the existing attack bullet at the current time from the storage unit (20), and the existing enemy at each time point after the current time. The value of C (s, t) of the mesh that may collide with the aircraft and / or the existing attack bullet is set to zero.

このことを図10に示して説明する。ここでは、既存攻撃弾の場合で説明するが、既存敵機の場合でも同様である。
図10では、自機(30)・敵機(40)・既存攻撃弾のそれぞれの外形を内包する最小の円を、衝突判定に用いる自機(30)・敵機(40)・既存攻撃弾の形状と定義し、衝突判定円を、中心を既存攻撃弾の中心〔既存攻撃弾の形状の中心である。〕とし、半径を(既存攻撃弾の形状の半径)+(自機の形状の半径)とする。図10では、衝突判定円の半径は、丁度、正方形の升目の一辺に等しいとしている。
時点1では、格子(50)の右上の隅に既存攻撃弾の位置座標(あるいは看做し位置座標)があると予測されるとする〔図10(a)参照〕。このとき、衝突判定円内に位置する升目(1,7)のC(s,t)の値を0にする。但し、この場合では、もともと升目(1,7)のC(s,t)の値は0であるからリセットする必要はない。なお、「衝突判定円内に位置する升目」は、衝突判定円内に完全に内包される升目、および、升目の一部分が衝突判定円内に含まれる升目である。
時点2では、升目(3,5)の右上の隅に既存攻撃弾の位置座標(あるいは看做し位置座標)があると予測されるとしている〔図10(b)参照〕。既述のとおり各攻撃弾は、敵機から発射される際に決定された速度を発射後において維持することから各時点での位置座標を予測可能である。例えば、時点t(=0)での或る既存攻撃弾の位置を(Xb(0),Yb(0))、その速度を(Vx(0),Vy(0))、時点tでの当該既存攻撃弾の位置を(Xb(t),Yb(t))とすれば、(Xb(t),Yb(t))=(Xb(0)+Vx(0)×t×ΔT,Yb(0)+Vy(0)×t×ΔT)の関係がある。図10(b)の例では、衝突判定円内に位置する升目(2,5)、(2,6)、(3,5)、(3,6)のC(s,t)の値を0にする。
This will be described with reference to FIG. Here, the case of the existing attack bullet will be described, but the same applies to the case of the existing enemy aircraft.
In FIG. 10, 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. 10, the radius of the collision determination circle is just equal to one side of the square cell.
It is assumed that at the time point 1, it is predicted that the position coordinate (or the position coordinate) of the existing attack bullet is in the upper right corner of the grid (50) [see FIG. 10 (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, it is not necessary to reset. Note that “a grid located in the collision determination circle” is a grid 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 the time point 2, it is assumed 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. 10 (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. For example, the position of an existing attack bullet at time t 0 (= 0) is (Xb (0), Yb (0)), the velocity is (Vx (0), Vy (0)), and the time at time t If the position of the existing attack bullet is (Xb (t), Yb (t)), (Xb (t), Yb (t)) = (Xb (0) + Vx (0) × t × ΔT, Yb ( 0) + Vy (0) × t × ΔT). In the example of FIG. 10B, the values of C (s, t) of the cells (2, 5), (2, 6), (3, 5), and (3, 6) located in the collision determination circle are set. Set to zero.

以上のようにして順経路数計算部(142)は、現時点より後の各時点tにおける各升目のC(s,t)を順次に求め、最終的に時点nでの各升目のC(s,n)を求める。時点nにおける各升目のC(s,n)は、記憶部(20)に記憶される。ステップS2の処理の後、ステップS3の処理が行われる。   As described above, the forward path number calculation unit (142) sequentially obtains C (s, t) of each cell at each time t after the current time, and finally C (s) of each cell at time n. , N). C (s, n) of each cell at time n is stored in the storage unit (20). After the process of step S2, the process of step S3 is performed.

目標決定部(143)は、記憶部(20)から時点nにおける各升目のC(s,n)を取得し、C(s,n)が最大の升目sを特定する(ステップS3)。特定された升目sは、自機の向かう目標の升目となる。
もし、C(s,n)が同じ値の升目が存在したならば、それらのうちの1つの升目を升目sとして特定すればよい。あるいは、それらのうち最も画面中央に近い升目を升目sとして特定してもよい。
特定された升目sを識別する目標升目識別情報は、記憶部(20)に記憶される。このような目標升目識別情報としては、例えば、升目sの中心に位置座標でもよい。あるいは、本明細書において升目の位置を格子(50)の外部に割り当てた数字の組み合わせをもって表現するのと同様にして、格子を行列と見立てて行列の成分表示で升目を特定するならば、この成分を目標升目識別情報に用いてもよい。
Target determining unit (143) is, C (s, n) of each square at the time n from the storage unit (20) acquires, C (s, n) identifies the largest squared s g (step S3). The specified cell s g is the target cell toward which the aircraft is directed.
If C (s, n) is present squares of the same value may specify one square of them as squares s g. Alternatively, the cell closest to the center of the screen may be specified as the cell s g .
Target squares identification information for identifying the identified squares s g is stored in the storage unit (20). Such target squares identification information, for example, may be a position coordinate at the center of the square s g. Alternatively, in the present specification, if the grid is identified by a matrix component display in the same manner as expressing the grid position with a combination of numbers assigned to the outside of the grid (50), You may use a component for target cell identification information.

自機行動決定部(144)は、逆経路数計算部(145)および行動決定部(146)で構成されており、ステップS3の処理に続いて以下に説明する処理を行う。   The own-machine action determining unit (144) includes a reverse path number calculating unit (145) and an action determining unit (146), and performs the process described below following the process of step S3.

逆経路数計算部(145)は、記憶部(20)から識別情報を取得し、目標の升目sを起点として、時点を減少させながら逐次に各時点での各升目のCb(s,t)を求める(ステップS4)。この求め方はステップS1およびステップS2の処理とほぼ同様である。
この段階では、起点となる升目が升目sに特定されているので、初期値として、升目sを除く各升目に数字0が割り当てられ、升目sに1が割り当てられる。
そして、現時点より前の各時点tにおける各升目のCb(s,t)を求めるが、この求め方でステップS2の処理と異なるのは、式(1)ではなく式(2)によって求める点にある。

Figure 0004976771
Reverse-path number calculation unit (145) obtains the identification information from the storage unit (20), starting from the square s g of the target, sequentially while reducing the time of each square at each time point Cb (s, t ) Is obtained (step S4). This calculation method is almost the same as the processing in step S1 and step S2.
At this stage, since the square as a starting point is specified in square s g, as an initial value, the numbers 0 is assigned to each square, except the square s g, 1 is assigned to squares s g.
Then, Cb (s, t) of each cell at each time point t prior to the current time is obtained. This method differs from the process of step S2 in that it is obtained by equation (2) instead of equation (1). is there.
Figure 0004976771

また、逆経路数計算部(142)は、記憶部(20)から現時点における既存敵機の位置座標・速度および既存攻撃弾の位置座標・速度を取得し、時点nより前の各時点において既存敵機および/または既存攻撃弾と衝突可能性のある升目のCb(s,t)の値を0にすることもステップS2の処理と同様である。   Further, the reverse path number calculation unit (142) acquires the position coordinates / velocity of the existing enemy aircraft and the position coordinates / velocity of the existing attack bullet at the current time from the storage unit (20), Setting the value of Cb (s, t) of the mesh that may collide with the enemy aircraft and / or the existing attack bullet to 0 is the same as the process of step S2.

さらに、自機が敵機をできる限り破壊することの考慮および自機の位置ができるだけ画面中央付近にあるための考慮を反映させるべく、各升目のCb(s,t)をCb(s,t)×As×Azに補正する。   Further, in order to reflect the consideration that the aircraft destroys enemy aircraft as much as possible and the consideration that the location of the aircraft is as close to the center of the screen as possible, Cb (s, t) of each cell is changed to Cb (s, t ) X As x Az.

Asについては、時点tで自機が升目sに在る場合に敵機が自機の攻撃ライン上にないときにCb(s,t)の値に乗じる定数値Asを1、時点tで自機が升目sに在る場合に敵機が自機の攻撃ライン上にあるときにCb(s,t)の値に乗じる定数値Asを1よりも大の値とする。例えば、出願時点において流通している一般的なコンピュータであれば、演算処理装置の処理能力、記憶装置の記憶容量、プログラムの使用言語、実際のプログラムの記述の仕方などにもよるので一概には云えないが、nが15程度の値であればAsは例えば2とすればよい。
この例を図11示す。ここでは、一度に1つの攻撃弾を発射する場合で、且つ、自機が発射する攻撃弾の飛行経路が画面の縦に平行になっている場合を例とする。図11(a)では、時点tでの敵機の予測位置が(2,4)の升目に在るとする。また、時点tでの各升目のCb(s,t)は、図11(a)の各升目に記入された数値とする。このとき、時点tで自機が升目sに在る場合に敵機が自機の攻撃ライン上にあるときの升目sは、網掛け部分に示した升目(3,4)、(4,4)、(5,4)、(6,4)、(7,4)である。なお、ここでは、敵機の予測位置のX座標値Xiが、時点tに自機が在るとされる升目sの横幅のX座標値の範囲に含まれるか否かに加え、画面上端から画面下端に向かって縦軸(Y軸)数値が増大するとして、敵機の予測位置の座標値Yiが、時点tに自機が在るとされる升目sの縦幅のY座標値の範囲の最小値よりも小であるか否かの判定をした。この判定が成立する升目が網掛け部分に示した升目である。従って、升目s=(3,4)、(4,4)、(5,4)、(6,4)、(7,4)のCb(s,t)をAs倍する。ここではAs=2として、As倍した後の時点tでの各升目のCb(s,t)を図11(b)に示す。
For As, when the aircraft is in the grid s at time t, the constant value As is multiplied by 1 when the enemy aircraft is not on the attack line of the aircraft, and at time t. A constant value As that multiplies the value of Cb (s, t) when the enemy aircraft is on its own attack line when the aircraft is in the cell s is set to a value larger than 1. For example, if it is a general computer in circulation at the time of filing, it depends on the processing capability of the arithmetic processing device, the storage capacity of the storage device, the language used in the program, the way of describing the actual program, etc. Needless to say, if n is about 15, As may be set to 2, for example.
An example of this is shown in FIG. Here, the case where one attack bullet is fired at a time and the flight path of the attack bullet fired by the own aircraft is parallel to the vertical direction of the screen is taken as an example. In FIG. 11A, it is assumed that the predicted position of the enemy aircraft at time t is in the grid of (2, 4). Further, Cb (s, t) of each cell at time t is a numerical value entered in each cell of FIG. At this time, when the aircraft is in the grid s at the time t, the grid s when the enemy aircraft is on the attack line of the aircraft is the grid (3, 4), (4, 4) shown in the shaded portion. ), (5, 4), (6, 4), (7, 4). Here, in addition to whether or not the X-coordinate value Xi of the predicted position of the enemy aircraft is included in the range of the X-coordinate value of the horizontal width of the cell s that the own aircraft is supposed to be at time t, from the upper end of the screen Assuming that the value of the vertical axis (Y-axis) increases toward the lower end of the screen, the coordinate value Yi of the predicted position of the enemy aircraft is the range of the Y coordinate value of the vertical width of the cell s that the own aircraft is at time t It was determined whether or not it was smaller than the minimum value. The grid in which this determination is established is the grid shown in the shaded portion. Therefore, Cb (s, t) of the cells s = (3,4), (4, 4), (5, 4), (6, 4), (7, 4) is multiplied by As. Here, assuming that As = 2, Cb (s, t) of each cell at time t after multiplication by As is shown in FIG.

また、Azについては、既述のとおり、升目sの画面中央からの距離rを算出して、例えばF(r)=0.5×{1+exp(−r)}の小数点以下を切捨てた値としてもよい。勿論、F(r)=0.5×{1+exp(−r)}に適当な定数係数kを乗じた値の小数点以下を切捨てた値をAzとしてもよい。いずれにしてもF(r)を各升目ごとに求め、この値を各升目のCb(s,t)に乗じることで補正を行う。この例を図12に示す。時点tでの各升目のCb(s,t)は、図12(a)の各升目に記入された数値とする。また、図12(a)では、F(r)が、升目(7,1)で1、升目(5,1)、(6,1)、(7,2)、(7,3)で2、升目(6,2)で3、升目(5,2)、(6,3)で4、升目(5,3)で5になったとしている。そこで、できるだけ画面中央付近にあるための考慮に基づいて補正された時点tでの各升目のCb(s,t)は、図12(a)の各升目のCb(s,t)に、各升目のF(r)を乗じて得られ、この結果は図12(b)の各升目に記入された数値となる。
あるいは、格子の各升目に予め、画面中央に近い升目ほど大きく画面中央から離れる升目ほど小さい値Azを割り当てておいたマスキングデータを記憶部(20)に保存しておき、格子の各升目のCb(s,t)に適用するとしてもよい。この例を図13に示す。図13(a)は、7×7の格子において予めAzが固定して割り当てられたマスキングデータの一例を格子の各升目にAzを記入して示している。図13の記号×は、このマスキングデータを図13(b)に示す時点tでの各升目のCb(s,t)に適用することを示している。つまり、或る升目の補正後のCb(s,t)は、補正前の当該升目のCb(s,t)とマスキングデータの当該升目のAzとの積で得られ、具体例としては、升目s=(5,4)の補正後のCb(s,t)は、補正前の升目s=(5,4)のCb(s,t)=4とマスキングデータの升目s=(5,4)のAz=5との積で得られるから20となる。
As for Az, as described above, the distance r from the center of the screen of the cell s is calculated, and for example, F (r) = 0.5 × {1 + exp (−r 2 )} is rounded down. It is good. Of course, Az may be a value obtained by rounding off the decimal point of a value obtained by multiplying F (r) = 0.5 × {1 + exp (−r 2 )} by an appropriate constant coefficient k. In any case, F (r) is obtained for each cell, and correction is performed by multiplying this value by Cb (s, t) of each cell. An example of this is shown in FIG. Cb (s, t) of each cell at time t is a numerical value entered in each cell in FIG. In FIG. 12A, F (r) is 1 for the mesh (7, 1), 2 for the mesh (5, 1), (6, 1), (7, 2), (7, 3). , It is assumed that the grid (6,2) is 3, the grid (5,2), (6,3) is 4, and the grid (5,3) is 5. Therefore, Cb (s, t) of each cell at time t corrected based on consideration for being as close to the center of the screen as possible is represented by Cb (s, t) of each cell in FIG. It is obtained by multiplying the square F (r), and this result is the numerical value entered in each square in FIG.
Alternatively, masking data in which a value Az that is larger for a cell closer to the center of the screen and larger for a cell farther from the center of the screen is assigned to each cell of the lattice is stored in the storage unit (20), and Cb of each cell of the lattice is stored. It may be applied to (s, t). An example of this is shown in FIG. FIG. 13A shows an example of masking data in which Az is fixed and assigned in advance in a 7 × 7 grid, with Az written in each square of the grid. The symbol x in FIG. 13 indicates that this masking data is applied to Cb (s, t) of each cell at time t shown in FIG. 13B. That is, Cb (s, t) after correction of a certain cell is obtained by the product of Cb (s, t) of the cell before correction and Az of the cell of the masking data. The corrected Cb (s, t) of s = (5, 4) is Cb (s, t) = 4 of the uncorrected cell s = (5, 4) and the masking data cell s = (5, 4). ) Of 20) because it is obtained by the product of Az = 5.

以上のようにして逆経路数計算部(145)は、時点nより前の各時点tにおける各升目のC(s,t)を順次に求め、最終的に時点1での各升目のC(s,1)を求める。時点1における各升目のC(s,1)は、記憶部(20)に記憶される。ステップS4の処理の後、ステップS5の処理が行われる。   As described above, the reverse path number calculation unit (145) sequentially obtains C (s, t) of each cell at each time t before time n, and finally C (( s, 1) is obtained. C (s, 1) of each cell at time 1 is stored in the storage unit (20). After step S4, step S5 is performed.

行動決定部(146)は、記憶部(20)から自機(30)の位置座標を取得し、自機(30)の位置座標によって現時点t(=0)で自機が存在する升目sを特定し、さらに記憶部(20)から、現時点t(=0)で自機が存在する升目sのCb(s,1)および升目sの周囲の升目のうち1処理単位時間で自機が升目sに移動可能な升目s′の各Cb(s′,1)を取得し、これらの値うち最大の値を有する升目sを特定する(ステップS5)。もし、同じ値の升目が存在したならば、それらのうちの1つの升目を升目sとして特定すればよい。自機は、この升目sに対して行動することになる。この例を図14に示す。図14では時点1における升目s=(4,4)のCb(s,1)とその周囲の升目s′のCb(s′,1)を示し、その他の升目の逆経路総数を略している。ここで升目(5,4)の逆経路総数が11で最大であるから、自機が時点1で升目(5,4)に居るように自機の行動制御がなされることになる。
特定された升目sを識別する行動升目識別情報は、記憶部(20)に記憶される。このような行動升目識別情報としては、例えば、升目sの中心に位置座標でもよい。あるいは、本明細書において升目の位置を格子(50)の外部に割り当てた数字の組み合わせをもって表現するのと同様にして、格子を行列と見立てて行列の成分表示で升目を特定するならば、この成分を行動升目識別情報に用いてもよい。
The action determination unit (146) acquires the position coordinate of the own device (30) from the storage unit (20), and the cell s where the own device exists at the current time t 0 (= 0) based on the position coordinate of the own device (30). identify 0, further from the storage unit (20), the present time t 0 (= 0) in Cb (s 0, 1) of the square s 0 the apparatus itself is present and one processing unit of the squares surrounding squares s 0 time 'each Cb of (s 0' own apparatus squares s 0 squares s 0 movable in, 1) acquires, identifies a square s a with these worth maximum value (step S5). If squares of the same value exists, it may specify one square of them as squares s a. Ship would act against the square s a. An example of this is shown in FIG. Cb (s 0, 1) of the square s 0 = (4, 4) at time 1 in FIG. 14 and 'Cb (s 0' and 1) the square s 0 surrounding indicates reverse path total number of other squares Is abbreviated. Here, since the total number of reverse paths of the cell (5, 4) is 11 and is the maximum, the behavior control of the own device is performed so that the own device is in the cell (5, 4) at the time point 1.
Action squares identification information for identifying the identified squares s a is stored in the storage unit (20). As such action cell identification information, for example, a position coordinate may be set at the center of the cell sa. Alternatively, in the present specification, if the grid is identified by a matrix component display in the same manner as expressing the grid position with a combination of numbers assigned to the outside of the grid (50), You may use a component for action cell identification information.

以上のようにして決定された升目sの行動升目識別情報は、記憶部(20)に一旦保存され、制御部(190)の制御の下、自機は、画面上で升目sに対して行動するように描画される。この処理の主体や処理方法は、従来と同様であるから説明を略する。 The action cell identification information of the cell s a determined as described above is temporarily stored in the storage unit (20), and under the control of the control unit (190), the own device displays the cell s a on the screen. Drawn to act. Since the main body and processing method of this process are the same as those in the prior art, description thereof is omitted.

現時点tで、目標へ向かうような最適な行動が選択されるが、この行動の選択は、処理単位時間ΔTごとに行えばよい。 An optimal action toward the target is selected at the current time t 0 , but this action may be selected every processing unit time ΔT.

以上の各実施形態の他、本発明であるシューティングゲームのデモンストレーション用自機行動制御装置・方法は上述の実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲で適宜変更が可能である。また、上記シューティングゲームのデモンストレーション用自機行動制御装置・方法において説明した処理は、記載の順に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されるとしてもよい。   In addition to the above-described embodiments, the self-action control device / method for demonstrating a 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. It is. In addition, the processing described in the above-mentioned self-behavior control device / method for demonstrating a 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 that executes the processing or as necessary. It may be executed separately or individually.

また、上記シューティングゲームのデモンストレーション用自機行動制御装置における処理機能をコンピュータによって実現する場合、シューティングゲームのデモンストレーション用自機行動制御装置が有すべき機能の処理内容はプログラムによって記述される。そして、このプログラムをコンピュータで実行することにより、上記シューティングゲームのデモンストレーション用自機行動制御装置における処理機能がコンピュータ上で実現される。   In addition, when the processing function in the self-action control device for demonstration of the shooting game is realized by a computer, the processing contents of the function that the self-action control device for demonstration of the shooting game should have are described by a program. Then, by executing this program on a computer, the processing functions in the above-described self-action control device for demonstration of a shooting game are 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, the computer reads a program stored in its own recording medium and executes a 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).

また、この形態では、コンピュータ上で所定のプログラムを実行させることにより、シューティングゲームのデモンストレーション用自機行動制御装置を構成することとしたが、これらの処理内容の少なくとも一部をハードウェア的に実現することとしてもよい。   In this embodiment, the self-behavior control device for demonstrating the shooting game is configured by executing a predetermined program on the computer. However, at least a part of these processing contents is realized by hardware. It is good to do.

本発明は、画面上に自機と1つあるいは複数の敵機とを表示し、自機および敵機が行動しながら攻撃弾を発射するコンピュータによるシューティングゲームのデモンストレーションに有用である。
また、人間の目から見て理に適った自機の行動制御を行うデモンストレーションとなるから、デモンストレーション効果がより長く持続し、例えば店頭などでデモンストレーションを表示するならば、集客効果を発揮し、デモンストレーションを見た者の購買意欲を高めることとなる。
INDUSTRIAL APPLICABILITY The present invention is useful for demonstrating a shooting game by a computer that displays an own aircraft and one or a plurality of enemy aircraft on a screen, and fires an attack bullet while the aircraft and the enemy aircraft act.
In addition, since it will be a demonstration that controls the behavior of the aircraft that makes sense from the human eye, the demonstration effect will last longer, and if the demonstration is displayed at the store, for example, it will demonstrate the effect of attracting customers and demonstrate Will increase the willingness to purchase.

自機の行動の種類を説明する図。(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. 升目の四隅の角またはその中心のいずれかを中心とする衝突判定形状に含まれる升目は一意になることを説明する図。(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. シューティングゲームのデモンストレーション用自機行動制御装置(1)のハードウェア構成例を示す図。The figure which shows the hardware structural example of the own-machine action control apparatus (1) for demonstration of a shooting game. シューティングゲームのデモンストレーション用自機行動制御装置(1)の機能構成例を示す図。The figure which shows the function structural example of the own-machine action control apparatus (1) for demonstration of a shooting game. シューティングゲームのデモンストレーション用自機行動制御装置(1)における自機行動決定の処理フロー。The processing flow of the self-machine action determination in the self-machine action control apparatus (1) for demonstration of a shooting game. 時点0での各升目の順経路総数C(s,t)を示す図。The figure which shows the total number of forward paths C (s, t) of each cell at the time 0. 時点1での各升目の順経路総数C(s,t)を示す図。The figure which shows the total number of forward paths C (s, t) of each cell at the time point 1. 時点2での各升目の順経路総数C(s,t)を示す図。The figure which shows the forward route total number C (s, t) of each cell in the time 2. (a)に示す網掛け部分の各升目から、(b)に示す網掛け部分の升目の順経路総数C(s,t)を求める方法を説明する図。The figure explaining the method of calculating | requiring the total number of forward paths C (s, t) of the mesh of the shaded part shown to (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 of forward paths C (s, t) of the cells located in the attack determination circle at time 1 to zero. (B) The figure explaining resetting the total number of forward paths C (s, t) of the cells located in the attack determination circle at time 2 to zero. 自機が敵機をできる限り破壊することを考慮して、各升目のCb(s,t)を補正することを説明する図。(a)に示す各升目のCb(s,t)のうち、時点tで自機が升目sに在る場合に敵機が自機の攻撃ライン上にあるときの升目s〔網掛け部分〕のCb(s,t)をAs(=2)倍して、(b)に示す網掛け部分のCb(s,t)に補正する。The figure explaining correction | amendment of Cb (s, t) of each cell in consideration of destroying enemy aircraft as much as possible. Among the Cb (s, t) of each cell shown in (a), when the own aircraft is in the cell s at the time t, the cell s [shaded portion] when the enemy aircraft is on the attack line of the own aircraft Cb (s, t) is multiplied by As (= 2) and corrected to Cb (s, t) in the shaded portion shown in (b). 自機の位置ができるだけ画面中央付近にあることを考慮して、各升目のCb(s,t)を、各升目の画面中央からの距離rに応じて補正することを説明する図。(a)に示す各升目のCb(s,t)に関数F(r)で得られたAzを乗じて、(b)に示す各升目のCb(s,t)に補正する。The figure explaining correct | amending Cb (s, t) of each square according to the distance r from the screen center of each square, considering that the position of an own machine is as close to the center of the screen as possible. Multiply Cb (s, t) of each cell shown in (a) by Az obtained by the function F (r) to correct Cb (s, t) of each cell shown in (b). 自機の位置ができるだけ画面中央付近にあることを考慮して、各升目のCb(s,t)を、各升目の画面中央からの距離rに応じて補正することを説明する図。(a)に示すマスキングデータの各升目の値Azと(b)に示す各升目のCb(s,t)との積の演算を対応する升目同士で行ない、(c)に示す各升目のCb(s,t)に補正する。The figure explaining correct | amending Cb (s, t) of each square according to the distance r from the screen center of each square, considering that the position of an own machine is as close to the center of the screen as possible. The product of the value Az of each cell of the masking data shown in (a) and Cb (s, t) of each cell shown in (b) is performed between the corresponding cells, and Cb of each cell shown in (c). Correction to (s, t). 現時点t(=0)で自機が存在する升目sのCb(s,1)および升目sの周囲の升目のうち1処理単位時間で自機が升目sに移動可能な升目s′のCb(s′,1)を例示する図。Currently t 0 (= 0) in the square s 0 the apparatus itself is present Cb (s 0, 1) and square s 0 around the ship in one processing unit time of the square is movable in square s 0 squares 'Cb of (s 0' s 0, 1 ) diagram illustrating a.

符号の説明Explanation of symbols

1 シューティングゲームのデモンストレーション用自機行動制御装置
141 自機目標設定部 142 順経路数計算部
143 目標決定部 144 自機行動決定部
145 逆経路数計算部 146 行動決定部
190 制御部 20 記憶部
DESCRIPTION OF SYMBOLS 1 Self-machine action control apparatus 141 for shooting game demonstration Self-machine target setting part 142 Forward route number calculation part 143 Target determination part 144 Self-machine action determination part 145 Reverse route number calculation part 146 Action determination part 190 Control part 20 Storage part

Claims (13)

自機目標設定手段と自機行動決定手段を備えたコンピュータが、画面上に自機と1つあるいは複数の敵機とが表示され、自機および敵機が行動しながら攻撃弾を発射するシューティングゲームのデモンストレーションで自機の行動制御を行うシューティングゲームのデモンストレーション用自機行動制御方法であって、
上記自機目標設定手段が、自機の行動を決定するべき現時点tにおいて、敵機が現時点tより過去の時点で発射した攻撃弾の位置およびその速度、敵機の位置およびその速度、並びに現時点の自機の位置に基づき、画面を格子状に分割した格子の升目であって現時点tで自機が存在する升目sを起点として、現時点tより後の時点nで、敵機と攻撃弾の少なくとも何れかが存在すると予測される各位置に対して自機が一定以内の距離に近づかずに升目に到達しえる経路総数(以下、「順経路総数」という。)を各升目ごとに求め、順経路総数が最大の升目sを目標として設定する自機目標設定ステップと、
上記自機行動決定手段が、敵機が現時点tより過去の時点で発射した攻撃弾の位置およびその速度、敵機の位置およびその速度に基づき、上記自機目標設定ステップにおいて目標とされた升目sを起点として、時点nよりも前の時点t+ΔTで、上記格子の各升目において、敵機と攻撃弾の少なくとも何れかが存在すると予測される各位置に対して自機が一定以内の距離に近づかずに升目に到達しえる経路総数(以下、「逆経路総数」という。)を各升目ごとに求め、上記升目sの逆経路総数および上記升目sの周囲の升目のうち1処理単位時間ΔTで自機が升目sに移動可能な升目s′の各逆経路総数のうち、最大の逆経路総数を有する升目に対して行動することを決定する自機行動決定ステップと
を有することを特徴とするシューティングゲームのデモンストレーション用自機行動制御方法。
A computer equipped with its own target setting means and its own action determining means displays its own aircraft and one or more enemy aircraft on the screen, and fires an attack bullet while the own aircraft and enemy aircraft act A self-behavior control method for demonstrating a shooting game that controls the action of the player in a game demonstration,
At the present time t 0 when the own aircraft target setting means should determine the behavior of the own aircraft, the position and speed of the attacking bullet fired by the enemy aircraft at a time earlier than the current time t 0 , the position and speed of the enemy aircraft, and based on the location of the terminal of the current, the screen starting from the square s 0 to own apparatus currently exists t 0 a square grid that is divided in a grid pattern, at n after the present time t 0, the enemy The total number of routes (hereinafter referred to as “the total number of forward routes”) that can be reached by the aircraft without approaching a distance within a certain distance from each position where at least one of the aircraft and the attack bullet is predicted to exist. obtained for each square, a ship target setting step of forward path total number is set as the target maximum squares s g,
The ship motion deciding means, the position and speed of the attack bomb enemy machine was fired at an earlier point in time from the present time t 0, based on the position and velocity of the enemy machine, it was targeted in the own apparatus target setting step starting from the square s g, at time t 0 + [Delta] t before the time point n, in each square of the grid, its own device for each position where either an enemy aircraft attack bullet least is predicted that there is a constant path total number may reach the squares without approached within a distance of (hereinafter referred to as "reverse path total".) is obtained for each square, around the reverse path total number and the square s 0 of the square s 0 squares Among the total number of reverse paths of the cell s 0 ′ that can move to the cell s 0 in one processing unit time ΔT, the own device action determination is determined to act on the cell having the maximum total number of reverse paths. And having a step Self-action control method for demonstration of shooting games.
自機が存在する升目Sから1処理単位時間ΔTで移動可能な升目は、升目Sに接して升目Sを取り囲む升目の全部または一部であるとし、
上記自機目標設定ステップは、
現時点tより後の時点nで、敵機と攻撃弾の少なくとも何れかが存在すると予測される各位置に対して自機が一定以内の距離に近づかずに升目sに到達しえる順経路総数C(s,n)を、
上記升目sの順経路総数の初期値を1、その他の升目の順経路総数の初期値を0として設定し、現時点tに自機が存在する升目sから現時点より後の或る時点tにおける或る升目sまでの順経路総数C(s,t)を、升目sを取り囲む升目のうち1処理単位時間ΔTで自機が升目sに移動可能な升目s′の時点t−ΔTにおける順経路総数C(s′,t−ΔT)の総和〔但し、s′に関する総和である。〕と升目sの時点t−ΔTにおける順経路総数C(s,t−ΔT)との和で求め、さらに、時点tにおいて升目sが、敵機と攻撃弾の少なくとも何れかが存在すると予測される各位置を含む升目および当該各位置から所定の距離内に位置する升目のいずれかに該当する場合には順経路総数C(s,t)を0に設定するとして、各時点tでの各升目の順経路総数C(s,t)を順次に求めることで時点nでの各升目の順経路総数C(s,n)を求めるものである
ことを特徴とする請求項1に記載のシューティングゲームのデモンストレーション用自機行動制御方法。
It is assumed that the cells that can move from the cell S in which the machine is present in one processing unit time ΔT are all or part of the cell that touches the cell S and surrounds the cell S,
The target setting step above is
At the time point n after the current time t 0, the total number of forward routes in which the aircraft can reach the cell s without approaching a distance within a certain distance for each position where at least one of the enemy aircraft and attacking bullets is expected to exist. C (s, n)
The initial value of the total number of forward routes of the cell s 0 is set as 1, the initial value of the total number of forward routes of the other cells is set as 0, and a certain time after the current time from the cell s 0 where the own device exists at the current time t 0 The total number of forward paths C (s, t) to a certain cell s at t is the time t-ΔT of the cell s ′ in which the own machine can move to the cell s in one processing unit time ΔT among the cells surrounding the cell s. Sum of forward path total number C (s ′, t−ΔT) [however, this is the sum of s ′. ] And the total number of forward paths C (s, t-ΔT) at the time t-ΔT of the grid s, and at the time t, the grid s is predicted to be at least one of an enemy aircraft and an attacking bullet. In this case, the total number of forward paths C (s, t) is set to 0, and each of the cells at each time t The shooting according to claim 1, wherein the total number of forward paths C (s, n) at each time point n is obtained by sequentially obtaining the total number of forward paths C (s, t) of the squares. Self-action control method for game demonstration.
上記自機目標設定ステップにおいて順経路総数C(s,t)が0に設定される、敵機と攻撃弾の少なくとも何れかが存在すると予測される各位置を含む升目および当該各位置から所定の距離内に位置する升目を、
敵機と攻撃弾の少なくとも何れかが存在すると予測される各位置を含む升目の四隅の角またはその中心のいずれか1つの位置から所定の距離内に位置する升目とする
ことを特徴とする請求項2に記載のシューティングゲームのデモンストレーション用自機行動制御方法。
The total number of forward routes C (s, t) is set to 0 in the own aircraft target setting step, and includes a grid including each position where at least one of the enemy aircraft and the attacking bomb is expected to exist, and a predetermined distance from each position. A grid located within a distance
A grid located within a predetermined distance from any one of the four corners of the square including the positions where at least one of the enemy aircraft and the attacking bomb is predicted to exist, or the center of the square. Item 3. A self-machine action control method for demonstration of a shooting game according to Item 2.
自機が存在する升目Sから1処理単位時間ΔTで移動可能な升目は、升目Sに接して升目Sを取り囲む升目の全部または一部であるとし、
上記自機行動決定ステップは、
時点nよりも前の時点t+ΔTで、上記格子の各升目において、敵機と攻撃弾の少なくとも何れかが存在すると予測される各位置に対して自機が一定以内の距離に近づかずに升目sに到達しえる逆経路総数Cb(s,t+ΔT)を、
上記自機目標設定ステップにおいて目標とされた升目sの逆経路総数の初期値を1、その他の升目の逆経路総数の初期値を0として設定し直し、上記自機目標設定ステップにおいて目標とされた升目sから時点nより前の或る時点tにおける或る升目sまでの逆経路総数Cb(s,t)を、升目sを取り囲む升目のうち1処理単位時間ΔTで自機が升目sに移動可能な升目s′の時点t+ΔTにおける逆経路総数Cb(s′,t+ΔT)の総和〔但し、s′に関する総和である。〕と升目sの時点t+ΔTにおける逆経路総数Cb(s,t+ΔT)との和で求め、さらに、時点tにおいて升目sが、敵機と攻撃弾の少なくとも何れかが存在すると予測される各位置を含む升目および当該各位置から所定の距離内に位置する升目のいずれかに該当する場合には逆経路総数Cb(s,t)を0に設定するとして、各時点tでの各升目の逆経路総数Cb(s,t)を順次に求めることで時点t+ΔTでの各升目の逆経路総数Cb(s,t+ΔT)を求めるものである
ことを特徴とする請求項1から請求項3のいずれかに記載のシューティングゲームのデモンストレーション用自機行動制御方法。
It is assumed that the cells that can move from the cell S in which the machine is present in one processing unit time ΔT are all or part of the cell that touches the cell S and surrounds the cell S,
The self-behavior determination step includes
At time t 0 + ΔT prior to time n, at each square of the grid, the own aircraft does not approach a distance within a certain distance with respect to each position where at least one of the enemy aircraft and the attacking bullet is expected to exist. The total number of reverse paths Cb (s, t 0 + ΔT) that can reach the cell s is
Said reset the initial value of the reverse path the total number of squares s g which is targeted in the same apparatus target setting step 1, the initial value of the reverse path the total number of other squares as 0, and the target in the own apparatus target setting step It has been squares s reverse path total from g to a certain square s before a certain time t from the time point n Cb (s, t) and the ship in one processing unit time ΔT of the square surrounding the square s squares Sum of reverse path total number Cb (s ′, t + ΔT) at time point t + ΔT of cell s ′ movable to s [however, it is a sum concerning s ′. ) And the total number of reverse paths Cb (s, t + ΔT) at the time t + ΔT of the grid s, and further, at the time t, the grid s represents each position where at least one of the enemy aircraft and the attack bullet is expected to exist. The reverse path total number Cb (s, t) is set to 0 in the case where it corresponds to any of the included squares and the squares located within a predetermined distance from each position, and the reverse path of each square at each time point t is set to 0. 4. The reverse path total number Cb (s, t + ΔT) of each cell at the time point t + ΔT is obtained by sequentially obtaining the total number Cb (s, t). Self-action control method for demonstration of the described shooting game.
各時点tで、自機が升目sに在る場合に敵機が自機の攻撃ライン上にあるときの升目sの逆経路総数Cb(s,t)を、その他の升目の逆経路総数に比して相対的に増大させる
ことを特徴とする請求項4に記載のシューティングゲームのデモンストレーション用自機行動制御方法。
At each time t, when the own aircraft is in the mesh s, the total number of reverse paths Cb (s, t) of the mesh s when the enemy aircraft is on the attack line of the own aircraft is set as the total number of reverse paths of the other cells. 5. The self-action control method for demonstrating a shooting game according to claim 4, wherein the control is relatively increased.
各時点tで、升目sの画面中央からの距離rを単調減少関数に入力して得られた結果、または、升目sの画面中央からの距離rを単調減少関数に入力して得られた結果を整数値化したものを、升目sの逆経路総数Cb(s,t)に乗じる
ことを特徴とする請求項4に記載のシューティングゲームのデモンストレーション用自機行動制御方法。
The result obtained by inputting the distance r from the screen center of the cell s to the monotonically decreasing function at each time point t, or the result obtained by inputting the distance r from the screen center of the cell s to the monotonically decreasing function. 5. The self-behavior control method for demonstrating a shooting game according to claim 4, wherein the value obtained by converting the value into an integer value is multiplied by the total number of reverse paths Cb (s, t) of the cell s.
各時点tで、自機が升目sに在る場合に敵機が自機の攻撃ライン上にあるときの升目sの逆経路総数Cb(s,t)を、その他の升目の逆経路総数に比して相対的に増大させ、さらに、この相対的に増大させた逆経路総数Cb(s,t)に、升目sの画面中央からの距離rを単調減少関数に入力して得られた結果、または、升目sの画面中央からの距離rを単調減少関数に入力して得られた結果を整数値化したもの、を乗じる
ことを特徴とする請求項4に記載のシューティングゲームのデモンストレーション用自機行動制御方法。
At each time t, when the own aircraft is in the mesh s, the total number of reverse paths Cb (s, t) of the mesh s when the enemy aircraft is on the attack line of the own aircraft is set as the total number of reverse paths of the other cells. As a result, the distance r from the center of the screen s to the monotonously decreasing function is input to the relatively increased total number of reverse paths Cb (s, t). Or an integer value obtained by inputting the distance r from the center of the screen of the grid s to the monotonically decreasing function. Mobile behavior control method.
上記自機行動決定ステップにおいて逆経路総数Cb(s,t)が0に設定される、敵機と攻撃弾の少なくとも何れかが存在すると予測される各位置を含む升目および当該各位置から所定の距離内に位置する升目を、
敵機と攻撃弾の少なくとも何れかが存在すると予測される各位置を含む升目の四隅の角またはその中心のいずれか1つの位置から所定の距離内に位置する升目とする
ことを特徴とする請求項4から請求項7のいずれかに記載のシューティングゲームのデモンストレーション用自機行動制御方法。
The total number of reverse paths Cb (s, t) is set to 0 in the self-behavior action determining step, and a grid including each position where at least one of the enemy aircraft and the attacking bomb is expected to exist and a predetermined distance from each position A grid located within a distance
A grid located within a predetermined distance from any one of the four corners of the square including the positions where at least one of the enemy aircraft and the attacking bomb is predicted to exist, or the center of the square. The self-action control method for demonstration of a shooting game according to any one of claims 4 to 7.
敵機と攻撃弾の少なくとも何れかが存在すると予測される位置を含む升目の四隅の角のうちいずれか1つの位置とする場合に、敵機または攻撃弾の位置を表す基準点から最も近い角を選択する
ことを特徴とする請求項3または請求項8に記載のシューティングゲームのデモンストレーション用自機行動制御方法。
The closest angle from the reference point that represents the position of the enemy aircraft or attack bullet when the position is one of the four corners of the square including the position where at least one of the enemy aircraft and the attack bullet is expected to exist The self-action control method for demonstrating a shooting game according to claim 3 or claim 8, wherein:
升目の短辺が、攻撃弾あるいは敵機の形状の指標となる長さと、自機の形状の指標となる長さとの和である基準長の整数分の1以下となる
ことを特徴とする請求項1から請求項9のいずれかに記載のシューティングゲームのデモンストレーション用自機行動制御方法。
The short side of the square is equal to or less than an integer of a reference length, which is the sum of the length serving as an index of the shape of an attack bullet or enemy aircraft and the length serving as an index of the shape of the own aircraft. The self-action control method for demonstration of a shooting game according to any one of claims 1 to 9.
画面上に自機と1つあるいは複数の敵機とが表示され、自機および敵機が行動しながら攻撃弾を発射するシューティングゲームのデモンストレーションで自機の行動制御を行うシューティングゲームのデモンストレーション用自機行動制御装置であって、
自機の行動を決定するべき現時点tにおいて、敵機が現時点tより過去の時点で発射した攻撃弾の位置およびその速度、敵機の位置およびその速度、並びに現時点の自機の位置に基づき、画面を格子状に分割した格子の升目であって現時点tで自機が存在する升目sを起点として、現時点tより後の時点nで、敵機と攻撃弾の少なくとも何れかが存在すると予測される各位置に対して自機が一定以内の距離に近づかずに升目に到達しえる順経路総数を各升目ごとに求め、順経路総数が最大の升目sを目標として設定する自機目標設定手段と、
敵機が現時点tより過去の時点で発射した攻撃弾の位置およびその速度、敵機の位置およびその速度に基づき、上記自機目標設定手段によって目標とされた升目sを起点として、時点nよりも前の時点t+ΔTで、上記格子の各升目において、敵機と攻撃弾の少なくとも何れかが存在すると予測される各位置に対して自機が一定以内の距離に近づかずに升目に到達しえる逆経路総数を各升目ごとに求め、上記升目sの逆経路総数および上記升目sの周囲の升目のうち1処理単位時間ΔTで自機が升目sに移動可能な升目s′の各逆経路総数のうち、最大の逆経路総数を有する升目に対して行動することを決定する自機行動決定手段と
を備えたことを特徴とするシューティングゲームのデモンストレーション用自機行動制御装置。
The self-machine and one or more enemy aircraft are displayed on the screen, and the self-control of the shooting game that controls the action of the self-machine in the shooting game demonstration that fires attack bullets while the self-machine and enemy aircraft act A behavior control device,
At the current time t 0 when the action of the own aircraft should be determined, the position and speed of the attacking bullet fired by the enemy aircraft at a time earlier than the current time t 0 , the position and speed of the enemy aircraft, and the current position of the own aircraft based, the screen starting from the square s 0 is present own apparatus at the moment t 0 a square grid that is divided in a grid pattern, at n after the present time t 0, at least one of the enemy attack bomb there obtains a forward path total number may reach the squares without approached within a distance of its own device is constant for each position predicted to exist in each square, set forward path total number as the target maximum squares s g Own machine target setting means,
Position and speed of attack bomb enemy machine was fired at an earlier point in time from the present time t 0, based on the position and velocity of the enemy machine, starting from the square s g which is targeted by the ship target setting means, when At time t 0 + ΔT prior to n, at each square of the lattice, the square does not approach the distance within a certain distance from each position where at least one of the enemy aircraft and the attacking bullet is expected to exist. calculated for each square of the inverse path total number may reach the above squares s 0 of the inverse path the total number and the square s 0 squares movable ship in one processing unit time ΔT of the squares of surrounding the square s 0 Self-action behavior for demonstrating a shooting game, comprising self-action determination means for deciding to act on a cell having the maximum total number of reverse paths among the total number of reverse paths of s 0 ′ control apparatus.
画面上に自機と1つあるいは複数の敵機とが表示され、自機および敵機が行動しながら攻撃弾を発射するシューティングゲームのデモンストレーションで自機の行動制御をコンピュータに行わせるシューティングゲームのデモンストレーション用自機行動制御プログラムであって、
自機の行動を決定するべき現時点tにおいて、敵機が現時点tより過去の時点で発射した攻撃弾の位置およびその速度、敵機の位置およびその速度、並びに現時点の自機の位置に基づき、画面を格子状に分割した格子の升目であって現時点tで自機が存在する升目sを起点として、現時点tより後の時点nで、敵機と攻撃弾の少なくとも何れかが存在すると予測される各位置に対して自機が一定以内の距離に近づかずに升目に到達しえる経路総数(以下、「順経路総数」という。)を各升目ごとに求め、順経路総数が最大の升目sを目標として設定する自機目標設定処理と、
機が現時点tより過去の時点で発射した攻撃弾の位置およびその速度、敵機の位置およびその速度に基づき、上記自機目標設定処理において目標とされた升目sを起点として、時点nよりも前の時点t+ΔTで、上記格子の各升目において、敵機と攻撃弾の少なくとも何れかが存在すると予測される各位置に対して自機が一定以内の距離に近づかずに升目に到達しえる経路総数(以下、「逆経路総数」という。)を各升目ごとに求め、上記升目sの逆経路総数および上記升目sの周囲の升目のうち1処理単位時間ΔTで自機が升目sに移動可能な升目s′の各逆経路総数のうち、最大の逆経路総数を有する升目に対して行動することを決定する自機行動決定処理と
をコンピュータに行わせることを特徴とするシューティングゲームのデモンストレーション用自機行動制御プログラム。
A shooter game where a player and one or more enemy aircraft are displayed on the screen, and the computer controls the behavior of the aircraft in a shooting game demonstration where the enemy aircraft and enemy aircraft act while firing. A self-action control program for demonstration,
At the current time t 0 when the action of the own aircraft should be determined, the position and speed of the attacking bullet fired by the enemy aircraft at a time earlier than the current time t 0 , the position and speed of the enemy aircraft, and the current position of the own aircraft based, the screen starting from the square s 0 is present own apparatus at the moment t 0 a square grid that is divided in a grid pattern, at n after the present time t 0, at least one of the enemy attack bomb The total number of routes (hereinafter referred to as “the total number of forward routes”) that can be reached by the aircraft without approaching a distance within a certain distance from each position where the vehicle is predicted to exist is obtained for each square, and the total number of forward routes Own machine target setting process for setting the maximum cell s g as a target,
Enemy machine moment t 0 from the position and velocity of the firing Attack bullets past time, based on the position and velocity of the enemy machine, starting from the square s g which is targeted in the own apparatus target setting process, the time At time t 0 + ΔT prior to n, at each square of the lattice, the square does not approach the distance within a certain distance from each position where at least one of the enemy aircraft and the attacking bullet is expected to exist. path total number may reach (hereinafter, "reverse path total number" hereinafter.) is obtained for each square, the own one processing unit time ΔT of the square around the reverse path total number and the square s 0 of the square s 0 machine is among the reverse path total squares s 0 squares s 0 movable to 'be made to determine that the action against the square having a reverse path total number of up to and ship behavior determining process in a computer Chutey featuring Self-machine action control program for demonstration of the game.
請求項12に記載のプログラムを記録した、コンピュータに読み取り可能な記録媒体。       A computer-readable recording medium on which the program according to claim 12 is recorded.
JP2006202019A 2006-07-25 2006-07-25 Self-action control method for demonstration of shooting game, its device, its program, and its recording medium Active JP4976771B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006202019A JP4976771B2 (en) 2006-07-25 2006-07-25 Self-action control method for demonstration of shooting game, its device, its program, and its recording medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006202019A JP4976771B2 (en) 2006-07-25 2006-07-25 Self-action control method for demonstration of shooting game, its device, its program, and its recording medium

Publications (2)

Publication Number Publication Date
JP2008023243A JP2008023243A (en) 2008-02-07
JP4976771B2 true JP4976771B2 (en) 2012-07-18

Family

ID=39114482

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006202019A Active JP4976771B2 (en) 2006-07-25 2006-07-25 Self-action control method for demonstration of shooting game, its device, its program, and its recording medium

Country Status (1)

Country Link
JP (1) JP4976771B2 (en)

Also Published As

Publication number Publication date
JP2008023243A (en) 2008-02-07

Similar Documents

Publication Publication Date Title
US8337284B2 (en) Game apparatus and storage medium having game program stored therein
JP5019897B2 (en) GAME PROGRAM AND GAME DEVICE
US20160023102A1 (en) Game providing device
US7775867B2 (en) Storage medium storing a game program, game apparatus, and game control method
KR102539606B1 (en) Method and device for controlling movement of virtual object, terminal and storage medium
JP2000308759A (en) Control method for video game characters, video game device, and storage medium
WO2006001629A1 (en) Image resource loading system and method which carries out loading of object for removal of game screen
US8271228B2 (en) Trace information processing device, trace information processing method, information recording medium, and program
EP2626853A2 (en) Scrolling screen apparatus, method for scrolling screen, and game apparatus
JP2017099744A (en) Program and image generation system
JP3747050B1 (en) Program, information storage medium, and image generation system
JP2009268528A (en) Game device and method for controlling migration of character
WO2023138192A1 (en) Method for controlling virtual object to pick up virtual prop, and terminal and storage medium
CN112774201A (en) Virtual character masking method and device, computer equipment and storage medium
JP4976771B2 (en) Self-action control method for demonstration of shooting game, its device, its program, and its recording medium
US20230082510A1 (en) Controlling a virtual vehicle using auxiliary control function
JP4804240B2 (en) Enemy aircraft attack control method of shooting game, apparatus thereof, program thereof, and recording medium thereof
CN110639202A (en) Display control method and device in card game
JP2019121237A (en) Program, image processing method and image processing device
JP7170397B2 (en) Program, image processing method, and image processing apparatus
JP4508776B2 (en) Image processing program and image processing apparatus
JP4472467B2 (en) Image processing program and image processing apparatus
JP4996275B2 (en) Difficulty determination method, device, program
Debenham New algorithms for computing field of vision over 2D grids
JP2007313104A (en) Shooting game processing method, device, program and recording medium thereof

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 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110623

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110802

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20110818

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110905

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

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

R150 Certificate of patent or registration of utility model

Ref document number: 4976771

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20150420

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