Portfolio

A continuación puedes conocer algunos de los trabajos que he realizado, tambien te invito a ojear mi repositorio de Github, por otra parte puedes ver una hoja de vida mas formal aqui.

Web page with interactive background by using WebGL

View Demo

For the background effect I have used WebGL (Helped by ThreeJS) and the HTML5 canvas element. It was necessary to write two GLSL fragment shaders and implement a double buffer system. The first one shader and the double buffer was used for implementing a smoke effect inspired by Jos Stam’s paper on “Real-Time Fluid Dynamics for Games”.

The second one shader was written for convert the background image to gray scale and masking it with the original color image by using the smoke texture generated in the first shader. Note that this way we don’t need to load two images since the color conversion is occurring in the GPU dynamically.

For DOM and loading animations I have used CSS3 instead of a gif (for loading animations) because I needed speed and load a gif is slower than a CSS3 animation.

Publication date: April 2018

Used Technologies:

  1. HTML/CSS/JS
  2. AngularJS
  3. ThreeJS / WebGL
  4. GLSL (Open GL Shading Language)

Team Bridge Game

Juego que mediante técnicas de visión artificial propone una dinámica cooperativa entre dos jugadores.

Fecha: Feb 2018

Mi rol: Conceptualizar, Diseñar e Implementar el juego.

Tecnologias utilizadas:

  1. Unity Engine
  2. OpenCV
  3. ShaderLab/CG

SPH Water Simulation using ThreeJS

Sph water simulation

View Demo

Esta es una simulación de fluidos de agua en 2D usando el método computacional conocido como SPH, se desarrolló usando ThreeJS para permitir su visualización en navegadores web.

Mi rol:

  1. Implementación parcial del sistema de fuerzas.
  2. Implementación parcial del SPH.

Compañero de trabajo: @romualdo97

Tecnologias aplicadas:

  1. JavaScript
  2. HTML5 (Canvas)
  3. ThreeJS
  4. CSS

Applying supervised machine learning algorithms

Suppor Vector Machine

Link del repositorio

Para este proyecto aplique varios algoritmos supervisados de machine learning para intentar predecir que medicina se le debe dar a un paciente con rinitis, para ello me valí de una base de datos de pacientes correctamente diagnosticados por médicos expertos, fue fabuloso darse cuenta de que el modelo entrenado quitaba la necesidad de tener a un médico experto en cada hospital.

Twitter bot for get followers

Link del repositorio

Bot escrito en Python para automatizar la tarea de conseguir seguidores en Twitter teniendo en cuenta un campo de interés afín (usando hashtags).

Tecnologias aplicadas:

  1. Python
  2. Tweepy

Twitter bot

Link del repositorio

Bot escrito en python para automatizar la tarea dejar de seguir un porcentaje de personas que ya no te siguen en twitter.

Tecnologias aplicadas:

  1. Python
  2. Tweepy

One-click Hologram Pyramid for Unity

Holograma piramidal para el centro costarricense de ciencia y cultura, el objetivo era presentar los volcanes de Costa Rica a los niños de una forma creativa.

Descarga el Asset

Fecha: Nov 2017

Mi rol: Implementar el sistema de cámaras en Unity y hacer sencillo su uso, realizar el manual del sistema para nuevos usuarios.

Compañero de trabajo: @romualdo97

Tecnologias aplicadas:

  1. Unity Engine
  2. OSC
  3. Unity Editor (Personalizar el editor de unity para simplificar tareas al equipo de desarrollo)

Web page colombirds.com

Live demo

En la página collect Prueba los siguientes códigos para desbloquear “rare packs”:

  1. turpi
  2. garza
  3. cucarachero

Mi rol: Conceptualizar e implementar el front-end y funcionalidades de la pagina.

Tecnologias aplicadas:

  1. JavaScript
  2. AngularJS
  3. JQuery
  4. CSS
  5. HTML5

Vision invertida

Esta es una aplicación pensada para funcionar con unas google cardboard, fue originalmente desarrollada para usarse en una experiencia interactiva en una feria de ciencia en la que se hacia al jugador intentar patear un balon y meterlo al arco con las gafas puestas: fue un espectáculo muy divertido para los espectadores.

Mi rol: Desarrollo scripts manejo camara.

Compañero de trabajo: @romualdo97

Tecnologias aplicadas:

  1. C#
  2. Unity

N200

Descargalo y juegalo en tu computador windows

Un juego demo realizado en unity con fines de aprendizaje.

Mi rol:

  1. Implementación scripts control de personaje
  2. Implementación sistema de pooling para las balas de los enemigos.
  3. Diseño e implementación algoritmos de control de los enemigos (¿Cuando esta el personaje en el alcance de la torreta?)
  4. Implementación logica de cambios de escenas
  5. Implementación sistema de control de efectos sonoros
  6. Implementación artefactos/zonas accionables en la escena.

Compañero de trabajo: @juanalvarezm

Tecnologias aplicadas:

  1. C#
  2. Unity

Magic Wand

Mi rol:

  1. Implementación sistema de eventos C#
  2. Implementación logica de cambios de nivel
  3. Implementación sistema de control de efectos sonoros
  4. Agregar shader motion blur (para desenfocar el movimiento de la pelota)

Compañeros de trabajo:

  1. @romualdo97
  2. @juanalvarezm

Tecnologias aplicadas:

  1. C#
  2. Unity
  3. ShaderLab

jelou.io

Mira la web app

Esta es una aplicación web single page que comunica en tiempo real a dos personas cuyo objetivo fue ser empleada en una experiencia interactiva que ayuda a que personas desconocidas se conozcan basado en sus gustos personales, para poderla usar debes hacer lo siguiente:

Iniciar sesion en un computador A con los siguientes datos de autenticación, email: a@email.com y pass: 123456, luego en otro computador inicia sesion con los siguientes datos, email: b@email.com y pass: 123465

DISCLAIMER: Este proyecto tiene varios bugs que no fueron corregidos.

Mi rol: Conceptualizar, diseñar e implementar la aplicación.

Compañeros de trabajo:

  1. @romualdo97
  2. @juanalvarezm

Tecnologias aplicadas:

  1. Firebase CLI
  2. Firebase javascript RealTimeDB/Hosting/Authentication API
  3. AngularJS
  4. AngularFire (FirebaseAPI module for AngularJS)
  5. Bootstrap
  6. Yeoman (Angular single page app scaffolding)

Otros proyectos interesantes

Volcano Demo

Descarga la demo

NOTA: Para hacer funcionar este programa correctamente se debe implementar un circuito electronico, que se explicara en un post del blog.

Tecnologias aplicadas:

  1. OSC Protocol
  2. Firmata Protocol
  3. OpenFrameworks
  4. C++
  5. GLSL (EL shader esta basado en el trabajo de Weyland Yutani)

Random walker demo

Link del repositorio

Tecnologias aplicadas:

  1. Java
  2. Processing