All Projects → yosriady → ecs

yosriady / ecs

Licence: other
🐰 Entity Component System

Programming Languages

elixir
2628 projects

Projects that are alternatives of or similar to ecs

SpaceWar-ECS
A space war game made with ECS and JobSystem in Unity.
Stars: ✭ 26 (-58.06%)
Mutual labels:  ecs, entity-component-system, entity-component
Entitas Csharp
Entitas is a super fast Entity Component System (ECS) Framework specifically made for C# and Unity
Stars: ✭ 5,393 (+8598.39%)
Mutual labels:  ecs, entity-component-system, entity-component
apecs
A petite entity component system
Stars: ✭ 17 (-72.58%)
Mutual labels:  ecs, entity-component-system, entity-component
Uecs
Ubpa Entity-Component-System (U ECS) in Unity3D-style
Stars: ✭ 174 (+180.65%)
Mutual labels:  ecs, entity-component-system
Pyro
A linear Entity Component System
Stars: ✭ 125 (+101.61%)
Mutual labels:  ecs, entity-component-system
Flecs
A fast entity component system (ECS) for C & C++
Stars: ✭ 2,201 (+3450%)
Mutual labels:  ecs, entity-component-system
Entitas Sync Framework
Networking framework for Entitas ECS. Targeted at turnbased games or other slow-paced genres.
Stars: ✭ 98 (+58.06%)
Mutual labels:  ecs, entity-component-system
Entitas Cpp
Entitas++ is a fast Entity Component System (ECS) C++11 port of Entitas C#
Stars: ✭ 229 (+269.35%)
Mutual labels:  ecs, entity-component-system
Awesome Entity Component System
😎 A curated list of Entity-Component-System (ECS) libraries and resources
Stars: ✭ 180 (+190.32%)
Mutual labels:  ecs, entity-component-system
imgui entt entity editor
A drop-in entity editor for EnTT with Dear ImGui
Stars: ✭ 146 (+135.48%)
Mutual labels:  ecs, entity-component-system
typed-ecstasy
An entity component system for TypeScript (and JavaScript), based on ashley
Stars: ✭ 25 (-59.68%)
Mutual labels:  entity-component-system, entity-component
ECS
Entity-Component-System
Stars: ✭ 122 (+96.77%)
Mutual labels:  ecs, entity-component-system
Gdk For Unity Fps Starter Project
SpatialOS GDK for Unity FPS Starter Project
Stars: ✭ 119 (+91.94%)
Mutual labels:  ecs, entity-component-system
Edyn
Edyn is a real-time physics engine organized as an ECS.
Stars: ✭ 113 (+82.26%)
Mutual labels:  ecs, entity-component-system
Ape Ecs
Entity-Component-System library for JavaScript.
Stars: ✭ 137 (+120.97%)
Mutual labels:  ecs, entity-component-system
Entitas Lite
Entitas-Lite is a No-CodeGenerator branch of Entitas, and also a fast & easy ECS framework for C#/Unity.
Stars: ✭ 106 (+70.97%)
Mutual labels:  ecs, entity-component-system
Egocs
EgoCS: An Entity (GameObject) Component System framework for Unity3D
Stars: ✭ 211 (+240.32%)
Mutual labels:  ecs, entity-component-system
TinyECS
Tiny ECS is an easy to use Entity-Component-System framework that's designed specially for Unity3D.
Stars: ✭ 20 (-67.74%)
Mutual labels:  ecs, entity-component-system
Learning Unity Ecs 2
A bunch of small Unity projects where I explore and learn Unity's new ECS and Job System. Updated for the new API.
Stars: ✭ 65 (+4.84%)
Mutual labels:  ecs, entity-component-system
Rust Game Development Frameworks
List of curated frameworks by the **Game Development in Rust** community.
Stars: ✭ 81 (+30.65%)
Mutual labels:  ecs, entity-component-system

Entity Component System

ECS.Registry.start

# Create an entity with a given collection of components.
bunny = ECS.Entity.build([TimeComponent.new(%{age: 0})])

# Each game turn, we may trigger a system to process and push some state updates to our components.
TimeSystem.process
TimeSystem.process

# Because Elixir is immutable, we need to pull the latest state.
bunny = ECS.Entity.reload(bunny)

# New components can be added at runtime, adding new behaviour to existing entities.
bunny = ECS.Entity.add(bunny, TimeComponent.new(%{age: 10}))

# State updates will also be pushed to components added at runtime.
TimeSystem.process
bunny = ECS.Entity.reload(bunny)

Thanks

ecs © 2016+, Yos Riady. Released under the MIT License.
Authored and maintained by Yos Riady with help from contributors (list).

yos.io  ·  GitHub @yosriady

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].