Sign up with your email address to be the first to know about new products, VIP offers, blog features & more.

Curso programación de videojuegos con SDL – ¿Qué es SDL?

En la Wikipedia encontramos que: ”LibSDL es un conjunto de librerías desarrolladas con el lenguaje C que proporcionan funciones básicas para realizar operaciones de dibujado 2D, gestión de efectos de sonido y música, y carga y gestión de imágenes. SDL es una abreviatura en inglés de Simple DirectMedia Layer.

Resaltar como podéis ver que se trata de un conjunto de librerías para C encargada de todos los aspectos que a la hora de crear un juego faltan en las librerías básicas de C. Con ella podemos controlar las pulsaciones sobre el teclado, cargar imágenes, mover sprites o reproducir un sonido. Usando SDL tendremos toda la libertad del mundo para desarrollar un juego tal como nos parezca. SDL se convierte sólo en la herramienta básica para hacer todo aquello que necesitamos, pero a un nivel que no interviene más que en eso.

Un inconveniente de SDL puede ser su naturaleza de librería(s) para C. Muchos preferirán quizás otro lenguaje o directamente una herramienta más gráfica, pero la potencia que se consigue así no se puede conseguir de otra manera. Para todos aquellos que no conozcáis C ni C++, quizás sea la oportunidad de aprender C usando SDL. Además existen los llamados bindings de SDL a otros lenguajes por lo que no tendréis problemas en la inmensa mayoría de los lenguajes de programación modernos.

Componentes adicionales

Existen campos en los que el núcleo de SDL no ofrece soluciones y el programador de videojuegos necesita una funcionalidad. Alrededor de SDL se han desarrollado una serie de librerías adicionales, que completan aquellos campos que no cubre la librería “madre”. En el ejemplo que desarrollaremos a lo largo del artículo no haremos uso de ninguna de ellas, pero os presento al menos a las más importantes:

  • SDL_Mixer: Mayor capacidad para reproducción y gestión de música. Soporta gran cantidad de formatos de audio, incluidos los más populares MP3, OGG y WAV.
  • SDL_Image: Al igual que SDL_Mixer mejora la capacidad con la música, SDL_Image hace lo propio pero con las imágenes. Soporta también gran cantidad de formatos, PNG, JPEG, BMP, GIF…
  • SDL_Net: Hoy en día gracias a Internet la mayor parte de los juegos ofrecen opciones multijugador a través de la red. Este componente nos permite desarrollar funcionalidades de este tipo para nuestros juegos.
  • SDL_ttf: Nos permite usar fuentes True Type en nuestra aplicación.

Existen muchos más componentes, ya desarrollados o en fase de desarrollo que amplían aún más las posibilidades de SDL. Podéis encontrarlos en el sitio web de SDL en el apartado “Libraries”: http://www.libsdl.org/libraries.php.

Bindings

La Simple DirectMedia Layer fue diseñada en un principio en C para ser usada en C. Por esta razón también funciona sin problema en C++. Los que prefieran usarla con otros lenguajes lo tienen fácil gracias a los llamados bindings que nos permiten hacer uso de la librería desde otros lenguajes. La lista completa está en: http://www.libsdl.org/languages.php. A continuación os dejamos una enumeración de los bindings más famosos:

Sin duda la más famosa de todas ellas es PyGame que junto con la implementación original en C/C++ es la más usada para hacer juegos para GNU/Linux en la actualidad.

Leer entrada anterior
Escucha el núcleo de Linux por radio

Una de las maneras para conocer en profundidad el núcleo de Linux es leyendo el código fuente del kernel. Otra...

Cerrar