Skip to content
Michał Majczak edited this page Aug 7, 2017 · 3 revisions

Welcome to the PolyEngine wiki!

PolyEngine is a C++ based, enthusiasts driven, multiplatform, low dependancy, 2D/3D games engine.

Engine architecture is centered around very strict ECS (Entity - Component - System) pattern, where:

  • Entities are just component containers and are not visible outside the very core of the angine
  • Components represent entity state and have no engine/gameplay logic. There are entity components and world components.
  • World contains all entities with their components and world components that are currentely simulated by the engine. It serves simillar role to scene in other engines.
  • Phases are essentially stateless systems, represented as functions that take world and perform update on it. Order in which phases are executed is explicit and unmutable. For example: rendering system iterates all mesh components in a given world and renders them to scene.
  • All communication between systems is possible only through components state. There is no event mechanism anywhere in engine. This restriction, although very strict, provides a way to keep system logic decoupled.

Clone this wiki locally