バトル画面
本ドキュメントはバトル画面が何を、どういう関係で見せるかを定義する。具体的な画面レイアウト(要素の座標・寸法・ノード構成)は実装であり、ここには置かない。コードが正である。 ビジュアルデザイン(配色・フォント・演出)も対象外。 ルールの正は バトルシステム。
中心となる判断
バトル画面の唯一の目的は、プレイヤーが以下の判断を下せるようにすることである。
「跨ぎに行くか、離れて受けるか。そして、どこで刻を止めるか。」
この判断に必要な情報を最短距離で見せ、それ以外を後退させる。
最重要の設計判断:手札を数直線の上に置く
手札をカードの扇として画面下部に並べてはならない。 ページは全て銘という座標を持っており、数直線上のどこにあるかがそのページの全てである。
歩の残量・座との位置関係・発動する面は、全て「そのページが数直線上のどこにあるか」から読める。 扇の形は、この3つを全て隠してしまう。
したがって:
- 手札は数直線上の、それぞれの銘の位置に配置する
- 現在の刻をマーカーで示す
- 敵の座を数直線上の一点として重ねる
- 座を挟む組み合わせが目で拾えること。これが跨ぎの判断そのものである
盤面と手札とHUDが、一本の線の上で同時に読める。 これがこのゲームの画面である。
数直線は全域を常に表示し、ズームしない
0 から寿命上限までを、常に画面幅いっぱいに固定して描く。プレイヤーが読む必要があるのは目盛りの細かさではなく、盤面全体に対する自分の位置である。
天井までの余りが「未来へ何枚進めるか」を、床までの余りが「次のターンどれだけ守れるか」を、座が自分のどちら側にあるかが「踏み込むか降りるか」を決める。そして寿命上限が伸びたことは、壁が動いて初めて体感になる(ADR-0019)。ズームすると、この4つが全て画面外の情報になる。縮尺が動く盤面では、位置の記憶が積み上がらない。
銘が密集した手札は縦に積む
横にずらすと座標が嘘になり、手札を数直線の上に置くという設計判断そのものが崩れる。 銘の位置は正確さが全てなので、重なりは重なりとして見せる。
表示要素の優先度
第1優先:数直線そのもの
| 要素 | 表示内容 |
|---|---|
| 現在の刻 | 数直線上のマーカー。常に視線が戻る基準点 |
| 手札 | 各ページを銘の位置に配置 |
| 敵の座 | 数直線上の一点。移動する敵の場合、予兆で示された移動先も見える |
| 歩の残量 | 数直線上の「ここまで届く」範囲として示す。 数値だけで出すとプレイヤーに暗算をさせる |
| 両端の壁 | 0(誕生)と寿命上限。近づいたときに強調する。寿命上限は伸びるので、動く壁として描く |
歩を「届く範囲」として見せることが、この画面の要である。 残り歩でどのページに手が届くかが一目で分かれば、跨ぎの組み立ては目で行える。
第2優先:この1手の結果予測
各手札に、「今これをプレイしたらどうなるか」を添える。 プレイヤーに暗算をさせない。
| 表示 | 内容 |
|---|---|
| 歩の消費 | −N(Nは |銘 − 刻|) |
| 発動する面 | 未来面/過去面のどちらが出るか。銘 = 刻 なら両方 |
| 跨ぐかどうか | そのプレイで座を跨ぐなら明示する。 Intent が1個消えることが、そのページの最も重要な性質になる場面が多い |
| プレイ不可の理由 | 歩が足りない/発動する側の面が白紙 |
跨ぎは Intent を消すだけであり、攻撃の条件ではない(ADR-0024)。「跨がないと斬れない」と誤読させる表示にしないこと — 跨ぎのマークは守りの記号として、攻撃力の表示とは別の記号系にする。
第3優先:状態
| 要素 | 表示位置 |
|---|---|
| HP・防御 | 常時。数直線の下 |
| 歩の残量 | 常時。数値と、数直線上の到達範囲の両方 |
| 綻び(累積値・そのステージ中の上昇量・突破ライン) | 常時 |
| 敵HP・残りの Intent | 常時。上部 |
| 山札・捨て札・手札の枚数と手札上限 | 常時 |
| ステージ内特殊操作(ペン・破る)の残り回数 | 常時 |
| 効いている破却効果・恒久アビリティの一覧 | 常時。下部HUDの端に名前だけ並べ、詳細はホバー/クリックで開く |
破却効果と恒久アビリティを主動線から外すのは、「いま効いているが、この1手では変わらないもの」だからである。 ただし存在自体は隠さない — 破却効果はラン永続で積み上がるため、「もう1枚破るか」の判断に効く。
状態表現のルール
プレイ可能性
押せないページは、押せない理由が分かる状態にする。 理由は2種類あり、混同させてはいけない。
| 状態 | 表現 |
|---|---|
| プレイ可能 | 通常表示 |
| 歩が足りない | 減光。歩が回復すれば出せることが読めること |
| 発動する側の面が白紙 | 別の見た目。刻を動かせば出せるようになることが読めること |
| 白紙ページ(両面とも白紙) | さらに別の見た目。プレイできないが、ペンと破るの対象にはなる |
| 銘が寿命上限を超えている | 壁の外側に配置し、寿命が伸びれば解禁されることを示す |
「歩が足りない」と「面が白紙」を同じグレーアウトで表現してはならない。 前者は待てば解決し、後者は動けば解決する。プレイヤーが次に取るべき行動が正反対である。
跨ぎの予告
残りの歩で座を跨げる組み合わせが存在するかは、常に読めること。
跨ぎは Intent を消す唯一の能動的な手段であり、「あと何個消せるか」がそのターンの被弾量を直接決める。跨げる組み合わせが1つも無いターンは、それが分かった時点でプレイヤーの判断が変わる(守りに寄せる、温存する)。
終着点の予告
カーソルを合わせた手札について、そこで止めた場合の防御量 |刻 − 座| を示す。
「跨ぎに行くと座に近づき、防御が減る」という競合は、この2つの数字が同時に見えないと成立しない(デザインピラー 柱5)。
手詰まりの警告
そのページを出すと手札から出せる札がなくなる場合、出す前に警告する。
敗北条件「引き直しを経てもプレイ可能なページが1枚もない」は、プレイヤーが自分で踏み抜ける。刻を動かした結果、手札の残りが全て「発動する面が白紙」になることがあるためである。
- 警告するのは、その1手で手詰まりが確定するときだけ。 「危ないかもしれない」を出し続けると読まれなくなる
- 引き直しが発火したターンは、それが救済であったことが分かること。手札が黙って入れ替わると、プレイヤーは自分のミスに気づけない
白紙化の通知
白紙化 Intent が発動したとき、どのページのどの面が白紙に戻ったかをポップアップで通知する。 対象領域(手札/山札/捨て札/合算)によらず、この1枚だけは常に見せる(敵の設計、ADR-0033)。
これは「山札・捨て札の中身を常時一覧表示しない」という既定(開発者モード限定、下記)とは矛盾しない。 見せるのは、いま白紙化された1枚だけであり、山札・捨て札の並びや残りの構成までは明かさない。
ペンで何が書かれるかの予告
白紙の面を選んだとき、そこに書き込めば何が現れるかを示す。 これはページごとに定義された既知の情報であり、隠さない(ADR-0025)。
ペンの回数はステージに1回しかない。「どの白紙を埋めるか」を比較できなければ、その1回はギャンブルになる。 手札の白紙面それぞれについて、埋めた結果が並べて読めること。
次のターンへの影響
手札のうち、いまの刻で発動する面と、ターンを終えたあとに発動する面が変わるものを示す。
これが 柱6 を成立させる。刻を動かすと手札が死ぬ/生き返ることが動かす前に読めなければ、「歩を残して止まる」という判断は生まれない。
綻びの表示
累積値・そのステージ中の上昇量・突破ラインを見せる。 突破ラインは相対値(ステージ中の上昇量に対するしきい値)なので、累積値とは別の軸で表示すること。
破ったときの上昇量は |銘 − 刻| × 綻び倍率 であり、選択中のページごとに違う(ADR-0027)。手札のページを選んだ時点で、そのページを破ったらゲージがどこまで伸びるかを示すこと。
綻び倍率はページの固有値なので、常に見えること。 「距離は近いが倍率が高い札」と「距離は遠いが倍率が低い札」の比較が、破る判断の中心である。
演出と状態更新の関係
状態層はイベントを発行するだけで、表現層がそれを自分のペースで消費する(アーキテクチャ方針)。したがって:
- 演出中もゲーム状態は既に確定している。 演出は「起きたことを見せる」だけ
- 演出をスキップしても状態は変わらない
- プロトタイプ段階では演出を持たず、イベントを即座に反映してよい
開発者モードでの追加表示
通常表示に加えて、以下を常時表示する(セーブ/開発者モード)。
- 山札・捨て札の中身
- 敵の内部パラメータ(エスカレーションの進行度・次の座の生成規則)
- 直近に発行されたイベントのログ
- 乱数シードと現在のRNG状態
プロトタイプでのスコープ
全てプレースホルダー(単純な図形とテキスト)で実装する。 ただし情報の構造と配置は本実装と同じにする — アートを差し替えても情報設計が変わらないことが、このプロトタイプの目的の一つである。
入力はマウスとキーボードのみを対象とする(PRD スコープ境界)。