항해99/개발일지

20220315 개발일지 #사서 걱정하지 말자

paran21 2022. 3. 18. 23:58

오늘 엄청난 사실을 알게되었다!!!

(우리 실전프로젝트에서 WebRTC 성공에 이어 2번째 축포를 터트리는 순간인거같기도 한데 좀 다르다)

 

우리가 계속 고민했던 부분은 게임 방 resource의 용량이 커서 로딩에 시간이 오래걸리는 문제였다.

구입한 3D 모델링 파일이 150MB 정도라서 여기서 크게 줄어들지 않을 것으로 생각하고

로딩이 오래걸릴 때 화면에 어떤걸 보여줘야 하는지

(예를 들면, 로딩페이지에서 게임 안내나 팁 같은 간단한 텍스트를 보여준다거나),

로딩 중에 유저가 disconnect됬을 때 어떻게 해야하는지, 

모든 클라이언트가 로딩이 완료된 걸 어떻게 처리할지 고민했었다.

 

그런데 정작 게임 방 resource를 export하니 용량이 2MB였다....!!!

우리가 걱정했던 많은 문제들을 단숨히 해결하는 것과 동시에 우리는 여태까지 뭘 한거지...? 라는 물음표를 띄웠다.

물론 우리가 고민한 문제가 나중에 다시 터질 수 있는 문제이기도 하고, 프론트와 백엔드 모두 문제를 어떻게 해결할지 고민하면서 하나씩 해결해나가는 과정이 정말 즐겁기도 했다.

그러나 이것과 동시에 그동안 애쓴 코드들을 날려야할지도 모른다고 생각하니 정말 아깝기도 했다.

 

용량을 줄이기 위해 블랜더에서 라이트와 같이 ThreeJS에서 구현할 수 있는 부분들은 빼고 export를 했는데 그 결과 정말 말이 안되게 용량이 줄어든 것이다.

처음에는 다들 눈을 의심하고, 다시 export해보고, 랜더링도 해봤는데 2MB로 똑같이 잘 구현되는걸 확인했다.

용량과 관련해서는 우선 우리가 우려하는 부분들은 로직으로 어떻게든 처리해보고 그 후에도 시간이 오래걸리면 다른 방법을 사용해보려고 했다.

처음부터 이 사실을 먼저 체크했으면 더 좋았겠다 싶으면서도 한번도 다루어보지 않은 라이브러리로 실전프로젝트를 진행하면서 지금이라도 이 사실을 알아서 다행이다 싶기도하다.

 

암튼 큰 걱정거리가 해결됬으니 다들 신나기는 했다 ㅋㅋㅋ

먼가 처음에 걱정했던 문제들이 생각보다 쉽게 해결이 되서(webRTC도 그랬다) 프로젝트 전반적으로 운이 따르는 건가 싶기도 하고 팀원들이 다들 너무 잘하는거 같기도 하고 ㅋㅋㅋ

 

아무튼 RTC와 함께 프로젝트 끝나고 나서도 계속 기억에 남은 순간이었다!!