Hacker News new | past | comments | ask | show | jobs | submit login

It's Unity's (the game engine) new Entity-Component-System, the blog post is an answer to this presentation:

http://aras-p.info/texts/files/2018Academy%20-%20ECS-DoD.pdf

Unity's traditional entity system is suffering from a number of "OOP-isms" which make it hard/impossible to optimize for performance.

The new ECS strictly follows a Data-Oriented-Design approach, where everything is built around laying out the data in memory in a CPU-cache friendly way (and a few other things that neatly 'fall into place', like spreading work across CPU cores, a specialized 'high-performance' C# dialect, and the ability to move work from the CPU to the GPU).

The big question is how the traditional Unity audience will react, since the ECS programming model is quite a bit different from the old way, and it's no longer as simple to build a game from a jenga-tower of adhoc-hacks ;)




I don't think Entity-Component-System is Unity-specific. From what I recall from other articles, Unity has its own idiosyncratic implementation, but the pattern has several slightly different interpretations.


Correct, the first game to use ECS was Dungeon Siege back in 2002: https://www.gamedevs.org/uploads/data-driven-game-object-sys...


Dungeon siege used an "Entity/Component" framework. That's a very different thing to an "Entity/Component/System" framework.


This is correct. It's a general pattern widely used in game engines and some other areas; not at all Unity-specific.


I'm very glad that Unity is doing this, and it's made me interested in the engine for the first time in many years.

However, it's important to note that Unity is adding an ECS, not inventing the concept.


> The big question is how the traditional Unity audience will react

It's been well received so far (for example: https://forum.unity.com/threads/ecs-or-why-should-i-bother-m... ).

There's also a good incentive to adopt ECS for certain games; Unity is offering a hugely reduced runtime size if you follow the ECS pattern, which is much needed for web games and other “interactive experiences” (ads, mobile game demos). The “ECS for Small Things” presentation at GDC is worth a look for those interested:

https://www.youtube.com/watch?v=EWVU6cFdmr0


> the blog post is an answer to this presentation:

... which had some discussion earlier [1] and the top comment on that submission links to the article of this submission.

[1] https://news.ycombinator.com/item?id=18202308




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: