Creando Videojuegos Libres

Todo buen amante de los videojuegos, se plantea en su vida la “aventura” de crear un videojuego, y cuando acude a los foros especializados a pedir ayuda, le empiezan hablar de motores y herramientas de diseño comerciales y costosas, que requieren una curva de aprendizaje que echa para atrás a mas de uno.

¿Es que no es posible crearlos son software libre y costes asequibles?

Por supuesto que es posible es mas es lo mas recomendable, una sociedad libre necesita videojuegos libres, durante mucho tiempo Microsoft ha tenido el monopolio de los videojuegos, pero esto afortunadamente ha ido cambiando con el desarrollo de las herramientas de diseño libres y la liberación de motores libres.

Allegro y SDL

allegro

Para empezar vamos a hablar de las librerías mas conocidas para desarrollar juegos en c++ y no solamente juegos en el caso de SDL

La ultima versión de allegro se distribuye bajo licencia zlib y la ultima version de SDL bajo LGPL

  • Caracteristicas

Las dos librerías tienen características comunes en cuanto a compatibilidad, pero allegro esta mas orientada al desarrollo de juegos incluyendo de base características como control de colisiones,manejo de sprites,eventos,controladores etc.. sdl también incluye algunas de estas características al ser una libreria grafica, pero no esta pensada específicamente para hacer juegos, por lo que las funciones que necesitemos tendremos que crearlas nosotros.

  • Soporte Allegro soporta Windows,MacOsX,Unix,Linux,ios,android,Dos,Beos,etc..

  • Desventajas

Allegro la API de allegro esta echa exclusivamente para utilizarse en C , C ++ o objetive-c pero actualmente se han añadido librerias y funcionalidades que permiten usarlo con Java, C#, Visual Basic.NET, Python, D, Lua, Pascal, Perl, Ruby, Go, Scheme, Common Lisp, Ocaml, Forth y Mercury. Pero bien es cierto que si queremos ampliar alguna funcionalidad de la libreria tendremos que hacerlo en C,C++ por lo que puede ser una librería algo complicada para un principiante en la programación.

  • Funcionalidades

    Allegro, tiene una gran comunidad que va agregando funcionalidades que no tiene de base la librería, por defecto tiene soporte para dibujo de vectores,sprites,paletas de colores,texto,buffering,animaciones,scroll,etc..

Podeis encontrar allegro aqui y la pagina de su comunidad en https://www.allegro.cc/

Bennu

bennugd

Bennu es un lenguaje basado en C para desarrollar juegos de una manera sencilla,bennu es una continuación de los lenguajes div y fenix que se iniciaron principalmente para este propósito.

Actualmente bennu se distribuye bajo licencia GNU

  • Caracteristicas

Como ya hemos comentado bennu es un lenguaje creado particularmente para desarrollar juegos en 2D y 3D multiplataforma, de manera sencilla y entendible,por lo que facilita enormemente el desarrollo de los mismo, incorporando por defecto todo aquello que necesitamos para el desarrollo de juegos(scrolls,colisiones,manejo de bitmaps,etc..)

  • Soporte

Bennu esta actualmente soporta de manera oficial en plataformas: Windows,Linux,Caanoo,GP2X Wiz,Dingux. Pero también tiene soporte por parte de la comunidad para: Haiku Os,FreeBSD,MacOs 32,Wii,Dreamcast,Pandora,Android.

  • Desventajas

Bennu tiene una serie de inconveniencias que le hacen menos atractivo.

No tiene IDE(Hay proyectos de la comunidad pero ninguno estable) Lenguaje tabulado el código tiene que ir correctamente tabulado si no no funcionara.

  • Funcionalidades

Procesos (programación multihilo). Motor de render 2D por software. Altamente Portable. Expresiones regulares. Modos gráficos 8, 16 y 32 bits, entre otras cosas permite rotación de sprites, escalado, alpha blending, blendops, blit aditivo y sustractivo, etc. Reproducción de sonidos en formato WAV, PCM y Ogg Vorbis. Soporte de librerías DLL en las plataformas que así lo permiten.

Podeis descarga bennu de su pagina oficial y comunidad http://www.bennugd.org/

PyGame

pygame

Pygame es un conjunto de módulos para python,para el desarrollo de videojuegos,usando como base la libreria grafica SDL, esta funcionalidad y la facilidad que da python para aprender el lenguaje, junto con su rapidez hace de esta librería, una muy buena herramienta de desarrollo.

  • Soporte

Pygame tiene soporte para Windows,Unix,Linux,MacOsx,Nokia,Beos,Android.

  • Desventajas

Pygame es una muy buena librería para iniciarse en el desarrollo de juegos de manera amateur, y luego dar el salto a algo mas profesional, la unica desventaja que podríamos encontrar es aprender python y familiarizarnos con su código tabulado. Tampoco tiene IDE especifico para pygame pero hay muchos para python que si incorporan soporte de indentacion con pygame

  • Funcionalidades

    No requieres opengl,soporte multicore,optimizado,portable,fácil de usar,no requiere gui,soporte3d,etc..

Podéis descargar pygame de su pagina oficial http://www.pygame.org/download.shtml

Como veis a una gran variedad de lenguajes y librerías para el desarrollo de videojuegos libres, pero si no queremos meternos muy a fondo en temas de programación también podemos usar los excelentes motores libres que hay a nuestra disposición, podéis encontrar una buena lista en https://en.wikipedia.org/wiki/List_of_game_engines que podréis ordenar por licencia para ver cuales son libres.

Como veis tenemos múltiples herramientas de programación de juegos libres a nuestra disposición, sin contar con los excelentes,editores de audio,vídeo,,imágenes,tiles,etc.. de los que dispone el software libre, por lo que si queréis aventuraros a realizar un videojuego no tenéis excusa ;)

10 Comments

    1. Claro esta en al lista de motores libres, pero no he querido ponerlo en el articulo porque necesitaría un solo articulo para hablar de el, modeling,game engine,python,render,etc.. ;)

  1. Uff y digo yo como sabe tanto este tio?

    Yo siempre quise tener mi juego de estrategia a ver si puedo un dia hacerlo. Magnifico post y gracias , mil gracias por compartir.

    1. Gracias, me gusta trastear con todo, ya sabes “aprendiz de todo maestro de..” animo con el juego (si algún día de animas) si necesitas algo ya sabes por donde andamos.

  2. Gran articulo!! Yo de momento me sigo peleando con allegro, que ya bastante guerra me da (mis conocimientos son nivel neanderthal tambien, ejem jjjj) pero pegare un vistazin un dia al phygame, k siempre quise hacer un mario pa tablet jijiji gran articulo!

Leave a Reply

Your email address will not be published. Required fields are marked *

To create code blocks or other preformatted text, indent by four spaces:

    This will be displayed in a monospaced font. The first four 
    spaces will be stripped off, but all other whitespace
    will be preserved.
    
    Markdown is turned off in code blocks:
     [This is not a link](http://example.com)

To create not a block, but an inline code span, use backticks:

Here is some inline `code`.

For more help see http://daringfireball.net/projects/markdown/syntax