domingo, 6 de junio de 2010

Bienvenidos

La primer pc que tuve fue una AT 286. Recuerdo que lo primero que quise hacer fue re-escribir un jueguito de autos que habia hecho para la commodore 64. Cargue el GWBASIC, y ahi me encontre con la primera sorpresa, no habia pokes. Despues de varias horas de investigar (y no hablo de internet que todavia no existia), me di cuenta que tampoco habia sprites. Para los que no tienen idea de lo que estoy hablando, la c64 fue unas de las computadoras hogareñas mas populares de los 80, con suficiente memoria (64k), capacidad de procesamiento y una serie de caracteristicas que en esa epoca la hacian una maravilla de la tecnologia a la que podiamos acceder a relativamente bajo costo. Entre esas caracteristicas tenia un chip grafico (el VIC-II) que podria tranquilamente ser el antepasado de las placas de video. Este chip grafico soportaba hastas 8 "sprites" de 24x21 pixels, esos "sprites" se dibujaban en forma independiente del resto de la pantalla: al mover el sprite no se interfiere con el fondo, con lo cual no hay que tomar ninguna medida adicional para repintar o salvar la pantalla. Ademas se podia configurar la "profundidad" de cada sprite, y tenia deteccion de colisiones, todo via hardware.

Gracias a estas caracteristicas se escribieron miles de jueguitos para la c64, e incluso algunos programas utilitarios y hasta una especie de sistema operativo grafico, llamado GEOS que venia con editor de texto, hoja de calculo y un programa para dibujar.



Con la desilusion de no tener mas sprites y pokes, deje mi ambicion de escribir un juego para PC.
Unos cuantos años mas tarde, ya con el windows (95) en casi todas las maquinas, volvi a intentar, esta vez, una plataforma grafica que soporte modelos en 3d, y basada enteramente en los GDI de windows. Asi llegue a un motor 3d muy sencillo, que soportaba una cuantas primitivas graficas (triangulos, rectangulos, cajas, conos, cilindros y hasta toros y otras superfices cuarticas), pero sin texturizado. Para resolver el problema del texturizado escribi un ray-tracing, que soportaba un modelo sencillo de iluminacion, sombra directa, reflexion y transparencia. El motor3d al estar basado en gdi era sumamente ineficiente, y quizas el hecho que soportara primitivas graficas mas complejas que un triangulo fue el peor error de diseño. (La retrospeccion es una ciencia exacta).

1 comentario:

  1. Felicitaciones por el blog.
    Esperamos ansiosos ver la magia de la programacion. Y mas tributos a la commodore.

    ResponderEliminar