Para ser lo suficientemente bueno como para codificar un juego liberable multiplataforma solo desde cero para ambas plataformas, de 1 a 3 años, a menos que ya conozca OpenGL y la programación de audio.
Sí, es posible usar C ++. Si usa OpenGL para la interfaz de usuario de su juego, puede escribir el 95% de su juego en C / C ++, luego crear un pequeño código de pegamento en ObjC o Java. C es un poco más fácil de tratar que C ++, pero cualquiera es posible. En iOS, la cadena de herramientas convierte ObjC a C antes de compilar, por lo que hay enlaces C para todo en iOS. En Android, usará el NDK de Android para crear binarios nativos. (También puedes apuntar a Windows Phone, Blackberry 10, Roku y muchas otras plataformas de juego usando este método).
Android e iOS tienen libc parcial y muchas bibliotecas POSIX, por lo que incluso puedes escribir cosas como tus rutinas de archivos y redes en C / C ++ multiplataforma.
- ¿Cuál es una alternativa para las pruebas de Calabash / Cucumber para aplicaciones iOS?
- ¿Qué debo hacer si prefiero Android, pero también amo la velocidad del iPhone 7 y mis amigos tienen iOS?
- El iOS en mi iPhone 4s no funciona correctamente, ¿cómo se puede solucionar? He probado el software en el enlace que proporcioné a continuación y todavía no funciona.
- ¿Cuáles son las aplicaciones de llamadas gratuitas para iOS?
- ¿Cuál es la mejor aplicación de noticias que has visto en iOS?
Sin embargo, si está haciendo esto por algo más que un ejercicio de aprendizaje, le sugiero que use un motor de juegos 3D multiplataforma, especialmente teniendo en cuenta que es un equipo de un solo hombre. Unity es el más popular, y lo programa en C #, que no está tan lejos de Java como ya conoce. Es comercial ($), pero gratis para uso no comercial. Gameplay3D es un motor de juegos 3D multiplataforma gratuito financiado por Blackberry. También puedes mirar Cocos2D-x, que es gratis. Es 2D (aunque creo que puedes usar vistas OpenGL) y tiene muchas API multiplataforma que facilitarían el desarrollo.
La única cosa que necesitará soportar que es muy difícil de hacer multiplataforma es el audio de baja latencia. No tengo ninguna experiencia personal con él, pero Cricket Audio es una solución de código abierto de bajo costo.