How I Design Architecture for Godot Engine Projects
https://www.youtube.com/watch?v=7NXgrd6wbXI
Slay the Spire Clone Godot 4 Tutorialの人の Godot Engine アーキテクチャについて
TODO List を作成する
実装順番を決める。これは大事
機能間の依存があるため、先に作っておくべき機能を見極めて順番を決める
Deck Card View 機能の実装を例に設計
STEPを分けて考えていく
機能の羅列
データをどこから取得してくるか、生成するか
依存関係を整理する
問題点や面倒な点を考える
Relic の設計
Slay the Spireの Relic は非常に種類が豊富で、発動条件や効果もバラエティに富むので、設計するのが難しい
When do they get activated? これが大事
発動条件がそれぞれ全然違うのをどう表現するか?
https://gyazo.com/c2fc3793cc03b1cf36bfa3fdb94efa36
Relic 自身がロジックを処理するのか?
こっちが理想だが、フローが難しい。
EventBus ベースの notify だと、Relic の発生順番が保証されない
システムが type をチェックしてロジックを処理するのか?
こっちの方が現実的だと思ったkidooom.icon
動画主は、TaskQueue を実装して順番に処理する設計にする予定とのこと
https://gyazo.com/b21df6a6ad4432778f043e638a4483e2