ここ数日、Erlang について多くのことを学び、コンポーネント エンティティ システムにも精通しています。
Erlang のプロセス中心のアプローチでは、各エンティティが Erlang プロセス インスタンスになることをお勧めします。CES (Component Entity System) アプローチに関しては、MovementComponent (たとえば) を所有するエンティティの「MovementSystem」のようなプロセスがあります。次に、末尾再帰を使用して、登録されているすべてのエンティティを「反復」し、メッセージを送信して、MovementSystem 自体によるバッチ処理として行うのではなく、独自のプロセス状態を更新できるようにします...私の理解では、CES は処理しているすべてのエンティティとコンポーネントのすべての情報を持っているため、これは「共有メモリ」を意味し、概念上、Erlang の一部ではありません)
これらの 2 つのアプローチ/パラダイム - Erlang と "Component Entity System" - は互いに除外していますか、それとも何か不足していますか?
(GitHub ( https://gist.github.com/sntran/2986790 ) でこのプロトタイプを実際の Component Entity System と呼ぶことさえしません。このアプローチは、Entity-System よりもむしろ、私にはgen_event ベースの MQ アプローチ、おそらく代わりに RabbitMQ を使用します...しかし、それはここでは関係ありません...)
今のところ、これらの 2 つの概念をどのように組み合わせることができるかさえわかりません...