Danny Park 이미지 제공

학생인 1인 개발자가 언리얼 엔진으로 제작한 복셀 기반 오픈 월드 게임 Rōnin Trail

80 Level
devpachi로도 알려진 Danny Park는 버지니아주 맥린에 사는 1인 게임 개발자입니다. Devpachi는 미시간 대학에서 컴퓨터 공학을 공부 중이며 곧 출시될 오픈 월드 복셀 게임을 개발하고 있습니다. 게임의 제목은 Rōnin Trail로, 플레이어는 낭인 신분으로 일본 각지를 떠돌면서 삶의 목적을 찾아 나가는 게임입니다.  devpachi에게는 Rōnin Trail이 데뷔작이었던 만큼 복셀 그래픽을 설정할 수 있는 편리한 소프트웨어가 필요했고, 그래서 곧 출시될 모험 이야기의 주요 원동력으로 언리얼 엔진을 선택했습니다. 
로닌 트레일(Rōnin Trail) 개발 과정을 더 자세히 알아보기 위해 개발자와 함께 언리얼 엔진으로 복셀 그래픽을 설정한 방법과 이미 설정한 게임플레이 메커니즘, 로닌 트레일의 전투 시스템 제작 방법 등에 관해 이야기를 나누었습니다.

어떻게 로닌 트레일의 개발을 시작하게 되었나요?

로닌 트레일의 처음 모습은 지금과는 사뭇 달랐습니다. 원래는 제 첫 번째 대규모 게임 개발 프로젝트로 방대한 오픈 월드 MMORPG 게임을 만들겠다는 야심 찬 목표를 가지고 시작했습니다. 저는 어릴 적 렐름 오브 더 매드 갓(Realm of the Mad God)이라는 2D MMO 게임을 많이 했었는데, 그 그래픽을 업데이트해서 3D 버전으로 만들겠다는 꿈이 있었죠. 물론 그러려면 제대로 된 게임 스튜디오에 아마도 수백만 달러의 자금이 들 것이라는 건 알았지만, 적어도 그 꿈이 대형 프로젝트를 시작할 좋은 동기가 되었습니다.
 

그러다 Twitter를 구경하던 중 아름다운 건물과 자연의 모습을 담은 복셀 아트를 보고 게임의 초점이 바뀌게 되었습니다. 특히 니클라스 맥클(Niklas Mäckle) 같은 아티스트의 일본 테마 작품이 마음에 들었습니다. 게임 안에 복셀로 된 인터랙티브 폴리지를 만들면 멋지겠다고 생각해서 기다란 복셀 기반의 풀로 가득한 첫 번째 씬을 만들었습니다.

자연을 좋아하는 사람으로서 게임 엔진을 이용해 사실적인 자연의 씬을 만드는 것은 굉장히 만족스럽고 안락한 작업이었습니다. 여기에 뎁스 오브 필드 이펙트까지 더하니 멋지고 아늑한 대기 환경이 조성되어 플레이어 캐릭터로 걸어 다니기에 더없이 좋았습니다. 이때부터 저는 게임의 초점을 배경 아트에 두기로 마음먹었습니다.
Danny Park 이미지 제공
게임 스토리를 소개해주시고 시간이 지나면서 어떤 변화를 거쳤는지 알려주시겠어요?

로닌 트레일은 주군을 잃고 삶의 목적 없이 방랑하는 낭인이 된 사무라이가 주인공인 게임입니다. 주인공은 생계를 위해 특이한 일을 맡고 현상금 사냥을 해야 하죠. 큰 전투가 끝난 후 나라를 통일할 새로운 막부가 세워지던 시대를 배경으로 게임이 시작됩니다. 조직적인 범죄와 도적들이 전쟁의 상처가 아직 아물지 않은 계곡 지역을 장악하고 주민들을 위협하기 시작합니다. 플레이어의 목표는 계곡의 평화를 되찾고 삶의 새로운 의미를 찾는 것입니다.

플레이어가 강제로 따라가야 하는 주 스토리라인 대신, 저는 느슨하게 이어지는 일련의 사이드 퀘스트로 로닌 트레일의 스토리를 구성하고 싶었습니다. 기본적으로 플레이어의 목표는 계곡을 계속 여행하면서 삶의 새로운 의미를 찾는 것입니다. 그것은 검술을 연마하거나 마을 주민의 어려움을 도와주거나 단순히 곤충 컬렉션에 추가할 새로운 딱정벌레를 잡는 일일 수도 있습니다. 주인공이 방랑자인 만큼 이런 것이 플롯에 딱 맞는 구조라고 생각했습니다. 플레이어가 탐험이나 NPC와의 대화 중에 발견할 수 있는 미묘한 전승을 약간 다해서 중요한 플롯이나 뒷이야기를 밝혀내게 할 예정입니다.

제가 봉건시대 일본을 배경으로 삼은 이유는 어렸을 때부터 라스트 사무라이(Last Samurai)와 구로사와(Kurosawa)의 영화, 사무라이 참프루(Samurai Champloo) 같은 애니메이션을 보며 항상 사무라이에 관심을 가졌기 때문입니다. 제 게임의 시작점이 일련의 배경 아트 씬이었기 때문에 삿갓을 쓴 외로운 사무라이 캐릭터를 추가하면 게임의 느낌에 어울릴 것 같았습니다.
Danny Park 이미지 제공
이런 독특한 복셀 아트 스타일은 어떻게 생각해내셨나요?

대다수 사람처럼 저도 복셀과 큐브의 모습을 좋아합니다. 복셀 모델을 만드는 것도 전통적인 모델링이나 텍스처 작업과는 달리 매지카복셀(MagicaVoxel)을 이용하면 쉽고 빠르게 만들 수 있습니다. 주요 아트 스타일로 복셀을 선택한 이유도 그래서입니다. 3D 모델링 경험이 별로 없는 1인 개발자로서 원하는 작업을 하려면 쉽고 빠른 방법으로 모델을 만들고 텍스처링할 수 있어야 했으니까요.

하지만 매지카복셀에서 익스포트한 복셀 모델은 게임에 최적화된 모델이 아니었습니다. 그래서 블렌더(Blender)로 임포트한 다음 로우폴리곤 버전으로 만들어야 했습니다. 또한, 소프트 셰이딩 노멀 맵을 사용하여 게임의 캐릭터와 식물에서 볼 수 있는 ‘소프트 복셀’의 모습을 구현했습니다. 이것은 저에게 중대한 돌파구였습니다. 왜냐하면 ‘소프트 복셀’의 모습이 모델의 예리한 가장자리를 없애고 씬을 더 단순한 모습으로 만들어줬으니까요. 게임에 등장하는 대부분의 폴리지와 나무는 그렇게 살짝 변한 아트 스타일로 만들어졌습니다.
Danny Park 이미지 제공
언제 어떤 이유로 게임 제작에 언리얼 엔진을 사용하기로 했나요?

2년 전 프로젝트를 시작할 때 언리얼 엔진을 선택했습니다. 왜냐하면 배우기 쉽고 다른 엔진보다 라이팅과 그래픽 기능이 뛰어났기 때문입니다. 언리얼 엔진에는 놀라운 환경을 빠르게 만드는 데 필요한 모든 툴이 있습니다. 그것은 정확히 제 게임의 환경 아트에 필요한 것이었죠.

엔진의 에디터에는 사용하기 쉬우면서도 워크플로를 최적화하고 생산성을 높여주는 툴이 매우 많습니다. 혼자서 대형 프로젝트를 진행하려면 이러한 툴이 꼭 필요합니다. 저는 프로그래머지만, 언리얼 엔진의 블루프린트로 시각화 코딩을 사용할 수 있어 개발 속도를 상당히 높일 수 있었습니다.

저는 맵 디자인부터 인벤토리 시스템 프로그래밍에 이르기까지 게임 개발의 다양한 부분을 섭렵하고 있지만 언리얼 엔진 덕분에 제 능력을 벗어난 부분은 다행히도 없었습니다. 모든 것이 개발자를 위해 최적화되어 있고 개발자가 쉽게 사용할 수 있습니다. 그리고 막대한 지원과 문서 덕분에 무엇이든 배울 수 있다는 생각이 듭니다. 정말 자유롭게 사용할 수 있다는 것이 저는 정말 좋더라고요.

게임에 기획한 게임플레이 메커니즘은 어떤 것이 있나요?

로닌 트레일은 여기저기 돌아다니면서 새로운 곳을 탐험하는 게임입니다. 그래서 게임 세계를 여행하는 과정이 흥미로워야 했습니다. 탐험을 흥미롭게 만들려고 낚시, 곤충 잡기, 요리, 야영지 건설 같은 서바이벌 메커니즘을 추가하고 다양하고 독특한 동식물로 세계를 채웠습니다. 예전에 동물의 숲(Animal Crossing) 게임을 많이 했는데 화면 구석에서 희귀한 곤충을 발견하면 언제나 흥분에 휩싸이는 경험을 했습니다. 그런 것이 걷기 같은 사소한 활동조차 흥미롭게 만들어줍니다.

플레이어는 무직의 낭인으로, 음식값, 관문 통행세, 뱃삯 등을 내기 위해 돈을 벌 궁리를 해야 합니다. 그래서 현상수배 시스템, 랜덤 보조 퀘스트 등의 퀘스트 관련 메커니즘을 많이 추가했습니다. 사람들하고 이야기하거나 게시판에 적힌 직업을 찾다 보면 이러한 퀘스트를 찾을 수 있습니다.
 
Danny Park 이미지 제공

게임의 전투 시스템에 대해 더 말씀해주시겠어요?

로닌 트레일의 전투는 하드코어하고 현실적입니다. 적을 빠르게 죽일 수 있는 만큼이나 플레이어도 적에게 빠르게 죽을 수 있죠. 저는 개인적으로 엄청난 체력바를 계속 두들겨 떨어뜨려야 하는 아케이드 스타일 게임을 전혀 좋아하지 않습니다. 그런 스타일은 제 게임에 어울리지 않는다고 생각했습니다. 몇 초 만에 승부가 갈리는 현실적인 상황의 전투를 원했습니다. 저는 늘 단 몇 대만 맞아도 사망할 수 있다는 것이 전투의 긴박감과 긴장감을 크게 높여준다고 생각해왔습니다.

몰입감을 높게 유지하도록 최대한 유동적이고 현실적인 전투를 구현하고 싶었습니다. 수백 번 반복해서 애니메이팅하고 여러 부분을 하나로 블렌딩해야 했지만, 결국 현재 결과물에 만족을 느낍니다. 검을 휘두르는 동시에 자유롭게 회전하거나 이동하면서 검의 궤적을 제어할 수 있으므로 이동이나 휘두르는 공격을 정밀하게 조종할 수 있습니다. 상황에 맞춰 이어지는 공격 전후로 자세를 바꿀 수도 있고 멋진 콤보 공격을 펼칠 수도 있습니다.

보통 사무라이는 긴 일본도와 요도라고 하는 소도를 차고 다닙니다. 그래서 로닌 트레일에서는 각 상황에 맞춰 두 검을 번갈아 사용할 수 있습니다. 긴 일본도는 어디에나 사용하기 좋지만, 길이 때문에 휘두르다 장애물에 걸릴 수도 있습니다. 소도는 근접전이나 암살에 사용합니다.

전투를 최대한 만족스럽게 만들기 위해 히트(타격)를 적의 피직스와 상호작용하도록 만들었습니다. 그래서 모든 히트에는 실제 무게가 적용됩니다. 또한, 주변에 튀고 물에 떨어지면 퍼지는 사실적인 피 효과도 있고, 검으로 적을 절단해버리는 사실적이고 잔혹한 느낌의 효과도 있습니다.
Danny Park 이미지 제공
게임 월드와 아름다운 배경은 어떤 방식으로 만들었나요?

적절한 게임 월드를 만들기까지 셀 수 없는 반복작업이 필요했습니다. 지금도 매일 월드를 개선하려고 계속 노력 중입니다. 제 방식은 무엇이든 일단 배치하고 봅니다. 그것이 비록 저품질 모델이더라도 말입니다. 그리고 계속해서 업데이트된 모델로 바꿔 나갑니다. 나무 하나에만 최소 수백 시간을 들였습니다. 이거라는 느낌이 들 때까지 다양한 나무 모델을 테스트하고 나뭇잎의 텍스처를 바꿔보고 나무줄기 메시를 바꿨습니다. 그러다 마침내 제대로 구현된 모델이 나오면 그것을 나머지 게임에도 모두 적용할 수 있습니다. 그런 방식으로 모든 나무 모델의 잎과 줄기를 만들었습니다.

로닌 트레일에서 보여주고 싶은 다양한 분위기와 대기 환경이 있습니다. 드라마틱한 바람이 부는 초원의 결투에서 승리하는 장엄한 느낌이나 안개가 자욱한 숲속을 탐험하는 긴장되고 신비한 느낌 등이 있죠. 언리얼 엔진에서 다양한 라이팅과 볼류메트릭 포그 세팅을 조정하고 씬에 어울리게 에셋을 모델링하여 이러한 분위기를 만들었습니다.

사운드 디자인은 분위기를 내는 데 중요한 역할을 합니다. 예를 들어, 해 질 녘 매미 울음소리는 쓸쓸하면서도 달콤한 향수에 젖게 하고, 고요한 겨울 폭풍 속에서 뽀드득거리며 눈 밟는 소리는 외롭고 고요한 분위기를 전해줍니다. 음악은 그 분위기를 더욱 살려줍니다. 음악과 관련해서는 자오 셴(Zhao Shen)과 공동 작업하고 있습니다.

하지만 각 지역의 분위기는 고정되어 있지 않습니다. 그때그때의 날씨와 시간에 따라 한낮의 태양이 작렬할 때도 있고 암울한 뇌우가 쏟아질 때도 있습니다. 그렇게 한 곳의 느낌은 시시각각으로 바뀝니다.
Danny Park 이미지 제공
혼자서 이런 방대한 프로젝트를 진행하면서 어떤 어려움이 있었나요?

혼자서 오픈 월드 게임을 개발하는 것은 힘든 일입니다. 개발에서 가장 시간을 많이 잡아먹는 부분 중 하나가 바로 게임의 독특한 아트 스타일에 맞는 에셋을 처음부터 만드는 것입니다. 게임에 수백 가지 스토리와 보조 퀘스트를 넣는 일도 어려웠습니다. 저는 스토리와 대화가 아닌 게임플레이와 아트 디자인 작업을 더 선호하기 때문입니다. 게임 서포터들이 오픈 월드를 채울 퀘스트와 NPC에 대한 아이디어를 제공해주면 좋겠습니다.

혼자서 개발하는 건 힘들지만 재미있습니다. 이 프로젝트에는 애니메이션, 게임플레이 프로그래밍, 밸런스가 긴밀하게 작동하는 유려한 전투 시스템처럼 1인 개발로만 가능한 요소가 있다고 생각합니다. 애니메이션을 약간 수정한 다음 애니메이션을 즉시 업데이트해서 그것이 어떤 모습인지 바로 테스트해볼 수 있습니다. 또한, 혼자 개발하면 항상 재미있고 흥미롭게 작업을 진행할 수 있습니다. 프로그래밍이나 인벤토리 시스템 같은 작업에 완전히 지쳤을 때 공격 애니메이션이나 건물 모델링 작업으로 넘어갈 수도 있죠.
Danny Park 이미지 제공
언리얼 엔진 5를 사용해보셨나요?

언리얼 엔진 5가 처음 출시됐을 때 사용해봤는데 나나이트루멘 기술이 정말 놀라웠습니다! 제가 사용한 복셀 아트, 특히 건물 같은 모델은 상당히 하이폴리곤 모델이라 최적화하지 않으면 게임에 바로 사용할 수 없습니다. 하지만 UE5를 사용하면 한 씬에 수천 개의 복셀 모델을 넣어도 성능에 거의 영향이 없습니다. 로닌 트레일에 나나이트를 사용할 수 있었다면 개발 속도가 훨씬 빨랐을 것입니다. 에셋 최적화에 신경 쓰지 않아도 되었을 테니까요. 아름다운 아트를 만드는 데만 집중할 수 있었을 것입니다. 루멘을 사용했다면 로닌 트레일의 라이팅도 훨씬 사실적으로 연출되었을 테죠.

다음 단계는 무엇인가요? 사람들이 어떻게 프로젝트를 팔로우하거나 지원할 수 있나요?

저의 다음 단계는 킥스타터 캠페인을 마무리하고 오픈 월드의 신규 콘텐츠 작업을 계속 진행하는 것입니다. 자금을 모아 복셀 아티스트들과 협력하여 게임에 아름다운 건물과 마을을 디자인하고 싶습니다! 게임의 역사적 배경과 영감에 대해서는 킥스타터 페이지에서 자세한 내용을 확인할 수 있습니다.

로닌 트레일의 최신 소식을 확인하려면 제 Twitter를 팔로우하면 됩니다. 로닌 트레일Steam에 출시할 예정이니 찜 목록에 추가하는 것도 좋겠죠!

    지금 언리얼 엔진을 다운로드하세요!

    세계에서 가장 개방적이고 진보된 창작 툴을 받아보세요.
    모든 기능과 무료 소스 코드 액세스를 제공하는 언리얼 엔진은 제작에 바로 사용할 수 있습니다.