분류
1. 개요
2. 역사
2.1. 게임 소스 코드의 재활용: 1970년대 ~
1990년대 중반 이전에는 게임 엔진이란 명칭도 정립이 되지 않았고 전문적인 게임 엔진도 없던 시절이라 엔진과 결과물이 명확하게 구분되어 연결되지 않는다. 이는 대부분의 게임이 그 게임을 위한 코드 자체로 구성되어 다른 게임에 반복해서 이식될 일이 거의 없었기 때문이다. 당시 미국의 게임 개발자들도 '게임 엔진' 과 '게임 라이브러리'를 명확하게 구별하지 않던 시절이었고, 개발자들 사이에서 유통되는 유료화된 라이브러리의 기능범위 역시 상당히 다양했다. 좁게는 화면에 그래픽을 출력하는 기능(나중으로 따지면 DirectX와 같은 역할)들을 잘 엮어서 엔진이라고 판매되는 경우부터, 규모가 있으면 메모리 관리나 데이터 리소스 관리 기능 정도가 포함되면 게임용 엔진으로서 가능한 거의 모든 기능을 포함할 수 있었다.
이때는 게임엔진이라는 명확한 표현은 없었지만 일단 한번 게임을 성공적으로 개발할 경우 그 게임의 소스코드를 재활용하여 후속작이나 비슷한 작품을 만드는데에 재활용 하는 것은 지극히 당연한 일이었다. 비단 형태가 비슷한 게임이 아닐지라도, 콘솔게임은 물론이고 IBM-PC 호환기종에서는 얼마나 많은 하드웨어를 지원하느냐에 따라 제작사의 실력이 갈리기도 했었는데, 이러한 하드웨어 제어 엔진 부분의 코드를 공통적으로 돌려쓰는 관습 또한 존재했다.
이를테면 1991년작 Winter Challenge 게임과 동일 개발사의 1992년작 Summer Challenge 을 보면 윈터 챌린지에서 계절만 그대로 바꾼 게임이라는 것을 알 수 있다.
비슷하게 1993년작 정글 북 과 동일 개발사의 1994년작 라이온 킹의 영상을 비교해도 대충 어떤 느낌인지 쉽게 알 수 있을 것이다.
게임보이 컬러용 루리루리 마작과 에반게리온 마작은 서로 다른 게임임에도 통신 대전이 가능하여 큰 화제를 불러왔는데, 이것은 그야말로 게임의 모든 소스코드가 동일하고 그림만 다른 게임이라는 것의 증거이다.
이러한 소스코드 재활용을 나쁘게 생각하는 유저들도 있으나, 그것은 눈으로 보이는 것밖에 볼 줄 모르는 유저들의 옳지 않은 생각이다. 게임을 하나 개발하는데에는 막대한 금액의 투자가 필요하며, 비용을 회수하기 위해 들이는 노력을 가볍게 폄하해 버려서는 안된다. 그래픽만 바꾸는데에도 어마어마한 돈이 들고, 보이지 않는 부분을 수정, 개량하는 노력 또한 필요하기 때문이다. 더욱이 이렇게 코드를 재활용해도 1-2년만 지나면 또 새로운 기술이 나오고 그것을 적용해야 하는데 돈이 들어가기에 이는 결코 게으름에서 나온 요령이 아니다. 특히 이러한 코드의 핵심부분은 보통 그 팀 또는 코드 제작그룹의 최고 전문가가 어셈블리 코드로 최적화한 고도의 루틴이 들어가 있는 관계로 쉽게 갈아치울 만한 것이 못 되었다.
이때는 게임엔진이라는 명확한 표현은 없었지만 일단 한번 게임을 성공적으로 개발할 경우 그 게임의 소스코드를 재활용하여 후속작이나 비슷한 작품을 만드는데에 재활용 하는 것은 지극히 당연한 일이었다. 비단 형태가 비슷한 게임이 아닐지라도, 콘솔게임은 물론이고 IBM-PC 호환기종에서는 얼마나 많은 하드웨어를 지원하느냐에 따라 제작사의 실력이 갈리기도 했었는데, 이러한 하드웨어 제어 엔진 부분의 코드를 공통적으로 돌려쓰는 관습 또한 존재했다.
이를테면 1991년작 Winter Challenge 게임과 동일 개발사의 1992년작 Summer Challenge 을 보면 윈터 챌린지에서 계절만 그대로 바꾼 게임이라는 것을 알 수 있다.
비슷하게 1993년작 정글 북 과 동일 개발사의 1994년작 라이온 킹의 영상을 비교해도 대충 어떤 느낌인지 쉽게 알 수 있을 것이다.
게임보이 컬러용 루리루리 마작과 에반게리온 마작은 서로 다른 게임임에도 통신 대전이 가능하여 큰 화제를 불러왔는데, 이것은 그야말로 게임의 모든 소스코드가 동일하고 그림만 다른 게임이라는 것의 증거이다.
이러한 소스코드 재활용을 나쁘게 생각하는 유저들도 있으나, 그것은 눈으로 보이는 것밖에 볼 줄 모르는 유저들의 옳지 않은 생각이다. 게임을 하나 개발하는데에는 막대한 금액의 투자가 필요하며, 비용을 회수하기 위해 들이는 노력을 가볍게 폄하해 버려서는 안된다. 그래픽만 바꾸는데에도 어마어마한 돈이 들고, 보이지 않는 부분을 수정, 개량하는 노력 또한 필요하기 때문이다. 더욱이 이렇게 코드를 재활용해도 1-2년만 지나면 또 새로운 기술이 나오고 그것을 적용해야 하는데 돈이 들어가기에 이는 결코 게으름에서 나온 요령이 아니다. 특히 이러한 코드의 핵심부분은 보통 그 팀 또는 코드 제작그룹의 최고 전문가가 어셈블리 코드로 최적화한 고도의 루틴이 들어가 있는 관계로 쉽게 갈아치울 만한 것이 못 되었다.
2.1.1. 스크립트 언어
그래도 일부 게임제작사들은 아예 특정 코드를 규격화 시킨뒤에 스크립트에 맞춰 코드를 짜면 이후 스크립트가 변환시켜주는 방식을 사용하기도 했다. 루카스아츠의 SCUMM이 대표적. 이런 스크립트 언어의 장점은 일단 해당 스크립트로 게임을 만들면 이후 각각의 플랫폼별로 변환기만 만들면 한번의 제작으로 여러 플랫폼에 게임을 출시할수 있다는 강점이 있어 시에라(AGI, SGI등), 루카스아츠 등의 제작사들이 자주 애용했다. 당시에는 단지 스크립트 언어 혹은 스크립트 엔진등으로 불렸으나, 게임엔진이라는 말이 대중화 된 이후로는 이런 언어들도 게임엔진이라 부르게 되었다. 이런 스크립트 언어는 지금도 여전히 중소형 게임 제작사들이 만들어 사용하는 경우가 종종 있는데, 에로게에서는 특히 자주 사용되고 있다.
2.2. 게임 엔진 태동기: 1990년대 중반 ~
게임 엔진이라는 용어의 존재는 현재의 총합패키지와 마케팅적 이미지가 씌워지기 전에도 존재했었다. 도스 게임 시절에는 윈도우와 달리 수많은 하드웨어 파편화에 대응하여 하드웨어를 직접 제어해야 했다. 거기서 제작사의 실력이 많이 갈렸는데, 그러다보니 사운드 블래스터 같은 드팩토 표준 기기도 정해지게 되었고 같은 게임 제작사의 다른 게임 혹은 아예 완전히 다른 제작사의 다른 게임이라도 사전에 사운드와 그래픽 따위를 설정하는 부분이 비슷비슷해지는 경우가 많이 있었다. 그런 게임의 핵심 코드를 '엔진' 이라고 부르고 사용하였다.
사실상 처음으로 xx 엔진[1]이라는 말이 등장하기 시작한 것은 고전 FPS 게임 둠이 id tech 엔진으로 그 후속작 둠 2 그리고 파생작인 헤러틱, 헥센 같은 게임들이 제작되며라고 볼 수 있을것이다. 이때에도 현대의 게임 엔진 모습과는 달리 하드웨어를 제어하고 그래픽을 렌더링하는 핵심 기반 소스코드나 미들웨어 정도의 수준인 것들이 대부분이었으나, 그 자체가 이미 뛰어난 기술력을 보유한 것이었고, 곧 기술력을 자랑하는 마케팅 용도로도 사용되었으며, 타사에 라이센스를 주기도 했다.
본격적으로 게임엔진이 엔진으로서 활약하게 된 것은 퀘이크가 나올때 부터인데 사실 퀘이크가 2까지 나올때에도 실질적으로 엔진을 사용하여 게임을 만든다는 개념이 그렇게 크지는 않았다. 그러나 그를 사용한 하프라이프가 나오고 대히트 하면서 상황이 반전되고, 에픽은 언리얼 게임을 내놓으며 이드 소프트웨어의 아성을 크게 위협하며 언리얼 엔진의 존재를 부각시켰다. 사실 이때까지도 이들 게임 엔진을 사용하여 만들어진 게임의 수는 손에 꼽을 정도로 적었으나 게임 엔진을 사용했다는 것 자체로 '우리 게임은 첨단 기술을 사용하여 제작되었다'는 마케팅이 되기도 하였다.
이러한 예를 일부 살펴보자면
빌드 엔진은 1993년부터 1996년까지 3D 렐름에서 개발한 둠 스타일의 2.5D로 단순한 테스트 형태의 FPS 게임 소스와 툴을 담고 있었다. 빌드 엔진은 개발 도중 타사에 라이센스 되어 몇 가지의 FPS 게임들이 출시되었는데 빌드 엔진을 사용한 게임 중 특별한 3개의 게임들[2]은 빌드 엔진 개발자와 해당 게임 개발자가 협업하여 빌드 엔진을 각 해당 게임에 특화하여 변형시켰다. 자세한 사항은 빌드 엔진 항목 참조.
퀘이크 1, 2, 3의 id Tech 엔진은 본격적인 게임엔진의 사용 사례로 하프라이프를 비롯한 당대의 유명한 3D FPS 게임들은 대부분 퀘이크 엔진을 이용하여 만들어 졌다고 해도 과언이 아니다.
언리얼 엔진은 기존의 다른 엔진들과 다른 유연한 구조와 뛰어난 에디터를 제공해서 소스 코드를 거의 손대지 않고서도 원본 FPS 게임에서 어느정도 모양새가 다른 게임들을 개발할 수 있었다. 언리얼 엔진 2 부터는 FPS/TPS 뿐만이 아니라 MMORPG 게임을 만드는데도 사용되었다.
리스텍 엔진은 쇼고 모빌 아머 디비전과 블러드 2를 시작으로 주피터 엔진으로 이름을 바꿔 F.E.A.R.를 거쳐 가장 최신 게임인 모르도르까지 이름을 이어오고 있다.
사실상 처음으로 xx 엔진[1]이라는 말이 등장하기 시작한 것은 고전 FPS 게임 둠이 id tech 엔진으로 그 후속작 둠 2 그리고 파생작인 헤러틱, 헥센 같은 게임들이 제작되며라고 볼 수 있을것이다. 이때에도 현대의 게임 엔진 모습과는 달리 하드웨어를 제어하고 그래픽을 렌더링하는 핵심 기반 소스코드나 미들웨어 정도의 수준인 것들이 대부분이었으나, 그 자체가 이미 뛰어난 기술력을 보유한 것이었고, 곧 기술력을 자랑하는 마케팅 용도로도 사용되었으며, 타사에 라이센스를 주기도 했다.
본격적으로 게임엔진이 엔진으로서 활약하게 된 것은 퀘이크가 나올때 부터인데 사실 퀘이크가 2까지 나올때에도 실질적으로 엔진을 사용하여 게임을 만든다는 개념이 그렇게 크지는 않았다. 그러나 그를 사용한 하프라이프가 나오고 대히트 하면서 상황이 반전되고, 에픽은 언리얼 게임을 내놓으며 이드 소프트웨어의 아성을 크게 위협하며 언리얼 엔진의 존재를 부각시켰다. 사실 이때까지도 이들 게임 엔진을 사용하여 만들어진 게임의 수는 손에 꼽을 정도로 적었으나 게임 엔진을 사용했다는 것 자체로 '우리 게임은 첨단 기술을 사용하여 제작되었다'는 마케팅이 되기도 하였다.
이러한 예를 일부 살펴보자면
빌드 엔진은 1993년부터 1996년까지 3D 렐름에서 개발한 둠 스타일의 2.5D로 단순한 테스트 형태의 FPS 게임 소스와 툴을 담고 있었다. 빌드 엔진은 개발 도중 타사에 라이센스 되어 몇 가지의 FPS 게임들이 출시되었는데 빌드 엔진을 사용한 게임 중 특별한 3개의 게임들[2]은 빌드 엔진 개발자와 해당 게임 개발자가 협업하여 빌드 엔진을 각 해당 게임에 특화하여 변형시켰다. 자세한 사항은 빌드 엔진 항목 참조.
퀘이크 1, 2, 3의 id Tech 엔진은 본격적인 게임엔진의 사용 사례로 하프라이프를 비롯한 당대의 유명한 3D FPS 게임들은 대부분 퀘이크 엔진을 이용하여 만들어 졌다고 해도 과언이 아니다.
언리얼 엔진은 기존의 다른 엔진들과 다른 유연한 구조와 뛰어난 에디터를 제공해서 소스 코드를 거의 손대지 않고서도 원본 FPS 게임에서 어느정도 모양새가 다른 게임들을 개발할 수 있었다. 언리얼 엔진 2 부터는 FPS/TPS 뿐만이 아니라 MMORPG 게임을 만드는데도 사용되었다.
리스텍 엔진은 쇼고 모빌 아머 디비전과 블러드 2를 시작으로 주피터 엔진으로 이름을 바꿔 F.E.A.R.를 거쳐 가장 최신 게임인 모르도르까지 이름을 이어오고 있다.
2.3. 특정 기술/기능 라이브러리(미들웨어)의 등장: 1990년대 후반 ~
1990년대 중반 이후부터 본격적으로 3D 게임의 시대가 개막되면서 3D 게임 프로그래밍은 기존에 2D 게임 개발과는 비교 조차도 하기 힘든 수준으로 개발 난이도가 급상승되었고 이런 한계를 극복하고자 소수의 개발자들이 연합하여 3D 그래픽 구현에 관한 다양한 라이브러리를 작성해 인터넷상에 무료 배포했으며 관련 서적들을 출판하고 서적의 부록CD로 해당 3D 그래픽 라이브러리를 포함하는 등 3D 게임 기술의 상향을 위해 노력했었다. 당시 유명했던 것은 John De Goes의 Cutting Edge 3D Game Graphics Engine이다.
이 중 3D 그래픽 라이브러리의 개발 수준이 높아지고 어느정도의 툴도 갖추면서 이것을 지속적으로 업데이트하며 게임 개발사들을 대상으로 판매를 개시(라이센스)하는 회사도 차차 등장하게 되었는데 당시 유명한 상용 그래픽 라이브러리로는 렌더웨어 그래픽스(RenderWare Graphics)와 넷임머스(Netimmerse) 등이 있었다.
여전히 오픈 소스에 무상으로 개발되는 것들도 있는데 오픈 소스 중 유명한 3D 그래픽 라이브러리로는 오우거3D(Orge3D)가 있다.
이런 그래픽 라이브러리는 순수하게 3D 그래픽을 처리하는 부분의 소스 코드만 있고(또는 그 그래픽을 처리하는 데 필요한 일부 툴도 포함) 나머지 게임에 필요한 모든 파트는 프로그래머가 직접 구현해야 하므로 이런 것은 게임 엔진이라고 불리지는 않고 그래픽 엔진이라고 불렸다. 하지만 당시는 게임 엔진 등 용어에 대한 정립이 명확하게 되어 있지 않았으므로 이것들이 게임 엔진으로 불리기도 했고 또는 특정 게임의 소스를 활용한 것을 가지고 그래픽 엔진을 활용했다고 부르기도 했다.
3D 그래픽 라이브러리만 존재했던 게 아니라 네트워크 라이브러리, 오디오 라이브러리, 물리 연산 라이브러리(현재 물리 엔진이라고 불리는) 등 다양한 분야별 라이브러리가 별도로 개발되고 라이센스 되어 여러게임에 활용된 바 있다.
현대에도 여전히 이런 전문분야 라이브러리, 이른바 미들웨어들이 다양하게 등장했는데 그래픽 컬링만 처리하는 Umbra, GI 라이트맵을 생생하고 동적 객체에 유사 GI 효과를 내주는 Beast, 유사 실시간 GI 효과를 만들어주는 Enlighten, 게임UI를 Flash로 처리해주는 Scaleform GFx[3], 다양한 나무를 생성해주는 SpeedTree, 캐릭터 애니메이션 처리를 위한 Morpheme, HumanIK, 페이셜 애니메이션과 립싱크 등을 위한 FaceFX, IKinema 등이 있으며, 뿐만 아니라 사운드 컬링/울림/공간감 등을 위한 오디오 엔진 FMOD, Wwise, 인공지능처리를 위한 A.I. Implant, Kynapse 등 분야별 다양한 라이브러리들이 현대에도 많이 제작되고 있다.
이런 라이브러리들은 개발하는 게임에 융합해서 사용하는 것 뿐만 아니라 현대에서 게임 엔진이라고 불리는 그 엔진들에도 융합되어 사용할 수 있으며 특히 언리얼 엔진에서 IPP(Integrated Partners Program)이라는 명칭으로 다양한 기술들이 통합되었다.
이 중 3D 그래픽 라이브러리의 개발 수준이 높아지고 어느정도의 툴도 갖추면서 이것을 지속적으로 업데이트하며 게임 개발사들을 대상으로 판매를 개시(라이센스)하는 회사도 차차 등장하게 되었는데 당시 유명한 상용 그래픽 라이브러리로는 렌더웨어 그래픽스(RenderWare Graphics)와 넷임머스(Netimmerse) 등이 있었다.
여전히 오픈 소스에 무상으로 개발되는 것들도 있는데 오픈 소스 중 유명한 3D 그래픽 라이브러리로는 오우거3D(Orge3D)가 있다.
이런 그래픽 라이브러리는 순수하게 3D 그래픽을 처리하는 부분의 소스 코드만 있고(또는 그 그래픽을 처리하는 데 필요한 일부 툴도 포함) 나머지 게임에 필요한 모든 파트는 프로그래머가 직접 구현해야 하므로 이런 것은 게임 엔진이라고 불리지는 않고 그래픽 엔진이라고 불렸다. 하지만 당시는 게임 엔진 등 용어에 대한 정립이 명확하게 되어 있지 않았으므로 이것들이 게임 엔진으로 불리기도 했고 또는 특정 게임의 소스를 활용한 것을 가지고 그래픽 엔진을 활용했다고 부르기도 했다.
3D 그래픽 라이브러리만 존재했던 게 아니라 네트워크 라이브러리, 오디오 라이브러리, 물리 연산 라이브러리(현재 물리 엔진이라고 불리는) 등 다양한 분야별 라이브러리가 별도로 개발되고 라이센스 되어 여러게임에 활용된 바 있다.
현대에도 여전히 이런 전문분야 라이브러리, 이른바 미들웨어들이 다양하게 등장했는데 그래픽 컬링만 처리하는 Umbra, GI 라이트맵을 생생하고 동적 객체에 유사 GI 효과를 내주는 Beast, 유사 실시간 GI 효과를 만들어주는 Enlighten, 게임UI를 Flash로 처리해주는 Scaleform GFx[3], 다양한 나무를 생성해주는 SpeedTree, 캐릭터 애니메이션 처리를 위한 Morpheme, HumanIK, 페이셜 애니메이션과 립싱크 등을 위한 FaceFX, IKinema 등이 있으며, 뿐만 아니라 사운드 컬링/울림/공간감 등을 위한 오디오 엔진 FMOD, Wwise, 인공지능처리를 위한 A.I. Implant, Kynapse 등 분야별 다양한 라이브러리들이 현대에도 많이 제작되고 있다.
이런 라이브러리들은 개발하는 게임에 융합해서 사용하는 것 뿐만 아니라 현대에서 게임 엔진이라고 불리는 그 엔진들에도 융합되어 사용할 수 있으며 특히 언리얼 엔진에서 IPP(Integrated Partners Program)이라는 명칭으로 다양한 기술들이 통합되었다.
2.4. 본격적인 게임 엔진의 등장: 2000년대 중반 이후
현대의 게임 엔진은 완전한 통합 게임 개발 솔루션을 표방하며 2004년에 등장한 언리얼 엔진 3를 그 대표로 꼽을 수 있다. 언리얼 엔진 3는 엔진의 모든 기능을 커스터마이징이 가능하면서도 상호간에 유기적으로 융합되는 유연한 구조로 기술의 추가나 변형이 용이해 게임의 장르나 플랫폼에 관계없이 어떤 형태의 게임도 개발이 가능하며, 엔진 코드와 게임 코드의 완전한 분리, 필요한 기능만 선택적으로 사용 가능, 하나의 작업물에서 다양한 플랫폼으로 릴리즈, 모드 툴이나 더미 데이터의 포함 여부, 또는 별도의 모드 툴만 작성할 수 있는 한 빌드 시스템 등 하나의 엔진으로 게임 개발에 대한 모든 것이 가능함을 지향했다. 다만 미래지향적이며 새로운 개념이었던 만큼 첫 등장 후 초기 1~2년 간은 몇가지 문제점들을 가지고 있었으나 꾸준한 버전업을 통해 보완되어갔고 새로운 기술 및 툴이 도입되며 전반적인 성능이나 편의성이나 더욱 강화되었다.
언리얼 엔진 3는 프로그래머가 아닌 게임 디자이너 입장에서도 편의성을 크게 강조하기 위한 혁신성을 꾀하며 새로운 시도를 했다. 프로그래머 없이 아티스트가 셰이더를 작성할 수 있는 비주얼 머터리얼 셰이더 에디터, 프로그래머의 도움 없이 레벨의 스크립트를 작성할 수 있는 키스멧, 디자이너가 그래프 노드 기반으로 효과를 조합하는 포스트 프로세스 에디터, 사운드 큐 에디터, 실시간 조합형 파티클 에디터 캐스케이드, 실제 영화 감독의 기능 시뮬레이션 툴 마티네 등 시대를 앞선 여러가지 탁월한 기능들을 성공적으로 정착시켰다. 특히 2009년에는 UDK라는 것을 무료로 개방하고 부터 일반 사용자들에게도 게임 엔진의 저변을 확대하는 데에 크게 일조하였다.
언리얼 엔진 3는 그야말로 한 시대[4]를 지배하다시피 하며 유수의 명작과 대작 AAA급 게임부터 소규모 캐주얼, 인디, 모바일 게임까지, 게임의 규모, 장르, 플랫폼을 가리지 않고 여기도 언리얼, 저기도 언리얼, 너도 나도 언리얼인 세상을 만들어 버렸다. 언리얼 엔진 3를 사용했다고 이 엔진을 사용한 게임들의 느낌이 비슷하지도 않고 게임마다 완전히 다른 느낌으로 구현이 가능한데 초기에는 아웃풋이 다 비슷하다는 오해가 있기도 했다. 그 이유는 언리얼 엔진 항목의 언리얼 엔진 3에 대한 오해 항목 참고.
언리얼 엔진 3의 엄청난 성공 이후 기존 엔진들의 후속버전이나 신규로 등장하는 엔진들 역시 언리얼 엔진 3의 형태를 모방하여 비전 엔진 8, 토크 게임 엔진 어드벤스드, 유니진 엔진 등 다양한 엔진들이 등장했다. 그러나 워낙에 언리얼 엔진 3가 넘볼 수 없을 정도로 높은 수준이기도 하고 기타 엔진들을 사용할 메리트는 오직 가격 뿐이었는데 UDK가 등장하며 그 가격 정책에도 메리트가 사라져서 결국은 많은 게임 엔진들이 그대로 사장되었다. 언리얼 엔진 3의 엄청난 폭풍속에서 유일하게 살아남은 것은 유니티 엔진 뿐이다.
유니티3D는 언리얼 엔진 3의 복잡성과 라이센스 비용에 대비하여 메리트를 가지고 있었고, 빠른 프로토타이핑에 유리, 에셋 스토어의 도입, 풍부한 사용자 커뮤니티를 통한 생태계 생성을 통해 소규모 인디 게임, 저예산 개발사들에게 큰 인기를 끌었다. 보통 유니티를 경쾌하고 조작성이 좋은 경차에 비유한다면 언리얼은 다재다능한 SUV에 비유한다.
이후 언리얼 엔진 4는 기존의 언리얼 엔진 3보다 훨씬 강화된 다양한 기술/기능에 더해 유니티의 강점이었던 직관성을 도입하며 역시 빠르고 꾸준한 업데이트와 사용자 피드백을 도입했다. 또한 과거 미진했던 소규모 개발자들에게 어필하기 위해 오픈 소스화와 소스 코드를 기여하는 방식으로 모두가 개발에 참여하는 정책으로 선회하고 라이센스 정책도 크게 변화시켰다.
유니티 5는 기존의 유니티의 단점을 보완하여 그래픽적으로 개선을 꾀하고 여러가지 최적화 및 개선사항을 추진하였다. 기존의 유니티가 강세를 보이던 분야인 소규모나 저사양 모바일 게임에서는 여전히 강세이나 모바일이 고사양화 되어가면서 모바일에서도 언리얼 엔진의 입지가 점점 더 커지고, 언리얼 엔진의 라이센스가 소규모 개발사에게도 매력적이게 바뀜에 따라 언리얼 엔진이 과거 유니티의 독점 분야였던 저사양, 인디, 모바일에서도 경합 중.
또한 자체적인 게임 엔진을 만들어 사내에서 돌려 쓰는 경우도 있다. EA DICE의 프로스트바이트 엔진이 그 대표적인 예. 한국은 로우레벨 프로그래머의 부족[5]으로 자체 엔진을 만들어 쓰는 회사는 거의 없고, 넥슨의 데브캣 스튜디오, 검은사막을 개발한 펄어비스 정도가 전부이다. 이마저도 넥슨은 사내에서 해당 엔진을 전사적으로 공유하는 것이 아니라 데브캣 내에서만 쓰는 중이다.
언리얼 엔진 3는 프로그래머가 아닌 게임 디자이너 입장에서도 편의성을 크게 강조하기 위한 혁신성을 꾀하며 새로운 시도를 했다. 프로그래머 없이 아티스트가 셰이더를 작성할 수 있는 비주얼 머터리얼 셰이더 에디터, 프로그래머의 도움 없이 레벨의 스크립트를 작성할 수 있는 키스멧, 디자이너가 그래프 노드 기반으로 효과를 조합하는 포스트 프로세스 에디터, 사운드 큐 에디터, 실시간 조합형 파티클 에디터 캐스케이드, 실제 영화 감독의 기능 시뮬레이션 툴 마티네 등 시대를 앞선 여러가지 탁월한 기능들을 성공적으로 정착시켰다. 특히 2009년에는 UDK라는 것을 무료로 개방하고 부터 일반 사용자들에게도 게임 엔진의 저변을 확대하는 데에 크게 일조하였다.
언리얼 엔진 3는 그야말로 한 시대[4]를 지배하다시피 하며 유수의 명작과 대작 AAA급 게임부터 소규모 캐주얼, 인디, 모바일 게임까지, 게임의 규모, 장르, 플랫폼을 가리지 않고 여기도 언리얼, 저기도 언리얼, 너도 나도 언리얼인 세상을 만들어 버렸다. 언리얼 엔진 3를 사용했다고 이 엔진을 사용한 게임들의 느낌이 비슷하지도 않고 게임마다 완전히 다른 느낌으로 구현이 가능한데 초기에는 아웃풋이 다 비슷하다는 오해가 있기도 했다. 그 이유는 언리얼 엔진 항목의 언리얼 엔진 3에 대한 오해 항목 참고.
언리얼 엔진 3의 엄청난 성공 이후 기존 엔진들의 후속버전이나 신규로 등장하는 엔진들 역시 언리얼 엔진 3의 형태를 모방하여 비전 엔진 8, 토크 게임 엔진 어드벤스드, 유니진 엔진 등 다양한 엔진들이 등장했다. 그러나 워낙에 언리얼 엔진 3가 넘볼 수 없을 정도로 높은 수준이기도 하고 기타 엔진들을 사용할 메리트는 오직 가격 뿐이었는데 UDK가 등장하며 그 가격 정책에도 메리트가 사라져서 결국은 많은 게임 엔진들이 그대로 사장되었다. 언리얼 엔진 3의 엄청난 폭풍속에서 유일하게 살아남은 것은 유니티 엔진 뿐이다.
유니티3D는 언리얼 엔진 3의 복잡성과 라이센스 비용에 대비하여 메리트를 가지고 있었고, 빠른 프로토타이핑에 유리, 에셋 스토어의 도입, 풍부한 사용자 커뮤니티를 통한 생태계 생성을 통해 소규모 인디 게임, 저예산 개발사들에게 큰 인기를 끌었다. 보통 유니티를 경쾌하고 조작성이 좋은 경차에 비유한다면 언리얼은 다재다능한 SUV에 비유한다.
이후 언리얼 엔진 4는 기존의 언리얼 엔진 3보다 훨씬 강화된 다양한 기술/기능에 더해 유니티의 강점이었던 직관성을 도입하며 역시 빠르고 꾸준한 업데이트와 사용자 피드백을 도입했다. 또한 과거 미진했던 소규모 개발자들에게 어필하기 위해 오픈 소스화와 소스 코드를 기여하는 방식으로 모두가 개발에 참여하는 정책으로 선회하고 라이센스 정책도 크게 변화시켰다.
유니티 5는 기존의 유니티의 단점을 보완하여 그래픽적으로 개선을 꾀하고 여러가지 최적화 및 개선사항을 추진하였다. 기존의 유니티가 강세를 보이던 분야인 소규모나 저사양 모바일 게임에서는 여전히 강세이나 모바일이 고사양화 되어가면서 모바일에서도 언리얼 엔진의 입지가 점점 더 커지고, 언리얼 엔진의 라이센스가 소규모 개발사에게도 매력적이게 바뀜에 따라 언리얼 엔진이 과거 유니티의 독점 분야였던 저사양, 인디, 모바일에서도 경합 중.
또한 자체적인 게임 엔진을 만들어 사내에서 돌려 쓰는 경우도 있다. EA DICE의 프로스트바이트 엔진이 그 대표적인 예. 한국은 로우레벨 프로그래머의 부족[5]으로 자체 엔진을 만들어 쓰는 회사는 거의 없고, 넥슨의 데브캣 스튜디오, 검은사막을 개발한 펄어비스 정도가 전부이다. 이마저도 넥슨은 사내에서 해당 엔진을 전사적으로 공유하는 것이 아니라 데브캣 내에서만 쓰는 중이다.
3. 게임 엔진 목록
3.1. 공개된 상용 엔진
- 게임스파크 (Gamesparks)
영국의 게임 서버 엔진 클라우드. 반다이 남코, 유비소프트 등이 사용하고 있다. 어도비 플래시
본래 그래픽 소프트웨어지만 5버전부터 액션스크립트가 추가되어 게임 엔진으로도 사용할 수 있게 되었다. 애초부터 그래픽 소프트웨어였던 만큼 별도의 그래픽 툴 없이 자유롭게 그래픽을 만들어 사용할 수 있다. 2021년 12월 31일 이후로 Adobe가 지원을 종료해 사용이 불가능하다. 어도비 플래시가 지원종료되자 OpenFL과 Haxe를 이용해 개발 중인 게임의 포팅을 하는 사례도 있다.- 오우거3D (Ogre3D)
- 플레이팹 (Playfab)
로그인, 매치메이킹, 리더보드, 인앱결제 기능 뿐만 아니라 유저 매출 통계 분석 기능이 같이 제공되고 있다. 다만 실시간 멀티플레이는 포톤 클라우드에 의존하고 있다. - Game Editor: 2D 게임 제작 툴. 기본적으로는 GPL이지만 유료 라이센스를 구매하는 경우에 한해 GPL을 따르지 않는 게임 제작이 가능하다. 윈도우, macOS, 리눅스 모두 지원.
- id Tech 엔진
이드 소프트웨어에서 개발한 역사 깊은 게임 엔진. 현재 버전 7까지 나왔으며 이 엔진이 쓰인 대표작은 둠 시리즈와 둠 리부트 시리즈, 울펜슈타인 시리즈 등등 이드 소프트웨어의 게임 IP 작품들과 베데스다 산하 개발사들의 일부 작품들이 있다. 이드 소프트웨어가 베데스다 산하 개발사가 된 뒤로 id Tech 5를 기반으로 포크되어 STEM ENGINE, VOID ENGINE 등등으로 개조, 개량되어 포크되었다. 후술할 IW 엔진, 골드 소스엔진 등 이 id Tech에서 포크된 것이다. id Tech 4(둠 3 엔진) 까지는 소스코드까지 공개했으나[13] id Tech 5 (레이지 엔진) 부터는 타 회사에 라이센스를 하지 않고 있다. 그래서 사실 공개된 상용엔진 항목과 비공개 항목에 둘다 들어가야 하는 엔진이다. - Godot Engine
MIT 라이센스의 오픈 소스 엔진. 2D, 3D 게임을 제작 가능하고 파이썬과 유사한 GDScript를 사용한다.[14] 이후 C# 기반의 Mono 버전이 나왔다. - libGDX: 2D/3D 게임 제작 툴. 다중 플랫폼에 제작 가능하며, 언어는 자바를 사용한다. (단, Cocos 2d-x처럼 순수한 코딩을 해야 한다) 아파치 라이선스에 따른다.
3.2. 비공개된 엔진
- 가드파더 엔진
- 게임샐러드
- 네코노벨 엔진
- 니트로스(Nitrous) 엔진
Oxid Games의 게임 엔진. - 닌텐도웨어 BEZEL(베젤) 엔진
닌텐도 사가 자체 개발한 게임 엔진. 서드파티에게 무료 제공 중이며, 이 엔진을 쓴 대표적인 작품으로는 슈퍼 마리오 파티, 테트리스 99, 세계놀이대전 51 등의 퍼스트파티 게임과 Vroom in the Night Sky, 스밋코구라시 : 스밋코 파크에 어서오세요 등의 서드파티 게임을 들 수 있다. - 니트로 엔진
- 루미너스 엔진
스퀘어 에닉스에서 새롭게 발표한 엔진. 완전한 루미너스 엔진은 최초로 파이널 판타지 15에 사용된다. 장기 개발이 목표인 파이널 판타지 14에도 약간 간략화해서 사용한다. 현재는 스퀘어 에닉스의 자회사인 루미너스 프로덕션에서 전문적으로 사용될 예정이다. - 모노비트 엔진
Monobit Engine. 일본의 게임 서버 엔진이다. - 바실리어트 엔진
- 스마트폭스 서버
이탈리아의 게임 서버 엔진. - 아이큐브 엔진
- 엔빌넥스트 2.0 엔진
어쌔신 크리드: 유니티, 어쌔신 크리드: 신디케이트, 어쌔신 크리드 오리진, 어쌔신 크리드 오디세이, 포 아너, 레인보우 식스 시즈, 고스트 리콘 와일드랜드에 사용된 엔진. 앤빌 넥스트 엔진의 상위 버전. 어쌔신 크리드 발할라 이후 앤빌로 다시 이름이 바뀌었다. - 지블렌더
- 콘도타 엔진
오퍼레이션7에 사용되는 엔진. 해당 게임의 개발 회사인 Park ESM이 자체 개발한 엔진이다. 그렇지만 Park ESM이 대규모 기업이 아닌 중소기업이라 그런지 엔진 자체에서 몇 년씩이나 묵은 간헐적 버그들이 존재해도 아직까지 해결을 못 보는 상태. - 크리에이션 엔진
베데스다 게임 스튜디오에서 게임브리오 엔진을 포크해서 개발한 엔진. 엘더스크롤 5: 스카이림에서 처음 사용되었으며 후에 폴아웃 4에서도 사용되었다. 모델 파일은 게임브리오의 .NIF 파일을 사용한다. - 클라우제비츠 엔진
Paradox Interactive사에서 만든 전쟁론의 저자 카를 폰 클라우제비츠의 이름을 따 온 엔진. 크루세이더 킹즈 2, Europa Universalis IV 등 패러독스사 간판 역사 시뮬레이션 게임들을 만드는 데 사용되었다. 2019년 들어서는 개량된 엔진인 조미니 엔진으로 게임이 출시될 예정이다. - 포지라이트 엔진
플래닛사이드 2에 사용된 엔진으로 SOE(소니 온라인 엔터테인먼트)가 데이브레이크에 인수되기 전에 자체 개발한 엔진이다. 플래닛사이드 이외에도 에버퀘스트 넥스트, H1Z1: Just Survive, and H1Z1: King of the Kill에 사용되는 등 데이브레이크 에서 잘 써먹고 있는 엔진이다. 낮과 밤같은 시간이 흐르는 표현이나 넓은 지형표현 등에 특화되어있다. - 포톤 서버, 포톤 클라우드
독일의 게임 서버 엔진. 서양권에서는 게임 서버 엔진 하면 이것부터 떠오른다고. - 프로스트바이트 엔진
EA DICE에서 개발한 엔진. EA 및 그 산하의 개발사에서만 사용하고 있다. EA는 이 엔진을 외부에 라이센싱하려고 EA의 전 산하 개발사들로 도입 테스트를 했으나 프로스트바이트 특유의 악명높은 개발 난이도로 인해 외부에 라이센싱하는 건 이르다고 판단해 취소되었다. - 헤지혹 엔진
세가의 소닉 팀이 소닉 언리시드부터 소닉 더 헤지혹 시리즈 등 세가 계열 게임을 제작하기 위해 제작한 그래픽 엔진, 소닉 더 헤지혹 시리즈 말고도 다양한 세가 게임에 쓰일 예정이다. 실제로 소닉 더 헤지혹 시리즈 이외에도 판타시 스타 온라인 2, 신 사쿠라 대전 등, 세가의 게임들에 쓰였다. - Evolution 엔진
디지털 익스트림즈에서 개발한 엔진. 자사의 Dark Sector부터 사용되어 이후 더 다크니스 2, Warframe을 비롯하여 당사에서 직접적인 개발을 맡은 게임에 사용된다.[29] 당사가 과거 에픽 게임즈의 언리얼 토너먼트 시리즈를 공동개발한 경력이 있어 기술적으로는 언리얼 엔진의 영향을 받은 것이 아니냐는 추측이 있다. - FAME TECH 엔진
- Irrlicht 엔진
- IW 엔진
id Tech 엔진을 기반으로 인피니티 워드가 포크한 게임 엔진. 콜 오브 듀티 시리즈에 쓰이는 엔진이다. 콜 오브 듀티: 모던 워페어(2019)에서는 인피니티 워드가 개발한 이름이 정해지지 않은 차세대용 엔진으로 교체되었다. 콜 오브 듀티: 블랙 옵스 콜드 워도 인피니티 워드가 개발한 차세대용 엔진을 기반으로 제작되었다. - Panda3D 엔진
- VNAP 엔진
4. 자체 엔진
대부분의 게임 회사들은 언리얼이나, 유니티 같은 상용 게임 엔진을 사용 하지만, 상당수의 게임 회사들은 자체적으로 게임 엔진을 만들어서 게임 개발에 사용 하고 있다. 하지만 게임 엔진을 만드는 것은 게임을 만드는 것보다 몇 배는 어려운 일이기 때문에, 자체 엔진을 갖고 있다는 것은 기술력을 입증 받는 편이며 홍보 수단이 되기도 한다. 문제는 게임 엔진에 대한 이해도가 부족한 상태에서 업계인 및 게임 유저들은 이에 대한 잘못된 환상을 품기도 한다.
먼저 자체 엔진을 만드는 이유를 알아야 하는데, 가장 큰 두가지 이유는 수익과 생산성이다. 언리얼이나 유니티 같은 상용 엔진을 사용 하면 일정 수익 이상 부터는 전체 수익의 일정 비율을 로열티로 지불하거나, 로열티 지불을 하지 않기 위해서 억 단위의 커스텀 라이센스 비용을 지불(매출이 수십억 단위로 발생하는 게임들의 경우)[30] 계약하기도 한다. 물론 그 만큼 상용 엔진을 사용해서 생산성을 챙겼으므로 게임 개발시, 어떤 엔진을 사용하느냐는 수익 예측과 절감할 수 있는 개발비를 비교하여 결정 하게 된다. 또한 상용 엔진은 결국 다른 회사에서 범용적인 게임 개발을 위해 개발한 엔진이므로, 자사에서 개발하는 게임에 맞게 기능을 추가하거나 수정하는 등의 개조 과정을 거친다. 그러나 만들고자 하는 게임이 독특하면 독특 할 수록, 많은 기능 추가와 개조를 해야 하므로 엔진을 새로 만드는 것이나 다름 없다. 그러니 결국 게임 엔진을 직접 만들게 되는 것이다.
먼저 자체 엔진을 만드는 이유를 알아야 하는데, 가장 큰 두가지 이유는 수익과 생산성이다. 언리얼이나 유니티 같은 상용 엔진을 사용 하면 일정 수익 이상 부터는 전체 수익의 일정 비율을 로열티로 지불하거나, 로열티 지불을 하지 않기 위해서 억 단위의 커스텀 라이센스 비용을 지불(매출이 수십억 단위로 발생하는 게임들의 경우)[30] 계약하기도 한다. 물론 그 만큼 상용 엔진을 사용해서 생산성을 챙겼으므로 게임 개발시, 어떤 엔진을 사용하느냐는 수익 예측과 절감할 수 있는 개발비를 비교하여 결정 하게 된다. 또한 상용 엔진은 결국 다른 회사에서 범용적인 게임 개발을 위해 개발한 엔진이므로, 자사에서 개발하는 게임에 맞게 기능을 추가하거나 수정하는 등의 개조 과정을 거친다. 그러나 만들고자 하는 게임이 독특하면 독특 할 수록, 많은 기능 추가와 개조를 해야 하므로 엔진을 새로 만드는 것이나 다름 없다. 그러니 결국 게임 엔진을 직접 만들게 되는 것이다.
4.1. 오래된 엔진은 성능이 떨어진다?
그렇지만도 않다. 게임 엔진은 자동차 엔진처럼 물리적으로 존재하는 것이 아니므로, 얼마든지 개량하고 업그레이드 해서 최신 엔진에 버금가는 성능을 만들어낼 수 있다. 물론 게임 엔진은 프로그래밍 언어로 개발 하므로, 핵심 기능이 너무 오래전에 개발 되었을 경우, 최신 기능을 지원하지 못한다던가 등의 문제가 발생 할 수 있다. 결국 기능을 수정하고 업그레이드 하면 해결 가능하지만 한국에 엔진을 개발 할 수 있는 로우레벨 프로그래머가 거의 없으므로 불가능에 가까운 이야기. 그렇기 때문에 오래된 엔진에 대한 사람들의 인식이 좋지 못한 것이다.
그렇다면 왜 상당수의 개발사들은 기존의 오래된 엔진을 계속 사용 하려고 할까. 이는 신뢰도 때문이다. 게임 엔진은 결국 프로그램이다. 사용 할 수록 마모 되는 것이 아니므로, 오래 사용된 엔진은 결국 동작에 대한 신뢰도가 확보된 프로그램이란 말과 같다. 설령 고칠 수 없는 버그가 있다 하더라도 어떤 버그가 있는지 파악되어있는 것이 낫지, 파악 조차 안된 새 프로그램은 신뢰도가 바닥이다. 새로 만든 엔진이 정상적으로 오류 없이 동작할 가능성은 매우 낮으며, 차라리 기존에 정상적으로 동작하는 엔진을 개량해서 사용 하는 것이 더 신뢰도가 높기 때문이다.
그렇다면 왜 상당수의 개발사들은 기존의 오래된 엔진을 계속 사용 하려고 할까. 이는 신뢰도 때문이다. 게임 엔진은 결국 프로그램이다. 사용 할 수록 마모 되는 것이 아니므로, 오래 사용된 엔진은 결국 동작에 대한 신뢰도가 확보된 프로그램이란 말과 같다. 설령 고칠 수 없는 버그가 있다 하더라도 어떤 버그가 있는지 파악되어있는 것이 낫지, 파악 조차 안된 새 프로그램은 신뢰도가 바닥이다. 새로 만든 엔진이 정상적으로 오류 없이 동작할 가능성은 매우 낮으며, 차라리 기존에 정상적으로 동작하는 엔진을 개량해서 사용 하는 것이 더 신뢰도가 높기 때문이다.
4.2. 자체엔진은 성능이 좋다?
그렇지만도 않다. 오히려 앞에서 말한 오래된 엔진의 성능은 타당하기라도 하지, 이건 더 현실성이 떨어진다. 게임 엔진 개발이 가능한 뛰어난 실력의 로우레벨 프로그래머는 전세계를 뒤져봐도 턱없이 부족하며, 한국은 더더욱 없다. 그나마 개발이 가능한 뛰어난 실력의 프로그래머들 대부분은 대기업이나 해외로 빠져나가는 편이다.
업계 종사자들 사이에서도 자체엔진이 좋게 평가받는 것은 손에 꼽을 정도이다. 게임 기획자의 경우, 업계가 언리얼 엔진이나 유니티 엔진을 사용하는 곳이 많은데 재직중인 회사가 자체 엔진을 사용하면 경력에 도움이 안 된다. 더군다나 자체 엔진은 일단 돌아가야 하므로 대부분 기능 개발의 우선도가 높은데, 따라서 상용 엔진에 비해 사용 편의성이 엄청나게 떨어진다. 즉, 배우기도 힘들고, 성능도 떨어지는 것이다.
그럼에도 불구하고 자체 엔진을 만듦으로써 이로운 점은, 해당 엔진에 문제가 있거나 기능 추가나 개선이 필요할 때, 엔진 개발자가 같은 회사에 있으므로 긴밀한 협조를 얻을 수 있다는 점 정도이다. 즉, 다른 개발자에겐 그런 정도 외엔 이로운 점이 거의 없다.
업계 종사자들 사이에서도 자체엔진이 좋게 평가받는 것은 손에 꼽을 정도이다. 게임 기획자의 경우, 업계가 언리얼 엔진이나 유니티 엔진을 사용하는 곳이 많은데 재직중인 회사가 자체 엔진을 사용하면 경력에 도움이 안 된다. 더군다나 자체 엔진은 일단 돌아가야 하므로 대부분 기능 개발의 우선도가 높은데, 따라서 상용 엔진에 비해 사용 편의성이 엄청나게 떨어진다. 즉, 배우기도 힘들고, 성능도 떨어지는 것이다.
그럼에도 불구하고 자체 엔진을 만듦으로써 이로운 점은, 해당 엔진에 문제가 있거나 기능 추가나 개선이 필요할 때, 엔진 개발자가 같은 회사에 있으므로 긴밀한 협조를 얻을 수 있다는 점 정도이다. 즉, 다른 개발자에겐 그런 정도 외엔 이로운 점이 거의 없다.
5. 포크
다른 엔진을 개량하는 것에서 출발하여 더이상 원래 게임 엔진의 코드가 남아있지 않을만큼 개조가 많이 되었을 때 독립적인 게임엔진의 상표권을 출원하는 경우가 있는데 이를 포크라고 부르기도 한다.
아래는 이렇게 개량의 과정을 거치면서 신규 엔진으로 포크된 사례들
아래는 이렇게 개량의 과정을 거치면서 신규 엔진으로 포크된 사례들
- id Tech 5 → 보이드 엔진 : 이드 소프트웨어의 모회사인 베데스다의 계열사 아케인 스튜디오에서 디스아너드 2를 개발하면서 id Tech를 바탕으로 고도로 커스터마이징한 엔진. PS3/Xbox 360 세대의 기술을 PS4/Xbox One 세대의 기술로 개량하였으며, 또한 전반적인 게임 시스템이 개조되었는데 스텔스와 전투를 위한 인공지능 시스템, 라이팅, 오밀조밀한 도시환경을 만들 수 있는 그래픽 렌더링을 비롯해 스토리 프레젠테이션 기능 등 모든 부분에서 중대한 향상이 이뤄졌으며 결국 id Tech 엔진 5의 80%이상을 갈아 엎고 새로운 엔진으로 탄생했다.
- 게임브리오 → 크리에이션 엔진 : 엘더스크롤 시리즈 개발사인 베데스다 게임 스튜디오 에서 포크된 엔진.
엘더스크롤 4: 오블리비언 시대 까지는 사실상 게임브리오 라고 봐도 무방하였으나 크리에이션 엔진이라는 이름을 붙이기 시작한 엘더스크롤 5: 스카이림 부터는 근본적인 틀은 게임브리오와 동일하나 독자적인 확장 등을 가지는 식으로 변화하였다.
6. 미들웨어 종류/목록
미들웨어의 종류는 그 분류도 매우 다양하고 나와있는 제품들도 매우 많다.
이런 미들웨어들은 언리얼 엔진이나 유니티 엔진 같은 게임 엔진에 컴포넌트나 플러그인 형식 또는 완전히 결합하여 사용 가능하다. 예로 PhysX 물리 엔진은 언리얼 엔진과 유니티 엔진에 기본 물리 엔진으로 탑재되어 있고 Wwise 같은 오디오 엔진은 추가 플러그인으로 결합 가능하며, 전문 AI 엔진인 Kynapse 같은 것들도 언리얼 엔진 3에 결합해서 사용한 예(메달 오브 아너 등)가 있다.
이런 미들웨어들은 언리얼 엔진이나 유니티 엔진 같은 게임 엔진에 컴포넌트나 플러그인 형식 또는 완전히 결합하여 사용 가능하다. 예로 PhysX 물리 엔진은 언리얼 엔진과 유니티 엔진에 기본 물리 엔진으로 탑재되어 있고 Wwise 같은 오디오 엔진은 추가 플러그인으로 결합 가능하며, 전문 AI 엔진인 Kynapse 같은 것들도 언리얼 엔진 3에 결합해서 사용한 예(메달 오브 아너 등)가 있다.
6.1. 물리 엔진
해당 문서 참고.
6.2. 사운드 엔진
- uFMOD
- FMOD
1995년 첫 출시 당시에는 모듈 음악 플레이어였지만, 이런저런 기능이 추가되다가 1999년 다른 프로그램에서 기능을 사용할 수 있는 API가 추가되면서 사운드 엔진으로 탈바꿈하였다. - ADX2
일본 세가의 자회사인 CRI 미들웨어에서 개발한 사운드 엔진이자 코덱. 이전 버전인 ADX는 사운드 엔진이라기 보다는 광디스크를 사용하는 콘솔 환경에서의 멀티 사운드 스트리밍 & 디코딩을 주요 기능으로 제공하는 미들웨어 코덱이였지만, ADX2에 와서는 총합 사운드 엔진으로써 기능이 확장되었다. 태생이 태생이니 만큼 사용하는 게임은 거의 대부분 일본산 게임이며, 특히 2010년대 일본산 모바일 게임과 PC 게임[36]에 상당히 많이 사용된다. 다만 타 사운드 엔진에 비해 성능 대비 더 좋은 최적화를 위해 음질이 16khz에서 잘린다는 단점이 있다. - Miles Sound System
Bink로 유명한 RAD에서 개발한 사운드 엔진. 1990년대 초반 도스시절부터 존재했던 상당히 유서깊은 엔진이다. 2019년 현재도 꾸준히 업데이트는 되고 있지만 점유율은 팍 떨어진 상태.
6.3. 모션
6.4. 기타 미들웨어
- Bink : 동영상 코덱
- Scaleform Gfx : 유저 인터페이스 개발
[1] 둠 엔진, 퀘이크 엔진 등, 해당 게임의 제목이 붙인 엔진으로 불렸고, 게임 엔진이라는 말로 불리지는 않았다.[2] 자사의 게임 2개인 듀크 뉴켐 3D와 쉐도우 워리어, 타사의 게임인 블러드.[3] 한때 데드 스페이스 시리즈 등에 쓰이는 등 붐이 일었으나 이후 Flash의 하향세와 함께 내리막길을 걸었다.[4] 플스 3, 엑스박스 360 세대.[5] 이 문제는 C\# 스크립팅을 사용하는 유니티 엔진의 점유율 확대로 인해 더욱 심화되었다.[6] 앵그리 버드가 이 엔진을 사용하는 것으로 알려져 있다.[7] 그래서 해당 엔진을 기반으로하는 게임 엔진이 많다.[8] 파이썬 기반이라고 많이 소개되는데 실제로 써보면 파이썬과 다른 점이 많다.[9] 원래 명칭은 Xenko였는데 2020년 4월에 바뀌었다. 사실, 2015년 12월 1일 전에는 Paradox라는 명칭을 썼다.[10] 실리콘 스튜디오로부터 독립되어 더이상 실리콘 스튜디오가 이 프로그램을 지원하지 않는다. 다만, 기존에 개발을 담당했던 개발자들이 실리콘 스튜디오 업무와 별개로 유지보수 및 버전업을 해주어 프로그램 개발 생태계를 유지하기로 했다고 한다.[11] 패트론으로 후원받는 것 외에는 없다.[12] 앵그리 버드가 이 엔진을 사용하는 것으로 알려져 있다.[13] 그래서 해당 엔진을 기반으로하는 게임 엔진이 많다.[14] 파이썬 기반이라고 많이 소개되는데 실제로 써보면 파이썬과 다른 점이 많다.[15] 원래 명칭은 Xenko였는데 2020년 4월에 바뀌었다. 사실, 2015년 12월 1일 전에는 Paradox라는 명칭을 썼다.[16] 실리콘 스튜디오로부터 독립되어 더이상 실리콘 스튜디오가 이 프로그램을 지원하지 않는다. 다만, 기존에 개발을 담당했던 개발자들이 실리콘 스튜디오 업무와 별개로 유지보수 및 버전업을 해주어 프로그램 개발 생태계를 유지하기로 했다고 한다.[17] 패트론으로 후원받는 것 외에는 없다.[18] 채팅, pvp[19] 기본적으로 남아있던 크라이엔진의 소스 코드 제외[20] 화이트데이에서 더미데이터로 남아있는 멀티플레이 맵이나 구버전 유출 데모 맵을 퀘이크 엔진 기반 골드 소스 엔진으로 만들어진 하프라이프에서 실행하면 오류없이 실행된다, 심지어 사다리 구현이나 무기도 획득할 수 있다.[21] 어쌔신 크리드과 페르시아의 왕자: 타락한 왕의 개발에 사용된 게임 엔진.[22] 이하 P.T[23] 현재 서비스가 종료된 소드 코스트 레전드와 개발 진행 중인 Survived by는 유니티 엔진을 사용하였다.[24] 채팅, pvp[25] 기본적으로 남아있던 크라이엔진의 소스 코드 제외[26] 화이트데이에서 더미데이터로 남아있는 멀티플레이 맵이나 구버전 유출 데모 맵을 퀘이크 엔진 기반 골드 소스 엔진으로 만들어진 하프라이프에서 실행하면 오류없이 실행된다, 심지어 사다리 구현이나 무기도 획득할 수 있다.[27] 어쌔신 크리드과 페르시아의 왕자: 타락한 왕의 개발에 사용된 게임 엔진.[28] 이하 P.T[29] 현재 서비스가 종료된 소드 코스트 레전드와 개발 진행 중인 Survived by는 유니티 엔진을 사용하였다.[30] 커스텀 라이센스의 경우에는 조건에 따라 다르지만 일반적으로 1개 프로젝트 당 약 3~5억 정도를 지불하는 대신 매출이 수십~수백억, 또는 그 이상 얼마가 나오더라도 로열티 지불이 없다. 국내외 대규모 온라인 게임이나 대형 콘솔/PC 패키지 게임 등은 당연히 커스텀 라이센스로 계약되며, 로열티를 지불하는 계약은 사실상 인디 게임 또는 정말 규모가 작은 소규모 개발사에나 국한되는 정도다.[31] 퀘이크 3 엔진(초기) → 퀘이크 3 팀 아레나 엔진(중기) → 리턴 투 캐슬 울펜슈타인 엔진(후기)[32] 퀘이크 3 엔진(초기) → 퀘이크 3 팀 아레나 엔진(중기) → 리턴 투 캐슬 울펜슈타인 엔진(후기)[33] 원래 FMOD를 사용하였으나, 2014년에 교체하였다.[34] 모바일은 페이트 그랜드 오더, 데레스테, 밀리시타, 방도리 등등, PC는 판타시 스타 온라인 2[35] 원래 FMOD를 사용하였으나, 2014년에 교체하였다.[36] 모바일은 페이트 그랜드 오더, 데레스테, 밀리시타, 방도리 등등, PC는 판타시 스타 온라인 2