Ring of Fire 개발..5

오랜만이네요. 시간 참 빠릅니다. 벌써 다섯 달 가까이 개발일지를 못 올리고 있었군요.
어찌 보면 눈 깜빡할 사이에 0.5살정도 늙은 셈이네요… (정확히는 0.416살?)

물론 별 일은 없었고, 오히려 개발은 꾸준히 하고 있었습니다.

다만 ‘이 단계만 끝나면 개발일지 올려야겠다’ 라고 마음먹고 있었는데 그 단계가 너무 오래 걸려서 그렇습니다. 

 

개발에 진척이 없을때, 집중하기 위해서 종종 잠수타듯이 집에 틀어박혀서 개발만 하곤 하는데, 역시나 이번에도 그랬습니다!

제 주변 지인과 친구들도 혹시나 고독사한건 아닌지 연락해주기도 하고…

심지어 몇몇 유저분께서도 제게 무슨 일이 생긴건지 메일로 물어보시는 일도 있었네요.

저는 (딱히 건강하진 않지만) 잘 살아있으니 걱정하지 않으셔도 됩니다.

그간 오래 기다리셨으니, 내용도 이번엔 좀 길게 가겠습니다!

도시 풍경 1

옛 폐허도시를 만들고 있었는데, 만족했던 퀄리티까지 만드는데도 오래걸렸고 더 빨리 만들기위한 작업흐름을 정해두는데도 시간이 많이 걸렸습니다.

앞으로도 비슷한 맵들을 더 만들게 될테니, 필요한 툴도 미리 만들어야 했거든요.

역시나 디테일은 아직 추가하지 않아서 좀 비어보이긴 합니다만, 개요는 잘 완성된 것 같습니다.

나중에 디테일이 추가된다면 지금보다도 훨씬 그럴듯해지겠죠?

 

이 도시는, 스토리상 과거에 가장 번영했던 도시였기때문에 큰 규모로 만들고 싶었습니다.

개인적으로는 최소한 위쳐3의 노비그라드에 버금갈만한 크기로는 만들고 싶었는데, 만들다보니 그것보단 작아졌네요.

노비그라드의 절반정도 되는 것 같습니다. 집들을 조금 뺵빽하게 배치했으니, 면적만 보면 조금 더 작을지도 모르겠네요.

도시크기를 너무 크게 하니 멀리서도 너무 잘 보여서, 기껏 넓게 만든 맵이 오히려 좁아보이길래 처음 계획보단 작게 만들게 됐습니다.

물론 추후에 더 개발하다보면 더 넓어질지도 모릅니다. 어찌됐던 플레이하기에 가장 좋은 크기로 만들어야겠죠.

도시 풍경 2

보시다시피, 도시엔 수많은 건물들이 있습니다. 지금은 다 부서졌군요.
많은 오브젝트는 곧 많은 성능을 필요로 하겠죠? 그래서 이 도시를 다 만든 다음에 최적화 작업을 진행했는데, 그게 꽤 오래걸렸습니다.

목표는 960~1050 급 그래픽카드에서도 안정적인 60프레임을 내는 것인데, 제 그래픽카드가 3070이니 최소 120프레임은 나와야된다고 생각했습니다.

아직 디테일한 오브젝트나 몬스터, NPC등은 추가를 안 했으니 최소한 이정도 프레임 레이트가 나와주지 않으면 나중에 곤란하겠죠.

 

그런데 그 과정이 정말 순탄치 않았습니다…

정말 개발을 하면서도 유니티 말고 언리얼로 시작할걸! 이라며 몇 번을 속으로 외쳤는지 모르겠네요.

 

오픈월드 개발을 시작하면서 유니티와 한 배를 타야겠다고 생각하고 유니티 주식까지 샀지만!

아차! 가라앉는 배였나봅니다. 주식도 반토막 이상 난 이후에 회복될 기미가 안보이는군요!

 

혹시나 지금 유니티로 오픈월드를 개발하려는 분이 계시다면 그냥 언리얼로 하시기 바랍니다.

직접 체험해본 결과, 유니티는 아직 오픈월드를 개발하기 위한 기능을 단 한 개도 갖추고 있지 않습니다.

오픈월드 개발에 필요한 모든 필수 기능들을 직접 만들거나 에셋 스토어에서 서드파티 에셋을 구매해야합니다.

만약, 꼭 유니티를 사용해야 한다면 HDRP로 하세요. 저처럼 “렌더링보단 성능이 우선이지~”하면서 URP고르면 두마리의 토끼를 다 놓칠 수 있습니다.

에디터 커스터마이징을 비롯한 에셋들로 유연한 워크플로우와 확장성을 제공하는게 유니티의 장점이라곤 하지만,
바꿔 말하면 유니티는 있어야할 기능들을 외부 에셋에 의존해야만 하는 엔진입니다. 

터레인은 여전히 절차적 편집은 지원할 기미도 안보이고

터레인 셰이더에선 기본적인 삼면투사 방식이나 안티타일 기능도 없고

터레인 트리로는 메쉬 콜라이더도 사용 못하고

호수나 강, 바다같은 물 시스템도 전혀 내장돼있지도 않고 (HDRP엔 있는거같은데 왜 URP엔 없는지? 이럴거면 왜 유니버셜인지?)

낮 밤 주기같은 기능도 없고~

HLOD도 없고~ (만들고는 있는듯)

 

결국 직접 만들거나 에셋을 구매하는 수밖엔 없는데…

하지만 서드파티 에셋이 많아지면 역시나 호환성 문제가 발생하죠.

어떤건 2020.3 버전까지만 지원하는데 어떤건 2021.3 버전까지만 지원하고…

에디터에 있는 버그때문에 버전 업 한 번 하려고 하면 그덕에 오류가 발생하기 부지기수입니다.

엎친데 덥친격으로 유니티 자체적으로도 렌더 파이프라인의 안정화가 이루어지지 않아서, 특히나 그래픽 관련한 부분에서 버그가 많습니다.

HighFidelity 렌더러 에셋을 현재 에셋으로 적용해도 일부 프로퍼티가 한 번도 건든 적 없는 Performant의 값을 사용한다던가!

왠만하면 끄지 말라고 만들어놓은 Conservative Enclosing Sphere 옵션은 막상 켜놓으면 그림자가 렌더링되지 않는 버그가 있다던가!
터레인을 가까이서 렌더링할때만 갑자기 불필요한 수직 동기화가 발생해서 프레임수가 뚝 떨어진다던가!

개인적으로는 URP/HDRP를 분리해서 렌더링 삼국시대를 열었던 것부터 잘못된 선택이었다고 생각합니다.
사실상 엔진이 세 종류로 나눠진거나 다름없어지니, 렌더링 파이프라인마다 어떤 에셋은 사용 가능하고, 또 어떤건 못하게되고

성능때문에 URP 골랐는데 정작 HDRP에 좋은 기능들은 다 들어가있고

URP의 U가 Universal인데 전혀 Universal 하지도 않고~

유니티의 로드맵을 보니, 이제는 다시 합치려는 추세던데 그럴거면 그냥 평범하게 고급 기능들은 선택적으로 켜고 끌 수 있게 만들것이지…

 

 

결과적으로는 도시에선 100프레임 가량, 평지에선 120프레임 이상으로 무난하게 나오게끔 만들었습니다.

메쉬 컴바인, 그림자 오브젝트 분리, 씬 레이어 분할, GPU 인스턴싱 등 여러 기법들을 조합했습니다.
대부분이 일반 게임들에서도 통용될만한 최적화 기법들인데 걍 게임 엔진 내에서 구현해주면 안되나… 비슷한 에셋도 많이 나와있던데…

 

아직 사용하지 않은 기법들도 몇 개 있으니, 의도했던 프레임 레이트는 큰 문제없이 뽑아낼 수 있을 것 같습니다.

자, 이번엔 게임속 내용들에 대해서 본격적으로 얘기해보겠습니다.
그 동안 게임의 세계관에 대해서는 거의 얘기하지 않았던 것 같네요.
(대충 진지한 브금)

 이 세계엔 ‘불의 고리’라는 것이 있습니다. 이 게임의 제목이기도 하네요.

 

불의 고리

불의 고리는 ‘불타는 고리’ 라는 의미도 있지만, ‘불이 만든 고리’ 라는 의미도 있습니다.

불이 만든 고리는 무슨 뜻일까요? 추가 설명이 필요하겠네요.

이 세계엔 ‘불’ 이라 불리우는 이들도 있습니다. 이들은 몸 곳곳에 화상 자국같은 무늬가 있는 사람들이며, 태어날 때부터 불의 힘을 사용할 줄 아는 이들입니다.
불이 만든 고리라는 건, 고리를 만든 것이 바로 이들이라는 뜻입니다. 불의 고리는 불이 죽을때 만들어지며, 형상화된 이들의 삶의 흔적이라고 볼 수 있습니다.
조금은 모호한 설명인 것 같지만, 일단은 여기서 넘어가는게 좋겠습니다.

 

흡사 태양과도 같은 고리의 모습은 그에 걸맞게 강한 힘을 가지고 있었습니다.

옛 사람들은 고리에 매혹되었고, 세계 각지에 흩어진 고리들을 눈앞에 마주하기 위해 수많은 순례자들이 여행길에 나섰습니다.
세계는 활발히 맥동하였고, 사람들의 이동은 곧 발전으로 이어졌습니다. 사막엔 거대한 왕국과 수많은 도시가 생겨나며, 갖가지 물품들이 오고갔습니다.
그야말로 번영의 시대였죠.

하지만 어느 날, 모종의 이유로 끝나지 않는 일식이 시작되었습니다.
게임 상에서 이 일식은 백 년 가까이 지속된, 아주 긴 일식입니다.

항상 일식인 상태의 낮

오랫동안 지속된 일식으로 인해, 세상은 죽어가기 시작했습니다.
식물이 죽고, 작은 동물이 죽었으며, 큰 동물들도 죽고 말았죠.

그리고 그건 사람들도 마찬가지였습니다. 일식으로 인해 식량이 줄어들고, 빛을 두려워하던 괴물들은 지상으로 올라와 활개쳤습니다.

결국 극소수의 사람들만이 살아남았습니다.


플레이어가 게임을 하는 시점에선 일식 이후 백년이 조금 안되는 시간으 흐른 뒤 입니다.

여전히 태양은 제 빛을 잃은 채 하늘을 배회하지만, 사람의 수가 줄어들자 다행이도 식량난은 차츰 줄어들었습니다.

사람들은 척박한 환경에서도 자라는 작물들을 기르기 시작했고, 적은 태양빛으로도 살아가는 생물 중에서 먹을 수 있는 것들을 필사적으로 찾아냈죠.

하지만, 본래의 태양을 기억하는 이들은 거의 남지 않았습니다.

그 모든 시기를 겪어온, 늙고 병약한 노인들만이 태양의 찬란한 휘광을 기억할 뿐입니다.

낮과 밤의 일주(120배속)

이 이야기의 주인공은 이제 막 소년 티를 벗은 청년입니다. 청년은 어렸을 적부터 할아버지에게서 옛날 이야기를 들었죠.
눈부시게 찬란한 태양과 푸른 하늘에 대한 이야기 푸른 들판과 오색 찬란한 꽃이 피어있는 풍경을 말해주며, 죽기 전에 눈부신 태양을 보고싶다고 입버릇처럼 말했습니다.

훗날, 할아버지는 세상을 떠나고 그가 작은 오두막에 혼자 남겨졌을 무렵, 그는 할아버지의 소원대로 태양을 되찾기 위해 여행을 떠납니다.

이번엔 게임 플레이에 관해서도 조금 이야기 해볼까요?

수도원과 등대

사막 곳곳에선 이렇게 하늘을 향해 비춰진 빛을 볼 수 있습니다. 바로 사막의 등대입니다.

일식 이전의 시대엔 많은 순례자들이 사막을 여행헀습니다. 낡은 지도를 보며 발걸음을 옮기다, 지친 몸을 이끌고 수도원에서 쉬어가곤 했죠.

그리고 다행히도 이 시기에 지어진 수도원들 중 일부가 아직까지 남아있습니다.

등대를 활성화하는 모습

플레이어는 이 등대와 상호작용해서 활성화할 수 있습니다.
등대를 한 번 활성화하면 지도를 통해서 빠른 이동을 할 수 있죠.
엘든링이나 젤다 야숨같은 오픈월드 게임을 많이 하신 분들이라면 이미 익숙한 기능일겁니다.

활성화된 황동 화로

등대와 비슷한 기능을 가진 화로도 있습니다.

앞서 말했던 왕국이 아직 건재하던 시절에, 영토 곳곳에 설치한 화로입니다.

화로는 주로 마을 한 가운데나 입구 즈음에 위치해 있습니다.

화로와 등대는 부서진 불의 고리를 녹여서 만든 것이라 고리가 갖고 있던 불의 힘을 품고 있기때문에 괴물들이 마을을 습격하지 못하게 해주기 때문이죠.

달리 말하자면, 화로나 고리, 등대가 없던 마을들은 거의 다 파괴되었고, 살아남은 이들은 그들을 지켜주는 화로와 고리를 중심으로 모여서 살아가기 시작했습니다.

이 화로와 고리들의 힘은 큰 도움이 되기때문에 특히나 사막을 여행하는 여행자들은 염두에 두는 것이 좋습니다.

그동안 거의 얘기하지 않았던 게임 속 세계관을 조금 이야기해봤습니다.

세계관과 스토리는 확립된 상태이기때문에, 앞으로도 종종 들려드리도록 하겠습니다.

 

흠… 그런데 세계관을 말할때 어느 정도로 얘기해야 스포일러가 되지 않을까 고민하는게 상당히 어렵네요.

오늘은 우선 이만큼만 이야기해볼까 합니다. 다음 개발일지에선 늘 보던 풍경이 아닌, 조금 색다른 풍경을 보여드릴까 합니다.

그리고 조만간 플레이영상과 메이킹 영상을 유튜브에 올릴 생각입니다. 찍어두긴 잔뜩 찍어뒀는데 언제 편집할랑가 모르겠습니다.

 

그럼, 게임 속 풍경을 담은 스크린샷 몇개 추가하고 마무리 하겠습니다.

그럼 20000~

Address List

BUSINESS

olivecrow.games@gmail.com

BUG REPORT & QUESTION

olivecrow.report@gmail.com

olivecrow

Indie Game Developer