Crystal Space
Crystal Space는 C++로 개발된 공개 3차원 게임·시각화 게임 엔진 프레임워크다. 1990년대 후반부터 여러 운영체제에서 그래픽스·장면 관리 및 관련 실시간 기술을 제공하도록 발전했으며, 공개 소스와 플러그인 구조를 이용해 게임 제작자가 필요한 기능을 결합할 수 있는 도구를...
| 분류 | 오픈 소스 게임 엔진, 3D 개발 프레임워크 |
|---|---|
| 개발 주체 | Crystal Space 프로젝트 |
| 작성 언어 | C++ |
| 개발 인터페이스 | C++ 및 Python·Java·Perl 바인딩 |
| 렌더링 | OpenGL 기반 3D 그래픽스 |
| 장면과 객체 | 플러그인형 장면·객체·리소스 관리 |
| 주요 기능 | 3D 렌더링, 애니메이션, 물리·충돌 연동 |
| 데이터·도구 | 모델 로더, 장면 및 콘텐츠 도구 |
| 확장 | 플러그인·여러 언어 바인딩 |
| 개발 플랫폼 | Windows, Linux, macOS, BSD 등 |
| 라이선스 | GNU LGPL |
| 소스 코드 | GitHub |
| 프로젝트 사이트 | crystalspace3d.org |
| 개발 성격 | 역사적 공개 3D 엔진 |
Crystal Space는 C++로 개발된 공개 3차원 게임·시각화 게임 엔진 프레임워크다. 1990년대 후반부터 여러 운영체제에서 그래픽스·장면 관리 및 관련 실시간 기술을 제공하도록 발전했으며, 공개 소스와 플러그인 구조를 이용해 게임 제작자가 필요한 기능을 결합할 수 있는 도구를 제공했다.
Crystal Space는 장면과 객체를 관리하고 3차원 메시·재질, 텍스처·조명 및 카메라를 렌더링하는 구조를 중심으로 한다. 플러그인형 컴포넌트는 기본 엔진에 필요한 그래픽스·자산 로더와 확장 기능을 연결하며, 사용자는 프로젝트에 맞는 장면 구조와 리소스 관리 방식을 선택할 수 있다.
개발 인터페이스는 C++을 중심으로 제공되며 Python·Java·Perl 등의 언어 바인딩도 개발됐다. 엔진 소스의 빌드와 응용 프로그램 개발은 Windows·Linux 및 여러 Unix 계열 운영체제에서 지원됐으며, 일반적인 네이티브 C++ 컴파일러와 빌드 도구를 활용할 수 있다.[1]
애니메이션·충돌·물리 시스템과 게임 객체의 관계를 구성할 수 있지만, 각 게임의 AI·네트워크·규칙과 편집기 도구는 엔진의 기본 모듈 또는 외부 기술과 결합해 제작할 수 있다. Crystal Space는 단일 장르의 게임을 제작하는 완성형 프로그램보다 게임 개발에 필요한 여러 기능을 공개 라이브러리로 제공하는 성격이 강하다.
Crystal Space 소스는 GNU Lesser General Public License(LGPL)로 공개돼 있다. 공개 저장소는 LGPL에 따라 상용 애플리케이션에서 라이브러리로 사용할 수 있는 방법을 설명하지만, 엔진 자체를 수정해 재배포할 때는 해당 라이선스의 의무가 적용된다. 현재 범용 3D 엔진의 발전과 비교할 때 공개 개발·플러그인 아키텍처의 초기 사례로 의미가 있다.[2]