シューティングゲームにおける 弾道予測アルゴリズムの作成 情報論理工学研究室 13-1-037-0136 筒井 晴也
目次 研究背景、目的 研究内容 まとめ 今後の課題
研究背景 シューティングゲームとは、自機を操作し敵機を撃墜してスコアを記録するコンピュー タゲームである。 クリアの定義 スコアを多く稼ぐ ボスキャラクターを倒す 無限に行われる攻撃から避け続ける グラディウス(コナミデジタルエンタテインメント)より引用 東方紅魔郷(上海アリス幻樂団)より引用
研究目的 シューティングゲームの難易度は様々な要因に依存 し、適切な難易度を設定するには多くのテストプレイ が必要である。 費用と時間がかかりすぎるため、開発のネックと なる。 この問題を解決するために敵機や敵機の攻撃を自 動で避けるAIを作成し、有用性を検証する。
研究内容 研究方法 固定画面シューティングゲームで、ひたすら敵機や敵弾を避け続けるものを作 成する。 自機が何フレームで撃墜されるかを5つの難易度にわけて評価する。 実際のゲーム画面
研究内容 敵機は2種類存在する。 ゆらゆら進みながら6方向に拡散する弾を発射するタイプ(図1) ある程度進んだ後、自機を狙った弾を発射し後退するタイプ(図2) 図1 図2
研究内容 作成したAIの内容 1) 自機の周囲を探索する。 2) 敵性オブジェクトが探索範囲内に侵入したら、それらがどのようなベクトルで動いてるかを観 測する。 3) 観測結果から計算を行い、自機を避ける方向へ動かす。
研究内容 難易度 平均生存時間(フレーム) 安定率 1 490 88% 2 413 82% 3 322 78% 4 296 66% 5 210 50% AIのシューティングゲームプレイ結果
まとめ AIが敵性オブジェクトを探知すると避けることは証明 された。
今後の課題 探索範囲内にある敵弾全ての弾道予測を行い、線で はなく面での予測を行う。 画面端に追いやられた場合の自機の動きを自然なも のにする。
参考文献 1) 松浦健一郎, 司ゆき : シューティングゲームプログ ラミング , SoftBank Creative(2006) 2) 長久勝 ; Java ゲームプログラミング, SoftBank Creative(2004) 3) 株式会社アイプランニング Java でシューティング https://www.ipl.co.jp/item/JavaShootingGame.html