¿Puedo desarrollar un juego de Android con un dispositivo Android?

Android en Android en modo nativo, es decir, usando Java, que yo sepa, es imposible.

Puede desarrollar en Windows / linux / ios para Android y esto puede ser lento.

Normalmente uso Android Studio, que actualmente es el IDE de referencia para Android lanzado por Google y se basa en la versión comunitaria de Intellij Idea, y utilizo el simulador de Android integrado que ejecuta una versión x86 de Android.

El desarrollo de Android se basa en un compilador cruzado, es decir, como la mayoría de los dispositivos de destino utilizan un procesador diferente de la computadora de desarrollo (que normalmente es una computadora de escritorio o portátil con un procesador x86 / 64), es un compilador escrito para un procesador Intel que genera código para (normalmente) un procesador ARM.

Hace algunos años, la simulación de los procesadores ARM era pobre y esto empujó a ejecutar su dispositivo de destino, pero esto fue lento. Además, fue difícil hacerlo en movimiento, ya que necesita conectar dispositivos, encenderlos y conectarlos a través de un enrutador wifi.

Ahora que la versión x86 de Android está disponible, su simulación es sencilla.

AndroidStudio utiliza una máquina virtual basada en qemu con Android x86 y créanme que la experiencia de desarrollo mejoró mucho. Supongo que no tiene sentido trabajar en un dispositivo de destino real hasta una etapa de desarrollo muy tardía.

Sí tu puedes. Te sugiero que uses Unity, ya que hará que el juego funcione en Android, iOS y Web. Pero la desventaja será que Unity no estará perfectamente optimizado para cada plataforma. Cuando hice un juego con Unity, noté que se carga más rápido en iOS que en Android. Pero esto fue hace 2 años. Posiblemente, han mejorado ahora. Yo diría que le des una oportunidad a Unity.

Necesitaría una computadora para realizar la programación real, pero podría usar un dispositivo Android para probar su aplicación.