Monocle Engine

Monocle Engine은 Maddy Thorson이 《TowerFall》 개발 과정에서 구축한 C# 기반 2차원 게임 엔진 프레임워크다. Microsoft XNA의 그래픽스·입력·게임 루프를 활용해 장면과 엔티티·컴포넌트를 관리하며 이후 《Celeste》에도 공통 기술이 사용됐다....

분류게임 엔진, XNA·FNA 기반 2D 게임 프레임워크
원 개발자Maddy Thorson
원 제품 기반Microsoft XNA, 이후 FNA
코드 언어C#
초기 대표 게임TowerFall 및 TowerFall Ascension
후속 적용Celeste (2018년)
자료 구조Scene, Entity, Component
주요 기능2D 스프라이트·애니메이션·충돌·입력
렌더링XNA/FNA 계층의 2D 그래픽스
게임 규칙게임별 네이티브 C# 구현
포팅 계통FNA·MonoGame을 이용한 플랫폼 이식
운영체제Windows, Linux, macOS 및 게임별 콘솔
라이선스MIT License(공개 코드)
소스 보존MonocleEngineMirror
초기 소스Monocle 원본 미러
개발사Maddy Makes Games

Monocle Engine은 Maddy Thorson이 《TowerFall》 개발 과정에서 구축한 C# 기반 2차원 게임 엔진 프레임워크다. Microsoft XNA의 그래픽스·입력·게임 루프를 활용해 장면과 엔티티·컴포넌트를 관리하며 이후 《Celeste》에도 공통 기술이 사용됐다. 같은 이름의 다른 그래픽스 도구와 구별되는 독립적인 인디 게임 개발 프레임워크로, 상위 게임 규칙과 하부 플랫폼 라이브러리의 경계가 뚜렷하다.[1]

Monocle의 중심 구성은 Scene, Entity와 Component다. Scene은 현재 갱신과 렌더링이 이루어지는 게임 세계를 나타내고 Entity는 캐릭터와 장치·효과 등 객체를 표현하며 Component는 애니메이션·충돌·표시와 같은 역할을 부착한다. 월드 상태의 갱신과 그래픽스 명령은 기본 실행 주기에서 처리되며 게임마다 별도의 상태 기계나 이동 규칙을 상위 코드에 작성한다.

《TowerFall》은 국지적인 2D 경기장에서 활 쏘기와 이동·회피 등 빠른 대전 규칙을 구현했으며, 《Celeste》는 이를 계승한 프레임워크 위에 정교한 이동·점프·대시와 장면별 게임 진행을 작성했다. 같은 하위 엔진을 사용해도 게임플레이의 핵심 물리 파라미터, 충돌 검사와 레벨 구성은 개별 게임에 맞추어 구현되었다. 게임 엔진 자체와 특정 상용 작품의 게임 로직을 구분하는 것이 중요하다.

플랫폼 처리는 원래 XNA 계열 런타임과 이후 FNA·MonoGame 등의 재구현 라이브러리를 통해 이루어진다. 이러한 라이브러리는 화면·오디오·입력·게임패드와 운영체제 차이를 추상화하고 Monocle은 그 위에서 장면과 객체·애니메이션을 조직한다. 일반적인 완제품 엔진에 들어 있는 모델링·3D 장면 편집기와 자산 저장 시스템을 모두 Monocle이 독자적으로 제공하는 형태는 아니다.[2]

2012~2014년경 공개된 Monocle 코드의 아카이브에는 Engine·Scene·Entity, 충돌·Graphics·Input·Particles 디렉터리와 XNA/FNA용 빌드 파일이 존재한다. 이전 Bitbucket 원본이 더는 접근되지 않는 경우가 있어 후대의 GitHub 미러가 기술 보존 자료로 활용된다. 상용 게임 실행 파일의 개별 버전과 미러에 보존된 프레임워크 코드가 정확히 동일한 릴리스라고 단정해서는 안 된다.

공개된 Monocle 소스에는 MIT License가 적용된다. 이 조건은 게임 프레임워크 코드에 관한 것이며 《TowerFall》과 《Celeste》의 상용 콘텐츠·미술·음악 및 게임 자체가 같은 조건으로 공개된다는 뜻이 아니다. Monocle은 인디 게임 개발자가 간결한 엔진 계층을 직접 구축하고 XNA 계열 플랫폼 기술 위에 게임의 고유 시스템을 올린 사례다.[3]

역사

개발 목적과 기술 계보

엔진 구조·실행 모델

프로그래밍과 스크립팅

그래픽스와 렌더링

월드·오브젝트와 게임 규칙

입력·오디오·네트워크

콘텐츠 제작과 개발 도구

플랫폼·배포 방식

라이선스와 소스 공개

활용 및 기술적 영향

관련 문서

  1. Monocle 소스 미러 ↩
  2. Monocle과 Celeste의 프레임워크 구조 ↩
  3. Monocle MIT 라이선스 아카이브 ↩