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]

역사

개발과 기술적 배경

엔진 아키텍처

3D 렌더링과 그래픽스

맵·장면과 게임 객체

시뮬레이션·AI·물리

언어와 스크립팅

자산·편집기·개발 도구

지원 플랫폼

라이선스 및 소스 공개

적용 게임·프로젝트

관련 엔진과 문서

  1. Crystal Space 공식 소스 저장소 ↩
  2. Crystal Space 라이선스 안내 ↩