주의 : 이 글의 목적은 자기계발 용도와 게임에서 쓰이는 각종 그래픽옵션 관련 단어 (안티엘리어싱, 셰이더, 텍스쳐 품질등) 들이 처음 보는 사람에게는 굉장히 생소하고 어려워 보이기 때문에 해당 부분에 대한 이해를 쉽게 하기 위해 작성되었습니다.
주의 : 해당분야는 전문적인 분야이며 그리고 실시간 발전되는 기술입니다. 지금도 새로운 기술들이 나오고 있어 틀린 부분이 있을 수도 있습니다.
이 글은 유튜브 코어오브 아이디어님 그것이 알고싶다 시리즈의 요약과 저의 의견이 들어간 글입니다.
1. 게임 엔진
게임을 하다보면 한번쯤 보거나 들을 수 있는 언리얼엔진과 유니티엔진. 많이 보고 들어왔지만 정확히 게임 엔진이 뭘 하는 것일까?
게임 엔진이란 단순하게 설명하면 게임을 만들때 사용 하는 프로그램이다. 이미지를 만들거나 편집할때는 포토샵이나 일러스트레이터, 동영상을 편집할때 프리미어나 베가스를 쓰는 것처럼 게임을 만들기 위해선 게임 엔진을 사용한다. 2000년대 초반 3D게임이 대중화됨에 따라 게임 엔진이란 단어가 자주 쓰이기 시작했는데
그 전에는 게임을 만들기 위해서는 아무 것도 없는 상황에서 시작하거나 전작들을 수정해서 만드는등 통합적인 개발 환경은 아니었다. 하지만 모든걸 직접 개발했던 것 만큼 극한의 최적화가 가능한 시절이었다.
아무튼 2000년대 초반 3D게임이 대중화 됨에 따라 게임 프로젝트 규모와 복잡성이 크게 증가하면서 처음부터 모든걸 개발하는 건 시간, 비용적인 측면에서 기하급수적으로 증가하였고 개발 인력도 증가 됨에따라 통합적인 개발환경이 필요하게 되었다.
따라서 특정 기술을 사용해 3D, 2D화면을 화면에 뿌려주는 랜더링 엔진, 오디오를 각종 환경에 맞게 조정하고 재생하는 오디오엔진. 현실같은 물리작용 연산을 위한 물리엔진, 다양한 캐릭터의 행동 양식을 지정해주는 AI시스템, 멀티플레이 게임을 위한 네트워크 및 서버 관리 시스템 등 게임 개발에 필요한 여러가지 도구를 제공해주고 통합적으로 관리하는 게임 엔진이 등장하고 상용화 되게되었다.
2. 자체엔진과 상용엔진
이때 게임회사들은 두가지 갈림길에 서게되는데, 직접 게임 엔진을 개발해서 쓸것이냐, 다른 회사가 만든 엔진을 가져다가 쓸것이냐다. 전자는 전용엔진, 자체엔진이라고 불리며 후자는 상용엔진, 범용엔진이라고 불린다. 각각 장단점이 있겠지만 간단하게 정리하면 아래와 같을 것이다.
전용, 자체엔진의 대표적으로는 둠에서쓰이는 IDTech Engine, 콜옵에 쓰이는 IW 엔진, 펄어비스의 엔진등이 있을 것이고 상용 엔진으로는 우리가 대표적으로 아는 언리얼엔진과 유니티엔진이 있다. 언리얼과 유니티로 개발된 게임은 정말 많다.
게임을 많이 즐기는 유저라면 트레일러에 나오는 게임 엔진만봐도 게임의 특징을 알 수도 있는데 예를들어 폴아웃, 스카이림을 개발하는데 쓰인 creation Engine 게임 프레임이 높아질수록 게임 속도가 빨라지는 버그가 있다는 것을 예측 할 수 있듯이 게임엔진만 들어도 대충 예상할 수도 있을 것이다. 물론 버그뿐만이 아니라 게임성까지도 예측 할 수 있을 것이다.
수백명이 참여하고 몇년동안 지속되는 게임 개발속에서 게임엔진은 정말 중요한 역할을 하게 될텐데, 게임 엔진에 특화된 면과 게임 개발의 방향성이 일치한다면 갓겜이 나올수 있겠지만 그렇지않다면 정말 똥겜이 나올 수 있다.
하프라이프를 개발하는데 사용된 소스1엔진을 개발한 노하우와 교훈을 통해 소스2엔진을 성공적으로 개발하고 또 방향성이 일치하는 게임을 제작함으로 인해 하프라이프 알릭스라는 명작이 탄생되었다.
이렇게 게임엔진과 게임개발의 방향성이 일치하면서 갓겜이 나올 수 있지만 그 반대의 경우도 있다. 출시전부터 뜨거운 관심을 받은 바이오웨어의 앤썸은 Frost Bite라는 엔진으로 개발이 되었는데 해당 엔진은 배틀필드같은 FPS를 위해 개발된 엔진으로 오픈월드인 앤썸과는 방향성이 맞지 않았다.
앤썸은 수많은 버그와 좋지 않은 게임성으로 엄청난 혹평을 받았는데, 앤썸의 개발자에 따르면 "우리는 거대한 세계를 구축하고 싶었지만 프로스트바이트 엔진은 그러라고 만든 게임 엔진이 아니였기 때문에 큰 어려움을 겪었다" 라고 말하기도 했다. 게임이 갓겜, 똥겜으로 갈리는 척도는 물론 게임엔진은 절대 아니다. 하지만 앤썸 개발자의 말처럼 개발자가 게임개발도구와 계속 씨름해야하는 상황에서 게임 개발이 어려웠다고 밝힐 정도라면 게임엔진은 게임 개발에 엄청난 큰 부분을 차지한다고 할 수 있다.
정리하자면 게임엔진은 점점더 복잡하고 어려워지는 게임 개발에 꼭 필요한 유용한 도구가 담겨있는 도구상자이고 게임 엔진은 게임이 나오기전 게임을 가늠하는 척도가 될 수 있다.
'게임 > 알고 싶다' 카테고리의 다른 글
안티에일리어싱이란? (0) | 2022.12.18 |
---|---|
수직 동기화란? (0) | 2022.12.03 |
물리엔진이란? (2) | 2022.11.27 |
다이렉트X 란? (0) | 2022.11.20 |
테셀레이션(tessellation) 란? (0) | 2022.11.20 |
댓글