Skip to content
Daan van Yperen edited this page May 26, 2019 · 5 revisions

Basic concepts

A short introduction to the basic concepts in artemis-odb in a nutshell.

Entity Component System (ECS)

Artemis-odb is a high performance implementation of ECS, an architectural pattern that attempts to solve the issues with deep and wide hierarchies. It separates data from behavior and prefers composition over inheritance. It is considered to make code easier to extend and maintain. This has several other advantages.

World

World is an isolated container for all entities, systems and components.

Entity

Entities are unique identifiers, and solely the sum of its related components. Entities have no data or behavior by themselves.

Component

Components are minimal, pure data classes that are plugged into entities to support some behavior. Components give entities data. A component itself implements no behavior.

Aspect

Aspects define a component pattern, allowing match entities with certain entities.

System

Systems run continuously and iterate over entities that match a certain Aspect. Systems give entities behavior. System read and write the state of components, resulting in behavior.

Artemis-odb allows systems to be used as a natural extension point for your game logic with BaseSystem.

ComponentMapper

ComponentMappers provide high performance component access and mutation from within a System.

Clone this wiki locally