¿Desarrollar un juego de Android te enseña mucho sobre el desarrollo general de aplicaciones de Android?

Para ser sincero, principalmente No, con un poco de sí.

Cuando los desarrolladores de juegos en desarrollo no tienden a intentar crearlos de forma nativa en la plataforma utilizando los SDK estándar, tienden a utilizar sistemas multiplataforma como Marmalade, Unity o Cocos2d.

La razón de esto es generalmente porque su objetivo final no es lanzar en una sola plataforma, sino en la mayor cantidad posible. Para hacer esto, generalmente no creas juegos nativos, ya que no son fáciles de transportar (por ejemplo, intenta portar SpriteKit a Android).

Entonces, como es muy probable que esté utilizando un marco de desarrollo multiplataforma, lo más probable es que también esté utilizando un lenguaje de programación que también sea multiplataforma como C ++ a través del NDK de Android. Esto significará que no aprenderá ninguno de los SDK de Java ni trabajará con código nuevo por completo.

Para desarrollar interfaces de usuario multiplataforma, tampoco puede confiar en crear elementos de interfaz de usuario nativos. En su lugar, creará un botón utilizando la interfaz de interfaz de usuario de SDK que a su vez creará la variante nativa para usted en cada plataforma (o generará un elemento totalmente personalizado).

El desarrollo multiplataforma no mejorará su conocimiento de la plataforma Android desde una perspectiva genérica, pero puede aumentar su conocimiento de cómo funciona la capa de hardware, como cómo se representan las texturas de imagen para el rendimiento; cómo funciona la tecnología bluetooth en el dispositivo y las capas de comunicación de red.

También puede obtener algún conocimiento adicional, si integra funciones como Google Play Services, ya que algunos de los sistemas multiplataforma pueden requerir que agregue ciertas características de forma nativa utilizando una forma de desarrollo de Módulo (Xamarin hace esto mucho).

Si me preguntas, diría que estás tratando de hacerte con dos cosas diferentes. La ideología, el funcionamiento y la implementación de ideas para aplicaciones y juegos son diferentes. Por lo tanto, definitivamente obtendrá un control sobre el proceso de desarrollo, pero el trabajo requerido para las aplicaciones y los juegos es diferente.

Los juegos te hacen trabajar con motores, que las aplicaciones no requieren. Además, los juegos están destinados a proporcionar entretenimiento, las aplicaciones no tienen por qué ser así. Las aplicaciones son muy específicas para cada función y se sirven mejor crujientes.

Por lo tanto, mientras trabaja en juegos, le dará la habilidad y la confianza para las aplicaciones, si desea crear aplicaciones, comenzar con juegos es una mala idea

Si escribe un juego, probablemente pasará la mayor parte de su tiempo en el motor y los gráficos, lo que probablemente no tenga mucho que ver con Android en particular. Diría que su conocimiento existente es más relevante para el desarrollo general de aplicaciones de Android.

Su experiencia actual lo remite más al desarrollo general de aplicaciones, ya que en el desarrollo de aplicaciones de juegos tiene rivales más fuertes y sus tecnicismos son más en el paso de diseño e infraestructura. Lo que más te enseñará depende de la idea y la tecnicidad del juego y la aplicación general para que cualquiera pueda superarlo en este punto. Si estás listo para trabajar con la idea del juego, compártela con Most Innovative Games Studio. Realmente te ayudarían mucho.

Por supuesto que sí. Conocer los conceptos básicos y la sintaxis es algo que puede aprender de los libros. Pero reunir esos componentes y hacer que funcionen es lo que separa a los que realmente saben cómo codificar. Si encuentra que su aplicación es única de alguna manera, también podría probar suerte publicandola. Buena suerte