{"repo":"helioscout/moecs","free":true,"listed":false,"github":"https://github.com/helioscout/moecs","clone":"git clone https://github.com/helioscout/moecs.git","description":"Easy to use Entity Component System (ECS) crafted with Odin.","language":"Odin","stars":48,"topics":["ecs","gamedev"],"license":"MIT","category":"game-templates","readme_excerpt":"moecs - easy to use entity component system (ecs) crafted with odin. --- Setup\\ Worlds\\ Elements\\ Mutability and deferred actions\\ Resources\\ Entities\\ Components\\ Tags\\ Systems\\ Observers\\ Relations\\ Running the world\\ Iterating entities\\ Performance\\ Made with moecs\\ Memory concept\\ Why a bee\\ Quotes Setup Clone moecs repository into your project or nearby and import src folder. Worlds The top container is the space (ecs) that consists of worlds. You can create as much worlds as you want and all of them will be proceeded separately. But as a rule, one world is enough for you. Procedure Description ---------------- ---------------------------------------------------------------------------------------------- init() Initializes the ecs. Call it before all other actions with ecs. size() Gets worlds count. new world() Creates new world and returns a pointer to it. destroy() Free all worlds of the space. Call it before app exit or when ecs is not need anymore. Elements Kinds of elements that the world can consist of represented with Element enum. Member Description ---------------- ---------------------------------------------------------------------------------------------- COMPONENT Component element type ( Position , Mass , Velocity ). Must be defined as a struct or distinct custom type. TAG Tag element type for marking entities with some kind of characteristic. Must be defined as a typedef with a simple fundamental underlying type ( typedef Tag = int ). RESOURCE Resource ele","default_branch":null,"files":null,"tree":[],"storefront":"/r/helioscout","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/helioscout/moecs/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."}