ClanLib

ClanLib은 C++로 개발된 크로스 플랫폼 게임 제작·멀티미디어 프레임워크다. 그래픽스와 오디오·입력·창 관리, 네트워크 및 GUI 기능을 애플리케이션에서 사용할 수 있는 API로 제공한다. 완성된 레벨 편집기·게임 규칙이 모두 포함된 통합 엔진보다는 개발자가 자신의 게임 실행 구조...

분류게임 엔진 또는 게임 제작 프레임워크
개발 주체ClanLib 개발 공동체
작성 언어C++
게임 개발 언어C++
주요 기술2D 렌더링, 창·입력, 사운드, UI, 네트워킹
지원 플랫폼Windows, Linux 등
라이선스zlib 계열 허용 라이선스
소스·기술 자료프로젝트 자료
공식 웹사이트공식 사이트
구현 방식C++ 라이브러리
제작 도구코드 중심
윈도 시스템플랫폼별 추상화
렌더링2D·3D 그래픽스
개발 모델공개 라이브러리

ClanLib은 C++로 개발된 크로스 플랫폼 게임 제작·멀티미디어 프레임워크다. 그래픽스와 오디오·입력·창 관리, 네트워크 및 GUI 기능을 애플리케이션에서 사용할 수 있는 API로 제공한다. 완성된 레벨 편집기·게임 규칙이 모두 포함된 통합 엔진보다는 개발자가 자신의 게임 실행 구조를 구성하는 데 사용하는 라이브러리 성격이 강하다.[1]

프로그램은 ClanLib의 윈도 시스템과 게임 루프를 이용해 프레임을 갱신하고 화면에 이미지·도형 또는 텍스트를 렌더링한다. 그래픽스·입력 등의 기능은 플랫폼별 API를 추상화해 C++ 코드에서 비슷한 인터페이스로 호출할 수 있다. 게임 객체 구조와 AI·물리 규칙은 별도 라이브러리 또는 개발자의 게임 코드와 연결해야 한다.

ClanLib의 네트워크와 사운드·UI 관련 기능은 데스크톱 게임과 대화형 소프트웨어에 활용할 수 있다. C++ 컴파일러와 프로젝트 빌드 환경에서 라이브러리를 링크해 사용하며, OpenGL 등의 그래픽스 백엔드와 관련된 기능은 버전별로 변경됐다. 복수의 모듈을 모두 사용하지 않고 필요한 부분만 결합하는 개발 형태도 가능하다.

프로젝트는 공개 소스 라이브러리로 개발돼 왔으며 허용적인 zlib 계열 라이선스 모델을 사용한 릴리스가 존재한다. 다만 사용한 라이브러리 버전과 포함된 제삼자 구성 요소에 따라 구체적인 고지 조건을 확인해야 한다. 상용 게임 개발에서 프레임워크를 이용하는 것과 원래 라이브러리 자체의 재배포 권한을 구별할 수 있다.

libGDX와 MonoGame처럼 ClanLib도 프로그래밍 API 중심의 개발을 제공한다. ClanLib은 네이티브 C++을 사용하는 반면 다른 프레임워크는 Java 또는 C#과 각자의 런타임·플랫폼 추상화 계층을 활용한다. 따라서 게임 엔진 목록에는 포함되더라도 완전한 에디터형 게임 엔진과는 구분하는 것이 적절하다.

역사

개발 조직 및 계보

엔진 아키텍처

렌더링과 그래픽스

객체·장면·게임 규칙

프로그래밍과 스크립팅

물리·애니메이션·AI

제작 도구와 자산 처리

지원 플랫폼

라이선스와 소스 공개

활용 게임

관련 문서

  1. ClanLib 공식 프로젝트 ↩