Los Engines (link a la wikipedia) son una forma como programador de no andar metiéndose siguiendo una metáfora culinaria a coger las patatas del campo, coger los huevos de nial de las gallinas…para hacer una tortilla de patata, vamos que para que hacer eso si lo que quieres es cocinar una rica tortilla solo quieres los huevos, las patatas y demás ingredientes y cacharros.
Mola programar, yo conozco gente que andan obsesionados con hacerse sus librerías gráficas/engines/kits y se pierden en el bosque por andando mirando los arboles (¿Cual era el refrán…sale en la peli Kill Bill?), si es una tarea noble pero infructuosa porque se te va el tiempo y al final el videojuego no viene.
Y las librerías básicas que ofrece el software libre como LibSDL ayudan pero hay peldaños para subir mas arriba y crear lo que queremos crear, el videojuego…o aplicación multimedia
.
Nos centramos en 2D porque 3D aunque tenemos grandes engines como Ogre3D o Cristal Space son otro campo mas largo. De los 2D listados pues a mi entender son los mas “estándar” es decir los que mas probabilidades existan en tu distribución de GNU/Linux o incluso consola y los que mas se acercan al concepto de engine y mas se alejan de simple librería multimedia (porque hay otros conocidos como clanLib, Allegro… que son poco mas que librerías mas o menos de mas alto nivel), bueno vamos al turrón:
- PyGame librería para Python (link a la wikipedia) que da muchas facilidades para programar videojuegos. Frente a los otros 2 engines 2D que te comentare es que trabajas con Python un lenguaje bastante conocido y que vale para mas cosas que solo en engine.
Primer vídeo son los 1100 proyectos que hay escritos con PyGame:
Una demo de un juego que anda haciendose en PyGame:
Ventajas: Python, bastante estandarizado, muy maduro con lo que hay muchos ejemplos y hay incluso documentación (no oficial) en español.
Inconvenientes:Python (si no lo dominas al 100% como el que escribe), “”lento”" (eso dice por ahí las malas lenguas), poca penetración en consolas…dicese GP2X. - Löve engine basado en el joven lenguaje de script Lua (link a la wikipedia), al igual que la Lua este engine es bastante nuevo (creo que comenzó su andadura por el 2007) y por tanto aunque esta bastante estables todos los conceptos, apenas hay documentación (la oficial…esta un poco a medias hay funciones que no sabes que retornan por ejemplo jajaja) y apenas ejemplos…olvidaos de documentación en español. Pero este es un engine, engine que abstrae mucho trabajo (que ya esta hecho en el engine) como la gestión de físicas (todavía ando intentando comprenderla), esta muy estructurado el código (no es identación obligatoria como Python) por ejemplo tienes que rellenar en el main.lua 3 funciones, load (ahí cargas los ficheros y haces otras cosas), update (la que se ejecuta con cada frame) y draw (que es la que dibuja en cada frame).
Apenas hay vídeos:
Ventajas: Lua como Python aunque es bastante nuevo el lenguaje es un lenguaje que puedes usar en otros ámbitos, engine bastante completito, simple de programar y rápido.
Inconvenientes:Lua (si no lo dominas al 100% como el que escribe), bastante joven es decir apenas documentación y ejemplos. - Fenix o el actualizado fork y con mas vida Bennu, primero que decir, su historia, es un engine muy muy viejo (aunque desde mi punto de vida muy poco maduro) comenzó como un clon libre del DIV (link a la wikipedia) un engine español privativo de los 90. Hay multitud de proyectos que usan Fenix/Bennu y esta muy extendido en el mundo de la GP2X, Dreamcast… La documentación pues si os digo la verdad nunca la he buscado. Pero el principal problema es que no se basa en un lenguaje genérico porque se basa en una mezcla de Pascal/C, y porque es un problema porque es “”perder”" tiempo aprendiendo un lenguaje que solo puedes usar con Fenix/Bennu, frente a aprender, programar durante largo tiempo en los otros caso Python o Lua te da dotes para usar tus habilidades en otros sitios. Ademas el código que leído de proyectos de Fenix/Bennu, el usar su propio lenguaje no simplifica la labor, frente por ejemplo a Löve que te simplifica mucho la vida. Pero bueno ahora pasen trolls por los comentarios jejeje…no hombre es broma, esta bien el Fenix/Bennu para hacer videojuegos.
Ventajas: proyecto viejo, muchos ejemplos y mucha comunidad hispana, consolas porque mola ver tu videojuego en una consola.
Inconvenientes: Lenguaje no genérico, percepción de poca comunidad internacional.
Y eso es todo amigos, yo ando últimamente pegándome con el Löve y esto picandoles a los webmaster para que metan en el wiki mas idiomas
.
Actualización: Gracias a Divido nos ha dado otro engine 2D basado en java http://slick.cokeandcode.com que incluso se puede hacer aplicaciones multiplataforma basadas en java.
Etiquetas: bennu, DIV, Dreamcast, engine 2D, Engine Libre, fenix, GP2X, Lua, Python, Software libre





[...] http://www.tomatesasesinos.com/sandiaWeblog/2009/11/12/lista-engines-2d-libres-algunos-videos/ a few seconds ago from web [...]
Lista “engines” 2D libres (+ algunos vídeos)…
Una pequeña introducción a los "engines" (algunos son librerías) 2D libres mas conocidos y extendidos en variadas plataformas como GNU/Linux, m$-windows e incluso consolas como Dreamcast, m$-xbox1, Wii y por supuesto la GP2X y sus sucesora…
Un engine 2D no muy conocido y que está muy bien es Slick:
http://slick.cokeandcode.com
Es en Java, por lo que el lenguaje es conocido por muchos desarrolladores, es multiplataforma, libre (licencia BSD), tiene buen rendimiento porque usa OpenGL para renderizar, fácil de usar, la documentación está relativamente bien, se puede integrar con otras librerías Java como JBox2D para las físicas, y los juegos se pueden llegar a lanzar desde un navegador con Java WebStart.
Curioso curioso me recuerda al Scratch…por el java y los juegos multiplaforma en java
.
[...] « Lista “engines” 2D libres (+ algunos vídeos) [...]