Tło
Cat Daddy Games to w całości należące do 2K studio z siedzibą w Kirkland w stanie Waszyngton. Zespoły odpowiedzialne za gry NBA 2K Mobile, NBA SuperCard i WWE SuperCard szukały rozwiązania, które pozwoliłoby im poprawić ogólną jakość gier dla użytkowników, w szczególności poprzez wyświetlanie zasobów o wyższej jakości na urządzeniach, które je obsługują.
Wdrożyła usługę Play Asset Delivery, która oferuje prosty i bardziej elastyczny sposób generowania i przesyłania zoptymalizowanych plików APK pod kątem konfiguracji urządzenia każdego użytkownika. Używała też dopasowania formatu kompresji tekstur, aby dostarczać lepsze zasoby graficzne na konkretne urządzenia i ograniczać liczbę pobieranych zasobów.
Rozwiązanie
Na początek firma Cat Daddy zrezygnowała z systemu dostarczania danych w pliku rozszerzenia APK i przeszła na nowe formaty Android App Bundle (AAB) i Play Asset Delivery (PAD). Studio zintegrowało PAD z niestandardowym systemem kompilacji opartym na Gradle i z minimalnymi zmianami kodu po stronie klienta zastąpiło starszą wersję pobierania nowym systemem Fast Follow.
Wycofany system plików rozszerzeń APK był powiązany z numerem wersji aplikacji, co powodowało dodatkowe komplikacje podczas tworzenia i testowania. Nowy system AAB tworzy niezależny pakiet, który nie zależy od wersji, a który Cat Daddy z łatwością przetestował za pomocą portalu do wewnętrznego udostępniania aplikacji. Nie wymaga to przesyłania wersji danych OBB ani martwienia się o wersję aplikacji w przypadku lokalnych kompilacji testowych.
Jedną z ulubionych funkcji Cat Daddy w systemie PAD jest możliwość przesyłania plików danych w konkretnym formacie kompresji tekstur. Jest to implementowane wyłącznie po stronie Google Play i nie wymaga żadnych zmian po stronie klienta. Google wykrywa możliwości urządzenia i podaje odpowiednie dane. Firma Cat Daddy musiała tylko dodać do wersji dodatkowego pliku danych, a Google zajęło się resztą. Te formaty danych nie są wliczane do żadnych ograniczeń rozmiaru pliku.
Firma Cat Daddy dostarczyła dodatkowy zestaw plików danych na potrzeby urządzeń obsługujących kompresję tekstur ASTC. Wcześniej zespół używał formatu ASTC do tworzenia grafiki wysokiej jakości na wszystkich urządzeniach, aby zachować jakość i kompresję, a także dekompresować tekstury na procesorze w przypadku urządzeń, które nie obsługują formatu ASTC. Studio używało formatu ETC1 do grafiki GUI.
Wyniki
Dzięki wdrożeniu PAD firma Cat Daddy może zarządzać komponentami niezależnie od wersji. W przypadku gier studia cały build jest zawarty w jednym pakiecie, a nie w osobnych zasobach. Dzięki temu środowisko kompilacji i testowania jest bardziej przejrzyste i elastyczne. Korzystając z danych dotyczących formatu kompresji tekstur, zapewniają pakiety danych, które używają formatu ASTC dla wszystkich tekstur, w tym interfejsu użytkownika, co skutkuje wyższą jakością grafik interfejsu użytkownika na urządzeniach obsługujących format ASTC.
W przypadku graczy gier Cat Daddy zachowano agresywne minimalizowanie rozmiaru zasobów, co pozwoliło na optymalizację szybkości pobierania i uzyskanie płynniejszej rozgrywki.
Rozpocznij
Zacznij od zapoznania się z informacjami o Play Asset Delivery i kierowaniu na format kompresji tekstur.