[테마기획]게임엔진으로 살펴본 FPS

FPS(일인칭 슈팅 게임) 춘추전국시대다. PC방 어디를 가도 들리는 총소리가 더이상 낯설지 않다. 네오위즈의 ‘스페셜포스’ CJ인터넷의 ‘서든어택’ 넥슨의 ‘워록’ 등이 FPS의 전성시대를 활짝 연 작품들이라 할 수 있다. 이들 FPS게임들은 무엇보다 유저의 시선으로 게임이 진행되기 때문에 그래픽과 사운드 마우스를 통해 전해지는 손맛이 다른 어떤 게임보다 중요하다.

따라서 이를 게임상에서 표현하기 위한 게임엔진의 중요성은 두말할 나위가 없다. 현재 서비스되고 있는 FPS게임과 앞으로 공개될 작품들은 대부분 주피터엔진과 언리얼 엔진을 사용하고 있다. 각각의 엔진마다 장단점은 있지만 엔진은 게임을 제작하는 툴에 불과하기 때문에 어느것이 우월하다고 평가할 수는 없다. # 저사양에 최적화된 주피터

게임하이에서 개발한 ‘서든어택’과 스마일소프트에서 개발 중인 ‘크로스파이어’는 주피터 엔진을 사용한 작품이다. 주피터엔진의 경우 시스템에 무리를 주지 않고 FPS의 움직임을 제대로 표현 할 수 있다는 장점이 있어 많은 개발사에서 채택하고 있다. 물론 언리얼엔진에 비해 저가격이라는 것도 무시할 수 없다.

같은 엔진을 사용하고 있다는 점에서 언뜻 두 작품은 닮아있다. 이는 ‘카운터스트라이커’를 모티브로 제작됐다는 것과 실제 게임상에서 보여지는 캐릭터들의 움직임과 총기의 반동 등이 비슷하기 때문이다. 주피터엔진의 경우 32명에 기반한 FPS에 최적화된 네트워크와 유닉스 기반의 서버를 지원하고 있다. 네트워크 코드에 엔진이 융합돼있어 MMORPG를 위해 네트워크 코드를 수정하려면 여러가지 제약이 있다. 따라서 MMORPG에는 적합하지 않다. 여기에 엔진 자체에 내제된 메모리사용을 최소화하는 데칼시스템과 불, 물, 연기, 폭발 등의 다양한 효과를 지원해 FPS게임에 알맞다고 할 수 있다.

‘서든어택’의 총알 궤적이나 스나이퍼 모드시의 움직임 등은 이를 잘 활용한 사례라고 하겠다. ‘크로스파이어’역시 비슷한 형태를 보여주고 있으며 다른 FPS보다 스피드감을 살릴 수 있었던 것은 주피터엔진의 특성이라고 할 수 있다. 하지만 같은 엔진을 사용했다 하더라도 세부적인 사항은 엔진에만 전적으로 의존할 수 없기때문에 마치 사과나무에 열린 사과가 한 뿌리에서 나오지만 모양이 제각각인 것과 비교할 수 있다. 더구나 주관적인 요소가 크게 작용하는 게임플레이감은 두 게임이 같은 뿌리에서 탄생했다고 해도 전혀 다르게 느껴지도록 하는 것이다. # FPS게임은 언리얼이 제격

앞서의 두작품이 비교적 저사양의 PC에서도 원활히 작동될 수 있는 주피터엔진을 사용했다면 네오위즈의 ‘아바’와 웨이포인트의 ‘랜드매스’는 언리얼엔진을 사용해 묵직한 맛이 있다. 언리얼엔진의 경우 가격이 비싸다는 것이 단점이긴 하지만 FPS게임에 특화돼 있어 다른 어떤 엔진보다 FPS게임의 특성을 가장 잘 표현할 수 있다. 특히 언리얼엔진 에디터는 맥스, 마야, 캐드의 플러그인, 임포트, 익스포트 기능을 포함하고 있고 내부에 맵툴, 캐릭터 툴, 애니메이션 설정툴, 인공지능, 스크립트 에디터 등을 통해 게임 개발에 편리성을 제공한다.

특히 외부 툴과의 연동이나 에디터 내의 새로운 툴 추가나 수정이 쉽고 엔진 개량시 동시에 툴셋에도 개량 요소를 추가할 수 있고 새 요소와 기존의 요소 연동도 용이해 개발자들에겐 더없이 좋은 도구다.

‘랜드매스’는 메카닉 FPS라는 게임의 특성상 고폴리곤의 캐릭터가 한 화면에 많이 등장해도 시스템에 과부하를 일으키지 않는다는 이유로 언리얼2 2.5를 채택했다. 특히 많은 캐릭터가 동시 다발적으로 일으킬 앞으로의 게임 방향과도 잘 맞아 떨어진다.

‘아바’의 경우 같은 언리얼엔진을 사용하고 있지만 최신의 언리얼엔진 3를 사용 그래픽면에서 다른 어떤 FPS와 비교도 안될 만큼의 화면을 연출한다. 가령 얇을 벽을 관통하는 총알이나 탄알의 궤적 등 여타 FPS에서 볼 수 없었던 화려함을 보여주고 있다. 하지만 두 작품 모두 저사양PC에선 구현이 불가능해 언리얼엔진의 높은 시스템사양을 실감케한다.# 국내기술도 무시못해

하지만 국내 FPS게임 엔진이 모두 외국산인 것은 아니다. 넥슨에서 서비스하고 있는 ‘워록’의 경우 자체개발 엔진을 통해 절대 기술적인 면에서 뒤지지 않음을 보여준다,

자체개발엔진을 사용하는 것은 수입엔진에 비해 서비스 중 발생할 수 있는 기술관련 이슈나 다양한 문제점들에 신속히 대응할 수 있기 때문이다. 이밖에 엔진제작사에서 받을 수 있는 테크니컬 서포트 등에 제약이 많을 수 밖에 없다.

현재 ‘워록’에 적용된 엔진은 크게 캐릭터가 죽을 때 나오는 봉제인형(Ragdoll) 시뮬레이션, 비행기나 헬기가 하늘을 날을 때 사용하는 비행 시뮬레이션, 배가 물 위에 뜨는 듯한 부력 시뮬레이션, 자동차나 탱크가 움직일 때 사용는 타이어모델 시뮬레이션 등이다. 예를 들면 봉제인형시뮬레이션은 캐릭터 몸체를 지칭하며 정해진 애니메이션이 아닌 주위 지형, 지물들과 서로 반응하는 애니메이션 동작을 표현해 주는 것이다. 

온네트의 신작 ‘큐팡’의 경우 자체 개발 엔진인 On3D를 사용하고 있다. 골프게임인 ‘샷온라인’에서 사용했던 물리엔진을 일부 수정해 게임 중에 오브젝트들을 무기로 타격하여 움직일 수 있도록 처리하고, 아바타의 표정을 변화시킬 수 있도록 하는 모핑(morphing) 기술 사용, FPS 게임에서 움직임을 자연스럽게 표현하기 위한 모션처리 기능을 강화해 캐주얼FPS게임의 느낌을 잘 살려내고 있다.

게임엔진이란

엔진은 ▲그래픽(렌더링)엔진▲애니메이션 엔진▲네트워크엔진▲인공지능 엔진▲물리엔진 등으로 구성되며 언리얼과 같은 상용엔진의 경우 이 모든 것들이 포함돼 있다. 이중 물리엔진은 게임 내에서 어떠한 힘을 물체에 가할 때 현실세계에서처럼 물리력에 의해 움직이게 해주는 기능을 수행해주는 요소이다.

예를 들어 게임에서 물리엔진은 물체를 잡아서 던지면 던진 방향과 힘에 따라서 현실처럼 움직이게 해주는 것이다. 이는 여러 가지 힘이 적용된 결과물이며 던지는 힘+중력+물체의 항력+충돌 힘(다른 물체와 충돌 되었을 경우)이다. 하지만 엔진이라는 것은 게임을 만들기 위한 도구일 뿐 그 자체론 게임이 될 수 없기 때문에 대부분의 개발자들은 각각의 엔진들의 장점을 취합해 게임에 맞게 적용시키고 있다.

모승현기자@전자신문, mozira@

더게임스