Atomic Game Engine
Atomic Game Engine은 Urho3D 코드를 기반으로 Thunderbeast Games가 2014년부터 개발한 공개 2D·3D 게임 엔진이다. 2016년 Game Developers Conference 시기에 MIT 라이선스로 공개됐으며 C++ 런타임에 JavaScript·T...
| 분류 | 무료·오픈 소스 2D·3D 게임 엔진 |
|---|---|
| 초기 개발사 | Thunderbeast Games |
| 기술적 기반 | Urho3D의 포크 |
| 개발 시작 | 2014년 11월 |
| 공개 릴리스 | 2016년 GDC에서 MIT 라이선스로 공개 |
| 작성 언어 | C++ 및 편집기 관련 코드 |
| 게임 개발 언어 | JavaScript, TypeScript, C#, C++ |
| 에디터 | Atomic Editor, Monaco 코드 편집기 |
| 실행 구조 | Node·Component 기반 장면 그래프 |
| 렌더링 | Direct3D 9·11, OpenGL 2·3·ES2, WebGL |
| 물리·AI 확장 | Box2D·Bullet·Recast/Detour |
| UI 기술 | TurboBadger, Chromium 기반 웹뷰 |
| 지원 플랫폼 | Windows, Linux, macOS, Android, iOS, WebGL |
| 라이선스 | MIT License |
| 개발 상태 | 원래 저장소 역사적 상태, 별도 포크 존재 |
| 소스 코드 | AtomicGameEngine/AtomicGameEngine |
Atomic Game Engine은 Urho3D 코드를 기반으로 Thunderbeast Games가 2014년부터 개발한 공개 2D·3D 게임 엔진이다. 2016년 Game Developers Conference 시기에 MIT 라이선스로 공개됐으며 C++ 런타임에 JavaScript·TypeScript·C#·C++ 게임 프로그래밍 인터페이스를 연결했다. 코드를 중심으로 게임을 제작하면서도 통합 편집기에서 2D·3D 자산과 장면을 관리할 수 있도록 설계됐다.[1]
엔진의 장면은 Node와 Component로 구성하며, 카메라·광원·모델·스크립트와 물리 객체를 필요한 조합으로 배치한다. 게임 제작자는 C++ 네이티브 코드를 직접 작성하거나 JavaScript·TypeScript·C#을 이용해 공통된 API로 게임 객체와 이벤트를 제어할 수 있다. 여러 언어에서 동일한 시스템을 사용하도록 자동 바인딩 생성 기술이 적용됐다.
Atomic Editor에는 코드·자산 편집 기능이 포함되고 Monaco JavaScript·TypeScript 편집기와 외부 IDE 연결을 활용할 수 있다. 모델·애니메이션과 Tiled 맵, Spriter 등 여러 2D·3D 콘텐츠 형식을 가져올 수 있으며 에디터 내 미리보기는 별도 프로세스로 실행해 개발 중 오류가 편집기 전체에 미치는 영향을 줄이도록 설계됐다.
렌더링 백엔드에는 Direct3D와 OpenGL·OpenGL ES 및 WebGL 계열 기술이 사용됐다. 물리·경로 탐색에 Box2D·Bullet·Recast/Detour를 연결하고, 사용자 인터페이스에는 TurboBadger·Chromium 관련 기술을 활용할 수 있다. 이러한 외부 라이브러리 통합은 엔진의 모든 기능을 처음부터 독립적으로 재구현하지 않고 검증된 구성 요소를 결합하는 개발 방식을 보여 준다.
원본 프로젝트는 MIT 라이선스로 소스를 공개했으며 상업적인 게임에도 사용할 수 있다. 그러나 초기 공식 개발 흐름과 현재 여러 포크의 유지보수는 구분해야 한다. Urho3D의 후속 분기라는 사실만으로 모든 최신 Urho3D 프로젝트의 기능과 소스 호환성을 보장하지 않으며, 플랫폼·빌드 도구와 패키지의 상태는 해당 소스 버전을 기준으로 확인해야 한다.