Todo sobre Apple, Android, Juegos Apks y Sitios de Peliculas

Android Game SDK: qué es y cómo usarlo en su aplicación

Android Game SDK es una nueva serie de bibliotecas de Google, diseñada para ayudar a facilitar un mejor desarrollo del juego. O al menos, eso es lo que se prometió en un futuro no muy lejano. Por ahora, el juego SDK de Android es en realidad solo una biblioteca: la biblioteca de ritmo de cuadros de Android, aparentemente también conocida como «Swappy».

El anuncio llegó a principios de diciembre de 2019 y podría considerarse una inclusión muy esperada. Con suerte, las futuras iteraciones ayudarán a racionalizar el proceso de desarrollo del juego, permitiendo a los desarrolladores diseñar y lanzar más rápidamente juegos de rompecabezas, plataformas o incluso títulos en 3D sin depender de motores de terceros como Unity e Unreal.

Esta publicación se actualizará con frecuencia cuando se agreguen nuevos elementos al SDK de juegos de Android, así que revise esta página y vuelva a verificar. Por ahora, veremos la Biblioteca de estimulación de cuadros.


Cómo funciona la biblioteca de estimulación de trama

Esta biblioteca está diseñada para ayudar a los juegos a mantener una velocidad de fotogramas estable con una latencia de entrada mínima. Esto se realiza sincronizando el bucle de representación del juego con el sistema operativo y los subsistemas de visualización de hardware. El subsistema de visualización tiene como objetivo reducir la rotura que a veces puede ocurrir cuando el hardware se cambia de un cuadro a otro a través de una actualización. Esto se realiza almacenando en el búfer el cuadro anterior, detectando la entrega tardía y repitiendo la visualización de cuadros anteriores si el cuadro se detecta demasiado tarde.

Frame Pacing Library es demasiado rápido en el juego Android SDK

De Google

Sin embargo, esto puede permitir una falta de coincidencia en la sincronización que resulta en tiempos de visualización de fotogramas inconsistentes. Por ejemplo, si un fotograma se procesa más rápido, esto podría acortar el tiempo transcurrido antes del fotograma en la pantalla. Si un marco tarda demasiado en renderizarse, entonces el marco puede presentarse para marcos adicionales.

Frame Pacing Library supera este problema utilizando la API de coreógrafo de Android para sincronizar juegos con el subsistema de visualización. Esto se logra mediante el uso de la extensión de marca de tiempo de presentación en las API de OpenGL y Vulkan, que garantiza que los marcos se presenten de manera oportuna. También usa cercado de sincronización para evitar el relleno del búfer. También se admiten varias velocidades de actualización, lo que permite a los desarrolladores apuntar a diferentes tipos de dispositivos, incluidas pantallas de 90Hz y 120Hz, y opciones de personalización. El tiempo de presentación del marco se ajusta automáticamente de acuerdo con la cuenta del hardware del dispositivo.


Cómo usar la biblioteca de estimulación de tramas del juego del SDK de Android

Si su juego usa Vulkan en OpenGL, entonces podrá usar esta biblioteca. Para hacer esto, primero debe descargar el SDK de juegos de Android aquí.

Para ver cómo funciona esto, también puede descargar una muestra Bouncy Ball aquí para probar con OpenGL. Puede encontrar instrucciones para Vulkan aquí. Abra el proyecto, luego ejecute la aplicación para asegurarse de que tenga éxito.

Luego, vincule el proyecto a la biblioteca. Para bibliotecas estáticas, haga esto agregando gamesdk / incluido al compilador incluyendo rutas, y swappy / swappyGL.h para integración con OpenGL ES. En la mayoría de los casos, el archivo de encabezado contendrá todas las funciones necesarias.

Finalmente, agregue la siguiente ruta a la ruta de la biblioteca del vinculador:

gamesdk/libs/architecture_APIapiLevel_NDKndkVersion_stlVersion_Release

Por supuesto, intercambiará texto grueso con la versión de procesador / NDK correspondiente, etc.

Inicializando una instancia de Android Frame Pacing usando:

void SwappyGL_init(JNIEnv *env, jobject jactivity);

Y destruya las palabras de ejemplo con:

void SwappyGL_destroy();

Ahora las siguientes funciones le permitirán configurar su intervalo de intercambio y período de actualización:

void SwappyGL_setSwapIntervalNS(uint64_t swap_ns);    void SwappyGL_setFenceTimeoutNS(uint64_t fence_timeout_ns);    void SwappyGL_setUseAffinity(bool tf);

Llame tan pronto como se inicialice SwappyGL_init (), Que debe estar lo más cerca posible cuando se lance el motor. Omitir duración del marco a SwappyGL_setSwapIntervalNS () utilizar SWAPPY_SWAP_60FPS, SWAPPY_SWAP_30FPSo SWAPPY_SWAP_20FPS constantes (si es necesario).

Ahora haga el cambio de marco usando BOOL SwappyGL_swap (pantalla EGLDisplay, superficie EGLSurface). Esto termina eglSwapBuffers () El método utilizado por Open GL ES, por lo que debe reemplazar todas las instancias con la nueva versión.

Puede verificar si se ha activado la estimulación de trama en cualquier momento utilizando bool SwappyGL_isEnabled ().

Para obtener instrucciones más detalladas sobre el uso de la biblioteca de estimulación de cuadros, consulte la página oficial de la guía para desarrolladores de Android.

Uso del SDK de juegos de Android en Unity

La biblioteca de estimulación de cuadros también se incluye en la versión Unity 2019.2 y encima de eso. Simplemente marque la casilla Optimized Frame Pacing en la configuración de Android, y activará automáticamente una velocidad de fotogramas más suave para su juego.

¡Una vez más, Unity hace la vida mucho más fácil para los desarrolladores de juegos!


Mirando hacia el futuro

Personalmente, creo que es hora de que Google les dé a los fanáticos un juego de amor, así que veo esto como algo muy positivo. Es probable que el marco de la Biblioteca de estimulación en sí sea una adición bienvenida, especialmente para juegos más pesados ​​que desean ofrecer cuadros de velocidad sedosos como la seda. Este es un pequeño comienzo, así que tengo que hacer algunas bibliotecas muy útiles y presentar su SDK de juegos para Android de inmediato.

Más publicaciones sobre desarrollo de Android

Programación Aprendizaje C #

Cómo hacer una aplicación que no sea de juegos en Unity

1 la semana pasada

Introducción a C # para Android

Todas las últimas novedades y características para desarrolladores de Android que necesitas saber

3 la semana pasada

Android P Beta

Cómo usar gestos y navegación basada en gestos en su aplicación de Android

4 el mes pasado

Aprenda a hackear la seguridad de datos

Proteja la privacidad de sus usuarios: seguridad de las aplicaciones de Android para desarrolladores

4 el mes pasado

desarrollo de juegos

Cómo agregar gráficos 3D y otras características de Unity a su aplicación nativa de Android

5 el mes pasado

Widget para pantallas de inicio de Android

Crea widgets desplazables para tu aplicación de Android

5 el mes pasado

Android Q Beta 5 Un vistazo

Temas oscuros, API térmicas y burbujas: prepare su aplicación para Android 10

5 el mes pasado

Android Q Beta 5 Un vistazo

Noticias y características de desarrolladores de Android arrestados (julio de 2019)

6 el mes pasado

Android Q Beta 4 Notificación de dirección de deslizamiento

Noticias y características del desarrollador de Android capturadas: junio de 2019

7 el mes pasado

Android Game SDK: qué es y cómo usarlo en su aplicación 1

Comience con Facebook para el SDK de Android

7 el mes pasado

Resumen del Contenido