In 2014 I finished a MSc in Computer Games and Entertainment at Goldsmiths, University of London, a college located in London, UK. You will see part of the work I did throughout the course.
This was a team project, made between December 2013 and June 2014. All geometry, except the models over the pavements, are generated procedurally. The generator includes a walkthrough mode, in which the camera steps through the streets of the city. It uses OpenGL for rendering, and employs the Octet framework.
Source code: https://github.com/chiguire/nttcitygenerator
Video in Vimeo.
Source code: https://github.com/chiguire/fluidphysicsgpu/
Video in Youtube.
Puente is a game inspired in Bridge Builder (2000), using the PhysX library that comes with Unity. The game’s objective is to build a bridge that can support a train moving on top of it. The interface allows to extend beams that connect between them, and then try the design with the train. There are no current builds from the game (it used to be online), but you can download the game and build it yourself.
Source code: http://github.com/chiguire/puente/
Video in Youtube.
This is a reimplementation of the shader described in the Chapter 8 of the book GPU Gems (Nvidia, 2004). This shader simulates the light diffraction phenomenon. The original implementation focuses on the vertex shader to do the calculations, and leaves the fragment shader to interpolate colors. This reimplementations goes a step further and has a second version in which the calculations are done at fragment level, obtaining a more detailed result.
Done for the Maths and Graphics subject, with the Octet framework.
Source code: https://github.com/chiguire/gpugems-chap8/
Video in Youtube.
This Processing sketch generates a Pacman-like level, creating a series of connections for half of the level, and then mirroring it. Finally, it puts a character to run around the level, eating all the pellets and looking for them using Breadth-First Search.
Source code: https://github.com/chiguire/mazegenerator
Video in Youtube.
This program renders structures built from a Lindenmayer system, read from a file. The render is done with OpenGL ES 2.0, and contains parameters that can be modified in real-time. Lindenmayer Systems, o L-Systems, are a concept from biology, they allow to describe the process of growth of a plant. As such, they are employed in Computer Graphics as a way to build graphical structures that are similar to those seen in nature.
Done for the Maths and Graphics subject, with the Octet framework.
Source code: https://github.com/chiguire/octet-lsystems-renderer
Video in Youtube.
Chilopoda is a game that clones the gameplay of Centipede (Atari, 1981). In this arcade game, the player must destroy the worm that comes from the top of the screen, while avoids it and other enemies that come out the sides of the screen. The graphics were done for the project. The sound effects of the game were made with as3sfxr.
Done for the Introduction to Game Programming and Interactive Graphics subject, with the Octet framework.
Source code: https://github.com/chiguire/chilopoda
Video in Youtube.
Skyways is a space game in which the player must drive ships of a color to their corresponding station. He must avoid ships crashing between them. The control of the ships is indirect: the players finger creates a gravity field that attracts ships that are nearer a radius of distance. This game uses Box2D for 2D rigid body simulation, with a gravity scheme inspired on Angry Birds Space.
Done for the Tools and Middleware for Graphics and Special Effects subject, with the cocos2d-x framework.
Source code: https://github.com/chiguire/skyways
Video in Youtube.
Octet is an educational framework for videogame development, made by Andy Thomason. Octet uses professional game development techniques with C++ and OpenGL ES 2.0, and it’s full of didactical comments by the author. Includes tiny readers for GIF, JPEG and Targa images. Includes basic loading functions for COLLADA files (.dae). Includes Bullet Physics for rigid body simulation. It has few dependencies (OpenAL, OpenCL and OpenGL). It requires knowledge of C++. It works for Windows and Mac OS X, Android, PS Vita and PS4.