{"repo":"vitei/Usagi","free":true,"listed":false,"github":"https://github.com/vitei/Usagi","clone":"git clone https://github.com/vitei/Usagi.git","description":"A hierarchical component entity system based game engine","language":"C++","stars":57,"topics":["entity-component-system","game-engine","ecs","vulkan"],"license":"MIT","category":"game-templates","readme_excerpt":"usagi ===== Usagi is a platform independent hierarchical Entity-Component-System based game engine created by Vitei Inc.. In Usagi the entire world is grouped into a hierarchy of entities. These entities are very fine grained, every bone on every character is an entity, with optional additional logical entities where required. Only components have data, and only systems have code. Entities are a concept to tie together a collection of components and the systems to be run on them; they have neither data nor code. The systems to be run are determined by the components attatched to an entity. Systems can only act on components from one entity, but they can read from components belonging to parent entities. For example, the update UpdateSoundActor system will act on any entity with a SoundActorComponent which also has a MatrixComponent in its self or one of its parents. If a RigidBody component exists it will also use that to set a velocity on the SoundActorComponent. Components of other entities are never directly written to, events are used to communicate between entities By modifying the ECS design pattern to put a hierarchy at its core we believe we have created a paradigm which is far more practical when trying to manage the complex interactions required in a modern game, as well as improving multi-threading potential. The word Usagi is Japanese for rabbit. Rabbits are quick, nimble and light, and that was our goal for the engine. Vitei was developing games limited in scope ","default_branch":null,"files":null,"tree":[],"storefront":"/r/vitei","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/vitei/Usagi/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."}