ADR-0037 面に触れてよい変数の制約を置かない
| 状態 | accepted |
| 決定日 | 2026-09-11 |
| 区分 | ゲームデザイン |
背景
ADR-0025 は各ページが未来面・過去面の2つの面を持ち、銘 > 刻 で未来面が、銘 < 刻 で過去面が発動すると決めた。この決定自体は面がいつ発動するかだけを定め、面が何に作用してよいかには触れていない。
一方、ページカタログ の構成要素表と「未来面と過去面の役割」節は、未来面=敵への攻撃・過去面=自己バフ/ユーティリティを原則として書き、さらに「攻撃は 銘 > 刻 でしか発動しない。したがって火力は登ることでしか出ず、降りるターンは構造的に無攻撃ターンになる」と踏み込んでいた。この一文は、過去面が敵HPへ作用することを暗に禁じるルールとして読める。
Issue #24 の作用の範囲を確定させる本タスク(#50)で、この禁止を維持するかどうかが論点になった。#46 で実装済みの作用エンジンは、対象変数を面の種類(未来/過去)で絞り込む機構を持たない — 制約を課すならドキュメント側が宣言し、#53 以降のページ設計がそれを守る運用でしか実現できない。
決定
未来面・過去面のどちらも、任意の変数へ作用してよい。 面の種類による作用対象の制約は置かない。
「未来面=攻撃・過去面=自己バフ/ユーティリティ」は傾向として ページカタログ に残す。過去面が敵HPへの作用を持つページ(例: 過去面「敵HP −6、防御 +4」)は許容される。「攻撃は 銘 > 刻 でしか発動しない」「降りるターンは構造的に無攻撃ターンになる」という言い切りは撤回し、「降りるターンは攻撃が薄くなりやすい」という傾向の記述に置き換える。
「過去面の効果は、殴らなかったターンの代金として設計する」という設計指針そのものは、傾向の範囲で維持する。
却下した案
| 案 | 却下理由 |
|---|---|
| 未来面=敵HP系のみ、過去面=それ以外に厳格に分ける | エンジンがこの区分を強制する機構を持たず、ドキュメント上の宣言だけで運用することになる。加えて、過去面で敵HPを削る(弱い代わりに他の作用も持つ、等)デザインの余地を、今後のページ設計から先に奪う。禁止によって守られる具体的な問題が、検討の中では見つからなかった |
| 未来面を主に、過去面の変数を1つまで添えてよい | 「1つまで」という個数制限が恣意的で、作用列の強さは基礎値・係数(バランス)ですでに調整できる。個数制限を追加しても、それが解決する具体的な問題が無い一方、今後のページ設計を狭める |
影響
- ページカタログ の構成要素表・「未来面と過去面の役割」節が、制約ではなく傾向の記述に書き換わる
- 今後のページ定義は、面の種類による作用対象の制約を気にせず設計できる
- コード側(
core/effect/)に変更は無い。作用エンジンはもともと面の種類で対象変数を絞り込む機構を持っておらず、この決定はエンジンの現状追認にあたる - 「未来面=攻撃・過去面=自己バフ」という質感を保つ仕組みは、以後ドキュメントの傾向の記述と今後のページ設計者の判断だけになる。エンジンにも定義データにも強制する機構が無いため、両面が何でもできるページが積み重なって質感が崩れても、レビューで人が気づく以外に検知する手段が無い