Thanks for reaching out my portfolio! Hello!
Glad to see you here! This means you want to see some of my portfolio. As a sum up, I am a predoctoral researcher focused on XR development with Unity Engine and Unreal Engine. In the sections below, you will see some of the VR and MR projects I've been working lately. However, I don't exclusively create XR experiences, as in my free time I make tech demos and games with Unity Engine and release them on itch.io or my Github. I like to make Pokémon fangames so I can stick to pure gameplay programming without making all the art (excepting computer graphics related like shaders or VFX), music and design. I would like to become a pro game dev someday! I design Pokémon-like creatures called Picture Monsters, or Pictomons. I even have an entire PictoDex! You can check it at My Art section from the menu located at top right corner of this site. If you like my work, don't hesitate to contact me! |
Research papers
Research AR, VR, MR Projects
This are not all but some of the XR projects we've been developing at GBT from 2018-2023.
Minimally Invasive Surgery Simulator: MIS-SIM
Starting as a European EITHealth project, MIS-SIM is an extensible desktop application made in Unity Engine that works as a whole development and execution object-oriented environment for the creation of virtual scenarios with objects that interact with each other based on programmed behaviours. The built-in editor provides unified tools which can be used by the content creators to write and execute simulations using the available resources or importing and developing custom ones (importing textures, audio, 3D Models or generating volumes from CT/MRI imaging), while guaranteeing the portability of the simulation projects to other platforms. MIS-SIM abstracts the logic of physical box trainers to a scenario where the participant makes objects to perform actions between them to obtain a result; and brings it to VR. Within, the task is understood as the sequence of actions between objects which are required to be performed to train specific skills (i.e., hand-eye coordination). These actions are defined by a series of scripts called “Components” which are attached to the virtual objects. To avoid undesired behaviours while designing a task, every component has methods exclusively called in simulation mode. MIS-SIM owns a similar user interface to Unity Engine and it has an external API that allows content creators to develop environments in regular Unity application and import them into MIS-SIM. |
CPR-OSCE VR: Objective Structured Clinical Exam for Cardio Pulmonary Resuscitation evaluation in Virtual Reality
CPR-OSCE VR is a Virtual Reality application designed for both on PC (Windows) or with Meta Quest (Android) making use of OculusXR and OpenXR. The simulator has been developed as an easy-to-use, intuitive, and portable way to measure objective data regarding CPR performance. Therefore, the trainee needs to have knowledge about the technique and the procedure they are about to perform, as well as the usage of the AED. The performance is collected by an external mannequin using trackers and external sensors. You can check my research paper about the project at Sensors. |
Mixed Reality Holographic CT
MR Holographic CT is a Mixed Reality application designed for the Hololense 2 (UWP) with Mixed Reality Toolkit and focuses on generating volumes from CT imaging (DICOM files) using Marching Cubes algorithm. The user can control the axial, sagital and coronal view with a slider in the menu that appears on the wrist. This project also works on Meta Quest 2 with and without Pass-through in immersive Virtual Reality. |
MIS-SIM: Laparoscopic training
Made in MIS-SIM environment, Laparoscopic training are a set of non-immersive and immersive Virtual Reality simulations for laparoscopic training focused on box training with Simendo Laparoscopic device as main input. Rope, Softbody, Fluids and Cloth solvers were used to simulate rubber materials, fluids and suturing based tasks. A validation of these tasks was carried out with a group of sixteen residents (PGY 3-4-5) from diverse surgical fields (gynaecology, general-surgery, plastic-surgery, vascular-surgery, thoracic-surgery, and neurosurgery) with different degrees of experience in laparoscopy but without prior knowledge of virtual simulators in 2019. |
Haptic Collisions 3D for Unity (HC3DU)
HC3DU is a plugin for Unity Engine that allows any developer to give Haptic Feedback to the players with Falcon Novint. The developer can add any mesh to the unity scene, configure the haptic properties to make the physics work completely out of the box. HC3DU also works with OpenHaptics backend to support all the Geomagic devices such as Touch and Touch X, allowing modern devices to be used in Virtual Reality Simulations with haptic textures and force feedback. |
|
(2024) Pokémon Stadium Club Minigames in Unity Engine
This 2024 I will continue the Month-Project challenge but recreating from scratch the Pokémon Stadium minigames from Nintendo 64 in Unity Engine. This leads to end complete games with small scope to learn how to implement specific mechanics.
Why?
I like to make Pokémon fangames so I can stick to pure gameplay programming without making all the art (excepting computer graphics related like shaders or VFX, which are also custom made by hand in HLSL or using tools like Shader Graph or Amplify Shader Editor), music and design.
Why?
I like to make Pokémon fangames so I can stick to pure gameplay programming without making all the art (excepting computer graphics related like shaders or VFX, which are also custom made by hand in HLSL or using tools like Shader Graph or Amplify Shader Editor), music and design.
Pokémon stadium club (HUB Game)
Pokémon Stadium Club aka PSC, is a game that acts as a "hub" to select the minigame to play. This does not mean that the games are loaded from the executables independently but they have been modified to be included in this one as one adapting the functionalities.
This game runs on Windows, MacOS, Linux, Android, iOS and Nintendo Switch and it is available in English, Spanish, French, German, Italian, Portuguese and Japanese. Download it from: here |
|
Pokémon rock harden
Pokémon Rock Harden Unity aka PRHU, is an arcade game in which we control Metapod or Kakuna (randomly) and must use "Harden" to block rocks falling from the sky. If they hit us, we will lose more life points (HP) than if we block them correctly. The goal is to be the last one standing.
Controls: For controls we just need to press (A) on a gamepad controller, tap the touch screen on mobile or press the space bar on a keyboard. Tapping on Kakuna/Metapod in the main menu you can change between PvE and EvE modes (so the AI plays on its own). |
|
Pokémon snore war
PSWU is an arcade game in which four Drowzee (one of which you control) are standing around a pendulum. There's a yellow curve below this pendulum with a red needle in the center. The game is all about timing, and when the game starts, the pendulum will swing. What you need to do is press the A Button/tap the touch screen on mobile/press the space, just as the pendulum touches that red
needle. If you time it correctly, you will cast Hypnosis on the other Drowzee. However, if you mess up, you'll snore and be that much closer to defeat. If you want to be the winner, you must be the last man (Drowzee?) standing. Controls: For controls we just need to press (A) on a gamepad controller, tap the touch screen on mobile or press the space bar on a keyboard. Tapping on Drowzee in the main menu you can change between PvE and EvE modes (so the AI plays on its own). |
|
Some more games and tools
In order to develop specific tools I like to create small games and fangames with a functionality or mechanic in mind. Here you have some.
Pokémon hitmonchan boxing
This minigame is part of another of my fangames: New Pokémon Camp, but I have decided to bring it independently. It is nothing more and nothing less than an arcade boxing game. We can play against the machine or let it punch itself and place our bets. The game features a dynamic camera system that focuses the action on the characters to give it more excitement while having the two participants always on screen.
Game modes: 1 Player (PVE & EVE): subdivided into several game sub-modes: Player vs AI with full control of the character. Player vs AI but the player character moves automatically to position himself where he thinks he is best. We control the character's fists. AI vs AI where we can play the machine against itself. |
|
CARD.IO MATCHING GAME
Card matching game where the player needs to identify if the card matches to the top card. If it the same, the player must swipe the card to the right, if not, to the left. Different modes for text-image matching are available as well!
|
|
pokemon3DS2Unity
As head of the "PokéDev School" fangame community I can share some of the tools I use for importing the Pokémon models from 3DS games that I use in my fangames: Pokémon3DS2Unity. This tool (also publicly available on my github) allows any user to import the animated models from 3DS games to Unity with custom shaders made in URP.
|
|
(2023) The Month-Project challenge
Last 2023 I was trying to increase and improve my skills and my portfolio by making a personal challenge: Making one project per month in Unity Engine. This leads me to design a scope I can reach as solo dev and make me finish every project before the end of every month. In order to make the recopilatory of these projects, most of them will be available on my itch.io!
Note that all of them use Virtual Phenix's core framework as tools for the development.
Note that all of them use Virtual Phenix's core framework as tools for the development.
January
Playground RoomPlayground Room is a children focused game made in Unity Engine where small minigames with different mechanics are evaluated: Object highlight on selection, dialogue system, scratch to discover an image, collectable system, cut meshes in real time, paint system on Canvas and fish schooling AI.
|
|
february
MQTT XR CinemaMQTT XR Cinema is an application made in Unity where the user can load Youtube videos from a remote desktop app (windows and android) to a XR cinema (Cardboard Mobile VR, PCVR with Oculus or OpenXR devices and Meta Quest).
Configuration for Postprocessing can be set per eye to give different imaging to each eye. This project saves metrics for ambliopy diagnosis. This project explores the technology MQTT and how it can be used for sending data through a self-hosted MOSQUITO server made in NodeJS. |
|
march
The Adventure of Melody: Saving Music KingdomThe Adventure of Melody is a 2D platform game made in Unity Engine where the player takes the role of Melody, a girl from the Kingdom of Melody, who has been besieged by the evil Dr. Silence. Dr. Silence intends to destroy all the notes of the Kingdom of Melody so that at last, all will be silent. Melody will have to collect as many notes as possible to restore harmony to the kingdom.
This project is meant for exploring 2D tools and platforming mechanics. |
|
APRIL
Virtual Phenix Dinosaur GalleryVirtual Phenix Dinosaur Galley is an educative videogame with source material (videos and audios) from a 1998 videogame called Eyewitness Virtual Reality Dinosaur Hunter. The player can explore a museum and interact with figures and stands with data about these prehistoric creatures.
Check it on itch.io! |
|
MAY
Solar System VRSolar System VR is an educative VR application made in Unity Engine where the user can explore the solar system and learn info about every planet. Available in various languages, this VR application also has a native TTS system that converts the texts to narrative speeches so the user can also listen data while admiring the immensity of our solar system.
Download: manurocker95.itch.io/solar-system-vr |
|
JUNE
New Camp PokémonNew Camp Pokémon is a reboot of a lost game made by The Pokémon Company and Creatures Inc for Android and iOS. The original game was removed from the stores in April 2017. In this recreation I started to make completely new mini-games in Unity Engine that will be used as month projects. These games are added as Asset Bundles to the main game to explore Addressables and Asset Bundles technologies on Windows, MacOS, Linux, Android and iOS.
|
|
JULY
Pokémon Dancing Band!Pokémon Dancing Band! is a recreation of a lost game made by Creatures Inc and The Pokémon Company: おどる?ポケモンおんがくたい. The original game was available for iOS and Android between June 30th, 2015 to October 29th, 2015. As the original game used Nintendo's servers for online features, it can't be played nowadays as those can't be accessed anymore. For this reason, I decided to remake this game in Unity Engine to recreate how the game could have been in 2015 for Windows, MacOS, Linux, Android and iOS.
Download: reliccastle.com/threads/6890/ |
|
AUGUST
Pokémon Wave Hello!Pokémon Wave Hello! is a recreation of an exclusive tech demo made by Google, which was available for a limited time for those who paid the premium price tag of 900$ for the Google Pixel 4 at launch. This means that not only few people got to play, but even fewer know this title at all. If that wasn't enough, even if you download the APK from the internet, it won't work unless you install it on that same device. Because of this, I have decided to remake it my way to make it available on Windows, MacOS, Linux, Android and iOS.
Download: reliccastle.com/threads/7139/ |
|
SEPTEMBER
PikaBall: New Camp PokémonAs part of June's project: New Pokémon Camp, I recreated a 1999 bootleg called Pikachu Volleyball (reference) where 2 players can make Pikachu to play voleyball. PikaBall's AI can play on it's own (shown in the video) but the player can play against other player (PVP) and against the computer.
This project also made in Unity Engine focused on behaviours for action-based games. Want to try it out? Download it from: here |
|
OCTOBER
MIS-SIM Colon VRA VR project made for validating my runtime editor Minimally Invasive Surgery Simulator (MIS-SIM), where the user must detect the region where a tumour is located in the colon. First, the user need to select the ranges for the CT volumes and the region where the tumour might be located. Then, a CT-based 3D volume is generated and rendered in Real-Time to evaluate the regions in 3D.
This project was part of MIREIA-Project: mireia.avaca.eu/ |
|
NOVEMBER
Pokémon Smeargle SplatPokémon Smeargle Splat is a puzzle game made in Unity Engine where the player has to go through mazes while recognizing Pokémon in order to catch them. The game can be played on Windows, MacOS, Linux, Android and iOS. It has a built-in editor where the player can create levels from scratch or from pixel art images. 151 levels await in classic mode to be completed.
Download it from Relic Castle! |
|
DECEMBER
Pokémon Sandshrew BowlingPokémon Sandshrew Bowling is a bowling game for Windows, MacOS, Linux, Android and iOS where the player takes the role of Sandshrew, who is actually the ball, to play bowling.
Check the game at: Whack A Hack |
|
Other Virtual Phenix Projects
Here you can see some of the solo-dev projects I've worked on my free time with my own core tools called Virtual Phenix Framework or as part of tech research.
UNITY PROJECTS
|
HerbiVRs: A Prehistoric ImmersionHerbiVRs is set in the year 3518. A famous Spanish researcher, creator of the first Time-Machine in history, desires to rule a Dinosaur Museum. His mission is travelling back to a remote prehistoric island and hunt dinosaurs to add them to his collection!
Hunt a variety of dinosaurs in Virtual Reality with your Meta Quest! Check it out on itch.io! |
|
The Word GuardianThe word guardian is a tech-demo made in Unity Engine to explore 3D platforming mechanics as well as flying companion and minimap ones.
|
|
Portal Unity
Portal Unity is a tech-demo made in Unity Engine with C# where I replicate Valve's Portal mechanics such as recursive portals in Universal Render Pipeline or pass through those. This demos is optimized for running at 60 FPS on Nintendo Switch with 5 portal recursions per portal. Check it at itch.io! |
|
|
|
Game Boy EmulatorI challenged myself to check if I could make a C# emulator that could play Game Boy ROMS and yeah, it worked!
You can download a preview build here: Relic Castle |
|
Black Hole Titan:
Black Hole Titan (BHT) is a turn-based game which gameplay generates a procedural comic from player's decisions made in Unity (C#). I was one of the developers. BHT participated in the PlayStation Talents 2017. You can check a demo here: Itch.io |
|
Can't Pass Away:
A first person horror game I am making in Unity Engine 3D (C#) It has Oculus and HTC Vive support (VR). You can check an alpha build here. |
|
Coco-Flip:
Game made in Unity Engine with C# for Android, PC and WebGL. Check it at Itch.io or Google Play |
|
Planetoom!
Game made in Unity Engine with C# for mobile devices where you need to explode as many planets as you can! Check it at Google Play |
|
Snowboarding:
A small mini-game where the user must perform tricks to gain points while snowboarding down a big mountain slope. Get as fast as possible to the main goal! Check it on itch.io! |
|
Azeris Unmasked:
A small demo I made in Unity3D (C#). |
Homebrew And small javascript games
I also make homebrews for 3DS, Wii U and Switch.
Flappy Bird NX:
Flappy Bird NX is a Flappy Bird clone for Nintendo Switch made in C++ with images rendered with SDL2. You can check more info here. |
T-Rekt NX:
T-Rekt NX is a game for Nintendo Switch made in C++ with images rendered with SDL2. You can check more info here. |
Evolution Sav3D Me:
Evolution Sav3D Me is a game with Stereoscopic 3D made in C++. You can check the info page here. |
Speaking is Hard 3D:
Speaking is Hard 3D is a game with Stereoscopic 3D made in C++. You can check the info here. |
Bumblebug:
In the videogame development degree we had to make Javascript games. Bumblebug is a group of games done quick made in Javascript. You can check the games here: Itch.io |
Game jams with unity engine
|
Crabiator:
For the Talentum Game Jam 2.0 I made Crabiator, a party game where from 2 to 4 players can join and play together. Each player controls a crab with a knife and has to cut the other player's lefs. It is made in Unity Engine with C#. You can check the game at: Itch.io |
Street Isolation:
A game about evading confinement during a pandemic, and its consequences. Made for the Game Jam On 2020: https://ludusestars.itch.io/street-isolation |
|
Into the Shadows:
For the Game Makers ToolKit Jam I made a proof of concept of a puzzle game where you need to solve puzzles with light and shadows. It is made in Unity Engine with C#. You can check the game at: Itch.io |
|
The Legend of Lilyth
Game made in Unity Engine 3D (C#) for Brackeys Game Jam where the player must sing to enchant Travellers into the cave of no return and survive as long as possible playing as a Banshee. You can download the game from itch.io. |
Clash of Poets VR
Game made in Unity Engine and Oculus SDK where you battle AI and players in a virtual reality word- duel. Select the best words of well-known spanish poems and defeat your oponents. You can download it from itch.io |
|
Inside The Monster:
A small game I made for MSI Game Jam in Unity 2D (C#). You can check an old build here: Download |
Computer graphics
Ray Tracer made in C++ and OpenGL for my Computer Graphics studies.
You can download it from my public repository. |
Toon Shading made in GLSL and Javascript with Synthclipse.
Only Vertex and Fragment Shaders. You can download it from my public repository. |
My Own 3D Render Engine in C++ with openGL and GLSL. Now it's set up for rendering Cross-hatching shaders. You can check it out on my github |
|
Perlin noise and tesselation in OpenGL for creating a water shader
|
Simulation AND RESEARCH
|
EMG Signal + Softbody simulation
MIS-SIM required a Softbody solver so in order to develop it, I first made a small simulation with external forces applied by EMG signal analysisin Unity Engine. The signal is processed by the Arduino and sent by serial port to the simulation. A latter approach made use of Bluetooth and Wi-Fi modules to test those protocols for sending data. |
|
Real-Time CT Volume Rendering with Marching CubesWhile exploring how to render a 3D volume from CT slices, a custom Marching Cubes algorithm was applied. The advantages of this rendering is the availability of using OpenXR and OculusXR to render those volumes on PCVR and Meta Quest.
|
|
MIS-SIM Task: Tumour DetectionTask made in my custom editor MIS-SIM to validate the usability of the editor through the European project MIREIA.
|
GAMES DONE QUICK - GAMES AND PROJECTS CREATED IN 2 HOURS OR LESS
|
Pikachu Music Run:
Pokémon Gold Spaceworld 1997 Demo Minigame recreation in Unity 2018 (C#). |
|
Auto-Card Battle!A tech demo to test auto-battle card mechanics in Unity Engine (C#)
|
ORIGINAL Mobile games
Wabbit Season:
Bear, Wolf, Lion or Crocodile, choose your favourite character and skin and defeat the other players or AI, eating as many bunnies as possible. Play the classic Tabletop Game "Hungry hungry hippos" once more as a local multiplayer and have fun with your friends as you laugh with this hilarious and crazy version! Features: 4 vs 4 Local Multiplayer Game Unlockable Content Good looking Graphics Fun Sound Effects Cute Bunnies Furry Animals https://play.google.com/store/apps/details?id=com.VirtualPhenix.WabbitSeason |
Flimpy:
Beat the music with your phone and follow the rhythm with the motion controls matching the positions: UP, DOWN, LEFT, RIGHT, SELFIE AND FLIMPY!!! The music gets faster and your skills will be tested Do you have what it takes to call yourself a Legendary "Flimper"? Features: • Motion Controlled Game • Unlockable Content: • Smartphone 3D models traversing mobile history • Moving and Statics Backgrounds • Intense soundtracks https://play.google.com/store/apps/details?id=com.VirtualPhenix.Flimpy&hl=es |
Manny The Miner:
Get as long as you can in this infinite runner where you take the role of Manny the Miner, a small guy that goes through to a reeeeally big mine collecting gems. Download it now here: Manny The Miner - Aplicaciones en Google Play |
Pokémon Fangames in unity Engine and rpg maker xp
In this section you can find some of my fangames. Note that some of the projects are located above in the Month Project Challenge.
|
Pokémon Crimson March
Pokémon Crimson March is a Pokémon fan-made game made in Ruby + RPG Maker XP. This game is about the great war before Pokémon Red, Blue, and Yellow games, where all the regions joined to defeat "The Pokémon Nation". It has custom graphics, story, interfaces and UX with 3 levels of difficulty and multilanguage support. It is PC (Windows)-Only. It is NOT a hackrom but a brand new game. Download it from here! |
|
Pokémon Lets Go Unity
Pokémon Lets Go Unity (PLGU) is a fangame made in Unity Engine with C#. It has lots of brand new features that were not present in the original game from Game Freak such as: - Rendering options - Upscaled textures for HQ Graphics - All monsters (From gen 1 to 8) - All mechanics (From gen 1 to 8) - Fakemon (I have a 130 designed fakemon with some of them already included in the game) - Game Boy emulator where you can play GB, GBC and GBA ROMs (not included with the game). There is an extra for this where Pokémon Blue, Red or Yellow ".SAV" file can add Pokémon and items to Lets Go Unity save file data. - Minigames: Slot machines, Voltorb Flip, Pikachu Surfing minigame(Pokémon Yellow's Pikachu with Surf is needed), Pikachu Music Run... - Fishing Minigame (if the option is toggled) similar to PokéPark Fishing Rally DS. - Some extra events like Giovanni story and Armored Mewtwo related to Psinergy (MegaEvolution and Shadow Mewtwo). - Pokémon Snap mini-game. - Mystery Gifts |
|
Pokémon Battle Simulator
Pokémon Battle Simulator is a 2D battle simulator made in Unity Engine with mechanics for gen 1-8. It can be used for remaking games such as Pokémon Stadium or Battle Revolution as the battle core is separated to the graphics rendering. Download: reliccastle.com/threads/7065/ |
|
Pokémon Crush Saga
Pokémon Crush Saga is a match-3 game made in Unity Engine for Windows, MacOS, Linux, Android and iOS; really similar to one that nobody knows (sarcasm) called Candy Crush Saga. The player must swap between the Pokémon to join 3 or more of the same type to destroy them and gain points. There's no plot line but getting the more score you can in every level. There are 100 playable levels! Download: reliccastle.com/threads/7065/ |
|
PokéPark Fishing Rally UnityPokéPark Fishing Rally Unity is a (non 1:1) remake of the lost DS Download Play game PokéPark Fishing Rally DS where you need to help Professor Grand Oak to study the Water fauna in the Brave River of the Antarsia Region. For those who don't know what the original game is, it's a mini-game you could download on your DS at the Pokémon Park in 2005. Once you turn off the game, it gets deleted. There's no public ROM and the game was lost forever, so I remade it in Unity with completely new story and gameplay!
Download: reliccastle.com/threads/3719/ |
|
Pokémon TennisPokémon Tennis is a simple fangame where the player can play Tennis with Pokémon. Try to get all the trophies!
Download: reliccastle.com/threads/7068/ |
|
Pokémon Snap Unity: HD Edition
Pokémon Snap is a game that can't be emulated properly so I remade the game from scratch in Unity Engine 2017 (C#) with HD models. Download: whackahack.com/juegos/pokemon-snap-unity/ |