Flecs 是用于 C 和 C++ 的轻量级实体组件系统,有助于构建游戏等模拟场景。
Flecs 从一开始就以便携性为设计理念。它不仅可以在所有主要平台上运行,项目还可以将它与不同的编程语言一起使用。
实体组件系统 (ECS) 是一种组织代码和数据的方式,可构建更大、更复杂且更易于扩展的游戏。一般来说,以下内容被称为 ECS:
- 具有唯一标识的游戏对象的实体
- 具有可以添加到实体的数据类型的组件
- 具有为匹配组件查询的所有实体运行的功能的系统
核心特性
- 快速且可移植的零依赖C99 API
- 不使用 STL 容器的现代类型安全 C++11 API
- 第一个完全支持实体关系的开源 ECS !
- 对层次结构和预制件的快速原生支持
- 不到 5 秒即可构建的代码库
- 无需使用 emscripten 修改即可在浏览器中运行
- 缓存友好的原型/SoA 存储,每帧可以处理数百万个实体
- 支持具有数百个组件的实体和具有数万个原型的应用程序
- 跨共享库/DLL 开箱即用的自动组件注册
- 使用查询编写免费函数或在系统中自动运行代码
- 使用快速无锁调度程序在多个 CPU 内核上运行游戏
- 在所有主要平台上的 8 个编译器上编译无警告,CI运行超过 5000 个测试
- 带有JSON 序列化器的集成反射框架和对运行时组件的支持
- 组件的单位注释
- 强大的查询语言,支持连接和继承
- 用于分析 ECS 性能的统计插件
- 用于监视和控制应用程序的基于 Web 的 UI
评论