검수요청.png검수요청.png

게임엔진

위키원
이동: 둘러보기, 검색

게임엔진(game engine)은 게임을 실행시키는데 필요한 다양한 핵심 기능들을 담은 소프트웨어 혹은 소프트웨어 구성요소를 말한다. 보통 게임의 제작은 '게임엔진'이라는 뼈대를 최우선으로 개발한 이후, 각종 리소스를 붙여나가면서 만들어나가기 때문에 게임엔진은 그만큼 개발에 있어 중요한 부분이라고 할 수 있다.

개요[편집]

게임엔진은 게임개발사에서 자체적으로 개발하는 경우도 많지만, 시장에 나와 있는 상용 엔진을 구매하여 사용하는 경우도 많다. 만약 상용 엔진을 구매해서 사용한다면 그만큼 개발 기간을 줄일 수 있으며, 해당 엔진이 보증하는 최소한의 시각적인 퀄리티를 구현할 수 있다는 장점이 있다. 그러나 개발자가 직접 엔진을 만드는 것이 아니기 때문에 엔진의 커스터마이징 등에 있어 오히려 시간과 비용이 더 들어가는 경우도 많다. 게임엔진의 개념이 본격적으로 자리를 잡은 것은 1996년 발매된 FPS 게임 퀘이크(Quake)이후 3D 게임이 보편화 되면서부터였다. 퀘이크의 개발자 존 카멕이 퀘이크 시리즈의 소스 코드를 공개하며 게임엔진이라는 개념이 자리 잡은 것이다. 상용 게임엔진에는 3D 게임의 구동을 위한 렌더링(Rendering) 등의 기능이 미리 구현되어있기 때문에, 이를 이용함으로써 게임 개발 기간을 단축할 수 있다.[1]

기능[편집]

렌더링 엔진[편집]

렌더링엔진(rendering engine)은 3차원 그래픽 기술을 이용해 실제 세계와 같은 느낌의 영상을 화면에 나타내는 것을 말한다. 그 때문에 그래픽 엔진이라고 부르기도 한다. 가장 대표적인 것은 '언리얼 엔진'이다. 이 엔진을 사용하면 영화와 같은 사실적인 영상을 제작할 수 있다. '기어즈 오브 워'와 '스페셜 포스 2' 등 국내외 수많은 게임이 이 엔진을 이용했다. 물론 언리얼 엔진 말고도 다수의 상용 엔진이 존재한다. 예를 들어 '아이온'은 '크라이 엔진'을 사용했으며, '마비노기 영웅전'은 '소스 엔진'을 사용했다.

물리 엔진[편집]

물리엔진은 게임 공간을 이루는 물체들이 실제 세계의 물리 법칙에 따라 움직이도록 처리해주는 프로그램을 말한다. 대표적인 물리 엔진으로는 '하복(Havok)'과 '피지엑스(PhysX)'가 있다. 하복은 '헤일로 3', '스타크래프트 2', '엘더스크롤 5: 스카이림', '언차티드' 등의 게임에 이용됐고, 소스 엔진 등에 통합 판매되기도 한다.

물리 엔진은 게임에서만 사용되는 것은 아니다. '트랜스포머' 등과 같은 영화 특수효과에서도 물리 법칙을 적용하는 것은 필수적이다. 그런데 영화 특수효과에서 사용되는 물리 엔진과 게임 물리 엔진 사이에는 다른 점이 있다. 1초에 24장의 화면을 보여주는 영화에서는 고품질 영상을 얻기 위해서 한 화면을 만드는 데 몇 시간이 걸리더라도 이를 진행한다. 하지만 게임에서는 1초에 30장 이상의 화면을 즉시 그 위치에서 생성해야 한다. 따라서 고난도의 복잡한 물리 공식을 초마다 풀어내는 것은 힘든 일이다. 초기 물리 엔진은 포탄 탄고 계산 등의 간단한 기능만을 구현했으나 이후 지속해서 기능을 발전시켜서 지금은 약간 어색한 수준이나마 옷과 같은 변형체, 연기와 같은 유체도 구현할 수 있다. 이는 컴퓨터 하드웨어와 소프트웨어의 발전 덕분에 가능해졌다. 특히 눈부시게 진화하는 CPU와 그래픽 카드에 힘입은 바가 크다.

복잡한 변형체와 유체 등을 처리하는 이론은 이미 '캐리비안의 해적' 등과 같은 영화의 특수효과 제작에 사용되고 있다. 이런 정도의 물리 효과를 게임에서 구현하기는 아직 힘들다. 하지만 컴퓨터 하드웨어와 소프트웨어는 꾸준히 발전하고 있기 때문에 파도치는 바다 등을 표현하는 물리 엔진의 등장은 멀지 않았다고 말할 수 있다.[2]

역사[편집]

빌드 엔진[편집]

듀크뉴켐 3D(Duke Nukem 3D)의 제작에 이용되어 유명해진 게임엔진인 빌드엔진은, 2D 평면의 맵에 배치된 스프라이트(이미지)들을 통해 3D 효과를 구현해 냈다는 점에서 둠에 사용된 엔진과 비슷한 특성이 있었다. 빌드 엔진은 세계를 격자 형태로 정렬된 각각의 구역으로 나눴는데, 각 구역에 있는 천장이나 층들은 서로 다른 높이를 가지도록 만들어질 수 있었다. 하지만 빌드 엔진을 돋보이게 해준 3D 효과 트릭은 이것만이 아니었다. 맵 특정 영역의 벽이나 바닥에 특별한 표시를 지정할 수 있었기 때문에, 개발자들은 게이머가 지정된 장소에 걸어 들어왔을 때 다른 장소로 텔레포트 하도록 만들 수 있었다. 이 기술이 실제로 사용된 방법의 하나로는 바닥에 구멍을 만들고 사용자가 그곳으로 이동했을 때 밑으로 빠지도록 설정하는 것이 있었다. 물론 실제로는 그 밑에 공간이 있거나 한 것 아니라 2D 맵의 다른 장소로 텔레포트 하는 방식이었다. 빌드 엔진을 최상의 상태에서 작동시키기 위해서는 펜티엄 1급의 PC와 SVGA 비디오 카드가 필요했다. 초기 버전의 빌드 엔진 게임들이 486 기반 PC에서도 동작했던 것과는 상반되는 부분이다.

스톤킵엔진[편집]

출시 전까지만 해도, 스톤킵 엔진은 너무 긴 개발 일정 때문에 크기만 크고 실속이 없는 엔진으로 여겨졌다. 어느 정도 우연이 작용하긴 했지만, 스톤킵 엔진은 하드웨어의 지속적인 발전에 따라 함께 발전했다. 처음에는 286 수준의 컴퓨터에서 플로피 디스켓만을 사용해도 될 정도로 가볍게 만드는 데 많은 노력을 기울였지만, 이후 시간이 지나고 결국엔 CD롬 드라이브를 가진 386 기반 PC가 필요하게 된다. 스톤킵 엔진은 모션 캡처된 몬스터를 사용했는데, 처음 시작할 때만 해도 캐릭터 모델의 상체만 모션이 구성되어 있었다. 이 때문에 캐릭터 바로 앞에 섰을 때 아래쪽을 내려다볼 수 없었다고 한다. 이 단점은 이후 메인 프로그래머였던 피터 올리펀트가 싸우는 동안 백업 역할을 할 때 캐릭터의 하체가 보일 수 있도록 원했기 때문에 바뀌었다. 당시 발전해 나가는 스톤킵 엔진을 사용할 때 플레이어의 움직임은 그리드에서 그리드로의 움직임, 좀 더 확실하게는 경계 간의 이동을 통해 처리되었다. 이 접근 방법의 문제점은 플레이어가 방향을 바꿨을 때 다른 옆에 있는 그리드로 이동하기 때문에 수정을 해야 하는 균형 문제가 생겼다는 점이다.

XnGine엔진[편집]

초창기에 만들어진 3D 게임 엔진 중 하나였던 베데스다의 XnGine은 초기에 버그가 많고 불안정했다. 도스를 기초로 한 엔진 버전의 경우 윈도우 95에서 안정성 문제가 있었고, 영역 구분 문제로 베틀스피어 같은 게임에선 플레이어가 3D 폴리곤 객체에 갇히는 문제가 생기기도 했다. 다른 엔진들은 지금도 사용 중인 '게임 내부 개체에 대해선 2D 스프라이트를 사용한다'라는 원칙을 사용해 이 문제를 피할 수 있었다. XnGine 엔진은 이후 고해상도 그래픽을 사용하고 3dfx 그래픽 카드와 호환될 수 있도록 성장하게 된다. 이러한 점 때문에 대거 폴에서 볼 수 있는 것과 같이 커다란 게임 세계를 만드는 것이 가능하게 된다.

제디 엔진[편집]

제디 엔진은 수많은 게임 타이틀을 위한 기본을 제공하는 쪽으로 가진 않았지만, 이 엔진을 사용해서 제작된 "스타워즈:다크 포스"에선 매우 성공적으로 3D 같은 환경을 만들어 낼 수 있음을 증명했다. 기초에서부터 새롭게 만들어졌기 때문에 제디 엔진은 구역, 영역들이 서로 간에 층을 이루는 게 가능했다. 하지만 모든 게 3D 였던 것은 아니다. 개발자들에 의해 개체 자체는 3D 모델로 만들어졌지만, 화면에 표시될 땐 서로 다른 각도에 대해 각각 비트맵으로 렌더링 되었다. 제디 엔진은 각 개체에 대해 최대 32개의 각도까지 제공했는데, 사용자가 개체나 적 캐릭터에 다가가거나 멀어짐에 따라 거리에 따라 크기가 맞춰서 바뀌었다. 이것이 원근감을 나타낼 수 있도록 해주었다. 당시로선 굉장히 앞서나간 것이었는데 점프하거나 몸을 숙여 낮은 자세 유지하기, 상하 내려다보기를 제공했기 때문에 제디 엔진을 유명하게 해주었다. FPS 분야에 있어 이 게임이 루카스아츠의 첫 번째 시도였단 점을 생각해 보면 훨씬 더 인상적이다.

퀘이크 엔진[편집]

퀘이크 엔진은 이드 소프트웨어 사에서 제작된 최초의 진정한 3D 엔진이라고 할 수 있다. 3D처럼 보이는 2D가 아닌 실제 3D 환경을 만들 수 있었기 때문이다. CPU 성능이 낮은 컴퓨터에서도 유연하게 동작할 수 있도록 하기 위해 개발팀이 상당히 많이 고민했다고 한다. 이걸 가능하게 하기 위해 사용한 방법의 하나가 사용자가 볼 수 없는 특정 영역을 처리에서 제외한 다음 맵을 렌더링하는 것이었다. 우선 브러쉬라고도 불리는 객체들이 맵의 바깥 경계를 만든 다음 하나의 폐쇄 공간을 만들어 낸다. 그런 다음, 렌더링 전처리기를 통과 시켜 경계 안팎의 비어있는 공간을 구분해 낸다. 마지막 단계에서 경계 밖의 불필요한 공간을 없애면 처리는 완료된다. 이 방법은 효율이 꽤 좋았기 때문에 대개는 절반, 경우에 따라선 그 이상의 객체 수를 줄일 수 있었다. CPU에 가해지는 부하를 더욱더 줄이기 위해, 퀘이크 엔진은 Z-버퍼링이라고 하는 방법도 사용했다. Z-버퍼링이란 간단하게 말해서 맵의 어떤 부분이 보이고 어떤 부분이 안 보이는 부분인지 생각해서 사용자 시야에서 보일 것 같은 부분만 렌더링하는 방법이다. 퀘이크 엔진은 CPU에 의해 실시간으로 처리되는 게 아닌 전처리기의 2번째 과정에서 처리되는 3D 광원, 3D 하드웨어 가속에 관한 지원까지 포함하고 있었다. 3D 하드웨어 가속을 지원한 덕분에 이후 이드 소프트웨어의 기술 감독이었던 존 칼막씨가 이후 앤티앨리어싱을 포함한 베히떼 1000 그래픽 칩셋의 하드웨어 기능을 이용할 수 있도록 퀘이크 엔진의 네이티브 포팅 버전인 V퀘이크 엔진을 출시할 수 있었다. 오픈지엘에 대한 지원도 추가된 덕분에 부두(voodoo)와 파워VR 그래픽 카드를 산 여러 사용자가 좀 더 수월하게 화려한 그래픽을 즐길 수 있었다.

렌더웨어 엔진[편집]

렌더웨어 게임 엔진은 200여 개가 넘는 게임에 이용된 것으로 알려진 게임 엔진이다. 게임의 대부분이 플레이 스테이션 2 콘솔용이긴 했지만, 상당수의 게임이 PC에서 플레이 가능한 게임인 것을 고려해 보면 PC용 엔진이라고 봐도 될 것이다. 이외에도 게임큐브, 위(Wii), 엑스박스, 엑스박스 360, 플레이 스테이션 3, PSP에서도 이용되었기 때문에 멀티플랫폼 게임 엔진으로도 봐도 무방하다. 원래 PC 기반 미들웨어 솔루션을 기준으로 1998년에 개발된 렌더웨어는 이 시점에 이르기까지의 다른 엔진들처럼 GPU를 사용하지 못하는 게임 엔진이었다. 이점은 결국 시장을 선도하는 API로서의 렌더웨어의 지위에 부정적으로 작용하게 된다. 게임 잡지 가마수트라의 윌리엄 빙 고든과의 인터뷰를 보면 이를 잘 알 수 있다. 에픽의 언리얼 엔진이 렌더웨어에 그림자를 드리우기 전까지, 렌더웨어는 개발자들이 멀티미디어적 요소와 게임 처리를 실시간으로 조절할 수 있게 해주었기에 인기를 끌 수 있었다. 예를 들면, 개발자는 내부 코드를 수정하거나 씬을 모두 다 한 번 더 렌더링할 필요 없이 수월하게 캐릭터 옷의 색상을 변경할 수 있었다. 이 점은 기초적인 물리 엔진에도 똑같이 적용되었다. 움직임에 문제가 있으면, 개발자는 계속 실행 중인 상태에서 물리 엔진에 해당하는 부분을 변경한 다음 바뀐 것을 실시간으로 볼 수 있었다.

퀘이크 2 엔진[편집]

오리지널 퀘이크 게임 엔진이 하드웨어 그래픽 가속을 제공했던 것과 반대로, 퀘이크 2는 처음 만들어질 때부터 자체적으로 오픈지엘 지원을 제공했다. 지금은 아이디 테크 2로도 알려진 퀘이크 2 엔진의 다른 기능에는 색상이 적용된 광원 효과와 C 언어로 작성되어 DLL로부터 연결되는 새로운 게임 모델이 포함되어 있었다. 이 방식은 오리지널 퀘이크 엔진의 퀘이크C 스크립팅 언어와는 굉장히 다른 것 이었다. 스크립트 언어를 통한 접근과는 다르게 바이너리화된 라이브러리를 통해 실행되었기 때문에 소프트웨어 방식의 렌더링과 오픈지엘 렌더링이 모두 가능했다. 둘 중 어느 하나만 선택해서 지원해야 하는 불편함이 사라진 것이다. 그 때문에 당시 부두(Voodoo) 그래픽 카드를 사용하고 있지 않은 개발자도 어느 정도 개발이 가능할 수 있었다. 퀘이크2 는 모드가 가능한 게임으로도 꽤 유명했다. FPS 게임에서 모드란 일반적으로 원래 게임의 캐릭터나 무기, 기타 요소를 그대로 유지하면서도 내용이나 진행 방식, 구성이 다른 미니 게임 형태의 게임을 말한다. DLL들이 게임 로직에도 이용되었기 때문에, 이드 소프트웨어는 엔진의 나머지 부분을 비공개로 유지하면서 소스 코드를 모드 커뮤니티에 공유할 수 있었다. 모드 개발에 필요한 부분만 소스를 공유하고 나머지 부분은 블랙박스처럼 묶인 DLL에서 가져다 쓰게끔 한 것이다. 엔진 자체가 엄청나게 튼튼했기 때문에, 숙련된 개발자들은 이 엔진을 사용해서 짜임새 있는 완결성을 갖춘 RPG를 개발하는 데 사용하거나 실감 나는 장면을 만들 수 있었다.

플라즈마 엔진[편집]

플라즈마 엔진은 실리콘 밸리에서 멀리 떨어진, 노스캐롤라이나에 위치한 헤드스핀이란 회사에서 제작되었다. 헤드스핀 팀은 2D 엔진을 전자책 출판사에 라이센싱한 비용으로 3D 엔진 개발에 투자해 돈을 벌었다. 얼마 뒤 헤드스핀은 확장과 게임 엔진이 나아가는데 필요한 자원을 시안과의 라이센스 계약에 서명함으로써 얻게 된다. 그래서 플라즈마 엔진이 시안 플라즈마로 불리게 되었다. 플라즈마 엔진은 초기 버전에서 블렌딩 효과, 반사 효과, 3DS 맥스의 파티클 시스템, 맥스의 애니메이션이 적용된 텍스쳐를 무한에 가깝게 생성하는 것 까지 제공했다. 이후 개정된 버전에선 하복 물리 엔진과의 바인딩, 멀티플레이를 위한 네트워크 지원, 블룸 HDR 광원 효과와 같은 몇 가지 기능들이 더해졌고 최신 버전에선 다이렉트X 9에 대한 지원까지 추가되었다. 플라즈마 엔진은 리얼미스트를 이끈 것으로도 알려져있지만, 다른 미스트 게임 시리즈를 담당하기도 했다.

골드소스 엔진[편집]

퀘이크 엔진의 최적화 버전인 골드소스 엔진은 게임 콘솔에 대한 PC의 지배를 단단하게 해주었다. 골드소스 엔진은 오픈지엘과 다이렉트3D를 각각 지원했고 하프라이프, 팀 포트리스 클래식, 데이 오브 디피트, 카운터 스트라이크와 같은 성공한 게임 타이틀을 담당한 게임 엔진이기도 했다. 골드소스 엔진은 훌륭한 API 제공과 인기 게임 타이틀의 증가를 통해 3D 그래픽 카드의 사용을 촉진했다. 골드소스 엔진이 퀘이크 엔진과 뿌리를 같이하고 있긴 했지만, 하프라이프에 대해 작업했던 한 개발자의 주장에 따르면 70%에 가까운 코드가 재작성되었다고 한다. 다이렉트3D에 대한 지원 추가에 이어, 밸브사는 이후 스켈레탈 애니메이션1도 엔진에 추가했다.

언리얼 엔진[편집]

언리얼 엔진은 엄밀히 말해서 FPS 게임 엔진으로 출발하긴 했지만, 매스 이펙트와 같은 여러 RPG 타이틀의 기본이 되기도 했다. 언리얼 엔진은 이드 소프트웨어사의 퀘이크2 아이디 테크 2 엔진에 대한 주요 경쟁자로서, 퀘이크2 엔진과 같이 게임 모드 커뮤니티에서 인기 있는 엔진이 되었다. 자체적인 스크립트 언어인 언리얼 스크립트를 제공했으며, 이후 에픽의 추가에 의해 맵 에디터 프로그램인 언리얼ED까지 지원하게 된다. 언리얼 엔진에는 소프트웨어와 하드웨어 렌더링이 모두 있었을 뿐만 아니라 충돌 감지, 색상이 적용된 광원 효과, 텍스쳐 필터링의 초기 버전까지 포함되어 있었다. AMD의 3DNow!와 인텔의 MMX와 SSE 명령셋에서도 잘 작동했지만, 글라이드 API2에 대한 의존도가 높은 언리얼 엔진의 장점을 최대한 부각하기 위해선 높은 수준의 3dfx 그래픽 카드가 필요했다. 당시엔 부두(Voodoo) 5가 여기에 해당하는 그래픽 카드였다.

리스테크 엔진[편집]

모놀리스와 마이크로소프트사의 공동 협력으로 시작된 리스테크 엔진은 한때 다이렉트 엔진이라고 불리기도 했다. 한 부분이 소프트웨어 렌더러로, 그리고 다른 한 부분이 다이렉트X 렌더러로 이루어져 있었다. 그러나 그리 오래가진 못했다. 이후 모놀리스사가 마이크로소프트사와 결별한 뒤 엔진의 판권을 다시 사들여서 리스테크라는 새 이름을 만들었기 때문이다. 리스테크 엔진에 대한 개발이 몇 년간 계속되긴 했지만, 엔진이 꼭대기에 이르렀을 때 만들어진 NOLF란 게임을 끝으로 주피터 익스텐디드로 이름을 바꿔 재탄생하게 된다. 기술적으로 리스테크의 네 번째 버전이었던 주피터 EX는 다이렉트X 9, 새로운 셰이딩 효과, 하복 물리 엔진, 새로운 콘텐트 생성툴을 제공했고 피어 타이틀과 피어 2에도 사용되었다.

아웃캐스트 엔진[편집]

복셀을 기반으로 한 유명 엔진인 아웃캐스트는 온전히 소프트웨어에 기반한 모델을 이용하기 위해서 하드웨어 가속을 최대한 피했다. 이 말은 곧 게이머가 아웃캐스트 엔진 기반의 게임을 하기 위해 3D 지원 그래픽 카드에 투자할 필요가 없음을 의미했다. 아웃캐스트 자신을 포함해서 말이다. 덕분에 어드벤처나 퍼즐 게임 장르와 더욱 잘 어울렸다. 3D 그래픽 카드가 필요 없다는 확실한 장점이지만, 하나의 단점이기도 했다. 그래픽 카드에 신경 쓸 필요가 없지만, 더 빠른 CPU 프로세서를 필요했기 때문이다. 당시엔 500MHz, 혹은 그 이상의 클럭을 가진 펜티엄 3 CPU가 여기에 해당하였다. 아웃캐스트는 복셀 기반 엔진이었기 때문에 폴리곤 기반 엔진보다 훨씬 더 먼 거리에서 배경을 렌더링하기에 적합했다. 이외에도 아웃캐스트는 렌즈 플레어 효과, 범프 매핑, 안티앨리어싱, 동적 그림자 생성, 향상된 파티클 시스템, 스켈레탈 애니메이션, 1인칭과 3인칭 모두에 대한 지원도 제공하고 있었다.

GeoMOD 엔진[편집]

레드 팩션이란 게임을 위해 개발된 GeoMOD 엔진은 꽤 전에 실감 나는 게임 내 물리 엔진 처리를 할 수 있게 해주었다. 레드팩션를 이끌었던 프로그래머 존 슬라겔에 따르면 게임 엔진으로 사용되었던 GeoMOD의 이름이 지오메트리 모디피케이션의 약자에서 왔다고 한다. 이름이 나타내는 것처럼, GeoMOD 엔진은 사용자의 동작에 반응해 맵의 지형을 바꾼다. GeoMOD는 맵 세계의 지형에서 완전한 실시간 마이너스 부울 연산을 이용해 변경을 가능하게 한다.

토크 엔진[편집]

완전한 3D 그래픽 엔진인 토크는 맨 처음 1인칭 슈팅 게임(FPS)인 트라이브2에서 사용되기 위해 개발되었다. 토크 엔진의 인상적인 부분중 하나는 실시간으로 맵의 세부까지 구현할 수 있는 게임 내 지형 엔진이었다. 덕분에 렌더 되어야 할 폴리곤의 양을 감소시킬 수 있었다. 토크 엔진은 드래그 앤드 드롭이 적용된 GUI 생성 방식의 내장된 지형, 맵 에디터로도 상당히 유명하다. 유연한 멀티플레이 관련 네트워크 코드와 함께, 토크 엔진은 사용된 게임 타이틀 수의 부족에도 불구하고 꽤 괜찮은 게임엔진이었다.

시리어스 엔진[편집]

몇 년에 걸친 개발 과정에서, 크로팀의 시리어스 엔진 메인 개발 목표 중 하나는 거대한 공간 구성과 어떤 때라도 화면상에 수없이 많은 캐릭터가 표시될 수 있도록 하는 것이었다. 그렇게 함으로써, 시리어스 샘이란 게임은 액션과 함께 박진감 넘치는 아케이드 스타일의 1인칭 슈팅 게임 (FPS)이 될 수 있었다. 시리어스 게임 엔진은 시리어스 모델러와 시리어스 에디터의 두 부분으로 나누어져 있었다. 시리우스 모델러로는 표준적인 3D 개체 에디터인 라이트웨이브나 3D 스튜디오로부터 3D 파일을 가져와 모델을 구성할 수 있었고, 시리어스 에디터를 이용해 맵이나 지형을 만들고 캐릭터를 배치하는 일이 가능했다. 원래 시리어스 엔진은 픽셀 쉐이더나 버텍스 쉐이더를 제공하지 않았지만, 이후 지속한 버전에서 이 둘을 포함한 여러 기능이 추가되었다.

맥스-FX 엔진[편집]

2001년이 될 때까지 맥스 페인이란 게임 타이틀이 출시되지 않았지만, 리메디 엔터테인먼트사는 1997년부터 맥스-FX 엔진에 대해 지속적으로 작업을 진행했다. 맥스-FX 엔진은 처음 개발될 때부터 하드웨어적 3D 렌더링만 지원했고, DirectX 7.0에 최적화되어 있었다. 맥스 페인은 영화 매트릭스에 등장해 눈길을 끌었던 불릿 타임(Bullet Time, 총알이 지나갈 때 주인공을 포함한 모든 움직임이 느려지는 효과)의 사용으로 가장 잘 알려져 있었다. 맥스 페인의 개발에 사용했을 뿐만 아니라, 퓨처마크사는 맥스-FX 엔진을 3D 그래픽 벤치마킹 소프트웨어인 3DMark99, 3DMark2000, 3DMark2001의 제작에도 사용했다.

언리얼 2 엔진[편집]

오리지널 언리얼 엔진이 언리얼 게임에 모습을 드러냈던 것과는 달리, 언리얼 2 엔진은 아메리카 아미라는 게임에서 처음 사용했다. 언리얼 2 엔진은 소규모 마이너 업데이트 이상으로 성장한 모습을 보여주었다. 첫 번째 엔진의 고도로 수정된 버전으로서, 언리얼 2 엔진은 통합된 물리 엔진과 64비트 지원 같은 확실한 코드 추가가 있었다. 게다가 실감 나는 물의 수면 효과가 처음으로 추가되었고 10배나 더 많은 폴리곤을 처리할 수 있다고 했다.

게임브리오 엔진[편집]

게임브리오 엔진은 폴아웃 3, 워해머 온라인, 오블리비언 등 상당히 큰 범위에 사용된 게임 엔진이다. 콘솔 게임에도 많이 이용되었는데 이점은 게임브리오 엔진이 크로스 플랫폼 친화적으로 만들어졌기 때문이다. 위(Wii) 툴셋과 직접적으로 조율된 하나뿐인 엔비디아 피지엑스 기술 사용 써드파티 엔진 이기도 하다. 이런 점에서 게임브리오는 굉장히 유연한 게임 엔진임을 알 수 있다. PC의 측면에서 봤을 때, C++로 작성된 게임브리오 엔진은 다양한 플랫폼과 기술을 제공했다. 그중 일부에는 다이렉트X 9-10에 대한 지원, 3ds 맥스와 마야와 같은 3D 모델링 툴과의 통합, 동적인 충돌 감지, 파티클 시스템, 3차원 음향 효과, 그리고 여러 최신 기술이 포함되어 있었다. 게임브리오 엔진이 처음 발매된 지 7년이나 지났기 때문에, 이머전트 게임 테크놀로지 CEO이자 게임브리오 엔진의 개발자인 지오프 셀저씨는 이 엔진이 약 200개가 넘는 게임 타이틀에 이용된 것으로 생각하고 있다.

둠 3 엔진[편집]

지금은 이드 테크 4로 알려진 둠 3 엔진은 원래 생각과는 다르게 이드 테크 3의 대대적인 수정과 함께 완성되게 됩니다. 하지만 이드 소프트웨어사가 C에서 C++로 바꾸기로 한 시점에서부터, 대대적인 수정은 피할 수 없는 일이었다. 당시 둠 3 엔진은 다이렉트X 8.0이나 혹은 그 이상을 지원하는 지포스 3 또는 최소 라데온 8500과 같은 그래픽 카드가 필요했기 때문에 하드웨어 교체를 촉진했다. 이렇게 상대적으로 높은 사양을 요구했던 주된 이유는 통합된 라이팅(광원 효과)과 섀도잉(그림자 효과)의 추가 때문이었다. 모든 표면이 동일한 렌더링 파이프라인을 통과하긴 했지만 말이다. 대부분의 표면에 대한 광원 효과가 실시간으로 처리되었기 때문에 훨씬 더 사실적인 섀도잉이 가능했다. 상당히 긴 시간 동안, 둠 3은 컴퓨터 성능을 확인하기 위한 인기 있는 벤치마킹 기준이었지만 지금은 크라이시스와 같은 고사양 게임에 자리를 넘기게 되었다.

소스 엔진[편집]

이제 출시된 지 6년이 다 되어가는 소스 엔진은, 밸브사에 의해 꽤 최근에 이르기까지 최신 상태를 유지할 수 있도록 계속 수정되고 있다. 소스 엔진은 처음 카운터 스트라이크: 소스를 위해 사용되었지만 이후 하프라이프 2와 함께 모습을 드러내면서 관심을 받게 된다. 하프라이프 2 자체가 수많은 게임지와 평론가로부터 좋은 평가와 찬사를 받았을 뿐만 아니라, 게이머들에게도 훌륭할 정도로 인상 깊은 게임이었기 때문에 소스 엔진의 인지도도 함께 높아지게 된다. 소스 엔진은 대부분의 면에서 인상적인 기술을 많이 포함하고 있었는데 여기에는 발전된 쉐이더 기술, 동적인 라이팅과 그림자, 물리 엔진, 사실적인 물의 표면 반사, 실시간 모션 블러 등이 있다. 이 외에도 놀라울 정도로 부드러운 발전된 얼굴 애니메이션 시스템과 립싱크 기술도 포함되어 있다. 최신 엔진으로서 개선을 계속해온 소스 엔진은, 현재 다중 코어/프로세서에 대한 최적화, 효과적인 네트워킹 아키텍쳐(구조) 등을 포함하고 있고, 보편적으로 널리 사용되는 윈도우에서의 다이렉트 3D뿐만 아니라, 맥 OSX 상에서의 오픈지엘을 통한 렌더링과 구현까지 엔진 자체에서 제공하고 있다. 그 때문에 지금부터 소스 엔진으로 개발된 게임은 이제 맥에서도 주로 스팀을 통해 플레이 할 수 있다.

크라이 엔진[편집]

뛰어난 그래픽을 자랑하는 크라이 엔진은 파 크라이에서 픽셀 쉐이더(Pixel Shader)를 이용해 강의 사실적인 수면 효과를 보여주기도 했다. 잠입 지역의 맵에는 무성한 풀 뿐만 아니라 광대한 대지를 돌아다녀도 로딩 시간이 따로 필요 없도록 여러 요소를 추가할 수 있었다. 크라이엔진의 도움 덕분에 크라이텍은 이전의 둠 같은 게임과 마찬가지로 다시 한번 하드웨어 교체를 촉진할 수 있었다. 쉐이더가 집중적으로 이용된 다이렉트X 10 게임인 크라이시스(Crysis)의 경우 컴퓨터가 높은 사양인지 한 번 확인해 볼 수 있는 고-고사양 벤치마킹 게임으로 여전히 자리를 지키고 있다.

레이지 엔진[편집]

록스타 어드밴스드 게임 엔진이라고도 불리는 레이지 엔진은 레이지 테크놀로지 그룹과 록스타 사이의 공동 협력을 통해 렌더웨어 엔진을 대신할 목적으로 개발된다. 레이지는 렌더링 프레임워크, 물리 엔진, 사운드 엔진, 네트워크 라이브러리, 애니메이션 엔진, 스크립팅 언어 등을 하나의 패키지에 밀도 있게 포함하고 있었다. 그 기능들 중 일부에는 다른 엔진에서 도입된 기술이 이용되기도 했는데 유포리아 엔진으로부터 애니메이션 기술이, 물리 엔진에는 불릿 물리 엔진이 레이지의 일부로 합쳐진 예가 대표적이다. 자신들의 고유 엔진인 레이지를 개발하는 데 있어 록스타가 주안점을 뒀던 주요 목표 중 하나는 서로 다른 크기의 차량으로 특정 지역을 고속 질주 할 때나, 혹은 캐릭터가 뛰어다닐 때 각각의 개체가 좀 더 현실감 있게 느껴지도록 하는 것이었다. 또한 레이지 엔진을 사용한 2번째 게임인 GTA IV에서 볼 수 있듯이 날씨를 통해 차량의 움직임에 영향을 줄 수도 있었다. 록스타사는 이외에도 많은 시간을 들여 폭발 장면이 좀 더 현실적으로 보이도록 파티클 이펙트를 좀 더 개선하기도 했다.

언리얼 3 엔진[편집]

가장 최근에 나온 언리얼 엔진인 언리얼 3은 다이렉트X 10 지원 PC와 엑스박스 360, 플레이스테이션 3 게임 콘솔을 위한 완전한 게임 개발 프레임워크에 가까웠다. 언리얼 엔진의 한 개발자에 따르면 "언리얼 엔진은 모든 면에서 손쉬운 콘텐츠 생성과 개발을 염두에 두고" 제작되었다고 한다. 록스타의의 레이지처럼, 언리얼 3은 몇 가지 '미들웨어 (내부 처리와 인터페이스의 중간적 기능을 하는 소프트웨어)' 적 성격의 외부 기술을 이용했기 때문에 상당히 다양한 기능을 제공할 수 있었다. 이 다양한 기술에는 멀티스레드 렌더링 시스템 (Gemini), 64비트 색상의 HDR 렌더링 파이프라인, 엔비디아의 피지엑스 물리 엔진에 의해 지원되는 다양한 물리 효과, 파티클 이펙트, 게임 엔진에 의해 만들어지는 게임 플레이 동영상, 향상된 스켈레탈 애니메이션 시스템, 개발 효율을 높여주는 여러 기능이 포함되어 있었다. 언리얼 3 엔진은 언리얼 토너먼트 3뿐만 아니라, 많은 게임에서 기본으로 사용되었다. 언리얼 토너먼트 3은 에이지아사의 (현재는 엔비디아사의 엔진) 피지엑스 엔진을 지원하는 AAA 등급의 게임 중 가장 눈여겨볼 만할 만한 게임 중 하나였다.

유포리아 엔진[편집]

내추럴모션사에 의해 만들어진 유포리아 엔진은 실시간으로 애니메이션을 생성하는 게 가능한 애니메이션 엔진이었다. 개발자에 따르면 유포리아 엔진은 인공지능(AI), 생체역학, 물리학을 결합한 덕분에 래그돌 피직스(ragdoll physics) 보다 사람이나 생물의 움직임을 더욱더 자연스럽게 시뮬레이션 할 수 있었다고 한다. 쉽게 말해 어도비 플래시의 키 프레임 기반 애니메이션이나, 혹은 사람의 움직임을 가져와 애니메이션에 적용하는 모션 캡처와는 달리 위의 3가지 요소를 결합해 사용할 때 마다 바로바로 '실시간'으로 자연스러운 애니메이션을 만들 수 있는 것이다. 이런 이유로 유포리아 엔진은 뼈대뿐만 아니라, 근육, 신경 체계까지 시뮬레이션 할 수 있다. 여기에 더해 인공 지능 모듈이 캐릭터의 움직임을 만들기 때문에 미리 정의된 애니메이션 보다 훨씬 더 현실적인 움직임이 가능하게 된다. 위쪽 본문에서 언급되었던 것처럼 록스타사는 유포리아 엔진을 레이지 게임 엔진의 일부로 합쳐 사용했지만, 내추럴모션사는 유포리아 엔진이 미들웨어가 아님을 주장하며 강조하기도 했다.

앤빌 엔진[편집]

유비소프트 몬테리올의 테크니컬 디렉터(Technical Director)인 클라우드 랑글레에 따르면 어쌔신 크리드를 위해 사용된 거의 모든 엔진과 툴은 기반부터 새롭게 작성된 것이라고 한다. 개발과 지원을 위한 전용툴과 이런 툴들을 발전시키려는 노력이 앤빌 엔진 (구 시미터 엔진)을 다른 그 어떤 기술에도 의지하지 않고 처음부터 다시 작성하는 결정으로 이어지게 된다. 유연한 툴의 제공과 함께, 앤빌 엔진의 초기 목표는 플루이드 애니메이션이었는데 어쌔신 크리드에서 건물 사이를 오르거나 점프해서 뛰어다니는 장면을 보면 이러한 점을 확실히 알 수 있다. 이런 애니메이션을 가능하게 하기 위해, 앤빌 엔진은 멀티스레딩 엔진으로 설계되었다. 멀티스레딩 설계 덕분에 게임 개발자들은 엔빌 엔진을 이용해 동적으로 로드되는 게임 세상을 만들 수 있었다. 현대 게임 엔진에 점점 더 일반화 되는 것처럼, 앤빌 엔진도 주요 기능 중 몇 가지를 다른 기업에서 개발한 외부 미들웨어에 기반하고 있다. 이 미들웨어로는 주로 충돌 감지(collision detection), 길 찾기 알고리즘(pathfinding AI)과 연관된 기술이 사용되었고 애니메이션 향상과 운동 역학을 위해 오토데스크의 휴먼IK 미들웨어가 사용되었다.

두니아 엔진[편집]

지금까지 두니아 엔진은 파 크라이에서만 사용되어 왔지만, 앞으로 진행될 몇 가지 프로젝트에도 두니아 엔진이 사용될 예정이다. 엔진 자체는 크라이엔진과 같은 뿌리를 공유하고 있지만, 유비소프트사에 따르면 오로지 2~3%의 코드만이 재사용 되었다고 한다. 두니아 엔진은 크라이시스(Crysis)에 사용된 크라이엔진 2보다 훨씬 더 낮은 하드웨어 사양에서도 사용이 가능하다. 피 크라이 2의 테크니컬 디렉터인 도미닉 과이씨는 가마수트라지와의 인터뷰에서 두니아 엔진은 멀티코어 프로세서의 장점을 활용할 수 있을 뿐만 아니라 다이렉트X 9와 10을 모두 지원하지만, 여기에 더해 지포스 6600 그래픽 카드가 장착된 펜티엄 4급의 PC에서도 파 크라이 2를 실행할 수 있다고 말하기도 했다.[3]

개발[편집]

게임엔진은 주로 게임과 함께 제작된다. 제작에 들어가기 전에 프로젝트 관리자와 개발자, 게임 디자이너 등이 함께 게임 프로그램의 설계 방향을 결정하는데, 엔진을 직접 개발할 것인지 이미 개발된 것을 쓸 것일지도 이때 결정한다.

개발된 것을 사용할 경우 예산과 일정을 줄일 수 있지만, 개발할 게임과 상성이 맞지 않으면 정반대의 효과가 난다. 물론 아무리 여러 분야에 쓰이는 엔진이라도 모든 게임이 요구하는 바를 모두 충족할 수는 없어서, 게임 개발사가 자신들의 게임에 맞춰 최적화하거나 고치는 경우가 많다. 상용 게임 개발사를 위한 상용 엔진은 보통 구매자에게 소스를 공개한다. 스프린터 셀 시리즈는 산 엔진을 개조한 대표적인 예이다. 처음에 언리얼 엔진 2.5를 샀지만, 시리즈를 거듭할수록 자신들의 게임에 적합하게 엔진을 개조해왔다. 후에는 '스프린터 셀: 컨빅션'에서는 개조된 엔진을 리드 엔진이라 이름 붙였다.

직접 엔진을 개발하는 경우는 자신들의 게임에 맞는 엔진이 없는 경우이다. 일인칭 슈팅 게임 '헤이즈'의 개발팀은 자신들의 게임이 가진 특징을 돋보이게 하려고 직접 엔진을 개발했다. 직접 개발하는 엔진도 사내의 다른 프로젝트나 후속 프로젝트를 고려해 범용성을 따져야 하는 경우가 있다. 나아가 어떤 개발사들은 연구개발팀을 따로 만들어 회사 프로젝트 전용의 게임 엔진을 제작하기도 한다. 일본의 게임 개발사인 캡콤은 회사의 자체 엔진인 MT 프레임워크를 꾸준히 개발하고 있으며, '로스트 플래닛'과 '데드 라이징'에 해당 엔진이 사용되었다.

판매를 위해 개발되는 엔진은 그 범용성이 기준이 된다. 에픽 게임즈의 언리얼 엔진은 판매를 목적으로 개발된 엔진으로, 특히 언리얼 엔진 3은 기존의 일인칭 게임 중심 구조에서 벗어나 범용성을 더욱 발전시켰다. 그 외에 판매 목적으로 엔진을 개발하는 회사로는 크라이텍의 크라이엔진과 게러지게임즈의 토크 게임 엔진이 있다.[4]

대표적인 상용 게임엔진[편집]

언리얼 엔진[편집]

언리얼 엔진은 게임 회사인 에픽게임즈(Epic Games)가 개발한 게임 엔진이다. 다른 게임 엔진을 압도하는 그래픽 표현을 할 수 있고 대기업 회사의 대표 타이틀 제작에 많이 사용된다. 언리얼 엔진은 원래 에픽게임즈에서 자체 개발한 게임 엔진으로 탄생했지만 그 후 다른 회사에도 공개했고 언리얼 엔진 4까지 성장했다. 지금은 개인에게도 무료로 오픈되었다.

언리얼은 높은 품질의 게임을 제작할 수 있다. 언리얼 엔진은 유니티보다 고품질이며 현실적인 영상을 구현할 수 있다는 것이 가장 큰 장점이다. 그 결과 많은 상용 게임에 사용되며 요즘 유행하는 가상현실 게임에도 사용된다. 블루프린트로 간단하게 개발할 수 있다. 블루프린트라고 하는 비주얼 스크립팅 시스템을 이용해 개발자가 아니라도 게임 로직을 구현할 수 있다. 블루프린트 외에 C++로도 개발이 가능하다. 또한 언리얼은 무료화되어 사용자가 증가했다. 언리얼 엔진이 무료화하면서 사용자가 증가해 인터넷에 정보가 다양해짐에 따라 원하는 정보를 쉽게 찾을 수 있다. 멀티 플랫폼을 지원한다. 언리얼 엔진으로 게임을 만들면 가상현실용 콘텐츠 제작 포함한 PC, iOS, HTML 5, 맥, 안드로이드, 플레이스테이션 4, 리눅스, 닌텐도 스위치, Xbox One 등의 플랫폼을 지원한다. 플랫폼에 따라 플랫폼의 개발 라이선스가 필요하다. 개발용으로 추천되는 사양은 윈도우 10 64bit , 맥OS 10.14 모하비 이상이 설치된 데스크톱 PC, 8GB 이상 RAM, 인텔 또는 AMD 프로세서(쿼드 코어 이상), DirectX 11 이상 지원(윈도우), 메탈 1.2 지원(맥OS) 그래픽 카드가 있다.

언리얼 엔진을 이용해 게임, 데모, 시뮬레이션, 건축 쇼케이스 등을 배포할 수 있다. 분기별로 프로젝트 하나당 3,000달러가 넘은 매출에는 사용료 5%가 과금된다. 또한, 언리얼 엔진4를 이용하여 무료 게임을 배포하는 것은 무료이며 에픽게임즈에 로열티를 지불하지 않아도 된다. 학교에서는 무료로 이용할 수 있다.[5]

크라이 엔진[편집]

크라이엔진(Cry Engine)은 독일의 게임 회사 크라이텍이 제작한 게임 엔진으로, 크라이텍의 일인칭 슈팅 게임 파 크라이를 개발하는 데 쓰였다. 원래는 크라이텍이 엔비디아를 위해 개발한 기술 데모였으나, 그 잠재력을 보고 게임에 사용하게 되었다.

넓은 시야와 자연 묘사가 특징이며, 자체 에디터인 샌드박스를 가지고 있다. 1.2 버전부터 픽셀 셰이더와 버텍스 셰이더 3.0을 지원했고 폴리범프(PolyBump)를 제작해 사용했다. 폴리범프는 보통의 법선 맵핑과는 달리 텍스처의 레이어가 아닌 실제 폴리곤을 이용한다. 1.3 버전에서는 하이 다이내믹 레인지 렌더링을 지원하기 시작했다.

기본적으로 크라이엔진의 플랫폼은 윈도우이다. 윈도우 98, ME, 2000, XP, 비스타에서 사용 가능하며 64비트 운영 체제도 사용할 수 있다. 공식적으로 언급된 적은 없지만, 윈도 2003에서도 문제없이 작동한다. 특징으로는 인공지능 스크립트로 루아 언어 사용하고 플러그인을 구성요소로써 지원하고, 다이렉트 3D 8, 9와 오픈지엘을 지원한다. 충돌 감지, 세밀도를 단계화하고 고정 기하학 구조이다. 굉장히 넓은 가시 범위를 신속하게 구현하며 다른 동급 엔진처럼 64비트 CPU, 운영 체제가 지원되면 범위가 더욱 넓어지고 지형과 사물의 세밀함이 높아진다. 폴리범프(노말 매핑, 범프 매핑, 스페큘러 매핑, 디퓨즈 매핑)와 모션 캡처, 운동 단계 조정, 골격 애니메이션이 있고 아주 단순한 수준이지만 랙돌, 탈것의 물리 효과를 지원한다. EAX 1.0~5.0, 돌비 서라운드 7.1, 도플러 효과들을 지원한다. 현재 공개된 교육용 크라이엔진 3에는 다이렉트 3D 11의 시스템 파일이 포함되어있으며, 이 엔진을 사용한 크라이시스 2에는 다이렉트 3D 10의 기능이 약간 포함되어 있다.

크라이 엔진으로 개발한 게임으로는 파 크라이, 아이온, 아키에이지, 카일라스, 워페이스, 라이즈:선 오브 로마, 이카루스, 문명 온라인, 워닝펏, 온그린 등이 있다.[6]

소스 엔진[편집]

소스 엔진(Source Engine)은 미국의 밸브 코퍼레이션에서 제작한 3차원 게임 엔진이다. 셰이더에 기초를 둔 렌더러, 정확한 립싱크 그리고 표정 기술, 그리고 실사 같은 그래픽을 제공하면서도 낮은 요구 사양, 뛰어난 사양 최적화 능력, 네트워크 엔진을 내장하며 물리 엔진인 하복 엔진을 가지고 있다. 현재 소스 엔진 중 최신 버전은 포탈 2 소스 엔진(Portal 2 Source Engine)이다 소스 엔진은 밸브게임 시리즈인 하프라이프 2, 카운터-스트라이크: 소스, 카운터-스트라이크: 글로벌 오펜시브, 팀 포트리스 2, 포탈, 데이 오브 디피트: 소스. 레프트 4 데드시리즈 등에 사용되었으며 렌더링 엔진의 성능이 개선되고 멀티 코어에도 최적화가 되었으며 다이내믹 광원 효과, 모션블러 등의 그래픽 효과를 제공한다.

  • 소스 엔진 모드

소스 엔진 모드란 소스 엔진을 기초로 구동하는 모드 게임으로 스팀에서 실행할 수 있다. 스팀에서 제공되는 소스 엔진 베이스 SDK 2007을 다운로드 받으면 실행 가능한 독립 실행형이 있지만 하프라이프 2, 포탈 등등의 원작의 게임 파일을 스팀에서 가지고 있어야 실행되는 것이 많다.

이러한 소스 엔진 모드들은 밸브 코퍼레이션 사가 아닌 주로 일반인 모드 개발팀 들이 제작한 2차 창작물이기 때문에 공식 게임 세계관에 낄 수 없으며, 현재까지 밸브 코퍼레이션 사는 어떠한 소스 엔진 모드 게임을 공식 세계관으로 인정한 적이 없다. 하지만 여전히 몇몇 소스 엔진 게임이 공식 게임이라거나 밸브 코퍼레이션 사에서 공식 스토리로 채용했다는 루머가 있는 소스 엔진 게임이 있으며 그 중 포탈: 프렐류드 및 블랙 메사 소스를 그 예다.[7]

게임브리오[편집]

게임브리오(Gamebryo)는 뉴메리컬 디자인 리미티트사(NDL)의 넷이머스 엔진의 후기이다. 현재 게임브리오의 최신 버전은 C++로 개발된 게임브리오 4.0'과 C#으로 개발된 라이트스피드 2012가 있다.

2003년 2월 NDL은 이머전트 게임 테크놀로지스에 매각되면서, 엔진이 게임브리오로 바뀌고 2월 27일에 버전 1.0이 정식으로 출시하였다. 2007년 1월 30일 버전 2.3으로 판올림했다. 엑스박스 360, 플레이스테이션 3, PC 플랫폼에 최적화된 2.3은 다이렉트X 10과 에이지아의 피직스를 지원하고, 멀티 코어 기반의 차세대 플랫폼들에서도 높은 성능을 내기 위한 스트림 처리 엔진인 플루드게이트가 더해졌다. 2009년 8월 19일 이머전트 게임 테크놀로지스와 엔비디아는 파트너쉽 제휴를 맺고 피직스를 내장하게 되었다. 2010년 11월 17일 적자에 시달리던 이머전트 테크놀로지스는 파산 위기에 처하며, 저브스만 파트너스에 의해 경매에 올려졌다. 12월 10일까지 경매에 부쳐질 것이며, 최고 입찰가를 낸 기업에 매각되게 될 것이다. 경매에 부쳐지기 전에도 벤처캐피탈의 도움으로 자금 4천만 미국 달러를 공급받았지만, 경영 상황이 좋아지지 않았다. 같은 해 12월 21일, 게임브리오 한국지역 대리업체인 게임베이스가 이머전트 게임 테크놀로지스의 모든 지적 재산과 자산을 인수하였다. 그에 따라 2011년 1월 24일 이머전트 게임 테크놀로지스는 게임베이스 USA로서 엔진 개발을 다시 시작했다. 회사는 노스캐롤라이나주, 리서치 트라이앵글 파크에 위치한다. 2012년 2월 8일에 게임 개발자 회의에서 버전 4.0을 공개할 예정이라고 밝혔다. 3차원 컴퓨터 그래픽스 미들웨어인 게임브리오는 C++로 작성되었으며 PC, 플레이스테이션 3, 엑스박스 360, Wii 플랫폼에서 사용할 수 있다. 도구는 애니메이션 툴과 장면보기 툴, 3D 스튜디오 맥스와 마야용 플러그인을 제공하고 있다.[8]

게임 샐러드[편집]

게임 샐러드(GameSalad)는 주식회사 게임 샐러드사가 만든 게임 개발 엔진이다. 게임 샐러드는 개발자가 아닌 사람들도 게임을 만들 수 있도록 드래그 앤드 드롭 방식을 사용했으며, 기존의 CUI 방식의 게임 개발이 아닌 GUI 방식을 사용하고 있다. 이 엔진은 주로 소비자나 그래픽 디자이너들에게 사용되며 게임 개발자들의 프로토타이핑에도 사용되고 있다.

현재 게임 샐러드는 전 세계 189개 국가에 있는 750,000명 이상의 개발자들에 의해 이용되고 있으며, 이들은 2009년 이래로 20만 개 이상의 게임을 만들어오고 있는데 그중 80개 정도의 게임이 미국 앱스토어 탑 100게임들에 이름을 올렸다. 월평균 앱스토어 게임의 15%가 게임 샐러드 툴을 이용하여 제작되고 있다.[9]

코코스 2D[편집]

코코스 2D(Cocos2D)는 파이썬으로 제작된 게임 엔진이다. 나중에 앱스토어가 생기고 아이폰 앱 SDK가 배포되자 개발자 한 명인 리처드 퀘사다가 코코스 2D를 오브젝티브-C로 재작성하여 코코스 2D-아이폰을 만들었고, 이것이 나중에 코코스 2D-x의 시작이 되었다.

기본적으로 코코스를 제대로 사용하려면 자료구조와 알고리즘에 대한 대략적인 지식이 있어야 하며, STL을 능숙하게 사용하여야 하고, C++의 상속 같은 핵심 기술을 전부 알아야 한다. iOS의 경우 오브젝티브-C나 스위프트, 안드로이드의 경우 자바 라이브러리를 쉽게 갖다 쓸 수 있는 장점이 있으나 JNI 사용법을 알아야 하는 문제가 있으며, 또 *.h나 *.cpp 파일을 자체적으로 열어서 코어 로직을 보는 것이 습관화되어 있어야 한다.

프로젝트 세팅 등 수동으로 만져야 하는 부분이 매우 많은 점도 커다란 진입장벽이다. 코드를 짜보기도 전에 프로젝트 세팅조차 못 하고 나가떨어지는 경우가 대부분이다. 여기에 한글 문서도 사실상 없는 수준일 뿐 아니라, 영어 문서조차 적어 일본어나 중국어 사이트를 번역기로 보면서 공부해야 하는 경우가 많다.

가장 큰 이유는 언리얼 엔진, 유니티 엔진은 상업성을 두고 운영을 하지만, 코코스는 오픈 소스 프로젝트 때문으로 보인다. 다만 경쟁에서 밀렸다곤 해도 현재도 대형 게임사들에서 한두 개 정도의 프로젝트는 여전히 코코스로 만들고 있는 경우가 있고, 현업에서도 완전히 밀려난 상황은 아니다. 언리얼·유니티 두 엔진보다는 훨씬 적지만, 3위권 정도를 유지하고 있다. 이는 C++에 익숙한 중견 프로그래머들의 경우 기존 워크플로우를 비교적 그대로 유지할 수 있는 코코스로 개발을 하는 것이 차라리 더 효율적이기 때문이다.[10]

각주[편집]

  1. 이재진, 〈게임엔진〉, 《네이버 백과사전》, 2013-12-12
  2. 팡새, 〈게임 엔진이란?〉, 《네이버 블로그》, 2012-07-04
  3. 노티스, 〈게임 엔진의 역사〉,2013-04-08
  4. 게임 엔진〉, 《위키백과》
  5. 한빛, 〈게임 개발을 하기 위해 알아야 할 것들 & 언리얼 엔진과 유니티 특징 비교〉, 《한빛 미디어》, 2020-10-27
  6. 크라이엔진〉, 《위키백과》
  7. 소스(게임 엔진)〉, 《위키백과》
  8. 게임브리오〉, 《위키백과》
  9. 게임샐러드〉, 《위키백과》
  10. Cocos2d〉, 《나무위키》

참고자료[편집]

같이 보기[편집]


  검수요청.png검수요청.png 이 게임엔진 문서는 메타버스에 관한 글로서 검토가 필요합니다. 위키 문서는 누구든지 자유롭게 편집할 수 있습니다. [편집]을 눌러 문서 내용을 검토·수정해 주세요.