클라우제비츠 엔진

 


1. 개요
2. 상세
3. 엔진 성능
4. 조미니 엔진


1. 개요


클라우제비츠 엔진은 패러독스 인터렉티브 산하의 패러독스 개발 스튜디오에서 자체개발하는 게임 엔진으로, 패러독스 개발 스튜디오의 대표작인 크루세이더 킹즈 시리즈, Europa Universalis 시리즈, Victoria 시리즈, Hearts of Iron 시리즈, 스텔라리스 시리즈에 모두 이용되었다.

2. 상세


클라우제비츠 엔진은 거대한 자율적 에이전트 모델로, 수만개의 에이전트들이 인스트럭션에 맞추어 가동되게 만들어졌다. 이 엔진으로 제작된 게임은 모두 넓은 지역에서의 세미 리얼타임 대전략 시뮬레이션이며, 기본적으로 실시간이지만 일시정지를 자주 사용해야 한다는 공통점이 있다.
클라우제비츠 엔진은 2007년 유로파 유니버설리스 3에서 처음 도입되어 윈도우OS X에 포팅되었다. 그 후 2011년 센고쿠에서 클라우제비츠 엔진 2.5가 사용되었다. Europa Universalis IV부터 클라우제비츠 엔진 3이 사용되었으며, 2014년부터 리눅스 포팅을 공식적으로 지원하기 시작했다. 그리고 2016년에 나온 하츠 오브 아이언 4에서 클라우제비츠 엔진 4가 사용되었다.
클라우제비츠 엔진 사용 이전과 이후로 역설사 작품의 방향성이 갈리는데, 기존의 유로파 엔진을 사용한 이전 작품들은 '''기존의 역사를 재현'''하려는 느낌이 강했다면 클라우제비츠 엔진 기반의 EU3, HOI3 등은 '''플레이어가 만들어가는 역사'''에 중점을 둔다. 예를 들면 빅토1에서 한국으로 플레이해서 근대화하고 열강이 되었는데 역사이벤트(강화도 조약)에 의해 이미 밟아 놓은 속국 일본이 최강대국 한국에 돈내놓으라고 객기를 부린다거나(...) EU2에서 명나라는 역사 이벤트로 인해 좋든 싫든 후반에 미칠듯한 반란이 일어나며 만주에게 대륙의 패권을 물려주게 되지만, EU3는 그 정도가 줄어들었고 대신 일본이 강해져서 일본이 동아시아를 호령하는 괴이한 상황이 일어난다. HOI3도 할 때마다 도저히 미래를 예측할 수가 없다. 유로파 엔진보다 역사의 흐름이 더 다이나믹하고 예측할 수 없어서 좋아하는 사람도 있지만, 역사 배경 게임이 실제 역사를 크게 벗어나는 것에 불만인 사람도 있다.
덤으로 패러독스 인터렉티브 측에선 클라우제비츠 엔진을 라이선싱 할 생각이 없다는걸 분명히 했으며, 개발자들보고 간단하게 유니티 3D나 잡으라고 입장을 표했다.
한글패치 제작자들에게는 이런저런 고생을 안겨주기도 했다. 글자 인코딩을 1바이트밖에 지원하지 않아서 정상적인 방법으로는 한글 출력이 불가능했기 때문이다. 따라서 중국이나 일본에서 나온 2바이트 글자 출력이 가능한 패치를 이용해서 한글을 출력하던가, 아스키 코드 확장 영역에 한글 초중종성을 때려넣어서 직결식 글꼴을 이용하여 조합형의 방법으로 한글을 출력했다. EU4가 전자의 방법을, CK2가 후자의 방법을 쓴다[1]. 다행히 스텔라리스와 HOI4부터는 유니코드를 지원하기 때문에 한글도 글꼴만 추가하면 정상적인 방법으로 입출력이 된다.

3. 엔진 성능


클라우제비츠 엔진으로 만든 역설사 게임들은 각종 수치 연산을 게임 구현에 사용하는데, 이중에는 MTTH 같은 다른 게임에서는 보기 드문 특이한 요소들도 많고, 이것들은 상당한 연산 부담을 가지는 요소들이다. 또한, 각종 이벤트가 실시간으로 트리거 조건을 스캔해서 동작하기 때문에 실시간으로 수치란 수치는 싸그리 다 읽어들인다.[2] 이런식으로 게임을 굴리는 엔진은 사실상 클라우제비츠 엔진 뿐이며, 역설사 게임이 대체재가 없는 근본적인 이유이다.
또한, 각종 수치 연산으로 게임을 굴리기 때문에 변동치(modifiers)와 효과(effects), 이벤트, 디파인 같은 매우 단순한 요소로 이루어진 소프트 코드를 스크립트로 드러내놓을 수 있고, 이 때문에 모딩 가능한 범주가 매우 넓다.
그리고 이 모든 연산을 비교적 매우 효과적으로 해낸다. 즉, 엔진 자체 성능은 매우 좋다. 또한, 엄연히 멀티 쓰레딩을 완전히 지원한다.
문제는 이 엔진을 쓰는 작자들이 게을러 빠진 역설사 직원들이라는 것이다. 음수로 내려갈 일이 없는 값을 사인인트로 두는 등 개념없는 코딩 때문에 엄청난 랙이 유발되고, 엄연히 멀티 쓰레딩을 지원함에도 멀티 쓰레딩을 안 하는 코딩을 한다. 덕분에 코어 하나만 사용량이 100%를 찍고 나머지는 조용하기 이를데 없다.


4. 조미니 엔진


클라우제비츠의 개량 엔진으로 가장 큰 특징은 모딩 툴셋이 생겼다는 점이다. 2020년 기준 임페라토르: 롬과 크루세이더 킹즈 3의 게임 엔진이다.

[1] 원래 CK2도 전자의 방법을 썼는데, 업데이트가 되면서 글자 출력 부분을 꼬아 놓는 바람에 2바이트 출력 패치가 통하지 않아 후자의 방법을 쓰게 되었다. EU4도 비슷한 일이 있어서 임시 한글패치라는 이름으로 후자의 방법을 썼지만, 2바이트 출력 패치가 새로 나오면서 전자의 방법으로 돌아갔다.[2] 쉽게 말해 지금이 이벤트가 발생해야하는 때인가를 게임 실행 내내 감시한다는 것이다. 컴퓨터 자원 낭비가 극심할 수 밖에 없다.