23.2.08

El algoritmo de Bresenham

Defender - El algoritmo de Bresenham

Hace unos días llegué a este artículo de Ray Casting en Actionscript 3 basado en Tiles y de repente unas palabras que hacía mucho que no veía me llevaron a 15 años en el pasado... fué un instante, pero de repente estaba en el año 1992/93, compartiendo piso con mi amigo Claudio Sileoni, programando en Turbo Pascal y Assembler del 8080/286...

Las palabras "mágicas" fueron algoritmo de Bresenham, que sirve para calcular una linea entre 2 puntos.

En aquellos años estabamos enfrascados en hacer un juego, el "Defender", una versión PC VGA del Missile Commander, un juego de recreativa que de chico me impresionó muchisimo!!! Ahora veo el juego y ya no me impresiona :) pero en aquellos años de Guerra Fría, "Guerra de las galaxias" (la de Reagan), la película "El día despues"... ver todas esas ojivas nucleares cayendo sobre las ciudades era una imagen increíble que siempre quise llevar a un videojuego.

Volviendo a la programación del juego, había que dibujar lineas en la pantalla, detectar colisiones entre las explosiones, etc. Ya no recuerdo si fue primero el juego o el algoritmo... quizás fue que cayó en mis manos la manera de dibujar lineas y por eso hice el juego. Puede que haya sido alguno de esos carísimos libros de programación que a veces conseguíamos o comprábamos.

La base del juego la hice con Turbo Pascal, el famoso modo VGA #13, los gráficos los moviamos con rutinas programadas en Assembler y estaban hechos usando un editor de sprites propio (eran imágenes muuuy simples) y la imágenes de fondo eran prerenderizadas en 3D con Crystal Topas... mis primeros pasos en el 3D!

Claudio participó en el tema del sonido (las rutinas para controlar la Sound Blaster), la historia, ideas, el diseño de todos los niveles, los nombres de los niveles y que se yo cuantas cosas mas...

Aquí un segmento de la "historia" :D
Argentina Siglo XXIII,
Las cosas han cambiado para los habitantes del planeta Tierra, este país dejó de ser un simple bananero y pasó a convertirse en el centro del comercio de la galaxia, gracias al descubrimiento por los extraterrestres del planeta "Yanquilonius" de un rarísimo mineral (Coladequirquinchonita)...

En fin, cuantos recuerdos!, a ver si rescato todo este material y publico algo más.

2 comentarios:

  1. En la suguiente web:

    http://sites.google.com/site/proyectosroboticos/

    encontrarás programas con ejemplos del Algoritmo de Bresenham para 2D, 3D... hasta 6D. Este algoritmo no sólo sirve para hacer líneas. En mi caso lo uso para coordinar los movimientos de un simulador de Brazo Robot de 5 grados de libertad (la mano no se cuenta como grado de libertad). Todo el brazo se mueve a la vez para la realización de cualquier trayectorias. En mis simuladores el brazo robor llega a dibujar. Para esta tarea uso los ficheros de extensión ".PLT" (HPGL).

    Los ejemplos están escrito en FreeBasic y en este caso compatibles con QBasic. Las variables están declaras en tipo, así que es bien fácil traducirlo a cualquier lenguaje de programación.

    Saludos.

    ResponderEliminar
  2. Anónimo, muy interesante eso que cuentas.

    ResponderEliminar