{"repo":"NSSTC/sim-ecs","free":true,"listed":false,"github":"https://github.com/NSSTC/sim-ecs","clone":"git clone https://github.com/NSSTC/sim-ecs.git","description":"Batteries included TypeScript ECS","language":"TypeScript","stars":122,"topics":["js","javascript","javascript-library","ecs","game-development","game-engine","game-engine-library","simulation","entity-component-system","typescript"],"license":"MPL-2.0","category":"game-templates","readme_excerpt":"sim-ecs A type-based, components-first, fully async batteries-included ECS, which is optimized for simulation needs. There's a big emphasis on developer experience, like type-hinting and auto-completions. Sim-ecs will run in NodeJS, Deno, BunJS and the browser. It can be installed using your favorite package manager, for example: or used as direct import for Deno: --- - Considerations - Why use sim-ecs - Runtime requirements - Examples - Counter - Events - Pong - System Error - Where is the Documentation - Creating the ECS and a World - Prepare-Time World - Runtime World - Setting Resources - Defining Systems - System Parameter Types - Hot Reloading Systems - Defining Components - Adding Entities - Working with States - Update loop - Commands - Saving and using Prefabs - Syncing instances - Building for Production - Plugins - Performance - The Benchmarks - The Result Considerations This ECS is inspired by SPECS and bevy-ecs (two Rust ECS libraries), however optimized for TypeScript. It is built for easy usage (DX) and high iteration speed. The trade-off is that insertion and deletion are slower, however there are optimizations and opinionations in place to still make it fast. For example, by using commands, these operations are batched and executed when it is safe to perform them. In order to create optimized simulation runs, the ECS has to be fully specified in the beginning. All components, systems and queries need to be registered at the start. AoS vs SoA Sim-ecs uses the ","default_branch":null,"files":null,"tree":[],"storefront":"/r/NSSTC","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/NSSTC/sim-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."}