Oscar Cuatrecasas
I'm Oscar Cuatrecasas and I was part of the development team in Dune SSO. I have been passionate about programming for a very long time, and this project has been the perfect opportunity to enter the game development world in depth. It has been a roller coaster ride of emotions in which we have all learned and experienced the joy of programming. I am very excited to be part of this project and I hope to be a part of the future of the game industry.
Background
About Me
My father introduced me to programming when I was 12 years old, with an old CASIO calculator in which you could program in BASIC. Since then, I have been learning programming in a self-taught manner, and I have been working on my own projects. Before joining this degree, I coursed two years of Data Science and Engineering in UPC, which gave me valuable theoretical foundations in computer science.
Two years ago, I founded a company called BATOU XYZ, in which we research and develop new ways of interacting with computers. This company is now on seed stage, and combining my role as CTO with the work load of developing Dune SSO has certainly been a challenge.
Aside from this, I have developed a few side projects including two published mobile games and winning entry in the HackUPC Fall 2017 amongst others.
It doesn’t matter how clever you are – talk for more than a minute and you’ve lost me.
- Adrian Chiles
Soft Skills
- Public speaking
- Leadership
- Project management
- Problem-solving
- Critical thinking
Hard Skills
- Programming Languages: C/C++, Kotlin, Javascript, Python, C#, etc.
- Frameworks: React, NextJS, Flutter, NodeJS, etc.
- Tools: Git, AWS, GCloud, Heroku, Unity, Figma, Photoshop, Illustrator, etc.
- Backends: MongoDB, SQL, Firebase, Prisma, etc.
Experience
Contribution
Project Overview
For the project, I had the role of Developer. I was responsible for the development of the engine and the game. During the development phase, I gradually gained a larger role of coordinating with other teams and working on critical parts of the engine such as performance or memory management.
Main Tasks
UI Module
My first task was to develop the UI module, along with a few renderable components to be used for the game. This module ended up containing a main Canvas component which created an abstraction layer between the screen, viewport and game coordinate systems.
Navigation
Another important task I developed was the integration of the Recast Navigation Library in the engine, along with the development of navigation components for both players and enemies.
Enemy AI
I was responsible for developing the enemy AI and state management, which took a large chunk of the time I dedicated to the project.
Optimization
I was responsible for the optimization of the engine, including efficient usage of data structures, culling, parallelization and other general optimizations.
Memory Management
I was responsible for combing through the source code in order to find and fix memory leaks.
Secondary Tasks
Bug Fixing
I took an unofficial role in finding and fixing many bugs that were encountered during the development of the project.
Coordination
My personal relationship to one of the principal designers of the game, Eduard, gave me the task of coordinating with the design team in various specific areas of the game.
Projects
In this section you will be able to find some projects I worked on in the past few years in university.
Fermat
Fermat is a spatial end-user programmable web app developed by BATOU XYZ.
Virtual Guy
Virtual Guy is a game developed for the Game Development 1 course.
Kore RL
Kore RL is an AI competition hosted by Kaggle in which players train their own AI to fight each other. My entry consists of a Reinforcement DQN neural network that was trained through self-play.