Is orx Component Based/ Data Driven?

edited March 2014 in General discussions
These days i am learning about Entity Systems, i not sure if orx are such a GameEngine?


  • edited March 2014
    So yes, orx is both data driven and data oriented (DOD)/component based. :)

    - data driven: that's the obvious one, it's mostly due to the config system

    - data oriented : it's the whole Array of Structures (AoS) vs Structure of Arrays (SoA) concept. Most allocations in orx (actually all but strings) are packed in memory by structure types in what are called orxBANKs. Those happen to not only provide faster iteration accesses but also reduce memory fragmentation (and as orx is using a high watermark approach, it also optimize creation/deletion of elements).

    - component based: most of the orxOBJECT properties are not part of the orxOBJECT structure itself but are spread in specialized components (in our case they're called orxSTRUCTUREs) which are linked to orxOBJECTs upon needs. Those components are all stored in memory in a data oriented design fashion (cf. last point).

    Some systems do not yet take full advantages of the DOD approach but I'm converting them slowly, the most obvious one currently being the Render plugin. :)
  • edited March 2014
    What's DOD?
  • edited March 2014
    DOD = Data Oriented Design

    There are plenty of references if you google them however this pdf is a good introduction:
Sign In or Register to comment.