Empezamos con Python !

Bueno, acabados los exámenes, nos ponemos manos a la obra con los videojuegos y python.

Antes de empezar a picar código sin mas, repasemos la estructura habitual de un juego:

A diferencia del software convencional, en los videojuegos es habitual que el código vaya tan rápido como sea posible con el fin de tener FPS generosos. Con lo cual, una primera aproximación seria:

  1. Inicialización del juego y carga de recursos (sonidos, imágenes,...)
  2. Un bucle donde se dibuja y se le da vida al juego, optimizado en la medida de lo posible.
  3. Descarga y cierre del juego.
Aquí la parte que mas chicha tiene es la segunda. Ese bucle que le da la vidilla a nuestro juego, a su vez consta de otros tres apartados:
  1. Lectura de dispositivos de entrada (teclados,ratones, joysticks...)
  2. Cálculo del juego, posiciones de los personajes, física ...
  3. Dibujado de la escena
Si alguien anda algo perdido, que imagine por un momento como funcionan las reproducciones en los cines, todos los fotogramas de la película son proyectados uno a uno en la pantalla con una velocidad tal que nos hace ver una animación. Esto es practicamente lo mismo, solo que los fotogramas no estan previamente dibujados, si no que se dibujan al vuelo.

La tarjeta gráfica proporciona hueco para dos de estos fotogramas. El primero de ellos es lo que se envia al monitor mientras que en el segundo es donde esta nuestro juego preparando el siguiente. En el momento que consideremos que el fotograma esta listo, se le da la orden a la tarjeta gráfica y entonces ocurre un intercambio (conocido como Page Flipping o Page Swapping): El fotograma que hemos dibujado pasa a ser mostrado por la pantalla, y el que se estaba mostrando sale de la pantalla y cae en nuestras manos para que vayamos preparando en él, el próximo fotograma.

Con esta pequeñisima introducción teórica, en la próxima entrega lo veremos como se plasma toda esta gallufada en el código, que es realmente sencillo. Y sobre un ejemplo mínimo, se irán añadiendo interactividad hasta hacer un juego... cutre no vamos a negarlo, pero nuestro cutre juego! hecho por nosotros mismos que es lo importante.

Antes de despedir esta entrada, me gustaría dar un par de consejos, que a su vez, la vida a mi me los dio.

  • Hacer un juego 2D, si tienes nociones de programación, es relativamente sencillo, dependerá casi en mayor medida de tus dotes de artista. Unos gráficos elegantes y buen gusto para los colores es vital para que un juego 2D sea respetado.
  • Hacer un juego 3D al estilo "quake" y compañía, puede ser mas difícil que bailar la banda sonora de tiburón. Es altamente recomendado tener experiencia programando, soltura con el álgebra, e interminables horas de dedicación. Amén de que es aconsejable de partir de un motor 3D ya hecho o incluso, hacer un Mod.
  • No trates de impresionar a nadie que no sea otro programador, y a ser posible de videojuegos. La informática esta infravalorada, la gente prestará mas atención a un perro que trata de morderse la cola, que a tu juego que has tardado 6 meses en hacer tras leerte truñocientos tutoriales y howto's.
  • Es difícil que el juego de tus sueños salga a la primera, empezarás a hacerlo y llegarás a algún punto que no sabrás resolver. Esto le ha pasado hasta a John Carmack. Cada vez que intentas hacer algo, aprendes cosas, funcione o no tu juego.
Bueno, os dejo que le deis vueltas a la sesera y meditéis :)

Comentarios

Entradas populares de este blog

Reparando un reproductor de minidisc

Platinum-MD

Preparados para la inmersión!!!