-
Notifications
You must be signed in to change notification settings - Fork 110
Concepts
A short introduction to the basic concepts in artemis-odb in a nutshell.
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.
ECS is 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. Read more about ECS here.
World is an isolated container for all entities, systems and components.
Entities are unique identifiers, and solely the sum of its related components. Entities have no data or behavior by themselves.
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.
Aspects define a component pattern, allowing match entities with certain entities.
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.
Systems in artemis-odb are a natural extension point for your game logic, entity related or otherwise.
ComponentMappers provide high performance component access and mutation from within a System.
- Overview
- Concepts
- Getting Started
- Using
- More guides
- Plugins
- Game Gallery
- Tools and Frameworks
- API reference