Acerca del motor de juego Unity: Sí, no está optimizado como otros motores de juegos, pero de nuevo depende y evoluciona continuamente y mejora y mejora, pero necesitas optimizar tus juegos para dispositivos Android porque hay toneladas de fabricantes de Android y varias GPU. Es necesario aplicar varias compresiones de textura . Culpar a la unidad o cualquier motor de juego por ese motivo no te ayudará. He estado usando unity durante 5 años, hemos desarrollado y portado varios juegos en unity para la versión de Android 2.1 a la última, están funcionando muy bien.
Inicio del desarrollo de juegos para Android C ++ Un libro para su referencia.
Sí, necesita aprender OpenGL Introducción a OpenGL para programadores de juegos
- ¿De qué manera es más difícil desarrollar y programar en Android en comparación con los dispositivos iOS?
- ¿Debería nuestra interfaz de aplicación móvil seguir las pautas de diseño de la interfaz de usuario de iOS y Android?
- ¿Debería Google reescribir Android para usar una máquina virtual C ++ llvm tipo en lugar de Dalvik y también reemplazar la pila Java con una pila C ++ nativa para resolver algunos de los problemas de latencia, retraso y distensión, especialmente para el desarrollo de juegos?
- ¿Cuáles son algunas de las mejores aplicaciones de Android de código abierto?
- ¿Qué debo aprender primero, desarrollo de Android o algoritmos?
Si eres un programador de aplicaciones de Android que está pensando en ingresar al desarrollo de juegos, es probable que estés planeando escribir código en Java. Si eres un veterano de desarrollo de juegos que está pensando en traer juegos a Android, es probable que prefieras hacer todo en C ++.
El código nativo es el camino a seguir si su juego necesita ejecutarse lo más rápido posible. Acabamos de lanzar la cuarta revisión de nuestro Native Development Kit para Android, e incluye una serie de mejoras que son particularmente útiles para los desarrolladores de juegos. Con el NDK, puede compilar su código en una biblioteca compartida, envolverlo en un delgado shell de Java para administrar los eventos de entrada y ciclo de vida, y hacer todo el trabajo pesado en C ++ con las API regulares de OpenGL ES. A partir de la Revisión 4, también puede dibujar directamente en los búferes de píxeles de mapa de bits de Java a partir del código nativo, que debería ser más rápido que cargar mapas de bits, ya que GL texturiza cada cuadro para los juegos 2D que desean hacer su propia composición de escena. La revisión 4 también (¡finalmente!) Incluye soporte de gdb para depurar su código nativo en el dispositivo.
Debe saber que cuando usa el NDK, no tiene acceso a las API de Android Framework. No hay forma, por ejemplo, de reproducir audio desde C ++ (aunque anunciamos en Google I / O nuestra intención de admitir OpenSL ES en el futuro). Algunos desarrolladores usan la API AudioTrack para compartir un búfer directo con código nativo que mezcla y genera una transmisión PCM sobre la marcha, y muchos llaman desde C ++ a la interfaz de Java SoundPool. Solo tenga en cuenta que para este tipo de trabajo, se requiere un salto a través de JNI al código Java.
Revisa las siguientes estadísticas:
Esta imagen muestra el SDK más común instalado en los teléfonos y tabletas Android utilizados por los usuarios del AppKrain SDK a partir del 19 de enero de 2016.
Muestra claramente que su rango de dispositivos objetivo (dispositivos de gama baja suponiendo que los dispositivos de gama baja se ejecutan en versiones anteriores de Android) en el mundo es solo del 7% hasta la fecha. Por lo tanto, no veo su idea de cambiar de motores de juegos como Unity, Unreal y frameworks de juegos como Cocosx rentable de todos modos.
Las siguientes cosas que necesitará para comenzar son:
- Fluido en C ++. La mayor parte del desarrollo de juegos (para PC y consolas de videojuegos) se realiza actualmente en C ++, por lo que será mejor que se sienta cómodo con el lenguaje. Conocer la sintaxis y compilar “Hola mundo” no es lo suficientemente bueno. Una clase en la universidad tampoco va a ser suficiente. Sugiero ir a los libros de inmediato.
- Álgebra lineal 3D básica. Como programador de nivel básico, lo más probable es que al principio trabajes mucho en código de juego de alto nivel. Para hacer las cosas de manera efectiva, necesitará una buena comprensión de los fundamentos del álgebra lineal 3D.
- Asegúrese de conocer sus productos de punto y cruz, cómo calcularlos, pero, lo más importante, qué representan y cuándo debe usarlos. Debería sentirse cómodo con los sistemas de coordenadas relativas y las matrices como transformadas (no me importa si conoce la fórmula para una matriz de rotación, solo que sepa cómo usarla).
- Calcular si un objeto en el mundo está dentro de una cierta distancia del jugador, y dentro de un cierto ángulo de su dirección de puntería, debe estar cerca de la segunda naturaleza.
- Revise sus libros de álgebra lineal de la universidad o busque en Google ” Matemáticas para programación de juegos en 3D y gráficos por computadora ”
¡Eso es! Eso es todo lo que realmente necesitas para comenzar. Si está leyendo esto en línea, supondré que también tiene una computadora buena y rápida, un módem y alguna forma de comunicación en línea. Espero que esta respuesta te ayude. Por supuesto, hay otro elemento que no he discutido, y es el talento. Tienes que ser un buen programador, con habilidades creativas para resolver problemas. Supongo que crees que tienes eso, porque de lo contrario aún no estarías leyendo.
# HBK Dice: “¡La mejor de las suertes y comienza a codificar la aventura hoy!