Maratis

Maratis는 프랑스의 Anaël Seghezzi가 개발한 공개 소스 3차원 게임 엔진 및 시각적 게임 제작 도구다. 모델과 장면을 편집하는 Maratis Editor, 게임을 실행하는 MEngine과 공통 기반인 MCore로 구성되며, Lua 스크립트로 게임 규칙을 구현하거나 C++...

분류게임 엔진, 3D 시각적 게임 제작 도구
원 개발자Anaël Seghezzi
개발 언어C++
게임 스크립트Lua
코어 모듈MCore, MEngine
제작 환경Maratis Editor
그래픽스OpenGL·GLSL, 고정 기능·셰이더 렌더링
물리Bullet Physics
에셋Blender exporter, Assimp 모델 로딩
오디오3D 사운드와 OGG·WAV 등
기본 플랫폼Windows, macOS, Linux, iOS 테스트
모델스켈레탈 애니메이션·재질·맵
엔진 라이선스zlib/libpng License
편집기 라이선스GNU GPL
공개 원본·포크dahnielson/Maratis
프로젝트 사이트Maratis3D

Maratis는 프랑스의 Anaël Seghezzi가 개발한 공개 소스 3차원 게임 엔진 및 시각적 게임 제작 도구다. 모델과 장면을 편집하는 Maratis Editor, 게임을 실행하는 MEngine과 공통 기반인 MCore로 구성되며, Lua 스크립트로 게임 규칙을 구현하거나 C++ SDK로 엔진을 직접 확장할 수 있다. 그래픽 디자이너가 편집기에서 3D 콘텐츠를 배치하고 개발자가 그 결과를 코드에 연결하는 작업 방식에 중점을 둔다.[1]

핵심 엔진은 장면의 오브젝트와 모델·재질·카메라·조명 및 애니메이션을 관리한다. 개별 3D 오브젝트의 위치와 회전, 재질과 렌더링 상태를 변경하며 런타임에서는 프로그램의 업데이트와 출력 순서를 수행한다. 게임 개발자는 Lua 코드로 객체를 이동하거나 이벤트를 처리할 수 있고, 엔진 내부의 특정 기능이 필요하면 C++ SDK를 이용해 추가 시스템을 결합한다.

그래픽스 구현은 OpenGL의 고정 기능 방식과 프로그래밍 가능한 셰이더 방식을 함께 지원하도록 개발됐다. 픽셀 단위 조명, 노멀 맵과 동적 그림자, GLSL 셰이더를 활용할 수 있으며 3D 모델에는 본 애니메이션과 여러 UV 맵을 적용할 수 있다. 오래된 GPU를 대상으로 하던 고정 기능 경로와 셰이더 기반 경로는 렌더링 기능 및 성능에서 차이가 있으므로 동일하게 보아서는 안 된다.

모델과 게임 자산은 Blender 내보내기 도구와 자체 메시 포맷, Assimp의 외부 포맷 읽기 기능 등을 통해 편집기·런타임에 전달된다. 자료 형식은 텍스처와 재질, 애니메이션 데이터, 충돌 모양 및 사운드 파일을 포함한다. Bullet 라이브러리는 강체 시뮬레이션과 충돌 처리에 사용되며 외부 물리 엔진을 Maratis가 독자적으로 구현했다는 의미는 아니다.[2]

공개 자료는 Windows·Mac·Linux와 iOS에서의 시험 실행을 설명한다. 실제 포팅과 빌드 가능 여부는 그래픽 드라이버와 SDK, 컴파일러 및 프로젝트 포크의 버전에 따라 달라진다. 오늘날에는 역사적 저장소나 유지보수 포크가 남아 있어 과거 프로그램이 어떤 환경에서 동작했는지와 최신 시스템에서 실행 가능한 상태를 구분해 보존해야 한다.

Maratis는 하나의 소프트웨어 제품 안에서도 라이선스를 분리했다. 게임 엔진 라이브러리에는 zlib/libpng License, 편집기에는 GNU GPL이 적용되며 게임에 사용하는 자산은 별도의 저작권을 가진다. 이는 자유로운 엔진 사용과 개발용 편집기 프로그램 자체의 재배포 조건이 다를 수 있음을 보여주는 사례다.[3]

역사

개발 배경과 기술 계보

엔진 아키텍처와 실행 모델

프로그래밍·스크립팅

렌더링과 그래픽스

객체·장면·물리

입력·오디오·네트워크

자산과 제작 도구

플랫폼과 빌드

라이선스·소스 공개

주요 활용과 영향

관련 문서

  1. Maratis 개발 포크 및 프로젝트 설명 ↩
  2. Maratis README: 지원 기능 및 모델 형식 ↩
  3. Maratis 공식 소스 포크의 라이선스 설명 ↩