Portfolio

Disclaimer: many of these projects were done when I was very noob. Even if I provide download links and code, please don’t take it as reference since it is probably of very bad quality. Anyway, it might be useful for learning how not to do things and laughing (that’s what I do).


Evil Robots

Evil Robots Gameplay

A complete indie game made by me.

I did all the design, programming, and art myself… made me realize I suck as an artist haha.

Made with C++20 and OpenGL 4.3.

In this game robots have turned evil, you have to defend yourself from their attacks for as long a you can.

You can play in coop mode, either localy, or online!

Evil Robots is available on Steam.

reproject

A small cmd line tool to reproject textures: cubemap<–>latlong. Github , itch.io.

glTF viewer

Work in progress…

This is a simple viewer for the glTF format.
Hosted in github. Watch video. glTF viewer


Raytracer

I implemented this raytracer with Monte Carlo estimation and importance sampling for a college subject. Implemented microfacet materials, reflections, refractions, area lights, etc. Programmed with C++.

raytracer


Tunnel demo scene

Another college project. A demo scene of a tunnel with water. All the geometry is generated procedurally using random Catmull splines. Displacement maps with random voronoi maps generated in the GPU. Reflections, refractions and Fresnel effect. Procedural waves. Ambient oclusion. Implemented a whole graphics engine from scratch. Using C++, OpenGL 3.3 and GLSL. Automated build process with CMake. Hosted here. Watch a video.

tunnel


The curse of magin

We developed this game for a college subject (team of 4 people). Awesome learning experience and teamwork. Developed using Unity3D. We published the game in itch.io.

The Curse of Magin


OWMAN

My final degree project. It consists on a 2D game engine for making open world games. I learned to program OpenGL with shaders. Streams data in the background asynchronously, resets origin of coordinates to avoid numerical precision issues, integrates physics engine, changes to the world are persistent, no loading screens except for the first one, small footprint, seamless to the programmer, all memory management is automatic, able to handle huge worlds of several GBs. Hosted here. Read the report. Watch the video.

OWMAN


Geometry shader grass

A demo of procedural grass using geometry shaders.

grass_video


Bomberguy

I developed this Bomberman clone for the NDS together with a colleage. We used C++ and libnds. I learned a lot about NDS close-to-hardware programming and the value of teamwork. Hosted here. Watch in YouTube.

Bomberguy


SuperTile

At some point I was very interested in GameBoy development. I’ve always liked low-level programming and videogames. GB programming was pretty cool because it felt like gaming was embedded in the hardware.

So I had the perfect excuse to make a sprite editor for a school subject about user interfaces. I don’t have the code anymore (lesson learned) but I still have the report I wrote.

SuperTile


Pongo

I deleloped online Pong for a school subject. I used Java, TCP sockets and Swing. Dowload.

pongo


Dinoparc bot

Dinoparc is a web browser game where you can play only once per day. It was a waste of time connecting everyday to play for 20 minutes, so I decided to waste my time making a bot that would play for me and notify me important stuff by email. I used Python and a library called Splinter. Find it here.

dinoparc bot


Portal 2-like map editor

I decided to make something similar to the Portal 2 map editor for a college subject. It can export to BREP (boundary representation: it’s a format for 3D fabrication) and a custom format. Hosted here. See report I made (in spanish)

Portal-like map editor


Stren

It’s a puzzle game which consist in moving rocks to find the exit. I developed this Android game in my spare time. I was planning to release it but it turned out to be quite boring. I used Java and libGDX. I also implemented a level editor using Python and Qt.

stren


Mesh simplifier

Another college project. A mesh simplifier based in the QSlim algorithm. Used Python and NumPy.

qslim


Embed Python in C++

I wrote an article on how to embed Python in C++ applications.


Irrlicht control character animations through python scripting demo

I made a demo that allows to control an animated character using a Python interpreter. Download.

irrlicht python


Trivial Pursuit & Friends

I contributed to the development of this game during my internship at Gameloft. I helped at UI and networking. I also was in charge of continuous integration and build machines.

Trivial Pursuit


BB

I developed this small arcade game in order to teach my self libGDX. Reads the levels from XML files. Download.

BB


Subaquatic scene

A relaxing subaquatic experience for a college subject. Using Unity3D. For the caustics I used the free version of this software. I also did the modeling, rigging and animation of the fish. Download.

underwater


Hanoi 4

The classic Hanoi Tower but with 4 sticks intead of 3. I used JavaScript and phaser.io. I even managed to port it to Android using Cordova. It is hosted here

Hanoi 4


Tukijoc

I made a platformer game in SDL. This was before starting the degree. Eventhough I learned a lot from this project, I stopped developing it because it got very complex and didn’t know how to manage that complexity by the time. Also, summer ended and I decided that it was time to focus on other things. Anyway nice learning experience.

Tukijoc


SendFile

Send file was one of the earliest programs I’ve ever made. I think I was like 15 at the time. It was a very simple GUI to send files to a friend. I used C, the GTK library and raw TCP UNIX sockets.

Imgur


To be continued

I am always working on new projects for fun. Many of them get abandoned or forgotten. I will keep posting here the ones that I think are worthy.

>> Home