EntityComponentSystem

概要

Entity Component Systemはgameでよく採用されるソフトウェアアーキテクチャパターン。

Memo

Tasks

Reference

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>{}。