Hacker News new | ask | show | jobs
How to Build an Entity Component System Game in JavaScript (vasir.net)
28 points by enoex1 4335 days ago
4 comments

Great write-up. I find this system a lot more friendly than previous attempts I've made at game programming, usually involving derived classes of a an Entity class that posses inherited function calls for things like Draw(), Move(), etc.

By using data-only entities, it becomes a lot simpler to create Draw and Move classes which take an entity as an object and use the data therein to perform the action described by their class name. This makes it a bit simpler at the "main" code loop, because you don't need to pass handles, etc. down to the entities in order to draw using the game engine.

Gaah that's addictive. I mean, the source and blog post is nice too, but that game...! :)

On a more serious note: I've never heard of ECS before, but it seems like it's been used in game development for a while. I feel like most data visualization projects these days (especially the ones using D3.js) use some form of ECS, although not necessarily out of deliberation. I wonder if there are best practices from game development that can aide the development of data visualizations

Nice article.

I've built a Component-Entity-System library in JavaScript a while back, and the code is quite similar. You can check it out at https://github.com/qiao/ces.js

Thanks! I've come across your library before and I think it's great. I like how you abstract the World to be a container for the systems and entities.
Interesting. Working in my (first) game atm in my free time, was just about to refactor the enemy system, so this is a gios time to try something interesting like this!

Thanks for the writeup.