Dev&Down

De bueyes perdidos sobre desarrollos (y algunas descargas también…)

.

Scanner 3D mediante estereoscopía y luz estructurada

Luego de varios meses de trabajo (bueno, en realidad años) en conjunto con compañeros de laboratorio, pudimos cerrar el prototipo inicial que buscábamos desarrollar.

El mismo logra obtener una nube de puntos 3D a partir de 2 secuencias de video 2D. La herramienta fue desarrollada en C++ apoyados en la librería openCV para la funcionalidad de calibración de cámaras y triangulación. Aca un par de ejmplos donde estamos escaneando una taza y un rostro; y su visualización en un browser que cuenta con un plug-in para VRML: Rostro.zip y Taza.zip

.

Autopong

Cuando me hago un tiempo, leo algún capítulo de Killer Game Programming in Java, de Andrew Davison. Probando algunas cosas que comenta en los primeros capítulos sobre el API de Java2D armé lo que yo llamo Autopong, algo así como la versión berreta del Arkanoid; pero con dos pads y sin ladrillos.

El tema es más que atrapante, y la performance que presenta JAVA para desarrollar juegos es cada vez mas atractiva. Si alguien quiere hecharle un vistazo a los fuentes, aca están.

.

Asteroids

Luego del Autopong, y extendiendo un tanto los fundamentos del Killer Game Programming, era inevitable una pequeña remake un tanto versionada del viejo Asteroids (el cual yo nunca llegué a jugar en su release original eh! ojo que no soy tan viejo).

Aunque bien podría haber levantado imágenes y directamente aplicar transformaciones para las rotaciones, pensé que el trabajo artesanal de utilizar graficos vectoriales iba a quedar un tanto mejor.  Este detalle me permitió rememorar ciertas fórmulas básicas – para realizar el renderizado de la nave y los asteroides según el heading de éstos – que hacía tiempo no utilizaba.

El juego lo pueden acceder desde este link, y si alguien quiere chusmear los fuentes (beta), los pueden descargar desde este enlace.

Lines

Lines es una mini aplicación que se parece mucho a los típicos protectores de pantalla que hay por ahí.  El código fuente es principalmente una copia de uno de los ejemplos presentados en el libro: Tricks of the Windows Game Programming Gurus, del reconocido André LaMothe.

A quien le interese desarrollar aplicaciones 2D/3D mediante Microsoft Software Develpoment Kit, éste es un libro muy interesante para iniciar el camino.  Lo más destacable del libro es que no solo explica cómo programar juegos, sino a hacerlo realizando un uso correcto de las estructuras y recursos; optimizando el código cuando es necesario.

El libro es inmenso y sólo es el primero de un total de dos tomos.  De más está decir que nunca terminé de leerlo, principalmente debido a que me interesó más la portabilidad que brinda JAVA para realizar este tipo de aplicaciones.

A quien le interese la aplicación y el código de esta pequeña aplicación, lo pueden descargar desde aquí.

.

Clipboard Expert

Unos años atrás, recuerdo haber dedicado un tiempo realizando una aplicación en Borland Delphi que me permita jugar con varios portapapeles a la vez, tanto de texto como imágenes.

Ya he olvidado el motivo que me llevó a implementar este programita. Sin embargo, un tiempo después este concepto fue una herramienta muy utilizada en programas como el Microsoft Word.

Ojo: no estoy diciendo que soy un innovador que inventó el concepto y estoy pidiendo el pago de un canon!! Me refiero a que muchas veces un producto hecho a medida, tal como lo necesitaba en ese momento, es mucho mejor.

Como valor agregado, recuerdo haberme peleado (y aprendido) bastante para lograr que la aplicación pueda minimizarse a la tray bar.

Obviamente la aplicación es freeware, así que quien quiera probarla y usarla, la pueden descargar desde acá. (La dirección de mail en el About sigue existiendo!).

.

SpeedUpKeyboard

SpeedUpKeyboard

Realizado en Delphi, este es un lindo ejemplo de que es posible usar una herramienta para un fin totalmente distinto del que fue concebido!

También es un ejemplo de que algunos años atrás tenía más tiempo libre del que tengo ahora.

En fin, la idea es bien sencilla, ayudar al muchacho en el largo camino hasta su amada… ejem.  Para esto es necesario (no se por qué) teclear correctamente las letras que aparecen en el cuadro central (con una tipografía tamaño XL !!).

La finalidad es aprender la distribución del teclado de manera divertida; “aprender jugando” le dicen.  Vale aclarar que la música e imágenes no son diseños mios, ya no recuerdo donde los conseguí, sólo los efectos especiales sonoros son de mi autoría.

.

Vintage development

Apenas quince años atrás las cosas eran muy diferentes, en esa época me encontraba desarrollando bajo lenguajes como dBase o Clipper.  Uno de los típicos trabajos que debí realizar es… ¿quién adivina? El sistema para un videoclub!

El ejemplo de videoclub es muy usado generalmente porque puede utilizarse para enseñar una gran variedad de conceptos, como la cardinalidad en bases de datos relacionales, el patrón type object en POO, etc.  Por supuesto que por aquel entonces todavía no contaba con los fundamentos universitarios que años después adquiriría.  En ese momento tuve que “intuir” una solución mas que diseñarla.