프로젝트 소개

Flecs는 게임과 시뮬레이션을 개발하는 C 및 C++ 개발자를 위해 설계된 고성능 ECS(엔티티 컴포넌트 시스템) 프레임워크입니다. 제로 의존성 C99 API와 STL 컨테이너를 피하는 현대적이고 타입 안전한 C++17 API를 갖춘 빠르고 가볍고 이식 가능한 솔루션을 제공합니다. 주요 기능은 다음과 같습니다: - **엔티티 관계**: 오픈소스 ECS 최초로 엔티티 관계를 완전히 지원합니다. - **계층 구조 및 프리팹**: 씬 그래프와 재사용 가능한 엔티티 템플릿을 기본 지원합니다. - **성능**: 캐시 친화적인 아키타입/SoA 저장소로 프레임당 수백만 엔티티를 처리할 수 있으며, 멀티코어 실행을 위한 락프리 스케줄러를 제공합니다. - **이식성**: 5초 이내에 빌드되며, 수정 없이 emscripten을 통해 브라우저에서 실행됩니다. - **리플렉션**: JSON 직렬화 및 런타임 컴포넌트 지원을 포함한 통합 리플렉션 프레임워크를 제공합니다. - **쿼리 언어**: 조인과 상속을 지원하는 강력한 쿼리 시스템을 제공합니다. - **도구**: 프로파일링을 위한 통계 애드온과 모니터링 및 제어를 위한 웹 기반 UI(Flecs Explorer)를 제공합니다. Flecs는 Tempest Rising과 Territory Control 2를 포함한 여러 상용 게임에서 사용되며, 트랜스폼, 물리, 렌더링 등용 모듈을 갖춘 커뮤니티 허브(Flecs Hub)가 있습니다. C#, Rust, Zig, Lua, Clojure용 언어 바인딩은 커뮤니티 구성원이 유지 관리합니다. 이 프로젝트는 MIT 라이선스로 제공되며, CI에서 13,000개 이상의 테스트를 통해 활발히 유지 관리되고, Discord 커뮤니티의 지원을 받습니다.