赤宿 = Red Inn

素人の試行錯誤と2Dゲームプログラミング

note of topics

解決済みのトピック(良い解決法かは自信が無い)

Engine and UI

 Engine = Model
 UI = View(MV)

Engineの時間をリアルタイムから分離する

 UIがEngineの時間を進めるという図式。

Actionの観察

 Processer(Engine.Core)にEngine.SomeActionを継承したView.Actionを渡す方式。

シーケンシャルな挙動の実現

 Sequenceと名付けられたQueに、Viewの振る舞いを載せていく。
 Engine側の時間がViewの時間と同期する場合、ローカル関数をラムダ式でラップして、Engineが途中から再開できるようにする。

Controls

 "制御が働く"ことでGameModeが暗黙的に構成される。

未解決のトピック

Flexibility

Entity非依存

 EngineがNez.Entityに依存しないようにするには。
 IEntityに依存してアダプタを作り、Nez.Entity -> IEntityへの暗黙の型変換を用意するか。

データ駆動なpreference

 各モジュールはデータ駆動の部分を外から与えられるようにして、ファクトリがpreferenceオブジェクトに依存する?

HUD

Log

 ログを表示する瞬間(UI)とログを書き込む(Engine)を同期するには。

etc.

Serializing

Archiving

Automatic Update