게임엔진
게임엔진(Game Engine)은 게임을 실행시키는데 필요한 다양한 핵심 기능들을 담은 소프트웨어(Software), 혹은 소프트웨어 구성요소를 말한다. 보통 게임의 제작은 ‘게임엔진’ 이라는 뼈대를 최우선적으로 개발한 이후, 각종 리소스를 붙여나가면서 만들어나가기 때문에 게임엔진은 그만큼 개발에 있어 중요한 부분라고 할 수 있다.
개요
게임엔진은 개발사에서 자체적으로 개발하는 경우도 많지만, 시장에 나와있는 상용엔진을 구매하여 사용하는 경우도 많다. 만약 상용 엔진을 구매해서 사용한다면 그만큼 개발기간을 줄일 수 있으며, 해당 엔진이 보증하는 최소한의 시각적인 퀄리티를 구현할 수 있다는 장점이 있다. 그러나 개발자가 직접 엔진을 만드는 것이 아니기 때문에 엔진의 커스터마이징등에 있어 오히려 시간과 비용이 더 들어가는 경우도 많다. 게임엔진의 개념이 본격적으로 자리를 잡은 것은 1996년 발매된 FPS게임 퀘이크(Quake)이후 3D게임이 보편화 되면서부터였다. 퀘이크의 개발자 존 카멕이 퀘이크 시리즈의 소스코드를 공개하며 게임엔진이라는 개념이 자리잡은 것이다. 상용 게임엔진에는 3D 게임의 구동을 위한 렌더링(Rendering) 등의 기능이 미리 구현되어있기 때문에, 이를 이용함으로써 게임 개발 기간을 단축할 수 있다. [1]
기능
렌더링엔진
렌더링 엔진(rendering engine)은 3차원 그래픽 기술을 이용해 실제 세계와 같은 느낌의 영상을 화면에 나타내는 것을 말한다. 때문에 그래픽 엔진이라고 부르기도 한다. 가장 대표적인 것은 '언리얼 엔진'이다. 이 엔진을 사용하면 영화와 같은 사실적인 영상을 제작할 수 있다. '기어즈 오브 워'와 '스페셜 포스 2' 등 국내외 수많은 게임이 이 엔진을 이용했다. 물론 언리얼 엔진 말고도 다수의 상용 엔진이 존재한다. 예를 들어 '아이온'은 '크라이 엔진'을 사용했으며, '마비노기 영웅전'은 '소스 엔진'을 사용했다.
물리엔진
물리엔진은 게임 공간을 이루는 물체들이 실제 세계의 물리 법칙에 따라 움직이도록 처리해주는 프로그램을 말한다. 대표적인 물리엔진으로는 '하복(Havok)'과 '피지엑스(PhysX)'가 있다. 하복은 '헤일로3', '스타크래프트2', '엘더스크롤5: 스카이림', '언차티드' 등의 게임에 이용됐고, 소스 엔진 등에 통합 판매되기도 한다.
물리엔진은 게임에서만 사용되는 것은 아니다. '트랜스포머' 등과 같은 영화 특수효과에서도 물리 법칙을 적용하는 것은 필수적이다. 그런데 영화 특수효과에서 사용되는 물리엔진과 게임 물리엔진 사이에는 다른점이 있다. 1초에 24장의 화면을 보여주는 영화에서는 고품질 영상을 얻기 위해서 한 화면을 만드는데 몇 시간이 걸리더라도 이를 진행한다. 하지만 게임에서는 1초에 30장 이상의 화면을 즉시 그 위치에서 생성해야 한다. 따라서 고난도의 복잡한 물리 공식을 초마다 풀어내는 것은 힘든 일이다.
초기 물리엔진은 포탄 탄고 계산 등의 간단한 기능만을 구현했으나 이후 지속적으로 기능을 발전시켜서 지금은 약간 어색한 수준이나마 옷과 같은 변형체, 연기와 같은 유체도 구현할 수 있다. 이는 컴퓨터 하드웨어와 소프트웨어의 발전 덕분에 가능해졌다. 특히 눈부시게 진화하는 CPU와 그래픽 카드에 힘입은 바가 크다.
복잡한 변형체와 유체 등을 처리하는 이론은 이미 '캐리비안의 해적' 등과 같은 영화의 특수효과 제작에 사용되고 있다. 이런 정도의 물리 효과를 게임에서 구현하기는 아직 힘들다. 하지만 컴퓨터 하드웨어와 소프트웨어는 꾸준히 발전하고 있기 때문에 파도치는 바다 등을 표현하는 물리엔진의 등장은 멀지 않았다고 말할 수 있다. [2]
대표적인 상용 게임엔진
언리얼 엔진
언리얼 엔진은 게임 회사인 에픽게임즈(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를 이용하여 무료 게임을 배포하는 것은 무료이며 에픽게임즈에 로열티를 지불하지 않아도 된다. 학교에서는 무료로 이용할 수 있다. [3]
크라이 엔진
크라이엔진(CryENGINE)은 독일의 게임 회사 크라이텍이 제작한 게임 엔진으로, 크라이텍의 일인칭 슈팅 게임 파크라이를 개발하는 데 쓰였다. 원래는 크라이텍이 엔비디아를 위해 개발한 기술 데모였으나, 그 잠재력을 보고 게임에 사용하게 되었다.
넓은 시야와 자연 묘사가 특징이며, 자체 에디터인 샌드박스를 가지고 있다. 1.2 버전부터 픽셀 셰이더와 버텍스 셰이더 3.0을 지원했고 폴리범프(PolyBump)를 제작해 사용했다. 폴리범프는 보통의 법선 맵핑과는 달리 텍스처의 레이어가 아닌 실제 폴리곤을 이용한다. 1.3 버전에서는 하이 다이내믹 레인지 렌더링을 지원하기 시작했다.
기본적으로 크라이엔진의 플랫폼은 윈도우이다. 윈도우 98, ME, 2000, XP, 비스타에서 사용 가능하며 64비트 운영 체제도 사용할 수 있다. 공식적으로 언급된 적은 없지만 윈도 2003에서도 문제 없이 작동한다. 특징으로는 인공지능 스크립트로 루아 언어 사용하고 플러그인을 구성요소로서 지원하고, 다이렉트 3D 8, 9와 OpenGL 지원한다. 충돌 감지, 세밀도를 단계화하고 고정 기하학 구조이다. 굉장히 넓은 가시범위를 신속하게 구현하며 다른 동급 엔진처럼 64비트 CPU, 운영 체제가 지원되면 범위가 더욱 넓어지고 지형과 사물의 세밀함이 높아진다. 폴리범프(노말 매핑, 범프 매핑, 스페큘러 매핑, 디퓨즈 매핑)와 모션 캡처, 운동 단계 조정, 골격 애니메이션이 있고 아주 단순한 수준이지만 랙돌, 탈것의 물리 효과를 지원한다. EAX 1.0~5.0, 돌비 서라운드 7.1, 도플러 효과들을 지원한다. 현재 공개된 교육용 크라이엔진 3에는 다이렉트 3D 11의 시스템 파일이 포함되어있으며, 이 엔진을 사용한 크라이시스2에는 다이렉트 3D 10의 기능이 약간 포함되어 있다.
크라이 엔진으로 개발한 게임으로는 파크라이, 아이온, 아키에이지, 카일라스, 워페이스, 라이즈:선 오브 로마, 이카루스, 문명 온라인, 워닝펏, 온그린 등이 있다. [4]
소스 엔진
소스엔진(Source Engine)은 미국의 밸브 코퍼레이션에서 제작한 3차원 게임 엔진이다. 셰이더에 기초를 둔 렌더러, 정확한 립싱크 그리고 표정 기술, 그리고 실사같은 그래픽을 제공하면서도 낮은 요구 사양, 뛰어난 사양 최적화 능력, 네트워크 엔진을 내장하며 물리 엔진인 하복 엔진을 가지고 있다. 현재 소스 엔진 중 최신 버전은 포탈 2 소스 엔진(Portal 2 Source Engine)이다 소스엔진은 밸브게임 시리즈인 하프라이프 2, 카운터-스트라이크: 소스, 카운터-스트라이크: 글로벌 오펜시브, 팀 포트리스2, 포탈, 데이 오브 디피트: 소스. 레프트 4 데드시리즈 등에 사용되었으며 렌더링 엔진의 성능이 개선되고 멀티 코어에도 최적화가 되었으며 다이내믹 광원 효과, 모션블러 등의 그래픽 효과를 제공한다.
- 소스 엔진 모드
소스 엔진 모드란 소스 엔진을 기초로 구동 하는 모드 게임으로 스팀에서 실행할 수 있다. 스팀에서 제공되는 소스 엔진 베이스 SDK 2007을 다운로드으면 실행 가능한 독립 실행형이 있지만 하프라이프 2, 포탈 등등의 원작의 게임파일을 스팀에서 가지고 있어야 실행되는 것이 많다.
이러한 소스 엔진 모드들은 밸브 코퍼레이션 사가 아닌 주로 일반인 모드 개발팀 들이 제작한 2차 창작물 이기 때문에 공식 게임 세계관에 낄 수 없으며, 현재까지 밸브 코퍼레이션 사는 어떠한 소스 엔진 모드 게임을 공식 세계관으로 인정한 적이 없다. 하지만 여전히 몇몇 소스 엔진 게임이 공식 게임 이라거나 밸브 코퍼레이션 사에서 공식 스토리로 채용했다는 루머가 있는 소스 엔진 게임이 있으며 그 중 포탈: 프렐류드 및 블랙 메사 소스를 그 예다. [5]