Tworzenie, testowanie i rozwój gry mobilnej w chmurze dzięki Firebase i GCP

18/08/2020

Segment gier mobilnych rozwija się w coraz szybszym tempie. Obecnie gry mobilne stanowią 49% całego rynku gier, a wartość ta wciąż rośnie (źródło: raport Newzoo). Coraz więcej użytkowników chcących się rozerwać sięga po telefon – nie po konsolę czy myszkę i klawiaturę. Dlaczego? Gry mobilne, w odróżnieniu od gier komputerowych czy na konsole, są łatwo dostępne, proste w obsłudze i stosunkowo niedrogie. Na smartfonach gra ponad 2,4 mld osób i przewiduje się, że do 2021 roku liczba graczy dobije do 2,7 mld.

Firebase ebook

Wyzwania, jakie stoją przed twórcami gier mobilnych

Development gamingowy różni się od “tradycyjnego” developmentu. Produkt ma spełniać nie tylko techniczne, funkcjonalne wymagania czy w bezpieczny sposób przechowywać i zarządzać danymi, ale ma też być atrakcyjny dla odbiorców i dostarczać rozrywkę bez żadnych zakłóceń. Błędy w grach są niemal niewybaczalne – nawet 62% użytkowników odistalowuje aplikację, jeśli ta się zawiesza lub wolno działa.

Jakie wyzwania stoją przed twórcami gier mobilnych?

  • Konieczne jest posiadanie wysoko dostępnej infrastruktury, która zapewni skalowalność, przyjęcie kolejnych użytkowników i nie będzie wstrzymywała rozwoju produktu;
  • Programy przetwarzają dane użytkowników (niekiedy też dane do płatności), dlatego mechanizmy logowania, przechowywania i procesowania danych muszą zapewniać najwyższy poziom bezpieczeństwa;
  • Gra musi działać prawidłowo na szeregu urządzeń – smartfonach oraz tabletach różnych producentów, o różnych systemach operacyjnych, rozdzielczości, wymiarach czy konfiguracjach ekranu;
  • Gra nie może mieć błędów, zacięć, opóźnień; musi działać sprawnie i płynnie;
  • Błędy czy awarie należy namierzać natychmiast, jak najszybciej je eliminować i publikować zaktualizowaną, sprawdzoną wersję;
  • Należy utrzymać wysoki poziom rozwoju gry mobilnej, jak najszybciej tworzyć i publikować kolejne wersje i funkcjonalności;
  • Oprócz warstwy technicznej, trzeba też dbać o atrakcyjność aplikacji – analizować zachowania użytkowników, sposoby, w jaki prowadzą rozgrywkę, namierzać frustrujące etapy, na których utykają oraz reagować w odpowiedni sposób.

W realizacji tych wyzwań pomaga Firebase.

Co to jest Firebase?

Firebase to platforma do tworzenia i rozwijania aplikacji mobilnych, w tym gier mobilnych. To produkt Google, zaprojektowany w taki sposób, by być kompatybilnym z infrastrukturą chmurową Google Cloud Platform – GCP może pełnić rolę wsparcia rozbudowanej, popularnej gry lub takiej, która posiada sezonowe wzrosty zainteresowania.

Zobacz też:
Co to jest Google Cloud Platform i w jaki sposób wspiera biznes?
20 powodów, by wybrać infrastrukturę chmurową GCP
Jak utworzyć i skonfigurować konto w Google Cloud Platform?

Firebase obejmuje w pełni skalowalne i stabilne usługi backendowe i infrastrukturalne, które zaimplementować do produktu niewielkim nakładem czasu i energii. To oznacza, że Firebase już na wstępie pozwala oszczędzić setki godzin pracy i tysiące linii kodu. W dalszej perspektywie owocuje to też w zwiększoną prędkość rozwoju produktu, łatwość wprowadzania zmian oraz relatywnie niski koszt utrzymania infrastruktury.

Firebase, oprócz usług wspierających budowę infrastruktury i aplikacji, udostępnia też usługi służące testowaniu i poprawie jakości gry oraz narzędzia dedykowane analityce, promocji i angażowaniu użytkowników. Ponadto środowisko infrastrukturalne zbudowane w Firebase można rozszerzyć o dodatkowe narzędzia, które odciążą zespół developerski – na przykład rozszerzenie dopasowujące wymiary obrazów przenoszonych do Cloud Storage, eksportowanie danych z Cloud Firestore do BigQuery i prowadzenie zaawansowanej analizy czy automatyczne kasowanie ze wszystkich zsynchronizowanych baz danych informacji o użytkowniku, który usunął konto. Firebase można zintegrować też z innymi platformami Google (np. Google Ads, Google Data Studio) oraz zewnętrznymi narzędziami (np. Slack, Jira).

lista usług Firebase

Development: budowa gry w Firebase

Platforma Firebase została zbudowana z myślą o minimalizacji nakładu pracy na backend aplikacji i obsługę serwerów. Pozwala minimalizować czas potrzebny na utrzymanie infrastruktury dzięki możliwości wygodnego zarządzania maszynami z poziomu kodu. Wspiera przenoszenie sił i pokładów kreatywności programistów na rozwój gry i zwiększanie poziomu jej atrakcyjności. To daje też możliwość prowadzenia szybkiego developmentu, testowania i ekspresowego wdrażania nowości na wersję produkcyjną.

W portfolio usług Firebase służących budowie aplikacji znajdują się:

  • Cloud Firestore – hostowana w chmurze baza danych NoSQL, która zapewnia synchronizację na żywo, obsługę offline oraz wysoce wydajną obsługę zapytań;
  • Firebase ML – funkcje uczenia maszynowego, które niedużym nakładem czasu i wiedzy, pozwalają zaimplementować modele ML pracujące na zwiększenie atrakcyjności aplikacji,
  • Cloud Functions – bezserwerowe środowisko wykonawcze (execution environment) służące do tworzenia i łączenia usług w chmurze za pomocą prostych funkcji,
  • Authentication – usługa weryfikacji użytkownika obejmująca różne metody uwierzytelniania, np. poprzez mail i hasło, konto Google czy profil Facebook,
  • Hosting – zestaw narzędzi hostingowych, obejmujący m.in. CDN (Content Delivery Network, usługę zapewniającą wysoką dostępność i wydajność) czy bezpłatny certyfikat bezpieczeństwa SSL,
  • Cloud Storage – usługa bezpiecznego przechowywania na dużą skalę danych i plików takich jak treści generowane przez użytkowników, obrazy, nagrania audio czy wideo,
  • Realtime Database – baza danych o niskim opóźnieniu dedykowana produktom, które wymagają synchronizacji statusów pomiędzy klientami w czasie rzeczywistym.

Quality: zapewnienie wysokiej jakości gry mobilnej

Wśród jednogwiazdkowych opinii gier w sklepach online (np. Google Play), 42% dotyczy złego funkcjonowania aplikacji – tego, że wolno działa, zawiesza się lub posiada błędy. Natomiast 72% użytkowników wystawiających najwyższe, pięciogwiazdkowe opinie, argumentuje, że gra działa płynnie, szybko i bez zarzutu. Dlatego istotne jest prowadzenie testów jakości, które pozwolą namierzyć problemy z funkcjonowaniem gry mobilnej. 

Jest to bardzo ważny, jednak problematyczny obszar: prowadzenie testów manualnych gier jest kosztowne (trzeba przejść przez każdy scenariusz i poziom oraz powtarzać testy przy okazji następnych aktualizacji czy dodawania nowych funkcjonalności), a popularne narzędzia testów automatycznych (np. UI Automator, XUI Test, Espresso) nie działają w przypadku gier mobilnych. Firebase rozwiązuje ten dylemat za pomocą dostępnych usług do prowadzenia testów jakości i namierzania błędów:

  • Crashlytics – narzędzie raportowania awarii, które śledzi wszystkie problemy występujące w grze oraz m.in. reakcje użytkowników na pojawiające się błędy; dane są przedstawiane za pomocą czytelnego dashboardu, a błędy można łatwo namierzyć w kodzie gry dzięki plikom stack traces; Crashlytics pozwala ustawiać powiadomienia o wystąpieniu błędów,
  • Performance Monitoring – narzędzie monitorujące wydajność aplikacji, pozwala m.in. kontrolować czas uruchamiania produktu czy monitorować żądania HTTP bez konieczności pisania dodatkowego kodu,
  • Test Lab – usługa testowania gier na fizycznych i wirtualnych urządzeniach mobilnych; pozwala prowadzić testy na ponad 1000 urządzeń z różnymi systemami operacyjnymi i wersjami, o różnej specyfikacji technicznej, lokalizacji, języku, wymiarach czy rozdzielczości ekranu; po przeprowadzeniu testów otrzymuje się pełen raport ze statystykami, metrykami wydajności, czasem ładowania, zużyciem CPU czy pamięci – wszystko zsynchronizowane z nagraniami wideo uruchomionej gry,
  • App Distribution – usługa przesyłania przedpremierowej wersji aplikacji do grupy zaufanych testerów Firebase.

Growth: rozwój gry mobilnej dzięki Firebase

Żeby zapewnić ciągłą atrakcyjność gry, trzeba dobrze znać graczy, ich potrzeby, bolączki oraz szybko i adekwatnie na nie reagować. To przekłada się na rynkową stabilność produktu, liczbę pobrań i zysk. Konieczne jest prowadzenie analityki, angażowanie użytkowników w spersonalizowany sposób i wysyłanie dopasowanych przekazów marketingowych.

Pomagają w tym usługi Firebase takie jak:

  • In-App Messaging – usługa automatycznego przesyłania wiadomości do użytkowników z poziomu gry lub aplikacji (spersonalizowanych pod kątem treści i wyglądu wiadomości); wysyłka może być wyzwalana przez podjęte w grze akcje lub po pewnym czasie niekorzystania z aplikacji,
  • Analytics – narzędzie służące do analizy danych o zachowaniu użytkowników, przedstawiające informacje za pomocą czytelnych dashboardów i wykresów; pozwala prowadzić zaawansowaną, rozbudowaną analitykę wielu czynników dzięki możliwości eksportu danych do usługi GCP BigQuery,
  • Predictions – usługa, która, dzieląc użytkowników na grupy, pomaga przewidzieć poziom konwersji lub porzuceń aplikacji; wykorzystuje inteligentne systemy samouczące się i wspiera akcje wykonywane przez inne usługi, np. personalizację treści lub częstotliwość wysyłanych wiadomości w In-App Messaging,
  • A/B Testing – narzędzie pozwalające prowadzić testy A/B na grupach użytkowników bez potrzeby konfigurowania infrastruktury do planowanych eksperymentów; bardzo przydatna usługa w przypadku wprowadzania istotnych funkcjonalności lub zmian w grze,
  • Cloud Messaging – umożliwia przesyłanie bezpłatnych wiadomości i powiadomień do grup lub pojedynczych użytkowników korzystających z różnych platform (Android, iOS, Web),
  • Remote Config – pozwala wprowadzać zmiany w wyglądzie i zachowaniu aplikacji dla wybranych lub wszystkich użytkowników, bez potrzeby aktualizowania wersji aplikacji,
  • Dynamic Links – usługa tworzenia linków dynamicznych wspierających konwersję, np. linków polecających grę, wysyłanych przez użytkownika aplikacji do innego, potencjalnego gracza.

Bezpłatne limity Firebase i voucher 500 $ na start w GCP

Platforma Firebase, do pewnego poziomu zużycia zasobów, jest bezpłatna. Nie ponosząc żadnych kosztów jesteśmy w stanie m.in.:

  • korzystać z przestrzeni hostingowej 10 GB i transferu do 10 GB miesięcznie w usłudze Hosting,
  • przechowywać 5 GB danych i plików oraz pobierać 1 GB danych dziennie w usłudze Cloud Storage,
  • przechowywać do 1 GB danych w usłudze Firestore i obsługiwać do 10 GB danych wyjściowych (egress) miesięcznie,
  • przechowywać 1 GB danych, pobierać 10 GB miesięcznie i obsługiwać do 100 jednoczesnych połączeń w usłudze Realtime Database,
  • prowadzić weryfikację 10 tys. użytkowników w miesiącu w usłudze Authentication,
  • uruchamiać 10 testów dziennie na urządzeniach wirtualnych i 5 testów na urządzeniach fizycznych w usłudze Test Lab,
  • testować potencjalne zmiany w usłudze A/B Testing,
  • prowadzić analitykę w narzędzi Analitycs,
  • przesyłać wiadomości za pośrednictwem Cloud Messaging oraz In-App Messaging,
  • śledzić wystąpienie awarii w usłudze Crashlytics,
  • generować dynamiczne linki dzięki Dynamic Links,
  • monitorować wydajność w Performance Monitoring,
  • korzystać z możliwości Remote Config.

W przypadku bardziej zaawansowanej i rozbudowanej gry, której twórcy stawiają też na mocne angażowanie użytkowników, konieczne będzie ponoszenie opłat. Gry, których celem jest podbicie rynku, dobrze jest rozwijać w środowisku łączącym zalety Firebase z usługami Google Cloud Platform. Pierwsze kroki w GCP pokryje voucher 500 $ do wykorzystania w konsoli, który otrzymasz od Partnera Google. Jeśli chcesz skorzystać z vouchera, skontaktuj się z nami.

Więcej o Google Cloud Platform
Skontaktuj się z nami – otrzymaj voucher 500 $

Flyonthecloud Blog Banner

Powiązane posty