Angel Game Engine
Angel Game Engine은 Angel 2D라는 이름으로 알려진 C++ 기반 2차원 게임 프로토타이핑 프레임워크다. 빠른 게임잼 개발을 위해 그래픽스·입력·오디오·물리 기능을 간결한 코드 인터페이스로 제공하는 것을 목표로 한다. 완성된 대형 3D 통합 엔진보다 개발자가 엔진 내부...
| 통용 명칭 | Angel 2D, Angel Engine |
|---|---|
| 분류 | 2D 게임 프로토타이핑 프레임워크 |
| 개발 공동체 | Angel2D 프로젝트 |
| 작성 언어 | C++ |
| 주요 게임 개발 언어 | C++, Lua |
| 렌더링 | OpenGL |
| 물리 | Box2D 연동 |
| 오디오 | FMOD, OpenAL/Vorbis 등 |
| 입력·윈도 | GLFW |
| 텍스트 | FreeType·FTGL |
| 이미지 로딩 | DevIL·libpng |
| 스크립팅 연결 | SWIG·Lua |
| 용도 | 게임잼·2D 프로토타입 제작 |
| 라이선스 | BSD 3-Clause License |
| 프로젝트 상태 | 원본 GitHub 저장소 보관 처리 |
| 원본 코드 | angel2d/angel2d |
Angel Game Engine은 Angel 2D라는 이름으로 알려진 C++ 기반 2차원 게임 프로토타이핑 프레임워크다. 빠른 게임잼 개발을 위해 그래픽스·입력·오디오·물리 기능을 간결한 코드 인터페이스로 제공하는 것을 목표로 한다. 완성된 대형 3D 통합 엔진보다 개발자가 엔진 내부 코드를 읽고 수정하면서 자신의 게임 구조를 실험할 수 있는 기술에 가깝다.[1]
Angel은 OpenGL 렌더링과 GLFW 창·입력 처리, Box2D 물리 시뮬레이션 및 오디오 라이브러리를 결합한다. 개발자는 C++에서 기본 게임 객체와 화면 요소를 구성하고 물리 충돌이나 사운드 재생을 공통 인터페이스로 호출할 수 있다. 내부 도구가 여러 외부 라이브러리를 감싸더라도 필요하면 하위 라이브러리의 원시 기능에 접근할 수 있도록 설계됐다.
스크립팅에는 Lua와 SWIG 바인딩을 이용할 수 있고, 텍스트 렌더링에는 FreeType·FTGL, 이미지 자료 처리에는 libpng나 DevIL 같은 도구가 연동된다. 이러한 구성은 자체 그래픽스·음향·물리 시스템을 새로 구현하는 수고를 줄이면서 프로젝트 특성에 맞춰 라이브러리를 교체하도록 돕는다.
개발 공동체는 장면·객체를 지나치게 복잡한 계층으로 감싸기보다 낮은 추상화 비용과 읽기 쉬운 소스를 우선했다. 초기 제작자가 로스앤젤레스의 게임 개발 조직에서 활동했던 경험과 프로젝트의 이름이 연결된다는 설명도 공식 README에 남아 있다. 이 엔진은 현대의 비슷한 이름을 가진 AngeliA C# 게임 엔진과는 별도 프로젝트다.
원본 angel2d 저장소는 2018년 보관됐으며 현재 지속적으로 개발되는 엔진으로 표시하기 어렵다. 코드는 BSD 3-Clause License로 공개돼 상업적 프로그램에 재사용할 수 있지만, 외부 의존성과 오래된 빌드 환경의 호환성을 확인해야 한다.[2]