{"repo":"ark-ecs/Ark.jl","free":true,"listed":false,"github":"https://github.com/ark-ecs/Ark.jl","clone":"git clone https://github.com/ark-ecs/Ark.jl.git","description":"Archetype-based Entity Component System (ECS) for Julia","language":"Julia","stars":83,"topics":["ecs","entity-component-system","julia","agent-based-modeling","individual-based-modelling","simulation","gamedev"],"license":"Apache-2.0","category":"game-templates","readme_excerpt":"Ark.jl is an archetype-based Entity Component System (ECS) for Julia. It is a port of the Go ECS Ark. &mdash;&mdash; Features &nbsp; &bull; &nbsp; Why ECS? &nbsp; &bull; &nbsp; Installation &nbsp; &bull; &nbsp; Usage Features - Designed for performance and highly optimized. - Well-documented, type-stable API. - Entity relationships as a first-class feature. - Storage mode per component for ergonomics and SIMD, with support for user-defined storages. - Extensible event system with filtering and custom event types. - Fast batch operations for mass manipulation. - Deferred structural operations through command buffers. - Built-in GPU integration for maximal performance. - No systems. Just queries. Use your own structure. - Minimal dependencies, 100% test coverage. Why ECS? Entity Component Systems (ECS) offer a clean, scalable way to build individual- and agent-based models by separating agent data from behavioral logic. Agents are simply collections of components, while systems define how those components interact, making simulations modular, extensible, and efficient even with millions of heterogeneous individuals. Ark.jl brings this architecture to Julia with a lightweight, performance-focused implementation that empowers scientific modellers to design complex and performant simulations without the need for deep software engineering expertise. Installation Run this to add Ark.jl to a Julia project: Usage Here is the classical Position/Velocity example that every ECS shows in ","default_branch":null,"files":null,"tree":[],"storefront":"/r/ark-ecs","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/ark-ecs/Ark.jl/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."}