Skip to content

Add ECS base #2

@MrDmitry

Description

@MrDmitry

Entity-Component-System shall describe the way whole product is aimed to be used.

Entity

Entity shall represent an identifiable object within the system.
Entity shall have interface to check/modify components associated with object.

Component

Component shall represent a known collection of data. For example position can be represented by a set of coordinates that collectively can be called Position Component.

There shall be a configurable number of components.
Built-in components include but are not limited to:

  • Timer processing
  • Entity Lifetime control
  • Position
  • Render-related information
  • Physics-related information

Users shall be able to add their own components and use those in user-developed systems.

System

System shall represent an isolated processing unit that works on entities that have required Components with them.

There shall be a configurable number of systems.
Build-in systems include but are not limited to:

  • Time flow control
  • Timers
  • Entity Lifetime
  • Render (w/ Unicorn adapter)
  • Physics (w/ Pegasus adapter)
  • Sound (w/ Tulpar adapter)

Users shall be able to develop and integrate their own systems.

Miscellaneous

It is recommended that entities exist only in relation to some collection of entities (that can be referred to as a World of Entities). Such approach allows encapsulating data storage and data processing of Entity-related functionality inside the World object and Entity becomes simply an ID for the object.

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions