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

バトル画面

本ドキュメントはバトル画面が何を、どういう関係で見せるかを定義する。具体的な画面レイアウト(要素の座標・寸法・ノード構成)は実装であり、ここには置かない。コードが正である。 ビジュアルデザイン(配色・フォント・演出)も対象外。 ルールの正は バトルシステム。

中心となる判断​

バトル画面の唯一の目的は、プレイヤーが以下の判断を下せるようにすることである。

「跨ぎに行くか、離れて受けるか。そして、どこで刻を止めるか。」

この判断に必要な情報を最短距離で見せ、それ以外を後退させる。

最重要の設計判断:手札を数直線の上に置く​

手札をカードの扇として画面下部に並べてはならない。 ページは全て銘という座標を持っており、数直線上のどこにあるかがそのページの全てである。

歩の残量・座との位置関係・発動する面は、全て「そのページが数直線上のどこにあるか」から読める。 扇の形は、この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 スコープ境界)。

関連​

Implementation Notes​