부산 인디 커넥트 페스티벌(BIC) 접수 완료

이제 막 BIC 접수를 끝냈습니다. 데모버전 언제 다 만들고 본편 시작하나 불안하기도 했었는데 이제야 마무리 했네요.
BIC 전시작으로 선정되면 좋겠습니다. 열심히 했으니 이젠 기도하는 수밖에 없겠네요.
스팀에는 영어 번역 맡긴 다음에 그게 완료되면 올릴 생각인데, 스팀 페이지에 올라오려면 6월 중순 쯤 될 것 같습니다.
후… 번역비용이랑 스팀 업로드 비용이 또 나가겠네요. 오늘 저녁은 컵라면으로 때워야겠습니다.

이미 게임 안에다가 후기를 써넣었지만, 여기도 간략하게 써보겠습니다.

일단, 혼자서 오픈월드를 개발하기로 마음먹었을때 정말 막막했습니다. 아마 주변에서 절 볼땐, 대작병에 걸려서 일을 그르치는 혈기 왕성한 개발자라고 보지 않으셨을까 싶네요. 3D도 거의 다뤄본 적이 없는데다가, 오픈월드라는 장르를 만들기 위해 어떤 워크플로우를 가져야 하는지 감도 안잡혀있던 상태였으니까, 사실 틀린 말도 아닙니다. 그래도 모르면 배우면 되는거 아니냐는 마음으로 하나씩 배워나가다보니 답이 보이기 시작하네요. 지금은 아예 유니티 내에서 쓸 오픈월드 엔진을 직접 만들고 있습니다. 막상 해보니 별겨 아니더만~

오픈월드 개발은 일반 게임의 개발과 뭐가 다를까요?
크게 다를 건 없다고 봅니다. 다만 규모의 문제가 남아있을 뿐이죠. 거대한 세계에 수 만 가지 이상의 오브젝트를 로드하고 렌더링하는 비용을 어떻게 관리하느냐가 오픈월드 개발의 전부인 것 같습니다. 제 데모버전도 맵은 작지만 오픈월드의 방식을 충실히 따르고 있습니다. 구체적인 방법을 나열하자면 씬을 여러개로 분할하고, 필요한 것만 로드하고, 보이지 않는 것은 꺼두고, 메쉬를 하나로 합쳐서 렌더링하는 것이 되겠네요. 사실 이것보다도 더 많은 최적화 방법들이 있지만, 제 데모버전에서는 이정도면 충분했습니다. 일반 필드에서는 200 프레임 이상이 나왔고, 리소스가 제일 많이 집약돼있는 지점에서도 약 80 프레임으로 준수하게 나오더군요. 물론 테스트용으로 vSync를 꺼서 그런거고 실제 플레이 할때는 모니터 프레임률에 맞게 나옵니다. 본편을 개발할 때는 이것보다도 더 많은 방법들을 사용해서 최적화 할 생각이지만, 데모버전에서는 이정도면 충분했다고 봅니다. 그 외 방법으로는 오브젝트 별 그림자 컬링, 그림자 캐싱, 임포스터 렌더러 정도가 있겠네요.

사실 따지고 보면 오픈월드에서만 쓸 수 있는 최적화 방법들은 아닙니다. 이미 다른 게임 장르에서도 잘 쓰고 있는 방법들입니다. 음… 글을 쓰다보니 더욱 더 오픈월드와 다른 장르의 차이를 모르게 되었네요. 뭐, 게임의 장르 구분은 사실 관심도 없고 아무래도 좋은 것 아니겠습니까? 재미만 있으면 장땡이지.

 

본편의 규모는 데모버전보다 훨씬 큰 만큼 많이 바빠질 것 같습니다. 맵 크기만 보면 100배 크기입니다. 데모버전의 맵이 1km x 1km이고, 본편은 10km x 10km로 생각하고 있거든요. 그래도 뭐 어떻게든 되겠죠… 맵이 100배가 된다고 해서 할 일이 100배가 되는 건 아니니까요. 코드는 전부 공통적으로 공유하고, 리소스도 공유하는 부분이 많으니 어떻게든 될 것 같습니다. 그래도 데모버전 만들면서 필요한 코드는 거의 짜뒀기 때문에 리소스 작업 위주로 진행되겠네요. 저의 목 관절을 위협하는 타블렛과의 싸움이 다시 시작될 것 같습니다. 매일 타블렛만 쓰시는 분들은 어떻게 하는 걸까요. 국군 도수체조라도 매일 해야하나?

 

이번 일지도 텀이 꽤 길었네요.원래는 한 주에 한 번 정도는 개발일지를 쓰려고 했는데 자꾸 잊게 됩니다…
내 대가리 금붕어 대가리…?
당분간은 데모버전 만들면서 제작과정 녹화해둔게 있는데 천천히 편집하면서 올리도록 하겠습니다.
그리고 게임의 세계관이나 설정들도 하나씩 적어볼까 합니다.
그럼 이만!

Address List

BUSINESS

olivecrow.games@gmail.com

BUG REPORT & QUESTION

olivecrow.report@gmail.com

olivecrow

Indie Game Developer