Skip to content
Andrew Potapov edited this page Jan 10, 2014 · 5 revisions

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. It 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 dozens of other languages, and is the most widely spread "entity system" frameworks out there used to power a unknown number of games. Although in cases where Artemis is not directly used, it's foundation and architecture has inspired many others.

This particular implementation of Artemis uses libgdx as a backbone for containers and object pooling. It also introduced a notion of inter-system communication through event propagation. Some of the more complicated reflection code was also removed to better support GWT.

Introduction To Entity Systems

Data-Oriented Design

Clone this wiki locally