I really like this kind of approach to 2D games JavaScript development.
I'm regularly using CraftyJS to develop 2D games but I feel like there's something wrong in the development process. The library is huge and therefore hard to maintain, and I'm only using a little part of it.
By using a "gameloop" library and npm + browserify to define dependencies you can include whatever rendering library you want (pixi.js, three.js, etc.).
I wouldn't personally call Crafty "huge", but it certainly is monolithic in the sense that the bundle comes with two renderers, input management, game loop, sound, entity-component system, and so on. Which is a bit, ironic given the main goal of ECS is to decouple systems.
IMO it would be a much nicer library if it was just the ECS, with add-on modules for rendering, sound, etc.
I'm regularly using CraftyJS to develop 2D games but I feel like there's something wrong in the development process. The library is huge and therefore hard to maintain, and I'm only using a little part of it.
By using a "gameloop" library and npm + browserify to define dependencies you can include whatever rendering library you want (pixi.js, three.js, etc.).