Banshee Engine
Banshee Engine은 Marko Pintera가 개발한 C++ 기반 공개 게임 개발 프레임워크·통합 게임 엔진이다. 다중 스레드 렌더링과 플러그인형 아키텍처, C# 게임 스크립팅 및 별도의 편집기를 결합하려는 프로젝트로 출발했다. 공개 소스가 존재하지만 개발자가 모든 기능의 상용...
| 분류 | 3D 게임 엔진, 통합 개발 도구 |
|---|---|
| 개발자 | Marko Pintera |
| 개발 모델 | 공개 저장소 기반 개발·포크 |
| 작성 언어 | C++ |
| 게임 개발 언어 | C# |
| 엔진 프로그래밍 방식 | 네이티브 C++ 런타임, 관리형 C# 스크립팅 |
| 그래픽스 API | Vulkan, Direct3D 11, OpenGL 등 브랜치별 |
| 제작 도구 | Banshee Editor |
| 주요 기능 | 씬·게임 객체, GUI, 리소스·애니메이션, 오디오 |
| 에셋 처리 | FBX, PNG, PSD, TTF, OGG, WAV 등 |
| 엔진 구조 | 플러그인·레이어 기반 모듈형 설계 |
| 개발 환경 | Windows 및 플랫폼 이식 목표 |
| 개발 상태 | 미완성·실험적 프로젝트 |
| 이용 조건 | 개발자가 공개한 독자적 무료 사용 조건 |
| 라이선스 유의 | 사용 프로그램에 Banshee 로고 표기 의무 |
| 프로젝트 저장소 | BansheeEngine |
Banshee Engine은 Marko Pintera가 개발한 C++ 기반 공개 게임 개발 프레임워크·통합 게임 엔진이다. 다중 스레드 렌더링과 플러그인형 아키텍처, C# 게임 스크립팅 및 별도의 편집기를 결합하려는 프로젝트로 출발했다. 공개 소스가 존재하지만 개발자가 모든 기능의 상용 제작 준비가 끝난 제품이라고 설명한 것은 아니므로 개발 목표와 구현 완료 범위를 구분해야 한다.[1]
엔진의 핵심은 C++ 라이브러리와 추상화된 그래픽스·입력·자산 처리 시스템이다. 게임 실행 코드는 장면 객체와 컴포넌트를 구성하고 카메라·광원·메시를 렌더링하는 과정을 관리한다. 런타임을 여러 레이어와 플러그인으로 나누면 프로젝트에 필요한 기능을 교체하거나 엔진의 일부만을 별도 개발 도구에 활용할 수 있다.
렌더링 백엔드에는 Direct3D와 OpenGL, 후속 브랜치의 Vulkan 등 그래픽 API가 포함되며 재질·셰이더와 리소스 로딩을 공통 인터페이스로 관리한다. 편집기는 맵과 장면·에셋을 수정하고 사용자 코드를 시험하는 환경을 목표로 했다. FBX 모델과 PNG·PSD 이미지, TTF 글꼴 등 여러 데이터 형식의 읽기·변환 기능이 통합 또는 계획됐다.[2]
C# 게임 스크립팅은 .NET 라이브러리와 개발 도구를 활용해 엔진 내부를 수정하지 않고 게임 로직을 작성하도록 설계됐다. 다만 최초 공개 버전의 일부 README에는 스크립팅과 편집기 기능이 개발 중이라고 명시돼 있다. 따라서 서로 다른 시기에 작성된 기술 소개의 목표 기능을 모든 공개 버전에서 이미 지원하는 기능으로 단정하지 않는다.
개발자의 공개 안내는 개인 및 상용 프로젝트에서 무료로 사용할 수 있다고 설명하면서 Banshee 로고 표기를 요구한다. 이는 MIT·Apache License처럼 아무런 브랜드 표시 조건이 없는 표준 허용적 라이선스와 동일하다고 단정하기 어렵다. 실제 수정·재배포에는 사용 중인 브랜치의 라이선스 파일을 확인해야 하며 역사적 프로젝트의 유지 상태도 별도로 고려해야 한다.