서론
유년 시절, 컴퓨터를 통해 처음 접해본 게임은 비디오 게임같은 패키지 게임이 아니라 인터넷으로 쉽게 접할 수 있던 플래시 게임으로 기억한다. 동영상 제작하는 데에 사용되는 Adobe Flash에서 액션스크립트를 사용하게 되면서 Flash를 하나의 툴로 게임에 응용하게 된 것이다.
이제는 플래시 게임은 추억의 저편으로 남고, 보통 우리가 흔히 즐기는 게임은 게임 엔진을 바탕으로 제작된다.
게임 엔진이란??
게임 엔진은 게임이란 응용 프로그램을 구동하는 데에 필요한 핵심 기능들을 담은 소프트웨어 구성요소라고 할 수 있다. 여기에서 핵심 기능이란 그래픽, 물리, 오디오, UI 시스템 등으로 볼 수 있다.
모든 게임은 통일된 하나의 게임엔진으로 개발된 것이 아니다. 시중에 공개된 상용 엔진을 사용하거나, 자체적인 엔진을 개발하여 사용하는 것으로 나뉜다고 볼 수 있다.
자체 엔진을 활용하는 예시는 대표적으로 국내 오픈월드 MMORPG '검은사막'으로 유명한 펄어비스 사이다. 자사의 게임인 검은사막, 붉은사막, 도깨비 등 모두 독자적인 엔진을 바탕으로 개발되었다고 한다. 자체 엔진은 특히 최신 기술을 빠르게 적용한다는 점과 커스터마이징을 자유롭게 할 수 있다는 점에서 유리하다.
필자의 경우는 학부에서 '게임 프로젝트'라는 강의 시간에 VR 게임과 AR 게임 프로젝트를 Unity 엔진으로 진행해 본 경험이 있다.
언리얼 엔진
: 리얼한 언리얼로 언리얼한 리얼을.
언리얼엔진은 미국의 에픽게임즈 사에서 제작한 실시간 3D 제작 툴이다. 2023년 4월 24일 현재를 기준으로 2023년 2월 8일에 출시된 언리얼 엔진 5.1.1 버전이 최신이다.
'언리얼'이란 이름이 붙은 이유는, 다름 아니라 '언리얼'이란 동명의 FPS 게임을 개발과 동시에 만들어졌기 때문이다. FPS 게임 엔진으로 시작되었지만, 버전을 거듭하며 다양한 장르를 고려하면서 여러 형태를 다룰 수 있어 범용성을 갖추게 되었고, PC 뿐만 아니라 모바일까지 지원을 확대하면서 범용화에 있어서 버전업 되었다.
초창기에는 UnrealScript이라는 자체 스크립트 언어를 스크립트 언어로 채택하였지만, 대중성을 위해서 C++로 대체하였다. 추가적인 플러그인 설치 시 유니티에서 사용한 것처럼 C#을 스크립트 언어로 사용할 수 있다. 언리얼 엔진 3부터는 코드 조각을 선으로 연결하는 형태의 '비주얼 스크립팅 시스템'을 포함하여 Kismet을 통해 레벨 단위의 스크립팅을 작성을 지원했으며, 언리얼 엔진 4 이후로는 Blueprint를 통해 오브젝트 단위로도 스크립트 작성을 지원한다.
WHY UNREAL?
현실적으로 개발을 하는 데에 있어, 그리고 개발을 공부하는 데에 있어 라이센스 비용을 무시할 수 없다. 언리얼 엔진의 경우 라이센스 정책이 일정 수익 매출을 넘지 않는 소규모 프로젝트 내지는 학습에 있어선 무료로 지원한다.
언리얼 엔진 5를 이용한 여러 데모 영상들을 시청하는 것으로 3D 그래픽 랜더링에 있어서는 타의 추종을 불허하는 퀄리티를 보여주고 있다.
국산 MMORPG로는 블레이드 앤 소울, 테라, 로스트아크 등이 있으며 국산 FPS로는 AVA, 서든어택2, 배틀그라운드 등 이미 국내 게임사에서 많이들 채택하는 편이다. 애니메이션 제작사 스튜디오인 로커스나 이온에서도 사용되었다고 한다.
어떤 방식으로 공부할 것인가
모든 개발 공부가 그렇듯 A to Z로 정갈하게 모든 것을 공부할 수는 없다. 따라서 보통 처음 사용하는 개발환경에서의 공부는 '보통 자주 사용하는 것'에서 부터 심화된 디테일 부분을 건드는 것 순으로 진행하는 것이 좋다.
유니티 엔진의 경험이 있지만 언리얼 엔진의 경우 처음 입문하는 단계이기 때문에, 우선 유튜브를 통해 언리얼 엔진 코리아에서 제공하는 기초 영상을 통해 기초부터 공부하고자 한다.
https://www.youtube.com/@unrealenginekr