오랜만이네요. 시간 참 빠릅니다. 벌써 다섯 달 가까이 개발일지를 못 올리고 있었군요.
어찌 보면 눈 깜빡할 사이에 0.5살정도 늙은 셈이네요… (정확히는 0.416살?)
물론 별 일은 없었고, 오히려 개발은 꾸준히 하고 있었습니다.
다만 ‘이 단계만 끝나면 개발일지 올려야겠다’ 라고 마음먹고 있었는데 그 단계가 너무 오래 걸려서 그렇습니다.
개발에 진척이 없을때, 집중하기 위해서 종종 잠수타듯이 집에 틀어박혀서 개발만 하곤 하는데, 역시나 이번에도 그랬습니다!
제 주변 지인과 친구들도 혹시나 고독사한건 아닌지 연락해주기도 하고…
심지어 몇몇 유저분께서도 제게 무슨 일이 생긴건지 메일로 물어보시는 일도 있었네요.
저는 (딱히 건강하진 않지만) 잘 살아있으니 걱정하지 않으셔도 됩니다.
그간 오래 기다리셨으니, 내용도 이번엔 좀 길게 가겠습니다!
도시 풍경 1
옛 폐허도시를 만들고 있었는데, 만족했던 퀄리티까지 만드는데도 오래걸렸고 더 빨리 만들기위한 작업흐름을 정해두는데도 시간이 많이 걸렸습니다.
앞으로도 비슷한 맵들을 더 만들게 될테니, 필요한 툴도 미리 만들어야 했거든요.
역시나 디테일은 아직 추가하지 않아서 좀 비어보이긴 합니다만, 개요는 잘 완성된 것 같습니다.
나중에 디테일이 추가된다면 지금보다도 훨씬 그럴듯해지겠죠?
이 도시는, 스토리상 과거에 가장 번영했던 도시였기때문에 큰 규모로 만들고 싶었습니다.
개인적으로는 최소한 위쳐3의 노비그라드에 버금갈만한 크기로는 만들고 싶었는데, 만들다보니 그것보단 작아졌네요.
노비그라드의 절반정도 되는 것 같습니다. 집들을 조금 뺵빽하게 배치했으니, 면적만 보면 조금 더 작을지도 모르겠네요.
도시크기를 너무 크게 하니 멀리서도 너무 잘 보여서, 기껏 넓게 만든 맵이 오히려 좁아보이길래 처음 계획보단 작게 만들게 됐습니다.
물론 추후에 더 개발하다보면 더 넓어질지도 모릅니다. 어찌됐던 플레이하기에 가장 좋은 크기로 만들어야겠죠.
도시 풍경 2
보시다시피, 도시엔 수많은 건물들이 있습니다. 지금은 다 부서졌군요.
많은 오브젝트는 곧 많은 성능을 필요로 하겠죠? 그래서 이 도시를 다 만든 다음에 최적화 작업을 진행했는데, 그게 꽤 오래걸렸습니다.
목표는 960~1050 급 그래픽카드에서도 안정적인 60프레임을 내는 것인데, 제 그래픽카드가 3070이니 최소 120프레임은 나와야된다고 생각했습니다.
아직 디테일한 오브젝트나 몬스터, NPC등은 추가를 안 했으니 최소한 이정도 프레임 레이트가 나와주지 않으면 나중에 곤란하겠죠.
그런데 그 과정이 정말 순탄치 않았습니다…
정말 개발을 하면서도 유니티 말고 언리얼로 시작할걸! 이라며 몇 번을 속으로 외쳤는지 모르겠네요.
오픈월드 개발을 시작하면서 유니티와 한 배를 타야겠다고 생각하고 유니티 주식까지 샀지만!
아차! 가라앉는 배였나봅니다. 주식도 반토막 이상 난 이후에 회복될 기미가 안보이는군요!
결과적으로는 도시에선 100프레임 가량, 평지에선 120프레임 이상으로 무난하게 나오게끔 만들었습니다.
메쉬 컴바인, 그림자 오브젝트 분리, 씬 레이어 분할, GPU 인스턴싱 등 여러 기법들을 조합했습니다.
대부분이 일반 게임들에서도 통용될만한 최적화 기법들인데 걍 게임 엔진 내에서 구현해주면 안되나… 비슷한 에셋도 많이 나와있던데…
아직 사용하지 않은 기법들도 몇 개 있으니, 의도했던 프레임 레이트는 큰 문제없이 뽑아낼 수 있을 것 같습니다.