Spark Engine

Spark Engine은 Unknown Worlds Entertainment가 《Natural Selection 2》의 제작을 위해 개발한 독점 3차원 게임 엔진과 통합 도구 체계다. 이 게임은 1인칭 슈팅과 실시간 전략 지휘를 결합하므로 빠른 캐릭터 이동·무기·전투 외에도 건축과 병력...

분류게임 엔진, 멀티플레이 3D FPS 엔진
개발사Unknown Worlds Entertainment
개발 시기2000년대 후반~2010년대
대표 게임Natural Selection 2 (2012년)
개발 언어C++ 코어
게임 로직Lua 스크립트
핵심 구조시뮬레이션·렌더링·오디오·물리·네트워크 통합
개발 도구Editor, Builder, Viewer, Cinematic Editor
게임 구조FPS 전투와 RTS 지휘 시스템 결합
그래픽스실시간 3D 장면·셰이더·시각 효과
입력전투·지휘·UI 명령
멀티플레이클라이언트·서버 동기화
소스 공개엔진 전체 비공개
라이선스독점 상용 소프트웨어
개발진 자료Unknown Worlds: Spark Q&A
게임 개발사Unknown Worlds

Spark Engine은 Unknown Worlds Entertainment가 《Natural Selection 2》의 제작을 위해 개발한 독점 3차원 게임 엔진과 통합 도구 체계다. 이 게임은 1인칭 슈팅과 실시간 전략 지휘를 결합하므로 빠른 캐릭터 이동·무기·전투 외에도 건축과 병력 명령·자원·기술 트리를 처리해야 한다. 개발사는 Spark가 그래픽스 전용 도구가 아니라 오디오·네트워크·물리·스크립트·AI 및 제작 도구를 모두 포함한다고 공식 설명했다.[1]

기본 엔진 코어는 C++로 작성되며 가상 세계와 자원·실행 시스템, 렌더링 및 이벤트를 관리한다. 《Natural Selection 2》 특유의 유닛과 무기·플레이어, 지휘관·벽타기와 같은 규칙은 주로 Lua 게임 코드에 작성했다. 공통 시스템과 게임 고유 규칙을 나누면 엔진을 유지보수하면서 게임 로직을 상대적으로 빠르게 수정할 수 있다.

온라인 게임에서는 플레이어와 건물·발사체의 상태를 클라이언트·서버 사이에서 동기화하고 게임 시뮬레이션이 일정한 규칙에 따라 진행되도록 해야 한다. Spark는 네트워크와 경로 탐색, 물리·시각 효과를 런타임 안에 결합했으며 RTS 지휘 화면과 FPS 시점이 같은 월드 상태를 활용하도록 설계했다. 서버와 로컬 클라이언트의 처리 영역은 별도로 최적화할 수 있다.[2]

제작 도구에는 레벨을 구성하는 Editor, 자산과 리소스를 만드는 Builder, 모델과 데이터를 검사하는 Viewer, 시네마틱 연출을 제작하는 Cinematic Editor 등이 포함됐다. 개발진은 엔진의 제작 기능이 완성되기 전에 게임 개발을 동시에 진행하는 어려움을 언급하면서도 게임에 종속되지 않는 재사용 가능한 기술을 만들겠다는 목표를 제시했다.

Spark를 사용한 《Natural Selection 2》의 그래픽스는 조명과 그림자·재질, 애니메이션과 특수 효과 등을 포함하며 멀티플레이의 성능과 맞물려 발전했다. 하지만 발표된 엔진 구조가 다른 Unknown Worlds 게임의 엔진 선택까지 동일하게 규정하지는 않는다. 개발팀은 게임마다 별도 기술과 제작 파이프라인을 사용할 수 있다.

Spark 전체 소스와 편집 도구는 일반적인 오픈 소스 라이선스로 공개되지 않았다. 사용 게임의 콘텐츠와 상표권 및 모딩 자료에는 각각의 이용 조건이 적용된다. Spark는 C++ 게임 엔진과 Lua 게임플레이를 명확히 분리하여 FPS·RTS 혼합 멀티플레이를 실현한 사례로 기술할 수 있다.[3]

역사

개발 목적과 기술 계보

엔진 구조와 실행 모델

프로그래밍·스크립팅

렌더링과 그래픽스

게임 객체와 물리

입력·오디오·네트워크

에셋·개발 도구

지원 플랫폼과 배포

라이선스 및 소스 공개

활용과 기술적 영향

관련 문서

  1. Unknown Worlds: Spark Engine 개발자 Q&A ↩
  2. Spark Engine Q&A: 게임과 엔진 코드 분리 ↩
  3. Unknown Worlds 공식 엔진 설명 ↩