둠에서 Dunia까지: 3D 게임 엔진의 역사 (9)

'둠에서 Dunia까지' 포스팅 시리즈의 마지막인 이번 포스팅에선 지난번 글인 둠에서 Dunia까지: 3D 게임 엔진의 역사 (8)에 이어 Battlefield: Bad Comany 1 & 2, Battlefield 1943등의 게임에 사용된 Frostbite 엔진, 페르시아의 왕자 Assassin's Creed 등에 사용된 Anvil / Scimitar 엔진, 그리고 마지막으로 Far Cry 2에 사용된 Dunia 엔진의 모습에 대해 살펴보겠습니다.


Frostbite


EA Digital Illusions CE (DICE)가 왜 게임 엔진 이름을 "Frostbite"라고 정했는지는 알 수 없지만, 한 가지 사실은 확실합니다. 이 게임 엔진이 모든 것들을 날려 버리기 위해 설계 되었다는점 말이지요.

멀티코어 PC, Xbox 360, PlayStation 3를 위해 기초부터 새롭게 작성된 Frostbite 엔진은 거대한 파괴 가능한 지형물, 건물, 객체 (주변에 펼쳐진 나무, 플등의 식물들도 파괴 가능합니다)가 특징인 엔진 입니다. 이 모든 특징은 Battlefield: Bad Company란 게임에 잘 드러나 있는데, 무려 맵상의 92%에 가까운 지형물이 파괴 가능한 것들에 해당합니다.

▲ Battlefield: Bad Comany

DICE사는 Frostbite 엔진이 전쟁터를 묘사하는데 적합할 뿐만 아니라, 절차적 텍스쳐링(procedural texturing)과 같은 기술들 덕분에 개발자들이 메모리 대역폭 제약(memory bandwidth constraints)과 같은 수 없이 많은 설계상의 문제점을 극복하는데 도움을 줄 수 있음을 강조하기도 했습니다. Frostbite 엔진은 Shader-heavy (쉐이딩이 많이 사용된 환경도 렌더링 해낼 수 있는) 엔진으로 표현되기도 하는데, DirectX 9 Shader Model 3.0 (PC, Xbox 360)과 Direct3D (Vista)를 포함한 여러 쉐이딩 기술들 덕분에 무거운 환경도 원활하게 표현해 낼 수 있습니다.

▲ Battlefield 1943

엔진 출시일: 2008
주목할 만한 게임: Battlefield: Bad Comany 1 & 2, Battlefield 1943


Anvil / Scimitar


Ubisoft Montreal의 테크니컬 디렉터(Technical Director)인 Claude Langlais에 따르면 Assassin's Creed를 위해 사용된 대부분의 엔진과 툴은 기반부터 새롭게 작성된 것이라고 합니다. 개발과 지원을 위한 전용툴과 이런 툴들을 발전시키려는 노력이 Anvil 엔진 (구. Scimitar 엔진)을 다른 그 어떤 기술에도 의존하지 않고 처음부터 다시 작성하는 결정으로 이어지게 됩니다.

유연한 툴의 제공과 함께, Anvil 엔진의 초기 목표는 Fluid animation(플루이드 애니메이션, 유체[流體] 애니메이션)이었는데 Assassin's Creed에서 건물 사이를 오르거나 점프해서 뛰어다니는 장면을 보면 이러한 점을 분명히 알 수 있습니다. 이런 애니메이션을 가능하게 하기 위해, Anvil 엔진은 멀티스레딩 엔진으로 설계 되었습니다. 멀티스레딩 설계 덕분에 게임 개발자들은 Anvil 엔진을 사용해 동적으로 로드되는 게임 세상을 생성 할 수 있었습니다.

▲ Assassin's Creed

현대 게임 엔진에 점점 더 일반화 되고 있는 것처럼, Anvil 엔진도 주요 기능중 몇 가지를 다른 기업에서 개발한 외부 미들웨어에 기반하고 있습니다. 이 미들웨어로는 주로 충돌 감지(collision detection), 길 찾기 알고리즘(pathfinding AI)과 관련된 기술이 사용되었고 애니메이션 향상과 운동 역학을 위해 Autodesk의 HumanIK 미들웨어가 사용되었습니다.

▲ 페르시아의 왕자

엔진 출시일: 2008
주목할 만한 게임: Assassin's Creed, Prince of Persia, Shaun White Snowboarding


Dunia


지금까지 Dunia 엔진은 Far Cry 2에서만 사용되어 왔지만, 앞으로 진행될 몇 가지 프로젝트에도 Dunia 엔진이 사용될 계획이라고 합니다. 엔진 자체는 CryEngine과 같은 뿌리를 공유하고 있지만, Ubisoft사에 따르면 오로지 2-3%의 코드만이 재사용 되었다고 합니다.

Dunia 엔진은 크라이시스(Crysis)에 사용된 CryEngine 2 보다 훨씬 더 낮은 하드웨어 사양에서도 동작이 가능합니다. Far Cry 2의 테크니컬 디렉터인 Dominic Guay씨는 Gamasutra지와의 인터뷰에서 Dunia 엔진은 멀티코어 프로세서의 이점을 활용할 수 있을뿐만 아니라 DirectX 9와 10을 모두 지원하지만, 여기에 더해 GeForce 6600 그래픽 카드가 장착된 Pentium 4급의 PC에서도 Far Cry 2를 실행할 수 있다고 밝히기도 했습니다.


파괴 가능한 지형물, 밤과 낮의 순환, 비스크립트 적 AI, 다수의 플레이어에 대한 지원, 동적인 음악 시스템은 모두 Dunia 엔진의 특징이자 특색입니다.

엔진 출시일: 2008
주목할 만한 게임: Far Cry 2

'둠에서 Dunia까지' 시리즈는 여기서 마치도록 하겠습니다. 끝까지 읽어주셔서 감사합니다. ^^


 


최종 수정일:
서지스윈

서지스윈

IT와 기술을 이해하고, 유용한 소프트웨어를 발견하도록 돕고 싶습니다. 윈도우(Windows), 맥(macOS), 리눅스(Linux), 스마트폰 앱, 웹 서비스, 기획 시리즈물까지. 더 많은 것을 발견하고, 더 많은 것을 해보세요.