windows - online - Motores de desarrollo de juegos 2D multiplataforma
tag files and folders (9)
Trabajé durante algún tiempo con Corona SDK y amo lo rápido y fácil que puedo crear aplicaciones potentes usando Lua. Pero solo puede compilar para iOS y Android, que ahora parece demasiado poco.
Mi principal interés es poder compilar en Desktop AND Mobile. Al menos para lo siguiente:
- Windows + Mac para escritorio, como aplicaciones independientes.
- iOS + Android para dispositivos móviles.
Prefiero que se incline más hacia las secuencias de comandos tipo Lua en lugar de a ActionScript, pero no dude en publicar todo lo que haya trabajado y amado.
Hasta ahora he encontrado los siguientes motores:
- Marmalade Quick - ¡Después de analizarlo más, Marmalade Quick solo puede crear para dispositivos móviles!
- IwGame : Funciona por encima de la mermelada y dice que puede implementarse en computadoras de escritorio y dispositivos móviles con Lua. Cualquier información es muy apreciada en este
- sio2 : Dice que "SIO2 es un motor de juego en 2D y 3D multiplataforma basado en OpenGLES para iOS, Android, MacOS y Windows" y "El motor también le permite portar su juego en la Mac Store y en Windows", pero su foro y el título web es "Game Engine para dispositivos móviles". No se puede encontrar información sobre si se puede implementar en plataformas de escritorio, cualquier información es muy apreciada nuevamente.
- Loom Engine - Loom es similar a Haxe + OpenFL (intenta atraer a los desarrolladores de Flash) ya que usa AS3-like de ECMAScript, pero no crea código nativo a partir de él. Sin embargo, utiliza Cocos2D para el procesamiento, por lo que en teoría debería ser tan rápido como Cocos2D. - Gracias a Bojan.
- SDL : he leído en varios lugares que SDL puede implementar en casi cualquier plataforma o dispositivo y tiene un enlace Lua. Pero no puedo encontrar cómo funciona esto, ya que no es un motor. Cualquiera que pueda explicar cómo funciona y si es posible es una vez más, muy apreciado.
- SFML - "Windows, Linux, Mac OS X y pronto Android e iOS." No usa Lua pero puede usar otros lenguajes como Java y Python, etc. ¿Alguien tiene información sobre esto?
- Torgue2D : "Torque 2D se desarrolló con los dispositivos OS X, Windows y iOS en mente y funciona igual de bien en todas las plataformas". usa TorgueScript y no Android = (
- Sencha : parece compilar para todas las plataformas, también usa Javascript, que yo sé. Pero incluso con V8 JS, ¿funcionaría bien en cuanto a rendimiento en comparación con otras opciones?
- GameMaker : el lenguaje de scripting propio GML y yo realmente recordamos este como una herramienta para los no programadores. ¿Realmente se ha convertido en un motor real, me refiero a un desarrollo serio?
- Construct2 - La misma pregunta que gamemaker
- Corona - Lua pero solo móvil (Android e iOS solo también)
- Cocos2D : parece que tiene muchas opciones pero no está seguro con el mismo idioma. Parece que tendrías que volver a escribir todo tu código. Cualquier información que pueda cocos2D para implementar en desktop + mobile con casi el mismo código sería muy apreciada.
- Angel2D : ¿Dice que se puede implementar en todo excepto en Android y usa Lua, cualquiera que haya usado este antes?
- libgdx --- Solo he visto cosas buenas sobre esto. Aquí hay una prueba de referencia para libgdx y es donde lo vi llegar a 40k sprites a 60 fps. http://www.sparkrift.com/2012/1/love2d-vs-allegro-vs-clanlib-vs-libgdx-vs-cocos2d-x-vs-monogame-vs-xna-vs-sfml . Parece que libgdx apenas supera los 30k en realidad. Pero aún parece increíble. Esto está en el mismo nivel que Qt para mí, casi perfecto, excepto que no estoy realmente preocupado por el rendimiento en él. libgdx puede construir prácticamente todo.
- XNA + MonoGame --- El rendimiento de MonoGame parece solo un poco más bajo que libgdx, puede compilarse para la mayoría de las plataformas. Sin embargo, no sé mucho sobre XNA y escuché que no recibirá actualizaciones futuras, ¿pero es bastante estable? Más información es bienvenida.
- Citrus --- No tengo mucha información sobre Citrus tampoco. Motor de juegos AS3 que puede construir para iOS, Android, Windows, Mac y más.
- Haxe + OpenFL --- OpenFL (Haxe) se compila de forma nativa en muchas plataformas, no solo en Flash. Windows, Mac, Linux y Android obtienen implementación nativa opcional o tiempo de ejecución OpenFL llamado Neko, que en teoría es más rápido que Flash, y SDL 2.0 permitirá el despliegue de iOS pronto (ish). - Gracias a Bojan.
- Qt-Project --- Al vincular el proyecto de Qt aquí, puede construir para todo y tiene una comunidad bastante grande con muchas bibliotecas de terceros para ayudarlo aún más.
- Moai --- El único motor de Lua que sé que puede construir para computadora de escritorio y móvil. El único inconveniente es que la comunidad no es tan grande y la documentación no es la mejor. Pero si puedes superarlos, esta es una gran solución y la que estoy usando actualmente.
- Adobe --- No se puede olvidar agregar Adobe aquí ya que puede compilar todo lo que sea compatible con Flash.
- Unity3D --- La integración 2D anunciada recientemente parece muy prometedora, debería lanzarse entre el tercer y el cuarto trimestre de 2013.
- Cocos2D --- Un motor de código abierto. Admite plataformas JS, Lua, C ++ y múltiples.
Html5 --- Parece que hay mucho énfasis en las aplicaciones móviles html5, estas son solo algunas de las herramientas que encontré que pueden ayudarlo a portar su proyecto html5 a una plataforma:
Por lo tanto, me encantaría que pudieras comentar tus experiencias con cualquier motor y sugerir cuál recomendarías. ¡Gracias por tu ayuda!
EDITAR: Como este tema se está volviendo popular, agregaré otras opciones que he encontrado a lo largo del tiempo. Le sugiero que elija lo que le resulte más familiar y lo mejor para sus necesidades de proyecto.
¿Qué hay de HaxeFlixel ? Tenemos una gran selección de demos y, por supuesto, apoyamos el desarrollo multiplataforma a través de Haxe + OpenFL. Este es un proyecto de código abierto alojado en GitHub . Admitimos todas las plataformas principales (incluido iOS).
Aquí está mi framework de juegos Oxygine . Es un framework de código abierto 2D C ++ acelerado por hardware para plataformas móviles y PC. Características: OpenGL (ES) 2, texturas comprimidas, atlas, animaciones / tweens / sprites complejos, gráfico de escena, fuentes, manejo de eventos, herramientas de compilación y otros. Se puede construir sobre SDL2 o Marmalade SDK.
En la base del motor hay un gráfico de escena, que es similar a Flash uno. Para ser breve, puede llamar esto como Flash para C ++, pero más cómodo y mucho más rápido. Inicialmente fue desarrollado para plataformas móviles (iOS, Android), pero también se puede usar para juegos de PC.
No mencionamos el Kit de Juego de Aplicación (AGK) aquí, así que déjame llenar el espacio. Es principalmente un SDK multiplataforma 2D que le permite codificar una vez en C ++ o en su propio lenguaje "Básico". La versión 2 acaba de obtener más del 400% de financiación en Kickstarter y contará con soporte completo en 3D, soporte para Spine (para personajes animados en 2D), física de balas y muchas otras características nuevas.
Ya tiene Facebook, Twitter, un montón de comandos del sensor Ultrabook, Box2D y más. Lo he estado usando desde el principio y me encanta (¿puedes decirlo?). No, no trabajo para The Game Creators (la compañía que lo creó) aunque admito que lo hice durante un tiempo haciendo algunas aplicaciones.
Una de las mejores características desde mi punto de vista es que puedes desarrollar en Windows y transmitir desde el IDE a través de Wi-Fi a cualquier dispositivo compatible, así que mientras estoy codificando puedo (en segundos) probar mi código en iPad, Android, Windows, Mac o Blackberry Playbook.
Recomendaría V-Play (v-play.net): es un motor de juego multiplataforma basado en Qt para iOS, Android, Symbian, MeeGo, Blackberry10 y también puede exportar para aplicaciones nativas de escritorio para Windows, Mac y Linux.
Se basa en C ++, pero tiene un buen soporte de scripting para QML y JavaScript . QML es fácil de aprender y puede aumentar su productividad ya que se necesita menos código; basta con ver la comparación con cocos2d-x (60% menos Loc) o Corona (15% menos LoC) para una comparación de los mismos juegos.
(Descargo de responsabilidad: soy uno de los chicos detrás de V-Play)
Si te Kivy Python, Kivy es una gran solución en estos días. Se compila en todas las plataformas que solicite:
Kivy se está ejecutando en Linux, Windows, MacOSX, Android e IOS. Puede ejecutar el mismo código en todas las plataformas compatibles. Puede usar nativamente la mayoría de las entradas de protocolos y dispositivos como WM_Touch, WM_Pen, Mac OS X Trackpad y Magic Mouse, Mtdev, Linux Kernel HID, TUIO. Se incluye un simulador de mouse multitáctil.
Kivy usa muchos códigos optimizados para la representación de gráficos (a través de Cython) por lo que también es rápido.
Aquí hay un speakerdeck que le brinda algunos antecedentes y una visión general (específica de Android).
Si tienes antecedentes de C #. Eche un vistazo a la Dualidad.
Duality es un marco de juego 2D flexible escrito completamente en C #, y está aquí para facilitarle las cosas. Proporciona un motor de juego extensible y un editor visual para que coincida. No habrá necesidad de un editor de niveles, entorno de prueba o gestor de contenido porque Duality es todo eso por sí mismo. Y lo mejor de todo: es gratis.
Solo estoy respondiendo para darle algunas ideas sobre cómo se usa el SDL. Como dijiste antes, no es un motor de juego (en realidad es solo una biblioteca). Además, no está orientado a objetos en absoluto y no tienes facilidades de animación fáciles (tienes que codificarlas tú mismo).
Cómo funciona (utilicé la versión C pero supongo que el enlace Lua debería ser similar):
Incluya los encabezados necesarios para construir el proyecto en la plataforma que desea.
Diseña tu propio bucle de juego en el que establecerás (al menos) un sistema completo de procesamiento de eventos, administrador de tasa de cuadros y un "limpiador de pantallas (o actualizador)" (insisto en que debes actualizar manualmente tu pantalla usando la rutina SDL_flip_screen, que no es una de tus preocupaciones en absoluto con Corona).
Luego, codifica tu juego usando todos los "mecanismos" que hiciste antes.
SDL es una biblioteca de bajo nivel (no espere tener un marco de GUI fácil de usar o el marco de guión gráfico de Corona, por ejemplo).
Finalmente, esta biblioteca fue utilizada para portar Civilization III a Linux, así que sí funciona pero le pedirá mucha energía para tener algo como lo que tenía con Corona;)
PD: No soy un hablante nativo de inglés, así que por favor avíseme si no estaba claro :)
También tiene ShiVa3D , un serio competidor de Unity3D. Utiliza Lua y es compatible con muchas plataformas desde dispositivos móviles hasta consolas de juegos y navegadores web.
Muy intuitiva de usar y con una interfaz de usuario muy agradable para trabajar.
Gideros es un gran motor de plataformas cruzadas 2d basado en Lua , que actualmente admite plataformas Android e IOS, pero más por venir. Y también tiene algunas características excelentes como prueba instantánea en el dispositivo, escalado automático y resolución de imagen automática para apuntar fácilmente a varios tamaños de pantalla, así como la opción de extender cada plataforma a través de complementos nativos.