Spidey Developer: Creando juegos, librerías de desarrollo

games

En la primera entrada comentaba que tenía algún proyectillo en mente cuyo desarrollo compartiría a través de este blog que, de hecho, ha sido una de las razones que hizo decidirme a crearlo para llevar una especie de Dev Diary. Pues bien, uno de estos proyectos es la creación de un juego, programándolo desde cero mediante la ayuda de alguna librería de desarrollo open source existente. Hacía tiempo que tenía ganas de hacer algo así pero nunca me había puesto en serio y me había puesto a hurgar con programas como el RPG Maker o, hace mucho tiempo, haciendo algún mapa para el Heroes III (perdidos en algún disco duro que seguro que ya no funciona). Esta vez, influenciado por un compañero de trabajo que se ha puesto también manos a la obra y por el curso de Udacity que comenzará en febrero, “HTML5 Game Development“, que tengo intención de hacer, he decidido dar de nuevo el pasito e intentar hacer algo desde un nivel más bajo.  Aunque tengo algunas ideas ya para  un juego completo, quiero hacer las cosas poco a poco y seguramente me tomaré mi tiempo, así que comenzaré desde lo más básico: la selección de la librería que voy a emplear, teniendo en cuenta que mi plataforma objetivo por el momento es PC (aunque los dispositivos móviles estén de moda, todo se andará :)).

Tras hacer una búsqueda por Internet, he localizado una serie de librerías entre las que destacaré las siguientes, que son las que más me han llamado la atención y que he considerado, en mayor o menor medida, utilizar:

Librería Plataforma Licencia Descripción básica
SDL Windows, Linux, MacOS LGPL

Todo un clásico, SDL es una librería pensada para facilitar el acceso a diversas funciones multimedia (framebuffer, sonido, eventos…) que ha sido utilizada para la creación de varios juegos, especialmente para Linux.

SFML Windows, Linux, MacOS zlib/libpng

Otra librería multimedia y multiplataforma que facilita el acceso a funciones gráficas, de audio y demás. Tiene bindings para varios lenguajes de programación.

PyGame Windows, Linux, MacOS GPLv2.1

Es un wrapper de SDL para Python, por lo que es altamente portable, que proporciona prácticamente las mismas funcionalidades. Hace tiempo que no se actualiza.

ClanLib Windows, Linux, MacOS zlib

Además de las funcionalidades típicas presentes en las librerías anteriores, ClanLib dispone de multitud de código extra para tratar sprites fácilmente, detección de colisiones, funciones de red o bases de datos.

Libgdx Windows, Linux, Mac OS X, Android, HTML5 Apache 2.0

Realmente más que una librería se trata de un framework para la creación de juegos para diversas plataformas, especialmente orientado hacia Android y HTML5, con soporte de físicas, funciones matemáticas o representación de contenido multimedia y GUIs.

Allegro Windows, Linux, MacOS, iOS, Android y otros zlib

Características similares a las anteriores: soporte gráfico, de audio y controles, fácilmente portable, con la posibilidad de añadir addons y muy sencilla de usar.

Para más información, incluyendo muchas otras librerías, recomiendo visitar este enlace o este otro, además de las webs propias de cada una de ellas.

Finalmente, mi elección ha sido esta última, Allegro, por las siguientes razones (aunque acepto cualquier tipo de consejo):

  • Es una librería que tiene ya bastante tiempo (unos 15 años) pero de todas maneras no para de actualizarse por lo que he podido comprobar y tiene un gran alcance.
  • Existen tutoriales bastante buenos y articulillos que explican sus principales funciones de una forma bastante clara y sencilla, cosa que carecen otras librerías con muchas funciones atractivas, como es el caso de ClanLib.
  • De lo poco que he ojeado la documentación me ha parecido que está bastante clara y explicada.
  • Te permite abstraerte del sistema operativo base, por ahora con Windows, Linux, Mac OS y iOS aunque en la siguiente versión candidata para release se incluye soporte parcial para Android.
  • Aunque no trae soporte para colisiones, físicas o comunicaciones en red por ahora no es algo que me preocupe y siempre podré recurrir a alguna librería dedicada exclusivamente a ello.

En el futuro iré añadiendo más información en el blog. Por ahora ya he empezado a jugar algo con la librería siguiendo uno de los tutoriales y ya tengo alguna cosilla hecha. Esto pinta bien😀

Un saludo de vuestro amigo y vecino.

2 pensamientos en “Spidey Developer: Creando juegos, librerías de desarrollo

    • Gracias! Pues lo primero que estoy haciendo es el típico matamarcianos lateral como los de los bares. Después de eso ya veremos, tengo alguna otra idea pero ya me llevarían mucho más tiempo jejeje

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s