一番大事なことを書くのを忘れていました・・・。
今回は、E.L.E.M.E.N.Tのプロジェクト制作を行うにあたって知っておくべき事項をまとめてみたいと思います。

基本は「オブジェクト」と「コントローラ」
E.L.E.M.E.N.Tでは、「オブジェクト」と「コントローラ」で全てを表現します。

オブジェクトとは、実際に画面に表示されるものです。
格闘ゲームで例えると、ファイターやステージなどです。

一方、コントローラは、オブジェクトをどのように動かすかを制御するためのもので、画面に表示されません。
ファイターはただ存在するだけではありません。何らかの行動をして敵と戦わなければなりません。
そのためには、どの操作をしたらどのような行動をして、どのタイミングで攻撃判定を出すか、など様々な制御が必要です。
それをコントローラが全て行います。

まとめると、「コントローラオブジェクトに指示を出して、動作を表現させる」という感じです。

では、M.U.G.E.Nとの違いを説明します。
M.U.G.E.NではE.L.E.M.E.N.Tのオブジェクトコントローラを1つにまとめて、プレイヤーヘルパーとして表現しています。
M.U.G.E.Nを扱ったことがある人に説明するとすれば、
E.L.E.M.E.N.Tでは、M.U.G.E.Nのヘルパーの「画面に表示する機能」と「ステートを実行する機能」を分て扱う
と説明すれば分かってもらえるでしょうか。

これによって何ができるかと言うと、
まず、M.U.G.E.Nではヘルパーをサブシステムステート実行用として利用することがよくありましたが、これには「画面に表示する機能」は必要ありません。何かを表示するならExplodを使ったと思います。
これにより無駄な処理が発生し、動作が重くなる原因にもなります。
E.L.E.M.E.N.Tはこの「無駄な処理」を省くことができます。

さらに、オブジェクトを管理するコントローラは1つに限られませんので、複数のオブジェクトを1つのコントローラで管理したり、その逆で複数のコントローラで1つのオブジェクトを管理したりもできます。
また、オブジェクトを管理せずに他のコントローラを管理するコントローラやコントローラで管理しないオブジェクト(通常は推奨されません)を作ることもできます。

結局、一番の利点は「無駄な処理をなくす」こと、「一か所で複数の対象を管理する」ことが目的です。
例えれば、オブジェクトはExplodの代わりで、コントローラはヘルパーのステートを実行する機能だけを取ったものだと思ってください。

今年中にE.L.E.M.E.N.Tの試作品を公開すると予告していましたが、その時にこのことはよく分かると思います。
非常に分かりにくい説明で申し訳ありませんが、それほど難しいものではありませんので、しっかり定着させてE.L.E.M.E.N.T制作を楽しんでもらいたいと思っています。
最後まで読んでいただきありがとうございました。