Apple
Software Engineer
Animation and rendering in RealityKit, VR/AR 3D engine at the core of VisionOS, the operative system of Apple Vision Pro. Also available in MacOS and iOS.
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.
Animation and rendering in RealityKit, VR/AR 3D engine at the core of VisionOS, the operative system of Apple Vision Pro. Also available in MacOS and iOS.
Giving assistance with lectures, exercises and grading for the course Introduction to Game Research.
Systems for third parties
Developing App4Refs
Some projects I have worked on.
I worked on the implementation of several animation and rendering features in RealityKit. RealityKit is an AR/VR 3D engine developed by Apple, and it is a core part of VisionOS, the operative system of Apple Vision Pro. The engine is also available in MacOS and iOS. RealityKit offers the features of many state-of-the-art engines with the performance and power required by mobile platforms like an AR/VR headset. In VisionOS, RealityKit carries the rendering of the virtual content for the whole system.
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).
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.
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 was published in the Google Playstore, but it is not available right now.
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.
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.
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.
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.
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 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.
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 progressive 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.
Sadly, the web page is not online anymore, but my project report includes a User Manual with several captures of the initial design.
Ñam! is an Android application I developed together with María Luz Mosteiro 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).
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.
Imparted in collaboration with Chalmers University of Technology. Completed the Master's Thesis, but missing the credits of one optional course to obtain the title.
Maximum grade in the bachelor final project
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).