メインコンテンツまでスキップ

ADR-0032 敵の行動を変数への作用の文法で表現する

状態accepted
決定日2026-08-29
区分ゲームデザイン

背景​

ADR-0030 は、カード側の効果を「状態変数への作用の列」に組み替えた。一方で敵側の Intent は「攻撃1回、威力を持つ」としか定義されておらず、粒度が揃っていない。

敵の変数一覧が存在しないため、攻撃以外の Intent(歩の回復量を下げる・手札を捨てさせる等)を追加しようとするたびに、都度アドホックな仕組みを作ることになる。これはカード側が25個の名前付き効果を抱えて詰まった経路と同じ形をしている。

決定​

敵の Intent と特性も、ページの作用と同じ6項の文法で表現する。

  • Intent は、敵が持つ「作用の順序付き列」の要素である。 ページの面が持つ作用列と同型であり、跨ぎ1回につき列の先頭から1つ消える
  • 特性は、Intent 列に属さない作用である。 この文法では「予告されるかどうか」ではなく**「Intent 列の要素かどうか」**が Intent と特性を分ける唯一の基準になる。座の移動・跨ぎで消せる上限(不動)・エスカレーション速度(加速)・1発ごとの軽減は、いずれも Intent 列の外にあるため特性に属する
  • 特性ごとに予告の有無は個別に決めてよい。 座の移動は予告されるが、不動・加速は予告されない
  • 発動タイミングの「常時」は、効果システムの既定どおり補正専用のまま維持する。 特性かどうかの判定にこのタイミング区分は使わない
  • 敵に対して新しく定義する対象変数(座・封鎖点・歩の回復量への補正・歩の支払い倍率など)は、効果システムの3つの型・3つの軸にそのまま従う

Intent 列はページの作用列の敵側の対応物である。 「作用は1つの変数に対する1つの操作であり、面はその順序付きの列を持つ」という原則が、敵にもそのまま適用される。

却下した案​

案却下理由
敵専用の記法を新設する「歩の使用量に倍率をかける」のように、カード側の対象変数(歩の支払い)へそのまま乗る作用がすでに存在する。専用記法を作ると、この共有ができなくなる。ADR-0030 が「変数を1つ増やすたびに組み合わせが増える」と決めた設計方針にも反する
「予告されるかどうか」で Intent と特性を区別する座の移動が「予告されるが跨ぎでは消せない」という、この基準では表現できない特性としてすでに存在する。基準を「Intent 列の要素かどうか」に置き換えると矛盾が消える

影響​

  • 効果システムの演算表に、敵の白紙化(ADR-0033)が使う「面の記入状態への代入」を追加する必要が生じた
  • 敵の変数一覧を洗い出す作業が発生した。今回定義したのは座・Intent 列・封鎖点(数直線上の通行不能点)・歩の回復量への補正・歩の支払い倍率・面の記入状態(白紙化専用)
  • 個々の敵の設計(#35)は、この文法の上に具体的な作用列を積むだけの作業になる
  • 敵の行動選択(#36)は、Intent 列という共通の入れ物を前提に設計できる