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

Tag Archives curso

Curso programación de videojuegos con SDL – ¡Hola mundo!

Comenzaremos con un ejemplo mínimo de SDL dónde abriremos una ventana con el título “Hola Mundo”. Para ello además del código en C prepararemos el Makefile para compilarlo. Podríamos haber usado un entorno de desarrollo integrado como Anjuta por ejemplo, pero ya que se trata de una iniciación a SDL lo mejor creo que es trabajar directamente sobre el compilador y los Makefile.

Makefile

Comenzaremos con el Makefile. Incluiremos además de “sdl-config” las librerías que hemos instalado en el paso anterior:

SDL_CONFIG = sdl-config
DEFAULT_CFLAGS = $(shell $(SDL_CONFIG) –cflags)
MORE_CFLAGS = -O2

CFLAGS = $(DEFAULT_CFLAGS) $(MORE_CFLAGS)
CXXFLAGS = $(DEFAULT_CFLAGS) $(MORE_CFLAGS) -fno-exceptions -fno-rtti

LDLIBS = -lSDL_image -lSDL_mixer -lSDL_ttf -lSDL_net
$(shell $(SDL_CONFIG) –libs)

all: holamundo_sdl
holamundo_sdl: holamundo_sdl.c

clean:
rm -f *~
rm -f main.o main

holamundo_sdl.c

Pasemos ahora a implementar nuestro primer programa con SDL.

Curso programación de videojuegos con SDL – Instalación y configuración

Una vez introducidos en qué es SDL pasemos a la parte práctica. Comencemos instalando los componentes necesarios. Si usas Ubuntu, Debian o cualquier otra distribución que use Synaptic o APT instalaremos los siguientes paquetes:

  • libsdl1.2debian: paquete de librerías SDL
  • libsdl1.2-dev: para desarrollo.
  • libsdl-image1.2
  • libsdl-image1.2-dev
  • libsdl-mixer1.2
  • libsdl-mixer1.2-dev
  • libsdl-ttf1.2
  • libsdl-ttf1.2-dev
  • libsdl-net1.2
  • libsdl-net1.2-dev

Con Synaptic

Nos dirigimos a Synaptic (Sistema -> Administración -> Gestor de paquetes Synaptic) y allí seleccionamos los paquetes y los instalamos.

Curso programación de videojuegos con SDL – Allegro, otra librería para el desarrollo de videojuegos

Como en (casi) todos los demás aspectos del software libre, existen más alternativas para este mismo propósito. La más famosa de todas es Allegro y tras SDL es la más potente. Algunos consideran OpenGL como una alternativa, sin embargo creo que no debería considerarse así  puesto que se puede integrar perfectamente dentro de un proyecto en SDL o en Allegro para dotar de gráficos tridimensionales al juego.

Hablando de Allegro podemos decir que a grandes rasgos se trata de un conjunto de librerías con el mismo propósito que SDL.

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,

Curso programación de videojuegos con SDL – Introducción

Con esta entrada presento el próximo curso que Linux Hispano os va a presentar: “Programación de videojuegos con SDL“. Constará de una serie de entregas que irán  apareciendo periódicamente en forma de entradas, al igual que en el caso de los cursos que ya están publicados:

Aún recuerdo la primera vez que cogí entre mis manos el mando de la Master System II que mis tíos habían regalado a mi primo por Reyes.

Curso PHP orientado a objetos – Clases de terceros, encapsulamiento

Una de las grandes ventajas, además de todas las ya explicadas y comentadas, es la facilidad con que se puede encapsular todo, para que en desarrollos posteriores no haya problema alguno. La implementación pasa a un segundo plano y se utiliza como una caja negra que funciona de manera simple. Los atributos: públicos, privados y protegidos; que hemos comentado en un punto anterior, son la base del encapsulamiento.

Imaginad que en una aplicación web, necesitamos generar un fichero PDF o interactuar con el servidor de correo de Gmail o Google Apps.