Monkey X
Monkey X는 Mark Sibly의 Blitz Research가 개발한 크로스 플랫폼 프로그래밍 언어와 게임 개발 도구이다. 게임 엔진 목록에서는 Monkey 언어를 다른 실행 환경에 번역해 게임을 실행하는 빌드·런타임 체계와 Mojo 게임 프레임워크를 포함하는 제품으로 분류한다....
| 분류 | 게임 엔진, 크로스 플랫폼 프로그래밍 언어·제작 도구 |
|---|---|
| 개발자 | Mark Sibly (Blitz Research) |
| 계보 | BlitzBasic·BlitzMax 후속 개발 언어 |
| 원 이름 | Monkey, Monkey X |
| 구현 방식 | 소스 변환형 컴파일러 및 플랫폼별 타깃 |
| 게임 언어 | Monkey 언어 |
| 기본 프레임워크 | Mojo |
| 내보내기 | C++, JavaScript, Java 등 타깃별 |
| 대표 대상 | Windows, macOS, Linux, HTML5, Android, iOS |
| 개발 도구 | Monkey IDE와 프로젝트 빌드 도구 |
| 현재 원본 상태 | 2023년 공개 저장소 보관 |
| 후속 공동체 | Cerberus X |
| 라이선스 | zlib/libpng License |
| 공식 공개 | blitz-research/monkey |
| 원본 배포 | Blitz Research Monkey X |
Monkey X는 Mark Sibly의 Blitz Research가 개발한 크로스 플랫폼 프로그래밍 언어와 게임 개발 도구이다. 게임 엔진 목록에서는 Monkey 언어를 다른 실행 환경에 번역해 게임을 실행하는 빌드·런타임 체계와 Mojo 게임 프레임워크를 포함하는 제품으로 분류한다. 일반적인 3D 장면 편집기 대신 언어·라이브러리와 개발 도구를 결합하여 여러 플랫폼의 게임을 같은 소스 구조에서 작성하도록 한다.[1]
Monkey X는 게임 소스를 대상 플랫폼에 맞는 언어로 변환하는 컴파일·번역 방식을 사용한다. 프로젝트는 HTML5 브라우저를 비롯한 데스크톱과 모바일 타깃을 목표로 설계됐으며 각 플랫폼에 필요한 빌드 도구와 라이브러리를 사용한다. 따라서 모든 플랫폼이 하나의 동일한 네이티브 실행기를 공유하는 것이 아니라 공통 소스의 의미를 유지하면서 별도의 타깃 코드를 생성하는 구조다.
Mojo 라이브러리는 2D 렌더링과 이미지·오디오·사용자 입력 및 게임 루프 관련 기능을 제공한다. 개발자는 Monkey 언어로 게임 상태와 객체를 작성하고 Mojo의 그림 그리기·입력·사운드 API를 사용하여 화면을 구성한다. 하드웨어나 운영체제별 API를 호출하는 부분은 타깃 런타임에서 처리한다. 고수준 게임 규칙과 플랫폼별 그래픽스·오디오 구현을 분리하는 방식이 특징이다.
Monkey X는 BlitzBasic·BlitzMax를 개발한 Mark Sibly의 언어·툴 제작 경험과 연결된다. 후대에는 같은 언어를 발전시키는 Cerberus X 프로젝트가 형성되어 원래의 Monkey X 코드와 별개의 유지보수 흐름을 이어갔다. 언어 구문과 컴파일러·타깃 SDK가 달라질 수 있으므로 옛 Monkey X 프로젝트를 오늘날의 Cerberus X에 옮길 때에는 API·설정 차이를 검토해야 한다.[2]
2023년 11월 원본 GitHub 저장소는 읽기 전용으로 보관됐다. 이는 과거 코드와 버전 이력을 보존하는 형태이며 후속 Cerberus X 커뮤니티의 존재와 구분해야 한다. 공식 itch.io 배포는 오래된 Windows·macOS용 다운로드를 제공하며 새 SDK 지원 범위를 의미하지 않는다.
Monkey X 원본 소스는 zlib/libpng License로 공개됐다. 엔진 전체가 상용 게임 콘텐츠를 제공하는 것이 아니므로 완성 게임에 포함한 그래픽과 음악 등은 독립적인 저작권을 가진다. Monkey X는 언어 변환 컴파일러와 게임용 공통 API를 결합하여 여러 운영체제·브라우저용 앱 개발을 가능하게 한 사례다.[3]