Skip to content
第01回 全体構成と目標

4 / 4 武装の拡張と独自ゲームへの改造 ​

このステップの目的

武装を増やす設計と、目指す遊びに応じた変更箇所

武装の追加とビルド構築の見通し ​

武装の役割・得意不得意と組み合わせ ​

オートシューターは、敵の猛攻をどうさばくかのゲームです。
単に避けるだけでは限界があり、攻撃能力をどう確保するかが攻略の鍵となります。

この面白さの中心になるのが攻撃手段の選択と組み合わせ、つまりビルドです。

ビルドは標的への集中攻撃、前方の敵への拡散攻撃、周囲への衝撃波など、武装ごとの役割を組み合わせて構築するものです。
ただ強くなるだけでは、武装の選択や組み合わせの意味が薄れてしまいます。
あらゆる状況で強い武装を設定するより、一長一短の性質のものを組み合わせる方が、戦略的な選択の意味が生まれます。

武装に得意な状況と弱点を設け、戦略的な選択の意味をデザインしてみましょう。

武装の種類数・同時所持数・選択肢の表示数 ​

配布プロジェクトにはBolt・Fan・Pulseの3種類の武装が実装されています。
最初に所持しているのはBolt Lv1だけですが、3種類とも取得でき、同時所持の上限やプレイヤーレベルによる制限などはありません。

ChoiceCountは強化画面の表示件数の上限です。武装の所持上限ではありません。

第06回では、直進方式を使うRapidBolt「速射弾」を追加します。
第07回では、武装4種類・同時所持上限3種類・選択肢最大3件とする例を示しています。

武器の種類を増やしてレア武器を設定したり、序盤は頼れるが終盤には火力不足になる武器を用意してプレイヤーに戦略的な選択を迫るなど、遊びの幅を広げる武器設定を考えてみてください。

プレイ中の解放と武装の取得・強化 ​

武装はレベルアップ時に強化することができます。
また、解放条件を満たされた武装は、新規取得の候補に追加されます。
未所持の武装を選べばレベル1で取得、所持済みの武装を選べばその武装レベルが上がります。

これらのルールを拡張することで、ゲームクリアに必要なビルドをどのように組み上げるかをプレイヤーに考えさせる設計が可能になります。
例えば追加武装の解放レベルを設定し、プレイヤーがそのレベルに達したときに新規取得の候補に追加されるようにします。
また、武装の所持数上限や取得制限を設けることで、プレイヤーに戦略的な選択を迫ることができます。

武装IDと攻撃方式を分ける ​

Weapon::Typeは、武装の種類と発射処理の識別を兼ねています。
Weapon::AttackTypeは、攻撃方式の識別に使います。

AttackTypeは、Straight・Spread・Waveの3種類が実装されています。
これと名前、色、貫通性能などのバリエーションを組み合わせることで、新しい武器のTypeを作ることができます。

変更点のポイント ​

変更点場所内容
武装の追加Weapon.cpp新しい武装を追加し、TypeとAttackTypeを設定する
武装の強化Weapon.cpp武装のレベルに応じた攻撃力や発射速度の変化を設定する
ウェーブの調整EnemyWaves.cpp敵の出現タイミングや数、種類を調整する
経験値設定GameTuning.hプレイヤーのレベルアップに必要な経験値量を設定する

これら数値やテーブルの設定に加えて、勝利条件や防衛対象の追加も検討してみましょう。
この場合はGameModelの勝敗判定を改造することになります。

チェックリスト
  • 定義の追加と新しい攻撃処理の追加の違い
  • 武装のアンロック・取得・強化と所持上限の区別
  • 目指す遊び・変更箇所・期待する結果の対応