Si usas C o C++ para desarrollar o personalizar un motor de juego, los siguientes requisitos son fundamentales para integrar la compatibilidad de Android en tu motor de juego.
- Cómo aprovechar las herramientas de desarrollo de Android
- Cómo crear una actividad
- Cómo dibujar en la pantalla
- Cómo procesar eventos de entrada
- Audio de salida
- Cómo administrar la memoria
- Cómo probar y pulir
- Publicar en Google Play
Los requisitos que se describen en esta página no te enseñan a desarrollar un motor de juego desde cero, sino que identifican las áreas en las que Android es relativamente único en comparación con otras plataformas.
Cómo aprovechar las herramientas de desarrollo de Android
Android Studio incluye herramientas que puedes usar para lo siguiente:
- Cómo configurar tu proyecto
- Compilar, depurar y empaquetar tu juego
- Examinar el rendimiento de tu juego con los generadores de perfiles de sistema, de CPU y de memoria
- Inspeccionar el contenido del paquete o paquete de aplicación de tu juego
- Integrar funciones adicionales del SDK y el NDK de Android
El Android Graphics Inspector puede caracterizar el rendimiento de renderización de tu juego y ayudarte a investigar los detalles de los fotogramas renderizados mediante el perfilado de fotogramas.
Si usas principalmente Microsoft Visual Studio, puedes usar la Android Game Development Extension (AGDE) a fin de agregar un destino de Android a proyectos existentes. AGDE admite la depuración nativa en Visual Studio e incluye versiones independientes de muchas de las herramientas de generación de perfiles de Android Studio.
Cómo crear una actividad
Tu juego debe crear una Activity
e interactuar con ella. Obtén información sobre el ciclo de vida de la actividad en Android para comprender cuándo se crea, inicia, reanuda, pausa, detiene y destruye una actividad.
Lee acerca de la biblioteca de GameActivity
, que integra y satisface las necesidades relacionadas con Activity
(ventana del juego, ciclo de vida, renderización, eventos de control) de los motores de juegos en C o C++ nativo.
Cómo dibujar en la pantalla
Tu juego debe dibujar objetos en la pantalla. Obtén información sobre la SurfaceView
de Android y la configuración de gráficos en tu motor de juego.
Los dispositivos Android admiten diferentes frecuencias de actualización de pantalla. Obtén más información sobre la renderización en bucles de juego a fin de evitar la disminución de fotogramas y fallas de búfer de fotogramas.
Descubre cómo aumentar el ritmo de fotogramas para obtener una renderización fluida en OpenGL y Vulkan. Optimiza la velocidad de tus fotogramas con Performance Tuner.
Usa el suavizado de contorno en varias muestras (MSAA) para mejorar la calidad de tu renderización. MSAA se puede usar con muy poca sobrecarga. Para obtener más información, consulta la entrada de blog Antisuavizado de muestras múltiples para casi gratis, en hardware de renderización basada en tarjetas.
Cómo procesar eventos de entrada
Un motor de juego recibe eventos de entrada de una variedad de fuentes. A fin de lograr una experiencia de juego envolvente, obtén información para admitir diferentes fuentes de entrada de Android:
Audio de salida
Tu motor de juego necesita emitir audio en diferentes dispositivos y versiones de Android. Obtén información sobre Oboe, nuestra biblioteca de audio en C++ de código abierto para incorporar audio de alto rendimiento en tu juego.
Usa Oboe a fin de lograr la latencia más baja, evitar errores de audio específicos y seleccionar automáticamente la mejor biblioteca nativa disponible (como AAudio u OpenSL ES).
Cómo administrar la memoria
En dispositivos Android, el sistema intenta usar tanta memoria del sistema (RAM) como sea posible y realiza varias optimizaciones de memoria a efectos de liberar espacio cuando resulta necesario. Obtén información para administrar el uso de memoria a fin de evitar demoras o la salida del juego.
Cómo probar y pulir
Una app para Android falla cada vez que se produce una salida inesperada a causa de una señal o excepción no controlada. Obtén información para detectar y diagnosticar fallas; leer seguimientos de pila, excepciones de red y memoria; usar logcat y comprender los errores específicos de Java y Kotlin.
Cómo publicar en Google Play
Los jugadores descargan tu juego con varios dispositivos Android en diferentes países, condiciones de red y planes de datos. Obtén información sobre cómo usar Google Play para entregar paquetes de aplicaciones y recursos para juegos grandes con los beneficios de una red de distribución de contenidos.