Esta es una publicación que detalla mi búsqueda de la forma más divertida para que un programador de juegos de aficionados pueda endulzar su tiempo libre haciendo un juego.
Mis requisitos: primero miré a Flash, hice un par de juegos pequeños pero dudo del rendimiento. Me gustaría hacer un juego de estrategia bastante grande, con varios cientos de unidades luchando simultáneamente, explosiones y animaciones incluidas. También mapas con zoom. Vi que Adobe tiene una nueva API 3D para Flash, pero no sé si eso también mejora el rendimiento 2D, no pude encontrar nada relacionado con esa pregunta en sus sesiones MAX10. ¿Diría que Flash es una buena tecnología para hacer juegos 2D grandes fácilmente? Realmente me gusta Actionscript, y me encanta lo fácil que es todo en Flash. Hay varios motores disponibles que lo hacen aún más fácil.
Solo hago esto por diversión, y sería aún mejor si hubiera editores de animación / partículas adecuados disponibles y si el motor que tuviera que usar estuviera disponible para múltiples plataformas. (para que más personas puedan jugar mi juego una vez terminado). También me gustaría tenerlo disponible en muchas plataformas móviles. (porque me encanta la entrada táctil por alguna razón)
Conozco bastante bien el marco XNA, pero no hay buenos motores disponibles para él, y solo se ejecutará en Windows, lo cual es un gran apagón. Aún más grande es que necesitas instalar el XNA redistribuible cada vez que quieras darle el juego a alguien. Si uso XNA, tendría que hacer todas las herramientas yo mismo, y probablemente tendría que hacerlo con WPF. (Me encantaría crear herramientas con Adobe AIR, pero desafortunadamente las API para la manipulación de imágenes, etc. son mucho peores en Flash que en XNA / WPF). Ahora, soy consciente de que podría hacer mi propio motor que admite cada una de esas plataformas, pero, francamente, sería demasiado trabajo a través de las API. Después de todo, quiero hacer un juego, no un motor.
Entonces, la pregunta es: ¿ Tal vez haya un motor multiplataforma (libre o de desarrollo gratuito) disponible que pueda usar para el desarrollo 2D? Prefiero: C #, Actionscript. No me importa usar c ++ si el conjunto de herramientas está por encima del promedio, pero dudo mucho que haya algo así por ahí. Por favor demuestre que estoy equivocado :) Así que resumen: me gustaría usar Flash, pero no sé si escala lo suficientemente bien. No soy un scripter, quiero algunas API reales con las que pueda trabajar dentro de un IDE adecuado.
Solo para información, miré varias alternativas, en realidad ya estoy buscando mucho tiempo. Me ayudarías mucho para tomar una decisión finalmente.
En cuanto a las características, el motor Flatredball sería ideal. Pero probé sus herramientas y, francamente, son horribles. Absolutamente inutilizable, necesitaría hacer la mía con seguridad. No miré su API, pero si sus herramientas son tan malas, no me inclino a buscar más.
Unidad3D. Este es bastante bueno, pero realmente no necesito 3D , y es bastante ... mucho trabajo para aprender. Tampoco me gusta que sea tan costoso de usar para diferentes plataformas y que solo pueda codificarlo mediante scripts. Tienes que comprar cada plataforma por separado. La usabilidad del editor es promedio, el producto en general es lo suficientemente bueno para la mayoría de los propósitos, pero aprenderlo yo mismo sería excesivo.
Shiva 3D. Se ve lo suficientemente bien, pero de nuevo: realmente no necesito 3D. La usabilidad del editor es un poco peor que Unity3D en mi opinión y no tenía claro cómo comenzar a programar. Creo que requiere C ++ para la codificación, por lo que también es negativo. Quiero divertirme, y c # es divertido;)
SDL Francamente, todavía necesitaría portar a todas esas diferentes implementaciones de SDL. Y no me gusta la programación de estilo OpenGL, es simplemente fea. Y necesita c ++, sé que puede haber algunos envoltorios disponibles, pero no me gusta usar envoltorios, porque ...
Irrlicht. Muchas funciones, pero el soporte parece ser bajo y está dirigido a entusiastas. Los enlaces de C # se caen repetidamente. No soy un entusiasta de los motores, solo quiero hacer un juego. No veo que esto suceda con Irrlicht.
Ogre3D. Demasiado trabajo, es solo un motor gráfico. Tampoco hay soporte para múltiples plataformas y c ++.
Torque2D. Cuesta algo para usar, y no escuché muchas cosas buenas sobre soporte y documentación. También cuesta extra por cada plataforma.
fuente
Respuestas:
Pygame es, con mucho, mi favorito. Dado que programar en python significa que programarás rápido y que las cosas en 2D son rápidas de hacer, pygame será divertido ...
fuente
He estado usando LÖVE por algún tiempo y me gusta mucho. Tendría que aprender Lua, pero de todos modos es un pequeño idioma divertido de aprender. Las personas en el foro son extremadamente útiles.
fuente
love .
Decidí ir con Flash. La nueva API Molehill 3D también se puede utilizar para dibujar sprites 2D en el espacio 3D mucho más rápido. No veo ninguna razón por la cual Flash no debería ser lo suficientemente rápido para el juego que describí anteriormente. Tendré que construir las herramientas yo mismo, pero probablemente habría necesitado hacerlo de todos modos. Usar AIR para construir herramientas también es bastante bueno en mi opinión. Flash también tiene el mayor alcance con plataformas, lo cual es genial.
fuente
Prueba SFML
fuente
Prueba Cocos2d-x . Es lo que estoy usando para mi desarrollo de juegos independientes.
Es una plataforma OpenGL (ES) probada y verdadera que tiene sonido, física e incluso un poco de 3D que ha estado disponible para el iPhone por un tiempo, y está llegando a otras plataformas.
fuente
Como dijiste que te gusta Actionscript pero que buscas multiplataforma, echa un vistazo a HaXe + NME . HaXe es un lenguaje similar a Actionscript, pero puede compilarse en Flash, Javascript, PHP o C ++. NME es una biblioteca similar a la biblioteca de gráficos de Flash, pero también se ejecuta en otras plataformas. Esta combinación le permite compilar en muchas plataformas diferentes.
Todavía no he usado NME, pero mi primera prueba con HaXe + Molehill (hace solo unos días) produjo 60 fps al renderizar 10,000 sprites rotativos 16x16 en mi computadora portátil. Solo he estado usando HaXe durante unos días y no tengo suficiente experiencia con él para asegurarme de que sea lo correcto para ti, pero vale la pena echarle un vistazo.
fuente
Personalmente soy un gran admirador de Allegro 5 , pero es una API de C. Aún así, es una API simple que se quita de tu camino y proporciona acceso a:
5.1 también agregará soporte de sombreador.
SDL 1.3 también se está formando bastante bien. Sam parece haber terminado de hacer los principales cambios de API, y lo que ya está dentro es bastante estable. Aún así ... aún no es beta, y se lanza Allegro 5.0.
De acuerdo, para juegos más complejos y avanzados, probablemente quieras emparejar Allegro 5 con algún tipo de biblioteca de física ( Box2D , por ejemplo). Aún así, puede llegar muy lejos y divertirse mucho, con nada más que Allegro 5, la biblioteca estándar C o C ++ y su propio código.
fuente