DEVLOG へ戻る
[DEVLOG] — FROSTBOUND 開発ログ — 戦闘システムと敵AIの設計
REC ● 00:00:00:00

FROSTBOUND 開発ログ

戦闘システムと敵AIの設計

自分好みのコンボをどう設計するか、そして敵AIをどう「賢く・手強く」するか。AI同士の対戦から、味方NPCの仕組みまで。

TYPE
戦闘システム / 敵AI設計
ROLE
企画から実装まで一人で
PLATFORM
PC
STATUS
進行中

COMBO & SKILL DESIGN

コンボとスキルの設計

各キャラクターのモデルからアニメーションまで、現時点で「自分の心地よい」コンボの形は設計し終えています。

作り方の核は、複数のアセットパッケージを組み合わせ、そこから自分の欲しい動作の組み合わせ(コンボ)を切り出して再構成すること。たとえば「剣で斬った後、そのまま魔法へつなぐ」といった連撃技を、アニメの差し替えとタイミング調整で自由に組み立てています。

この氷魔剣士のフルコンボと魔法の見せ場は、Lab の「戦闘システム開発記録」の封面映像そのもの(主人公を操作してミノタウロスと戦う映像)です。打撃感や dash 演出の作り込みは、その記録と「Dash Attack 演出強化」に詳しくまとめています——どちらも、この FROSTBOUND の初期形にあたります。

▶ COMBO
FIG.01 — 氷魔剣士のフルコンボと魔法(主人公が操作してミノタウロスと戦う)

採用している双剣士のアニメーション・アセットには、ただの双剣だけでなく、二振りの剣を逆向きにして柄の間で一本に合体させた状態(長槍のような形——持つと左右どちらも刃)も含まれています。下の図は、その合体状態の構え・動作と、双剣に分離したときの構え・動作を比較したもの。切り替え機構そのものは複雑ではなく、純粋に「攻撃モジュールの多変さ」として扱っています。

FIG.02 — 双剣士の剣身対比(合体した長槍状態 ↔ 分離した双剣状態)

VISUAL STYLE & ATMOSPHERE

ビジュアルと雰囲気

見た目の「アニメ調・ACG 風」は、主に VRoid で組んだモデルと、それに合わせて調整した shader によって作り出しています。

さらに、URP と post-process を調整して、場面ごとの特殊な画面効果も作っています。たとえば炎人怪が特殊状態(ZONE)に入ったとき、専用の画面エフェクトで一気に空気を変える——こうした演出で、戦闘のテンションを引き上げています。

▶ ZONE
FIG.03 — 炎人怪が特殊状態(ZONE)に入ったときの画面効果(URP / post-process)

ENEMY AI

敵AIの設計

戦闘システムの次に取り組んでいるのが、敵AIの研究です。まだ完成ではありませんが、「敵をもっと手強く、もっと賢く見せる」ことを狙って、行動の仕組みを組み直しています。

CASE 01単純な追いかけAIは、すぐ「作業」になる
PROBLEM

よくある敵AIは「待機/索敵 → 敵を見つけたら接近 → ひたすら攻撃ループ → 距離を取られたら接近 → 離れすぎたらターゲットを見失い待機へ戻る(+HPに応じて行動を変える)」という流れです。読みやすい反面、単調で、すぐ作業感が出てしまいます。

APPROACH

私が組んだ行動機構は、もう一段の「迷い」を挟みます。待機/索敵 → 接近 → 攻撃 → もう一度攻撃するかを乱数で判断 → 攻撃しない場合は、防御モードか後退モードを乱数で選択。後退後はさらに、防御するか、ターゲットの周囲をゆっくり回り込む(伺いながら観察する素振り)かを選びます。そして、ランダムな間(ま)の後、あるいは相手との距離が詰まる/開くと、ダッシュ攻撃で一気に踏み込んで連撃。攻撃パターンは3〜4組を用意し、軽い・素早い・重い攻撃を織り交ぜ、さらに左右へランダムにローリング回避します。

RESULT

同じ「追いかけて殴る」でも、間合いの読み合いと不規則さが生まれ、敵がぐっと手強く・生きているように感じられるようになりました。

下は、双剣士のAIどうしを戦わせた映像(行動がよりはっきり見えるバージョン)。重要なのは、相手の動きにリアルタイムで反応して変えているわけではなく、行動の多変さによって「人間が操作しているような」観感を生んでいる点です。まず互いに観察モードで側歩(サイドステップ)して機を伺い、一方が突撃した瞬間、もう一方がすぐ防御に入る——そんな駆け引きが自然に立ち上がります。

▶ AI BEHAVIOUR
FIG.04 — 双剣士AIどうしの対戦(行動が見やすいバージョン)

AI VS AI = DEBUG + ALLY SYSTEM

AI同士の対戦=デバッグと味方システム

開発中、AIの行動を観察しやすくするために、自分で操作して戦うだけでなく、二体のAIを互いに戦わせています。FROSTBOUND の封面映像(双剣士 対 炎人怪)も、その「AI対AI」のひとつ。下は別の例として、炎人怪とミノタウロスを戦わせた様子です。

そして、この「AI同士を戦わせる仕組み」を検証することは、そのまま「味方NPCが主人公と一緒に敵と戦う仕組み」を開発することと同じです。敵として組んだ賢い行動機構を、そのまま頼れる仲間の動きへ転用できる——これが、協力やキャラクター切り替えという将来の方向ともつながっていきます。

▶ AI vs AI
FIG.05 — AI対AI(炎人怪 対 ミノタウロス)