Maestría en juegos de computadora y entretenimiento en Goldsmiths

En septiembre de 2013 comencé una Maestría en juegos de computadora y entretenimiento en Goldsmiths, University of London, instituto ubicado en Londres, Reino Unido. En esta página verás el trabajo que hemos hecho dentro del curso.

Generador de ciudades con OpenGL

Este fue un proyecto en equipo que se realizó entre los meses de Diciembre 2013 y Junio 2014. Toda la geometría, a excepción de los modelos sobre las aceras, se genera procedimentalmente. El generador incluye un modo de paseo, donde la cámara recorre al azar las calles de la ciudad. Emplea OpenGL para el render, y usa la librería Octet.

Código fuente: https://github.com/chiguire/nttcitygenerator.


Video en Vimeo.

Dinámica de fluidos en tiempo real con OpenCL

Código fuente: https://github.com/chiguire/fluidphysicsgpu/.


Video en Youtube.

Física con Unity

Puente es un juego inspirado en Bridge Builder (2000), empleando la libreria PhysX que viene con Unity. El objetivo del juego es construir un puente que aguante el peso de un tren pasando por encima. La interfaz permite extender vigas que se conectan, y luego probar el diseño con el tren. Lo puedes jugar online.

Código fuente: http://github.com/chiguire/puente/.


Video en Youtube.

Shader de difracción en OpenGL ES 2.0

Esta es una reimplementación del shader descrito en el capítulo 8 del libro GPU Gems (Nvidia, 2004). El shader simula el fenómeno de difracción de la luz. La implementación original concentra los cálculos de iluminación en el shader de vértices, dejando para la de fragmentos solamente la interpolación de colores. Esta reimplementación va un paso más y tiene una versión en la que los cálculos se hacen en el shader de fragmentos, obteniendo un resultado más detallado.

Hecho para la materia Matemáticas y gráficas, con el framework Octet.

Código fuente: https://github.com/chiguire/gpugems-chap8/.


Video en Youtube.

Generación de laberintos tipo Pacman y búsqueda BFS

Este sketch de Processing genera un nivel al estilo de juego Pacman, creando una serie de caminos para la mitad del nivel, y luego duplicándola simétricamente. Finalmente, pone un pesonaje a recorrer todo el nivel buscando en todo momento los puntos más cercanos utilizando Breadth-First Search.

Código fuente: https://github.com/chiguire/mazegenerator.


Video en Youtube.

Renderizador de árboles basados en sistemas Lindenmayer

Este programa hace el render de estructuras construidas a partir un sistema de Lindenmayer, leídas de un archivo. El render se hace a través de OpenGL ES 2.0, y contiene parámetros que se pueden modificar en tiempo real. Los sistemas de Lindenmayer son un concepto del mundo de la biología, permiten describir el proceso de crecimiento de una planta. En consecuencia, son empleados en computación gráfica como una forma de elaborar estructuras gráficas que asemejan a las que se pueden ver en la naturaleza.

Hecho para la materia Matemáticas y gráficas, con el framework Octet.

Código fuente: https://github.com/chiguire/octet-lsystems-renderer


Video en Youtube.

Chilopoda, un clon de Centipede

Chilopoda es un juego que clona el gameplay de Centipede (Atari, 1981). En este juego de arcade, el jugador debe eliminar el gusano que viene del tope de la pantalla, mientras esquiva a éste y otros enemigos que surgen de los lados de la pantalla. Los gráficos fueron elaborados para el proyecto. Los sonidos del juego fueron elaborados con as3sfxr.

Hecho para la materia Introducción a la programación de juegos y gráficos interactivos, con el framework Octet.

Código fuente: https://github.com/chiguire/chilopoda


Video en Youtube.

Skyways, un prototipo de juego espacial

Skyways es un juego espacial en el que el jugador debe llevar naves de un color a su estación correspondiente. Debe evitar que las naves choquen con otras naves. El control del juego es indirecto, el dedo del jugador crea un campo de gravedad que atrae a las naves que estén a un radio de distancia. Este juego emplea Box2D para simulación de cuerpos rígidos en 2D, con un esquema de gravedad inspirado en el de Angry Birds Space.

Hecho para la materia Herramientas y middleware para gráficos y efectos espaciales, con el framework cocos2d-x.

Código fuente: https://github.com/chiguire/skyways


Video en Youtube.

Octet

Octet es un framework educativo para desarrollo de videojuegos, hecho por Andy Thomason. Octet emplea técnicas profesionales de desarrollo de videojuegos con C++ y OpenGL ES 2.0, y está lleno de comentarios didácticos del autor. Incluye lectores mínimos de imágenes GIF, JPEG y Targa. Incluye rutinas básicas de carga de modelos en formato COLLADA (.dae). Incluye Bullet Physics para simulación de cuerpos rígidos. Tiene pocas dependencias (OpenAL, OpenCL y OpenGL). Requiere conocimientos de C++. Funciona para Windows y Mac OS X, Android, PS Vita y PS4.