ES Approaches

Overview

Different kinds of ES: there are many different ways of architecting an ES, and even more ways of implementing it. This page is a dumping ground for different approaches that people have taken.

For similar-but-different stuff, see Related Technologies
For source code projects you can download, see ES Implementations

Core Architectures

Fundamental approaches to building an ES. NB: there's no accepted "right" way of doing this (yet); if something is included here, it's not necessarily recommended!

(uncategorized; need to be added to one of the above pages, or have new page created)

3rd Party Frameworks

NB: most of the "Architectures" in the section above has open-source implementations on the relevant pages. Items listed in this section are alternative frameworks, usually a lot more complex and feature rich

  • TyphonRT - 2011 launch; component oriented platform for real time app & game dev for Java spanning J2SE & Android; GPLv3 w/ commercial license. A component based entity system is a central feature.
  • DtEntity - A c++ entity system for OpenSceneGraph. Features: XML map system, sandbox editor, JavaScript bindings, plugin system.
  • Ember an opensource entity system framework in actionscript3 with dependency injection
  • Grease A component-based entity game engine framework for Python. Fully OSS under an MIT license. Still early, but has good docs and is being actively developed.
  • Rainweaver "The Rainweaver Framework is a collection of common and not so common utilities for game developers using the .NET Framework ver. 3.5. Contains an Entity System implementation."

Philosophies (less precise than the section above)

A bunch of people have written about ES / CS in detail, mostly description and philosophy, rather than source code. These articles are generally VERY widely referenced and read, included here because if you haven't read these, you probably should: