Graphics Programmer, Game Developer
Im a computer science engineer curently living in Zaragoza. I recently got the title!
Since I have memories i have been devoted to computers, and amazed on how videogames were created. I self-learned how to program at 15, writing small games in flash and AS3. Thorough the college I kept making small projects whenever I had some free time, until I learned 3D programming with OpenGL. This changed completely my way of thinking, and I specialized in Computer Graphics
Education
Computer Engineering Degree7.63 / 10
from sep. 2011 to may. 2016
University of Zaragoza
Most things I know about computers are thanks to this place. From Java, C, assembly, matlab, SQL... to UNIX systems managing, program design, databases design, web services (SOAP, REST, WebSockets...) and even the HTML and CSS needed to develop this website.
For my final degree project i developed a 3D engine called Kubex (Fully explained in the next section). I got a 10/10 (yay!)
High School, Science modality
from sep. 2009 to jun. 2011
"Benjamín de Tudela" High School
When studying here I received 3 prizes (well, one of them was actually in mid-school), awarded to one person of the school per year. Concretelly, I got the 2008, 2010 and 2011 Computer Science Premios a la Creación. I got 100€ per each one, which i used to build a PC
My Projects
Kubex, Development of a Voxel-based 3D Graphics Engine
from nov. 2013 to may. 2016
Final Degree Project - 10 / 10
I did a Graphic Engine based on cubes as my final bachelor's project, in plain Java and OpenGL 3.2
You can take a look at the code here . It's open-source! It is by far the most
complex project i have ever done, and one of the examiners described it as probably the best final-degree project he had seen in all his years working in the university!
I started developing it in 2013 in my free time just to learn 3D, and it slowly turned into the current version presented in the video
Tuenti Photo Downloader
feb. 2016
Popular Chrome Extension
I made a highly popular Chrome extension using pure Javascript and HTML
![](fotoDesc.png)
When Tuenti (A popular social network in Spain) announced this February it was about to close, a lot of its users tried to
download the photos they had stored there, but no working programs of that sort were available (Tuenti closed it's mobile website that day, from which all already existing photo downloading
programs were parsing the data).
I was the first person of Spain who developed a solution to that problem (i took me a busy night), a Chrome extension which downloaded all photos of the tuenti album you were
located at. It blew up in popularity, scoring tens of thousands of downloads in a few days.
This is the forum page in which I posted the beta version of it. I troubleshooted all the errors I could and updated it constantly until Tuenti definitely closed on March. Even considering that forum is the most popular forum in Spain,
my program topic scored #1 in popularity ranking for two months straight! Unfortunately, it was taken down from the Chrome Store after Tuenti closed.
Employment
Junior Researcher @ Graphics And Imaging Lab - University of Zaragoza
from sep. 2016 to oct. 2017
I worked for a year at Graphics and Imaging Lab, one of the best computer graphics labs of Spain, in University of Zaragoza
In my time there, apart from meeting some great people, i took part in projects related to rendering, transient imaging, non-line of sight imaging or 3D printing, and more. From now, I have two publications in Q1 journals and one poster at SIGGRAPH, but work is still going on into two projects more, which could (luckily) result in two publications more!
- Fast Back-Projection for Non-Line of Sight Reconstruction (Optics Express)
- Fast Back-Projection for Non-Line of Sight Reconstruction (SIGGRAPH Posters) (also, check the video)
- Bidirectional Rendering of Vector Light Transport (Computer Graphics Forum)
A coworker and me also designed and implemented the group's webpage in HTML5 and CSS
Toyota Prius Ad @ Unit9
from dec. 2015 to jan. 2016
Last January i helped in the technical part of a Toyota ad! They placed some biometric sensors over the car stunt driver and generated in real time, based on the data, 3D animations in the air using a LED stick placed in the car and overexposing the camera
I developed all the wireless communication protocol and ensured the GUI ran as smooth as possible, apart of other things. Seems that the devices used fo wireless transmission weren't prepared for real-time transmission over a moving car, so packets were getting lost, or being received with wrong data. I used double sided ACK confirmation with timeouts and checksum packet checks, which solved all the existing problems and ensured a fast, error-proof real time communication
Prizes
Excelent Final Degree projects conferenceWinner
University of Zaragoza
I have been invited to present my final degree project Kubex in front of, well, anybody who wants to come. The excellent final degree projects conference, organized by University of Zaragoza, is composed of the four best graded final degree projects of our titulation presented on the year prior. I was the best graded final degree project of the year (the only 10/10), so i have been one of the lucky people selected.
Physics Simulator / Minigame BundleDouble 1st Place
IES Benjamin de Tudela High School - Premios a la Creación
In my last year of high school, after learning to program, I developed some flash applications using AS3. I won two consecutive prizes, the Physics and the Computer Science ones
Want to play? Those are not the final versions i sent, i will see if i can find them
3D Shooter developement in Entidad 3D Engine1st Place
IES Benjamin de Tudela High School - Premios a la Creación
![](sdlc.png)
Back in the days, before knowing how to program well, I developed SDLC, a 3D shooter using a old spanish engine called Entidad 3D
Want to play?
Central server for the High School1st Place
IES Benjamin de Tudela High School - Premios a la Creación
Other Work
Servcraft, turn local hosted servers into online ones
This is my most used program ever, excluding the Chrome extension. A lot of games don't have a dedicated online server, so they depend on local servers for the game to be hosted on. This means that, if you want to play with friends, either:
- One of them will be forced to have their PC 24/7 on
- You will be only able to play when your friend connects the server
It is written in pure java, and features non java-like characteristics like automatic software updates. I used it with my friends for a lot of time, and some of them still use it. Unfortunately, the code was so ugly that I never got the courage to share it online, until today
Buyetell, a Shoot-em-up Android Game
A shoot-em-up I developed for Android using the engine AndEngine. Written in pure Java.
Featuring power-ups, ugly enemies and a openly unfair level of difficulty!
Triumph! War 2099: The Remake
from mar. 2015 to jun. 2015
![](TriumhWarsRemake.png)
Remake of the great game Triumph! War 2099, done in pure Java with a custom-made 2D tiled engine. Final-course project for a Videogames subject in my university. We overshooted and did over 10.000 lines of code. Well
The IA is kinda crappy right now, I will finish it some day. The code is pretty good though
Neural Network Digit Recognizer
Feb. 2016
Using classical neural networks I developed a fairly simple digit recognizer. The network parameters are trained using a Java program and the javascript interface only loads the pre-trained weights. Also, each digit you draw is auto-stored in the server to re-train the network with (is that even legal?)
HTML5 Canvas Experiments (Mandelbrot Fractal / Particle simulator)
summer 2017
This summer i programmed those two common mathematical problems using the new HTML5 Canvas utility. Check them out!