Search Unity

  1. Looking for a job or to hire someone for a project? Check out the re-opened job forums.
    Dismiss Notice
  2. Good news ✨ We have more Unite Now videos available for you to watch on-demand! Come check them out and ask our experts any questions!
    Dismiss Notice

Books on Data oriented design pattern / ECS

Discussion in 'General Discussion' started by 11tomi12, May 26, 2019.

  1. 11tomi12

    11tomi12

    Joined:
    Feb 25, 2016
    Posts:
    17
    I chose the 'Entity component system' programming pattern for my diploma thesis, more specifically using it in conjunction with Unity3D, which added this feature recently and now found out that there are very few books (e-books) on this topic.
    Did anyone search for the same topic and had any success finding up to date books on this topic?

    I did find a book from Richard Fabian: Data-Oriented Design, which was released about a year ago but I am not sure if it's worth buying since ECS wasn't really mentioned.

    Any other suggestions for books or good articles on this topic are highly appreciated!
     
  2. Lurking-Ninja

    Lurking-Ninja

    Joined:
    Jan 20, 2015
    Posts:
    5,594
    You won't find any book about Unity ECS just yet, since the product isn't even close to finished. If you find something, most likely they're lying to you. You can find tutorials though.
    And you can find books on the underlying pattern: DoD, but you already mentioned that. Unity ECS is a Unity-related implementation of one specific DoD pattern, the ECS (Entity-Component-System).
    Also Jason Gregory's Game Engine Architecture contains info about DoD and Entity-systems in general (no Unity reference, of course).
     
  3. Ryiah

    Ryiah

    Joined:
    Oct 11, 2012
    Posts:
    16,504
    I'm about to leave to run some errands but I managed to find a couple of potential books. If I had more time I could dig up more books on the subject. Just keep in mind you won't find any that are specifically aimed at Unity for the reason that was mentioned by @Lurking-Ninja.

    https://www.amazon.com/Engine-Architecture-Third-Jason-Gregory/dp/1138035459
    https://www.amazon.com/Game-Programming-Patterns-Robert-Nystrom/dp/0990582906
     
  4. 11tomi12

    11tomi12

    Joined:
    Feb 25, 2016
    Posts:
    17
    Thank you guys so much! The books don't neccesarily have to be Unity-based, just the programming pattern in general. I will however use Unity to implement a prototype by using it's own implementation of DOTS.
     
  5. kdgalla

    kdgalla

    Joined:
    Mar 15, 2013
    Posts:
    2,586
    Try looking for scholarly articles also, rather than just books. They tend to be more "cutting-edge" and focused as far as research goes.
     
  6. snacktime

    snacktime

    Joined:
    Apr 15, 2013
    Posts:
    3,175
    Entity systems are more of a collection of patterns and different implementations often have a different focus. Unity's implementation is more focused on performance. The first versions of ECS weren't performance focused that came later when someone realized ECS fit DOD patterns easily.

    Credited as the first implementation known, this was from a gdc talk in 2002
    https://www.gamedevs.org/uploads/data-driven-game-object-system.pdf

    A bit of history:
    https://gist.github.com/LearnCocos2D/77f0ced228292676689f

    Largest collection of ECS material I know of, although not complete by any means
    http://entity-systems.wikidot.com/
     
    scvnathan and Ryiah like this.
  7. nxrighthere

    nxrighthere

    Joined:
    Mar 2, 2014
    Posts:
    568
    Lurking-Ninja, Akshara and elbows like this.
  8. elbows

    elbows

    Joined:
    Nov 28, 2009
    Posts:
    2,463
    nxrighthere likes this.
  9. 11tomi12

    11tomi12

    Joined:
    Feb 25, 2016
    Posts:
    17
    I wasn't sure that the book was right for my needs but you convinced me, thanks!
     
    nxrighthere likes this.
  10. nxrighthere

    nxrighthere

    Joined:
    Mar 2, 2014
    Posts:
    568
    This book covers valuable and essential knowledge (such as access patterns) that you need to know before starting to work with any ECS pattern, especially if you are building an application or a framework out of Unity's ecosystem.
     
  11. Lurking-Ninja

    Lurking-Ninja

    Joined:
    Jan 20, 2015
    Posts:
    5,594
    +1
     
    nxrighthere likes this.
unityunity