mirror of
https://github.com/Keyslam-Group/Concord.git
synced 2026-10-10 08:02:54 -04:00
Mirror of https://github.com/Keyslam-Group/Concord
| .github/workflows | ||
| concord | ||
| docs | ||
| guides | ||
| .gitattributes | ||
| .gitignore | ||
| .luacheckrc | ||
| config.ld | ||
| init.lua | ||
| LICENSE | ||
| README.md | ||
Concord
Concord is a feature complete library that allows you to use the Entity - Component - System (ECS) model to write and organize your Lua code.
Concord puts a lot of effort on being easy to use and provide a great developer experience, while trying to be competitive in performance with alternative libraries.
Installation
Download this repository and add the concord folder to your project. Then import it:
local Concord = require("path.to.concord")
Note
The file imported should be
concord/init.lua. Some Lua runtimes will allow you to requireconcord, but others will needconcord.init.
Documentation
Start with Get Started. It covers Worlds, Components, Entities, Filters, Systems, and Events.
Guides
- Why ECS? — when Concord (and ECS in general) is a good fit
- Custom Pools — using a different data structure than the default Pool list
- Pool Flushing and Timing — when Filters update, and how that interacts with Events
API reference is generated with LDoc and published on the GitHub page.
Contributors
- Pablo Mayobre: Rewrite, constant support and a good rubberduck
- Brbl: Early testing and issue reporting
- Josh: Squashed a few bugs and generated docs
- Erasio: I took inspiration from HooECS. He also introduced me to ECS
- Speak: Lots of testing for new features of Concord
- Tesselode: Brainstorming and helpful support
License
MIT Licensed - Copyright Justin van der Leij (Tjakka5)