realthx1/jecs_kernel

Modular runtime-agnostic ECS system orchestration framework for jecs.

jecs_kernel

Modular runtime-agnostic ECS system orchestration framework for jecs.

License: MIT pesde


Warning

This framework is unfinished and there will likely be a lot of breaking changes.

  • Runtime agnostic, only depends on luau's standard library.
  • Heavily inspired by Bevy.
  • Optimized for large amounts of systems.
  • Provides tools for combining and organizing ECS systems into logical components.
  • Jecs is the only dependency.
  • Type-safe API.

Installation

Using pesde:

Warning

Currently, only the roblox target is supported.

pesde add realthx1/jecs_kernel -t roblox

Features

The framework offers following features:

  • App - a primary logic container used to run systems, configure plugins and more.
  • Schedule - an optimized system executor with ordering and dependency resolution.
  • System - ECS systems created from a function with extra features.
  • SystemSet - a container of systems with shared dependencies and run conditions.
  • Plugin - a logic container used to group and configure systems.
  • PluginGroup - a logic container used to group and configure plugins.
  • SystemParam - a dynamic parameter provider for systems.
  • Runtime flags - values used to configure framework behavior at runtime.
  • Standard SystemParams and run conditions - a minimal set of common utilities.

Documentation

  • /examples/quickstart.luau - simple example which showcases the essentials.
  • /examples - advanced examples which showcase almost all aspects of the framework.
  • Public API - Use a language server to see doc comments. All public code is documented.

Benchmarks

Benchmark #1

500 empty systems in 1 schedule, default flags.