El presente documento reúne una serie de diapositivas que fueron presentadas en el evento CTT (Charlas Técnicas Trimestrales) del 14 de Mayo, organizado por el grupo de usuarios CaFeLUG en la Universidad de Belgrano (Bs. As. Argentina)
Si quiere puede descargar los archivos fuente, tanto de las diapositivas, como de los ejemplos mostrados:
Cada grupo de desarrollo tiene su visión de los videojuegos.
Analizando las propuestas de cada grupo nos encontramos con 3 conceptos generales.
Esto no siempre fue así, en Los años 80 era muy común oír que un pequeño grupo de estudiantes desarrollaban videojuegos dentro de una habitación, lamentablemente pocos compartían sus conocimientos con el resto de las personas.
Así, quienes conocemos las ventajas de utilizar GNU/Linux, proponemos un nuevo concepto: no buscamos desarrollar juegos encerrados en una habitación aislados de todo. Podemos crear, aprender y compartir conocimiento sobre tecnología desarrollando videojuegos completamente libres.
En esta charla adoptamos únicamente el último concepto, videojuegos libres.
En base a este concepto comenzamos un proyecto llamado LosersJuegos.
Buscamos promover el conocimiento y los proyectos que impulsan el desarrollo de videojuegos completamente libres.
La licencia GPL garantiza los términos de uso legal que un programa debe tener para ser considerado libre, básicamente otorga 4 libertades fundamentales:
Existen otras licencias con términos similares, todas son bienvenidas siempre y cuando sean compatibles con la licencia GPL.
Nuestro principal interés se basa en aprender y desarrollar sobre tecnología. Nadie nace sabiendo, es importante recordarlo.
Antes de proponer nuestro modelo de desarrollo veremos a grandes rasgos que modelos existían años atrás:
En el sistema operativo DOS tenías todo el equipo a tu disposición, se acostumbraba (dados los límites tecnológicos) a economizar cada recurso y a utilizar Assembler como mínimo en todas las rutinas críticas, como el acceso a video y sonido.
Unos años mas tarde Microsoft compró a una empresa de Londres, llamada Render Morphics, lo que hoy en dia conocemos como Direct-X.
La propuesta era diferente, en este caso contábamos con una biblioteca (library en inglés, frecuentemene traducida como librería).
Una biblioteca es un conjunto de rutinas que nos facilitan ciertas tareas. En este caso facilitan el acceso a los dispositivos multimedia (Audio, Video etc.) sin preocuparnos por el modelo de cada dispositivo de Hardware.
Con esta explicación queremos dejar en evidencia que los modelos de desarrollo cambian. Así como cambiamos el modelo de DOS por Direct-X y Windows, hoy nos preguntamos: ¿ Direct-X es adecuado en la actualidad ?
Un modelo de desarrollo debe adaptarse a su época, hoy utilizamos GNU/Linux como muchos usuarios (cada vez más). El Software Libre representa una propuesta muy interesante. Existen dispositivos, lenguajes de programación y sistemas operativos mucho mas variados que a mediados de los 90.
Direct-X no resuelve nada de esto, es una tecnología cerrada. Sólo la empresa que cuenta con los derechos legales correspondientes puede darnos la posibilidad de adaptar este modelo a la realidad. Este es el motivo principal por el cual no existen muchos juegos para GNU/Linux, están atados al modelo DirectX.
Pero existe otro modelo mejor adaptado a la actualidad, SDL.
Es muy simple de utilizar, funciona en varios sistemas operativos y soporta muchos lenguajes de programación.
Además se distribuye bajo la licencia LGPL, lo cual nos asegura que no estaremos sujetos a las decisiones o conveniencias de una empresa. Podremos ver, estudiar, modificar y distribuir todo el código de la biblioteca y así extender su soporte.
Otra característica de SDL es su diseño, SDL resuelve el acceso básico al sistema multimedia, por ejemplo: podemos indicarle a la biblioteca que genere una ventana, reproduzca un sonido e imprima algún gráfico.
Si buscamos extender estas funcionalidades tenemos la posibilidad añadir otras bibliotecas como OpenGL (generalmente para manejar gráficos en 3D), SDL_image (para cargar formatos de imágenes como PNG, JPEG etc.) y SDL_Net (para el manejo de redes)
Existen muchas otras bibliotecas en www.libsdl.org
Estas diapositivas no incluyen una descripciónn detallada de cada ejemplo, en el evento se mostraron los programas en funcionamiento a modo de taller, intercambiando consultas y comentarios.
Para acentar por escrito una explicación preferimos hacerlo mediante artículos individuales, puede encontrar estos artículos en www.losersjuegos.com.ar (sección documentos).
Recuerde desacargar los ejemplos pulsando aquí.