Cross Platform 2D Graphics Engines [cerrado]


57

Estoy buscando un motor de gráficos en 2D que me permita lanzarlo a Windows, Mac y iPhone, como lo hace Unity para 3D.

¿Existe un buen motor que haga esto y sea específico para 2D?


Si te sientes aventurero, siempre puedes ver uno de los juegos 2D de código abierto, como Aquaria, Gish y el resto del Humble Indie Bundle.
MarkovCh1

66
Olvidaste a Linux, ¿no hay amor por esos tipos?
Derek

Respuestas:


37

Siempre está el viejo modo de espera, SDL . Es de nivel bastante bajo, pero esa simplicidad es lo que le permite ser transportado a miles de millones de plataformas (incluidas Windows, Linux, Mac, Nintendo DS, Wii, etc.). Hay un puerto para iPhone , que no he usado, pero parece lo suficientemente maduro.


No parece que tengan una versión 1.3 "estable", que es la versión que querrá para el soporte de iPhone. Probablemente necesitará tomar la versión 1.3 de su repositorio de HG y construirla usted mismo.
Casey

22

Realmente no hay ninguna razón por la que no puedas usar Unity3D para crear juegos "2D". Puedes usar quads texturizados y una cámara ortográfica, y tienes un juego 2D. Incluso hay algunas soluciones únicas, como usar un sistema de animación esquelética y colocar sprites encima de diferentes articulaciones, o usar una cámara de perspectiva realmente ajustada para obtener paralaje barato.

Incluso hay proveedores de middleware para Unity para proporcionar mejores soluciones de gestión de sprites. Como el administrador de sprites 2 .


2
De hecho, he estado haciendo esto. Creo que el aspecto 3D de la unidad tiende a interferir en lo que respecta a la interfaz de usuario. También siempre termino haciendo una escena ficticia que no tiene nada más que una cámara con mi script raíz adjunto. ¡Veré el enlace que mencionaste!
Kevin Laity

20

SFML es un motor gráfico moderno, agradable, orientado a objetos, multiplataforma. Es acelerado por hardware (basado en OpenGL) y tiene enlaces para

  • C ++
  • C
  • .Net (C #, VB.Net, C ++ / CLI, ...)
  • Pitón
  • re
  • Rubí
  • Ocaml

44
+1 para SFML. Es genial, pero el único problema es la falta de un puerto de iPhone.
El pato comunista

12

SDL, Allegro, OpenGL
SDL y Allegro no son solo libs gráficas, sino libs de desarrollo de juegos completos.
Una desventaja de SDL es que se hace cargo de su main () y lo redefine, lo que dificulta su combinación con otras bibliotecas. (QT en mi experiencia)
Otra cosa mala es que SDL solo permite una ventana (esta es la versión estable 1.2, la versión de desarrollo 1.3 sí, pero aún no está totalmente soportada o documentada)
Puedo nombrar los puntos débiles de SDL porque lo sé mejor y trabajó con él, pero a pesar de eso, es muy poderoso, muchos emuladores, incluido un puerto de Mame y ScummVM, así como los juegos lo usan.
OpenGL, a pesar de su popular uso en 3D, es una biblioteca gráfica y, como tal, también permite gráficos 2D a través de la manipulación de superficies a nivel de píxel, y hace un uso extensivo de la aceleración de hardware tanto en 3D como en 2D.


Solía ​​crear juegos en Allegro todo el tiempo. Me encantó.
Tono

Sin embargo, Qt no se hace cargo de main, incluso con un bucle de eventos en QCoreApplication. Puede llamar a qApp-> processEvents en cualquier bucle que desee y Qt estará feliz.
Mircea Chirea

1
¿Sin embargo, SDL tiene que hacerse cargo de su ciclo principal? Pensé que podría evitar eso al no incluir SDLmain.h y tener cuidado de hacer las cosas usted mismo ...
Ricket

2
SDL no se hace cargo de su ciclo principal del juego. Por lo general, crea el suyo propio, y dentro de esa llamada SDL_PollEvent para obtener los eventos que SDL conoce (entrada de teclado, movimiento del mouse, etc.).
dcarrigg

6

Puedes mirar Troll2D

Box2D se usa para muchas plataformas. Incluyendo el iPhone. Pero tendrías que encontrar una manera de mostrar esos objetos. Dado que Box2D maneja solo la simulación física 2D.


Olafur: diría que Troll2D fue tu respuesta, así que deberías comenzar con eso. Box2d debería ser la idea de último momento.
Iain

5

LÖVE es un motor 2D que permite el desarrollo fácil y rápido de juegos en el idioma Lua .

Se ejecuta en Mac (PPC e Intel), Windows y Linux (32 y 64 bits) y los juegos se distribuyen fácilmente como archivos ".love" de un archivo que se ejecuta en todas las plataformas.

Básicamente son una versión comprimida de tu juego con la extensión zip renombrada como love .

Desafortunadamente, no hay puerto para iPhone (hasta ahora).


5

Cocos2D se originó en Mac / Windows en Python y está disponible en una versión de Objective-C en el iPhone . Es popular en el desarrollo de juegos 2D para iPhone. Ray Wenderlich tiene algunos excelentes tutoriales de Cocos2D para iPhone .

Debido a que se trasladaron de Python a Objective-C, sospecho que ya no podrá realizar una compilación cruzada entre todas las plataformas desde la misma base de código.


Correcto, hay muchos puertos cocos2d pero todos usan su propio lenguaje. Objective-C para iPhone, Java para Android, Javascript para Web, Python para la versión original de PC y C ++ para el nuevo puerto de Windows que puede o no ser compatible con Windows Mobile (no está claro al respecto). Aparte del nombre y la filosofía de diseño, no son intercambiables de ninguna manera.
LearnCocos2D

Creo que Cocos2d-x ahora es bastante estable y multiplataforma, con un solo lenguaje de implementación: C ++ (también incluye iPhone).
legends2k

4

Si no está preocupado por el iPhone, siempre hay Flash empaquetado como AIR: pierde el iPhone pero obtiene Linux y la implementación web. Luego puede elegir motores de juego / física / renderización que se adapten a su proyecto, por ejemplo. FlashPunk, Flixel, Box2d.


También obtendrá soporte para teléfonos Android (al menos los más nuevos), y probablemente soporte para Palm / Blackberry / Windows Mobile también en el futuro.
davr

iOS ahora es compatible mientras que Linux no.
Danik

4

Podrías probar el Angel Engine . Está basado en C ++, OpenGL, Box2D, y utiliza Python para las secuencias de comandos. Es principalmente para la creación de prototipos, pero las versiones recientes parecen centrarse en hacer juegos completos.


3

torque2D es compatible con PC y mac de fábrica . ITorque2D admite la implementación en el iphone. También es posible obtener la implementación de la consola.


2

PlayN es compatible con HTML5, Android, iOS, Flash y Java de escritorio.

Escribe su código en Java y maneja la conversión de su código Java a JavaScript (a través de GWT) para HTML, a ensamblaje ARM (a través de IKVM para ir de código de bytes Java a código de bytes CLR, luego MonoTouch para compilar código de bytes CLR a una aplicación nativa de iOS), a ActionScript a través de un backend GWT personalizado que genera ActionScript en lugar de JavaScript, y a Android y Java de escritorio sin conversiones.


2

Moai SDK es un marco que puede ejecutarse * en estas plataformas. Es de código abierto, así que echa un vistazo a su repositorio de Github .

Moai también se puede publicar en Google Chrome y Android.

* No creo que la publicación sea para Mac o Windows (es decir, para .app o .exe) está disponible en este momento, pero se puede agregar.


1

Haxe + NME es compatible con HTML5, Flash, Android, iOS, Blackberry, Windows, Mac, Linux, WebOS. Admite gráficos 2D (sprites de mapa de bits, dibujo vectorial, además de efectos como sombra paralela y desenfoque).


0

Últimamente he escuchado mucho sobre MonoTouch para las personas que realizan el desarrollo de iPhone y iPod touch. El Framework está en la parte superior de Mono, que ya es compatible con varias plataformas.


Lástima que esto viole el acuerdo de la tienda iTunes, ya que está escribiendo algo que no es C / C ++ / ObjC y está utilizando una capa de traducción. Es posible que aún lo aprueben, pero podrían atraerlo en el futuro. Personalmente no lo arriesgaría.
davr

@davr monotouch no viola los términos del acuerdo a partir de hace> 1 año.
dodgy_coder 05 de

@dodgy_coder Sí, recuerdo cuando Apple finalmente eliminó esas reglas retrasadas (que estaban destinadas únicamente a dañar a Adobe, creo). Mi comentario original era cierto en el momento en que lo
publiqué

-1

Unity3d es el mejor motor y herramientas de desarrollo de juegos 2D. alternativamente monogame. html5 y flash no son apropiados para este tema. Flash ya está muerto.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.