게임 개발을 위해 알아야할 것들, 언리얼 vs 유니티

이 글은 IT전문 출판사 한빛미디어 웹사이트에 실린 것으로 회사 측의 허락을 얻어 테크잇에서 퍼블리싱하는 것입니다. 제목은 일부 수정했고 일부 내용은 편집했습니다.

디지털 게임 산업은 수십 년 전부터 존재하고 있습니다.  지금까지 일반 사용자는 게임 회사가 만들어놓은 게임을 즐길 뿐 직접 만드는 사람은 거의 없었습니다. 하지만 스마트폰이 폭발적으로 보급되면서 ‘스마트폰 게임을 직접 만들고 싶다’고 생각하는 사람도 늘었습니다.

그 증거로 서점에는 스마트폰용 앱과 게임 제작에 대해 다룬 책이 많죠.

요즘은 인디라고 불리는 소규모 조직에서 만든 게임이 세계적으로 화제가 되는 경우도 종종 있습니다.

개인들도 iOS는 앱스토어, 안드로이드는 구글 플레이 스토어와 같은 마켓을 통해 게임을 배포할 수 있게 되면서 여건이 좋아진면도 있습니다. 원래 게임 개발에 사용되던 고성능 PC는 값이 비싸서 개인이 좀처럼 살 엄두를 내지 못했지만 최근에는 가격이 많이 낮아졌습니다.

그리고 게임을 만들기 위한 툴이 무료로 제공되는 등 환경도 쉽게 갖출 수 있게 되었죠. 주변 환경의 변화하고 여건 마련되면서 게임을 만들어보고 싶어 하는 사람이 증가했습니다.

Q: 게임을 개발하기 위해서는 배워야 할 지식이 많다?

실제로 게임을 만들기 위해서는 무엇을 공부해야 할까요? 사실 디지털 게임을 만들려면 배워야 할 것이 많습니다. 게임을 만들기 전에 제대로 프로그래밍에 대해 학습하지 않으면 컴퓨터 화면에 3D 오브젝트를 표시하는 것조차 할 수 없습니다. 게다가 그 3D 오브젝트를 움직이거나 오브젝트 사이의 마찰력을 표현하기 위해서는 프로그래밍 지식뿐 아니라 여러 가지 표현을 위한 수학이나 물리학 지식도 필요합니다.

개인이나 작은 조직에서는 이러한 지식을 이용해 게임을 만드는 일이 쉽지 않았습니다.

Q: 물리와 수학을 모르면 게임 개발은 어렵나요?

그러면 고급 프로그래밍 지식이나 복잡한 물리, 수학을 구사하지 못하는 사람은 게임 개발을 포기해야 할까요? 그렇지 않습니다.

언리얼 엔진으로 대표되는 게임엔진을 사용하면 됩니다. “언리얼 엔진은 게임 엔진입니다”라는 말을 들었을 때 “게임 엔진이 뭐죠?”라고 되묻는 분들도 계실 것 입니다. 언리얼 엔진을 배우기 전에 먼저 게임 엔진이 무엇인지부터 알아보겠습니다.

게임 엔진은 다양한 툴이나 기능의 집합이다 게임 엔진은 한마디로 프로그래밍, 수학, 물리학과 같이 원래 게임을 만들 때 알아야 할 지식을 최소한으로만 알고 있어도 게임을 만들 수 있게 도와주는 도구입니다. 이는 게임 엔진이 있으니 공부하지 않아도 된다는 의미가 아니며, 수학이나 물리학 지식을 갖추는 것은 매우 중요합니다. 예를 들어 어떤 오브젝트가 중력에 의해 아래로 떨어지는 동작을 구현하고 싶다면 강체 시뮬레이션이라고 하는 분야의 지식을 갖춰야 합니다.

강체 시뮬레이션

강체 시뮬레이션은 ‘물체는 중력에 끌려 아래로 떨어진다’와 같이 실생활에서 흔히 접할 수 있는 물리적 현상의 시뮬레이션을 의미합니다. 게임에 강체 시뮬레이션을 적용하면 총알 탄도를 현실 세계와 똑같이 재현할 수 있어 게임의 현실감이 올라갑니다. 하지만 강체 시뮬레이션을 프로그래밍으로 구현하려고 하면 물체가 떨어지는 운동뿐 아니라 물체의 회전, 물체끼리의 충돌과 그 영향 등도 생각해야 합니다.

얼핏 생각해도 아주 복잡합니다. 강체 시뮬레이션을 다룬 전문 서적이 많으므로 관심이 있다면 참고하기 바랍니다. 게임을 만들 때는 오브젝트가 낙하한다는 고전 물리학 기능만 필요한 것이 아닙니다.

캐릭터 상태에 따라 애니메이션을 관리하는 애니메이션 제어 시스템, 이펙트를 만들기 위한 파티클 시스템, 색이나 텍스처와 같은 외관을 설정하기 위한 머티리얼 에디터 등 간단한 예시에도 벌써 여러 에디터나 기능이 필요하다는 것을 확인할 수 있습니다.

게임 엔진은 원래 게임 회사 내에서 만든 자체 엔진이었다. 게임 제작사가 게임을 만들 때는 게임 엔진을 사용해 개발하는 것이 일반적이었습니다. 여기서 말하는 게임 엔진은 각 개발사가 자체적으로 만든 것을 말합니다.

게임 개발의 비밀 레시피처럼 절대 외부에 공개되지 않습니다. 따라서 유니티나 언리얼 엔진과 같이 어느 게임 회사에서나 공통으로 사용되는 게임 엔진은 없었습니다. 그렇다면 요즘 게임 회사는 왜 언리얼 엔진이나 유니티를 사용할까요?

그 이유는 게임 엔진을 자체 개발하기에는 수지가 맞지 않는다는 점과 게임 엔진을 개발하는 비용으로 게임을 만드는데 집중할 수 있다는 점을 들 수 있습니다. 게임 개발에 요구되는 기술이 전문화, 다양화됨에 따라 게임 엔진을 자체 개발해서 사용하던 게임 회사조차 언리얼 엔진이나 유니티를 사용하게 됐습니다. 따라서 언리얼 엔진을 잘 다룬다는 것은 회사에 취업할 때 또는 이직할 때 강점이 될 수 있습니다.

개인도 기업과 같은 환경을 갖출 수 있는 시대

게임 회사의 자체 개발 엔진은 개인이 넘볼 수 없는 존재였습니다. 그러나 이제는 개인도 게임 엔진을 무료로 사용할 수 있게 됐습니다. 언리얼 엔진보다 먼저 무료로 게임 엔진을 사용할 수 있도록 개방한 것은 유니티였습니다. 유니티는 ‘게임 개발의 민주화’를 표방하며 무료로 게임 엔진을 개방했을 뿐 아니라 세미나 등의 활동도 적극적으로 진행했습니다.

이러한 움직임 속에서 게임 엔진이 개인에게 보급됐으며 언리얼 엔진도 2015년 3월에 무료화됐습니다. 또 게임 엔진이 개인에게 보급되기 전에는 게임 엔진으로 개발하면서 문제가 발생할 경우 일반적으로 게임 엔진을 제공한 회사에서 엔지니어를 파견했습니다.

더욱이 그 무렵에는 비밀유지 계약 때문에 인터넷에 정보를 올리는 것 자체가 엄격하게 제한됐습니다. 하지만 언리얼 엔진은 현재 ANSWERHUB라는 게시판을 통해 사용자 간 정보 공유를 지원합니다. 또한 개인이 자신의 블로그에서 언리얼 엔진 정보를 공유하기도 합니다.

그래서 개인이 직접 게임을 제작하다가 어려운 문제를 만나도 인터넷을 통해 원하는 정보를 쉽게 구할 수 있습니다. 이처럼 게임 회사에서 널리 이용되고 있는 언리얼 엔진과 유니티는 개인이 게임 엔진을 무료로 사용할 수 있도록 하겠다고 발표했습니다.

이것으로 개인 개발자도 게임 엔진에 한층 가까워졌습니다. 즉 개인과 기업이 똑같은 개발 환경을 이용할 수 있는 시대가 된 것입니다.

Unreal vs Unity 언리얼 엔진과 유니티 특징 비교

그러면 대표적인 게임 엔진인 유니티와 언리얼 엔진의 특징을 간단히 살펴봅시다.

언리얼 엔진

언리얼 엔진은 게임 회사인 에픽게임즈(Epic Games)가 제작한 게임 엔진입니다. 다른 게임 엔진을 압도하는 그래픽 표현이 가능하고 대기업 회사의 대표 타이틀 제작에 많이 이용됩니다. 언리얼 엔진은 원래 에픽게임즈에서 자체 개발한 게임 엔진으로 태어났지만 그 후 다른 회사에도 공개됐고 언리얼 엔진 4까지 발전했습니다.

지금은 개인에게도 무료로 개방됐습니다.

유니티

유니티는 ‘게임 개발의 민주화’를 표방하는 게임 엔진입니다. 언리얼 엔진이 무료화되기 이전부터 개인도 게임 엔진을 사용할 수 있도록 라이선스를 무료로 개방했습니다.

유니티는 여러 플랫폼을 지원하기 때문에 사용자가 많고 인터넷에 다량의 정보가 있는 것이 특징이며 이로 인해 정보 공유가 쉬운 것이 장점입니다. 유니티는 원래 다루기 쉬운 게임 엔진이어서 스마트폰용 게임 제작에 이용되는 경우가 많았습니다.

그리고 유니티 5부터는 그래픽이 대폭 강화되어 현실적인 PC용 게임도 제작할 수 있게 됐습니다.

테크잇 뉴스레터를 전해드립니다!

오피니언 기반 테크 블로그 'TechIt'
테크 비즈니스를 보는 다양한 통찰들을 이메일로 간편하게 받아 볼 수 있습니다.

About the author

한빛미디어
한빛미디어

한빛미디어 / 더 나은 세상을 위한아시아 출판 네트워크

No more pages to load


TechIT

테크 비즈니스를 보는 다양한 통찰 '테크잇'

독자 여러분들께서 좋은 의견이나 문의 사항이 있으시면 아래 양식에 따라 문의 주시기 바랍니다.

Contact