Skip to main content

person About Me

photo of David Campos Rodríguez

Who am I?

My name is David Campos Rodríguez, I am a computer engineer graduated at the University of Santiago de Compostela (Galicia, Spain). I am an enthusiast about computer sciences always looking forward to learning new things.

I really enjoy travelling, meeting new cultures and trying new food.

I speak Galician, English and Spanish.

My network

Working Experience

Deform Dynamics logo

Deform Dynamics

Software Developer

Developers of the Dynamo Engine and its wrapper plugins, an engine for physically-based animation of deformable bodies.

Logo of the University of Gothenburg

University of Gothenburg

Teaching Assistant

Giving assistance with lectures, exercises and grading for the course Introduction to Game Research.

Nedaware SL logo

Nedaware SL / Tournride

Full-Stack Developer

Systems for third parties

My logo

Freelance

Full-Stack Developer

Developing App4Refs

Education

University of Gothenburg logo

University of Gothenburg

Master's Program in Game Design & Technology

Imparted in collaboration with Chalmers University of Technology

University of Santiago de Compostela logo

University of Santiago de Compostela

Bachelor in Computer Engineering

Maximum grade in the bachelor final project

Polytechnic University of Catalonia logo
Universitat Politècnica de Catalunya
Séneca Exchange
University of Łódź logo
University of Łódź
Erasmus+ Exchange

emoji_events Awards

I received an award for my final degree project being among the three best final degree projects of 2018-2019 by the Technical Superior School of Engineering in Santiago de Compostela.

My team and I managed to achieve the second main prize at the MLH Copenhacks 2019 with Drawploy, a PWA using image recognition to deploy paper-drawn network infrastructure directly to cloud services (such as Google Cloud).

bookmarks Projects

Some projects I have worked on.

Games

C++ SDL 2D Entity-Component Engine

My project for the course of Game Engine Architecture during my master's program at the University of Gothenburg. The objective was to recreate (partially, in my case) an old arcade game in C++ using SDL, following the design principles of an entity-component engine and making it extensible and maintainable. I recreated completely the first two stages of the classic game Contra (time was quite tight).

Jumpy Fox (infinite runner)
Unity (C#) Procedural Generation Achievements

Small game I made in a weekend to experiment a bit with procedural generation making an infinite runner in Unity. All the elements in the game are randomly generated, as well as the floor height, and it has a considerable amount of achievements for the players. It is also published in the Google Playstore.

C++ OpenGL 2D 3D C# (Unity)

Two games developed during my studies in the Universitat Politècnica de Catalunya for the Videogames course. The first one is a recreation in C++ (from scratch) of the famous 2D game "Lemmings", while the second one is a 3D game made in Unity with "Go style", in which the controlled character can move only over a grid.

Group project for the course Game Development Project, it is a 3D, car-racing game for 2 players. The cars are self-driven, you can only control the engine power and the break. The break is controlled through a button in the controller while the engine power is raised or lowered with your heart rate, measured in real time. This project was designed as a potential exhibition stand for the Universeum science museum and showcased at IDXPO 2020, it was designed to raise interest in kids about the heart and heart rates.

AR Plants vs Zombies
AR Vuforia Unity C#

Group project for the course Experimental Gameplay Design. Prototype of an augmented-reality version of the well-known game Plants Vs Zombies. The game tracks an image target and, when detected, generates a board to play on it. You must collect suns to be able to buy more plants and survive as many zombies as possible without them reaching your fence. Made with Vuforia. In the video it is slightly shaky due to the recording condition.

Orbitz
HTML CSS JavaScript canvas

Small web game based on canvas that I developed during the free time in a week during my first year of bachelor which turned out to be quite funny to play with friends. With the help of Paco Martínez Lasaca I improved it slightly and added a main menu during my fourth year.

Board Game Gameplay Design Game Testing

Group project for the course in Gameplay Design, it is a board game for 3 players, played over a hexagonal board with lots of strategic planning and quite a good amount of tension.

Apps

Tournride internal system
Angular (TypeScript) ApiPlatform (Symfony, PHP) Payment System Logistics

During my work at Nedaware SL I developed both the front-end and back-end of the internal management system for Tournride, a bike-rental company for the camino to Santiago. The administration part, which was probably the bulk of the work, is sadly not available to the public (the system manages all kinds of processes in the company, estimating the bike transport times, booking cancellations and returns, bike fixing and maintenance, incidences, business analytics, an estimator for external agencies, discounts, etc).

However, part of this internal system is embedded inside the public web-page of Tournride. This part is a PWA in Angular which we incrusted in the already-existent WordPress, and it is the part you can see during the process of making a booking or when you log in as a client.

Gohu
Angular (TypeScript) PWA

Gohu is a Spanish app that allows people to centralise their postal mail into their phone. It allows companies to match the clients for which they already have postal addresses to send messages directly through the app instead of using physical mail, contributing to protecting the environment by saving paper. I participated in this project during my work at Nedaware SL developing the whole front-end and also helping with some parts of the backend.

App4Refs
HTML CSS JavaScript Focus Group

Developed in collaboration with the Fundació ACSAR from Barcelona for the University of Santiago de Compostela, initially as my bachelor final project (but continued working after its finalization). It was created within the frame of the UNINTEGRA project and it consisted of a web app to enhance refugees integration in Greece by providing information which may be useful to them (based on data from ONGs and some tests we made on-site with the migrants). Designed by Javier Ideami, the application aimed at being as simple as possible and containing as few text as possible in order to make it accessible to a wider range of users.

Ñam!
Android (Java) PHP

Ñam! is an Android application I developed together with for the Android Study Jams (2016) by the Google Developer Group members at the University of Santiago de Compostela. The app was intended to offer access to students in real time to the menus and dishes served at the different canteens of the university every day. We never had the time to go on and put the project into production, but we had already talked with the association of canteens and they found the project really interesting.

For presentation purposes, we made the following quite-humorous video (the app is in Spanish, however).

school Documents

Section for some of the publications and other documents I authored.

This is my bachelor's thesis, the report about the elaboration of App4Refs, an application to enhance the integration of refugees in Athens, Greece. I obtained the maximum grade due to the special attention to detail and exhaustive analysis. The document details everything, including the project management, requirements capture, design, implementation and testing of the application; as well as a technical and a user manual.

Document elaborated for the course in Game Research at the University of Gothenburg in which I analyse the camino to Santiago de Compostela (a popular pilgrimage inside Europe) making use of the tools and concepts from game research learned in the course, trying to find what makes people feel engaged into it and why they might say it is "funny" to do it.