Tu estás aquí: ¡Bienvenido! » Referencia » Artículos » Charla: Desarrollo de juegos sobre GNU/Linux
Usuario
Buscar páginas
Esta Pagina
General

Ver PDF

Charla: Desarrollo de juegos sobre GNU/Linux

Créditos

  • Autor: Hugo Ruscitti / Gabriel Valentin
  • Fecha: 14 de Mayo del 2005

Introducción

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:

Inicio

Conceptos sobre videojuegos

Cada grupo de desarrollo tiene su visión de los videojuegos.

Analizando las propuestas de cada grupo nos encontramos con 3 conceptos generales.

  • Los juegos cerrados para PC y consolas recreativas: simplemente nos proponen jugar, es idéntico comprar juegos para la PC y la consola recreativa. Sólo podemos jugar con la tecnología que otros desarrollan.

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.

Sobre el proyecto LosersJuegos

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:

  • La libertad de ejecutar el programa sea cual sea el propósito.
  • La libertad de estudiar y/o modificar el programa para ajustarlo a tus necesidades.
  • La libertad de distribuir copias, ya sea en forma gratuita o a cambio del pago de un precio.
  • La libertad de distribuir versiones modificadas del programa, de modo que toda la comunidad se beneficie con tus modificaciones.

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.

Modelo de desarrollo: D.O.S.

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.

Modelo de desarrollo: Direct X

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.

Modelo de desarrollo: SDL (I)

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.

Modelo de desarrollo: SDL (II)

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

Ejemplos con SDL

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í.

Crear una ventana

Manejo de imágenes

Velocidad constante (I)

Velocidad constante (II)

Procesos y optimización gráfica

Colisiones

SDL_Net (I)

SDL_Net (II)

Preguntas

 
referencia/articulos/desarrollo_de_juegos_sobre_gnu.txt · Última modificación: 28/01/2009 a las 13:56 por endaramiz
Este sitio funciona sobre el motor wiki de DokuWiki.
© 2003-2008 Hugo Ruscitti