Artemis is a high performance Entity System framework for games, written in Java, and is a framework to manage entities in a game world. It is inspired by Entity Systems are the future of MMORPG blog series by Adam Martin. We also borrowed ideas from Ted Brown who implemented a simple high-performance Entity System in Processing based on Adam Martin's blog.
The framework is based on the concept that entities in a game world exist as pure identifiers, their components contain only data, and systems process entities based on their aspects. This promotes separation of concern and simplifies game design tremendously.
Artemis has been ported to many languages. See ports here.
Good Presentation On Data Oriented Design
Although Artemis is currently being used in game development, and has been ported to many languages, it is still considered an experimental framework based on an experimental concept. Use in your projects at your own risk.
Artemis is actively maintained by Arni Arent (aka appel). If you want to contact him about the framework or anything else you can send him an email to: arniarent (at) gmail.com.
This framework uses the New BSD license.