Android como plataforma completa es más difícil de programar y depurar. Principalmente debido a la diversidad de dispositivos.
Esta es una decisión arquitectónica de sistemas de fondos que tiene impactos obvios de comercialización sobre qué tan bien puede escalar la plataforma.
Android es en realidad una plataforma mucho más abierta que PC-Windows. En realidad significativamente más abierto final.
Microsoft Windows en el hardware de la PC tendrá un proceso reglamentado para establecer controladores bien definidos y capas de API en DLL y capas HAL. Mientras que Android es completamente de código abierto y cualquiera puede desarrollar un conjunto de chips de hardware IC que se comporten a su manera con sus propios controladores con sus propias API.
- ¿Cómo definirías los grupos objetivo de jugadores?
- ¿Un RPG necesita exploración para ser llamado RPG?
- ¿Qué tan atrás están los juegos de teléfonos inteligentes en comparación con los juegos de PC?
- Acabo de arreglar mi PC. ¿Cuáles son algunos buenos juegos de vapor?
- Cómo instalar sombreadores en Minecraft
Por lo tanto, programar un juego AAA en Android se vuelve cada vez más difícil. Por muchas razones:
- No todos los dispositivos Android tienen la misma especificación de RAM mínima.
- No todos los dispositivos Android tienen la misma especificación de Hz y flops mínimos.
- Todos los dispositivos Android no implementan las mismas API y pueden fallar ocasionalmente.
Los desarrolladores de juegos AAA en PC, consola y otras plataformas tienen una interfaz de aceleración / controlador / API seleccionada para el hardware estandarizado.
Mientras que, como una plataforma no comisariada, menos regulada, todo vale tiene una desventaja de invitar a los equipos de desarrollo de AAA.
Principalmente por las expectativas del consumidor.
Las siguientes son las expectativas del consumidor:
- Elegí este dispositivo de bajo costo para el uso diario. ¡Funciona bien para mí! ¡Es una buena decisión! Espero que funcione bien para la mayoría de las aplicaciones.
- Espero que un producto bien diseñado funcione en la mayoría de los dispositivos disponibles para esa plataforma.
- Debería ser gratis.
Para el ítem # 1, eso es simplemente un sesgo de selección cognitiva.
Para el ítem # 2, esa es una vista histórica de lo que deberían ser los buenos productos lanzados anteriormente.
Para el ítem # 3, bueno, esa es la mentalidad de software libre de GNU que Google ha pervertido en nuestra era.
Pero el arte nunca ha sido gratis, o siempre vale la pena pagar por el buen arte.
Los juegos son arte y requieren un equipo de personas apasionadas para diseñar, construir y mantener.
Si la diversidad de dispositivos es un factor de diseño, construcción y mantenimiento, y el arte no es gratuito, estas cosas requieren alimentos para mantener a estas personas apasionadas. Y la comida se compra con dinero, y el dinero es un tipo de poder de voto. Un poder para decir, “¡esto es increíble! ¡Más de esto por favor!
Ahora … si el costo de soportar una diversidad de dispositivos es significativamente mayor que el dinero que se puede generar, entonces eso se convierte en un desincentivo para aventurarse en tales negocios. Y por lo tanto, se convierte en una propuesta menos favorable para los artistas que entienden la necesidad de comida.
Entonces … la decisión arquitectónica de adoptar una plataforma significativamente abierta donde cualquiera pueda crear circuitos integrados que abran API a una variedad de especificaciones de hardware, pero no estén unificadas, crea un problema de costo de entrada para desarrolladores sorprendentes.
Entonces, si bien todo este increíble hardware está disponible para Android, ¿por qué los desarrolladores no están reuniéndose para construir juegos AAA para ellos? Bueno, es porque algunos arquitectos de sistemas en la capa más ejecutiva del proyecto de Android decidieron: “¡las plataformas infinitamente abiertas son el camino a seguir!”
Ahora tenemos varios años de métricas históricas para respaldar esta decisión, obviamente tiene impactos en la adopción del mercado.
Esto continuará hasta que haya un cierto nivel de control para crear un marco de programación y un proceso de validación / certificación de hardware para dispositivos Android.