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

ADR-0010 データ定義を .tres Resource で持つ

状態accepted
決定日2026-08-09
区分アーキテクチャ

背景​

ページ・敵・バランスの定義データの形式を決める必要があった。

決定​

.tres(Godot Resource)を正とする。型安全であり、エディタ上で編集・確認でき、ADR-0009 の効果 Resource 合成と相性が良く、GUT からそのまま load() できる。

却下した案​

案却下理由
JSON を正としてロードバランス調整の差分が git で追えるのは利点だが、エディタの型検証が効かず、ローダーを自前で書く必要がある
構造は .tres・数値は JSON両方の利点を取れるが、仕組みが2つになる

影響​

  • .tres は load() 時に共有キャッシュされるため、実行時に書き換えてはならないという制約が生まれた → 定義(〜Def)と実行時インスタンス(〜Instance)の分離(コーディング規約)
  • バランス値も .tres(BalanceConfig)に置くため、数値変更にコード変更が不要になった