A JavaScript Entity System with focus on speed and efficiency. Still in development, no release yet.
Entity Component System is often simply referenced as Entity System or ES.
Documentation is written before the code. Code must conform to the written documentation. All example codes from the documentation are part of the unit tests.
Compatible with modern browsers and IE9+.
Published under the MIT license.
How it works:
API:
Entity System is a software architecture that is specially well suited to make games. It is data driven, offers great flexibility even at runtime (you can theoretically make most of your game at runtime), and scales very well.
Step-by-step introduction to ES: http://www.richardlord.net/blog/what-is-an-entity-framework
More infos about ES: http://entity-systems.wikidot.com/
You need to have git and Node.js installed. You also need to have grunt-cli as a global Node.js install:
npm install -g grunt-cli
Clone the git repository locally and go in it:
git clone git://github.com/jlgrall/esEngine.git
cd esEngine
Install the build dependencies (Node.js packages) in the folder (takes 1-2 minutes):
npm install
That's it, you are ready. Now you can use the following commands.
grunt
: build and check everything. You can find built files in thedist/
folder.grunt clean
: clean thedist/
folder.grunt watch
: when you are editing the files, it will automatically rebuild the needed files when you save them.grunt report
: reports the minified and gzipped sizes (project must be already built) (results may be a few bytes off).
Important: don't forget to run grunt
before you commit to check that everything works.