Informacje o dostosowywaniu i przenoszeniu silników gier

Narzędzia, gwiazdy, planeta Jeśli używasz języka C lub C++ do tworzenia lub dostosowywania silnika gier, musisz spełnić poniższe wymagania, aby zintegrować obsługę Androida z silnikiem gry.

  • Korzystanie z narzędzi dla programistów na Androida
  • Utwórz ćwiczenie
  • Rysuj na ekranie
  • Przetwarzaj zdarzenia wejściowe
  • Wyjściowy dźwięk
  • Zarządzaj pamięcią
  • Przetestuj i dopracuj
  • Opublikuj w Google Play

Wymagania opisane na tej stronie nie pokazują, jak stworzyć silnik gry od podstaw, tylko wskażą obszary, w których Android jest stosunkowo wyjątkowy w porównaniu z innymi platformami.

Korzystanie z narzędzi dla programistów na Androida

Android Studio zawiera narzędzia, dzięki którym możesz:

  • Konfigurowanie projektu
  • Tworzenie, debugowanie i pakowanie gry
  • Badanie wydajności gry za pomocą programów profilowych, procesora i pamięci
  • Sprawdzanie zawartości pakietu gry lub pakietu aplikacji
  • Integrowanie dodatkowych funkcji pakietu Android SDK i NDK

Narzędzie Android Graphics Inspector może scharakteryzować wydajność renderowania gry i pomóc zbadać szczegóły renderowanych klatek za pomocą profilowania klatek.

Jeśli używasz głównie Microsoft Visual Studio, możesz użyć Android Game Development Extension (AGDE), by dodać do istniejących projektów cel na Androida. AGDE obsługuje debugowanie natywne w Visual Studio i zawiera samodzielne wersje wielu narzędzi do profilowania Android Studio.

Utwórz ćwiczenie

Gra musi utworzyć element Activity i wchodzić z nim w interakcję. Poznaj cykl życia aktywności na Androidzie, aby dowiedzieć się, kiedy aktywność jest tworzona, uruchamiana, wznawiana, wstrzymana, zatrzymana i usunięta.

Poczytaj o bibliotece GameActivity, która integruje się z natywnymi silnikami gier w języku C lub C++ i zaspokaja związane z nimi potrzeby związane z Activity (okno gry, cykl życia, renderowanie i obsługę zdarzeń).

Rysuj na ekranie

Gra musi narysować obiekty i sprite’y na ekranie. Dowiedz się więcej o Androidzie SurfaceView i o tym, jak skonfigurować grafikę w silniku gry.

Urządzenia z Androidem obsługują różne częstotliwości odświeżania wyświetlacza. Dowiedz się więcej o renderowaniu w pętlach gry, aby zapobiec pojawianiu się klatek i błędom buforowania klatek.

Dowiedz się, jak osiągnąć tempo klatek w celu płynnego renderowania w środowiskach OpenGL i Vulkan. Zoptymalizuj liczbę klatek za pomocą narzędzia Performance Tuner.

Przetwarzaj zdarzenia wejściowe

Silnik gry odbiera zdarzenia wejściowe z różnych źródeł. Aby w pełni korzystać z rozgrywki, naucz się obsługiwać różne źródła danych wejściowych z Androida:

Wyjściowy dźwięk

Silnik gry musi odtwarzać dźwięk na różnych urządzeniach i w różnych wersjach Androida. Dowiedz się więcej o Oboe – naszej bibliotece audio open source C++, aby wdrożyć w swojej grze wysokiej jakości dźwięk.

Używaj obóju, aby osiągnąć najniższe opóźnienie, uniknąć konkretnych błędów z dźwiękiem i automatycznie wybrać najlepszą dostępną bibliotekę natywną (np. AAudio lub OpenSL ES).

Zarządzaj pamięcią

Na urządzeniach z Androidem system stara się wykorzystać jak najwięcej pamięci RAM i w razie potrzeby przeprowadza różne optymalizacje pamięci, aby zwolnić miejsce. Dowiedz się, jak zarządzać wykorzystaniem pamięci, aby nie spowalniać gry lub z niej wyjść.

Przetestuj i dopracuj

Aplikacja na Androida ulega awarii, gdy nieoczekiwane wyjście jest spowodowane nieobsługiwanym wyjątkiem lub sygnałem. Dowiedz się, jak wykrywać i diagnozować awarie, odczytywać zrzuty stosu, wyjątki pamięci i sieci, korzystać z narzędzia Logcat oraz interpretować błędy specyficzne dla Javy i Kotlin.

Opublikuj w Google Play

Gracze pobierają Twoją grę na różne urządzenia z Androidem w różnych krajach, sieciach i abonamentach. Dowiedz się, jak za pomocą Google Play przesyłać pakiety aplikacji i zasobów do dużych gier oraz korzystać z zalet sieci dostawy treści.