No description, website, or topics provided.
JavaScript
Latest commit 6abe69f Apr 25, 2013 jlgrall Rename internal utility IndexRecycler to Heap
Permalink
Failed to load latest commit information.
doc
src
test Implemented basic SystemGroup with partial unit tests Apr 25, 2013
.gitignore Add Node.js and Grunt support Mar 25, 2013
Gruntfile.js Rename internal utility IndexRecycler to Heap Apr 25, 2013
LICENSE-MIT
README.md Fix wrong URL in installation instructions Apr 16, 2013
package.json

README.md

esEngine

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.

Documentation

Documentation summary

How it works:

API:

Entity System (ES)

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/

How to build and contribute

Install

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.

Commands

  • grunt: build and check everything. You can find built files in the dist/ folder.
  • grunt clean: clean the dist/ 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.