Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add ECS base #2

Open
MrDmitry opened this issue Aug 12, 2018 · 0 comments
Open

Add ECS base #2

MrDmitry opened this issue Aug 12, 2018 · 0 comments
Assignees

Comments

@MrDmitry
Copy link
Member

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.

@MrDmitry MrDmitry self-assigned this Aug 12, 2018
MrDmitry added a commit that referenced this issue Aug 19, 2018
MrDmitry added a commit that referenced this issue Oct 9, 2018
Migrate tests
Fix migration build issues
MrDmitry added a commit that referenced this issue Oct 12, 2018
MrDmitry added a commit that referenced this issue Oct 12, 2018
MrDmitry added a commit that referenced this issue Nov 11, 2018
MrDmitry added a commit that referenced this issue Nov 12, 2018
MrDmitry added a commit that referenced this issue Dec 6, 2018
MrDmitry added a commit that referenced this issue Dec 6, 2018
MrDmitry added a commit that referenced this issue Dec 7, 2018
MrDmitry added a commit that referenced this issue Mar 4, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant