Piccolo Engine

Piccolo Engine은 BoomingTech가 공개한 교육·학습용 3차원 게임 엔진으로, 원래 Pilot Engine이라는 이름으로 개발됐다. 게임 엔진의 내부 구조와 제작 파이프라인을 다루는 GAMES104 강좌에 사용되는 미니 엔진이며, C++과 Vulkan 기반 렌더링·장면·...

분류게임 엔진, 학습용 오픈 소스 3차원 게임 엔진
이전 명칭Pilot Engine
개발 주체BoomingTech 및 GAMES104 교육 공동체
주요 목적GAMES104 게임 엔진 아키텍처 강좌 예제
개발 언어C++
렌더링 APIVulkan
주요 구조런타임·편집기, 장면·리소스·메모리
장면 모델World, Level, GameObject, Component
모듈RHI, 렌더링, 물리, 애니메이션, 입력
물리·디버깅PhysX 계열 및 디버그 렌더러
개발 도구PiccoloEditor
빌드CMake 3.19 이상
지원 환경Windows, Linux, macOS(기재된 구성별)
라이선스MIT License
원본 소스BoomingTech/Piccolo
공식 예제Piccolo README

Piccolo Engine은 BoomingTech가 공개한 교육·학습용 3차원 게임 엔진으로, 원래 Pilot Engine이라는 이름으로 개발됐다. 게임 엔진의 내부 구조와 제작 파이프라인을 다루는 GAMES104 강좌에 사용되는 미니 엔진이며, C++과 Vulkan 기반 렌더링·장면·리소스 시스템, 물리·애니메이션과 통합 편집기를 직접 확인할 수 있도록 설계됐다. 상용 제품의 모든 기능을 갖추기보다 교육자가 엔진 아키텍처의 핵심 원리를 실제 코드로 설명할 수 있게 하는 데 목적이 있다.[1]

프로젝트는 런타임과 편집기, 게임 월드·레벨·오브젝트를 구성하는 모듈을 포함한다. 장면은 월드와 레벨, 게임 오브젝트 및 컴포넌트로 표현하며 각 컴포넌트는 필요한 동작과 상태를 담당한다. 리소스 로딩·직렬화와 카메라·게임 로직의 처리를 분리해 실제 엔진이 다수의 하위 시스템을 조합하는 방식을 보여준다. 이 구조는 학생이 일부 모듈을 교체하거나 자체 시스템을 추가하는 실험에도 적합하다.

그래픽스 렌더러는 Vulkan 그래픽스 API를 기반으로 한다. 렌더링 하드웨어 인터페이스(RHI) 및 그래픽 자원을 추상화하는 계층이 렌더링 파이프라인과 결합하여 3차원 모델·재질·조명과 화면 출력을 처리한다. 모델과 텍스처는 자산 관리자와 변환 과정을 거쳐 런타임으로 전달되며 필요한 그래픽스 데이터의 생명주기를 관리한다. GPU를 직접 다루는 Vulkan 렌더링과 엔진 상위의 객체·장면 구조를 연결하는 방식이 중요하다.[2]

PiccoloEditor는 엔진의 장면과 게임 오브젝트를 직접 살펴보고 수정하는 도구다. 저장소에는 모델·자산 및 편집기 런타임 관련 코드와 빌드 설정이 포함되고, Windows 환경에서는 build_windows.bat로 프로젝트를 만들고 편집기를 실행할 수 있다. Linux에서는 Vulkan SDK·GLFW 및 여러 X11 관련 패키지 등이 필요하며 macOS는 문서 작성 당시 x86-64의 특정 도구 버전에서 시험됐다고 안내한다.

공식 설명은 Visual Studio 2019 이상, CMake 3.19 이상과 Git을 주요 빌드 조건으로 제시한다. 이러한 조건은 저장소에 문서화된 기준이고, Apple Silicon이나 최신 Vulkan 드라이버 환경에서 무조건 동일한 기능을 제공한다는 뜻은 아니다. 물리 디버그 렌더러는 공식 문서에서 Windows 전용 개발 구성으로 안내돼 있다.[3]

Piccolo의 공개 소스는 MIT License로 배포되며, 학습 자료로 엔진 코드와 설계를 분석하고 변경할 수 있다. 물리·렌더링 라이브러리와 외부 자료에 포함된 제삼자 구성 요소는 각각의 라이선스를 따른다. 엔진을 게임 제작에 사용할 가능성은 있지만 교육용으로 설계됐다는 특성을 고려해 상용 제품 수준의 완성도와 안정성을 가정해서는 안 된다. 공개된 실제 3D 엔진 아키텍처를 체계적으로 살펴볼 수 있는 프로젝트라는 데 가치가 있다.

역사

개발 배경과 기술 계보

엔진과 런타임 구조

그래픽스 및 렌더링

게임 객체와 실행 모델

프로그래밍·스크립팅

애니메이션·물리·입력

오디오·네트워크

제작 도구와 자산 관리

플랫폼별 실행과 이식

라이선스·소스 공개

주요 작품과 기술적 영향

관련 문서

  1. BoomingTech Piccolo 공식 저장소 ↩
  2. Piccolo 소스 및 렌더링 구성 ↩
  3. Piccolo: 플랫폼별 빌드·물리 디버깅 ↩