zewenn/loom
loom is a declarative, entity component system based game engine, written in zig.
master
refs
master
The declarative, ECS-based game engine, written in zig.
loom wraps raylib-zig and uses johan0A's clay-zig-bindings for UI.
[!important] This project uses zig version
0.15.1
and Raylib5.6-dev
.
The engine aims to provide a declarative interface for game development. We try to provide a "code only Unity", where you only have to configure scenes and entities with only a few lines of code.
Adding loom is easy, just follow these steps:
Fetch the package.
zig fetch --save git+https://github.com/zewenn/loom#stable
Get the module.
const loom_dep = b.dependency("loom", .{
.target = target,
.optimize = optimize,
});
const loom_mod = loom_dep.module("loom");
Add the import
target_module.addImport("loom", loom_mod);
You are ready to go, import loom into you project:
const loom = @import("loom");
We have a few example projects included in this repository. Here is how you can run them:
git clone https://github.com/zewenn/loom.git && cd ./loom
zig build example=<example name>
Currently available examples:gamepad
(only works with a gamepad connected)spawning-removing
display-sorting
components
global-behaviours
audio