Entity Component System
Archives
DONE ECS(Entity Component System)入門
ゲームライブラリについての理解がないので、本で学ぶ。
Entity Component System、MVCのようなものである。
- Entityはゲーム内のオブジェクトの識別子。Entityは単体では具体的な機能は持たず、Componentと紐付ける。自キャラクター、敵キャラクター、ステージの障害物
- Componentは機能を分解したデータ。ゲーム内の機能を構成するデータ。位置やスケールを定義する機能、画像などの描画機能。Componentは配列的に管理される
- Systemは、Componentへの作用を行う。ゲーム内のロジックをComponent単位で考え、Componentを入出力する処理として実装する。Component配列に対して一括で処理を行ってロジックを実現する
Resourceはオブジェクトに紐付かないゲーム中の機能の役割を果たす要素。 Resourceは(Read+Write)、(ReadExpect+WriteExpect)を利用し、Componentは(ReadStorage+WriteStorage)を利用する。Resoource作成はinsert、取得はtry_fetch::<Hoge>{}, try_fetch_mut::<Hoge>{}。