GithubHelp home page GithubHelp logo

sleipnir's People

Contributors

ilia-glushchenko avatar mrdmitry avatar

Watchers

 avatar  avatar  avatar

sleipnir's Issues

Add ECS base

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.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.