Career
In chronological order, from latest to oldest
2023 - 2026
Period Summary
I've worked for almost 3 years for Snapshot Games as a Graphics Programmer on Frosthaven. After that, I started working at Zitro Games.
Zitro Games
Due to a round of layoffs at Snapshot Games, I had to find new job opportunities. That's why I've started working at Zitro Games recently, where I hope to learn about the technologies and technological challenges in this sector.
Frosthaven
For almost 3 years, I had the chance to work on Frosthaven as a Graphics Programmer. I worked on the rendering side of things, implemented tools for designers and artists and worked on platform and gameplay related code.
I learned a lot during my time there and I was lucky to be part of a very talented team.
2020 - 2023
Period Summary
After my internship at Petoons Studio, I was hired as a full-time Game Developer, where I had the chance to be the main developer of several shipped games and to manage and supervise several team members for the duration of the projects.
PJ Masks Power Heroes: Mighty Alliance
This would be my last project to work on during my time at Petoons Studio. It was a great opportunity to improve on everything that the first PJ Masks game had offered. Though it shares many of the same mechanics, they were overhauled and improved.
At this time, I wasn't the project's main programmer anymore, but I still worked on several key parts of the project. However, it was also during this time that I was appointed Technical Art Lead, so I had to split my focus on different projects.
The parts that received most love were the driving sequences, which had more variety and flexibility. Instead of using fixed track parts, tracks were built with Bézier Splines, which allowed for free-form tracks. We had short straight mesh cross-sections of a track that got repeated and bent around the splines. The same technique was used for the characters that move on rails (the game mechanic is similar to the mine cart levels in the Donkey Kong games).
Character movement was reworked to improve the responsiveness and the game feel. Cinematics, mission briefings and character transitions (in levels) were also much improved. Visually, the game had several more advanced shaders, especially for the ice levels, as well as bit more variety in effects and shaders in general. Inverse Kinematics were much improved, even allowing characters to crouch feasibly on slopes.
In terms of architecture, it was much more similar to Bratz than to the first PJ Masks game. We had built, over the years, a pretty robust architecture that made it easier to implement new projects.
Bratz: Flaunt your fashion
All the experience gained so far proved to be invaluably helpful for the new and exciting project. In stark contrast to PJ Masks, early development did not rely exclusively on me. A small team of programmers was assigned to the project, under my supervision. The team’s size kept changing several times during development, having 2 programmers at its lowest point and 5 at its highest.
I was in charge of creating tasks, organizing them into sprints, estimating their duration and assigning them to specific team members. As members worked on a task, I provided the necessary support to ensure that work efficiency, performance and quality standards were met.
I obviously also worked as the main programmer, implementing several gameplay and UI systems, as well as several tools for programmers, game designers and animators. Bratz is built with several fairly complex systems that work together, like the Quest, Dialogue and Character Customization Systems.
Setting up the character models and rigs to work with different kinds of shoes was tricky, and the Inverse Kinematics played a big role in that, given that it was also used for adjusting the character's feet based on the ground's slope. This technique had already been used for the first PJ Masks game, and it would also make it into the second one.
My Friend Peppa Pig
It was developed alongside PJ Masks: Heroes of the Night. Though I wasn't this project's main programmer, I did invest some time into it, either directly, by implementing a feature or two, or indirectly by contributing to the shared library that we were using for both projects.
Though my involvement wasn't as big, it was still interesting to see the insides of a project that had a pretty different game structure. Instead of individual levels that can be chosen from a menu, it had different connected rooms that you could move from and to, and you needed to account for story progression and player interaction. It was a challenging project for sure.
I collaborated on several rendering issues, including writing custom shader code. I also worked on several bugfixes and added routines for some of the characters in a few of the game’s locations.
PJ Masks: Heroes of the Night
This was my big chance to show my abilities. I had the honour to be the main programmer for the first time and I really wanted to apply everything I had learned so far. In this time, from the hand of Alex Cortés, the Programming Lead at Petoons Studio, I was able to learn everything that University couldn't teach.
I learned to estimate duration and priority of tasks, to plan and propose implementation of features, and even managing a few team members. As additional programmers joined the project, I was tasked with the supervision of their work. I was reviewing their pull requests and assisting them throughout the development process.
If I was to look at the codebase today, I'd be ashamed of some of the approaches I went with: too many Singletons. However, I was (and still am) really proud of the fact that I was able to deliver a game that matched the design and the requirements, but that was also able to run on lightweight hardware, like Nintendo Switch. In fact, it was my first time dabbling my feet with Porting and Console SDKs.
I implemented a large part of the project, spanning different areas like gameplay mechanics, animation, AI, UI, persistence and even Shaders. One of the most notable features I implemented, was the tool I made for generating the race tracks, which consisted of fixed modelled pieces that had attachment points assigned, which allowed placing piece after piece (like Scalextric) to build a large race track. This reduced the overhead for testing new tracks and the associated modelling that's required. Additionally these attachment points were used to generate a "logical" race track that a car object could follow.
Though the game, in the end, only consists of straight platforming levels, as in, it is fixed in the Z axis, just like a 2D Mario game, it was initially planned to have non-straight levels, that would bend in the Z axis, with the camera rotating accordingly. So, in other words, instead of walking a straight path, there could be curved paths and intersections. The whole movement system of the characters actually currently accounts for that possibility, though it was never used in the end, due to time and resource constraints.
However, it proved to be useful for implementing Gecko's Wall Movement as well, given that he's able to climb along walls that are perpendicular to the standard platforming path.
Curse of the Sea Rats
Curse of the Sea Rats was the first professional project I worked on, as I started my internship at Petoons Studio. For the first time, I was able to apply the knowledge I had gathered in University and see it in action in a game that would be played by thousands. It was very exciting to get an insider look into a big project for the first time.
I worked mainly on bugfixes and Behaviour Trees for enemies. I also had the chance to rework existing systems, like the Sound Manager, as well as implementing completely new elements, like the Quick Inventory (a quick menu that can be used to use items without opening the inventory).
I familiarized myself with agile tools like Jira, which provided a very practical way of organizing tasks and tracking progress. Thanks to its integration with Confluence & BitBucket, linking tasks to specific branches, documents and references was really easy. Learning to work in such a structured way was very helpful further on, when working on my first self-supervised projects inside the company.
2015 - 2020
Bachelor's Degree
I studied at the Escola de les Noves Tecnologies Interactives which is part of the Universitat de Barcelona .
The degree is called Enginyeria en Continguts Digitals Interactius, which would translate to "Engineer's Degree in Digital Interactive Content".
Here's a few games that I co-developed during my time at ENTI:
All trademarks, logos, and brand names are the property of their respective owners. Any mention of company, product, or service names is solely for identification purposes.


