Android - w czym można zrobić grę, żeby instalka miała mały rozmiar?

0

W wolnym czasie robie gre na Androida. Mam juz w sumie wersje mocno grywalna, ale niedopieszczona. Pisze w Javie z uzyciem LibGDX i przyznam ze denerwuje mnie rozmiar aplikacji - ok 12 MB. Da sie to pewnie nieco zmniejszyc ale to i tak bedzie kilka MB w stosunku do oryginalu zajmujacego ok 40 Kb.

I tutaj pytanie co mozna uzyc zeby napisac gre gdzie binarka bedzie niewielka i bez problemu bedzie dzialac na Androidzie? (wielkosc assetow to inna sprawa). Nie musi byc Java, bo pisalem kiedys w C/C++ wiec zawsze moge sobie odswiezyc.

Java + AWT ? (w sieci sa watki ze to klopotliwe na Androidzie, chociaz w tym pisalo sie Javavowe gierki na kompo 4k ).
Tutaj jako ciekawostka przykladowy kod Minersow napisany przez Notcha (ten od Minecrafta). https://web.archive.org/web/20070707053109/http://www.mojang.com/notch/j4k2k6/miners4k/A.java

Nawet ktos to wrzucil do Google Play: https://play.google.com/store/apps/details?id=com.bartsource.Miners4k&hl=pl

C++ i SDL?
C++ i SFML ?
A moze jakis godny nastepca flasha? Tylko czy np w html 5 mozna zrobic apke i wrzucic do sklepu?

Czy jeszcze cos innego?

1

Limit w Google Play na pojedynczy APK to 100MB. W Unity moja produkcja na obecnym etapie rozwoju ma prawie 30MB, a nie ma żadnych ciężkich assetów (kilka meshy po kilkadziesiąt trójkątów, kilka małych sprite'ów).

Naprawdę niżej niż GDX radziłbym nie schodzić, bo to już nie będzie hobbystyczny projekt po godzinach, tylko masochizm :D

Może Godot? - https://github.com/godotengine/godot/issues/18253

2
  1. Opisana gra w https://businessinsider.com.p[...]arnosci-aplikacji/fbtx94q.amp podczas instalacji na Pixel 2 zajmuje 2.6MB - około 8.5 razy więcej niż w artykule. Według mnie 300kb to jest informacja że tyle ta gra zajmowała w bliżej nieokreślonej przeszłości. Od tego czasu wiele mogło się zmienić np. sposób budowania aplikacji przez googla. I teraz porównując 2,6MB z Twoim 12MB - to jest tylko około 4,5 razy więcej.

  2. Interesujący artykuł związany z temat: https://medium.com/googleplaydev/shrinking-apks-growing-installs-5d3fcba23ce2

  3. Jak zmniejszyć rozmiar aplikacji: https://developer.android.com/topic/performance/reduce-apk-size , oraz polecam https://developer.android.com/studio/build/configure-apk-splits - tutaj można dużo wygrać. Przy "normalnym" budowaniu aplikacji każde apk zawiera informacje uruchomieniowe dla wszystkich rozdzielczości ekranu, gęstości pikseli czy ABI Different Android handsets use different CPUs, which in turn support different instruction sets. Each combination of CPU and instruction sets has its own Application Binary Interface, or ABI . Można zbudować aplikację które będą np wspierane tylko przez telefony fullhd - dzięki temu w takiej paczce w apk nie znajdą się inne dane dla innych telefonów / tabletów.

  4. Pomiar: korzystając z android studio możesz w prosty sposób analizować wytworzoną APK, funkcjonalność za znajduje się w Build->Analyze APK. Dzięki temu mógłbyś zobaczyć że np najwięcej w Twoim produkcie zajmują właśnie API albo może klasy albo np zapomniałeś dodać proguarda i budujesz aplikację bez "trimowania". https://developer.android.com/studio/build/apk-analyzer

Powodzenia!

0

W JavaScript, Python/Kivi lub Ruby.

0

Jak chcesz by gierka na Androidzie była naprawdę malutka, to:

  • zminimalizować zależności do bibliotek, które nie są dostępne domyślnie w Android
  • jeśli masz odpowiednią licencję na bibliotekę, to linkowanie statyczne, potrafi bardzo zredukować rozmiar końcowy
  • wywalić wszystkie zbędne multimedia (grafiki, dźwięki itp)
  • zoptymalizować wszystkie możliwe multimedia (np obrazki powinny być tylko w optymalnej rozdzielczości, z minimalną liczbą wykorzystywanych kolorów, albo wcale ich nie powinno być).

Niedawno czytałem o gościu, który napisał Warcaby, które mieściły się w 200kB. Niewielkie wymagania spowodowały, że jego apka jest popularna w biedniejszych krajach, gdzie telefony mają mało wolnej przestrzeni na aplikacje.

0

O, znalazlem wlasnie cos co wyglada obiecujaco: https://stackoverflow.com/questions/10311841/android-2d-game-development-without-an-engine

I taka ggra open source Replica Island, pisze ze to w Open GL zrobiono.

Edit:

A kojarzycie w czym to moglo byc zrobione? https://play.google.com/store/apps/details?id=org.lukeallen.bomber&hl=en

1 użytkowników online, w tym zalogowanych: 0, gości: 1