{"repo":"kutuluk/js13k-ecs","free":true,"listed":false,"github":"https://github.com/kutuluk/js13k-ecs","clone":"git clone https://github.com/kutuluk/js13k-ecs.git","description":"A <700b entity component system, designed for Js13kGames","language":"JavaScript","stars":92,"topics":["ecs","entity-component-system","gamedev"],"license":"MIT","category":"game-templates","readme_excerpt":"js13k-ecs Microscopic Object-oriented Entity Component System created specifically for the Js13kGames competition. It is primarily aimed at achieving the following goals: - Lightweight (<700b minzipped) - Effective minification of the final user code - A simple, concise and flexible API in a modern JavaScript style Performance is not the goal of this library and it is lower than that of other available ECS implementations, but it is quite sufficient for small games within the framework of the competition. The small size with full-featured ECS architecture support covers the speed lag. Installation The UMD build is also available on unpkg: You can find the library on window.ecs . Usage The demo can be found in the example folder. The example demonstrates a very dynamic simulation of a world with several thousand entities. To illustrate the performance improvement, the example also implements space partitioning using one component, one system, and the SpaceManager' utility class. Live demo API registerComponents(Class1, ..., ClassN) The function registers JavaScript classes for use as components. Classes can be registered either by a single call with multiple arguments, or by separate calls. Re-registration of an already registered class will not result in an error - in this case, nothing will be done. There are no restrictions on the number of registered classes. There are no requirements for classes, they can contain any data and have any methods. If the class contains the de","default_branch":null,"files":null,"tree":[],"storefront":"/r/kutuluk","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/kutuluk/js13k-ecs/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}