図面 (/)

技術 シューティングゲーム処理方法、その装置、そのプログラム及びその記録媒体

出願人 日本電信電話株式会社
発明者 川野洋
出願日 2006年6月21日 (14年5ヶ月経過) 出願番号 2006-171740
公開日 2008年1月10日 (12年10ヶ月経過) 公開番号 2008-000280
状態 特許登録済
技術分野 電子ゲーム機
主要キーワード 数学ライブラリ 移動方向θ 非線形計画法 行動パラメータ 決定過程 角度計 最小値選択 近似解
関連する未来課題
重要な関連分野

この項目の情報は公開日時点(2008年1月10日)のものです。
また、この項目は機械的に抽出しているため、正しく解析できていない場合があります

図面 (8)

課題

シューティングゲームにおいて、難易度を一定に保つための敵機の動作の決定方法を提供する。

解決手段

画面上に自機と敵機を表示し、自機を操作して、一定の速さvで移動する攻撃弾を発射してくる敵機と闘うシューティングゲーム処理方法において、敵機の移動方向と敵機の速さと攻撃弾発射間隔時間Tを行動パラメータとし、行動パラメータ決定手段(30)が、目標位置aに向けて発射された攻撃弾Aが目標位置aに到着した時点での、攻撃弾Aと、目標位置bに向けて攻撃弾Aの発射から攻撃弾発射間隔時間T後に発射された攻撃弾Bとの距離が一定の値になるように、上記3つの行動パラメータのうち予め定められた2つの行動パラメータに従って行動移動する敵機の、残りの1つの行動パラメータの値を決定する。

概要

背景

シューティングゲームにおいて、ゲームの難易度を調整する方法としては、ゲーム画面中に存在している攻撃弾の数を調整するという方法があった。すなわち、ゲームの難易度を高くしたい場合には、敵機が発射する攻撃弾の数を多くし、ゲームの難易度を低くしたい場合には、敵機が発射する攻撃弾の数を少なくするという方法があった。
また、特許文献1に示すように、画面中の攻撃弾数、および、攻撃弾と自機との距離に応じて攻撃弾の速度を変えることによってゲームの難易度を調整する方法があった。
特許第3496149号

概要

シューティングゲームにおいて、難易度を一定に保つための敵機の動作の決定方法を提供する。画面上に自機と敵機を表示し、自機を操作して、一定の速さvで移動する攻撃弾を発射してくる敵機と闘うシューティングゲーム処理方法において、敵機の移動方向と敵機の速さと攻撃弾発射間隔時間Tを行動パラメータとし、行動パラメータ決定手段(30)が、目標位置aに向けて発射された攻撃弾Aが目標位置aに到着した時点での、攻撃弾Aと、目標位置bに向けて攻撃弾Aの発射から攻撃弾発射間隔時間T後に発射された攻撃弾Bとの距離が一定の値になるように、上記3つの行動パラメータのうち予め定められた2つの行動パラメータに従って行動移動する敵機の、残りの1つの行動パラメータの値を決定する。

目的

効果

実績

技術文献被引用数
1件
牽制数
0件

この技術が所属する分野

ライセンス契約や譲渡などの可能性がある特許掲載中! 開放特許随時追加・更新中 詳しくはこちら

請求項1

画面上に自機と敵機を表示し、自機を操作して、一定の速さvで移動する攻撃弾を発射してくる敵機と闘うシューティングゲーム処理方法において、敵機の移動方向と敵機の速さと攻撃弾発射間隔時間Tを行動パラメータとし、行動パラメータ決定手段が、目標位置aに向けて発射された攻撃弾Aが目標位置aに到着した時点での、攻撃弾Aと、目標位置bに向けて攻撃弾Aの発射から攻撃弾発射間隔時間T後に発射された攻撃弾Bとの距離が一定の値になるように、上記3つの行動パラメータのうち予め定められた2つの行動パラメータに従って行動する敵機の、残りの1つの行動パラメータの値を決定する行動パラメータ決定過程、を有することを特徴とするシューティングゲーム処理方法。

請求項2

請求項1に記載のシューティングゲーム処理方法において、目標位置aと目標位置bは、敵機が攻撃弾Aを発射する時点における自機の位置である、ことを特徴とするシューティングゲーム処理方法。

請求項3

請求項2に記載のシューティングゲーム処理方法において、上記行動パラメータ決定過程は、攻撃弾Bが発射された時点での自機と敵機の距離と、上記攻撃弾の速さvに攻撃弾発射間隔時間Tを乗算した値とを加算し、その加算結果から攻撃弾Aが発射された時点での自機と敵機の距離を減算することにより求めた距離が一定の値になるように、上記残りの1つの行動パラメータを決定する過程である、ことを特徴とするシューティングゲーム処理方法。

請求項4

請求項1に記載のシューティングゲーム処理方法において、上記行動パラメータ決定過程は、攻撃弾距離計算手段が、サンプル値保存手段から読み出した上記の残りの1つの行動パラメータの各サンプル値をもとにして、目標位置aに向けて発射された攻撃弾Aが目標位置aに到着した時点での、攻撃弾Aと、目標位置bに向けて攻撃弾Aの発射から攻撃弾発射間隔時間T後に発射された攻撃弾Bとの距離を求める攻撃弾距離計算過程と、決定手段が、上記各サンプル毎に求まった距離のうち、上記一定値に最も近い値を与える上記残りの1つの行動パラメータを決定する決定過程と、から成る、ことを特徴とするシューティングゲーム処理方法。

請求項5

請求項4に記載のシューティングゲーム処理方法において、目標位置aと目標位置bは、敵機が攻撃弾Aを発射する時点における自機の位置であり、上記攻撃弾距離計算過程は、攻撃弾Bが発射された時点での自機と敵機の距離と、上記攻撃弾の速さvに攻撃弾発射間隔時間Tを乗算した値とを加算し、その加算結果から攻撃弾Aが発射された時点での自機と敵機の距離を減算して攻撃弾の距離を計算する過程である、ことを特徴とするシューティングゲーム処理方法。

請求項6

請求項1又は4に記載のシューティングゲーム処理方法において、目標位置aは、敵機が攻撃弾Aを発射する時点における自機の位置であり、目標位置bは、自機が、敵機が攻撃弾Aを発射する時点における自機の速度で、攻撃弾発射間隔時間Tだけ移動した位置である、ことを特徴とするシューティングゲーム処理方法。

請求項7

請求項1又は4に記載のシューティングゲーム処理方法において、目標位置aと目標位置bの少なくとも一方は、敵機が攻撃弾を発射する時点における自機の位置に、あるランダム変位を与えた位置である、ことを特徴とするシューティングゲーム処理方法。

請求項8

画面上に自機と敵機を表示し、自機を操作して、一定の速さvで移動する攻撃弾を発射してくる敵機と闘うシューティングゲーム処理装置において、敵機の移動方向と敵機の速さと攻撃弾発射間隔時間Tを行動パラメータとし、目標位置aに向けて発射された攻撃弾Aが目標位置aに到着した時点での、攻撃弾Aと、目標位置bに向けて攻撃弾Aの発射から攻撃弾発射間隔時間T後に発射された攻撃弾Bとの距離が一定の値になるように、上記3つの行動パラメータのうち予め定められた2つの行動パラメータに従って行動する敵機の、残りの1つの行動パラメータの値を決定する行動パラメータ決定手段、を有することを特徴とするシューティングゲーム処理装置。

請求項9

請求項1〜7の何れかに記載のシューティングゲーム処理方法の各過程をコンピュータに実行させるためのシューティングゲーム処理プログラム

請求項10

請求項9記載のシューティングゲーム処理プログラムを記録したコンピュータ読み取り可能な記録媒体

技術分野

0001

本発明は、画面上に自機と敵機を表示し、自機を操作して、一定の速さvで移動する攻撃弾を発射してくる敵機と闘うシューティングゲーム処理方法、その装置、そのプログラム及びその記録媒体に関する。

背景技術

0002

シューティングゲームにおいて、ゲームの難易度を調整する方法としては、ゲーム画面中に存在している攻撃弾の数を調整するという方法があった。すなわち、ゲームの難易度を高くしたい場合には、敵機が発射する攻撃弾の数を多くし、ゲームの難易度を低くしたい場合には、敵機が発射する攻撃弾の数を少なくするという方法があった。
また、特許文献1に示すように、画面中の攻撃弾数、および、攻撃弾と自機との距離に応じて攻撃弾の速度を変えることによってゲームの難易度を調整する方法があった。
特許第3496149号

発明が解決しようとする課題

0003

しかし、ゲーム画面中に存在している攻撃弾の数を調整するだけでは、ゲームの難易度の調整としては不完全である。例えば、敵機が発射する攻撃弾の数を多くしても、ゲームの難易度が高くならない場合がある。自機に対してダメージを与えうる攻撃弾は、自機付近にあるものに限られており、自機位置から離れた位置を攻撃目標位置として敵機が発射した攻撃弾は、自機への攻撃という観点では効果を奏しないためである。
また、ゲームの難易度を高くするために、敵機が発射する攻撃弾の数を単に多くしても、プレイヤーの目には、その攻撃の知能的な意図を読み取りづらく、単に攻撃弾をばら撒いただけのつまらない攻撃に映りやすいという問題があった。
さらに、特許文献1に示されたゲームの難易度の調整方法は、敵機の攻撃弾と自機の距離を考慮しているが、実際に自機に対して脅威となり得る、自機の周辺に存在する、複数の攻撃弾の間の関係を考慮していないという問題があった。

課題を解決するための手段

0004

本発明によれば、画面上に自機と敵機を表示し、自機を操作して、一定の速さvで移動する攻撃弾を発射してくる敵機と闘うシューティングゲーム処理方法において、敵機の移動方向と敵機の速さと攻撃弾発射間隔時間Tを行動パラメータとし、行動パラメータ決定手段が、目標位置aに向けて発射された攻撃弾Aが目標位置aに到着した時点での、攻撃弾Aと、目標位置bに向けて攻撃弾Aの発射から攻撃弾発射間隔時間T後に発射された攻撃弾Bとの距離が一定の値になるように、上記3つの行動パラメータのうち予め定められた2つの行動パラメータに従って行動する敵機の、残りの1つの行動パラメータの値を決定する。

発明の効果

0005

上記の方法により、実際に自機に対して脅威の対象となり得る、自機の周辺に存在する攻撃弾の間隔を一定値に保つことができる。
また、自機への攻撃において効果を発揮しない攻撃弾の数を最小限にすることが可能になり、これまで以上にゲーム性増したシューティングゲームを実現することができる。

発明を実施するための最良の形態

0006

理論的背景
<シューティングゲームの説明>
図5に、本発明の処理の対象となるシューティングゲームを例示する。画面上には、自機1と自機1の攻撃弾3、敵機2と敵機2の攻撃弾4が表示される。攻撃弾3、敵機2、攻撃弾4は、複数存在していても良い。自機1、敵機2、攻撃弾3、攻撃弾4は、X軸とY軸で構成される2次元の平面上に位置するものとする。
ユーザは、自機1を操作して、敵機2と闘う。ユーザは、一回の操作で、W種類の移動速度(方向と速さ)で、行動単位時間T’だけ自機を移動させることができる。自機1が取り得るW種類の移動速度(Vsx(w),Vsy(w))は予め決められており、それぞれの移動速度(Vsx(w),Vsy(w))には、移動速度番号w(w=1,…,W)が付けられているものとする。以下では、移動速度番号wを選択する行動のことを行動(w)という。また、ユーザは、W種類の速度による移動と同時に、敵機2を攻撃するための攻撃弾3を発射する操作をすることができる。

0007

敵機2は、移動方向(cosθ,sinθ)、速さVで移動することができる。また、敵機2は、攻撃弾発射間隔時間Tごとに、ある攻撃目標位置に向けて攻撃弾4を発射することができる。敵機2が発射した攻撃弾4は、攻撃目標位置に向けて速さvで移動するものとする。
自機1が、敵機2及び敵機2が発射する攻撃弾4と衝突した場合には、自機1は破壊され、そこでゲームオーバーとなる。逆に、自機1の攻撃弾3が敵機2に衝突した場合には、敵機2は破壊される。自機1の攻撃弾3によりすべての敵機2を破壊した場合には、ユーザは、そのゲームに勝利することになる。

0008

以下では、自機の位置を(Xs,Ys)、敵機の位置を(Xe,Ye)とする。
このようなシューティングゲームにおいて、敵機の攻撃弾が実際に自機に与える脅威の大きさは、自機の位置の周辺に存在する攻撃弾の間隔によって直接的に左右される。すなわち、自機の位置の周辺に存在する攻撃弾の間隔が短い場合には、敵機の攻撃弾が自機に実際に与える脅威は大きくなる。上記間隔が短い場合には、自機が攻撃弾を回避するのが難しくなるためである。逆に、自機の位置の周辺に存在する攻撃弾の間隔が長い場合には、敵機の攻撃弾が自機に実際に与える脅威は小さくなる。上記間隔が長い場合には、自機が攻撃弾を回避するのが簡単になるためである。

0009

本発明では、自機の位置の周辺に存在する攻撃弾の間隔を、最初に発射された攻撃弾Aが攻撃目標位置aに到達した時点での、当該最初に発射された攻撃弾Aと、当該攻撃弾Aの発射から攻撃弾発射間隔時間T後に発射された攻撃弾Bとの距離sと定義する。
例えば、図6に示すように、敵機が上記攻撃弾Aを発射した時刻をt=0とし、敵機が上記攻撃弾Bを発射した時刻をt=Tとし、攻撃弾Aの攻撃目標位置をaとし、攻撃弾Bの攻撃目標位置をbとし、攻撃目標位置aと攻撃目標位置bが、ともに時刻t=0における自機の現在位置とすると、上記t=Tにおける攻撃弾Aと攻撃弾Bの距離sは、
s=rb−((ra/v)−T)v
s=rb−ra+vT …(1)
表現することができる。ここで、raは、時刻t=0における敵機と自機の距離であり、rbは、時刻t=Tにおける敵機と自機の距離であり、vは攻撃弾Aと攻撃弾Bの速さであり、Tは攻撃弾発射間隔時間である。

0010

一般に、攻撃目標位置から遠ざかるように移動する敵機が一定の攻撃弾発射間隔時間T毎に発射した攻撃弾と、攻撃目標位置に近づくように移動する敵機が一定の攻撃弾発射間隔時間T毎に発射した攻撃弾とでは、攻撃弾目標位置近辺に攻撃弾が到達した際の攻撃弾間の距離が大きく異なる。すなわち、攻撃目標位置から遠ざかるように移動する敵機が一定の攻撃弾発射間隔時間T毎に発射した攻撃弾の間の距離は、攻撃目標位置に近づくように移動する敵機が一定の攻撃弾発射間隔時間T毎に発射した攻撃弾の間の距離よりも、長くなる。

0011

そこで、本発明の一形態では、例えば上記のように表現することができる距離sが、所定の値scになるようにする。具体的には、敵機の移動方向(cosθ,sinθ)と攻撃弾発射間隔時間Tが決まっている場合には、これらの値を基にして、上記距離sが所定の値scになるように、敵機の速さVを決定する。また、敵機の速さVと攻撃弾発射間隔時間Tが決まっている場合には、これらの値を基にして、上記距離sが所定の値scになるように、敵機の移動方向(cosθ,sinθ)を決定する。また、敵機の速さVと移動方向(cosθ,sinθ)が決まっている場合には、これらの値を基にして、上記距離sが所定の値scになるように、攻撃弾発射間隔時間Tを決定する。

0012

すなわち、本発明では、敵機の速さVと敵機の移動方向(cosθ,sinθ)と攻撃弾発射間隔時間Tを、敵機の行動パラメータと呼ぶと、敵機が、上記行動パラメータのうち予め定められた2つの行動パラメータに従って行動する場合の上記距離sが、所定の値scになるように、残りの1つの行動パラメータを決定する。

0013

所定の値scとしては、例えば、sc=0とすることができる。また、自機の形状に内接する円の直径が30ドットの場合には、sc=30〜60として設定することができる。
なお、rbとraは、



であるため、上記式(1)は、



と表現することができる。
敵機の移動方向(cosθ,sinθ)と攻撃弾発射間隔時間Tが決まっており、これらの値を基にして、上記距離sが所定の値scになるように、敵機の速さVを決定する場合を例に挙げて、上記式(2)で求められるsを一定の値scにする敵機の速さVを求める方法を以下に説明する。

0014

例えば、敵機の速さとして可能な値が0からV0の範囲であった場合、0からV0まで、少しずつ変化させたサンプル値Vi(i=1〜I)を多数用意する。これらのサンプル値Viを、上記式(2)の右辺代入する。代入した結果得られるサンプルVi毎に求まった距離siの中で、最もscに近い値を与えるViを解として採用する。この手法の利点は、敵機と自機の位置関係によっては、目標とする攻撃弾の間隔scを実現できない場合もあるが、そのような場合であっても最も近いsの値を実現することができる点にある。

0015

また、いわゆるニュートン法によって、上記式(2)の近似解を求めてもよい(例えば、矢部博、八巻直一共著『非線形計画法応用数学ライブラリ書店、参照。)。ニュートン法は周知技術であるため、説明を省略する。
さらに、上記式(2)を、敵機の速さVについて解析的に解き、その解析的に解いた式に、敵機の移動方向(cosθ,sinθ)と攻撃弾発射間隔時間Tと一定値scを代入することにより、敵機の速さVを求めても良い。

0016

敵機の速さVと攻撃弾発射間隔時間Tが決まっており、これらの値を基にして、上記距離sが所定の値scになるように、敵機の移動方向(cosθ,sinθ)を決定する場合、及び、敵機の速さVと移動方向(cosθ,sinθ)が決まっており、これらの値を基にして、上記距離sが所定の値scになるように、攻撃弾発射間隔時間Tを決定する場合にも、上述した方法を利用することができる。
以下、本発明を実施するための実施例1〜実施例4について説明する。

0017

装置構成
図1を参照して、本発明の第1実施形態によるシューティングゲーム処理方法を実施するためのシューティングゲーム処理装置1001を説明する。図1は、シューティングゲーム処理装置1001の機能構成例を示す図である。
シューティングゲーム処理装置1001は、例えば、行動パラメータ決定部10、位置取得部91、攻撃弾距離設定部92、攻撃弾発射間隔時間設定部93、敵機移動方向決定部95、敵機速さ決定部96から構成される。

0018

行動パラメータ決定部10は、例えば、攻撃弾距離計算部11、サンプル値保存部12、記憶部13、決定部14から構成される。
攻撃弾距離計算部11は、例えば、距離計算部110、加算部111、乗算部112、減算部113から構成される。
決定部14は、例えば、記憶部140、減算部141、二乗部142、最小値選択部143から構成される。

0019

<敵機の速さの求め方>
敵機移動方向決定部95が、敵機の移動方向(cosθ,sinθ)を予め定めて、記憶部13に格納する。本発明は、例えば、予め定められた敵機の移動方向(cosθ,sinθ)を基にして、敵機の速さを決定するものなので、敵機の移動方向(cosθ,sinθ)の定め方は問わない。
攻撃弾発射間隔時間設定部93は、攻撃弾発射間隔時間Tを予め設定して、記憶部13に格納する。例えば、攻撃弾発射間隔時間Tを、0.6秒〜2秒に設定することができる。攻撃弾発射間隔時間Tは、ユーザが求める長さに応じて任意に設定することができる。

0020

攻撃弾距離設定部92は、ユーザが求める攻撃弾の距離の一定値scを予め定めて、記憶部13に格納する。例えば、sc=0として設定することができる。また、ゲームのプレイヤーが、レバー操作等の入力により、scを任意の値に設定できるようにしても良い。
位置取得部91が現時刻(t=0)における自機の位置(Xs,Ys)と敵機の位置(Xe,Ye)を取得し、記憶部13に格納する。
また、サンプル値保存部12には、敵機の速さのサンプル値V1,…,Vi,…,VIが格納されているものとする。サンプル値V1,…,Vi,…,VIは、敵機の速さの候補値である。

0021

攻撃弾距離計算部11は、サンプル値保存部12から読み出した敵機の速さの各サンプル値Viごとに上記式(2)に基づいて距離siを計算する。具体的には、攻撃弾距離計算部11の距離計算部110が、サンプル値保存部12から読み出した敵機の速さのサンプル値Viと、記憶部13から読み出したXe,Ye,cosθ,sinθ,v,Tを用いて、



をそれぞれ計算する。また、攻撃弾距離計算部11の乗算部112は、記憶部13から読み出したv,Tを用いてvTを計算する。攻撃弾距離計算部11の加算部111は、距離計算部110が求めたrbに、乗算部112が求めたvtを加算する。攻撃弾距離計算部11の減算部113は、加算部111が計算した加算結果から、距離計算部110が求めたraを減算して、距離siを求める。このようにして、各サンプル値Vi毎に求まった距離siは、決定部14の記憶部140に格納される。

0022

決定部14の減算部141は、距離siからscを減算して、その計算結果を決定部14の二乗部142に出力する。二乗部142は、si−scの二乗を計算して、その計算結果(si−sc)2を記憶部140に格納する。決定部14の最小値選択部143は、記憶部140から読み出した(si−sc)2の内から最小となるものを決定し、その最小値を与えるViを敵機の速さVとして出力する。
上記最小値を与えるViは、所定の敵機の移動方向θと所定の攻撃弾発射間隔時間Tにおいて、最も距離scに近い距離siを与えるものである。
シューティングゲーム処理装置1001は、このようにして、敵機の速さVを決定する。

0023

<敵機の移動方向の求め方>
敵機の移動方向(cosθ,sinθ)ではなく、敵機の速さVが敵機速さ決定部96により予め定められて、記憶部13に格納されているものとする。
また、サンプル値保存部12には、敵機の移動方向(cosθ,sinθ)を表わす角度の各サンプル値θ1,…,θj,…,θJが格納されているものとする。サンプル値θ1,…,θj,…,θJは、敵機の移動方向(cosθ,sinθ)を表わす角度の候補値である。

0024

また、敵機の速さの求め方で説明した方法と同様の方法で、攻撃弾発射間隔時間T、攻撃弾の距離の一定値sc、自機の位置(Xs,Ys)、敵機の位置(Xe,Ye)が、記憶部13に格納されているものとする。
攻撃弾距離計算部11は、サンプル値保存部12から読み出した敵機の移動方向の角度の各サンプル値θjごとに上記式(2)に基づいて距離sjを計算する。攻撃弾距離計算部11の計算過程は、上述した敵機の速さのサンプル値Viから距離siを求めた計算過程と同じである。各サンプル値θj毎に求まったsjは、決定部14の記憶部140に格納される。
決定部14は、敵機の速さの求め方で説明した方法と同様の方法で、各サンプル値θj毎に求まったsjの中で、最もscに近い値を与えるθjを求める。

0025

<攻撃弾発射間隔時間Tの求め方>
敵機移動方向決定部95により予め定められた敵機の移動方向(cosθ,sinθ)と、敵機速さ決定部96により予め定められた敵機の速さVが、記憶部13に格納されているものとする。
記憶部13には、攻撃弾発射間隔時間Tが格納されていないものとする。
また、サンプル値保存部12には、攻撃弾発射間隔時間Tの各サンプル値T1,…,Tk,…,TKが格納されているものとする。サンプル値T1,…,Tk,…,TKは、攻撃弾発射間隔時間Tの候補値である。

0026

また、敵機の速さの求め方で説明した方法と同様の方法で、攻撃弾発射間隔時間T、攻撃弾の距離の一定値sc、自機の位置(Xs,Ys)、敵機の位置(Xe,Ye)が、記憶部13に格納されているものとする。
攻撃弾距離計算部11は、敵機の速さの求め方で説明した方法と同様の方法で、サンプル値保存部12から読み出した攻撃弾発射間隔時間Tの各サンプル値T1,…,Tk,…,TKごとに上記式(2)に基づいて距離skを計算する。計算されたskは、決定部14の記憶部140に格納される。

0027

決定部14は、敵機の速さの求め方で説明した説明した方法と同様の方法で、各サンプル値Tk毎に求まったskの中で、最もscに近い値を与えるTkを求める。
このようにして、行動パラメータ決定部10は、敵機の速さV、敵機の移動方向(cosθ,sinθ)、攻撃弾発射間隔時間Tのうち何れか2つが決まっている状態において、攻撃弾の距離sが一定値scになるように、残りの1つのパラメータの値を決定する。

0028

実施例2で説明するシューティングゲーム処理装置1002は、攻撃弾距離計算部11ではなく、攻撃弾距離計算部21を備える点で、実施例1で説明したシューティングゲーム処理装置1001と異なる。
攻撃弾距離計算部21は、例えば、角度計算部210、第二座標変換部211、第一座標変換部212、間隔計算部213から構成される。
実施例2においては、図6点線で示すように、t=0における自機の位置(Xs,Ys)を原点とし、該自機の位置(Xs,Ys)とt=0における敵機の位置(Xe,Ye)を結ぶ直線がY軸となるように座標を取る。そうすると、XsとYsとXeは0になるため、上記式(2)は、



簡潔に表現することができる。

0029

上記式(4)におけるcos’θ,sin’θは、元の座標系と新しい座標系の角度の差をθaとすると、



であり、Ye’は、



である。ここで、θaは、



と計算することができる。

0030

図2に示す攻撃弾距離計算部21が、攻撃弾距離計算部11に代わって、上記式(4)〜式(7)を基にして、各サンプル値毎の距離sを計算する。例えば、敵機の移動方向(cosθ,sinθ)と、攻撃弾発射間隔時間Tが予め設定されている場合において、距離sが一定値scになるように、敵機の速さVを決定するときには、攻撃弾距離計算部21の角度計算部210が、記憶部13から読み出した自機の位置(Xs,Ys)と敵機の位置(Xe,Ye)から、上記式(7)に基づいて、θaを計算する。また、第一座標変換部212が、記憶部13から読み出した自機の位置(Xs,Ys)と敵機の位置(Xe,Ye)から、上記式(6)に基づいて、Ye’を計算する。また、第二座標変換部211が、角度計算部210が計算したθaと上記式(5)に基づいて、座標変換した後の敵機の移動方向(cos’θ,sin’θ)を計算する。間隔計算部213が、座標変換した後の敵機の移動方向(cos’θ,sin’θ)と、Ye’と、サンプル値保存部12から読み出したViと、記憶部13から読み出したTとvから、上記式(4)に基づいて距離siを求める。このようにして、各サンプルVi毎に求まったsiは、決定部14の記憶部140に格納される。

0031

他の処理については、実施例1のシューティングゲーム処理装置1001と同じであるため説明を省略する。
なお、上記式(4)は、例えば、敵機の速さVについて、



のように解析的に解くことができる。

0032

このため、図2で示す行動パラメータ決定部20が、第一座標変換部212が求めたYe’と、第二座標変換部211が求めたcos’θ,sin’θと、記億部13から読み出したv,T,scを用いて、上記式(7’)に基づいて、敵機の速さVを求めても良い。
なお、敵機の速さVと、攻撃弾発射間隔時間Tが予め設定されている場合において、距離sが一定値scになるように、敵機の移動方向(cosθ,sinθ)を決定するとき、及び、敵機の速さVと、敵機の移動方向(cosθ,sinθ)が予め設定されている場合において、距離sが一定値scになるように、攻撃弾発射間隔時間Tを決定するときにおいても、上記と同様にして距離sを求める。

0033

実施例3で説明するシューティングゲーム処理装置1003は、攻撃弾距離計算部11の代わりに攻撃弾距離計算部31を備える点、自機移動速度取得部97を備える点で、実施例1で説明したシューティングゲーム処理装置1001と異なる。
攻撃弾距離計算部31は、例えば、距離計算部310、位置計算部311、間隔計算部312から構成される。
上記の実施例1と実施例2は、攻撃目標位置aと攻撃目標位置bが共に、t=0における自機の位置であった。しかし、攻撃目標位置aと攻撃目標位置bが異なる場合であっても、距離sが一定値scになるように、敵機の行動パラメータを設定することができる。

0034

例えば、攻撃弾目標位置aをt=0における自機の位置とし、攻撃目標位置bを自機が現在時刻t=0における自機の速度(Vsx,Ysy)を攻撃弾発射間隔時間Tだけ維持すると仮定したときの時刻t=Tにおける自機の位置とする。このとき、t=Tにおける自機の位置は(Xs+VsxT,Ys+VsyT)であり、t=Tにおける敵機の位置は(Xe+VTcosθ,Ye+VTsinθ)であるため、時刻t=Tにおける自機と敵機の距離rbは、



と表現することができる。また、時刻t=0における敵機と自機の位置の距離raは、



である。

0035

このとき、時刻t=0で発射された攻撃弾Aが時刻t=0における自機の位置(Xs,Ys)に到着したときの攻撃弾Bの位置(Xb,Yb)は、



である。上記式(9)で示されたXbとYbを用いると、距離sは、



と表現することができる。

0036

図3に示した攻撃弾距離計算部31は、上記式(8)〜式(10)を用いて、各サンプル毎の距離sを計算する。例えば、敵機の移動方向(cosθ,sinθ)と攻撃弾発射弾間隔時間Tを所与として、攻撃弾の間の距離sが一定値scになるように、敵機の速さVを決める場合には、攻撃弾距離計算部31の距離計算部310が、記憶部13から読み出したXs,Ys,Xe,Ye,θ,T,Vsx,Vsyと、サンプル値保存部12から読み出したViとを用いて、上記式(8)と式(8’)に基づいて、raとrbを計算する。なお、VsxとVsyは、自機移動速度取得部97により時刻t=0における自機の現在速度が予め取得されて、記憶部13に格納されているものである。位置計算部311は、上記のようにして計算されたraとrbを用いて、上記式(9)に基づいて、時刻t=0で発射された攻撃弾Aが攻撃目標位置aに到着したときの攻撃弾Bの位置(Xb,Yb)を計算する。間隔計算部312は、上記のようにして計算されたXbとYbを用いて、上記式(10)より、距離sを計算する。サンプル値Vi毎に求まった距離sは、決定部14の記憶部140に保存される。
他の処理は、実施例1で説明したシューティングゲーム処理装置1001と同じであるため、説明を省略する。

0037

実施例4で説明するシューティングゲーム処理装置1004は、攻撃弾距離計算部11の代わりに、攻撃弾距離計算部41を備える点、自機移動速度取得部97を備える点で、実施例1で説明したシューティングゲーム処理装置1001と異なる。
攻撃弾距離計算部41は、例えば、距離計算部410、位置計算部411、間隔計算部412、乱数発生部413から構成される。
攻撃弾Aの攻撃目標位置aと、攻撃弾Bの攻撃目標位置bを、自機の現在位置(Xs,Ys)に、あるランダム変位を与えた位置に設定することができる。

0038

攻撃弾距離計算部41の乱数発生部413が、攻撃目標位置aと攻撃目標位置bについてのX軸方向の変位量とY軸方向の変位量のランダムな値(rndax,rnday),(rndbx,rndby)を生成する。このとき、攻撃目標位置aは(Xs+rndax,Ys+rnday)となる。また、自機が現在時刻t=0における自機の速度(Vsx,Ysy)を攻撃弾発射間隔時間Tだけ維持すると仮定したとすると、攻撃目標位置bは(Xs+VsxT+rndbx,Ys+VsyT+rndby)となる。

0039

具体的には、自機の形状に内接する円の直径をMとすると、X軸方向の変位量,Y軸方向の変位量の幅を、−3M〜3M程度にすると良い。例えば、自機の形状の大きさが30ドットの場合には、X軸方向の変位量,Y軸方向の変位量としては、それぞれ、−50〜50ドットの値をランダムに取ることができるようにすると良い。

0040

このように、自機の位置にあるランダムな変位を与えた位置を攻撃目標位置とした場合には、時刻t=0における敵機の位置と攻撃目標位置aの距離raとし、時刻t=Tにおける敵機の位置と攻撃目標位置bの距離をrbとすると、



と表現することができる。このとき、時刻t=0で発射された攻撃弾Aが時刻t=0における自機の位置(Xs,Ys)に到着したときの攻撃弾Bの位置(Xb,Yb)は、



である。上記式(12)で示されたXbとYbを用いると、距離sは、



と表現することができる。

0041

図4に示した攻撃弾距離計算部41は、上記式(11)〜式(13)を用いて、各サンプル毎の距離sを計算する。例えば、敵機の移動方向(cosθ,sinθ)と攻撃弾発射弾間隔時間Tを所与として、攻撃弾の間の距離sが一定値scになるように、敵機の速さVを決める場合には、攻撃弾距離計算部41の距離計算部410が、記憶部13から読み出したXs,Ys,Xe,Ye,θ,T,Vsx,Vsyと、サンプル値保存部12から読み出したViと、乱数発生部413が発生したrndax,rnday,rndbx,rndbyを用いて、上記式(11)に基づいて、raとrbを計算する。なお、VsxとVsyは、自機移動速度取得部97により時刻t=0における自機の現在速度が予め取得されて、記憶部13に格納されているものである。位置計算部411は、上記のようにして計算されたraとrbを用いて、上記式(12)に基づいて、時刻t=0で発射された攻撃弾Aが攻撃目標位置aに到着したときの攻撃弾Bの位置(Xb,Yb)を計算する。間隔計算部は、上記のようにして計算されたXbとYbを用いて、上記式(13)より、距離sを計算する。サンプル値Vi毎に求まった距離sは、決定部14の記憶部140に保存される。

0042

他の処理は、実施例1で説明したシューティングゲーム処理装置1001と同じであるため、説明を省略する。
なお、上記の説明では、攻撃目標位置aと攻撃目標位置bについてそれぞれランダムな値(rndax,rnday),(rndbx,rndby)を生成したが、攻撃目標位置aと攻撃目標位置bの何れか一方についてのみランダムな値を取るようにして他方の攻撃目標位置については、自機の現在位置を攻撃目標位置にしても良い。また、X軸方向の変位量とY軸方向の変位量の組(rndx,rndy)を1つだけ生成し、この(rndx,rndy)を、攻撃目標位置aについてのランダムな値(rndax,rnday)と、攻撃目標位置bについてのランダムな値(rndbx,rndby)にしても良い。

0043

なお、攻撃目標位置bを原点とし、攻撃目標位置bと時刻t=Tにおける敵機の位置(Xe+VTcosθ,Ye+VTsinθ)を結ぶ直線がY軸になるように座標を取り直して上記式(11)〜(13)を簡略化し、これらの簡略化した式を用いて、距離sを計算するようにしても良い。

0044

その他の実施例・変形例について
また、上記シューティングゲーム処理装置の処理機能コンピュータによって実現することができる。この場合、シューティングゲーム処理装置の処理機能の内容はプログラムによって記述される。そして、このプログラムを、図16に示すようなコンピュータで実行することにより、上記シューティングゲーム処理装置の処理機能がコンピュータ上で実現される。

0045

この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、例えば、磁気記録装置光ディスク光磁気記録媒体半導体メモリ等どのようなものでもよい。具体的には、例えば、磁気記録装置として、ハードディスク装置フレキシブルディスク磁気テープ等を、光ディスクとして、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)等を用いることができる。

0046

また、このプログラムの流通は、例えば、そのプログラムを記録したDVD、CD−ROM等の可搬型記録媒体販売譲渡貸与等することによって行う。さらに、このプログラムをサーバコンピュータ記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することにより、このプログラムを流通させる構成としてもよい。

0047

このようなプログラムを実行するコンピュータは、例えば、まず、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、一旦、自己の記憶装置に格納する。そして、処理の実行時、このコンピュータは、自己の記録媒体に格納されたプログラムを読み取り、読み取ったプログラムに従った処理を実行する。また、このプログラムの別の実行形態として、コンピュータが可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することとしてもよく、さらに、このコンピュータにサーバコンピュータからプログラムが転送されるたびに、逐次、受け取ったプログラムに従った処理を実行することとしてもよい。また、サーバコンピュータから、このコンピュータへのプログラムの転送は行わず、その実行指示と結果取得のみによって処理機能を実現する、いわゆるASP(Application Service Provider)型のサービスによって、上述の処理を実行する構成としてもよい。なお、本形態におけるプログラムには、電子計算機による処理用に供する情報であってプログラムに準ずるもの(コンピュータに対する直接の指令ではないがコンピュータの処理を規定する性質を有するデータ等)を含むものとする。

0048

また、この形態では、コンピュータ上で所定のプログラムを実行させることにより、シューティングゲーム処理装置を構成することとしたが、これらの処理内容の少なくとも一部をハードウェア的に実現することとしてもよい。
以上の各実施形態の他、本発明であるシューティングゲーム処理方法、その装置等は上述の実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲で適宜変更が可能である。

図面の簡単な説明

0049

シューティングゲーム処理装置1001の機能構成を例示した図。
シューティングゲーム処理装置1002の機能構成を例示した図。
シューティングゲーム処理装置1003の機能構成を例示した図。
シューティングゲーム処理装置1004の機能構成を例示した図。
シューティングゲームの模式図。
攻撃目標位置aと攻撃目標位置bがt=0における自機の位置であるときの敵機と自機の位置関係を示す図。
シューティングゲーム処理装置をコンピュータにより実行するときの機能構成を例示した図。

符号の説明

0050

1:自機,2:敵機,3:攻撃弾,4:攻撃弾,4A:攻撃弾A,4B:攻撃弾B,5:CPU,6:RAM,7:出力部,8:補助記憶部,9:入力部,9’:バス,10:行動パラメータ決定部,11:攻撃弾距離計算部,12:サンプル値保存部,13:記憶部,14:決定部,20:行動パラメータ決定部,21:攻撃弾距離計算部,31:攻撃弾距離計算部,41:攻撃弾距離計算部,91:位置取得部,92:攻撃弾距離設定部,93:攻撃弾発射間隔時間設定部,95:敵機移動方向決定部,96:決定部,97:自機移動速度取得部,110:距離計算部,111:加算部,112:乗算部,113:減算部,140:記憶部,141:減算部,142:二乗部,143:最小値選択部,10:角度計算部,211:第二座標変換部,212:第一座標変換部,213:間隔計算部,310:距離計算部,311:位置計算部,312:間隔計算部,410:距離計算部,411:位置計算部,412:間隔計算部,413:乱数発生部,1001:シューティングゲーム処理装置,1002:シューティングゲーム処理装置,1003:シューティングゲーム処理装置,1004:シューティングゲーム処理装置

ページトップへ

この技術を出願した法人

この技術を発明した人物

ページトップへ

関連する挑戦したい社会課題

関連する公募課題

該当するデータがありません

ページトップへ

技術視点だけで見ていませんか?

この技術の活用可能性がある分野

分野別動向を把握したい方- 事業化視点で見る -

ページトップへ

おススメ サービス

おススメ astavisionコンテンツ

新着 最近 公開された関連が強い技術

この 技術と関連性が強い技術

関連性が強い 技術一覧

この 技術と関連性が強い人物

関連性が強い人物一覧

この 技術と関連する社会課題

関連する挑戦したい社会課題一覧

この 技術と関連する公募課題

該当するデータがありません

astavision 新着記事

サイト情報について

本サービスは、国が公開している情報(公開特許公報、特許整理標準化データ等)を元に構成されています。出典元のデータには一部間違いやノイズがあり、情報の正確さについては保証致しかねます。また一時的に、各データの収録範囲や更新周期によって、一部の情報が正しく表示されないことがございます。当サイトの情報を元にした諸問題、不利益等について当方は何ら責任を負いかねることを予めご承知おきのほど宜しくお願い申し上げます。

主たる情報の出典

特許情報…特許整理標準化データ(XML編)、公開特許公報、特許公報、審決公報、Patent Map Guidance System データ