10

8 motores gratuitos para diseñar juegos en Linux

portada

Como diseñadora amateur de videojuegos que soy, cada vez que empiezo un nuevo proyecto me cuesta decidir qué motor gráfico voy a utilizar. Una simple búsqueda con Google muestra cientos de resultados. Como trabajo con Linux, las opciones están limitadas: no puedo tirar de motores comerciales porque no me funcionan (y como bonus tienen licencias abusivas). La otra opción son los motores gratuitos, que hay infinidad… pero todos tienen alguna pega: están en fase beta, fallan, no hay documentación o directamente hay que complarlos a mano.

Además… ¿cumplirá el motor con mis expectativas? ¿Funcionará bien esa característica que no sabía que necesitaba hasta mitad del proyecto? Personalmente, en alguna ocasión he tenido que desechar meses de trabajo por culpa de las limitaciones de un motor.

Por tanto: ¿Qué motor debo escoger? ¿Cuál es el mejor? No sé dar una respuesta clara, la verdad. Pero sí que voy a listar algunos de los motores y herramientas que los desarrolladores de juegos en Linux tenemos a nuestra disposición, así que… Let’s take a look

1- Löve2D

Löve2D es uno de mis motores favoritos para crear juegos en 2D o 2.5D (perspecitva isométrica/3D falso). Cuenta con una documentación muy extensa que facilita su aprendizaje y además tiene una comunidad muy agradable y ansiosa de ayudar. Aunque por ahora es pequeña, ¡crece día a día!

Löve2D no tiene interfaz gráfica. Puedes programar el juego con el lenguaje Lua (lenguaje que, por cierto, se utiliza en infinidad de videojuegos comerciales) con tu editor de texto favorito, y después compilarlo y crear un ejecutable. Quizás esto suene complicado, ¡pero en realidad Löve2D es el motor más simple y sencillo que he tocado!

Los juegos pueden distribuirse comercialmente para Windows, Linux y Mac.

Lenguaje: Lua

Gráficos: 2D/2.5D

Interfaz: No

Documentación: Buena

Complejidad: Baja-Media

Exporta a: Windows, Linux y Mac

Sí, es un poco cursi

Sí, es un poco cursi


 

 2- Pygame

Pygame es un conjunto de librerías, módulos y funciones pensadas para diseñar juegos 2D con el lenguaje Python. Pygame es una extensión de la librería de juegos PySDL, y permite crear juegos sin tener que preocuparse de las mecánicas de más bajo nivel.

Pygame no cuenta con una interfaz gráfica y debe programarse con un editor de texto ordinario y compilarse vía terminal. Su mayor punto fuerte es la extensa documentación y tutoriales: hay infinidad de sitios web, blogs y foros dónde puedes aprender o solucionar cualquier duda.

Mi experiencia con Pygame: Pygame es un buen motor de juego, muy potente y profesional, que te permitirá crear cualquier tipo de juego. Sin embargo, en mi opinión pygame es un motor un poco caótico y desordenado, con una curva de aprendizaje bastante pronunciada. Además, requiere de librerías externas para realizar ciertas funciones (como exportar el juego a un ejecutable). Pero bueno… hay críos de 10 años programando juegos con Pygame en las escuelas. Tan díficil no puede ser, ¿no?

Lenguaje: Python

Gráficos: 2D/2.5D

Interfaz: No

Documentación: Muy buena

Complejidad: Media

Exporta a: Windows, Linux, Mac, iOS y Android (requiere librerías externas para ello)

pygame

Un ejemplo de juego con pygame. Pew! Pew!


3- jMonkeyEngine

jMonkeyEngine es un motor pensado para videojuegos 3D que proporciona las herramientas básicas para crear cualquier juego sin tener que preocuparse por los aspectos más básicos de los lenguajes compilados. Tiene una buena documentación y muchos tutoriales que facilitan la entrada de nuevos usuarios. Además dispone de un foro muy activo para resolver dudas en su web oficial.

jMonkeyEngine cuenta con una interfície que permite programar, compilar el juego y organizar todas las funciones, modelos, imágenes y ficheros. Pero jMonkeyEngine no es para trabajar visualmente: todo debe hacerse escribiendo código y programando scripts, el motor sólo da las funcionalidades más básicas.

He probado jMonkeyEngine alguna vez y me gusta mucho. Funciona bien con Linux, sin errores, y se instala fácilmente. Es largo de aprender, pero esto se debe únicamente a su complejidad. ¿Dijo alguien alguna vez que el mundo de los videojuegos fuera sencillo?

Permite crear juegos comerciales para Windows, Linux, Mac y Android. En futuras verisones también se podrá exportar a iOS.

Lenguaje: Java

Gráficos: 3D

Interfaz: Sí

Documentación: Buena

Complejidad: Media-Alta

Exporta a: Windows, Linux, Mac, y Android

jmonkeyengine


4- Polycode

Polycode es un motor de juegos 2D y 3D en C++/Lua que actualmente se encuentra en fase de pruebas. Posee una interfície que permite programar y testear tu juego al momento. Es fácil de aprender y de manejar, no obstante la documentación y los tutoriales dejan mucho que desear. Son pocos, tienen errores y la mayoría están incompletos.

Además, no dispone de binarios (aún), por lo tanto uno debe descargar el código fuente de la web y compilarlo a mano. A mi me llevó largo rato instalarlo y ejecutarlo, y además no pude llegar a hacer gran cosa con él debido a la cantidad de bugs, errores y a la pobre implementación en Linux.

Aún así, creo que en futuras versiones Polycode tiene mucho potencial. Si se consigue un motor algo más estable y dan los binarios para descargar, Polycode promete ser un motor muy versátil y simple para crear juegos amateurs y profesionales.

Lenguaje: Lua o C++

Gráficos: 2D y 3D

Interfaz: Sí

Documentación: Mala

Complejidad: Baja – Media

Exporta a: Windows, Linux y Mac

polycode

Hidden Planet, un juego hecho con Polycode


5- SDL

SDL, sigla de Simple direct Media Layer es una librería de C multiplataforma para crear juegos en 2D a bajo nivel con C, y puede extenderse con otras librerías 3D como OpenGL. Si no te convence el C, hay variantes para otros lenguajes como Python, Pascal o Lua.

SDL no tiene interfaz gráfica, es una librería para C y por lo tanto debe programarse con un editor de texto y compilar el fichero .c

SDL es un motor difícil, con una curva de aprendizaje muy escalada, ¡pero es increíblemente potente! Cuenta con una documentación excelente, con tutoriales de cualquier aspecto de la librería. Además, es un motor muy extendido entre el gremio de desarrolladores de juegos, con lo que hay muchos foros o grupos dónde plantear dudas.

Lenguaje: C

Gráficos: 2D (puede extenderse a 3D)

Interfaz: No

Documentación: Muy buena

Complejidad: Alta

Exporta a: Windows, Linux, Mac, iOS y Android (entre otros)

sdl

Con SDL se han programado juegos poco conocidos [sarcasm mode *ON*]


6- Kivy

Si quieres desarollar juegos para móvil, Kivy es una buena opción. Se trata de un motor de juego pensado para crear aplicaciones para Android o iOS rápidamente con Python. No tiene IDE propia, debe programarse y compilarse con un editor de texto o un entorno para Python

Por desgracia, la documentación no es muy extensa, pero es suficiente para entrar y empezar a trabajar. A diferencia de otros motores de juego, su comunidad de usuarios es pequeña y poco activa en comparación.

Lenguaje: C

Gráficos: 2D

Interfaz: No

Documentación: Aceptable

Complejidad: Baja

Exporta a: iOS y Android

kivy


 

7- Blender Game Engine

Los lectores más frecuentes de Robologs sabéis que soy fanática de Blender. Para los que no conozcáis el programa, Blender es una fantástica suite de modelado, renderización y animación de objetos en 3D, totalmente libre, gratuita y profesional. Muy profesional.

Entre la gran cantidad de módulos que tiene blender hay un motor de juegos muy interesante. Puede programarse de dos formas: la primera es con “bloques” prefabricados: funciones básicas que se conectan gráficamente para crear juegos sin tener que programar. La otra forma, más avanzada, es programando scripts con Python y asignándolos a los distintos objetos y personajes. ¡Incluso puedes combinar las dos formas!

El concepto de este motor es genial: permite a gente con cualquier nivel de experiencia programar sus propios juegos. Pero por desgracia, el motor tiene infinidad de errores, bugs, y da muchos problemas. Por si fuera poco, los desarolladores no tienen ningún interés en solucionarlo y ofrecer un motor estable. Lo cuál es sorprendente ya que es uno de los puntos fuertes de Blender (¿con qué otro software puedes modelar los personajes de tu juego, animarlos y programar el juego a la vez?)

Además, la licencia del programa es bastante restrictiva. Si quieres que tu juego sea comercial, no puedes utilizar el compilador de Blender para crear el ejecutable. Tienes que apañarte y escribir uno nuevo a mano. Gracias, Blender Foundation.

La documentación es simplemente aceptable. En la Wiki de Blender hay todos los comandos y funciones del Blender Game Engine, pero no es muy buena (los que trabajamos con este motor nos servimos de otras páginas para consultar). Hay muchos tutoriales en Internet, suficientes para entrar, pero no suelen tratar funcionalidades muy avanzadas.

Lenguaje: Python

Gráficos: 3D

Interfaz: Sí

Documentación: Aceptable

Complejidad: Baja (Logic Bricks) / Media-Alta (Python)

Exporta a: Windows, Linux y Mac (sólo si no es un proyecto comercial)

blender-game-engine


 

8- Angel 2D

(Antes de empezar, debo decir que nunca he probado este motor. Todas la información que hay aquí es la que he encontrado en internet y leyendo opiniones de terceros)

Angel 2D es un motor multiplataforma para crear juegos en 2D. El objetivo de este motor es proveer al programador de todas las funcionalidades básicas para crear su juego. A su vez, permite a los programadores más avanzados trabajar tan a bajo nivel como deseen.

Está bien documentado, pero los tutoriales son escasos.

Se puede programar con C++ o Lua desde la misma interfaz. Una característica muy interesante es que permite simular la ejecución del juego en un móvil, con un giroscopio virtual simulado, pantalla táctil, etc.

Lenguaje: C++ y Lua

Gráficos: 2D/2.5D

Interfaz: Sí

Documentación: Aceptable

Complejidad: Baja-Media

Exporta a: Windows, Linux y Mac, Android y iOS

angel2d

Y lo dejo aquí. Lógicamente, existen muchos otros motores de juego para Linux. ¿Conocéis otro que debería aparecer en esta lista? ¿Habéis trabajado mucho con él? Podéis dejar vuestra opinión en los comentarios ^ ^

Gl4r3

Brillante, luminosa y cegadora a veces, Glare es tan artista como técnica. Le encanta dar rienda suelta a sus módulos de imaginación y desdibujar los ya de por si delgados límites que separan el mundo de la electrónica y el arte. Su mayor creación hasta la fecha es un instrumento capaz de convertir los colores y la luz en música. Cuándo sus circuitos no están trabajando en una nueva obra electrónica, le gusta dedicar sus ciclos a la lectura o a documentar sus invenciones para beneficio de los humanos. Sus artilugios favoritos son aquellos que combinan una funcionalidad práctica con un diseño elegante y artístico.

Antes de comentar, por favor, lee las Normas

10 Comentarios en "8 motores gratuitos para diseñar juegos en Linux"

avatar
Ordenar por:   más nuevos primero | más antiguos primero
tela
Humano

eh tene facebook glare?

Nazareno
Humano

conocen algún canal de youtube que te enseñe a usa Blender Game Engine.
a duras penas se hacer un escenario u-u y bueno quisiera aprender a como utilizarlo :3 en tema de hacer juegos, claro 😀 .

lorenzo
Humano

Nunca he desarrollado, pero tengo una niña con discapacidad y estoy muy interesado en hacer puzzlez, etc… que ayuden a algunas de sus capacidades, ya sea motrices o intelectual. Todo ello utilizando aparatejos como el Kinetic, etc…. ¿Cual de los que motores que colocaste crees que seria el mas facil y adecuado para desarrollar algo parecido a esto? ¿Se puede utilizar el control de Kinetic para ello?
Gracias y saludos.

FABIAN
Humano

GODOT ES EL ULTIMO QUE HE VISTO QUE ES BUENO

Jam
Humano

El Blender Game Engine lo lleva una sola persona, que además no tiene como principal función dedicarse a mejorarlo, solo lo va retocándolo en el tiempo libre que tiene disponible.

Jhon Wolf
Humano

Cocos2D, is a suite of open-source cross-platform game development tools used by thousands of developers all over the world.
http://www.cocos2d-x.org/

trackback

[…] este algoritmo con el motor de juegos Love2D, del que hablé hace unos días en uno de mis fabulosos artículos (lo sé, mis creadores se olvidaron de programarme la humildad). Al terminar este tutorial, […]

wpDiscuz