11년 된 게임의 계속해서 늘어나는 밸런스 최적화 노트

11년 된 게임의 계속해서 늘어나는 밸런스 최적화

War Robots는 방대한 콘텐츠를 위한 게임 데이터, 즉 밸런스를 저장합니다. 이러한 밸런스는 메타 게임플레이와 핵심 게임플레이로 나뉘며, 기본 모드와 스커미시 모드에 대한 별도의 세트가 있습니다. 11년 이상 동안 게임은 상당한 양의 콘텐츠를 축적하여 밸런스 파일 크기가 커졌습니다. 처음에는 메타 밸런스가 9.2MB, 핵심 밸런스가 13.1MB였으며, 플레이어가 다운로드해야 하는 총 44.6MB였습니다.이를 해결하기 위해 개발팀은 밸런스 파일 크기를 분석하여 문자열이 상당 부분을 차지한다는 것을 발견했습니다. 그들은 중복 문자열을 식별하는 도구를 개발했으며, 이는 매우 흔하게 발견되었습니다. 해결책은 각 밸런스에 대한 고유 문자열 저장소를 만들고, 직접 문자열 인스턴스를 인덱스로 대체하는 것이었습니다. 이는 문자열 사용 횟수를 크게 줄여 효율성을 향상시켰습니다.추가적인 최적화에는 데이터 프로토콜 재작업, 문자열 키를 사용하는 MessagePack에서 숫자 키를 사용하는 이진 바이트 배열로 전환하는 것이 포함되었습니다. 비어 있는 컬렉션도 제거되어 데이터 크기와 처리 시간을 더욱 줄였습니다. 새로운 기능은 토글 뒤에 구현되어 오래된 밸런스 버전과 최적화된 밸런스 버전을 동시에 지원할 수 있도록 했습니다. 리플렉션을 사용한 엄격한 테스트를 통해 두 밸런스 버전이 동일한 값을 생성함을 보장했습니다.이러한 최적화를 통해 파일 크기가 크게 줄어들어 메타 밸런스는 1.28MB, 핵심 밸런스는 2.22MB로 감소했습니다. 역직렬화 시간도 크게 개선되었으며, 클라이언트 측에서 필요한 메모리도 감소했습니다. 팀은 효율적인 데이터 전송과 비용 절감을 위해 신중한 데이터 관리와 특히 문자열의 중복 제거가 중요하다는 결론을 내렸습니다.
CdXz5zHNQW_McKynR1tiz.jpeg