APK파일 줄이기 : 모바일게임 개발자를 위한 PNG 압축 방법

2014. 9. 7. 16:42프로그래밍/Android

728x90
반응형

모바일 게임을 개발할때 주로 사용되는 그림 포멧이 PNG입니다.

cocos2d-x를 비로해서 Unity3d등 다양한 게임 엔진들에서 널리 활용되고 있습니다.

그 외에도 웹페이지에서도 사용되고 있습니다.


모바일 게임 개발자들을 의주로 이야기를 하겠습니다.

아마 50%정도는 그림 파일일것입니다.

전체적인 빌드의 용량을 줄이는 것이 다운로드를 높이는 방법이며 네트워크 환경이 좋지 못한 국가의 경우 많은 사용자들이 다운받을 수 있는 조건을 만들어 줄수 있습니다. 중국의 경우 최소한 10M이내로 해야 에러없이 널리 다운로드 될수 있다고 합니다. 하지만 최근에는 환경이 좋아져서 50M에서 100M까지도 무난하다고 합니다. 


그럼 용량을 고려하지 않고 만든 게임을 출시전에 최적화 하는 방법없을까.? 고민을 하다가 선택할수 있는 방법이 바로 PNG 압축입니다. PNG파일을 그림 편집도구에서 나름 최적화를 한다고 해도 크게 효과적이지 못합니다. 유료의 Plug-in을 적용한 경우에는 어느 정도 효과는 있을 것 같습니다. 일단 무료로 최적화 할수 있는 방법을 알아 보겠습니다.


1. 여러개의 웹 PNG 압축 사이트들 중에서 괜찬은 사이트는 https://tinypng.com/ 입니다.

드래그 앤 드롭하면 니려받을 수있도록 압축을 해줍니다. 사용해보면 손실없이 평균적으로 65%이상의 압축효과를 봤습니다. 추천할만합니다. 사진편집도구용 Plug-in도 유료로 판매하고 있습니다.



[위 사이트애서 684kb의 그림을 76%압축되어서 167kb로 줄었습니다]


이번에 스와트앤좀비 러너라는 게임을 제작하면서 PNG 파일들의 용량 최적화를 진행하였습니다. 기존의 apk파일이 32M였지만 PNG압축을 통해서 대략 12M정도를 절약할수 있습니다. 결과 apk파일의 크기는 19M로 줄었습니다. PNG외에도 다양한 방법의 최적화 방법들이 있지만 노력대비 효과가 가장 좋은것은 역시 그림 리소스의 최적화 인듯 합니다.

[위 그림의 경우도 대략 70%정도의 압축이 되어서 89.5kb로 줄었습니다.]


이 외에도 다양한 방법들을 통해서 PNG파일을 압축할수 있습니다.

오픈소스로 구현되어 또한 이를 활용한 GUI가 적용된 도구들도 다양합니다. 다음 사이트를 참고하시기 바랍니다.

1. http://pngquant.org/ 

2. https://code.google.com/p/as3pngcolorconvert/


728x90
반응형