Las siglas SDL significan Simple DirectMedia Layer, son un
conjunto de librerías desarrolladas en C y proporcionan funciones básicas para
realizar operaciones multimedia en espacios de dos dimensiones y para ir más
allá de estas dimensiones también ofrece la posibilidad de integrar OpenGL.
Brinda la posibilidad de una fácil gestión de sonido, imágenes, tipografías,
archivos y periféricos. Es un entorno diseñado para la programación de videojuegos, lo cual significa que tiene poca complejidad en cuanto a la programación, lo
cual permite crear una interfaz gráfica de una forma relativamente rápida y
sencilla en comparación por ejemplo a la utilización de la API de Windows.
SDL fue desarrollada inicialmente por Sam Lantinga, un
desarrollador de videojuegos para la plataforma GNU/Linux, y pese a estar
programado en C, tiene adaptaciones a otros lenguajes de programación como C++,
Ada, C#, BASIC, Erlang, Lua, Java,Python, etc. Una de sus grandes virtudes es
el tratarse de una biblioteca multiplataforma, siendo compatible oficialmente
con los sistemas Microsoft Windows, GNU/Linux,Mac OS y QNX, además de otras
arquitecturas y sistemas como Sega Dreamcast, GP32, GP2X. La biblioteca se
distribuye bajo la licencia LGPL, que es la que ha provocado el gran avance y
evolución de SDL.
La decisión de trabajar sobre estas librerías fue la posibilidad de crear interfaces gráficas en base de archivos de imágenes los cuales pueden ser diseñados, editados y actualizados de forma independiente, posibilitando una gran carga visual sin agregar complejidad al programa. También SDL permite un fácil manejo de un periférico que fue clave para varios de mis trabajos que es el Joystick USB, el cual en otro caso debería ser manejado por complicadas llamadas instrucciones de DirectInput (Librería de DirectX).
La principal tarea
que tiene SDL en este programa es encargarse de gestionar el
joystick, simplificando la tarea al no tener que hacer complicadas llamadas
instrucciones de DirectInput (Librería de DirectX). En segunda medida se
encarga de la creación de la interfaz gráfica, la cual se gestiona de una forma muy simple
con unas simples llamadas a funciones y es independiente del sistema operativo
que usemos.
joystick para moverse dentro del laberinto.