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

게임을 플레이 하면서도 놓치기 쉬운 부분이 있습니다. 그것은 바로 게임이 어떤 방식으로, 무엇을 사용해, 어떻게 만들어 지는가에 대해선 간과하기 쉽다는 점입니다. 게임의 발표와 더불어 종종 'ooo 엔진을 사용해 개발되었다'라는 말을 듣게 되더라도 '그래픽이 좋을려나. 음, 그렇겠구나.'라고 생각하고 그냥 넘기기 쉽습니다. 일반적으론 말이지요. 그런데 오늘날 게임 개발에서 중요한 기반이 되는 게임 엔진이 개발하는 입장뿐만 아니라 플레이 하는 입장에서도 중요하게 여겨질만한 이유가 있습니다. 어떤 게임 엔진이 사용된 게임이냐에 따라 게임의 그래픽이나 전체적인 구성이 확연히 달라질 수 있기 때문입니다.

게임을 개발하는 입장에 있지 않더라도 한 명의 플레이어로서, 게임 엔진에는 대략 어떤것들이 있고 각각 어떤 특징과 모습을 보여줄 수 있는지 알고 있다면 게임을 좀 더 새롭게 바라보고 다르게 즐겨볼 수 있을겁니다. 자신이 선호하는 형태의 그래픽이 있다면 살펴보고 있는 게임이 그 그래픽을 지원하는 엔진을 사용하고 있는지 확인해 봄으로서 참고 할 수 있습니다. 그리고 생각보다 훨씬 더 넓고 다양하게 펼쳐져 있는 게임의 속모습을 들여다 보면서 스토리와는 다른 지적인 즐거움을 경험해 볼 수 있겠지요.

그래서 짧막하게 나마 적어내려가 보려 합니다. 이번 글에선 지난번 포스팅인 둠에서 Dunia까지: 3D 게임 엔진의 역사 (3)에 이어 하프라이프, 카운터 스트라이크, 언리얼 토너먼트 등에 사용된 게임 엔진에 대해 간략하게 살펴보겠습니다. ^^


Cyan Plasma


Plasma 엔진은 (다른 게임과는 달리) 실리콘 밸리에서 멀리 떨어진, 노스캐롤라이나 Chapel Hill에 위치한 Headspin이란 회사에서 탄생했습니다. Headspin 팀은 2D 엔진을 전자책 출판사에 라이센싱한 비용으로 3D 엔진 개발에 투자해 돈을 벌어들였습니다. 얼마뒤 Headspin은 확장과 게임 엔진이 나아가는데 필요한 자원을 Cyan과의 라이센스 계약에 서명함으로서 얻게 됩니다. 그래서 Plasma 엔진이 Cyan Plasma로 불리게 되었겠지요.

Plasma 엔진의 첫 버전의 경우 DirectX 7.0에 대한 지원이 장점 중 하나였는데 초창기 개발자중 한 분은 이렇게 말했다고 합니다.
 

"You wouldn't have wanted to try to make a flight sim with Plasma, but you could make any game that involved walking a character around in a world collecting things and triggering events."

"(당신이 아마 봤다면) Plasma로 비행 시뮬레이션을 만들고 싶진 않았을 겁니다. 하지만 하나의 세계에서 캐릭터가 걸어 다니며 무언가를 수집하고, 이벤트를 발생시키는 것과 관련된 게임이라면 어떤 것이든 만들 수 있습니다."


Plasma 엔진은 초기 버전에서 블렌딩 효과, 반사 효과, 3DS Max의 Particle System, Max의 animation이 적용된 텍스쳐를 무한에 가깝게 생성하는것 까지 지원했습니다. 이후 개정된 버전(리비전)에선 하복 물리엔진 (Havok physics engine, 이후 PhysX에 대한 지원으로 교체됨)과의 바인딩, 멀티플레이를 위한 네트워크 지원, Bloom HDR 광원 효과와 같은 몇 가지 기능들이 추가되었고 최신 버전에선 DirectX 9에 대한 지원까지 추가되었습니다.



Plasma 엔진은 realMyst (원래 Myst 3D라고 불렸음)를 이끈것으로도 유명하지만, 다른 Myst 게임 시리즈를 담당하기도 했습니다.

엔진 출시일: 1998년
엔진을 사용한 주목할 만한 게임: Hex Isle, Myst V: End of Ages, realMyst, Uru Live, Uru: Ages Beyond Myst


GoldSRC


골드소스(Gold source)의 약어로서 GoldSRC로도 불리는, 퀘이크 엔진의 최적화 버전인 골드소스 엔진은 게임 콘솔에 대한 PC의 지배를 공고히 해주었습니다. 강력한 게이밍 플랫폼으로서 적어도 해당 시기동안은 말이지요. (PC vs 콘솔 사이의 논쟁은 오늘날 기술 변화와 발전 속도에 따라 좀 더 증가하고 있습니다)

GodSRC 엔진은 OpenGL과 Direct3D를 각각 지원했고 하프라이프, Team Fortress Classic, Day of Defeat, 카운터 스트라이크와 같은 대작 게임 타이틀을 담당한 게임 엔진이기도 했습니다. 두 말할 필요도 없이, GoldSRC 엔진은 훌륭한 API 지원과 인기 게임 타이틀의 증가를 통해 3D 그래픽 카드의 사용을 촉진시켰습니다. 



GoldSRC 엔진이 퀘이크 엔진과 뿌리를 공유하고 있긴 했지만, 하프라이프에 대해 작업했던 한 개발자의 주장에 따르면 70%에 가까운 코드가 다시 작성되었다고 합니다. Direct3D에 대한 지원 추가에 이어, Valve사는 이후 skeletal animation[각주:1] 도 엔진에 추가했습니다.



엔진 출시일: 1998년
엔진을 사용한 주목할 만한 게임: Day of Defeat, Deakthmatch Classic, Counter Strike, Counter Strike: Condition Zero, Gunman Chronicles, James Bond 007, Half Life, Half Life: Blue Shift, half Life: Opposing Force, Richochet


Unreal


언리얼 엔진은 엄밀히 말해서 FPS 게임 엔진으로 시작하긴 했지만, Mass Effect와 같은 여러 RPG 타이틀의 기본이 되기도 했습니다. 물론 역시나 언리얼 (Unreal)과 언리얼 토너먼트 (Unreal Tournament)에서의 사용이 가장 잘 알려져 있지요.


Unreal 엔진은 id 소프트웨어사의 Quake II / id Tech 2 엔진에 대한 주요 경쟁자로서, Quake II 엔진과 마찬가지로 게임 모드 커뮤니티에서 인기있는 엔진이 되었습니다. 자체적인 스크립트 언어인 UnrealScript를 제공했을 뿐만 아니라, 이후 Epic의 추가에 의해 맵 에디터 프로그램인 UnrealED까지 제공하게 됩니다.

언리얼 엔진에는 소프트웨어와 하드웨어 렌더링이 모두 존재했을 뿐만 아니라 충돌 감지(collision detection), 색상이 적용된 광원 효과, 텍스쳐 필터링의 초기 버전까지 포함되어 있었습니다. AMD의 3DNow!와 인텔의 MMX와 SSE 명령셋에서도 잘 돌아갔지만, Glide API[각주:2]에 대한 의존도가 높은  언리얼 엔진의 장점을 최대한 살리기 위해선 높은 수준의 3dfx 그래픽 카드가 필요했습니다. 당시엔 부두(Voodoo) 5가 여기에 해당하는 그래픽 카드 였습니다.



엔진 출시일: 1998년
엔진을 사용한 주목할 만한 게임: Deus Ex, Harry Potter, Rune, Start Trek: Deep Space Nine: The Fallen, Unreal, Unreal Tournament, X-COM: Enforcer

이어지는 내용과 글은 이후 연재될 5편에 계속해서 이어집니다. 기대해 주세요.


 



  1. Skeletal animation은 컴퓨터 애니메이션에서 사용되는 기법중 하나로 캐릭터를 크게 두 부분으로 나누어서 처리하는 방법을 말합니다. 여기에서 말하는 '두 부분'이란 캐릭터를 그리는데 사용되는 표면을 나타내는 부분 (skin이라고 불림)과 동작이나 애니메이션에만 사용되는 계층적인 뼈대의 집합 부분을 말합니다. 쉽게 말하면 외형을 위한 피부와, 움직임을 위한 뼈대로 나누어서 처리하는 방식을 말합니다. [본문으로]
  2. 3dfx Interactive에서 부두(Voodoo) 그래픽 카드의 3D 가속 기능을 위해 개발한 3D 그래픽 API. [본문으로]
최종 수정일:
서지스윈

서지스윈

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