Overload Engine

Overload Engine은 C++로 구현하고 Lua 스크립팅을 제공하는 자유·오픈 소스 3차원 게임 엔진이다. 2019년 Benjamin Viranin·Max Brun·Adrien Givry의 졸업 프로젝트로 시작됐으며 이후 공개 커뮤니티가 개발을 이어 갔다. 상용 엔진에 익숙한 개...

분류게임 엔진, 오픈 소스 3차원 게임 엔진
최초 개발자Benjamin Viranin, Max Brun, Adrien Givry
개발 시작2019년 졸업 프로젝트
현재 개발Overload Technologies와 커뮤니티
기본 언어C++
게임 스크립팅Lua
실행 구성3D 엔진·편집기·스크립트 런타임
그래픽스PBR 및 커스텀 셰이더
장면게임 객체·컴포넌트, 직렬화
물리강체 및 충돌·게임 상호작용
개발 도구장면·속성·자산 편집기
빌드Premake 및 플랫폼별 C++ 컴파일러
개발 목표단순성·확장성·문서화
예제 게임Cargo 데모
라이선스MIT License
공식 사이트overloadengine.org
공식 저장소Overload-Technologies/Overload

Overload Engine은 C++로 구현하고 Lua 스크립팅을 제공하는 자유·오픈 소스 3차원 게임 엔진이다. 2019년 Benjamin Viranin·Max Brun·Adrien Givry의 졸업 프로젝트로 시작됐으며 이후 공개 커뮤니티가 개발을 이어 갔다. 상용 엔진에 익숙한 개발자도 접근하기 쉬운 인터페이스, 간결한 아키텍처와 실용적인 제작 기능을 갖춘 자체 엔진을 목표로 한다.[1]

엔진 구조는 실행 코어와 게임용 리소스·오브젝트, 장면 처리와 에디터 등으로 구분된다. C++ 하위 시스템이 그래픽스·입력과 플랫폼별 기능을 처리하고 Lua 스크립트가 게임 행동을 구현하도록 한다. 이러한 분리는 엔진의 저수준 구현을 수정하지 않고도 게임 규칙과 콘텐츠를 반복해서 변경할 수 있게 한다.

렌더링에는 3차원 모델과 광원·카메라, 물리 기반 재질(PBR)과 사용자 정의 셰이더 기능이 포함된다. 장면에 배치한 객체의 변환과 모델·텍스처·재질을 통해 화면을 구성하고 에셋 파이프라인에서 관련 자료를 관리한다. 편집기에서는 오브젝트의 속성·계층을 확인하고 게임 월드를 수정할 수 있다.[2]

프로젝트는 개발자에게 에디터를 제공하면서도 게임을 실행하는 네이티브 코드를 함께 공개한다. Lua 바인딩과 물리·애니메이션 및 이벤트 기반 동작으로 기본 게임플레이를 구성하고, 소스의 내부 구조를 변경해 독립적인 도구나 게임 시스템을 추가할 수 있다. 완제품 엔진이 제공하는 모든 기능을 필수로 구현하기보다 필요가 분명한 시스템을 통합하는 접근법을 강조한다.

공개 저장소에는 Premake 빌드 파일과 C++ 소스, 게임 실행 및 도구 구성, 설명 문서가 포함돼 있다. Cargo 데모 프로젝트는 엔진의 기능을 보여주지만 해당 예제의 이미지·음악 등 일부 자산은 권리가 완전히 확인되지 않았다고 배포자가 알리고 있다. 그러므로 엔진 자체 코드의 자유로운 이용과 데모의 그래픽·소리 자산을 재사용할 수 있는 범위는 구분해야 한다.[3]

코드의 라이선스는 MIT License이며 프로젝트는 개인·상업용 게임 모두에서 엔진을 이용할 수 있다고 안내한다. 동일한 영어 단어를 사용하는 다른 게임 《Overload》와 엔진 제품명이 일치한다는 이유로 기술적 계보를 연결할 수는 없다. Overload Engine은 개발자가 직접 작성한 C++ 런타임과 Lua 스크립팅 및 그래픽 편집기를 결합한 소규모 3D 게임 제작 플랫폼의 사례다.[4]

역사

개발 목적과 기술 계보

엔진 구성과 실행 구조

객체·장면 모델

렌더링과 그래픽스

프로그래밍·스크립팅

물리·애니메이션·입력

오디오·사용자 인터페이스

자산 파이프라인과 제작 도구

지원 플랫폼과 배포

라이선스·소스 공개

활용 사례와 영향

관련 문서

  1. Overload Engine 공식 소스 ↩
  2. Overload 공식 기능 목록 ↩
  3. Overload Cargo 데모의 콘텐츠 라이선스 ↩
  4. Overload 공식 웹사이트와 라이선스 ↩