Fyrox
Fyrox는 Rust로 개발되는 오픈 소스 범용 2차원·3차원 게임 엔진이다. 초기에는 rg3d라는 이름으로 개발됐으며, 게임 세계를 그래프 구조로 구성하고 그래픽스·물리·애니메이션·오디오·UI 기능을 통합하는 런타임과 전용 장면 편집기를 제공한다. Rust의 정적 타입 시스템과 메모리...
| 분류 | 게임 엔진, 범용 2D·3D 게임 엔진 |
|---|---|
| 이전 이름 | rg3d |
| 개발자 | Dmitry Stepanov (mrDIMAS) 및 기여자 |
| 구현 언어 | Rust |
| 최초 안정판 | Fyrox 1.0.0 (2026년 3월 24일) |
| 게임 제작 | 네이티브 장면·UI 편집기, Rust 코드 |
| 핵심 모델 | 장면 그래프, 노드와 컴포넌트 |
| 렌더링 | 3D 물리 기반 렌더링, 조명·그림자, 2D 스프라이트 |
| 물리 | 2D·3D 강체, 충돌과 관절 |
| 애니메이션 | 상태 기계, 혼합·키프레임 애니메이션 |
| 오디오 | 3D 공간 음향 및 오디오 재생 |
| 사용자 인터페이스 | 게임 UI 및 편집기 UI 프레임워크 |
| 자산 관리 | 씬·모델·텍스처·애니메이션 리소스 |
| 개발 도구 | Fyrox Editor, 프로젝트 관리자·내보내기 도구 |
| 공개 라이선스 | MIT License |
| 공식 웹사이트 | fyrox.rs |
| 공식 저장소 | FyroxEngine/Fyrox |
Fyrox는 Rust로 개발되는 오픈 소스 범용 2차원·3차원 게임 엔진이다. 초기에는 rg3d라는 이름으로 개발됐으며, 게임 세계를 그래프 구조로 구성하고 그래픽스·물리·애니메이션·오디오·UI 기능을 통합하는 런타임과 전용 장면 편집기를 제공한다. Rust의 정적 타입 시스템과 메모리 안전성 도구를 이용하면서도 C++ 또는 C# 기반의 대형 게임 엔진처럼 시각적 콘텐츠 편집과 게임 로직 프로그래밍을 함께 지원하는 것을 목표로 한다.[1]
Fyrox의 기본 게임 세계 모델은 장면 그래프(Scene Graph)다. 게임 세계는 부모·자식 관계를 갖는 노드로 구성되며 각 노드에 위치·회전·크기와 렌더링·물리·애니메이션 요소를 연결할 수 있다. 재사용 가능한 장면 자료와 자산은 별도의 리소스로 로드되며, 이를 통해 게임을 실행하는 엔진과 편집 도구가 같은 세계 구성 방식을 공유한다. 개발자는 Rust 코드에서 엔진 API를 사용해 객체의 생성과 속성 변경, 이벤트·게임 규칙을 작성한다.[2]
렌더링에서는 3D 메시·재질·조명과 그림자, 물리 기반 렌더링(PBR), 이미지 기반 조명, 후처리 및 2D 렌더링 기능을 제공한다. 2D·3D 물리 엔진은 충돌과 강체, 제약과 관절, 캐릭터와 물체의 상호작용을 처리한다. 사운드 시스템은 3차원 공간 내 위치에 따른 오디오 재생 등을 지원하며, 애니메이션 플레이어와 애니메이션 상태 기계는 캐릭터 동작을 혼합하고 상황별 전환을 구성한다.
Fyrox Editor는 장면 구성과 객체 속성, 재질·모델·자산, 애니메이션과 사용자 인터페이스를 편집하는 통합 개발 환경이다. 편집기는 게임 런타임과 공통 라이브러리를 사용하여 결과를 미리보기로 확인하고 수정 사항을 게임 데이터에 반영한다. 애니메이션 편집기와 상태 기계 편집기, 자산 브라우저, 프로젝트 관리자와 내보내기 도구 등의 기능이 포함된다. 게임의 고유 규칙은 Rust 코드와 플러그인으로 작성하며 편집기에서 사용할 속성이나 스크립트 인터페이스를 결합할 수 있다.[3]
프로젝트는 약 7년의 개발을 거쳐 2026년 3월 24일 Fyrox 1.0.0을 첫 안정 버전으로 발표했다. 정식 릴리스에서는 애니메이션 편집, 텍스트 상자·에디터 UI, 장면 로딩과 리소스 처리, 프로젝트 내보내기, 사용자 인터페이스의 편의 기능을 전반적으로 개선했다. 여러 릴리스 후보판에서 추가됐던 렌더링·물리 기능과 수정 사항을 안정판에 통합했으며, 기존 0.x 계열과 비교할 때 개발 도구 및 API에서 많은 변화가 있었다.[4]
Fyrox는 엔진과 편집기 소스가 GitHub에 공개되어 있고 MIT License를 사용한다. 공개 예제와 문서, 게임 제작 안내를 통해 개인·상용 게임을 개발할 수 있다. Rust 언어와 Cargo 기반 빌드 생태계를 중심에 두고 장면·UI 편집기의 통합을 제공하므로, 저수준 렌더링 프레임워크와 시각적 게임 제작 도구 사이를 연결하는 사례다. 엔진의 플랫폼 지원과 그래픽스 기능은 버전·드라이버 및 배포 환경에 따라 차이가 있으므로 특정 기능의 사용 가능 여부는 해당 릴리스 자료를 기준으로 판단해야 한다.[5]